HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/medvalue.komma.pro/wwwroot/css/style.css.map
{"version":3,"sources":["webpack:///./resources/assets/sass/site/resources/assets/sass/global/_base.sass","webpack:///./resources/assets/sass/site/style.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/mixins/_placeholder.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/grid/_grid.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/mixins/_mediaQueries.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/grid/_visibleGrid.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/partials/_breakpoints.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/_base.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/_helpers.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_preHeader.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/mixins/_flex.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/bourbon/addons/_prefixer.scss","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_languageMenu.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/mixins/_flags.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_header.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/mixins/_fonts.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_footer.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_shoppingCart.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_kmsContent.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_form.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_imageSlider.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_cookieMessage.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/mixins/_cookieSprite.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_cookieSwitch.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_partnersClientsRow.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_dynamic.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_twoTextColumn.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_fullImageColumn.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_contentBlock.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_multipleImages.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_fullTextBlock.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_videoBlock.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_navigation.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_contact.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_stickyNavigation.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_largeHeaderImage.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_ctaContentRow.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_reasonsRow.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_discoverRow.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_ctaRow.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_stepsSlider.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_employeesRow.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/mixins/_sprite.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_overviews.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_largeBadges.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_squares.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_list.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/show/_subMenu.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/show/_modelDetail.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_home.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_clients.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_contact.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_default.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_error.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_sitemap.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/services/_index.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/services/_show.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/projects/_index.sass"],"names":[],"mappings":"AAIA,EACE,oDCmDD,KD3CC,eACA,gBCqDD,ID9CC,cACA,YErBA,qEF4BE,4EE1BF,mDF0BE,4EExBF,2DFwBE,4ECmEH,iDDnEG,4ECwEH,ODlEC,SGvBF,UACE,mBACA,iBACA,cACA,YACA,cALF,mBAaI,WACA,eAUJ,UACE,kBAEA,qBACA,gBACA,mBACA,eACA,gBAPF,iBAgBI,cACA,cAeF,iBACE,kBAGA,qCACE,kBAMJ,uBACE,wBAZF,iBACE,mBAGA,qCACE,mBAMJ,uBACE,yBAZF,iBACE,UAGA,qCACE,mBAMJ,uBACE,gBAZF,iBACE,mBAGA,qCACE,mBAMJ,uBACE,yBAZF,iBACE,mBAGA,qCACE,mBAMJ,uBACE,yBAZF,iBACE,UAGA,qCACE,mBAMJ,uBACE,gBAZF,iBACE,mBAGA,qCACE,UAMJ,uBACE,yBAZF,iBACE,mBAGA,qCACE,mBAMJ,uBACE,yBAZF,iBACE,UAGA,qCACE,mBAMJ,uBACE,gBAZF,mBACE,mBAGA,uCACE,mBAMJ,yBACE,yBAZF,mBACE,mBAGA,uCACE,mBAMJ,yBACE,yBAZF,mBACE,WAGA,uCACE,mBAMJ,yBACE,iBAZF,mBACE,oBAGA,uCACE,mBAMJ,yBACE,0BAZF,mBACE,oBAGA,uCACE,WAMJ,yBACE,0BCzEF,qCDyFE,UACE,kBAEF,aACE,wBF8bH,CGhiBD,qCDsGE,UACE,kBAEF,aACE,wBFgcH,CG1iBD,oCD8GE,UACE,kBAEF,aACE,wBFkcH,CGpjBD,oCDsHE,UACE,kBAEF,aACE,wBFocH,CGzjBD,qCDyFE,UACE,mBAEF,aACE,yBFseH,CGxkBD,qCDsGE,UACE,mBAEF,aACE,yBFweH,CGllBD,oCD8GE,UACE,mBAEF,aACE,yBF0eH,CG5lBD,oCDsHE,UACE,mBAEF,aACE,yBF4eH,CGjmBD,qCDyFE,UACE,UAEF,aACE,gBF8gBH,CGhnBD,qCDsGE,UACE,UAEF,aACE,gBFghBH,CG1nBD,oCD8GE,UACE,UAEF,aACE,gBFkhBH,CGpoBD,oCDsHE,UACE,UAEF,aACE,gBFohBH,CGzoBD,qCDyFE,UACE,mBAEF,aACE,yBFsjBH,CGxpBD,qCDsGE,UACE,mBAEF,aACE,yBFwjBH,CGlqBD,oCD8GE,UACE,mBAEF,aACE,yBF0jBH,CG5qBD,oCDsHE,UACE,mBAEF,aACE,yBF4jBH,CGjrBD,qCDyFE,UACE,mBAEF,aACE,yBF8lBH,CGhsBD,qCDsGE,UACE,mBAEF,aACE,yBFgmBH,CG1sBD,oCD8GE,UACE,mBAEF,aACE,yBFkmBH,CGptBD,oCDsHE,UACE,mBAEF,aACE,yBFomBH,CGztBD,qCDyFE,UACE,UAEF,aACE,gBFsoBH,CGxuBD,qCDsGE,UACE,UAEF,aACE,gBFwoBH,CGlvBD,oCD8GE,UACE,UAEF,aACE,gBF0oBH,CG5vBD,oCDsHE,UACE,UAEF,aACE,gBF4oBH,CGjwBD,qCDyFE,UACE,mBAEF,aACE,yBF8qBH,CGhxBD,qCDsGE,UACE,mBAEF,aACE,yBFgrBH,CG1xBD,oCD8GE,UACE,mBAEF,aACE,yBFkrBH,CGpyBD,oCDsHE,UACE,mBAEF,aACE,yBForBH,CGzyBD,qCDyFE,UACE,mBAEF,aACE,yBFstBH,CGxzBD,qCDsGE,UACE,mBAEF,aACE,yBFwtBH,CGl0BD,oCD8GE,UACE,mBAEF,aACE,yBF0tBH,CG50BD,oCDsHE,UACE,mBAEF,aACE,yBF4tBH,CGj1BD,qCDyFE,UACE,UAEF,aACE,gBF8vBH,CGh2BD,qCDsGE,UACE,UAEF,aACE,gBFgwBH,CG12BD,oCD8GE,UACE,UAEF,aACE,gBFkwBH,CGp3BD,oCDsHE,UACE,UAEF,aACE,gBFowBH,CGz3BD,qCDyFE,WACE,mBAEF,cACE,yBFsyBH,CGx4BD,qCDsGE,WACE,mBAEF,cACE,yBFwyBH,CGl5BD,oCD8GE,WACE,mBAEF,cACE,yBF0yBH,CG55BD,oCDsHE,WACE,mBAEF,cACE,yBF4yBH,CGj6BD,qCDyFE,WACE,mBAEF,cACE,yBF80BH,CGh7BD,qCDsGE,WACE,mBAEF,cACE,yBFg1BH,CG17BD,oCD8GE,WACE,mBAEF,cACE,yBFk1BH,CGp8BD,oCDsHE,WACE,mBAEF,cACE,yBFo1BH,CGz8BD,qCDyFE,WACE,WAEF,cACE,iB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","file":"css/style.css","sourcesContent":["/* ==========================================================================\n   Basic style settings\n   @mixin ========================================================================= */\n\n* {\n  box-sizing: border-box; }\n\n/*\n * Set up the body\n *\n * 1. This is the base for al rem units\n */\nhtml {\n  font-size: 20px /* 1 */;\n  line-height: 1.6; }\n\n/**\n * 1.Default display for images is block to lose the extra margin below the image\n * 2. Remove border / especially on older browsers\n */\nimg {\n  display: block /* 1 */;\n  border: none; }\n\n/**\n  * Add translation to prevent recoloring from autocomplete\n  */\ninput, textarea {\n  @include placeholder {\n    transition: all 9999s linear 9999s; } }\n\n/*\n * Remove default margin around figure\n */\nfigure {\n  margin: 0; }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/_base.sass","@charset \"UTF-8\";\n/* ==========================================================================\n   Config settings\n   @mixin ========================================================================= */\n/**\n * Define grid columns\n *\n * The inner grid is the section where the content is\n * The outer grid is the inner grid with extra margin columns on each side\n */\n/**\n * Define breakpoint for given formats\n */\n/* Bourbon 4.0.2\n * http://bourbon.io\n * Copyright 2011-2014 thoughtbot, inc.\n * MIT License */\n/* ==========================================================================\n   Font related functions\n   @mixin ========================================================================= */\n/**\n * Add some functions for readability\n * Return font-weight based on name\n */\n/* ==========================================================================\n  Functions used in grid calculation\n  @mixin ========================================================================= */\n/**\n  * This is where the magic happens\n  * Return percentage based on amount of columns\n  * Use parent column size to adjust the origin\n  */\n/**\n  * Default function for columns\n  * Return as percentage\n  */\n/**\n  * Return as viewport width\n  */\n/* ==========================================================================\n   Basic style settings\n   @mixin ========================================================================= */\n* {\n  box-sizing: border-box;\n}\n\n/*\n * Set up the body\n *\n * 1. This is the base for al rem units\n */\nhtml {\n  font-size: 20px;\n  line-height: 1.6;\n}\n\n/**\n * 1.Default display for images is block to lose the extra margin below the image\n * 2. Remove border / especially on older browsers\n */\nimg {\n  display: block;\n  border: none;\n}\n\n/**\n  * Add translation to prevent recoloring from autocomplete\n  */\ninput::-webkit-input-placeholder, textarea::-webkit-input-placeholder {\n  transition: all 9999s linear 9999s;\n}\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n  transition: all 9999s linear 9999s;\n}\n\ninput:-ms-input-placeholder, textarea:-ms-input-placeholder {\n  transition: all 9999s linear 9999s;\n}\n\ninput:-moz-placeholder, textarea:-moz-placeholder {\n  transition: all 9999s linear 9999s;\n}\n\n/*\n * Remove default margin around figure\n */\nfigure {\n  margin: 0;\n}\n\n/*==========================================================================\n  Grid\n  @mixin ========================================================================= */\n/**\n  * Grid row\n  *\n  * 1. The outer two columns are just margin\n  * 2. Prevent inline-block cells wrapping\n  * 3. Prevent vertical spacing between inline-blocks\n  */\n.grid-row {\n  width: 85.71428571%;\n  max-width: 1440px;\n  margin: 0 auto;\n  font-size: 0;\n  line-height: 0;\n  /**\n   * The full row doesn't have the two outer margin rows\n   * They stretch till both ends of the window\n   */\n}\n\n.grid-row.full-row {\n  width: 100%;\n  max-width: none;\n}\n\n/**\n * Grid column\n *\n * 1. Reset white-space inherited from `.grid`\n * 2. Reset font-size inherited from `.grid`\n * 3. Reset line-height inherited from `.grid`\n */\n.grid-col {\n  position: relative;\n  display: inline-block;\n  overflow: hidden;\n  white-space: normal;\n  font-size: 1rem;\n  line-height: 1.6;\n  /**\n   * Center column\n   *\n   * 1. 'inline-block' doesn't center with margin '0 auto'\n   */\n}\n\n.grid-col.center {\n  display: block;\n  margin: 0 auto;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-1, .col-lg-1 {\n  width: 8.33333333%;\n}\n\n.full-row .col-1, .full-row .col-lg-1 {\n  width: 7.14285714%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-1, .offset-lg-1 {\n  margin-left: 8.33333333%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-2, .col-lg-2 {\n  width: 16.66666667%;\n}\n\n.full-row .col-2, .full-row .col-lg-2 {\n  width: 14.28571429%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-2, .offset-lg-2 {\n  margin-left: 16.66666667%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-3, .col-lg-3 {\n  width: 25%;\n}\n\n.full-row .col-3, .full-row .col-lg-3 {\n  width: 21.42857143%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-3, .offset-lg-3 {\n  margin-left: 25%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-4, .col-lg-4 {\n  width: 33.33333333%;\n}\n\n.full-row .col-4, .full-row .col-lg-4 {\n  width: 28.57142857%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-4, .offset-lg-4 {\n  margin-left: 33.33333333%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-5, .col-lg-5 {\n  width: 41.66666667%;\n}\n\n.full-row .col-5, .full-row .col-lg-5 {\n  width: 35.71428571%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-5, .offset-lg-5 {\n  margin-left: 41.66666667%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-6, .col-lg-6 {\n  width: 50%;\n}\n\n.full-row .col-6, .full-row .col-lg-6 {\n  width: 42.85714286%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-6, .offset-lg-6 {\n  margin-left: 50%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-7, .col-lg-7 {\n  width: 58.33333333%;\n}\n\n.full-row .col-7, .full-row .col-lg-7 {\n  width: 50%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-7, .offset-lg-7 {\n  margin-left: 58.33333333%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-8, .col-lg-8 {\n  width: 66.66666667%;\n}\n\n.full-row .col-8, .full-row .col-lg-8 {\n  width: 57.14285714%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-8, .offset-lg-8 {\n  margin-left: 66.66666667%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-9, .col-lg-9 {\n  width: 75%;\n}\n\n.full-row .col-9, .full-row .col-lg-9 {\n  width: 64.28571429%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-9, .offset-lg-9 {\n  margin-left: 75%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-10, .col-lg-10 {\n  width: 83.33333333%;\n}\n\n.full-row .col-10, .full-row .col-lg-10 {\n  width: 71.42857143%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-10, .offset-lg-10 {\n  margin-left: 83.33333333%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-11, .col-lg-11 {\n  width: 91.66666667%;\n}\n\n.full-row .col-11, .full-row .col-lg-11 {\n  width: 78.57142857%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-11, .offset-lg-11 {\n  margin-left: 91.66666667%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-12, .col-lg-12 {\n  width: 100%;\n}\n\n.full-row .col-12, .full-row .col-lg-12 {\n  width: 85.71428571%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-12, .offset-lg-12 {\n  margin-left: 100%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-13, .col-lg-13 {\n  width: 108.33333333%;\n}\n\n.full-row .col-13, .full-row .col-lg-13 {\n  width: 92.85714286%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-13, .offset-lg-13 {\n  margin-left: 108.33333333%;\n}\n\n/* Column dimensions\n   @mixin ========================================================================= */\n/*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n.col-14, .col-lg-14 {\n  width: 116.66666667%;\n}\n\n.full-row .col-14, .full-row .col-lg-14 {\n  width: 100%;\n}\n\n/* Column shifts\n   @mixin ========================================================================= */\n.offset-14, .offset-lg-14 {\n  margin-left: 116.66666667%;\n}\n\n/* Media queries\n @mixin ========================================================================= */\n/*\n  * Create a separate loop because of order for css rendering\n  * because else it would overrule a previous media query\n  */\n@media screen and (min-width: 1601px) {\n  .col-xl-1 {\n    width: 8.33333333%;\n  }\n  .offset-xl-1 {\n    margin-left: 8.33333333%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .offset-md-1 {\n    margin-left: 8.33333333%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .offset-sm-1 {\n    margin-left: 8.33333333%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-1 {\n    width: 8.33333333%;\n  }\n  .offset-xs-1 {\n    margin-left: 8.33333333%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-2 {\n    width: 16.66666667%;\n  }\n  .offset-xl-2 {\n    margin-left: 16.66666667%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .offset-md-2 {\n    margin-left: 16.66666667%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .offset-sm-2 {\n    margin-left: 16.66666667%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-2 {\n    width: 16.66666667%;\n  }\n  .offset-xs-2 {\n    margin-left: 16.66666667%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-3 {\n    width: 25%;\n  }\n  .offset-xl-3 {\n    margin-left: 25%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-3 {\n    width: 25%;\n  }\n  .offset-md-3 {\n    margin-left: 25%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-3 {\n    width: 25%;\n  }\n  .offset-sm-3 {\n    margin-left: 25%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-3 {\n    width: 25%;\n  }\n  .offset-xs-3 {\n    margin-left: 25%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-4 {\n    width: 33.33333333%;\n  }\n  .offset-xl-4 {\n    margin-left: 33.33333333%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .offset-md-4 {\n    margin-left: 33.33333333%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .offset-sm-4 {\n    margin-left: 33.33333333%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-4 {\n    width: 33.33333333%;\n  }\n  .offset-xs-4 {\n    margin-left: 33.33333333%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-5 {\n    width: 41.66666667%;\n  }\n  .offset-xl-5 {\n    margin-left: 41.66666667%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .offset-md-5 {\n    margin-left: 41.66666667%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .offset-sm-5 {\n    margin-left: 41.66666667%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-5 {\n    width: 41.66666667%;\n  }\n  .offset-xs-5 {\n    margin-left: 41.66666667%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-6 {\n    width: 50%;\n  }\n  .offset-xl-6 {\n    margin-left: 50%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-6 {\n    width: 50%;\n  }\n  .offset-md-6 {\n    margin-left: 50%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-6 {\n    width: 50%;\n  }\n  .offset-sm-6 {\n    margin-left: 50%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-6 {\n    width: 50%;\n  }\n  .offset-xs-6 {\n    margin-left: 50%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-7 {\n    width: 58.33333333%;\n  }\n  .offset-xl-7 {\n    margin-left: 58.33333333%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .offset-md-7 {\n    margin-left: 58.33333333%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .offset-sm-7 {\n    margin-left: 58.33333333%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-7 {\n    width: 58.33333333%;\n  }\n  .offset-xs-7 {\n    margin-left: 58.33333333%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-8 {\n    width: 66.66666667%;\n  }\n  .offset-xl-8 {\n    margin-left: 66.66666667%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .offset-md-8 {\n    margin-left: 66.66666667%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .offset-sm-8 {\n    margin-left: 66.66666667%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-8 {\n    width: 66.66666667%;\n  }\n  .offset-xs-8 {\n    margin-left: 66.66666667%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-9 {\n    width: 75%;\n  }\n  .offset-xl-9 {\n    margin-left: 75%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-9 {\n    width: 75%;\n  }\n  .offset-md-9 {\n    margin-left: 75%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-9 {\n    width: 75%;\n  }\n  .offset-sm-9 {\n    margin-left: 75%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-9 {\n    width: 75%;\n  }\n  .offset-xs-9 {\n    margin-left: 75%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-10 {\n    width: 83.33333333%;\n  }\n  .offset-xl-10 {\n    margin-left: 83.33333333%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .offset-md-10 {\n    margin-left: 83.33333333%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .offset-sm-10 {\n    margin-left: 83.33333333%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-10 {\n    width: 83.33333333%;\n  }\n  .offset-xs-10 {\n    margin-left: 83.33333333%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-11 {\n    width: 91.66666667%;\n  }\n  .offset-xl-11 {\n    margin-left: 91.66666667%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .offset-md-11 {\n    margin-left: 91.66666667%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .offset-sm-11 {\n    margin-left: 91.66666667%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-11 {\n    width: 91.66666667%;\n  }\n  .offset-xs-11 {\n    margin-left: 91.66666667%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-12 {\n    width: 100%;\n  }\n  .offset-xl-12 {\n    margin-left: 100%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-12 {\n    width: 100%;\n  }\n  .offset-md-12 {\n    margin-left: 100%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-12 {\n    width: 100%;\n  }\n  .offset-sm-12 {\n    margin-left: 100%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-12 {\n    width: 100%;\n  }\n  .offset-xs-12 {\n    margin-left: 100%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-13 {\n    width: 108.33333333%;\n  }\n  .offset-xl-13 {\n    margin-left: 108.33333333%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-13 {\n    width: 108.33333333%;\n  }\n  .offset-md-13 {\n    margin-left: 108.33333333%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-13 {\n    width: 108.33333333%;\n  }\n  .offset-sm-13 {\n    margin-left: 108.33333333%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-13 {\n    width: 108.33333333%;\n  }\n  .offset-xs-13 {\n    margin-left: 108.33333333%;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .col-xl-14 {\n    width: 116.66666667%;\n  }\n  .offset-xl-14 {\n    margin-left: 116.66666667%;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .col-md-14 {\n    width: 116.66666667%;\n  }\n  .offset-md-14 {\n    margin-left: 116.66666667%;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .col-sm-14 {\n    width: 116.66666667%;\n  }\n  .offset-sm-14 {\n    margin-left: 116.66666667%;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .col-xs-14 {\n    width: 116.66666667%;\n  }\n  .offset-xs-14 {\n    margin-left: 116.66666667%;\n  }\n}\n\n/* ==========================================================================\n   This grid can be turned on and off when you want to check\n   if everything is nice in place.\n   @mixin ========================================================================= */\n.visible-grid-container {\n  display: flex;\n  justify-content: center;\n}\n\n/**\n * 1. Makes it able to control the website while grid is shown\n */\n.visible-grid {\n  display: block;\n  position: fixed;\n  z-index: 10000;\n  pointer-events: none;\n}\n\n.visible-grid .grid-col {\n  background: rgba(0, 255, 255, 0.6);\n  height: 100vh;\n}\n\n.visible-grid .grid-col:nth-child(2n) {\n  background: rgba(0, 255, 255, 0.3);\n}\n\n.visible-grid:before, .visible-grid:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  width: calc(100% / 12);\n  height: 100%;\n  background: rgba(0, 255, 0, 0.5);\n}\n\n.visible-grid:before {\n  left: calc(-100% / 12);\n}\n\n.visible-grid:after {\n  right: calc(-100% / 12);\n}\n\n.breakpoint {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  width: 20px;\n  height: 20px;\n  z-index: 10000;\n  background: #0ABEFF;\n}\n\n@media screen and (min-width: 1601px) {\n  .breakpoint {\n    background: red;\n  }\n}\n\n@media screen and (max-width: 1366px) {\n  .breakpoint {\n    background: blue;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .breakpoint {\n    background: green;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .breakpoint {\n    background: yellow;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .breakpoint {\n    background: pink;\n  }\n}\n\n/* ==========================================================================\n   Expend Config settings\n   @mixin ========================================================================= */\n/* ==========================================================================\n   Expend Basic style settings\n   @mixin ========================================================================= */\n/*\n * Set up the html\n *\n * 1. Makes sue that some fonts are better rendered\n */\nhtml {\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  text-rendering: optimizeLegibility;\n}\n\n/*\n * Set up the body\n *\n * 1. Set font to lining figures\n */\nbody {\n  margin: 0;\n  font-family: \"Open Sans\", sans-serif;\n  line-height: 1.6;\n  font-feature-settings: \"lnum\";\n}\n\n/*\n * Set default settings for all elements\n *\n * 1. Default selection styling\n *\n */\n* ::selection {\n  background: #0064D2;\n  color: white;\n}\n\n/**\n * 1.Default display for images is block to lose the extra margin below the image\n */\nimg {\n  opacity: 1;\n  transition: opacity 0.3s;\n}\n\nimg.preload {\n  opacity: 0;\n}\n\n/*\n * Set default styling for input and textarea\n *\n * 1. Set font because else the agent will overrule them with an ugly font\n */\ninput, textarea {\n  font-family: \"Open Sans\", sans-serif;\n}\n\n/*\n * Set default styling for a button\n *\n */\n.button {\n  display: inline-block;\n  padding: 15px 25px;\n  background-color: #C3DC32;\n  border: 1px solid transparent;\n  border-radius: 15px;\n  text-decoration: none;\n  font-size: 0.7rem;\n  line-height: 1.2;\n  font-weight: 600;\n  text-transform: uppercase;\n  color: white;\n  transition: box-shadow 0.4s;\n}\n\n.button.shadow {\n  box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.1);\n}\n\n.button .arrow {\n  position: relative;\n  display: inline-block;\n  width: 12px;\n  transform: translate3d(0, 0, 0);\n  transition: transform 0.3s;\n}\n\n.button .arrow svg {\n  width: 100%;\n  max-height: 16px;\n}\n\n.button .arrow svg path {\n  fill: white;\n}\n\n.button:hover {\n  box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0);\n}\n\n.button:hover .arrow {\n  transform: translate3d(5px, 0, 0);\n}\n\n.button.right .arrow {\n  top: 1px;\n  transform: rotate(-90deg);\n  margin-left: 15px;\n}\n\n.button.right:hover .arrow {\n  transform: rotate(-90deg) translate3d(0, 5px, 0);\n}\n\n/* ==========================================================================\n   Helper classes\n   @mixin ========================================================================= */\n/**\n * Use on elements from where the children should not wrap\n */\n.nowrap {\n  white-space: nowrap;\n}\n\n/**\n * Hide elements on different screen sizes\n */\n@media screen and (max-width: 1600px) {\n  .hide-on-xl-or-smaller {\n    display: none;\n  }\n}\n\n@media screen and (min-width: 1601px) {\n  .hide-on-xl-or-larger {\n    display: none;\n  }\n}\n\n@media screen and (max-width: 1366px) {\n  .hide-on-lg-or-smaller {\n    display: none;\n  }\n}\n\n@media screen and (min-width: 1367px) {\n  .hide-on-lg-or-larger {\n    display: none;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .hide-on-md-or-smaller {\n    display: none;\n  }\n}\n\n@media screen and (min-width: 1081px) {\n  .hide-on-md-or-larger {\n    display: none;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .hide-on-sm-or-smaller {\n    display: none;\n  }\n}\n\n@media screen and (min-width: 769px) {\n  .hide-on-sm-or-larger {\n    display: none;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  .hide-on-xs-or-smaller {\n    display: none;\n  }\n}\n\n@media screen and (min-width: 401px) {\n  .hide-on-xs-or-larger {\n    display: none;\n  }\n}\n\n/* ==========================================================================\n   Partial CSS\n   @mixin ========================================================================= */\n.pre-header {\n  background: #2d3237;\n  padding: 12px 0;\n}\n\n.pre-header .grid-row {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-end;\n  -moz-justify-content: flex-end;\n  -ms-justify-content: flex-end;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-end;\n  align-items: center;\n}\n\n.pre-header a {\n  display: inline-block;\n  font-size: 0.65rem;\n  line-height: 1.2;\n  color: rgba(255, 255, 255, 0.7);\n  text-transform: uppercase;\n  font-weight: 600;\n  text-decoration: none;\n  transition: color 0.3s;\n}\n\n.pre-header a + a {\n  margin-left: 30px;\n}\n\n.pre-header a span {\n  color: #32A0FA;\n  display: inline-block;\n  margin-right: 10px;\n}\n\n.pre-header a:hover {\n  color: white;\n}\n\n@media screen and (max-width: 750px) {\n  .pre-header {\n    display: none;\n  }\n}\n\n.language-menu {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-end;\n  -moz-justify-content: flex-end;\n  -ms-justify-content: flex-end;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-end;\n  align-items: center;\n}\n\n#mobile-navigation .language-menu {\n  margin-top: 30px;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-start;\n  align-items: center;\n}\n\n.language-menu span, .language-menu a {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  width: 32px;\n  height: 32px;\n  border-radius: 100%;\n  border: 2px solid #73838A;\n}\n\n.language-menu span + *, .language-menu a + * {\n  margin-left: 5px;\n}\n\n.language-menu span:after, .language-menu a:after {\n  content: '';\n  display: block;\n  width: 24px;\n  height: 24px;\n  border-radius: 100%;\n}\n\n.language-menu span.nl:after, .language-menu a.nl:after {\n  background: url(\"/img/flags.svg\") 0 0 no-repeat;\n  background-size: 114px 25px;\n  width: 24px;\n  height: 24px;\n}\n\n.language-menu span.en:after, .language-menu a.en:after {\n  background: url(\"/img/flags.svg\") -83px 0 no-repeat;\n  background-size: 114px 25px;\n  width: 24px;\n  height: 24px;\n}\n\n.language-menu a {\n  opacity: 0.3;\n  transition: opacity 0.3s;\n}\n\n.language-menu a:hover {\n  opacity: 1;\n}\n\n.language-menu span {\n  border-color: #b7d124;\n}\n\n/*==========================================================================\n  Navigation / Header\n  @mixin ========================================================================= */\nheader {\n  position: relative;\n  z-index: 4;\n  background-color: #F1F7F7;\n}\n\nheader:after {\n  content: '';\n  position: absolute;\n  left: 0;\n  bottom: -20pxpx;\n  right: 0;\n  display: block;\n  width: 100%;\n  height: 20px;\n  background: linear-gradient(rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 100%);\n  opacity: 0.4;\n}\n\nheader .grid-row {\n  padding: 0;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  /* Navigation\n     @mixin ========================================================================= */\n}\n\nheader .grid-row > .grid-col {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: space-between;\n  align-items: center;\n  width: 100%;\n}\n\nheader .grid-row .logo {\n  display: block;\n  width: 180px;\n}\n\nheader .grid-row .logo a {\n  text-decoration: none;\n}\n\nheader .grid-row .logo img {\n  width: 100%;\n  max-width: 180px;\n  max-height: 70px;\n}\n\nheader .grid-row .logo p {\n  margin: 2px 0 0;\n  font-size: 14px;\n  color: #73838A;\n}\n\nheader .grid-row nav {\n  position: relative;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-end;\n  -moz-justify-content: flex-end;\n  -ms-justify-content: flex-end;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-end;\n  align-items: center;\n  width: calc(100% - 180px);\n}\n\nheader .grid-row nav ul {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-end;\n  -moz-justify-content: flex-end;\n  -ms-justify-content: flex-end;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-end;\n  align-items: center;\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  width: calc(100% - 100px);\n}\n\nheader .grid-row nav ul li {\n  margin-right: 45px;\n}\n\nheader .grid-row nav ul li a {\n  position: relative;\n  display: inline-block;\n  padding: 42px 0;\n  font-size: 0.8rem;\n  line-height: 1.2;\n  color: #B7B5BD;\n  font-family: 'Dosis', sans-serif;\n  font-weight: 600;\n  text-decoration: none;\n  transition: color 0.3s;\n}\n\n@media screen and (max-width: 1450px) {\n  header .grid-row nav ul li {\n    margin-right: 30px;\n  }\n}\n\n@media screen and (max-width: 1450px) and (max-width: 1280px) {\n  header .grid-row nav ul li a {\n    font-size: 0.65rem;\n  }\n}\n\nheader .grid-row nav ul li:last-of-type {\n  margin-right: 0;\n}\n\nheader .grid-row nav ul li:hover a {\n  color: #73838A;\n}\n\nheader .grid-row nav ul li.active a {\n  color: #646464;\n}\n\nheader .grid-row nav ul li.active a:after {\n  content: '';\n  position: absolute;\n  left: 0;\n  bottom: 35px;\n  display: block;\n  width: 100%;\n  height: 2px;\n  background: #C3DC32;\n}\n\nheader .grid-row nav .language-menu {\n  width: 100px;\n}\n\n@media screen and (max-width: 1280px) {\n  header .grid-row nav .language-menu {\n    width: 80px;\n  }\n}\n\n@media screen and (max-width: 1140px) {\n  header .grid-row .logo {\n    width: 120px;\n  }\n  header .grid-row nav {\n    width: calc(100% - 120px);\n  }\n}\n\n@media screen and (max-width: 1050px) {\n  header {\n    display: none;\n  }\n}\n\n/* ==========================================================================\n   Footer\n   @mixin ========================================================================= */\nfooter {\n  background: #F1F7F7;\n  /* Sub footer for pay off and our branding\n   @mixin ========================================================================= */\n}\n\nfooter > .grid-row {\n  padding: 70px 0 90px;\n}\n\nfooter .grid-col {\n  vertical-align: top;\n}\n\nfooter .grid-col .header {\n  font-size: 0.7rem;\n  text-transform: uppercase;\n  color: #646464;\n  font-weight: 600;\n  margin: 0 0 20px;\n}\n\nfooter .grid-col li a, footer .grid-col p {\n  font-size: 0.9rem;\n  color: #B7B5BD;\n}\n\nfooter .contact {\n  width: 33.33333333%;\n  margin-left: 8.33333333%;\n}\n\nfooter .contact figure {\n  width: 260px;\n  margin: 35px 0 25px;\n}\n\nfooter .contact figure a {\n  text-align: left;\n}\n\nfooter .contact figure img {\n  width: 180px;\n  max-height: 35px;\n  margin-right: auto;\n}\n\nfooter .contact p span {\n  font-size: 0.65rem;\n  color: #32A0FA;\n  display: inline-block;\n  margin-left: 10px;\n}\n\nfooter .contact a {\n  font-size: 0.9rem;\n  color: #73838A;\n  text-decoration: none;\n  transition: color 0.2s;\n}\n\nfooter .contact a:hover {\n  color: #646464;\n}\n\nfooter .links {\n  width: 50%;\n  margin-left: 4.16666667%;\n}\n\nfooter .links > .grid-row {\n  width: 100%;\n}\n\nfooter .links .menu, footer .links .sub-links {\n  width: 50%;\n  vertical-align: top;\n}\n\nfooter .links ul {\n  list-style: none;\n  padding: 0;\n  margin: 10px 0 40px;\n}\n\nfooter .links ul li a {\n  text-decoration: none;\n  transition: color 0.3s;\n}\n\nfooter .links ul li a:hover {\n  color: #73838A;\n}\n\nfooter .links ul li.active a {\n  color: #646464;\n  font-weight: 600;\n}\n\n@media screen and (max-width: 750px) {\n  footer .links, footer .contact {\n    width: 83.33333333%;\n    margin-left: 8.33333333%;\n  }\n  footer .links {\n    margin-top: 60px;\n  }\n}\n\n@media screen and (max-width: 500px) {\n  footer > .grid-row {\n    padding: 40px 0;\n    margin-bottom: 0 !important;\n  }\n  footer .links {\n    margin-top: 30px;\n  }\n  footer .links .menu {\n    width: 100%;\n    margin-bottom: 30px;\n  }\n  footer .links .sub-links {\n    width: 100%;\n  }\n}\n\nfooter .sub-footer {\n  background-color: #C3DC32;\n  padding: 15px 0;\n}\n\nfooter .sub-footer .grid-row .placeholder {\n  width: 83.33333333%;\n  margin: auto;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: space-between;\n  align-items: center;\n}\n\nfooter .sub-footer p, footer .sub-footer a {\n  font-size: 0.7rem;\n  line-height: 1;\n  color: #646464;\n}\n\nfooter .sub-footer p {\n  margin-bottom: 0.5rem;\n  opacity: 0.6;\n}\n\nfooter .sub-footer a {\n  text-decoration: none;\n}\n\nfooter .sub-footer .komma {\n  position: relative;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: space-between;\n  align-items: center;\n  font-size: 0.7rem;\n  line-height: 1;\n  width: 250px;\n  opacity: 0.6;\n  transition: opacity 0.2s;\n}\n\nfooter .sub-footer .komma span {\n  position: relative;\n  opacity: 0.6;\n  transition: opacity 0.3s;\n  top: 1px;\n  display: inline-block;\n  width: 78px;\n  height: 25px;\n  background-image: url(\"/img/komma_grey.svg\");\n  background-position: center;\n  background-size: contain;\n  background-repeat: no-repeat;\n}\n\nfooter .sub-footer .komma:hover {\n  opacity: 1;\n}\n\n@media screen and (max-width: 600px) {\n  footer .sub-footer {\n    padding-bottom: 30px;\n  }\n  footer .sub-footer .grid-row .placeholder {\n    display: block;\n    text-align: center;\n  }\n  footer .sub-footer p {\n    margin-bottom: 1.4rem;\n  }\n  footer .sub-footer .komma {\n    margin: auto;\n  }\n}\n\n@media screen and (max-width: 1000px) {\n  footer {\n    padding-top: 35px;\n  }\n  footer > .grid-row {\n    display: -ms-flexbox;\n    display: -webkit-flex;\n    display: flex;\n    -webkit-justify-content: flex-start;\n    -moz-justify-content: flex-start;\n    -ms-justify-content: flex-start;\n    -webkit-align-items: flex-start;\n    -moz-align-items: flex-start;\n    -ms-align-items: flex-start;\n    justify-content: flex-start;\n    align-items: flex-start;\n    -webkit-flex-wrap: wrap;\n    -ms-flex-wrap: wrap;\n    -webkit-flex-direction: row;\n    -ms-flex-direction: row;\n    -webkit-flex-flow: row wrap;\n    margin-bottom: 100px;\n    width: 100%;\n  }\n  footer .main-item {\n    width: 100%;\n    padding: 0 7.14285714%;\n    margin-left: auto;\n    margin-right: auto;\n  }\n  footer .main-item .logo {\n    display: none;\n  }\n  footer .main-item.location {\n    -webkit-order: 2;\n    -ms-order: 2;\n    order: 2;\n    border-top: 2px solid rgba(255, 255, 255, 0.2);\n    padding-top: 40px;\n  }\n  footer .main-item.schools, footer .main-item.menu {\n    display: none;\n  }\n  footer .main-item > a {\n    display: inline-block;\n  }\n  footer .main-item ul.extra-margin-bellow {\n    margin-bottom: 35px;\n  }\n  footer .sub-footer .grid-row .placeholder {\n    width: 100%;\n  }\n}\n\ndiv.shoppingcartItemList ul {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n}\n\ndiv.shoppingcartItemList ul li {\n  display: block;\n  width: 100%;\n  height: 15%;\n  border: solid 1px #cccccc;\n  margin-bottom: 20px;\n}\n\n/* ==========================================================================\n   Default styling for KMS content\n   @mixin ========================================================================= */\n.kms-content h1, .kms-content h2, .kms-content h3 {\n  font-size: 1.7rem;\n  line-height: 1.4;\n  color: #646464;\n  font-family: 'Dosis', sans-serif;\n  font-weight: 600;\n}\n\n.kms-content h2, .kms-content h3 {\n  font-size: 1.3rem;\n}\n\n.kms-content h3 {\n  color: #C3DC32;\n}\n\n.kms-content h4 {\n  font-size: 0.7rem;\n  line-height: 1.3;\n  color: #646464;\n  text-transform: uppercase;\n}\n\n.kms-content p {\n  font-size: 0.8rem;\n  line-height: 1.8;\n  color: rgba(115, 131, 138, 0.75);\n}\n\n.kms-content ul {\n  padding-left: 0;\n  list-style: none;\n}\n\n.kms-content ul li {\n  position: relative;\n  padding-left: 30px;\n  font-size: 0.8rem;\n  line-height: 1.4;\n  color: rgba(115, 131, 138, 0.75);\n}\n\n.kms-content ul li:before {\n  position: absolute;\n  left: 0;\n  top: 2px;\n  content: '•';\n  color: #646464;\n  font-size: 1.2em;\n  line-height: 1;\n}\n\n.kms-content ul li + li {\n  margin-top: 5px;\n}\n\n.kms-content ol {\n  counter-reset: ol-counter;\n  padding-left: 0;\n  list-style: none;\n}\n\n.kms-content ol li {\n  padding-left: 30px;\n  font-size: 0.8rem;\n  line-height: 1.4;\n  color: rgba(115, 131, 138, 0.75);\n}\n\n.kms-content ol li:before {\n  counter-increment: ol-counter;\n  content: counter(ol-counter) \".\";\n  position: absolute;\n  left: 0;\n  color: #646464;\n}\n\n.kms-content ol li + li {\n  margin-top: 5px;\n}\n\n.kms-content a:not(.button) {\n  color: #646464;\n}\n\n.kms-content a:not(.button):hover {\n  color: #646464;\n  text-decoration: none;\n}\n\n.kms-content a.button {\n  margin-top: 40px;\n}\n\n.form {\n  display: block;\n  width: 100%;\n  max-width: 560px;\n  font-size: 1rem;\n  line-height: 1.2;\n}\n\n.form .form-element {\n  position: relative;\n  margin-bottom: 25px;\n}\n\n.form .error-message {\n  display: none;\n  width: 100%;\n  color: #646464;\n  font-size: 0.75rem;\n  font-weight: bold;\n}\n\n.form .error-message.active {\n  display: block;\n  margin-bottom: 10px;\n}\n\n.form label, .form .label {\n  display: block;\n  margin-bottom: 8px;\n  color: white;\n  font-size: 0.6em;\n  text-transform: uppercase;\n  font-weight: bold;\n}\n\n.form input, .form textarea {\n  display: block;\n  width: 100%;\n  background-color: transparent;\n  padding: 15px 20px;\n  border: 2px white solid;\n  border-radius: 0;\n  font-size: 0.9em;\n  color: #73838A;\n  transition: background-color 0.3s;\n}\n\n.form input::-webkit-input-placeholder, .form textarea::-webkit-input-placeholder {\n  color: rgba(255, 255, 255, 0.4) !important;\n}\n\n.form input::-moz-placeholder, .form textarea::-moz-placeholder {\n  color: rgba(255, 255, 255, 0.4) !important;\n}\n\n.form input:-ms-input-placeholder, .form textarea:-ms-input-placeholder {\n  color: rgba(255, 255, 255, 0.4) !important;\n}\n\n.form input:-moz-placeholder, .form textarea:-moz-placeholder {\n  color: rgba(255, 255, 255, 0.4) !important;\n}\n\n.form input.alert, .form textarea.alert {\n  border-color: #FF4242;\n}\n\n.form input:focus, .form textarea:focus {\n  background-color: rgba(255, 255, 255, 0.1);\n}\n\n.form input:-webkit-autofill, .form input:-webkit-autofill:hover, .form input:-webkit-autofill:focus, .form input:-webkit-autofill:active, .form textarea:-webkit-autofill, .form textarea:-webkit-autofill:hover, .form textarea:-webkit-autofill:focus, .form textarea:-webkit-autofill:active {\n  transition: 9999s background-color, 9999s color;\n  -webkit-text-fill-color: #73838A;\n  transition-delay: 9999s;\n}\n\n.form input:focus, .form textarea:focus {\n  box-shadow: none;\n  outline: none;\n}\n\n.form textarea {\n  min-height: 152px;\n  resize: vertical;\n}\n\n.form .select .select-wrapper {\n  position: relative;\n  display: block;\n}\n\n.form .select .icon {\n  position: absolute;\n  right: 10px;\n  top: 26px;\n  display: inline-block;\n  width: 0;\n  height: 0;\n  border-style: solid;\n  border-width: 5px 6px 0 6px;\n  border-color: #73838A transparent transparent transparent;\n  opacity: 0.3;\n  pointer-events: none;\n}\n\n.form .select select {\n  display: block;\n  width: 100%;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  -ms-appearance: none;\n  -o-appearance: none;\n  appearance: none;\n  font-family: \"Open Sans\", sans-serif;\n  background-color: white;\n  padding: 15px 35px 15px 20px;\n  border: 1px transparent solid;\n  border-radius: 4px;\n  font-size: 0.9em;\n  color: #73838A;\n}\n\n.form .select select:focus {\n  box-shadow: none;\n  outline: none;\n}\n\n.form .checkbox label {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n  cursor: pointer;\n}\n\n.form .checkbox label input {\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  -ms-appearance: none;\n  -o-appearance: none;\n  appearance: none;\n  margin: 0;\n  width: 20px;\n  height: 20px;\n  border-radius: 100%;\n  padding: 0;\n  border: none;\n  background-color: rgba(255, 255, 255, 0.3);\n  background-size: contain;\n  background-position: center;\n  background-repeat: no-repeat;\n  transition: background-color 0.3s;\n}\n\n.form .checkbox label input:hover {\n  background-color: rgba(255, 255, 255, 0.5);\n}\n\n.form .checkbox label input:checked {\n  background-image: url(\"/img/check/checked.svg\");\n  background-color: rgba(255, 255, 255, 0.7);\n}\n\n.form .checkbox label span {\n  display: block;\n  margin: 2px 0 0;\n  width: calc(100% - 30px);\n}\n\n.form .submit {\n  margin-top: 20px;\n}\n\n.form .submit input {\n  display: none;\n}\n\n.form .submit .button {\n  cursor: pointer;\n  font-size: 0.7rem;\n  background-color: #C3DC32;\n  color: white;\n  text-transform: uppercase;\n}\n\n.form .submit .button .arrow-icon path {\n  fill: white;\n}\n\n.image-slider {\n  width: 100%;\n  overflow: visible;\n  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.2);\n}\n\n.image-slider .placeholder {\n  position: relative;\n  width: 100%;\n  cursor: move;\n}\n\n.image-slider .placeholder .controllers {\n  position: relative;\n  z-index: 3;\n  width: 100%;\n  height: 0;\n  padding-bottom: 66.67%;\n}\n\n@media screen and (max-width: 1350px) {\n  .image-slider .placeholder .controllers {\n    padding-bottom: 100%;\n  }\n}\n\n.image-slider .placeholder .controllers .nav-item {\n  position: absolute;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  bottom: -50px;\n  width: 35px;\n  height: 35px;\n  cursor: pointer;\n  border-radius: 100%;\n  transition: background 0.3s;\n}\n\n.image-slider .placeholder .controllers .nav-item span {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  height: 16px;\n  width: 16px;\n  transform-origin: center;\n  transition: transform 0.3s;\n}\n\n.image-slider .placeholder .controllers .nav-item span .arrow-icon {\n  position: relative;\n  width: 10px;\n  height: 16px;\n  transform-origin: center;\n}\n\n.image-slider .placeholder .controllers .nav-item span .arrow-icon .st0 {\n  fill: white;\n}\n\n.image-slider .placeholder .controllers .nav-item.previous {\n  background-color: #73838A;\n  right: calc(50% + 3px);\n}\n\n.image-slider .placeholder .controllers .nav-item.previous span .arrow-icon {\n  transform: rotate(90deg);\n}\n\n.image-slider .placeholder .controllers .nav-item.previous:hover {\n  background-color: #818f96;\n}\n\n.image-slider .placeholder .controllers .nav-item.next {\n  background-color: #C3DC32;\n  left: calc(50% + 3px);\n}\n\n.image-slider .placeholder .controllers .nav-item.next span .arrow-icon {\n  transform: rotate(270deg);\n}\n\n.image-slider .placeholder .controllers .nav-item.next:hover {\n  background-color: #a4bb20;\n}\n\n.image-slider .placeholder figure {\n  position: absolute;\n  z-index: 1;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  opacity: 0;\n  transition: opacity 0.4s;\n}\n\n.image-slider .placeholder figure span {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background-size: cover;\n  background-position: center;\n}\n\n.image-slider .placeholder figure span.small {\n  display: none;\n}\n\n@media screen and (max-width: 480px) {\n  .image-slider .placeholder figure span.medium {\n    display: none;\n  }\n  .image-slider .placeholder figure span.small {\n    display: block;\n  }\n}\n\n.image-slider .placeholder figure.active {\n  z-index: 2;\n  opacity: 1;\n}\n\n#cookie-message {\n  position: fixed;\n  z-index: 9999;\n  bottom: 0;\n  left: 0;\n  padding: 15px 0;\n  width: 100%;\n  background-color: #646464;\n  opacity: 1;\n  box-shadow: 0 -2px 10px 0 rgba(0, 0, 0, 0.1);\n  transition: opacity 0.5s, transform 0.6s;\n  transform: translate3d(0, 0, 0);\n}\n\n#cookie-message.accepted {\n  display: none;\n}\n\n#cookie-message.transition-out {\n  opacity: 0;\n  transform: translate3d(0, 50%, 0);\n}\n\n#cookie-message .grid-row {\n  text-align: center;\n}\n\n#cookie-message .grid-row p, #cookie-message .grid-row p a, #cookie-message .grid-row .close-button {\n  font-size: 0.75rem;\n  line-height: 1.2;\n  color: white;\n}\n\n#cookie-message .grid-row p {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0;\n}\n\n#cookie-message .grid-row p a {\n  text-decoration: underline;\n}\n\n#cookie-message .grid-row .close-button {\n  display: inline-block;\n  vertical-align: middle;\n  margin-left: 15px;\n  padding: 5px 12px;\n  background-color: rgba(255, 255, 255, 0.2);\n  border-radius: 5px;\n  cursor: pointer;\n}\n\n@media screen and (max-width: 625px) {\n  #cookie-message .grid-row p {\n    max-width: 225px;\n  }\n}\n\n@media screen and (max-width: 375px) {\n  #cookie-message .grid-row p {\n    display: block;\n    max-width: none;\n  }\n  #cookie-message .grid-row .close-button {\n    margin-top: 10px;\n  }\n}\n\n#cookie-message-overlay {\n  position: fixed;\n  z-index: 9999;\n  top: 0;\n  left: 0;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  width: 100%;\n  height: 100%;\n  background-color: rgba(0, 0, 0, 0.6);\n  opacity: 1;\n  transition: opacity 0.5s;\n}\n\n#cookie-message-overlay.accepted {\n  display: none;\n}\n\n#cookie-message-overlay.transition-out {\n  opacity: 0;\n}\n\n#cookie-message-overlay .placeholder {\n  width: calc(100vw / 14 * 12);\n  padding: 60px 120px;\n  display: block;\n  max-width: 960px;\n  margin-left: auto;\n  margin-right: auto;\n  background-color: white;\n}\n\n#cookie-message-overlay .placeholder h5 {\n  font-size: 1.2rem;\n  line-height: 1;\n  font-weight: 500;\n  margin: 0 0 5px;\n  color: #4d4d4d;\n}\n\n#cookie-message-overlay .placeholder p {\n  font-size: 0.8rem;\n  line-height: 1.2;\n  margin: 0;\n  color: #808080;\n}\n\n#cookie-message-overlay .placeholder p a, #cookie-message-overlay .placeholder p .open-menu {\n  color: #0078FF;\n  white-space: nowrap;\n  cursor: pointer;\n  text-decoration: underline;\n}\n\n#cookie-message-overlay .placeholder .accept-cookie-button {\n  display: inline-block;\n  margin-top: 35px;\n  padding: 13px 20px;\n  border-radius: 4px;\n  background-color: #32A0FA;\n  transition: background-color 0.4s, opacity 0.4s;\n  font-size: 0.9rem;\n  line-height: 1.2;\n  color: white;\n  cursor: pointer;\n}\n\n#cookie-message-overlay .placeholder .accept-cookie-button:hover {\n  background-color: #0a8ef9;\n}\n\n@media screen and (max-width: 1440px) {\n  #cookie-message-overlay .placeholder {\n    padding: calc(100vw / 14 / 1.5) calc(100vw / 14);\n    display: block;\n  }\n}\n\n@media screen and (max-width: 450px) {\n  #cookie-message-overlay .placeholder {\n    width: 100%;\n  }\n}\n\n#cookie-message-overlay #message-description {\n  display: block;\n}\n\n#cookie-message-overlay #message-description.hide {\n  display: none;\n}\n\n#cookie-message-overlay .cookie-types-description {\n  display: block;\n  margin: 30px 0;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n  width: 100%;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type + .cookie-type {\n  margin-top: 25px;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .icon {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  width: 25px;\n  height: 25px;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .icon:before {\n  content: '';\n  display: block;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .text {\n  display: block;\n  width: calc(100% - 55px);\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .text p {\n  max-width: 380px;\n  font-size: 0.7rem;\n  line-height: 1rem;\n  margin: 0;\n  color: rgba(115, 131, 138, 0.6);\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .text p strong {\n  display: inline-block;\n  color: #73838A;\n  font-size: 0.9rem;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .text p strong span {\n  white-space: nowrap;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type.tracking .icon:before {\n  background: url(\"/img/cookie-sprite.svg\") 0 0 no-repeat;\n  background-size: 114px 25px;\n  width: 25px;\n  height: 25px;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type.analytic .icon:before {\n  background: url(\"/img/cookie-sprite.svg\") -27px 0 no-repeat;\n  background-size: 114px 25px;\n  width: 25px;\n  height: 25px;\n}\n\n#cookie-message-overlay .cookie-settings {\n  display: none;\n}\n\n#cookie-message-overlay .cookie-settings.edit {\n  display: block;\n}\n\n#cookie-message-overlay .cookie-settings .wrapper {\n  padding: 30px 0 0;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n  width: 100%;\n  max-width: 420px;\n  cursor: pointer;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type + .cookie-type {\n  margin-top: 25px;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type input {\n  margin: 4px 0 0;\n  display: block;\n  background: url(\"/img/cookie-sprite.svg\") -55px -14px no-repeat;\n  background-size: 114px 25px;\n  width: 13px;\n  height: 13px;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  -ms-appearance: none;\n  -o-appearance: none;\n  appearance: none;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type input:checked {\n  background-position: -55px 0;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type input:focus {\n  outline: none;\n  box-shadow: none;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type > span {\n  display: block;\n  width: calc(100% - 55px);\n  font-size: 0.7rem;\n  line-height: 1rem;\n  color: rgba(115, 131, 138, 0.6);\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type > span strong {\n  font-size: 0.9rem;\n  color: #73838A;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type > span strong span {\n  white-space: nowrap;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type.analytic {\n  pointer-events: none;\n  cursor: not-allowed;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type.analytic input {\n  opacity: 0.3;\n}\n\n#cookie-switch {\n  margin-bottom: 50px;\n  padding: 30px 0 50px;\n  border-bottom: 1px solid #73838A;\n  width: 100%;\n}\n\n#cookie-switch .placeholder {\n  width: 100%;\n  display: block;\n}\n\n#cookie-switch .placeholder .cookie-switch-title h3 {\n  margin: 0 0 12px;\n  font-size: 1.2rem;\n  line-height: 1.2;\n}\n\n#cookie-switch .placeholder .cookie-switch-title p {\n  font-size: 0.8rem;\n  line-height: 1.4;\n}\n\n#cookie-switch .placeholder .cookie-types {\n  display: block;\n  margin: 30px 0 50px;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n  width: 100%;\n  max-width: 420px;\n  cursor: pointer;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type + .cookie-type {\n  margin-top: 25px;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type input {\n  margin: 4px 0 0;\n  display: block;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  -ms-appearance: none;\n  -o-appearance: none;\n  appearance: none;\n  background: url(\"/img/cookie-sprite.svg\") -55px -14px no-repeat;\n  background-size: 114px 25px;\n  width: 13px;\n  height: 13px;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type input:focus {\n  outline: none;\n  box-shadow: none;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type input:checked {\n  background-position: -55px 0;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type > span {\n  display: block;\n  width: calc(100% - 55px);\n  font-size: 0.7rem;\n  line-height: 1.4;\n}\n\n@media screen and (max-width: 460px) {\n  #cookie-switch .placeholder .cookie-types .cookie-type > span {\n    width: calc(100% - 30px);\n  }\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type > span strong {\n  font-size: 0.9rem;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type > span strong span {\n  white-space: nowrap;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type.analytic {\n  pointer-events: none;\n  cursor: not-allowed;\n}\n\n#cookie-switch .placeholder #save-cookie-settings {\n  display: inline-block;\n  padding: 13px 20px;\n  border-radius: 4px;\n  background-color: #32A0FA;\n  transition: background-color 0.4s, opacity 0.4s;\n  font-size: 0.9rem;\n  line-height: 1.2;\n  color: white;\n  cursor: pointer;\n}\n\n#cookie-switch .placeholder #save-cookie-settings:hover {\n  background-color: #0a8ef9;\n}\n\n#cookie-switch .placeholder #save-cookie-settings.clicked {\n  opacity: 0.2;\n}\n\n.partners-row {\n  padding: 40px 0 0;\n}\n\n.partners-row .kms-content, .clients-row .kms-content {\n  text-align: center;\n}\n\n.partners-row .index-grid-row, .clients-row .index-grid-row {\n  background-color: transparent;\n}\n\n.partners-row .squares-grid .overview, .clients-row .squares-grid .overview {\n  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;\n  grid-gap: 60px 60px;\n}\n\n@media screen and (max-width: 1150px) {\n  .partners-row .squares-grid .overview, .clients-row .squares-grid .overview {\n    grid-template-columns: 1fr 1fr 1fr 1fr;\n  }\n}\n\n@media screen and (max-width: 800px) {\n  .partners-row .squares-grid .overview, .clients-row .squares-grid .overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr 1fr;\n    max-width: none;\n  }\n}\n\n@media screen and (max-width: 650px) {\n  .partners-row .squares-grid .overview, .clients-row .squares-grid .overview {\n    grid-template-columns: 1fr 1fr;\n  }\n}\n\n@media screen and (max-width: 425px) {\n  .partners-row .squares-grid .overview, .clients-row .squares-grid .overview {\n    display: block;\n  }\n}\n\n.ie .partners-row .squares-grid article, .ie .clients-row .squares-grid article {\n  width: 20%;\n}\n\n@media screen and (max-width: 1100px) {\n  .ie .partners-row .squares-grid article, .ie .clients-row .squares-grid article {\n    width: 26%;\n  }\n}\n\n@media screen and (max-width: 680px) {\n  .ie .partners-row .squares-grid article, .ie .clients-row .squares-grid article {\n    width: 38%;\n  }\n  .ie .partners-row .squares-grid article figure, .ie .clients-row .squares-grid article figure {\n    height: auto;\n    padding-bottom: 0;\n  }\n  .ie .partners-row .squares-grid article figure .image, .ie .clients-row .squares-grid article figure .image {\n    display: none;\n  }\n  .ie .partners-row .squares-grid article figure img, .ie .clients-row .squares-grid article figure img {\n    display: block;\n  }\n}\n\n.partners-row .squares-grid article figure, .clients-row .squares-grid article figure {\n  box-shadow: none;\n}\n\n.partners-row .squares-grid article figure img, .clients-row .squares-grid article figure img {\n  display: none;\n  width: 90%;\n  margin: auto;\n}\n\n.partners-row .squares-grid article figure img.oostnl, .clients-row .squares-grid article figure img.oostnl {\n  max-width: 100px;\n}\n\n.partners-row .squares-grid article figure .image, .clients-row .squares-grid article figure .image {\n  background-repeat: no-repeat;\n  background-size: contain;\n  background-position: center;\n}\n\n@media screen and (max-width: 800px) {\n  .partners-row .squares-grid article + article, .clients-row .squares-grid article + article {\n    margin-top: 0 !important;\n  }\n  .partners-row .squares-grid article figure, .clients-row .squares-grid article figure {\n    padding-bottom: 100%;\n  }\n}\n\n@media screen and (max-width: 650px) {\n  .partners-row .squares-grid article, .clients-row .squares-grid article {\n    display: -ms-flexbox;\n    display: -webkit-flex;\n    display: flex;\n    -webkit-justify-content: center;\n    -moz-justify-content: center;\n    -ms-justify-content: center;\n    -webkit-align-items: center;\n    -moz-align-items: center;\n    -ms-align-items: center;\n    justify-content: center;\n    align-items: center;\n  }\n  .partners-row .squares-grid article figure, .clients-row .squares-grid article figure {\n    padding-bottom: 0;\n    height: auto;\n  }\n  .partners-row .squares-grid article figure span, .clients-row .squares-grid article figure span {\n    display: none;\n  }\n  .partners-row .squares-grid article figure img, .clients-row .squares-grid article figure img {\n    display: block;\n  }\n}\n\n@media screen and (max-width: 425px) {\n  .partners-row .squares-grid article, .clients-row .squares-grid article {\n    max-width: 250px;\n    margin-left: auto;\n    margin-right: auto;\n  }\n  .partners-row .squares-grid article + article, .clients-row .squares-grid article + article {\n    margin-top: 80px !important;\n  }\n}\n\n/*==========================================================================\n  Dynamic Blocks\n  @mixin ========================================================================= */\n.dynamic-block + .dynamic-block {\n  margin-top: 60px;\n}\n\n.dynamic-block .grid-row {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: space-between;\n  align-items: center;\n}\n\n.dynamic-block.two-text-columns {\n  position: relative;\n  z-index: 10;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n}\n\n.dynamic-block.two-text-columns .content {\n  width: 47.72727273%;\n  padding: 0;\n}\n\n@media screen and (max-width: 900px) {\n  .dynamic-block.two-text-columns {\n    display: block;\n  }\n  .dynamic-block.two-text-columns .content {\n    width: 100% !important;\n    margin: 0;\n  }\n  .dynamic-block.two-text-columns .content p:last-of-type {\n    margin-bottom: 1rem;\n  }\n}\n\n.dynamic-block.full-image-column img {\n  width: 100%;\n  display: none;\n}\n\n.dynamic-block.full-image-column img.large {\n  display: block;\n}\n\n@media screen and (max-width: 1050px) {\n  .dynamic-block.full-image-column img.large {\n    display: none;\n  }\n  .dynamic-block.full-image-column img.medium {\n    display: block;\n  }\n}\n\n@media screen and (max-width: 525px) {\n  .dynamic-block.full-image-column img.medium {\n    display: none;\n  }\n  .dynamic-block.full-image-column img.small {\n    display: block;\n  }\n}\n\n.dynamic-block.content-block {\n  position: relative;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n}\n\n.dynamic-block.content-block .image {\n  width: 50%;\n}\n\n.dynamic-block.content-block .image img {\n  width: 100%;\n}\n\n.dynamic-block.content-block .image img.small {\n  display: none;\n}\n\n@media screen and (max-width: 450px) {\n  .dynamic-block.content-block .image img.medium {\n    display: none;\n  }\n  .dynamic-block.content-block .image img.small {\n    display: block;\n  }\n}\n\n.dynamic-block.content-block .image .content {\n  width: 41.66666667%;\n}\n\n.dynamic-block.content-block .content {\n  -webkit-order: 1;\n  -ms-order: 1;\n  order: 1;\n  width: 41.66666667%;\n}\n\n.dynamic-block.content-block[data-image-location='right'] .image {\n  -webkit-order: 2;\n  -ms-order: 2;\n  order: 2;\n}\n\n.dynamic-block.content-block[data-image-location='right'] .content {\n  -webkit-order: 1;\n  -ms-order: 1;\n  order: 1;\n}\n\n@media screen and (max-width: 900px) {\n  .dynamic-block.content-block {\n    display: block;\n  }\n  .dynamic-block.content-block .image {\n    width: 100%;\n    margin-top: 40px;\n    -webkit-order: 2;\n    -ms-order: 2;\n    order: 2;\n  }\n  .dynamic-block.content-block .content {\n    width: 100%;\n  }\n}\n\n.dynamic-block.multiple-images {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n  -webkit-flex-wrap: wrap;\n  -ms-flex-wrap: wrap;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  -webkit-flex-flow: row wrap;\n}\n\n.dynamic-block.multiple-images figure {\n  width: 47.72727273%;\n}\n\n.dynamic-block.multiple-images figure img {\n  width: 100%;\n  display: none;\n}\n\n.dynamic-block.multiple-images figure img.medium {\n  display: none;\n}\n\n@media screen and (max-width: 1100px) {\n  .dynamic-block.multiple-images figure img.large {\n    display: none;\n  }\n  .dynamic-block.multiple-images figure img.medium {\n    display: block;\n  }\n}\n\n@media screen and (max-width: 480px) {\n  .dynamic-block.multiple-images figure img.large {\n    display: none;\n  }\n  .dynamic-block.multiple-images figure img.medium {\n    display: block;\n  }\n}\n\n.dynamic-block.multiple-images[data-size-type='50'] figure img.medium {\n  display: block;\n}\n\n@media screen and (max-width: 1125px) {\n  .dynamic-block.multiple-images[data-size-type='50'] figure img.medium {\n    display: none;\n  }\n  .dynamic-block.multiple-images[data-size-type='50'] figure img.small {\n    display: block;\n  }\n}\n\n@media screen and (max-width: 900px) {\n  .dynamic-block.multiple-images {\n    display: block;\n  }\n  .dynamic-block.multiple-images figure {\n    width: 100%;\n  }\n  .dynamic-block.multiple-images figure:first-of-type {\n    margin-bottom: 40px;\n  }\n  .dynamic-block.multiple-images figure img.medium {\n    display: block !important;\n  }\n  .dynamic-block.multiple-images figure img.small {\n    display: none !important;\n  }\n}\n\n@media screen and (max-width: 900px) and (max-width: 525px) {\n  .dynamic-block.multiple-images figure img.medium {\n    display: none;\n  }\n  .dynamic-block.multiple-images figure img.small {\n    display: block;\n  }\n}\n\n.dynamic-block.full-text-block .content {\n  max-width: 680px;\n  margin: auto;\n  text-align: center;\n}\n\n.dynamic-block.video-block {\n  width: 100%;\n  max-width: 960px;\n  margin: 60px auto 0 !important;\n}\n\n.dynamic-block.video-block .video-wrapper {\n  position: relative;\n  padding-bottom: 53.6%;\n  padding-top: 25px;\n  height: 0;\n}\n\n.dynamic-block.video-block .video-wrapper iframe, .dynamic-block.video-block .video-wrapper .video-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay {\n  z-index: 2;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  opacity: 1;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay .button {\n  width: 25%;\n  max-width: 85px;\n  transform: scale(1);\n  transition: all 0.4s;\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay .button img {\n  width: 100%;\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay:hover .button {\n  -webkit-transform: scale(0.85);\n  -moz-transform: scale(0.85);\n  -ms-transform: scale(0.85);\n  -o-transform: scale(0.85);\n  transform: scale(0.85);\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay.hide {\n  opacity: 0;\n  pointer-events: none;\n  transition: all 0.5s;\n  transition-delay: 0.7s;\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay.hide .button {\n  transition: all 0.8s;\n  transform: scale(0.3);\n}\n\n@media screen and (max-width: 1050px) {\n  .preventScroll {\n    overflow: hidden;\n    overflow-y: scroll;\n    position: fixed;\n    width: 100%;\n  }\n}\n\n#mobile-navigation {\n  position: fixed;\n  z-index: 1000;\n  height: 100vh;\n  overflow: hidden;\n  width: 100%;\n  left: 0;\n  top: 0;\n  pointer-events: none;\n}\n\n.ie.v10 #mobile-navigation {\n  height: 60px;\n}\n\n#mobile-navigation .bar {\n  display: none;\n  height: 60px;\n  background-color: #F1F7F7;\n  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.11);\n  pointer-events: all;\n  position: relative;\n  z-index: 4;\n  transform: translate3d(0, 0, 0);\n  transition: all 0.3s ease 0.4s, transform 0.4s ease 0s;\n}\n\n#mobile-navigation .bar .toggle-menu {\n  width: 60px;\n  height: 100%;\n  z-index: 3;\n  cursor: pointer;\n  position: relative;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n}\n\n#mobile-navigation .bar .toggle-menu .icon {\n  width: 20px;\n}\n\n#mobile-navigation .bar .toggle-menu .icon span + span {\n  margin-top: 4px;\n}\n\n#mobile-navigation .bar .toggle-menu .icon span {\n  width: 100%;\n  height: 2px;\n  display: block;\n  transform: scale3d(1, 1, 1);\n  transform-origin: 0 50%;\n  background-color: #C3DC32;\n  transition: transform 0.6s;\n}\n\n#mobile-navigation .bar .toggle-menu .icon span:nth-of-type(2) {\n  transform: scale3d(0.8, 1, 1);\n}\n\n#mobile-navigation .bar .toggle-menu .icon span:nth-of-type(3) {\n  transform: scale3d(0.45, 1, 1);\n}\n\n#mobile-navigation .bar .toggle-menu:hover .icon span {\n  transform: scale3d(1, 1, 1) !important;\n}\n\n#mobile-navigation .bar .logo {\n  height: 100%;\n  width: 100%;\n  position: absolute;\n  left: 0;\n  top: 0;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n}\n\n#mobile-navigation .bar .logo a {\n  position: relative;\n  display: block;\n  width: 100%;\n  text-align: center;\n  background-position: center;\n  background-size: contain;\n  background-repeat: no-repeat;\n  text-decoration: none;\n}\n\n#mobile-navigation .bar .logo a img {\n  width: 100%;\n  margin: auto;\n  max-width: 110px;\n  max-height: 70px;\n}\n\n#mobile-navigation .bar .logo a p {\n  margin: 2px 0 0;\n  font-size: 12px;\n  color: #73838A;\n}\n\n#mobile-navigation.hide-bar .bar {\n  transform: translate3d(0, -60px, 0);\n}\n\n#mobile-navigation .shader {\n  width: 100%;\n  height: 100%;\n  position: absolute;\n  left: 0;\n  top: 0;\n  background-color: #C3DC32;\n  opacity: 0;\n  transition-delay: 0.4s;\n}\n\n#mobile-navigation .menu {\n  position: absolute;\n  left: 0;\n  top: 0;\n  height: 100%;\n  width: 100%;\n  max-width: 600px;\n  min-width: 275px;\n  padding: 40px 120px;\n  background-color: #F1F7F7;\n  overflow-x: auto;\n  pointer-events: all;\n  z-index: 5;\n  transform: translate3d(-100%, 0, 0);\n}\n\n#mobile-navigation .menu nav {\n  position: relative;\n}\n\n#mobile-navigation .menu nav .close {\n  position: absolute;\n  top: 17px;\n  left: -68px;\n  display: block;\n  width: 16px;\n  height: 16px;\n  cursor: pointer;\n  transform-origin: center;\n  transform: rotate(0deg);\n  transition: transform 0.4s;\n}\n\n#mobile-navigation .menu nav .close:hover {\n  transform: rotate(90deg);\n  opacity: 0.4;\n}\n\n#mobile-navigation .menu nav .close:before, #mobile-navigation .menu nav .close:after {\n  content: '';\n  position: absolute;\n  display: block;\n  background-color: #646464;\n  transform-origin: center;\n  transform: rotate(45deg);\n  transition: background-color 0.3s;\n}\n\n#mobile-navigation .menu nav .close:before {\n  left: 7px;\n  top: 0;\n  width: 2px;\n  height: 100%;\n}\n\n#mobile-navigation .menu nav .close:after {\n  left: 0;\n  top: 7px;\n  width: 100%;\n  height: 2px;\n}\n\n#mobile-navigation .menu nav .logo-wrapper {\n  width: 100%;\n  max-width: 150px;\n}\n\n#mobile-navigation .menu nav .logo-wrapper a {\n  display: block;\n  text-decoration: none;\n}\n\n#mobile-navigation .menu nav .logo-wrapper a img {\n  width: 100%;\n  max-height: 49px;\n}\n\n#mobile-navigation .menu nav .menu-list {\n  margin-top: 30px;\n}\n\n#mobile-navigation .menu nav .menu-list ul {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  font-size: 1rem;\n  line-height: 1.2;\n}\n\n#mobile-navigation .menu nav .menu-list ul + ul {\n  margin-top: 24px;\n}\n\n#mobile-navigation .menu nav .menu-list ul li a {\n  display: block;\n  padding: 8px 0;\n  color: #C4C6C8;\n  text-decoration: none;\n  transition: color 0.2s;\n  cursor: pointer;\n}\n\n#mobile-navigation .menu nav .menu-list ul li a:hover {\n  color: #73838A;\n}\n\n#mobile-navigation .menu nav .menu-list ul li ul {\n  font-size: 0.85em;\n}\n\n#mobile-navigation .menu nav .menu-list ul li.active a {\n  color: #646464;\n}\n\n.ie.v10 #mobile-navigation.active {\n  height: 100vh;\n}\n\n#mobile-navigation.active .bar .toggle-menu .icon span {\n  opacity: 0;\n  transition-delay: 0.4s;\n}\n\n#mobile-navigation.active .bar .toggle-menu .icon span:first-of-type {\n  -webkit-transform: rotate(45deg);\n  -moz-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  -o-transform: rotate(45deg);\n  transform: rotate(45deg);\n  opacity: 1;\n  top: 6px;\n}\n\n#mobile-navigation.active .bar .toggle-menu .icon span:last-of-type {\n  width: 25px;\n  opacity: 1;\n  bottom: 6px;\n  -webkit-transform: rotate(-45deg);\n  -moz-transform: rotate(-45deg);\n  -ms-transform: rotate(-45deg);\n  -o-transform: rotate(-45deg);\n  transform: rotate(-45deg);\n}\n\n#mobile-navigation.active .menu {\n  transform: translate3d(0, 0, 0);\n}\n\n#mobile-navigation.shader-active .shader {\n  opacity: 0.6;\n  pointer-events: all;\n}\n\n#mobile-navigation.allow-animation .shader {\n  transition: all 0.2s;\n}\n\n#mobile-navigation.allow-animation .menu {\n  transition: all 0.3s;\n  transition-timing-function: ease-in-out;\n}\n\n@media screen and (max-width: 1050px) {\n  #mobile-navigation {\n    display: block;\n  }\n  #mobile-navigation .bar {\n    display: block;\n  }\n  #mobile-navigation .menu {\n    max-width: none;\n  }\n}\n\n@media screen and (max-width: 400px) {\n  #mobile-navigation nav {\n    padding-left: 30px;\n  }\n  #mobile-navigation nav ul {\n    font-size: 1.2rem;\n  }\n}\n\n.mobile-contact {\n  display: none;\n  opacity: 0;\n  transform: translate3d(0, -100%, 0);\n  padding: 50px 7.14285714%;\n  background-color: white;\n  color: #373c41;\n  font-size: 0.9rem;\n  transition: opacity 0.4s, transform 0.4s;\n}\n\n.mobile-contact.active {\n  transform: translate3d(0, 0, 0);\n  opacity: 1;\n  pointer-events: all;\n}\n\n.mobile-contact h1, .mobile-contact h2 {\n  font-size: 2rem;\n  line-height: 1.2;\n  max-width: 580px;\n  color: #0078FF;\n  margin: 0 0 40px;\n}\n\n.mobile-contact p {\n  margin: 1rem 0;\n}\n\n.mobile-contact strong {\n  color: #373c41;\n}\n\n.mobile-contact a:not(.button) {\n  color: #0064D2;\n  text-decoration: none;\n  transition: color 0.3s, border 0.3s, opacity 0.3s;\n}\n\n.mobile-contact a:not(.button):hover {\n  color: #004086;\n}\n\n.mobile-contact a.button {\n  display: inline-block;\n  margin-top: 20px;\n  padding: 15px 20px;\n  border-radius: 25px;\n  background-color: #0064D2;\n  text-decoration: none;\n  font-size: 0.9rem;\n  line-height: 1;\n  font-weight: 700;\n  color: white;\n  transition: background-color 0.3s;\n}\n\n.mobile-contact a.button:after {\n  content: '';\n  margin-left: 20px;\n  transform: translate3d(0, 0, 0);\n  transition: transform 0.3s;\n}\n\n.mobile-contact a.button:hover {\n  background-color: #0078FF;\n}\n\n.mobile-contact a.button:hover:after {\n  transform: translate3d(5px, 0, 0);\n}\n\n@media screen and (max-width: 840px) {\n  .mobile-contact {\n    display: block;\n  }\n}\n\n#sticky-navigation {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 50;\n  background-color: #0064D2;\n  width: 100%;\n  height: 60px;\n  transform: translate3d(0, -60px, 0);\n  box-shadow: 0 6px 10px -5px rgba(0, 0, 0, 0.1);\n  opacity: 0;\n  transition: transform 0.4s, opacity 0.4s;\n}\n\n#sticky-navigation.active {\n  transform: translate3d(0, 0, 0);\n  opacity: 1;\n}\n\n#sticky-navigation .grid-row {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: space-between;\n  align-items: center;\n}\n\n#sticky-navigation .menu {\n  display: inline-block;\n  width: 60px;\n}\n\n#sticky-navigation .menu .placeholder {\n  position: relative;\n  width: 100%;\n  padding-bottom: 100%;\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  cursor: pointer;\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder .icon {\n  width: 20px;\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder .icon span + span {\n  margin-top: 4px;\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder .icon span {\n  width: 100%;\n  height: 2px;\n  display: block;\n  transform: scale3d(1, 1, 1);\n  transform-origin: 0 50%;\n  background-color: white;\n  transition: transform 0.6s;\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder .icon span:nth-of-type(2) {\n  transform: scale3d(0.8, 1, 1);\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder .icon span:nth-of-type(3) {\n  transform: scale3d(0.45, 1, 1);\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder:hover .icon span {\n  transform: scale3d(1, 1, 1) !important;\n}\n\n#sticky-navigation .logo-wrapper a {\n  font-size: 1rem;\n  line-height: 1;\n  color: white;\n  text-decoration: none;\n  font-weight: bold;\n}\n\n.large-header-image {\n  position: relative;\n  background: #F1F7F7;\n}\n\n@media screen and (max-width: 1050px) {\n  .large-header-image {\n    padding-top: 100px;\n  }\n}\n\n@media screen and (max-width: 500px) {\n  .large-header-image {\n    padding-top: 60px;\n  }\n}\n\n.large-header-image:after {\n  content: '';\n  position: absolute;\n  z-index: 1;\n  bottom: 0;\n  left: 0;\n  background: #C3DC32;\n  height: 50%;\n  width: 100%;\n}\n\n@media screen and (max-width: 500px) {\n  .large-header-image:after {\n    display: none;\n  }\n}\n\n@media screen and (max-width: 500px) {\n  .large-header-image .grid-row {\n    width: 100%;\n  }\n}\n\n.large-header-image .header-image {\n  position: relative;\n  z-index: 2;\n  width: 100%;\n}\n\n.large-header-image .header-image img {\n  width: 100%;\n}\n\n.large-header-image .header-image figcaption {\n  position: absolute;\n  left: 40px;\n  bottom: 40px;\n  font-size: 2.4rem;\n  font-weight: 600;\n  color: white;\n  line-height: 1;\n}\n\n.large-header-image .header-image figcaption span {\n  display: inline-block;\n  background-color: #373c41;\n  padding: 12px 20px;\n  margin-bottom: 2px;\n}\n\n@media screen and (max-width: 1500px) {\n  .large-header-image .header-image figcaption {\n    font-size: 1.8rem;\n  }\n}\n\n@media screen and (max-width: 840px) {\n  .large-header-image .header-image figcaption {\n    font-size: 1.5rem;\n  }\n}\n\n@media screen and (max-width: 640px) {\n  .large-header-image .header-image figcaption {\n    position: relative;\n    bottom: 0;\n    left: 0;\n    margin-top: 40px;\n  }\n}\n\n@media screen and (max-width: 500px) {\n  .large-header-image .header-image figcaption {\n    margin-top: 30px;\n    padding: 0 30px;\n    font-size: 1.4rem;\n  }\n}\n\n.large-header-image .header-image.image-slider .controllers {\n  padding-bottom: 35% !important;\n}\n\n@media screen and (max-width: 575px) {\n  .large-header-image .header-image.image-slider .controllers {\n    padding-bottom: 66.67% !important;\n  }\n}\n\n.large-header-image .header-image.image-slider .controllers .nav-item {\n  bottom: 50px;\n}\n\n.large-header-image .header-image.image-slider .controllers .nav-item.previous {\n  right: calc(100% - 17px);\n}\n\n.large-header-image .header-image.image-slider .controllers .nav-item.next {\n  left: calc(100% - 17px);\n}\n\n@media screen and (max-width: 640px) {\n  .large-header-image .header-image.image-slider .controllers .nav-item {\n    display: none;\n  }\n}\n\n.large-header-image .header-image.image-slider .caption {\n  position: absolute;\n  z-index: 10;\n  left: 40px;\n  bottom: 40px;\n  font-size: 1.3rem;\n  font-weight: 600;\n  color: white;\n  line-height: 1;\n}\n\n.large-header-image .header-image.image-slider .caption span {\n  display: inline-block;\n  background-color: #373c41;\n  padding: 12px 20px;\n  margin-bottom: 2px;\n}\n\n@media screen and (max-width: 880px) {\n  .large-header-image .header-image.image-slider .caption {\n    font-size: 1rem;\n  }\n}\n\n@media screen and (max-width: 640px) {\n  .large-header-image .header-image.image-slider .caption {\n    left: 20px;\n    bottom: 20px;\n  }\n}\n\n.large-header-image .show-scroll {\n  position: absolute;\n  left: calc(50% - 30px);\n  bottom: -30px;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  width: 60px;\n  height: 60px;\n  cursor: pointer;\n  z-index: 10;\n  border-radius: 22px;\n  background: #C3DC32;\n}\n\n.large-header-image .show-scroll .arrow {\n  position: relative;\n  z-index: 2;\n  display: inline-block;\n  width: 16px;\n  transform: translate3d(0, 0, 0);\n  transition: transform 0.3s;\n}\n\n.large-header-image .show-scroll .arrow svg {\n  width: 100%;\n  max-height: 22px;\n}\n\n.large-header-image .show-scroll .arrow svg path {\n  fill: white;\n}\n\n.large-header-image .show-scroll:hover .arrow {\n  transform: translate3d(0, 3px, 0);\n}\n\n@media screen and (max-width: 900px) {\n  .large-header-image .show-scroll {\n    left: calc(50% - 22px);\n    bottom: -22px;\n    width: 45px;\n    height: 45px;\n    border-radius: 16px;\n  }\n  .large-header-image .show-scroll:after {\n    border-width: 0 45px 45px 45px;\n  }\n}\n\n@media screen and (max-width: 640px) {\n  .large-header-image .show-scroll {\n    display: none;\n  }\n}\n\n.cta-content-row {\n  /* Tablet view\n    @mixin ========================================================================= */\n  /* Mobile view\n    @mixin ========================================================================= */\n}\n\n.cta-content-row .grid-row {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-end;\n  -moz-justify-content: flex-end;\n  -ms-justify-content: flex-end;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: flex-end;\n  align-items: flex-start;\n  padding: 115px 0;\n}\n\n.cta-content-row .grid-row .cta-block {\n  width: 33.33333333%;\n  margin-right: 12.5%;\n}\n\n.cta-content-row .grid-row .cta-block p {\n  margin: 0;\n  font-size: 0.65rem;\n  line-height: 1;\n  font-weight: 700;\n  color: #B7B5BD;\n  text-transform: uppercase;\n}\n\n.cta-content-row .grid-row .cta-block h1 {\n  max-width: 420px;\n  margin: 0;\n  font-size: 2rem;\n  line-height: 1.4;\n  font-family: 'Dosis', sans-serif;\n  font-weight: 600;\n  color: #646464;\n}\n\n@media screen and (max-width: 950px) {\n  .cta-content-row .grid-row .cta-block h1 {\n    font-size: 1.6rem;\n  }\n}\n\n.cta-content-row .grid-row .cta-block .button {\n  margin-top: 30px;\n}\n\n.cta-content-row .grid-row .content-block {\n  width: 33.33333333%;\n  margin-right: 8.33333333%;\n}\n\n@media screen and (max-width: 1350px) {\n  .cta-content-row .grid-row {\n    padding: 80px 0;\n  }\n  .cta-content-row .grid-row .cta-block {\n    width: 41.66666667%;\n    margin-right: 8.33333333%;\n  }\n  .cta-content-row .grid-row .content-block {\n    width: 41.66666667%;\n  }\n}\n\n@media screen and (max-width: 750px) {\n  .cta-content-row .grid-row {\n    padding: 80px 0;\n    display: block;\n  }\n  .cta-content-row .grid-row .cta-block, .cta-content-row .grid-row .content-block {\n    width: 83.33333333%;\n    margin-right: auto;\n    margin-left: auto;\n  }\n}\n\n@media screen and (max-width: 750px) and (max-width: 640px) {\n  .cta-content-row .grid-row .cta-block, .cta-content-row .grid-row .content-block {\n    width: 100%;\n  }\n}\n\n@media screen and (max-width: 750px) {\n  .cta-content-row .grid-row .cta-block {\n    margin-bottom: 60px;\n  }\n}\n\n.reasons-row {\n  position: relative;\n  background-color: #C4C6C8;\n  overflow: hidden;\n}\n\n.reasons-row .grid-row {\n  position: relative;\n}\n\n.reasons-row .grid-row:before {\n  content: '';\n  display: block;\n  position: absolute;\n  z-index: 3;\n  top: 0;\n  right: calc(58.33333333% - 100px);\n  width: 100px;\n  height: 100%;\n  background: linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 100%);\n}\n\n.reasons-row .grid-col {\n  vertical-align: middle;\n  padding: 100px 0;\n}\n\n.reasons-row .reasons-block {\n  position: relative;\n  z-index: 2;\n  overflow: visible;\n  padding-right: 4.16666667%;\n}\n\n.reasons-row .reasons-block > h2 {\n  font-size: 1.6rem;\n  line-height: 1.2;\n  font-weight: 300;\n  color: white;\n  margin: 0 0 45px;\n  padding-left: 55px;\n}\n\n@media screen and (max-width: 1250px) {\n  .reasons-row .reasons-block > h2 {\n    padding-left: 0;\n  }\n}\n\n.reasons-row .reasons-block ul {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  max-width: 380px;\n}\n\n.reasons-row .reasons-block ul li {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n}\n\n.reasons-row .reasons-block ul li + li {\n  margin-top: 10px;\n}\n\n.reasons-row .reasons-block ul li .list-icon {\n  display: none;\n}\n\n.reasons-row .reasons-block ul li p {\n  width: calc(100% - 55px);\n  margin: 0;\n  font-size: 1rem;\n  line-height: 1.4;\n  font-family: 'Dosis', sans-serif;\n  color: white;\n}\n\n.reasons-row .reasons-block ul.thumbs li .list-icon {\n  display: block;\n  margin-top: 3px;\n  width: 20px;\n  height: 18px;\n}\n\n.reasons-row .reasons-block ul.thumbs li .list-icon svg {\n  width: 100%;\n  max-height: 18px;\n}\n\n.reasons-row .reasons-block ul.check2 li .list-icon {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  margin-top: 6px;\n  width: 22px;\n  height: 22px;\n  border-radius: 20px;\n  background-color: white;\n}\n\n.reasons-row .reasons-block ul.check2 li .list-icon svg {\n  width: 13px;\n}\n\n.reasons-row .reasons-block ul.arrows li .list-icon {\n  display: block;\n  margin-top: 7px;\n  width: 12px;\n  height: 12px;\n  transform: rotate(45deg);\n  transform-origin: 0 100%;\n  transition: transform 0.4s;\n  border-top: 3px solid #32A0FA;\n  border-right: 3px solid #32A0FA;\n}\n\n.reasons-row .reasons-block .trigger {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-start;\n  align-items: center;\n  margin-top: 60px;\n  margin-left: 55px;\n}\n\n.reasons-row .reasons-block .trigger .button {\n  background: white;\n  color: #646464;\n  margin-right: 8.33333333%;\n  text-transform: uppercase;\n}\n\n.reasons-row .reasons-block .trigger .button .arrow {\n  margin-left: 40px;\n}\n\n.reasons-row .reasons-block .trigger .button .arrow svg path {\n  fill: #C4C6C8;\n}\n\n.reasons-row .reasons-block .trigger .image-placeholder {\n  width: 180px;\n}\n\n@media screen and (max-width: 1600px) {\n  .reasons-row .reasons-block .trigger .image-placeholder {\n    width: 150px;\n  }\n}\n\n.reasons-row .reasons-block .trigger .image-placeholder figure {\n  position: relative;\n  width: 100%;\n  padding-bottom: 100%;\n  height: 0;\n}\n\n.reasons-row .reasons-block .trigger .image-placeholder figure span {\n  position: absolute;\n  border-radius: 100%;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background-position: center;\n  background-size: cover;\n}\n\n@media screen and (max-width: 1400px) {\n  .reasons-row .reasons-block .trigger {\n    display: block;\n  }\n  .reasons-row .reasons-block .trigger .button {\n    margin-right: 0;\n  }\n  .reasons-row .reasons-block .trigger .image-placeholder {\n    display: none;\n  }\n}\n\n.reasons-row .right-side {\n  position: relative;\n  z-index: 2;\n  padding: 0;\n  overflow: visible;\n}\n\n.reasons-row .right-side.col-7 {\n  padding-left: 8.33333333%;\n}\n\n.reasons-row .right-side.absolute {\n  position: absolute;\n  right: 0;\n  top: 0;\n  height: 100%;\n}\n\n.reasons-row .right-side h4 {\n  font-size: 0.65rem;\n  color: #32A0FA;\n  font-weight: 600;\n  text-transform: uppercase;\n  margin: 0 0 20px;\n}\n\n.reasons-row .right-side .video-block {\n  padding: 80px 0;\n}\n\n.reasons-row .right-side .video-block .video-wrapper {\n  background-color: #2b2f33;\n  width: 100%;\n  max-width: 960px;\n}\n\n.reasons-row .right-side .video-block .video-wrapper .placeholder {\n  position: relative;\n  padding-bottom: 52.8%;\n  padding-top: 25px;\n  height: 0;\n}\n\n.reasons-row .right-side .video-block .video-wrapper .placeholder iframe {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n}\n\n.reasons-row .right-side .image-block {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  top: 0;\n  left: 0;\n}\n\n.reasons-row .right-side .image-block:after {\n  content: '';\n  position: absolute;\n  left: 0;\n  bottom: 0;\n  display: block;\n  height: 50px;\n  width: 100vw;\n  background-color: #C3DC32;\n}\n\n.reasons-row .right-side .image-block span {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  top: 0;\n  left: 0;\n  background-size: cover;\n  background-position: center;\n}\n\n.reasons-row .right-side .image-block picture {\n  display: none;\n  width: 100%;\n  margin: 0;\n}\n\n.reasons-row .right-side .image-block picture img {\n  width: 100%;\n}\n\n@media screen and (max-width: 1000px) {\n  .reasons-row .grid-row {\n    width: 100%;\n  }\n  .reasons-row .grid-row:before, .reasons-row .grid-row:after {\n    display: none;\n  }\n  .reasons-row .reasons-block {\n    display: block;\n    width: 100%;\n    padding: 60px 7.14285714%;\n    max-width: 600px;\n    margin: auto;\n  }\n  .reasons-row .right-side {\n    background-color: #2b2f33;\n    position: relative;\n    width: 100%;\n    padding: 0 7.14285714%;\n    height: auto;\n  }\n  .reasons-row .right-side.col-7 {\n    padding-left: 7.14285714%;\n  }\n  .reasons-row .right-side.absolute {\n    position: relative;\n    height: auto;\n    padding: 0;\n  }\n  .reasons-row .right-side .image-block {\n    position: relative;\n  }\n  .reasons-row .right-side .image-block span {\n    display: none;\n  }\n  .reasons-row .right-side .image-block picture {\n    display: block;\n  }\n}\n\n.discover-row {\n  background: #F4F5F7;\n  padding: 70px 0 120px;\n  overflow: hidden;\n}\n\n.discover-row .streamer {\n  color: #B7B5BD;\n  font-size: 0.65rem;\n  font-weight: 600;\n  text-transform: uppercase;\n  margin: 0 0 35px;\n}\n\n.discover-row .links {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: center;\n  align-items: flex-start;\n  overflow: visible;\n}\n\n.discover-row .links article {\n  position: relative;\n  width: 25%;\n}\n\n.discover-row .links article:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  right: 0;\n  height: 100%;\n  width: 50%;\n  background: linear-gradient(270deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 100%);\n}\n\n.discover-row .links article a {\n  text-decoration: none;\n}\n\n.discover-row .links article picture {\n  width: 100%;\n}\n\n.discover-row .links article picture img {\n  width: 100%;\n}\n\n.discover-row .links article .overlay {\n  position: absolute;\n  z-index: 2;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n}\n\n.discover-row .links article .overlay h4 {\n  position: absolute;\n  left: calc(100% - 25px);\n  bottom: 25px;\n  width: 100%;\n  margin: 0;\n  font-size: 1.5rem;\n  line-height: 1.2;\n  color: white;\n  font-weight: 600;\n  transform-origin: 0 100%;\n  transform: rotate(270deg);\n}\n\n.discover-row .links article .overlay .arrow-placeholder {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background: #C3DC32;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  opacity: 0;\n  transition: opacity 0.4s;\n}\n\n.discover-row .links article .overlay .arrow-placeholder span {\n  display: block;\n  width: 45px;\n  max-height: 18px;\n}\n\n.discover-row .links article .overlay .arrow-placeholder span svg {\n  width: 100%;\n  transform-origin: center;\n  transform: rotate(270deg);\n}\n\n.discover-row .links article .overlay .arrow-placeholder span svg.arrow-icon .st0 {\n  fill: white;\n}\n\n.discover-row .links article:hover .overlay .arrow-placeholder {\n  opacity: 1;\n}\n\n@media screen and (max-width: 1000px) {\n  .discover-row .links {\n    -webkit-flex-wrap: wrap;\n    -ms-flex-wrap: wrap;\n    -webkit-flex-direction: row;\n    -ms-flex-direction: row;\n    -webkit-flex-flow: row wrap;\n  }\n  .discover-row .links article {\n    width: 50%;\n  }\n}\n\n@media screen and (max-width: 600px) {\n  .discover-row .links {\n    display: block;\n  }\n  .discover-row .links article {\n    width: 100%;\n    background-color: #C3DC32;\n  }\n  .discover-row .links article + article {\n    margin-top: 30px;\n  }\n  .discover-row .links article a {\n    display: block;\n    padding-bottom: 10px;\n  }\n  .discover-row .links article .overlay h4 {\n    transform: rotate(0deg);\n    left: 30px;\n    bottom: 25px;\n  }\n}\n\n.cta-row {\n  position: relative;\n  overflow: hidden;\n}\n\n.cta-row .basic-hint {\n  color: white;\n  font-size: 0.8rem;\n  line-height: 1.2;\n  width: 100%;\n  max-width: 800px;\n  margin: 0 auto;\n  padding: 1rem 0;\n}\n\n.cta-row .grid-row {\n  position: relative;\n  z-index: 2;\n}\n\n.cta-row .grid-row:after {\n  content: '';\n  position: absolute;\n  z-index: -1;\n  top: 0;\n  left: 58.33333333%;\n  width: 100vw;\n  height: 100%;\n  background: #E2E6E6;\n}\n\n.cta-row .grid-row:before {\n  content: '';\n  position: absolute;\n  top: 0;\n  right: calc(41.66666667% - 20px);\n  height: 100%;\n  width: 20px;\n  background: linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 100%);\n}\n\n.cta-row .grid-row.logo-after:after {\n  background: rgba(226, 230, 230, 0.25);\n}\n\n.cta-row .cta-trigger, .cta-row .cta-trigger-2 {\n  display: inline-block;\n  padding: 40px 20px 40px 0;\n}\n\n.cta-row .cta-trigger h3, .cta-row .cta-trigger-2 h3 {\n  color: #646464;\n  font-size: 1.5rem;\n  line-height: 1.2;\n  font-family: 'Dosis', sans-serif;\n  font-weight: 600;\n  margin: 0 0 10px;\n}\n\n.cta-row .cta-trigger p, .cta-row .cta-trigger-2 p {\n  color: #C4C6C8;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  margin: 0;\n}\n\n.cta-row .cta-trigger .button, .cta-row .cta-trigger-2 .button {\n  margin-top: 40px;\n}\n\n.cta-row .cta-trigger {\n  margin-left: 8.33333333%;\n  width: 50%;\n  background-color: white;\n}\n\n.cta-row .cta-trigger-2 {\n  width: 50%;\n  padding-left: 100px;\n}\n\n.cta-row .cta-person {\n  display: inline-block;\n  vertical-align: top;\n  width: 41.66666667%;\n  padding: 0;\n}\n\n.cta-row .cta-person .wrapper {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-start;\n  align-items: center;\n}\n\n.cta-row .cta-person .image-placeholder {\n  width: 100%;\n  max-width: 375px;\n}\n\n.cta-row .cta-person .image-placeholder figure {\n  position: relative;\n  width: 100%;\n  padding-bottom: 66.67%;\n  height: 0;\n}\n\n.cta-row .cta-person .image-placeholder figure span {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background-position: center;\n  background-size: cover;\n}\n\n.cta-row .cta-person .contact-info {\n  width: calc(100% - 175px);\n  padding-left: 25px;\n}\n\n.cta-row .cta-person .contact-info p {\n  margin: 0;\n  font-size: 1.3rem;\n  line-height: 1.2;\n  color: #646464;\n}\n\n.cta-row .cta-person .contact-info span {\n  display: block;\n  color: #646464;\n  font-size: 1rem;\n}\n\n.cta-row .cta-person .contact-info a {\n  font-size: 0.9rem;\n  color: #646464;\n  font-weight: 600;\n  text-decoration: none;\n  transition: color 0.2s;\n}\n\n.cta-row .cta-person .contact-info a:hover {\n  color: #505050;\n}\n\n.cta-row .cta-person.logo-fallback .wrapper {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-end;\n  -moz-justify-content: flex-end;\n  -ms-justify-content: flex-end;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-end;\n  align-items: center;\n  height: 240px;\n}\n\n.cta-row .cta-person.logo-fallback .image-placeholder {\n  height: 100px;\n  background-image: url(\"/img/medvalue_powered.png\");\n  background-position: right center;\n  background-size: contain;\n  background-repeat: no-repeat;\n}\n\n@media screen and (max-width: 1000px) {\n  .cta-row .grid-row {\n    height: auto;\n    display: block;\n    width: 100%;\n  }\n  .cta-row .grid-row:before, .cta-row .grid-row:after {\n    display: none;\n  }\n  .cta-row .cta-trigger, .cta-row .cta-trigger-2 {\n    width: 100%;\n    padding: 65px 7.14285714%;\n  }\n  .cta-row .cta-trigger {\n    margin-left: 0;\n  }\n  .cta-row .cta-person {\n    width: 100%;\n    background-color: white;\n    padding: 0 7.14285714% 65px;\n  }\n  .cta-row .cta-person.logo-fallback {\n    display: none;\n  }\n}\n\n@media screen and (max-width: 475px) {\n  .cta-row .cta-trigger br, .cta-row .cta-trigger-2 br {\n    display: none;\n  }\n  .cta-row .cta-person {\n    padding: 0;\n    text-align: center;\n  }\n  .cta-row .cta-person .image-placeholder {\n    display: inline-block;\n  }\n}\n\n.steps-slider {\n  padding: 20px 0 40px;\n  background-color: #F1F7F7;\n  text-align: center;\n}\n\n.steps-slider .grid-row > h2 {\n  font-size: 2rem;\n  line-height: 1.2;\n  color: #646464;\n}\n\n.steps-slider .slider-nav {\n  position: relative;\n  display: inline-block;\n  list-style: none;\n  padding: 0;\n  margin: 45px auto 0;\n}\n\n.steps-slider .slider-nav:before {\n  content: '';\n  position: absolute;\n  left: 0;\n  top: calc(50% - 1px);\n  height: 2px;\n  width: 100%;\n  background-color: #C3DC32;\n}\n\n.steps-slider .slider-nav .slide-nav-item {\n  position: relative;\n  z-index: 1;\n  display: inline-block;\n  padding: 12px 18px;\n  margin-left: 14px;\n  background-color: white;\n  border: 2px solid #C3DC32;\n  border-radius: 12px;\n  font-size: 1.1rem;\n  line-height: 1.2;\n  font-weight: 700;\n  color: #646464;\n  cursor: pointer;\n  transition: color 0.4s, background 0.4s;\n}\n\n.steps-slider .slider-nav .slide-nav-item:first-child {\n  margin-left: 0;\n}\n\n.steps-slider .slider-nav .slide-nav-item p {\n  margin: 0;\n}\n\n.steps-slider .slider-nav .slide-nav-item:hover {\n  background-color: #e6e5e5;\n}\n\n.steps-slider .slider-nav .slide-nav-item.active {\n  background-color: #C3DC32;\n  color: white;\n}\n\n.steps-slider .slides {\n  position: relative;\n  max-width: 600px;\n  min-height: 150px;\n  margin: 50px auto 0;\n}\n\n.steps-slider .slides .slide {\n  position: absolute;\n  z-index: 1;\n  top: 0;\n  left: 0;\n  display: block;\n  width: 100%;\n  opacity: 0;\n  font-size: 0.85rem;\n  line-height: 1.6;\n  transform: translate3d(0, 20px, 0);\n  transition: opacity 0.4s, transform 0.4s;\n}\n\n.steps-slider .slides .slide.active {\n  z-index: 2;\n  opacity: 1;\n  transform: translate3d(0, 0, 0);\n}\n\n.steps-slider .slides .slide h4 {\n  display: none;\n  font-size: 1.3rem;\n  line-height: 1.2;\n  font-weight: 700;\n}\n\n.steps-slider .slides .navigation-buttons .nav-item {\n  position: absolute;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  bottom: 0;\n  width: 35px;\n  height: 35px;\n  cursor: pointer;\n  border-radius: 100%;\n  transition: background 0.3s;\n}\n\n.steps-slider .slides .navigation-buttons .nav-item span {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  height: 16px;\n  width: 16px;\n  transform-origin: center;\n  transition: transform 0.3s;\n}\n\n.steps-slider .slides .navigation-buttons .nav-item span .arrow-icon {\n  position: relative;\n  width: 10px;\n  height: 16px;\n  transform-origin: center;\n}\n\n.steps-slider .slides .navigation-buttons .nav-item span .arrow-icon .st0 {\n  fill: white;\n}\n\n.steps-slider .slides .navigation-buttons .nav-item.previous {\n  background-color: #73838A;\n  right: calc(50% + 3px);\n}\n\n.steps-slider .slides .navigation-buttons .nav-item.previous span .arrow-icon {\n  transform: rotate(90deg);\n}\n\n.steps-slider .slides .navigation-buttons .nav-item.previous:hover {\n  background-color: #818f96;\n}\n\n.steps-slider .slides .navigation-buttons .nav-item.next {\n  background-color: #C3DC32;\n  left: calc(50% + 3px);\n}\n\n.steps-slider .slides .navigation-buttons .nav-item.next span .arrow-icon {\n  transform: rotate(270deg);\n}\n\n.steps-slider .slides .navigation-buttons .nav-item.next:hover {\n  background-color: #a4bb20;\n}\n\n@media screen and (max-width: 975px) {\n  .steps-slider {\n    padding: 0;\n  }\n  .steps-slider .grid-row {\n    width: 100%;\n  }\n  .steps-slider .grid-row > h2 {\n    padding: 50px 0;\n  }\n  .steps-slider .slider-nav {\n    display: none;\n  }\n  .steps-slider .slides {\n    margin-top: 0;\n    max-width: none;\n    height: auto !important;\n  }\n  .steps-slider .slides .slide {\n    position: relative;\n    height: auto !important;\n    opacity: 1;\n    padding: 40px 8.33333333%;\n    transform: translate3d(0, 0, 0) !important;\n    background-color: white;\n  }\n  .steps-slider .slides .slide:nth-of-type(odd) {\n    background-color: #F1F7F7;\n  }\n  .steps-slider .slides .slide .content {\n    text-align: left;\n  }\n}\n\n.employees-row {\n  padding: 80px 0 60px;\n  background-color: #F4F5F7;\n}\n\n.employees-row .grid-row h2 {\n  margin: 0;\n  font-size: 2rem;\n  line-height: 1.4;\n  font-family: 'Dosis', sans-serif;\n  font-weight: 600;\n  color: #B7B5BD;\n}\n\n@media screen and (max-width: 1100px) {\n  .employees-row .grid-row {\n    width: 100%;\n  }\n  .employees-row .grid-row h2 {\n    text-align: center;\n    padding: 0 20px;\n  }\n}\n\n.employees-row .overview {\n  padding: 60px 0 0;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n  -webkit-flex-wrap: wrap;\n  -ms-flex-wrap: wrap;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  -webkit-flex-flow: row wrap;\n}\n\n@supports (display: flex) {\n  .employees-row .overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    grid-gap: 60px 60px;\n  }\n  @media screen and (max-width: 1100px) {\n    .employees-row .overview {\n      padding: 0 60px;\n    }\n  }\n  @media screen and (max-width: 1250px) {\n    .employees-row .overview {\n      grid-gap: 30px 30px;\n    }\n  }\n}\n\n@media screen and (max-width: 1100px) {\n  .employees-row .overview {\n    padding: 60px 20px 0;\n  }\n  @supports (display: flex) {\n    .employees-row .overview {\n      padding: 60px 40px 0;\n    }\n  }\n}\n\n@media screen and (max-width: 1250px) {\n  .employees-row .overview {\n    display: block;\n    padding: 60px 20px 0 !important;\n  }\n}\n\n.employees-row article {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: flex-start;\n  align-items: flex-start;\n  width: 30%;\n  max-width: 420px;\n  margin: 0 15px 60px;\n  background-color: white;\n  border-radius: 5px;\n  font-size: 1rem;\n  line-height: 1.6;\n}\n\n@media screen and (max-width: 1350px) {\n  .employees-row article {\n    width: 50%;\n  }\n}\n\n@supports (display: flex) {\n  .employees-row article {\n    width: 100%;\n    max-width: none;\n    margin: 0;\n  }\n}\n\n@media screen and (max-width: 600px) {\n  .employees-row article {\n    font-size: 0.9rem;\n  }\n}\n\n.employees-row article .employee-image {\n  position: relative;\n  width: 200px;\n}\n\n.employees-row article .employee-image figure {\n  position: relative;\n  z-index: 2;\n  width: 100%;\n  height: 0;\n  padding-bottom: 100%;\n  background-color: white;\n}\n\n.employees-row article .employee-image figure .image {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  border-radius: 5px 0 0 5px;\n  background-size: cover;\n  background-position: center;\n}\n\n.employees-row article .employee-description {\n  width: calc(100% - 200px);\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-start;\n  align-items: center;\n  padding: 25px;\n}\n\n.employees-row article .employee-description h4 {\n  margin: 0 0 10px;\n  font-size: 0.9rem;\n  font-weight: 400;\n  line-height: 1.2;\n  color: #C3DC32;\n}\n\n.employees-row article .employee-description p, .employees-row article .employee-description a {\n  margin: 0;\n  font-size: 0.8rem;\n  line-height: 1.4;\n}\n\n.employees-row article .employee-description a {\n  display: block;\n  font-size: 0.7rem;\n  color: #646464;\n}\n\n.employees-row article .employee-description a.linkedin {\n  margin-top: 10px;\n}\n\n.employees-row article .employee-description a.linkedin span {\n  display: inline-block;\n  background: url(\"/img/social-media-sprite.svg\") -25px 0 no-repeat;\n  background-size: 175px 50px;\n  width: 24px;\n  height: 24px;\n}\n\n.employees-row article .employee-description p {\n  color: rgba(183, 181, 189, 0.75);\n}\n\n.employees-row article .employee-description p + p {\n  margin-top: 5px;\n}\n\n.employees-row article .employee-description p.function {\n  margin-bottom: 10px;\n}\n\n@media screen and (max-width: 1350px) {\n  .ie .employees-row article .employee-description {\n    width: calc(100% - 160px);\n  }\n  .ie .employees-row article .employee-image {\n    width: 160px;\n  }\n  .ie .employees-row article .employee-image figure {\n    padding-bottom: 130%;\n  }\n}\n\n@media screen and (max-width: 1250px) {\n  .employees-row article {\n    width: 100%;\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 625px;\n  }\n  .employees-row article + article {\n    margin-top: 30px;\n  }\n  .employees-row article figure {\n    padding-bottom: 66.67%;\n  }\n  .ie .employees-row article {\n    width: 100% !important;\n    max-width: 625px !important;\n  }\n  .ie .employees-row article .employee-description {\n    width: calc(100% - 200px);\n  }\n  .ie .employees-row article .employee-image {\n    width: 200px;\n  }\n  .ie .employees-row article .employee-image figure {\n    padding-bottom: 100%;\n  }\n}\n\n@media screen and (max-width: 500px) {\n  .employees-row article {\n    display: block;\n    background-color: transparent;\n  }\n  .employees-row article .employee-image {\n    margin: 0 auto 15px;\n    border-radius: 100%;\n    overflow: hidden;\n    background-color: white;\n  }\n  .employees-row article .employee-description {\n    width: 100%;\n    display: -ms-flexbox;\n    display: -webkit-flex;\n    display: flex;\n    -webkit-justify-content: center;\n    -moz-justify-content: center;\n    -ms-justify-content: center;\n    -webkit-align-items: center;\n    -moz-align-items: center;\n    -ms-align-items: center;\n    justify-content: center;\n    align-items: center;\n    text-align: center;\n  }\n}\n\n.ie .employees-row article {\n  width: 45%;\n  max-width: none;\n}\n\n@media screen and (max-width: 500px) {\n  .ie .employees-row .employee-description {\n    width: 100% !important;\n  }\n}\n\n.index-grid-row {\n  background-color: #F4F5F7;\n}\n\n.index-grid-row .no-available {\n  padding: 60px 20px 0;\n  text-align: center;\n  color: #646464;\n}\n\n.index-grid-row .pagination {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  margin: 0;\n  padding: 0 0 40px;\n  font-size: 0.9rem;\n  line-height: 1.2;\n  list-style: none;\n  font-weight: 600;\n}\n\n.index-grid-row .pagination li {\n  margin: 0 6px;\n}\n\n.index-grid-row .pagination li a {\n  color: #C4C6C8;\n  text-decoration: none;\n}\n\n.index-grid-row .pagination li.active span {\n  color: #C3DC32;\n  font-weight: 700;\n}\n\n.index-grid-row .pagination li:first-of-type a, .index-grid-row .pagination li:first-of-type span, .index-grid-row .pagination li:last-of-type a, .index-grid-row .pagination li:last-of-type span {\n  position: relative;\n  top: 0;\n  display: block;\n  font-size: 0;\n}\n\n.index-grid-row .pagination li:first-of-type a .arrow-icon, .index-grid-row .pagination li:first-of-type span .arrow-icon, .index-grid-row .pagination li:last-of-type a .arrow-icon, .index-grid-row .pagination li:last-of-type span .arrow-icon {\n  position: relative;\n  width: 10px;\n  height: 16px;\n  transform-origin: center;\n  transform: rotate(-90deg);\n}\n\n.index-grid-row .pagination li:first-of-type a .arrow-icon path, .index-grid-row .pagination li:first-of-type span .arrow-icon path, .index-grid-row .pagination li:last-of-type a .arrow-icon path, .index-grid-row .pagination li:last-of-type span .arrow-icon path {\n  fill: #C4C6C8;\n}\n\n.index-grid-row .pagination li:first-of-type a, .index-grid-row .pagination li:first-of-type span {\n  transform: scale3d(-1, 1, 1);\n}\n\n.index-grid-row .pagination li.disabled {\n  opacity: 0.2;\n  pointer-events: none;\n}\n\n.index-grid-row .pagination li.disabled .arrow-icon {\n  position: relative;\n  width: 10px;\n  height: 16px;\n  transform-origin: center;\n  transform: rotate(-90deg);\n}\n\n.index-grid-row .pagination li.disabled .arrow-icon path {\n  fill: rgba(196, 198, 200, 0.3);\n}\n\n.large-badges-grid .overview {\n  padding: 60px 0 0;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n  -webkit-flex-wrap: wrap;\n  -ms-flex-wrap: wrap;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  -webkit-flex-flow: row wrap;\n}\n\n.large-badges-grid .overview article {\n  margin: 0 15px 60px;\n}\n\n@media screen and (max-width: 480px) {\n  .large-badges-grid .overview article {\n    margin: 0 0 30px;\n  }\n}\n\n@supports (display: flex) {\n  .large-badges-grid .overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr 1fr;\n    grid-gap: 60px 60px;\n    padding-bottom: 60px;\n  }\n  .large-badges-grid .overview.first-page {\n    grid-template-rows: 1fr 1fr 1fr;\n    grid-template-areas: \"first first item-2\" \"first first item-3\" \"item-4 item-5 item-6\";\n  }\n  .large-badges-grid .overview.first-page article:first-child {\n    grid-area: first;\n  }\n  .large-badges-grid .overview article {\n    margin: 0;\n  }\n  @media screen and (max-width: 1700px) {\n    .large-badges-grid .overview {\n      grid-gap: 30px 30px;\n    }\n  }\n  @media screen and (max-width: 1000px) {\n    .large-badges-grid .overview {\n      grid-gap: 60px 60px;\n      grid-template-columns: 1fr 1fr;\n    }\n    .large-badges-grid .overview.first-page {\n      grid-template-areas: \"first first\" \"first first\";\n    }\n  }\n  @media screen and (max-width: 950px) {\n    .large-badges-grid .overview {\n      grid-gap: 30px 30px;\n    }\n  }\n  @media screen and (max-width: 840px) {\n    .large-badges-grid .overview {\n      display: block;\n      max-width: 520px;\n      margin-left: auto;\n      margin-right: auto;\n    }\n    .large-badges-grid .overview article {\n      margin-bottom: 30px;\n    }\n  }\n}\n\n.large-badges-grid article {\n  width: 45%;\n  max-width: 520px;\n  background: white;\n  box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2);\n  font-size: 1rem;\n  line-height: 1.6;\n}\n\n@supports (display: flex) {\n  .large-badges-grid article {\n    height: 100%;\n    width: 100%;\n    max-width: none;\n  }\n  .large-badges-grid article a {\n    height: 100%;\n    padding-bottom: 0;\n  }\n}\n\n@media screen and (max-width: 740px) {\n  .large-badges-grid article {\n    width: 100%;\n  }\n}\n\n@media screen and (max-width: 600px) {\n  .large-badges-grid article {\n    font-size: 0.9rem;\n  }\n}\n\n.large-badges-grid article a {\n  display: block;\n  position: relative;\n  width: 100%;\n  height: 0;\n  padding-bottom: 65%;\n  text-decoration: none;\n}\n\n@supports (display: flex) {\n  .large-badges-grid article a {\n    height: 100%;\n  }\n}\n\n.large-badges-grid article a figure {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n}\n\n.large-badges-grid article a figure:before {\n  content: '';\n  position: absolute;\n  z-index: 1;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  background: black;\n  opacity: 0.3;\n  transition: opacity 0.4s;\n}\n\n.large-badges-grid article a figure span {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  background-size: cover;\n  background-position: center;\n  display: none;\n}\n\n.large-badges-grid article a figure span.medium {\n  display: block;\n}\n\n.large-badges-grid article a .date {\n  position: absolute;\n  left: 8%;\n  top: 12%;\n  z-index: 3;\n  font-size: 3em;\n  font-weight: 700;\n  line-height: 1;\n  color: white;\n  transition: color 0.4s;\n}\n\n@media screen and (max-width: 950px) {\n  .large-badges-grid article a .date {\n    font-size: 2.5em;\n  }\n}\n\n@media screen and (max-width: 950px) {\n  .large-badges-grid article a .date {\n    font-size: 2em;\n  }\n}\n\n.large-badges-grid article a h2 {\n  position: absolute;\n  z-index: 4;\n  width: calc(80% - 10px);\n  left: 9%;\n  bottom: 9%;\n  color: white;\n  font-size: 1.1em;\n  line-height: 1.4;\n  font-weight: 600;\n  transition: color 0.4s;\n}\n\n.large-badges-grid article a h2 .arrow {\n  position: absolute;\n  z-index: 2;\n  width: 15px;\n  right: -20px;\n  bottom: -7px;\n  transform: translate3d(0, 0, 0);\n  transition: transform 0.4s;\n}\n\n.large-badges-grid article a h2 .arrow .arrow-icon {\n  width: 100%;\n  transform-origin: center;\n  transform: rotate(270deg);\n}\n\n.large-badges-grid article a h2 .arrow .arrow-icon path {\n  fill: #646464;\n  transition: fill 0.4s;\n}\n\n.large-badges-grid article:hover a figure:before {\n  opacity: 0.1;\n}\n\n.large-badges-grid article:hover a .arrow {\n  transform: translate3d(5px, 0, 0);\n}\n\n.large-badges-grid article:hover a .arrow .arrow-icon path {\n  fill: white;\n}\n\n.large-badges-grid article:hover a h2, .large-badges-grid article:hover a .date {\n  color: white;\n}\n\n@media screen and (max-width: 480px) {\n  .large-badges-grid article a {\n    height: auto;\n    padding-bottom: 0;\n  }\n  .large-badges-grid article a figure {\n    position: relative;\n    height: 0;\n    padding-bottom: 65%;\n  }\n  .large-badges-grid article a .arrow {\n    display: none;\n  }\n  .large-badges-grid article a h2 {\n    position: relative;\n    width: 100%;\n    left: 0;\n    bottom: 0;\n    margin: 0;\n    color: #73838A;\n    padding: 20px 15px;\n  }\n}\n\n.first-page .large-badges-grid article#post-0 a {\n  padding: 5% 8%;\n}\n\n.ie .first-page .large-badges-grid article#post-0 a {\n  padding: 0 0 65% !important;\n}\n\n.ie .first-page .large-badges-grid article#post-0 a .date {\n  font-size: 3em !important;\n}\n\n.ie .first-page .large-badges-grid article#post-0 a h2 {\n  font-size: 1.1em !important;\n}\n\n@media screen and (max-width: 480px) {\n  .ie .first-page .large-badges-grid article#post-0 a {\n    padding-bottom: 0 !important;\n    height: auto;\n  }\n}\n\n.first-page .large-badges-grid article#post-0 a figure span.medium {\n  display: none;\n}\n\n.first-page .large-badges-grid article#post-0 a figure span.large {\n  display: block;\n}\n\n@media screen and (max-width: 950px) {\n  .first-page .large-badges-grid article#post-0 a figure span.large {\n    display: none;\n  }\n  .first-page .large-badges-grid article#post-0 a figure span.medium {\n    display: block;\n  }\n}\n\n.first-page .large-badges-grid article#post-0 a .date {\n  top: 8%;\n  font-size: 3.75em;\n}\n\n.first-page .large-badges-grid article#post-0 a h2 {\n  font-size: 2em;\n  padding-right: 15% !important;\n}\n\n@media screen and (max-width: 1750px) {\n  .first-page .large-badges-grid article#post-0 a h2 {\n    padding-right: 15%;\n  }\n}\n\n@media screen and (max-width: 840px) {\n  .first-page .large-badges-grid article#post-0 a {\n    padding: 0 0 65%;\n  }\n  .first-page .large-badges-grid article#post-0 a .date {\n    top: 12%;\n    font-size: 2em;\n  }\n  .first-page .large-badges-grid article#post-0 a h2 {\n    font-size: 1.1em;\n    padding-right: 20px !important;\n  }\n}\n\n@media screen and (max-width: 480px) {\n  .first-page .large-badges-grid article#post-0 a {\n    height: auto;\n    padding-bottom: 0;\n  }\n}\n\n.squares-grid .overview {\n  padding: 60px 0 0;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n  -webkit-flex-wrap: wrap;\n  -ms-flex-wrap: wrap;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  -webkit-flex-flow: row wrap;\n}\n\n.squares-grid .overview article {\n  margin: 0 15px 60px;\n}\n\n@media screen and (max-width: 480px) {\n  .squares-grid .overview article {\n    margin: 0 auto 30px !important;\n  }\n}\n\n@supports (display: flex) {\n  .squares-grid .overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr 1fr;\n    grid-gap: 60px 60px;\n    padding-bottom: 60px;\n  }\n  .squares-grid .overview article {\n    margin: 0;\n  }\n  @media screen and (max-width: 1700px) {\n    .squares-grid .overview {\n      grid-gap: 30px 30px;\n    }\n  }\n  @media screen and (max-width: 1000px) {\n    .squares-grid .overview {\n      grid-gap: 60px 60px;\n      grid-template-columns: 1fr 1fr;\n    }\n  }\n  @media screen and (max-width: 950px) {\n    .squares-grid .overview {\n      grid-gap: 30px 30px;\n    }\n  }\n  @media screen and (max-width: 800px) {\n    .squares-grid .overview {\n      display: block;\n      max-width: 520px;\n      margin-left: auto;\n      margin-right: auto;\n    }\n  }\n}\n\n.squares-grid article {\n  width: 100%;\n  max-width: 520px;\n  font-size: 1rem;\n  line-height: 1.6;\n}\n\n@supports (display: flex) {\n  .squares-grid article {\n    height: 100%;\n    max-width: none;\n  }\n}\n\n@media screen and (max-width: 600px) {\n  .squares-grid article {\n    font-size: 0.9rem;\n  }\n}\n\n.squares-grid article a {\n  display: block;\n  position: relative;\n  width: 100%;\n  text-decoration: none;\n}\n\n.squares-grid article figure {\n  position: relative;\n  z-index: 2;\n  width: 100%;\n  height: 0;\n  padding-bottom: 100%;\n  background-color: white;\n  box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2);\n}\n\n.squares-grid article figure .image {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  background-size: cover;\n  background-position: center;\n}\n\n.squares-grid article figure .styling {\n  position: absolute;\n  right: 0;\n  bottom: 0;\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n  -moz-justify-content: center;\n  -ms-justify-content: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: center;\n  align-items: center;\n  width: 50px;\n  height: 50px;\n  background-color: #C3DC32;\n  border-radius: 50px 0 0 0;\n  transition: all 0.4s;\n}\n\n.squares-grid article figure .styling .arrow {\n  position: relative;\n  left: 4px;\n  bottom: -5px;\n  display: inline-block;\n  width: 13px;\n  transform: translate3d(0, 0, 0);\n  transition: transform 0.3s;\n}\n\n.squares-grid article figure .styling .arrow .arrow-icon {\n  transform-origin: center;\n  transform: rotate(270deg);\n}\n\n.squares-grid article figure .styling .arrow .arrow-icon path {\n  fill: white;\n  transition: fill 0.3s;\n}\n\n.squares-grid article h2 {\n  text-align: center;\n  font-size: 1.1rem;\n  line-height: 1.2;\n  font-family: 'Dosis', sans-serif;\n  font-weight: 600;\n  color: #73838A;\n}\n\n.squares-grid article:hover figure .styling {\n  width: 100%;\n  height: 100%;\n  border-radius: 0 0 0 0;\n  background-color: rgba(195, 220, 50, 0.6);\n}\n\n@media screen and (max-width: 800px) {\n  .squares-grid article + article {\n    margin-top: 30px !important;\n  }\n  .squares-grid article figure {\n    padding-bottom: 66.67%;\n  }\n}\n\n.list-row .grid-row {\n  padding: 60px 0 100px;\n  max-width: 1000px;\n}\n\n@media screen and (max-width: 880px) {\n  .list-row .grid-row {\n    padding-top: 100px;\n  }\n}\n\n.list-row .grid-row h1 {\n  margin: 0 0 60px;\n  font-size: 1.6rem;\n  line-height: 1.2;\n  color: #73838A;\n  text-align: center;\n}\n\n.list-row .list article + article {\n  margin-top: 40px;\n}\n\n.list-row .list article a {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  -ms-justify-content: flex-start;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  -ms-align-items: center;\n  justify-content: flex-start;\n  align-items: center;\n  background: white;\n  text-decoration: none;\n  border: 2px solid transparent;\n  transition: border 0.3s;\n}\n\n.list-row .list article a .date {\n  display: block;\n  padding: 15px 40px;\n  border-right: 1px solid #E2E6E6;\n  font-size: 1.8rem;\n  font-weight: 700;\n  line-height: 1;\n  color: #C4C6C8;\n  transition: color 0.4s;\n}\n\n.list-row .list article a figure {\n  width: 120px;\n  margin-left: 25px;\n  border-radius: 10px;\n  overflow: hidden;\n}\n\n.list-row .list article a figure img {\n  width: 100%;\n}\n\n.list-row .list article a .content {\n  padding: 25px;\n  width: calc(100% - 122px);\n}\n\n.list-row .list article a .content.with-image {\n  width: calc(100% - 268px);\n}\n\n.list-row .list article a .content h2 {\n  margin: 0 0 6px;\n  font-size: 1.1rem;\n  line-height: 1.2;\n  color: #C4C6C8;\n  font-family: 'Dosis', sans-serif;\n  font-weight: 600;\n}\n\n.list-row .list article a .content .read-more {\n  font-size: 1rem;\n  line-height: 1.2;\n  color: #C3DC32;\n  font-family: 'Dosis', sans-serif;\n  font-weight: 600;\n}\n\n.list-row .list article a .content .read-more .arrow {\n  position: relative;\n  top: 2px;\n  display: inline-block;\n  margin-left: 10px;\n  width: 12px;\n  transform: translate3d(0, 0, 0);\n  transition: transform 0.3s;\n}\n\n.list-row .list article a .content .read-more .arrow .arrow-icon {\n  max-height: 18px;\n  transform-origin: center;\n  transform: rotate(270deg);\n}\n\n.list-row .list article a .content .read-more .arrow .arrow-icon path {\n  fill: #C3DC32;\n}\n\n.list-row .list article a:hover {\n  border-color: #C3DC32;\n}\n\n.list-row .list article a:hover .content .read-more .arrow {\n  transform: translate3d(5px, 0, 0);\n}\n\n@media screen and (max-width: 740px) {\n  .list-row .list article a figure {\n    display: none;\n  }\n  .list-row .list article a .date {\n    font-size: 1.5rem;\n    padding: 15px 25px;\n  }\n  .list-row .list article a .content {\n    width: calc(100% - 85px);\n  }\n  .list-row .list article a .content.with-image {\n    width: calc(100% - 85px);\n  }\n  .list-row .list article a .content h2 {\n    font-size: 0.9rem;\n  }\n  .list-row .list article a .content .read-more {\n    font-size: 0.8rem;\n  }\n}\n\n.show-sub-menu {\n  padding: 80px 0;\n}\n\n.show-sub-menu > p {\n  font-size: 1rem;\n  line-height: 1.2;\n  color: #646464;\n  font-weight: 600;\n  margin: 0 0 1rem;\n}\n\n.show-sub-menu ul {\n  list-style: none;\n  padding: 0;\n  margin: 0;\n}\n\n.show-sub-menu ul li {\n  font-size: 0.9rem;\n  line-height: 1.2;\n  border-bottom: 1px solid rgba(196, 198, 200, 0.25);\n}\n\n.show-sub-menu ul li a {\n  display: -ms-flexbox;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n  -moz-justify-content: space-between;\n  -ms-justify-content: space-between;\n  -webkit-align-items: flex-start;\n  -moz-align-items: flex-start;\n  -ms-align-items: flex-start;\n  justify-content: space-between;\n  align-items: flex-start;\n  text-decoration: none;\n  color: #C4C6C8;\n  padding: 15px 0;\n  transition: color 0.3s;\n}\n\n.show-sub-menu ul li a p {\n  margin: 0;\n  width: calc(100% - 27px);\n}\n\n.show-sub-menu ul li a .arrow {\n  position: relative;\n  right: 4px;\n  top: 1px;\n  display: inline-block;\n  width: 9px;\n  transform: translate3d(0, 0, 0);\n  transition: transform 0.5s;\n}\n\n.show-sub-menu ul li a .arrow svg {\n  width: 100%;\n  max-height: 18px;\n  transform-origin: center;\n  transform: rotate(270deg);\n}\n\n.show-sub-menu ul li a .arrow svg.arrow-icon path {\n  fill: #73838A;\n}\n\n.show-sub-menu ul li a:hover {\n  color: #73838A;\n}\n\n.show-sub-menu ul li a:hover .arrow {\n  transform: translate3d(8px, 0, 0);\n}\n\n.show-sub-menu ul li.active a {\n  color: #646464;\n  font-weight: 600;\n}\n\n.show-model-detail {\n  position: relative;\n  overflow: hidden;\n}\n\n.show-model-detail .return-to-overview {\n  background-color: #C4C6C8;\n  padding: 20px 7.14285714%;\n  text-decoration: none;\n  display: none;\n  width: 100%;\n}\n\n.show-model-detail .return-to-overview .arrow {\n  position: relative;\n  top: 1px;\n  left: 4px;\n  display: block;\n  width: 12px;\n  margin-right: 25px;\n  transform: translate3d(0, 0, 0);\n  transition: transform 0.3s;\n}\n\n.show-model-detail .return-to-overview .arrow svg {\n  max-height: 15px;\n}\n\n.show-model-detail .return-to-overview .arrow .arrow-icon {\n  width: 100%;\n  transform: rotate(90deg);\n  transform-origin: center;\n}\n\n.show-model-detail .return-to-overview .arrow .arrow-icon path {\n  fill: white;\n}\n\n.show-model-detail .return-to-overview p {\n  font-size: 0.8rem;\n  color: white;\n  margin: 0;\n  font-weight: 600;\n}\n\n.show-model-detail .return-to-overview:hover .arrow {\n  transform: translate3d(-5px, 0, 0);\n}\n\n.show-model-detail .show-sub-menu {\n  position: relative;\n  z-index: 3;\n  display: inline-block;\n  width: 25%;\n  vertical-align: top;\n}\n\n.show-model-detail .dynamic-content {\n  position: relative;\n  z-index: 2;\n  display: inline-block;\n  width: 75%;\n  padding: 80px 0;\n  vertical-align: top;\n}\n\n.show-model-detail .dynamic-content:after {\n  content: '';\n  position: absolute;\n  z-index: -1;\n  display: block;\n  width: 100vw;\n  height: 100vh;\n  background-color: white;\n  right: 0;\n  top: 0;\n}\n\n.show-model-detail .dynamic-content .dynamic-block.full-text-block .content {\n  margin-left: 0;\n  text-align: left;\n}\n\n@media screen and (max-width: 900px) {\n  .show-model-detail .grid-row {\n    width: 100%;\n    display: -ms-flexbox;\n    display: -webkit-flex;\n    display: flex;\n    -webkit-justify-content: flex-start;\n    -moz-justify-content: flex-start;\n    -ms-justify-content: flex-start;\n    -webkit-align-items: flex-start;\n    -moz-align-items: flex-start;\n    -ms-align-items: flex-start;\n    justify-content: flex-start;\n    align-items: flex-start;\n    -webkit-flex-wrap: wrap;\n    -ms-flex-wrap: wrap;\n    -webkit-flex-direction: row;\n    -ms-flex-direction: row;\n    -webkit-flex-flow: row wrap;\n  }\n  .show-model-detail .return-to-overview {\n    -webkit-order: 1;\n    -ms-order: 1;\n    order: 1;\n    display: -ms-flexbox;\n    display: -webkit-flex;\n    display: flex;\n    -webkit-justify-content: flex-start;\n    -moz-justify-content: flex-start;\n    -ms-justify-content: flex-start;\n    -webkit-align-items: center;\n    -moz-align-items: center;\n    -ms-align-items: center;\n    justify-content: flex-start;\n    align-items: center;\n  }\n  .show-model-detail .dynamic-content {\n    -webkit-order: 2;\n    -ms-order: 2;\n    order: 2;\n    width: 100%;\n    padding: 40px 7.14285714%;\n  }\n  .show-model-detail .show-sub-menu {\n    -webkit-order: 3;\n    -ms-order: 3;\n    order: 3;\n    background-color: rgba(234, 234, 234, 0.4);\n    width: 100%;\n    padding: 80px 7.14285714%;\n  }\n}\n\n.show-model-detail.overview-page .background-image {\n  display: none;\n  content: '';\n  position: absolute;\n  top: 0;\n  right: 0;\n  width: 50%;\n  height: 100%;\n  background-repeat: no-repeat;\n  background-position: right center;\n  background-size: cover;\n}\n\n.show-model-detail.overview-page .dynamic-content {\n  width: 58.33333333%;\n}\n\n@media screen and (max-width: 900px) {\n  .show-model-detail.overview-page .show-sub-menu {\n    display: none;\n  }\n  .show-model-detail.overview-page .dynamic-content {\n    width: 100%;\n  }\n  .show-model-detail.overview-page .background-image {\n    display: none;\n  }\n}\n\n@media screen and (max-width: 750px) {\n  .show-model-detail {\n    padding-top: 60px;\n  }\n}\n\n/* ==========================================================================\n   Home page\n   @mixin ========================================================================= */\n#home header:after {\n  display: none;\n}\n\n#clients .dynamic-content {\n  padding-bottom: 0;\n}\n\n#clients .squares-grid .overview {\n  padding-top: 0;\n}\n\n#clients.ie .dynamic-content .content-block .image {\n  display: none;\n}\n\n#clients.ie .dynamic-content .content-block .content {\n  width: 100%;\n  max-width: 500px;\n}\n\n/*==========================================================================\n  Contact page\n  @mixin ========================================================================= */\n#contact #map {\n  width: 100%;\n  height: 450px;\n}\n\n#contact .contact-content {\n  position: relative;\n}\n\n#contact .contact-content:after {\n  content: '';\n  position: absolute;\n  right: 0;\n  top: 0;\n  display: block;\n  width: 50%;\n  height: 100%;\n  background-color: #C4C6C8;\n}\n\n#contact .contact-content .contact-info, #contact .contact-content .contact-form {\n  position: relative;\n  z-index: 1;\n}\n\n#contact .contact-content .contact-info {\n  width: 41.66666667%;\n  padding: 72px 0 100px;\n}\n\n#contact .contact-content .contact-info h1 {\n  font-size: 1.7rem;\n  line-height: 1.4;\n  color: #646464;\n  margin: 0 0 32px;\n  font-family: 'Dosis', sans-serif;\n  font-weight: 600;\n}\n\n#contact .contact-content .contact-info figure {\n  margin-top: 80px;\n  width: 100%;\n}\n\n#contact .contact-content .contact-info figure img {\n  width: 100%;\n}\n\n#contact .contact-content .contact-info h3 {\n  font-size: 0.8rem;\n  line-height: 1.2;\n  color: #73838A;\n  opacity: 0.5;\n  text-transform: uppercase;\n  font-weight: 600;\n  margin: 100px 0 15px;\n}\n\n#contact .contact-content .contact-info p {\n  font-size: 0.9rem;\n  color: rgba(115, 131, 138, 0.75);\n}\n\n#contact .contact-content .contact-info p a {\n  color: #73838A;\n  font-weight: 600;\n  text-decoration: none;\n  transition: color 0.2s;\n}\n\n#contact .contact-content .contact-info p a:hover {\n  color: #646464;\n}\n\n#contact .contact-content .contact-info .opening-hours {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n}\n\n#contact .contact-content .contact-info .opening-hours li {\n  color: rgba(115, 131, 138, 0.75);\n  font-size: 0.9rem;\n}\n\n#contact .contact-content .contact-info .opening-hours li .day {\n  display: inline-block;\n  width: 175px;\n}\n\n@media screen and (max-width: 400px) {\n  #contact .contact-content .contact-info .opening-hours li .day {\n    width: 130px;\n  }\n}\n\n#contact .contact-content .contact-info .opening-hours li.active {\n  color: #646464;\n  font-weight: 700;\n}\n\n@media screen and (max-width: 1100px) {\n  #contact .contact-content .contact-info {\n    width: 41.66666667%;\n    margin-left: 0;\n  }\n}\n\n#contact .contact-content .contact-form {\n  position: relative;\n  display: inline-block;\n  margin-left: 8.33333333%;\n  width: 50%;\n  padding: 72px 0 100px 8.33333333%;\n  vertical-align: top;\n}\n\n#contact .contact-content .contact-form h2 {\n  margin: 0 0 20px;\n  font-size: 1.7rem;\n  line-height: 1.4;\n  color: white;\n}\n\n#contact .contact-content .contact-form > p {\n  font-size: 0.9rem;\n  line-height: 1.2;\n  color: #73838A;\n}\n\n@media screen and (max-width: 840px) {\n  #contact .contact-content:after {\n    display: none;\n  }\n  #contact .contact-content .grid-row {\n    width: 100%;\n  }\n  #contact .contact-content .background {\n    display: none;\n  }\n  #contact .contact-content .contact-info {\n    width: 100%;\n    padding: 72px 8.33333333% 100px;\n  }\n  #contact .contact-content .contact-info h3 {\n    margin-top: 60px;\n  }\n  #contact .contact-content .contact-form {\n    background-color: #C4C6C8;\n    width: 100%;\n    padding-right: 8.33333333%;\n    margin-left: 0;\n  }\n}\n\nbody.default .dynamic-content {\n  padding: 60px 0 120px;\n}\n\nbody.default .dynamic-content .dynamic-block.full-text-block .content {\n  text-align: left;\n}\n\n#error-page-message {\n  padding: 100px 0 100px;\n  background-color: #eaeaea;\n}\n\n#error-page-message .grid-row .kms-content {\n  width: 100%;\n  text-align: center;\n}\n\n#error-page-message .grid-row .placeholder {\n  max-width: 720px;\n  margin: auto;\n}\n\n/*==========================================================================\n  Sitemap page\n  @mixin ========================================================================= */\n.sitemap ul {\n  padding-left: 40px;\n  padding-bottom: 20px;\n  font-size: 0.85em;\n}\n\n.sitemap > ul {\n  padding-left: 20px;\n}\n\n.sitemap li:before {\n  top: 6px;\n}\n\n.sitemap li a {\n  padding: 3px 0;\n  border-bottom-color: transparent;\n  border-bottom-style: dotted;\n  display: block;\n}\n\n.sitemap li a:hover {\n  border-bottom-color: rgba(55, 60, 65, 0.4);\n}\n\n#services.ie .squares-grid article {\n  width: 14%;\n}\n\n@media screen and (max-width: 1240px) {\n  #services.ie .squares-grid article {\n    width: 25%;\n  }\n}\n\n@media screen and (max-width: 780px) {\n  #services.ie .squares-grid article {\n    width: 40%;\n  }\n}\n\n#services .squares-grid .overview {\n  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;\n}\n\n#services .index-grid-row {\n  position: relative;\n}\n\n#services .index-grid-row:before {\n  content: '';\n  position: absolute;\n  left: 0;\n  top: 0;\n  display: block;\n  height: 200px;\n  width: 100%;\n  background-color: #C3DC32;\n}\n\n@media screen and (max-width: 1300px) {\n  #services .index-grid-row:before {\n    height: 150px;\n  }\n}\n\n@media screen and (max-width: 1000px) {\n  #services .squares-grid .overview {\n    grid-template-columns: 1fr 1fr 1fr;\n  }\n}\n\n@media screen and (max-width: 1000px) and (max-width: 800px) {\n  #services .squares-grid .overview {\n    display: grid;\n    max-width: none;\n  }\n  #services .squares-grid .overview article + article {\n    margin-top: 0 !important;\n  }\n  #services .squares-grid .overview article figure {\n    padding-bottom: 100%;\n  }\n}\n\n@media screen and (max-width: 1000px) and (max-width: 600px) {\n  #services .squares-grid .overview {\n    grid-template-columns: 1fr 1fr;\n  }\n}\n\n@media screen and (max-width: 1000px) and (max-width: 400px) {\n  #services .squares-grid .overview {\n    display: block;\n  }\n  #services .squares-grid .overview article + article {\n    margin-top: 30px !important;\n  }\n}\n\n#services .show-model-detail .dynamic-content .content-block .image {\n  width: 250px;\n}\n\n#services .show-model-detail .dynamic-content .content-block .content {\n  width: calc(100% - 290px);\n}\n\n@media screen and (max-width: 900px) {\n  #services .show-model-detail .dynamic-content .content-block .image {\n    width: 100%;\n    max-width: 250px;\n    margin-top: 0;\n  }\n  #services .show-model-detail .dynamic-content .content-block .content {\n    width: 100%;\n  }\n}\n\n#projects .large-badges-grid {\n  position: relative;\n}\n\n#projects .large-badges-grid:after {\n  content: '';\n  position: absolute;\n  z-index: 1;\n  left: 0;\n  top: 0;\n  display: block;\n  height: 240px;\n  width: 100%;\n  background-color: #C3DC32;\n}\n\n#projects .large-badges-grid .overview {\n  position: relative;\n  z-index: 2;\n}\n\n@media screen and (max-width: 1200px) {\n  #projects .large-badges-grid:after {\n    height: 160px;\n  }\n}\n\n@media screen and (max-width: 880px) {\n  #projects .large-badges-grid {\n    padding-top: 40px;\n  }\n  #projects .large-badges-grid:after {\n    height: 350px;\n  }\n}\n\n@media screen and (max-width: 560px) {\n  #projects .large-badges-grid:after {\n    height: 230px;\n  }\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3N0eWxlLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL19nbG9iYWwuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvX2NvbmZpZy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL19ib3VyYm9uLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vc2V0dGluZ3MvX2Fzc2V0LXBpcGVsaW5lLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fY29udmVydC11bml0cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX2lzLW51bS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19saW5lYXItZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fcmFkaWFsLWFyZy1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19yZW5kZXItZ3JhZGllbnRzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fc2hhcGUtc2l6ZS1zdHJpcHBlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9mdW5jdGlvbnMvX2Fzc2lnbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fY29sb3ItbGlnaHRuZXNzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19jb250YWlucy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9faXMtbGVuZ3RoLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19pcy1zaXplLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19zdHJpcC11bml0cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fdGludC1zaGFkZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL191bnBhY2suc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19hbmltYXRpb24uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19hcHBlYXJhbmNlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fYmFja2ZhY2UtdmlzaWJpbGl0eS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19iYWNrZ3JvdW5kLWltYWdlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fYm9yZGVyLWltYWdlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2JveC1zaXppbmcuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19jYWxjLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fY29sdW1ucy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2ZpbHRlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2ZsZXgtYm94LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fZm9udC1mYWNlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fZm9udC1mZWF0dXJlLXNldHRpbmdzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19oeXBoZW5zLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3NlbGVjdGlvbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX2ZvbnQtZmFtaWx5LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vYWRkb25zL19oaWRlLXRleHQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX2h0bWw1LWlucHV0LXR5cGVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vYWRkb25zL19wb3NpdGlvbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX3JldGluYS1pbWFnZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fc2l6ZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZnVuY3Rpb25zL19mdW5jdGlvbnMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZnVuY3Rpb25zL19mb250cy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9mdW5jdGlvbnMvX2dyaWQuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19taXhpbnMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19zcHJpdGUuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19tZWRpYVF1ZXJpZXMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19mbGV4LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL21peGlucy9fcGxhY2Vob2xkZXIuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvX2Jhc2Uuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZ3JpZC9fZ3JpZHMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZ3JpZC9fZ3JpZC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ncmlkL192aXNpYmxlR3JpZC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9wYXJ0aWFscy9fYnJlYWtwb2ludHMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL19jb25maWcuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL19iYXNlLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9faGVscGVycy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvbWl4aW5zL19taXhpbnMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL21peGlucy9fY29va2llU3ByaXRlLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9taXhpbnMvX2ZvbnRzLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9taXhpbnMvX2ZsYWdzLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9fcGFydGlhbHMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19wcmVIZWFkZXIuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19sYW5ndWFnZU1lbnUuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19oZWFkZXIuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19mb290ZXIuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19zaG9wcGluZ0NhcnQuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19rbXNDb250ZW50LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9fZm9ybS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvX2ltYWdlU2xpZGVyLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9fY29va2llTWVzc2FnZS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvX2Nvb2tpZVN3aXRjaC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvX3BhcnRuZXJzQ2xpZW50c1Jvdy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvZHluYW1pYy9fZHluYW1pYy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvZHluYW1pYy9fdHdvVGV4dENvbHVtbi5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvZHluYW1pYy9fZnVsbEltYWdlQ29sdW1uLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9keW5hbWljL19jb250ZW50QmxvY2suc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL2R5bmFtaWMvX211bHRpcGxlSW1hZ2VzLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9keW5hbWljL19mdWxsVGV4dEJsb2NrLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9keW5hbWljL192aWRlb0Jsb2NrLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9tb2JpbGUvX21vYmlsZS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvbW9iaWxlL19uYXZpZ2F0aW9uLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9tb2JpbGUvX2NvbnRhY3Quc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL21vYmlsZS9fc3RpY2t5TmF2aWdhdGlvbi5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvYmxvY2tzL19ibG9ja3Muc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL2Jsb2Nrcy9fbGFyZ2VIZWFkZXJJbWFnZS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvYmxvY2tzL19jdGFDb250ZW50Um93LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9ibG9ja3MvX3JlYXNvbnNSb3cuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL2Jsb2Nrcy9fZGlzY292ZXJSb3cuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL2Jsb2Nrcy9fY3RhUm93LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9ibG9ja3MvX3N0ZXBzU2xpZGVyLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9ibG9ja3MvX2VtcGxveWVlc1Jvdy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvb3ZlcnZpZXdzL19vdmVydmlld3Muc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL292ZXJ2aWV3cy9fbGFyZ2VCYWRnZXMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL292ZXJ2aWV3cy9fc3F1YXJlcy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvb3ZlcnZpZXdzL19saXN0LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9zaG93L19zaG93LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9zaG93L19zdWJNZW51LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9zaG93L19tb2RlbERldGFpbC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFnZXMvX3BhZ2VzLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYWdlcy9faG9tZS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFnZXMvX2Fib3V0LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYWdlcy9fY2xpZW50cy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFnZXMvX2NvbnRhY3Quc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhZ2VzL19kZWZhdWx0LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYWdlcy9fZXJyb3Iuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhZ2VzL19zaXRlbWFwLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYWdlcy9zZXJ2aWNlcy9fc2VydmljZXMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhZ2VzL3NlcnZpY2VzL19pbmRleC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFnZXMvc2VydmljZXMvX3Nob3cuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhZ2VzL3Byb2plY3RzL19wcm9qZWN0cy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFnZXMvcHJvamVjdHMvX2luZGV4LnNhc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gTG9hZCBkZWZhdWx0IHNldHRpbmdzIGFuZCBzdHlsaW5nXG5AaW1wb3J0IFwiLi4vZ2xvYmFsL2dsb2JhbFwiO1xuXG4vLyBFeHBlbmQvb3ZlcnJ1bGUgY29uZmlndXJhdGlvblxuQGltcG9ydCBcImNvbmZpZ1wiO1xuQGltcG9ydCBcImJhc2VcIjtcbkBpbXBvcnQgXCJoZWxwZXJzXCI7XG5AaW1wb3J0IFwibWl4aW5zL21peGluc1wiO1xuXG5cbi8vIExvYWQgZmlsZXMgdGhhdCB3cml0ZSBjc3NcbkBpbXBvcnQgXCJwYXJ0aWFscy9wYXJ0aWFsc1wiO1xuQGltcG9ydCBcInBhZ2VzL3BhZ2VzXCI7XG4iLCIvLyBMb2FkIGRlZmF1bHQgY29uZmlndXJhdGlvblxuQGltcG9ydCBcImNvbmZpZ1wiO1xuXG4vLyBMb2FkIEJvdXJib25cbkBpbXBvcnQgXCJib3VyYm9uL2JvdXJib25cIjtcblxuLy8gTG9hZCBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cbkBpbXBvcnQgXCJmdW5jdGlvbnMvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL21peGluc1wiO1xuQGltcG9ydCBcImJhc2VcIjtcblxuLy8gTG9hZCBncmlkc1xuQGltcG9ydCBcImdyaWQvZ3JpZHNcIjtcblxuLy8gTG9hZCBicmVha3BvaW50c1xuQGltcG9ydCBcInBhcnRpYWxzL2JyZWFrcG9pbnRzXCI7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnIHNldHRpbmdzXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBEZWZpbmUgZ3JpZCBjb2x1bW5zXG4gKlxuICogVGhlIGlubmVyIGdyaWQgaXMgdGhlIHNlY3Rpb24gd2hlcmUgdGhlIGNvbnRlbnQgaXNcbiAqIFRoZSBvdXRlciBncmlkIGlzIHRoZSBpbm5lciBncmlkIHdpdGggZXh0cmEgbWFyZ2luIGNvbHVtbnMgb24gZWFjaCBzaWRlXG4gKi9cbiRncmlkQ29sdW1ucyA6IDE0O1xuJGdyaWRNYXhXaWR0aCA6IDE2ODBweDtcblxuLyoqXG4gKiBEZWZpbmUgYnJlYWtwb2ludCBmb3IgZ2l2ZW4gZm9ybWF0c1xuICovXG4keGxHcmlkQnJlYWtwb2ludDogMTYwMDtcbiRsZ0dyaWRCcmVha3BvaW50OiAxMzY2O1xuJG1kR3JpZEJyZWFrcG9pbnQ6IDEwODA7XG4kc21HcmlkQnJlYWtwb2ludDogNzY4O1xuJHhzR3JpZEJyZWFrcG9pbnQ6IDQwMDtcbiIsIi8qIEJvdXJib24gNC4wLjJcbiAqIGh0dHA6Ly9ib3VyYm9uLmlvXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE0IHRob3VnaHRib3QsIGluYy5cbiAqIE1JVCBMaWNlbnNlICovXG5cbi8vIFNldHRpbmdzXG5AaW1wb3J0IFwic2V0dGluZ3MvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9weC10by1lbVwiO1xuQGltcG9ydCBcInNldHRpbmdzL2Fzc2V0LXBpcGVsaW5lXCI7XG5cbi8vIEN1c3RvbSBIZWxwZXJzXG5AaW1wb3J0IFwiaGVscGVycy9jb252ZXJ0LXVuaXRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9mb250LXNvdXJjZS1kZWNsYXJhdGlvblwiO1xuQGltcG9ydCBcImhlbHBlcnMvZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvaXMtbnVtXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItYW5nbGUtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWFyZy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yZW5kZXItZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zaGFwZS1zaXplLXN0cmlwcGVyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zdHItdG8tbnVtXCI7XG5cbi8vIEN1c3RvbSBGdW5jdGlvbnNcbkBpbXBvcnQgXCJmdW5jdGlvbnMvYXNzaWduXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbG9yLWxpZ2h0bmVzc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWluc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1sZW5ndGhcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtc2l6ZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1lbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1yZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc3RyaXAtdW5pdHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdGludC1zaGFkZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdW5wYWNrXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL21vZHVsYXItc2NhbGVcIjtcblxuLy8gQ1NTMyBNaXhpbnNcbkBpbXBvcnQgXCJjc3MzL2FuaW1hdGlvblwiO1xuQGltcG9ydCBcImNzczMvYXBwZWFyYW5jZVwiO1xuQGltcG9ydCBcImNzczMvYmFja2ZhY2UtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZFwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3gtc2l6aW5nXCI7XG5AaW1wb3J0IFwiY3NzMy9jYWxjXCI7XG5AaW1wb3J0IFwiY3NzMy9jb2x1bW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9maWx0ZXJcIjtcbkBpbXBvcnQgXCJjc3MzL2ZsZXgtYm94XCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5nc1wiO1xuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcbkBpbXBvcnQgXCJjc3MzL2h5cGhlbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiY3NzMy9saW5lYXItZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XG5AaW1wb3J0IFwiY3NzMy9wbGFjZWhvbGRlclwiO1xuQGltcG9ydCBcImNzczMvcmFkaWFsLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9zZWxlY3Rpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RleHQtZGVjb3JhdGlvblwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNmb3JtXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy91c2VyLXNlbGVjdFwiO1xuXG4vLyBBZGRvbnMgJiBvdGhlciBtaXhpbnNcbkBpbXBvcnQgXCJhZGRvbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvZGlyZWN0aW9uYWwtdmFsdWVzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2VsbGlwc2lzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2ZvbnQtZmFtaWx5XCI7XG5AaW1wb3J0IFwiYWRkb25zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcImFkZG9ucy9odG1sNS1pbnB1dC10eXBlc1wiO1xuQGltcG9ydCBcImFkZG9ucy9wb3NpdGlvblwiO1xuQGltcG9ydCBcImFkZG9ucy9wcmVmaXhlclwiO1xuQGltcG9ydCBcImFkZG9ucy9yZXRpbmEtaW1hZ2VcIjtcbkBpbXBvcnQgXCJhZGRvbnMvc2l6ZVwiO1xuQGltcG9ydCBcImFkZG9ucy90aW1pbmctZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RyaWFuZ2xlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3dvcmQtd3JhcFwiO1xuXG4vLyBTb29uIHRvIGJlIGRlcHJlY2F0ZWQgTWl4aW5zXG5AaW1wb3J0IFwiYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nXCI7XG4iLCIvLyBWYXJpYWJsZSBzZXR0aW5ncyBmb3IgL2FkZG9ucy9wcmVmaXhlci5zY3NzXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7IC8vIHJlcXVpcmVkIGZvciBrZXlmcmFtZSBtaXhpblxuIiwiJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG4iLCIkYXNzZXQtcGlwZWxpbmU6IGZhbHNlICFkZWZhdWx0O1xuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBzdHItdG8tbnVtIGZuLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9jb252ZXJ0LXVuaXRzKCRudW1iZXIsICR1bml0KSB7XG4gICRzdHJpbmdzOiAncHgnICdjbScgJ21tJyAnJScgJ2NoJyAncGljYScgJ2luJyAnZW0nICdyZW0nICdwdCcgJ3BjJyAnZXgnICd2dycgJ3ZoJyAndm1pbicgJ3ZtYXgnLCAnZGVnJywgJ3JhZCcsICdncmFkJywgJ3R1cm4nO1xuICAkdW5pdHM6ICAgMXB4ICAxY20gIDFtbSAgMSUgIDFjaCAgMXBpY2EgIDFpbiAgMWVtICAxcmVtICAxcHQgIDFwYyAgMWV4ICAxdncgIDF2aCAgMXZtaW4gIDF2bWF4LCAgMWRlZywgIDFyYWQsICAxZ3JhZCwgMXR1cm47XG4gICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICR1bml0KTtcblxuICBAaWYgbm90ICRpbmRleCB7XG4gICAgQHdhcm4gXCJVbmtub3duIHVuaXQgYCN7JHVuaXR9YC5cIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEByZXR1cm4gJG51bWJlciAqIG50aCgkdW5pdHMsICRpbmRleCk7XG59XG4iLCIvLyBVc2VkIGZvciBjcmVhdGluZyB0aGUgc291cmNlIHN0cmluZyBmb3IgZm9udHMgdXNpbmcgQGZvbnQtZmFjZVxuXG5AZnVuY3Rpb24gZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgQHJldHVybiBmb250LXVybDtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiB1cmw7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0cyxcbiAgJGZvbnQtdXJsKSB7XG5cbiAgJHNyYzogbnVsbDtcblxuICAkZm9ybWF0cy1tYXA6IChcbiAgICBlb3Q6ICBcIiN7JGZvbnQtdXJsfSgnI3skZmlsZS1wYXRofS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXCIsXG4gICAgd29mZjI6IFwiI3skZm9udC11cmx9KCcjeyRmaWxlLXBhdGh9LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpXCIsXG4gICAgd29mZjogXCIjeyRmb250LXVybH0oJyN7JGZpbGUtcGF0aH0ud29mZicpIGZvcm1hdCgnd29mZicpXCIsXG4gICAgdHRmOiAgXCIjeyRmb250LXVybH0oJyN7JGZpbGUtcGF0aH0udHRmJykgZm9ybWF0KCd0dGYnKVwiLFxuICAgIHN2ZzogIFwiI3skZm9udC11cmx9KCcjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX0nKSBmb3JtYXQoJ3N2ZycpXCJcbiAgKTtcblxuICBAZWFjaCAkZm9ybWF0LCAkZmlsZS1wYXRoIGluICRmb3JtYXRzLW1hcCB7XG4gICAgQGlmIGNvbnRhaW5zKCRmaWxlLWZvcm1hdHMsICRmb3JtYXQpIHtcbiAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCAkZmlsZS1wYXRoLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwiQGZ1bmN0aW9uIF9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC10eXBlLCAkZ3JhZGllbnQtcG9zaXRpb25zKSB7XG4gIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IHJhZGlhbClcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9pcy1udW0oJGNoYXIpIHtcbiAgJHZhbHVlczogJzAnICcxJyAnMicgJzMnICc0JyAnNScgJzYnICc3JyAnOCcgJzknIDAgMSAyIDMgNCA1IDYgNyA4IDk7XG4gICRpbmRleDogaW5kZXgoJHZhbHVlcywgJGNoYXIpO1xuICBAcmV0dXJuIGlmKCRpbmRleCwgdHJ1ZSwgZmFsc2UpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCkge1xuICAkb2Zmc2V0OiBudWxsO1xuICAkdW5pdC1zaG9ydDogIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMiwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR1bml0LWxvbmc6ICAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICBAaWYgKCR1bml0LWxvbmcgPT0gXCJncmFkXCIpIG9yXG4gICAgICAoJHVuaXQtbG9uZyA9PSBcInR1cm5cIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LWxvbmcgPT0gXCJncmFkXCIsIC0xMDBncmFkICogMywgLTAuNzV0dXJuKTtcbiAgfVxuXG4gIEBlbHNlIGlmICgkdW5pdC1zaG9ydCA9PSBcImRlZ1wiKSBvclxuICAgICAgICAgICAoJHVuaXQtc2hvcnQgPT0gXCJyYWRcIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LXNob3J0ID09IFwiZGVnXCIsIC05MCAqIDMsIDEuNnJhZCk7XG4gIH1cblxuICBAaWYgJG9mZnNldCB7XG4gICAgJG51bTogX3N0ci10by1udW0oJGZpcnN0LXZhbCk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgKCRvZmZzZXQgLSAkbnVtKSArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDAsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGhhcy1tdWx0aXBsZS12YWxzOiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCIgXCIpO1xuICAkaGFzLXNpbmdsZS1wb3NpdGlvbjogdW5xdW90ZShfcG9zaXRpb24tZmxpcHBlcigkZmlyc3QtdmFsKSArIFwiXCIpO1xuICAkaGFzLWFuZ2xlOiBfaXMtbnVtKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAwKSk7XG5cbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkc3BlYzogbnVsbDtcbiAgJGRlZ3JlZTogbnVsbDtcbiAgJHNpZGU6IG51bGw7XG4gICRjb3JuZXI6IG51bGw7XG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xuICBAaWYgKCRsZW5ndGggPiAxKSB7XG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XG5cbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRhYmlsaXR5XG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICB9XG5cbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xuICAgICAgJGRlZ3JlZTogJHBvcztcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcbiAgICAgICRzcGVjOiAkcG9zO1xuICAgIH1cbiAgfVxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcbn1cblxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcbiBAcmV0dXJuIGlmKCRwb3MgPT0gbGVmdCwgcmlnaHQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHJpZ2h0LCBsZWZ0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSB0b3AsIGJvdHRvbSwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gYm90dG9tLCB0b3AsIG51bGwpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKSB7XG4gICR2YWwtMTogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDAsICRoYXMtbXVsdGlwbGUtdmFscyAtIDEgKTtcbiAgJHZhbC0yOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGhhcy1tdWx0aXBsZS12YWxzICsgMSwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR2YWwtMzogbnVsbDtcbiAgJGhhcy12YWwtMzogc3RyLWluZGV4KCR2YWwtMiwgXCIgXCIpO1xuXG4gIEBpZiAkaGFzLXZhbC0zIHtcbiAgICAkdmFsLTM6IHN0ci1zbGljZSgkdmFsLTIsICRoYXMtdmFsLTMgKyAxLCBzdHItbGVuZ3RoKCR2YWwtMikpO1xuICAgICR2YWwtMjogc3RyLXNsaWNlKCR2YWwtMiwgMCwgJGhhcy12YWwtMyAtIDEpO1xuICB9XG5cbiAgJHBvczogX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0xKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTIpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMyk7XG4gICRwb3M6IHVucXVvdGUoJHBvcyArIFwiXCIpO1xuXG4gIC8vIFVzZSBvbGQgc3BlYyBmb3Igd2Via2l0XG4gIEBpZiAkdmFsLTEgPT0gXCJ0b1wiIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGNvZGUgdXAgdG8gc3BlY1xuICBAZWxzZSB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWFyZy1wYXJzZXIoJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkRzEsICRHMiB7XG4gICAgJGZpcnN0LXZhbDogbnRoKCR2YWx1ZSwgMSk7XG4gICAgJHBvcy10eXBlOiAgdHlwZS1vZigkZmlyc3QtdmFsKTtcbiAgICAkc3BlYy1hdC1pbmRleDogbnVsbDtcblxuICAgIC8vIERldGVybWluZSBpZiBzcGVjIHdhcyBwYXNzZWQgdG8gbWl4aW5cbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xuICAgICAgJHNwZWMtYXQtaW5kZXg6IGlmKGluZGV4KCR2YWx1ZSwgYXQpLCBpbmRleCgkdmFsdWUsIGF0KSwgZmFsc2UpO1xuICAgIH1cbiAgICBAaWYgJHNwZWMtYXQtaW5kZXgge1xuICAgICAgQGlmICRzcGVjLWF0LWluZGV4ID4gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRzcGVjLWF0LWluZGV4IC0gMSkge1xuICAgICAgICAgICRzaGFwZS1zaXplOiAkc2hhcGUtc2l6ZSBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkc3BlYy1hdC1pbmRleCA9PSAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAkRzE6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gSWYgbm90IHNwZWMgY2FsY3VsYXRlIGNvcnJlY3QgdmFsdWVzXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICgkcG9zLXR5cGUgIT0gY29sb3IpIG9yICgkZmlyc3QtdmFsICE9IFwidHJhbnNwYXJlbnRcIikge1xuICAgICAgICBAaWYgKCRwb3MtdHlwZSA9PSBudW1iZXIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwidG9wXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwicmlnaHRcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJsZWZ0XCIpIHtcblxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkcG9zID09ICRHMSB7XG4gICAgICAgICAgICAkRzE6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWZcbiAgICAgICAgICAgKCRmaXJzdC12YWwgPT0gXCJlbGxpcHNlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2lyY2xlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY29udGFpblwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvdmVyXCIpIHtcblxuICAgICAgICAgICRzaGFwZS1zaXplOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRHMSB7XG4gICAgICAgICAgICAkRzE6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2UgaWYgJHZhbHVlID09ICRHMiB7XG4gICAgICAgICAgICAkRzI6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zKSB7XG4gICRzaGFwZS1zaXplOiBudGgoJGdyYWRpZW50LXBvcywgMSk7XG4gICRwb3M6ICAgICAgICBudGgoJGdyYWRpZW50LXBvcywgMik7XG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAkcHJlLXNwZWM6IHVucXVvdGUoaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCkpXG4gICAgICAgICAgICAgdW5xdW90ZShpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSxcIiwgbnVsbCkpO1xuICAkcG9zLXNwZWM6IGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcblxuICAkc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHBvcy1zcGVjfVwiO1xuXG4gIC8vIEFkZCBjb21tYVxuICBAaWYgKCRzcGVjICE9ICcgICcpIHtcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIlxuICB9XG5cbiAgQHJldHVybiAkcHJlLXNwZWMgJHNwZWM7XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDAsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGlzLXNwZWMtc3ludGF4OiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCJhdFwiKTtcblxuICBAaWYgJGlzLXNwZWMtc3ludGF4IGFuZCAkaXMtc3BlYy1zeW50YXggPiAxIHtcbiAgICAka2V5d29yZDogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRpcy1zcGVjLXN5bnRheCAtIDIpO1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgICAkcG9zOiBhcHBlbmQoJHBvcywgJGtleXdvcmQsIGNvbW1hKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSBpZiAkaXMtc3BlYy1zeW50YXggPT0gMSB7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgIClcbiAgfVxuXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgIClcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIi8vIFVzZXIgZm9yIGxpbmVhciBhbmQgcmFkaWFsIGdyYWRpZW50cyB3aXRoaW4gYmFja2dyb3VuZC1pbWFnZSBvciBib3JkZXItaW1hZ2UgcHJvcGVydGllc1xuXG5AZnVuY3Rpb24gX3JlbmRlci1ncmFkaWVudHMoJGdyYWRpZW50LXBvc2l0aW9ucywgJGdyYWRpZW50cywgJGdyYWRpZW50LXR5cGUsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRwcmUtc3BlYzogbnVsbDtcbiAgJHNwZWM6IG51bGw7XG4gICR2ZW5kb3ItZ3JhZGllbnRzOiBudWxsO1xuICBAaWYgJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyIHtcbiAgICBAaWYgJGdyYWRpZW50LXBvc2l0aW9ucyB7XG4gICAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwge1xuICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgQGlmICR2ZW5kb3Ige1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiAtI3skdmVuZG9yfS0jeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRwcmUtc3BlY30gJGdyYWRpZW50cyk7XG4gIH1cbiAgQGVsc2UgaWYgJHZlbmRvciA9PSBmYWxzZSB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IFwiI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skc3BlY30gI3skZ3JhZGllbnRzfSlcIjtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogdW5xdW90ZSgkdmVuZG9yLWdyYWRpZW50cyk7XG4gIH1cbiAgQHJldHVybiAkdmVuZG9yLWdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSkge1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHNoYXBlLXNpemUge1xuICAgIEBpZiAoJHZhbHVlID09IFwiY292ZXJcIikgb3IgKCR2YWx1ZSA9PSBcImNvbnRhaW5cIikge1xuICAgICAgJHZhbHVlOiBudWxsO1xuICAgIH1cbiAgICAkc2hhcGUtc2l6ZS1zcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skdmFsdWV9XCI7XG4gIH1cbiAgQHJldHVybiAkc2hhcGUtc2l6ZS1zcGVjO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBsaW5lYXIvcmFkaWFsLWdyYWRpZW50LXBhcnNlcnMuXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX3N0ci10by1udW0oJHN0cmluZykge1xuICAvLyBNYXRyaWNlc1xuICAkc3RyaW5nczogJzAnICcxJyAnMicgJzMnICc0JyAnNScgJzYnICc3JyAnOCcgJzknO1xuICAkbnVtYmVyczogIDAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDk7XG5cbiAgLy8gUmVzdWx0XG4gICRyZXN1bHQ6IDA7XG4gICRkaXZpZGVyOiAwO1xuICAkbWludXM6IGZhbHNlO1xuXG4gIC8vIExvb3BpbmcgdGhyb3VnaCBhbGwgY2hhcmFjdGVyc1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkc3RyaW5nLCAkaSwgJGkpO1xuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy0nIHtcbiAgICAgICRtaW51czogdHJ1ZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGl2aWRlcjogMTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgbm90ICRpbmRleCB7XG4gICAgICAgICRyZXN1bHQ6IGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbiAgICAgICAgQHJldHVybiBfY29udmVydC11bml0cygkcmVzdWx0LCBzdHItc2xpY2UoJHN0cmluZywgJGkpKTtcbiAgICAgIH1cblxuICAgICAgJG51bWJlcjogbnRoKCRudW1iZXJzLCAkaW5kZXgpO1xuXG4gICAgICBAaWYgJGRpdmlkZXIgPT0gMCB7XG4gICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMDtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBNb3ZlIHRoZSBkZWNpbWFsIGRvdCB0byB0aGUgbGVmdFxuICAgICAgICAkZGl2aWRlcjogJGRpdmlkZXIgKiAxMDtcbiAgICAgICAgJG51bWJlcjogJG51bWJlciAvICRkaXZpZGVyO1xuICAgICAgfVxuXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgJG51bWJlcjtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG59XG4iLCJAZnVuY3Rpb24gYXNzaWduLWlucHV0cygkaW5wdXRzLCAkcHNldWRvOiBudWxsKSB7XG4gICRsaXN0IDogKCk7XG5cbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xuICAgICRpbnB1dDogdW5xdW90ZSgkaW5wdXQpO1xuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn0iLCIvLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB3aGV0aGVyIGEgY29sb3IgaXMgbGlnaHQgb3IgZGFya1xuLy8gUmV0dXJucyBhIGJvb2xlYW5cbi8vIE1vcmUgZGV0YWlscyBoZXJlIGh0dHA6Ly9yb2JvdHMudGhvdWdodGJvdC5jb20vY2xvc2VyLWxvb2stY29sb3ItbGlnaHRuZXNzXG5cbkBmdW5jdGlvbiBpcy1saWdodCgkaGV4LWNvbG9yKSB7XG4gICQtbG9jYWwtcmVkOiByZWQocmdiYSgkaGV4LWNvbG9yLCAxLjApKTtcbiAgJC1sb2NhbC1ncmVlbjogZ3JlZW4ocmdiYSgkaGV4LWNvbG9yLCAxLjApKTtcbiAgJC1sb2NhbC1ibHVlOiBibHVlKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG5cbiAgJC1sb2NhbC1saWdodG5lc3M6ICgkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjIpIC8gMjU1O1xuXG4gIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MgPiAuNjtcbn1cbiIsIi8vIFRlc3QgYSBTYXNzIGxpc3QgdG8gc2VlIGlmIGl0IGNvbnRhaW5zIGEgZGVmaW5lZCB2YWx1ZVxuXG5AZnVuY3Rpb24gY29udGFpbnMoJGxpc3QsICR2YWx1ZSkge1xuICBAcmV0dXJuIG5vdCBub3QgaW5kZXgoJGxpc3QsICR2YWx1ZSk7XG59XG4iLCIvLyBDaGVjayBmb3IgYSB2YWxpZCBsZW5ndGhcblxuQGZ1bmN0aW9uIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgQHJldHVybiBjb250YWlucygwIFwiYXV0b1wiIFwiaW5pdGlhbFwiIFwiaW5oZXJpdFwiLCAkdmFsdWUpXG4gICAgICAgICAgb3IgdHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIG5vdCB1bml0bGVzcygkdmFsdWUpXG4gICAgICAgICAgb3Igc3RyLXNsaWNlKCR2YWx1ZSArIFwiXCIsIDEsIDQpID09IFwiY2FsY1wiO1xufVxuIiwiLy8gQ2hlY2sgZm9yIGEgdmFsaWQgc2l6ZVxuXG5AZnVuY3Rpb24gaXMtc2l6ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxuICAgICAgICAgIG9yIGNvbnRhaW5zKFwiZmlsbFwiIFwiZml0LWNvbnRlbnRcIiBcIm1pbi1jb250ZW50XCIgXCJtYXgtY29udGVudFwiLCAkdmFsdWUpO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcblxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxZW07XG59XG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byByZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIHJlbSgxMilcbi8vIEFzc3VtZXMgJGVtLWJhc2UgaXMgdGhlIGZvbnQtc2l6ZSBvZiA8aHRtbD5cblxuQGZ1bmN0aW9uIHJlbSgkcHh2YWwpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xufVxuIiwiLy8gU3J0aXBzIHRoZSB1bml0cyBmcm9tIGEgdmFsdWUuIGUuZy4gMTJweCAtPiAxMlxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbCkge1xuICBAcmV0dXJuICgkdmFsIC8gKCR2YWwgKiAwICsgMSkpO1xufVxuIiwiLy8gQWRkIHBlcmNlbnRhZ2Ugb2Ygd2hpdGUgdG8gYSBjb2xvclxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCl7XG4gIEByZXR1cm4gbWl4KHdoaXRlLCAkY29sb3IsICRwZXJjZW50KTtcbn1cblxuLy8gQWRkIHBlcmNlbnRhZ2Ugb2YgYmxhY2sgdG8gYSBjb2xvclxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnQpe1xuICBAcmV0dXJuIG1peChibGFjaywgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLCIvLyBSZXR1cm4gdmVuZG9yLXByZWZpeGVkIHByb3BlcnR5IG5hbWVzIGlmIGFwcHJvcHJpYXRlXG4vLyBFeGFtcGxlOiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCh0cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kKSwgbW96KSAtPiAtbW96LXRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmRcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wcywgJHZlbmRvcjogZmFsc2UpIHtcblx0JG5ldy1wcm9wczogKCk7XG5cdFxuXHRAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xuXHRcdCRuZXctcHJvcHM6IGFwcGVuZCgkbmV3LXByb3BzLCB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3IpLCBjb21tYSk7XG5cdH1cblxuXHRAcmV0dXJuICRuZXctcHJvcHM7XG59XG5cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3I6IGZhbHNlKSB7XG5cdC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxuXHRAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcblx0XHRAcmV0dXJuIHVucXVvdGUoJy0nKyR2ZW5kb3IrJy0nKyRwcm9wKTtcblx0fVxuXHRAZWxzZSB7XG5cdFx0QHJldHVybiAkcHJvcDtcblx0fVxufSIsIi8vIENvbnZlcnQgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheFxuXG5AZnVuY3Rpb24gdW5wYWNrKCRzaG9ydGhhbmQpIHtcbiAgQGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAxIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKTtcbiAgfVxuICBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMiB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH1cbiAgQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDMge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMykgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRzaG9ydGhhbmQ7XG4gIH1cbn1cblxuIiwiLy8gU2NhbGluZyBWYXJpYWJsZXNcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcbiRtaW5vci10aGlyZDogICAgICAxLjI7XG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xuJG9jdGF2ZTogICAgICAgICAgIDI7XG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XG4kZG91YmxlLW9jdGF2ZTogICAgNDtcblxuJG1vZHVsYXItc2NhbGUtcmF0aW86ICRwZXJmZWN0LWZvdXJ0aCAhZGVmYXVsdDtcbiRtb2R1bGFyLXNjYWxlLWJhc2U6IGVtKCRlbS1iYXNlKSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlOiAkbW9kdWxhci1zY2FsZS1iYXNlLCAkcmF0aW86ICRtb2R1bGFyLXNjYWxlLXJhdGlvKSB7XG4gICR2MTogbnRoKCR2YWx1ZSwgMSk7XG4gICR2MjogbnRoKCR2YWx1ZSwgbGVuZ3RoKCR2YWx1ZSkpO1xuICAkdmFsdWU6ICR2MTtcblxuICAvLyBzY2FsZSAkdjIgdG8ganVzdCBhYm92ZSAkdjFcbiAgQHdoaWxlICR2MiA+ICR2MSB7XG4gICAgJHYyOiAoJHYyIC8gJHJhdGlvKTsgLy8gd2lsbCBiZSBvZmYtYnktMVxuICB9XG4gIEB3aGlsZSAkdjIgPCAkdjEge1xuICAgICR2MjogKCR2MiAqICRyYXRpbyk7IC8vIHdpbGwgZml4IG9mZi1ieS0xXG4gIH1cblxuICAvLyBjaGVjayBBRlRFUiBzY2FsaW5nICR2MiB0byBwcmV2ZW50IGRvdWJsZS1jb3VudGluZyBjb3JuZXItY2FzZVxuICAkZG91YmxlLXN0cmFuZGVkOiAkdjIgPiAkdjE7XG5cbiAgQGlmICRpbmNyZW1lbnQgPiAwIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRpbmNyZW1lbnQge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgKiAkcmF0aW8pID4gJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAqICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxICogJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRpbmNyZW1lbnQgPCAwIHtcbiAgICAvLyBhZGp1c3QgJHYyIHRvIGp1c3QgYmVsb3cgJHYxXG4gICAgQGlmICRkb3VibGUtc3RyYW5kZWQge1xuICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gJGluY3JlbWVudCB0aHJvdWdoIC0xIHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxIC8gJHJhdGlvKSA8ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAvICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1hbmltYXRpb25zLyN0aGUtYW5pbWF0aW9uLW5hbWUtcHJvcGVydHktXG4vLyBFYWNoIG9mIHRoZXNlIG1peGlucyBzdXBwb3J0IGNvbW1hIHNlcGFyYXRlZCBsaXN0cyBvZiB2YWx1ZXMsIHdoaWNoIGFsbG93cyBkaWZmZXJlbnQgdHJhbnNpdGlvbnMgZm9yIGluZGl2aWR1YWwgcHJvcGVydGllcyB0byBiZSBkZXNjcmliZWQgaW4gYSBzaW5nbGUgc3R5bGUgcnVsZS4gRWFjaCB2YWx1ZSBpbiB0aGUgbGlzdCBjb3JyZXNwb25kcyB0byB0aGUgdmFsdWUgYXQgdGhhdCBzYW1lIHBvc2l0aW9uIGluIHRoZSBvdGhlciBwcm9wZXJ0aWVzLlxuXG4vLyBPZmZpY2lhbCBhbmltYXRpb24gc2hvcnRoYW5kIHByb3BlcnR5LlxuQG1peGluIGFuaW1hdGlvbiAoJGFuaW1hdGlvbnMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLCAkYW5pbWF0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gSW5kaXZpZHVhbCBBbmltYXRpb24gUHJvcGVydGllc1xuQG1peGluIGFuaW1hdGlvbi1uYW1lICgkbmFtZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRuYW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uICgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24gKCRtb3Rpb25zLi4uKSB7XG4vLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQgKCR2YWx1ZXMuLi4pIHtcbi8vIGluZmluaXRlIHwgPG51bWJlcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJHZhbHVlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbiAoJGRpcmVjdGlvbnMuLi4pIHtcbi8vIG5vcm1hbCB8IGFsdGVybmF0ZVxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUgKCRzdGF0ZXMuLi4pIHtcbi8vIHJ1bm5pbmcgfCBwYXVzZWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1kZWxheSAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlICgkbW9kZXMuLi4pIHtcbi8vIG5vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGFwcGVhcmFuY2UgKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhcHBlYXJhbmNlLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tmYWNlLXZpc2liaWxpdHkgbWl4aW5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJhY2tmYWNlLXZpc2liaWxpdHksICR2aXNpYmlsaXR5LCB3ZWJraXQgc3BlYyk7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZHMgdXNpbmcgc2hvcnRoYW5kXG4vLyBub3RhdGlvbi5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQoJGJhY2tncm91bmRzLi4uKSB7XG4gICR3ZWJraXQtYmFja2dyb3VuZHM6ICgpO1xuICAkc3BlYy1iYWNrZ3JvdW5kczogKCk7XG5cbiAgQGVhY2ggJGJhY2tncm91bmQgaW4gJGJhY2tncm91bmRzIHtcbiAgICAkd2Via2l0LWJhY2tncm91bmQ6ICgpO1xuICAgICRzcGVjLWJhY2tncm91bmQ6ICgpO1xuICAgICRiYWNrZ3JvdW5kLXR5cGU6IHR5cGUtb2YoJGJhY2tncm91bmQpO1xuXG4gICAgQGlmICRiYWNrZ3JvdW5kLXR5cGUgPT0gc3RyaW5nIG9yICRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCB7XG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xuICAgICRzcGVjLWJhY2tncm91bmRzOiAgIGFwcGVuZCgkc3BlYy1iYWNrZ3JvdW5kcywgICAkc3BlYy1iYWNrZ3JvdW5kLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICR3ZWJraXQtYmFja2dyb3VuZHM7XG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcbiAgJHdlYmtpdC1pbWFnZXM6ICgpO1xuICAkc3BlYy1pbWFnZXM6ICgpO1xuXG4gIEBlYWNoICRpbWFnZSBpbiAkaW1hZ2VzIHtcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcbiAgICAkc3BlYy1pbWFnZTogKCk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAwLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGltYWdlLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWltYWdlOiAkaW1hZ2U7XG4gICAgICAgICAgJHNwZWMtaW1hZ2U6ICRpbWFnZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcbiAgICAkc3BlYy1pbWFnZXM6ICAgYXBwZW5kKCRzcGVjLWltYWdlcywgICAkc3BlYy1pbWFnZSwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiAkd2Via2l0LWltYWdlcztcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xufVxuIiwiQG1peGluIGJvcmRlci1pbWFnZSgkYm9yZGVycy4uLikge1xuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xuICAkc3BlYy1ib3JkZXJzOiAoKTtcblxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XG4gICAgJHNwZWMtYm9yZGVyOiAoKTtcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XG5cbiAgICBAaWYgJGJvcmRlci10eXBlID09IHN0cmluZyBvciBsaXN0IHtcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogJGJvcmRlcjtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xuICB9XG5cbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItaW1hZ2U6ICRzcGVjLWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLy9FeGFtcGxlczpcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSAyMCBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgMjAgMzAgNDAgNTAgc3RyZXRjaCByb3VuZCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcbiIsIi8vIEJvcmRlciBSYWRpdXMgKFNob3J0aGFuZClcbi8vIFByb3ZpZGVzIGEgc2hvcnRoYW5kIHN5bnRheCB0byB0YXJnZXQgYW5kIGFkZCBib3JkZXIgcmFkaWkgdG8gYm90aCBjb3JuZXJzIG9uIG9uZSBzaWRlIG9mIGEgYm94XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xufVxuIiwiQG1peGluIGJveC1zaXppbmcgKCRib3gpIHtcbi8vICBjb250ZW50LWJveCB8IGJvcmRlci1ib3ggfCBpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuICAjeyRwcm9wZXJ0eX06ICAgICAgICAgY2FsYygjeyR2YWx1ZX0pO1xufVxuIiwiQG1peGluIGNvbHVtbnMoJGFyZzogYXV0bykge1xuLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XG4vLyBhdXRvIHx8IGludGVnZXJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWNvdW50LCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkbGVuZ3RoOiBub3JtYWwpIHtcbi8vIG5vcm1hbCB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWdhcCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1maWxsKCRhcmc6IGF1dG8pIHtcbi8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xuLy8gPGJvcmRlci13aWR0aD4gfHwgPGJvcmRlci1zdHlsZT4gfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZSwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlOiBub25lKSB7XG4vLyBub25lIHwgaGlkZGVuIHwgZGFzaGVkIHwgZG90dGVkIHwgZG91YmxlIHwgZ3Jvb3ZlIHwgaW5zZXQgfCBpbnNldCB8IG91dHNldCB8IHJpZGdlIHwgc29saWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoICgkd2lkdGg6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1zcGFuKCRhcmc6IG5vbmUpIHtcbi8vIG5vbmUgfHwgYWxsXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcbi8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi13aWR0aCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBmaWx0ZXIoJGZ1bmN0aW9uOiBub25lKSB7XG4gIC8vIDxmaWx0ZXItZnVuY3Rpb24+IFs8ZmlsdGVyLWZ1bmN0aW9uXSogfCBub25lXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZpbHRlciwgJGZ1bmN0aW9uLCB3ZWJraXQgc3BlYyk7XG59XG5cbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcbiAgZGlzcGxheTogYm94O1xufVxuXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwLjApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuLy8gVW5pZmllZCBhdHRyaWJ1dGVzIGZvciAyMDA5LCAyMDExLCBhbmQgMjAxMiBmbGF2b3Vycy5cblxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXG4vLyAyMDExIC0gZGlzcGxheSAoZmxleGJveCB8IGlubGluZS1mbGV4Ym94KVxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xuLy8gZmxleCB8IGlubGluZS1mbGV4XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xuICAgIC8vIDIwMDlcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiBib3g7XG5cbiAgICAvLyAyMDEyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIEBlbHNlaWYgJHZhbHVlID09IFwiaW5saW5lLWZsZXhcIiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8gMjAwOSAtIGJveC1mbGV4IChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXggKGRlY2ltYWwgfCB3aWR0aCBkZWNpbWFsKVxuLy8gMjAxMiAtIGZsZXggKGludGVnZXIgaW50ZWdlciB3aWR0aClcbkBtaXhpbiBmbGV4KCR2YWx1ZSkge1xuXG4gIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cbiAgJGZsZXgtZ3JvdzogbnRoKCR2YWx1ZSwgMSk7XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMCksIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yaWVudCAoIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcylcbi8vICAgICAgLSBib3gtZGlyZWN0aW9uIChub3JtYWwgfCByZXZlcnNlKVxuLy8gMjAxMSAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZTogcm93KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJHZhbHVlLTIwMDk6ICR2YWx1ZTtcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgJGRpcmVjdGlvbjogXCJub3JtYWxcIjtcblxuICBAaWYgJHZhbHVlID09IHJvdyB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcInJvdy1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgfVxuXG4gIEBlbHNlaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICR2YWx1ZS0yMDA5LCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaWYgJGRpcmVjdGlvbiA9PSBcInJldmVyc2VcIiB7XG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG5cbiAgLy8gQWx0IHZhbHVlc1xuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gbm93cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBzaW5nbGU7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSB3cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfVxuXG4gIEBlbHNlaWYgJHZhbHVlID09IFwid3JhcC1yZXZlcnNlXCIge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1mbG93LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBib3gtb3JkaW5hbC1ncm91cCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4LW9yZGVyIChpbnRlZ2VyKVxuLy8gMjAxMiAtIG9yZGVyIChpbnRlZ2VyKVxuQG1peGluIG9yZGVyKCRpbnQ6IDApIHtcbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1vcmRlcjogJGludDtcbn1cblxuLy8gMjAxMiAtIGZsZXgtZ3JvdyAobnVtYmVyKVxuQG1peGluIGZsZXgtZ3JvdygkbnVtYmVyOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZ3JvdywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxuQG1peGluIGZsZXgtc2hyaW5rKCRudW1iZXI6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1zaHJpbmssICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoOiBhdXRvKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR3aWR0aDtcbn1cblxuLy8gMjAwOSAtIGJveC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDExIC0gZmxleC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDEyIC0ganVzdGlmeS1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kKVxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcblxuICAvLyBBbHQgdmFsdWVzLlxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJGFsdC12YWx1ZToganVzdGlmeTtcbiAgfVxuXG4gIEBlbHNlaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoanVzdGlmeS1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtcGFjazogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDExIC0gZmxleC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24taXRlbXMgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG5cbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24taXRlbXMsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1hbGlnbjogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtaXRlbS1hbGlnbiAoYXV0byB8IHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLXNlbGYgKGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tc2VsZigkdmFsdWU6IGF1dG8pIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLXNlbGYsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJHZhbHVlLTIwMTE7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWxpbmUtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5IHwgZGlzdHJpYnV0ZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJHZhbHVlLTIwMTE6IGp1c3RpZnk7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xufVxuIiwiLy8gT3JkZXIgb2YgdGhlIGluY2x1ZGVzIG1hdHRlcnMsIGFuZCBpdCBpczogbm9ybWFsLCBib2xkLCBpdGFsaWMsIGJvbGQraXRhbGljLlxuXG5AbWl4aW4gZm9udC1mYWNlKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICR3ZWlnaHQ6IG5vcm1hbCxcbiAgJHN0eWxlOiBub3JtYWwsXG4gICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZiB0dGYgc3ZnKSB7XG5cbiAgJGZvbnQtdXJsLXByZWZpeDogZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKTtcblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcblxuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCBlb3QpIHtcbiAgICAgIHNyYzogXCIjeyRmb250LXVybC1wcmVmaXh9KCcjeyRmaWxlLXBhdGh9LmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKVwiO1xuICAgIH1cblxuICAgIHNyYzogZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICAgICAkZm9udC1mYW1pbHksXG4gICAgICAkZmlsZS1wYXRoLFxuICAgICAgJGFzc2V0LXBpcGVsaW5lLFxuICAgICAgJGZpbGUtZm9ybWF0cyxcbiAgICAgICRmb250LXVybC1wcmVmaXhcbiAgICApO1xuICB9XG59XG4iLCIvLyBGb250IGZlYXR1cmUgc2V0dGluZ3MgbWl4aW4gYW5kIHByb3BlcnR5IGRlZmF1bHQuXG4vLyBFeGFtcGxlczogQGluY2x1ZGUgZm9udC1mZWF0dXJlLXNldHRpbmdzKFwibGlnYVwiKTtcbi8vICAgICAgICAgICBAaW5jbHVkZSBmb250LWZlYXR1cmUtc2V0dGluZ3MoXCJsbnVtXCIgZmFsc2UpO1xuLy8gICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyhcInBudW1cIiAxLCBcImtlcm5cIiAwKTtcbi8vICAgICAgICAgICBAaW5jbHVkZSBmb250LWZlYXR1cmUtc2V0dGluZ3MoXCJzczAxXCIsIFwic3MwMlwiKTtcblxuQG1peGluIGZvbnQtZmVhdHVyZS1zZXR0aW5ncygkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59IiwiLy8gSGlEUEkgbWl4aW4uIERlZmF1bHQgdmFsdWUgc2V0IHRvIDEuMyB0byB0YXJnZXQgR29vZ2xlIE5leHVzIDcgKGh0dHA6Ly9iamFuZ28uY29tL2FydGljbGVzL21pbi1kZXZpY2UtcGl4ZWwtcmF0aW8vKVxuQG1peGluIGhpZHBpKCRyYXRpbzogMS4zKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogI3skcmF0aW99LzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiByb3VuZCgkcmF0aW8gKiA5NmRwaSkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAkcmF0aW8gKiAxZHBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAbWl4aW4gaHlwaGVucygkaHlwaGVuYXRpb246IG5vbmUpIHtcbi8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICRoeXBoZW5hdGlvbiwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn0iLCJAbWl4aW4gaW1hZ2UtcmVuZGVyaW5nICgkbW9kZTphdXRvKSB7XG5cbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xuICAgICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsgLy8gSUU4K1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtbW96LWNyaXNwLWVkZ2VzO1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcbiAgICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcbiAgICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xuICB9XG59XG4iLCIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLW1vemlsbGE6IHRydWUgIWdsb2JhbDtcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYSAgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjICAgICAgIWdsb2JhbDtcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyB7XG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHBvcywgJEcxLCAkRzI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHMzogbnVsbCwgJEc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzU6IG51bGwsICRHNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc3OiBudWxsLCAkRzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHOTogbnVsbCwgJEcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG4gIC8vIERldGVjdCB3aGF0IHR5cGUgb2YgdmFsdWUgZXhpc3RzIGluICRwb3NcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRwb3Mtc3BlYzogbnVsbDtcbiAgJHBvcy1kZWdyZWU6IG51bGw7XG5cbiAgLy8gSWYgJHBvcyBpcyBtaXNzaW5nIGZyb20gbWl4aW4sIHJlYXNzaWduIHZhcnMgYW5kIGFkZCBkZWZhdWx0IHBvc2l0aW9uXG4gIEBpZiAoJHBvcy10eXBlID09IGNvbG9yKSBvciAobnRoKCRwb3MsIDEpID09IFwidHJhbnNwYXJlbnRcIikgIHtcbiAgICAkRzEwOiAkRzk7ICRHOTogJEc4OyAkRzg6ICRHNzsgJEc3OiAkRzY7ICRHNjogJEc1O1xuICAgICAkRzU6ICRHNDsgJEc0OiAkRzM7ICRHMzogJEcyOyAkRzI6ICRHMTsgJEcxOiAkcG9zO1xuICAgICAkcG9zOiBudWxsO1xuICB9XG5cbiAgQGlmICRwb3Mge1xuICAgICRwb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKTtcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XG4gIH1cblxuICAkZnVsbDogJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMDtcblxuICAvLyBTZXQgJEcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRHMSwgMSk7XG5cbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRHMSwgICAgICAgICRHMixcbiAgICAgICAgICAgICAgICAgICAgICAgJEczOiBudWxsLCAkRzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHNTogbnVsbCwgJEc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzc6IG51bGwsICRHODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc5OiBudWxsLCAkRzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG5cbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkRzEsICRHMiwgJHBvcywgJHNoYXBlLXNpemUpO1xuICAkRzE6ICBudGgoJGRhdGEsIDEpO1xuICAkRzI6ICBudGgoJGRhdGEsIDIpO1xuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcblxuICAkZnVsbDogJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMDtcblxuICAvLyBTdHJpcCBkZXByZWNhdGVkIGNvdmVyL2NvbnRhaW4gZm9yIHNwZWNcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gIC8vIFNldCAkRzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xuXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXG4gICRzaGFwZS1zaXplOiBpZigkc2hhcGUtc2l6ZSwgJyN7JHNoYXBlLXNpemV9LCAnLCBudWxsKTtcbiAgJHBvczogICAgICAgIGlmKCRwb3MsICcjeyRwb3N9LCAnLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsICdhdCAjeyRwb3N9JywgbnVsbCk7XG4gICRzaGFwZS1zaXplLXNwZWM6IGlmKCgkc2hhcGUtc2l6ZS1zcGVjICE9ICcgJykgYW5kICgkcG9zID09IG51bGwpLCAnI3skc2hhcGUtc2l6ZS1zcGVjfSwgJywgJyN7JHNoYXBlLXNpemUtc3BlY30gJyk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQodW5xdW90ZSgjeyRwb3N9I3skc2hhcGUtc2l6ZX0jeyRmdWxsfSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwicmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gc2VsZWN0aW9uIHtcbiAgJGJlZm9yZS1jb2xvbnM6IFwiXCI7XG5cbiAgQGlmICYge1xuICAgICRiZWZvcmUtY29sb25zOiBcIiZcIlxuICB9XG5cbiAgI3skYmVmb3JlLWNvbG9uc306OnNlbGVjdGlvbiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgI3skYmVmb3JlLWNvbG9uc306Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBAY29udGVudDtcbiAgfVxufSIsIkBtaXhpbiB0ZXh0LWRlY29yYXRpb24oJHZhbHVlKSB7XG4vLyA8dGV4dC1kZWNvcmF0aW9uLWxpbmU+IHx8IDx0ZXh0LWRlY29yYXRpb24tc3R5bGU+IHx8IDx0ZXh0LWRlY29yYXRpb24tY29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbiwgJHZhbHVlLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWxpbmUoJGxpbmU6IG5vbmUpIHtcbi8vIG5vbmUgfHwgdW5kZXJsaW5lIHx8IG92ZXJsaW5lIHx8IGxpbmUtdGhyb3VnaFxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tbGluZSwgJGxpbmUsIG1veik7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tc3R5bGUoJHN0eWxlOiBzb2xpZCkge1xuLy8gc29saWQgfHwgZG91YmxlIHx8IGRvdHRlZCB8fCBkYXNoZWQgfHwgd2F2eVxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tc3R5bGUsICRzdHlsZSwgbW96IHdlYmtpdCk7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tY29sb3IoJGNvbG9yOiBjdXJyZW50Q29sb3IpIHtcbi8vIGN1cnJlbnRDb2xvciB8fCA8Y29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1jb2xvciwgJGNvbG9yLCBtb3opO1xufVxuIiwiQG1peGluIHRyYW5zZm9ybSgkcHJvcGVydHk6IG5vbmUpIHtcbi8vICBub25lIHwgPHRyYW5zZm9ybS1mdW5jdGlvbj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCAkcHJvcGVydHksIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJGF4ZXM6IDUwJSkge1xuLy8geC1heGlzIC0gbGVmdCB8IGNlbnRlciB8IHJpZ2h0ICB8IGxlbmd0aCB8ICVcbi8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4vLyB6LWF4aXMgLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1vcmlnaW4sICRheGVzLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUgKCRzdHlsZTogZmxhdCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuIiwiLy8gU2hvcnRoYW5kIG1peGluLiBTdXBwb3J0cyBtdWx0aXBsZSBwYXJlbnRoZXNlcy1kZWxpbWluYXRlZCB2YWx1ZXMgZm9yIGVhY2ggdmFyaWFibGUuXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSB0cmFuc2l0aW9uIChhbGwgMnMgZWFzZS1pbi1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAob3BhY2l0eSAxcyBlYXNlLWluIDJzLCB3aWR0aCAycyBlYXNlLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5ICh0cmFuc2Zvcm0sIG9wYWNpdHkpO1xuXG5AbWl4aW4gdHJhbnNpdGlvbiAoJHByb3BlcnRpZXMuLi4pIHtcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xuICAkd2Via2l0OiAoKTtcbiAgJG1vejogKCk7XG4gICRzcGVjOiAoKTtcblxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiBudGgoJGxpc3QsIDEpID09IFwidHJhbnNmb3JtXCIge1xuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MjogLW1vei10cmFuc2Zvcm07XG4gICAgICAkbGlzdDM6ICgpO1xuXG4gICAgICBAZWFjaCAkdmFyIGluICRsaXN0IHtcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XG5cbiAgICAgICAgQGlmICR2YXIgIT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0MSk7XG4gICAgICAgICAkbW96OiBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcbiAgICAgICAgJHNwZWM6IGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBsaXN0cyBmb3Igbm9uLXByZWZpeGVkIHRyYW5zaXRpb24gcHJvcGVydGllc1xuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQ6ICBhcHBlbmQoJHdlYmtpdCwgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRtb3o6ICAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRzcGVjOiAgICBhcHBlbmQoJHNwZWMsICAgJGxpc3QsIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJG5lZWRzLXByZWZpeGVzIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR3ZWJraXQ7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAkbW96O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHNwZWM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHByb3BlcnRpZXM6IGFsbCAwLjE1cyBlYXNlLW91dCAwcztcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSAoJHByb3BlcnRpZXMuLi4pIHtcbiAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgJ3dlYmtpdCcpO1xuICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCAnbW96Jyk7XG4gICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIGZhbHNlKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24gKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiAoJG1vdGlvbnMuLi4pIHtcbi8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigpXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkgKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gdXNlci1zZWxlY3QoJGFyZzogbm9uZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcih1c2VyLXNlbGVjdCwgJGFyZywgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsIi8vIFRoZSBjbGVhcmZpeCBtaXhpbiBwcm92aWRlcyBhbiBlYXN5IHdheSB0byBjb250YWluIGZsb2F0c1xuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6XG4vLyAud3JhcHBlciB7XG4vLyAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8gfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuXG4vLyBBY2tub3dsZWRnZW1lbnRzOlxuLy8gVGhpZXJyeSBLb2JsZW50eiwgY3NzbW9qb1xuLy8gaHR0cDovL2dvby5nbC9BUVd2eUhcbiIsIi8vIGRpcmVjdGlvbmFsLXByb3BlcnR5IG1peGlucyBhcmUgc2hvcnRoYW5kc1xuLy8gZm9yIHdyaXRpbmcgcHJvcGVydGllcyBsaWtlIHRoZSBmb2xsb3dpbmdcbi8vXG4vLyBAaW5jbHVkZSBtYXJnaW4obnVsbCAwIDEwcHgpO1xuLy8gLS0tLS0tXG4vLyBtYXJnaW4tcmlnaHQ6IDA7XG4vLyBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8gbWFyZ2luLWxlZnQ6IDA7XG4vL1xuLy8gLSBvciAtXG4vL1xuLy8gQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRvdHRlZCBudWxsKTtcbi8vIC0tLS0tLVxuLy8gYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xuLy8gYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuLy9cbi8vIC0tLS0tLVxuLy9cbi8vIE5vdGU6IFlvdSBjYW4gYWxzbyB1c2UgZmFsc2UgaW5zdGVhZCBvZiBudWxsXG5cbkBmdW5jdGlvbiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpIHtcbiAgJG91dHB1dDogbnVsbDtcblxuICAkQTogbnRoKCAkdmFscywgMSApO1xuICAkQjogaWYoIGxlbmd0aCgkdmFscykgPCAyLCAkQSwgbnRoKCR2YWxzLCAyKSk7XG4gICRDOiBpZiggbGVuZ3RoKCR2YWxzKSA8IDMsICRBLCBudGgoJHZhbHMsIDMpKTtcbiAgJEQ6IGlmKCBsZW5ndGgoJHZhbHMpIDwgMiwgJEEsIG50aCgkdmFscywgaWYoIGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSApKTtcblxuICBAaWYgJEEgPT0gMCB7ICRBOiAwIH1cbiAgQGlmICRCID09IDAgeyAkQjogMCB9XG4gIEBpZiAkQyA9PSAwIHsgJEM6IDAgfVxuICBAaWYgJEQgPT0gMCB7ICREOiAwIH1cblxuICBAaWYgJEEgPT0gJEIgYW5kICRBID09ICRDIGFuZCAkQSA9PSAkRCB7ICRvdXRwdXQ6ICRBICAgICAgICAgIH1cbiAgQGVsc2UgaWYgJEEgPT0gJEMgYW5kICRCID09ICREICAgICAgICAgeyAkb3V0cHV0OiAkQSAkQiAgICAgICB9XG4gIEBlbHNlIGlmICRCID09ICREICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJEEgJEIgJEMgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRBICRCICRDICREIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbkBmdW5jdGlvbiBjb250YWlucy1mYWxzeSgkbGlzdCkge1xuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIG5vdCAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIGRpcmVjdGlvbmFsLXByb3BlcnR5KCRwcmUsICRzdWYsICR2YWxzKSB7XG4gIC8vIFByb3BlcnR5IE5hbWVzXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcmUgKyBcIi1ib3R0b21cIiArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcmUgKyAgICAgICAgICAgICBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xuXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cbiAgICB9XG5cbiAgICAvLyBwcm9wOiB0b3AvYm90dG9tIHJpZ2h0L2xlZnRcbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG5cbiAgICAvLyBwcm9wOiB0b3AgcmlnaHQvbGVmdCBib3R0b21cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gMyB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuXG4gICAgLy8gcHJvcDogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDQge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCA0KSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgNCk7IH1cbiAgICB9XG5cbiAgLy8gcHJvcDogdG9wL3JpZ2h0L2JvdHRvbS9sZWZ0XG4gIH0gQGVsc2Uge1xuICAgICN7JGFsbH06ICR2YWxzO1xuICB9XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuXG5AbWl4aW4gcGFkZGluZygkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShwYWRkaW5nLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuXG5AbWl4aW4gYm9yZGVyLXN0eWxlKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgc3R5bGUsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIGNvbG9yLCAkdmFscy4uLik7XG59XG5cbkBtaXhpbiBib3JkZXItd2lkdGgoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCB3aWR0aCwgJHZhbHMuLi4pO1xufVxuIiwiQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCIkZ2VvcmdpYTogR2VvcmdpYSwgQ2FtYnJpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFRhaG9tYSwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBDb25zb2xhcywgQ291cmllciwgbW9ub3NwYWNlO1xuJHZlcmRhbmE6IFZlcmRhbmEsIEdlbmV2YSwgc2Fucy1zZXJpZjtcbiIsIkBtaXhpbiBoaWRlLXRleHQoJGhlaWdodDogMWVtKSB7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBHZW5lcmF0ZSBhIHZhcmlhYmxlICgkYWxsLXRleHQtaW5wdXRzKSB3aXRoIGEgbGlzdCBvZiBhbGwgaHRtbDVcbi8vIGlucHV0IHR5cGVzIHRoYXQgaGF2ZSBhIHRleHQtYmFzZWQgaW5wdXQsIGV4Y2x1ZGluZyB0ZXh0YXJlYS5cbi8vIGh0dHA6Ly9kaXZlaW50b2h0bWw1Lm9yZy9mb3Jtcy5odG1sXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kaW5wdXRzLWxpc3Q6ICdpbnB1dFt0eXBlPVwiZW1haWxcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInNlYXJjaFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxuXG4gICAgICAgICAgICAgIC8vIFdlYmtpdCAmIEdlY2tvIG1heSBjaGFuZ2UgdGhlIGRpc3BsYXkgb2YgdGhlc2UgaW4gdGhlIGZ1dHVyZVxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImNvbG9yXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0aW1lXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ3ZWVrXCJdJztcblxuLy8gQmFyZSBpbnB1dHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtdGV4dC1pbnB1dHM6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1saXN0KTtcblxuLy8gSG92ZXIgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCwgaG92ZXIpO1xuXG4vLyBGb2N1cyBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1saXN0LCBmb2N1cyk7XG5cblxuXG4vLyBZb3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHN9XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHMtZm9jdXN9XG5cbi8vIEV4YW1wbGVcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vICAgI3skYWxsLXRleHQtaW5wdXRzfSwgdGV4dGFyZWEge1xuLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcbi8vICAgfVxuXG5cblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gR2VuZXJhdGUgYSB2YXJpYWJsZSAoJGFsbC1idXR0b24taW5wdXRzKSB3aXRoIGEgbGlzdCBvZiBhbGwgaHRtbDVcbi8vIGlucHV0IHR5cGVzIHRoYXQgaGF2ZSBhIGJ1dHRvbi1iYXNlZCBpbnB1dCwgZXhjbHVkaW5nIGJ1dHRvbi5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRpbnB1dHMtYnV0dG9uLWxpc3Q6ICdpbnB1dFt0eXBlPVwiYnV0dG9uXCJdJyxcbiAgICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicmVzZXRcIl0nLFxuICAgICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzdWJtaXRcIl0nO1xuXG4vLyBCYXJlIGlucHV0c1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGFsbC1idXR0b24taW5wdXRzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtYnV0dG9uLWxpc3QpO1xuXG4vLyBIb3ZlciBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1ob3ZlcjogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0LCBob3Zlcik7XG5cbi8vIEZvY3VzIFBzZXVkby1jbGFzc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGFsbC1idXR0b24taW5wdXRzLWZvY3VzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtYnV0dG9uLWxpc3QsIGZvY3VzKTtcblxuLy8gQWN0aXZlIFBzZXVkby1jbGFzc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZTogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0LCBhY3RpdmUpO1xuXG5cblxuLy8gWW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOlxuLy8gI3skYWxsLWJ1dHRvbi1pbnB1dHN9XG4vLyAjeyRhbGwtYnV0dG9uLWlucHV0cy1ob3Zlcn1cbi8vICN7JGFsbC1idXR0b24taW5wdXRzLWZvY3VzfVxuLy8gI3skYWxsLWJ1dHRvbi1pbnB1dHMtYWN0aXZlfVxuXG4vLyBFeGFtcGxlXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyAgICN7JGFsbC1idXR0b24taW5wdXRzfSwgYnV0dG9uIHtcbi8vICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4vLyAgIH1cbiIsIkBtaXhpbiBwb3NpdGlvbiAoJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiBudWxsIG51bGwgbnVsbCBudWxsKSB7XG5cbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkdG9wOiBudGgoJGNvb3JkaW5hdGVzLCAxKTtcbiAgJHJpZ2h0OiBudGgoJGNvb3JkaW5hdGVzLCAyKTtcbiAgJGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyk7XG4gICRsZWZ0OiBudGgoJGNvb3JkaW5hdGVzLCA0KTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBpZiAoJHRvcCBhbmQgJHRvcCA9PSBhdXRvKSBvciAodHlwZS1vZigkdG9wKSA9PSBudW1iZXIpIHtcbiAgICB0b3A6ICR0b3A7XG4gIH1cblxuICBAaWYgKCRyaWdodCBhbmQgJHJpZ2h0ID09IGF1dG8pIG9yICh0eXBlLW9mKCRyaWdodCkgPT0gbnVtYmVyKSB7XG4gICAgcmlnaHQ6ICRyaWdodDtcbiAgfVxuXG4gIEBpZiAoJGJvdHRvbSBhbmQgJGJvdHRvbSA9PSBhdXRvKSBvciAodHlwZS1vZigkYm90dG9tKSA9PSBudW1iZXIpIHtcbiAgICBib3R0b206ICRib3R0b207XG4gIH1cblxuICBAaWYgKCRsZWZ0IGFuZCAkbGVmdCA9PSBhdXRvKSBvciAodHlwZS1vZigkbGVmdCkgPT0gbnVtYmVyKSB7XG4gICAgbGVmdDogJGxlZnQ7XG4gIH1cbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsICRyYWRpaSwgd2Via2l0IG1zIHNwZWMpO1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gVmFyaWFibGVzIGxvY2F0ZWQgaW4gL3NldHRpbmdzL19wcmVmaXhlci5zY3NzXG5cbkBtaXhpbiBwcmVmaXhlciAoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1veiB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IHNwZWMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXNwZWMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLCJAbWl4aW4gcmV0aW5hLWltYWdlKCRmaWxlbmFtZSwgJGJhY2tncm91bmQtc2l6ZSwgJGV4dGVuc2lvbjogcG5nLCAkcmV0aW5hLWZpbGVuYW1lOiBudWxsLCAkcmV0aW5hLXN1ZmZpeDogXzJ4LCAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cblxuICBAaW5jbHVkZSBoaWRwaSB7XG4gICAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRiYWNrZ3JvdW5kLXNpemU7XG5cbiAgfVxufVxuIiwiLy8gU2V0IGB3aWR0aGAgYW5kIGBoZWlnaHRgIGluIGEgc2luZ2xlIHN0YXRlbWVudFxuXG5AbWl4aW4gc2l6ZSgkdmFsdWUpIHtcbiAgJHdpZHRoOiBudGgoJHZhbHVlLCAxKTtcbiAgJGhlaWdodDogJHdpZHRoO1xuXG4gIEBpZiBsZW5ndGgoJHZhbHVlKSA+IDEge1xuICAgICRoZWlnaHQ6IG50aCgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGlmIGlzLXNpemUoJGhlaWdodCkge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyRoZWlnaHR9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJGhlaWdodGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cblxuICBAaWYgaXMtc2l6ZSgkd2lkdGgpIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cbn1cbiIsIi8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy4gVGltaW5nIGZ1bmN0aW9ucyBjb3VydGVzeSBvZiBqcXVlcnkuZWFzaWUgKGdpdGh1Yi5jb20vamF1a2lhL2Vhc2llKVxuLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtbydlZCBoZXJlOiBodHRwOi8vanF1ZXJ5dWkuY29tL3Jlc291cmNlcy9kZW1vcy9lZmZlY3QvZWFzaW5nLmh0bWxcblxuLy8gRUFTRSBJTlxuJGVhc2UtaW4tcXVhZDogICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA4NSwgMC42ODAsIDAuNTMwKTtcbiRlYXNlLWluLWN1YmljOiAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4kZWFzZS1pbi1xdWFydDogICAgIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuJGVhc2UtaW4tcXVpbnQ6ICAgICBjdWJpYy1iZXppZXIoMC43NTUsICAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiRlYXNlLWluLXNpbmU6ICAgICAgY3ViaWMtYmV6aWVyKDAuNDcwLCAgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZS1pbi1leHBvOiAgICAgIGN1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xuJGVhc2UtaW4tY2lyYzogICAgICBjdWJpYy1iZXppZXIoMC42MDAsICAwLjA0MCwgMC45ODAsIDAuMzM1KTtcbiRlYXNlLWluLWJhY2s6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSk7XG5cbi8vIEVBU0UgT1VUXG4kZWFzZS1vdXQtcXVhZDogICAgIGN1YmljLWJlemllcigwLjI1MCwgIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xuJGVhc2Utb3V0LWN1YmljOiAgICBjdWJpYy1iZXppZXIoMC4yMTUsICAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWFydDogICAgY3ViaWMtYmV6aWVyKDAuMTY1LCAgMC44NDAsIDAuNDQwLCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVpbnQ6ICAgIGN1YmljLWJlemllcigwLjIzMCwgIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xuJGVhc2Utb3V0LXNpbmU6ICAgICBjdWJpYy1iZXppZXIoMC4zOTAsICAwLjU3NSwgMC41NjUsIDEuMDAwKTtcbiRlYXNlLW91dC1leHBvOiAgICAgY3ViaWMtYmV6aWVyKDAuMTkwLCAgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtY2lyYzogICAgIGN1YmljLWJlemllcigwLjA3NSwgIDAuODIwLCAwLjE2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWJhY2s6ICAgICBjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcblxuLy8gRUFTRSBJTiBPVVRcbiRlYXNlLWluLW91dC1xdWFkOiAgY3ViaWMtYmV6aWVyKDAuNDU1LCAgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XG4kZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllcigwLjY0NSwgIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NzAsICAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKDAuODYwLCAgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtc2luZTogIGN1YmljLWJlemllcigwLjQ0NSwgIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuJGVhc2UtaW4tb3V0LWV4cG86ICBjdWJpYy1iZXppZXIoMS4wMDAsICAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1jaXJjOiAgY3ViaWMtYmV6aWVyKDAuNzg1LCAgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XG4kZWFzZS1pbi1vdXQtYmFjazogIGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xuIiwiQG1peGluIHRyaWFuZ2xlICgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xuICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xuXG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpID09IDIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuXG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcblxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gIH1cbn1cbiIsIkBtaXhpbiB3b3JkLXdyYXAoJHdyYXA6IGJyZWFrLXdvcmQpIHtcbiAgd29yZC13cmFwOiAkd3JhcDtcblxuICBAaWYgJHdyYXAgPT0gYnJlYWstd29yZCB7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIH1cbn1cbiIsIi8vIFRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBNQUpPUiB2ZXJzaW9uIHJlbGVhc2VcblxuQG1peGluIGlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBAd2FybiBcIlRoZSBpbmxpbmUtYmxvY2sgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgQHdhcm4gXCJUaGUgYnV0dG9uIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gU2VsZWN0b3IgU3R5bGUgQnV0dG9uXG5AbWl4aW4gYnV0dG9uc3R5bGUoJHR5cGUsICRiLWNvbG9yLCAkdC1zaXplLCAkcGFkKSB7XG4gIC8vIEdyYXlzY2FsZSBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBzaGlueSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IGZsYXQgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgLy8gQ29sb3JlZCBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBzaGlueSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHBpbGwge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxufVxuXG4vLyBTaW1wbGUgQnV0dG9uXG5AbWl4aW4gc2ltcGxlKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xNCUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTglLCAgJGxpZ2h0bmVzczogIDE1JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTElKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICAxNSUsICRsaWdodG5lc3M6IC0xOCUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTclLCAkbGlnaHRuZXNzOiAgNSUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOCUsICRsaWdodG5lc3M6IC0xNCUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA5JSwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDclLCAkbGlnaHRuZXNzOiAtMTclKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZSwgaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gU2hpbnkgQnV0dG9uXG5AbWl4aW4gc2hpbnkoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTE3LCAkZ3JlZW46IC0xMTEsICRibHVlOiAtODEpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTI2LCAkZ3JlZW46IC0xMjcsICRibHVlOiAtMTIyKTtcbiAgJGZvdXJ0aC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTc5LCAgJGdyZWVuOiAtNzAsICAkYmx1ZTogLTQ2KTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogIDM3LCAgJGdyZWVuOiAgMjksICAkYmx1ZTogIDEyKTtcbiAgJHNlY29uZC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTU2LCAgJGdyZWVuOiAtNTAsICAkYmx1ZTogLTMzKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTE0MCwgJGdyZWVuOiAtMTQxLCAkYmx1ZTogLTExNCk7XG4gICR0aGlyZC1zdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgICRncmVlbjogLTc1LCAgJGJsdWU6IC00OCk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkZm91cnRoLXN0b3A6ICAgZ3JheXNjYWxlKCRmb3VydGgtc3RvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc2Vjb25kLXN0b3A6ICAgZ3JheXNjYWxlKCRzZWNvbmQtc3RvcCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICAgICR0aGlyZC1zdG9wOiAgICBncmF5c2NhbGUoJHRoaXJkLXN0b3ApO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGJhc2UtY29sb3IgMCUsICRzZWNvbmQtc3RvcCA1MCUsICR0aGlyZC1zdG9wIDUwJSwgJGZvdXJ0aC1zdG9wIDEwMCUpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEzLCAkZ3JlZW46IC0xNSwgJGJsdWU6IC0xOCk7XG4gICAgJHNlY29uZC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC02NiwgJGdyZWVuOiAtNjIsICRibHVlOiAtNTEpO1xuICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtOTMsICRncmVlbjogLTg1LCAkYmx1ZTogLTY2KTtcbiAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAkZ3JlZW46IC04MCwgJGJsdWU6IC02Myk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCRmaXJzdC1zdG9wLWhvdmVyKTtcbiAgICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRzZWNvbmQtc3RvcC1ob3Zlcik7XG4gICAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkdGhpcmQtc3RvcC1ob3Zlcik7XG4gICAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkZm91cnRoLXN0b3AtaG92ZXIpO1xuICAgIH1cblxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkZmlyc3Qtc3RvcC1ob3ZlciAgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlY29uZC1zdG9wLWhvdmVyIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcmQtc3RvcC1ob3ZlciAgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3VydGgtc3RvcC1ob3ZlciAxMDAlKTtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTExLCAkZ3JlZW46IC0xMTYsICRibHVlOiAtMTIyKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDIwcHggMCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBQaWxsIEJ1dHRvblxuQG1peGluIHBpbGwoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC0xMSUsICRsaWdodG5lc3M6IC0yNiUpO1xuICAkYm9yZGVyLXNpZGVzOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yMSUsICRsaWdodG5lc3M6IC0yMSUpO1xuICAkYm9yZGVyLXRvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0zMCUsICRsaWdodG5lc3M6IC0xNSUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xJSwgICRsaWdodG5lc3M6ICA3JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDE0JSwgJGxpZ2h0bmVzczogLTEwJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTE5JSwgJGxpZ2h0bmVzczogLTE1JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGJvcmRlci1zaWRlczogIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAkYm9yZGVyLXRvcDogICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xuICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzczogLTQuNSUpO1xuICAgICRib3JkZXItYm90dG9tOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDEzLjUlLCAkbGlnaHRuZXNzOiAtMzIlKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yJSwgICAgJGxpZ2h0bmVzczogLTI3JSk7XG4gICAgJGJvcmRlci10b3A6ICAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMTclLCAgICRsaWdodG5lc3M6IC0yMSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAkc2F0dXJhdGlvbjogLTElLCAgICAkbGlnaHRuZXNzOiAgMyUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTQlLCAgICAkbGlnaHRuZXNzOiAtMTUuNSUpO1xuICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTUlLCAgICAkbGlnaHRuZXNzOiAtMjIlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAgICRib3JkZXItc2lkZXM6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgICAkYm9yZGVyLXRvcDogICAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWhvdmVyKTtcbiAgICB9XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNCwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDYsICAkc2F0dXJhdGlvbjogLTIuNSUsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogOSwgICRzYXR1cmF0aW9uOiAgMiUsICAgJGxpZ2h0bmVzczogLTIxLjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNSwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTIxLjUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBncmF5c2NhbGUoJGFjdGl2ZS1jb2xvcik7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbS1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b20tYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gRmxhdCBCdXR0b25cbkBtaXhpbiBmbGF0KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA0JSwgJGxpZ2h0bmVzczogNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItYWN0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBGbGV4aWJsZSBncmlkXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWdyaWQgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG4vLyBGbGV4aWJsZSBndXR0ZXJcbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWd1dHRlciBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xuXG4gIEB3YXJuIFwiVGhlIGdyaWQtd2lkdGggZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ29sZGVuLXJhdGlvKCR2YWx1ZSwgJGluY3JlbWVudCkge1xuICBAcmV0dXJuIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlLCAkcmF0aW86ICRnb2xkZW4pO1xuXG4gIEB3YXJuIFwiVGhlIGdvbGRlbi1yYXRpbyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBQbGVhc2UgdXNlIHRoZSBtb2R1bGFyLXNjYWxlIGZ1bmN0aW9uLCBpbnN0ZWFkLlwiO1xufVxuIiwiQGltcG9ydCBcImZvbnRzXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvbnQgcmVsYXRlZCBmdW5jdGlvbnNcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHNvbWUgZnVuY3Rpb25zIGZvciByZWFkYWJpbGl0eVxuICogUmV0dXJuIGZvbnQtd2VpZ2h0IGJhc2VkIG9uIG5hbWVcbiAqL1xuXG5AZnVuY3Rpb24gbGlnaHQoKSB7XG4gIEByZXR1cm4gMzAwOyB9XG5cbkBmdW5jdGlvbiByZWd1bGFyKCkge1xuICBAcmV0dXJuIDQwMDsgfVxuXG5AZnVuY3Rpb24gc2VtaWJvbGQoKSB7XG4gIEByZXR1cm4gNjAwOyB9XG5cbkBmdW5jdGlvbiBib2xkKCkge1xuICBAcmV0dXJuIDcwMDsgfVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRnVuY3Rpb25zIHVzZWQgaW4gZ3JpZCBjYWxjdWxhdGlvblxuICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgKiBUaGlzIGlzIHdoZXJlIHRoZSBtYWdpYyBoYXBwZW5zXG4gICogUmV0dXJuIHBlcmNlbnRhZ2UgYmFzZWQgb24gYW1vdW50IG9mIGNvbHVtbnNcbiAgKiBVc2UgcGFyZW50IGNvbHVtbiBzaXplIHRvIGFkanVzdCB0aGUgb3JpZ2luXG4gICovXG5AZnVuY3Rpb24gY2FsY3VsYXRlQ29sdW1uU2l6ZSgkY29sdW1uQ291bnQgOiAxLCAkb3JpZ2luIDogJGdyaWRDb2x1bW5zKSB7XG4gIC8vIENhbGN1bGF0ZSB0aGUgd2lkdGggZm9yIGEgc2luZ2xlIGNvbHVtbiBvbiBhIGZ1bGwgZ3JpZFxuICAkc2luZ2xlQ29sdW1uU2l6ZSA6IDEwMCAvICRncmlkQ29sdW1ucztcblxuICAvLyBHZXQgdGhlIG9yaWdpbiBzaXplIGluIHBlcmNlbnRhZ2UgZnJvbSB0aGUgZnVsbCBncmlkXG4gICRvcmlnaW5QZXJjZW50YWdlIDogJG9yaWdpbiAvICRncmlkQ29sdW1ucyAqIDEwMDtcblxuICAvLyBDYWxjdWxhdGUgc2luZ2xlIGNvbHVtbiBmcm9tIG5ldyBvcmlnaW5cbiAgJG5ld1NpbmdsZUNvbHVtblNpemUgOiAkc2luZ2xlQ29sdW1uU2l6ZSAvICRvcmlnaW5QZXJjZW50YWdlICogMTAwO1xuXG4gIC8vIFJldHVybiBhbW91bnQgb2YgY29sdW1ucyBhcyBwZXJjZW50YWdlXG4gIEByZXR1cm4gKCRuZXdTaW5nbGVDb2x1bW5TaXplICogJGNvbHVtbkNvdW50KTsgfVxuXG4vKipcbiAgKiBEZWZhdWx0IGZ1bmN0aW9uIGZvciBjb2x1bW5zXG4gICogUmV0dXJuIGFzIHBlcmNlbnRhZ2VcbiAgKi9cbkBmdW5jdGlvbiBjb2x1bW4oJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRncmlkQ29sdW1ucykge1xuICBAcmV0dXJuIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50LCRvcmlnaW4pICogMSU7IH1cblxuLyoqXG4gICogUmV0dXJuIGFzIHZpZXdwb3J0IHdpZHRoXG4gICovXG5AZnVuY3Rpb24gY29sdW1uVncoJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRncmlkQ29sdW1ucykge1xuICBAcmV0dXJuIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50LCRvcmlnaW4pICogMXZ3OyB9XG4iLCJAaW1wb3J0IFwic3ByaXRlXCI7XG5AaW1wb3J0IFwibWVkaWFRdWVyaWVzXCI7XG5AaW1wb3J0IFwiZmxleFwiO1xuQGltcG9ydCBcInBsYWNlaG9sZGVyXCI7XG4iLCIkc3ByaXRlV2lkdGg6IDEwMHB4O1xuJHNwcml0ZUhlaWdodDogODVweDtcblxuXG5AbWl4aW4gc3ByaXRlKCRwb3NpdGlvbiwgJHdpZHRoOiBhdXRvLCAkaGVpZ2h0OiBhdXRvKSB7XG5cbiAgJHBvc2l0aW9uWDogbnRoKCRwb3NpdGlvbiwgMSkgKiAtMTtcbiAgJHBvc2l0aW9uWTogbnRoKCRwb3NpdGlvbiwgMikgKiAtMTtcblxuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2tvbW1hX3Nwcml0ZS5zdmdcIikgJHBvc2l0aW9uWCAkcG9zaXRpb25ZIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAkc3ByaXRlV2lkdGggJHNwcml0ZUhlaWdodDtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0OyB9XG5cbkBtaXhpbiBzb2NpYWxNZWRpYVNwcml0ZSgkcG9zaXRpb24sICR3aWR0aDogYXV0bywgJGhlaWdodDogYXV0bykge1xuXG4gICRwb3NpdGlvblg6IG50aCgkcG9zaXRpb24sIDEpICogLTE7XG4gICRwb3NpdGlvblk6IG50aCgkcG9zaXRpb24sIDIpICogLTE7XG5cbiAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9zb2NpYWwtbWVkaWEtc3ByaXRlLnN2Z1wiKSAkcG9zaXRpb25YICRwb3NpdGlvblkgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE3NXB4IDUwcHg7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDsgfVxuXG5AbWl4aW4gZmFjZWJvb2tTcHJpdGUoJHdoaXRlOiBmYWxzZSkge1xuICBAaWYgJHdoaXRlID09IGZhbHNlIHtcbiAgICBAaW5jbHVkZSBzb2NpYWxNZWRpYVNwcml0ZSg1MHB4IDAsIDI0cHgsIDI0cHgpOyB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBzb2NpYWxNZWRpYVNwcml0ZSg1MHB4IDI1cHgsIDI0cHgsIDI0cHgpOyB9IH1cblxuQG1peGluIGxpbmtlZGluU3ByaXRlKCR3aGl0ZTogZmFsc2UpIHtcbiAgQGlmICR3aGl0ZSA9PSBmYWxzZSB7XG4gICAgQGluY2x1ZGUgc29jaWFsTWVkaWFTcHJpdGUoMjVweCAwLCAyNHB4LCAyNHB4KTsgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgc29jaWFsTWVkaWFTcHJpdGUoMjVweCAyNXB4LCAyNHB4LCAyNHB4KTsgfSB9XG5cbkBtaXhpbiB0d2l0dGVyU3ByaXRlKCR3aGl0ZTogZmFsc2UpIHtcbiAgQGlmICR3aGl0ZSA9PSBmYWxzZSB7XG4gICAgQGluY2x1ZGUgc29jaWFsTWVkaWFTcHJpdGUoMCAycHgsIDI0cHgsIDIxcHgpOyB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBzb2NpYWxNZWRpYVNwcml0ZSgwIDI3cHgsIDI0cHgsIDIxcHgpOyB9IH1cblxuQG1peGluIGluc3RhZ3JhbVNwcml0ZSgkd2hpdGU6IGZhbHNlKSB7XG4gIEBpZiAkd2hpdGUgPT0gZmFsc2Uge1xuICAgIEBpbmNsdWRlIHNvY2lhbE1lZGlhU3ByaXRlKDc1cHggMCwgMjRweCwgMjRweCk7IH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIHNvY2lhbE1lZGlhU3ByaXRlKDc1cHggMjVweCwgMjRweCwgMjRweCk7IH0gfVxuIiwiQG1peGluIHJlc3BvbmQtdG8td2lkdGgoJHdpZHRoKSB7XG4gICR3aWR0aCA6ICR3aWR0aCArICdweCc7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR3aWR0aCkge1xuICAgIEBjb250ZW50OyB9IH1cblxuQG1peGluIHJlc3BvbmQtdG8td2lkdGgtYmV5b25kKCR3aWR0aCkge1xuICAkd2lkdGggOiAoJHdpZHRoICsgMSkgICsgJ3B4JztcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoKSB7XG4gICAgQGNvbnRlbnQ7IH0gfVxuXG5AbWl4aW4gcmVzcG9uZC10by1oZWlnaHQoJGhlaWdodCkge1xuICAkaGVpZ2h0IDogJGhlaWdodCArICdweCc7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAkaGVpZ2h0KSB7XG4gICAgQGNvbnRlbnQ7IH0gfVxuXG5AbWl4aW4gcmVzcG9uZC10by13aWR0aC1vci1oZWlnaHQoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gICR3aWR0aCA6ICR3aWR0aCArICdweCc7XG4gICRoZWlnaHQgOiAkaGVpZ2h0ICsgJ3B4JztcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHdpZHRoKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogJGhlaWdodCkge1xuICAgIEBjb250ZW50OyB9IH1cbiIsIkBtaXhpbiBmbGV4KCRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuLCAkYWxpZ25JdGVtOiBpbml0aWFsKSB7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICAgICAgLyogVFdFRU5FUiAtIElFIDEwICovO1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXggICAgIC8qIE5FVyAtIENocm9tZSAqLztcbiAgZGlzcGxheTogZmxleDtcblxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICRqdXN0aWZ5LCB3ZWJraXQgbW96IG1zKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24taXRlbXMsICRhbGlnbkl0ZW0sIHdlYmtpdCBtb3ogbXMpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xuICBhbGlnbi1pdGVtczogJGFsaWduSXRlbTsgfVxuXG5cbkBtaXhpbiBmbGV4LXJvd3Mge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsIHdyYXAsIHdlYmtpdCBtcyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCByb3csIHdlYmtpdCBtcyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZmxvdywgcm93IHdyYXAsIHdlYmtpdCk7IH1cblxuQG1peGluIG9yZGVyKCRwbGFjZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJHBsYWNlLCB3ZWJraXQgbXMpO1xuICBvcmRlcjogJHBsYWNlOyB9XG5cbkBtaXhpbiBhbGlnbi1jb250ZW50KCRhbGlnbikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1jb250ZW50LCAkYWxpZ24sIHdlYmtpdCk7XG4gIGFsaWduLWNvbnRlbnQ6ICRhbGlnbjsgfVxuXG5AbWl4aW4gYWxpZ24tc2VsZigkYWxpZ24pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJGFsaWduLCB3ZWJraXQpO1xuICBhbGlnbi1zZWxmOiAkYWxpZ247IH1cbiIsIkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqLyB7XG4gICAgQGNvbnRlbnQ7IH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAvKiBGaXJlZm94IDE5KyAqLyB7XG4gICAgQGNvbnRlbnQ7IH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgLyogSUUgMTArICovIHtcbiAgICBAY29udGVudDsgfVxuICAmOi1tb3otcGxhY2Vob2xkZXIgLyogRmlyZWZveCAxOC0gKi8ge1xuICAgIEBjb250ZW50OyB9IH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNpYyBzdHlsZSBzZXR0aW5nc1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLypcbiAqIFNldCB1cCB0aGUgYm9keVxuICpcbiAqIDEuIFRoaXMgaXMgdGhlIGJhc2UgZm9yIGFsIHJlbSB1bml0c1xuICovXG5odG1sIHtcbiAgZm9udC1zaXplOiAyMHB4IC8qIDEgKi87XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLyoqXG4gKiAxLkRlZmF1bHQgZGlzcGxheSBmb3IgaW1hZ2VzIGlzIGJsb2NrIHRvIGxvc2UgdGhlIGV4dHJhIG1hcmdpbiBiZWxvdyB0aGUgaW1hZ2VcbiAqIDIuIFJlbW92ZSBib3JkZXIgLyBlc3BlY2lhbGx5IG9uIG9sZGVyIGJyb3dzZXJzXG4gKi9cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrIC8qIDEgKi87XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4vKipcbiAgKiBBZGQgdHJhbnNsYXRpb24gdG8gcHJldmVudCByZWNvbG9yaW5nIGZyb20gYXV0b2NvbXBsZXRlXG4gICovXG5pbnB1dCwgdGV4dGFyZWEge1xuICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDk5OTlzIGxpbmVhciA5OTk5czsgfSB9XG5cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gYXJvdW5kIGZpZ3VyZVxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cbiIsIkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidmlzaWJsZUdyaWRcIjtcbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgR3JpZFxuICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgKiBHcmlkIHJvd1xuICAqXG4gICogMS4gVGhlIG91dGVyIHR3byBjb2x1bW5zIGFyZSBqdXN0IG1hcmdpblxuICAqIDIuIFByZXZlbnQgaW5saW5lLWJsb2NrIGNlbGxzIHdyYXBwaW5nXG4gICogMy4gUHJldmVudCB2ZXJ0aWNhbCBzcGFjaW5nIGJldHdlZW4gaW5saW5lLWJsb2Nrc1xuICAqL1xuXG4uZ3JpZC1yb3cge1xuICB3aWR0aDogY29sdW1uKDEyKSAvKiAxICovO1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGZvbnQtc2l6ZTogMCAvKiAyICovO1xuICBsaW5lLWhlaWdodDogMCAvKiAzICovO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVsbCByb3cgZG9lc24ndCBoYXZlIHRoZSB0d28gb3V0ZXIgbWFyZ2luIHJvd3NcbiAgICogVGhleSBzdHJldGNoIHRpbGwgYm90aCBlbmRzIG9mIHRoZSB3aW5kb3dcbiAgICovXG5cbiAgJi5mdWxsLXJvdyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9IH1cblxuLyoqXG4gKiBHcmlkIGNvbHVtblxuICpcbiAqIDEuIFJlc2V0IHdoaXRlLXNwYWNlIGluaGVyaXRlZCBmcm9tIGAuZ3JpZGBcbiAqIDIuIFJlc2V0IGZvbnQtc2l6ZSBpbmhlcml0ZWQgZnJvbSBgLmdyaWRgXG4gKiAzLiBSZXNldCBsaW5lLWhlaWdodCBpbmhlcml0ZWQgZnJvbSBgLmdyaWRgXG4gKi9cblxuLmdyaWQtY29sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAvKiAxICovO1xuICBmb250LXNpemU6IDFyZW0gLyogMiAqLztcbiAgbGluZS1oZWlnaHQ6IDEuNiAvKiAzICovO1xuXG4gIC8qKlxuICAgKiBDZW50ZXIgY29sdW1uXG4gICAqXG4gICAqIDEuICdpbmxpbmUtYmxvY2snIGRvZXNuJ3QgY2VudGVyIHdpdGggbWFyZ2luICcwIGF1dG8nXG4gICAqL1xuXG4gICYuY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jayAvKiAxICovO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuXG5cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZENvbHVtbnMge1xuXG4gIC8qIENvbHVtbiBkaW1lbnNpb25zXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qXG4gICAqIENhbGN1bGF0ZSB3aWR0aCBieSBkaXZpZGluZyBhIGZ1bGwgd2lkdGggaW50byAxMiBjb2x1bW5zXG4gICAqIENyZWF0ZSBhIGNsYXNzIGZvciBlYWNoIGNvbHVtblxuICAgKi9cblxuICAuY29sLSN7JGl9LCAuY29sLWxnLSN7JGl9IHtcbiAgICB3aWR0aDogY29sdW1uKCRpLDEyKTtcblxuXG4gICAgLmZ1bGwtcm93ICYge1xuICAgICAgd2lkdGg6IGNvbHVtbigkaSk7IH0gfVxuXG5cbiAgLyogQ29sdW1uIHNoaWZ0c1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAub2Zmc2V0LSN7JGl9LCAub2Zmc2V0LWxnLSN7JGl9IHtcbiAgICBtYXJnaW4tbGVmdDogY29sdW1uKCRpLDEyKTsgfSB9XG5cblxuXG4vKiBNZWRpYSBxdWVyaWVzXG4gQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuIC8qXG4gICogQ3JlYXRlIGEgc2VwYXJhdGUgbG9vcCBiZWNhdXNlIG9mIG9yZGVyIGZvciBjc3MgcmVuZGVyaW5nXG4gICogYmVjYXVzZSBlbHNlIGl0IHdvdWxkIG92ZXJydWxlIGEgcHJldmlvdXMgbWVkaWEgcXVlcnlcbiAgKi9cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZENvbHVtbnMge1xuXG4gIC8vIE1lZGlhIHF1ZXJ5IGZvciBsYXJnZSBkZXNrdG9wXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgtYmV5b25kKCR4bEdyaWRCcmVha3BvaW50KSB7XG4gICAgLmNvbC14bC0jeyRpfSB7XG4gICAgICB3aWR0aDogY29sdW1uKCRpLDEyKTsgfVxuXG4gICAgLm9mZnNldC14bC0jeyRpfSB7XG4gICAgICBtYXJnaW4tbGVmdDogY29sdW1uKCRpLDEyKTsgfSB9XG5cbiAgLy8gTWVkaWEgcXVlcnkgZm9yIG5vcm1hbCBkZXNrdG9wXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoJG1kR3JpZEJyZWFrcG9pbnQpIHtcbiAgICAuY29sLW1kLSN7JGl9IHtcbiAgICAgIHdpZHRoOiBjb2x1bW4oJGksMTIpOyB9XG5cbiAgICAub2Zmc2V0LW1kLSN7JGl9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjb2x1bW4oJGksMTIpOyB9IH1cblxuICAvLyBNZWRpYSBxdWVyeSBmb3IgdGFibGV0c1xuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKCRzbUdyaWRCcmVha3BvaW50KSB7XG4gICAgLmNvbC1zbS0jeyRpfSB7XG4gICAgICB3aWR0aDogY29sdW1uKCRpLDEyKTsgfVxuXG4gICAgLm9mZnNldC1zbS0jeyRpfSB7XG4gICAgICBtYXJnaW4tbGVmdDogY29sdW1uKCRpLDEyKTsgfSB9XG5cbiAgLy8gTWVkaWEgcXVlcnkgZm9yIG1vYmlsZVxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKCR4c0dyaWRCcmVha3BvaW50KSB7XG4gICAgLmNvbC14cy0jeyRpfSB7XG4gICAgICB3aWR0aDogY29sdW1uKCRpLDEyKTsgfVxuXG4gICAgLm9mZnNldC14cy0jeyRpfSB7XG4gICAgICBtYXJnaW4tbGVmdDogY29sdW1uKCRpLDEyKTsgfSB9IH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUaGlzIGdyaWQgY2FuIGJlIHR1cm5lZCBvbiBhbmQgb2ZmIHdoZW4geW91IHdhbnQgdG8gY2hlY2tcbiAgIGlmIGV2ZXJ5dGhpbmcgaXMgbmljZSBpbiBwbGFjZS5cbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi52aXNpYmxlLWdyaWQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLyoqXG4gKiAxLiBNYWtlcyBpdCBhYmxlIHRvIGNvbnRyb2wgdGhlIHdlYnNpdGUgd2hpbGUgZ3JpZCBpcyBzaG93blxuICovXG4udmlzaWJsZS1ncmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lIC8qIDIgKi87XG5cbiAgLmdyaWQtY29sIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjU1LDI1NSwuNik7XG4gICAgaGVpZ2h0OiAxMDB2aDtcblxuICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjU1LDI1NSwuMyk7IH0gfVxuXG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMik7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwyNTUsMCwuNSk7IH1cblxuICAmOmJlZm9yZSB7XG4gICAgbGVmdDogY2FsYygtMTAwJSAvIDEyKTsgfVxuXG4gICY6YWZ0ZXIge1xuICAgIHJpZ2h0OiBjYWxjKC0xMDAlIC8gMTIpOyB9XG5cbiAgLy8mOm50aC1jaGlsZCgxKSwmOm50aC1jaGlsZCgxNClcbiB9ICAvLy8vICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjU1LDAsLjUpXG4iLCIuYnJlYWtwb2ludCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgei1pbmRleDogMTAwMDA7XG4gIGJhY2tncm91bmQ6ICMwQUJFRkY7XG5cbiAgLy8gTGFyZ2VyIHRoZW4geGxCcmVha3BvaW50XG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgtYmV5b25kKCR4bEdyaWRCcmVha3BvaW50KSB7XG4gICAgYmFja2dyb3VuZDogcmVkOyB9XG5cbiAgLy8gTG9vcCB0aHJvdWdoIG90aGVyIGJyZWFrcG9pbnRzXG4gICRicmVha3BvaW50cyA6ICAoYmx1ZSAkbGdHcmlkQnJlYWtwb2ludCkgKGdyZWVuICRtZEdyaWRCcmVha3BvaW50KSAoeWVsbG93ICRzbUdyaWRCcmVha3BvaW50KSAocGluayAkeHNHcmlkQnJlYWtwb2ludCk7XG5cbiAgQGVhY2ggJGxpc3QgaW4gJGJyZWFrcG9pbnRzIHtcblxuICAgICRjb2xvciA6IG50aCgkbGlzdCwxKTtcbiAgICAkYnJlYWtwb2ludCA6IG50aCgkbGlzdCwyKTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoJGJyZWFrcG9pbnQpIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjsgfSB9IH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFeHBlbmQgQ29uZmlnIHNldHRpbmdzXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBDb2xvcnNcbiRibGFja2VyIDogIzJkMzIzNztcbiRibGFjayA6ICMzNzNjNDE7XG4kYmx1ZSA6ICMwMDY0RDI7XG4kcGFzdGVsQmx1ZSA6ICMwMDc4RkY7XG4kYnJpZ2h0Qmx1ZSA6ICMzMkEwRkE7XG4kb3JhbmdlOiAjZmY5NjAwO1xuXG4kbGlnaHRCbHVlIDogI2MzY2ZlNjtcbiRkYXJrR3JleSA6ICM2NDY0NjQ7XG4kZ3JleSA6ICM3MzgzOEE7XG4kc2VtaUxpZ2h0R3JleSA6ICNDNEM2Qzg7XG4kbGlnaHRHcmV5IDogI0I3QjVCRDtcbiRyZWQgOiAjRkY0MjQyO1xuJHdhcm5pbmcgOiAjZmZiNjAwO1xuXG4kbGltZUdyZWVuOiAjQzNEQzMyO1xuJG9mZnNldFdoaXRlOiAjRjFGN0Y3O1xuJG9mZnNldFdoaXRlMjogI0Y0RjVGNztcbiRvZmZzZXRXaGl0ZTM6ICNFMkU2RTY7XG5cblxuJGJvcmRlckNvbG9yOiAjZWFlYWVhO1xuXG4kYmxhY2tHcmFkaWVudDogcmdiYSgwLDAsMCwwLjIpIDAlLCByZ2JhKDAsMCwwLDApIDEwMCU7XG5cbiRmb250RmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFeHBlbmQgQmFzaWMgc3R5bGUgc2V0dGluZ3NcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTZXQgdXAgdGhlIGh0bWxcbiAqXG4gKiAxLiBNYWtlcyBzdWUgdGhhdCBzb21lIGZvbnRzIGFyZSBiZXR0ZXIgcmVuZGVyZWRcbiAqL1xuXG5odG1sIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQgLyogMiAqLztcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5cbi8qXG4gKiBTZXQgdXAgdGhlIGJvZHlcbiAqXG4gKiAxLiBTZXQgZm9udCB0byBsaW5pbmcgZmlndXJlc1xuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1mYW1pbHk6ICRmb250RmFtaWx5O1xuICBsaW5lLWhlaWdodDogMS42O1xuXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xudW0nIC8qIDEgKi87IH1cblxuLypcbiAqIFNldCBkZWZhdWx0IHNldHRpbmdzIGZvciBhbGwgZWxlbWVudHNcbiAqXG4gKiAxLiBEZWZhdWx0IHNlbGVjdGlvbiBzdHlsaW5nXG4gKlxuICovXG4qIHtcbiAgOjpzZWxlY3Rpb24gLyogMiAqLyB7XG4gICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgY29sb3I6IHdoaXRlOyB9IH1cblxuLyoqXG4gKiAxLkRlZmF1bHQgZGlzcGxheSBmb3IgaW1hZ2VzIGlzIGJsb2NrIHRvIGxvc2UgdGhlIGV4dHJhIG1hcmdpbiBiZWxvdyB0aGUgaW1hZ2VcbiAqL1xuaW1nIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuXG4gICYucHJlbG9hZCB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi8qXG4gKiBTZXQgZGVmYXVsdCBzdHlsaW5nIGZvciBpbnB1dCBhbmQgdGV4dGFyZWFcbiAqXG4gKiAxLiBTZXQgZm9udCBiZWNhdXNlIGVsc2UgdGhlIGFnZW50IHdpbGwgb3ZlcnJ1bGUgdGhlbSB3aXRoIGFuIHVnbHkgZm9udFxuICovXG5pbnB1dCwgdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogJGZvbnRGYW1pbHkgLyogMSAqLzsgfVxuXG4vKlxuICogU2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgYSBidXR0b25cbiAqXG4gKi9cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpbWVHcmVlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtd2VpZ2h0OiBzZW1pYm9sZCgpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogd2hpdGU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC40cztcblxuICAmLnNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogNHB4IDRweCAxMHB4IDAgcmdiYSgwLDAsMCwwLjEpOyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogMTZweDtcbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiB3aGl0ZTsgfSB9IH1cblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiA0cHggNHB4IDEwcHggMCByZ2JhKDAsMCwwLDApO1xuICAgIC5hcnJvdyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7IH0gfVxuXG4gICYucmlnaHQge1xuICAgIC5hcnJvdyB7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAuYXJyb3cge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7IH0gfSB9IH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwZXIgY2xhc3Nlc1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBVc2Ugb24gZWxlbWVudHMgZnJvbSB3aGVyZSB0aGUgY2hpbGRyZW4gc2hvdWxkIG5vdCB3cmFwXG4gKi9cbi5ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qKlxuICogSGlkZSBlbGVtZW50cyBvbiBkaWZmZXJlbnQgc2NyZWVuIHNpemVzXG4gKi9cbiRicmVha3BvaW50cyA6ICAoJ3hsJyAkeGxHcmlkQnJlYWtwb2ludCkgKCdsZycgJGxnR3JpZEJyZWFrcG9pbnQpICgnbWQnICRtZEdyaWRCcmVha3BvaW50KSAoJ3NtJyAkc21HcmlkQnJlYWtwb2ludCkgKCd4cycgJHhzR3JpZEJyZWFrcG9pbnQpO1xuXG5AZWFjaCAkbGlzdCBpbiAkYnJlYWtwb2ludHMge1xuXG4gICRuYW1lIDogbnRoKCRsaXN0LDEpO1xuICAkYnJlYWtwb2ludCA6IG50aCgkbGlzdCwyKTtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKCRicmVha3BvaW50KSB7XG4gICAgLmhpZGUtb24tI3skbmFtZX0tb3Itc21hbGxlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoLWJleW9uZCgkYnJlYWtwb2ludCkge1xuICAgIC5oaWRlLW9uLSN7JG5hbWV9LW9yLWxhcmdlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH0gfVxuIiwiQGltcG9ydCBcImNvb2tpZVNwcml0ZVwiO1xuQGltcG9ydCBcImZvbnRzXCI7XG5AaW1wb3J0IFwiZmxhZ3NcIjtcbiIsIiRzcHJpdGVXaWR0aDogNzBweDtcbiRzcHJpdGVIZWlnaHQ6IDMwcHg7XG5cblxuQG1peGluIGNvb2tpZVNwcml0ZSgkcG9zaXRpb24sICR3aWR0aDogYXV0bywgJGhlaWdodDogYXV0bykge1xuXG4gICRwb3NpdGlvblg6IG50aCgkcG9zaXRpb24sIDEpICogLTE7XG4gICRwb3NpdGlvblk6IG50aCgkcG9zaXRpb24sIDIpICogLTE7XG5cbiAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9jb29raWUtc3ByaXRlLnN2Z1wiKSAkcG9zaXRpb25YICRwb3NpdGlvblkgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6ICRzcHJpdGVXaWR0aCAkc3ByaXRlSGVpZ2h0O1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7IH1cbiIsIkBtaXhpbiBkb3NpcyB7XG4gIGZvbnQtZmFtaWx5OiAnRG9zaXMnLCBzYW5zLXNlcmlmOyB9XG5cbkBtaXhpbiBkb3Npc0JvbGQge1xuICBAaW5jbHVkZSBkb3NpcztcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuIiwiJHNwcml0ZVdpZHRoOiAxMTRweDtcbiRzcHJpdGVIZWlnaHQ6IDI1cHg7XG5cblxuQG1peGluIGZsYWdTcHJpdGUoJHBvc2l0aW9uLCAkd2lkdGg6IGF1dG8sICRoZWlnaHQ6IGF1dG8pIHtcblxuICAkcG9zaXRpb25YOiBudGgoJHBvc2l0aW9uLCAxKSAqIC0xO1xuICAkcG9zaXRpb25ZOiBudGgoJHBvc2l0aW9uLCAyKSAqIC0xO1xuXG4gIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZmxhZ3Muc3ZnXCIpICRwb3NpdGlvblggJHBvc2l0aW9uWSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogJHNwcml0ZVdpZHRoICRzcHJpdGVIZWlnaHQ7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDsgfVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGFydGlhbCBDU1NcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbXBvcnQgXCJwcmVIZWFkZXJcIjtcbkBpbXBvcnQgXCJsYW5ndWFnZU1lbnVcIjtcbkBpbXBvcnQgXCJoZWFkZXJcIjtcbkBpbXBvcnQgXCJmb290ZXJcIjtcbkBpbXBvcnQgXCJzaG9wcGluZ0NhcnRcIjtcbkBpbXBvcnQgXCJrbXNDb250ZW50XCI7XG5AaW1wb3J0IFwiZm9ybVwiO1xuQGltcG9ydCBcImltYWdlU2xpZGVyXCI7XG5AaW1wb3J0IFwiY29va2llTWVzc2FnZVwiO1xuQGltcG9ydCBcImNvb2tpZVN3aXRjaFwiO1xuQGltcG9ydCBcInBhcnRuZXJzQ2xpZW50c1Jvd1wiO1xuXG5AaW1wb3J0IFwiZHluYW1pYy9keW5hbWljXCI7XG5AaW1wb3J0IFwibW9iaWxlL21vYmlsZVwiO1xuXG5AaW1wb3J0IFwiYmxvY2tzL2Jsb2Nrc1wiO1xuQGltcG9ydCBcIm92ZXJ2aWV3cy9vdmVydmlld3NcIjtcbkBpbXBvcnQgXCJzaG93L3Nob3dcIjtcbiIsIi5wcmUtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogJGJsYWNrZXI7XG4gIHBhZGRpbmc6IDEycHggMDtcblxuICAuZ3JpZC1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgoZmxleC1lbmQsIGNlbnRlcik7IH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6IHJnYmEod2hpdGUsIDAuNyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogc2VtaWJvbGQoKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuICAgICsgYSB7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDsgfVxuXG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogJGJyaWdodEJsdWU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHdoaXRlOyB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDc1MCkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuIiwiLmxhbmd1YWdlLW1lbnUge1xuICBAaW5jbHVkZSBmbGV4KGZsZXgtZW5kLCBjZW50ZXIpO1xuXG4gICNtb2JpbGUtbmF2aWdhdGlvbiAmIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgY2VudGVyKTsgfVxuXG4gIHNwYW4sIGEge1xuICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRncmV5O1xuXG4gICAgKyAqIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuXG4gICAgJi5ubCB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxhZ1Nwcml0ZSgwIDAsIDI0cHgsIDI0cHgpOyB9IH1cblxuICAgICYuZW4ge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZsYWdTcHJpdGUoODNweCAwLCAyNHB4LCAyNHB4KTsgfSB9IH1cblxuICBhIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cblxuICBzcGFuIHtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkbGltZUdyZWVuLCA1JSk7IH0gfVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBOYXZpZ2F0aW9uIC8gSGVhZGVyXG4gIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9mZnNldFdoaXRlO1xuXG4gICY6YWZ0ZXIge1xuICAgICRncmFkaWVudFNpemU6IDIwcHg7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAtI3skZ3JhZGllbnRTaXplfXB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJGdyYWRpZW50U2l6ZTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGJsYWNrR3JhZGllbnQpO1xuICAgIG9wYWNpdHk6IDAuNDsgfVxuXG4gIC5ncmlkLXJvdyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcblxuICAgID4uZ3JpZC1jb2wge1xuICAgICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBjZW50ZXIpO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8vIE1haW4gbG9nb1xuICAgIC5sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICAgICAgbWF4LWhlaWdodDogNzBweDsgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAycHggMCAwO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiAkZ3JleTsgfSB9XG5cblxuICAgIC8qIE5hdmlnYXRpb25cbiAgICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIG5hdiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBmbGV4KGZsZXgtZW5kLCBjZW50ZXIpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE4MHB4KTtcblxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KGZsZXgtZW5kLCBjZW50ZXIpO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNDVweDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogNDJweCAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgY29sb3I6ICRsaWdodEdyZXk7XG4gICAgICAgICAgICBAaW5jbHVkZSBkb3Npc0JvbGQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzOyB9XG5cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDE0NTApIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMjgwKSB7XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTsgfSB9IH1cblxuXG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7IH0gfVxuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZGFya0dyZXk7XG5cbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAzNXB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaW1lR3JlZW47IH0gfSB9IH0gfVxuXG4gICAgICAubGFuZ3VhZ2UtbWVudSB7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEyODApIHtcbiAgICAgICAgICB3aWR0aDogODBweDsgfSB9IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTE0MCkge1xuXG4gICAgICAubG9nbyB7XG4gICAgICAgIHdpZHRoOiAxMjBweDsgfVxuXG4gICAgICBuYXYge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpOyB9IH0gfVxuXG5cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEwNTApIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXJcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICRvZmZzZXRXaGl0ZTtcblxuICA+LmdyaWQtcm93IHtcbiAgICBwYWRkaW5nOiA3MHB4IDAgOTBweDsgfVxuXG4gIC5ncmlkLWNvbCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgIC5oZWFkZXIge1xuICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICRkYXJrR3JleTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBzZW1pYm9sZCgpO1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDsgfVxuXG4gICAgbGkgYSwgcCB7XG4gICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgIGNvbG9yOiAkbGlnaHRHcmV5OyB9IH1cblxuICAuY29udGFjdCB7XG4gICAgd2lkdGg6IGNvbHVtbig0LCAxMik7XG4gICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cbiAgICBmaWd1cmUge1xuICAgICAgd2lkdGg6IDI2MHB4O1xuICAgICAgbWFyZ2luOiAzNXB4IDAgMjVweDtcblxuICAgICAgYSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiAzNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG4gICAgcCB7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgICAgIGNvbG9yOiAkYnJpZ2h0Qmx1ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfSB9XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkZGFya0dyZXk7IH0gfSB9XG5cbiAgLmxpbmtzIHtcbiAgICB3aWR0aDogY29sdW1uKDYsIDEyKTtcbiAgICBtYXJnaW4tbGVmdDogY29sdW1uKDEsIDI0KTtcblxuICAgID4uZ3JpZC1yb3cge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuICAgIC5tZW51LCAuc3ViLWxpbmtzIHtcbiAgICAgIHdpZHRoOiBjb2x1bW4oMywgNik7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMTBweCAwIDQwcHg7XG5cbiAgICAgIGxpIHtcblxuICAgICAgICBhIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5OyB9IH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmtHcmV5O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHNlbWlib2xkKCk7IH0gfSB9IH0gfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNzUwKSB7XG4gICAgLmxpbmtzLCAuY29udGFjdCB7XG4gICAgICB3aWR0aDogY29sdW1uKDEwLCAxMik7XG4gICAgICBtYXJnaW4tbGVmdDogY29sdW1uKDEsIDEyKTsgfVxuXG4gICAgLmxpbmtzIHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7IH0gfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNTAwKSB7XG4gICAgPi5ncmlkLXJvdyB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuICAgIC5saW5rcyB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgLm1lbnUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4gICAgICAuc3ViLWxpbmtzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9XG5cblxuXG5cbiAgLyogU3ViIGZvb3RlciBmb3IgcGF5IG9mZiBhbmQgb3VyIGJyYW5kaW5nXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC5zdWItZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGltZUdyZWVuO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcblxuICAgIC5ncmlkLXJvdyB7XG4gICAgICAucGxhY2Vob2xkZXIge1xuICAgICAgICB3aWR0aDogY29sdW1uKDEwLCAxMik7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBjZW50ZXIpOyB9IH1cblxuICAgIHAsIGEge1xuICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiAkZGFya0dyZXk7IH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgb3BhY2l0eTogMC42OyB9XG5cbiAgICBhIHtcbiAgICAgIC8vZm9udC13ZWlnaHQ6IHNlbWktYm9sZCgpXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuICAgIC5rb21tYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGNlbnRlcik7XG4gICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDc4cHg7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgIGltYWdlOiB1cmwoXCIvaW1nL2tvbW1hX2dyZXkuc3ZnXCIpO1xuICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgc2l6ZTogY29udGFpbjtcbiAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxOyB9IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjAwKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgIC5ncmlkLXJvdyB7XG4gICAgICAgIC5wbGFjZWhvbGRlciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNHJlbTsgfVxuXG4gICAgICAua29tbWEge1xuICAgICAgICBtYXJnaW46IGF1dG87IH0gfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMDAwKSB7XG4gICAgcGFkZGluZy10b3A6IDM1cHg7XG5cbiAgICA+LmdyaWQtcm93IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgZmxleC1zdGFydCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvd3M7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbiAgICAubWFpbi1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMCBjb2x1bW4oMSwgMTQpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAgIC5sb2dvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG5cbiAgICAgICYubG9jYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBvcmRlcigyKTtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHJnYmEod2hpdGUsIDAuMik7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9XG5cbiAgICAgICYuc2Nob29scywgJi5tZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICA+YSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4gICAgICB1bC5leHRyYS1tYXJnaW4tYmVsbG93IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfSB9XG5cbiAgICAuc3ViLWZvb3RlciB7XG4gICAgICAuZ3JpZC1yb3cge1xuICAgICAgICAucGxhY2Vob2xkZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfSB9IH1cbiIsImRpdi5zaG9wcGluZ2NhcnRJdGVtTGlzdCB7XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTUlO1xuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2NjY2NjYztcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfSB9XG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEZWZhdWx0IHN0eWxpbmcgZm9yIEtNUyBjb250ZW50XG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ua21zLWNvbnRlbnQge1xuICBoMSwgaDIsIGgzIHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGNvbG9yOiAkZGFya0dyZXk7XG4gICAgQGluY2x1ZGUgZG9zaXNCb2xkO1xuIH0gICAgLy8rYnJlZVxuXG4gIGgyLCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07IH1cblxuICBoMyB7XG4gICAgY29sb3I6ICRsaW1lR3JlZW47IH1cblxuXG4gIGg0IHtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGNvbG9yOiAkZGFya0dyZXk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgY29sb3I6IHJnYmEoJGdyZXksIDAuNzUpOyB9XG5cbiAgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgY29sb3I6IHJnYmEoJGdyZXksIDAuNzUpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIGNvbnRlbnQ6ICfigKInO1xuICAgICAgICBjb2xvcjogJGRhcmtHcmV5O1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4gICAgICArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4OyB9IH0gfVxuXG4gIG9sIHtcbiAgICBjb3VudGVyLXJlc2V0OiBvbC1jb3VudGVyIC8qIDIgKi87XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgY29sb3I6IHJnYmEoJGdyZXksIDAuNzUpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBvbC1jb3VudGVyO1xuICAgICAgICBjb250ZW50OiBjb3VudGVyKG9sLWNvdW50ZXIpJy4nO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbG9yOiAkZGFya0dyZXk7IH1cblxuICAgICAgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDsgfSB9IH1cblxuICBhOm5vdCguYnV0dG9uKSB7XG4gICAgY29sb3I6ICRkYXJrR3JleTtcbiAgICAvL3RleHQtZGVjb3JhdGlvbjogbm9uZVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGRhcmtHcmV5O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9IH1cblxuICBhLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4iLCIuZm9ybSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1NjBweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuXG4gIC5mb3JtLWVsZW1lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbiAgLmVycm9yLW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICRkYXJrR3JleTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuXG4gIGxhYmVsLCAubGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAwLjZlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbiAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG5cbiAgICBib3JkZXI6IDJweCB3aGl0ZSBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgY29sb3I6ICRncmV5O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKHdoaXRlLCAwLjQpICFpbXBvcnRhbnQ7IH1cblxuICAgICYuYWxlcnQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcmVkOyB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEod2hpdGUsIDAuMSk7IH1cblxuICAgICY6LXdlYmtpdC1hdXRvZmlsbCwgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLCAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsICY6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUge1xuICAgICAgdHJhbnNpdGlvbjogOTk5OXMgYmFja2dyb3VuZC1jb2xvciwgOTk5OXMgY29sb3I7XG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogJGdyZXk7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiA5OTk5czsgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTsgfSB9XG5cbiAgdGV4dGFyZWEge1xuICAgIG1pbi1oZWlnaHQ6IDE1MnB4O1xuICAgIHJlc2l6ZTogdmVydGljYWw7IH1cblxuICAuc2VsZWN0IHtcbiAgICAuc2VsZWN0LXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuICAgIC5pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiAyNnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNnB4IDAgNnB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JleSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbiAgICBzZWxlY3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG4gICAgICBmb250LWZhbWlseTogJGZvbnRGYW1pbHk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMzVweCAxNXB4IDIwcHg7XG4gICAgICBib3JkZXI6IDFweCB0cmFuc3BhcmVudCBzb2xpZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICBjb2xvcjogJGdyZXk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9IH0gfVxuXG5cbiAgLmNoZWNrYm94IHtcbiAgICBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGZsZXgtc3RhcnQpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHdoaXRlLCAwLjMpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEod2hpdGUsIDAuNSk7IH1cblxuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvY2hlY2svY2hlY2tlZC5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh3aGl0ZSwgMC43KTsgfSB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAycHggMCAwO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7IH0gfSB9XG5cbiAgLnN1Ym1pdCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgIGlucHV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC5idXR0b24ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGltZUdyZWVuO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgLmFycm93LWljb24ge1xuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBmaWxsOiB3aGl0ZTsgfSB9IH0gfSB9XG4iLCIuaW1hZ2Utc2xpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDQwcHggMHB4IHJnYmEoMCwwLDAsMC4yKTtcblxuICAucGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IG1vdmU7XG5cbiAgICAuY29udHJvbGxlcnMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDY2LjY3JTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMzUwKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOyB9XG5cbiAgICAgIC5uYXYtaXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4gICAgICAgIGJvdHRvbTogLTUwcHg7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cbiAgICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIC5zdDAge1xuICAgICAgICAgICAgICBmaWxsOiB3aGl0ZTsgfSB9IH1cblxuICAgICAgICAmLnByZXZpb3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcbiAgICAgICAgICByaWdodDogY2FsYyg1MCUgKyAzcHgpO1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfSB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGdyZXksIDUlKTsgfSB9XG5cbiAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGltZUdyZWVuO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlICsgM3B4KTtcblxuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH0gfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGxpbWVHcmVlbiwgMTAlKTsgfSB9IH0gfVxuXG5cblxuICAgIGZpZ3VyZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cztcblxuICAgICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDgwKSB7XG4gICAgICAgICAgJi5tZWRpdW0ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBvcGFjaXR5OiAxOyB9IH0gfSB9XG4iLCIvLyBDb29raWUgbWVzc2FnZSB3aXRob3V0IHRyYWNraW5nXG4jY29va2llLW1lc3NhZ2Uge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMTVweCAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtHcmV5O1xuICBvcGFjaXR5OiAxO1xuICBib3gtc2hhZG93OiAwIC0ycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB0cmFuc2Zvcm0gMC42cztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblxuICAmLmFjY2VwdGVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgJi50cmFuc2l0aW9uLW91dCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwJSwgMCk7IH1cblxuICAuZ3JpZC1yb3cge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHAsIHAgYSwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG5cbiAgICBwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfSB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIHBhZGRpbmc6IDVweCAxMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh3aGl0ZSwgMC4yKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2MjUpIHtcbiAgICAgIHAge1xuICAgICAgICBtYXgtd2lkdGg6IDIyNXB4OyB9IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMzc1KSB7XG4gICAgICBwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgfVxuXG4gICAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9IH0gfVxuXG4vLyBDb29raWUgbWVzc2FnZSB3aXRoIHRyYWNraW5nXG4jY29va2llLW1lc3NhZ2Utb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5OTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShibGFjaywgMC42KTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuXG4gICYuYWNjZXB0ZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAmLnRyYW5zaXRpb24tb3V0IHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbiAgLnBsYWNlaG9sZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAvIDE0ICogMTIpO1xuICAgIHBhZGRpbmc6IDYwcHggMTIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICBoNSB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgIGNvbG9yOiAjNGQ0ZDRkOyB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjODA4MDgwOyB9XG5cbiAgICBwIGEsIHAgLm9wZW4tbWVudSB7XG4gICAgICBjb2xvcjogJHBhc3RlbEJsdWU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuICAgIC5hY2NlcHQtY29va2llLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgcGFkZGluZzogMTNweCAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyaWdodEJsdWU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMsIG9wYWNpdHkgMC40cztcbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYnJpZ2h0Qmx1ZSwgOCUpOyB9IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTQ0MCkge1xuICAgICAgcGFkZGluZzogY2FsYygxMDB2dyAvIDE0IC8gMS41KSBjYWxjKDEwMHZ3IC8gMTQpO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDUwKSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbiAgI21lc3NhZ2UtZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJi5oaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4gIC5jb29raWUtdHlwZXMtZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMzBweCAwO1xuXG4gICAgLmNvb2tpZS10eXBlIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgKyAuY29va2llLXR5cGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNXB4OyB9XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU1cHgpO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgIG1heC13aWR0aDogMzgwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGNvbG9yOiByZ2JhKCRncmV5LCAwLjYpO1xuXG4gICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfSB9IH0gfVxuXG4gICAgICAmLnRyYWNraW5nIHtcbiAgICAgICAgLmljb246YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBjb29raWVTcHJpdGUoMCAwLCAyNXB4LCAyNXB4KTsgfSB9XG5cbiAgICAgICYuYW5hbHl0aWMge1xuICAgICAgICAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGNvb2tpZVNwcml0ZSgyN3B4IDAsIDI1cHgsIDI1cHgpOyB9IH0gfSB9XG5cbiAgLmNvb2tpZS1zZXR0aW5ncyB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZWRpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgLndyYXBwZXIge1xuICAgICAgcGFkZGluZzogMzBweCAwIDA7IH1cblxuICAgIC5jb29raWUtdHlwZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGZsZXgtc3RhcnQpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICArIC5jb29raWUtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cblxuICAgICAgaW5wdXQge1xuICAgICAgICBtYXJnaW46IDRweCAwIDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBjb29raWVTcHJpdGUoNTVweCAxNHB4LCAxM3B4LCAxM3B4KTtcbiAgICAgICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcblxuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NXB4IDA7IH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU1cHgpO1xuICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIGNvbG9yOiByZ2JhKCRncmV5LCAwLjYpO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgICAgY29sb3I6ICRncmV5O1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH0gfVxuXG4gICAgICAmLmFuYWx5dGljIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIG9wYWNpdHk6IDAuMzsgfSB9IH0gfSB9XG4iLCIvLyBDb29raWUgc3dpdGNoXG4jY29va2llLXN3aXRjaCB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIHBhZGRpbmc6IDMwcHggMCA1MHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXk7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC5wbGFjZWhvbGRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAuY29va2llLXN3aXRjaC10aXRsZSB7XG4gICAgICBoMyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgfSB9XG5cbiAgICAuY29va2llLXR5cGVzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAzMHB4IDAgNTBweDtcblxuICAgICAgLmNvb2tpZS10eXBlIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICArIC5jb29raWUtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjVweDsgfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBtYXJnaW46IDRweCAwIDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICAgICAgICBAaW5jbHVkZSBjb29raWVTcHJpdGUoNTVweCAxNHB4LCAxM3B4LCAxM3B4KTtcblxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuICAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTVweCAwOyB9IH1cblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg0NjApIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTsgfVxuXG4gICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfSB9IH1cblxuXG4gICAgICAgICYuYW5hbHl0aWMge1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH0gfSB9XG5cbiAgICAjc2F2ZS1jb29raWUtc2V0dGluZ3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTNweCAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyaWdodEJsdWU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMsIG9wYWNpdHkgMC40cztcblxuICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRicmlnaHRCbHVlLCA4JSk7IH1cblxuICAgICAgJi5jbGlja2VkIHtcbiAgICAgICAgb3BhY2l0eTogMC4yOyB9IH0gfSB9XG4iLCIucGFydG5lcnMtcm93IHtcbiAgcGFkZGluZzogNDBweCAwIDA7IH1cblxuLnBhcnRuZXJzLXJvdywgLmNsaWVudHMtcm93IHtcbiAgLmttcy1jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuICAuaW5kZXgtZ3JpZC1yb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbiAgLnNxdWFyZXMtZ3JpZCB7XG4gICAgLm92ZXJ2aWV3IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyIDFmciAxZnI7XG4gICAgICBncmlkLWdhcDogNjBweCA2MHB4O1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDExNTApIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4MDApIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjUwKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQyNSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cblxuICAgIGFydGljbGUge1xuXG4gICAgICAuaWUgJiB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMTAwKSB7XG4gICAgICAgICAgd2lkdGg6IDI2JTsgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjgwKSB7XG4gICAgICAgICAgd2lkdGg6IDM4JTtcblxuICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH1cbiAgICAgICAgLy9cbiAgICAgICAgLy8rcmVzcG9uZC10by13aWR0aCg0MjUpXG4gfSAgICAgICAgLy8gIHdpZHRoOiAxMDAlXG5cbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICAgJi5vb3N0bmwge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDBweDsgfSB9XG5cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIHNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyOyB9IH0gfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDgwMCkge1xuICAgICAgICArIGFydGljbGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOyB9IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2NTApIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfSB9XG5cblxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQyNSkge1xuICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgICAgICsgYXJ0aWNsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogODBweCAhaW1wb3J0YW50OyB9IH0gfSB9IH1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRHluYW1pYyBCbG9ja3NcbiAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmR5bmFtaWMtYmxvY2sge1xuXG4gICsgLmR5bmFtaWMtYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7IH1cblxuICAuZ3JpZC1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgY2VudGVyKTsgfVxuXG4gIEBpbXBvcnQgXCJ0d29UZXh0Q29sdW1uXCI7XG4gIEBpbXBvcnQgXCJmdWxsSW1hZ2VDb2x1bW5cIjtcbiAgQGltcG9ydCBcImNvbnRlbnRCbG9ja1wiO1xuICBAaW1wb3J0IFwibXVsdGlwbGVJbWFnZXNcIjtcbiAgQGltcG9ydCBcImZ1bGxUZXh0QmxvY2tcIjtcbiAgQGltcG9ydCBcInZpZGVvQmxvY2tcIjsgfVxuIiwiJi50d28tdGV4dC1jb2x1bW5zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbiAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcbiAgLmNvbnRlbnQge1xuICAgIHdpZHRoOiBjb2x1bW4oMjEsIDQ0KTtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5MDApIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAuY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfSB9IH1cbiIsIiYuZnVsbC1pbWFnZS1jb2x1bW4ge1xuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAmLmxhcmdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEwNTApIHtcbiAgICAgICYubGFyZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAmLm1lZGl1bSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNTI1KSB7XG4gICAgICAmLm1lZGl1bSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICYuc21hbGwge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH0gfVxuXG4iLCImLmNvbnRlbnQtYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG5cbiAgLmltYWdlIHtcbiAgICB3aWR0aDogNTAlO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmLnNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ1MCkge1xuICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgICYuc21hbGwge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH0gfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IGNvbHVtbig1LCAxMik7IH0gfVxuXG4gIC5jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvcmRlcigxKTtcbiAgICB3aWR0aDogY29sdW1uKDUsIDEyKTsgfVxuXG4gICZbZGF0YS1pbWFnZS1sb2NhdGlvbj0ncmlnaHQnXSB7XG4gICAgLmltYWdlIHtcbiAgICAgIEBpbmNsdWRlIG9yZGVyKDIpOyB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBvcmRlcigxKTsgfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5MDApIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICBAaW5jbHVkZSBvcmRlcigyKTsgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9XG4iLCImLm11bHRpcGxlLWltYWdlcyB7XG4gIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG4gIEBpbmNsdWRlIGZsZXgtcm93cztcblxuICBmaWd1cmUge1xuICAgIHdpZHRoOiBjb2x1bW4oMjEsIDQ0KTtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICYubWVkaXVtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDExMDApIHtcbiAgICAgICAgJi5sYXJnZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ4MCkge1xuICAgICAgICAmLmxhcmdlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICYubWVkaXVtIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH0gfVxuXG4gICZbZGF0YS1zaXplLXR5cGU9JzUwJ10ge1xuICAgIGZpZ3VyZSB7XG4gICAgICBpbWcge1xuICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDExMjUpIHtcbiAgICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH0gfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5MDApIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGZpZ3VyZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgJi5tZWRpdW0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg1MjUpIHtcbiAgICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH0gfSB9IH1cbiIsIiYuZnVsbC10ZXh0LWJsb2NrIHtcbiAgLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNjgwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4iLCImLnZpZGVvLWJsb2NrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogOTYwcHg7XG4gIG1hcmdpbjogNjBweCBhdXRvIDAgIWltcG9ydGFudDtcblxuICAudmlkZW8td3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1My42JSAvKiAxNjo5ICovO1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIGhlaWdodDogMDtcbiAgICBpZnJhbWUsIC52aWRlby1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC52aWRlby1vdmVybGF5IHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgIC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBtYXgtd2lkdGg6IDg1cHg7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC44NSkpOyB9IH1cblxuICAgICAgJi5oaWRlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjdzO1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMyk7IH0gfSB9IH0gfVxuIiwiQGltcG9ydCBcIm5hdmlnYXRpb25cIjtcbkBpbXBvcnQgXCJjb250YWN0XCI7XG5AaW1wb3J0IFwic3RpY2t5TmF2aWdhdGlvblwiO1xuIiwiLy9Db2xvcnMgdXNlZCBpbiBNb2JpbGUgTWVudVxuJGxpc3RDb2xvcjogJHNlbWlMaWdodEdyZXk7XG4kbGlzdEhvdmVyQ29sb3I6ICRncmV5O1xuJGxpc3RBY3RpdmVDb2xvcjogJGRhcmtHcmV5O1xuXG4kYmFyQ29sb3I6ICRvZmZzZXRXaGl0ZTtcbiRiYXJNZW51Q29sb3I6ICRsaW1lR3JlZW47XG4kbWVudUJhY2tncm91bmQ6ICRvZmZzZXRXaGl0ZTtcblxuJHNoYWRlckJhY2tncm91bmQ6ICRsaW1lR3JlZW47XG4kc2hhZGVyT3BhY2l0eTogMC42O1xuXG5cbi5wcmV2ZW50U2Nyb2xsIHtcbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMDUwKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuXG4jbW9iaWxlLW5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDA7XG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC5pZS52MTAgJiB7XG4gICAgaGVpZ2h0OiA2MHB4OyB9XG5cbiAgLmJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhckNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTEpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwLjRzLCB0cmFuc2Zvcm0gMC40cyBlYXNlIDBzO1xuXG4gICAgLnRvZ2dsZS1tZW51IHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgICAgIHNwYW4gKyBzcGFuIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhck1lbnVDb2xvcjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cztcblxuICAgICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOCwgMSwgMSk7IH1cblxuICAgICAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDUsIDEsIDEpOyB9IH0gfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpICFpbXBvcnRhbnQ7IH0gfSB9IH1cblxuICAgIC5sb2dvIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBtYXgtd2lkdGg6IDExMHB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDcwcHg7IH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgbWFyZ2luOiAycHggMCAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBjb2xvcjogJGdyZXk7IH0gfSB9IH1cblxuICAmLmhpZGUtYmFyIHtcbiAgICAuYmFyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOyB9IH1cblxuICAuc2hhZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaGFkZXJCYWNrZ3JvdW5kO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC40czsgfVxuXG4gIC5tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWluLXdpZHRoOiAyNzVweDtcbiAgICBwYWRkaW5nOiA0MHB4IDEyMHB4O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnVCYWNrZ3JvdW5kO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuXG4gICAgbmF2IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE3cHg7XG4gICAgICAgIGxlZnQ6IC02OHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgb3BhY2l0eTogMC40OyB9XG5cbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya0dyZXk7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7IH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogN3B4O1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7IH0gfVxuXG5cbiAgICAgIC5sb2dvLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0OXB4OyB9IH0gfVxuXG4gICAgICAubWVudS1saXN0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgICAgICAgICsgdWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDsgfVxuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMDtcbiAgICAgICAgICAgICAgY29sb3I6ICRsaXN0Q29sb3I7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlzdEhvdmVyQ29sb3I7IH0gfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NWVtOyB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaXN0QWN0aXZlQ29sb3I7IH0gfSB9IH0gfSB9IH1cblxuICAmLmFjdGl2ZSB7XG4gICAgLmllLnYxMCAmIHtcbiAgICAgIGhlaWdodDogMTAwdmg7IH1cbiAgICAuYmFyIHtcbiAgICAgIC50b2dnbGUtbWVudSB7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjRzO1xuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykpO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB0b3A6IDZweDsgfVxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgYm90dG9tOiA2cHg7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoLTQ1ZGVnKSk7IH0gfSB9IH0gfVxuICAgIC5tZW51IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4gICYuc2hhZGVyLWFjdGl2ZSB7XG4gICAgLnNoYWRlciB7XG4gICAgICBvcGFjaXR5OiAkc2hhZGVyT3BhY2l0eTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH0gfVxuXG4gICYuYWxsb3ctYW5pbWF0aW9uIHtcbiAgICAuc2hhZGVyIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOyB9XG4gICAgLm1lbnUge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH0gfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTA1MCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmJhciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgLm1lbnUge1xuICAgICAgbWF4LXdpZHRoOiBub25lOyB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQwMCkge1xuICAgIG5hdiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07IH0gfSB9IH1cbiIsIi5tb2JpbGUtY29udGFjdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuXG4gIHBhZGRpbmc6IDUwcHggY29sdW1uKDEpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICBjb2xvcjogJGJsYWNrO1xuICBmb250LXNpemU6IDAuOXJlbTtcblxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMsIHRyYW5zZm9ybSAwLjRzO1xuXG4gICYuYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cblxuXG4gIGgxLCBoMiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICBjb2xvcjogJHBhc3RlbEJsdWU7XG4gICAgbWFyZ2luOiAwIDAgNDBweDsgfVxuXG4gIHAge1xuICAgIG1hcmdpbjogMXJlbSAwOyB9XG5cbiAgc3Ryb25nIHtcbiAgICBjb2xvcjogJGJsYWNrOyB9XG5cbiAgYTpub3QoLmJ1dHRvbikge1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcywgYm9yZGVyIDAuM3MsIG9wYWNpdHkgMC4zcztcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGJsdWUsIDE1JSk7IH0gfVxuXG5cblxuICBhLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkKCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhc3RlbEJsdWU7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOyB9IH0gfVxuXG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4NDApIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4iLCIjc3RpY2t5LW5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgYm94LXNoYWRvdzogMCA2cHggMTBweCAtNXB4IHJnYmEoMCwwLDAsMC4xKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIG9wYWNpdHkgMC40cztcblxuICAmLmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbiAgLmdyaWQtcm93IHtcbiAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGNlbnRlcik7IH1cblxuICAubWVudSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA2MHB4O1xuXG4gICAgLnBsYWNlaG9sZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG5cbiAgICAgIC5pY29uLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgICAgICAgc3BhbiArIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cztcblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjgsIDEsIDEpOyB9XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NSwgMSwgMSk7IH0gfSB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSAhaW1wb3J0YW50OyB9IH0gfSB9IH0gfVxuXG4gIC5sb2dvLXdyYXBwZXIge1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfSB9IH1cbiIsIkBpbXBvcnQgXCJsYXJnZUhlYWRlckltYWdlXCI7XG5AaW1wb3J0IFwiY3RhQ29udGVudFJvd1wiO1xuQGltcG9ydCBcInJlYXNvbnNSb3dcIjtcbkBpbXBvcnQgXCJkaXNjb3ZlclJvd1wiO1xuQGltcG9ydCBcImN0YVJvd1wiO1xuQGltcG9ydCBcInN0ZXBzU2xpZGVyXCI7XG5AaW1wb3J0IFwiZW1wbG95ZWVzUm93XCI7XG4iLCIubGFyZ2UtaGVhZGVyLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAkb2Zmc2V0V2hpdGU7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMDUwKSB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4OyB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg1MDApIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDsgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6ICRsaW1lR3JlZW47XG4gICAgaGVpZ2h0OiA1MCU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAvLytyZXNwb25kLXRvLXdpZHRoKDExMDApXG4gICAgLy8gIGhlaWdodDogMTIwcHhcbiAgICAvL1xuICAgIC8vK3Jlc3BvbmQtdG8td2lkdGgoODQwKVxuICAgIC8vICBoZWlnaHQ6IDIwMHB4XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDUwMCkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDUwMCkge1xuICAgIC5ncmlkLXJvdyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbiAgLmhlYWRlci1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICBib3R0b206IDQwcHg7XG4gICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBzZW1pYm9sZCgpO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxNTAwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODQwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjQwKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNTAwKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuXG4gICAgJi5pbWFnZS1zbGlkZXIge1xuICAgICAgLmNvbnRyb2xsZXJzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDM1JSAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNTc1KSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDY2LjY3JSAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgICBib3R0b206IDUwcHg7XG4gICAgICAgICAgJi5wcmV2aW91cyB7XG4gICAgICAgICAgICByaWdodDogY2FsYygxMDAlIC0gMTdweCk7IH1cbiAgICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gMTdweCk7IH1cblxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjQwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH0gfVxuXG4gICAgICAuY2FwdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICAgIGJvdHRvbTogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBzZW1pYm9sZCgpO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJweDsgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODgwKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2NDApIHtcbiAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICAgIGJvdHRvbTogMjBweDsgfSB9IH0gfVxuXG4gIC5zaG93LXNjcm9sbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgYm90dG9tOiAtMzBweDtcbiAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGJvcmRlci1yYWRpdXM6IDIycHg7XG4gICAgYmFja2dyb3VuZDogJGxpbWVHcmVlbjtcblxuICAgIC5hcnJvdyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAvL3RvcDogLTRweFxuICAgICAgei1pbmRleDogMjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxNnB4O1xuXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMjJweDtcblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBmaWxsOiB3aGl0ZTsgfSB9IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLmFycm93IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDNweCwwKTsgfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDkwMCkge1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAyMnB4KTtcbiAgICAgIGJvdHRvbTogLTIycHg7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgNDVweCA0NXB4IDQ1cHg7IH0gfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2NDApIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfSB9XG4iLCIuY3RhLWNvbnRlbnQtcm93IHtcbiAgLmdyaWQtcm93IHtcbiAgICBAaW5jbHVkZSBmbGV4KGZsZXgtZW5kLCBmbGV4LXN0YXJ0KTtcbiAgICBwYWRkaW5nOiAxMTVweCAwO1xuXG4gICAgLmN0YS1ibG9jayB7XG4gICAgICB3aWR0aDogY29sdW1uKDQsIDEyKTtcbiAgICAgIG1hcmdpbi1yaWdodDogY29sdW1uKDMsIDI0KTtcbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkKCk7XG4gICAgICAgIGNvbG9yOiAkbGlnaHRHcmV5O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbiAgICAgIGgxIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIEBpbmNsdWRlIGRvc2lzQm9sZDtcbiAgICAgICAgY29sb3I6ICRkYXJrR3JleTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDk1MCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9IH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuXG4gICAgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgd2lkdGg6IGNvbHVtbig0LCAxMik7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNvbHVtbigxLCAxMik7IH0gfVxuXG5cbiAgLyogVGFibGV0IHZpZXdcbiAgICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEzNTApIHtcbiAgICAuZ3JpZC1yb3cge1xuICAgICAgcGFkZGluZzogODBweCAwO1xuXG4gICAgICAuY3RhLWJsb2NrIHtcbiAgICAgICAgd2lkdGg6IGNvbHVtbig1LCAxMik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY29sdW1uKDEsIDEyKTsgfVxuXG4gICAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgIHdpZHRoOiBjb2x1bW4oNSwgMTIpOyB9IH0gfVxuXG4gIC8qIE1vYmlsZSB2aWV3XG4gICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg3NTApIHtcbiAgICAuZ3JpZC1yb3cge1xuICAgICAgcGFkZGluZzogODBweCAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIC5jdGEtYmxvY2ssIC5jb250ZW50LWJsb2NrIHtcbiAgICAgICAgd2lkdGg6IGNvbHVtbigxMCwgMTIpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjQwKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4gICAgICAuY3RhLWJsb2NrIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfSB9IH0gfVxuIiwiLnJlYXNvbnMtcm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VtaUxpZ2h0R3JleTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuZ3JpZC1yb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vJjphZnRlclxuICAgIC8vICBjb250ZW50OiAnJ1xuICAgIC8vICBwb3NpdGlvbjogYWJzb2x1dGVcbiAgICAvLyAgei1pbmRleDogMVxuICAgIC8vICB0b3A6IDBcbiAgICAvLyAgbGVmdDogY29sdW1uKDUsIDEyKVxuICAgIC8vICB3aWR0aDogMTAwdndcbiAgICAvLyAgaGVpZ2h0OiAxMDAlXG4gICAgLy8gIGJhY2tncm91bmQ6ICRvcmFuZ2VcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAkZ3JhZGllbnRTaXplOiAxMDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogY2FsYygje2NvbHVtbig3LCAxMil9IC0gI3skZ3JhZGllbnRTaXplfSk7XG4gICAgICB3aWR0aDogJGdyYWRpZW50U2l6ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJGJsYWNrR3JhZGllbnQpOyB9IH1cblxuXG5cbiAgLmdyaWQtY29sIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmc6IDEwMHB4IDA7IH1cblxuICAucmVhc29ucy1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZy1yaWdodDogY29sdW1uKDEsIDI0KTtcblxuICAgID5oMiB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAvL2ZvbnQtd2VpZ2h0OiBib2xkKClcbiAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodCgpO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbWFyZ2luOiAwIDAgNDVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNTVweDtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMjUwKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1heC13aWR0aDogMzgwcHg7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcblxuICAgICAgICArIGxpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbiAgICAgICAgLmxpc3QtaWNvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgIC8vc3ZnXG4gICAgICAgICAgLy8gIHdpZHRoOiAxMDAlXG4gfSAgICAgICAgICAvLyAgbWF4LWhlaWdodDogMzJweFxuXG4gICAgICAgIHAge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgQGluY2x1ZGUgZG9zaXM7XG4gICAgICAgICAgY29sb3I6IHdoaXRlOyB9IH1cblxuXG4gICAgICAmLnRodW1icyB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAubGlzdC1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgbWF4LWhlaWdodDogMThweDsgfSB9IH0gfVxuXG4gICAgICAmLmNoZWNrMiB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAubGlzdC1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICB3aWR0aDogMTNweDsgfSB9IH0gfVxuXG4gICAgICAmLmFycm93cyB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAubGlzdC1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cztcblxuICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICRicmlnaHRCbHVlO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgJGJyaWdodEJsdWU7IH0gfSB9IH1cblxuXG4gICAgLnRyaWdnZXIge1xuICAgICAgQGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0LCBjZW50ZXIpO1xuICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1NXB4O1xuXG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgLy9ib3JkZXI6IDJweCBzb2xpZCB3aGl0ZVxuICAgICAgICAvL2JhY2tncm91bmQ6IHdoaXRlXG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBjb2xvcjogJGRhcmtHcmV5O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNvbHVtbigxLCAxMik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgLmFycm93IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgIGZpbGw6ICRzZW1pTGlnaHRHcmV5OyB9IH0gfSB9XG5cblxuICAgICAgLmltYWdlLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgd2lkdGg6IDE4MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTYwMCkge1xuICAgICAgICAgIHdpZHRoOiAxNTBweDsgfVxuXG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMDtcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH0gfSB9IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTQwMCkge1xuICAgICAgLnRyaWdnZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgLmltYWdlLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH0gfSB9XG5cblxuICAucmlnaHQtc2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICYuY29sLTcge1xuICAgICAgcGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpOyB9XG5cbiAgICAmLmFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgICBjb2xvcjogJGJyaWdodEJsdWU7XG4gICAgICBmb250LXdlaWdodDogc2VtaWJvbGQoKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbiAgICAudmlkZW8tYmxvY2sge1xuICAgICAgcGFkZGluZzogODBweCAwO1xuXG4gICAgICAudmlkZW8td3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmxhY2ssIDUlKTtcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA5NjBweDtcblxuICAgICAgICAucGxhY2Vob2xkZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTIuOCUgLyogMTY6OSAqLztcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTsgfSB9IH0gfVxuXG4gICAgLmltYWdlLWJsb2NrIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGltZUdyZWVuOyB9XG5cblxuICAgICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuICAgICAgcGljdHVyZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEwMDApIHtcblxuICAgIC5ncmlkLXJvdyB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuICAgIC5yZWFzb25zLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiA2MHB4IGNvbHVtbigxLCAxNCk7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG5cbiAgICAucmlnaHQtc2lkZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJsYWNrLCA1JSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgY29sdW1uKDEsIDE0KTtcbiAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgJi5jb2wtNyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDE0KTsgfVxuXG4gICAgICAmLmFic29sdXRlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cblxuICAgICAgLmltYWdlLWJsb2NrIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH0gfSB9XG4iLCIuZGlzY292ZXItcm93IHtcbiAgYmFja2dyb3VuZDogJG9mZnNldFdoaXRlMjtcbiAgcGFkZGluZzogNzBweCAwIDEyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5zdHJlYW1lciB7XG4gICAgY29sb3I6ICRsaWdodEdyZXk7XG4gICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBzZW1pYm9sZCgpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAwIDAgMzVweDsgfVxuXG4gIC5saW5rcyB7XG4gICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGZsZXgtc3RhcnQpO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8vYm94LXNoYWRvdzogMHB4IDBweCA0MHB4IDBweCByZ2JhKDAsMCwwLDAuMilcblxuICAgIGFydGljbGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDI1JTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgJGJsYWNrR3JhZGllbnQpOyB9XG5cbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuICAgICAgcGljdHVyZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuXG4gICAgICAub3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gMjVweCk7XG4gICAgICAgICAgYm90dG9tOiAyNXB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogc2VtaWJvbGQoKTtcblxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG5cbiAgICAgICAgLmFycm93LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRsaW1lR3JlZW47XG4gICAgICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHM7XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxOHB4O1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuXG4gICAgICAgICAgICAgICYuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICAgICAgLnN0MCB7XG4gICAgICAgICAgICAgICAgICBmaWxsOiB3aGl0ZTsgfSB9IH0gfSB9IH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5vdmVybGF5IHtcbiAgICAgICAgICAuYXJyb3ctcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTsgfSB9IH0gfVxuXG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEwMDApIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93cztcblxuICAgICAgYXJ0aWNsZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2MDApIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBhcnRpY2xlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW1lR3JlZW47XG5cbiAgICAgICAgKyBhcnRpY2xlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cblxuICAgICAgICAub3ZlcmxheSB7XG4gICAgICAgICAgaDQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgICAgYm90dG9tOiAyNXB4OyB9IH0gfSB9IH0gfVxuIiwiLmN0YS1yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmJhc2ljLWhpbnQge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMXJlbSAwOyB9XG5cbiAgLmdyaWQtcm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IGNvbHVtbig3LCAxMik7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkb2Zmc2V0V2hpdGUzOyB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAkZ3JhZGllbnRTaXplOiAyMHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogY2FsYygje2NvbHVtbig1LCAxMil9IC0gI3skZ3JhZGllbnRTaXplfSk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogJGdyYWRpZW50U2l6ZTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJGJsYWNrR3JhZGllbnQpOyB9XG5cbiAgICAmLmxvZ28tYWZ0ZXIge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG9mZnNldFdoaXRlMywgMC4yNSk7IH0gfSB9XG5cbiAgLmN0YS10cmlnZ2VyLCAuY3RhLXRyaWdnZXItMiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDQwcHggMjBweCA0MHB4IDA7XG5cbiAgICBoMyB7XG4gICAgICBjb2xvcjogJGRhcmtHcmV5O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgQGluY2x1ZGUgZG9zaXNCb2xkO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogJHNlbWlMaWdodEdyZXk7XG4gICAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZCgpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cblxuICAuY3RhLXRyaWdnZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuICAgIHdpZHRoOiBjb2x1bW4oNiwgMTIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbiAgLmN0YS10cmlnZ2VyLTIge1xuICAgIHdpZHRoOiBjb2x1bW4oNiwgMTIpO1xuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7IH1cblxuICAuY3RhLXBlcnNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IGNvbHVtbig1LCAxMik7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC53cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgY2VudGVyKTsgfVxuXG4gICAgLmltYWdlLXBsYWNlaG9sZGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAzNzVweDtcblxuICAgICAgZmlndXJlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDY2LjY3JTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH0gfSB9XG5cbiAgICAuY29udGFjdC1pbmZvIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNzVweCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBjb2xvcjogJGRhcmtHcmV5OyB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICRkYXJrR3JleTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgY29sb3I6ICRkYXJrR3JleTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHNlbWlib2xkKCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogZGFya2VuKCRkYXJrR3JleSwgOCUpOyB9IH0gfVxuXG4gICAgJi5sb2dvLWZhbGxiYWNrIHtcbiAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleChmbGV4LWVuZCwgY2VudGVyKTtcbiAgICAgICAgaGVpZ2h0OiAyNDBweDsgfVxuXG4gICAgICAuaW1hZ2UtcGxhY2Vob2xkZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgaW1hZ2U6IHVybChcIi9pbWcvbWVkdmFsdWVfcG93ZXJlZC5wbmdcIik7XG4gICAgICAgICAgcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgICBzaXplOiBjb250YWluO1xuICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0OyB9IH0gfSB9XG5cblxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTAwMCkge1xuICAgIC5ncmlkLXJvdyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4gICAgLmN0YS10cmlnZ2VyLCAuY3RhLXRyaWdnZXItMiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDY1cHggY29sdW1uKDEsIDE0KTsgfVxuXG4gICAgLmN0YS10cmlnZ2VyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbiAgICAuY3RhLXBlcnNvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgcGFkZGluZzogMCBjb2x1bW4oMSwgMTQpIDY1cHg7XG5cbiAgICAgICYubG9nby1mYWxsYmFjayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfSB9XG5cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ3NSkge1xuICAgIC5jdGEtdHJpZ2dlciwgLmN0YS10cmlnZ2VyLTIge1xuICAgICAgYnIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuICAgIC5jdGEtcGVyc29uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5pbWFnZS1wbGFjZWhvbGRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9IH0gfVxuXG5cbiIsIi5zdGVwcy1zbGlkZXIge1xuICBwYWRkaW5nOiAyMHB4IDAgNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9mZnNldFdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLmdyaWQtcm93IHtcbiAgICA+IGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAvLytrYXJsYVxuICAgICAgY29sb3I6ICRkYXJrR3JleTsgfVxuIH0gICAgLy90ZXh0LWFsaWduOiBjZW50ZXJcblxuICAuc2xpZGVyLW5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiA0NXB4IGF1dG8gMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW1lR3JlZW47IH1cblxuXG4gICAgLnNsaWRlLW5hdi1pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMnB4IDE4cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGxpbWVHcmVlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBmb250LXdlaWdodDogYm9sZCgpO1xuICAgICAgY29sb3I6ICRkYXJrR3JleTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNHMsIGJhY2tncm91bmQgMC40cztcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7IH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbih3aGl0ZSwgMTAlKTsgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW1lR3JlZW47XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfSB9IH1cblxuICAuc2xpZGVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICBtYXJnaW46IDUwcHggYXV0byAwO1xuXG4gICAgLnNsaWRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgLy9jb2xvcjogJGJsYWNrQmx1ZVxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cywgdHJhbnNmb3JtIDAuNHM7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZCgpOyB9IH1cblxuICAgIC5uYXZpZ2F0aW9uLWJ1dHRvbnMge1xuXG4gICAgICAubmF2LWl0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cbiAgICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIC5zdDAge1xuICAgICAgICAgICAgICBmaWxsOiB3aGl0ZTsgfSB9IH1cblxuICAgICAgICAmLnByZXZpb3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcbiAgICAgICAgICByaWdodDogY2FsYyg1MCUgKyAzcHgpO1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfSB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGdyZXksIDUlKTsgfSB9XG5cbiAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGltZUdyZWVuO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlICsgM3B4KTtcblxuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH0gfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGxpbWVHcmVlbiwgMTAlKTsgfSB9IH0gfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5NzUpIHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLmdyaWQtcm93IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICA+aDIge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDA7IH0gfVxuXG4gICAgLnNsaWRlci1uYXYge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLnNsaWRlcyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAgIC5zbGlkZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggY29sdW1uKDEsIDEyKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCkgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICAgICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2Zmc2V0V2hpdGU7IH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9IH0gfSB9XG4iLCIuZW1wbG95ZWVzLXJvdyB7XG4gIHBhZGRpbmc6IDgwcHggMCA2MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2Zmc2V0V2hpdGUyO1xuXG4gIC5ncmlkLXJvdyB7XG4gICAgaDIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIEBpbmNsdWRlIGRvc2lzQm9sZDtcbiAgICAgIGNvbG9yOiAkbGlnaHRHcmV5OyB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDExMDApIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBoMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4OyB9IH0gfVxuXG4gIC5vdmVydmlldyB7XG4gICAgcGFkZGluZzogNjBweCAwIDA7XG5cbiAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGZsZXgtc3RhcnQpO1xuICAgIEBpbmNsdWRlIGZsZXgtcm93cztcblxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZmxleCkge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgIGdyaWQtZ2FwOiA2MHB4IDYwcHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTEwMCkge1xuICAgICAgICBwYWRkaW5nOiAwIDYwcHg7IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMjUwKSB7XG4gICAgICAgIGdyaWQtZ2FwOiAzMHB4IDMwcHg7IH0gfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMTAwKSB7XG4gICAgICBwYWRkaW5nOiA2MHB4IDIwcHggMDtcblxuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggNDBweCAwOyB9IH1cblxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMjUwKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDYwcHggMjBweCAwICFpbXBvcnRhbnQ7IH0gfVxuXG4gIGFydGljbGUge1xuICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgZmxleC1zdGFydCk7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgIG1hcmdpbjogMCAxNXB4IDYwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuXG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEzNTApIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cblxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZmxleCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAvL2hlaWdodDogMTAwJVxuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWFyZ2luOiAwOyB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDYwMCkge1xuICAgICAgZm9udC1zaXplOiAwLjlyZW07IH1cblxuICAgIC5lbXBsb3llZS1pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMjAwcHg7XG5cbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDtcblxuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9IH0gfVxuXG5cbiAgICAuZW1wbG95ZWUtZGVzY3JpcHRpb24ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwMHB4KTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgY2VudGVyKTtcbiAgICAgIHBhZGRpbmc6IDI1cHg7XG5cbiAgICAgIGg0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGNvbG9yOiAkbGltZUdyZWVuOyB9XG5cbiAgICAgIHAsIGEge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40OyB9XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICAgIGNvbG9yOiAkZGFya0dyZXk7XG5cbiAgICAgICAgJi5saW5rZWRpbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGlua2VkaW5TcHJpdGU7IH0gfSB9XG5cbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogcmdiYSgkbGlnaHRHcmV5LCAwLjc1KTtcbiAgICAgICAgKyBwIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7IH1cblxuICAgICAgICAmLmZ1bmN0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH0gfVxuXG5cbiAgICAuaWUgJiB7XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEzNTApIHtcbiAgICAgICAgLmVtcGxveWVlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTYwcHgpOyB9XG4gICAgICAgIC5lbXBsb3llZS1pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTMwJTsgfSB9IH0gfVxuXG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEyNTApIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDYyNXB4O1xuXG4gICAgICArIGFydGljbGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2Ni42NyU7IH1cblxuICAgICAgLmllICYge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDYyNXB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLmVtcGxveWVlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjAwcHgpOyB9XG5cbiAgICAgICAgLmVtcGxveWVlLWltYWdlIHtcbiAgICAgICAgICB3aWR0aDogMjAwcHg7XG5cbiAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7IH0gfSB9IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNTAwKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAuZW1wbG95ZWUtaW1hZ2Uge1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4gICAgICAuZW1wbG95ZWUtZGVzY3JpcHRpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4gICAgICAgIC8vcGFkZGluZzogMCAyNXB4XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9IH1cblxuXG4gIC5pZSAmIHtcblxuICAgIGFydGljbGUge1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgIG1heC13aWR0aDogbm9uZTsgfVxuXG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDUwMCkge1xuICAgICAgLmVtcGxveWVlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgLy8uZ3JpZC1yb3dcbiAgICAgIC8vICBoMlxuICAgICAgLy8gICAgdGV4dC1hbGlnbjogY2VudGVyXG4gICAgICAvL1xuICAgICAgLy8ub3ZlcnZpZXdcbiAgICAgIC8vICBkaXNwbGF5OiBibG9ja1xuICAgICAgLy9cbiAgICAgIC8vYXJ0aWNsZVxuICAgICAgLy8gIHdpZHRoOiAxMDAlXG4gICAgICAvLyAgbWF4LXdpZHRoOiA1NzVweFxuIH0gfSB9ICAgICAgLy8gIG1hcmdpbjogMCBhdXRvIDYwcHhcbiIsIi5pbmRleC1ncmlkLXJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvZmZzZXRXaGl0ZTI7XG5cbiAgLm5vLWF2YWlsYWJsZSB7XG4gICAgcGFkZGluZzogNjBweCAyMHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkZGFya0dyZXk7IH1cblxuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luOiAwIDZweDtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkc2VtaUxpZ2h0R3JleTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICRsaW1lR3JlZW47XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQoKTsgfSB9XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSwgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBhLCBzcGFuIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMDtcblxuICAgICAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblxuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgIGZpbGw6ICRzZW1pTGlnaHRHcmV5OyB9IH0gfSB9XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGEsIHNwYW4ge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgtMSwgMSwgMSk7IH0gfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblxuICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogcmdiYSgkc2VtaUxpZ2h0R3JleSwgMC4zKTsgfSB9IH0gfSB9IH1cblxuQGltcG9ydCBcImxhcmdlQmFkZ2VzXCI7XG5AaW1wb3J0IFwic3F1YXJlc1wiO1xuQGltcG9ydCBcImxpc3RcIjtcbiIsIi5sYXJnZS1iYWRnZXMtZ3JpZCB7XG5cbiAgLm92ZXJ2aWV3IHtcbiAgICBwYWRkaW5nOiA2MHB4IDAgMDtcblxuICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1yb3dzO1xuXG4gICAgYXJ0aWNsZSB7XG4gICAgICBtYXJnaW46IDAgMTVweCA2MHB4O1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ4MCkge1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4OyB9IH1cblxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZmxleCkge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICBncmlkLWdhcDogNjBweCA2MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG5cbiAgICAgICYuZmlyc3QtcGFnZSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmciAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiZmlyc3QgZmlyc3QgaXRlbS0yXCIgXCJmaXJzdCBmaXJzdCBpdGVtLTNcIiBcIml0ZW0tNCBpdGVtLTUgaXRlbS02XCI7XG5cbiAgICAgICAgYXJ0aWNsZTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZ3JpZC1hcmVhOiBmaXJzdDsgfSB9XG5cbiAgICAgIGFydGljbGUge1xuICAgICAgICBtYXJnaW46IDA7IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxNzAwKSB7XG4gICAgICAgIGdyaWQtZ2FwOiAzMHB4IDMwcHg7IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMDAwKSB7XG4gICAgICAgIGdyaWQtZ2FwOiA2MHB4IDYwcHg7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcblxuICAgICAgICAmLmZpcnN0LXBhZ2Uge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiZmlyc3QgZmlyc3RcIiBcImZpcnN0IGZpcnN0XCI7IH0gfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDk1MCkge1xuICAgICAgICBncmlkLWdhcDogMzBweCAzMHB4OyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODQwKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBhcnRpY2xlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH0gfSB9XG5cbiAgYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDQ1JTtcbiAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA0MHB4IDAgcmdiYSgwLDAsMCwwLjIpO1xuXG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG5cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGZsZXgpIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgYSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg3NDApIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDYwMCkge1xuICAgICAgZm9udC1zaXplOiAwLjlyZW07IH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2NSU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZmxleCkge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cblxuICAgICAgZmlndXJlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzOyB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgJi5tZWRpdW0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfSB9XG5cblxuICAgICAgLmRhdGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDglO1xuICAgICAgICB0b3A6IDEyJTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkKCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNHM7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5NTApIHtcbiAgICAgICAgICBmb250LXNpemU6IDIuNWVtOyB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5NTApIHtcbiAgICAgICAgICBmb250LXNpemU6IDJlbTsgfSB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICB3aWR0aDogY2FsYyg4MCUgLSAxMHB4KTtcbiAgICAgICAgbGVmdDogOSU7XG4gICAgICAgIGJvdHRvbTogOSU7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBmb250LXdlaWdodDogc2VtaWJvbGQoKTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC40cztcblxuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICAgICAgICBib3R0b206IC03cHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHM7XG5cbiAgICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG5cbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICBmaWxsOiAkZGFya0dyZXk7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC40czsgfSB9IH0gfSB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGEge1xuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMTsgfSB9XG5cbiAgICAgICAgLmFycm93IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwwLDApO1xuICAgICAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICBmaWxsOiB3aGl0ZTsgfSB9IH1cblxuICAgICAgICBoMiwgLmRhdGUge1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTsgfSB9IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDgwKSB7XG4gICAgICBhIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDY1JTsgfVxuXG4gICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHg7IH0gfSB9XG5cbiAgICAuZmlyc3QtcGFnZSAmIHtcbiAgICAgICYjcG9zdC0wIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgcGFkZGluZzogNSUgOCU7XG5cbiAgICAgICAgICAuaWUgJiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgNjUlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIC5kYXRlIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAzZW0gIWltcG9ydGFudDsgfVxuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW0gIWltcG9ydGFudDsgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ4MCkge1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG4gICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgICAmLmxhcmdlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTUwKSB7XG4gICAgICAgICAgICAgICAgJi5sYXJnZSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAgICAgJi5tZWRpdW0ge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfSB9IH1cblxuICAgICAgICAgIC5kYXRlIHtcbiAgICAgICAgICAgIHRvcDogOCU7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuNzVlbTsgfVxuXG4gICAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNSUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxNzUwKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1JTsgfSB9XG5cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDg0MCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDY1JTtcblxuICAgICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgICB0b3A6IDEyJTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyZW07IH1cblxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg0ODApIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH0gfSB9IH0gfVxuIiwiLnNxdWFyZXMtZ3JpZCB7XG5cbiAgLm92ZXJ2aWV3IHtcbiAgICBwYWRkaW5nOiA2MHB4IDAgMDtcblxuICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1yb3dzO1xuXG4gICAgYXJ0aWNsZSB7XG4gICAgICBtYXJnaW46IDAgMTVweCA2MHB4O1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ4MCkge1xuICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgIGdyaWQtZ2FwOiA2MHB4IDYwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcblxuICAgICAgYXJ0aWNsZSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDE3MDApIHtcbiAgICAgICAgZ3JpZC1nYXA6IDMwcHggMzBweDsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEwMDApIHtcbiAgICAgICAgZ3JpZC1nYXA6IDYwcHggNjBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTUwKSB7XG4gICAgICAgIGdyaWQtZ2FwOiAzMHB4IDMwcHg7IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4MDApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogNTIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfSB9XG5cbiAgYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA1MjBweDtcblxuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjAwKSB7XG4gICAgICBmb250LXNpemU6IDAuOXJlbTsgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCA0MHB4IDAgcmdiYSgwLDAsMCwwLjIpO1xuXG4gICAgICAuaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuICAgICAgLnN0eWxpbmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGltZUdyZWVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4IDAgMCAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cztcblxuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBsZWZ0OiA0cHg7XG4gICAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuICAgICAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgZmlsbDogd2hpdGU7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4zczsgfSB9IH0gfSB9XG5cbiAgICBoMiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBAaW5jbHVkZSBkb3Npc0JvbGQ7XG4gICAgICBjb2xvcjogJGdyZXk7IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgZmlndXJlIHtcbiAgICAgICAgLnN0eWxpbmcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGxpbWVHcmVlbiwgMC42KTsgfSB9IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODAwKSB7XG4gICAgICArIGFydGljbGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnQ7IH1cblxuICAgICAgZmlndXJlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDY2LjY3JTsgfSB9IH0gfVxuIiwiLmxpc3Qtcm93IHtcbiAgLmdyaWQtcm93IHtcbiAgICBwYWRkaW5nOiA2MHB4IDAgMTAwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDg4MCkge1xuICAgICAgcGFkZGluZy10b3A6IDEwMHB4OyB9XG5cbiAgICBoMSB7XG4gICAgICBtYXJnaW46IDAgMCA2MHB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuICAubGlzdCB7XG5cbiAgICBhcnRpY2xlIHtcblxuICAgICAgKyBhcnRpY2xlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4gICAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0LCBjZW50ZXIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuM3M7XG5cbiAgICAgICAgLmRhdGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggNDBweDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkb2Zmc2V0V2hpdGUzO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkKCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgY29sb3I6ICRzZW1pTGlnaHRHcmV5O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNHM7IH1cblxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZzogMjVweDtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTIycHgpO1xuXG4gICAgICAgICAgJi53aXRoLWltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNjhweCk7IH1cblxuICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDZweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIGNvbG9yOiAkc2VtaUxpZ2h0R3JleTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRvc2lzQm9sZDsgfVxuXG4gICAgICAgICAgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgY29sb3I6ICRsaW1lR3JlZW47XG4gICAgICAgICAgICBAaW5jbHVkZSBkb3Npc0JvbGQ7XG5cbiAgICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cbiAgICAgICAgICAgICAgLmFycm93LWljb24ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICBmaWxsOiAkbGltZUdyZWVuOyB9IH0gfSB9IH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRsaW1lR3JlZW47XG4gICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsMCwwKTsgfSB9IH0gfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNzQwKSB7XG4gICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICAgIC5kYXRlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAyNXB4OyB9XG5cbiAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gODVweCk7XG5cbiAgICAgICAgICAgICYud2l0aC1pbWFnZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4NXB4KTsgfVxuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9XG5cbiAgICAgICAgICAgIC5yZWFkLW1vcmUge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTsgfSB9IH0gfSB9IH0gfVxuXG5cbiIsIkBpbXBvcnQgXCJzdWJNZW51XCI7XG5AaW1wb3J0IFwibW9kZWxEZXRhaWxcIjtcbiIsIi5zaG93LXN1Yi1tZW51IHtcbiAgcGFkZGluZzogODBweCAwO1xuICA+cCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6ICRkYXJrR3JleTtcbiAgICBmb250LXdlaWdodDogc2VtaWJvbGQoKTtcbiAgICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkc2VtaUxpZ2h0R3JleSwgMC4yNSk7XG5cbiAgICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGZsZXgtc3RhcnQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkc2VtaUxpZ2h0R3JleTtcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjdweCk7IH1cblxuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICByaWdodDogNHB4O1xuICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuXG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMThweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG5cbiAgICAgICAgICAgICYuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRncmV5OyB9IH0gfSB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDhweCwwLDApOyB9IH0gfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkZGFya0dyZXk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHNlbWlib2xkKCk7IH0gfSB9IH0gfVxuIiwiLnNob3ctbW9kZWwtZGV0YWlsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5yZXR1cm4tdG8tb3ZlcnZpZXcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZW1pTGlnaHRHcmV5O1xuICAgIHBhZGRpbmc6IDIwcHggY29sdW1uKDEsIDE0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5hcnJvdyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIGxlZnQ6IDRweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXG4gICAgICBzdmcge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxNXB4OyB9XG5cbiAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBmaWxsOiB3aGl0ZTsgfSB9IH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXdlaWdodDogc2VtaWJvbGQoKTsgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAuYXJyb3cge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsMCwwKTsgfSB9IH1cblxuICAuc2hvdy1zdWItbWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBjb2x1bW4oMywgMTIpO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuICAuZHluYW1pYy1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGNvbHVtbig5LCAxMik7XG4gICAgcGFkZGluZzogODBweCAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwOyB9XG5cbiAgICAuZHluYW1pYy1ibG9jayB7XG4gICAgICAmLmZ1bGwtdGV4dC1ibG9jayB7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH0gfSB9XG5cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDkwMCkge1xuICAgIC5ncmlkLXJvdyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgZmxleC1zdGFydCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvd3M7IH1cblxuICAgIC5yZXR1cm4tdG8tb3ZlcnZpZXcge1xuICAgICAgQGluY2x1ZGUgb3JkZXIoMSk7XG4gICAgICBAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQsIGNlbnRlcik7IH1cblxuICAgIC5keW5hbWljLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgb3JkZXIoMik7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDQwcHggY29sdW1uKDEsIDE0KTsgfVxuXG4gICAgLnNob3ctc3ViLW1lbnUge1xuICAgICAgQGluY2x1ZGUgb3JkZXIoMyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib3JkZXJDb2xvciwgMC40KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogODBweCBjb2x1bW4oMSwgMTQpOyB9IH1cblxuICAmLm92ZXJ2aWV3LXBhZ2Uge1xuICAgIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbiAgICAuZHluYW1pYy1jb250ZW50IHtcbiAgICAgIHdpZHRoOiBjb2x1bW4oNywgMTIpOyB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDkwMCkge1xuICAgICAgLnNob3ctc3ViLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZHluYW1pYy1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDc1MCkge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4OyB9IH1cbiIsIkBpbXBvcnQgXCJob21lXCI7XG5AaW1wb3J0IFwiYWJvdXRcIjtcbkBpbXBvcnQgXCJjbGllbnRzXCI7XG5AaW1wb3J0IFwiY29udGFjdFwiO1xuQGltcG9ydCBcImRlZmF1bHRcIjtcblxuQGltcG9ydCBcImVycm9yXCI7XG5AaW1wb3J0IFwic2l0ZW1hcFwiO1xuXG5AaW1wb3J0IFwic2VydmljZXMvc2VydmljZXNcIjtcbkBpbXBvcnQgXCJwcm9qZWN0cy9wcm9qZWN0c1wiO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhvbWUgcGFnZVxuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI2hvbWUge1xuICBoZWFkZXIge1xuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9IH1cbiIsIiIsIiNjbGllbnRzIHtcbiAgLmR5bmFtaWMtY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuICAuc3F1YXJlcy1ncmlkIC5vdmVydmlldyB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuICAmLmllIHtcbiAgICAuZHluYW1pYy1jb250ZW50IHtcbiAgICAgIC5jb250ZW50LWJsb2NrIHtcbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7IH0gfSB9IH0gfVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBDb250YWN0IHBhZ2VcbiAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNjb250YWN0IHtcblxuICAjbWFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ1MHB4OyB9XG5cbiAgLmNvbnRhY3QtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGJsdWVcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZW1pTGlnaHRHcmV5OyB9XG5cbiAgICAuY29udGFjdC1pbmZvLCAuY29udGFjdC1mb3JtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuXG4gICAgLmNvbnRhY3QtaW5mbyB7XG4gICAgICB3aWR0aDogY29sdW1uKDUsIDEyKTtcbiAgICAgIHBhZGRpbmc6IDcycHggMCAxMDBweDtcblxuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgY29sb3I6ICRkYXJrR3JleTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzJweDtcbiAgICAgICAgQGluY2x1ZGUgZG9zaXNCb2xkOyB9XG5cbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHNlbWlib2xkKCk7XG4gICAgICAgIG1hcmdpbjogMTAwcHggMCAxNXB4OyB9XG5cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBjb2xvcjogcmdiYSgkZ3JleSwgMC43NSk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBzZW1pYm9sZCgpO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmtHcmV5OyB9IH0gfVxuXG4gICAgICAub3BlbmluZy1ob3VycyB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgY29sb3I6IHJnYmEoJGdyZXksIDAuNzUpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuXG4gICAgICAgICAgLmRheSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTc1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDAwKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMzBweDsgfSB9XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmtHcmV5O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQoKTsgfSB9IH1cbiAgICAgIC8vZm9udC13ZWlnaHQ6IGJvbGRcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMTAwKSB7XG4gICAgICAgIHdpZHRoOiBjb2x1bW4oNSwgMTIpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbiAgICAuY29udGFjdC1mb3JtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuICAgICAgd2lkdGg6IGNvbHVtbig2LCAxMik7XG4gICAgICBwYWRkaW5nOiA3MnB4IDAgMTAwcHggY29sdW1uKDEsIDEyKTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4gICAgICA+IHAge1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgY29sb3I6ICRncmV5OyB9IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODQwKSB7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgIC5ncmlkLXJvdyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbiAgICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAuY29udGFjdC1pbmZvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDcycHggY29sdW1uKDEsIDEyKSAxMDBweDtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9IH1cblxuICAgICAgLmNvbnRhY3QtZm9ybSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZW1pTGlnaHRHcmV5O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogY29sdW1uKDEsIDEyKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfSB9IH1cbiIsImJvZHkuZGVmYXVsdCB7XG4gIC5keW5hbWljLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDYwcHggMCAxMjBweDtcblxuICAgIC5keW5hbWljLWJsb2NrLmZ1bGwtdGV4dC1ibG9jayB7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfSB9IH1cbiIsIiNlcnJvci1wYWdlLW1lc3NhZ2Uge1xuICBwYWRkaW5nOiAxMDBweCAwIDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyQ29sb3I7XG5cbiAgLmdyaWQtcm93IHtcbiAgICAua21zLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuICAgIC5wbGFjZWhvbGRlciB7XG4gICAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG5cbiAgICAvL3BcbiAgICAvLyAgZm9udC1zaXplOiAxcmVtXG4gICAgLy8gIGxpbmUtaGVpZ2h0OiAxLjdcbiAgICAvLyAgZm9udC13ZWlnaHQ6IGJvbGRcbiAgICAvLyAgY29sb3I6ICRncmV5XG4gICAgLy9cbiAgICAvLyAgK3Jlc3BvbmQtdG8td2lkdGgoNzAwKVxuICAgIC8vICAgIGZvbnQtc2l6ZTogMC45cmVtXG4gICAgLy8gICtyZXNwb25kLXRvLXdpZHRoKDQ1MClcbiB9IH0gICAgLy8gICAgZm9udC1zaXplOiAwLjhyZW1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgU2l0ZW1hcCBwYWdlXG4gIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2l0ZW1hcCB7XG4gIHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07IH1cblxuICA+dWwge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuXG4gIGxpIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6IDZweDsgfVxuXG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAzcHggMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgkYmxhY2ssIDAuNCk7IH0gfSB9IH1cbiIsIkBpbXBvcnQgXCJpbmRleFwiO1xuQGltcG9ydCBcInNob3dcIjtcbiIsIiNzZXJ2aWNlcyB7XG4gICYuaWUge1xuICAgIC5zcXVhcmVzLWdyaWQge1xuICAgICAgYXJ0aWNsZSB7XG4gICAgICAgIHdpZHRoOiAxNCU7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMjQwKSB7XG4gICAgICAgICAgd2lkdGg6IDI1JTsgfVxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDc4MCkge1xuICAgICAgICAgIHdpZHRoOiA0MCU7IH0gfSB9IH1cblxuICAuc3F1YXJlcy1ncmlkIHtcbiAgICAub3ZlcnZpZXcge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnIgMWZyOyB9IH1cblxuICAuaW5kZXgtZ3JpZC1yb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbWVHcmVlbjtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMzAwKSB7XG4gICAgICAgIGhlaWdodDogMTUwcHg7IH0gfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMDAwKSB7XG4gICAgLnNxdWFyZXMtZ3JpZCAub3ZlcnZpZXcge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4MDApIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuXG4gICAgICAgIGFydGljbGUge1xuICAgICAgICAgICsgYXJ0aWNsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsgfSB9IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2MDApIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDAwKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBhcnRpY2xlIHtcbiAgICAgICAgICArIGFydGljbGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50OyB9IH0gfSB9IH0gfVxuIiwiI3NlcnZpY2VzIHtcbiAgLnNob3ctbW9kZWwtZGV0YWlsIHtcbiAgICAuZHluYW1pYy1jb250ZW50IHtcbiAgICAgIC5jb250ZW50LWJsb2NrIHtcbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICB3aWR0aDogMjUwcHg7IH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI5MHB4KTsgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTAwKSB7XG4gICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cblxuICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfSB9IH0gfVxuIiwiQGltcG9ydCBcImluZGV4XCI7XG4iLCIjcHJvamVjdHMge1xuICAubGFyZ2UtYmFkZ2VzLWdyaWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyNDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbWVHcmVlbjsgfVxuXG4gICAgLm92ZXJ2aWV3IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTIwMCkge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGhlaWdodDogMTYwcHg7IH0gfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4ODApIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAzNTBweDsgfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDU2MCkge1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAyMzBweDsgfSB9IH0gfVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUVBQTs7c0ZBRXNGO0FBQ3RGOzs7OztHQUtHO0FBSUg7O0dBRUc7QUNkSDs7O2lCQUdpQjtBd0VIakI7O3NGQUVzRjtBQUV0Rjs7O0dBR0c7QUNQSDs7cUZBRXFGO0FBRXJGOzs7O0lBSUk7QUFjSjs7O0lBR0k7QUFJSjs7SUFFSTtBTS9CSjs7c0ZBRXNGO0FBRXRGLEFBQUEsQ0FBQyxDQUFDO0VBQ0EsVUFBVSxFQUFFLFVBQVU7Q0FBRzs7QUFFM0I7Ozs7R0FJRztBQUNILEFBQUEsSUFBSSxDQUFDO0VBQ0gsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztDQUFHOztBQUVyQjs7O0dBR0c7QUFDSCxBQUFBLEdBQUcsQ0FBQztFQUNGLE9BQU8sRUFBRSxLQUFLO0VBQ2QsTUFBTSxFQUFFLElBQUk7Q0FB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 */\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/style.sass","@mixin placeholder {\n  &::-webkit-input-placeholder /* Chrome/Opera/Safari */ {\n    @content; }\n  &::-moz-placeholder /* Firefox 19+ */ {\n    @content; }\n  &:-ms-input-placeholder /* IE 10+ */ {\n    @content; }\n  &:-moz-placeholder /* Firefox 18- */ {\n    @content; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/mixins/_placeholder.sass","/*==========================================================================\n  Grid\n  @mixin ========================================================================= */\n\n/**\n  * Grid row\n  *\n  * 1. The outer two columns are just margin\n  * 2. Prevent inline-block cells wrapping\n  * 3. Prevent vertical spacing between inline-blocks\n  */\n\n.grid-row {\n  width: column(12) /* 1 */;\n  max-width: 1440px;\n  margin: 0 auto;\n  font-size: 0 /* 2 */;\n  line-height: 0 /* 3 */;\n\n  /**\n   * The full row doesn't have the two outer margin rows\n   * They stretch till both ends of the window\n   */\n\n  &.full-row {\n    width: 100%;\n    max-width: none; } }\n\n/**\n * Grid column\n *\n * 1. Reset white-space inherited from `.grid`\n * 2. Reset font-size inherited from `.grid`\n * 3. Reset line-height inherited from `.grid`\n */\n\n.grid-col {\n  position: relative;\n\n  display: inline-block;\n  overflow: hidden;\n  white-space: normal /* 1 */;\n  font-size: 1rem /* 2 */;\n  line-height: 1.6 /* 3 */;\n\n  /**\n   * Center column\n   *\n   * 1. 'inline-block' doesn't center with margin '0 auto'\n   */\n\n  &.center {\n    display: block /* 1 */;\n    margin: 0 auto; } }\n\n\n\n\n@for $i from 1 through $gridColumns {\n\n  /* Column dimensions\n   @mixin ========================================================================= */\n\n  /*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n\n  .col-#{$i}, .col-lg-#{$i} {\n    width: column($i,12);\n\n\n    .full-row & {\n      width: column($i); } }\n\n\n  /* Column shifts\n   @mixin ========================================================================= */\n\n  .offset-#{$i}, .offset-lg-#{$i} {\n    margin-left: column($i,12); } }\n\n\n\n/* Media queries\n @mixin ========================================================================= */\n\n /*\n  * Create a separate loop because of order for css rendering\n  * because else it would overrule a previous media query\n  */\n\n@for $i from 1 through $gridColumns {\n\n  // Media query for large desktop\n  @include respond-to-width-beyond($xlGridBreakpoint) {\n    .col-xl-#{$i} {\n      width: column($i,12); }\n\n    .offset-xl-#{$i} {\n      margin-left: column($i,12); } }\n\n  // Media query for normal desktop\n  @include respond-to-width($mdGridBreakpoint) {\n    .col-md-#{$i} {\n      width: column($i,12); }\n\n    .offset-md-#{$i} {\n      margin-left: column($i,12); } }\n\n  // Media query for tablets\n  @include respond-to-width($smGridBreakpoint) {\n    .col-sm-#{$i} {\n      width: column($i,12); }\n\n    .offset-sm-#{$i} {\n      margin-left: column($i,12); } }\n\n  // Media query for mobile\n  @include respond-to-width($xsGridBreakpoint) {\n    .col-xs-#{$i} {\n      width: column($i,12); }\n\n    .offset-xs-#{$i} {\n      margin-left: column($i,12); } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/grid/_grid.sass","@mixin respond-to-width($width) {\n  $width : $width + 'px';\n  @media screen and (max-width: $width) {\n    @content; } }\n\n@mixin respond-to-width-beyond($width) {\n  $width : ($width + 1)  + 'px';\n  @media screen and (min-width: $width) {\n    @content; } }\n\n@mixin respond-to-height($height) {\n  $height : $height + 'px';\n  @media screen and (max-height: $height) {\n    @content; } }\n\n@mixin respond-to-width-or-height($width, $height) {\n  $width : $width + 'px';\n  $height : $height + 'px';\n  @media screen and (max-width: $width), screen and (max-height: $height) {\n    @content; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/mixins/_mediaQueries.sass","/* ==========================================================================\n   This grid can be turned on and off when you want to check\n   if everything is nice in place.\n   @mixin ========================================================================= */\n\n.visible-grid-container {\n  display: flex;\n  justify-content: center; }\n\n/**\n * 1. Makes it able to control the website while grid is shown\n */\n.visible-grid {\n  display: block;\n  position: fixed;\n  z-index: 10000;\n  pointer-events: none /* 2 */;\n\n  .grid-col {\n    background: rgba(0,255,255,.6);\n    height: 100vh;\n\n    &:nth-child(2n) {\n      background: rgba(0,255,255,.3); } }\n\n  &:before, &:after {\n    content: '';\n    position: absolute;\n    top: 0;\n    width: calc(100% / 12);\n    height: 100%;\n    background: rgba(0,255,0,.5); }\n\n  &:before {\n    left: calc(-100% / 12); }\n\n  &:after {\n    right: calc(-100% / 12); }\n\n  //&:nth-child(1),&:nth-child(14)\n }  ////  background: rgba(0,255,0,.5)\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/grid/_visibleGrid.sass",".breakpoint {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  width: 20px;\n  height: 20px;\n  z-index: 10000;\n  background: #0ABEFF;\n\n  // Larger then xlBreakpoint\n  @include respond-to-width-beyond($xlGridBreakpoint) {\n    background: red; }\n\n  // Loop through other breakpoints\n  $breakpoints :  (blue $lgGridBreakpoint) (green $mdGridBreakpoint) (yellow $smGridBreakpoint) (pink $xsGridBreakpoint);\n\n  @each $list in $breakpoints {\n\n    $color : nth($list,1);\n    $breakpoint : nth($list,2);\n\n    @include respond-to-width($breakpoint) {\n      background: $color; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/partials/_breakpoints.sass","/* ==========================================================================\n   Expend Basic style settings\n   @mixin ========================================================================= */\n\n/*\n * Set up the html\n *\n * 1. Makes sue that some fonts are better rendered\n */\n\nhtml {\n  -webkit-font-smoothing: antialiased /* 2 */;\n  -moz-osx-font-smoothing: grayscale;\n  text-rendering: optimizeLegibility; }\n\n\n/*\n * Set up the body\n *\n * 1. Set font to lining figures\n */\n\nbody {\n  margin: 0;\n\n  font-family: $fontFamily;\n  line-height: 1.6;\n\n  font-feature-settings: 'lnum' /* 1 */; }\n\n/*\n * Set default settings for all elements\n *\n * 1. Default selection styling\n *\n */\n* {\n  ::selection /* 2 */ {\n    background: $blue;\n    color: white; } }\n\n/**\n * 1.Default display for images is block to lose the extra margin below the image\n */\nimg {\n  opacity: 1;\n  transition: opacity 0.3s;\n\n  &.preload {\n    opacity: 0; } }\n\n/*\n * Set default styling for input and textarea\n *\n * 1. Set font because else the agent will overrule them with an ugly font\n */\ninput, textarea {\n  font-family: $fontFamily /* 1 */; }\n\n/*\n * Set default styling for a button\n *\n */\n.button {\n  display: inline-block;\n  padding: 15px 25px;\n  background-color: $limeGreen;\n  border: 1px solid transparent;\n  border-radius: 15px;\n  text-decoration: none;\n  font-size: 0.7rem;\n  line-height: 1.2;\n  font-weight: semibold();\n  text-transform: uppercase;\n  color: white;\n  transition: box-shadow 0.4s;\n\n  &.shadow {\n    box-shadow: 4px 4px 10px 0 rgba(0,0,0,0.1); }\n\n  .arrow {\n    position: relative;\n    display: inline-block;\n    width: 12px;\n    transform: translate3d(0,0,0);\n    transition: transform 0.3s;\n\n    svg {\n      width: 100%;\n      max-height: 16px;\n      path {\n        fill: white; } } }\n\n  &:hover {\n    box-shadow: 4px 4px 10px 0 rgba(0,0,0,0);\n    .arrow {\n      transform: translate3d(5px, 0, 0); } }\n\n  &.right {\n    .arrow {\n      top: 1px;\n      transform: rotate(-90deg);\n      margin-left: 15px; }\n\n    &:hover {\n      .arrow {\n        transform: rotate(-90deg) translate3d(0, 5px, 0); } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/_base.sass","/* ==========================================================================\n   Helper classes\n   @mixin ========================================================================= */\n\n/**\n * Use on elements from where the children should not wrap\n */\n.nowrap {\n  white-space: nowrap; }\n\n/**\n * Hide elements on different screen sizes\n */\n$breakpoints :  ('xl' $xlGridBreakpoint) ('lg' $lgGridBreakpoint) ('md' $mdGridBreakpoint) ('sm' $smGridBreakpoint) ('xs' $xsGridBreakpoint);\n\n@each $list in $breakpoints {\n\n  $name : nth($list,1);\n  $breakpoint : nth($list,2);\n\n  @include respond-to-width($breakpoint) {\n    .hide-on-#{$name}-or-smaller {\n      display: none; } }\n\n  @include respond-to-width-beyond($breakpoint) {\n    .hide-on-#{$name}-or-larger {\n      display: none; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/_helpers.sass",".pre-header {\n  background: $blacker;\n  padding: 12px 0;\n\n  .grid-row {\n    @include flex(flex-end, center); }\n\n  a {\n    display: inline-block;\n    font-size: 0.65rem;\n    line-height: 1.2;\n    color: rgba(white, 0.7);\n    text-transform: uppercase;\n    font-weight: semibold();\n    text-decoration: none;\n    transition: color 0.3s;\n\n    + a {\n      margin-left: 30px; }\n\n    span {\n      color: $brightBlue;\n      display: inline-block;\n      margin-right: 10px; }\n\n    &:hover {\n      color: white; } }\n\n  @include respond-to-width(750) {\n    display: none; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_preHeader.sass","@mixin flex($justify: space-between, $alignItem: initial) {\n  display: -ms-flexbox      /* TWEENER - IE 10 */;\n  display: -webkit-flex     /* NEW - Chrome */;\n  display: flex;\n\n  @include prefixer(justify-content, $justify, webkit moz ms);\n  @include prefixer(align-items, $alignItem, webkit moz ms);\n  justify-content: $justify;\n  align-items: $alignItem; }\n\n\n@mixin flex-rows {\n  @include prefixer(flex-wrap, wrap, webkit ms);\n  @include prefixer(flex-direction, row, webkit ms);\n  @include prefixer(flex-flow, row wrap, webkit); }\n\n@mixin order($place) {\n  @include prefixer(order, $place, webkit ms);\n  order: $place; }\n\n@mixin align-content($align) {\n  @include prefixer(align-content, $align, webkit);\n  align-content: $align; }\n\n@mixin align-self($align) {\n  @include prefixer(align-self, $align, webkit);\n  align-self: $align; }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/mixins/_flex.sass","//************************************************************************//\n// Example: @include prefixer(border-radius, $radii, webkit ms spec);\n//************************************************************************//\n// Variables located in /settings/_prefixer.scss\n\n@mixin prefixer ($property, $value, $prefixes) {\n  @each $prefix in $prefixes {\n    @if $prefix == webkit {\n      @if $prefix-for-webkit {\n        -webkit-#{$property}: $value;\n      }\n    }\n    @else if $prefix == moz {\n      @if $prefix-for-mozilla {\n        -moz-#{$property}: $value;\n      }\n    }\n    @else if $prefix == ms {\n      @if $prefix-for-microsoft {\n        -ms-#{$property}: $value;\n      }\n    }\n    @else if $prefix == o {\n      @if $prefix-for-opera {\n        -o-#{$property}: $value;\n      }\n    }\n    @else if $prefix == spec {\n      @if $prefix-for-spec {\n        #{$property}: $value;\n      }\n    }\n    @else  {\n      @warn \"Unrecognized prefix: #{$prefix}\";\n    }\n  }\n}\n\n@mixin disable-prefix-for-all() {\n  $prefix-for-webkit:    false !global;\n  $prefix-for-mozilla:   false !global;\n  $prefix-for-microsoft: false !global;\n  $prefix-for-opera:     false !global;\n  $prefix-for-spec:      false !global;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/bourbon/addons/_prefixer.scss",".language-menu {\n  @include flex(flex-end, center);\n\n  #mobile-navigation & {\n    margin-top: 30px;\n    @include flex(flex-start, center); }\n\n  span, a {\n    @include flex(center, center);\n    width: 32px;\n    height: 32px;\n    border-radius: 100%;\n    border: 2px solid $grey;\n\n    + * {\n      margin-left: 5px; }\n\n    &:after {\n      content: '';\n      display: block;\n      width: 24px;\n      height: 24px;\n      border-radius: 100%; }\n\n    &.nl {\n      &:after {\n        @include flagSprite(0 0, 24px, 24px); } }\n\n    &.en {\n      &:after {\n        @include flagSprite(83px 0, 24px, 24px); } } }\n\n  a {\n    opacity: 0.3;\n    transition: opacity 0.3s;\n\n    &:hover {\n      opacity: 1; } }\n\n  span {\n    border-color: darken($limeGreen, 5%); } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_languageMenu.sass","$spriteWidth: 114px;\n$spriteHeight: 25px;\n\n\n@mixin flagSprite($position, $width: auto, $height: auto) {\n\n  $positionX: nth($position, 1) * -1;\n  $positionY: nth($position, 2) * -1;\n\n  background: url(\"/img/flags.svg\") $positionX $positionY no-repeat;\n  background-size: $spriteWidth $spriteHeight;\n  width: $width;\n  height: $height; }\n\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/mixins/_flags.sass","/*==========================================================================\n  Navigation / Header\n  @mixin ========================================================================= */\n\nheader {\n  position: relative;\n  z-index: 4;\n  background-color: $offsetWhite;\n\n  &:after {\n    $gradientSize: 20px;\n    content: '';\n    position: absolute;\n    left: 0;\n    bottom: -#{$gradientSize}px;\n    right: 0;\n    display: block;\n    width: 100%;\n    height: $gradientSize;\n    background: linear-gradient($blackGradient);\n    opacity: 0.4; }\n\n  .grid-row {\n    padding: 0;\n    @include flex(center, center);\n\n    >.grid-col {\n      @include flex(space-between, center);\n      width: 100%; }\n\n    // Main logo\n    .logo {\n      display: block;\n      width: 180px;\n      a {\n        text-decoration: none; }\n\n      img {\n        width: 100%;\n        max-width: 180px;\n        max-height: 70px; }\n\n      p {\n        margin: 2px 0 0;\n        font-size: 14px;\n        color: $grey; } }\n\n\n    /* Navigation\n     @mixin ========================================================================= */\n\n    nav {\n      position: relative;\n      @include flex(flex-end, center);\n      width: calc(100% - 180px);\n\n      ul {\n        @include flex(flex-end, center);\n        list-style: none;\n        margin: 0;\n        padding: 0;\n        width: calc(100% - 100px);\n\n        li {\n          margin-right: 45px;\n\n          a {\n            position: relative;\n            display: inline-block;\n            padding: 42px 0;\n            font-size: 0.8rem;\n            line-height: 1.2;\n            color: $lightGrey;\n            @include dosisBold;\n            text-decoration: none;\n            transition: color 0.3s; }\n\n          @include respond-to-width(1450) {\n            margin-right: 30px;\n\n            @include respond-to-width(1280) {\n              a {\n                font-size: 0.65rem; } } }\n\n\n          &:last-of-type {\n            margin-right: 0; }\n\n          &:hover {\n            a {\n              color: $grey; } }\n\n          &.active {\n            a {\n              color: $darkGrey;\n\n              &:after {\n                content: '';\n                position: absolute;\n                left: 0;\n                bottom: 35px;\n                display: block;\n                width: 100%;\n                height: 2px;\n                background: $limeGreen; } } } } }\n\n      .language-menu {\n        width: 100px;\n\n        @include respond-to-width(1280) {\n          width: 80px; } } }\n\n    @include respond-to-width(1140) {\n\n      .logo {\n        width: 120px; }\n\n      nav {\n        width: calc(100% - 120px); } } }\n\n\n\n  @include respond-to-width(1050) {\n    display: none; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_header.sass","@mixin dosis {\n  font-family: 'Dosis', sans-serif; }\n\n@mixin dosisBold {\n  @include dosis;\n  font-weight: 600; }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/mixins/_fonts.sass","/* ==========================================================================\n   Footer\n   @mixin ========================================================================= */\n\nfooter {\n  background: $offsetWhite;\n\n  >.grid-row {\n    padding: 70px 0 90px; }\n\n  .grid-col {\n    vertical-align: top;\n\n    .header {\n      font-size: 0.7rem;\n      text-transform: uppercase;\n      color: $darkGrey;\n      font-weight: semibold();\n      margin: 0 0 20px; }\n\n    li a, p {\n      font-size: 0.9rem;\n      color: $lightGrey; } }\n\n  .contact {\n    width: column(4, 12);\n    margin-left: column(1, 12);\n\n    figure {\n      width: 260px;\n      margin: 35px 0 25px;\n\n      a {\n        text-align: left; }\n\n      img {\n        width: 180px;\n        max-height: 35px;\n        margin-right: auto; } }\n\n    p {\n\n      span {\n        font-size: 0.65rem;\n        color: $brightBlue;\n        display: inline-block;\n        margin-left: 10px; } }\n\n    a {\n      font-size: 0.9rem;\n      color: $grey;\n      text-decoration: none;\n      transition: color 0.2s;\n\n      &:hover {\n        color: $darkGrey; } } }\n\n  .links {\n    width: column(6, 12);\n    margin-left: column(1, 24);\n\n    >.grid-row {\n      width: 100%; }\n\n    .menu, .sub-links {\n      width: column(3, 6);\n      vertical-align: top; }\n\n    ul {\n      list-style: none;\n      padding: 0;\n      margin: 10px 0 40px;\n\n      li {\n\n        a {\n          text-decoration: none;\n          transition: color 0.3s;\n\n          &:hover {\n            color: $grey; } }\n\n        &.active {\n          a {\n            color: $darkGrey;\n            font-weight: semibold(); } } } } }\n\n  @include respond-to-width(750) {\n    .links, .contact {\n      width: column(10, 12);\n      margin-left: column(1, 12); }\n\n    .links {\n      margin-top: 60px; } }\n\n  @include respond-to-width(500) {\n    >.grid-row {\n      padding: 40px 0;\n      margin-bottom: 0 !important; }\n\n    .links {\n      margin-top: 30px;\n      .menu {\n        width: 100%;\n        margin-bottom: 30px; }\n\n      .sub-links {\n        width: 100%; } } }\n\n\n\n\n  /* Sub footer for pay off and our branding\n   @mixin ========================================================================= */\n\n  .sub-footer {\n    background-color: $limeGreen;\n    padding: 15px 0;\n\n    .grid-row {\n      .placeholder {\n        width: column(10, 12);\n        margin: auto;\n        @include flex(space-between, center); } }\n\n    p, a {\n      font-size: 0.7rem;\n      line-height: 1;\n      color: $darkGrey; }\n\n    p {\n      margin-bottom: 0.5rem;\n      opacity: 0.6; }\n\n    a {\n      //font-weight: semi-bold()\n      text-decoration: none; }\n\n    .komma {\n      position: relative;\n      @include flex(space-between, center);\n      font-size: 0.7rem;\n      line-height: 1;\n      width: 250px;\n      opacity: 0.6;\n      transition: opacity 0.2s;\n\n      span {\n        position: relative;\n        opacity: 0.6;\n        transition: opacity 0.3s;\n        top: 1px;\n        display: inline-block;\n        width: 78px;\n        height: 25px;\n        background: {\n          image: url(\"/img/komma_grey.svg\");\n          position: center;\n          size: contain;\n          repeat: no-repeat; } }\n\n      &:hover {\n        opacity: 1; } }\n\n    @include respond-to-width(600) {\n      padding-bottom: 30px;\n      .grid-row {\n        .placeholder {\n          display: block;\n          text-align: center; } }\n\n      p {\n        margin-bottom: 1.4rem; }\n\n      .komma {\n        margin: auto; } } }\n\n  @include respond-to-width(1000) {\n    padding-top: 35px;\n\n    >.grid-row {\n      @include flex(flex-start, flex-start);\n      @include flex-rows;\n      margin-bottom: 100px;\n      width: 100%; }\n\n    .main-item {\n      width: 100%;\n      padding: 0 column(1, 14);\n      margin-left: auto;\n      margin-right: auto;\n\n      .logo {\n        display: none; }\n\n\n      &.location {\n        @include order(2);\n        border-top: 2px solid rgba(white, 0.2);\n        padding-top: 40px; }\n\n      &.schools, &.menu {\n        display: none; }\n\n      >a {\n        display: inline-block; }\n\n      ul.extra-margin-bellow {\n        margin-bottom: 35px; } }\n\n    .sub-footer {\n      .grid-row {\n        .placeholder {\n          width: 100%; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_footer.sass","div.shoppingcartItemList {\n  ul {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n\n    li {\n      display: block;\n      width: 100%;\n      height: 15%;\n      border: solid 1px #cccccc;\n      margin-bottom: 20px; } } }\n\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_shoppingCart.sass","/* ==========================================================================\n   Default styling for KMS content\n   @mixin ========================================================================= */\n\n.kms-content {\n  h1, h2, h3 {\n    font-size: 1.7rem;\n    line-height: 1.4;\n    color: $darkGrey;\n    @include dosisBold;\n }    //+bree\n\n  h2, h3 {\n    font-size: 1.3rem; }\n\n  h3 {\n    color: $limeGreen; }\n\n\n  h4 {\n    font-size: 0.7rem;\n    line-height: 1.3;\n    color: $darkGrey;\n    text-transform: uppercase; }\n\n  p {\n    font-size: 0.8rem;\n    line-height: 1.8;\n    color: rgba($grey, 0.75); }\n\n  ul {\n    padding-left: 0;\n    list-style: none;\n\n    li {\n      position: relative;\n      padding-left: 30px;\n      font-size: 0.8rem;\n      line-height: 1.4;\n      color: rgba($grey, 0.75);\n\n      &:before {\n        position: absolute;\n        left: 0;\n        top: 2px;\n        content: '•';\n        color: $darkGrey;\n        font-size: 1.2em;\n        line-height: 1; }\n\n      + li {\n        margin-top: 5px; } } }\n\n  ol {\n    counter-reset: ol-counter /* 2 */;\n    padding-left: 0;\n    list-style: none;\n    li {\n      padding-left: 30px;\n      font-size: 0.8rem;\n      line-height: 1.4;\n      color: rgba($grey, 0.75);\n\n      &:before {\n        counter-increment: ol-counter;\n        content: counter(ol-counter)'.';\n        position: absolute;\n        left: 0;\n        color: $darkGrey; }\n\n      + li {\n        margin-top: 5px; } } }\n\n  a:not(.button) {\n    color: $darkGrey;\n    //text-decoration: none\n\n    &:hover {\n      color: $darkGrey;\n      text-decoration: none; } }\n\n  a.button {\n    margin-top: 40px; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_kmsContent.sass",".form {\n  display: block;\n  width: 100%;\n  max-width: 560px;\n  font-size: 1rem;\n  line-height: 1.2;\n\n  .form-element {\n    position: relative;\n    margin-bottom: 25px; }\n\n  .error-message {\n    display: none;\n    width: 100%;\n    color: $darkGrey;\n    font-size: 0.75rem;\n    font-weight: bold;\n\n    &.active {\n      display: block;\n      margin-bottom: 10px; } }\n\n  label, .label {\n    display: block;\n    margin-bottom: 8px;\n    color: white;\n    font-size: 0.6em;\n    text-transform: uppercase;\n    font-weight: bold; }\n\n  input, textarea {\n    display: block;\n    width: 100%;\n    background-color: transparent;\n    padding: 15px 20px;\n\n    border: 2px white solid;\n    border-radius: 0;\n    font-size: 0.9em;\n    color: $grey;\n    transition: background-color 0.3s;\n\n    @include placeholder {\n      color: rgba(white, 0.4) !important; }\n\n    &.alert {\n      border-color: $red; }\n\n    &:focus {\n      background-color: rgba(white, 0.1); }\n\n    &:-webkit-autofill, &:-webkit-autofill:hover, &:-webkit-autofill:focus, &:-webkit-autofill:active {\n      transition: 9999s background-color, 9999s color;\n      -webkit-text-fill-color: $grey;\n      transition-delay: 9999s; }\n\n    &:focus {\n      box-shadow: none;\n      outline: none; } }\n\n  textarea {\n    min-height: 152px;\n    resize: vertical; }\n\n  .select {\n    .select-wrapper {\n      position: relative;\n      display: block; }\n\n    .icon {\n      position: absolute;\n      right: 10px;\n      top: 26px;\n      display: inline-block;\n      width: 0;\n      height: 0;\n      border-style: solid;\n      border-width: 5px 6px 0 6px;\n      border-color: $grey transparent transparent transparent;\n      opacity: 0.3;\n      pointer-events: none; }\n\n    select {\n      display: block;\n      width: 100%;\n      @include appearance(none);\n      font-family: $fontFamily;\n      background-color: white;\n      padding: 15px 35px 15px 20px;\n      border: 1px transparent solid;\n      border-radius: 4px;\n      font-size: 0.9em;\n      color: $grey;\n\n      &:focus {\n        box-shadow: none;\n        outline: none; } } }\n\n\n  .checkbox {\n    label {\n      @include flex(space-between, flex-start);\n      cursor: pointer;\n\n      input {\n        @include appearance(none);\n        margin: 0;\n        width: 20px;\n        height: 20px;\n        border-radius: 100%;\n        padding: 0;\n        border: none;\n        background-color: rgba(white, 0.3);\n        background-size: contain;\n        background-position: center;\n        background-repeat: no-repeat;\n        transition: background-color 0.3s;\n\n        &:hover {\n          background-color: rgba(white, 0.5); }\n\n        &:checked {\n          background-image: url(\"/img/check/checked.svg\");\n          background-color: rgba(white, 0.7); } }\n\n      span {\n        display: block;\n        margin: 2px 0 0;\n        width: calc(100% - 30px); } } }\n\n  .submit {\n    margin-top: 20px;\n\n    input {\n      display: none; }\n\n    .button {\n      cursor: pointer;\n      font-size: 0.7rem;\n      background-color: $limeGreen;\n      color: white;\n      text-transform: uppercase;\n\n      .arrow-icon {\n        path {\n          fill: white; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_form.sass",".image-slider {\n  width: 100%;\n  overflow: visible;\n  box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.2);\n\n  .placeholder {\n    position: relative;\n    width: 100%;\n    cursor: move;\n\n    .controllers {\n      position: relative;\n      z-index: 3;\n      width: 100%;\n      height: 0;\n      padding-bottom: 66.67%;\n\n      @include respond-to-width(1350) {\n        padding-bottom: 100%; }\n\n      .nav-item {\n        position: absolute;\n        @include flex(center, center);\n        bottom: -50px;\n        width: 35px;\n        height: 35px;\n        cursor: pointer;\n        border-radius: 100%;\n        transition: background 0.3s;\n\n        span {\n          @include flex(center, center);\n          height: 16px;\n          width: 16px;\n          transform-origin: center;\n          transition: transform 0.3s;\n\n          .arrow-icon {\n            position: relative;\n            width: 10px;\n            height: 16px;\n            transform-origin: center;\n            .st0 {\n              fill: white; } } }\n\n        &.previous {\n          background-color: $grey;\n          right: calc(50% + 3px);\n\n          span {\n            .arrow-icon {\n              transform: rotate(90deg); } }\n\n          &:hover {\n            background-color: lighten($grey, 5%); } }\n\n        &.next {\n          background-color: $limeGreen;\n          left: calc(50% + 3px);\n\n\n          span {\n            .arrow-icon {\n              transform: rotate(270deg); } }\n\n          &:hover {\n            background-color: darken($limeGreen, 10%); } } } }\n\n\n\n    figure {\n      position: absolute;\n      z-index: 1;\n      top: 0;\n      left: 0;\n      width: 100%;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 0.4s;\n\n      span {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        background-size: cover;\n        background-position: center;\n\n        &.small {\n          display: none; }\n\n        @include respond-to-width(480) {\n          &.medium {\n            display: none; }\n\n          &.small {\n            display: block; } } }\n\n      &.active {\n        z-index: 2;\n        opacity: 1; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_imageSlider.sass","// Cookie message without tracking\n#cookie-message {\n  position: fixed;\n  z-index: 9999;\n  bottom: 0;\n  left: 0;\n  padding: 15px 0;\n  width: 100%;\n  background-color: $darkGrey;\n  opacity: 1;\n  box-shadow: 0 -2px 10px 0 rgba(0, 0, 0, 0.1);\n  transition: opacity 0.5s, transform 0.6s;\n  transform: translate3d(0, 0, 0);\n\n  &.accepted {\n    display: none; }\n\n  &.transition-out {\n    opacity: 0;\n    transform: translate3d(0, 50%, 0); }\n\n  .grid-row {\n    text-align: center;\n\n    p, p a, .close-button {\n      font-size: 0.75rem;\n      line-height: 1.2;\n      color: white; }\n\n    p {\n      display: inline-block;\n      vertical-align: middle;\n      margin: 0;\n\n      a {\n        text-decoration: underline; } }\n\n    .close-button {\n      display: inline-block;\n      vertical-align: middle;\n      margin-left: 15px;\n      padding: 5px 12px;\n      background-color: rgba(white, 0.2);\n      border-radius: 5px;\n      cursor: pointer; }\n\n    @include respond-to-width(625) {\n      p {\n        max-width: 225px; } }\n\n    @include respond-to-width(375) {\n      p {\n        display: block;\n        max-width: none; }\n\n      .close-button {\n        margin-top: 10px; } } } }\n\n// Cookie message with tracking\n#cookie-message-overlay {\n  position: fixed;\n  z-index: 9999;\n  top: 0;\n  left: 0;\n  @include flex(center, center);\n  width: 100%;\n  height: 100%;\n  background-color: rgba(black, 0.6);\n  opacity: 1;\n  transition: opacity 0.5s;\n\n  &.accepted {\n    display: none; }\n\n  &.transition-out {\n    opacity: 0; }\n\n  .placeholder {\n    width: calc(100vw / 14 * 12);\n    padding: 60px 120px;\n    display: block;\n    max-width: 960px;\n    margin-left: auto;\n    margin-right: auto;\n    background-color: white;\n\n    h5 {\n      font-size: 1.2rem;\n      line-height: 1;\n      font-weight: 500;\n      margin: 0 0 5px;\n      color: #4d4d4d; }\n\n    p {\n      font-size: 0.8rem;\n      line-height: 1.2;\n      margin: 0;\n      color: #808080; }\n\n    p a, p .open-menu {\n      color: $pastelBlue;\n      white-space: nowrap;\n      cursor: pointer;\n      text-decoration: underline; }\n\n    .accept-cookie-button {\n      display: inline-block;\n      margin-top: 35px;\n      padding: 13px 20px;\n      border-radius: 4px;\n      background-color: $brightBlue;\n      transition: background-color 0.4s, opacity 0.4s;\n      font-size: 0.9rem;\n      line-height: 1.2;\n      color: white;\n      cursor: pointer;\n\n      &:hover {\n        background-color: darken($brightBlue, 8%); } }\n\n    @include respond-to-width(1440) {\n      padding: calc(100vw / 14 / 1.5) calc(100vw / 14);\n      display: block; }\n\n    @include respond-to-width(450) {\n      width: 100%; } }\n\n  #message-description {\n    display: block;\n\n    &.hide {\n      display: none; } }\n\n  .cookie-types-description {\n    display: block;\n    margin: 30px 0;\n\n    .cookie-type {\n      @include flex(space-between, flex-start);\n      width: 100%;\n\n      + .cookie-type {\n        margin-top: 25px; }\n\n      .icon {\n        @include flex(center, center);\n        width: 25px;\n        height: 25px;\n\n        &:before {\n          content: '';\n          display: block; } }\n\n      .text {\n        display: block;\n        width: calc(100% - 55px);\n\n        p {\n          max-width: 380px;\n          font-size: 0.7rem;\n          line-height: 1rem;\n          margin: 0;\n          color: rgba($grey, 0.6);\n\n          strong {\n            display: inline-block;\n            color: $grey;\n            font-size: 0.9rem;\n\n            span {\n              white-space: nowrap; } } } }\n\n      &.tracking {\n        .icon:before {\n          @include cookieSprite(0 0, 25px, 25px); } }\n\n      &.analytic {\n        .icon:before {\n          @include cookieSprite(27px 0, 25px, 25px); } } } }\n\n  .cookie-settings {\n    display: none;\n\n    &.edit {\n      display: block; }\n\n    .wrapper {\n      padding: 30px 0 0; }\n\n    .cookie-type {\n      @include flex(space-between, flex-start);\n      width: 100%;\n      max-width: 420px;\n      cursor: pointer;\n\n      + .cookie-type {\n        margin-top: 25px; }\n\n      input {\n        margin: 4px 0 0;\n        display: block;\n        @include cookieSprite(55px 14px, 13px, 13px);\n        @include appearance(none);\n\n        &:checked {\n          background-position: -55px 0; }\n\n        &:focus {\n          outline: none;\n          box-shadow: none; } }\n\n      > span {\n        display: block;\n        width: calc(100% - 55px);\n        font-size: 0.7rem;\n        line-height: 1rem;\n        color: rgba($grey, 0.6);\n\n        strong {\n          font-size: 0.9rem;\n          color: $grey;\n\n          span {\n            white-space: nowrap; } } }\n\n      &.analytic {\n        pointer-events: none;\n        cursor: not-allowed;\n\n        input {\n          opacity: 0.3; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_cookieMessage.sass","$spriteWidth: 70px;\n$spriteHeight: 30px;\n\n\n@mixin cookieSprite($position, $width: auto, $height: auto) {\n\n  $positionX: nth($position, 1) * -1;\n  $positionY: nth($position, 2) * -1;\n\n  background: url(\"/img/cookie-sprite.svg\") $positionX $positionY no-repeat;\n  background-size: $spriteWidth $spriteHeight;\n  width: $width;\n  height: $height; }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/mixins/_cookieSprite.sass","// Cookie switch\n#cookie-switch {\n  margin-bottom: 50px;\n  padding: 30px 0 50px;\n  border-bottom: 1px solid $grey;\n  width: 100%;\n\n  .placeholder {\n    width: 100%;\n    display: block;\n\n    .cookie-switch-title {\n      h3 {\n        margin: 0 0 12px;\n        font-size: 1.2rem;\n        line-height: 1.2; }\n\n      p {\n        font-size: 0.8rem;\n        line-height: 1.4; } }\n\n    .cookie-types {\n      display: block;\n      margin: 30px 0 50px;\n\n      .cookie-type {\n        @include flex(space-between, flex-start);\n        width: 100%;\n        max-width: 420px;\n        cursor: pointer;\n\n        + .cookie-type {\n          margin-top: 25px; }\n\n        input {\n          margin: 4px 0 0;\n          display: block;\n          @include appearance(none);\n          @include cookieSprite(55px 14px, 13px, 13px);\n\n          &:focus {\n            outline: none;\n            box-shadow: none; }\n\n          &:checked {\n            background-position: -55px 0; } }\n\n        > span {\n          display: block;\n          width: calc(100% - 55px);\n          font-size: 0.7rem;\n          line-height: 1.4;\n\n          @include respond-to-width(460) {\n            width: calc(100% - 30px); }\n\n          strong {\n            font-size: 0.9rem;\n\n            span {\n              white-space: nowrap; } } }\n\n\n        &.analytic {\n          pointer-events: none;\n          cursor: not-allowed; } } }\n\n    #save-cookie-settings {\n      display: inline-block;\n      padding: 13px 20px;\n      border-radius: 4px;\n      background-color: $brightBlue;\n      transition: background-color 0.4s, opacity 0.4s;\n\n      font-size: 0.9rem;\n      line-height: 1.2;\n      color: white;\n      cursor: pointer;\n\n      &:hover {\n        background-color: darken($brightBlue, 8%); }\n\n      &.clicked {\n        opacity: 0.2; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_cookieSwitch.sass",".partners-row {\n  padding: 40px 0 0; }\n\n.partners-row, .clients-row {\n  .kms-content {\n    text-align: center; }\n\n  .index-grid-row {\n    background-color: transparent; }\n\n  .squares-grid {\n    .overview {\n      grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;\n      grid-gap: 60px 60px;\n\n      @include respond-to-width(1150) {\n        grid-template-columns: 1fr 1fr 1fr 1fr; }\n\n      @include respond-to-width(800) {\n        display: grid;\n        grid-template-columns: 1fr 1fr 1fr;\n        max-width: none; }\n\n      @include respond-to-width(650) {\n        grid-template-columns: 1fr 1fr; }\n\n      @include respond-to-width(425) {\n        display: block; } }\n\n\n    article {\n\n      .ie & {\n        width: 20%;\n\n        @include respond-to-width(1100) {\n          width: 26%; }\n\n        @include respond-to-width(680) {\n          width: 38%;\n\n          figure {\n            height: auto;\n            padding-bottom: 0;\n\n            .image {\n              display: none; }\n\n            img {\n              display: block; } } }\n        //\n        //+respond-to-width(425)\n }        //  width: 100%\n\n      figure {\n        box-shadow: none;\n\n        img {\n          display: none;\n          width: 90%;\n          margin: auto;\n\n          &.oostnl {\n            max-width: 100px; } }\n\n        .image {\n          background: {\n            repeat: no-repeat;\n            size: contain;\n            position: center; } } }\n\n      @include respond-to-width(800) {\n        + article {\n          margin-top: 0 !important; }\n        figure {\n          padding-bottom: 100%; } }\n\n      @include respond-to-width(650) {\n        @include flex(center, center);\n        figure {\n          padding-bottom: 0;\n          height: auto;\n\n          span {\n            display: none; }\n\n          img {\n            display: block; } } }\n\n\n\n      @include respond-to-width(425) {\n        max-width: 250px;\n        margin-left: auto;\n        margin-right: auto;\n\n        + article {\n          margin-top: 80px !important; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_partnersClientsRow.sass","/*==========================================================================\n  Dynamic Blocks\n  @mixin ========================================================================= */\n\n.dynamic-block {\n\n  + .dynamic-block {\n    margin-top: 60px; }\n\n  .grid-row {\n    @include flex(space-between, center); }\n\n  @import \"twoTextColumn\";\n  @import \"fullImageColumn\";\n  @import \"contentBlock\";\n  @import \"multipleImages\";\n  @import \"fullTextBlock\";\n  @import \"videoBlock\"; }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_dynamic.sass","&.two-text-columns {\n  position: relative;\n  z-index: 10;\n  @include flex(space-between, flex-start);\n  .content {\n    width: column(21, 44);\n    padding: 0; }\n\n  @include respond-to-width(900) {\n    display: block;\n    .content {\n      width: 100% !important;\n      margin: 0;\n\n      p:last-of-type {\n        margin-bottom: 1rem; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_twoTextColumn.sass","&.full-image-column {\n\n  img {\n    width: 100%;\n    display: none;\n    &.large {\n      display: block; }\n\n    @include respond-to-width(1050) {\n      &.large {\n        display: none; }\n      &.medium {\n        display: block; } }\n\n    @include respond-to-width(525) {\n      &.medium {\n        display: none; }\n      &.small {\n        display: block; } } } }\n\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_fullImageColumn.sass","&.content-block {\n  position: relative;\n  @include flex(space-between, flex-start);\n\n  .image {\n    width: 50%;\n\n    img {\n      width: 100%;\n\n      &.small {\n        display: none; }\n\n      @include respond-to-width(450) {\n        &.medium {\n          display: none; }\n\n        &.small {\n          display: block; } } }\n\n    .content {\n      width: column(5, 12); } }\n\n  .content {\n    @include order(1);\n    width: column(5, 12); }\n\n  &[data-image-location='right'] {\n    .image {\n      @include order(2); }\n\n    .content {\n      @include order(1); } }\n\n  @include respond-to-width(900) {\n    display: block;\n\n    .image {\n      width: 100%;\n      margin-top: 40px;\n      @include order(2); }\n\n    .content {\n      width: 100%; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_contentBlock.sass","&.multiple-images {\n  @include flex(space-between, flex-start);\n  @include flex-rows;\n\n  figure {\n    width: column(21, 44);\n\n    img {\n      width: 100%;\n      display: none;\n\n      &.medium {\n        display: none; }\n\n      @include respond-to-width(1100) {\n        &.large {\n          display: none; }\n        &.medium {\n          display: block; } }\n\n      @include respond-to-width(480) {\n        &.large {\n          display: none; }\n        &.medium {\n          display: block; } } } }\n\n  &[data-size-type='50'] {\n    figure {\n      img {\n        &.medium {\n          display: block; }\n\n        @include respond-to-width(1125) {\n          &.medium {\n            display: none; }\n          &.small {\n            display: block; } } } } }\n\n  @include respond-to-width(900) {\n    display: block;\n\n    figure {\n      width: 100%;\n      &:first-of-type {\n        margin-bottom: 40px; }\n\n      img {\n        &.medium {\n          display: block !important; }\n        &.small {\n          display: none !important; }\n\n        @include respond-to-width(525) {\n          &.medium {\n            display: none; }\n          &.small {\n            display: block; } } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_multipleImages.sass","&.full-text-block {\n  .content {\n    max-width: 680px;\n    margin: auto;\n    text-align: center; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_fullTextBlock.sass","&.video-block {\n  width: 100%;\n  max-width: 960px;\n  margin: 60px auto 0 !important;\n\n  .video-wrapper {\n    position: relative;\n    padding-bottom: 53.6% /* 16:9 */;\n    padding-top: 25px;\n    height: 0;\n    iframe, .video-overlay {\n      position: absolute;\n      top: 0;\n      left: 0;\n      width: 100%;\n      height: 100%; }\n    .video-overlay {\n      z-index: 2;\n      @include flex(center, center);\n      opacity: 1;\n      cursor: pointer;\n      transition: all 0.2s;\n      .button {\n        width: 25%;\n        max-width: 85px;\n        transform: scale(1);\n        transition: all 0.4s;\n        img {\n          width: 100%; } }\n      &:hover {\n        .button {\n          @include transform(scale(0.85)); } }\n\n      &.hide {\n        opacity: 0;\n        pointer-events: none;\n        transition: all 0.5s;\n        transition-delay: 0.7s;\n        .button {\n          transition: all 0.8s;\n          transform: scale(0.3); } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_videoBlock.sass","//Colors used in Mobile Menu\n$listColor: $semiLightGrey;\n$listHoverColor: $grey;\n$listActiveColor: $darkGrey;\n\n$barColor: $offsetWhite;\n$barMenuColor: $limeGreen;\n$menuBackground: $offsetWhite;\n\n$shaderBackground: $limeGreen;\n$shaderOpacity: 0.6;\n\n\n.preventScroll {\n  @include respond-to-width(1050) {\n    overflow: hidden;\n    overflow-y: scroll;\n    position: fixed;\n    width: 100%; } }\n\n\n#mobile-navigation {\n  position: fixed;\n  z-index: 1000;\n  height: 100vh;\n  overflow: hidden;\n  width: 100%;\n  left: 0;\n  top: 0;\n  pointer-events: none;\n\n  .ie.v10 & {\n    height: 60px; }\n\n  .bar {\n    display: none;\n    height: 60px;\n    background-color: $barColor;\n    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.11);\n    pointer-events: all;\n    position: relative;\n    z-index: 4;\n    transform: translate3d(0,0,0);\n    transition: all 0.3s ease 0.4s, transform 0.4s ease 0s;\n\n    .toggle-menu {\n      width: 60px;\n      height: 100%;\n      z-index: 3;\n      cursor: pointer;\n      position: relative;\n      @include flex(center, center);\n\n      .icon {\n        width: 20px;\n\n        span + span {\n          margin-top: 4px; }\n\n        span {\n          width: 100%;\n          height: 2px;\n          display: block;\n          transform: scale3d(1, 1, 1);\n          transform-origin: 0 50%;\n          background-color: $barMenuColor;\n          transition: transform 0.6s;\n\n          &:nth-of-type(2) {\n            transform: scale3d(0.8, 1, 1); }\n\n          &:nth-of-type(3) {\n            transform: scale3d(0.45, 1, 1); } } }\n\n      &:hover {\n        .icon {\n          span {\n            transform: scale3d(1, 1, 1) !important; } } } }\n\n    .logo {\n      height: 100%;\n      width: 100%;\n      position: absolute;\n      left: 0;\n      top: 0;\n      @include flex(center, center);\n\n      a {\n        position: relative;\n        display: block;\n        width: 100%;\n        text-align: center;\n        background-position: center;\n        background-size: contain;\n        background-repeat: no-repeat;\n        text-decoration: none;\n\n        img {\n          width: 100%;\n          margin: auto;\n          max-width: 110px;\n          max-height: 70px; }\n        p {\n          margin: 2px 0 0;\n          font-size: 12px;\n          color: $grey; } } } }\n\n  &.hide-bar {\n    .bar {\n      transform: translate3d(0, -60px, 0); } }\n\n  .shader {\n    width: 100%;\n    height: 100%;\n    position: absolute;\n    left: 0;\n    top: 0;\n    background-color: $shaderBackground;\n    opacity: 0;\n    transition-delay: 0.4s; }\n\n  .menu {\n    position: absolute;\n    left: 0;\n    top: 0;\n    height: 100%;\n    width: 100%;\n    max-width: 600px;\n    min-width: 275px;\n    padding: 40px 120px;\n\n    background-color: $menuBackground;\n    overflow-x: auto;\n    pointer-events: all;\n    z-index: 5;\n    transform: translate3d(-100%, 0, 0);\n\n    nav {\n      position: relative;\n\n      .close {\n        position: absolute;\n        top: 17px;\n        left: -68px;\n        display: block;\n        width: 16px;\n        height: 16px;\n        cursor: pointer;\n        transform-origin: center;\n        transform: rotate(0deg);\n        transition: transform 0.4s;\n\n        &:hover {\n          transform: rotate(90deg);\n          opacity: 0.4; }\n\n        &:before, &:after {\n          content: '';\n          position: absolute;\n          display: block;\n          background-color: $darkGrey;\n          transform-origin: center;\n          transform: rotate(45deg);\n          transition: background-color 0.3s; }\n\n        &:before {\n          left: 7px;\n          top: 0;\n          width: 2px;\n          height: 100%; }\n\n        &:after {\n          left: 0;\n          top: 7px;\n          width: 100%;\n          height: 2px; } }\n\n\n      .logo-wrapper {\n        width: 100%;\n        max-width: 150px;\n\n        a {\n          display: block;\n          text-decoration: none;\n\n          img {\n            width: 100%;\n            max-height: 49px; } } }\n\n      .menu-list {\n        margin-top: 30px;\n\n        ul {\n          margin: 0;\n          padding: 0;\n          list-style: none;\n          font-size: 1rem;\n          line-height: 1.2;\n\n          + ul {\n            margin-top: 24px; }\n\n          li {\n            a {\n              display: block;\n              padding: 8px 0;\n              color: $listColor;\n              text-decoration: none;\n              transition: color 0.2s;\n              cursor: pointer;\n\n              &:hover {\n                color: $listHoverColor; } }\n\n            ul {\n              font-size: 0.85em; }\n\n            &.active {\n              a {\n                color: $listActiveColor; } } } } } } }\n\n  &.active {\n    .ie.v10 & {\n      height: 100vh; }\n    .bar {\n      .toggle-menu {\n        .icon {\n          span {\n            opacity: 0;\n            transition-delay: 0.4s;\n            &:first-of-type {\n              @include transform(rotate(45deg));\n              opacity: 1;\n              top: 6px; }\n            &:last-of-type {\n              width: 25px;\n              opacity: 1;\n              bottom: 6px;\n              @include transform(rotate(-45deg)); } } } } }\n    .menu {\n      transform: translate3d(0, 0, 0); } }\n\n  &.shader-active {\n    .shader {\n      opacity: $shaderOpacity;\n      pointer-events: all; } }\n\n  &.allow-animation {\n    .shader {\n      transition: all 0.2s; }\n    .menu {\n      transition: all 0.3s;\n      transition-timing-function: ease-in-out; } }\n\n  @include respond-to-width(1050) {\n    display: block;\n\n    .bar {\n      display: block; }\n\n    .menu {\n      max-width: none; } }\n\n  @include respond-to-width(400) {\n    nav {\n      padding-left: 30px;\n\n      ul {\n        font-size: 1.2rem; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_navigation.sass",".mobile-contact {\n  display: none;\n  opacity: 0;\n  transform: translate3d(0, -100%, 0);\n\n  padding: 50px column(1);\n  background-color: white;\n\n  color: $black;\n  font-size: 0.9rem;\n\n  transition: opacity 0.4s, transform 0.4s;\n\n  &.active {\n    transform: translate3d(0,0,0);\n    opacity: 1;\n    pointer-events: all; }\n\n\n  h1, h2 {\n    font-size: 2rem;\n    line-height: 1.2;\n    max-width: 580px;\n    color: $pastelBlue;\n    margin: 0 0 40px; }\n\n  p {\n    margin: 1rem 0; }\n\n  strong {\n    color: $black; }\n\n  a:not(.button) {\n    color: $blue;\n    text-decoration: none;\n    transition: color 0.3s, border 0.3s, opacity 0.3s;\n    &:hover {\n      color: darken($blue, 15%); } }\n\n\n\n  a.button {\n    display: inline-block;\n    margin-top: 20px;\n    padding: 15px 20px;\n    border-radius: 25px;\n    background-color: $blue;\n    text-decoration: none;\n    font-size: 0.9rem;\n    line-height: 1;\n    font-weight: bold();\n    color: white;\n    transition: background-color 0.3s;\n\n    &:after {\n      content: '';\n      margin-left: 20px;\n      transform: translate3d(0,0,0);\n      transition: transform 0.3s; }\n\n    &:hover {\n      background-color: $pastelBlue;\n      &:after {\n        transform: translate3d(5px, 0, 0); } } }\n\n\n  @include respond-to-width(840) {\n    display: block; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_contact.sass","#sticky-navigation {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 50;\n  background-color: $blue;\n  width: 100%;\n  height: 60px;\n  transform: translate3d(0, -60px, 0);\n  box-shadow: 0 6px 10px -5px rgba(0,0,0,0.1);\n  opacity: 0;\n  transition: transform 0.4s, opacity 0.4s;\n\n  &.active {\n    transform: translate3d(0, 0, 0);\n    opacity: 1; }\n\n  .grid-row {\n    @include flex(space-between, center); }\n\n  .menu {\n    display: inline-block;\n    width: 60px;\n\n    .placeholder {\n      position: relative;\n      width: 100%;\n      padding-bottom: 100%;\n\n      .icon-placeholder {\n        position: absolute;\n        left: 0;\n        top: 0;\n        width: 100%;\n        height: 100%;\n        @include flex(center, center);\n        cursor: pointer;\n\n        .icon {\n          width: 20px;\n\n          span + span {\n            margin-top: 4px; }\n\n          span {\n            width: 100%;\n            height: 2px;\n            display: block;\n            transform: scale3d(1, 1, 1);\n            transform-origin: 0 50%;\n            background-color: white;\n            transition: transform 0.6s;\n\n            &:nth-of-type(2) {\n              transform: scale3d(0.8, 1, 1); }\n\n            &:nth-of-type(3) {\n              transform: scale3d(0.45, 1, 1); } } }\n\n        &:hover {\n          .icon {\n            span {\n              transform: scale3d(1, 1, 1) !important; } } } } } }\n\n  .logo-wrapper {\n    a {\n      font-size: 1rem;\n      line-height: 1;\n      color: white;\n      text-decoration: none;\n      font-weight: bold; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_stickyNavigation.sass",".large-header-image {\n  position: relative;\n  background: $offsetWhite;\n\n  @include respond-to-width(1050) {\n    padding-top: 100px; }\n\n  @include respond-to-width(500) {\n    padding-top: 60px; }\n\n  &:after {\n    content: '';\n    position: absolute;\n    z-index: 1;\n    bottom: 0;\n    left: 0;\n    background: $limeGreen;\n    height: 50%;\n    width: 100%;\n\n    //+respond-to-width(1100)\n    //  height: 120px\n    //\n    //+respond-to-width(840)\n    //  height: 200px\n\n    @include respond-to-width(500) {\n      display: none; } }\n\n\n  @include respond-to-width(500) {\n    .grid-row {\n      width: 100%; } }\n\n  .header-image {\n    position: relative;\n    z-index: 2;\n    width: 100%;\n    img {\n      width: 100%; }\n\n    figcaption {\n      position: absolute;\n      left: 40px;\n      bottom: 40px;\n      font-size: 2.4rem;\n      font-weight: semibold();\n      color: white;\n      line-height: 1;\n\n      span {\n        display: inline-block;\n        background-color: $black;\n        padding: 12px 20px;\n        margin-bottom: 2px; }\n\n      @include respond-to-width(1500) {\n        font-size: 1.8rem; }\n\n      @include respond-to-width(840) {\n        font-size: 1.5rem; }\n\n      @include respond-to-width(640) {\n        position: relative;\n        bottom: 0;\n        left: 0;\n        margin-top: 40px; }\n\n      @include respond-to-width(500) {\n        margin-top: 30px;\n        padding: 0 30px;\n        font-size: 1.4rem; } }\n\n    &.image-slider {\n      .controllers {\n        padding-bottom: 35% !important;\n\n        @include respond-to-width(575) {\n          padding-bottom: 66.67% !important; }\n\n        .nav-item {\n          bottom: 50px;\n          &.previous {\n            right: calc(100% - 17px); }\n          &.next {\n            left: calc(100% - 17px); }\n\n          @include respond-to-width(640) {\n            display: none; } } }\n\n      .caption {\n        position: absolute;\n        z-index: 10;\n        left: 40px;\n        bottom: 40px;\n        font-size: 1.3rem;\n        font-weight: semibold();\n        color: white;\n        line-height: 1;\n\n        span {\n          display: inline-block;\n          background-color: $black;\n          padding: 12px 20px;\n          margin-bottom: 2px; }\n\n        @include respond-to-width(880) {\n          font-size: 1rem; }\n\n        @include respond-to-width(640) {\n          left: 20px;\n          bottom: 20px; } } } }\n\n  .show-scroll {\n    position: absolute;\n    left: calc(50% - 30px);\n    bottom: -30px;\n    @include flex(center, center);\n    width: 60px;\n    height: 60px;\n    cursor: pointer;\n    z-index: 10;\n    border-radius: 22px;\n    background: $limeGreen;\n\n    .arrow {\n      position: relative;\n      //top: -4px\n      z-index: 2;\n      display: inline-block;\n      width: 16px;\n\n      transform: translate3d(0,0,0);\n      transition: transform 0.3s;\n\n      svg {\n        width: 100%;\n        max-height: 22px;\n\n        path {\n          fill: white; } } }\n\n    &:hover {\n      .arrow {\n        transform: translate3d(0,3px,0); } }\n\n    @include respond-to-width(900) {\n      left: calc(50% - 22px);\n      bottom: -22px;\n      width: 45px;\n      height: 45px;\n      border-radius: 16px;\n\n      &:after {\n        border-width: 0 45px 45px 45px; } }\n\n    @include respond-to-width(640) {\n      display: none; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_largeHeaderImage.sass",".cta-content-row {\n  .grid-row {\n    @include flex(flex-end, flex-start);\n    padding: 115px 0;\n\n    .cta-block {\n      width: column(4, 12);\n      margin-right: column(3, 24);\n      p {\n        margin: 0;\n        font-size: 0.65rem;\n        line-height: 1;\n        font-weight: bold();\n        color: $lightGrey;\n        text-transform: uppercase; }\n\n      h1 {\n        max-width: 420px;\n        margin: 0;\n        font-size: 2rem;\n        line-height: 1.4;\n        @include dosisBold;\n        color: $darkGrey;\n\n        @include respond-to-width(950) {\n          font-size: 1.6rem; } }\n\n      .button {\n        margin-top: 30px; } }\n\n    .content-block {\n      width: column(4, 12);\n      margin-right: column(1, 12); } }\n\n\n  /* Tablet view\n    @mixin ========================================================================= */\n  @include respond-to-width(1350) {\n    .grid-row {\n      padding: 80px 0;\n\n      .cta-block {\n        width: column(5, 12);\n        margin-right: column(1, 12); }\n\n      .content-block {\n        width: column(5, 12); } } }\n\n  /* Mobile view\n    @mixin ========================================================================= */\n  @include respond-to-width(750) {\n    .grid-row {\n      padding: 80px 0;\n      display: block;\n\n      .cta-block, .content-block {\n        width: column(10, 12);\n        margin-right: auto;\n        margin-left: auto;\n\n        @include respond-to-width(640) {\n          width: 100%; } }\n\n      .cta-block {\n        margin-bottom: 60px; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_ctaContentRow.sass",".reasons-row {\n  position: relative;\n  background-color: $semiLightGrey;\n  overflow: hidden;\n\n  .grid-row {\n    position: relative;\n\n    //&:after\n    //  content: ''\n    //  position: absolute\n    //  z-index: 1\n    //  top: 0\n    //  left: column(5, 12)\n    //  width: 100vw\n    //  height: 100%\n    //  background: $orange\n\n    &:before {\n      content: '';\n      display: block;\n      $gradientSize: 100px;\n      position: absolute;\n      z-index: 3;\n      top: 0;\n      right: calc(#{column(7, 12)} - #{$gradientSize});\n      width: $gradientSize;\n      height: 100%;\n      background: linear-gradient(90deg, $blackGradient); } }\n\n\n\n  .grid-col {\n    vertical-align: middle;\n    padding: 100px 0; }\n\n  .reasons-block {\n    position: relative;\n    z-index: 2;\n    overflow: visible;\n    padding-right: column(1, 24);\n\n    >h2 {\n      font-size: 1.6rem;\n      line-height: 1.2;\n      //font-weight: bold()\n      font-weight: light();\n      color: white;\n      margin: 0 0 45px;\n      padding-left: 55px;\n\n      @include respond-to-width(1250) {\n        padding-left: 0; } }\n\n    ul {\n      list-style: none;\n      margin: 0;\n      padding: 0;\n      max-width: 380px;\n\n      li {\n        @include flex(space-between, flex-start);\n\n        + li {\n          margin-top: 10px; }\n\n        .list-icon {\n          display: none;\n\n          //svg\n          //  width: 100%\n }          //  max-height: 32px\n\n        p {\n          width: calc(100% - 55px);\n          margin: 0;\n          font-size: 1rem;\n          line-height: 1.4;\n          @include dosis;\n          color: white; } }\n\n\n      &.thumbs {\n        li {\n          .list-icon {\n            display: block;\n            margin-top: 3px;\n            width: 20px;\n            height: 18px;\n            svg {\n              width: 100%;\n              max-height: 18px; } } } }\n\n      &.check2 {\n        li {\n          .list-icon {\n            @include flex(center, center);\n            margin-top: 6px;\n            width: 22px;\n            height: 22px;\n            border-radius: 20px;\n            background-color: white;\n            svg {\n              width: 13px; } } } }\n\n      &.arrows {\n        li {\n          .list-icon {\n            display: block;\n            margin-top: 7px;\n            width: 12px;\n            height: 12px;\n            transform: rotate(45deg);\n            transform-origin: 0 100%;\n            transition: transform 0.4s;\n\n            border-top: 3px solid $brightBlue;\n            border-right: 3px solid $brightBlue; } } } }\n\n\n    .trigger {\n      @include flex(flex-start, center);\n      margin-top: 60px;\n      margin-left: 55px;\n\n      .button {\n        //border: 2px solid white\n        //background: white\n        background: white;\n        color: $darkGrey;\n        margin-right: column(1, 12);\n        text-transform: uppercase;\n\n        .arrow {\n          margin-left: 40px;\n          svg {\n            path {\n              fill: $semiLightGrey; } } } }\n\n\n      .image-placeholder {\n        width: 180px;\n\n        @include respond-to-width(1600) {\n          width: 150px; }\n\n        figure {\n          position: relative;\n          width: 100%;\n          padding-bottom: 100%;\n          height: 0;\n\n          span {\n            position: absolute;\n            border-radius: 100%;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            background-position: center;\n            background-size: cover; } } } }\n\n    @include respond-to-width(1400) {\n      .trigger {\n        display: block;\n\n        .button {\n          margin-right: 0; }\n        .image-placeholder {\n          display: none; } } } }\n\n\n  .right-side {\n    position: relative;\n    z-index: 2;\n    padding: 0;\n    overflow: visible;\n\n    &.col-7 {\n      padding-left: column(1, 12); }\n\n    &.absolute {\n      position: absolute;\n      right: 0;\n      top: 0;\n      height: 100%; }\n\n    h4 {\n      font-size: 0.65rem;\n      color: $brightBlue;\n      font-weight: semibold();\n      text-transform: uppercase;\n      margin: 0 0 20px; }\n\n    .video-block {\n      padding: 80px 0;\n\n      .video-wrapper {\n        background-color: darken($black, 5%);\n\n        width: 100%;\n        max-width: 960px;\n\n        .placeholder {\n          position: relative;\n          padding-bottom: 52.8% /* 16:9 */;\n          padding-top: 25px;\n          height: 0;\n          iframe {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%; } } } }\n\n    .image-block {\n      position: absolute;\n      width: 100%;\n      height: 100%;\n      top: 0;\n      left: 0;\n\n      &:after {\n        content: '';\n        position: absolute;\n        left: 0;\n        bottom: 0;\n        display: block;\n        height: 50px;\n        width: 100vw;\n        background-color: $limeGreen; }\n\n\n      span {\n        position: absolute;\n        width: 100%;\n        height: 100%;\n        top: 0;\n        left: 0;\n        background-size: cover;\n        background-position: center; }\n\n      picture {\n        display: none;\n        width: 100%;\n        margin: 0;\n        img {\n          width: 100%; } } } }\n\n  @include respond-to-width(1000) {\n\n    .grid-row {\n      width: 100%;\n\n      &:before, &:after {\n        display: none; } }\n\n    .reasons-block {\n      display: block;\n      width: 100%;\n      padding: 60px column(1, 14);\n      max-width: 600px;\n      margin: auto; }\n\n    .right-side {\n      background-color: darken($black, 5%);\n      position: relative;\n      width: 100%;\n      padding: 0 column(1, 14);\n      height: auto;\n\n      &.col-7 {\n        padding-left: column(1, 14); }\n\n      &.absolute {\n        position: relative;\n        height: auto;\n        padding: 0; }\n\n      .image-block {\n        position: relative;\n\n        span {\n          display: none; }\n\n        picture {\n          display: block; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_reasonsRow.sass",".discover-row {\n  background: $offsetWhite2;\n  padding: 70px 0 120px;\n  overflow: hidden;\n\n  .streamer {\n    color: $lightGrey;\n    font-size: 0.65rem;\n    font-weight: semibold();\n    text-transform: uppercase;\n    margin: 0 0 35px; }\n\n  .links {\n    @include flex(center, flex-start);\n    overflow: visible;\n    //box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.2)\n\n    article {\n      position: relative;\n      width: 25%;\n\n      &:after {\n        content: '';\n        position: absolute;\n        top: 0;\n        right: 0;\n        height: 100%;\n        width: 50%;\n        background: linear-gradient(270deg, $blackGradient); }\n\n      a {\n        text-decoration: none; }\n\n      picture {\n        width: 100%;\n        img {\n          width: 100%; } }\n\n\n      .overlay {\n        position: absolute;\n        z-index: 2;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n\n        h4 {\n          position: absolute;\n          left: calc(100% - 25px);\n          bottom: 25px;\n          width: 100%;\n          margin: 0;\n          font-size: 1.5rem;\n          line-height: 1.2;\n          color: white;\n          font-weight: semibold();\n\n          transform-origin: 0 100%;\n          transform: rotate(270deg); }\n\n        .arrow-placeholder {\n          position: absolute;\n          top: 0;\n          left: 0;\n          width: 100%;\n          height: 100%;\n          background: $limeGreen;\n          @include flex(center, center);\n          opacity: 0;\n          transition: opacity 0.4s;\n\n          span {\n            display: block;\n            width: 45px;\n            max-height: 18px;\n\n            svg {\n              width: 100%;\n              transform-origin: center;\n              transform: rotate(270deg);\n\n              &.arrow-icon {\n                .st0 {\n                  fill: white; } } } } } }\n\n      &:hover {\n        .overlay {\n          .arrow-placeholder {\n            opacity: 1; } } } }\n\n\n    @include respond-to-width(1000) {\n      @include flex-rows;\n\n      article {\n        width: 50%; } }\n\n    @include respond-to-width(600) {\n      display: block;\n\n      article {\n        width: 100%;\n        background-color: $limeGreen;\n\n        + article {\n          margin-top: 30px; }\n\n        a {\n          display: block;\n          padding-bottom: 10px; }\n\n        .overlay {\n          h4 {\n            transform: rotate(0deg);\n            left: 30px;\n            bottom: 25px; } } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_discoverRow.sass",".cta-row {\n  position: relative;\n  overflow: hidden;\n\n  .basic-hint {\n    color: white;\n    font-size: 0.8rem;\n    line-height: 1.2;\n    width: 100%;\n    max-width: 800px;\n    margin: 0 auto;\n    padding: 1rem 0; }\n\n  .grid-row {\n    position: relative;\n    z-index: 2;\n\n    &:after {\n      content: '';\n      position: absolute;\n      z-index: -1;\n      top: 0;\n      left: column(7, 12);\n      width: 100vw;\n      height: 100%;\n      background: $offsetWhite3; }\n\n    &:before {\n      $gradientSize: 20px;\n      content: '';\n      position: absolute;\n      top: 0;\n      right: calc(#{column(5, 12)} - #{$gradientSize});\n      height: 100%;\n      width: $gradientSize;\n      background: linear-gradient(90deg, $blackGradient); }\n\n    &.logo-after {\n      &:after {\n        background: rgba($offsetWhite3, 0.25); } } }\n\n  .cta-trigger, .cta-trigger-2 {\n    display: inline-block;\n    padding: 40px 20px 40px 0;\n\n    h3 {\n      color: $darkGrey;\n      font-size: 1.5rem;\n      line-height: 1.2;\n      @include dosisBold;\n      margin: 0 0 10px; }\n\n    p {\n      color: $semiLightGrey;\n      font-size: 0.65rem;\n      font-weight: bold();\n      text-transform: uppercase;\n      margin: 0; }\n\n    .button {\n      margin-top: 40px; } }\n\n  .cta-trigger {\n    margin-left: column(1, 12);\n    width: column(6, 12);\n    background-color: white; }\n\n  .cta-trigger-2 {\n    width: column(6, 12);\n    padding-left: 100px; }\n\n  .cta-person {\n    display: inline-block;\n    vertical-align: top;\n    width: column(5, 12);\n    padding: 0;\n\n    .wrapper {\n      @include flex(flex-start, center); }\n\n    .image-placeholder {\n      width: 100%;\n      max-width: 375px;\n\n      figure {\n        position: relative;\n        width: 100%;\n        padding-bottom: 66.67%;\n        height: 0;\n\n        span {\n          position: absolute;\n          top: 0;\n          left: 0;\n          width: 100%;\n          height: 100%;\n          background-position: center;\n          background-size: cover; } } }\n\n    .contact-info {\n      width: calc(100% - 175px);\n      padding-left: 25px;\n\n      p {\n        margin: 0;\n        font-size: 1.3rem;\n        line-height: 1.2;\n        color: $darkGrey; }\n\n      span {\n        display: block;\n        color: $darkGrey;\n        font-size: 1rem; }\n\n      a {\n        font-size: 0.9rem;\n        color: $darkGrey;\n        font-weight: semibold();\n        text-decoration: none;\n        transition: color 0.2s;\n\n        &:hover {\n          color: darken($darkGrey, 8%); } } }\n\n    &.logo-fallback {\n      .wrapper {\n        @include flex(flex-end, center);\n        height: 240px; }\n\n      .image-placeholder {\n        height: 100px;\n        background: {\n          image: url(\"/img/medvalue_powered.png\");\n          position: right center;\n          size: contain;\n          repeat: no-repeat; } } } }\n\n\n\n  @include respond-to-width(1000) {\n    .grid-row {\n      height: auto;\n      display: block;\n      width: 100%;\n\n      &:before, &:after {\n        display: none; } }\n\n    .cta-trigger, .cta-trigger-2 {\n      width: 100%;\n      padding: 65px column(1, 14); }\n\n    .cta-trigger {\n      margin-left: 0; }\n\n    .cta-person {\n      width: 100%;\n      background-color: white;\n      padding: 0 column(1, 14) 65px;\n\n      &.logo-fallback {\n        display: none; } } }\n\n\n  @include respond-to-width(475) {\n    .cta-trigger, .cta-trigger-2 {\n      br {\n        display: none; } }\n\n    .cta-person {\n      padding: 0;\n      text-align: center;\n\n      .image-placeholder {\n        display: inline-block; } } } }\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_ctaRow.sass",".steps-slider {\n  padding: 20px 0 40px;\n  background-color: $offsetWhite;\n  text-align: center;\n\n  .grid-row {\n    > h2 {\n      font-size: 2rem;\n      line-height: 1.2;\n      //+karla\n      color: $darkGrey; }\n }    //text-align: center\n\n  .slider-nav {\n    position: relative;\n    display: inline-block;\n    list-style: none;\n    padding: 0;\n    margin: 45px auto 0;\n\n    &:before {\n      content: '';\n      position: absolute;\n      left: 0;\n      top: calc(50% - 1px);\n      height: 2px;\n      width: 100%;\n      background-color: $limeGreen; }\n\n\n    .slide-nav-item {\n      position: relative;\n      z-index: 1;\n      display: inline-block;\n      padding: 12px 18px;\n      margin-left: 14px;\n      background-color: white;\n      border: 2px solid $limeGreen;\n      border-radius: 12px;\n      font-size: 1.1rem;\n      line-height: 1.2;\n      font-weight: bold();\n      color: $darkGrey;\n      cursor: pointer;\n      transition: color 0.4s, background 0.4s;\n\n      &:first-child {\n        margin-left: 0; }\n\n      p {\n        margin: 0; }\n\n      &:hover {\n        background-color: darken(white, 10%); }\n\n      &.active {\n        background-color: $limeGreen;\n        color: white; } } }\n\n  .slides {\n    position: relative;\n    max-width: 600px;\n    min-height: 150px;\n    margin: 50px auto 0;\n\n    .slide {\n      position: absolute;\n      z-index: 1;\n      top: 0;\n      left: 0;\n      display: block;\n      width: 100%;\n      opacity: 0;\n      font-size: 0.85rem;\n      line-height: 1.6;\n      //color: $blackBlue\n      transform: translate3d(0, 20px, 0);\n      transition: opacity 0.4s, transform 0.4s;\n\n      &.active {\n        z-index: 2;\n        opacity: 1;\n        transform: translate3d(0, 0, 0); }\n\n      h4 {\n        display: none;\n        font-size: 1.3rem;\n        line-height: 1.2;\n        font-weight: bold(); } }\n\n    .navigation-buttons {\n\n      .nav-item {\n        position: absolute;\n        @include flex(center, center);\n        bottom: 0;\n        width: 35px;\n        height: 35px;\n        cursor: pointer;\n        border-radius: 100%;\n        transition: background 0.3s;\n\n        span {\n          @include flex(center, center);\n          height: 16px;\n          width: 16px;\n          transform-origin: center;\n          transition: transform 0.3s;\n\n          .arrow-icon {\n            position: relative;\n            width: 10px;\n            height: 16px;\n            transform-origin: center;\n            .st0 {\n              fill: white; } } }\n\n        &.previous {\n          background-color: $grey;\n          right: calc(50% + 3px);\n\n          span {\n            .arrow-icon {\n              transform: rotate(90deg); } }\n\n          &:hover {\n            background-color: lighten($grey, 5%); } }\n\n        &.next {\n          background-color: $limeGreen;\n          left: calc(50% + 3px);\n\n\n          span {\n            .arrow-icon {\n              transform: rotate(270deg); } }\n\n          &:hover {\n            background-color: darken($limeGreen, 10%); } } } } }\n\n  @include respond-to-width(975) {\n    padding: 0;\n\n    .grid-row {\n      width: 100%;\n\n      >h2 {\n        padding: 50px 0; } }\n\n    .slider-nav {\n      display: none; }\n\n    .slides {\n      margin-top: 0;\n      max-width: none;\n      height: auto !important;\n\n      .slide {\n        position: relative;\n        height: auto !important;\n        opacity: 1;\n        padding: 40px column(1, 12);\n        transform: translate3d(0,0,0) !important;\n        background-color: white;\n\n        &:nth-of-type(odd) {\n          background-color: $offsetWhite; }\n\n        .content {\n          text-align: left; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_stepsSlider.sass",".employees-row {\n  padding: 80px 0 60px;\n  background-color: $offsetWhite2;\n\n  .grid-row {\n    h2 {\n      margin: 0;\n      font-size: 2rem;\n      line-height: 1.4;\n      @include dosisBold;\n      color: $lightGrey; }\n\n    @include respond-to-width(1100) {\n      width: 100%;\n\n      h2 {\n        text-align: center;\n        padding: 0 20px; } } }\n\n  .overview {\n    padding: 60px 0 0;\n\n    @include flex(space-between, flex-start);\n    @include flex-rows;\n\n    @supports (display: flex) {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      grid-gap: 60px 60px;\n\n      @include respond-to-width(1100) {\n        padding: 0 60px; }\n\n      @include respond-to-width(1250) {\n        grid-gap: 30px 30px; } }\n\n    @include respond-to-width(1100) {\n      padding: 60px 20px 0;\n\n      @supports (display: flex) {\n        padding: 60px 40px 0; } }\n\n\n    @include respond-to-width(1250) {\n      display: block;\n      padding: 60px 20px 0 !important; } }\n\n  article {\n    @include flex(flex-start, flex-start);\n    width: 30%;\n    max-width: 420px;\n    margin: 0 15px 60px;\n    background-color: white;\n    border-radius: 5px;\n\n    font-size: 1rem;\n    line-height: 1.6;\n\n    @include respond-to-width(1350) {\n      width: 50%; }\n\n    @supports (display: flex) {\n      width: 100%;\n      //height: 100%\n      max-width: none;\n      margin: 0; }\n\n    @include respond-to-width(600) {\n      font-size: 0.9rem; }\n\n    .employee-image {\n      position: relative;\n      width: 200px;\n\n      figure {\n        position: relative;\n        z-index: 2;\n        width: 100%;\n        height: 0;\n        padding-bottom: 100%;\n        background-color: white;\n\n        .image {\n          position: absolute;\n          left: 0;\n          top: 0;\n          width: 100%;\n          height: 100%;\n          border-radius: 5px 0 0 5px;\n\n          background-size: cover;\n          background-position: center; } } }\n\n\n    .employee-description {\n      width: calc(100% - 200px);\n      @include flex(flex-start, center);\n      padding: 25px;\n\n      h4 {\n        margin: 0 0 10px;\n        font-size: 0.9rem;\n        font-weight: 400;\n        line-height: 1.2;\n        color: $limeGreen; }\n\n      p, a {\n        margin: 0;\n        font-size: 0.8rem;\n        line-height: 1.4; }\n\n      a {\n        display: block;\n        font-size: 0.7rem;\n        color: $darkGrey;\n\n        &.linkedin {\n          margin-top: 10px;\n\n          span {\n            display: inline-block;\n            @include linkedinSprite; } } }\n\n      p {\n        color: rgba($lightGrey, 0.75);\n        + p {\n          margin-top: 5px; }\n\n        &.function {\n          margin-bottom: 10px; } } }\n\n\n    .ie & {\n      @include respond-to-width(1350) {\n        .employee-description {\n          width: calc(100% - 160px); }\n        .employee-image {\n          width: 160px;\n          figure {\n            padding-bottom: 130%; } } } }\n\n\n    @include respond-to-width(1250) {\n      width: 100%;\n      margin-left: auto;\n      margin-right: auto;\n      max-width: 625px;\n\n      + article {\n        margin-top: 30px; }\n\n      figure {\n        padding-bottom: 66.67%; }\n\n      .ie & {\n        width: 100% !important;\n        max-width: 625px !important;\n\n        .employee-description {\n          width: calc(100% - 200px); }\n\n        .employee-image {\n          width: 200px;\n\n          figure {\n            padding-bottom: 100%; } } } }\n\n    @include respond-to-width(500) {\n      display: block;\n      background-color: transparent;\n\n      .employee-image {\n        margin: 0 auto 15px;\n        border-radius: 100%;\n        overflow: hidden;\n        background-color: white; }\n\n      .employee-description {\n        width: 100%;\n        @include flex(center, center);\n        //padding: 0 25px\n        text-align: center; } } }\n\n\n  .ie & {\n\n    article {\n      width: 45%;\n      max-width: none; }\n\n\n    @include respond-to-width(500) {\n      .employee-description {\n        width: 100% !important; }\n      //.grid-row\n      //  h2\n      //    text-align: center\n      //\n      //.overview\n      //  display: block\n      //\n      //article\n      //  width: 100%\n      //  max-width: 575px\n } } }      //  margin: 0 auto 60px\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_employeesRow.sass","$spriteWidth: 100px;\n$spriteHeight: 85px;\n\n\n@mixin sprite($position, $width: auto, $height: auto) {\n\n  $positionX: nth($position, 1) * -1;\n  $positionY: nth($position, 2) * -1;\n\n  background: url(\"/img/komma_sprite.svg\") $positionX $positionY no-repeat;\n  background-size: $spriteWidth $spriteHeight;\n  width: $width;\n  height: $height; }\n\n@mixin socialMediaSprite($position, $width: auto, $height: auto) {\n\n  $positionX: nth($position, 1) * -1;\n  $positionY: nth($position, 2) * -1;\n\n  background: url(\"/img/social-media-sprite.svg\") $positionX $positionY no-repeat;\n  background-size: 175px 50px;\n  width: $width;\n  height: $height; }\n\n@mixin facebookSprite($white: false) {\n  @if $white == false {\n    @include socialMediaSprite(50px 0, 24px, 24px); }\n  @else {\n    @include socialMediaSprite(50px 25px, 24px, 24px); } }\n\n@mixin linkedinSprite($white: false) {\n  @if $white == false {\n    @include socialMediaSprite(25px 0, 24px, 24px); }\n  @else {\n    @include socialMediaSprite(25px 25px, 24px, 24px); } }\n\n@mixin twitterSprite($white: false) {\n  @if $white == false {\n    @include socialMediaSprite(0 2px, 24px, 21px); }\n  @else {\n    @include socialMediaSprite(0 27px, 24px, 21px); } }\n\n@mixin instagramSprite($white: false) {\n  @if $white == false {\n    @include socialMediaSprite(75px 0, 24px, 24px); }\n  @else {\n    @include socialMediaSprite(75px 25px, 24px, 24px); } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/mixins/_sprite.sass",".index-grid-row {\n  background-color: $offsetWhite2;\n\n  .no-available {\n    padding: 60px 20px 0;\n    text-align: center;\n    color: $darkGrey; }\n\n  .pagination {\n    @include flex(center, center);\n    margin: 0;\n    padding: 0 0 40px;\n    font-size: 0.9rem;\n    line-height: 1.2;\n    list-style: none;\n    font-weight: 600;\n\n    li {\n      margin: 0 6px;\n\n      a {\n        color: $semiLightGrey;\n        text-decoration: none; }\n\n      &.active {\n        span {\n          color: $limeGreen;\n          font-weight: bold(); } }\n\n      &:first-of-type, &:last-of-type {\n        a, span {\n          position: relative;\n          top: 0;\n          display: block;\n          font-size: 0;\n\n          .arrow-icon {\n            position: relative;\n            width: 10px;\n            height: 16px;\n            transform-origin: center;\n            transform: rotate(-90deg);\n\n            path {\n              fill: $semiLightGrey; } } } }\n\n      &:first-of-type {\n        a, span {\n          transform: scale3d(-1, 1, 1); } }\n\n      &.disabled {\n        opacity: 0.2;\n        pointer-events: none;\n\n        .arrow-icon {\n          position: relative;\n          width: 10px;\n          height: 16px;\n          transform-origin: center;\n          transform: rotate(-90deg);\n\n          path {\n            fill: rgba($semiLightGrey, 0.3); } } } } } }\n\n@import \"largeBadges\";\n@import \"squares\";\n@import \"list\";\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_overviews.sass",".large-badges-grid {\n\n  .overview {\n    padding: 60px 0 0;\n\n    @include flex(space-between, flex-start);\n    @include flex-rows;\n\n    article {\n      margin: 0 15px 60px;\n\n      @include respond-to-width(480) {\n        margin: 0 0 30px; } }\n\n    @supports (display: flex) {\n      display: grid;\n      grid-template-columns: 1fr 1fr 1fr;\n      grid-gap: 60px 60px;\n      padding-bottom: 60px;\n\n      &.first-page {\n        grid-template-rows: 1fr 1fr 1fr;\n        grid-template-areas: \"first first item-2\" \"first first item-3\" \"item-4 item-5 item-6\";\n\n        article:first-child {\n          grid-area: first; } }\n\n      article {\n        margin: 0; }\n\n      @include respond-to-width(1700) {\n        grid-gap: 30px 30px; }\n\n      @include respond-to-width(1000) {\n        grid-gap: 60px 60px;\n        grid-template-columns: 1fr 1fr;\n\n        &.first-page {\n          grid-template-areas: \"first first\" \"first first\"; } }\n\n      @include respond-to-width(950) {\n        grid-gap: 30px 30px; }\n\n      @include respond-to-width(840) {\n        display: block;\n        max-width: 520px;\n        margin-left: auto;\n        margin-right: auto;\n        article {\n          margin-bottom: 30px; } } } }\n\n  article {\n    width: 45%;\n    max-width: 520px;\n    background: white;\n    box-shadow: 0 0 40px 0 rgba(0,0,0,0.2);\n\n    font-size: 1rem;\n    line-height: 1.6;\n\n    @supports (display: flex) {\n      height: 100%;\n      width: 100%;\n      max-width: none;\n      a {\n        height: 100%;\n        padding-bottom: 0; } }\n\n    @include respond-to-width(740) {\n      width: 100%; }\n\n    @include respond-to-width(600) {\n      font-size: 0.9rem; }\n\n    a {\n      display: block;\n      position: relative;\n      width: 100%;\n      height: 0;\n      padding-bottom: 65%;\n      text-decoration: none;\n\n      @supports (display: flex) {\n        height: 100%; }\n\n      figure {\n        position: absolute;\n        left: 0;\n        top: 0;\n        width: 100%;\n        height: 100%;\n\n        &:before {\n          content: '';\n          position: absolute;\n          z-index: 1;\n          left: 0;\n          top: 0;\n          width: 100%;\n          height: 100%;\n          background: black;\n          opacity: 0.3;\n          transition: opacity 0.4s; }\n\n        span {\n          position: absolute;\n          left: 0;\n          top: 0;\n          width: 100%;\n          height: 100%;\n          background-size: cover;\n          background-position: center;\n          display: none;\n\n          &.medium {\n            display: block; } } }\n\n\n      .date {\n        position: absolute;\n        left: 8%;\n        top: 12%;\n        z-index: 3;\n        font-size: 3em;\n        font-weight: bold();\n        line-height: 1;\n        color: white;\n        transition: color 0.4s;\n\n        @include respond-to-width(950) {\n          font-size: 2.5em; }\n\n        @include respond-to-width(950) {\n          font-size: 2em; } }\n\n      h2 {\n        position: absolute;\n        z-index: 4;\n        width: calc(80% - 10px);\n        left: 9%;\n        bottom: 9%;\n        color: white;\n\n        font-size: 1.1em;\n        line-height: 1.4;\n        font-weight: semibold();\n        transition: color 0.4s;\n\n        .arrow {\n          position: absolute;\n          z-index: 2;\n          width: 15px;\n          right: -20px;\n          bottom: -7px;\n          transform: translate3d(0,0,0);\n          transition: transform 0.4s;\n\n          .arrow-icon {\n            width: 100%;\n            transform-origin: center;\n            transform: rotate(270deg);\n\n            path {\n              fill: $darkGrey;\n              transition: fill 0.4s; } } } } }\n\n    &:hover {\n      a {\n        figure {\n          &:before {\n            opacity: 0.1; } }\n\n        .arrow {\n          transform: translate3d(5px,0,0);\n          .arrow-icon {\n            path {\n              fill: white; } } }\n\n        h2, .date {\n          color: white; } } }\n\n    @include respond-to-width(480) {\n      a {\n        height: auto;\n        padding-bottom: 0;\n\n        figure {\n          position: relative;\n          height: 0;\n          padding-bottom: 65%; }\n\n        .arrow {\n          display: none; }\n\n        h2 {\n          position: relative;\n          width: 100%;\n          left: 0;\n          bottom: 0;\n          margin: 0;\n          color: $grey;\n          padding: 20px 15px; } } }\n\n    .first-page & {\n      &#post-0 {\n        a {\n          padding: 5% 8%;\n\n          .ie & {\n            padding: 0 0 65% !important;\n\n            .date {\n              font-size: 3em !important; }\n\n            h2 {\n              font-size: 1.1em !important; }\n\n            @include respond-to-width(480) {\n              padding-bottom: 0 !important;\n              height: auto; } }\n\n          figure {\n            span {\n              &.medium {\n                display: none; }\n              &.large {\n                display: block; }\n\n              @include respond-to-width(950) {\n                &.large {\n                  display: none; }\n                &.medium {\n                  display: block; } } } }\n\n          .date {\n            top: 8%;\n            font-size: 3.75em; }\n\n          h2 {\n            font-size: 2em;\n            padding-right: 15% !important;\n\n            @include respond-to-width(1750) {\n              padding-right: 15%; } }\n\n          @include respond-to-width(840) {\n            padding: 0 0 65%;\n\n            .date {\n              top: 12%;\n              font-size: 2em; }\n\n            h2 {\n              font-size: 1.1em;\n              padding-right: 20px !important; } }\n\n          @include respond-to-width(480) {\n            height: auto;\n            padding-bottom: 0; } } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_largeBadges.sass",".squares-grid {\n\n  .overview {\n    padding: 60px 0 0;\n\n    @include flex(space-between, flex-start);\n    @include flex-rows;\n\n    article {\n      margin: 0 15px 60px;\n\n      @include respond-to-width(480) {\n        margin: 0 auto 30px !important; } }\n\n    @supports (display: flex) {\n      display: grid;\n      grid-template-columns: 1fr 1fr 1fr;\n      grid-gap: 60px 60px;\n      padding-bottom: 60px;\n\n      article {\n        margin: 0; }\n\n      @include respond-to-width(1700) {\n        grid-gap: 30px 30px; }\n\n      @include respond-to-width(1000) {\n        grid-gap: 60px 60px;\n        grid-template-columns: 1fr 1fr; }\n\n      @include respond-to-width(950) {\n        grid-gap: 30px 30px; }\n\n      @include respond-to-width(800) {\n        display: block;\n        max-width: 520px;\n        margin-left: auto;\n        margin-right: auto; } } }\n\n  article {\n    width: 100%;\n    max-width: 520px;\n\n    font-size: 1rem;\n    line-height: 1.6;\n\n    @supports (display: flex) {\n      height: 100%;\n      max-width: none; }\n\n    @include respond-to-width(600) {\n      font-size: 0.9rem; }\n\n    a {\n      display: block;\n      position: relative;\n      width: 100%;\n      text-decoration: none; }\n\n    figure {\n      position: relative;\n      z-index: 2;\n      width: 100%;\n      height: 0;\n      padding-bottom: 100%;\n      background-color: white;\n      box-shadow: 0 0 40px 0 rgba(0,0,0,0.2);\n\n      .image {\n        position: absolute;\n        left: 0;\n        top: 0;\n        width: 100%;\n        height: 100%;\n\n        background-size: cover;\n        background-position: center; }\n\n      .styling {\n        position: absolute;\n        right: 0;\n        bottom: 0;\n        @include flex(center, center);\n        width: 50px;\n        height: 50px;\n        background-color: $limeGreen;\n        border-radius: 50px 0 0 0;\n        transition: all 0.4s;\n\n        .arrow {\n          position: relative;\n          left: 4px;\n          bottom: -5px;\n          display: inline-block;\n          width: 13px;\n          transform: translate3d(0,0,0);\n          transition: transform 0.3s;\n\n          .arrow-icon {\n            transform-origin: center;\n            transform: rotate(270deg);\n            path {\n              fill: white;\n              transition: fill 0.3s; } } } } }\n\n    h2 {\n      text-align: center;\n      font-size: 1.1rem;\n      line-height: 1.2;\n      @include dosisBold;\n      color: $grey; }\n\n    &:hover {\n      figure {\n        .styling {\n          width: 100%;\n          height: 100%;\n          border-radius: 0 0 0 0;\n          background-color: rgba($limeGreen, 0.6); } } }\n\n    @include respond-to-width(800) {\n      + article {\n        margin-top: 30px !important; }\n\n      figure {\n        padding-bottom: 66.67%; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_squares.sass",".list-row {\n  .grid-row {\n    padding: 60px 0 100px;\n    max-width: 1000px;\n\n    @include respond-to-width(880) {\n      padding-top: 100px; }\n\n    h1 {\n      margin: 0 0 60px;\n      font-size: 1.6rem;\n      line-height: 1.2;\n      color: $grey;\n      text-align: center; } }\n\n  .list {\n\n    article {\n\n      + article {\n        margin-top: 40px; }\n\n      a {\n        @include flex(flex-start, center);\n        background: white;\n        text-decoration: none;\n        border: 2px solid transparent;\n        transition: border 0.3s;\n\n        .date {\n          display: block;\n          padding: 15px 40px;\n          border-right: 1px solid $offsetWhite3;\n          font-size: 1.8rem;\n          font-weight: bold();\n          line-height: 1;\n          color: $semiLightGrey;\n          transition: color 0.4s; }\n\n        figure {\n          width: 120px;\n          margin-left: 25px;\n          border-radius: 10px;\n          overflow: hidden;\n          img {\n            width: 100%; } }\n\n        .content {\n          padding: 25px;\n          width: calc(100% - 122px);\n\n          &.with-image {\n            width: calc(100% - 268px); }\n\n          h2 {\n            margin: 0 0 6px;\n            font-size: 1.1rem;\n            line-height: 1.2;\n            color: $semiLightGrey;\n            @include dosisBold; }\n\n          .read-more {\n            font-size: 1rem;\n            line-height: 1.2;\n            color: $limeGreen;\n            @include dosisBold;\n\n            .arrow {\n              position: relative;\n              top: 2px;\n              display: inline-block;\n              margin-left: 10px;\n              width: 12px;\n              transform: translate3d(0,0,0);\n              transition: transform 0.3s;\n\n              .arrow-icon {\n                max-height: 18px;\n                transform-origin: center;\n                transform: rotate(270deg);\n                path {\n                  fill: $limeGreen; } } } } }\n\n        &:hover {\n          border-color: $limeGreen;\n          .content {\n            .read-more {\n              .arrow {\n                transform: translate3d(5px,0,0); } } } }\n\n        @include respond-to-width(740) {\n          figure {\n            display: none; }\n\n          .date {\n            font-size: 1.5rem;\n            padding: 15px 25px; }\n\n          .content {\n            width: calc(100% - 85px);\n\n            &.with-image {\n              width: calc(100% - 85px); }\n\n            h2 {\n              font-size: 0.9rem; }\n\n            .read-more {\n              font-size: 0.8rem; } } } } } } }\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_list.sass",".show-sub-menu {\n  padding: 80px 0;\n  >p {\n    font-size: 1rem;\n    line-height: 1.2;\n    color: $darkGrey;\n    font-weight: semibold();\n    margin: 0 0 1rem; }\n\n  ul {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n\n    li {\n      font-size: 0.9rem;\n      line-height: 1.2;\n      border-bottom: 1px solid rgba($semiLightGrey, 0.25);\n\n      a {\n        @include flex(space-between, flex-start);\n        text-decoration: none;\n        color: $semiLightGrey;\n        padding: 15px 0;\n        transition: color 0.3s;\n\n        p {\n          margin: 0;\n          width: calc(100% - 27px); }\n\n        .arrow {\n          position: relative;\n          right: 4px;\n          top: 1px;\n          display: inline-block;\n          width: 9px;\n          transform: translate3d(0,0,0);\n          transition: transform 0.5s;\n\n          svg {\n            width: 100%;\n            max-height: 18px;\n            transform-origin: center;\n            transform: rotate(270deg);\n\n            &.arrow-icon {\n              path {\n                fill: $grey; } } } }\n\n        &:hover {\n          color: $grey;\n          .arrow {\n            transform: translate3d(8px,0,0); } } }\n\n      &.active {\n        a {\n          color: $darkGrey;\n          font-weight: semibold(); } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/show/_subMenu.sass",".show-model-detail {\n  position: relative;\n  overflow: hidden;\n\n  .return-to-overview {\n    background-color: $semiLightGrey;\n    padding: 20px column(1, 14);\n    text-decoration: none;\n    display: none;\n    width: 100%;\n\n    .arrow {\n      position: relative;\n      top: 1px;\n      left: 4px;\n      display: block;\n      width: 12px;\n      margin-right: 25px;\n      transform: translate3d(0,0,0);\n      transition: transform 0.3s;\n\n      svg {\n        max-height: 15px; }\n\n      .arrow-icon {\n        width: 100%;\n        transform: rotate(90deg);\n        transform-origin: center;\n        path {\n          fill: white; } } }\n\n    p {\n      font-size: 0.8rem;\n      color: white;\n      margin: 0;\n      font-weight: semibold(); }\n\n    &:hover {\n      .arrow {\n        transform: translate3d(-5px,0,0); } } }\n\n  .show-sub-menu {\n    position: relative;\n    z-index: 3;\n    display: inline-block;\n    width: column(3, 12);\n    vertical-align: top; }\n\n  .dynamic-content {\n    position: relative;\n    z-index: 2;\n    display: inline-block;\n    width: column(9, 12);\n    padding: 80px 0;\n    vertical-align: top;\n\n    &:after {\n      content: '';\n      position: absolute;\n      z-index: -1;\n      display: block;\n      width: 100vw;\n      height: 100vh;\n      background-color: white;\n      right: 0;\n      top: 0; }\n\n    .dynamic-block {\n      &.full-text-block {\n        .content {\n          margin-left: 0;\n          text-align: left; } } } }\n\n\n  @include respond-to-width(900) {\n    .grid-row {\n      width: 100%;\n      @include flex(flex-start, flex-start);\n      @include flex-rows; }\n\n    .return-to-overview {\n      @include order(1);\n      @include flex(flex-start, center); }\n\n    .dynamic-content {\n      @include order(2);\n      width: 100%;\n      padding: 40px column(1, 14); }\n\n    .show-sub-menu {\n      @include order(3);\n      background-color: rgba($borderColor, 0.4);\n      width: 100%;\n      padding: 80px column(1, 14); } }\n\n  &.overview-page {\n    .background-image {\n      display: none;\n      content: '';\n      position: absolute;\n      top: 0;\n      right: 0;\n      width: 50%;\n      height: 100%;\n      background-repeat: no-repeat;\n      background-position: right center;\n      background-size: cover; }\n\n    .dynamic-content {\n      width: column(7, 12); }\n\n    @include respond-to-width(900) {\n      .show-sub-menu {\n        display: none; }\n      .dynamic-content {\n        width: 100%; }\n      .background-image {\n        display: none; } } }\n\n  @include respond-to-width(750) {\n    padding-top: 60px; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/show/_modelDetail.sass","/* ==========================================================================\n   Home page\n   @mixin ========================================================================= */\n\n#home {\n  header {\n    &:after {\n      display: none; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_home.sass","#clients {\n  .dynamic-content {\n    padding-bottom: 0; }\n\n  .squares-grid .overview {\n    padding-top: 0; }\n\n  &.ie {\n    .dynamic-content {\n      .content-block {\n        .image {\n          display: none; }\n\n        .content {\n          width: 100%;\n          max-width: 500px; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_clients.sass","/*==========================================================================\n  Contact page\n  @mixin ========================================================================= */\n#contact {\n\n  #map {\n    width: 100%;\n    height: 450px; }\n\n  .contact-content {\n    position: relative;\n    //background-color: $blue\n\n    &:after {\n      content: '';\n      position: absolute;\n      right: 0;\n      top: 0;\n      display: block;\n      width: 50%;\n      height: 100%;\n      background-color: $semiLightGrey; }\n\n    .contact-info, .contact-form {\n      position: relative;\n      z-index: 1; }\n\n\n    .contact-info {\n      width: column(5, 12);\n      padding: 72px 0 100px;\n\n      h1 {\n        font-size: 1.7rem;\n        line-height: 1.4;\n        color: $darkGrey;\n        margin: 0 0 32px;\n        @include dosisBold; }\n\n      figure {\n        margin-top: 80px;\n        width: 100%;\n\n        img {\n          width: 100%; } }\n\n      h3 {\n        font-size: 0.8rem;\n        line-height: 1.2;\n        color: $grey;\n        opacity: 0.5;\n        text-transform: uppercase;\n        font-weight: semibold();\n        margin: 100px 0 15px; }\n\n\n      p {\n        font-size: 0.9rem;\n        color: rgba($grey, 0.75);\n\n        a {\n          color: $grey;\n          font-weight: semibold();\n          text-decoration: none;\n          transition: color 0.2s;\n\n          &:hover {\n            color: $darkGrey; } } }\n\n      .opening-hours {\n        list-style: none;\n        margin: 0;\n        padding: 0;\n\n        li {\n          color: rgba($grey, 0.75);\n          font-size: 0.9rem;\n\n          .day {\n            display: inline-block;\n            width: 175px;\n\n            @include respond-to-width(400) {\n              width: 130px; } }\n\n          &.active {\n            color: $darkGrey;\n            font-weight: bold(); } } }\n      //font-weight: bold\n\n      @include respond-to-width(1100) {\n        width: column(5, 12);\n        margin-left: 0; } }\n\n    .contact-form {\n      position: relative;\n      display: inline-block;\n      margin-left: column(1, 12);\n      width: column(6, 12);\n      padding: 72px 0 100px column(1, 12);\n      vertical-align: top;\n\n      h2 {\n        margin: 0 0 20px;\n        font-size: 1.7rem;\n        line-height: 1.4;\n        color: white; }\n\n      > p {\n        font-size: 0.9rem;\n        line-height: 1.2;\n        color: $grey; } }\n\n    @include respond-to-width(840) {\n\n      &:after {\n        display: none; }\n\n      .grid-row {\n        width: 100%; }\n\n      .background {\n        display: none; }\n\n      .contact-info {\n        width: 100%;\n        padding: 72px column(1, 12) 100px;\n        //background-color: $blue\n\n        h3 {\n          margin-top: 60px; } }\n\n      .contact-form {\n        background-color: $semiLightGrey;\n        width: 100%;\n        padding-right: column(1, 12);\n        margin-left: 0; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_contact.sass","body.default {\n  .dynamic-content {\n    padding: 60px 0 120px;\n\n    .dynamic-block.full-text-block {\n      .content {\n        text-align: left; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_default.sass","#error-page-message {\n  padding: 100px 0 100px;\n  background-color: $borderColor;\n\n  .grid-row {\n    .kms-content {\n      width: 100%;\n      text-align: center; }\n\n    .placeholder {\n      max-width: 720px;\n      margin: auto; }\n\n    //p\n    //  font-size: 1rem\n    //  line-height: 1.7\n    //  font-weight: bold\n    //  color: $grey\n    //\n    //  +respond-to-width(700)\n    //    font-size: 0.9rem\n    //  +respond-to-width(450)\n } }    //    font-size: 0.8rem\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_error.sass","/*==========================================================================\n  Sitemap page\n  @mixin ========================================================================= */\n.sitemap {\n  ul {\n    padding-left: 40px;\n    padding-bottom: 20px;\n    font-size: 0.85em; }\n\n  >ul {\n    padding-left: 20px; }\n\n  li {\n    &:before {\n      top: 6px; }\n\n    a {\n      padding: 3px 0;\n      border-bottom-color: transparent;\n      border-bottom-style: dotted;\n      display: block;\n      &:hover {\n        border-bottom-color: rgba($black, 0.4); } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_sitemap.sass","#services {\n  &.ie {\n    .squares-grid {\n      article {\n        width: 14%;\n\n        @include respond-to-width(1240) {\n          width: 25%; }\n        @include respond-to-width(780) {\n          width: 40%; } } } }\n\n  .squares-grid {\n    .overview {\n      grid-template-columns: 1fr 1fr 1fr 1fr 1fr; } }\n\n  .index-grid-row {\n    position: relative;\n\n    &:before {\n      content: '';\n      position: absolute;\n      left: 0;\n      top: 0;\n      display: block;\n      height: 200px;\n      width: 100%;\n      background-color: $limeGreen;\n\n      @include respond-to-width(1300) {\n        height: 150px; } } }\n\n  @include respond-to-width(1000) {\n    .squares-grid .overview {\n      grid-template-columns: 1fr 1fr 1fr;\n\n      @include respond-to-width(800) {\n        display: grid;\n        max-width: none;\n\n        article {\n          + article {\n            margin-top: 0 !important; }\n\n          figure {\n            padding-bottom: 100%; } } }\n\n      @include respond-to-width(600) {\n        grid-template-columns: 1fr 1fr; }\n\n      @include respond-to-width(400) {\n        display: block;\n        article {\n          + article {\n            margin-top: 30px !important; } } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/services/_index.sass","#services {\n  .show-model-detail {\n    .dynamic-content {\n      .content-block {\n        .image {\n          width: 250px; }\n\n        .content {\n          width: calc(100% - 290px); }\n\n        @include respond-to-width(900) {\n          .image {\n            width: 100%;\n            max-width: 250px;\n            margin-top: 0; }\n\n          .content {\n            width: 100%; } } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/services/_show.sass","#projects {\n  .large-badges-grid {\n    position: relative;\n\n    &:after {\n      content: '';\n      position: absolute;\n      z-index: 1;\n      left: 0;\n      top: 0;\n      display: block;\n      height: 240px;\n      width: 100%;\n      background-color: $limeGreen; }\n\n    .overview {\n      position: relative;\n      z-index: 2; }\n\n    @include respond-to-width(1200) {\n      &:after {\n        height: 160px; } }\n\n    @include respond-to-width(880) {\n      padding-top: 40px;\n\n      &:after {\n        height: 350px; } }\n\n    @include respond-to-width(560) {\n\n      &:after {\n        height: 230px; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/projects/_index.sass"],"sourceRoot":""}