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+dWwge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuXG4gIGxpIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6IDZweDsgfVxuXG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAzcHggMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgkYmxhY2ssIDAuNCk7IH0gfSB9IH1cbiIsIkBpbXBvcnQgXCJpbmRleFwiO1xuQGltcG9ydCBcInNob3dcIjtcbiIsIiNzZXJ2aWNlcyB7XG4gICYuaWUge1xuICAgIC5zcXVhcmVzLWdyaWQge1xuICAgICAgYXJ0aWNsZSB7XG4gICAgICAgIHdpZHRoOiAxNCU7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMjQwKSB7XG4gICAgICAgICAgd2lkdGg6IDI1JTsgfVxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDc4MCkge1xuICAgICAgICAgIHdpZHRoOiA0MCU7IH0gfSB9IH1cblxuICAuc3F1YXJlcy1ncmlkIHtcbiAgICAub3ZlcnZpZXcge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnIgMWZyOyB9IH1cblxuICAuaW5kZXgtZ3JpZC1yb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbWVHcmVlbjtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMzAwKSB7XG4gICAgICAgIGhlaWdodDogMTUwcHg7IH0gfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMDAwKSB7XG4gICAgLnNxdWFyZXMtZ3JpZCAub3ZlcnZpZXcge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4MDApIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuXG4gICAgICAgIGFydGljbGUge1xuICAgICAgICAgICsgYXJ0aWNsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsgfSB9IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2MDApIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDAwKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBhcnRpY2xlIHtcbiAgICAgICAgICArIGFydGljbGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50OyB9IH0gfSB9IH0gfVxuIiwiI3NlcnZpY2VzIHtcbiAgLnNob3ctbW9kZWwtZGV0YWlsIHtcbiAgICAuZHluYW1pYy1jb250ZW50IHtcbiAgICAgIC5jb250ZW50LWJsb2NrIHtcbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICB3aWR0aDogMjUwcHg7IH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI5MHB4KTsgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTAwKSB7XG4gICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cblxuICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfSB9IH0gfVxuIiwiQGltcG9ydCBcImluZGV4XCI7XG4iLCIjcHJvamVjdHMge1xuICAubGFyZ2UtYmFkZ2VzLWdyaWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyNDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbWVHcmVlbjsgfVxuXG4gICAgLm92ZXJ2aWV3IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTIwMCkge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGhlaWdodDogMTYwcHg7IH0gfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4ODApIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAzNTBweDsgfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDU2MCkge1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAyMzBweDsgfSB9IH0gfVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUVBQTs7c0ZBRXNGO0FBQ3RGOzs7OztHQUtHO0FBSUg7O0dBRUc7QUNkSDs7O2lCQUdpQjtBd0VIakI7O3NGQUVzRjtBQUV0Rjs7O0dBR0c7QUNQSDs7cUZBRXFGO0FBRXJGOzs7O0lBSUk7QUFjSjs7O0lBR0k7QUFJSjs7SUFFSTtBTS9CSjs7c0ZBRXNGO0FBRXRGLEFBQUEsQ0FBQyxDQUFDO0VBQ0EsVUFBVSxFQUFFLFVBQVU7Q0FBRzs7QUFFM0I7Ozs7R0FJRztBQUNILEFBQUEsSUFBSSxDQUFDO0VBQ0gsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztDQUFHOztBQUVyQjs7O0dBR0c7QUFDSCxBQUFBLEdBQUcsQ0FBQztFQUNGLE9BQU8sRUFBRSxLQUFLO0VBQ2QsTUFBTSxFQUFFLElBQUk7Q0FBRzs7QUFFakI7O0lBRUk7QUFDSixBRDFCRSxLQzBCRyxBRDFCRiwyQkFBMkIsRUMwQnZCLFFBQVEsQUQxQlosMkJBQTJCLENBQTJCO0VDNEJyRCxVQUFVLEVBQUUsc0JBQXNCO0NEM0J2Qjs7QUN5QmYsQUR4QkUsS0N3QkcsQUR4QkYsa0JBQWtCLEVDd0JkLFFBQVEsQUR4Qlosa0JBQWtCLENBQW1CO0VDMEJwQyxVQUFVLEVBQUUsc0JBQXNCO0NEekJ2Qjs7QUN1QmYsQUR0QkUsS0NzQkcsQUR0QkYsc0JBQXNCLEVDc0JsQixRQUFRLEFEdEJaLHNCQUFzQixDQUFjO0VDd0JuQyxVQUFVLEVBQUUsc0JBQXNCO0NEdkJ2Qjs7QUNxQmYsQURwQkUsS0NvQkcsQURwQkYsaUJBQWlCLEVDb0JiLFFBQVEsQURwQlosaUJBQWlCLENBQW1CO0VDc0JuQyxVQUFVLEVBQUUsc0JBQXNCO0NEckJ2Qjs7QUN1QmY7O0dBRUc7QUFDSCxBQUFBLE1BQU0sQ0FBQztFQUNMLE1BQU0sRUFBRSxDQUFDO0NBQUc7O0FFbkNkOztxRkFFcUY7QUFFckY7Ozs7OztJQU1JO0FBRUosQUFBQSxTQUFTLENBQUM7RUFDUixLQUFLLEVSY0csWUFBOEM7RVFidEQsU0FBUyxFQUFFLE1BQU07RUFDakIsTUFBTSxFQUFFLE1BQU07RUFDZCxTQUFTLEVBQUUsQ0FBQztFQUNaLFdBQVcsRUFBRSxDQUFDO0VBRWQ7OztLQUdHO0NBSW1COztBQWR4QixBQVlFLFNBWk8sQUFZTixTQUFTLENBQUM7RUFDVCxLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxJQUFJO0NBQUc7O0FBRXRCOzs7Ozs7R0FNRztBQUVILEFBQUEsU0FBUyxDQUFDO0VBQ1IsUUFBUSxFQUFFLFFBQVE7RUFFbEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsUUFBUSxFQUFFLE1BQU07RUFDaEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztFQUVoQjs7OztLQUlHO0NBSWtCOztBQWpCdkIsQUFlRSxTQWZPLEFBZU4sT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsTUFBTTtDQUFHOztBQU9uQjtzRkFDb0Y7QUFFcEY7OztLQUdHO0FBRUgsQUFBQSxNQUFNLEVBQUUsU0FBUyxDQUFTO0VBQ3hCLEtBQUssRVIxQ0MsV0FBOEM7Q1E4QzVCOztBQUR4QixBQUFBLFNBQVMsQ0FKWCxNQUFNLEVBSUosU0FBUyxDQUpILFNBQVMsQ0FJSDtFQUNWLEtBQUssRVI5Q0QsV0FBOEM7Q1E4QzlCOztBQUd4QjtzRkFDb0Y7QUFFcEYsQUFBQSxTQUFTLEVBQUUsWUFBWSxDQUFTO0VBQzlCLFdBQVcsRVJyREwsV0FBOEM7Q1FxRHZCOztBQXBCL0I7c0ZBQ29GO0FBRXBGOzs7S0FHRztBQUVILEFBQUEsTUFBTSxFQUFFLFNBQVMsQ0FBUztFQUN4QixLQUFLLEVSMUNDLFlBQThDO0NROEM1Qjs7QUFEeEIsQUFBQSxTQUFTLENBSlgsTUFBTSxFQUlKLFNBQVMsQ0FKSCxTQUFTLENBSUg7RUFDVixLQUFLLEVSOUNELFlBQThDO0NROEM5Qjs7QUFHeEI7c0ZBQ29GO0FBRXBGLEFBQUEsU0FBUyxFQUFFLFlBQVksQ0FBUztFQUM5QixXQUFXLEVSckRMLFlBQThDO0NRcUR2Qjs7QUFwQi9CO3NGQUNvRjtBQUVwRjs7O0tBR0c7QUFFSCxBQUFBLE1BQU0sRUFBRSxTQUFTLENBQVM7RUFDeEIsS0FBSyxFUjFDQyxHQUE4QztDUThDNUI7O0FBRHhCLEFBQUEsU0FBUyxDQUpYLE1BQU0sRUFJSixTQUFTLENBSkgsU0FBUyxDQUlIO0VBQ1YsS0FBSyxFUjlDRCxZQUE4QztDUThDOUI7O0FBR3hCO3NGQUNvRjtBQUVwRixBQUFBLFNBQVMsRUFBRSxZQUFZLENBQVM7RUFDOUIsV0FBVyxFUnJETCxHQUE4QztDUXFEdkI7O0FBcEIvQjtzRkFDb0Y7QUFFcEY7OztLQUdHO0FBRUgsQUFBQSxNQUFNLEVBQUUsU0FBUyxDQUFTO0VBQ3hCLEtBQUssRVIxQ0MsWUFBOEM7Q1E4QzVCOztBQUR4QixBQUFBLFNBQVMsQ0FKWCxNQUFNLEVBSUosU0FBUyxDQUpILFNBQVMsQ0FJSDtFQUNWLEtBQUssRVI5Q0QsWUFBOEM7Q1E4QzlCOztBQUd4QjtzRkFDb0Y7QUFFcEYsQUFBQSxTQUFTLEVBQUUsWUFBWSxDQUFTO0VBQzlCLFdBQVcsRVJyREwsWUFBOEM7Q1FxRHZCOztBQXBCL0I7c0ZBQ29GO0FBRXBGOzs7S0FHRztBQUVILEFBQUEsTUFBTSxFQUFFLFNBQVMsQ0FBUztFQUN4QixLQUFLLEVSMUNDLFlBQThDO0NROEM1Qjs7QUFEeEIsQUFBQSxTQUFTLENBSlgsTUFBTSxFQUlKLFNBQVMsQ0FKSCxTQUFTLENBSUg7RUFDVixLQUFLLEVSOUNELFlBQThDO0NROEM5Qjs7QUFHeEI7c0ZBQ29GO0FBRXBGLEFBQUEsU0FBUyxFQUFFLFlBQVksQ0FBUztFQUM5QixXQUFXLEVSckRMLFlBQThDO0NRcUR2Qjs7QUFwQi9CO3NGQUNvRjtBQUVwRjs7O0tBR0c7QUFFSCxBQUFBLE1BQU0sRUFBRSxTQUFTLENBQVM7RUFDeEIsS0FBSyxFUjFDQyxHQUE4QztDUThDNUI7O0FBRHhCLEFBQUEsU0FBUyxDQUpYLE1BQU0sRUFJSixTQUFTLENBSkgsU0FBUyxDQUlIO0VBQ1YsS0FBSyxFUjlDRCxZQUE4QztDUThDOUI7O0FBR3hCO3NGQUNvRjtBQUVwRixBQUFBLFNBQVMsRUFBRSxZQUFZLENBQVM7RUFDOUIsV0FBVyxFUnJETCxHQUE4QztDUXFEdkI7O0FBcEIvQjtzRkFDb0Y7QUFFcEY7OztLQUdHO0FBRUgsQUFBQSxNQUFNLEVBQUUsU0FBUyxDQUFTO0VBQ3hCLEtBQUssRVIxQ0MsWUFBOEM7Q1E4QzVCOztBQUR4QixBQUFBLFNBQVMsQ0FKWCxNQUFNLEVBSUosU0FBUyxDQUpILFNBQVMsQ0FJSDtFQUNWLEtBQUssRVI5Q0QsR0FBOEM7Q1E4QzlCOztBQUd4QjtzRkFDb0Y7QUFFcEYsQUFBQSxTQUFTLEVBQUUsWUFBWSxDQUFTO0VBQzlCLFdBQVcsRVJyREwsWUFBOEM7Q1FxRHZCOztBQXBCL0I7c0ZBQ29GO0FBRXBGOzs7S0FHRztBQUVILEFBQUEsTUFBTSxFQUFFLFNBQVMsQ0FBUztFQUN4QixLQUFLLEVSMUNDLFlBQThDO0NROEM1Qjs7QUFEeEIsQUFBQSxTQUFTLENBSlgsTUFBTSxFQUlKLFNBQVMsQ0FKSCxTQUFTLENBSUg7RUFDVixLQUFLLEVSOUNELFlBQThDO0NROEM5Qjs7QUFHeEI7c0ZBQ29GO0FBRXBGLEFBQUEsU0FBUyxFQUFFLFlBQVksQ0FBUztFQUM5QixXQUFXLEVSckRMLFlBQThDO0NRcUR2Qjs7QUFwQi9CO3NGQUNvRjtBQUVwRjs7O0tBR0c7QUFFSCxBQUFBLE1BQU0sRUFBRSxTQUFTLENBQVM7RUFDeEIsS0FBSyxFUjFDQyxHQUE4QztDUThDNUI7O0FBRHhCLEFBQUEsU0FBUyxDQUpYLE1BQU0sRUFJSixTQUFTLENBSkgsU0FBUyxDQUlIO0VBQ1YsS0FBSyxFUjlDRCxZQUE4QztDUThDOUI7O0FBR3hCO3NGQUNvRjtBQUVwRixBQUFBLFNBQVMsRUFBRSxZQUFZLENBQVM7RUFDOUIsV0FBVyxFUnJETCxHQUE4QztDUXFEdkI7O0FBcEIvQjtzRkFDb0Y7QUFFcEY7OztLQUdHO0FBRUgsQUFBQSxPQUFPLEVBQUUsVUFBVSxDQUFPO0VBQ3hCLEtBQUssRVIxQ0MsWUFBOEM7Q1E4QzVCOztBQUR4QixBQUFBLFNBQVMsQ0FKWCxPQUFPLEVBSUwsU0FBUyxDQUpGLFVBQVUsQ0FJTDtFQUNWLEtBQUssRVI5Q0QsWUFBOEM7Q1E4QzlCOztBQUd4QjtzRkFDb0Y7QUFFcEYsQUFBQSxVQUFVLEVBQUUsYUFBYSxDQUFPO0VBQzlCLFdBQVcsRVJyREwsWUFBOEM7Q1FxRHZCOztBQXBCL0I7c0ZBQ29GO0FBRXBGOzs7S0FHRztBQUVILEFBQUEsT0FBTyxFQUFFLFVBQVUsQ0FBTztFQUN4QixLQUFLLEVSMUNDLFlBQThDO0NROEM1Qjs7QUFEeEIsQUFBQSxTQUFTLENBSlgsT0FBTyxFQUlMLFNBQVMsQ0FKRixVQUFVLENBSUw7RUFDVixLQUFLLEVSOUNELFlBQThDO0NROEM5Qjs7QUFHeEI7c0ZBQ29GO0FBRXBGLEFBQUEsVUFBVSxFQUFFLGFBQWEsQ0FBTztFQUM5QixXQUFXLEVSckRMLFlBQThDO0NRcUR2Qjs7QUFwQi9CO3NGQUNvRjtBQUVwRjs7O0tBR0c7QUFFSCxBQUFBLE9BQU8sRUFBRSxVQUFVLENBQU87RUFDeEIsS0FBSyxFUjFDQyxJQUE4QztDUThDNUI7O0FBRHhCLEFBQUEsU0FBUyxDQUpYLE9BQU8sRUFJTCxTQUFTLENBSkYsVUFBVSxDQUlMO0VBQ1YsS0FBSyxFUjlDRCxZQUE4QztDUThDOUI7O0FBR3hCO3NGQUNvRjtBQUVwRixBQUFBLFVBQVUsRUFBRSxhQUFhLENBQU87RUFDOUIsV0FBVyxFUnJETCxJQUE4QztDUXFEdkI7O0FBcEIvQjtzRkFDb0Y7QUFFcEY7OztLQUdHO0FBRUgsQUFBQSxPQUFPLEVBQUUsVUFBVSxDQUFPO0VBQ3hCLEtBQUssRVIxQ0MsYUFBOEM7Q1E4QzVCOztBQUR4QixBQUFBLFNBQVMsQ0FKWCxPQUFPLEVBSUwsU0FBUyxDQUpGLFVBQVUsQ0FJTDtFQUNWLEtBQUssRVI5Q0QsWUFBOEM7Q1E4QzlCOztBQUd4QjtzRkFDb0Y7QUFFcEYsQUFBQSxVQUFVLEVBQUUsYUFBYSxDQUFPO0VBQzlCLFdBQVcsRVJyREwsYUFBOEM7Q1FxRHZCOztBQXBCL0I7c0ZBQ29GO0FBRXBGOzs7S0FHRztBQUVILEFBQUEsT0FBTyxFQUFFLFVBQVUsQ0FBTztFQUN4QixLQUFLLEVSMUNDLGFBQThDO0NROEM1Qjs7QUFEeEIsQUFBQSxTQUFTLENBSlgsT0FBTyxFQUlMLFNBQVMsQ0FKRixVQUFVLENBSUw7RUFDVixLQUFLLEVSOUNELElBQThDO0NROEM5Qjs7QUFHeEI7c0ZBQ29GO0FBRXBGLEFBQUEsVUFBVSxFQUFFLGFBQWEsQ0FBTztFQUM5QixXQUFXLEVSckRMLGFBQThDO0NRcUR2Qjs7QUFJakM7b0ZBQ29GO0FBRW5GOzs7SUFHRztBTG5GRixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VLeUZsQyxBQUFBLFNBQVMsQ0FBSztJQUNaLEtBQUssRVJ0RUQsV0FBOEM7R1FzRTNCO0VBRXpCLEFBQUEsWUFBWSxDQUFLO0lBQ2YsV0FBVyxFUnpFUCxXQUE4QztHUXlFckI7OztBTGxHakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFS3NHbEMsQUFBQSxTQUFTLENBQUs7SUFDWixLQUFLLEVSOUVELFdBQThDO0dROEUzQjtFQUV6QixBQUFBLFlBQVksQ0FBSztJQUNmLFdBQVcsRVJqRlAsV0FBOEM7R1FpRnJCOzs7QUwxR2pDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUs4R2pDLEFBQUEsU0FBUyxDQUFLO0lBQ1osS0FBSyxFUnRGRCxXQUE4QztHUXNGM0I7RUFFekIsQUFBQSxZQUFZLENBQUs7SUFDZixXQUFXLEVSekZQLFdBQThDO0dReUZyQjs7O0FMbEhqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VLc0hqQyxBQUFBLFNBQVMsQ0FBSztJQUNaLEtBQUssRVI5RkQsV0FBOEM7R1E4RjNCO0VBRXpCLEFBQUEsWUFBWSxDQUFLO0lBQ2YsV0FBVyxFUmpHUCxXQUE4QztHUWlHckI7OztBTHJIakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFS3lGbEMsQUFBQSxTQUFTLENBQUs7SUFDWixLQUFLLEVSdEVELFlBQThDO0dRc0UzQjtFQUV6QixBQUFBLFlBQVksQ0FBSztJQUNmLFdBQVcsRVJ6RVAsWUFBOEM7R1F5RXJCOzs7QUxsR2pDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RUtzR2xDLEFBQUEsU0FBUyxDQUFLO0lBQ1osS0FBSyxFUjlFRCxZQUE4QztHUThFM0I7RUFFekIsQUFBQSxZQUFZLENBQUs7SUFDZixXQUFXLEVSakZQLFlBQThDO0dRaUZyQjs7O0FMMUdqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VLOEdqQyxBQUFBLFNBQVMsQ0FBSztJQUNaLEtBQUssRVJ0RkQsWUFBOEM7R1FzRjNCO0VBRXpCLEFBQUEsWUFBWSxDQUFLO0lBQ2YsV0FBVyxFUnpGUCxZQUE4QztHUXlGckI7OztBTGxIakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFS3NIakMsQUFBQSxTQUFTLENBQUs7SUFDWixLQUFLLEVSOUZELFlBQThDO0dROEYzQjtFQUV6QixBQUFBLFlBQVksQ0FBSztJQUNmLFdBQVcsRVJqR1AsWUFBOEM7R1FpR3JCOzs7QUxySGpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RUt5RmxDLEFBQUEsU0FBUyxDQUFLO0lBQ1osS0FBSyxFUnRFRCxHQUE4QztHUXNFM0I7RUFFekIsQUFBQSxZQUFZLENBQUs7SUFDZixXQUFXLEVSekVQLEdBQThDO0dReUVyQjs7O0FMbEdqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VLc0dsQyxBQUFBLFNBQVMsQ0FBSztJQUNaLEtBQUssRVI5RUQsR0FBOEM7R1E4RTNCO0VBRXpCLEFBQUEsWUFBWSxDQUFLO0lBQ2YsV0FBVyxFUmpGUCxHQUE4QztHUWlGckI7OztBTDFHakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFSzhHakMsQUFBQSxTQUFTLENBQUs7SUFDWixLQUFLLEVSdEZELEdBQThDO0dRc0YzQjtFQUV6QixBQUFBLFlBQVksQ0FBSztJQUNmLFdBQVcsRVJ6RlAsR0FBOEM7R1F5RnJCOzs7QUxsSGpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUtzSGpDLEFBQUEsU0FBUyxDQUFLO0lBQ1osS0FBSyxFUjlGRCxHQUE4QztHUThGM0I7RUFFekIsQUFBQSxZQUFZLENBQUs7SUFDZixXQUFXLEVSakdQLEdBQThDO0dRaUdyQjs7O0FMckhqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VLeUZsQyxBQUFBLFNBQVMsQ0FBSztJQUNaLEtBQUssRVJ0RUQsWUFBOEM7R1FzRTNCO0VBRXpCLEFBQUEsWUFBWSxDQUFLO0lBQ2YsV0FBVyxFUnpFUCxZQUE4QztHUXlFckI7OztBTGxHakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFS3NHbEMsQUFBQSxTQUFTLENBQUs7SUFDWixLQUFLLEVSOUVELFlBQThDO0dROEUzQjtFQUV6QixBQUFBLFlBQVksQ0FBSztJQUNmLFdBQVcsRVJqRlAsWUFBOEM7R1FpRnJCOzs7QUwxR2pDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUs4R2pDLEFBQUEsU0FBUyxDQUFLO0lBQ1osS0FBSyxFUnRGRCxZQUE4QztHUXNGM0I7RUFFekIsQUFBQSxZQUFZLENBQUs7SUFDZixXQUFXLEVSekZQLFlBQThDO0dReUZyQjs7O0FMbEhqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VLc0hqQyxBQUFBLFNBQVMsQ0FBSztJQUNaLEtBQUssRVI5RkQsWUFBOEM7R1E4RjNCO0VBRXpCLEFBQUEsWUFBWSxDQUFLO0lBQ2YsV0FBVyxFUmpHUCxZQUE4QztHUWlHckI7OztBTHJIakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFS3lGbEMsQUFBQSxTQUFTLENBQUs7SUFDWixLQUFLLEVSdEVELFlBQThDO0dRc0UzQjtFQUV6QixBQUFBLFlBQVksQ0FBSztJQUNmLFdBQVcsRVJ6RVAsWUFBOEM7R1F5RXJCOzs7QUxsR2pDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RUtzR2xDLEFBQUEsU0FBUyxDQUFLO0lBQ1osS0FBSyxFUjlFRCxZQUE4QztHUThFM0I7RUFFekIsQUFBQSxZQUFZLENBQUs7SUFDZixXQUFXLEVSakZQLFlBQThDO0dRaUZyQjs7O0FMMUdqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VLOEdqQyxBQUFBLFNBQVMsQ0FBSztJQUNaLEtBQUssRVJ0RkQsWUFBOEM7R1FzRjNCO0VBRXpCLEFBQUEsWUFBWSxDQUFLO0lBQ2YsV0FBVyxFUnpGUCxZQUE4QztHUXlGckI7OztBTGxIakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFS3NIakMsQUFBQSxTQUFTLENBQUs7SUFDWixLQUFLLEVSOUZELFlBQThDO0dROEYzQjtFQUV6QixBQUFBLFlBQVksQ0FBSztJQUNmLFdBQVcsRVJqR1AsWUFBOEM7R1FpR3JCOzs7QUxySGpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RUt5RmxDLEFBQUEsU0FBUyxDQUFLO0lBQ1osS0FBSyxFUnRFRCxHQUE4QztHUXNFM0I7RUFFekIsQUFBQSxZQUFZLENBQUs7SUFDZixXQUFXLEVSekVQLEdBQThDO0dReUVyQjs7O0FMbEdqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VLc0dsQyxBQUFBLFNBQVMsQ0FBSztJQUNaLEtBQUssRVI5RUQsR0FBOEM7R1E4RTNCO0VBRXpCLEFBQUEsWUFBWSxDQUFLO0lBQ2YsV0FBVyxFUmpGUCxHQUE4QztHUWlGckI7OztBTDFHakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFSzhHakMsQUFBQSxTQUFTLENBQUs7SUFDWixLQUFLLEVSdEZELEdBQThDO0dRc0YzQjtFQUV6QixBQUFBLFlBQVksQ0FBSztJQUNmLFdBQVcsRVJ6RlAsR0FBOEM7R1F5RnJCOzs7QUxsSGpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUtzSGpDLEFBQUEsU0FBUyxDQUFLO0lBQ1osS0FBSyxFUjlGRCxHQUE4QztHUThGM0I7RUFFekIsQUFBQSxZQUFZLENBQUs7SUFDZixXQUFXLEVSakdQLEdBQThDO0dRaUdyQjs7O0FMckhqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VLeUZsQyxBQUFBLFNBQVMsQ0FBSztJQUNaLEtBQUssRVJ0RUQsWUFBOEM7R1FzRTNCO0VBRXpCLEFBQUEsWUFBWSxDQUFLO0lBQ2YsV0FBVyxFUnpFUCxZQUE4QztHUXlFckI7OztBTGxHakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFS3NHbEMsQUFBQSxTQUFTLENBQUs7SUFDWixLQUFLLEVSOUVELFlBQThDO0dROEUzQjtFQUV6QixBQUFBLFlBQVksQ0FBSztJQUNmLFdBQVcsRVJqRlAsWUFBOEM7R1FpRnJCOzs7QUwxR2pDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUs4R2pDLEFBQUEsU0FBUyxDQUFLO0lBQ1osS0FBSyxFUnRGRCxZQUE4QztHUXNGM0I7RUFFekIsQUFBQSxZQUFZLENBQUs7SUFDZixXQUFXLEVSekZQLFlBQThDO0dReUZyQjs7O0FMbEhqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VLc0hqQyxBQUFBLFNBQVMsQ0FBSztJQUNaLEtBQUssRVI5RkQsWUFBOEM7R1E4RjNCO0VBRXpCLEFBQUEsWUFBWSxDQUFLO0lBQ2YsV0FBVyxFUmpHUCxZQUE4QztHUWlHckI7OztBTHJIakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFS3lGbEMsQUFBQSxTQUFTLENBQUs7SUFDWixLQUFLLEVSdEVELFlBQThDO0dRc0UzQjtFQUV6QixBQUFBLFlBQVksQ0FBSztJQUNmLFdBQVcsRVJ6RVAsWUFBOEM7R1F5RXJCOzs7QUxsR2pDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RUtzR2xDLEFBQUEsU0FBUyxDQUFLO0lBQ1osS0FBSyxFUjlFRCxZQUE4QztHUThFM0I7RUFFekIsQUFBQSxZQUFZLENBQUs7SUFDZixXQUFXLEVSakZQLFlBQThDO0dRaUZyQjs7O0FMMUdqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VLOEdqQyxBQUFBLFNBQVMsQ0FBSztJQUNaLEtBQUssRVJ0RkQsWUFBOEM7R1FzRjNCO0VBRXpCLEFBQUEsWUFBWSxDQUFLO0lBQ2YsV0FBVyxFUnpGUCxZQUE4QztHUXlGckI7OztBTGxIakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFS3NIakMsQUFBQSxTQUFTLENBQUs7SUFDWixLQUFLLEVSOUZELFlBQThDO0dROEYzQjtFQUV6QixBQUFBLFlBQVksQ0FBSztJQUNmLFdBQVcsRVJqR1AsWUFBOEM7R1FpR3JCOzs7QUxySGpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RUt5RmxDLEFBQUEsU0FBUyxDQUFLO0lBQ1osS0FBSyxFUnRFRCxHQUE4QztHUXNFM0I7RUFFekIsQUFBQSxZQUFZLENBQUs7SUFDZixXQUFXLEVSekVQLEdBQThDO0dReUVyQjs7O0FMbEdqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VLc0dsQyxBQUFBLFNBQVMsQ0FBSztJQUNaLEtBQUssRVI5RUQsR0FBOEM7R1E4RTNCO0VBRXpCLEFBQUEsWUFBWSxDQUFLO0lBQ2YsV0FBVyxFUmpGUCxHQUE4QztHUWlGckI7OztBTDFHakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFSzhHakMsQUFBQSxTQUFTLENBQUs7SUFDWixLQUFLLEVSdEZELEdBQThDO0dRc0YzQjtFQUV6QixBQUFBLFlBQVksQ0FBSztJQUNmLFdBQVcsRVJ6RlAsR0FBOEM7R1F5RnJCOzs7QUxsSGpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUtzSGpDLEFBQUEsU0FBUyxDQUFLO0lBQ1osS0FBSyxFUjlGRCxHQUE4QztHUThGM0I7RUFFekIsQUFBQSxZQUFZLENBQUs7SUFDZixXQUFXLEVSakdQLEdBQThDO0dRaUdyQjs7O0FMckhqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VLeUZsQyxBQUFBLFVBQVUsQ0FBSTtJQUNaLEtBQUssRVJ0RUQsWUFBOEM7R1FzRTNCO0VBRXpCLEFBQUEsYUFBYSxDQUFJO0lBQ2YsV0FBVyxFUnpFUCxZQUE4QztHUXlFckI7OztBTGxHakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFS3NHbEMsQUFBQSxVQUFVLENBQUk7SUFDWixLQUFLLEVSOUVELFlBQThDO0dROEUzQjtFQUV6QixBQUFBLGFBQWEsQ0FBSTtJQUNmLFdBQVcsRVJqRlAsWUFBOEM7R1FpRnJCOzs7QUwxR2pDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUs4R2pDLEFBQUEsVUFBVSxDQUFJO0lBQ1osS0FBSyxFUnRGRCxZQUE4QztHUXNGM0I7RUFFekIsQUFBQSxhQUFhLENBQUk7SUFDZixXQUFXLEVSekZQLFlBQThDO0dReUZyQjs7O0FMbEhqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VLc0hqQyxBQUFBLFVBQVUsQ0FBSTtJQUNaLEtBQUssRVI5RkQsWUFBOEM7R1E4RjNCO0VBRXpCLEFBQUEsYUFBYSxDQUFJO0lBQ2YsV0FBVyxFUmpHUCxZQUE4QztHUWlHckI7OztBTHJIakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFS3lGbEMsQUFBQSxVQUFVLENBQUk7SUFDWixLQUFLLEVSdEVELFlBQThDO0dRc0UzQjtFQUV6QixBQUFBLGFBQWEsQ0FBSTtJQUNmLFdBQVcsRVJ6RVAsWUFBOEM7R1F5RXJCOzs7QUxsR2pDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RUtzR2xDLEFBQUEsVUFBVSxDQUFJO0lBQ1osS0FBSyxFUjlFRCxZQUE4QztHUThFM0I7RUFFekIsQUFBQSxhQUFhLENBQUk7SUFDZixXQUFXLEVSakZQLFlBQThDO0dRaUZyQjs7O0FMMUdqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VLOEdqQyxBQUFBLFVBQVUsQ0FBSTtJQUNaLEtBQUssRVJ0RkQsWUFBOEM7R1FzRjNCO0VBRXpCLEFBQUEsYUFBYSxDQUFJO0lBQ2YsV0FBVyxFUnpGUCxZQUE4QztHUXlGckI7OztBTGxIakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFS3NIakMsQUFBQSxVQUFVLENBQUk7SUFDWixLQUFLLEVSOUZELFlBQThDO0dROEYzQjtFQUV6QixBQUFBLGFBQWEsQ0FBSTtJQUNmLFdBQVcsRVJqR1AsWUFBOEM7R1FpR3JCOzs7QUxySGpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RUt5RmxDLEFBQUEsVUFBVSxDQUFJO0lBQ1osS0FBSyxFUnRFRCxJQUE4QztHUXNFM0I7RUFFekIsQUFBQSxhQUFhLENBQUk7SUFDZixXQUFXLEVSekVQLElBQThDO0dReUVyQjs7O0FMbEdqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VLc0dsQyxBQUFBLFVBQVUsQ0FBSTtJQUNaLEtBQUssRVI5RUQsSUFBOEM7R1E4RTNCO0VBRXpCLEFBQUEsYUFBYSxDQUFJO0lBQ2YsV0FBVyxFUmpGUCxJQUE4QztHUWlGckI7OztBTDFHakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFSzhHakMsQUFBQSxVQUFVLENBQUk7SUFDWixLQUFLLEVSdEZELElBQThDO0dRc0YzQjtFQUV6QixBQUFBLGFBQWEsQ0FBSTtJQUNmLFdBQVcsRVJ6RlAsSUFBOEM7R1F5RnJCOzs7QUxsSGpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUtzSGpDLEFBQUEsVUFBVSxDQUFJO0lBQ1osS0FBSyxFUjlGRCxJQUE4QztHUThGM0I7RUFFekIsQUFBQSxhQUFhLENBQUk7SUFDZixXQUFXLEVSakdQLElBQThDO0dRaUdyQjs7O0FMckhqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VLeUZsQyxBQUFBLFVBQVUsQ0FBSTtJQUNaLEtBQUssRVJ0RUQsYUFBOEM7R1FzRTNCO0VBRXpCLEFBQUEsYUFBYSxDQUFJO0lBQ2YsV0FBVyxFUnpFUCxhQUE4QztHUXlFckI7OztBTGxHakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFS3NHbEMsQUFBQSxVQUFVLENBQUk7SUFDWixLQUFLLEVSOUVELGFBQThDO0dROEUzQjtFQUV6QixBQUFBLGFBQWEsQ0FBSTtJQUNmLFdBQVcsRVJqRlAsYUFBOEM7R1FpRnJCOzs7QUwxR2pDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUs4R2pDLEFBQUEsVUFBVSxDQUFJO0lBQ1osS0FBSyxFUnRGRCxhQUE4QztHUXNGM0I7RUFFekIsQUFBQSxhQUFhLENBQUk7SUFDZixXQUFXLEVSekZQLGFBQThDO0dReUZyQjs7O0FMbEhqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VLc0hqQyxBQUFBLFVBQVUsQ0FBSTtJQUNaLEtBQUssRVI5RkQsYUFBOEM7R1E4RjNCO0VBRXpCLEFBQUEsYUFBYSxDQUFJO0lBQ2YsV0FBVyxFUmpHUCxhQUE4QztHUWlHckI7OztBTHJIakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFS3lGbEMsQUFBQSxVQUFVLENBQUk7SUFDWixLQUFLLEVSdEVELGFBQThDO0dRc0UzQjtFQUV6QixBQUFBLGFBQWEsQ0FBSTtJQUNmLFdBQVcsRVJ6RVAsYUFBOEM7R1F5RXJCOzs7QUxsR2pDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RUtzR2xDLEFBQUEsVUFBVSxDQUFJO0lBQ1osS0FBSyxFUjlFRCxhQUE4QztHUThFM0I7RUFFekIsQUFBQSxhQUFhLENBQUk7SUFDZixXQUFXLEVSakZQLGFBQThDO0dRaUZyQjs7O0FMMUdqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VLOEdqQyxBQUFBLFVBQVUsQ0FBSTtJQUNaLEtBQUssRVJ0RkQsYUFBOEM7R1FzRjNCO0VBRXpCLEFBQUEsYUFBYSxDQUFJO0lBQ2YsV0FBVyxFUnpGUCxhQUE4QztHUXlGckI7OztBTGxIakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFS3NIakMsQUFBQSxVQUFVLENBQUk7SUFDWixLQUFLLEVSOUZELGFBQThDO0dROEYzQjtFQUV6QixBQUFBLGFBQWEsQ0FBSTtJQUNmLFdBQVcsRVJqR1AsYUFBOEM7R1FpR3JCOzs7QUM1SG5DOzs7c0ZBR3NGO0FBRXRGLEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsTUFBTTtDQUFHOztBQUU1Qjs7R0FFRztBQUNILEFBQUEsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLEtBQUs7RUFDZCxRQUFRLEVBQUUsS0FBSztFQUNmLE9BQU8sRUFBRSxLQUFLO0VBQ2QsY0FBYyxFQUFFLElBQUk7Q0F3QnBCOztBQTVCRixBQU1FLGFBTlcsQ0FNWCxTQUFTLENBQUM7RUFDUixVQUFVLEVBQUUsc0JBQWtCO0VBQzlCLE1BQU0sRUFBRSxLQUFLO0NBR3dCOztBQVh6QyxBQVVJLGFBVlMsQ0FNWCxTQUFTLEFBSU4sVUFBVyxDQUFBLEVBQUUsRUFBRTtFQUNkLFVBQVUsRUFBRSxzQkFBa0I7Q0FBRzs7QUFYdkMsQUFhRSxhQWJXLEFBYVYsT0FBTyxFQWJWLGFBQWEsQUFhQSxNQUFNLENBQUM7RUFDaEIsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxlQUFlO0VBQ3RCLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLG9CQUFnQjtDQUFHOztBQW5CbkMsQUFxQkUsYUFyQlcsQUFxQlYsT0FBTyxDQUFDO0VBQ1AsSUFBSSxFQUFFLGdCQUFnQjtDQUFHOztBQXRCN0IsQUF3QkUsYUF4QlcsQUF3QlYsTUFBTSxDQUFDO0VBQ04sS0FBSyxFQUFFLGdCQUFnQjtDQUFHOztBQ3JDOUIsQUFBQSxXQUFXLENBQUM7RUFDVixRQUFRLEVBQUUsS0FBSztFQUNmLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFDVCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLEtBQUs7RUFDZCxVQUFVLEVBQUUsT0FBTztDQWVVOztBUGY3QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VPUHRDLEFBQUEsV0FBVyxDQUFDO0lBV1IsVUFBVSxFQUFFLEdBQUc7R0FXWTs7O0FQcEI3QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VPRnRDLEFBQUEsV0FBVyxDQUFDO0lBc0JOLFVBQVUsRUFSRyxJQUFJO0dBUVE7OztBUHBCN0IsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFT0Z0QyxBQUFBLFdBQVcsQ0FBQztJQXNCTixVQUFVLEVBUjRCLEtBQUs7R0FRbEI7OztBUHBCN0IsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFT0ZyQyxBQUFBLFdBQVcsQ0FBQztJQXNCTixVQUFVLEVBUnNELE1BQU07R0FRN0M7OztBUHBCN0IsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFT0ZyQyxBQUFBLFdBQVcsQ0FBQztJQXNCTixVQUFVLEVBUmlGLElBQUk7R0FRdEU7OztBQ3RCL0I7O3NGQUVzRjtBQ0Z0Rjs7c0ZBRXNGO0FBRXRGOzs7O0dBSUc7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFQUNsQyxjQUFjLEVBQUUsa0JBQWtCO0NBQUc7O0FBR3ZDOzs7O0dBSUc7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxDQUFDO0VBRVQsV0FBVyxFREtBLFdBQVcsRUFBRSxVQUFVO0VDSmxDLFdBQVcsRUFBRSxHQUFHO0VBRWhCLHFCQUFxQixFQUFFLE1BQU07Q0FBVzs7QUFFMUM7Ozs7O0dBS0c7QUFDSCxBQUNFLENBREQsQ0FDQyxXQUFXLENBQVM7RUFDbEIsVUFBVSxFRC9CTixPQUFPO0VDZ0NYLEtBQUssRUFBRSxLQUFLO0NBQUc7O0FBRW5COztHQUVHO0FBQ0gsQUFBQSxHQUFHLENBQUM7RUFDRixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxZQUFZO0NBR1A7O0FBTG5CLEFBSUUsR0FKQyxBQUlBLFFBQVEsQ0FBQztFQUNSLE9BQU8sRUFBRSxDQUFDO0NBQUc7O0FBRWpCOzs7O0dBSUc7QUFDSCxBQUFBLEtBQUssRUFBRSxRQUFRLENBQUM7RUFDZCxXQUFXLEVEM0JBLFdBQVcsRUFBRSxVQUFVO0NDMkJDOztBQUVyQzs7O0dBR0c7QUFDSCxBQUFBLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLGdCQUFnQixFRDlDTixPQUFPO0VDK0NqQixNQUFNLEVBQUUscUJBQXFCO0VBQzdCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRWJ4REgsR0FBRztFYXlEWCxjQUFjLEVBQUUsU0FBUztFQUN6QixLQUFLLEVBQUUsS0FBSztFQUNaLFVBQVUsRUFBRSxlQUFlO0NBK0JvQzs7QUEzQ2pFLEFBY0UsT0FkSyxBQWNKLE9BQU8sQ0FBQztFQUNQLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsa0JBQWU7Q0FBRzs7QUFmakQsQUFpQkUsT0FqQkssQ0FpQkwsTUFBTSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsb0JBQWtCO0VBQzdCLFVBQVUsRUFBRSxjQUFjO0NBTUo7O0FBNUIxQixBQXdCSSxPQXhCRyxDQWlCTCxNQUFNLENBT0osR0FBRyxDQUFDO0VBQ0YsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsSUFBSTtDQUVFOztBQTVCeEIsQUEyQk0sT0EzQkMsQ0FpQkwsTUFBTSxDQU9KLEdBQUcsQ0FHRCxJQUFJLENBQUM7RUFDSCxJQUFJLEVBQUUsS0FBSztDQUFHOztBQTVCdEIsQUE4QkUsT0E5QkssQUE4QkosTUFBTSxDQUFDO0VBQ04sVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBYTtDQUVBOztBQWpDNUMsQUFnQ0ksT0FoQ0csQUE4QkosTUFBTSxDQUVMLE1BQU0sQ0FBQztFQUNMLFNBQVMsRUFBRSxzQkFBc0I7Q0FBRzs7QUFqQzFDLEFBb0NJLE9BcENHLEFBbUNKLE1BQU0sQ0FDTCxNQUFNLENBQUM7RUFDTCxHQUFHLEVBQUUsR0FBRztFQUNSLFNBQVMsRUFBRSxjQUFjO0VBQ3pCLFdBQVcsRUFBRSxJQUFJO0NBQUc7O0FBdkMxQixBQTBDTSxPQTFDQyxBQW1DSixNQUFNLEFBTUosTUFBTSxDQUNMLE1BQU0sQ0FBQztFQUNMLFNBQVMsRUFBRSxjQUFjLENBQUMsc0JBQXNCO0NBQUc7O0FDMUczRDs7c0ZBRXNGO0FBRXRGOztHQUVHO0FBQ0gsQUFBQSxPQUFPLENBQUM7RUFDTixXQUFXLEVBQUUsTUFBTTtDQUFHOztBQUV4Qjs7R0FFRztBVlZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RVVtQmxDLEFBQUEsc0JBQXNCLENBQU87SUFDM0IsT0FBTyxFQUFFLElBQUk7R0FBRzs7O0FWZnBCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RVVrQmxDLEFBQUEscUJBQXFCLENBQU87SUFDMUIsT0FBTyxFQUFFLElBQUk7R0FBRzs7O0FWeEJwQixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VVbUJsQyxBQUFBLHNCQUFzQixDQUFPO0lBQzNCLE9BQU8sRUFBRSxJQUFJO0dBQUc7OztBVmZwQixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VVa0JsQyxBQUFBLHFCQUFxQixDQUFPO0lBQzFCLE9BQU8sRUFBRSxJQUFJO0dBQUc7OztBVnhCcEIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFVW1CbEMsQUFBQSxzQkFBc0IsQ0FBTztJQUMzQixPQUFPLEVBQUUsSUFBSTtHQUFHOzs7QVZmcEIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFVWtCbEMsQUFBQSxxQkFBcUIsQ0FBTztJQUMxQixPQUFPLEVBQUUsSUFBSTtHQUFHOzs7QVZ4QnBCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RVVtQmpDLEFBQUEsc0JBQXNCLENBQU87SUFDM0IsT0FBTyxFQUFFLElBQUk7R0FBRzs7O0FWZnBCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RVVrQmpDLEFBQUEscUJBQXFCLENBQU87SUFDMUIsT0FBTyxFQUFFLElBQUk7R0FBRzs7O0FWeEJwQixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VVbUJqQyxBQUFBLHNCQUFzQixDQUFPO0lBQzNCLE9BQU8sRUFBRSxJQUFJO0dBQUc7OztBVmZwQixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VVa0JqQyxBQUFBLHFCQUFxQixDQUFPO0lBQzFCLE9BQU8sRUFBRSxJQUFJO0dBQUc7OztBSzFCdEI7O3NGQUVzRjtBQ0Z0RixBQUFBLFdBQVcsQ0FBQztFQUNWLFVBQVUsRVJJRCxPQUFPO0VRSGhCLE9BQU8sRUFBRSxNQUFNO0NBMkJLOztBQTdCdEIsQUFJRSxXQUpTLENBSVQsU0FBUyxDQUFDO0VmSFYsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRTRCSlYsUUFBUTtFNUJTbEIsb0JBQWlCLEU0QlRQLFFBQVE7RTVCY2xCLG1CQUFnQixFNEJkTixRQUFRO0U1QklsQixtQkFBb0IsRTRCSkEsTUFBTTtFNUJTMUIsZ0JBQWlCLEU0QlRHLE1BQU07RTVCYzFCLGVBQWdCLEU0QmRJLE1BQU07RWZFaEMsZUFBZSxFZUZDLFFBQVE7RWZHeEIsV0FBVyxFZUhlLE1BQU07Q0FBSTs7QUFMdEMsQUFPRSxXQVBTLENBT1QsQ0FBQyxDQUFDO0VBQ0EsT0FBTyxFQUFFLFlBQVk7RUFDckIsU0FBUyxFQUFFLE9BQU87RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFQUFPLHdCQUFLO0VBQ2pCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLFdBQVcsRXBCR0wsR0FBRztFb0JGVCxlQUFlLEVBQUUsSUFBSTtFQUNyQixVQUFVLEVBQUUsVUFBVTtDQVdIOztBQTFCdkIsQUFpQkksV0FqQk8sQ0FPVCxDQUFDLEdBVUcsQ0FBQyxDQUFDO0VBQ0YsV0FBVyxFQUFFLElBQUk7Q0FBRzs7QUFsQjFCLEFBb0JJLFdBcEJPLENBT1QsQ0FBQyxDQWFDLElBQUksQ0FBQztFQUNILEtBQUssRVJaRyxPQUFPO0VRYWYsT0FBTyxFQUFFLFlBQVk7RUFDckIsWUFBWSxFQUFFLElBQUk7Q0FBRzs7QUF2QjNCLEFBeUJJLFdBekJPLENBT1QsQ0FBQyxBQWtCRSxNQUFNLENBQUM7RUFDTixLQUFLLEVBQUUsS0FBSztDQUFHOztBaEJ4Qm5CLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWdCRnJDLEFBQUEsV0FBVyxDQUFDO0lBNkJSLE9BQU8sRUFBRSxJQUFJO0dBQUs7OztBQzdCdEIsQUFBQSxjQUFjLENBQUM7RWhCQ2IsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRTZCUlosUUFBUTtFN0JhaEIsb0JBQWlCLEU2QmJULFFBQVE7RTdCa0JoQixtQkFBZ0IsRTZCbEJSLFFBQVE7RTdCUWhCLG1CQUFvQixFNkJSRixNQUFNO0U3QmF4QixnQkFBaUIsRTZCYkMsTUFBTTtFN0JrQnhCLGVBQWdCLEU2QmxCRSxNQUFNO0VoQk05QixlQUFlLEVnQk5ELFFBQVE7RWhCT3RCLFdBQVcsRWdCUGEsTUFBTTtDQXVDYTs7QUFyQzNDLEFBQUEsa0JBQWtCLENBSHBCLGNBQWMsQ0FHUztFQUNuQixVQUFVLEVBQUUsSUFBSTtFaEJIbEIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRTZCSlYsVUFBVTtFN0JTcEIsb0JBQWlCLEU2QlRQLFVBQVU7RTdCY3BCLG1CQUFnQixFNkJkTixVQUFVO0U3QklwQixtQkFBb0IsRTZCSkUsTUFBTTtFN0JTNUIsZ0JBQWlCLEU2QlRLLE1BQU07RTdCYzVCLGVBQWdCLEU2QmRNLE1BQU07RWhCRWxDLGVBQWUsRWdCRkMsVUFBVTtFaEJHMUIsV0FBVyxFZ0JIaUIsTUFBTTtDQUFJOztBQUx4QyxBQU9FLGNBUFksQ0FPWixJQUFJLEVBUE4sY0FBYyxDQU9OLENBQUMsQ0FBQztFaEJOUixPQUFPLEVBQUUsV0FBVztFQUNwQixPQUFPLEVBQUUsWUFBWTtFQUNyQixPQUFPLEVBQUUsSUFBSTtFYk1QLHVCQUFvQixFNkJEVixNQUFNO0U3Qk1oQixvQkFBaUIsRTZCTlAsTUFBTTtFN0JXaEIsbUJBQWdCLEU2QlhOLE1BQU07RTdCQ2hCLG1CQUFvQixFNkJERixNQUFNO0U3Qk14QixnQkFBaUIsRTZCTkMsTUFBTTtFN0JXeEIsZUFBZ0IsRTZCWEUsTUFBTTtFaEJEOUIsZUFBZSxFZ0JDQyxNQUFNO0VoQkF0QixXQUFXLEVnQkFhLE1BQU07RUFDNUIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGFBQWEsRUFBRSxJQUFJO0VBQ25CLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDVEViLE9BQU87Q1NnQnVDOztBQTlCdEQsQUFjSSxjQWRVLENBT1osSUFBSSxHQU9BLENBQUMsRUFkUCxjQUFjLENBT04sQ0FBQyxHQU9ILENBQUMsQ0FBQztFQUNGLFdBQVcsRUFBRSxHQUFHO0NBQUc7O0FBZnpCLEFBaUJJLGNBakJVLENBT1osSUFBSSxBQVVELE1BQU0sRUFqQlgsY0FBYyxDQU9OLENBQUMsQUFVSixNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGFBQWEsRUFBRSxJQUFJO0NBQUc7O0FBdEI1QixBQXlCTSxjQXpCUSxDQU9aLElBQUksQUFpQkQsR0FBRyxBQUNELE1BQU0sRUF6QmIsY0FBYyxDQU9OLENBQUMsQUFpQkosR0FBRyxBQUNELE1BQU0sQ0FBQztFSGhCWixVQUFVLEVBQUUscUJBQXFCLENHaUJQLENBQUMsQ0FBQyxDQUFDLENIakIyQixTQUFTO0VBQ2pFLGVBQWUsRUFWSCxLQUFLLENBQ0osSUFBSTtFQVVqQixLQUFLLEVHZTBCLElBQUk7RUhkbkMsTUFBTSxFR2MrQixJQUFJO0NBQUk7O0FBMUIvQyxBQTZCTSxjQTdCUSxDQU9aLElBQUksQUFxQkQsR0FBRyxBQUNELE1BQU0sRUE3QmIsY0FBYyxDQU9OLENBQUMsQUFxQkosR0FBRyxBQUNELE1BQU0sQ0FBQztFSHBCWixVQUFVLEVBQUUscUJBQXFCLENBSHJCLEtBQXNCLENHd0JILENBQUMsQ0hyQndCLFNBQVM7RUFDakUsZUFBZSxFQVZILEtBQUssQ0FDSixJQUFJO0VBVWpCLEtBQUssRUdtQjZCLElBQUk7RUhsQnRDLE1BQU0sRUdrQmtDLElBQUk7Q0FBSTs7QUE5QmxELEFBZ0NFLGNBaENZLENBZ0NaLENBQUMsQ0FBQztFQUNBLE9BQU8sRUFBRSxHQUFHO0VBQ1osVUFBVSxFQUFFLFlBQVk7Q0FHUDs7QUFyQ3JCLEFBb0NJLGNBcENVLENBZ0NaLENBQUMsQUFJRSxNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsQ0FBQztDQUFHOztBQXJDbkIsQUF1Q0UsY0F2Q1ksQ0F1Q1osSUFBSSxDQUFDO0VBQ0gsWUFBWSxFQUFFLE9BQXNCO0NBQUc7O0FDeEMzQzs7cUZBRXFGO0FBRXJGLEFBQUEsTUFBTSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixnQkFBZ0IsRVZjSixPQUFPO0NVc0dDOztBQXZIdEIsQUFLRSxNQUxJLEFBS0gsTUFBTSxDQUFDO0VBRU4sT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsQ0FBQztFQUNQLE1BQU0sRUFBRSxPQUFzQjtFQUM5QixLQUFLLEVBQUUsQ0FBQztFQUNSLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBUlMsSUFBSTtFQVNuQixVQUFVLEVBQUUsNkRBQStCO0VBQzNDLE9BQU8sRUFBRSxHQUFHO0NBQUc7O0FBaEJuQixBQWtCRSxNQWxCSSxDQWtCSixTQUFTLENBQUM7RUFDUixPQUFPLEVBQUUsQ0FBQztFakJ0QlosT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRThCZVYsTUFBTTtFOUJWaEIsb0JBQWlCLEU4QlVQLE1BQU07RTlCTGhCLG1CQUFnQixFOEJLTixNQUFNO0U5QmZoQixtQkFBb0IsRThCZUYsTUFBTTtFOUJWeEIsZ0JBQWlCLEU4QlVDLE1BQU07RTlCTHhCLGVBQWdCLEU4QktFLE1BQU07RWpCakI5QixlQUFlLEVpQmlCQyxNQUFNO0VqQmhCdEIsV0FBVyxFaUJnQmEsTUFBTTtFQXdCNUI7d0ZBQ29GO0NBcUVoRDs7QUFsSHhDLEFBc0JJLE1BdEJFLENBa0JKLFNBQVMsR0FJTixTQUFTLENBQUM7RWpCekJiLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0ViTVAsdUJBQW9CLEU4QmtCUixhQUFhO0U5QmJ6QixvQkFBaUIsRThCYUwsYUFBYTtFOUJSekIsbUJBQWdCLEU4QlFKLGFBQWE7RTlCbEJ6QixtQkFBb0IsRThCa0JPLE1BQU07RTlCYmpDLGdCQUFpQixFOEJhVSxNQUFNO0U5QlJqQyxlQUFnQixFOEJRVyxNQUFNO0VqQnBCdkMsZUFBZSxFaUJvQkcsYUFBYTtFakJuQi9CLFdBQVcsRWlCbUJzQixNQUFNO0VBQ25DLEtBQUssRUFBRSxJQUFJO0NBQUc7O0FBeEJwQixBQTJCSSxNQTNCRSxDQWtCSixTQUFTLENBU1AsS0FBSyxDQUFDO0VBQ0osT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsS0FBSztDQVlPOztBQXpDekIsQUE4Qk0sTUE5QkEsQ0FrQkosU0FBUyxDQVNQLEtBQUssQ0FHSCxDQUFDLENBQUM7RUFDQSxlQUFlLEVBQUUsSUFBSTtDQUFHOztBQS9CaEMsQUFpQ00sTUFqQ0EsQ0FrQkosU0FBUyxDQVNQLEtBQUssQ0FNSCxHQUFHLENBQUM7RUFDRixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFVBQVUsRUFBRSxJQUFJO0NBQUc7O0FBcEMzQixBQXNDTSxNQXRDQSxDQWtCSixTQUFTLENBU1AsS0FBSyxDQVdILENBQUMsQ0FBQztFQUNBLE1BQU0sRUFBRSxPQUFPO0VBQ2YsU0FBUyxFQUFFLElBQUk7RUFDZixLQUFLLEVWL0JMLE9BQU87Q1UrQlE7O0FBekN2QixBQStDSSxNQS9DRSxDQWtCSixTQUFTLENBNkJQLEdBQUcsQ0FBQztFQUNGLFFBQVEsRUFBRSxRQUFRO0VqQm5EdEIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRThCNENSLFFBQVE7RTlCdkNwQixvQkFBaUIsRThCdUNMLFFBQVE7RTlCbENwQixtQkFBZ0IsRThCa0NKLFFBQVE7RTlCNUNwQixtQkFBb0IsRThCNENFLE1BQU07RTlCdkM1QixnQkFBaUIsRThCdUNLLE1BQU07RTlCbEM1QixlQUFnQixFOEJrQ00sTUFBTTtFakI5Q2xDLGVBQWUsRWlCOENHLFFBQVE7RWpCN0MxQixXQUFXLEVpQjZDaUIsTUFBTTtFQUM5QixLQUFLLEVBQUUsa0JBQWtCO0NBd0RIOztBQTFHNUIsQUFvRE0sTUFwREEsQ0FrQkosU0FBUyxDQTZCUCxHQUFHLENBS0QsRUFBRSxDQUFDO0VqQnZEUCxPQUFPLEVBQUUsV0FBVztFQUNwQixPQUFPLEVBQUUsWUFBWTtFQUNyQixPQUFPLEVBQUUsSUFBSTtFYk1QLHVCQUFvQixFOEJnRE4sUUFBUTtFOUIzQ3RCLG9CQUFpQixFOEIyQ0gsUUFBUTtFOUJ0Q3RCLG1CQUFnQixFOEJzQ0YsUUFBUTtFOUJoRHRCLG1CQUFvQixFOEJnREksTUFBTTtFOUIzQzlCLGdCQUFpQixFOEIyQ08sTUFBTTtFOUJ0QzlCLGVBQWdCLEU4QnNDUSxNQUFNO0VqQmxEcEMsZUFBZSxFaUJrREssUUFBUTtFakJqRDVCLFdBQVcsRWlCaURtQixNQUFNO0VBQzlCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixLQUFLLEVBQUUsa0JBQWtCO0NBMkNnQjs7QUFwR2pELEFBMkRRLE1BM0RGLENBa0JKLFNBQVMsQ0E2QlAsR0FBRyxDQUtELEVBQUUsQ0FPQSxFQUFFLENBQUM7RUFDRCxZQUFZLEVBQUUsSUFBSTtDQXdDbUI7O0FBcEcvQyxBQThEVSxNQTlESixDQWtCSixTQUFTLENBNkJQLEdBQUcsQ0FLRCxFQUFFLENBT0EsRUFBRSxDQUdBLENBQUMsQ0FBQztFQUNBLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxNQUFNO0VBQ2YsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFVnhESixPQUFPO0VLZmxCLFdBQVcsRUFBRSxtQkFBbUI7RUFJaEMsV0FBVyxFQUFFLEdBQUc7RUtxRU4sZUFBZSxFQUFFLElBQUk7RUFDckIsVUFBVSxFQUFFLFVBQVU7Q0FBRzs7QWxCekVuQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VrQkV0QyxBQTJEUSxNQTNERixDQWtCSixTQUFTLENBNkJQLEdBQUcsQ0FLRCxFQUFFLENBT0EsRUFBRSxDQUFDO0lBZUMsWUFBWSxFQUFFLElBQUk7R0EwQmlCOzs7QWxCdEc3QyxNQUFNLENBQUMsTUFBOEIsTUFBbEIsU0FBUyxFQUFFLE1BQU0sT0FBakIsU0FBUyxFQUFFLE1BQU07RWtCRXRDLEFBNkVjLE1BN0VSLENBa0JKLFNBQVMsQ0E2QlAsR0FBRyxDQUtELEVBQUUsQ0FPQSxFQUFFLENBa0JJLENBQUMsQ0FBQztJQUNBLFNBQVMsRUFBRSxPQUFPO0dBQUc7OztBQTlFckMsQUFpRlUsTUFqRkosQ0FrQkosU0FBUyxDQTZCUCxHQUFHLENBS0QsRUFBRSxDQU9BLEVBQUUsQUFzQkMsYUFBYSxDQUFDO0VBQ2IsWUFBWSxFQUFFLENBQUM7Q0FBRzs7QUFsRjlCLEFBcUZZLE1BckZOLENBa0JKLFNBQVMsQ0E2QlAsR0FBRyxDQUtELEVBQUUsQ0FPQSxFQUFFLEFBeUJDLE1BQU0sQ0FDTCxDQUFDLENBQUM7RUFDQSxLQUFLLEVWNUVYLE9BQU87Q1U0RWM7O0FBdEY3QixBQXlGWSxNQXpGTixDQWtCSixTQUFTLENBNkJQLEdBQUcsQ0FLRCxFQUFFLENBT0EsRUFBRSxBQTZCQyxPQUFPLENBQ04sQ0FBQyxDQUFDO0VBQ0EsS0FBSyxFVmpGUCxPQUFPO0NVMkZ3Qjs7QUFwRzNDLEFBNEZjLE1BNUZSLENBa0JKLFNBQVMsQ0E2QlAsR0FBRyxDQUtELEVBQUUsQ0FPQSxFQUFFLEFBNkJDLE9BQU8sQ0FDTixDQUFDLEFBR0UsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsQ0FBQztFQUNQLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxHQUFHO0VBQ1gsVUFBVSxFVnBGZCxPQUFPO0NVb0ZzQjs7QUFwR3pDLEFBc0dNLE1BdEdBLENBa0JKLFNBQVMsQ0E2QlAsR0FBRyxDQXVERCxjQUFjLENBQUM7RUFDYixLQUFLLEVBQUUsS0FBSztDQUdNOztBbEI1R3hCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RWtCRXRDLEFBc0dNLE1BdEdBLENBa0JKLFNBQVMsQ0E2QlAsR0FBRyxDQXVERCxjQUFjLENBQUM7SUFJWCxLQUFLLEVBQUUsSUFBSTtHQUFLOzs7QWxCNUd4QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VrQkV0QyxBQThHTSxNQTlHQSxDQWtCSixTQUFTLENBNEZMLEtBQUssQ0FBQztJQUNKLEtBQUssRUFBRSxLQUFLO0dBQUc7RUEvR3ZCLEFBaUhNLE1BakhBLENBa0JKLFNBQVMsQ0ErRkwsR0FBRyxDQUFDO0lBQ0YsS0FBSyxFQUFFLGtCQUFrQjtHQUFHOzs7QWxCcEhsQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VrQkV0QyxBQUFBLE1BQU0sQ0FBQztJQXVISCxPQUFPLEVBQUUsSUFBSTtHQUFLOzs7QUMzSHRCOztzRkFFc0Y7QUFFdEYsQUFBQSxNQUFNLENBQUM7RUFDTCxVQUFVLEVYZ0JFLE9BQU87RVcyRm5CO3NGQUNvRjtDQW9HdEQ7O0FBak5oQyxBQUdFLE1BSEksR0FHSCxTQUFTLENBQUM7RUFDVCxPQUFPLEVBQUUsV0FBVztDQUFHOztBQUozQixBQU1FLE1BTkksQ0FNSixTQUFTLENBQUM7RUFDUixjQUFjLEVBQUUsR0FBRztDQVdLOztBQWxCNUIsQUFTSSxNQVRFLENBTUosU0FBUyxDQUdQLE9BQU8sQ0FBQztFQUNOLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLEtBQUssRVhIQyxPQUFPO0VXSWIsV0FBVyxFdkJEUCxHQUFHO0V1QkVQLE1BQU0sRUFBRSxRQUFRO0NBQUc7O0FBZHpCLEFBZ0JJLE1BaEJFLENBTUosU0FBUyxDQVVQLEVBQUUsQ0FBQyxDQUFDLEVBaEJSLE1BQU0sQ0FNSixTQUFTLENBVUQsQ0FBQyxDQUFDO0VBQ04sU0FBUyxFQUFFLE1BQU07RUFDakIsS0FBSyxFWE5FLE9BQU87Q1dNTTs7QUFsQjFCLEFBb0JFLE1BcEJJLENBb0JKLFFBQVEsQ0FBQztFQUNQLEtBQUssRXRCRUMsWUFBOEM7RXNCRHBELFdBQVcsRXRCQ0wsV0FBOEM7Q3NCNEJ6Qjs7QUFuRC9CLEFBd0JJLE1BeEJFLENBb0JKLFFBQVEsQ0FJTixNQUFNLENBQUM7RUFDTCxLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxXQUFXO0NBUU07O0FBbEMvQixBQTRCTSxNQTVCQSxDQW9CSixRQUFRLENBSU4sTUFBTSxDQUlKLENBQUMsQ0FBQztFQUNBLFVBQVUsRUFBRSxJQUFJO0NBQUc7O0FBN0IzQixBQStCTSxNQS9CQSxDQW9CSixRQUFRLENBSU4sTUFBTSxDQU9KLEdBQUcsQ0FBQztFQUNGLEtBQUssRUFBRSxLQUFLO0VBQ1osVUFBVSxFQUFFLElBQUk7RUFDaEIsWUFBWSxFQUFFLElBQUk7Q0FBRzs7QUFsQzdCLEFBc0NNLE1BdENBLENBb0JKLFFBQVEsQ0FnQk4sQ0FBQyxDQUVDLElBQUksQ0FBQztFQUNILFNBQVMsRUFBRSxPQUFPO0VBQ2xCLEtBQUssRVhuQ0MsT0FBTztFV29DYixPQUFPLEVBQUUsWUFBWTtFQUNyQixXQUFXLEVBQUUsSUFBSTtDQUFHOztBQTFDNUIsQUE0Q0ksTUE1Q0UsQ0FvQkosUUFBUSxDQXdCTixDQUFDLENBQUM7RUFDQSxTQUFTLEVBQUUsTUFBTTtFQUNqQixLQUFLLEVYcENILE9BQU87RVdxQ1QsZUFBZSxFQUFFLElBQUk7RUFDckIsVUFBVSxFQUFFLFVBQVU7Q0FHQzs7QUFuRDdCLEFBa0RNLE1BbERBLENBb0JKLFFBQVEsQ0F3Qk4sQ0FBQyxBQU1FLE1BQU0sQ0FBQztFQUNOLEtBQUssRVgxQ0QsT0FBTztDVzBDUTs7QUFuRDNCLEFBcURFLE1BckRJLENBcURKLE1BQU0sQ0FBQztFQUNMLEtBQUssRXRCL0JDLEdBQThDO0VzQmdDcEQsV0FBVyxFdEJoQ0wsV0FBOEM7Q3NCMERWOztBQWpGOUMsQUF5REksTUF6REUsQ0FxREosTUFBTSxHQUlILFNBQVMsQ0FBQztFQUNULEtBQUssRUFBRSxJQUFJO0NBQUc7O0FBMURwQixBQTRESSxNQTVERSxDQXFESixNQUFNLENBT0osS0FBSyxFQTVEVCxNQUFNLENBcURKLE1BQU0sQ0FPRyxVQUFVLENBQUM7RUFDaEIsS0FBSyxFdEJ0Q0QsR0FBOEM7RXNCdUNsRCxjQUFjLEVBQUUsR0FBRztDQUFHOztBQTlENUIsQUFnRUksTUFoRUUsQ0FxREosTUFBTSxDQVdKLEVBQUUsQ0FBQztFQUNELFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLFdBQVc7Q0FjbUI7O0FBakY1QyxBQXVFUSxNQXZFRixDQXFESixNQUFNLENBV0osRUFBRSxDQUtBLEVBQUUsQ0FFQSxDQUFDLENBQUM7RUFDQSxlQUFlLEVBQUUsSUFBSTtFQUNyQixVQUFVLEVBQUUsVUFBVTtDQUdIOztBQTVFN0IsQUEyRVUsTUEzRUosQ0FxREosTUFBTSxDQVdKLEVBQUUsQ0FLQSxFQUFFLENBRUEsQ0FBQyxBQUlFLE1BQU0sQ0FBQztFQUNOLEtBQUssRVhsRVQsT0FBTztDV2tFWTs7QUE1RTNCLEFBK0VVLE1BL0VKLENBcURKLE1BQU0sQ0FXSixFQUFFLENBS0EsRUFBRSxBQVNDLE9BQU8sQ0FDTixDQUFDLENBQUM7RUFDQSxLQUFLLEVYdkVMLE9BQU87RVd3RVAsV0FBVyxFdkJyRWIsR0FBRztDdUJxRXlCOztBbkJuRnBDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RW1CRXJDLEFBb0ZJLE1BcEZFLENBb0ZGLE1BQU0sRUFwRlYsTUFBTSxDQW9GTSxRQUFRLENBQUM7SUFDZixLQUFLLEV0QjlERCxZQUE4QztJc0IrRGxELFdBQVcsRXRCL0RQLFdBQThDO0dzQitEckI7RUF0Rm5DLEFBd0ZJLE1BeEZFLENBd0ZGLE1BQU0sQ0FBQztJQUNMLFVBQVUsRUFBRSxJQUFJO0dBQUc7OztBbkIzRnZCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RW1CRXJDLEFBNEZJLE1BNUZFLEdBNEZELFNBQVMsQ0FBQztJQUNULE9BQU8sRUFBRSxNQUFNO0lBQ2YsYUFBYSxFQUFFLFlBQVk7R0FBRztFQTlGcEMsQUFnR0ksTUFoR0UsQ0FnR0YsTUFBTSxDQUFDO0lBQ0wsVUFBVSxFQUFFLElBQUk7R0FNRTtFQXZHeEIsQUFrR00sTUFsR0EsQ0FnR0YsTUFBTSxDQUVKLEtBQUssQ0FBQztJQUNKLEtBQUssRUFBRSxJQUFJO0lBQ1gsYUFBYSxFQUFFLElBQUk7R0FBRztFQXBHOUIsQUFzR00sTUF0R0EsQ0FnR0YsTUFBTSxDQU1KLFVBQVUsQ0FBQztJQUNULEtBQUssRUFBRSxJQUFJO0dBQUc7OztBQXZHdEIsQUErR0UsTUEvR0ksQ0ErR0osV0FBVyxDQUFDO0VBQ1YsZ0JBQWdCLEVYaEdSLE9BQU87RVdpR2YsT0FBTyxFQUFFLE1BQU07Q0EwRFE7O0FBM0szQixBQW9ITSxNQXBIQSxDQStHSixXQUFXLENBSVQsU0FBUyxDQUNQLFlBQVksQ0FBQztFQUNYLEtBQUssRXRCOUZILFlBQThDO0VzQitGaEQsTUFBTSxFQUFFLElBQUk7RWxCekhsQixPQUFPLEVBQUUsV0FBVztFQUNwQixPQUFPLEVBQUUsWUFBWTtFQUNyQixPQUFPLEVBQUUsSUFBSTtFYk1QLHVCQUFvQixFK0JrSE4sYUFBYTtFL0I3RzNCLG9CQUFpQixFK0I2R0gsYUFBYTtFL0J4RzNCLG1CQUFnQixFK0J3R0YsYUFBYTtFL0JsSDNCLG1CQUFvQixFK0JrSFMsTUFBTTtFL0I3R25DLGdCQUFpQixFK0I2R1ksTUFBTTtFL0J4R25DLGVBQWdCLEUrQndHYSxNQUFNO0VsQnBIekMsZUFBZSxFa0JvSEssYUFBYTtFbEJuSGpDLFdBQVcsRWtCbUh3QixNQUFNO0NBQUk7O0FBdkgvQyxBQXlISSxNQXpIRSxDQStHSixXQUFXLENBVVQsQ0FBQyxFQXpITCxNQUFNLENBK0dKLFdBQVcsQ0FVTixDQUFDLENBQUM7RUFDSCxTQUFTLEVBQUUsTUFBTTtFQUNqQixXQUFXLEVBQUUsQ0FBQztFQUNkLEtBQUssRVhuSEMsT0FBTztDV21ITTs7QUE1SHpCLEFBOEhJLE1BOUhFLENBK0dKLFdBQVcsQ0FlVCxDQUFDLENBQUM7RUFDQSxhQUFhLEVBQUUsTUFBTTtFQUNyQixPQUFPLEVBQUUsR0FBRztDQUFHOztBQWhJckIsQUFrSUksTUFsSUUsQ0ErR0osV0FBVyxDQW1CVCxDQUFDLENBQUM7RUFFQSxlQUFlLEVBQUUsSUFBSTtDQUFHOztBQXBJOUIsQUFzSUksTUF0SUUsQ0ErR0osV0FBVyxDQXVCVCxNQUFNLENBQUM7RUFDTCxRQUFRLEVBQUUsUUFBUTtFbEIxSXRCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0ViTVAsdUJBQW9CLEUrQm1JUixhQUFhO0UvQjlIekIsb0JBQWlCLEUrQjhITCxhQUFhO0UvQnpIekIsbUJBQWdCLEUrQnlISixhQUFhO0UvQm5JekIsbUJBQW9CLEUrQm1JTyxNQUFNO0UvQjlIakMsZ0JBQWlCLEUrQjhIVSxNQUFNO0UvQnpIakMsZUFBZ0IsRStCeUhXLE1BQU07RWxCckl2QyxlQUFlLEVrQnFJRyxhQUFhO0VsQnBJL0IsV0FBVyxFa0JvSXNCLE1BQU07RUFDbkMsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLENBQUM7RUFDZCxLQUFLLEVBQUUsS0FBSztFQUNaLE9BQU8sRUFBRSxHQUFHO0VBQ1osVUFBVSxFQUFFLFlBQVk7Q0FpQlA7O0FBOUp2QixBQStJTSxNQS9JQSxDQStHSixXQUFXLENBdUJULE1BQU0sQ0FTSixJQUFJLENBQUM7RUFDSCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsR0FBRztFQUNaLFVBQVUsRUFBRSxZQUFZO0VBQ3hCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsT0FBTyxFQUFFLFlBQVk7RUFDckIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUVWLGdCQUFLLEVBQUUsMEJBQTBCO0VBQ2pDLG1CQUFRLEVBQUUsTUFBTTtFQUNoQixlQUFJLEVBQUUsT0FBTztFQUNiLGlCQUFNLEVBQUUsU0FBUztDQUFLOztBQTNKaEMsQUE2Sk0sTUE3SkEsQ0ErR0osV0FBVyxDQXVCVCxNQUFNLEFBdUJILE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxDQUFDO0NBQUc7O0FuQmhLbkIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFbUJFckMsQUErR0UsTUEvR0ksQ0ErR0osV0FBVyxDQUFDO0lBa0RSLGNBQWMsRUFBRSxJQUFJO0dBVUM7RUEzSzNCLEFBbUtRLE1BbktGLENBK0dKLFdBQVcsQ0FtRFAsU0FBUyxDQUNQLFlBQVksQ0FBQztJQUNYLE9BQU8sRUFBRSxLQUFLO0lBQ2QsVUFBVSxFQUFFLE1BQU07R0FBRztFQXJLL0IsQUF1S00sTUF2S0EsQ0ErR0osV0FBVyxDQXdEUCxDQUFDLENBQUM7SUFDQSxhQUFhLEVBQUUsTUFBTTtHQUFHO0VBeEtoQyxBQTBLTSxNQTFLQSxDQStHSixXQUFXLENBMkRQLE1BQU0sQ0FBQztJQUNMLE1BQU0sRUFBRSxJQUFJO0dBQUc7OztBbkI3S3JCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RW1CRXRDLEFBQUEsTUFBTSxDQUFDO0lBOEtILFdBQVcsRUFBRSxJQUFJO0dBbUNXO0VBak5oQyxBQWdMSSxNQWhMRSxHQWdMRCxTQUFTLENBQUM7SWxCbkxiLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxJQUFJO0liTVAsdUJBQW9CLEUrQjRLUixVQUFVO0kvQnZLdEIsb0JBQWlCLEUrQnVLTCxVQUFVO0kvQmxLdEIsbUJBQWdCLEUrQmtLSixVQUFVO0kvQjVLdEIsbUJBQW9CLEUrQjRLSSxVQUFVO0kvQnZLbEMsZ0JBQWlCLEUrQnVLTyxVQUFVO0kvQmxLbEMsZUFBZ0IsRStCa0tRLFVBQVU7SWxCOUt4QyxlQUFlLEVrQjhLRyxVQUFVO0lsQjdLNUIsV0FBVyxFa0I2S21CLFVBQVU7SS9CNUtsQyxpQkFBb0IsRWFHRyxJQUFJO0liTzNCLGFBQWdCLEVhUE8sSUFBSTtJYkgzQixzQkFBb0IsRWFJUSxHQUFHO0liTS9CLGtCQUFnQixFYU5ZLEdBQUc7SWJKL0IsaUJBQW9CLEVhS0csR0FBRyxDQUFDLElBQUk7SWtCeUtqQyxhQUFhLEVBQUUsS0FBSztJQUNwQixLQUFLLEVBQUUsSUFBSTtHQUFHO0VBcExwQixBQXNMSSxNQXRMRSxDQXNMRixVQUFVLENBQUM7SUFDVCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxDQUFDLEN0QmpLTixXQUE4QztJc0JrS2xELFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxJQUFJO0dBa0JRO0VBNU1oQyxBQTRMTSxNQTVMQSxDQXNMRixVQUFVLENBTVIsS0FBSyxDQUFDO0lBQ0osT0FBTyxFQUFFLElBQUk7R0FBRztFQTdMeEIsQUFnTU0sTUFoTUEsQ0FzTEYsVUFBVSxBQVVQLFNBQVMsQ0FBQztJL0IzTFQsYUFBb0IsRStCNExMLENBQUM7SS9CbExoQixTQUFnQixFK0JrTEQsQ0FBQztJbEJuTHRCLEtBQUssRWtCbUxnQixDQUFDO0lBQ2hCLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFNLHdCQUFLO0lBQ2hDLFdBQVcsRUFBRSxJQUFJO0dBQUc7RUFuTTVCLEFBcU1NLE1Bck1BLENBc0xGLFVBQVUsQUFlUCxRQUFRLEVBck1mLE1BQU0sQ0FzTEYsVUFBVSxBQWVJLEtBQUssQ0FBQztJQUNoQixPQUFPLEVBQUUsSUFBSTtHQUFHO0VBdE14QixBQXdNTSxNQXhNQSxDQXNMRixVQUFVLEdBa0JQLENBQUMsQ0FBQztJQUNELE9BQU8sRUFBRSxZQUFZO0dBQUc7RUF6TWhDLEFBMk1NLE1BM01BLENBc0xGLFVBQVUsQ0FxQlIsRUFBRSxBQUFBLG9CQUFvQixDQUFDO0lBQ3JCLGFBQWEsRUFBRSxJQUFJO0dBQUc7RUE1TTlCLEFBZ05RLE1BaE5GLENBOE1GLFdBQVcsQ0FDVCxTQUFTLENBQ1AsWUFBWSxDQUFDO0lBQ1gsS0FBSyxFQUFFLElBQUk7R0FBRzs7O0FDck54QixBQUNFLEdBREMsQUFBQSxxQkFBcUIsQ0FDdEIsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztDQU9nQjs7QUFYOUIsQUFNSSxHQU5ELEFBQUEscUJBQXFCLENBQ3RCLEVBQUUsQ0FLQSxFQUFFLENBQUM7RUFDRCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLEdBQUc7RUFDWCxNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLGFBQWEsRUFBRSxJQUFJO0NBQUc7O0FDWDVCOztzRkFFc0Y7QUFFdEYsQUFDRSxZQURVLENBQ1YsRUFBRSxFQURKLFlBQVksQ0FDTixFQUFFLEVBRFIsWUFBWSxDQUNGLEVBQUUsQ0FBQztFQUNULFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRWJLRyxPQUFPO0VLWmpCLFdBQVcsRUFBRSxtQkFBbUI7RUFJaEMsV0FBVyxFQUFFLEdBQUc7Q1FLaEI7O0FBTkYsQUFRRSxZQVJVLENBUVYsRUFBRSxFQVJKLFlBQVksQ0FRTixFQUFFLENBQUM7RUFDTCxTQUFTLEVBQUUsTUFBTTtDQUFHOztBQVR4QixBQVdFLFlBWFUsQ0FXVixFQUFFLENBQUM7RUFDRCxLQUFLLEViSUcsT0FBTztDYUpLOztBQVp4QixBQWVFLFlBZlUsQ0FlVixFQUFFLENBQUM7RUFDRCxTQUFTLEVBQUUsTUFBTTtFQUNqQixXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEViVEcsT0FBTztFYVVmLGNBQWMsRUFBRSxTQUFTO0NBQUc7O0FBbkJoQyxBQXFCRSxZQXJCVSxDQXFCVixDQUFDLENBQUM7RUFDQSxTQUFTLEVBQUUsTUFBTTtFQUNqQixXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEViZEQseUJBQU87Q2FjZ0I7O0FBeEIvQixBQTBCRSxZQTFCVSxDQTBCVixFQUFFLENBQUM7RUFDRCxZQUFZLEVBQUUsQ0FBQztFQUNmLFVBQVUsRUFBRSxJQUFJO0NBbUJVOztBQS9DOUIsQUE4QkksWUE5QlEsQ0EwQlYsRUFBRSxDQUlBLEVBQUUsQ0FBQztFQUNELFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRWJ6QkgseUJBQU87Q2FxQ2E7O0FBL0M1QixBQXFDTSxZQXJDTSxDQTBCVixFQUFFLENBSUEsRUFBRSxBQU9DLE9BQU8sQ0FBQztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsR0FBRyxFQUFFLEdBQUc7RUFDUixPQUFPLEVBQUUsSUFBSTtFQUNiLEtBQUssRWJqQ0QsT0FBTztFYWtDWCxTQUFTLEVBQUUsS0FBSztFQUNoQixXQUFXLEVBQUUsQ0FBQztDQUFHOztBQTVDekIsQUE4Q00sWUE5Q00sQ0EwQlYsRUFBRSxDQUlBLEVBQUUsR0FnQkUsRUFBRSxDQUFDO0VBQ0gsVUFBVSxFQUFFLEdBQUc7Q0FBRzs7QUEvQzFCLEFBaURFLFlBakRVLENBaURWLEVBQUUsQ0FBQztFQUNELGFBQWEsRUFBRSxVQUFVO0VBQ3pCLFlBQVksRUFBRSxDQUFDO0VBQ2YsVUFBVSxFQUFFLElBQUk7Q0FlVTs7QUFuRTlCLEFBcURJLFlBckRRLENBaURWLEVBQUUsQ0FJQSxFQUFFLENBQUM7RUFDRCxZQUFZLEVBQUUsSUFBSTtFQUNsQixTQUFTLEVBQUUsTUFBTTtFQUNqQixXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEViL0NILHlCQUFPO0NheURhOztBQW5FNUIsQUEyRE0sWUEzRE0sQ0FpRFYsRUFBRSxDQUlBLEVBQUUsQUFNQyxPQUFPLENBQUM7RUFDUCxpQkFBaUIsRUFBRSxVQUFVO0VBQzdCLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQSxHQUFHO0VBQy9CLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFYnZERCxPQUFPO0NhdURROztBQWhFM0IsQUFrRU0sWUFsRU0sQ0FpRFYsRUFBRSxDQUlBLEVBQUUsR0FhRSxFQUFFLENBQUM7RUFDSCxVQUFVLEVBQUUsR0FBRztDQUFHOztBQW5FMUIsQUFxRUUsWUFyRVUsQ0FxRVYsQ0FBQyxBQUFBLElBQUssQ0FBQSxPQUFPLEVBQUU7RUFDYixLQUFLLEViN0RHLE9BQU87Q2FrRWE7O0FBM0VoQyxBQXlFSSxZQXpFUSxDQXFFVixDQUFDLEFBQUEsSUFBSyxDQUFBLE9BQU8sQ0FJVixNQUFNLENBQUM7RUFDTixLQUFLLEViakVDLE9BQU87RWFrRWIsZUFBZSxFQUFFLElBQUk7Q0FBRzs7QUEzRTlCLEFBNkVFLFlBN0VVLENBNkVWLENBQUMsQUFBQSxPQUFPLENBQUM7RUFDUCxVQUFVLEVBQUUsSUFBSTtDQUFHOztBQ2xGdkIsQUFBQSxLQUFLLENBQUM7RUFDSixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFQUFFLEtBQUs7RUFDaEIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztDQTRJYzs7QUFqSmhDLEFBT0UsS0FQRyxDQU9ILGFBQWEsQ0FBQztFQUNaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGFBQWEsRUFBRSxJQUFJO0NBQUc7O0FBVDFCLEFBV0UsS0FYRyxDQVdILGNBQWMsQ0FBQztFQUNiLE9BQU8sRUFBRSxJQUFJO0VBQ2IsS0FBSyxFQUFFLElBQUk7RUFDWCxLQUFLLEVkREcsT0FBTztFY0VmLFNBQVMsRUFBRSxPQUFPO0VBQ2xCLFdBQVcsRUFBRSxJQUFJO0NBSVM7O0FBcEI5QixBQWtCSSxLQWxCQyxDQVdILGNBQWMsQUFPWCxPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsS0FBSztFQUNkLGFBQWEsRUFBRSxJQUFJO0NBQUc7O0FBcEI1QixBQXNCRSxLQXRCRyxDQXNCSCxLQUFLLEVBdEJQLEtBQUssQ0FzQkksTUFBTSxDQUFDO0VBQ1osT0FBTyxFQUFFLEtBQUs7RUFDZCxhQUFhLEVBQUUsR0FBRztFQUNsQixLQUFLLEVBQUUsS0FBSztFQUNaLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLFdBQVcsRUFBRSxJQUFJO0NBQUc7O0FBNUJ4QixBQThCRSxLQTlCRyxDQThCSCxLQUFLLEVBOUJQLEtBQUssQ0E4QkksUUFBUSxDQUFDO0VBQ2QsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLGdCQUFnQixFQUFFLFdBQVc7RUFDN0IsT0FBTyxFQUFFLFNBQVM7RUFFbEIsTUFBTSxFQUFFLGVBQWU7RUFDdkIsYUFBYSxFQUFFLENBQUM7RUFDaEIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsS0FBSyxFZHpCRCxPQUFPO0VjMEJYLFVBQVUsRUFBRSxxQkFBcUI7Q0FrQmI7O0FBMUR4QixBcEJDRSxLb0JERyxDQThCSCxLQUFLLEFwQjdCSiwyQkFBMkIsRW9CRDlCLEtBQUssQ0E4QkksUUFBUSxBcEI3QmQsMkJBQTJCLENBQTJCO0VvQjBDbkQsS0FBSyxFQUFPLHdCQUFLLENBQU8sVUFBVTtDcEJ6Q3pCOztBb0JGZixBcEJHRSxLb0JIRyxDQThCSCxLQUFLLEFwQjNCSixrQkFBa0IsRW9CSHJCLEtBQUssQ0E4QkksUUFBUSxBcEIzQmQsa0JBQWtCLENBQW1CO0VvQndDbEMsS0FBSyxFQUFPLHdCQUFLLENBQU8sVUFBVTtDcEJ2Q3pCOztBb0JKZixBcEJLRSxLb0JMRyxDQThCSCxLQUFLLEFwQnpCSixzQkFBc0IsRW9CTHpCLEtBQUssQ0E4QkksUUFBUSxBcEJ6QmQsc0JBQXNCLENBQWM7RW9Cc0NqQyxLQUFLLEVBQU8sd0JBQUssQ0FBTyxVQUFVO0NwQnJDekI7O0FvQk5mLEFwQk9FLEtvQlBHLENBOEJILEtBQUssQXBCdkJKLGlCQUFpQixFb0JQcEIsS0FBSyxDQThCSSxRQUFRLEFwQnZCZCxpQkFBaUIsQ0FBbUI7RW9Cb0NqQyxLQUFLLEVBQU8sd0JBQUssQ0FBTyxVQUFVO0NwQm5DekI7O0FvQlJmLEFBNkNJLEtBN0NDLENBOEJILEtBQUssQUFlRixNQUFNLEVBN0NYLEtBQUssQ0E4QkksUUFBUSxBQWVaLE1BQU0sQ0FBQztFQUNOLFlBQVksRWQ3QlgsT0FBTztDYzZCYTs7QUE5QzNCLEFBZ0RJLEtBaERDLENBOEJILEtBQUssQUFrQkYsTUFBTSxFQWhEWCxLQUFLLENBOEJJLFFBQVEsQUFrQlosTUFBTSxDQUFDO0VBQ04sZ0JBQWdCLEVBQU8sd0JBQUs7Q0FBUzs7QUFqRDNDLEFBbURJLEtBbkRDLENBOEJILEtBQUssQUFxQkYsaUJBQWlCLEVBbkR0QixLQUFLLENBOEJILEtBQUssQUFxQmtCLGlCQUFpQixBQUFBLE1BQU0sRUFuRGhELEtBQUssQ0E4QkgsS0FBSyxBQXFCNEMsaUJBQWlCLEFBQUEsTUFBTSxFQW5EMUUsS0FBSyxDQThCSCxLQUFLLEFBcUJzRSxpQkFBaUIsQUFBQSxPQUFPLEVBbkRyRyxLQUFLLENBOEJJLFFBQVEsQUFxQlosaUJBQWlCLEVBbkR0QixLQUFLLENBOEJJLFFBQVEsQUFxQlEsaUJBQWlCLEFBQUEsTUFBTSxFQW5EaEQsS0FBSyxDQThCSSxRQUFRLEFBcUJrQyxpQkFBaUIsQUFBQSxNQUFNLEVBbkQxRSxLQUFLLENBOEJJLFFBQVEsQUFxQjRELGlCQUFpQixBQUFBLE9BQU8sQ0FBQztFQUNoRyxVQUFVLEVBQUUsbUNBQW1DO0VBQy9DLHVCQUF1QixFZHZDckIsT0FBTztFY3dDVCxnQkFBZ0IsRUFBRSxLQUFLO0NBQUc7O0FBdERoQyxBQXdESSxLQXhEQyxDQThCSCxLQUFLLEFBMEJGLE1BQU0sRUF4RFgsS0FBSyxDQThCSSxRQUFRLEFBMEJaLE1BQU0sQ0FBQztFQUNOLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0NBQUc7O0FBMUR0QixBQTRERSxLQTVERyxDQTRESCxRQUFRLENBQUM7RUFDUCxVQUFVLEVBQUUsS0FBSztFQUNqQixNQUFNLEVBQUUsUUFBUTtDQUFHOztBQTlEdkIsQUFpRUksS0FqRUMsQ0FnRUgsT0FBTyxDQUNMLGVBQWUsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0NBQUc7O0FBbkV2QixBQXFFSSxLQXJFQyxDQWdFSCxPQUFPLENBS0wsS0FBSyxDQUFDO0VBQ0osUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxHQUFHLEVBQUUsSUFBSTtFQUNULE9BQU8sRUFBRSxZQUFZO0VBQ3JCLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFDVCxZQUFZLEVBQUUsS0FBSztFQUNuQixZQUFZLEVBQUUsYUFBYTtFQUMzQixZQUFZLEVkaEVWLE9BQU8sQ2NnRVcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXO0VBQ3ZELE9BQU8sRUFBRSxHQUFHO0VBQ1osY0FBYyxFQUFFLElBQUk7Q0FBRzs7QUFoRjdCLEFBa0ZJLEtBbEZDLENBZ0VILE9BQU8sQ0FrQkwsTUFBTSxDQUFDO0VBQ0wsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtFbEMzRVQsa0JBQW9CLEVrQzRFRixJQUFJO0VsQ3ZFdEIsZUFBaUIsRWtDdUVDLElBQUk7RWxDbEV0QixjQUFnQixFa0NrRUUsSUFBSTtFbEM3RHRCLGFBQWUsRWtDNkRHLElBQUk7RWxDeER0QixVQUFZLEVrQ3dETSxJQUFJO0VBQ3hCLFdBQVcsRWR4REosV0FBVyxFQUFFLFVBQVU7RWN5RDlCLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsT0FBTyxFQUFFLG1CQUFtQjtFQUM1QixNQUFNLEVBQUUscUJBQXFCO0VBQzdCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLEtBQUssRWQ5RUgsT0FBTztDY2tGVzs7QUFoRzFCLEFBOEZNLEtBOUZELENBZ0VILE9BQU8sQ0FrQkwsTUFBTSxBQVlILE1BQU0sQ0FBQztFQUNOLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0NBQUc7O0FBaEd4QixBQW9HSSxLQXBHQyxDQW1HSCxTQUFTLENBQ1AsS0FBSyxDQUFDO0VyQm5HUixPQUFPLEVBQUUsV0FBVztFQUNwQixPQUFPLEVBQUUsWUFBWTtFQUNyQixPQUFPLEVBQUUsSUFBSTtFYk1QLHVCQUFvQixFa0M0RlIsYUFBYTtFbEN2RnpCLG9CQUFpQixFa0N1RkwsYUFBYTtFbENsRnpCLG1CQUFnQixFa0NrRkosYUFBYTtFbEM1RnpCLG1CQUFvQixFa0M0Rk8sVUFBVTtFbEN2RnJDLGdCQUFpQixFa0N1RlUsVUFBVTtFbENsRnJDLGVBQWdCLEVrQ2tGVyxVQUFVO0VyQjlGM0MsZUFBZSxFcUI4RkcsYUFBYTtFckI3Ri9CLFdBQVcsRXFCNkZzQixVQUFVO0VBQ3ZDLE1BQU0sRUFBRSxPQUFPO0NBMEJnQjs7QUFoSXJDLEFBd0dNLEtBeEdELENBbUdILFNBQVMsQ0FDUCxLQUFLLENBSUgsS0FBSyxDQUFDO0VsQy9GSixrQkFBb0IsRWtDZ0dBLElBQUk7RWxDM0Z4QixlQUFpQixFa0MyRkcsSUFBSTtFbEN0RnhCLGNBQWdCLEVrQ3NGSSxJQUFJO0VsQ2pGeEIsYUFBZSxFa0NpRkssSUFBSTtFbEM1RXhCLFVBQVksRWtDNEVRLElBQUk7RUFDeEIsTUFBTSxFQUFFLENBQUM7RUFDVCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osYUFBYSxFQUFFLElBQUk7RUFDbkIsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsSUFBSTtFQUNaLGdCQUFnQixFQUFPLHdCQUFLO0VBQzVCLGVBQWUsRUFBRSxPQUFPO0VBQ3hCLG1CQUFtQixFQUFFLE1BQU07RUFDM0IsaUJBQWlCLEVBQUUsU0FBUztFQUM1QixVQUFVLEVBQUUscUJBQXFCO0NBT1E7O0FBM0hqRCxBQXNIUSxLQXRISCxDQW1HSCxTQUFTLENBQ1AsS0FBSyxDQUlILEtBQUssQUFjRixNQUFNLENBQUM7RUFDTixnQkFBZ0IsRUFBTyx3QkFBSztDQUFTOztBQXZIL0MsQUF5SFEsS0F6SEgsQ0FtR0gsU0FBUyxDQUNQLEtBQUssQ0FJSCxLQUFLLEFBaUJGLFFBQVEsQ0FBQztFQUNSLGdCQUFnQixFQUFFLDZCQUE2QjtFQUMvQyxnQkFBZ0IsRUFBTyx3QkFBSztDQUFTOztBQTNIL0MsQUE2SE0sS0E3SEQsQ0FtR0gsU0FBUyxDQUNQLEtBQUssQ0F5QkgsSUFBSSxDQUFDO0VBQ0gsT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsT0FBTztFQUNmLEtBQUssRUFBRSxpQkFBaUI7Q0FBRzs7QUFoSW5DLEFBa0lFLEtBbElHLENBa0lILE9BQU8sQ0FBQztFQUNOLFVBQVUsRUFBRSxJQUFJO0NBY1U7O0FBako5QixBQXFJSSxLQXJJQyxDQWtJSCxPQUFPLENBR0wsS0FBSyxDQUFDO0VBQ0osT0FBTyxFQUFFLElBQUk7Q0FBRzs7QUF0SXRCLEFBd0lJLEtBeElDLENBa0lILE9BQU8sQ0FNTCxPQUFPLENBQUM7RUFDTixNQUFNLEVBQUUsT0FBTztFQUNmLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLGdCQUFnQixFZHZIVixPQUFPO0Vjd0hiLEtBQUssRUFBRSxLQUFLO0VBQ1osY0FBYyxFQUFFLFNBQVM7Q0FJSDs7QUFqSjVCLEFBZ0pRLEtBaEpILENBa0lILE9BQU8sQ0FNTCxPQUFPLENBT0wsV0FBVyxDQUNULElBQUksQ0FBQztFQUNILElBQUksRUFBRSxLQUFLO0NBQUc7O0FDakp4QixBQUFBLGFBQWEsQ0FBQztFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsUUFBUSxFQUFFLE9BQU87RUFDakIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBZTtDQWtHbkI7O0FBckczQixBQUtFLGFBTFcsQ0FLWCxZQUFZLENBQUM7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0NBNkZTOztBQXJHekIsQUFVSSxhQVZTLENBS1gsWUFBWSxDQUtWLFlBQVksQ0FBQztFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsQ0FBQztFQUNULGNBQWMsRUFBRSxNQUFNO0NBbURrQzs7QXZCaEU1RCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0V1QkZ0QyxBQVVJLGFBVlMsQ0FLWCxZQUFZLENBS1YsWUFBWSxDQUFDO0lBUVQsY0FBYyxFQUFFLElBQUk7R0FnRGtDOzs7QUFsRTlELEFBb0JNLGFBcEJPLENBS1gsWUFBWSxDQUtWLFlBQVksQ0FVVixTQUFTLENBQUM7RUFDUixRQUFRLEVBQUUsUUFBUTtFdEJwQnhCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0ViTVAsdUJBQW9CLEVtQ2FOLE1BQU07RW5DUnBCLG9CQUFpQixFbUNRSCxNQUFNO0VuQ0hwQixtQkFBZ0IsRW1DR0YsTUFBTTtFbkNicEIsbUJBQW9CLEVtQ2FFLE1BQU07RW5DUjVCLGdCQUFpQixFbUNRSyxNQUFNO0VuQ0g1QixlQUFnQixFbUNHTSxNQUFNO0V0QmZsQyxlQUFlLEVzQmVLLE1BQU07RXRCZDFCLFdBQVcsRXNCY2lCLE1BQU07RUFDNUIsTUFBTSxFQUFFLEtBQUs7RUFDYixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osTUFBTSxFQUFFLE9BQU87RUFDZixhQUFhLEVBQUUsSUFBSTtFQUNuQixVQUFVLEVBQUUsZUFBZTtDQXNDeUI7O0FBbEU1RCxBQThCUSxhQTlCSyxDQUtYLFlBQVksQ0FLVixZQUFZLENBVVYsU0FBUyxDQVVQLElBQUksQ0FBQztFdEI3QlgsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRW1Dc0JKLE1BQU07RW5DakJ0QixvQkFBaUIsRW1DaUJELE1BQU07RW5DWnRCLG1CQUFnQixFbUNZQSxNQUFNO0VuQ3RCdEIsbUJBQW9CLEVtQ3NCSSxNQUFNO0VuQ2pCOUIsZ0JBQWlCLEVtQ2lCTyxNQUFNO0VuQ1o5QixlQUFnQixFbUNZUSxNQUFNO0V0QnhCcEMsZUFBZSxFc0J3Qk8sTUFBTTtFdEJ2QjVCLFdBQVcsRXNCdUJtQixNQUFNO0VBQzVCLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxnQkFBZ0IsRUFBRSxNQUFNO0VBQ3hCLFVBQVUsRUFBRSxjQUFjO0NBUUo7O0FBM0NoQyxBQXFDVSxhQXJDRyxDQUtYLFlBQVksQ0FLVixZQUFZLENBVVYsU0FBUyxDQVVQLElBQUksQ0FPRixXQUFXLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osZ0JBQWdCLEVBQUUsTUFBTTtDQUVOOztBQTNDOUIsQUEwQ1ksYUExQ0MsQ0FLWCxZQUFZLENBS1YsWUFBWSxDQVVWLFNBQVMsQ0FVUCxJQUFJLENBT0YsV0FBVyxDQUtULElBQUksQ0FBQztFQUNILElBQUksRUFBRSxLQUFLO0NBQUc7O0FBM0M1QixBQTZDUSxhQTdDSyxDQUtYLFlBQVksQ0FLVixZQUFZLENBVVYsU0FBUyxBQXlCTixTQUFTLENBQUM7RUFDVCxnQkFBZ0IsRWZoQ2xCLE9BQU87RWVpQ0wsS0FBSyxFQUFFLGVBQWU7Q0FPcUI7O0FBdERyRCxBQWtEWSxhQWxEQyxDQUtYLFlBQVksQ0FLVixZQUFZLENBVVYsU0FBUyxBQXlCTixTQUFTLENBSVIsSUFBSSxDQUNGLFdBQVcsQ0FBQztFQUNWLFNBQVMsRUFBRSxhQUFhO0NBQUc7O0FBbkR6QyxBQXFEVSxhQXJERyxDQUtYLFlBQVksQ0FLVixZQUFZLENBVVYsU0FBUyxBQXlCTixTQUFTLEFBUVAsTUFBTSxDQUFDO0VBQ04sZ0JBQWdCLEVBQUUsT0FBa0I7Q0FBRzs7QUF0RG5ELEFBd0RRLGFBeERLLENBS1gsWUFBWSxDQUtWLFlBQVksQ0FVVixTQUFTLEFBb0NOLEtBQUssQ0FBQztFQUNMLGdCQUFnQixFZnJDZCxPQUFPO0Vlc0NULElBQUksRUFBRSxlQUFlO0NBUTJCOztBQWxFMUQsQUE4RFksYUE5REMsQ0FLWCxZQUFZLENBS1YsWUFBWSxDQVVWLFNBQVMsQUFvQ04sS0FBSyxDQUtKLElBQUksQ0FDRixXQUFXLENBQUM7RUFDVixTQUFTLEVBQUUsY0FBYztDQUFHOztBQS9EMUMsQUFpRVUsYUFqRUcsQ0FLWCxZQUFZLENBS1YsWUFBWSxDQVVWLFNBQVMsQUFvQ04sS0FBSyxBQVNILE1BQU0sQ0FBQztFQUNOLGdCQUFnQixFQUFFLE9BQXVCO0NBQUc7O0FBbEV4RCxBQXNFSSxhQXRFUyxDQUtYLFlBQVksQ0FpRVYsTUFBTSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLFlBQVk7Q0F1QlA7O0FBckd2QixBQWdGTSxhQWhGTyxDQUtYLFlBQVksQ0FpRVYsTUFBTSxDQVVKLElBQUksQ0FBQztFQUNILFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osZUFBZSxFQUFFLEtBQUs7RUFDdEIsbUJBQW1CLEVBQUUsTUFBTTtDQVVGOztBQWpHakMsQUF5RlEsYUF6RkssQ0FLWCxZQUFZLENBaUVWLE1BQU0sQ0FVSixJQUFJLEFBU0QsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLElBQUk7Q0FBRzs7QXZCeEZ4QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0V1QkZyQyxBQTZGVSxhQTdGRyxDQUtYLFlBQVksQ0FpRVYsTUFBTSxDQVVKLElBQUksQUFhQyxPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsSUFBSTtHQUFHO0VBOUY1QixBQWdHVSxhQWhHRyxDQUtYLFlBQVksQ0FpRVYsTUFBTSxDQVVKLElBQUksQUFnQkMsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLEtBQUs7R0FBRzs7O0FBakc3QixBQW1HTSxhQW5HTyxDQUtYLFlBQVksQ0FpRVYsTUFBTSxBQTZCSCxPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxDQUFDO0NBQUc7O0FDcEdyQixBQUFBLGVBQWUsQ0FBQztFQUNkLFFBQVEsRUFBRSxLQUFLO0VBQ2YsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTyxFQUFFLE1BQU07RUFDZixLQUFLLEVBQUUsSUFBSTtFQUNYLGdCQUFnQixFaEJLTixPQUFPO0VnQkpqQixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxDQUFDLENBQUUsSUFBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsa0JBQWtCO0VBQzVDLFVBQVUsRUFBRSw0QkFBNEI7RUFDeEMsU0FBUyxFQUFFLG9CQUFvQjtDQTRDQTs7QUF2RGpDLEFBYUUsZUFiYSxBQWFaLFNBQVMsQ0FBQztFQUNULE9BQU8sRUFBRSxJQUFJO0NBQUc7O0FBZHBCLEFBZ0JFLGVBaEJhLEFBZ0JaLGVBQWUsQ0FBQztFQUNmLE9BQU8sRUFBRSxDQUFDO0VBQ1YsU0FBUyxFQUFFLHNCQUFzQjtDQUFHOztBQWxCeEMsQUFvQkUsZUFwQmEsQ0FvQmIsU0FBUyxDQUFDO0VBQ1IsVUFBVSxFQUFFLE1BQU07Q0FrQ1M7O0FBdkQvQixBQXVCSSxlQXZCVyxDQW9CYixTQUFTLENBR1AsQ0FBQyxFQXZCTCxlQUFlLENBb0JiLFNBQVMsQ0FHSixDQUFDLENBQUMsQ0FBQyxFQXZCVixlQUFlLENBb0JiLFNBQVMsQ0FHQyxhQUFhLENBQUM7RUFDcEIsU0FBUyxFQUFFLE9BQU87RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFQUFFLEtBQUs7Q0FBRzs7QUExQnJCLEFBNEJJLGVBNUJXLENBb0JiLFNBQVMsQ0FRUCxDQUFDLENBQUM7RUFDQSxPQUFPLEVBQUUsWUFBWTtFQUNyQixjQUFjLEVBQUUsTUFBTTtFQUN0QixNQUFNLEVBQUUsQ0FBQztDQUd3Qjs7QUFsQ3ZDLEFBaUNNLGVBakNTLENBb0JiLFNBQVMsQ0FRUCxDQUFDLENBS0MsQ0FBQyxDQUFDO0VBQ0EsZUFBZSxFQUFFLFNBQVM7Q0FBRzs7QUFsQ3JDLEFBb0NJLGVBcENXLENBb0JiLFNBQVMsQ0FnQlAsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLFlBQVk7RUFDckIsY0FBYyxFQUFFLE1BQU07RUFDdEIsV0FBVyxFQUFFLElBQUk7RUFDakIsT0FBTyxFQUFFLFFBQVE7RUFDakIsZ0JBQWdCLEVBQU8sd0JBQUs7RUFDNUIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsTUFBTSxFQUFFLE9BQU87Q0FBRzs7QXhCMUN0QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0V3QkRyQyxBQThDTSxlQTlDUyxDQW9CYixTQUFTLENBMEJMLENBQUMsQ0FBQztJQUNBLFNBQVMsRUFBRSxLQUFLO0dBQUc7OztBeEI5Q3pCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXdCRHJDLEFBa0RNLGVBbERTLENBb0JiLFNBQVMsQ0E4QkwsQ0FBQyxDQUFDO0lBQ0EsT0FBTyxFQUFFLEtBQUs7SUFDZCxTQUFTLEVBQUUsSUFBSTtHQUFHO0VBcEQxQixBQXNETSxlQXREUyxDQW9CYixTQUFTLENBa0NMLGFBQWEsQ0FBQztJQUNaLFVBQVUsRUFBRSxJQUFJO0dBQUc7OztBQUczQixBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLFFBQVEsRUFBRSxLQUFLO0VBQ2YsT0FBTyxFQUFFLElBQUk7RUFDYixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0V2QjlEUCxPQUFPLEVBQUUsV0FBVztFQUNwQixPQUFPLEVBQUUsWUFBWTtFQUNyQixPQUFPLEVBQUUsSUFBSTtFYk1QLHVCQUFvQixFb0N1RFosTUFBTTtFcENsRGQsb0JBQWlCLEVvQ2tEVCxNQUFNO0VwQzdDZCxtQkFBZ0IsRW9DNkNSLE1BQU07RXBDdkRkLG1CQUFvQixFb0N1REosTUFBTTtFcENsRHRCLGdCQUFpQixFb0NrREQsTUFBTTtFcEM3Q3RCLGVBQWdCLEVvQzZDQSxNQUFNO0V2QnpENUIsZUFBZSxFdUJ5REQsTUFBTTtFdkJ4RHBCLFdBQVcsRXVCd0RXLE1BQU07RUFDNUIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGdCQUFnQixFQUFPLGtCQUFLO0VBQzVCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLFlBQVk7Q0FpS087O0FBM0tqQyxBQVlFLHVCQVpxQixBQVlwQixTQUFTLENBQUM7RUFDVCxPQUFPLEVBQUUsSUFBSTtDQUFHOztBQWJwQixBQWVFLHVCQWZxQixBQWVwQixlQUFlLENBQUM7RUFDZixPQUFPLEVBQUUsQ0FBQztDQUFHOztBQWhCakIsQUFrQkUsdUJBbEJxQixDQWtCckIsWUFBWSxDQUFDO0VBQ1gsS0FBSyxFQUFFLHFCQUFxQjtFQUM1QixPQUFPLEVBQUUsVUFBVTtFQUNuQixPQUFPLEVBQUUsS0FBSztFQUNkLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLGdCQUFnQixFQUFFLEtBQUs7Q0F5Q0w7O0FBbEV0QixBQTJCSSx1QkEzQm1CLENBa0JyQixZQUFZLENBU1YsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLENBQUM7RUFDZCxXQUFXLEVBQUUsR0FBRztFQUNoQixNQUFNLEVBQUUsT0FBTztFQUNmLEtBQUssRUFBRSxPQUFPO0NBQUc7O0FBaEN2QixBQWtDSSx1QkFsQ21CLENBa0JyQixZQUFZLENBZ0JWLENBQUMsQ0FBQztFQUNBLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsS0FBSyxFQUFFLE9BQU87Q0FBRzs7QUF0Q3ZCLEFBd0NJLHVCQXhDbUIsQ0FrQnJCLFlBQVksQ0FzQlYsQ0FBQyxDQUFDLENBQUMsRUF4Q1AsdUJBQXVCLENBa0JyQixZQUFZLENBc0JMLENBQUMsQ0FBQyxVQUFVLENBQUM7RUFDaEIsS0FBSyxFaEI1RkcsT0FBTztFZ0I2RmYsV0FBVyxFQUFFLE1BQU07RUFDbkIsTUFBTSxFQUFFLE9BQU87RUFDZixlQUFlLEVBQUUsU0FBUztDQUFHOztBQTVDbkMsQUE4Q0ksdUJBOUNtQixDQWtCckIsWUFBWSxDQTRCVixxQkFBcUIsQ0FBQztFQUNwQixPQUFPLEVBQUUsWUFBWTtFQUNyQixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsU0FBUztFQUNsQixhQUFhLEVBQUUsR0FBRztFQUNsQixnQkFBZ0IsRWhCckdSLE9BQU87RWdCc0dmLFVBQVUsRUFBRSxtQ0FBbUM7RUFDL0MsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFQUFFLEtBQUs7RUFDWixNQUFNLEVBQUUsT0FBTztDQUdpQzs7QUEzRHRELEFBMERNLHVCQTFEaUIsQ0FrQnJCLFlBQVksQ0E0QlYscUJBQXFCLEFBWWxCLE1BQU0sQ0FBQztFQUNOLGdCQUFnQixFQUFFLE9BQXVCO0NBQUc7O0F4QnBIbEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFd0J5RHRDLEFBa0JFLHVCQWxCcUIsQ0FrQnJCLFlBQVksQ0FBQztJQTRDVCxPQUFPLEVBQUUsc0JBQXNCLENBQUMsZ0JBQWdCO0lBQ2hELE9BQU8sRUFBRSxLQUFLO0dBR0U7OztBeEIzSHBCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXdCeURyQyxBQWtCRSx1QkFsQnFCLENBa0JyQixZQUFZLENBQUM7SUFnRFQsS0FBSyxFQUFFLElBQUk7R0FBSzs7O0FBbEV0QixBQW9FRSx1QkFwRXFCLENBb0VyQixvQkFBb0IsQ0FBQztFQUNuQixPQUFPLEVBQUUsS0FBSztDQUdNOztBQXhFeEIsQUF1RUksdUJBdkVtQixDQW9FckIsb0JBQW9CLEFBR2pCLEtBQUssQ0FBQztFQUNMLE9BQU8sRUFBRSxJQUFJO0NBQUc7O0FBeEV0QixBQTBFRSx1QkExRXFCLENBMEVyQix5QkFBeUIsQ0FBQztFQUN4QixPQUFPLEVBQUUsS0FBSztFQUNkLE1BQU0sRUFBRSxNQUFNO0NBMkMwQzs7QUF2SDVELEFBOEVJLHVCQTlFbUIsQ0EwRXJCLHlCQUF5QixDQUl2QixZQUFZLENBQUM7RXZCeElmLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0ViTVAsdUJBQW9CLEVvQ2lJUixhQUFhO0VwQzVIekIsb0JBQWlCLEVvQzRITCxhQUFhO0VwQ3ZIekIsbUJBQWdCLEVvQ3VISixhQUFhO0VwQ2pJekIsbUJBQW9CLEVvQ2lJTyxVQUFVO0VwQzVIckMsZ0JBQWlCLEVvQzRIVSxVQUFVO0VwQ3ZIckMsZUFBZ0IsRW9DdUhXLFVBQVU7RXZCbkkzQyxlQUFlLEV1Qm1JRyxhQUFhO0V2QmxJL0IsV0FBVyxFdUJrSXNCLFVBQVU7RUFDdkMsS0FBSyxFQUFFLElBQUk7Q0F1Q3lDOztBQXZIMUQsQUFrRk0sdUJBbEZpQixDQTBFckIseUJBQXlCLENBSXZCLFlBQVksR0FJUixZQUFZLENBQUM7RUFDYixVQUFVLEVBQUUsSUFBSTtDQUFHOztBQW5GM0IsQUFxRk0sdUJBckZpQixDQTBFckIseUJBQXlCLENBSXZCLFlBQVksQ0FPVixLQUFLLENBQUM7RXZCL0lWLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0ViTVAsdUJBQW9CLEVvQ3dJTixNQUFNO0VwQ25JcEIsb0JBQWlCLEVvQ21JSCxNQUFNO0VwQzlIcEIsbUJBQWdCLEVvQzhIRixNQUFNO0VwQ3hJcEIsbUJBQW9CLEVvQ3dJRSxNQUFNO0VwQ25JNUIsZ0JBQWlCLEVvQ21JSyxNQUFNO0VwQzlINUIsZUFBZ0IsRW9DOEhNLE1BQU07RXZCMUlsQyxlQUFlLEV1QjBJSyxNQUFNO0V2QnpJMUIsV0FBVyxFdUJ5SWlCLE1BQU07RUFDNUIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtDQUlTOztBQTVGN0IsQUEwRlEsdUJBMUZlLENBMEVyQix5QkFBeUIsQ0FJdkIsWUFBWSxDQU9WLEtBQUssQUFLRixPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxLQUFLO0NBQUc7O0FBNUYzQixBQThGTSx1QkE5RmlCLENBMEVyQix5QkFBeUIsQ0FJdkIsWUFBWSxDQWdCVixLQUFLLENBQUM7RUFDSixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxpQkFBaUI7Q0FlVTs7QUEvRzFDLEFBa0dRLHVCQWxHZSxDQTBFckIseUJBQXlCLENBSXZCLFlBQVksQ0FnQlYsS0FBSyxDQUlILENBQUMsQ0FBQztFQUNBLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsS0FBSyxFaEJwSlAsd0JBQU87Q2dCNEp5Qjs7QUEvR3hDLEFBeUdVLHVCQXpHYSxDQTBFckIseUJBQXlCLENBSXZCLFlBQVksQ0FnQlYsS0FBSyxDQUlILENBQUMsQ0FPQyxNQUFNLENBQUM7RUFDTCxPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVoQnhKVCxPQUFPO0VnQnlKSCxTQUFTLEVBQUUsTUFBTTtDQUdTOztBQS9HdEMsQUE4R1ksdUJBOUdXLENBMEVyQix5QkFBeUIsQ0FJdkIsWUFBWSxDQWdCVixLQUFLLENBSUgsQ0FBQyxDQU9DLE1BQU0sQ0FLSixJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsTUFBTTtDQUFHOztBQS9HcEMsQUFrSFEsdUJBbEhlLENBMEVyQix5QkFBeUIsQ0FJdkIsWUFBWSxBQW1DVCxTQUFTLENBQ1IsS0FBSyxBQUFBLE9BQU8sQ0FBQztFWnBLbkIsVUFBVSxFQUFFLDZCQUE2QixDWXFLWCxDQUFDLENBQUMsQ0FBQyxDWnJLK0IsU0FBUztFQUN6RSxlQUFlLEVFVkgsS0FBSyxDQUNKLElBQUk7RUZVakIsS0FBSyxFWW1LOEIsSUFBSTtFWmxLdkMsTUFBTSxFWWtLbUMsSUFBSTtDQUFJOztBQW5IbkQsQUFzSFEsdUJBdEhlLENBMEVyQix5QkFBeUIsQ0FJdkIsWUFBWSxBQXVDVCxTQUFTLENBQ1IsS0FBSyxBQUFBLE9BQU8sQ0FBQztFWnhLbkIsVUFBVSxFQUFFLDZCQUE2QixDQUg3QixLQUFzQixDWTRLQyxDQUFDLENaeks0QixTQUFTO0VBQ3pFLGVBQWUsRUVWSCxLQUFLLENBQ0osSUFBSTtFRlVqQixLQUFLLEVZdUtpQyxJQUFJO0VadEsxQyxNQUFNLEVZc0tzQyxJQUFJO0NBQUk7O0FBdkh0RCxBQXlIRSx1QkF6SHFCLENBeUhyQixnQkFBZ0IsQ0FBQztFQUNmLE9BQU8sRUFBRSxJQUFJO0NBaURjOztBQTNLL0IsQUE0SEksdUJBNUhtQixDQXlIckIsZ0JBQWdCLEFBR2IsS0FBSyxDQUFDO0VBQ0wsT0FBTyxFQUFFLEtBQUs7Q0FBRzs7QUE3SHZCLEFBK0hJLHVCQS9IbUIsQ0F5SHJCLGdCQUFnQixDQU1kLFFBQVEsQ0FBQztFQUNQLE9BQU8sRUFBRSxRQUFRO0NBQUc7O0FBaEkxQixBQWtJSSx1QkFsSW1CLENBeUhyQixnQkFBZ0IsQ0FTZCxZQUFZLENBQUM7RXZCNUxmLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0ViTVAsdUJBQW9CLEVvQ3FMUixhQUFhO0VwQ2hMekIsb0JBQWlCLEVvQ2dMTCxhQUFhO0VwQzNLekIsbUJBQWdCLEVvQzJLSixhQUFhO0VwQ3JMekIsbUJBQW9CLEVvQ3FMTyxVQUFVO0VwQ2hMckMsZ0JBQWlCLEVvQ2dMVSxVQUFVO0VwQzNLckMsZUFBZ0IsRW9DMktXLFVBQVU7RXZCdkwzQyxlQUFlLEV1QnVMRyxhQUFhO0V2QnRML0IsV0FBVyxFdUJzTHNCLFVBQVU7RUFDdkMsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsS0FBSztFQUNoQixNQUFNLEVBQUUsT0FBTztDQXFDUTs7QUEzSzdCLEFBd0lNLHVCQXhJaUIsQ0F5SHJCLGdCQUFnQixDQVNkLFlBQVksR0FNUixZQUFZLENBQUM7RUFDYixVQUFVLEVBQUUsSUFBSTtDQUFHOztBQXpJM0IsQUEySU0sdUJBM0lpQixDQXlIckIsZ0JBQWdCLENBU2QsWUFBWSxDQVNWLEtBQUssQ0FBQztFQUNKLE1BQU0sRUFBRSxPQUFPO0VBQ2YsT0FBTyxFQUFFLEtBQUs7RVovTHBCLFVBQVUsRUFBRSw2QkFBNkIsQ0FIN0IsS0FBc0IsQ0FDdEIsS0FBc0IsQ0FFOEIsU0FBUztFQUN6RSxlQUFlLEVFVkgsS0FBSyxDQUNKLElBQUk7RUZVakIsS0FBSyxFWThMa0MsSUFBSTtFWjdMM0MsTUFBTSxFWTZMdUMsSUFBSTtFcENoTTNDLGtCQUFvQixFb0NpTUEsSUFBSTtFcEM1THhCLGVBQWlCLEVvQzRMRyxJQUFJO0VwQ3ZMeEIsY0FBZ0IsRW9DdUxJLElBQUk7RXBDbEx4QixhQUFlLEVvQ2tMSyxJQUFJO0VwQzdLeEIsVUFBWSxFb0M2S1EsSUFBSTtDQU9EOztBQXRKL0IsQUFpSlEsdUJBakplLENBeUhyQixnQkFBZ0IsQ0FTZCxZQUFZLENBU1YsS0FBSyxBQU1GLFFBQVEsQ0FBQztFQUNSLG1CQUFtQixFQUFFLE9BQU87Q0FBRzs7QUFsSnpDLEFBb0pRLHVCQXBKZSxDQXlIckIsZ0JBQWdCLENBU2QsWUFBWSxDQVNWLEtBQUssQUFTRixNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsSUFBSTtFQUNiLFVBQVUsRUFBRSxJQUFJO0NBQUc7O0FBdEo3QixBQXdKTSx1QkF4SmlCLENBeUhyQixnQkFBZ0IsQ0FTZCxZQUFZLEdBc0JSLElBQUksQ0FBQztFQUNMLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLGlCQUFpQjtFQUN4QixTQUFTLEVBQUUsTUFBTTtFQUNqQixXQUFXLEVBQUUsSUFBSTtFQUNqQixLQUFLLEVoQjFNTCx3QkFBTztDZ0JpTnVCOztBQXBLdEMsQUErSlEsdUJBL0plLENBeUhyQixnQkFBZ0IsQ0FTZCxZQUFZLEdBc0JSLElBQUksQ0FPSixNQUFNLENBQUM7RUFDTCxTQUFTLEVBQUUsTUFBTTtFQUNqQixLQUFLLEVoQjlNUCxPQUFPO0NnQmlOcUI7O0FBcEtwQyxBQW1LVSx1QkFuS2EsQ0F5SHJCLGdCQUFnQixDQVNkLFlBQVksR0FzQlIsSUFBSSxDQU9KLE1BQU0sQ0FJSixJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsTUFBTTtDQUFHOztBQXBLbEMsQUFzS00sdUJBdEtpQixDQXlIckIsZ0JBQWdCLENBU2QsWUFBWSxBQW9DVCxTQUFTLENBQUM7RUFDVCxjQUFjLEVBQUUsSUFBSTtFQUNwQixNQUFNLEVBQUUsV0FBVztDQUdBOztBQTNLM0IsQUEwS1EsdUJBMUtlLENBeUhyQixnQkFBZ0IsQ0FTZCxZQUFZLEFBb0NULFNBQVMsQ0FJUixLQUFLLENBQUM7RUFDSixPQUFPLEVBQUUsR0FBRztDQUFHOztBQ3JPekIsQUFBQSxjQUFjLENBQUM7RUFDYixhQUFhLEVBQUUsSUFBSTtFQUNuQixPQUFPLEVBQUUsV0FBVztFQUNwQixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2pCVWxCLE9BQU87RWlCVGIsS0FBSyxFQUFFLElBQUk7Q0E4RWdCOztBQWxGN0IsQUFNRSxjQU5ZLENBTVosWUFBWSxDQUFDO0VBQ1gsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsS0FBSztDQTBFUzs7QUFsRjNCLEFBV00sY0FYUSxDQU1aLFlBQVksQ0FJVixvQkFBb0IsQ0FDbEIsRUFBRSxDQUFDO0VBQ0QsTUFBTSxFQUFFLFFBQVE7RUFDaEIsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLEdBQUc7Q0FBRzs7QUFkM0IsQUFnQk0sY0FoQlEsQ0FNWixZQUFZLENBSVYsb0JBQW9CLENBTWxCLENBQUMsQ0FBQztFQUNBLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxHQUFHO0NBQUc7O0FBbEIzQixBQW9CSSxjQXBCVSxDQU1aLFlBQVksQ0FjVixhQUFhLENBQUM7RUFDWixPQUFPLEVBQUUsS0FBSztFQUNkLE1BQU0sRUFBRSxXQUFXO0NBMENXOztBQWhFcEMsQUF3Qk0sY0F4QlEsQ0FNWixZQUFZLENBY1YsYUFBYSxDQUlYLFlBQVksQ0FBQztFeEJ4QmpCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0ViTVAsdUJBQW9CLEVxQ2lCTixhQUFhO0VyQ1ozQixvQkFBaUIsRXFDWUgsYUFBYTtFckNQM0IsbUJBQWdCLEVxQ09GLGFBQWE7RXJDakIzQixtQkFBb0IsRXFDaUJTLFVBQVU7RXJDWnZDLGdCQUFpQixFcUNZWSxVQUFVO0VyQ1B2QyxlQUFnQixFcUNPYSxVQUFVO0V4Qm5CN0MsZUFBZSxFd0JtQkssYUFBYTtFeEJsQmpDLFdBQVcsRXdCa0J3QixVQUFVO0VBQ3ZDLEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFQUFFLEtBQUs7RUFDaEIsTUFBTSxFQUFFLE9BQU87Q0FvQ1c7O0FBaEVsQyxBQThCUSxjQTlCTSxDQU1aLFlBQVksQ0FjVixhQUFhLENBSVgsWUFBWSxHQU1SLFlBQVksQ0FBQztFQUNiLFVBQVUsRUFBRSxJQUFJO0NBQUc7O0FBL0I3QixBQWlDUSxjQWpDTSxDQU1aLFlBQVksQ0FjVixhQUFhLENBSVgsWUFBWSxDQVNWLEtBQUssQ0FBQztFQUNKLE1BQU0sRUFBRSxPQUFPO0VBQ2YsT0FBTyxFQUFFLEtBQUs7RXJDM0JoQixrQkFBb0IsRXFDNEJFLElBQUk7RXJDdkIxQixlQUFpQixFcUN1QkssSUFBSTtFckNsQjFCLGNBQWdCLEVxQ2tCTSxJQUFJO0VyQ2IxQixhQUFlLEVxQ2FPLElBQUk7RXJDUjFCLFVBQVksRXFDUVUsSUFBSTtFYjVCaEMsVUFBVSxFQUFFLDZCQUE2QixDQUg3QixLQUFzQixDQUN0QixLQUFzQixDQUU4QixTQUFTO0VBQ3pFLGVBQWUsRUVWSCxLQUFLLENBQ0osSUFBSTtFRlVqQixLQUFLLEVhMkJvQyxJQUFJO0ViMUI3QyxNQUFNLEVhMEJ5QyxJQUFJO0NBT1I7O0FBNUM3QyxBQXVDVSxjQXZDSSxDQU1aLFlBQVksQ0FjVixhQUFhLENBSVgsWUFBWSxDQVNWLEtBQUssQUFNRixNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsSUFBSTtFQUNiLFVBQVUsRUFBRSxJQUFJO0NBQUc7O0FBekMvQixBQTJDVSxjQTNDSSxDQU1aLFlBQVksQ0FjVixhQUFhLENBSVgsWUFBWSxDQVNWLEtBQUssQUFVRixRQUFRLENBQUM7RUFDUixtQkFBbUIsRUFBRSxPQUFPO0NBQUc7O0FBNUMzQyxBQThDUSxjQTlDTSxDQU1aLFlBQVksQ0FjVixhQUFhLENBSVgsWUFBWSxHQXNCUixJQUFJLENBQUM7RUFDTCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxpQkFBaUI7RUFDeEIsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLEdBQUc7Q0FTYzs7QXpCMUR0QyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0V5QkRyQyxBQThDUSxjQTlDTSxDQU1aLFlBQVksQ0FjVixhQUFhLENBSVgsWUFBWSxHQXNCUixJQUFJLENBQUM7SUFPSCxLQUFLLEVBQUUsaUJBQWlCO0dBTUk7OztBQTNEeEMsQUF1RFUsY0F2REksQ0FNWixZQUFZLENBY1YsYUFBYSxDQUlYLFlBQVksR0FzQlIsSUFBSSxDQVNKLE1BQU0sQ0FBQztFQUNMLFNBQVMsRUFBRSxNQUFNO0NBR1M7O0FBM0R0QyxBQTBEWSxjQTFERSxDQU1aLFlBQVksQ0FjVixhQUFhLENBSVgsWUFBWSxHQXNCUixJQUFJLENBU0osTUFBTSxDQUdKLElBQUksQ0FBQztFQUNILFdBQVcsRUFBRSxNQUFNO0NBQUc7O0FBM0RwQyxBQThEUSxjQTlETSxDQU1aLFlBQVksQ0FjVixhQUFhLENBSVgsWUFBWSxBQXNDVCxTQUFTLENBQUM7RUFDVCxjQUFjLEVBQUUsSUFBSTtFQUNwQixNQUFNLEVBQUUsV0FBVztDQUFHOztBQWhFaEMsQUFrRUksY0FsRVUsQ0FNWixZQUFZLENBNERWLHFCQUFxQixDQUFDO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLGdCQUFnQixFakI5RFIsT0FBTztFaUIrRGYsVUFBVSxFQUFFLG1DQUFtQztFQUUvQyxTQUFTLEVBQUUsTUFBTTtFQUNqQixXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxPQUFPO0NBTUk7O0FBbEZ6QixBQThFTSxjQTlFUSxDQU1aLFlBQVksQ0E0RFYscUJBQXFCLEFBWWxCLE1BQU0sQ0FBQztFQUNOLGdCQUFnQixFQUFFLE9BQXVCO0NBQUc7O0FBL0VwRCxBQWlGTSxjQWpGUSxDQU1aLFlBQVksQ0E0RFYscUJBQXFCLEFBZWxCLFFBQVEsQ0FBQztFQUNSLE9BQU8sRUFBRSxHQUFHO0NBQUc7O0FDbkZ2QixBQUFBLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxRQUFRO0NBQUc7O0FBRXRCLEFBQ0UsYUFEVyxDQUNYLFlBQVksRUFEQyxZQUFZLENBQ3pCLFlBQVksQ0FBQztFQUNYLFVBQVUsRUFBRSxNQUFNO0NBQUc7O0FBRnpCLEFBSUUsYUFKVyxDQUlYLGVBQWUsRUFKRixZQUFZLENBSXpCLGVBQWUsQ0FBQztFQUNkLGdCQUFnQixFQUFFLFdBQVc7Q0FBRzs7QUFMcEMsQUFRSSxhQVJTLENBT1gsYUFBYSxDQUNYLFNBQVMsRUFSRSxZQUFZLENBT3pCLGFBQWEsQ0FDWCxTQUFTLENBQUM7RUFDUixxQkFBcUIsRUFBRSx1QkFBdUI7RUFDOUMsUUFBUSxFQUFFLFNBQVM7Q0FjRTs7QTFCekJ6QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0UwQkN0QyxBQVFJLGFBUlMsQ0FPWCxhQUFhLENBQ1gsU0FBUyxFQVJFLFlBQVksQ0FPekIsYUFBYSxDQUNYLFNBQVMsQ0FBQztJQUtOLHFCQUFxQixFQUFFLGVBQWU7R0FXbkI7OztBMUJ6QnpCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RTBCQ3JDLEFBUUksYUFSUyxDQU9YLGFBQWEsQ0FDWCxTQUFTLEVBUkUsWUFBWSxDQU96QixhQUFhLENBQ1gsU0FBUyxDQUFDO0lBUU4sT0FBTyxFQUFFLElBQUk7SUFDYixxQkFBcUIsRUFBRSxXQUFXO0lBQ2xDLFNBQVMsRUFBRSxJQUFJO0dBTUk7OztBMUJ6QnpCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RTBCQ3JDLEFBUUksYUFSUyxDQU9YLGFBQWEsQ0FDWCxTQUFTLEVBUkUsWUFBWSxDQU96QixhQUFhLENBQ1gsU0FBUyxDQUFDO0lBYU4scUJBQXFCLEVBQUUsT0FBTztHQUdYOzs7QTFCekJ6QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UwQkNyQyxBQVFJLGFBUlMsQ0FPWCxhQUFhLENBQ1gsU0FBUyxFQVJFLFlBQVksQ0FPekIsYUFBYSxDQUNYLFNBQVMsQ0FBQztJQWdCTixPQUFPLEVBQUUsS0FBSztHQUFLOzs7QUFLckIsQUFBQSxHQUFHLENBN0JULGFBQWEsQ0FPWCxhQUFhLENBb0JYLE9BQU8sRUFFTCxHQUFHLENBN0JNLFlBQVksQ0FPekIsYUFBYSxDQW9CWCxPQUFPLENBRUM7RUFDSixLQUFLLEVBQUUsR0FBRztDQW1CaEI7O0ExQmxEQSxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0UwQjhCaEMsQUFBQSxHQUFHLENBN0JULGFBQWEsQ0FPWCxhQUFhLENBb0JYLE9BQU8sRUFFTCxHQUFHLENBN0JNLFlBQVksQ0FPekIsYUFBYSxDQW9CWCxPQUFPLENBRUM7SUFJRixLQUFLLEVBQUUsR0FBRztHQWdCbEI7OztBMUJsREEsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFMEI4Qi9CLEFBQUEsR0FBRyxDQTdCVCxhQUFhLENBT1gsYUFBYSxDQW9CWCxPQUFPLEVBRUwsR0FBRyxDQTdCTSxZQUFZLENBT3pCLGFBQWEsQ0FvQlgsT0FBTyxDQUVDO0lBT0YsS0FBSyxFQUFFLEdBQUc7R0FhbEI7RUFwQkksQUFTSSxHQVRELENBN0JULGFBQWEsQ0FPWCxhQUFhLENBb0JYLE9BQU8sQ0FXRCxNQUFNLEVBVFYsR0FBRyxDQTdCTSxZQUFZLENBT3pCLGFBQWEsQ0FvQlgsT0FBTyxDQVdELE1BQU0sQ0FBQztJQUNMLE1BQU0sRUFBRSxJQUFJO0lBQ1osY0FBYyxFQUFFLENBQUM7R0FNSTtFQWpCM0IsQUFhTSxHQWJILENBN0JULGFBQWEsQ0FPWCxhQUFhLENBb0JYLE9BQU8sQ0FXRCxNQUFNLENBSUosTUFBTSxFQWJaLEdBQUcsQ0E3Qk0sWUFBWSxDQU96QixhQUFhLENBb0JYLE9BQU8sQ0FXRCxNQUFNLENBSUosTUFBTSxDQUFDO0lBQ0wsT0FBTyxFQUFFLElBQUk7R0FBRztFQWR4QixBQWdCTSxHQWhCSCxDQTdCVCxhQUFhLENBT1gsYUFBYSxDQW9CWCxPQUFPLENBV0QsTUFBTSxDQU9KLEdBQUcsRUFoQlQsR0FBRyxDQTdCTSxZQUFZLENBT3pCLGFBQWEsQ0FvQlgsT0FBTyxDQVdELE1BQU0sQ0FPSixHQUFHLENBQUM7SUFDRixPQUFPLEVBQUUsS0FBSztHQUFHOzs7QUE5Qy9CLEFBbURNLGFBbkRPLENBT1gsYUFBYSxDQW9CWCxPQUFPLENBd0JMLE1BQU0sRUFuREcsWUFBWSxDQU96QixhQUFhLENBb0JYLE9BQU8sQ0F3QkwsTUFBTSxDQUFDO0VBQ0wsVUFBVSxFQUFFLElBQUk7Q0FjVzs7QUFsRW5DLEFBc0RRLGFBdERLLENBT1gsYUFBYSxDQW9CWCxPQUFPLENBd0JMLE1BQU0sQ0FHSixHQUFHLEVBdERJLFlBQVksQ0FPekIsYUFBYSxDQW9CWCxPQUFPLENBd0JMLE1BQU0sQ0FHSixHQUFHLENBQUM7RUFDRixPQUFPLEVBQUUsSUFBSTtFQUNiLEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLElBQUk7Q0FHVzs7QUE1RGpDLEFBMkRVLGFBM0RHLENBT1gsYUFBYSxDQW9CWCxPQUFPLENBd0JMLE1BQU0sQ0FHSixHQUFHLEFBS0EsT0FBTyxFQTNESCxZQUFZLENBT3pCLGFBQWEsQ0FvQlgsT0FBTyxDQXdCTCxNQUFNLENBR0osR0FBRyxBQUtBLE9BQU8sQ0FBQztFQUNQLFNBQVMsRUFBRSxLQUFLO0NBQUc7O0FBNUQvQixBQThEUSxhQTlESyxDQU9YLGFBQWEsQ0FvQlgsT0FBTyxDQXdCTCxNQUFNLENBV0osTUFBTSxFQTlEQyxZQUFZLENBT3pCLGFBQWEsQ0FvQlgsT0FBTyxDQXdCTCxNQUFNLENBV0osTUFBTSxDQUFDO0VBRUgsaUJBQU0sRUFBRSxTQUFTO0VBQ2pCLGVBQUksRUFBRSxPQUFPO0VBQ2IsbUJBQVEsRUFBRSxNQUFNO0NBQUs7O0ExQm5FL0IsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFMEJDckMsQUFxRVEsYUFyRUssQ0FPWCxhQUFhLENBb0JYLE9BQU8sR0EwQ0QsT0FBTyxFQXJFRixZQUFZLENBT3pCLGFBQWEsQ0FvQlgsT0FBTyxHQTBDRCxPQUFPLENBQUM7SUFDUixVQUFVLEVBQUUsWUFBWTtHQUFHO0VBdEVyQyxBQXVFUSxhQXZFSyxDQU9YLGFBQWEsQ0FvQlgsT0FBTyxDQTRDSCxNQUFNLEVBdkVDLFlBQVksQ0FPekIsYUFBYSxDQW9CWCxPQUFPLENBNENILE1BQU0sQ0FBQztJQUNMLGNBQWMsRUFBRSxJQUFJO0dBQUc7OztBMUJ6RS9CLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RTBCQ3JDLEFBMkJJLGFBM0JTLENBT1gsYUFBYSxDQW9CWCxPQUFPLEVBM0JJLFlBQVksQ0FPekIsYUFBYSxDQW9CWCxPQUFPLENBQUM7SXpCN0JWLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxJQUFJO0liTVAsdUJBQW9CLEVzQ3FFTixNQUFNO0l0Q2hFcEIsb0JBQWlCLEVzQ2dFSCxNQUFNO0l0QzNEcEIsbUJBQWdCLEVzQzJERixNQUFNO0l0Q3JFcEIsbUJBQW9CLEVzQ3FFRSxNQUFNO0l0Q2hFNUIsZ0JBQWlCLEVzQ2dFSyxNQUFNO0l0QzNENUIsZUFBZ0IsRXNDMkRNLE1BQU07SXpCdkVsQyxlQUFlLEV5QnVFSyxNQUFNO0l6QnRFMUIsV0FBVyxFeUJzRWlCLE1BQU07R0FtQlE7RUE5RjVDLEFBNEVRLGFBNUVLLENBT1gsYUFBYSxDQW9CWCxPQUFPLENBaURILE1BQU0sRUE1RUMsWUFBWSxDQU96QixhQUFhLENBb0JYLE9BQU8sQ0FpREgsTUFBTSxDQUFDO0lBQ0wsY0FBYyxFQUFFLENBQUM7SUFDakIsTUFBTSxFQUFFLElBQUk7R0FNUztFQXBGL0IsQUFnRlUsYUFoRkcsQ0FPWCxhQUFhLENBb0JYLE9BQU8sQ0FpREgsTUFBTSxDQUlKLElBQUksRUFoRkMsWUFBWSxDQU96QixhQUFhLENBb0JYLE9BQU8sQ0FpREgsTUFBTSxDQUlKLElBQUksQ0FBQztJQUNILE9BQU8sRUFBRSxJQUFJO0dBQUc7RUFqRjVCLEFBbUZVLGFBbkZHLENBT1gsYUFBYSxDQW9CWCxPQUFPLENBaURILE1BQU0sQ0FPSixHQUFHLEVBbkZFLFlBQVksQ0FPekIsYUFBYSxDQW9CWCxPQUFPLENBaURILE1BQU0sQ0FPSixHQUFHLENBQUM7SUFDRixPQUFPLEVBQUUsS0FBSztHQUFHOzs7QTFCckYzQixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UwQkNyQyxBQTJCSSxhQTNCUyxDQU9YLGFBQWEsQ0FvQlgsT0FBTyxFQTNCSSxZQUFZLENBT3pCLGFBQWEsQ0FvQlgsT0FBTyxDQUFDO0lBOERKLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxJQUFJO0dBR2tCO0VBOUY1QyxBQTZGUSxhQTdGSyxDQU9YLGFBQWEsQ0FvQlgsT0FBTyxHQWtFRCxPQUFPLEVBN0ZGLFlBQVksQ0FPekIsYUFBYSxDQW9CWCxPQUFPLEdBa0VELE9BQU8sQ0FBQztJQUNSLFVBQVUsRUFBRSxlQUFlO0dBQUc7OztBQ2pHeEM7O3FGQUVxRjtBQUVyRixBQUVFLGNBRlksR0FFVixjQUFjLENBQUM7RUFDZixVQUFVLEVBQUUsSUFBSTtDQUFHOztBQUh2QixBQUtFLGNBTFksQ0FLWixTQUFTLENBQUM7RTFCUlYsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRXVDQ1YsYUFBYTtFdkNJdkIsb0JBQWlCLEV1Q0pQLGFBQWE7RXZDU3ZCLG1CQUFnQixFdUNUTixhQUFhO0V2Q0R2QixtQkFBb0IsRXVDQ0ssTUFBTTtFdkNJL0IsZ0JBQWlCLEV1Q0pRLE1BQU07RXZDUy9CLGVBQWdCLEV1Q1RTLE1BQU07RTFCSHJDLGVBQWUsRTBCR0MsYUFBYTtFMUJGN0IsV0FBVyxFMEJFb0IsTUFBTTtDQUFJOztBQU4zQyxBQ0pBLGNESWMsQUNKYixpQkFBaUIsQ0FBQztFQUNqQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsRUFBRTtFM0JEWCxPQUFPLEVBQUUsV0FBVztFQUNwQixPQUFPLEVBQUUsWUFBWTtFQUNyQixPQUFPLEVBQUUsSUFBSTtFYk1QLHVCQUFvQixFd0NOWixhQUFhO0V4Q1dyQixvQkFBaUIsRXdDWFQsYUFBYTtFeENnQnJCLG1CQUFnQixFd0NoQlIsYUFBYTtFeENNckIsbUJBQW9CLEV3Q05HLFVBQVU7RXhDV2pDLGdCQUFpQixFd0NYTSxVQUFVO0V4Q2dCakMsZUFBZ0IsRXdDaEJPLFVBQVU7RTNCSXZDLGVBQWUsRTJCSkQsYUFBYTtFM0JLM0IsV0FBVyxFMkJMa0IsVUFBVTtDQVlMOztBRFhwQyxBQ0FFLGNEQVksQUNKYixpQkFBaUIsQ0FJaEIsUUFBUSxDQUFDO0VBQ1AsS0FBSyxFL0JzQkMsWUFBOEM7RStCckJwRCxPQUFPLEVBQUUsQ0FBQztDQUFHOztBNUJKZixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UyQkVyQyxBQ0pBLGNESWMsQUNKYixpQkFBaUIsQ0FBQztJQVNmLE9BQU8sRUFBRSxLQUFLO0dBTWtCO0VEWHBDLEFDTUksY0ROVSxBQ0piLGlCQUFpQixDQVVkLFFBQVEsQ0FBQztJQUNQLEtBQUssRUFBRSxlQUFlO0lBQ3RCLE1BQU0sRUFBRSxDQUFDO0dBR2lCO0VEWGhDLEFDVU0sY0RWUSxBQ0piLGlCQUFpQixDQVVkLFFBQVEsQ0FJTixDQUFDLEFBQUEsYUFBYSxDQUFDO0lBQ2IsYUFBYSxFQUFFLElBQUk7R0FBRzs7O0FEWDlCLEFFRkUsY0ZFWSxBRUpiLGtCQUFrQixDQUVqQixHQUFHLENBQUM7RUFDRixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxJQUFJO0NBY1k7O0FGZDdCLEFFQ0ksY0ZEVSxBRUpiLGtCQUFrQixDQUVqQixHQUFHLEFBR0EsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLEtBQUs7Q0FBRzs7QTdCSnJCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RTJCRXRDLEFFS00sY0ZMUSxBRUpiLGtCQUFrQixDQUVqQixHQUFHLEFBT0UsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLElBQUk7R0FBRztFRk54QixBRU9NLGNGUFEsQUVKYixrQkFBa0IsQ0FFakIsR0FBRyxBQVNFLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxLQUFLO0dBQUc7OztBN0JWdkIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFMkJFckMsQUVXTSxjRlhRLEFFSmIsa0JBQWtCLENBRWpCLEdBQUcsQUFhRSxPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsSUFBSTtHQUFHO0VGWnhCLEFFYU0sY0ZiUSxBRUpiLGtCQUFrQixDQUVqQixHQUFHLEFBZUUsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLEtBQUs7R0FBRzs7O0FGZHpCLEFHSkEsY0hJYyxBR0piLGNBQWMsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0U3QkFsQixPQUFPLEVBQUUsV0FBVztFQUNwQixPQUFPLEVBQUUsWUFBWTtFQUNyQixPQUFPLEVBQUUsSUFBSTtFYk1QLHVCQUFvQixFMENQWixhQUFhO0UxQ1lyQixvQkFBaUIsRTBDWlQsYUFBYTtFMUNpQnJCLG1CQUFnQixFMENqQlIsYUFBYTtFMUNPckIsbUJBQW9CLEUwQ1BHLFVBQVU7RTFDWWpDLGdCQUFpQixFMENaTSxVQUFVO0UxQ2lCakMsZUFBZ0IsRTBDakJPLFVBQVU7RTdCS3ZDLGVBQWUsRTZCTEQsYUFBYTtFN0JNM0IsV0FBVyxFNkJOa0IsVUFBVTtDQXlDakI7O0FIdkN4QixBR0FFLGNIQVksQUdKYixjQUFjLENBSWIsTUFBTSxDQUFDO0VBQ0wsS0FBSyxFQUFFLEdBQUc7Q0FnQmlCOztBSGpCL0IsQUdHSSxjSEhVLEFHSmIsY0FBYyxDQUliLE1BQU0sQ0FHSixHQUFHLENBQUM7RUFDRixLQUFLLEVBQUUsSUFBSTtDQVVjOztBSGQvQixBR01NLGNITlEsQUdKYixjQUFjLENBSWIsTUFBTSxDQUdKLEdBQUcsQUFHQSxNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsSUFBSTtDQUFHOztBOUJUdEIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFMkJFckMsQUdVUSxjSFZNLEFHSmIsY0FBYyxDQUliLE1BQU0sQ0FHSixHQUFHLEFBT0UsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLElBQUk7R0FBRztFSFgxQixBR2FRLGNIYk0sQUdKYixjQUFjLENBSWIsTUFBTSxDQUdKLEdBQUcsQUFVRSxNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsS0FBSztHQUFHOzs7QUhkM0IsQUdnQkksY0hoQlUsQUdKYixjQUFjLENBSWIsTUFBTSxDQWdCSixRQUFRLENBQUM7RUFDUCxLQUFLLEVqQ01ELFlBQThDO0NpQ04zQjs7QUhqQjdCLEFHbUJFLGNIbkJZLEFHSmIsY0FBYyxDQXVCYixRQUFRLENBQUM7RTFDZEgsYUFBb0IsRTBDZVQsQ0FBQztFMUNMWixTQUFnQixFMENLTCxDQUFDO0U3Qk5sQixLQUFLLEU2Qk1ZLENBQUM7RUFDaEIsS0FBSyxFakNFQyxZQUE4QztDaUNGN0I7O0FIckIzQixBR3dCSSxjSHhCVSxBR0piLGNBQWMsQ0EyQlosQUFBQSxtQkFBQyxDQUFvQixPQUFPLEFBQTNCLEVBQ0EsTUFBTSxDQUFDO0UxQ25CSCxhQUFvQixFMENvQlAsQ0FBQztFMUNWZCxTQUFnQixFMENVSCxDQUFDO0U3QlhwQixLQUFLLEU2QldjLENBQUM7Q0FBSTs7QUh6QjFCLEFHMkJJLGNIM0JVLEFHSmIsY0FBYyxDQTJCWixBQUFBLG1CQUFDLENBQW9CLE9BQU8sQUFBM0IsRUFJQSxRQUFRLENBQUM7RTFDdEJMLGFBQW9CLEUwQ3VCUCxDQUFDO0UxQ2JkLFNBQWdCLEUwQ2FILENBQUM7RTdCZHBCLEtBQUssRTZCY2MsQ0FBQztDQUFJOztBOUI5QnhCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RTJCRXJDLEFHSkEsY0hJYyxBR0piLGNBQWMsQ0FBQztJQW1DWixPQUFPLEVBQUUsS0FBSztHQVFNO0VIdkN4QixBR2lDSSxjSGpDVSxBR0piLGNBQWMsQ0FxQ1gsTUFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsSUFBSTtJMUM5QmQsYUFBb0IsRTBDK0JQLENBQUM7STFDckJkLFNBQWdCLEUwQ3FCSCxDQUFDO0k3QnRCcEIsS0FBSyxFNkJzQmMsQ0FBQztHQUFJO0VIcEMxQixBR3NDSSxjSHRDVSxBR0piLGNBQWMsQ0EwQ1gsUUFBUSxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7R0FBRzs7O0FIdkNwQixBSUpBLGNKSWMsQUlKYixnQkFBZ0IsQ0FBQztFOUJDaEIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRTJDUlosYUFBYTtFM0NhckIsb0JBQWlCLEUyQ2JULGFBQWE7RTNDa0JyQixtQkFBZ0IsRTJDbEJSLGFBQWE7RTNDUXJCLG1CQUFvQixFMkNSRyxVQUFVO0UzQ2FqQyxnQkFBaUIsRTJDYk0sVUFBVTtFM0NrQmpDLGVBQWdCLEUyQ2xCTyxVQUFVO0U5Qk12QyxlQUFlLEU4Qk5ELGFBQWE7RTlCTzNCLFdBQVcsRThCUGtCLFVBQVU7RTNDUWpDLGlCQUFvQixFYUdHLElBQUk7RWJPM0IsYUFBZ0IsRWFQTyxJQUFJO0ViSDNCLHNCQUFvQixFYUlRLEdBQUc7RWJNL0Isa0JBQWdCLEVhTlksR0FBRztFYkovQixpQkFBb0IsRWFLRyxHQUFHLENBQUMsSUFBSTtDOEIwQ0E7O0FKcER2QyxBSUFFLGNKQVksQUlKYixnQkFBZ0IsQ0FJZixNQUFNLENBQUM7RUFDTCxLQUFLLEVsQ3NCQyxZQUE4QztDa0NIdkI7O0FKcEJqQyxBSUdJLGNKSFUsQUlKYixnQkFBZ0IsQ0FJZixNQUFNLENBR0osR0FBRyxDQUFDO0VBQ0YsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsSUFBSTtDQWVZOztBSnBCL0IsQUlPTSxjSlBRLEFJSmIsZ0JBQWdCLENBSWYsTUFBTSxDQUdKLEdBQUcsQUFJQSxPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsSUFBSTtDQUFHOztBL0JWdEIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFMkJFdEMsQUlXUSxjSlhNLEFJSmIsZ0JBQWdCLENBSWYsTUFBTSxDQUdKLEdBQUcsQUFRRSxNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSTtHQUFHO0VKWjFCLEFJYVEsY0piTSxBSUpiLGdCQUFnQixDQUlmLE1BQU0sQ0FHSixHQUFHLEFBVUUsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLEtBQUs7R0FBRzs7O0EvQmhCekIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFMkJFckMsQUlpQlEsY0pqQk0sQUlKYixnQkFBZ0IsQ0FJZixNQUFNLENBR0osR0FBRyxBQWNFLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJO0dBQUc7RUpsQjFCLEFJbUJRLGNKbkJNLEFJSmIsZ0JBQWdCLENBSWYsTUFBTSxDQUdKLEdBQUcsQUFnQkUsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLEtBQUs7R0FBRzs7O0FKcEIzQixBSXlCUSxjSnpCTSxBSUpiLGdCQUFnQixDQTBCZCxBQUFBLGNBQUMsQ0FBZSxJQUFJLEFBQW5CLEVBQ0EsTUFBTSxDQUNKLEdBQUcsQUFDQSxPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsS0FBSztDQUFHOztBL0I1QnpCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RTJCRXRDLEFJNkJVLGNKN0JJLEFJSmIsZ0JBQWdCLENBMEJkLEFBQUEsY0FBQyxDQUFlLElBQUksQUFBbkIsRUFDQSxNQUFNLENBQ0osR0FBRyxBQUtFLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxJQUFJO0dBQUc7RUo5QjVCLEFJK0JVLGNKL0JJLEFJSmIsZ0JBQWdCLENBMEJkLEFBQUEsY0FBQyxDQUFlLElBQUksQUFBbkIsRUFDQSxNQUFNLENBQ0osR0FBRyxBQU9FLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxLQUFLO0dBQUc7OztBL0JsQzNCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RTJCRXJDLEFJSkEsY0pJYyxBSUpiLGdCQUFnQixDQUFDO0lBdUNkLE9BQU8sRUFBRSxLQUFLO0dBaUJxQjtFSnBEdkMsQUlxQ0ksY0pyQ1UsQUlKYixnQkFBZ0IsQ0F5Q2IsTUFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLElBQUk7R0Fja0I7RUpwRG5DLEFJdUNNLGNKdkNRLEFJSmIsZ0JBQWdCLENBeUNiLE1BQU0sQUFFSCxjQUFjLENBQUM7SUFDZCxhQUFhLEVBQUUsSUFBSTtHQUFHO0VKeEM5QixBSTJDUSxjSjNDTSxBSUpiLGdCQUFnQixDQXlDYixNQUFNLENBS0osR0FBRyxBQUNBLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxnQkFBZ0I7R0FBRztFSjVDdEMsQUk2Q1EsY0o3Q00sQUlKYixnQkFBZ0IsQ0F5Q2IsTUFBTSxDQUtKLEdBQUcsQUFHQSxNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsZUFBZTtHQUFHOzs7QS9CaERuQyxNQUFNLENBQUMsTUFBNkIsTUFBakIsU0FBUyxFQUFFLEtBQUssT0FBaEIsU0FBUyxFQUFFLEtBQUs7RTJCRXJDLEFJaURVLGNKakRJLEFJSmIsZ0JBQWdCLENBeUNiLE1BQU0sQ0FLSixHQUFHLEFBT0UsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLElBQUk7R0FBRztFSmxENUIsQUltRFUsY0puREksQUlKYixnQkFBZ0IsQ0F5Q2IsTUFBTSxDQUtKLEdBQUcsQUFTRSxNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsS0FBSztHQUFHOzs7QUpwRDdCLEFLSEUsY0xHWSxBS0piLGdCQUFnQixDQUNmLFFBQVEsQ0FBQztFQUNQLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLE1BQU07Q0FBRzs7QUxBekIsQU1KQSxjTkljLEFNSmIsWUFBWSxDQUFDO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsS0FBSztFQUNoQixNQUFNLEVBQUUsc0JBQXNCO0NBcUNVOztBTnBDMUMsQU1DRSxjTkRZLEFNSmIsWUFBWSxDQUtYLGNBQWMsQ0FBQztFQUNiLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGNBQWMsRUFBRSxLQUFLO0VBQ3JCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE1BQU0sRUFBRSxDQUFDO0NBK0IyQjs7QU5wQ3hDLEFNTUksY05OVSxBTUpiLFlBQVksQ0FLWCxjQUFjLENBS1osTUFBTSxFTk5WLGNBQWMsQU1KYixZQUFZLENBS1gsY0FBYyxDQUtKLGNBQWMsQ0FBQztFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtDQUFHOztBTlhyQixBTVlJLGNOWlUsQU1KYixZQUFZLENBS1gsY0FBYyxDQVdaLGNBQWMsQ0FBQztFQUNiLE9BQU8sRUFBRSxDQUFDO0VoQ2hCZCxPQUFPLEVBQUUsV0FBVztFQUNwQixPQUFPLEVBQUUsWUFBWTtFQUNyQixPQUFPLEVBQUUsSUFBSTtFYk1QLHVCQUFvQixFNkNTUixNQUFNO0U3Q0psQixvQkFBaUIsRTZDSUwsTUFBTTtFN0NDbEIsbUJBQWdCLEU2Q0RKLE1BQU07RTdDVGxCLG1CQUFvQixFNkNTQSxNQUFNO0U3Q0oxQixnQkFBaUIsRTZDSUcsTUFBTTtFN0NDMUIsZUFBZ0IsRTZDREksTUFBTTtFaENYaEMsZUFBZSxFZ0NXRyxNQUFNO0VoQ1Z4QixXQUFXLEVnQ1VlLE1BQU07RUFDNUIsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsT0FBTztFQUNmLFVBQVUsRUFBRSxRQUFRO0NBbUJZOztBTnBDdEMsQU1rQk0sY05sQlEsQU1KYixZQUFZLENBS1gsY0FBYyxDQVdaLGNBQWMsQ0FNWixPQUFPLENBQUM7RUFDTixLQUFLLEVBQUUsR0FBRztFQUNWLFNBQVMsRUFBRSxJQUFJO0VBQ2YsU0FBUyxFQUFFLFFBQVE7RUFDbkIsVUFBVSxFQUFFLFFBQVE7Q0FFRjs7QU54QjFCLEFNdUJRLGNOdkJNLEFNSmIsWUFBWSxDQUtYLGNBQWMsQ0FXWixjQUFjLENBTVosT0FBTyxDQUtMLEdBQUcsQ0FBQztFQUNGLEtBQUssRUFBRSxJQUFJO0NBQUc7O0FOeEJ4QixBTTBCUSxjTjFCTSxBTUpiLFlBQVksQ0FLWCxjQUFjLENBV1osY0FBYyxBQWFYLE1BQU0sQ0FDTCxPQUFPLENBQUM7RTdDckJSLGlCQUFvQixFNkNzQkMsV0FBVztFN0NqQmhDLGNBQWlCLEU2Q2lCSSxXQUFXO0U3Q1poQyxhQUFnQixFNkNZSyxXQUFXO0U3Q1BoQyxZQUFlLEU2Q09NLFdBQVc7RTdDRmhDLFNBQVksRTZDRVMsV0FBVztDQUFJOztBTjNCNUMsQU02Qk0sY043QlEsQU1KYixZQUFZLENBS1gsY0FBYyxDQVdaLGNBQWMsQUFpQlgsS0FBSyxDQUFDO0VBQ0wsT0FBTyxFQUFFLENBQUM7RUFDVixjQUFjLEVBQUUsSUFBSTtFQUNwQixVQUFVLEVBQUUsUUFBUTtFQUNwQixnQkFBZ0IsRUFBRSxJQUFJO0NBR007O0FOcENwQyxBTWtDUSxjTmxDTSxBTUpiLFlBQVksQ0FLWCxjQUFjLENBV1osY0FBYyxBQWlCWCxLQUFLLENBS0osT0FBTyxDQUFDO0VBQ04sVUFBVSxFQUFFLFFBQVE7RUFDcEIsU0FBUyxFQUFFLFVBQVU7Q0FBRzs7QWpDdENoQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VtQ1d0QyxBQUFBLGNBQWMsQ0FBQztJQUVYLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsS0FBSyxFQUFFLElBQUk7R0FBSzs7O0FBR3BCLEFBQUEsa0JBQWtCLENBQUM7RUFDakIsUUFBUSxFQUFFLEtBQUs7RUFDZixPQUFPLEVBQUUsSUFBSTtFQUNiLE1BQU0sRUFBRSxLQUFLO0VBQ2IsUUFBUSxFQUFFLE1BQU07RUFDaEIsS0FBSyxFQUFFLElBQUk7RUFDWCxJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sY0FBYyxFQUFFLElBQUk7Q0FnUFk7O0FBOU9oQyxBQUFBLEdBQUcsQUFBQSxJQUFJLENBVlQsa0JBQWtCLENBVU47RUFDUixNQUFNLEVBQUUsSUFBSTtDQUFHOztBQVhuQixBQWFFLGtCQWJnQixDQWFoQixJQUFJLENBQUM7RUFDSCxPQUFPLEVBQUUsSUFBSTtFQUNiLE1BQU0sRUFBRSxJQUFJO0VBQ1osZ0JBQWdCLEUzQmhCTixPQUFPO0UyQmlCakIsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUI7RUFDNUMsY0FBYyxFQUFFLEdBQUc7RUFDbkIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixTQUFTLEVBQUUsb0JBQWtCO0VBQzdCLFVBQVUsRUFBRSwwQ0FBMEM7Q0E4RDNCOztBQXBGL0IsQUF3Qkksa0JBeEJjLENBYWhCLElBQUksQ0FXRixZQUFZLENBQUM7RUFDWCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsT0FBTztFQUNmLFFBQVEsRUFBRSxRQUFRO0VsQ2pEdEIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRStDMENSLE1BQU07RS9DckNsQixvQkFBaUIsRStDcUNMLE1BQU07RS9DaENsQixtQkFBZ0IsRStDZ0NKLE1BQU07RS9DMUNsQixtQkFBb0IsRStDMENBLE1BQU07RS9DckMxQixnQkFBaUIsRStDcUNHLE1BQU07RS9DaEMxQixlQUFnQixFK0NnQ0ksTUFBTTtFbEM1Q2hDLGVBQWUsRWtDNENHLE1BQU07RWxDM0N4QixXQUFXLEVrQzJDZSxNQUFNO0NBMEJ5Qjs7QUF4RDNELEFBZ0NNLGtCQWhDWSxDQWFoQixJQUFJLENBV0YsWUFBWSxDQVFWLEtBQUssQ0FBQztFQUNKLEtBQUssRUFBRSxJQUFJO0NBa0I4Qjs7QUFuRGpELEFBbUNRLGtCQW5DVSxDQWFoQixJQUFJLENBV0YsWUFBWSxDQVFWLEtBQUssQ0FHSCxJQUFJLEdBQUcsSUFBSSxDQUFDO0VBQ1YsVUFBVSxFQUFFLEdBQUc7Q0FBRzs7QUFwQzVCLEFBc0NRLGtCQXRDVSxDQWFoQixJQUFJLENBV0YsWUFBWSxDQVFWLEtBQUssQ0FNSCxJQUFJLENBQUM7RUFDSCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxHQUFHO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEVBQUUsZ0JBQWdCO0VBQzNCLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsZ0JBQWdCLEUzQjdDZCxPQUFPO0UyQjhDVCxVQUFVLEVBQUUsY0FBYztDQU1XOztBQW5EL0MsQUErQ1Usa0JBL0NRLENBYWhCLElBQUksQ0FXRixZQUFZLENBUVYsS0FBSyxDQU1ILElBQUksQUFTRCxZQUFhLENBQUEsQ0FBQyxFQUFFO0VBQ2YsU0FBUyxFQUFFLGtCQUFrQjtDQUFHOztBQWhENUMsQUFrRFUsa0JBbERRLENBYWhCLElBQUksQ0FXRixZQUFZLENBUVYsS0FBSyxDQU1ILElBQUksQUFZRCxZQUFhLENBQUEsQ0FBQyxFQUFFO0VBQ2YsU0FBUyxFQUFFLG1CQUFtQjtDQUFHOztBQW5EN0MsQUF1RFUsa0JBdkRRLENBYWhCLElBQUksQ0FXRixZQUFZLEFBNkJULE1BQU0sQ0FDTCxLQUFLLENBQ0gsSUFBSSxDQUFDO0VBQ0gsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFVBQVU7Q0FBRzs7QUF4RHJELEFBMERJLGtCQTFEYyxDQWFoQixJQUFJLENBNkNGLEtBQUssQ0FBQztFQUNKLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VsQ25GVixPQUFPLEVBQUUsV0FBVztFQUNwQixPQUFPLEVBQUUsWUFBWTtFQUNyQixPQUFPLEVBQUUsSUFBSTtFYk1QLHVCQUFvQixFK0M0RVIsTUFBTTtFL0N2RWxCLG9CQUFpQixFK0N1RUwsTUFBTTtFL0NsRWxCLG1CQUFnQixFK0NrRUosTUFBTTtFL0M1RWxCLG1CQUFvQixFK0M0RUEsTUFBTTtFL0N2RTFCLGdCQUFpQixFK0N1RUcsTUFBTTtFL0NsRTFCLGVBQWdCLEUrQ2tFSSxNQUFNO0VsQzlFaEMsZUFBZSxFa0M4RUcsTUFBTTtFbEM3RXhCLFdBQVcsRWtDNkVlLE1BQU07Q0FvQkw7O0FBcEY3QixBQWtFTSxrQkFsRVksQ0FhaEIsSUFBSSxDQTZDRixLQUFLLENBUUgsQ0FBQyxDQUFDO0VBQ0EsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLG1CQUFtQixFQUFFLE1BQU07RUFDM0IsZUFBZSxFQUFFLE9BQU87RUFDeEIsaUJBQWlCLEVBQUUsU0FBUztFQUM1QixlQUFlLEVBQUUsSUFBSTtDQVVGOztBQXBGM0IsQUE0RVEsa0JBNUVVLENBYWhCLElBQUksQ0E2Q0YsS0FBSyxDQVFILENBQUMsQ0FVQyxHQUFHLENBQUM7RUFDRixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osU0FBUyxFQUFFLEtBQUs7RUFDaEIsVUFBVSxFQUFFLElBQUk7Q0FBRzs7QUFoRjdCLEFBaUZRLGtCQWpGVSxDQWFoQixJQUFJLENBNkNGLEtBQUssQ0FRSCxDQUFDLENBZUMsQ0FBQyxDQUFDO0VBQ0EsTUFBTSxFQUFFLE9BQU87RUFDZixTQUFTLEVBQUUsSUFBSTtFQUNmLEtBQUssRTNCM0ZQLE9BQU87QzJCMkZVOztBQXBGekIsQUF1Rkksa0JBdkZjLEFBc0ZmLFNBQVMsQ0FDUixJQUFJLENBQUM7RUFDSCxTQUFTLEVBQUUsd0JBQXdCO0NBQUc7O0FBeEY1QyxBQTBGRSxrQkExRmdCLENBMEZoQixPQUFPLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVBQUUsQ0FBQztFQUNOLGdCQUFnQixFM0JqR1IsT0FBTztFMkJrR2YsT0FBTyxFQUFFLENBQUM7RUFDVixnQkFBZ0IsRUFBRSxJQUFJO0NBQUc7O0FBbEc3QixBQW9HRSxrQkFwR2dCLENBb0doQixLQUFLLENBQUM7RUFDSixRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLE9BQU8sRUFBRSxVQUFVO0VBRW5CLGdCQUFnQixFM0I5R04sT0FBTztFMkIrR2pCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGNBQWMsRUFBRSxHQUFHO0VBQ25CLE9BQU8sRUFBRSxDQUFDO0VBQ1YsU0FBUyxFQUFFLHdCQUF3QjtDQXFGZTs7QUF2TXRELEFBb0hJLGtCQXBIYyxDQW9HaEIsS0FBSyxDQWdCSCxHQUFHLENBQUM7RUFDRixRQUFRLEVBQUUsUUFBUTtDQWtGNEI7O0FBdk1wRCxBQXVITSxrQkF2SFksQ0FvR2hCLEtBQUssQ0FnQkgsR0FBRyxDQUdELE1BQU0sQ0FBQztFQUNMLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxJQUFJO0VBQ1QsSUFBSSxFQUFFLEtBQUs7RUFDWCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsT0FBTztFQUNmLGdCQUFnQixFQUFFLE1BQU07RUFDeEIsU0FBUyxFQUFFLFlBQVk7RUFDdkIsVUFBVSxFQUFFLGNBQWM7Q0F5QlI7O0FBMUoxQixBQW1JUSxrQkFuSVUsQ0FvR2hCLEtBQUssQ0FnQkgsR0FBRyxDQUdELE1BQU0sQUFZSCxNQUFNLENBQUM7RUFDTixTQUFTLEVBQUUsYUFBYTtFQUN4QixPQUFPLEVBQUUsR0FBRztDQUFHOztBQXJJekIsQUF1SVEsa0JBdklVLENBb0doQixLQUFLLENBZ0JILEdBQUcsQ0FHRCxNQUFNLEFBZ0JILE9BQU8sRUF2SWhCLGtCQUFrQixDQW9HaEIsS0FBSyxDQWdCSCxHQUFHLENBR0QsTUFBTSxBQWdCTyxNQUFNLENBQUM7RUFDaEIsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLGdCQUFnQixFM0JuSmQsT0FBTztFMkJvSlQsZ0JBQWdCLEVBQUUsTUFBTTtFQUN4QixTQUFTLEVBQUUsYUFBYTtFQUN4QixVQUFVLEVBQUUscUJBQXFCO0NBQUc7O0FBOUk5QyxBQWdKUSxrQkFoSlUsQ0FvR2hCLEtBQUssQ0FnQkgsR0FBRyxDQUdELE1BQU0sQUF5QkgsT0FBTyxDQUFDO0VBQ1AsSUFBSSxFQUFFLEdBQUc7RUFDVCxHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLElBQUk7Q0FBRzs7QUFwSnpCLEFBc0pRLGtCQXRKVSxDQW9HaEIsS0FBSyxDQWdCSCxHQUFHLENBR0QsTUFBTSxBQStCSCxNQUFNLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxHQUFHO0VBQ1IsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsR0FBRztDQUFHOztBQTFKeEIsQUE2Sk0sa0JBN0pZLENBb0doQixLQUFLLENBZ0JILEdBQUcsQ0F5Q0QsYUFBYSxDQUFDO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsS0FBSztDQVFXOztBQXZLbkMsQUFpS1Esa0JBaktVLENBb0doQixLQUFLLENBZ0JILEdBQUcsQ0F5Q0QsYUFBYSxDQUlYLENBQUMsQ0FBQztFQUNBLE9BQU8sRUFBRSxLQUFLO0VBQ2QsZUFBZSxFQUFFLElBQUk7Q0FJRTs7QUF2S2pDLEFBcUtVLGtCQXJLUSxDQW9HaEIsS0FBSyxDQWdCSCxHQUFHLENBeUNELGFBQWEsQ0FJWCxDQUFDLENBSUMsR0FBRyxDQUFDO0VBQ0YsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsSUFBSTtDQUFHOztBQXZLL0IsQUF5S00sa0JBektZLENBb0doQixLQUFLLENBZ0JILEdBQUcsQ0FxREQsVUFBVSxDQUFDO0VBQ1QsVUFBVSxFQUFFLElBQUk7Q0E2QjBCOztBQXZNbEQsQUE0S1Esa0JBNUtVLENBb0doQixLQUFLLENBZ0JILEdBQUcsQ0FxREQsVUFBVSxDQUdSLEVBQUUsQ0FBQztFQUNELE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsSUFBSTtFQUNoQixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0NBc0JzQjs7QUF2TWhELEFBbUxVLGtCQW5MUSxDQW9HaEIsS0FBSyxDQWdCSCxHQUFHLENBcURELFVBQVUsQ0FHUixFQUFFLEdBT0UsRUFBRSxDQUFDO0VBQ0gsVUFBVSxFQUFFLElBQUk7Q0FBRzs7QUFwTC9CLEFBdUxZLGtCQXZMTSxDQW9HaEIsS0FBSyxDQWdCSCxHQUFHLENBcURELFVBQVUsQ0FHUixFQUFFLENBVUEsRUFBRSxDQUNBLENBQUMsQ0FBQztFQUNBLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEUzQmhNRixPQUFPO0UyQmlNVixlQUFlLEVBQUUsSUFBSTtFQUNyQixVQUFVLEVBQUUsVUFBVTtFQUN0QixNQUFNLEVBQUUsT0FBTztDQUdjOztBQWhNM0MsQUErTGMsa0JBL0xJLENBb0doQixLQUFLLENBZ0JILEdBQUcsQ0FxREQsVUFBVSxDQUdSLEVBQUUsQ0FVQSxFQUFFLENBQ0EsQ0FBQyxBQVFFLE1BQU0sQ0FBQztFQUNOLEtBQUssRTNCdk1iLE9BQU87QzJCdU0wQjs7QUFoTXpDLEFBa01ZLGtCQWxNTSxDQW9HaEIsS0FBSyxDQWdCSCxHQUFHLENBcURELFVBQVUsQ0FHUixFQUFFLENBVUEsRUFBRSxDQVlBLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxNQUFNO0NBQUc7O0FBbk1sQyxBQXNNYyxrQkF0TUksQ0FvR2hCLEtBQUssQ0FnQkgsR0FBRyxDQXFERCxVQUFVLENBR1IsRUFBRSxDQVVBLEVBQUUsQUFlQyxPQUFPLENBQ04sQ0FBQyxDQUFDO0VBQ0EsS0FBSyxFM0IvTVQsT0FBTztDMkIrTXVCOztBQUd0QyxBQUFBLEdBQUcsQUFBQSxJQUFJLENBMU1YLGtCQUFrQixBQXlNZixPQUFPLENBQ0k7RUFDUixNQUFNLEVBQUUsS0FBSztDQUFHOztBQTNNdEIsQUErTVUsa0JBL01RLEFBeU1mLE9BQU8sQ0FHTixJQUFJLENBQ0YsWUFBWSxDQUNWLEtBQUssQ0FDSCxJQUFJLENBQUM7RUFDSCxPQUFPLEVBQUUsQ0FBQztFQUNWLGdCQUFnQixFQUFFLElBQUk7Q0FTbUI7O0FBMU5yRCxBQWtOWSxrQkFsTk0sQUF5TWYsT0FBTyxDQUdOLElBQUksQ0FDRixZQUFZLENBQ1YsS0FBSyxDQUNILElBQUksQUFHRCxjQUFjLENBQUM7RS9DOU5wQixpQkFBb0IsRStDK05LLGFBQWE7RS9DMU50QyxjQUFpQixFK0MwTlEsYUFBYTtFL0NyTnRDLGFBQWdCLEUrQ3FOUyxhQUFhO0UvQ2hOdEMsWUFBZSxFK0NnTlUsYUFBYTtFL0MzTXRDLFNBQVksRStDMk1hLGFBQWE7RUFDaEMsT0FBTyxFQUFFLENBQUM7RUFDVixHQUFHLEVBQUUsR0FBRztDQUFHOztBQXJOekIsQUFzTlksa0JBdE5NLEFBeU1mLE9BQU8sQ0FHTixJQUFJLENBQ0YsWUFBWSxDQUNWLEtBQUssQ0FDSCxJQUFJLEFBT0QsYUFBYSxDQUFDO0VBQ2IsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxHQUFHO0UvQ3JPakIsaUJBQW9CLEUrQ3NPSyxjQUFjO0UvQ2pPdkMsY0FBaUIsRStDaU9RLGNBQWM7RS9DNU52QyxhQUFnQixFK0M0TlMsY0FBYztFL0N2TnZDLFlBQWUsRStDdU5VLGNBQWM7RS9DbE52QyxTQUFZLEUrQ2tOYSxjQUFjO0NBQUk7O0FBMU5uRCxBQTJOSSxrQkEzTmMsQUF5TWYsT0FBTyxDQWtCTixLQUFLLENBQUM7RUFDSixTQUFTLEVBQUUsb0JBQW9CO0NBQUc7O0FBNU54QyxBQStOSSxrQkEvTmMsQUE4TmYsY0FBYyxDQUNiLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUEzT0csR0FBRztFQTRPYixjQUFjLEVBQUUsR0FBRztDQUFHOztBQWpPNUIsQUFvT0ksa0JBcE9jLEFBbU9mLGdCQUFnQixDQUNmLE9BQU8sQ0FBQztFQUNOLFVBQVUsRUFBRSxRQUFRO0NBQUc7O0FBck83QixBQXNPSSxrQkF0T2MsQUFtT2YsZ0JBQWdCLENBR2YsS0FBSyxDQUFDO0VBQ0osVUFBVSxFQUFFLFFBQVE7RUFDcEIsMEJBQTBCLEVBQUUsV0FBVztDQUFHOztBbkMzUDlDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RW1DbUJ0QyxBQUFBLGtCQUFrQixDQUFDO0lBMk9mLE9BQU8sRUFBRSxLQUFLO0dBYWdCO0VBeFBsQyxBQTZPSSxrQkE3T2MsQ0E2T2QsSUFBSSxDQUFDO0lBQ0gsT0FBTyxFQUFFLEtBQUs7R0FBRztFQTlPdkIsQUFnUEksa0JBaFBjLENBZ1BkLEtBQUssQ0FBQztJQUNKLFNBQVMsRUFBRSxJQUFJO0dBQUc7OztBbkNwUXRCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RW1DbUJyQyxBQW9QSSxrQkFwUGMsQ0FvUGQsR0FBRyxDQUFDO0lBQ0YsWUFBWSxFQUFFLElBQUk7R0FHTTtFQXhQOUIsQUF1UE0sa0JBdlBZLENBb1BkLEdBQUcsQ0FHRCxFQUFFLENBQUM7SUFDRCxTQUFTLEVBQUUsTUFBTTtHQUFHOzs7QUM3UTVCLEFBQUEsZUFBZSxDQUFDO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixPQUFPLEVBQUUsQ0FBQztFQUNWLFNBQVMsRUFBRSx3QkFBd0I7RUFFbkMsT0FBTyxFQUFFLElBQUksQ3ZDc0JMLFdBQThDO0V1Q3JCdEQsZ0JBQWdCLEVBQUUsS0FBSztFQUV2QixLQUFLLEU1QkZFLE9BQU87RTRCR2QsU0FBUyxFQUFFLE1BQU07RUFFakIsVUFBVSxFQUFFLDRCQUE0QjtDQXdEbkI7O0FBbkV2QixBQWFFLGVBYmEsQUFhWixPQUFPLENBQUM7RUFDUCxTQUFTLEVBQUUsb0JBQWtCO0VBQzdCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsY0FBYyxFQUFFLEdBQUc7Q0FBRzs7QUFoQjFCLEFBbUJFLGVBbkJhLENBbUJiLEVBQUUsRUFuQkosZUFBZSxDQW1CVCxFQUFFLENBQUM7RUFDTCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLEtBQUssRTVCZkssT0FBTztFNEJnQmpCLE1BQU0sRUFBRSxRQUFRO0NBQUc7O0FBeEJ2QixBQTBCRSxlQTFCYSxDQTBCYixDQUFDLENBQUM7RUFDQSxNQUFNLEVBQUUsTUFBTTtDQUFHOztBQTNCckIsQUE2QkUsZUE3QmEsQ0E2QmIsTUFBTSxDQUFDO0VBQ0wsS0FBSyxFNUJ4QkEsT0FBTztDNEJ3Qkk7O0FBOUJwQixBQWdDRSxlQWhDYSxDQWdDYixDQUFDLEFBQUEsSUFBSyxDQUFBLE9BQU8sRUFBRTtFQUNiLEtBQUssRTVCMUJELE9BQU87RTRCMkJYLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFVBQVUsRUFBRSxxQ0FBcUM7Q0FFakI7O0FBckNwQyxBQW9DSSxlQXBDVyxDQWdDYixDQUFDLEFBQUEsSUFBSyxDQUFBLE9BQU8sQ0FJVixNQUFNLENBQUM7RUFDTixLQUFLLEVBQUUsT0FBa0I7Q0FBRzs7QUFyQ2xDLEFBeUNFLGVBekNhLENBeUNiLENBQUMsQUFBQSxPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsWUFBWTtFQUNyQixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsU0FBUztFQUNsQixhQUFhLEVBQUUsSUFBSTtFQUNuQixnQkFBZ0IsRTVCdkNaLE9BQU87RTRCd0NYLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxDQUFDO0VBQ2QsV0FBVyxFeEMvQkwsR0FBRztFd0NnQ1QsS0FBSyxFQUFFLEtBQUs7RUFDWixVQUFVLEVBQUUscUJBQXFCO0NBV1c7O0FBL0RoRCxBQXNESSxlQXREVyxDQXlDYixDQUFDLEFBQUEsT0FBTyxBQWFMLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsV0FBVyxFQUFFLElBQUk7RUFDakIsU0FBUyxFQUFFLG9CQUFrQjtFQUM3QixVQUFVLEVBQUUsY0FBYztDQUFHOztBQTFEbkMsQUE0REksZUE1RFcsQ0F5Q2IsQ0FBQyxBQUFBLE9BQU8sQUFtQkwsTUFBTSxDQUFDO0VBQ04sZ0JBQWdCLEU1QnJEUixPQUFPO0M0QnVEeUI7O0FBL0Q5QyxBQThETSxlQTlEUyxDQXlDYixDQUFDLEFBQUEsT0FBTyxBQW1CTCxNQUFNLEFBRUosTUFBTSxDQUFDO0VBQ04sU0FBUyxFQUFFLHNCQUFzQjtDQUFHOztBcEM3RDFDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RW9DRnJDLEFBQUEsZUFBZSxDQUFDO0lBbUVaLE9BQU8sRUFBRSxLQUFLO0dBQUs7OztBQ25FdkIsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixRQUFRLEVBQUUsS0FBSztFQUNmLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxPQUFPLEVBQUUsRUFBRTtFQUNYLGdCQUFnQixFN0JFVixPQUFPO0U2QkRiLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixTQUFTLEVBQUUsd0JBQXdCO0VBQ25DLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBRSxJQUFHLENBQUMsa0JBQWU7RUFDM0MsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsNEJBQTRCO0NBMkRaOztBQXRFOUIsQUFhRSxrQkFiZ0IsQUFhZixPQUFPLENBQUM7RUFDUCxTQUFTLEVBQUUsb0JBQW9CO0VBQy9CLE9BQU8sRUFBRSxDQUFDO0NBQUc7O0FBZmpCLEFBaUJFLGtCQWpCZ0IsQ0FpQmhCLFNBQVMsQ0FBQztFcENoQlYsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRWlEU1YsYUFBYTtFakRKdkIsb0JBQWlCLEVpRElQLGFBQWE7RWpEQ3ZCLG1CQUFnQixFaURETixhQUFhO0VqRFR2QixtQkFBb0IsRWlEU0ssTUFBTTtFakRKL0IsZ0JBQWlCLEVpRElRLE1BQU07RWpEQy9CLGVBQWdCLEVpRERTLE1BQU07RXBDWHJDLGVBQWUsRW9DV0MsYUFBYTtFcENWN0IsV0FBVyxFb0NVb0IsTUFBTTtDQUFJOztBQWxCM0MsQUFvQkUsa0JBcEJnQixDQW9CaEIsS0FBSyxDQUFDO0VBQ0osT0FBTyxFQUFFLFlBQVk7RUFDckIsS0FBSyxFQUFFLElBQUk7Q0F3Q2tEOztBQTlEakUsQUF3Qkksa0JBeEJjLENBb0JoQixLQUFLLENBSUgsWUFBWSxDQUFDO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxjQUFjLEVBQUUsSUFBSTtDQW1DcUM7O0FBOUQvRCxBQTZCTSxrQkE3QlksQ0FvQmhCLEtBQUssQ0FJSCxZQUFZLENBS1YsaUJBQWlCLENBQUM7RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RXBDakNsQixPQUFPLEVBQUUsV0FBVztFQUNwQixPQUFPLEVBQUUsWUFBWTtFQUNyQixPQUFPLEVBQUUsSUFBSTtFYk1QLHVCQUFvQixFaUQwQk4sTUFBTTtFakRyQnBCLG9CQUFpQixFaURxQkgsTUFBTTtFakRoQnBCLG1CQUFnQixFaURnQkYsTUFBTTtFakQxQnBCLG1CQUFvQixFaUQwQkUsTUFBTTtFakRyQjVCLGdCQUFpQixFaURxQkssTUFBTTtFakRoQjVCLGVBQWdCLEVpRGdCTSxNQUFNO0VwQzVCbEMsZUFBZSxFb0M0QkssTUFBTTtFcEMzQjFCLFdBQVcsRW9DMkJpQixNQUFNO0VBQzVCLE1BQU0sRUFBRSxPQUFPO0NBMEJzQzs7QUE5RDdELEFBc0NRLGtCQXRDVSxDQW9CaEIsS0FBSyxDQUlILFlBQVksQ0FLVixpQkFBaUIsQ0FTZixLQUFLLENBQUM7RUFDSixLQUFLLEVBQUUsSUFBSTtDQWtCOEI7O0FBekRuRCxBQXlDVSxrQkF6Q1EsQ0FvQmhCLEtBQUssQ0FJSCxZQUFZLENBS1YsaUJBQWlCLENBU2YsS0FBSyxDQUdILElBQUksR0FBRyxJQUFJLENBQUM7RUFDVixVQUFVLEVBQUUsR0FBRztDQUFHOztBQTFDOUIsQUE0Q1Usa0JBNUNRLENBb0JoQixLQUFLLENBSUgsWUFBWSxDQUtWLGlCQUFpQixDQVNmLEtBQUssQ0FNSCxJQUFJLENBQUM7RUFDSCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxHQUFHO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEVBQUUsZ0JBQWdCO0VBQzNCLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QixVQUFVLEVBQUUsY0FBYztDQU1XOztBQXpEakQsQUFxRFksa0JBckRNLENBb0JoQixLQUFLLENBSUgsWUFBWSxDQUtWLGlCQUFpQixDQVNmLEtBQUssQ0FNSCxJQUFJLEFBU0QsWUFBYSxDQUFBLENBQUMsRUFBRTtFQUNmLFNBQVMsRUFBRSxrQkFBa0I7Q0FBRzs7QUF0RDlDLEFBd0RZLGtCQXhETSxDQW9CaEIsS0FBSyxDQUlILFlBQVksQ0FLVixpQkFBaUIsQ0FTZixLQUFLLENBTUgsSUFBSSxBQVlELFlBQWEsQ0FBQSxDQUFDLEVBQUU7RUFDZixTQUFTLEVBQUUsbUJBQW1CO0NBQUc7O0FBekQvQyxBQTZEWSxrQkE3RE0sQ0FvQmhCLEtBQUssQ0FJSCxZQUFZLENBS1YsaUJBQWlCLEFBOEJkLE1BQU0sQ0FDTCxLQUFLLENBQ0gsSUFBSSxDQUFDO0VBQ0gsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFVBQVU7Q0FBRzs7QUE5RHZELEFBaUVJLGtCQWpFYyxDQWdFaEIsYUFBYSxDQUNYLENBQUMsQ0FBQztFQUNBLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLENBQUM7RUFDZCxLQUFLLEVBQUUsS0FBSztFQUNaLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFdBQVcsRUFBRSxJQUFJO0NBQUc7O0FFdEUxQixBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFVBQVUsRS9CbUJFLE9BQU87QytCd0lLOztBdkMzSnhCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RXVDRnRDLEFBQUEsbUJBQW1CLENBQUM7SUFLaEIsV0FBVyxFQUFFLEtBQUs7R0F3Skk7OztBdkMzSnhCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXVDRnJDLEFBQUEsbUJBQW1CLENBQUM7SUFRaEIsV0FBVyxFQUFFLElBQUk7R0FxSks7OztBQTdKMUIsQUFVRSxtQkFWaUIsQUFVaEIsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxVQUFVLEUvQklGLE9BQU87RStCSGYsTUFBTSxFQUFFLEdBQUc7RUFDWCxLQUFLLEVBQUUsSUFBSTtDQVNTOztBdkN6QnRCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXVDRnJDLEFBVUUsbUJBVmlCLEFBVWhCLE1BQU0sQ0FBQztJQWlCSixPQUFPLEVBQUUsSUFBSTtHQUFLOzs7QXZDekJ0QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0V1Q0ZyQyxBQStCSSxtQkEvQmUsQ0ErQmYsU0FBUyxDQUFDO0lBQ1IsS0FBSyxFQUFFLElBQUk7R0FBRzs7O0FBaENwQixBQWtDRSxtQkFsQ2lCLENBa0NqQixhQUFhLENBQUM7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUNWLEtBQUssRUFBRSxJQUFJO0NBMEVnQjs7QUEvRy9CLEFBc0NJLG1CQXRDZSxDQWtDakIsYUFBYSxDQUlYLEdBQUcsQ0FBQztFQUNGLEtBQUssRUFBRSxJQUFJO0NBQUc7O0FBdkNwQixBQXlDSSxtQkF6Q2UsQ0FrQ2pCLGFBQWEsQ0FPWCxVQUFVLENBQUM7RUFDVCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsSUFBSTtFQUNWLE1BQU0sRUFBRSxJQUFJO0VBQ1osU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFM0M5QlAsR0FBRztFMkMrQlAsS0FBSyxFQUFFLEtBQUs7RUFDWixXQUFXLEVBQUUsQ0FBQztDQXVCVTs7QUF2RTlCLEFBa0RNLG1CQWxEYSxDQWtDakIsYUFBYSxDQU9YLFVBQVUsQ0FTUixJQUFJLENBQUM7RUFDSCxPQUFPLEVBQUUsWUFBWTtFQUNyQixnQkFBZ0IsRS9COUNmLE9BQU87RStCK0NSLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLGFBQWEsRUFBRSxHQUFHO0NBQUc7O0F2Q3BEM0IsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFdUNGdEMsQUF5Q0ksbUJBekNlLENBa0NqQixhQUFhLENBT1gsVUFBVSxDQUFDO0lBZ0JQLFNBQVMsRUFBRSxNQUFNO0dBY0s7OztBdkNyRTVCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXVDRnJDLEFBeUNJLG1CQXpDZSxDQWtDakIsYUFBYSxDQU9YLFVBQVUsQ0FBQztJQW1CUCxTQUFTLEVBQUUsTUFBTTtHQVdLOzs7QXZDckU1QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0V1Q0ZyQyxBQXlDSSxtQkF6Q2UsQ0FrQ2pCLGFBQWEsQ0FPWCxVQUFVLENBQUM7SUFzQlAsUUFBUSxFQUFFLFFBQVE7SUFDbEIsTUFBTSxFQUFFLENBQUM7SUFDVCxJQUFJLEVBQUUsQ0FBQztJQUNQLFVBQVUsRUFBRSxJQUFJO0dBS007OztBdkNyRTVCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXVDRnJDLEFBeUNJLG1CQXpDZSxDQWtDakIsYUFBYSxDQU9YLFVBQVUsQ0FBQztJQTRCUCxVQUFVLEVBQUUsSUFBSTtJQUNoQixPQUFPLEVBQUUsTUFBTTtJQUNmLFNBQVMsRUFBRSxNQUFNO0dBQUs7OztBQXZFOUIsQUEwRU0sbUJBMUVhLENBa0NqQixhQUFhLEFBdUNWLGFBQWEsQ0FDWixZQUFZLENBQUM7RUFDWCxjQUFjLEVBQUUsY0FBYztDQWFOOztBdkN0RjlCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXVDRnJDLEFBMEVNLG1CQTFFYSxDQWtDakIsYUFBYSxBQXVDVixhQUFhLENBQ1osWUFBWSxDQUFDO0lBSVQsY0FBYyxFQUFFLGlCQUFpQjtHQVVYOzs7QUF4RmhDLEFBZ0ZRLG1CQWhGVyxDQWtDakIsYUFBYSxBQXVDVixhQUFhLENBQ1osWUFBWSxDQU1WLFNBQVMsQ0FBQztFQUNSLE1BQU0sRUFBRSxJQUFJO0NBT1E7O0FBeEY5QixBQWtGVSxtQkFsRlMsQ0FrQ2pCLGFBQWEsQUF1Q1YsYUFBYSxDQUNaLFlBQVksQ0FNVixTQUFTLEFBRU4sU0FBUyxDQUFDO0VBQ1QsS0FBSyxFQUFFLGlCQUFpQjtDQUFHOztBQW5GdkMsQUFvRlUsbUJBcEZTLENBa0NqQixhQUFhLEFBdUNWLGFBQWEsQ0FDWixZQUFZLENBTVYsU0FBUyxBQUlOLEtBQUssQ0FBQztFQUNMLElBQUksRUFBRSxpQkFBaUI7Q0FBRzs7QXZDbkZwQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0V1Q0ZyQyxBQWdGUSxtQkFoRlcsQ0FrQ2pCLGFBQWEsQUF1Q1YsYUFBYSxDQUNaLFlBQVksQ0FNVixTQUFTLENBQUM7SUFRTixPQUFPLEVBQUUsSUFBSTtHQUFLOzs7QUF4RjlCLEFBMEZNLG1CQTFGYSxDQWtDakIsYUFBYSxBQXVDVixhQUFhLENBaUJaLFFBQVEsQ0FBQztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsSUFBSSxFQUFFLElBQUk7RUFDVixNQUFNLEVBQUUsSUFBSTtFQUNaLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRTNDaEZULEdBQUc7RTJDaUZMLEtBQUssRUFBRSxLQUFLO0VBQ1osV0FBVyxFQUFFLENBQUM7Q0FhSzs7QUEvRzNCLEFBb0dRLG1CQXBHVyxDQWtDakIsYUFBYSxBQXVDVixhQUFhLENBaUJaLFFBQVEsQ0FVTixJQUFJLENBQUM7RUFDSCxPQUFPLEVBQUUsWUFBWTtFQUNyQixnQkFBZ0IsRS9CaEdqQixPQUFPO0UrQmlHTixPQUFPLEVBQUUsU0FBUztFQUNsQixhQUFhLEVBQUUsR0FBRztDQUFHOztBdkN0RzdCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXVDRnJDLEFBMEZNLG1CQTFGYSxDQWtDakIsYUFBYSxBQXVDVixhQUFhLENBaUJaLFFBQVEsQ0FBQztJQWlCTCxTQUFTLEVBQUUsSUFBSTtHQUlFOzs7QXZDN0d6QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0V1Q0ZyQyxBQTBGTSxtQkExRmEsQ0FrQ2pCLGFBQWEsQUF1Q1YsYUFBYSxDQWlCWixRQUFRLENBQUM7SUFvQkwsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUUsSUFBSTtHQUFLOzs7QUEvRzNCLEFBaUhFLG1CQWpIaUIsQ0FpSGpCLFlBQVksQ0FBQztFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxnQkFBZ0I7RUFDdEIsTUFBTSxFQUFFLEtBQUs7RXRDbkhmLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0ViTVAsdUJBQW9CLEVtRDRHVixNQUFNO0VuRHZHaEIsb0JBQWlCLEVtRHVHUCxNQUFNO0VuRGxHaEIsbUJBQWdCLEVtRGtHTixNQUFNO0VuRDVHaEIsbUJBQW9CLEVtRDRHRixNQUFNO0VuRHZHeEIsZ0JBQWlCLEVtRHVHQyxNQUFNO0VuRGxHeEIsZUFBZ0IsRW1Ea0dFLE1BQU07RXRDOUc5QixlQUFlLEVzQzhHQyxNQUFNO0V0QzdHdEIsV0FBVyxFc0M2R2EsTUFBTTtFQUM1QixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osTUFBTSxFQUFFLE9BQU87RUFDZixPQUFPLEVBQUUsRUFBRTtFQUNYLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFVBQVUsRS9CdkdGLE9BQU87QytCeUlLOztBQTdKeEIsQUE2SEksbUJBN0hlLENBaUhqQixZQUFZLENBWVYsTUFBTSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFFbEIsT0FBTyxFQUFFLENBQUM7RUFDVixPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUVYLFNBQVMsRUFBRSxvQkFBa0I7RUFDN0IsVUFBVSxFQUFFLGNBQWM7Q0FPSjs7QUE1STVCLEFBdUlNLG1CQXZJYSxDQWlIakIsWUFBWSxDQVlWLE1BQU0sQ0FVSixHQUFHLENBQUM7RUFDRixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxJQUFJO0NBR0U7O0FBNUkxQixBQTJJUSxtQkEzSVcsQ0FpSGpCLFlBQVksQ0FZVixNQUFNLENBVUosR0FBRyxDQUlELElBQUksQ0FBQztFQUNILElBQUksRUFBRSxLQUFLO0NBQUc7O0FBNUl4QixBQStJTSxtQkEvSWEsQ0FpSGpCLFlBQVksQUE2QlQsTUFBTSxDQUNMLE1BQU0sQ0FBQztFQUNMLFNBQVMsRUFBRSxzQkFBb0I7Q0FBRzs7QXZDOUl4QyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0V1Q0ZyQyxBQWlIRSxtQkFqSGlCLENBaUhqQixZQUFZLENBQUM7SUFrQ1QsSUFBSSxFQUFFLGdCQUFnQjtJQUN0QixNQUFNLEVBQUUsS0FBSztJQUNiLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixhQUFhLEVBQUUsSUFBSTtHQU1EO0VBN0p4QixBQXlKTSxtQkF6SmEsQ0FpSGpCLFlBQVksQUF3Q1AsTUFBTSxDQUFDO0lBQ04sWUFBWSxFQUFFLGdCQUFnQjtHQUFHOzs7QXZDeEp2QyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0V1Q0ZyQyxBQWlIRSxtQkFqSGlCLENBaUhqQixZQUFZLENBQUM7SUE0Q1QsT0FBTyxFQUFFLElBQUk7R0FBSzs7O0FDN0p4QixBQUFBLGdCQUFnQixDQUFDO0VBbUNmO3VGQUNxRjtFQVlyRjt1RkFDcUY7Q0FlbkQ7O0FBaEVwQyxBQUNFLGdCQURjLENBQ2QsU0FBUyxDQUFDO0V2Q0FWLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0ViTVAsdUJBQW9CLEVvRFBWLFFBQVE7RXBEWWxCLG9CQUFpQixFb0RaUCxRQUFRO0VwRGlCbEIsbUJBQWdCLEVvRGpCTixRQUFRO0VwRE9sQixtQkFBb0IsRW9EUEEsVUFBVTtFcERZOUIsZ0JBQWlCLEVvRFpHLFVBQVU7RXBEaUI5QixlQUFnQixFb0RqQkksVUFBVTtFdkNLcEMsZUFBZSxFdUNMQyxRQUFRO0V2Q014QixXQUFXLEV1Q05lLFVBQVU7RUFDbEMsT0FBTyxFQUFFLE9BQU87Q0E2QmtCOztBQWhDdEMsQUFLSSxnQkFMWSxDQUNkLFNBQVMsQ0FJUCxVQUFVLENBQUM7RUFDVCxLQUFLLEUzQ3FCRCxZQUE4QztFMkNwQmxELFlBQVksRTNDb0JSLEtBQThDO0MyQ0MzQjs7QUE1QjdCLEFBUU0sZ0JBUlUsQ0FDZCxTQUFTLENBSVAsVUFBVSxDQUdSLENBQUMsQ0FBQztFQUNBLE1BQU0sRUFBRSxDQUFDO0VBQ1QsU0FBUyxFQUFFLE9BQU87RUFDbEIsV0FBVyxFQUFFLENBQUM7RUFDZCxXQUFXLEU1Q09ULEdBQUc7RTRDTkwsS0FBSyxFaENHQSxPQUFPO0VnQ0ZaLGNBQWMsRUFBRSxTQUFTO0NBQUc7O0FBZHBDLEFBZ0JNLGdCQWhCVSxDQUNkLFNBQVMsQ0FJUCxVQUFVLENBV1IsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFQUFFLEtBQUs7RUFDaEIsTUFBTSxFQUFFLENBQUM7RUFDVCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0UzQm5CdEIsV0FBVyxFQUFFLG1CQUFtQjtFQUloQyxXQUFXLEVBQUUsR0FBRztFMkJpQlYsS0FBSyxFaENURCxPQUFPO0NnQ1lhOztBeEN2QjlCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXdDRnJDLEFBZ0JNLGdCQWhCVSxDQUNkLFNBQVMsQ0FJUCxVQUFVLENBV1IsRUFBRSxDQUFDO0lBU0MsU0FBUyxFQUFFLE1BQU07R0FBSzs7O0FBekJoQyxBQTJCTSxnQkEzQlUsQ0FDZCxTQUFTLENBSVAsVUFBVSxDQXNCUixPQUFPLENBQUM7RUFDTixVQUFVLEVBQUUsSUFBSTtDQUFHOztBQTVCM0IsQUE4QkksZ0JBOUJZLENBQ2QsU0FBUyxDQTZCUCxjQUFjLENBQUM7RUFDYixLQUFLLEUzQ0pELFlBQThDO0UyQ0tsRCxZQUFZLEUzQ0xSLFdBQThDO0MyQ0twQjs7QXhDOUJsQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0V3Q0Z0QyxBQXNDSSxnQkF0Q1ksQ0FzQ1osU0FBUyxDQUFDO0lBQ1IsT0FBTyxFQUFFLE1BQU07R0FPWTtFQTlDakMsQUF5Q00sZ0JBekNVLENBc0NaLFNBQVMsQ0FHUCxVQUFVLENBQUM7SUFDVCxLQUFLLEUzQ2ZILFlBQThDO0kyQ2dCaEQsWUFBWSxFM0NoQlYsV0FBOEM7RzJDZ0JsQjtFQTNDdEMsQUE2Q00sZ0JBN0NVLENBc0NaLFNBQVMsQ0FPUCxjQUFjLENBQUM7SUFDYixLQUFLLEUzQ25CSCxZQUE4QztHMkNtQnpCOzs7QXhDNUM3QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0V3Q0ZyQyxBQW1ESSxnQkFuRFksQ0FtRFosU0FBUyxDQUFDO0lBQ1IsT0FBTyxFQUFFLE1BQU07SUFDZixPQUFPLEVBQUUsS0FBSztHQVdZO0VBaEVoQyxBQXVETSxnQkF2RFUsQ0FtRFosU0FBUyxDQUlQLFVBQVUsRUF2RGhCLGdCQUFnQixDQW1EWixTQUFTLENBSUssY0FBYyxDQUFDO0lBQ3pCLEtBQUssRTNDN0JILFlBQThDO0kyQzhCaEQsWUFBWSxFQUFFLElBQUk7SUFDbEIsV0FBVyxFQUFFLElBQUk7R0FHQzs7O0F4QzNEeEIsTUFBTSxDQUFDLE1BQTZCLE1BQWpCLFNBQVMsRUFBRSxLQUFLLE9BQWhCLFNBQVMsRUFBRSxLQUFLO0V3Q0ZyQyxBQXVETSxnQkF2RFUsQ0FtRFosU0FBUyxDQUlQLFVBQVUsRUF2RGhCLGdCQUFnQixDQW1EWixTQUFTLENBSUssY0FBYyxDQUFDO0lBTXZCLEtBQUssRUFBRSxJQUFJO0dBQUs7OztBeEMzRHhCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXdDRnJDLEFBK0RNLGdCQS9EVSxDQW1EWixTQUFTLENBWVAsVUFBVSxDQUFDO0lBQ1QsYUFBYSxFQUFFLElBQUk7R0FBRzs7O0FDaEU5QixBQUFBLFlBQVksQ0FBQztFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGdCQUFnQixFakNhRCxPQUFPO0VpQ1p0QixRQUFRLEVBQUUsTUFBTTtDQTJSaUI7O0FBOVJuQyxBQUtFLFlBTFUsQ0FLVixTQUFTLENBQUM7RUFDUixRQUFRLEVBQUUsUUFBUTtDQXNCdUM7O0FBNUI3RCxBQWtCSSxZQWxCUSxDQUtWLFNBQVMsQUFhTixPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxLQUFLO0VBRWQsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSwwQkFBeUM7RUFDaEQsS0FBSyxFQUxVLEtBQUs7RUFNcEIsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEVBQUUsb0VBQXNDO0NBQUc7O0FBNUIzRCxBQWdDRSxZQWhDVSxDQWdDVixTQUFTLENBQUM7RUFDUixjQUFjLEVBQUUsTUFBTTtFQUN0QixPQUFPLEVBQUUsT0FBTztDQUFHOztBQWxDdkIsQUFvQ0UsWUFwQ1UsQ0FvQ1YsY0FBYyxDQUFDO0VBQ2IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixRQUFRLEVBQUUsT0FBTztFQUNqQixhQUFhLEU1Q2JQLFdBQThDO0M0QzhJeEI7O0FBektoQyxBQTBDSSxZQTFDUSxDQW9DVixjQUFjLEdBTVgsRUFBRSxDQUFDO0VBQ0YsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFFaEIsV0FBVyxFN0NwQ1AsR0FBRztFNkNxQ1AsS0FBSyxFQUFFLEtBQUs7RUFDWixNQUFNLEVBQUUsUUFBUTtFQUNoQixZQUFZLEVBQUUsSUFBSTtDQUdJOztBekNsRDFCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RXlDRnRDLEFBMENJLFlBMUNRLENBb0NWLGNBQWMsR0FNWCxFQUFFLENBQUM7SUFVQSxZQUFZLEVBQUUsQ0FBQztHQUFLOzs7QUFwRDVCLEFBc0RJLFlBdERRLENBb0NWLGNBQWMsQ0FrQlosRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLFNBQVMsRUFBRSxLQUFLO0NBMkRrQzs7QUFySHhELEFBNERNLFlBNURNLENBb0NWLGNBQWMsQ0FrQlosRUFBRSxDQU1BLEVBQUUsQ0FBQztFeEMzRFAsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRXFEb0ROLGFBQWE7RXJEL0MzQixvQkFBaUIsRXFEK0NILGFBQWE7RXJEMUMzQixtQkFBZ0IsRXFEMENGLGFBQWE7RXJEcEQzQixtQkFBb0IsRXFEb0RTLFVBQVU7RXJEL0N2QyxnQkFBaUIsRXFEK0NZLFVBQVU7RXJEMUN2QyxlQUFnQixFcUQwQ2EsVUFBVTtFeEN0RDdDLGVBQWUsRXdDc0RLLGFBQWE7RXhDckRqQyxXQUFXLEV3Q3FEd0IsVUFBVTtDQWtCcEI7O0FBL0UzQixBQStEUSxZQS9ESSxDQW9DVixjQUFjLENBa0JaLEVBQUUsQ0FNQSxFQUFFLEdBR0UsRUFBRSxDQUFDO0VBQ0gsVUFBVSxFQUFFLElBQUk7Q0FBRzs7QUFoRTdCLEFBa0VRLFlBbEVJLENBb0NWLGNBQWMsQ0FrQlosRUFBRSxDQU1BLEVBQUUsQ0FNQSxVQUFVLENBQUM7RUFDVCxPQUFPLEVBQUUsSUFBSTtDQUlyQjs7QUF2RUYsQUF5RVEsWUF6RUksQ0FvQ1YsY0FBYyxDQWtCWixFQUFFLENBTUEsRUFBRSxDQWFBLENBQUMsQ0FBQztFQUNBLEtBQUssRUFBRSxpQkFBaUI7RUFDeEIsTUFBTSxFQUFFLENBQUM7RUFDVCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0U1QjVFeEIsV0FBVyxFQUFFLG1CQUFtQjtFNEI4RXhCLEtBQUssRUFBRSxLQUFLO0NBQUc7O0FBL0V6QixBQW9GVSxZQXBGRSxDQW9DVixjQUFjLENBa0JaLEVBQUUsQUE0QkMsT0FBTyxDQUNOLEVBQUUsQ0FDQSxVQUFVLENBQUM7RUFDVCxPQUFPLEVBQUUsS0FBSztFQUNkLFVBQVUsRUFBRSxHQUFHO0VBQ2YsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtDQUdXOztBQTNGbkMsQUF5RlksWUF6RkEsQ0FvQ1YsY0FBYyxDQWtCWixFQUFFLEFBNEJDLE9BQU8sQ0FDTixFQUFFLENBQ0EsVUFBVSxDQUtSLEdBQUcsQ0FBQztFQUNGLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLElBQUk7Q0FBRzs7QUEzRmpDLEFBK0ZVLFlBL0ZFLENBb0NWLGNBQWMsQ0FrQlosRUFBRSxBQXVDQyxPQUFPLENBQ04sRUFBRSxDQUNBLFVBQVUsQ0FBQztFeEM5Rm5CLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0ViTVAsdUJBQW9CLEVxRHVGRixNQUFNO0VyRGxGeEIsb0JBQWlCLEVxRGtGQyxNQUFNO0VyRDdFeEIsbUJBQWdCLEVxRDZFRSxNQUFNO0VyRHZGeEIsbUJBQW9CLEVxRHVGTSxNQUFNO0VyRGxGaEMsZ0JBQWlCLEVxRGtGUyxNQUFNO0VyRDdFaEMsZUFBZ0IsRXFENkVVLE1BQU07RXhDekZ0QyxlQUFlLEV3Q3lGUyxNQUFNO0V4Q3hGOUIsV0FBVyxFd0N3RnFCLE1BQU07RUFDNUIsVUFBVSxFQUFFLEdBQUc7RUFDZixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osYUFBYSxFQUFFLElBQUk7RUFDbkIsZ0JBQWdCLEVBQUUsS0FBSztDQUVMOztBQXZHOUIsQUFzR1ksWUF0R0EsQ0FvQ1YsY0FBYyxDQWtCWixFQUFFLEFBdUNDLE9BQU8sQ0FDTixFQUFFLENBQ0EsVUFBVSxDQU9SLEdBQUcsQ0FBQztFQUNGLEtBQUssRUFBRSxJQUFJO0NBQUc7O0FBdkc1QixBQTJHVSxZQTNHRSxDQW9DVixjQUFjLENBa0JaLEVBQUUsQUFtREMsT0FBTyxDQUNOLEVBQUUsQ0FDQSxVQUFVLENBQUM7RUFDVCxPQUFPLEVBQUUsS0FBSztFQUNkLFVBQVUsRUFBRSxHQUFHO0VBQ2YsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLFNBQVMsRUFBRSxhQUFhO0VBQ3hCLGdCQUFnQixFQUFFLE1BQU07RUFDeEIsVUFBVSxFQUFFLGNBQWM7RUFFMUIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENqQzNHbkIsT0FBTztFaUM0R1QsWUFBWSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENqQzVHckIsT0FBTztDaUM0RzZCOztBQXJIbEQsQUF3SEksWUF4SFEsQ0FvQ1YsY0FBYyxDQW9GWixRQUFRLENBQUM7RXhDdkhYLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0ViTVAsdUJBQW9CLEVxRGdIUixVQUFVO0VyRDNHdEIsb0JBQWlCLEVxRDJHTCxVQUFVO0VyRHRHdEIsbUJBQWdCLEVxRHNHSixVQUFVO0VyRGhIdEIsbUJBQW9CLEVxRGdISSxNQUFNO0VyRDNHOUIsZ0JBQWlCLEVxRDJHTyxNQUFNO0VyRHRHOUIsZUFBZ0IsRXFEc0dRLE1BQU07RXhDbEhwQyxlQUFlLEV3Q2tIRyxVQUFVO0V4Q2pINUIsV0FBVyxFd0NpSG1CLE1BQU07RUFDaEMsVUFBVSxFQUFFLElBQUk7RUFDaEIsV0FBVyxFQUFFLElBQUk7Q0FxQ29COztBQWhLM0MsQUE2SE0sWUE3SE0sQ0FvQ1YsY0FBYyxDQW9GWixRQUFRLENBS04sT0FBTyxDQUFDO0VBR04sVUFBVSxFQUFFLEtBQUs7RUFDakIsS0FBSyxFakNwSEQsT0FBTztFaUNxSFgsWUFBWSxFNUN2R1YsV0FBOEM7RTRDd0doRCxjQUFjLEVBQUUsU0FBUztDQU1VOztBQXpJM0MsQUFxSVEsWUFySUksQ0FvQ1YsY0FBYyxDQW9GWixRQUFRLENBS04sT0FBTyxDQVFMLE1BQU0sQ0FBQztFQUNMLFdBQVcsRUFBRSxJQUFJO0NBR2M7O0FBekl6QyxBQXdJWSxZQXhJQSxDQW9DVixjQUFjLENBb0ZaLFFBQVEsQ0FLTixPQUFPLENBUUwsTUFBTSxDQUVKLEdBQUcsQ0FDRCxJQUFJLENBQUM7RUFDSCxJQUFJLEVqQzFIRCxPQUFPO0NpQzBIYTs7QUF6SXJDLEFBNElNLFlBNUlNLENBb0NWLGNBQWMsQ0FvRlosUUFBUSxDQW9CTixrQkFBa0IsQ0FBQztFQUNqQixLQUFLLEVBQUUsS0FBSztDQW1CcUI7O0F6QzlKdkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFeUNGdEMsQUE0SU0sWUE1SU0sQ0FvQ1YsY0FBYyxDQW9GWixRQUFRLENBb0JOLGtCQUFrQixDQUFDO0lBSWYsS0FBSyxFQUFFLEtBQUs7R0FnQm1COzs7QUFoS3pDLEFBa0pRLFlBbEpJLENBb0NWLGNBQWMsQ0FvRlosUUFBUSxDQW9CTixrQkFBa0IsQ0FNaEIsTUFBTSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxjQUFjLEVBQUUsSUFBSTtFQUNwQixNQUFNLEVBQUUsQ0FBQztDQVVvQjs7QUFoS3ZDLEFBd0pVLFlBeEpFLENBb0NWLGNBQWMsQ0FvRlosUUFBUSxDQW9CTixrQkFBa0IsQ0FNaEIsTUFBTSxDQU1KLElBQUksQ0FBQztFQUNILFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osbUJBQW1CLEVBQUUsTUFBTTtFQUMzQixlQUFlLEVBQUUsS0FBSztDQUFHOztBekM5Sm5DLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RXlDRnRDLEFBbUtNLFlBbktNLENBb0NWLGNBQWMsQ0ErSFYsUUFBUSxDQUFDO0lBQ1AsT0FBTyxFQUFFLEtBQUs7R0FLTTtFQXpLNUIsQUFzS1EsWUF0S0ksQ0FvQ1YsY0FBYyxDQStIVixRQUFRLENBR04sT0FBTyxDQUFDO0lBQ04sWUFBWSxFQUFFLENBQUM7R0FBRztFQXZLNUIsQUF3S1EsWUF4S0ksQ0FvQ1YsY0FBYyxDQStIVixRQUFRLENBS04sa0JBQWtCLENBQUM7SUFDakIsT0FBTyxFQUFFLElBQUk7R0FBRzs7O0FBeksxQixBQTRLRSxZQTVLVSxDQTRLVixXQUFXLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxDQUFDO0VBQ1YsUUFBUSxFQUFFLE9BQU87Q0F1RVM7O0FBdlA5QixBQWtMSSxZQWxMUSxDQTRLVixXQUFXLEFBTVIsTUFBTSxDQUFDO0VBQ04sWUFBWSxFNUN4SlIsV0FBOEM7QzRDd0pwQjs7QUFuTHBDLEFBcUxJLFlBckxRLENBNEtWLFdBQVcsQUFTUixTQUFTLENBQUM7RUFDVCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsQ0FBQztFQUNSLEdBQUcsRUFBRSxDQUFDO0VBQ04sTUFBTSxFQUFFLElBQUk7Q0FBRzs7QUF6THJCLEFBMkxJLFlBM0xRLENBNEtWLFdBQVcsQ0FlVCxFQUFFLENBQUM7RUFDRCxTQUFTLEVBQUUsT0FBTztFQUNsQixLQUFLLEVqQ3BMRyxPQUFPO0VpQ3FMZixXQUFXLEU3QzlLUCxHQUFHO0U2QytLUCxjQUFjLEVBQUUsU0FBUztFQUN6QixNQUFNLEVBQUUsUUFBUTtDQUFHOztBQWhNekIsQUFrTUksWUFsTVEsQ0E0S1YsV0FBVyxDQXNCVCxZQUFZLENBQUM7RUFDWCxPQUFPLEVBQUUsTUFBTTtDQWtCWTs7QUFyTmpDLEFBcU1NLFlBck1NLENBNEtWLFdBQVcsQ0FzQlQsWUFBWSxDQUdWLGNBQWMsQ0FBQztFQUNiLGdCQUFnQixFQUFFLE9BQWtCO0VBRXBDLEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFQUFFLEtBQUs7Q0FZTzs7QUFyTi9CLEFBMk1RLFlBM01JLENBNEtWLFdBQVcsQ0FzQlQsWUFBWSxDQUdWLGNBQWMsQ0FNWixZQUFZLENBQUM7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixjQUFjLEVBQUUsS0FBSztFQUNyQixXQUFXLEVBQUUsSUFBSTtFQUNqQixNQUFNLEVBQUUsQ0FBQztDQU1VOztBQXJON0IsQUFnTlUsWUFoTkUsQ0E0S1YsV0FBVyxDQXNCVCxZQUFZLENBR1YsY0FBYyxDQU1aLFlBQVksQ0FLVixNQUFNLENBQUM7RUFDTCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtDQUFHOztBQXJOM0IsQUF1TkksWUF2TlEsQ0E0S1YsV0FBVyxDQTJDVCxZQUFZLENBQUM7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztDQTJCZTs7QUF2UDVCLEFBOE5NLFlBOU5NLENBNEtWLFdBQVcsQ0EyQ1QsWUFBWSxBQU9ULE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxLQUFLO0VBQ2QsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsS0FBSztFQUNaLGdCQUFnQixFakNsTlosT0FBTztDaUNrTm9COztBQXRPdkMsQUF5T00sWUF6T00sQ0E0S1YsV0FBVyxDQTJDVCxZQUFZLENBa0JWLElBQUksQ0FBQztFQUNILFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsZUFBZSxFQUFFLEtBQUs7RUFDdEIsbUJBQW1CLEVBQUUsTUFBTTtDQUFHOztBQWhQdEMsQUFrUE0sWUFsUE0sQ0E0S1YsV0FBVyxDQTJDVCxZQUFZLENBMkJWLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxJQUFJO0VBQ2IsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsQ0FBQztDQUVTOztBQXZQMUIsQUFzUFEsWUF0UEksQ0E0S1YsV0FBVyxDQTJDVCxZQUFZLENBMkJWLE9BQU8sQ0FJTCxHQUFHLENBQUM7RUFDRixLQUFLLEVBQUUsSUFBSTtDQUFHOztBekNyUHRCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RXlDRnRDLEFBMlBJLFlBM1BRLENBMlBSLFNBQVMsQ0FBQztJQUNSLEtBQUssRUFBRSxJQUFJO0dBR1M7RUEvUDFCLEFBOFBNLFlBOVBNLENBMlBSLFNBQVMsQUFHTixPQUFPLEVBOVBkLFlBQVksQ0EyUFIsU0FBUyxBQUdJLE1BQU0sQ0FBQztJQUNoQixPQUFPLEVBQUUsSUFBSTtHQUFHO0VBL1B4QixBQWlRSSxZQWpRUSxDQWlRUixjQUFjLENBQUM7SUFDYixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLElBQUksQzVDek9ULFdBQThDO0k0QzBPbEQsU0FBUyxFQUFFLEtBQUs7SUFDaEIsTUFBTSxFQUFFLElBQUk7R0FBRztFQXRRckIsQUF3UUksWUF4UVEsQ0F3UVIsV0FBVyxDQUFDO0lBQ1YsZ0JBQWdCLEVBQUUsT0FBa0I7SUFDcEMsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsQ0FBQyxDNUNqUE4sV0FBOEM7STRDa1BsRCxNQUFNLEVBQUUsSUFBSTtHQWlCYTtFQTlSL0IsQUErUU0sWUEvUU0sQ0F3UVIsV0FBVyxBQU9SLE1BQU0sQ0FBQztJQUNOLFlBQVksRTVDclBWLFdBQThDO0c0Q3FQbEI7RUFoUnRDLEFBa1JNLFlBbFJNLENBd1FSLFdBQVcsQUFVUixTQUFTLENBQUM7SUFDVCxRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsSUFBSTtJQUNaLE9BQU8sRUFBRSxDQUFDO0dBQUc7RUFyUnJCLEFBdVJNLFlBdlJNLENBd1FSLFdBQVcsQ0FlVCxZQUFZLENBQUM7SUFDWCxRQUFRLEVBQUUsUUFBUTtHQU1HO0VBOVI3QixBQTBSUSxZQTFSSSxDQXdRUixXQUFXLENBZVQsWUFBWSxDQUdWLElBQUksQ0FBQztJQUNILE9BQU8sRUFBRSxJQUFJO0dBQUc7RUEzUjFCLEFBNlJRLFlBN1JJLENBd1FSLFdBQVcsQ0FlVCxZQUFZLENBTVYsT0FBTyxDQUFDO0lBQ04sT0FBTyxFQUFFLEtBQUs7R0FBRzs7O0FDOVIzQixBQUFBLGFBQWEsQ0FBQztFQUNaLFVBQVUsRWxDcUJHLE9BQU87RWtDcEJwQixPQUFPLEVBQUUsWUFBWTtFQUNyQixRQUFRLEVBQUUsTUFBTTtDQWlIbUI7O0FBcEhyQyxBQUtFLGFBTFcsQ0FLWCxTQUFTLENBQUM7RUFDUixLQUFLLEVsQ1VJLE9BQU87RWtDVGhCLFNBQVMsRUFBRSxPQUFPO0VBQ2xCLFdBQVcsRTlDUUwsR0FBRztFOENQVCxjQUFjLEVBQUUsU0FBUztFQUN6QixNQUFNLEVBQUUsUUFBUTtDQUFHOztBQVZ2QixBQVlFLGFBWlcsQ0FZWCxNQUFNLENBQUM7RXpDWFAsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRXNESVYsTUFBTTtFdERDaEIsb0JBQWlCLEVzRERQLE1BQU07RXRETWhCLG1CQUFnQixFc0ROTixNQUFNO0V0REpoQixtQkFBb0IsRXNESUYsVUFBVTtFdERDNUIsZ0JBQWlCLEVzRERDLFVBQVU7RXRETTVCLGVBQWdCLEVzRE5FLFVBQVU7RXpDTmxDLGVBQWUsRXlDTUMsTUFBTTtFekNMdEIsV0FBVyxFeUNLYSxVQUFVO0VBQ2hDLFFBQVEsRUFBRSxPQUFPO0NBc0djOztBQXBIbkMsQUFpQkksYUFqQlMsQ0FZWCxNQUFNLENBS0osT0FBTyxDQUFDO0VBQ04sUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLEdBQUc7Q0FzRWU7O0FBekYvQixBQXFCTSxhQXJCTyxDQVlYLE1BQU0sQ0FLSixPQUFPLEFBSUosTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsR0FBRztFQUNWLFVBQVUsRUFBRSxxRUFBdUM7Q0FBRzs7QUE1QjlELEFBOEJNLGFBOUJPLENBWVgsTUFBTSxDQUtKLE9BQU8sQ0FhTCxDQUFDLENBQUM7RUFDQSxlQUFlLEVBQUUsSUFBSTtDQUFHOztBQS9CaEMsQUFpQ00sYUFqQ08sQ0FZWCxNQUFNLENBS0osT0FBTyxDQWdCTCxPQUFPLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSTtDQUVPOztBQXBDMUIsQUFtQ1EsYUFuQ0ssQ0FZWCxNQUFNLENBS0osT0FBTyxDQWdCTCxPQUFPLENBRUwsR0FBRyxDQUFDO0VBQ0YsS0FBSyxFQUFFLElBQUk7Q0FBRzs7QUFwQ3hCLEFBdUNNLGFBdkNPLENBWVgsTUFBTSxDQUtKLE9BQU8sQ0FzQkwsUUFBUSxDQUFDO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtDQXVDc0I7O0FBcEYxQyxBQStDUSxhQS9DSyxDQVlYLE1BQU0sQ0FLSixPQUFPLENBc0JMLFFBQVEsQ0FRTixFQUFFLENBQUM7RUFDRCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsaUJBQWlCO0VBQ3ZCLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsQ0FBQztFQUNULFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRUFBRSxLQUFLO0VBQ1osV0FBVyxFOUN4Q1gsR0FBRztFOEMwQ0gsZ0JBQWdCLEVBQUUsTUFBTTtFQUN4QixTQUFTLEVBQUUsY0FBYztDQUFHOztBQTNEdEMsQUE2RFEsYUE3REssQ0FZWCxNQUFNLENBS0osT0FBTyxDQXNCTCxRQUFRLENBc0JOLGtCQUFrQixDQUFDO0VBQ2pCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFbEMvQ1IsT0FBTztFUG5CakIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRXNEMkRKLE1BQU07RXREdER0QixvQkFBaUIsRXNEc0RELE1BQU07RXREakR0QixtQkFBZ0IsRXNEaURBLE1BQU07RXREM0R0QixtQkFBb0IsRXNEMkRJLE1BQU07RXREdEQ5QixnQkFBaUIsRXNEc0RPLE1BQU07RXREakQ5QixlQUFnQixFc0RpRFEsTUFBTTtFekM3RHBDLGVBQWUsRXlDNkRPLE1BQU07RXpDNUQ1QixXQUFXLEV5QzREbUIsTUFBTTtFQUM1QixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxZQUFZO0NBY007O0FBcEZ4QyxBQXdFVSxhQXhFRyxDQVlYLE1BQU0sQ0FLSixPQUFPLENBc0JMLFFBQVEsQ0FzQk4sa0JBQWtCLENBV2hCLElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsSUFBSTtDQVNVOztBQXBGdEMsQUE2RVksYUE3RUMsQ0FZWCxNQUFNLENBS0osT0FBTyxDQXNCTCxRQUFRLENBc0JOLGtCQUFrQixDQVdoQixJQUFJLENBS0YsR0FBRyxDQUFDO0VBQ0YsS0FBSyxFQUFFLElBQUk7RUFDWCxnQkFBZ0IsRUFBRSxNQUFNO0VBQ3hCLFNBQVMsRUFBRSxjQUFjO0NBSUg7O0FBcEZwQyxBQW1GZ0IsYUFuRkgsQ0FZWCxNQUFNLENBS0osT0FBTyxDQXNCTCxRQUFRLENBc0JOLGtCQUFrQixDQVdoQixJQUFJLENBS0YsR0FBRyxBQUtBLFdBQVcsQ0FDVixJQUFJLENBQUM7RUFDSCxJQUFJLEVBQUUsS0FBSztDQUFHOztBQXBGaEMsQUF3RlUsYUF4RkcsQ0FZWCxNQUFNLENBS0osT0FBTyxBQXFFSixNQUFNLENBQ0wsUUFBUSxDQUNOLGtCQUFrQixDQUFDO0VBQ2pCLE9BQU8sRUFBRSxDQUFDO0NBQUc7O0ExQ3ZGdkIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFMENGdEMsQUFZRSxhQVpXLENBWVgsTUFBTSxDQUFDO0l0REhELGlCQUFvQixFYUdHLElBQUk7SWJPM0IsYUFBZ0IsRWFQTyxJQUFJO0liSDNCLHNCQUFvQixFYUlRLEdBQUc7SWJNL0Isa0JBQWdCLEVhTlksR0FBRztJYkovQixpQkFBb0IsRWFLRyxHQUFHLENBQUMsSUFBSTtHeUNzR0o7RUFwSG5DLEFBK0ZNLGFBL0ZPLENBWVgsTUFBTSxDQW1GRixPQUFPLENBQUM7SUFDTixLQUFLLEVBQUUsR0FBRztHQUFHOzs7QTFDOUZuQixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UwQ0ZyQyxBQVlFLGFBWlcsQ0FZWCxNQUFNLENBQUM7SUF1RkgsT0FBTyxFQUFFLEtBQUs7R0FpQmU7RUFwSG5DLEFBcUdNLGFBckdPLENBWVgsTUFBTSxDQXlGRixPQUFPLENBQUM7SUFDTixLQUFLLEVBQUUsSUFBSTtJQUNYLGdCQUFnQixFbENuRlosT0FBTztHa0NnR1k7RUFwSC9CLEFBeUdRLGFBekdLLENBWVgsTUFBTSxDQXlGRixPQUFPLEdBSUgsT0FBTyxDQUFDO0lBQ1IsVUFBVSxFQUFFLElBQUk7R0FBRztFQTFHN0IsQUE0R1EsYUE1R0ssQ0FZWCxNQUFNLENBeUZGLE9BQU8sQ0FPTCxDQUFDLENBQUM7SUFDQSxPQUFPLEVBQUUsS0FBSztJQUNkLGNBQWMsRUFBRSxJQUFJO0dBQUc7RUE5R2pDLEFBaUhVLGFBakhHLENBWVgsTUFBTSxDQXlGRixPQUFPLENBV0wsUUFBUSxDQUNOLEVBQUUsQ0FBQztJQUNELFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLElBQUksRUFBRSxJQUFJO0lBQ1YsTUFBTSxFQUFFLElBQUk7R0FBRzs7O0FDcEgzQixBQUFBLFFBQVEsQ0FBQztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFFBQVEsRUFBRSxNQUFNO0NBNEtvQjs7QUE5S3RDLEFBSUUsUUFKTSxDQUlOLFdBQVcsQ0FBQztFQUNWLEtBQUssRUFBRSxLQUFLO0VBQ1osU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsS0FBSztFQUNoQixNQUFNLEVBQUUsTUFBTTtFQUNkLE9BQU8sRUFBRSxNQUFNO0NBQUc7O0FBWHRCLEFBYUUsUUFiTSxDQWFOLFNBQVMsQ0FBQztFQUNSLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0NBd0JzQzs7QUF2Q3BELEFBaUJJLFFBakJJLENBYU4sU0FBUyxBQUlOLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEVBQUU7RUFDWCxHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRTlDS0EsWUFBOEM7RThDSmxELEtBQUssRUFBRSxLQUFLO0VBQ1osTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEVuQ0ZELE9BQU87Q21DRVk7O0FBekJsQyxBQTJCSSxRQTNCSSxDQWFOLFNBQVMsQUFjTixPQUFPLENBQUM7RUFFUCxPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLHlCQUF5QztFQUNoRCxNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFOVSxJQUFJO0VBT25CLFVBQVUsRUFBRSxvRUFBc0M7Q0FBRzs7QUFuQzNELEFBc0NNLFFBdENFLENBYU4sU0FBUyxBQXdCTixXQUFXLEFBQ1QsTUFBTSxDQUFDO0VBQ04sVUFBVSxFbkNoQkgseUJBQU87Q21DZ0IwQjs7QUF2Q2hELEFBeUNFLFFBekNNLENBeUNOLFlBQVksRUF6Q2QsUUFBUSxDQXlDUSxjQUFjLENBQUM7RUFDM0IsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLGdCQUFnQjtDQWlCRjs7QUE1RDNCLEFBNkNJLFFBN0NJLENBeUNOLFlBQVksQ0FJVixFQUFFLEVBN0NOLFFBQVEsQ0F5Q1EsY0FBYyxDQUkxQixFQUFFLENBQUM7RUFDRCxLQUFLLEVuQ2pDQyxPQUFPO0VtQ2tDYixTQUFTLEVBQUUsTUFBTTtFQUNqQixXQUFXLEVBQUUsR0FBRztFOUIvQ3BCLFdBQVcsRUFBRSxtQkFBbUI7RUFJaEMsV0FBVyxFQUFFLEdBQUc7RThCNkNaLE1BQU0sRUFBRSxRQUFRO0NBQUc7O0FBbER6QixBQW9ESSxRQXBESSxDQXlDTixZQUFZLENBV1YsQ0FBQyxFQXBETCxRQUFRLENBeUNRLGNBQWMsQ0FXMUIsQ0FBQyxDQUFDO0VBQ0EsS0FBSyxFbkN0Q00sT0FBTztFbUN1Q2xCLFNBQVMsRUFBRSxPQUFPO0VBQ2xCLFdBQVcsRS9DcENQLEdBQUc7RStDcUNQLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLE1BQU0sRUFBRSxDQUFDO0NBQUc7O0FBekRsQixBQTJESSxRQTNESSxDQXlDTixZQUFZLENBa0JWLE9BQU8sRUEzRFgsUUFBUSxDQXlDUSxjQUFjLENBa0IxQixPQUFPLENBQUM7RUFDTixVQUFVLEVBQUUsSUFBSTtDQUFHOztBQTVEekIsQUE4REUsUUE5RE0sQ0E4RE4sWUFBWSxDQUFDO0VBQ1gsV0FBVyxFOUNwQ0wsV0FBOEM7RThDcUNwRCxLQUFLLEU5Q3JDQyxHQUE4QztFOENzQ3BELGdCQUFnQixFQUFFLEtBQUs7Q0FBRzs7QUFqRTlCLEFBbUVFLFFBbkVNLENBbUVOLGNBQWMsQ0FBQztFQUNiLEtBQUssRTlDekNDLEdBQThDO0U4QzBDcEQsWUFBWSxFQUFFLEtBQUs7Q0FBRzs7QUFyRTFCLEFBdUVFLFFBdkVNLENBdUVOLFdBQVcsQ0FBQztFQUNWLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGNBQWMsRUFBRSxHQUFHO0VBQ25CLEtBQUssRTlDL0NDLFlBQThDO0U4Q2dEcEQsT0FBTyxFQUFFLENBQUM7Q0E0RHNCOztBQXZJcEMsQUE2RUksUUE3RUksQ0F1RU4sV0FBVyxDQU1ULFFBQVEsQ0FBQztFMUM1RVgsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRXVEcUVSLFVBQVU7RXZEaEV0QixvQkFBaUIsRXVEZ0VMLFVBQVU7RXZEM0R0QixtQkFBZ0IsRXVEMkRKLFVBQVU7RXZEckV0QixtQkFBb0IsRXVEcUVJLE1BQU07RXZEaEU5QixnQkFBaUIsRXVEZ0VPLE1BQU07RXZEM0Q5QixlQUFnQixFdUQyRFEsTUFBTTtFMUN2RXBDLGVBQWUsRTBDdUVHLFVBQVU7RTFDdEU1QixXQUFXLEUwQ3NFbUIsTUFBTTtDQUFJOztBQTlFMUMsQUFnRkksUUFoRkksQ0F1RU4sV0FBVyxDQVNULGtCQUFrQixDQUFDO0VBQ2pCLEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFQUFFLEtBQUs7Q0FlaUI7O0FBakd2QyxBQW9GTSxRQXBGRSxDQXVFTixXQUFXLENBU1Qsa0JBQWtCLENBSWhCLE1BQU0sQ0FBQztFQUNMLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsY0FBYyxFQUFFLE1BQU07RUFDdEIsTUFBTSxFQUFFLENBQUM7Q0FTb0I7O0FBakdyQyxBQTBGUSxRQTFGQSxDQXVFTixXQUFXLENBU1Qsa0JBQWtCLENBSWhCLE1BQU0sQ0FNSixJQUFJLENBQUM7RUFDSCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLG1CQUFtQixFQUFFLE1BQU07RUFDM0IsZUFBZSxFQUFFLEtBQUs7Q0FBRzs7QUFqR25DLEFBbUdJLFFBbkdJLENBdUVOLFdBQVcsQ0E0QlQsYUFBYSxDQUFDO0VBQ1osS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixZQUFZLEVBQUUsSUFBSTtDQXFCcUI7O0FBMUg3QyxBQXVHTSxRQXZHRSxDQXVFTixXQUFXLENBNEJULGFBQWEsQ0FJWCxDQUFDLENBQUM7RUFDQSxNQUFNLEVBQUUsQ0FBQztFQUNULFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRW5DOUZELE9BQU87Q21DOEZROztBQTNHM0IsQUE2R00sUUE3R0UsQ0F1RU4sV0FBVyxDQTRCVCxhQUFhLENBVVgsSUFBSSxDQUFDO0VBQ0gsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVuQ2xHRCxPQUFPO0VtQ21HWCxTQUFTLEVBQUUsSUFBSTtDQUFHOztBQWhIMUIsQUFrSE0sUUFsSEUsQ0F1RU4sV0FBVyxDQTRCVCxhQUFhLENBZVgsQ0FBQyxDQUFDO0VBQ0EsU0FBUyxFQUFFLE1BQU07RUFDakIsS0FBSyxFbkN2R0QsT0FBTztFbUN3R1gsV0FBVyxFL0NyR1QsR0FBRztFK0NzR0wsZUFBZSxFQUFFLElBQUk7RUFDckIsVUFBVSxFQUFFLFVBQVU7Q0FHYTs7QUExSDNDLEFBeUhRLFFBekhBLENBdUVOLFdBQVcsQ0E0QlQsYUFBYSxDQWVYLENBQUMsQUFPRSxNQUFNLENBQUM7RUFDTixLQUFLLEVBQUUsT0FBcUI7Q0FBRzs7QUExSHpDLEFBNkhNLFFBN0hFLENBdUVOLFdBQVcsQUFxRFIsY0FBYyxDQUNiLFFBQVEsQ0FBQztFMUM1SGIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRXVEcUhOLFFBQVE7RXZEaEh0QixvQkFBaUIsRXVEZ0hILFFBQVE7RXZEM0d0QixtQkFBZ0IsRXVEMkdGLFFBQVE7RXZEckh0QixtQkFBb0IsRXVEcUhJLE1BQU07RXZEaEg5QixnQkFBaUIsRXVEZ0hPLE1BQU07RXZEM0c5QixlQUFnQixFdUQyR1EsTUFBTTtFMUN2SHBDLGVBQWUsRTBDdUhLLFFBQVE7RTFDdEg1QixXQUFXLEUwQ3NIbUIsTUFBTTtFQUM5QixNQUFNLEVBQUUsS0FBSztDQUFHOztBQS9IeEIsQUFpSU0sUUFqSUUsQ0F1RU4sV0FBVyxBQXFEUixjQUFjLENBS2Isa0JBQWtCLENBQUM7RUFDakIsTUFBTSxFQUFFLEtBQUs7RUFFWCxnQkFBSyxFQUFFLGdDQUFnQztFQUN2QyxtQkFBUSxFQUFFLFlBQVk7RUFDdEIsZUFBSSxFQUFFLE9BQU87RUFDYixpQkFBTSxFQUFFLFNBQVM7Q0FBSzs7QTNDckk5QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0UyQ0Z0QyxBQTRJSSxRQTVJSSxDQTRJSixTQUFTLENBQUM7SUFDUixNQUFNLEVBQUUsSUFBSTtJQUNaLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLElBQUk7R0FHUztFQWxKMUIsQUFpSk0sUUFqSkUsQ0E0SUosU0FBUyxBQUtOLE9BQU8sRUFqSmQsUUFBUSxDQTRJSixTQUFTLEFBS0ksTUFBTSxDQUFDO0lBQ2hCLE9BQU8sRUFBRSxJQUFJO0dBQUc7RUFsSnhCLEFBb0pJLFFBcEpJLENBb0pKLFlBQVksRUFwSmhCLFFBQVEsQ0FvSlUsY0FBYyxDQUFDO0lBQzNCLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLElBQUksQzlDM0hULFdBQThDO0c4QzJIcEI7RUF0SnBDLEFBd0pJLFFBeEpJLENBd0pKLFlBQVksQ0FBQztJQUNYLFdBQVcsRUFBRSxDQUFDO0dBQUc7RUF6SnZCLEFBMkpJLFFBM0pJLENBMkpKLFdBQVcsQ0FBQztJQUNWLEtBQUssRUFBRSxJQUFJO0lBQ1gsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixPQUFPLEVBQUUsQ0FBQyxDOUNuSU4sV0FBOEMsQzhDbUl6QixJQUFJO0dBR1Q7RUFqSzFCLEFBZ0tNLFFBaEtFLENBMkpKLFdBQVcsQUFLUixjQUFjLENBQUM7SUFDZCxPQUFPLEVBQUUsSUFBSTtHQUFHOzs7QTNDL0p0QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UyQ0ZyQyxBQXNLTSxRQXRLRSxDQXFLSixZQUFZLENBQ1YsRUFBRSxFQXRLUixRQUFRLENBcUtVLGNBQWMsQ0FDMUIsRUFBRSxDQUFDO0lBQ0QsT0FBTyxFQUFFLElBQUk7R0FBRztFQXZLeEIsQUF5S0ksUUF6S0ksQ0F5S0osV0FBVyxDQUFDO0lBQ1YsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsTUFBTTtHQUdVO0VBOUtsQyxBQTZLTSxRQTdLRSxDQXlLSixXQUFXLENBSVQsa0JBQWtCLENBQUM7SUFDakIsT0FBTyxFQUFFLFlBQVk7R0FBRzs7O0FDOUtoQyxBQUFBLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLGdCQUFnQixFcENtQkosT0FBTztFb0NsQm5CLFVBQVUsRUFBRSxNQUFNO0NBc0tpQjs7QUF6S3JDLEFBTUksYUFOUyxDQUtYLFNBQVMsR0FDTCxFQUFFLENBQUM7RUFDSCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0VBRWhCLEtBQUssRXBDR0MsT0FBTztDb0NITTs7QUFWekIsQUFhRSxhQWJXLENBYVgsV0FBVyxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsV0FBVztDQXVDSTs7QUF6RDNCLEFBb0JJLGFBcEJTLENBYVgsV0FBVyxBQU9SLE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVBQUUsZUFBZTtFQUNwQixNQUFNLEVBQUUsR0FBRztFQUNYLEtBQUssRUFBRSxJQUFJO0VBQ1gsZ0JBQWdCLEVwQ1BWLE9BQU87Q29DT2tCOztBQTNCckMsQUE4QkksYUE5QlMsQ0FhWCxXQUFXLENBaUJULGVBQWUsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLFNBQVM7RUFDbEIsV0FBVyxFQUFFLElBQUk7RUFDakIsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3BDakJYLE9BQU87RW9Da0JiLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRWhEdEJQLEdBQUc7RWdEdUJQLEtBQUssRXBDN0JDLE9BQU87RW9DOEJiLE1BQU0sRUFBRSxPQUFPO0VBQ2YsVUFBVSxFQUFFLDJCQUEyQjtDQWFwQjs7QUF6RHpCLEFBOENNLGFBOUNPLENBYVgsV0FBVyxDQWlCVCxlQUFlLEFBZ0JaLFlBQVksQ0FBQztFQUNaLFdBQVcsRUFBRSxDQUFDO0NBQUc7O0FBL0N6QixBQWlETSxhQWpETyxDQWFYLFdBQVcsQ0FpQlQsZUFBZSxDQW1CYixDQUFDLENBQUM7RUFDQSxNQUFNLEVBQUUsQ0FBQztDQUFHOztBQWxEcEIsQUFvRE0sYUFwRE8sQ0FhWCxXQUFXLENBaUJULGVBQWUsQUFzQlosTUFBTSxDQUFDO0VBQ04sZ0JBQWdCLEVBQUUsT0FBa0I7Q0FBRzs7QUFyRC9DLEFBdURNLGFBdkRPLENBYVgsV0FBVyxDQWlCVCxlQUFlLEFBeUJaLE9BQU8sQ0FBQztFQUNQLGdCQUFnQixFcENwQ1osT0FBTztFb0NxQ1gsS0FBSyxFQUFFLEtBQUs7Q0FBRzs7QUF6RHZCLEFBMkRFLGFBM0RXLENBMkRYLE9BQU8sQ0FBQztFQUNOLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLE1BQU0sRUFBRSxXQUFXO0NBMkV5Qzs7QUExSWhFLEFBaUVJLGFBakVTLENBMkRYLE9BQU8sQ0FNTCxNQUFNLENBQUM7RUFDTCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUNWLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLENBQUM7RUFDVixTQUFTLEVBQUUsT0FBTztFQUNsQixXQUFXLEVBQUUsR0FBRztFQUVoQixTQUFTLEVBQUUsdUJBQXVCO0VBQ2xDLFVBQVUsRUFBRSw0QkFBNEI7Q0FXZDs7QUF4RmhDLEFBK0VNLGFBL0VPLENBMkRYLE9BQU8sQ0FNTCxNQUFNLEFBY0gsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLENBQUM7RUFDVixPQUFPLEVBQUUsQ0FBQztFQUNWLFNBQVMsRUFBRSxvQkFBb0I7Q0FBRzs7QUFsRjFDLEFBb0ZNLGFBcEZPLENBMkRYLE9BQU8sQ0FNTCxNQUFNLENBbUJKLEVBQUUsQ0FBQztFQUNELE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFaERyRVQsR0FBRztDZ0RxRWlCOztBQXhGOUIsQUE0Rk0sYUE1Rk8sQ0EyRFgsT0FBTyxDQStCTCxtQkFBbUIsQ0FFakIsU0FBUyxDQUFDO0VBQ1IsUUFBUSxFQUFFLFFBQVE7RTNDNUZ4QixPQUFPLEVBQUUsV0FBVztFQUNwQixPQUFPLEVBQUUsWUFBWTtFQUNyQixPQUFPLEVBQUUsSUFBSTtFYk1QLHVCQUFvQixFd0RxRk4sTUFBTTtFeERoRnBCLG9CQUFpQixFd0RnRkgsTUFBTTtFeEQzRXBCLG1CQUFnQixFd0QyRUYsTUFBTTtFeERyRnBCLG1CQUFvQixFd0RxRkUsTUFBTTtFeERoRjVCLGdCQUFpQixFd0RnRkssTUFBTTtFeEQzRTVCLGVBQWdCLEV3RDJFTSxNQUFNO0UzQ3ZGbEMsZUFBZSxFMkN1RkssTUFBTTtFM0N0RjFCLFdBQVcsRTJDc0ZpQixNQUFNO0VBQzVCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxPQUFPO0VBQ2YsYUFBYSxFQUFFLElBQUk7RUFDbkIsVUFBVSxFQUFFLGVBQWU7Q0FzQ3lCOztBQTFJNUQsQUFzR1EsYUF0R0ssQ0EyRFgsT0FBTyxDQStCTCxtQkFBbUIsQ0FFakIsU0FBUyxDQVVQLElBQUksQ0FBQztFM0NyR1gsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRXdEOEZKLE1BQU07RXhEekZ0QixvQkFBaUIsRXdEeUZELE1BQU07RXhEcEZ0QixtQkFBZ0IsRXdEb0ZBLE1BQU07RXhEOUZ0QixtQkFBb0IsRXdEOEZJLE1BQU07RXhEekY5QixnQkFBaUIsRXdEeUZPLE1BQU07RXhEcEY5QixlQUFnQixFd0RvRlEsTUFBTTtFM0NoR3BDLGVBQWUsRTJDZ0dPLE1BQU07RTNDL0Y1QixXQUFXLEUyQytGbUIsTUFBTTtFQUM1QixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsZ0JBQWdCLEVBQUUsTUFBTTtFQUN4QixVQUFVLEVBQUUsY0FBYztDQVFKOztBQW5IaEMsQUE2R1UsYUE3R0csQ0EyRFgsT0FBTyxDQStCTCxtQkFBbUIsQ0FFakIsU0FBUyxDQVVQLElBQUksQ0FPRixXQUFXLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osZ0JBQWdCLEVBQUUsTUFBTTtDQUVOOztBQW5IOUIsQUFrSFksYUFsSEMsQ0EyRFgsT0FBTyxDQStCTCxtQkFBbUIsQ0FFakIsU0FBUyxDQVVQLElBQUksQ0FPRixXQUFXLENBS1QsSUFBSSxDQUFDO0VBQ0gsSUFBSSxFQUFFLEtBQUs7Q0FBRzs7QUFuSDVCLEFBcUhRLGFBckhLLENBMkRYLE9BQU8sQ0ErQkwsbUJBQW1CLENBRWpCLFNBQVMsQUF5Qk4sU0FBUyxDQUFDO0VBQ1QsZ0JBQWdCLEVwQ3hHbEIsT0FBTztFb0N5R0wsS0FBSyxFQUFFLGVBQWU7Q0FPcUI7O0FBOUhyRCxBQTBIWSxhQTFIQyxDQTJEWCxPQUFPLENBK0JMLG1CQUFtQixDQUVqQixTQUFTLEFBeUJOLFNBQVMsQ0FJUixJQUFJLENBQ0YsV0FBVyxDQUFDO0VBQ1YsU0FBUyxFQUFFLGFBQWE7Q0FBRzs7QUEzSHpDLEFBNkhVLGFBN0hHLENBMkRYLE9BQU8sQ0ErQkwsbUJBQW1CLENBRWpCLFNBQVMsQUF5Qk4sU0FBUyxBQVFQLE1BQU0sQ0FBQztFQUNOLGdCQUFnQixFQUFFLE9BQWtCO0NBQUc7O0FBOUhuRCxBQWdJUSxhQWhJSyxDQTJEWCxPQUFPLENBK0JMLG1CQUFtQixDQUVqQixTQUFTLEFBb0NOLEtBQUssQ0FBQztFQUNMLGdCQUFnQixFcEM3R2QsT0FBTztFb0M4R1QsSUFBSSxFQUFFLGVBQWU7Q0FRMkI7O0FBMUkxRCxBQXNJWSxhQXRJQyxDQTJEWCxPQUFPLENBK0JMLG1CQUFtQixDQUVqQixTQUFTLEFBb0NOLEtBQUssQ0FLSixJQUFJLENBQ0YsV0FBVyxDQUFDO0VBQ1YsU0FBUyxFQUFFLGNBQWM7Q0FBRzs7QUF2STFDLEFBeUlVLGFBeklHLENBMkRYLE9BQU8sQ0ErQkwsbUJBQW1CLENBRWpCLFNBQVMsQUFvQ04sS0FBSyxBQVNILE1BQU0sQ0FBQztFQUNOLGdCQUFnQixFQUFFLE9BQXVCO0NBQUc7O0E1Q3hJdEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFNENGckMsQUFBQSxhQUFhLENBQUM7SUE2SVYsT0FBTyxFQUFFLENBQUM7R0E0QnVCO0VBektyQyxBQStJSSxhQS9JUyxDQStJVCxTQUFTLENBQUM7SUFDUixLQUFLLEVBQUUsSUFBSTtHQUdXO0VBbko1QixBQWtKTSxhQWxKTyxDQStJVCxTQUFTLEdBR04sRUFBRSxDQUFDO0lBQ0YsT0FBTyxFQUFFLE1BQU07R0FBRztFQW5KMUIsQUFxSkksYUFySlMsQ0FxSlQsV0FBVyxDQUFDO0lBQ1YsT0FBTyxFQUFFLElBQUk7R0FBRztFQXRKdEIsQUF3SkksYUF4SlMsQ0F3SlQsT0FBTyxDQUFDO0lBQ04sVUFBVSxFQUFFLENBQUM7SUFDYixTQUFTLEVBQUUsSUFBSTtJQUNmLE1BQU0sRUFBRSxlQUFlO0dBY0k7RUF6S2pDLEFBNkpNLGFBN0pPLENBd0pULE9BQU8sQ0FLTCxNQUFNLENBQUM7SUFDTCxRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsZUFBZTtJQUN2QixPQUFPLEVBQUUsQ0FBQztJQUNWLE9BQU8sRUFBRSxJQUFJLEMvQ3RJWCxXQUE4QztJK0N1SWhELFNBQVMsRUFBRSxvQkFBa0IsQ0FBQyxVQUFVO0lBQ3hDLGdCQUFnQixFQUFFLEtBQUs7R0FNQTtFQXpLL0IsQUFxS1EsYUFyS0ssQ0F3SlQsT0FBTyxDQUtMLE1BQU0sQUFRSCxZQUFhLENBQUEsR0FBRyxFQUFFO0lBQ2pCLGdCQUFnQixFcENqSlosT0FBTztHb0NpSnNCO0VBdEszQyxBQXdLUSxhQXhLSyxDQXdKVCxPQUFPLENBS0wsTUFBTSxDQVdKLFFBQVEsQ0FBQztJQUNQLFVBQVUsRUFBRSxJQUFJO0dBQUc7OztBQ3pLN0IsQUFBQSxjQUFjLENBQUM7RUFDYixPQUFPLEVBQUUsV0FBVztFQUNwQixnQkFBZ0IsRXJDb0JILE9BQU87Q3FDc0xoQjs7QUE1TU4sQUFLSSxjQUxVLENBSVosU0FBUyxDQUNQLEVBQUUsQ0FBQztFQUNELE1BQU0sRUFBRSxDQUFDO0VBQ1QsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztFaENQcEIsV0FBVyxFQUFFLG1CQUFtQjtFQUloQyxXQUFXLEVBQUUsR0FBRztFZ0NLWixLQUFLLEVyQ01FLE9BQU87Q3FDTk07O0E3Q1J4QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0U2Q0Z0QyxBQUlFLGNBSlksQ0FJWixTQUFTLENBQUM7SUFTTixLQUFLLEVBQUUsSUFBSTtHQUlhO0VBakI5QixBQWVNLGNBZlEsQ0FJWixTQUFTLENBV0wsRUFBRSxDQUFDO0lBQ0QsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLE1BQU07R0FBRzs7O0FBakIxQixBQW1CRSxjQW5CWSxDQW1CWixTQUFTLENBQUM7RUFDUixPQUFPLEVBQUUsUUFBUTtFNUNuQm5CLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0ViTVAsdUJBQW9CLEV5RGFWLGFBQWE7RXpEUnZCLG9CQUFpQixFeURRUCxhQUFhO0V6REh2QixtQkFBZ0IsRXlER04sYUFBYTtFekRidkIsbUJBQW9CLEV5RGFLLFVBQVU7RXpEUm5DLGdCQUFpQixFeURRUSxVQUFVO0V6REhuQyxlQUFnQixFeURHUyxVQUFVO0U1Q2Z6QyxlQUFlLEU0Q2VDLGFBQWE7RTVDZDdCLFdBQVcsRTRDY29CLFVBQVU7RXpEYm5DLGlCQUFvQixFYUdHLElBQUk7RWJPM0IsYUFBZ0IsRWFQTyxJQUFJO0ViSDNCLHNCQUFvQixFYUlRLEdBQUc7RWJNL0Isa0JBQWdCLEVhTlksR0FBRztFYkovQixpQkFBb0IsRWFLRyxHQUFHLENBQUMsSUFBSTtDNEMrQkc7O0FBcEJiLFNBQUMsRUFBZixPQUFPLEVBQUUsSUFBSTtFQXpCNUIsQUFtQkUsY0FuQlksQ0FtQlosU0FBUyxDQUFDO0lBT04sT0FBTyxFQUFFLElBQUk7SUFDYixxQkFBcUIsRUFBRSxPQUFPO0lBQzlCLFFBQVEsRUFBRSxTQUFTO0dBaUJpQjtFN0MzQ3hDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07STZDRnRDLEFBbUJFLGNBbkJZLENBbUJaLFNBQVMsQ0FBQztNQVlKLE9BQU8sRUFBRSxNQUFNO0tBY21COztFN0MzQ3hDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07STZDRnRDLEFBbUJFLGNBbkJZLENBbUJaLFNBQVMsQ0FBQztNQWVKLFFBQVEsRUFBRSxTQUFTO0tBV2U7Ozs7QTdDM0N4QyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0U2Q0Z0QyxBQW1CRSxjQW5CWSxDQW1CWixTQUFTLENBQUM7SUFrQk4sT0FBTyxFQUFFLFdBQVc7R0FRZ0I7RUFOWCxTQUFDLEVBQWYsT0FBTyxFQUFFLElBQUk7SUF2QzlCLEFBbUJFLGNBbkJZLENBbUJaLFNBQVMsQ0FBQztNQXFCSixPQUFPLEVBQUUsV0FBVztLQUtjOzs7O0E3QzNDeEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFNkNGdEMsQUFtQkUsY0FuQlksQ0FtQlosU0FBUyxDQUFDO0lBeUJOLE9BQU8sRUFBRSxLQUFLO0lBQ2QsT0FBTyxFQUFFLHNCQUFzQjtHQUFLOzs7QUE3QzFDLEFBK0NFLGNBL0NZLENBK0NaLE9BQU8sQ0FBQztFNUM5Q1IsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRXlEdUNWLFVBQVU7RXpEbENwQixvQkFBaUIsRXlEa0NQLFVBQVU7RXpEN0JwQixtQkFBZ0IsRXlENkJOLFVBQVU7RXpEdkNwQixtQkFBb0IsRXlEdUNFLFVBQVU7RXpEbENoQyxnQkFBaUIsRXlEa0NLLFVBQVU7RXpEN0JoQyxlQUFnQixFeUQ2Qk0sVUFBVTtFNUN6Q3RDLGVBQWUsRTRDeUNDLFVBQVU7RTVDeEMxQixXQUFXLEU0Q3dDaUIsVUFBVTtFQUNwQyxLQUFLLEVBQUUsR0FBRztFQUNWLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLE1BQU0sRUFBRSxXQUFXO0VBQ25CLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsYUFBYSxFQUFFLEdBQUc7RUFFbEIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztDQTZIYTs7QTdDbkwvQixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0U2Q0Z0QyxBQStDRSxjQS9DWSxDQStDWixPQUFPLENBQUM7SUFZSixLQUFLLEVBQUUsR0FBRztHQTBIaUI7OztBQXhISixTQUFDLEVBQWYsT0FBTyxFQUFFLElBQUk7RUE3RDVCLEFBK0NFLGNBL0NZLENBK0NaLE9BQU8sQ0FBQztJQWVKLEtBQUssRUFBRSxJQUFJO0lBRVgsU0FBUyxFQUFFLElBQUk7SUFDZixNQUFNLEVBQUUsQ0FBQztHQW9Ia0I7OztBN0NuTC9CLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RTZDRnJDLEFBK0NFLGNBL0NZLENBK0NaLE9BQU8sQ0FBQztJQXFCSixTQUFTLEVBQUUsTUFBTTtHQWlIVTs7O0FBckxqQyxBQXNFSSxjQXRFVSxDQStDWixPQUFPLENBdUJMLGVBQWUsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxLQUFLO0NBbUIwQjs7QUEzRjVDLEFBMEVNLGNBMUVRLENBK0NaLE9BQU8sQ0F1QkwsZUFBZSxDQUliLE1BQU0sQ0FBQztFQUNMLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsQ0FBQztFQUNULGNBQWMsRUFBRSxJQUFJO0VBQ3BCLGdCQUFnQixFQUFFLEtBQUs7Q0FXVzs7QUEzRjFDLEFBa0ZRLGNBbEZNLENBK0NaLE9BQU8sQ0F1QkwsZUFBZSxDQUliLE1BQU0sQ0FRSixNQUFNLENBQUM7RUFDTCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGFBQWEsRUFBRSxXQUFXO0VBRTFCLGVBQWUsRUFBRSxLQUFLO0VBQ3RCLG1CQUFtQixFQUFFLE1BQU07Q0FBRzs7QUEzRnhDLEFBOEZJLGNBOUZVLENBK0NaLE9BQU8sQ0ErQ0wscUJBQXFCLENBQUM7RUFDcEIsS0FBSyxFQUFFLGtCQUFrQjtFNUM5RjdCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0ViTVAsdUJBQW9CLEV5RHVGUixVQUFVO0V6RGxGdEIsb0JBQWlCLEV5RGtGTCxVQUFVO0V6RDdFdEIsbUJBQWdCLEV5RDZFSixVQUFVO0V6RHZGdEIsbUJBQW9CLEV5RHVGSSxNQUFNO0V6RGxGOUIsZ0JBQWlCLEV5RGtGTyxNQUFNO0V6RDdFOUIsZUFBZ0IsRXlENkVRLE1BQU07RTVDekZwQyxlQUFlLEU0Q3lGRyxVQUFVO0U1Q3hGNUIsV0FBVyxFNEN3Rm1CLE1BQU07RUFDaEMsT0FBTyxFQUFFLElBQUk7Q0FnQ2lCOztBQWpJcEMsQUFtR00sY0FuR1EsQ0ErQ1osT0FBTyxDQStDTCxxQkFBcUIsQ0FLbkIsRUFBRSxDQUFDO0VBQ0QsTUFBTSxFQUFFLFFBQVE7RUFDaEIsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFckNwRkQsT0FBTztDcUNvRlM7O0FBeEc1QixBQTBHTSxjQTFHUSxDQStDWixPQUFPLENBK0NMLHFCQUFxQixDQVluQixDQUFDLEVBMUdQLGNBQWMsQ0ErQ1osT0FBTyxDQStDTCxxQkFBcUIsQ0FZaEIsQ0FBQyxDQUFDO0VBQ0gsTUFBTSxFQUFFLENBQUM7RUFDVCxTQUFTLEVBQUUsTUFBTTtFQUNqQixXQUFXLEVBQUUsR0FBRztDQUFHOztBQTdHM0IsQUErR00sY0EvR1EsQ0ErQ1osT0FBTyxDQStDTCxxQkFBcUIsQ0FpQm5CLENBQUMsQ0FBQztFQUNBLE9BQU8sRUFBRSxLQUFLO0VBQ2QsU0FBUyxFQUFFLE1BQU07RUFDakIsS0FBSyxFckNyR0QsT0FBTztDcUM0R3VCOztBQXpIMUMsQUFvSFEsY0FwSE0sQ0ErQ1osT0FBTyxDQStDTCxxQkFBcUIsQ0FpQm5CLENBQUMsQUFLRSxTQUFTLENBQUM7RUFDVCxVQUFVLEVBQUUsSUFBSTtDQUljOztBQXpIeEMsQUF1SFUsY0F2SEksQ0ErQ1osT0FBTyxDQStDTCxxQkFBcUIsQ0FpQm5CLENBQUMsQUFLRSxTQUFTLENBR1IsSUFBSSxDQUFDO0VBQ0gsT0FBTyxFQUFFLFlBQVk7RTlDckcvQixVQUFVLEVBQUUsbUNBQW1DLENBSG5DLEtBQXNCLENBZ0JBLENBQUMsQ0FibUMsU0FBUztFQUMvRSxlQUFlLEVBQUUsVUFBVTtFQUMzQixLQUFLLEVBV2dDLElBQUk7RUFWekMsTUFBTSxFQVVxQyxJQUFJO0M4Q3lGWDs7QUF6SHRDLEFBMkhNLGNBM0hRLENBK0NaLE9BQU8sQ0ErQ0wscUJBQXFCLENBNkJuQixDQUFDLENBQUM7RUFDQSxLQUFLLEVyQzVHQSx5QkFBTztDcUNpSGM7O0FBaklsQyxBQTZIUSxjQTdITSxDQStDWixPQUFPLENBK0NMLHFCQUFxQixDQTZCbkIsQ0FBQyxHQUVHLENBQUMsQ0FBQztFQUNGLFVBQVUsRUFBRSxHQUFHO0NBQUc7O0FBOUg1QixBQWdJUSxjQWhJTSxDQStDWixPQUFPLENBK0NMLHFCQUFxQixDQTZCbkIsQ0FBQyxBQUtFLFNBQVMsQ0FBQztFQUNULGFBQWEsRUFBRSxJQUFJO0NBQUc7O0E3Qy9IOUIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFNkNrSWxDLEFBRUksR0FGRCxDQXBJUCxjQUFjLENBK0NaLE9BQU8sQ0F1RkQscUJBQXFCLENBQUM7SUFDcEIsS0FBSyxFQUFFLGtCQUFrQjtHQUFHO0VBSGxDLEFBSUksR0FKRCxDQXBJUCxjQUFjLENBK0NaLE9BQU8sQ0F5RkQsZUFBZSxDQUFDO0lBQ2QsS0FBSyxFQUFFLEtBQUs7R0FFZTtFQVBqQyxBQU1NLEdBTkgsQ0FwSVAsY0FBYyxDQStDWixPQUFPLENBeUZELGVBQWUsQ0FFYixNQUFNLENBQUM7SUFDTCxjQUFjLEVBQUUsSUFBSTtHQUFHOzs7QTdDeklqQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0U2Q0Z0QyxBQStDRSxjQS9DWSxDQStDWixPQUFPLENBQUM7SUFnR0osS0FBSyxFQUFFLElBQUk7SUFDWCxXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSTtJQUNsQixTQUFTLEVBQUUsS0FBSztHQW1DVztFQXJMakMsQUFvSk0sY0FwSlEsQ0ErQ1osT0FBTyxHQXFHRCxPQUFPLENBQUM7SUFDUixVQUFVLEVBQUUsSUFBSTtHQUFHO0VBckozQixBQXVKTSxjQXZKUSxDQStDWixPQUFPLENBd0dILE1BQU0sQ0FBQztJQUNMLGNBQWMsRUFBRSxNQUFNO0dBQUc7RUFFM0IsQUFBQSxHQUFHLENBMUpULGNBQWMsQ0ErQ1osT0FBTyxDQTJHRztJQUNKLEtBQUssRUFBRSxlQUFlO0lBQ3RCLFNBQVMsRUFBRSxnQkFBZ0I7R0FTSTtFQVhqQyxBQUlFLEdBSkMsQ0ExSlQsY0FBYyxDQStDWixPQUFPLENBK0dELHFCQUFxQixDQUFDO0lBQ3BCLEtBQUssRUFBRSxrQkFBa0I7R0FBRztFQUxoQyxBQU9FLEdBUEMsQ0ExSlQsY0FBYyxDQStDWixPQUFPLENBa0hELGVBQWUsQ0FBQztJQUNkLEtBQUssRUFBRSxLQUFLO0dBR2U7RUFYL0IsQUFVSSxHQVZELENBMUpULGNBQWMsQ0ErQ1osT0FBTyxDQWtIRCxlQUFlLENBR2IsTUFBTSxDQUFDO0lBQ0wsY0FBYyxFQUFFLElBQUk7R0FBRzs7O0E3Q25LakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFNkNGckMsQUErQ0UsY0EvQ1ksQ0ErQ1osT0FBTyxDQUFDO0lBeUhKLE9BQU8sRUFBRSxLQUFLO0lBQ2QsZ0JBQWdCLEVBQUUsV0FBVztHQVlGO0VBckxqQyxBQTJLTSxjQTNLUSxDQStDWixPQUFPLENBNEhILGVBQWUsQ0FBQztJQUNkLE1BQU0sRUFBRSxXQUFXO0lBQ25CLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLGdCQUFnQixFQUFFLEtBQUs7R0FBRztFQS9LbEMsQUFpTE0sY0FqTFEsQ0ErQ1osT0FBTyxDQWtJSCxxQkFBcUIsQ0FBQztJQUNwQixLQUFLLEVBQUUsSUFBSTtJNUNqTGpCLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxJQUFJO0liTVAsdUJBQW9CLEV5RDBLTixNQUFNO0l6RHJLcEIsb0JBQWlCLEV5RHFLSCxNQUFNO0l6RGhLcEIsbUJBQWdCLEV5RGdLRixNQUFNO0l6RDFLcEIsbUJBQW9CLEV5RDBLRSxNQUFNO0l6RHJLNUIsZ0JBQWlCLEV5RHFLSyxNQUFNO0l6RGhLNUIsZUFBZ0IsRXlEZ0tNLE1BQU07STVDNUtsQyxlQUFlLEU0QzRLSyxNQUFNO0k1QzNLMUIsV0FBVyxFNEMyS2lCLE1BQU07SUFFNUIsVUFBVSxFQUFFLE1BQU07R0FBRzs7O0FBRzNCLEFBRUUsR0FGQyxDQXhMTCxjQUFjLENBMExWLE9BQU8sQ0FBQztFQUNOLEtBQUssRUFBRSxHQUFHO0VBQ1YsU0FBUyxFQUFFLElBQUk7Q0FBRzs7QTdDMUx0QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0U2Q3NMbkMsQUFRSSxHQVJELENBeExMLGNBQWMsQ0FnTVIscUJBQXFCLENBQUM7SUFDcEIsS0FBSyxFQUFFLGVBQWU7R0FBRzs7O0FDak1qQyxBQUFBLGVBQWUsQ0FBQztFQUNkLGdCQUFnQixFdENxQkgsT0FBTztDc0N3Q2tDOztBQTlEeEQsQUFHRSxlQUhhLENBR2IsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLFdBQVc7RUFDcEIsVUFBVSxFQUFFLE1BQU07RUFDbEIsS0FBSyxFdENPRyxPQUFPO0NzQ1BJOztBQU52QixBQVFFLGVBUmEsQ0FRYixXQUFXLENBQUM7RTdDUFosT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRTBEQVYsTUFBTTtFMURLaEIsb0JBQWlCLEUwRExQLE1BQU07RTFEVWhCLG1CQUFnQixFMERWTixNQUFNO0UxREFoQixtQkFBb0IsRTBEQUYsTUFBTTtFMURLeEIsZ0JBQWlCLEUwRExDLE1BQU07RTFEVXhCLGVBQWdCLEUwRFZFLE1BQU07RTdDRjlCLGVBQWUsRTZDRUMsTUFBTTtFN0NEdEIsV0FBVyxFNkNDYSxNQUFNO0VBQzVCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLFFBQVE7RUFDakIsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsV0FBVyxFQUFFLEdBQUc7Q0ErQ2tDOztBQTlEdEQsQUFpQkksZUFqQlcsQ0FRYixXQUFXLENBU1QsRUFBRSxDQUFDO0VBQ0QsTUFBTSxFQUFFLEtBQUs7Q0E0Q2lDOztBQTlEcEQsQUFvQk0sZUFwQlMsQ0FRYixXQUFXLENBU1QsRUFBRSxDQUdBLENBQUMsQ0FBQztFQUNBLEtBQUssRXRDTkksT0FBTztFc0NPaEIsZUFBZSxFQUFFLElBQUk7Q0FBRzs7QUF0QmhDLEFBeUJRLGVBekJPLENBUWIsV0FBVyxDQVNULEVBQUUsQUFPQyxPQUFPLENBQ04sSUFBSSxDQUFDO0VBQ0gsS0FBSyxFdENOSCxPQUFPO0VzQ09ULFdBQVcsRWxEUlgsR0FBRztDa0RRbUI7O0FBM0JoQyxBQThCUSxlQTlCTyxDQVFiLFdBQVcsQ0FTVCxFQUFFLEFBWUMsY0FBYyxDQUNiLENBQUMsRUE5QlQsZUFBZSxDQVFiLFdBQVcsQ0FTVCxFQUFFLEFBWUMsY0FBYyxDQUNWLElBQUksRUE5QmYsZUFBZSxDQVFiLFdBQVcsQ0FTVCxFQUFFLEFBWWtCLGFBQWEsQ0FDN0IsQ0FBQyxFQTlCVCxlQUFlLENBUWIsV0FBVyxDQVNULEVBQUUsQUFZa0IsYUFBYSxDQUMxQixJQUFJLENBQUM7RUFDTixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLE9BQU8sRUFBRSxLQUFLO0VBQ2QsU0FBUyxFQUFFLENBQUM7Q0FVbUI7O0FBNUN6QyxBQW9DVSxlQXBDSyxDQVFiLFdBQVcsQ0FTVCxFQUFFLEFBWUMsY0FBYyxDQUNiLENBQUMsQ0FNQyxXQUFXLEVBcENyQixlQUFlLENBUWIsV0FBVyxDQVNULEVBQUUsQUFZQyxjQUFjLENBQ1YsSUFBSSxDQU1MLFdBQVcsRUFwQ3JCLGVBQWUsQ0FRYixXQUFXLENBU1QsRUFBRSxBQVlrQixhQUFhLENBQzdCLENBQUMsQ0FNQyxXQUFXLEVBcENyQixlQUFlLENBUWIsV0FBVyxDQVNULEVBQUUsQUFZa0IsYUFBYSxDQUMxQixJQUFJLENBTUwsV0FBVyxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGdCQUFnQixFQUFFLE1BQU07RUFDeEIsU0FBUyxFQUFFLGNBQWM7Q0FHRTs7QUE1Q3ZDLEFBMkNZLGVBM0NHLENBUWIsV0FBVyxDQVNULEVBQUUsQUFZQyxjQUFjLENBQ2IsQ0FBQyxDQU1DLFdBQVcsQ0FPVCxJQUFJLEVBM0NoQixlQUFlLENBUWIsV0FBVyxDQVNULEVBQUUsQUFZQyxjQUFjLENBQ1YsSUFBSSxDQU1MLFdBQVcsQ0FPVCxJQUFJLEVBM0NoQixlQUFlLENBUWIsV0FBVyxDQVNULEVBQUUsQUFZa0IsYUFBYSxDQUM3QixDQUFDLENBTUMsV0FBVyxDQU9ULElBQUksRUEzQ2hCLGVBQWUsQ0FRYixXQUFXLENBU1QsRUFBRSxBQVlrQixhQUFhLENBQzFCLElBQUksQ0FNTCxXQUFXLENBT1QsSUFBSSxDQUFDO0VBQ0gsSUFBSSxFdEM3QkQsT0FBTztDc0M2QmE7O0FBNUNyQyxBQStDUSxlQS9DTyxDQVFiLFdBQVcsQ0FTVCxFQUFFLEFBNkJDLGNBQWMsQ0FDYixDQUFDLEVBL0NULGVBQWUsQ0FRYixXQUFXLENBU1QsRUFBRSxBQTZCQyxjQUFjLENBQ1YsSUFBSSxDQUFDO0VBQ04sU0FBUyxFQUFFLGlCQUFpQjtDQUFHOztBQWhEekMsQUFrRE0sZUFsRFMsQ0FRYixXQUFXLENBU1QsRUFBRSxBQWlDQyxTQUFTLENBQUM7RUFDVCxPQUFPLEVBQUUsR0FBRztFQUNaLGNBQWMsRUFBRSxJQUFJO0NBVXNCOztBQTlEbEQsQUFzRFEsZUF0RE8sQ0FRYixXQUFXLENBU1QsRUFBRSxBQWlDQyxTQUFTLENBSVIsV0FBVyxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGdCQUFnQixFQUFFLE1BQU07RUFDeEIsU0FBUyxFQUFFLGNBQWM7Q0FHYTs7QUE5RGhELEFBNkRVLGVBN0RLLENBUWIsV0FBVyxDQVNULEVBQUUsQUFpQ0MsU0FBUyxDQUlSLFdBQVcsQ0FPVCxJQUFJLENBQUM7RUFDSCxJQUFJLEV0Qy9DQyx3QkFBTztDc0MrQ3NCOztBQzlEOUMsQUFFRSxrQkFGZ0IsQ0FFaEIsU0FBUyxDQUFDO0VBQ1IsT0FBTyxFQUFFLFFBQVE7RTlDRm5CLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0ViTVAsdUJBQW9CLEUyREpWLGFBQWE7RTNEU3ZCLG9CQUFpQixFMkRUUCxhQUFhO0UzRGN2QixtQkFBZ0IsRTJEZE4sYUFBYTtFM0RJdkIsbUJBQW9CLEUyREpLLFVBQVU7RTNEU25DLGdCQUFpQixFMkRUUSxVQUFVO0UzRGNuQyxlQUFnQixFMkRkUyxVQUFVO0U5Q0V6QyxlQUFlLEU4Q0ZDLGFBQWE7RTlDRzdCLFdBQVcsRThDSG9CLFVBQVU7RTNESW5DLGlCQUFvQixFYUdHLElBQUk7RWJPM0IsYUFBZ0IsRWFQTyxJQUFJO0ViSDNCLHNCQUFvQixFYUlRLEdBQUc7RWJNL0Isa0JBQWdCLEVhTlksR0FBRztFYkovQixpQkFBb0IsRWFLRyxHQUFHLENBQUMsSUFBSTtDOENtQ0Q7O0FBakR0QyxBQVFJLGtCQVJjLENBRWhCLFNBQVMsQ0FNUCxPQUFPLENBQUM7RUFDTixNQUFNLEVBQUUsV0FBVztDQUdJOztBL0NWM0IsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFK0NGckMsQUFRSSxrQkFSYyxDQUVoQixTQUFTLENBTVAsT0FBTyxDQUFDO0lBSUosTUFBTSxFQUFFLFFBQVE7R0FBSzs7O0FBRUEsU0FBQyxFQUFmLE9BQU8sRUFBRSxJQUFJO0VBZDVCLEFBRUUsa0JBRmdCLENBRWhCLFNBQVMsQ0FBQztJQWFOLE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUsV0FBVztJQUNsQyxRQUFRLEVBQUUsU0FBUztJQUNuQixjQUFjLEVBQUUsSUFBSTtHQStCWTtFQWpEdEMsQUFvQk0sa0JBcEJZLENBRWhCLFNBQVMsQUFrQkosV0FBVyxDQUFDO0lBQ1gsa0JBQWtCLEVBQUUsV0FBVztJQUMvQixtQkFBbUIsRUFBRSxnRUFBZ0U7R0FHOUQ7RUF6Qi9CLEFBd0JRLGtCQXhCVSxDQUVoQixTQUFTLEFBa0JKLFdBQVcsQ0FJVixPQUFPLEFBQUEsWUFBWSxDQUFDO0lBQ2xCLFNBQVMsRUFBRSxLQUFLO0dBQUc7RUF6QjdCLEFBMkJNLGtCQTNCWSxDQUVoQixTQUFTLENBeUJMLE9BQU8sQ0FBQztJQUNOLE1BQU0sRUFBRSxDQUFDO0dBQUc7RS9DMUJsQixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0krQ0Z0QyxBQUVFLGtCQUZnQixDQUVoQixTQUFTLENBQUM7TUE2QkosUUFBUSxFQUFFLFNBQVM7S0FrQlc7O0UvQy9DcEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJK0NGdEMsQUFFRSxrQkFGZ0IsQ0FFaEIsU0FBUyxDQUFDO01BZ0NKLFFBQVEsRUFBRSxTQUFTO01BQ25CLHFCQUFxQixFQUFFLE9BQU87S0FjQTtJQWpEdEMsQUFxQ1Esa0JBckNVLENBRWhCLFNBQVMsQUFtQ0YsV0FBVyxDQUFDO01BQ1gsbUJBQW1CLEVBQUUsMkJBQTJCO0tBQUc7O0UvQ3BDM0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJK0NGckMsQUFFRSxrQkFGZ0IsQ0FFaEIsU0FBUyxDQUFDO01BdUNKLFFBQVEsRUFBRSxTQUFTO0tBUVc7O0UvQy9DcEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJK0NGckMsQUFFRSxrQkFGZ0IsQ0FFaEIsU0FBUyxDQUFDO01BMENKLE9BQU8sRUFBRSxLQUFLO01BQ2QsU0FBUyxFQUFFLEtBQUs7TUFDaEIsV0FBVyxFQUFFLElBQUk7TUFDakIsWUFBWSxFQUFFLElBQUk7S0FFWTtJQWpEdEMsQUFnRFEsa0JBaERVLENBRWhCLFNBQVMsQ0E4Q0gsT0FBTyxDQUFDO01BQ04sYUFBYSxFQUFFLElBQUk7S0FBRzs7OztBQWpEaEMsQUFtREUsa0JBbkRnQixDQW1EaEIsT0FBTyxDQUFDO0VBQ04sS0FBSyxFQUFFLEdBQUc7RUFDVixTQUFTLEVBQUUsS0FBSztFQUNoQixVQUFVLEVBQUUsS0FBSztFQUNqQixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGtCQUFlO0VBRXRDLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7Q0F3TW9COztBQXRNWCxTQUFDLEVBQWYsT0FBTyxFQUFFLElBQUk7RUE1RDVCLEFBbURFLGtCQW5EZ0IsQ0FtRGhCLE9BQU8sQ0FBQztJQVVKLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVBQUUsSUFBSTtHQW1NbUI7RUFsUXhDLEFBZ0VNLGtCQWhFWSxDQW1EaEIsT0FBTyxDQWFILENBQUMsQ0FBQztJQUNBLE1BQU0sRUFBRSxJQUFJO0lBQ1osY0FBYyxFQUFFLENBQUM7R0FBRzs7O0EvQ2hFMUIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFK0NGckMsQUFtREUsa0JBbkRnQixDQW1EaEIsT0FBTyxDQUFDO0lBa0JKLEtBQUssRUFBRSxJQUFJO0dBNkx1Qjs7O0EvQ2hRdEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFK0NGckMsQUFtREUsa0JBbkRnQixDQW1EaEIsT0FBTyxDQUFDO0lBcUJKLFNBQVMsRUFBRSxNQUFNO0dBMExpQjs7O0FBbFF4QyxBQTBFSSxrQkExRWMsQ0FtRGhCLE9BQU8sQ0F1QkwsQ0FBQyxDQUFDO0VBQ0EsT0FBTyxFQUFFLEtBQUs7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxDQUFDO0VBQ1QsY0FBYyxFQUFFLEdBQUc7RUFDbkIsZUFBZSxFQUFFLElBQUk7Q0FvRm1COztBQWxGZixTQUFDLEVBQWYsT0FBTyxFQUFFLElBQUk7RUFsRjlCLEFBMEVJLGtCQTFFYyxDQW1EaEIsT0FBTyxDQXVCTCxDQUFDLENBQUM7SUFTRSxNQUFNLEVBQUUsSUFBSTtHQWlGMEI7OztBQXBLOUMsQUFxRk0sa0JBckZZLENBbURoQixPQUFPLENBdUJMLENBQUMsQ0FXQyxNQUFNLENBQUM7RUFDTCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtDQXlCYTs7QUFuSGpDLEFBNEZRLGtCQTVGVSxDQW1EaEIsT0FBTyxDQXVCTCxDQUFDLENBV0MsTUFBTSxBQU9ILE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLE9BQU8sRUFBRSxHQUFHO0VBQ1osVUFBVSxFQUFFLFlBQVk7Q0FBRzs7QUF0R3JDLEFBd0dRLGtCQXhHVSxDQW1EaEIsT0FBTyxDQXVCTCxDQUFDLENBV0MsTUFBTSxDQW1CSixJQUFJLENBQUM7RUFDSCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGVBQWUsRUFBRSxLQUFLO0VBQ3RCLG1CQUFtQixFQUFFLE1BQU07RUFDM0IsT0FBTyxFQUFFLElBQUk7Q0FHUTs7QUFuSC9CLEFBa0hVLGtCQWxIUSxDQW1EaEIsT0FBTyxDQXVCTCxDQUFDLENBV0MsTUFBTSxDQW1CSixJQUFJLEFBVUQsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLEtBQUs7Q0FBRzs7QUFuSDdCLEFBc0hNLGtCQXRIWSxDQW1EaEIsT0FBTyxDQXVCTCxDQUFDLENBNENDLEtBQUssQ0FBQztFQUNKLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxFQUFFO0VBQ1IsR0FBRyxFQUFFLEdBQUc7RUFDUixPQUFPLEVBQUUsQ0FBQztFQUNWLFNBQVMsRUFBRSxHQUFHO0VBQ2QsV0FBVyxFbkR6R1QsR0FBRztFbUQwR0wsV0FBVyxFQUFFLENBQUM7RUFDZCxLQUFLLEVBQUUsS0FBSztFQUNaLFVBQVUsRUFBRSxVQUFVO0NBTUQ7O0EvQ25JM0IsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFK0NGckMsQUFzSE0sa0JBdEhZLENBbURoQixPQUFPLENBdUJMLENBQUMsQ0E0Q0MsS0FBSyxDQUFDO0lBWUYsU0FBUyxFQUFFLEtBQUs7R0FHRzs7O0EvQ25JM0IsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFK0NGckMsQUFzSE0sa0JBdEhZLENBbURoQixPQUFPLENBdUJMLENBQUMsQ0E0Q0MsS0FBSyxDQUFDO0lBZUYsU0FBUyxFQUFFLEdBQUc7R0FBSzs7O0FBckk3QixBQXVJTSxrQkF2SVksQ0FtRGhCLE9BQU8sQ0F1QkwsQ0FBQyxDQTZEQyxFQUFFLENBQUM7RUFDRCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUNWLEtBQUssRUFBRSxnQkFBZ0I7RUFDdkIsSUFBSSxFQUFFLEVBQUU7RUFDUixNQUFNLEVBQUUsRUFBRTtFQUNWLEtBQUssRUFBRSxLQUFLO0VBRVosU0FBUyxFQUFFLEtBQUs7RUFDaEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFbkRqSVQsR0FBRztFbURrSUwsVUFBVSxFQUFFLFVBQVU7Q0FrQmM7O0FBcEs1QyxBQW9KUSxrQkFwSlUsQ0FtRGhCLE9BQU8sQ0F1QkwsQ0FBQyxDQTZEQyxFQUFFLENBYUEsTUFBTSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxLQUFLO0VBQ1osTUFBTSxFQUFFLElBQUk7RUFDWixTQUFTLEVBQUUsb0JBQWtCO0VBQzdCLFVBQVUsRUFBRSxjQUFjO0NBU007O0FBcEsxQyxBQTZKVSxrQkE3SlEsQ0FtRGhCLE9BQU8sQ0F1QkwsQ0FBQyxDQTZEQyxFQUFFLENBYUEsTUFBTSxDQVNKLFdBQVcsQ0FBQztFQUNWLEtBQUssRUFBRSxJQUFJO0VBQ1gsZ0JBQWdCLEVBQUUsTUFBTTtFQUN4QixTQUFTLEVBQUUsY0FBYztDQUlHOztBQXBLeEMsQUFrS1ksa0JBbEtNLENBbURoQixPQUFPLENBdUJMLENBQUMsQ0E2REMsRUFBRSxDQWFBLE1BQU0sQ0FTSixXQUFXLENBS1QsSUFBSSxDQUFDO0VBQ0gsSUFBSSxFdkN0Sk4sT0FBTztFdUN1SkwsVUFBVSxFQUFFLFNBQVM7Q0FBRzs7QUFwS3RDLEFBeUtVLGtCQXpLUSxDQW1EaEIsT0FBTyxBQW1ISixNQUFNLENBQ0wsQ0FBQyxDQUNDLE1BQU0sQUFDSCxPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsR0FBRztDQUFHOztBQTFLM0IsQUE0S1Esa0JBNUtVLENBbURoQixPQUFPLEFBbUhKLE1BQU0sQ0FDTCxDQUFDLENBS0MsTUFBTSxDQUFDO0VBQ0wsU0FBUyxFQUFFLHNCQUFvQjtDQUdUOztBQWhMaEMsQUErS1ksa0JBL0tNLENBbURoQixPQUFPLEFBbUhKLE1BQU0sQ0FDTCxDQUFDLENBS0MsTUFBTSxDQUVKLFdBQVcsQ0FDVCxJQUFJLENBQUM7RUFDSCxJQUFJLEVBQUUsS0FBSztDQUFHOztBQWhMNUIsQUFrTFEsa0JBbExVLENBbURoQixPQUFPLEFBbUhKLE1BQU0sQ0FDTCxDQUFDLENBV0MsRUFBRSxFQWxMVixrQkFBa0IsQ0FtRGhCLE9BQU8sQUFtSEosTUFBTSxDQUNMLENBQUMsQ0FXSyxLQUFLLENBQUM7RUFDUixLQUFLLEVBQUUsS0FBSztDQUFHOztBL0NqTHZCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RStDRnJDLEFBc0xNLGtCQXRMWSxDQW1EaEIsT0FBTyxDQW1JSCxDQUFDLENBQUM7SUFDQSxNQUFNLEVBQUUsSUFBSTtJQUNaLGNBQWMsRUFBRSxDQUFDO0dBaUJRO0VBek1qQyxBQTBMUSxrQkExTFUsQ0FtRGhCLE9BQU8sQ0FtSUgsQ0FBQyxDQUlDLE1BQU0sQ0FBQztJQUNMLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsY0FBYyxFQUFFLEdBQUc7R0FBRztFQTdMaEMsQUErTFEsa0JBL0xVLENBbURoQixPQUFPLENBbUlILENBQUMsQ0FTQyxNQUFNLENBQUM7SUFDTCxPQUFPLEVBQUUsSUFBSTtHQUFHO0VBaE0xQixBQWtNUSxrQkFsTVUsQ0FtRGhCLE9BQU8sQ0FtSUgsQ0FBQyxDQVlDLEVBQUUsQ0FBQztJQUNELFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLENBQUM7SUFDUCxNQUFNLEVBQUUsQ0FBQztJQUNULE1BQU0sRUFBRSxDQUFDO0lBQ1QsS0FBSyxFdkMxTFAsT0FBTztJdUMyTEwsT0FBTyxFQUFFLFNBQVM7R0FBRzs7O0FBRTNCLEFBRUksV0FGTyxDQTNNZixrQkFBa0IsQ0FtRGhCLE9BQU8sQUF5SkYsT0FBTyxDQUNOLENBQUMsQ0FBQztFQUNBLE9BQU8sRUFBRSxLQUFLO0NBb0RVOztBQWxEeEIsQUFBQSxHQUFHLENBTFQsV0FBVyxDQTNNZixrQkFBa0IsQ0FtRGhCLE9BQU8sQUF5SkYsT0FBTyxDQUNOLENBQUMsQ0FHTztFQUNKLE9BQU8sRUFBRSxrQkFBa0I7Q0FVUjs7QUFYckIsQUFHRSxHQUhDLENBTFQsV0FBVyxDQTNNZixrQkFBa0IsQ0FtRGhCLE9BQU8sQUF5SkYsT0FBTyxDQUNOLENBQUMsQ0FNRyxLQUFLLENBQUM7RUFDSixTQUFTLEVBQUUsY0FBYztDQUFHOztBQUpoQyxBQU1FLEdBTkMsQ0FMVCxXQUFXLENBM01mLGtCQUFrQixDQW1EaEIsT0FBTyxBQXlKRixPQUFPLENBQ04sQ0FBQyxDQVNHLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxnQkFBZ0I7Q0FBRzs7QS9Dck4xQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UrQzhNM0IsQUFBQSxHQUFHLENBTFQsV0FBVyxDQTNNZixrQkFBa0IsQ0FtRGhCLE9BQU8sQUF5SkYsT0FBTyxDQUNOLENBQUMsQ0FHTztJQVVGLGNBQWMsRUFBRSxZQUFZO0lBQzVCLE1BQU0sRUFBRSxJQUFJO0dBQUs7OztBQWhCM0IsQUFvQlUsV0FwQkMsQ0EzTWYsa0JBQWtCLENBbURoQixPQUFPLEFBeUpGLE9BQU8sQ0FDTixDQUFDLENBZ0JDLE1BQU0sQ0FDSixJQUFJLEFBQ0QsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLElBQUk7Q0FBRzs7QUFyQjVCLEFBc0JVLFdBdEJDLENBM01mLGtCQUFrQixDQW1EaEIsT0FBTyxBQXlKRixPQUFPLENBQ04sQ0FBQyxDQWdCQyxNQUFNLENBQ0osSUFBSSxBQUdELE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxLQUFLO0NBQUc7O0EvQ2hPL0IsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFK0N5TWpDLEFBMEJZLFdBMUJELENBM01mLGtCQUFrQixDQW1EaEIsT0FBTyxBQXlKRixPQUFPLENBQ04sQ0FBQyxDQWdCQyxNQUFNLENBQ0osSUFBSSxBQU9DLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJO0dBQUc7RUEzQjlCLEFBNEJZLFdBNUJELENBM01mLGtCQUFrQixDQW1EaEIsT0FBTyxBQXlKRixPQUFPLENBQ04sQ0FBQyxDQWdCQyxNQUFNLENBQ0osSUFBSSxBQVNDLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxLQUFLO0dBQUc7OztBQTdCL0IsQUErQk0sV0EvQkssQ0EzTWYsa0JBQWtCLENBbURoQixPQUFPLEFBeUpGLE9BQU8sQ0FDTixDQUFDLENBNkJDLEtBQUssQ0FBQztFQUNKLEdBQUcsRUFBRSxFQUFFO0VBQ1AsU0FBUyxFQUFFLE1BQU07Q0FBRzs7QUFqQzVCLEFBbUNNLFdBbkNLLENBM01mLGtCQUFrQixDQW1EaEIsT0FBTyxBQXlKRixPQUFPLENBQ04sQ0FBQyxDQWlDQyxFQUFFLENBQUM7RUFDRCxTQUFTLEVBQUUsR0FBRztFQUNkLGFBQWEsRUFBRSxjQUFjO0NBR0o7O0EvQ2pQbkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFK0N5TWxDLEFBbUNNLFdBbkNLLENBM01mLGtCQUFrQixDQW1EaEIsT0FBTyxBQXlKRixPQUFPLENBQ04sQ0FBQyxDQWlDQyxFQUFFLENBQUM7SUFLQyxhQUFhLEVBQUUsR0FBRztHQUFLOzs7QS9DalBuQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UrQ3lNakMsQUFFSSxXQUZPLENBM01mLGtCQUFrQixDQW1EaEIsT0FBTyxBQXlKRixPQUFPLENBQ04sQ0FBQyxDQUFDO0lBeUNFLE9BQU8sRUFBRSxPQUFPO0dBWU07RUF2RDlCLEFBNkNRLFdBN0NHLENBM01mLGtCQUFrQixDQW1EaEIsT0FBTyxBQXlKRixPQUFPLENBQ04sQ0FBQyxDQTJDRyxLQUFLLENBQUM7SUFDSixHQUFHLEVBQUUsR0FBRztJQUNSLFNBQVMsRUFBRSxHQUFHO0dBQUc7RUEvQzNCLEFBaURRLFdBakRHLENBM01mLGtCQUFrQixDQW1EaEIsT0FBTyxBQXlKRixPQUFPLENBQ04sQ0FBQyxDQStDRyxFQUFFLENBQUM7SUFDRCxTQUFTLEVBQUUsS0FBSztJQUNoQixhQUFhLEVBQUUsZUFBZTtHQUFHOzs7QS9DNVA3QyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UrQ3lNakMsQUFFSSxXQUZPLENBM01mLGtCQUFrQixDQW1EaEIsT0FBTyxBQXlKRixPQUFPLENBQ04sQ0FBQyxDQUFDO0lBb0RFLE1BQU0sRUFBRSxJQUFJO0lBQ1osY0FBYyxFQUFFLENBQUM7R0FBSzs7O0FDbFFsQyxBQUVFLGFBRlcsQ0FFWCxTQUFTLENBQUM7RUFDUixPQUFPLEVBQUUsUUFBUTtFL0NGbkIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRTRESlYsYUFBYTtFNURTdkIsb0JBQWlCLEU0RFRQLGFBQWE7RTVEY3ZCLG1CQUFnQixFNERkTixhQUFhO0U1REl2QixtQkFBb0IsRTRESkssVUFBVTtFNURTbkMsZ0JBQWlCLEU0RFRRLFVBQVU7RTVEY25DLGVBQWdCLEU0RGRTLFVBQVU7RS9DRXpDLGVBQWUsRStDRkMsYUFBYTtFL0NHN0IsV0FBVyxFK0NIb0IsVUFBVTtFNURJbkMsaUJBQW9CLEVhR0csSUFBSTtFYk8zQixhQUFnQixFYVBPLElBQUk7RWJIM0Isc0JBQW9CLEVhSVEsR0FBRztFYk0vQixrQkFBZ0IsRWFOWSxHQUFHO0ViSi9CLGlCQUFvQixFYUtHLEdBQUcsQ0FBQyxJQUFJO0MrQ3VCTjs7QUFyQ2pDLEFBUUksYUFSUyxDQUVYLFNBQVMsQ0FNUCxPQUFPLENBQUM7RUFDTixNQUFNLEVBQUUsV0FBVztDQUdrQjs7QWhEVnpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWdERnJDLEFBUUksYUFSUyxDQUVYLFNBQVMsQ0FNUCxPQUFPLENBQUM7SUFJSixNQUFNLEVBQUUsc0JBQXNCO0dBQUs7OztBQUVkLFNBQUMsRUFBZixPQUFPLEVBQUUsSUFBSTtFQWQ1QixBQUVFLGFBRlcsQ0FFWCxTQUFTLENBQUM7SUFhTixPQUFPLEVBQUUsSUFBSTtJQUNiLHFCQUFxQixFQUFFLFdBQVc7SUFDbEMsUUFBUSxFQUFFLFNBQVM7SUFDbkIsY0FBYyxFQUFFLElBQUk7R0FtQk87RUFyQ2pDLEFBb0JNLGFBcEJPLENBRVgsU0FBUyxDQWtCTCxPQUFPLENBQUM7SUFDTixNQUFNLEVBQUUsQ0FBQztHQUFHO0VoRG5CbEIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJZ0RGdEMsQUFFRSxhQUZXLENBRVgsU0FBUyxDQUFDO01Bc0JKLFFBQVEsRUFBRSxTQUFTO0tBYU07O0VoRG5DL0IsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJZ0RGdEMsQUFFRSxhQUZXLENBRVgsU0FBUyxDQUFDO01BeUJKLFFBQVEsRUFBRSxTQUFTO01BQ25CLHFCQUFxQixFQUFFLE9BQU87S0FTTDs7RWhEbkMvQixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnREZyQyxBQUVFLGFBRlcsQ0FFWCxTQUFTLENBQUM7TUE2QkosUUFBUSxFQUFFLFNBQVM7S0FNTTs7RWhEbkMvQixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnREZyQyxBQUVFLGFBRlcsQ0FFWCxTQUFTLENBQUM7TUFnQ0osT0FBTyxFQUFFLEtBQUs7TUFDZCxTQUFTLEVBQUUsS0FBSztNQUNoQixXQUFXLEVBQUUsSUFBSTtNQUNqQixZQUFZLEVBQUUsSUFBSTtLQUFPOzs7O0FBckNqQyxBQXVDRSxhQXZDVyxDQXVDWCxPQUFPLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxLQUFLO0VBRWhCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7Q0FpRmlCOztBQS9FUixTQUFDLEVBQWYsT0FBTyxFQUFFLElBQUk7RUE5QzVCLEFBdUNFLGFBdkNXLENBdUNYLE9BQU8sQ0FBQztJQVFKLE1BQU0sRUFBRSxJQUFJO0lBQ1osU0FBUyxFQUFFLElBQUk7R0E2RWdCOzs7QWhEM0huQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VnREZyQyxBQXVDRSxhQXZDVyxDQXVDWCxPQUFPLENBQUM7SUFZSixTQUFTLEVBQUUsTUFBTTtHQTBFYzs7O0FBN0hyQyxBQXFESSxhQXJEUyxDQXVDWCxPQUFPLENBY0wsQ0FBQyxDQUFDO0VBQ0EsT0FBTyxFQUFFLEtBQUs7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLGVBQWUsRUFBRSxJQUFJO0NBQUc7O0FBekQ5QixBQTJESSxhQTNEUyxDQXVDWCxPQUFPLENBb0JMLE1BQU0sQ0FBQztFQUNMLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsQ0FBQztFQUNULGNBQWMsRUFBRSxJQUFJO0VBQ3BCLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxrQkFBZTtDQXFDRTs7QUF2RzlDLEFBb0VNLGFBcEVPLENBdUNYLE9BQU8sQ0FvQkwsTUFBTSxDQVNKLE1BQU0sQ0FBQztFQUNMLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBRVosZUFBZSxFQUFFLEtBQUs7RUFDdEIsbUJBQW1CLEVBQUUsTUFBTTtDQUFHOztBQTVFdEMsQUE4RU0sYUE5RU8sQ0F1Q1gsT0FBTyxDQW9CTCxNQUFNLENBbUJKLFFBQVEsQ0FBQztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RS9DaEZmLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0ViTVAsdUJBQW9CLEU0RHlFTixNQUFNO0U1RHBFcEIsb0JBQWlCLEU0RG9FSCxNQUFNO0U1RC9EcEIsbUJBQWdCLEU0RCtERixNQUFNO0U1RHpFcEIsbUJBQW9CLEU0RHlFRSxNQUFNO0U1RHBFNUIsZ0JBQWlCLEU0RG9FSyxNQUFNO0U1RC9ENUIsZUFBZ0IsRTREK0RNLE1BQU07RS9DM0VsQyxlQUFlLEUrQzJFSyxNQUFNO0UvQzFFMUIsV0FBVyxFK0MwRWlCLE1BQU07RUFDNUIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGdCQUFnQixFeENqRVosT0FBTztFd0NrRVgsYUFBYSxFQUFFLFVBQVU7RUFDekIsVUFBVSxFQUFFLFFBQVE7Q0FnQmdCOztBQXZHNUMsQUF5RlEsYUF6RkssQ0F1Q1gsT0FBTyxDQW9CTCxNQUFNLENBbUJKLFFBQVEsQ0FXTixNQUFNLENBQUM7RUFDTCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsR0FBRztFQUNULE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLFlBQVk7RUFDckIsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsb0JBQWtCO0VBQzdCLFVBQVUsRUFBRSxjQUFjO0NBT007O0FBdkcxQyxBQWtHVSxhQWxHRyxDQXVDWCxPQUFPLENBb0JMLE1BQU0sQ0FtQkosUUFBUSxDQVdOLE1BQU0sQ0FTSixXQUFXLENBQUM7RUFDVixnQkFBZ0IsRUFBRSxNQUFNO0VBQ3hCLFNBQVMsRUFBRSxjQUFjO0NBR0c7O0FBdkd4QyxBQXFHWSxhQXJHQyxDQXVDWCxPQUFPLENBb0JMLE1BQU0sQ0FtQkosUUFBUSxDQVdOLE1BQU0sQ0FTSixXQUFXLENBR1QsSUFBSSxDQUFDO0VBQ0gsSUFBSSxFQUFFLEtBQUs7RUFDWCxVQUFVLEVBQUUsU0FBUztDQUFHOztBQXZHdEMsQUF5R0ksYUF6R1MsQ0F1Q1gsT0FBTyxDQWtFTCxFQUFFLENBQUM7RUFDRCxVQUFVLEVBQUUsTUFBTTtFQUNsQixTQUFTLEVBQUUsTUFBTTtFQUNqQixXQUFXLEVBQUUsR0FBRztFbkMzR3BCLFdBQVcsRUFBRSxtQkFBbUI7RUFJaEMsV0FBVyxFQUFFLEdBQUc7RW1DeUdaLEtBQUssRXhDaEdILE9BQU87Q3dDZ0dNOztBQTlHckIsQUFrSFEsYUFsSEssQ0F1Q1gsT0FBTyxBQXlFSixNQUFNLENBQ0wsTUFBTSxDQUNKLFFBQVEsQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixhQUFhLEVBQUUsT0FBTztFQUN0QixnQkFBZ0IsRXhDbEdkLHVCQUFPO0N3Q2tHaUM7O0FoRHBIbEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFZ0RGckMsQUF5SE0sYUF6SE8sQ0F1Q1gsT0FBTyxHQWtGRCxPQUFPLENBQUM7SUFDUixVQUFVLEVBQUUsZUFBZTtHQUFHO0VBMUh0QyxBQTRITSxhQTVITyxDQXVDWCxPQUFPLENBcUZILE1BQU0sQ0FBQztJQUNMLGNBQWMsRUFBRSxNQUFNO0dBQUc7OztBQzdIakMsQUFDRSxTQURPLENBQ1AsU0FBUyxDQUFDO0VBQ1IsT0FBTyxFQUFFLFlBQVk7RUFDckIsU0FBUyxFQUFFLE1BQU07Q0FVUTs7QWpEWDNCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWlERnJDLEFBQ0UsU0FETyxDQUNQLFNBQVMsQ0FBQztJQUtOLFdBQVcsRUFBRSxLQUFLO0dBT0s7OztBQWI3QixBQVFJLFNBUkssQ0FDUCxTQUFTLENBT1AsRUFBRSxDQUFDO0VBQ0QsTUFBTSxFQUFFLFFBQVE7RUFDaEIsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFekNFSCxPQUFPO0V5Q0RULFVBQVUsRUFBRSxNQUFNO0NBQUc7O0FBYjNCLEFBbUJNLFNBbkJHLENBZVAsS0FBSyxDQUVILE9BQU8sR0FFSCxPQUFPLENBQUM7RUFDUixVQUFVLEVBQUUsSUFBSTtDQUFHOztBQXBCM0IsQUFzQk0sU0F0QkcsQ0FlUCxLQUFLLENBRUgsT0FBTyxDQUtMLENBQUMsQ0FBQztFaERyQk4sT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRTZEY04sVUFBVTtFN0RUeEIsb0JBQWlCLEU2RFNILFVBQVU7RTdESnhCLG1CQUFnQixFNkRJRixVQUFVO0U3RGR4QixtQkFBb0IsRTZEY00sTUFBTTtFN0RUaEMsZ0JBQWlCLEU2RFNTLE1BQU07RTdESmhDLGVBQWdCLEU2RElVLE1BQU07RWhEaEJ0QyxlQUFlLEVnRGdCSyxVQUFVO0VoRGY5QixXQUFXLEVnRGVxQixNQUFNO0VBQ2hDLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLE1BQU0sRUFBRSxxQkFBcUI7RUFDN0IsVUFBVSxFQUFFLFdBQVc7Q0FpRlM7O0FBNUd4QyxBQTZCUSxTQTdCQyxDQWVQLEtBQUssQ0FFSCxPQUFPLENBS0wsQ0FBQyxDQU9DLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLFNBQVM7RUFDbEIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN6Q1RsQixPQUFPO0V5Q1VaLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRXJEZlgsR0FBRztFcURnQkgsV0FBVyxFQUFFLENBQUM7RUFDZCxLQUFLLEV6Q3JCRSxPQUFPO0V5Q3NCZCxVQUFVLEVBQUUsVUFBVTtDQUFHOztBQXJDbkMsQUF1Q1EsU0F2Q0MsQ0FlUCxLQUFLLENBRUgsT0FBTyxDQUtMLENBQUMsQ0FpQkMsTUFBTSxDQUFDO0VBQ0wsS0FBSyxFQUFFLEtBQUs7RUFDWixXQUFXLEVBQUUsSUFBSTtFQUNqQixhQUFhLEVBQUUsSUFBSTtFQUNuQixRQUFRLEVBQUUsTUFBTTtDQUVFOztBQTdDNUIsQUE0Q1UsU0E1Q0QsQ0FlUCxLQUFLLENBRUgsT0FBTyxDQUtMLENBQUMsQ0FpQkMsTUFBTSxDQUtKLEdBQUcsQ0FBQztFQUNGLEtBQUssRUFBRSxJQUFJO0NBQUc7O0FBN0MxQixBQStDUSxTQS9DQyxDQWVQLEtBQUssQ0FFSCxPQUFPLENBS0wsQ0FBQyxDQXlCQyxRQUFRLENBQUM7RUFDUCxPQUFPLEVBQUUsSUFBSTtFQUNiLEtBQUssRUFBRSxrQkFBa0I7Q0FnQ1U7O0FBakY3QyxBQW1EVSxTQW5ERCxDQWVQLEtBQUssQ0FFSCxPQUFPLENBS0wsQ0FBQyxDQXlCQyxRQUFRLEFBSUwsV0FBVyxDQUFDO0VBQ1gsS0FBSyxFQUFFLGtCQUFrQjtDQUFHOztBQXBEeEMsQUFzRFUsU0F0REQsQ0FlUCxLQUFLLENBRUgsT0FBTyxDQUtMLENBQUMsQ0F5QkMsUUFBUSxDQU9OLEVBQUUsQ0FBQztFQUNELE1BQU0sRUFBRSxPQUFPO0VBQ2YsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFekMzQ0EsT0FBTztFS2R0QixXQUFXLEVBQUUsbUJBQW1CO0VBSWhDLFdBQVcsRUFBRSxHQUFHO0NvQ3NEZTs7QUEzRGpDLEFBNkRVLFNBN0RELENBZVAsS0FBSyxDQUVILE9BQU8sQ0FLTCxDQUFDLENBeUJDLFFBQVEsQ0FjTixVQUFVLENBQUM7RUFDVCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRXpDNUNMLE9BQU87RUtuQmpCLFdBQVcsRUFBRSxtQkFBbUI7RUFJaEMsV0FBVyxFQUFFLEdBQUc7Q29DNEV5Qjs7QUFqRjNDLEFBbUVZLFNBbkVILENBZVAsS0FBSyxDQUVILE9BQU8sQ0FLTCxDQUFDLENBeUJDLFFBQVEsQ0FjTixVQUFVLENBTVIsTUFBTSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixPQUFPLEVBQUUsWUFBWTtFQUNyQixXQUFXLEVBQUUsSUFBSTtFQUNqQixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxvQkFBa0I7RUFDN0IsVUFBVSxFQUFFLGNBQWM7Q0FPQzs7QUFqRnpDLEFBNEVjLFNBNUVMLENBZVAsS0FBSyxDQUVILE9BQU8sQ0FLTCxDQUFDLENBeUJDLFFBQVEsQ0FjTixVQUFVLENBTVIsTUFBTSxDQVNKLFdBQVcsQ0FBQztFQUNWLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGdCQUFnQixFQUFFLE1BQU07RUFDeEIsU0FBUyxFQUFFLGNBQWM7Q0FFRjs7QUFqRnZDLEFBZ0ZnQixTQWhGUCxDQWVQLEtBQUssQ0FFSCxPQUFPLENBS0wsQ0FBQyxDQXlCQyxRQUFRLENBY04sVUFBVSxDQU1SLE1BQU0sQ0FTSixXQUFXLENBSVQsSUFBSSxDQUFDO0VBQ0gsSUFBSSxFekM3RFYsT0FBTztDeUM2RGtCOztBQWpGckMsQUFtRlEsU0FuRkMsQ0FlUCxLQUFLLENBRUgsT0FBTyxDQUtMLENBQUMsQUE2REUsTUFBTSxDQUFDO0VBQ04sWUFBWSxFekNoRVYsT0FBTztDeUNvRXFDOztBQXhGeEQsQUF1RmMsU0F2RkwsQ0FlUCxLQUFLLENBRUgsT0FBTyxDQUtMLENBQUMsQUE2REUsTUFBTSxDQUVMLFFBQVEsQ0FDTixVQUFVLENBQ1IsTUFBTSxDQUFDO0VBQ0wsU0FBUyxFQUFFLHNCQUFvQjtDQUFHOztBakR0RmhELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWlERnJDLEFBMkZVLFNBM0ZELENBZVAsS0FBSyxDQUVILE9BQU8sQ0FLTCxDQUFDLENBcUVHLE1BQU0sQ0FBQztJQUNMLE9BQU8sRUFBRSxJQUFJO0dBQUc7RUE1RjVCLEFBOEZVLFNBOUZELENBZVAsS0FBSyxDQUVILE9BQU8sQ0FLTCxDQUFDLENBd0VHLEtBQUssQ0FBQztJQUNKLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLE9BQU8sRUFBRSxTQUFTO0dBQUc7RUFoR2pDLEFBa0dVLFNBbEdELENBZVAsS0FBSyxDQUVILE9BQU8sQ0FLTCxDQUFDLENBNEVHLFFBQVEsQ0FBQztJQUNQLEtBQUssRUFBRSxpQkFBaUI7R0FTQTtFQTVHcEMsQUFxR1ksU0FyR0gsQ0FlUCxLQUFLLENBRUgsT0FBTyxDQUtMLENBQUMsQ0E0RUcsUUFBUSxBQUdMLFdBQVcsQ0FBQztJQUNYLEtBQUssRUFBRSxpQkFBaUI7R0FBRztFQXRHekMsQUF3R1ksU0F4R0gsQ0FlUCxLQUFLLENBRUgsT0FBTyxDQUtMLENBQUMsQ0E0RUcsUUFBUSxDQU1OLEVBQUUsQ0FBQztJQUNELFNBQVMsRUFBRSxNQUFNO0dBQUc7RUF6R2xDLEFBMkdZLFNBM0dILENBZVAsS0FBSyxDQUVILE9BQU8sQ0FLTCxDQUFDLENBNEVHLFFBQVEsQ0FTTixVQUFVLENBQUM7SUFDVCxTQUFTLEVBQUUsTUFBTTtHQUFHOzs7QUU1R2xDLEFBQUEsY0FBYyxDQUFDO0VBQ2IsT0FBTyxFQUFFLE1BQU07Q0F3RDJCOztBQXpENUMsQUFFRSxjQUZZLEdBRVgsQ0FBQyxDQUFDO0VBQ0QsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEUzQ1FHLE9BQU87RTJDUGYsV0FBVyxFdkRVTCxHQUFHO0V1RFRULE1BQU0sRUFBRSxRQUFRO0NBQUc7O0FBUHZCLEFBU0UsY0FUWSxDQVNaLEVBQUUsQ0FBQztFQUNELFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLENBQUM7Q0E2QzZCOztBQXpEMUMsQUFjSSxjQWRVLENBU1osRUFBRSxDQUtBLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDM0NGYix5QkFBTztDMkMwQ2dCOztBQXpEeEMsQUFtQk0sY0FuQlEsQ0FTWixFQUFFLENBS0EsRUFBRSxDQUtBLENBQUMsQ0FBQztFbERsQk4sT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLElBQUk7RWJNUCx1QkFBb0IsRStEV04sYUFBYTtFL0ROM0Isb0JBQWlCLEUrRE1ILGFBQWE7RS9ERDNCLG1CQUFnQixFK0RDRixhQUFhO0UvRFgzQixtQkFBb0IsRStEV1MsVUFBVTtFL0ROdkMsZ0JBQWlCLEUrRE1ZLFVBQVU7RS9ERHZDLGVBQWdCLEUrRENhLFVBQVU7RWxEYjdDLGVBQWUsRWtEYUssYUFBYTtFbERaakMsV0FBVyxFa0RZd0IsVUFBVTtFQUN2QyxlQUFlLEVBQUUsSUFBSTtFQUNyQixLQUFLLEUzQ1BJLE9BQU87RTJDUWhCLE9BQU8sRUFBRSxNQUFNO0VBQ2YsVUFBVSxFQUFFLFVBQVU7Q0E0Qm9COztBQXBEbEQsQUEwQlEsY0ExQk0sQ0FTWixFQUFFLENBS0EsRUFBRSxDQUtBLENBQUMsQ0FPQyxDQUFDLENBQUM7RUFDQSxNQUFNLEVBQUUsQ0FBQztFQUNULEtBQUssRUFBRSxpQkFBaUI7Q0FBRzs7QUE1QnJDLEFBOEJRLGNBOUJNLENBU1osRUFBRSxDQUtBLEVBQUUsQ0FLQSxDQUFDLENBV0MsTUFBTSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLEdBQUc7RUFDVixHQUFHLEVBQUUsR0FBRztFQUNSLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLEtBQUssRUFBRSxHQUFHO0VBQ1YsU0FBUyxFQUFFLG9CQUFrQjtFQUM3QixVQUFVLEVBQUUsY0FBYztDQVVBOztBQS9DcEMsQUF1Q1UsY0F2Q0ksQ0FTWixFQUFFLENBS0EsRUFBRSxDQUtBLENBQUMsQ0FXQyxNQUFNLENBU0osR0FBRyxDQUFDO0VBQ0YsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsSUFBSTtFQUNoQixnQkFBZ0IsRUFBRSxNQUFNO0VBQ3hCLFNBQVMsRUFBRSxjQUFjO0NBSUg7O0FBL0NsQyxBQThDYyxjQTlDQSxDQVNaLEVBQUUsQ0FLQSxFQUFFLENBS0EsQ0FBQyxDQVdDLE1BQU0sQ0FTSixHQUFHLEFBTUEsV0FBVyxDQUNWLElBQUksQ0FBQztFQUNILElBQUksRTNDakNaLE9BQU87QzJDaUNlOztBQS9DOUIsQUFpRFEsY0FqRE0sQ0FTWixFQUFFLENBS0EsRUFBRSxDQUtBLENBQUMsQUE4QkUsTUFBTSxDQUFDO0VBQ04sS0FBSyxFM0NwQ1AsT0FBTztDMkNzQ2lDOztBQXBEaEQsQUFtRFUsY0FuREksQ0FTWixFQUFFLENBS0EsRUFBRSxDQUtBLENBQUMsQUE4QkUsTUFBTSxDQUVMLE1BQU0sQ0FBQztFQUNMLFNBQVMsRUFBRSxzQkFBb0I7Q0FBRzs7QUFwRDlDLEFBdURRLGNBdkRNLENBU1osRUFBRSxDQUtBLEVBQUUsQUF3Q0MsT0FBTyxDQUNOLENBQUMsQ0FBQztFQUNBLEtBQUssRTNDM0NILE9BQU87RTJDNENULFdBQVcsRXZEekNYLEdBQUc7Q3VEeUN1Qjs7QUN6RHBDLEFBQUEsa0JBQWtCLENBQUM7RUFDakIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsUUFBUSxFQUFFLE1BQU07Q0FzSFE7O0FBeEgxQixBQUlFLGtCQUpnQixDQUloQixtQkFBbUIsQ0FBQztFQUNsQixnQkFBZ0IsRTVDVUgsT0FBTztFNENUcEIsT0FBTyxFQUFFLElBQUksQ3ZEcUJQLFdBQThDO0V1RHBCcEQsZUFBZSxFQUFFLElBQUk7RUFDckIsT0FBTyxFQUFFLElBQUk7RUFDYixLQUFLLEVBQUUsSUFBSTtDQThCZ0M7O0FBdkMvQyxBQVdJLGtCQVhjLENBSWhCLG1CQUFtQixDQU9qQixNQUFNLENBQUM7RUFDTCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRztFQUNSLElBQUksRUFBRSxHQUFHO0VBQ1QsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFNBQVMsRUFBRSxvQkFBa0I7RUFDN0IsVUFBVSxFQUFFLGNBQWM7Q0FVSjs7QUE3QjVCLEFBcUJNLGtCQXJCWSxDQUloQixtQkFBbUIsQ0FPakIsTUFBTSxDQVVKLEdBQUcsQ0FBQztFQUNGLFVBQVUsRUFBRSxJQUFJO0NBQUc7O0FBdEIzQixBQXdCTSxrQkF4QlksQ0FJaEIsbUJBQW1CLENBT2pCLE1BQU0sQ0FhSixXQUFXLENBQUM7RUFDVixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxhQUFhO0VBQ3hCLGdCQUFnQixFQUFFLE1BQU07Q0FFTjs7QUE3QjFCLEFBNEJRLGtCQTVCVSxDQUloQixtQkFBbUIsQ0FPakIsTUFBTSxDQWFKLFdBQVcsQ0FJVCxJQUFJLENBQUM7RUFDSCxJQUFJLEVBQUUsS0FBSztDQUFHOztBQTdCeEIsQUErQkksa0JBL0JjLENBSWhCLG1CQUFtQixDQTJCakIsQ0FBQyxDQUFDO0VBQ0EsU0FBUyxFQUFFLE1BQU07RUFDakIsS0FBSyxFQUFFLEtBQUs7RUFDWixNQUFNLEVBQUUsQ0FBQztFQUNULFdBQVcsRXhEbkJQLEdBQUc7Q3dEbUJtQjs7QUFuQ2hDLEFBc0NNLGtCQXRDWSxDQUloQixtQkFBbUIsQUFpQ2hCLE1BQU0sQ0FDTCxNQUFNLENBQUM7RUFDTCxTQUFTLEVBQUUsdUJBQXFCO0NBQUc7O0FBdkMzQyxBQXlDRSxrQkF6Q2dCLENBeUNoQixjQUFjLENBQUM7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLEtBQUssRXZEbEJDLEdBQThDO0V1RG1CcEQsY0FBYyxFQUFFLEdBQUc7Q0FBRzs7QUE5QzFCLEFBZ0RFLGtCQWhEZ0IsQ0FnRGhCLGdCQUFnQixDQUFDO0VBQ2YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEV2RHpCQyxHQUE4QztFdUQwQnBELE9BQU8sRUFBRSxNQUFNO0VBQ2YsY0FBYyxFQUFFLEdBQUc7Q0FpQlk7O0FBdkVuQyxBQXdESSxrQkF4RGMsQ0FnRGhCLGdCQUFnQixBQVFiLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxLQUFLO0VBQ1osTUFBTSxFQUFFLEtBQUs7RUFDYixnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLEtBQUssRUFBRSxDQUFDO0VBQ1IsR0FBRyxFQUFFLENBQUM7Q0FBRzs7QUFqRWYsQUFxRVEsa0JBckVVLENBZ0RoQixnQkFBZ0IsQ0FtQmQsY0FBYyxBQUNYLGdCQUFnQixDQUNmLFFBQVEsQ0FBQztFQUNQLFdBQVcsRUFBRSxDQUFDO0VBQ2QsVUFBVSxFQUFFLElBQUk7Q0FBRzs7QXBEckUzQixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VvREZyQyxBQTJFSSxrQkEzRWMsQ0EyRWQsU0FBUyxDQUFDO0lBQ1IsS0FBSyxFQUFFLElBQUk7SW5EM0VmLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxJQUFJO0liTVAsdUJBQW9CLEVnRW9FUixVQUFVO0loRS9EdEIsb0JBQWlCLEVnRStETCxVQUFVO0loRTFEdEIsbUJBQWdCLEVnRTBESixVQUFVO0loRXBFdEIsbUJBQW9CLEVnRW9FSSxVQUFVO0loRS9EbEMsZ0JBQWlCLEVnRStETyxVQUFVO0loRTFEbEMsZUFBZ0IsRWdFMERRLFVBQVU7SW5EdEV4QyxlQUFlLEVtRHNFRyxVQUFVO0luRHJFNUIsV0FBVyxFbURxRW1CLFVBQVU7SWhFcEVsQyxpQkFBb0IsRWFHRyxJQUFJO0liTzNCLGFBQWdCLEVhUE8sSUFBSTtJYkgzQixzQkFBb0IsRWFJUSxHQUFHO0liTS9CLGtCQUFnQixFYU5ZLEdBQUc7SWJKL0IsaUJBQW9CLEVhS0csR0FBRyxDQUFDLElBQUk7R21EZ0VaO0VBOUUzQixBQWdGSSxrQkFoRmMsQ0FnRmQsbUJBQW1CLENBQUM7SWhFdkVoQixhQUFvQixFZ0V3RVAsQ0FBQztJaEU5RGQsU0FBZ0IsRWdFOERILENBQUM7SW5EL0RwQixLQUFLLEVtRCtEYyxDQUFDO0luRGhGcEIsT0FBTyxFQUFFLFdBQVc7SUFDcEIsT0FBTyxFQUFFLFlBQVk7SUFDckIsT0FBTyxFQUFFLElBQUk7SWJNUCx1QkFBb0IsRWdFeUVSLFVBQVU7SWhFcEV0QixvQkFBaUIsRWdFb0VMLFVBQVU7SWhFL0R0QixtQkFBZ0IsRWdFK0RKLFVBQVU7SWhFekV0QixtQkFBb0IsRWdFeUVJLE1BQU07SWhFcEU5QixnQkFBaUIsRWdFb0VPLE1BQU07SWhFL0Q5QixlQUFnQixFZ0UrRFEsTUFBTTtJbkQzRXBDLGVBQWUsRW1EMkVHLFVBQVU7SW5EMUU1QixXQUFXLEVtRDBFbUIsTUFBTTtHQUFJO0VBbEYxQyxBQW9GSSxrQkFwRmMsQ0FvRmQsZ0JBQWdCLENBQUM7SWhFM0ViLGFBQW9CLEVnRTRFUCxDQUFDO0loRWxFZCxTQUFnQixFZ0VrRUgsQ0FBQztJbkRuRXBCLEtBQUssRW1EbUVjLENBQUM7SUFDaEIsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsSUFBSSxDdkQ1RFQsV0FBOEM7R3VENERwQjtFQXZGcEMsQUF5Rkksa0JBekZjLENBeUZkLGNBQWMsQ0FBQztJaEVoRlgsYUFBb0IsRWdFaUZQLENBQUM7SWhFdkVkLFNBQWdCLEVnRXVFSCxDQUFDO0luRHhFcEIsS0FBSyxFbUR3RWMsQ0FBQztJQUNoQixnQkFBZ0IsRTVDakVSLHdCQUFPO0k0Q2tFZixLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxJQUFJLEN2RGxFVCxXQUE4QztHdURrRXBCOzs7QUE3RnBDLEFBZ0dJLGtCQWhHYyxBQStGZixjQUFjLENBQ2IsaUJBQWlCLENBQUM7RUFDaEIsT0FBTyxFQUFFLElBQUk7RUFDYixPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLENBQUM7RUFDUixLQUFLLEVBQUUsR0FBRztFQUNWLE1BQU0sRUFBRSxJQUFJO0VBQ1osaUJBQWlCLEVBQUUsU0FBUztFQUM1QixtQkFBbUIsRUFBRSxZQUFZO0VBQ2pDLGVBQWUsRUFBRSxLQUFLO0NBQUc7O0FBMUcvQixBQTRHSSxrQkE1R2MsQUErRmYsY0FBYyxDQWFiLGdCQUFnQixDQUFDO0VBQ2YsS0FBSyxFdkRsRkQsWUFBOEM7Q3VEa0YzQjs7QXBEM0czQixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VvREZyQyxBQWdITSxrQkFoSFksQUErRmYsY0FBYyxDQWlCWCxjQUFjLENBQUM7SUFDYixPQUFPLEVBQUUsSUFBSTtHQUFHO0VBakh4QixBQWtITSxrQkFsSFksQUErRmYsY0FBYyxDQW1CWCxnQkFBZ0IsQ0FBQztJQUNmLEtBQUssRUFBRSxJQUFJO0dBQUc7RUFuSHRCLEFBb0hNLGtCQXBIWSxBQStGZixjQUFjLENBcUJYLGlCQUFpQixDQUFDO0lBQ2hCLE9BQU8sRUFBRSxJQUFJO0dBQUc7OztBcERuSHRCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RW9ERnJDLEFBQUEsa0JBQWtCLENBQUM7SUF3SGYsV0FBVyxFQUFFLElBQUk7R0FBSzs7O0FFeEgxQjs7c0ZBRXNGO0FBRXRGLEFBRUksS0FGQyxDQUNILE1BQU0sQUFDSCxNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsSUFBSTtDQUFHOztBRVB0QixBQUNFLFFBRE0sQ0FDTixnQkFBZ0IsQ0FBQztFQUNmLGNBQWMsRUFBRSxDQUFDO0NBQUc7O0FBRnhCLEFBSUUsUUFKTSxDQUlOLGFBQWEsQ0FBQyxTQUFTLENBQUM7RUFDdEIsV0FBVyxFQUFFLENBQUM7Q0FBRzs7QUFMckIsQUFVUSxRQVZBLEFBT0wsR0FBRyxDQUNGLGdCQUFnQixDQUNkLGNBQWMsQ0FDWixNQUFNLENBQUM7RUFDTCxPQUFPLEVBQUUsSUFBSTtDQUFHOztBQVgxQixBQWFRLFFBYkEsQUFPTCxHQUFHLENBQ0YsZ0JBQWdCLENBQ2QsY0FBYyxDQUlaLFFBQVEsQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFQUFFLEtBQUs7Q0FBRzs7QUNmN0I7O3FGQUVxRjtBQUNyRixBQUVFLFFBRk0sQ0FFTixJQUFJLENBQUM7RUFDSCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxLQUFLO0NBQUc7O0FBSnBCLEFBTUUsUUFOTSxDQU1OLGdCQUFnQixDQUFDO0VBQ2YsUUFBUSxFQUFFLFFBQVE7Q0E4SE87O0FBckk3QixBQVVJLFFBVkksQ0FNTixnQkFBZ0IsQUFJYixNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxDQUFDO0VBQ1IsR0FBRyxFQUFFLENBQUM7RUFDTixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLElBQUk7RUFDWixnQkFBZ0IsRWpETkwsT0FBTztDaURNaUI7O0FBbEJ6QyxBQW9CSSxRQXBCSSxDQU1OLGdCQUFnQixDQWNkLGFBQWEsRUFwQmpCLFFBQVEsQ0FNTixnQkFBZ0IsQ0FjQyxhQUFhLENBQUM7RUFDM0IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7Q0FBRzs7QUF0Qm5CLEFBeUJJLFFBekJJLENBTU4sZ0JBQWdCLENBbUJkLGFBQWEsQ0FBQztFQUNaLEtBQUssRTVERkQsWUFBOEM7RTRER2xELE9BQU8sRUFBRSxZQUFZO0NBOERBOztBQXpGM0IsQUE2Qk0sUUE3QkUsQ0FNTixnQkFBZ0IsQ0FtQmQsYUFBYSxDQUlYLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRWpEdEJELE9BQU87RWlEdUJYLE1BQU0sRUFBRSxRQUFRO0U1Q25DdEIsV0FBVyxFQUFFLG1CQUFtQjtFQUloQyxXQUFXLEVBQUUsR0FBRztDNENnQ1c7O0FBbEM3QixBQW9DTSxRQXBDRSxDQU1OLGdCQUFnQixDQW1CZCxhQUFhLENBV1gsTUFBTSxDQUFDO0VBQ0wsVUFBVSxFQUFFLElBQUk7RUFDaEIsS0FBSyxFQUFFLElBQUk7Q0FHTzs7QUF6QzFCLEFBd0NRLFFBeENBLENBTU4sZ0JBQWdCLENBbUJkLGFBQWEsQ0FXWCxNQUFNLENBSUosR0FBRyxDQUFDO0VBQ0YsS0FBSyxFQUFFLElBQUk7Q0FBRzs7QUF6Q3hCLEFBMkNNLFFBM0NFLENBTU4sZ0JBQWdCLENBbUJkLGFBQWEsQ0FrQlgsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFakRuQ0wsT0FBTztFaURvQ1AsT0FBTyxFQUFFLEdBQUc7RUFDWixjQUFjLEVBQUUsU0FBUztFQUN6QixXQUFXLEU3RHBDVCxHQUFHO0U2RHFDTCxNQUFNLEVBQUUsWUFBWTtDQUFHOztBQWxEL0IsQUFxRE0sUUFyREUsQ0FNTixnQkFBZ0IsQ0FtQmQsYUFBYSxDQTRCWCxDQUFDLENBQUM7RUFDQSxTQUFTLEVBQUUsTUFBTTtFQUNqQixLQUFLLEVqRDVDTCx5QkFBTztDaURxRG9COztBQWhFbkMsQUF5RFEsUUF6REEsQ0FNTixnQkFBZ0IsQ0FtQmQsYUFBYSxDQTRCWCxDQUFDLENBSUMsQ0FBQyxDQUFDO0VBQ0EsS0FBSyxFakQvQ1AsT0FBTztFaURnREwsV0FBVyxFN0Q5Q1gsR0FBRztFNkQrQ0gsZUFBZSxFQUFFLElBQUk7RUFDckIsVUFBVSxFQUFFLFVBQVU7Q0FHQzs7QUFoRWpDLEFBK0RVLFFBL0RGLENBTU4sZ0JBQWdCLENBbUJkLGFBQWEsQ0E0QlgsQ0FBQyxDQUlDLENBQUMsQUFNRSxNQUFNLENBQUM7RUFDTixLQUFLLEVqRHRETCxPQUFPO0NpRHNEWTs7QUFoRS9CLEFBa0VNLFFBbEVFLENBTU4sZ0JBQWdCLENBbUJkLGFBQWEsQ0F5Q1gsY0FBYyxDQUFDO0VBQ2IsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztDQWVvQjs7QUFwRnRDLEFBdUVRLFFBdkVBLENBTU4sZ0JBQWdCLENBbUJkLGFBQWEsQ0F5Q1gsY0FBYyxDQUtaLEVBQUUsQ0FBQztFQUNELEtBQUssRWpEN0RQLHlCQUFPO0VpRDhETCxTQUFTLEVBQUUsTUFBTTtDQVdTOztBQXBGcEMsQUEyRVUsUUEzRUYsQ0FNTixnQkFBZ0IsQ0FtQmQsYUFBYSxDQXlDWCxjQUFjLENBS1osRUFBRSxDQUlBLElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxZQUFZO0VBQ3JCLEtBQUssRUFBRSxLQUFLO0NBR087O0F6RGpGN0IsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFeURDckMsQUEyRVUsUUEzRUYsQ0FNTixnQkFBZ0IsQ0FtQmQsYUFBYSxDQXlDWCxjQUFjLENBS1osRUFBRSxDQUlBLElBQUksQ0FBQztJQUtELEtBQUssRUFBRSxLQUFLO0dBQUs7OztBQWhGL0IsQUFrRlUsUUFsRkYsQ0FNTixnQkFBZ0IsQ0FtQmQsYUFBYSxDQXlDWCxjQUFjLENBS1osRUFBRSxBQVdDLE9BQU8sQ0FBQztFQUNQLEtBQUssRWpEekVMLE9BQU87RWlEMEVQLFdBQVcsRTdEcEViLEdBQUc7QzZEb0VxQjs7QXpEckZoQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0V5REN0QyxBQXlCSSxRQXpCSSxDQU1OLGdCQUFnQixDQW1CZCxhQUFhLENBQUM7SUErRFYsS0FBSyxFNURoRUgsWUFBOEM7STREaUVoRCxXQUFXLEVBQUUsQ0FBQztHQUFLOzs7QUF6RjNCLEFBMkZJLFFBM0ZJLENBTU4sZ0JBQWdCLENBcUZkLGFBQWEsQ0FBQztFQUNaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFdBQVcsRTVEdEVQLFdBQThDO0U0RHVFbEQsS0FBSyxFNUR2RUQsR0FBOEM7RTREd0VsRCxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEM1RHhFakIsV0FBOEM7RTREeUVsRCxjQUFjLEVBQUUsR0FBRztDQVdBOztBQTVHekIsQUFtR00sUUFuR0UsQ0FNTixnQkFBZ0IsQ0FxRmQsYUFBYSxDQVFYLEVBQUUsQ0FBQztFQUNELE1BQU0sRUFBRSxRQUFRO0VBQ2hCLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRUFBRSxLQUFLO0NBQUc7O0FBdkd2QixBQXlHTSxRQXpHRSxDQU1OLGdCQUFnQixDQXFGZCxhQUFhLEdBY1QsQ0FBQyxDQUFDO0VBQ0YsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFakRqR0wsT0FBTztDaURpR1E7O0F6RDdHckIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFeURDckMsQUFnSE0sUUFoSEUsQ0FNTixnQkFBZ0IsQUEwR1gsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLElBQUk7R0FBRztFQWpIeEIsQUFtSE0sUUFuSEUsQ0FNTixnQkFBZ0IsQ0E2R1osU0FBUyxDQUFDO0lBQ1IsS0FBSyxFQUFFLElBQUk7R0FBRztFQXBIdEIsQUFzSE0sUUF0SEUsQ0FNTixnQkFBZ0IsQ0FnSFosV0FBVyxDQUFDO0lBQ1YsT0FBTyxFQUFFLElBQUk7R0FBRztFQXZIeEIsQUF5SE0sUUF6SEUsQ0FNTixnQkFBZ0IsQ0FtSFosYUFBYSxDQUFDO0lBQ1osS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsSUFBSSxDNURuR1gsV0FBOEMsQzREbUdwQixLQUFLO0dBSVY7RUEvSC9CLEFBOEhRLFFBOUhBLENBTU4sZ0JBQWdCLENBbUhaLGFBQWEsQ0FLWCxFQUFFLENBQUM7SUFDRCxVQUFVLEVBQUUsSUFBSTtHQUFHO0VBL0g3QixBQWlJTSxRQWpJRSxDQU1OLGdCQUFnQixDQTJIWixhQUFhLENBQUM7SUFDWixnQkFBZ0IsRWpEdEhQLE9BQU87SWlEdUhoQixLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRTVENUdYLFdBQThDO0k0RDZHaEQsV0FBVyxFQUFFLENBQUM7R0FBRzs7O0FDeEl6QixBQUNFLElBREUsQUFBQSxRQUFRLENBQ1YsZ0JBQWdCLENBQUM7RUFDZixPQUFPLEVBQUUsWUFBWTtDQUlNOztBQU4vQixBQUtNLElBTEYsQUFBQSxRQUFRLENBQ1YsZ0JBQWdCLENBR2QsY0FBYyxBQUFBLGdCQUFnQixDQUM1QixRQUFRLENBQUM7RUFDUCxVQUFVLEVBQUUsSUFBSTtDQUFHOztBQ04zQixBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLE9BQU8sRUFBRSxhQUFhO0VBQ3RCLGdCQUFnQixFbkR3QkosT0FBTztDbURKakI7O0FBdEJKLEFBS0ksbUJBTGUsQ0FJakIsU0FBUyxDQUNQLFlBQVksQ0FBQztFQUNYLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLE1BQU07Q0FBRzs7QUFQM0IsQUFTSSxtQkFUZSxDQUlqQixTQUFTLENBS1AsWUFBWSxDQUFDO0VBQ1gsU0FBUyxFQUFFLEtBQUs7RUFDaEIsTUFBTSxFQUFFLElBQUk7Q0FBRzs7QUNYckI7O3FGQUVxRjtBQUNyRixBQUNFLFFBRE0sQ0FDTixFQUFFLENBQUM7RUFDRCxZQUFZLEVBQUUsSUFBSTtFQUNsQixjQUFjLEVBQUUsSUFBSTtFQUNwQixTQUFTLEVBQUUsTUFBTTtDQUFHOztBQUp4QixBQU1FLFFBTk0sR0FNTCxFQUFFLENBQUM7RUFDRixZQUFZLEVBQUUsSUFBSTtDQUFHOztBQVB6QixBQVVJLFFBVkksQ0FTTixFQUFFLEFBQ0MsT0FBTyxDQUFDO0VBQ1AsR0FBRyxFQUFFLEdBQUc7Q0FBRzs7QUFYakIsQUFhSSxRQWJJLENBU04sRUFBRSxDQUlBLENBQUMsQ0FBQztFQUNBLE9BQU8sRUFBRSxLQUFLO0VBQ2QsbUJBQW1CLEVBQUUsV0FBVztFQUNoQyxtQkFBbUIsRUFBRSxNQUFNO0VBQzNCLE9BQU8sRUFBRSxLQUFLO0NBRStCOztBQW5CbkQsQUFrQk0sUUFsQkUsQ0FTTixFQUFFLENBSUEsQ0FBQyxBQUtFLE1BQU0sQ0FBQztFQUNOLG1CQUFtQixFcERoQmxCLHFCQUFPO0NvRGdCaUM7O0FFdEJqRCxBQUdNLFNBSEcsQUFDTixHQUFHLENBQ0YsYUFBYSxDQUNYLE9BQU8sQ0FBQztFQUNOLEtBQUssRUFBRSxHQUFHO0NBS087O0E5RFB2QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0U4REZ0QyxBQUdNLFNBSEcsQUFDTixHQUFHLENBQ0YsYUFBYSxDQUNYLE9BQU8sQ0FBQztJQUlKLEtBQUssRUFBRSxHQUFHO0dBRUs7OztBOURQdkIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFOERGckMsQUFHTSxTQUhHLEFBQ04sR0FBRyxDQUNGLGFBQWEsQ0FDWCxPQUFPLENBQUM7SUFNSixLQUFLLEVBQUUsR0FBRztHQUFLOzs7QUFUekIsQUFZSSxTQVpLLENBV1AsYUFBYSxDQUNYLFNBQVMsQ0FBQztFQUNSLHFCQUFxQixFQUFFLG1CQUFtQjtDQUFHOztBQWJuRCxBQWVFLFNBZk8sQ0FlUCxlQUFlLENBQUM7RUFDZCxRQUFRLEVBQUUsUUFBUTtDQWFNOztBQTdCNUIsQUFrQkksU0FsQkssQ0FlUCxlQUFlLEFBR1osT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsS0FBSztFQUNiLEtBQUssRUFBRSxJQUFJO0VBQ1gsZ0JBQWdCLEV0RE5WLE9BQU87Q3NEU087O0E5RDNCeEIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFOERGdEMsQUFrQkksU0FsQkssQ0FlUCxlQUFlLEFBR1osT0FBTyxDQUFDO0lBV0wsTUFBTSxFQUFFLEtBQUs7R0FBSzs7O0E5RDNCeEIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFOERGdEMsQUFnQ0ksU0FoQ0ssQ0FnQ0wsYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUN0QixxQkFBcUIsRUFBRSxXQUFXO0dBb0JROzs7QTlEbkQ5QyxNQUFNLENBQUMsTUFBNkIsTUFBakIsU0FBUyxFQUFFLE1BQU0sT0FBakIsU0FBUyxFQUFFLEtBQUs7RThERnJDLEFBZ0NJLFNBaENLLENBZ0NMLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFJcEIsT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsSUFBSTtHQWdCeUI7RUFyRGhELEFBd0NVLFNBeENELENBZ0NMLGFBQWEsQ0FBQyxTQUFTLENBT25CLE9BQU8sR0FDSCxPQUFPLENBQUM7SUFDUixVQUFVLEVBQUUsWUFBWTtHQUFHO0VBekN2QyxBQTJDVSxTQTNDRCxDQWdDTCxhQUFhLENBQUMsU0FBUyxDQU9uQixPQUFPLENBSUwsTUFBTSxDQUFDO0lBQ0wsY0FBYyxFQUFFLElBQUk7R0FBRzs7O0E5RDFDakMsTUFBTSxDQUFDLE1BQTZCLE1BQWpCLFNBQVMsRUFBRSxNQUFNLE9BQWpCLFNBQVMsRUFBRSxLQUFLO0U4REZyQyxBQWdDSSxTQWhDSyxDQWdDTCxhQUFhLENBQUMsU0FBUyxDQUFDO0lBZXBCLHFCQUFxQixFQUFFLE9BQU87R0FNVTs7O0E5RG5EOUMsTUFBTSxDQUFDLE1BQTZCLE1BQWpCLFNBQVMsRUFBRSxNQUFNLE9BQWpCLFNBQVMsRUFBRSxLQUFLO0U4REZyQyxBQWdDSSxTQWhDSyxDQWdDTCxhQUFhLENBQUMsU0FBUyxDQUFDO0lBa0JwQixPQUFPLEVBQUUsS0FBSztHQUcwQjtFQXJEaEQsQUFvRFUsU0FwREQsQ0FnQ0wsYUFBYSxDQUFDLFNBQVMsQ0FtQm5CLE9BQU8sR0FDSCxPQUFPLENBQUM7SUFDUixVQUFVLEVBQUUsZUFBZTtHQUFHOzs7QUNyRDFDLEFBSVEsU0FKQyxDQUNQLGtCQUFrQixDQUNoQixnQkFBZ0IsQ0FDZCxjQUFjLENBQ1osTUFBTSxDQUFDO0VBQ0wsS0FBSyxFQUFFLEtBQUs7Q0FBRzs7QUFMekIsQUFPUSxTQVBDLENBQ1Asa0JBQWtCLENBQ2hCLGdCQUFnQixDQUNkLGNBQWMsQ0FJWixRQUFRLENBQUM7RUFDUCxLQUFLLEVBQUUsa0JBQWtCO0NBQUc7O0EvRE5wQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UrREZyQyxBQVdVLFNBWEQsQ0FDUCxrQkFBa0IsQ0FDaEIsZ0JBQWdCLENBQ2QsY0FBYyxDQVFWLE1BQU0sQ0FBQztJQUNMLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLEtBQUs7SUFDaEIsVUFBVSxFQUFFLENBQUM7R0FBRztFQWQ1QixBQWdCVSxTQWhCRCxDQUNQLGtCQUFrQixDQUNoQixnQkFBZ0IsQ0FDZCxjQUFjLENBYVYsUUFBUSxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7R0FBRzs7O0FFakIxQixBQUNFLFNBRE8sQ0FDUCxrQkFBa0IsQ0FBQztFQUNqQixRQUFRLEVBQUUsUUFBUTtDQThCTTs7QUFoQzVCLEFBSUksU0FKSyxDQUNQLGtCQUFrQixBQUdmLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsS0FBSztFQUNiLEtBQUssRUFBRSxJQUFJO0VBQ1gsZ0JBQWdCLEV6RE9WLE9BQU87Q3lEUGtCOztBQWJyQyxBQWVJLFNBZkssQ0FDUCxrQkFBa0IsQ0FjaEIsU0FBUyxDQUFDO0VBQ1IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7Q0FBRzs7QWpFZmpCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RWlFRnRDLEFBb0JNLFNBcEJHLENBQ1Asa0JBQWtCLEFBbUJiLE1BQU0sQ0FBQztJQUNOLE1BQU0sRUFBRSxLQUFLO0dBQUc7OztBakVuQnRCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWlFRnJDLEFBQ0UsU0FETyxDQUNQLGtCQUFrQixDQUFDO0lBdUJmLFdBQVcsRUFBRSxJQUFJO0dBUUs7RUFoQzVCLEFBMEJNLFNBMUJHLENBQ1Asa0JBQWtCLEFBeUJiLE1BQU0sQ0FBQztJQUNOLE1BQU0sRUFBRSxLQUFLO0dBQUc7OztBakV6QnRCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWlFRnJDLEFBK0JNLFNBL0JHLENBQ1Asa0JBQWtCLEFBOEJiLE1BQU0sQ0FBQztJQUNOLE1BQU0sRUFBRSxLQUFLO0dBQUcifQ== */\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":""}