HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/MeulendijkFijnmetaal/meulendijkfijnmetaal.nl/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/_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/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/grids/_grids.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/grids/_largeBadges.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/grids/_squares.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/_contact.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_default.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_about.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"],"names":[],"mappings":"AAIA,EACE,oDCmDD,KD3CC,eACA,gBCqDD,ID9CC,cACA,YErBA,qEF4BE,4ECyDH,mDDzDG,4EExBF,2DFwBE,4ECmEH,iDDnEG,4ECwEH,ODlEC,SGvBF,UACE,mBACA,iBACA,cACA,YACA,cAOA,mBACE,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,iBFs3BH,CGx9BD,qCDsGE,WACE,WAEF,cACE,iBFw3BH,CGl+BD,oCD8GE,WACE,WAEF,cACE,iBF03BH,CG5+BD,oCDsHE,WACE,WAEF,cACE,iBF43BH,CGj/BD,qCDyFE,WACE,oBAEF,cACE,0BF85BH,CGhgCD,qCDsGE,WACE,oBAEF,cACE,0BFg6BH,CG1gCD,oCD8GE,WACE,oBAEF,cACE,0BFk6BH,CGphCD,oCDsHE,WACE,oBAEF,cACE,0BFo6BH,CGzhCD,qCDyFE,WACE,oBAEF,cACE,0BFs8BH,CGxiCD,qCDsGE,WACE,oBAEF,cACE,0BFw8BH,CGljCD,oCD8GE,WACE,oBAEF,cACE,0BF08BH,CG5jCD,oCDsHE,WACE,oBAEF,cACE,0BF48BH,CInkCH,wBACE,qDACA,oEAKF,cACE,cACA,eACA,cACA,oBAJF,wBAOI,8BACA,aARJ,sCAWM,8BAEJ,yCACE,WACA,kBACA,MACA,eACA,YACA,4BAEF,qBACE,eAEF,oBACE,gBCrCJ,YACE,eACA,QACA,SACA,WACA,YACA,cACA,mBFAA,qCEPF,YAWI,eL6nCD,CGtoCD,qCEFF,YAsBM,gBLwnCH,CG5oCD,qCEFF,YAsBM,iBL8nCH,CGlpCD,oCEFF,YAsBM,gBLooCH,CGxpCD,oCEFF,YAsBM,gBL0oCH,CMtpCH,KACE,mCACA,kCACA,kCASF,KACE,SAEA,4BACA,gBAEA,kEAQF,mBAEI,mBACA,WAHJ,cAEI,mBACA,WAKJ,IACE,UACA,sDAEA,YACE,UAOJ,eACE,4BAMF,QACE,qBACA,kBACA,yBACA,6BAEA,qBACA,gBACA,gBACA,gBACA,WACA,2OAEA,eACE,0FAEF,eACE,kBACA,qBACA,WACA,wDACA,kJArBJ,mBAwBM,WACA,gBAzBN,wBA2BQ,UA3BR,cA8BI,oFACA,yBACA,qBACE,sEAjCN,qBAqCM,QACA,0DACA,iBAvCN,2BA2CQ,oGCnGR,QACE,mBJNA,qCImBE,uBACE,aP+xCH,CG9yCD,qCIkBE,sBACE,aPiyCH,CGzzCD,qCImBE,uBACE,aP2yCH,CG1zCD,qCIkBE,sBACE,aP6yCH,CGr0CD,qCImBE,uBACE,aPuzCH,CGt0CD,qCIkBE,sBACE,aPyzCH,CGj1CD,oCImBE,uBACE,aPm0CH,CGl1CD,oCIkBE,sBACE,aPq0CH,CG71CD,oCImBE,uBACE,aP+0CH,CG91CD,oCIkBE,sBACE,aPi1CH,CQ32CH,YACE,mBACA,eAFF,sBCCE,oBAEA,iCCMM,iCAKA,8BAKA,wDALA,wBAKA,4CDZN,2CACA,kEDRF,cAQI,qBACA,iBACA,gBACA,yBACA,yBACA,gBACA,qBACA,kDAfJ,gBAkBM,iBAEF,mBACE,cACA,qBACA,kBAEF,oBACE,WLxBJ,oCKFF,YA6BI,aRo4CD,CW75CH,OACE,kBACA,UAGA,aAEE,WACA,kBACA,OACA,eACA,QACA,cACA,WACA,YACA,qJACA,WAhBJ,iBAmBI,yCDTI,4BAKA,mDDZN,4CEmBE,4CFzBF,oBAEA,iCCMM,2BAKA,wBAKA,gDDXN,yCEkBE,2BDjBI,sCAKA,mCAKA,2DDZN,oDEqBI,WAGF,uBACE,qBACA,YACA,wBRhCJ,qCQEF,uBAiCQ,cX87CL,CGj+CD,qCQEF,uBAoCQ,YApCR,2BAsCU,gBXm8CP,CWj8CG,2BACE,WACA,gBA1CR,qBAgDM,kBAEA,wBFrDJ,oBAEA,iCCMM,iCAKA,8BAKA,wDALA,wBAKA,4CDZN,2CACA,kEEgDM,gBACA,SACA,UAtDR,2BAyDU,kBAzDV,6BA4DY,qBACA,eACA,gBACA,gBACA,cCnEV,6BACA,gBACA,2CDoEU,kDRrEV,oCQEF,6BAsEc,gBXo9CX,CG5hDD,qCQEF,2BAyEY,kBXu9CT,CWr9CO,wCACE,eA5EZ,mCAgFc,cAhFd,oCAoFc,kBACA,gBACA,cACA,UAvFd,0CA0FgB,WACA,kBACA,OACA,YACA,WACA,WACA,mBRlGd,oCQEF,OAmGI,aX49CD,Ca/jDH,OACE,mBADF,iBAII,oBAJJ,iBAOI,mBAPJ,yBAUM,gBACA,yBACA,2CDdJ,gBACA,sBCeI,gBAEF,yCACE,gBACA,cAEJ,gBACE,mBVvBF,qCUEF,gBAyBM,mBACA,wBbklDH,CahlDC,uBACE,YACA,mBA9BN,yBAiCQ,gBAEF,2BACE,YACA,gBACA,kBAtCR,uBA2CQ,iBACA,cACA,qBACA,iBA9CR,kBAiDM,gBACA,gBACA,WACA,qBACA,kDArDN,wBAwDQ,yBAEN,cACE,UAGA,wBACE,WAEF,6CACE,UACA,mBAnEN,iBAsEM,gBACA,UACA,mBAxEN,sBA6EU,qBACA,kDA9EV,4BAiFY,yBAjFZ,6BAqFY,WACA,gBVxFV,oCUEF,8BA0FM,mBACA,wBA3FN,cA8FM,gBb8lDH,CG9rDD,oCUEF,iBAkGM,eACA,0BAEF,cACE,gBAtGN,oBAwGQ,WACA,mBAEF,yBACE,WbomDL,CahtDH,mBAqHI,yBACA,eAtHJ,0CA0HQ,mBACA,gCJ5HN,iCCMM,sCAKA,mCAKA,6DALA,wBAKA,gDDZN,oDACA,kEI0HE,0CACE,gBACA,cACA,WAjIN,qBAoIM,oBACA,WArIN,qBAyIM,qBAzIN,0BA4IM,sCJ7IJ,iCCMM,sCAKA,mCAKA,6DALA,wBAKA,gDDZN,oDACA,kEI0II,gBACA,cACA,YACA,WACA,sDAlJN,gCAqJQ,WAEF,+BACE,kBACA,QACA,qBACA,WACA,YAEE,uCACA,wBACA,wBACA,4BVnKR,oCUEF,mBAoKM,oBApKN,0CAuKU,cACA,kBAEJ,qBACE,qBAEF,0BACE,Yb8nDL,CG9yDD,qCUEF,OAiLI,iBAjLJ,iBJHE,oBAEA,iCCMM,mCAKA,gCAKA,8DALA,4BAKA,kDDZN,+CACA,oECCM,uBAUA,0CGuKF,oBACA,WAEF,kBACE,WACA,sBACA,iBACA,kBAEA,wBACE,aAGF,2BH9LE,gBAUA,YGsLA,wCACA,iBAEF,iDACE,aAzMR,oBA4MQ,qBAEF,yCACE,mBA/MR,0CAoNU,WbspDP,Cc92DH,4BAEI,gBACA,SACA,UAJJ,+BAOM,cACA,WACA,WACA,sBACA,mBCPN,gDAEI,iBACA,gBACA,2CHNF,gBACA,sBGCF,qEAQM,cAEJ,gCACE,iBAXJ,gBAcI,cAdJ,uBAiBM,cAjBN,gBAoBI,gBACA,gBACA,cACA,yBAEF,eACE,gBACA,gBACA,cA5BJ,gBA+BI,eACA,gBAEA,mBACE,kBACA,kBACA,gBACA,gBACA,cAvCN,0BA0CQ,kBACA,OACA,QACA,gBACA,cACA,gBACA,cAhDR,sBAmDQ,eAnDR,gBAsDI,yBACA,eACA,gBAxDJ,mBA0DM,kBACA,gBACA,gBACA,cA7DN,0BAgEQ,6BACA,gCACA,kBACA,OACA,cApER,sBAuEQ,eAEN,eACE,cAGA,qBACE,cACA,qBCnFN,MACE,cACA,WACA,gBACA,eACA,gBAEA,oBACE,kBACA,mBATJ,qBAYI,aACA,WACA,yBACA,iBACA,gBAhBJ,4BAmBM,cACA,mBAEJ,yBACE,cACA,kBACA,WACA,eACA,yBACA,gBA5BJ,2BA+BI,cACA,WACA,mCACA,kBAEA,sBAEA,eACA,WACA,wEfvCF,iFe0CI,mCfxCJ,+DewCI,mCftCJ,uEesCI,mCfpCJ,6DeoCI,mCA3CN,uCA8CM,qBA9CN,uCAiDM,oCAEF,0RACE,oGACA,6BACA,sDAEF,uCACE,wCACA,aAEJ,eACE,iBACA,gBA9DJ,8BAkEM,kBACA,cAnEN,oBAsEM,kBACA,WACA,SACA,qBACA,QACA,SACA,mBACA,uBACA,0CACA,WACA,oBAEF,qBACE,cACA,mCNtEE,qBAKA,oBAKA,mBAKA,gBMyDF,4BACA,sBACA,4BACA,6BACA,kBACA,eACA,cAEA,2BACE,wCACA,aAhGR,sBPCE,oBAEA,iCCMM,sCAKA,mCAKA,iEALA,4BAKA,oDDZN,oDACA,oEO8FI,eAtGN,4BNSQ,wBAKA,qBAKA,oBAKA,mBAKA,gBM6EA,SACA,WACA,YACA,mBACA,UACA,YACA,oCACA,wBACA,wBACA,4BACA,wEAEA,kCACE,oCAvHV,oCA0HU,+CACA,oCA3HV,2BA8HQ,cACA,eACA,wBAhIR,cAmII,gBAnIJ,oBAsIM,aAEF,sBACE,cACA,YACA,iBACA,eACA,gBACA,sBACA,yBACA,cAhJN,6BAkJQ,iBAEA,kCACE,aCrJV,cACE,WACA,iBACA,kFAHF,2BAMI,kBACA,WACA,YAEA,wCACE,kBACA,UACA,WACA,SACA,sBdbJ,qCcFF,wCAkBQ,oBjB2sEL,CiB7tEH,kDAqBQ,kBAEA,aACA,WACA,YACA,eACA,mBACA,4DAEA,yGR7BN,oBAEA,iCCMM,+BAKA,4BAKA,sDALA,wBAKA,+CDZN,4CACA,kEQsBM,uDAEE,YACA,WACA,wDACA,kJAnCV,mEAsCY,kBACA,WACA,YACA,wDACA,wEACE,UAEN,2DACE,yBACA,sBAGE,4EACE,wDAnDd,iEAsDY,yBAEJ,uDACE,yBACA,qBAIE,wEACE,0DAEJ,6DACE,yBAlEZ,kCAuEM,kBACA,UACA,MACA,OACA,WACA,YACA,UACA,sDA9EN,uCAiFQ,kBACA,MACA,OACA,WACA,YACA,sBACA,wBAEA,6CACE,adxFR,oCcFF,8CA8FY,aAEF,6CACE,cjB2uET,CiB50EH,yCAoGQ,UACA,UCpGR,gBACE,eACA,aACA,SACA,OACA,eACA,WACA,yBACA,UACA,wFACA,kMACA,wDAXF,yBAcI,aAEF,+BACE,UACA,sEAlBJ,0BAqBI,kBArBJ,kGAwBM,iBACA,gBACA,WA1BN,4BA6BM,qBACA,sBACA,SA/BN,8BAkCQ,0BAlCR,wCAqCM,qBACA,sBACA,iBACA,iBACA,oCACA,kBACA,ef1CJ,oCe6CI,4BACE,gBlB81EL,CG54ED,oCeiDI,4BACE,cACA,eApDR,wCAuDQ,gBlBi2EL,CkB91EH,wBACE,eACA,aACA,MACA,2BT5DA,iCCMM,+BAKA,4BAKA,sDALA,wBAKA,+CDZN,4CACA,kESyDA,WACA,YACA,gCACA,UACA,sDAVF,iCAaI,aAbJ,uCAgBI,UAhBJ,qCAmBI,iBACA,mBACA,cACA,gBACA,iBACA,kBACA,sBAEA,wCACE,iBACA,cACA,gBACA,eACA,cAhCN,uCAmCM,gBACA,gBACA,SACA,WAEF,2FACE,cACA,mBACA,eACA,0BA5CN,2DA+CM,qBACA,gBACA,kBACA,kBACA,yBACA,gGACA,gBACA,gBACA,WACA,eAxDN,iEA2DQ,yBfpHN,qCeyDF,qCA8DM,2BACA,clBu3EH,CG/+ED,oCe2EA,qCAgDI,WlB03EH,CkBx3ED,6CACE,cAEA,kDACE,aAEJ,kDACE,cACA,cA5EJ,+DT1DE,oBAEA,iCCMM,sCAKA,mCAKA,iEALA,4BAKA,oDDZN,oDACA,oESmII,WAEA,4EACE,gBAnFR,qET1DE,oBAEA,iCCMM,+BAKA,4BAKA,sDALA,wBAKA,+CDZN,4CACA,kES0IM,WACA,YAxFR,4EA2FU,WACA,cA5FV,qEA+FQ,cACA,wBAhGR,uEAmGU,gBACA,gBACA,iBACA,SACA,wBAEA,8EACE,qBACA,cACA,gBAEA,mFACE,mBAGN,qFCpKN,uDACA,0BACA,WACA,YD+CF,qFClDE,2DACA,0BACA,WACA,YD+CF,yCA0HI,aA1HJ,8CA6HM,cA7HN,kDAgIM,iBAhIN,sDT1DE,oBAEA,iCCMM,sCAKA,mCAKA,iEALA,4BAKA,oDDZN,oDACA,oESuLI,WACA,gBACA,eAtIN,mEAyIQ,gBAzIR,4DA4IQ,eACA,cC/LN,+DACA,0BACA,WACA,oCTEM,qBAKA,oBAKA,mBAKA,gBQ8BR,oEAkJU,4BAlJV,kEAqJU,aACA,wCAtJV,2DAyJQ,cACA,wBACA,gBACA,iBACA,wBAEA,kEACE,gBACA,cAEA,uEACE,mBApKZ,+DAuKQ,oBACA,mBAxKR,qEA2KU,WErOV,eACE,mBACA,oBACA,gCACA,WAJF,4BAOI,WACA,cAGE,oDACE,gBACA,iBACA,gBAdR,mDAiBQ,gBACA,gBAlBR,0CAqBM,cACA,mBAEA,uDXxBJ,oBAEA,iCCMM,sCAKA,mCAKA,iEALA,4BAKA,oDDZN,oDACA,oEWmBM,WACA,gBACA,eA5BR,oEA+BU,gBAEF,6DACE,eACA,sCVtBF,qBAKA,oBAKA,mBAKA,gBSpBN,+DACA,0BACA,WACA,YCXF,mEAwCY,aACA,wCAzCZ,qEA4CY,4BA5CZ,4DA+CU,cACA,wBACA,gBACA,gBjBjDR,oCiBDF,4DAqDY,wBpBksFT,CoBhsFO,mEACE,gBAEA,wEACE,mBAGN,gEACE,oBACA,mBAhEV,kDAmEM,qBACA,kBACA,kBACA,yBACA,gGAEA,gBACA,gBACA,WACA,eAEA,wDACE,yBA/ER,0DAkFQ,WC7EN,8BACE,gBAEF,yBXAM,2BAKA,wBAKA,gDDXN,yCaRF,yDbCE,oBAEA,iCCMM,sCAKA,mCAKA,2DDZN,oDaPF,gCACE,kBACA,0CZYM,4BAKA,mDDXN,4CYJF,yCCCI,mBACA,UnBJF,oCkBEF,gCCKI,cACA,yCACE,qBACA,SDRN,wDCWQ,mBtBo0FL,CqB/0FH,qCEDI,WACA,aACA,2CACE,cpBJJ,qCkBEF,2CEMQ,aFNR,4CEQQ,cvB01FL,CGp2FD,oCoBaI,4CACE,aFZR,2CEcQ,cvB81FL,CwBh3FH,6BACE,sCfEA,iCCMM,sCAKA,mCAKA,iEALA,4BAKA,oDDZN,oDACA,oEYJF,oCGCI,UHDJ,wCGIM,WAEA,8CACE,arBTN,oCkBEF,+CGWU,aAEF,8CACE,cxBm4FP,CwBj4FC,6CACE,mBAEJ,sCddM,gBAUA,YcMJ,mBAGA,+DdnBI,gBAUA,YcYJ,iEdtBI,gBAUA,YPjBN,oCqBFF,6BAmCI,cH/BJ,oCGkCM,WACA,gCdpBE,YcuBJ,sCACE,WxB+4FH,CqBt7FH,+BZHE,oBAEA,iCCMM,sCAKA,mCAKA,iEALA,4BAKA,oDDZN,oDACA,oECCM,uBAUA,0CWfR,sCICI,mBJDJ,0CIIM,WACA,aJLN,iDIQQ,atBVN,qCsBaM,gDACE,aJZV,iDIcU,czBk9FP,CGl+FD,oCsBmBM,gDACE,aJlBV,iDIoBU,czBs9FP,CqB1+FH,sEI0BU,ctB5BR,qCkBEF,sEI8BY,aJ9BZ,qEIgCY,czBw9FT,CG1/FD,oCkBEF,+BImCI,cAEA,sCACE,WJtCN,oDIwCQ,mBJxCR,iDI4CU,wBACF,gDACE,uBzBg+FP,CGhhGD,0DkBEF,iDIkDY,aACF,gDACE,czBo+FT,CqBxhGH,wCKFI,gBACA,YACA,kBLAJ,2BMHE,WACA,gBACA,6BAEA,0CACE,kBACA,qBACA,iBACA,SNLJ,0GMOM,kBACA,MACA,OACA,WACA,YNXN,yDMaM,8BlBdJ,iCCMM,+BAKA,4BAKA,sDALA,wBAKA,+CDZN,4CACA,kEkBWI,UACA,eACA,8CACA,iEACE,UACA,eACA,8CACA,8CACA,qEACE,WAEF,uEjBrBA,6BAoBA,qBWzBR,8DM8BQ,UACA,oBACA,8CACA,kDNjCR,sEMmCU,8CACA,gDxBtCR,oCyBWF,eAEI,gBACA,kBACA,eACA,W5BgmGD,C4B7lGH,mBACE,eACA,aACA,aACA,gBACA,WACA,OACA,MACA,oBARF,wBAWI,aACA,YACA,yBACA,wFACA,m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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: \"Lato\", 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: \"Lato\", 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: #172A3A;\n  border: 1px solid transparent;\n  text-decoration: none;\n  font-size: 0.7rem;\n  line-height: 1.2;\n  font-weight: 600;\n  color: white;\n  transition: box-shadow 0.4s, background-color 0.4s;\n}\n\n.button.shadow {\n  box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.2);\n}\n\n.button .arrow {\n  position: relative;\n  display: inline-block;\n  width: 10px;\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 transparent;\n  background-color: #0F1C26;\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/*==========================================================================\n  Navigation / Header\n  @mixin ========================================================================= */\nheader {\n  position: relative;\n  z-index: 4;\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%, transparent 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: inline-block;\n  width: 250px;\n  margin-left: 7.14285714%;\n}\n\n@media screen and (max-width: 1250px) {\n  header .grid-row .logo {\n    margin-left: 0;\n  }\n}\n\n@media screen and (max-width: 1000px) {\n  header .grid-row .logo {\n    width: 190px;\n  }\n  header .grid-row .logo img {\n    max-height: 39px;\n  }\n}\n\nheader .grid-row .logo img {\n  width: 100%;\n  max-height: 51px;\n}\n\nheader .grid-row nav {\n  position: relative;\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}\n\nheader .grid-row nav ul li {\n  margin-right: 45px;\n}\n\nheader .grid-row nav ul li a {\n  display: inline-block;\n  padding: 42px 0;\n  font-size: 0.8rem;\n  line-height: 1.2;\n  color: #CACACA;\n  font-family: 'Karla', sans-serif;\n  font-weight: 700;\n  letter-spacing: -0.24px;\n  text-decoration: none;\n  transition: color 0.3s;\n}\n\n@media screen and (max-width: 950px) {\n  header .grid-row nav ul li a {\n    font-size: 0.7rem;\n  }\n}\n\n@media screen and (max-width: 1100px) {\n  header .grid-row nav ul li {\n    margin-right: 30px;\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: #a7a7a7;\n}\n\nheader .grid-row nav ul li.active a {\n  position: relative;\n  font-weight: 700;\n  color: #172A3A;\n  opacity: 1;\n}\n\nheader .grid-row nav ul li.active a:after {\n  content: '';\n  position: absolute;\n  left: 0;\n  bottom: 40px;\n  width: 100%;\n  height: 2px;\n  background: #CACACA;\n}\n\n@media screen and (max-width: 750px) {\n  header {\n    display: none;\n  }\n}\n\n/* ==========================================================================\n   Footer\n   @mixin ========================================================================= */\nfooter {\n  background: #172A3A;\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: #E1DEED;\n  font-family: 'Karla', sans-serif;\n  font-weight: 700;\n  letter-spacing: -0.24px;\n  margin: 0 0 20px;\n}\n\nfooter .grid-col li a, footer .grid-col p {\n  font-size: 0.9rem;\n  color: #959595;\n}\n\nfooter .contact {\n  width: 41.66666667%;\n}\n\n@media screen and (max-width: 1000px) {\n  footer .contact {\n    width: 33.33333333%;\n    margin-left: 8.33333333%;\n  }\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: 121px;\n  max-height: 98px;\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-weight: 600;\n  font-size: 0.9rem;\n  color: white;\n  text-decoration: none;\n  transition: color 0.2s;\n}\n\nfooter .contact a:hover {\n  color: rgba(255, 255, 255, 0.8);\n}\n\nfooter .links {\n  width: 50%;\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: rgba(255, 255, 255, 0.8);\n}\n\nfooter .links ul li.active a {\n  color: white;\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: #0F1C26;\n  padding: 10px 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: white;\n}\n\nfooter .sub-footer p {\n  margin-bottom: 0.5rem;\n  opacity: 0.4;\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.3;\n  transition: opacity 0.2s;\n}\n\nfooter .sub-footer .komma:hover {\n  opacity: 0.7;\n}\n\nfooter .sub-footer .komma span {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  width: 78px;\n  height: 25px;\n  background-image: url(\"/img/komma.svg\");\n  background-position: center;\n  background-size: contain;\n  background-repeat: no-repeat;\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    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: #CF0019;\n  font-family: 'Karla', sans-serif;\n  font-weight: 700;\n  letter-spacing: -0.24px;\n}\n\n.kms-content h1 strong, .kms-content h2 strong, .kms-content h3 strong {\n  color: #172A3A;\n}\n\n.kms-content h2, .kms-content h3 {\n  font-size: 1.3rem;\n}\n\n.kms-content h3 {\n  color: #172A3A;\n}\n\n.kms-content h3 strong {\n  color: #CF0019;\n}\n\n.kms-content h4 {\n  font-size: 0.7rem;\n  line-height: 1.3;\n  color: #a7a7a7;\n  text-transform: uppercase;\n}\n\n.kms-content p {\n  font-size: 0.8rem;\n  line-height: 1.4;\n  color: #172A3A;\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: #172A3A;\n}\n\n.kms-content ul li:before {\n  position: absolute;\n  left: 0;\n  top: 2px;\n  content: '•';\n  color: #0F1C26;\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: #172A3A;\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: #0F1C26;\n}\n\n.kms-content ol li + li {\n  margin-top: 5px;\n}\n\n.kms-content a {\n  color: #a7a7a7;\n}\n\n.kms-content a:hover {\n  color: #8e8d8d;\n  text-decoration: none;\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: rgba(255, 255, 255, 0.5);\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: rgba(255, 255, 255, 0);\n  padding: 15px 20px;\n  border: 1px white solid;\n  font-size: 0.9em;\n  color: white;\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: #CF0019;\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: white;\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: white 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: \"Lato\", 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: #a7a7a7;\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  display: block;\n  width: 185px;\n  margin-left: auto;\n  cursor: pointer;\n  font-size: 0.7rem;\n  background-color: white;\n  text-transform: uppercase;\n  color: #709BAA;\n}\n\n.form .submit .button .arrow {\n  margin-left: 30px;\n}\n\n.form .submit .button .arrow .st0 {\n  fill: #709BAA;\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: #871C13;\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: #711710;\n}\n\n.image-slider .placeholder .controllers .nav-item.next {\n  background-color: #CF0019;\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: #e9001c;\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: #0F1C26;\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(167, 167, 167, 0.6);\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .text p strong {\n  display: inline-block;\n  color: #a7a7a7;\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: 70px 30px;\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: 70px 30px;\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: 70px 30px;\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(167, 167, 167, 0.6);\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type > span strong {\n  font-size: 0.9rem;\n  color: #a7a7a7;\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 #a7a7a7;\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: 70px 30px;\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/*==========================================================================\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  width: 41.66666667%;\n}\n\n.dynamic-block.content-block[data-image-location='right'] .image {\n  -webkit-order: 2;\n  -ms-order: 2;\n}\n\n.dynamic-block.content-block[data-image-location='right'] .content {\n  -webkit-order: 1;\n  -ms-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  }\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: 750px) {\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#mobile-navigation .bar {\n  display: none;\n  height: 60px;\n  background-color: #172A3A;\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: white;\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: 50px;\n  background-position: center;\n  background-size: contain;\n  background-repeat: no-repeat;\n}\n\n#mobile-navigation .bar .logo a img {\n  width: 100%;\n  max-height: 42px;\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: #172A3A;\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 0;\n  background-color: #172A3A;\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: 40px;\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: white;\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  margin: auto;\n}\n\n#mobile-navigation .menu nav .logo-wrapper a {\n  display: block;\n  margin: auto;\n  text-decoration: none;\n}\n\n#mobile-navigation .menu nav .logo-wrapper a img {\n  width: 100%;\n  max-height: 120px;\n}\n\n#mobile-navigation .menu nav .menu-list {\n  margin-top: 40px;\n}\n\n#mobile-navigation .menu nav .menu-list ul {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  font-size: 1.4rem;\n  line-height: 1.2;\n  text-align: center;\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: 14px 0;\n  color: rgba(255, 255, 255, 0.5);\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: rgba(255, 255, 255, 0.75);\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: white;\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: 750px) {\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.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}\n\n@media screen and (max-width: 750px) {\n  .large-header-image {\n    padding-top: 100px;\n  }\n}\n\n@media screen and (max-width: 640px) {\n  .large-header-image {\n    padding-top: 60px;\n  }\n}\n\n.large-header-image:before {\n  content: '';\n  position: absolute;\n  z-index: -2;\n  top: 0;\n  left: 0;\n  height: 70%;\n  width: 100%;\n}\n\n@media screen and (max-width: 640px) {\n  .large-header-image:before {\n    height: 50%;\n  }\n}\n\n.large-header-image:after {\n  content: '';\n  position: absolute;\n  z-index: -1;\n  bottom: 55px;\n  left: 0;\n  background: #CF0019;\n  height: calc(35% - 55px);\n  max-height: 250px;\n  width: 100%;\n}\n\n@media screen and (max-width: 1100px) {\n  .large-header-image:after {\n    height: 120px;\n  }\n}\n\n@media screen and (max-width: 640px) {\n  .large-header-image:after {\n    display: none;\n  }\n}\n\n.large-header-image .header-image {\n  position: relative;\n  z-index: 2;\n  width: 100%;\n  overflow: hidden;\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: 140px;\n  font-size: 2rem;\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: #172A3A;\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.6rem;\n  }\n}\n\n@media screen and (max-width: 840px) {\n  .large-header-image .header-image figcaption {\n    font-size: 1.4rem;\n  }\n}\n\n@media screen and (max-width: 640px) {\n  .large-header-image .header-image figcaption {\n    position: relative;\n    z-index: 5;\n    bottom: 0;\n    left: 0;\n    margin-top: 40px;\n    width: 85.71428571%;\n    margin-left: auto;\n    margin-right: auto;\n  }\n}\n\n@media screen and (max-width: 500px) {\n  .large-header-image .header-image figcaption {\n    margin-top: 30px;\n    font-size: 1.4rem;\n  }\n}\n\n.large-header-image .header-image .show-scroll {\n  position: absolute;\n  z-index: 4;\n  left: calc(50% - 42px);\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: 80px;\n  height: 40px;\n  cursor: pointer;\n  border-radius: 55px 55px 0 0;\n}\n\n.large-header-image .header-image .show-scroll:after {\n  content: '';\n  position: absolute;\n  left: 0;\n  top: -27px;\n  z-index: -1;\n  width: 80px;\n  height: 80px;\n  border: 2px solid white;\n  transform: rotate(45deg);\n}\n\n.large-header-image .header-image .show-scroll .arrow {\n  position: relative;\n  top: -4px;\n  z-index: 2;\n  display: inline-block;\n  width: 14px;\n  transform: translate3d(0, 0, 0);\n  transition: transform 0.3s;\n}\n\n.large-header-image .header-image .show-scroll .arrow svg {\n  width: 100%;\n  max-height: 24px;\n}\n\n.large-header-image .header-image .show-scroll .arrow svg path {\n  fill: white;\n}\n\n.large-header-image .header-image .show-scroll:hover .arrow {\n  transform: translate3d(0, 3px, 0);\n}\n\n@media screen and (max-width: 640px) {\n  .large-header-image .header-image .show-scroll {\n    display: none;\n  }\n}\n\n.large-header-image .header-image .image-cutter {\n  position: absolute;\n  bottom: 0;\n  left: 0;\n  height: 55px;\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}\n\n.large-header-image .header-image .image-cutter:before, .large-header-image .header-image .image-cutter:after {\n  content: '';\n  position: absolute;\n  bottom: 0;\n  display: block;\n  width: 100vw;\n  height: 100%;\n  background-color: white;\n}\n\n.large-header-image .header-image .image-cutter:before {\n  left: calc(50% + 58px);\n}\n\n.large-header-image .header-image .image-cutter:after {\n  right: calc(50% + 58px);\n}\n\n.large-header-image .header-image .image-cutter .whiter {\n  position: absolute;\n  bottom: -1px;\n  left: 0;\n  width: 100%;\n  height: 2px;\n  background-color: white;\n}\n\n.large-header-image .header-image .image-cutter 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: flex-end;\n  -moz-align-items: flex-end;\n  -ms-align-items: flex-end;\n  justify-content: center;\n  align-items: flex-end;\n  width: 120px;\n}\n\n.large-header-image .header-image .image-cutter span svg {\n  width: 100%;\n  max-height: 57px;\n}\n\n@media screen and (max-width: 640px) {\n  .large-header-image .grid-row {\n    width: 100%;\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: 600;\n  color: #a7a7a7;\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-weight: 700;\n  color: #CF0019;\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  text-transform: uppercase;\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: #172A3A;\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  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%, transparent 100%);\n}\n\n.reasons-row .grid-col {\n  vertical-align: middle;\n  padding: 110px 0 140px;\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  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}\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: 20px;\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: 1.1rem;\n  line-height: 1.6;\n  font-weight: 700;\n  color: white;\n}\n\n.reasons-row .reasons-block ul li p strong {\n  font-size: 1.2rem;\n  line-height: 1.6;\n  display: block;\n  margin-bottom: 3px;\n  color: white;\n}\n\n@media screen and (max-width: 1600px) {\n  .reasons-row .reasons-block ul li p {\n    margin-top: 6px;\n  }\n  .reasons-row .reasons-block ul li p strong {\n    font-size: 1rem;\n  }\n}\n\n@media screen and (max-width: 1080px) {\n  .reasons-row .reasons-block ul li p {\n    margin-top: 8px;\n  }\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.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 ul.check li .list-icon {\n  position: relative;\n  display: block;\n  margin-top: 3px;\n  width: 26px;\n  height: 26px;\n}\n\n.reasons-row .reasons-block ul.check li .list-icon:after {\n  content: '';\n  position: absolute;\n  z-index: 1;\n  left: 0;\n  top: 0;\n  display: block;\n  width: 100%;\n  height: 100%;\n  background-color: #709BAA;\n  transform: rotate(45deg);\n  transform-origin: 50% 50%;\n}\n\n.reasons-row .reasons-block ul.check li .list-icon svg {\n  position: relative;\n  left: -3px;\n  z-index: 2;\n  width: 100%;\n  max-height: 18px;\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  margin-right: 8.33333333%;\n  text-transform: uppercase;\n  color: #709BAA;\n}\n\n.reasons-row .reasons-block .trigger .button .arrow {\n  margin-left: 40px;\n}\n\n.reasons-row .reasons-block .trigger .button .arrow .st0 {\n  fill: #709BAA;\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}\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  bottom: 0;\n  left: 0;\n  display: block;\n  width: 100%;\n  height: 45px;\n  background: linear-gradient(90deg, #7b0015, #CF0019);\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: #E1DEED;\n  padding: 70px 0 120px;\n  overflow: hidden;\n}\n\n.discover-row .streamer {\n  color: #959595;\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  background-color: #0F1C26;\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  opacity: 0.75;\n}\n\n.discover-row .links article .overlay {\n  position: absolute;\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: #871C13;\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}\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  }\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: 50%;\n  width: 100vw;\n  height: 100%;\n  background: #ab0e16;\n}\n\n.cta-row .grid-row:before {\n  content: '';\n  position: absolute;\n  z-index: 3;\n  top: 0;\n  right: calc(50% - 50px);\n  height: 100%;\n  width: 50px;\n  background: linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, transparent 100%);\n}\n\n.cta-row .cta-trigger, .cta-row .cta-trigger-2 {\n  z-index: 2;\n  display: inline-block;\n  padding: 80px 0;\n}\n\n.cta-row .cta-trigger h3, .cta-row .cta-trigger-2 h3 {\n  color: #CF0019;\n  font-size: 2rem;\n  line-height: 1.2;\n  margin: 0 0 10px;\n  font-family: 'Karla', sans-serif;\n  font-weight: 700;\n  letter-spacing: -0.24px;\n}\n\n.cta-row .cta-trigger p, .cta-row .cta-trigger-2 p {\n  color: #CACACA;\n  font-size: 0.8rem;\n  text-transform: uppercase;\n  margin: 0;\n}\n\n.cta-row .cta-trigger .button, .cta-row .cta-trigger-2 .button {\n  margin-top: 20px;\n  text-transform: uppercase;\n}\n\n.cta-row .cta-trigger {\n  margin-left: 8.33333333%;\n  width: 41.66666667%;\n}\n\n.cta-row .cta-trigger .button {\n  margin-top: 50px;\n}\n\n.cta-row .cta-trigger-2 {\n  width: 50%;\n  padding-left: 100px;\n}\n\n.cta-row .cta-person {\n  z-index: 2;\n  display: inline-block;\n  vertical-align: top;\n  width: 50%;\n  padding: 100px 0 100px 75px;\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: 140px;\n}\n\n.cta-row .cta-person .image-placeholder figure {\n  position: relative;\n  width: 100%;\n  padding-bottom: 100%;\n  height: 0;\n}\n\n.cta-row .cta-person .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.cta-row .cta-person .contact-info {\n  width: calc(100% - 175px);\n  padding-left: 45px;\n}\n\n.cta-row .cta-person .contact-info p {\n  font-size: 1.3rem;\n  line-height: 1.2;\n  margin: 0;\n  color: white;\n  font-weight: 700;\n}\n\n.cta-row .cta-person .contact-info span {\n  display: block;\n  color: white;\n  font-size: 0.8rem;\n}\n\n.cta-row .cta-person .contact-info a {\n  display: inline-block;\n  margin-top: 20px;\n  font-size: 1rem;\n  color: #E1DEED;\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: white;\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, .cta-row .cta-person {\n    width: 100%;\n    padding: 65px 7.14285714%;\n  }\n  .cta-row .cta-trigger {\n    margin-left: 0;\n  }\n  .cta-row .cta-trigger-2, .cta-row .cta-person {\n    background-color: #ab0e16;\n  }\n}\n\n@media screen and (max-width: 525px) {\n  .cta-row .cta-trigger br, .cta-row .cta-trigger-2 br {\n    display: none;\n  }\n  .cta-row .cta-person {\n    padding: 40px 7.14285714%;\n    text-align: center;\n  }\n  .cta-row .cta-person .wrapper {\n    display: block;\n  }\n  .cta-row .cta-person .image-placeholder {\n    display: inline-block;\n    margin-bottom: 25px;\n  }\n  .cta-row .cta-person .contact-info {\n    padding-left: 0;\n    width: 100%;\n  }\n}\n\n.steps-slider {\n  padding: 100px 0;\n  background-color: #E1DEED;\n  text-align: center;\n}\n\n.steps-slider .grid-row > h2 {\n  font-size: 2rem;\n  line-height: 1.2;\n  font-family: 'Karla', sans-serif;\n  font-weight: 700;\n  letter-spacing: -0.24px;\n  color: #172A3A;\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: #172A3A;\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: #E1DEED;\n  border: 2px solid #172A3A;\n  border-radius: 12px;\n  font-size: 1.1rem;\n  line-height: 1.2;\n  font-weight: 700;\n  color: #172A3A;\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: white;\n}\n\n.steps-slider .slider-nav .slide-nav-item.active {\n  background-color: #172A3A;\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  color: #172A3A;\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@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: #E1DEED;\n  }\n  .steps-slider .slides .slide .content {\n    text-align: left;\n  }\n}\n\n.index-grid-row {\n  background-color: #172A3A;\n}\n\n.index-grid-row .no-available {\n  padding: 60px 20px 0;\n  text-align: center;\n  color: white;\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: #32A0FA;\n  text-decoration: none;\n}\n\n.index-grid-row .pagination li.active span {\n  color: white;\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 .st0, .index-grid-row .pagination li:first-of-type span .arrow-icon .st0, .index-grid-row .pagination li:last-of-type a .arrow-icon .st0, .index-grid-row .pagination li:last-of-type span .arrow-icon .st0 {\n  fill: #32A0FA;\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 .st0 {\n  fill: rgba(50, 160, 250, 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: 100%;\n  max-width: 520px;\n  background: #0064D2;\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    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: 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: #0064D2;\n  opacity: 0.6;\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: #32A0FA;\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 .st0 {\n  fill: #32A0FA;\n  transition: fill 0.4s;\n}\n\n.large-badges-grid article:hover a figure:before {\n  opacity: 0.2;\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 .st0 {\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    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 0 30px;\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  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-color: #0F1C26;\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: #871C13;\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 .st0 {\n  fill: white;\n  transition: fill 0.3s;\n}\n\n.squares-grid article h2 {\n  margin: 0;\n  padding: 16px 0;\n  text-align: center;\n  font-size: 1.1rem;\n  line-height: 1.2;\n  font-weight: 700;\n  color: white;\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(135, 28, 19, 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.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: #172A3A;\n  font-family: 'Karla', sans-serif;\n  font-weight: 700;\n  letter-spacing: -0.24px;\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(167, 167, 167, 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: #a7a7a7;\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 .st0 {\n  fill: #172A3A;\n}\n\n.show-sub-menu ul li a:hover {\n  color: #172A3A;\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: #871C13;\n  font-weight: 700;\n}\n\n.show-model-detail {\n  position: relative;\n  overflow: hidden;\n}\n\n.show-model-detail .return-to-overview {\n  background-color: #0F1C26;\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 .st0 {\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 .kms-content .button {\n  margin-top: 40px;\n  background-color: #CF0019;\n  color: white;\n  text-transform: uppercase;\n}\n\n.show-model-detail .dynamic-content .kms-content .button:hover {\n  background-color: #871C13;\n}\n\n.show-model-detail .dynamic-content .kms-content .button.right .arrow {\n  margin-left: 30px;\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    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    width: 100%;\n    padding: 40px 7.14285714%;\n  }\n  .show-model-detail .show-sub-menu {\n    -webkit-order: 3;\n    -ms-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  position: absolute;\n  top: 0;\n  right: 0;\n  width: calc((100% - 1440px) / 2 + 10.41666667%);\n  height: 100%;\n  background-repeat: no-repeat;\n  background-position: top left;\n  background-size: contain;\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/*==========================================================================\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: #871C13;\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: 'Karla', sans-serif;\n  font-weight: 700;\n  letter-spacing: -0.24px;\n}\n\n#contact .contact-content .contact-info h3 {\n  font-size: 0.8rem;\n  line-height: 1.2;\n  color: #646464;\n  opacity: 0.75;\n  font-family: 'Karla', sans-serif;\n  font-weight: 700;\n  letter-spacing: -0.24px;\n  margin: 100px 0 15px;\n}\n\n#contact .contact-content .contact-info p {\n  font-size: 0.9rem;\n  color: rgba(100, 100, 100, 0.75);\n}\n\n#contact .contact-content .contact-info p a {\n  color: rgba(100, 100, 100, 0.75);\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: #c3cfe6;\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: white;\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: white;\n}\n\n@media screen and (max-width: 840px) {\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    background-color: white;\n  }\n}\n\n@media screen and (max-width: 840px) and (max-width: 750px) {\n  #contact .contact-content .contact-info {\n    padding-top: 102px;\n  }\n}\n\n@media screen and (max-width: 840px) {\n  #contact .contact-content .contact-info h3 {\n    margin-top: 60px;\n  }\n  #contact .contact-content .contact-form {\n    width: 100%;\n    padding-right: 8.33333333%;\n    margin-left: 0;\n    background-color: #871C13;\n  }\n}\n\nbody.default .dynamic-content {\n  padding: 100px 0 120px;\n  background-color: #172A3A;\n}\n\nbody.default .dynamic-content .dynamic-block.full-text-block .content {\n  text-align: left;\n}\n\nbody.default .dynamic-content .kms-content {\n  position: relative;\n}\n\n@media screen and (min-width: 901px) {\n  body.default .dynamic-content .kms-content:before {\n    content: '';\n    position: absolute;\n    left: -35px;\n    top: 0;\n    width: 3px;\n    height: 100%;\n    background-color: #CF0019;\n  }\n}\n\nbody.default .dynamic-content .kms-content h1, body.default .dynamic-content .kms-content h2, body.default .dynamic-content .kms-content h3 {\n  color: white;\n}\n\n@media screen and (min-width: 901px) {\n  body.default .dynamic-content .kms-content h1:first-child, body.default .dynamic-content .kms-content h2:first-child, body.default .dynamic-content .kms-content h3:first-child {\n    margin-top: 0;\n  }\n}\n\nbody.default .dynamic-content .kms-content h1 strong, body.default .dynamic-content .kms-content h2 strong, body.default .dynamic-content .kms-content h3 strong {\n  color: #ff9600;\n}\n\nbody.default .dynamic-content .kms-content h3 {\n  color: #ff9600;\n}\n\nbody.default .dynamic-content .kms-content h3 strong {\n  color: white;\n}\n\nbody.default .dynamic-content .kms-content h4 {\n  color: rgba(255, 255, 255, 0.5);\n}\n\nbody.default .dynamic-content .kms-content p {\n  color: #CACACA;\n}\n\nbody.default .dynamic-content .kms-content ul li {\n  color: #CACACA;\n}\n\nbody.default .dynamic-content .kms-content ul li:before {\n  color: #CACACA;\n}\n\nbody.default .dynamic-content .kms-content ol li {\n  color: #CACACA;\n}\n\nbody.default .dynamic-content .kms-content ol li:before {\n  color: #CACACA;\n}\n\nbody.default .dynamic-content .kms-content a {\n  color: rgba(255, 255, 255, 0.85);\n  text-decoration: none;\n}\n\nbody.default .dynamic-content .kms-content a:hover {\n  color: white;\n  text-decoration: none;\n}\n\nbody.default .dynamic-content .kms-content .button {\n  margin-top: 40px;\n  background-color: #CF0019;\n  color: white;\n  text-transform: uppercase;\n}\n\nbody.default .dynamic-content .kms-content .button:hover {\n  background-color: #871C13;\n}\n\nbody.default .dynamic-content .kms-content .button.right .arrow {\n  margin-left: 30px;\n}\n\n#about .about-custom-row {\n  background-color: #E1DEED;\n}\n\n#about .about-custom-row .grid-row {\n  position: relative;\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#about .about-custom-row .logo-block {\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  width: 33.33333333%;\n  height: 100%;\n  left: -8.33333333%;\n  top: 0;\n  background: #ab0e16;\n}\n\n#about .about-custom-row .logo-block .icon {\n  width: 110px;\n}\n\n#about .about-custom-row .logo-block .icon img {\n  width: 100%;\n  max-height: 91px;\n}\n\n#about .about-custom-row .image-placeholder {\n  margin-left: 25%;\n  width: 25%;\n}\n\n#about .about-custom-row .image-placeholder .image {\n  position: relative;\n  width: 100%;\n  height: 0;\n  padding-bottom: 150%;\n}\n\n#about .about-custom-row .image-placeholder .image span {\n  position: absolute;\n  left: 0;\n  top: 0;\n  display: block;\n  height: 100%;\n  width: 100%;\n  background-size: cover;\n  background-position: center;\n  background-repeat: no-repeat;\n  background-image: url(\"/img/about/about-ruud.jpg\");\n}\n\n@media screen and (max-width: 600px) {\n  #about .about-custom-row .image-placeholder .image span {\n    background-image: url(\"/img/about/about-ruud-horizontal.jpg\");\n  }\n}\n\n#about .about-custom-row .contact-info {\n  width: 50%;\n  padding: 7.14285714%;\n}\n\n#about .about-custom-row .contact-info p {\n  font-size: 1.6rem;\n  line-height: 1.2;\n  margin: 0;\n  color: #172A3A;\n  font-family: 'Karla', sans-serif;\n  font-weight: 700;\n  letter-spacing: -0.24px;\n}\n\n#about .about-custom-row .contact-info span {\n  display: block;\n  margin-top: 15px;\n  color: #709BAA;\n  font-size: 1.1rem;\n}\n\n#about .about-custom-row .contact-info a {\n  display: inline-block;\n  margin-top: 40px;\n  font-size: 1rem;\n  color: #172A3A;\n  font-weight: 600;\n  text-decoration: none;\n  transition: color 0.2s;\n}\n\n#about .about-custom-row .contact-info a:hover {\n  color: rgba(23, 42, 58, 0.7);\n}\n\n@media screen and (max-width: 1000px) {\n  #about .about-custom-row .grid-row {\n    width: 100%;\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: 250px;\n  }\n  #about .about-custom-row .logo-block {\n    width: 50%;\n    left: 0;\n  }\n  #about .about-custom-row .image-placeholder {\n    width: 50%;\n    margin-left: 50%;\n  }\n  #about .about-custom-row .contact-info {\n    position: absolute;\n    left: 0;\n    bottom: -250px;\n    height: 250px;\n    width: 100%;\n    text-align: center;\n  }\n}\n\n@media screen and (max-width: 600px) {\n  #about .about-custom-row .grid-row {\n    margin-bottom: 0;\n  }\n  #about .about-custom-row .logo-block {\n    position: relative;\n    width: 100%;\n    height: 250px;\n  }\n  #about .about-custom-row .image-placeholder {\n    width: 100%;\n    margin-left: 0;\n  }\n  #about .about-custom-row .image-placeholder .image {\n    padding-bottom: 65%;\n  }\n  #about .about-custom-row .contact-info {\n    position: relative;\n    bottom: 0;\n    height: auto;\n    padding: 60px 7.14285714%;\n  }\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/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3N0eWxlLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL19nbG9iYWwuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvX2NvbmZpZy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL19ib3VyYm9uLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vc2V0dGluZ3MvX2Fzc2V0LXBpcGVsaW5lLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fY29udmVydC11bml0cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX2lzLW51bS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19saW5lYXItZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fcmFkaWFsLWFyZy1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19yZW5kZXItZ3JhZGllbnRzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fc2hhcGUtc2l6ZS1zdHJpcHBlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9mdW5jdGlvbnMvX2Fzc2lnbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fY29sb3ItbGlnaHRuZXNzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19jb250YWlucy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9faXMtbGVuZ3RoLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19pcy1zaXplLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19zdHJpcC11bml0cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fdGludC1zaGFkZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL191bnBhY2suc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19hbmltYXRpb24uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19hcHBlYXJhbmNlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fYmFja2ZhY2UtdmlzaWJpbGl0eS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19iYWNrZ3JvdW5kLWltYWdlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fYm9yZGVyLWltYWdlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2JveC1zaXppbmcuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19jYWxjLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fY29sdW1ucy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2ZpbHRlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2ZsZXgtYm94LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fZm9udC1mYWNlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fZm9udC1mZWF0dXJlLXNldHRpbmdzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19oeXBoZW5zLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3NlbGVjdGlvbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX2ZvbnQtZmFtaWx5LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vYWRkb25zL19oaWRlLXRleHQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX2h0bWw1LWlucHV0LXR5cGVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vYWRkb25zL19wb3NpdGlvbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX3JldGluYS1pbWFnZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fc2l6ZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZnVuY3Rpb25zL19mdW5jdGlvbnMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZnVuY3Rpb25zL19mb250cy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9mdW5jdGlvbnMvX2dyaWQuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19taXhpbnMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19zcHJpdGUuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19tZWRpYVF1ZXJpZXMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19mbGV4LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL21peGlucy9fcGxhY2Vob2xkZXIuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvX2Jhc2Uuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZ3JpZC9fZ3JpZHMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZ3JpZC9fZ3JpZC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ncmlkL192aXNpYmxlR3JpZC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9wYXJ0aWFscy9fYnJlYWtwb2ludHMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL19jb25maWcuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL19iYXNlLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9faGVscGVycy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvbWl4aW5zL19taXhpbnMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL21peGlucy9fY29va2llU3ByaXRlLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9taXhpbnMvX2ZvbnRzLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9fcGFydGlhbHMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19wcmVIZWFkZXIuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19oZWFkZXIuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19mb290ZXIuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19zaG9wcGluZ0NhcnQuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19rbXNDb250ZW50LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9fZm9ybS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvX2ltYWdlU2xpZGVyLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9fY29va2llTWVzc2FnZS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvX2Nvb2tpZVN3aXRjaC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvZHluYW1pYy9fZHluYW1pYy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvZHluYW1pYy9fdHdvVGV4dENvbHVtbi5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvZHluYW1pYy9fZnVsbEltYWdlQ29sdW1uLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9keW5hbWljL19jb250ZW50QmxvY2suc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL2R5bmFtaWMvX211bHRpcGxlSW1hZ2VzLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9keW5hbWljL19mdWxsVGV4dEJsb2NrLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9keW5hbWljL192aWRlb0Jsb2NrLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9tb2JpbGUvX21vYmlsZS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvbW9iaWxlL19uYXZpZ2F0aW9uLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9tb2JpbGUvX2NvbnRhY3Quc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL21vYmlsZS9fc3RpY2t5TmF2aWdhdGlvbi5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvYmxvY2tzL19ibG9ja3Muc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL2Jsb2Nrcy9fbGFyZ2VIZWFkZXJJbWFnZS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvYmxvY2tzL19jdGFDb250ZW50Um93LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9ibG9ja3MvX3JlYXNvbnNSb3cuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL2Jsb2Nrcy9fZGlzY292ZXJSb3cuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL2Jsb2Nrcy9fY3RhUm93LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9ibG9ja3MvX3N0ZXBzU2xpZGVyLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9ncmlkcy9fZ3JpZHMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL2dyaWRzL19sYXJnZUJhZGdlcy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvZ3JpZHMvX3NxdWFyZXMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL3Nob3cvX3Nob3cuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL3Nob3cvX3N1Yk1lbnUuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL3Nob3cvX21vZGVsRGV0YWlsLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYWdlcy9fcGFnZXMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhZ2VzL19ob21lLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYWdlcy9fY29udGFjdC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFnZXMvX2RlZmF1bHQuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhZ2VzL19hYm91dC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFnZXMvX2Vycm9yLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYWdlcy9fc2l0ZW1hcC5zYXNzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIExvYWQgZGVmYXVsdCBzZXR0aW5ncyBhbmQgc3R5bGluZ1xuQGltcG9ydCBcIi4uL2dsb2JhbC9nbG9iYWxcIjtcblxuLy8gRXhwZW5kL292ZXJydWxlIGNvbmZpZ3VyYXRpb25cbkBpbXBvcnQgXCJjb25maWdcIjtcbkBpbXBvcnQgXCJiYXNlXCI7XG5AaW1wb3J0IFwiaGVscGVyc1wiO1xuQGltcG9ydCBcIm1peGlucy9taXhpbnNcIjtcblxuXG4vLyBMb2FkIGZpbGVzIHRoYXQgd3JpdGUgY3NzXG5AaW1wb3J0IFwicGFydGlhbHMvcGFydGlhbHNcIjtcbkBpbXBvcnQgXCJwYWdlcy9wYWdlc1wiO1xuIiwiLy8gTG9hZCBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cbkBpbXBvcnQgXCJjb25maWdcIjtcblxuLy8gTG9hZCBCb3VyYm9uXG5AaW1wb3J0IFwiYm91cmJvbi9ib3VyYm9uXCI7XG5cbi8vIExvYWQgZGVmYXVsdCBjb25maWd1cmF0aW9uXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9taXhpbnNcIjtcbkBpbXBvcnQgXCJiYXNlXCI7XG5cbi8vIExvYWQgZ3JpZHNcbkBpbXBvcnQgXCJncmlkL2dyaWRzXCI7XG5cbi8vIExvYWQgYnJlYWtwb2ludHNcbkBpbXBvcnQgXCJwYXJ0aWFscy9icmVha3BvaW50c1wiO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbmZpZyBzZXR0aW5nc1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogRGVmaW5lIGdyaWQgY29sdW1uc1xuICpcbiAqIFRoZSBpbm5lciBncmlkIGlzIHRoZSBzZWN0aW9uIHdoZXJlIHRoZSBjb250ZW50IGlzXG4gKiBUaGUgb3V0ZXIgZ3JpZCBpcyB0aGUgaW5uZXIgZ3JpZCB3aXRoIGV4dHJhIG1hcmdpbiBjb2x1bW5zIG9uIGVhY2ggc2lkZVxuICovXG4kZ3JpZENvbHVtbnMgOiAxNDtcbiRncmlkTWF4V2lkdGggOiAxNjgwcHg7XG5cbi8qKlxuICogRGVmaW5lIGJyZWFrcG9pbnQgZm9yIGdpdmVuIGZvcm1hdHNcbiAqL1xuJHhsR3JpZEJyZWFrcG9pbnQ6IDE2MDA7XG4kbGdHcmlkQnJlYWtwb2ludDogMTM2NjtcbiRtZEdyaWRCcmVha3BvaW50OiAxMDgwO1xuJHNtR3JpZEJyZWFrcG9pbnQ6IDc2ODtcbiR4c0dyaWRCcmVha3BvaW50OiA0MDA7XG4iLCIvKiBCb3VyYm9uIDQuMC4yXG4gKiBodHRwOi8vYm91cmJvbi5pb1xuICogQ29weXJpZ2h0IDIwMTEtMjAxNCB0aG91Z2h0Ym90LCBpbmMuXG4gKiBNSVQgTGljZW5zZSAqL1xuXG4vLyBTZXR0aW5nc1xuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xuXG4vLyBDdXN0b20gSGVscGVyc1xuQGltcG9ydCBcImhlbHBlcnMvY29udmVydC11bml0c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZm9udC1zb3VyY2UtZGVjbGFyYXRpb25cIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2lzLW51bVwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvc2hhcGUtc2l6ZS1zdHJpcHBlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xuXG4vLyBDdXN0b20gRnVuY3Rpb25zXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnblwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb2xvci1saWdodG5lc3NcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLXNpemVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnQtc2hhZGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9tb2R1bGFyLXNjYWxlXCI7XG5cbi8vIENTUzMgTWl4aW5zXG5AaW1wb3J0IFwiY3NzMy9hbmltYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tmYWNlLXZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcImNzczMvYm94LXNpemluZ1wiO1xuQGltcG9ydCBcImNzczMvY2FsY1wiO1xuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9mbGV4LWJveFwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJjc3MzL2hpZHBpLW1lZGlhLXF1ZXJ5XCI7XG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9pbWFnZS1yZW5kZXJpbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2tleWZyYW1lc1wiO1xuQGltcG9ydCBcImNzczMvbGluZWFyLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9wZXJzcGVjdGl2ZVwiO1xuQGltcG9ydCBcImNzczMvcGxhY2Vob2xkZXJcIjtcbkBpbXBvcnQgXCJjc3MzL3JhZGlhbC1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvc2VsZWN0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90ZXh0LWRlY29yYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvdXNlci1zZWxlY3RcIjtcblxuLy8gQWRkb25zICYgb3RoZXIgbWl4aW5zXG5AaW1wb3J0IFwiYWRkb25zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiYWRkb25zL2RpcmVjdGlvbmFsLXZhbHVlc1wiO1xuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xuQGltcG9ydCBcImFkZG9ucy9mb250LWZhbWlseVwiO1xuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJhZGRvbnMvaHRtbDUtaW5wdXQtdHlwZXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3NpemVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy90cmlhbmdsZVwiO1xuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcblxuLy8gU29vbiB0byBiZSBkZXByZWNhdGVkIE1peGluc1xuQGltcG9ydCBcImJvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZ1wiO1xuIiwiLy8gVmFyaWFibGUgc2V0dGluZ3MgZm9yIC9hZGRvbnMvcHJlZml4ZXIuc2Nzc1xuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbW96aWxsYTogICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itc3BlYzogICAgICB0cnVlICFkZWZhdWx0OyAvLyByZXF1aXJlZCBmb3Iga2V5ZnJhbWUgbWl4aW5cbiIsIiRlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuIiwiJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3Igc3RyLXRvLW51bSBmbi5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfY29udmVydC11bml0cygkbnVtYmVyLCAkdW5pdCkge1xuICAkc3RyaW5nczogJ3B4JyAnY20nICdtbScgJyUnICdjaCcgJ3BpY2EnICdpbicgJ2VtJyAncmVtJyAncHQnICdwYycgJ2V4JyAndncnICd2aCcgJ3ZtaW4nICd2bWF4JywgJ2RlZycsICdyYWQnLCAnZ3JhZCcsICd0dXJuJztcbiAgJHVuaXRzOiAgIDFweCAgMWNtICAxbW0gIDElICAxY2ggIDFwaWNhICAxaW4gIDFlbSAgMXJlbSAgMXB0ICAxcGMgIDFleCAgMXZ3ICAxdmggIDF2bWluICAxdm1heCwgIDFkZWcsICAxcmFkLCAgMWdyYWQsIDF0dXJuO1xuICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkdW5pdCk7XG5cbiAgQGlmIG5vdCAkaW5kZXgge1xuICAgIEB3YXJuIFwiVW5rbm93biB1bml0IGAjeyR1bml0fWAuXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAcmV0dXJuICRudW1iZXIgKiBudGgoJHVuaXRzLCAkaW5kZXgpO1xufVxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2VcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gICRzcmM6IG51bGw7XG5cbiAgJGZvcm1hdHMtbWFwOiAoXG4gICAgZW90OiAgXCIjeyRmb250LXVybH0oJyN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKVwiLFxuICAgIHdvZmYyOiBcIiN7JGZvbnQtdXJsfSgnI3skZmlsZS1wYXRofS53b2ZmMicpIGZvcm1hdCgnd29mZjInKVwiLFxuICAgIHdvZmY6IFwiI3skZm9udC11cmx9KCcjeyRmaWxlLXBhdGh9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKVwiLFxuICAgIHR0ZjogIFwiI3skZm9udC11cmx9KCcjeyRmaWxlLXBhdGh9LnR0ZicpIGZvcm1hdCgndHRmJylcIixcbiAgICBzdmc6ICBcIiN7JGZvbnQtdXJsfSgnI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9JykgZm9ybWF0KCdzdmcnKVwiXG4gICk7XG5cbiAgQGVhY2ggJGZvcm1hdCwgJGZpbGUtcGF0aCBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAkZm9ybWF0KSB7XG4gICAgICAkc3JjOiBhcHBlbmQoJHNyYywgJGZpbGUtcGF0aCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHNyYztcbn1cbiIsIkBmdW5jdGlvbiBfZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtdHlwZSwgJGdyYWRpZW50LXBvc2l0aW9ucykge1xuICBAaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IGxpbmVhcilcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAcmV0dXJuICRncmFkaWVudC1wb3NpdGlvbnM7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfaXMtbnVtKCRjaGFyKSB7XG4gICR2YWx1ZXM6ICcwJyAnMScgJzInICczJyAnNCcgJzUnICc2JyAnNycgJzgnICc5JyAwIDEgMiAzIDQgNSA2IDcgOCA5O1xuICAkaW5kZXg6IGluZGV4KCR2YWx1ZXMsICRjaGFyKTtcbiAgQHJldHVybiBpZigkaW5kZXgsIHRydWUsIGZhbHNlKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcbiAgJG9mZnNldDogbnVsbDtcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1sb25nID09IFwiZ3JhZFwiLCAtMTAwZ3JhZCAqIDMsIC0wLjc1dHVybik7XG4gIH1cblxuICBAZWxzZSBpZiAoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIikgb3JcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xuICB9XG5cbiAgQGlmICRvZmZzZXQge1xuICAgICRudW06IF9zdHItdG8tbnVtKCRmaXJzdC12YWwpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICgkb2Zmc2V0IC0gJG51bSkgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcbiAgJGhhcy1hbmdsZTogX2lzLW51bShzdHItc2xpY2UoJGZpcnN0LXZhbCwgMCwgMCkpO1xuXG4gIEBpZiAkaGFzLW11bHRpcGxlLXZhbHMge1xuICAgICRncmFkaWVudHM6IF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtc2luZ2xlLXBvc2l0aW9uICE9IFwiXCIge1xuICAgICRwb3M6IHVucXVvdGUoJGhhcy1zaW5nbGUtcG9zaXRpb24gKyBcIlwiKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtYW5nbGUge1xuICAgIC8vIFJvdGF0ZSBkZWdyZWUgZm9yIHdlYmtpdFxuICAgICRncmFkaWVudHM6IF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpIHtcbiAgJHR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHNwZWM6IG51bGw7XG4gICRkZWdyZWU6IG51bGw7XG4gICRzaWRlOiBudWxsO1xuICAkY29ybmVyOiBudWxsO1xuICAkbGVuZ3RoOiBsZW5ndGgoJHBvcyk7XG4gIC8vIFBhcnNlIFNpZGUgYW5kIGNvcm5lciBwb3NpdGlvbnNcbiAgQGlmICgkbGVuZ3RoID4gMSkge1xuICAgIEBpZiBudGgoJHBvcywgMSkgPT0gXCJ0b1wiIHsgLy8gTmV3ZXIgc3ludGF4XG4gICAgICAkc2lkZTogbnRoKCRwb3MsIDIpO1xuXG4gICAgICBAaWYgJGxlbmd0aCA9PSAyIHsgLy8gZWcuIHRvIHRvcFxuICAgICAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuICAgICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHsgLy8gZWcuIHRvIHRvcCBsZWZ0XG4gICAgICAgICRjb3JuZXI6IG50aCgkcG9zLCAzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAyIHsgLy8gT2xkZXIgc3ludGF4IChcInRvcCBsZWZ0XCIpXG4gICAgICAkc2lkZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDEpKTtcbiAgICAgICRjb3JuZXI6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgfVxuXG4gICAgQGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gcmlnaHRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gbGVmdFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgICRzcGVjOiB0byAkc2lkZSAkY29ybmVyO1xuICB9XG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMSB7XG4gICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGFiaWxpdHlcbiAgICBAaWYgJHR5cGUgPT0gc3RyaW5nIHtcbiAgICAgICRkZWdyZWU6ICRwb3M7XG4gICAgICAkc3BlYzogdG8gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRkZWdyZWU6IC0yNzAgLSAkcG9zOyAvL3JvdGF0ZSB0aGUgZ3JhZGllbnQgb3Bwb3NpdGUgZnJvbSBzcGVjXG4gICAgICAkc3BlYzogJHBvcztcbiAgICB9XG4gIH1cbiAgJGRlZ3JlZTogdW5xdW90ZSgkZGVncmVlICsgXCIsXCIpO1xuICAkc3BlYzogICB1bnF1b3RlKCRzcGVjICsgXCIsXCIpO1xuICBAcmV0dXJuICRkZWdyZWUgJHNwZWM7XG59XG5cbkBmdW5jdGlvbiBfcG9zaXRpb24tZmxpcHBlcigkcG9zKSB7XG4gQHJldHVybiBpZigkcG9zID09IGxlZnQsIHJpZ2h0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IGJvdHRvbSwgdG9wLCBudWxsKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscykge1xuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxICk7XG4gICR2YWwtMjogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRoYXMtbXVsdGlwbGUtdmFscyArIDEsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdmFsLTM6IG51bGw7XG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcblxuICBAaWYgJGhhcy12YWwtMyB7XG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcbiAgICAkdmFsLTI6IHN0ci1zbGljZSgkdmFsLTIsIDAsICRoYXMtdmFsLTMgLSAxKTtcbiAgfVxuXG4gICRwb3M6IF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMSkgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0yKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTMpO1xuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcblxuICAvLyBVc2Ugb2xkIHNwZWMgZm9yIHdlYmtpdFxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRHMSwgJEcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xuICBAZWFjaCAkdmFsdWUgaW4gJEcxLCAkRzIge1xuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcbiAgICB9XG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJEcxOiBudWxsO1xuICAgIH1cblxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAoJHBvcy10eXBlICE9IGNvbG9yKSBvciAoJGZpcnN0LXZhbCAhPSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInRvcFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwibGVmdFwiKSB7XG5cbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHBvcyA9PSAkRzEge1xuICAgICAgICAgICAgJEcxOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XG5cbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICR2YWx1ZSA9PSAkRzEge1xuICAgICAgICAgICAgJEcxOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkRzIge1xuICAgICAgICAgICAgJEcyOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRHMSwgJEcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xuICAkcG9zOiAgICAgICAgbnRoKCRncmFkaWVudC1wb3MsIDIpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgJHByZS1zcGVjOiB1bnF1b3RlKGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpKVxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG5cbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcblxuICAvLyBBZGQgY29tbWFcbiAgQGlmICgkc3BlYyAhPSAnICAnKSB7XG4gICAgJHNwZWM6IFwiI3skc3BlY30sXCJcbiAgfVxuXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XG5cbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKVxuICB9XG5cbiAgQGVsc2UgaWYgJGlzLXNwZWMtc3ludGF4ID09IDEge1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSBpZiBzdHItaW5kZXgoJGltYWdlLCBcImNvdmVyXCIpIG9yIHN0ci1pbmRleCgkaW1hZ2UsIFwiY29udGFpblwiKSB7XG4gICAgQHdhcm4gXCJSYWRpYWwtZ3JhZGllbnQgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byBjb25mb3JtIHRvIGxhdGVzdCBzcGVjLlwiO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiBudWxsLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKVxuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLCIvLyBVc2VyIGZvciBsaW5lYXIgYW5kIHJhZGlhbCBncmFkaWVudHMgd2l0aGluIGJhY2tncm91bmQtaW1hZ2Ugb3IgYm9yZGVyLWltYWdlIHByb3BlcnRpZXNcblxuQGZ1bmN0aW9uIF9yZW5kZXItZ3JhZGllbnRzKCRncmFkaWVudC1wb3NpdGlvbnMsICRncmFkaWVudHMsICRncmFkaWVudC10eXBlLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkcHJlLXNwZWM6IG51bGw7XG4gICRzcGVjOiBudWxsO1xuICAkdmVuZG9yLWdyYWRpZW50czogbnVsbDtcbiAgQGlmICRncmFkaWVudC10eXBlID09IGxpbmVhciB7XG4gICAgQGlmICRncmFkaWVudC1wb3NpdGlvbnMge1xuICAgICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsIHtcbiAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gIEBpZiAkdmVuZG9yIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogLSN7JHZlbmRvcn0tI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skcHJlLXNwZWN9ICRncmFkaWVudHMpO1xuICB9XG4gIEBlbHNlIGlmICR2ZW5kb3IgPT0gZmFsc2Uge1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiBcIiN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHNwZWN9ICN7JGdyYWRpZW50c30pXCI7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IHVucXVvdGUoJHZlbmRvci1ncmFkaWVudHMpO1xuICB9XG4gIEByZXR1cm4gJHZlbmRvci1ncmFkaWVudHM7XG59XG4iLCJAZnVuY3Rpb24gX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpIHtcbiAgJHNoYXBlLXNpemUtc3BlYzogbnVsbDtcbiAgQGVhY2ggJHZhbHVlIGluICRzaGFwZS1zaXplIHtcbiAgICBAaWYgKCR2YWx1ZSA9PSBcImNvdmVyXCIpIG9yICgkdmFsdWUgPT0gXCJjb250YWluXCIpIHtcbiAgICAgICR2YWx1ZTogbnVsbDtcbiAgICB9XG4gICAgJHNoYXBlLXNpemUtc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHZhbHVlfVwiO1xuICB9XG4gIEByZXR1cm4gJHNoYXBlLXNpemUtc3BlYztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgbGluZWFyL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJzLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9zdHItdG8tbnVtKCRzdHJpbmcpIHtcbiAgLy8gTWF0cmljZXNcbiAgJHN0cmluZ3M6ICcwJyAnMScgJzInICczJyAnNCcgJzUnICc2JyAnNycgJzgnICc5JztcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xuXG4gIC8vIFJlc3VsdFxuICAkcmVzdWx0OiAwO1xuICAkZGl2aWRlcjogMDtcbiAgJG1pbnVzOiBmYWxzZTtcblxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCRzdHJpbmcpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICctJyB7XG4gICAgICAkbWludXM6IHRydWU7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpdmlkZXI6IDE7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgICAkcmVzdWx0OiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG4gICAgICAgIEByZXR1cm4gX2NvbnZlcnQtdW5pdHMoJHJlc3VsdCwgc3RyLXNsaWNlKCRzdHJpbmcsICRpKSk7XG4gICAgICB9XG5cbiAgICAgICRudW1iZXI6IG50aCgkbnVtYmVycywgJGluZGV4KTtcblxuICAgICAgQGlmICRkaXZpZGVyID09IDAge1xuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTA7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gTW92ZSB0aGUgZGVjaW1hbCBkb3QgdG8gdGhlIGxlZnRcbiAgICAgICAgJGRpdmlkZXI6ICRkaXZpZGVyICogMTA7XG4gICAgICAgICRudW1iZXI6ICRudW1iZXIgLyAkZGl2aWRlcjtcbiAgICAgIH1cblxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArICRudW1iZXI7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xufVxuIiwiQGZ1bmN0aW9uIGFzc2lnbi1pbnB1dHMoJGlucHV0cywgJHBzZXVkbzogbnVsbCkge1xuICAkbGlzdCA6ICgpO1xuXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpc3Q7XG59IiwiLy8gUHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZXMgd2hldGhlciBhIGNvbG9yIGlzIGxpZ2h0IG9yIGRhcmtcbi8vIFJldHVybnMgYSBib29sZWFuXG4vLyBNb3JlIGRldGFpbHMgaGVyZSBodHRwOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL2Nsb3Nlci1sb29rLWNvbG9yLWxpZ2h0bmVzc1xuXG5AZnVuY3Rpb24gaXMtbGlnaHQoJGhleC1jb2xvcikge1xuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG4gICQtbG9jYWwtZ3JlZW46IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG4gICQtbG9jYWwtYmx1ZTogYmx1ZShyZ2JhKCRoZXgtY29sb3IsIDEuMCkpO1xuXG4gICQtbG9jYWwtbGlnaHRuZXNzOiAoJC1sb2NhbC1yZWQgKiAwLjIxMjYgKyAkLWxvY2FsLWdyZWVuICogMC43MTUyICsgJC1sb2NhbC1ibHVlICogMC4wNzIyKSAvIDI1NTtcblxuICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzID4gLjY7XG59XG4iLCIvLyBUZXN0IGEgU2FzcyBsaXN0IHRvIHNlZSBpZiBpdCBjb250YWlucyBhIGRlZmluZWQgdmFsdWVcblxuQGZ1bmN0aW9uIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBub3Qgbm90IGluZGV4KCRsaXN0LCAkdmFsdWUpO1xufVxuIiwiLy8gQ2hlY2sgZm9yIGEgdmFsaWQgbGVuZ3RoXG5cbkBmdW5jdGlvbiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gIEByZXR1cm4gY29udGFpbnMoMCBcImF1dG9cIiBcImluaXRpYWxcIiBcImluaGVyaXRcIiwgJHZhbHVlKVxuICAgICAgICAgIG9yIHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCBub3QgdW5pdGxlc3MoJHZhbHVlKVxuICAgICAgICAgIG9yIHN0ci1zbGljZSgkdmFsdWUgKyBcIlwiLCAxLCA0KSA9PSBcImNhbGNcIjtcbn1cbiIsIi8vIENoZWNrIGZvciBhIHZhbGlkIHNpemVcblxuQGZ1bmN0aW9uIGlzLXNpemUoJHZhbHVlKSB7XG4gIEByZXR1cm4gaXMtbGVuZ3RoKCR2YWx1ZSlcbiAgICAgICAgICBvciBjb250YWlucyhcImZpbGxcIiBcImZpdC1jb250ZW50XCIgXCJtaW4tY29udGVudFwiIFwibWF4LWNvbnRlbnRcIiwgJHZhbHVlKTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcbi8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpXG5cbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSByZW0oMTIpXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XG5cbkBmdW5jdGlvbiByZW0oJHB4dmFsKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cblxuICAkYmFzZTogJGVtLWJhc2U7XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcbn1cbiIsIi8vIFNydGlwcyB0aGUgdW5pdHMgZnJvbSBhIHZhbHVlLiBlLmcuIDEycHggLT4gMTJcblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWwpIHtcbiAgQHJldHVybiAoJHZhbCAvICgkdmFsICogMCArIDEpKTtcbn1cbiIsIi8vIEFkZCBwZXJjZW50YWdlIG9mIHdoaXRlIHRvIGEgY29sb3JcbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnQpe1xuICBAcmV0dXJuIG1peCh3aGl0ZSwgJGNvbG9yLCAkcGVyY2VudCk7XG59XG5cbi8vIEFkZCBwZXJjZW50YWdlIG9mIGJsYWNrIHRvIGEgY29sb3JcbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50KXtcbiAgQHJldHVybiBtaXgoYmxhY2ssICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwiLy8gUmV0dXJuIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBuYW1lcyBpZiBhcHByb3ByaWF0ZVxuLy8gRXhhbXBsZTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcHMsICR2ZW5kb3I6IGZhbHNlKSB7XG5cdCRuZXctcHJvcHM6ICgpO1xuXHRcblx0QGVhY2ggJHByb3AgaW4gJHByb3BzIHtcblx0XHQkbmV3LXByb3BzOiBhcHBlbmQoJG5ldy1wcm9wcywgdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yKSwgY29tbWEpO1xuXHR9XG5cblx0QHJldHVybiAkbmV3LXByb3BzO1xufVxuXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yOiBmYWxzZSkge1xuXHQvLyBwdXQgb3RoZXIgcHJvcGVydGllcyB0aGF0IG5lZWQgdG8gYmUgcHJlZml4ZWQgaGVyZSBhc3dlbGxcblx0QGlmICR2ZW5kb3IgYW5kICRwcm9wID09IHRyYW5zZm9ybSB7XG5cdFx0QHJldHVybiB1bnF1b3RlKCctJyskdmVuZG9yKyctJyskcHJvcCk7XG5cdH1cblx0QGVsc2Uge1xuXHRcdEByZXR1cm4gJHByb3A7XG5cdH1cbn0iLCIvLyBDb252ZXJ0IHNob3J0aGFuZCB0byB0aGUgNC12YWx1ZSBzeW50YXhcblxuQGZ1bmN0aW9uIHVucGFjaygkc2hvcnRoYW5kKSB7XG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSk7XG4gIH1cbiAgQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9XG4gIEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAzIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkc2hvcnRoYW5kO1xuICB9XG59XG5cbiIsIi8vIFNjYWxpbmcgVmFyaWFibGVzXG4kZ29sZGVuOiAgICAgICAgICAgMS42MTg7XG4kbWlub3Itc2Vjb25kOiAgICAgMS4wNjc7XG4kbWFqb3Itc2Vjb25kOiAgICAgMS4xMjU7XG4kbWlub3ItdGhpcmQ6ICAgICAgMS4yO1xuJG1ham9yLXRoaXJkOiAgICAgIDEuMjU7XG4kcGVyZmVjdC1mb3VydGg6ICAgMS4zMzM7XG4kYXVnbWVudGVkLWZvdXJ0aDogMS40MTQ7XG4kcGVyZmVjdC1maWZ0aDogICAgMS41O1xuJG1pbm9yLXNpeHRoOiAgICAgIDEuNjtcbiRtYWpvci1zaXh0aDogICAgICAxLjY2NztcbiRtaW5vci1zZXZlbnRoOiAgICAxLjc3ODtcbiRtYWpvci1zZXZlbnRoOiAgICAxLjg3NTtcbiRvY3RhdmU6ICAgICAgICAgICAyO1xuJG1ham9yLXRlbnRoOiAgICAgIDIuNTtcbiRtYWpvci1lbGV2ZW50aDogICAyLjY2NztcbiRtYWpvci10d2VsZnRoOiAgICAzO1xuJGRvdWJsZS1vY3RhdmU6ICAgIDQ7XG5cbiRtb2R1bGFyLXNjYWxlLXJhdGlvOiAkcGVyZmVjdC1mb3VydGggIWRlZmF1bHQ7XG4kbW9kdWxhci1zY2FsZS1iYXNlOiBlbSgkZW0tYmFzZSkgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZTogJG1vZHVsYXItc2NhbGUtYmFzZSwgJHJhdGlvOiAkbW9kdWxhci1zY2FsZS1yYXRpbykge1xuICAkdjE6IG50aCgkdmFsdWUsIDEpO1xuICAkdjI6IG50aCgkdmFsdWUsIGxlbmd0aCgkdmFsdWUpKTtcbiAgJHZhbHVlOiAkdjE7XG5cbiAgLy8gc2NhbGUgJHYyIHRvIGp1c3QgYWJvdmUgJHYxXG4gIEB3aGlsZSAkdjIgPiAkdjEge1xuICAgICR2MjogKCR2MiAvICRyYXRpbyk7IC8vIHdpbGwgYmUgb2ZmLWJ5LTFcbiAgfVxuICBAd2hpbGUgJHYyIDwgJHYxIHtcbiAgICAkdjI6ICgkdjIgKiAkcmF0aW8pOyAvLyB3aWxsIGZpeCBvZmYtYnktMVxuICB9XG5cbiAgLy8gY2hlY2sgQUZURVIgc2NhbGluZyAkdjIgdG8gcHJldmVudCBkb3VibGUtY291bnRpbmcgY29ybmVyLWNhc2VcbiAgJGRvdWJsZS1zdHJhbmRlZDogJHYyID4gJHYxO1xuXG4gIEBpZiAkaW5jcmVtZW50ID4gMCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxICogJHJhdGlvKSA+ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgKiAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAqICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkaW5jcmVtZW50IDwgMCB7XG4gICAgLy8gYWRqdXN0ICR2MiB0byBqdXN0IGJlbG93ICR2MVxuICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIHtcbiAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tICRpbmNyZW1lbnQgdGhyb3VnaCAtMSB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAvICRyYXRpbykgPCAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgLyAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucy8jdGhlLWFuaW1hdGlvbi1uYW1lLXByb3BlcnR5LVxuLy8gRWFjaCBvZiB0aGVzZSBtaXhpbnMgc3VwcG9ydCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMgb2YgdmFsdWVzLCB3aGljaCBhbGxvd3MgZGlmZmVyZW50IHRyYW5zaXRpb25zIGZvciBpbmRpdmlkdWFsIHByb3BlcnRpZXMgdG8gYmUgZGVzY3JpYmVkIGluIGEgc2luZ2xlIHN0eWxlIHJ1bGUuIEVhY2ggdmFsdWUgaW4gdGhlIGxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIHZhbHVlIGF0IHRoYXQgc2FtZSBwb3NpdGlvbiBpbiB0aGUgb3RoZXIgcHJvcGVydGllcy5cblxuLy8gT2ZmaWNpYWwgYW5pbWF0aW9uIHNob3J0aGFuZCBwcm9wZXJ0eS5cbkBtaXhpbiBhbmltYXRpb24gKCRhbmltYXRpb25zLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbiwgJGFuaW1hdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIEluZGl2aWR1YWwgQW5pbWF0aW9uIFByb3BlcnRpZXNcbkBtaXhpbiBhbmltYXRpb24tbmFtZSAoJG5hbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkbmFtZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbiAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uICgkbW90aW9ucy4uLikge1xuLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50ICgkdmFsdWVzLi4uKSB7XG4vLyBpbmZpbml0ZSB8IDxudW1iZXI+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICR2YWx1ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24gKCRkaXJlY3Rpb25zLi4uKSB7XG4vLyBub3JtYWwgfCBhbHRlcm5hdGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1wbGF5LXN0YXRlICgkc3RhdGVzLi4uKSB7XG4vLyBydW5uaW5nIHwgcGF1c2VkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1wbGF5LXN0YXRlLCAkc3RhdGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkgKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSAoJG1vZGVzLi4uKSB7XG4vLyBub25lIHwgZm9yd2FyZHMgfCBiYWNrd2FyZHMgfCBib3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsICRtb2Rlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBhcHBlYXJhbmNlICgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZmFjZS12aXNpYmlsaXR5IG1peGluXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSwgd2Via2l0IHNwZWMpO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmRzIHVzaW5nIHNob3J0aGFuZFxuLy8gbm90YXRpb24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kcy4uLikge1xuICAkd2Via2l0LWJhY2tncm91bmRzOiAoKTtcbiAgJHNwZWMtYmFja2dyb3VuZHM6ICgpO1xuXG4gIEBlYWNoICRiYWNrZ3JvdW5kIGluICRiYWNrZ3JvdW5kcyB7XG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkYmFja2dyb3VuZC10eXBlOiB0eXBlLW9mKCRiYWNrZ3JvdW5kKTtcblxuICAgIEBpZiAkYmFja2dyb3VuZC10eXBlID09IHN0cmluZyBvciAkYmFja2dyb3VuZC10eXBlID09IGxpc3Qge1xuICAgICAgJGJhY2tncm91bmQtc3RyOiBpZigkYmFja2dyb3VuZC10eXBlID09IGxpc3QsIG50aCgkYmFja2dyb3VuZCwgMSksICRiYWNrZ3JvdW5kKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDAsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDAsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICR3ZWJraXQtYmFja2dyb3VuZHM6IGFwcGVuZCgkd2Via2l0LWJhY2tncm91bmRzLCAkd2Via2l0LWJhY2tncm91bmQsIGNvbW1hKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kczogICBhcHBlbmQoJHNwZWMtYmFja2dyb3VuZHMsICAgJHNwZWMtYmFja2dyb3VuZCwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kOiAkd2Via2l0LWJhY2tncm91bmRzO1xuICBiYWNrZ3JvdW5kOiAkc3BlYy1iYWNrZ3JvdW5kcztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQtaW1hZ2UgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoXG4vLyBncmFkaWVudHMsIG9yIGZvciBzdHJpbmdpbmcgbXVsdGlwbGUgZ3JhZGllbnRzIHRvZ2V0aGVyLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZSgkaW1hZ2VzLi4uKSB7XG4gICR3ZWJraXQtaW1hZ2VzOiAoKTtcbiAgJHNwZWMtaW1hZ2VzOiAoKTtcblxuICBAZWFjaCAkaW1hZ2UgaW4gJGltYWdlcyB7XG4gICAgJHdlYmtpdC1pbWFnZTogKCk7XG4gICAgJHNwZWMtaW1hZ2U6ICgpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRpbWFnZSkgPT0gc3RyaW5nKSB7XG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRpbWFnZSwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRpbWFnZSwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogJGltYWdlO1xuICAgICAgICAgICRzcGVjLWltYWdlOiAkaW1hZ2U7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiAgbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkd2Via2l0LWltYWdlczogYXBwZW5kKCR3ZWJraXQtaW1hZ2VzLCAkd2Via2l0LWltYWdlLCBjb21tYSk7XG4gICAgJHNwZWMtaW1hZ2VzOiAgIGFwcGVuZCgkc3BlYy1pbWFnZXMsICAgJHNwZWMtaW1hZ2UsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogJHdlYmtpdC1pbWFnZXM7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRzcGVjLWltYWdlcztcbn1cbiIsIkBtaXhpbiBib3JkZXItaW1hZ2UoJGJvcmRlcnMuLi4pIHtcbiAgJHdlYmtpdC1ib3JkZXJzOiAoKTtcbiAgJHNwZWMtYm9yZGVyczogKCk7XG5cbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XG4gICAgJHdlYmtpdC1ib3JkZXI6ICgpO1xuICAgICRzcGVjLWJvcmRlcjogKCk7XG4gICAgJGJvcmRlci10eXBlOiB0eXBlLW9mKCRib3JkZXIpO1xuXG4gICAgQGlmICRib3JkZXItdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XG4gICAgICAkYm9yZGVyLXN0cjogaWYoJGJvcmRlci10eXBlID09IGxpc3QsIG50aCgkYm9yZGVyLCAxKSwgJGJvcmRlcik7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDAsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICAgJHNwZWMtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICAgJHNwZWMtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1ib3JkZXJzOiBhcHBlbmQoJHdlYmtpdC1ib3JkZXJzLCAkd2Via2l0LWJvcmRlciwgY29tbWEpO1xuICAgICRzcGVjLWJvcmRlcnM6ICAgYXBwZW5kKCRzcGVjLWJvcmRlcnMsICAgJHNwZWMtYm9yZGVyLCAgIGNvbW1hKTtcbiAgfVxuXG4gIC13ZWJraXQtYm9yZGVyLWltYWdlOiAkd2Via2l0LWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLWltYWdlOiAkc3BlYy1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi8vRXhhbXBsZXM6XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikgMjAgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIDIwIDMwIDQwIDUwIHN0cmV0Y2ggcm91bmQpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHJhZGlhbC1ncmFkaWVudCh0b3AsIGNvdmVyLCBvcmFuZ2UsIHllbGxvdywgb3JhbmdlKSk7XG4iLCIvLyBCb3JkZXIgUmFkaXVzIChTaG9ydGhhbmQpXG4vLyBQcm92aWRlcyBhIHNob3J0aGFuZCBzeW50YXggdG8gdGFyZ2V0IGFuZCBhZGQgYm9yZGVyIHJhZGlpIHRvIGJvdGggY29ybmVycyBvbiBvbmUgc2lkZSBvZiBhIGJveFxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbn1cbiIsIkBtaXhpbiBib3gtc2l6aW5nICgkYm94KSB7XG4vLyAgY29udGVudC1ib3ggfCBib3JkZXItYm94IHwgaW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkYm94LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGNhbGMoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skdmFsdWV9KTtcbiAgI3skcHJvcGVydHl9OiAgICAgICAgIGNhbGMoI3skdmFsdWV9KTtcbn1cbiIsIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcbi8vIDxjb2x1bW4tY291bnQ+IHx8IDxjb2x1bW4td2lkdGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbnMsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJGludDogYXV0bykge1xuLy8gYXV0byB8fCBpbnRlZ2VyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1jb3VudCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJGxlbmd0aDogbm9ybWFsKSB7XG4vLyBub3JtYWwgfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XG4vLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZmlsbCwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlKCRhcmcpIHtcbi8vIDxib3JkZXItd2lkdGg+IHx8IDxib3JkZXItc3R5bGU+IHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvciwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZTogbm9uZSkge1xuLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tc3BhbigkYXJnOiBub25lKSB7XG4vLyBub25lIHx8IGFsbFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tc3BhbiwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi13aWR0aCgkbGVuZ3RoOiBhdXRvKSB7XG4vLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4td2lkdGgsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gZmlsdGVyKCRmdW5jdGlvbjogbm9uZSkge1xuICAvLyA8ZmlsdGVyLWZ1bmN0aW9uPiBbPGZpbHRlci1mdW5jdGlvbl0qIHwgbm9uZVxuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsICRmdW5jdGlvbiwgd2Via2l0IHNwZWMpO1xufVxuXG4iLCIvLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcblxuLy8gQ3VzdG9tIHNob3J0aGFuZCBub3RhdGlvbiBmb3IgZmxleGJveFxuQG1peGluIGJveCgkb3JpZW50OiBpbmxpbmUtYXhpcywgJHBhY2s6IHN0YXJ0LCAkYWxpZ246IHN0cmV0Y2gpIHtcbiAgQGluY2x1ZGUgZGlzcGxheS1ib3g7XG4gIEBpbmNsdWRlIGJveC1vcmllbnQoJG9yaWVudCk7XG4gIEBpbmNsdWRlIGJveC1wYWNrKCRwYWNrKTtcbiAgQGluY2x1ZGUgYm94LWFsaWduKCRhbGlnbik7XG59XG5cbkBtaXhpbiBkaXNwbGF5LWJveCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIElFIDEwXG4gIGRpc3BsYXk6IGJveDtcbn1cblxuQG1peGluIGJveC1vcmllbnQoJG9yaWVudDogaW5saW5lLWF4aXMpIHtcbi8vIGhvcml6b250YWx8dmVydGljYWx8aW5saW5lLWF4aXN8YmxvY2stYXhpc3xpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICRvcmllbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtcGFjaygkcGFjazogc3RhcnQpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8anVzdGlmeVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJHBhY2ssIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBhY2s6ICRwYWNrOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWFsaWduKCRhbGlnbjogc3RyZXRjaCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxiYXNlbGluZXxzdHJldGNoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsaWduLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1hbGlnbjogJGFsaWduOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWRpcmVjdGlvbigkZGlyZWN0aW9uOiBub3JtYWwpIHtcbi8vIG5vcm1hbHxyZXZlcnNlfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWxpbmVzKCRsaW5lczogc2luZ2xlKSB7XG4vLyBzaW5nbGV8bXVsdGlwbGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkbGluZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtb3JkaW5hbC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1vcmRlcjogJGludDsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4KCR2YWx1ZTogMC4wKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbi8vIGZsZXggfCBpbmxpbmUtZmxleFxuICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcbiAgICAvLyAyMDA5XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogYm94O1xuXG4gICAgLy8gMjAxMlxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIDIwMTEgKElFIDEwKVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcImlubGluZS1mbGV4XCIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJveDtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogJHZhbHVlO1xuICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IFwibm9ybWFsXCI7XG5cbiAgQGlmICR2YWx1ZSA9PSByb3cge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJyb3ctcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gY29sdW1uIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcImNvbHVtbi1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkdmFsdWUtMjAwOSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJyZXZlcnNlXCIge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWxpbmVzIChzaW5nbGUgfCBtdWx0aXBsZSlcbi8vIDIwMTEgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG4vLyAyMDEyIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWU6IG5vd3JhcCkge1xuXG4gIC8vIEFsdCB2YWx1ZXNcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcIndyYXAtcmV2ZXJzZVwiIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC13cmFwLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTEgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTIgLSBmbGV4LWZsb3cgKGZsZXgtZGlyZWN0aW9uIHx8IGZsZXgtd3JhcClcbkBtaXhpbiBmbGV4LWZsb3coJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZmxvdywgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yZGluYWwtZ3JvdXAgKGludGVnZXIpXG4vLyAyMDExIC0gZmxleC1vcmRlciAoaW50ZWdlcilcbi8vIDIwMTIgLSBvcmRlciAoaW50ZWdlcilcbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWdyb3cgKG51bWJlcilcbkBtaXhpbiBmbGV4LWdyb3coJG51bWJlcjogMCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1zaHJpbmsgKG51bWJlcilcbkBtaXhpbiBmbGV4LXNocmluaygkbnVtYmVyOiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtc2hyaW5rLCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1uZWdhdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtYmFzaXMgKG51bWJlcilcbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aDogYXV0bykge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWJhc2lzLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkd2lkdGg7XG59XG5cbi8vIDIwMDkgLSBib3gtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMSAtIGZsZXgtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMiAtIGp1c3RpZnktY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZClcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHZhbHVlOiBmbGV4LXN0YXJ0KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfVxuXG4gIEBlbHNlaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICRhbHQtdmFsdWU6IGp1c3RpZnk7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LXBhY2s6ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMSAtIGZsZXgtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWl0ZW1zIChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24taXRlbXMoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1zZWxmLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246ICR2YWx1ZS0yMDExO1xufVxuXG4vLyAyMDExIC0gZmxleC1saW5lLXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSB8IGRpc3RyaWJ1dGUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWNvbnRlbnQoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiAkdmFsdWUtMjAxMTtcbn1cbiIsIi8vIE9yZGVyIG9mIHRoZSBpbmNsdWRlcyBtYXR0ZXJzLCBhbmQgaXQgaXM6IG5vcm1hbCwgYm9sZCwgaXRhbGljLCBib2xkK2l0YWxpYy5cblxuQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYgdHRmIHN2Zykge1xuXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG5cbiAgICBAaWYgY29udGFpbnMoJGZpbGUtZm9ybWF0cywgZW90KSB7XG4gICAgICBzcmM6IFwiI3skZm9udC11cmwtcHJlZml4fSgnI3skZmlsZS1wYXRofS5lb3QnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJylcIjtcbiAgICB9XG5cbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAgICAgJGZvbnQtZmFtaWx5LFxuICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICRhc3NldC1waXBlbGluZSxcbiAgICAgICRmaWxlLWZvcm1hdHMsXG4gICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxufVxuIiwiLy8gRm9udCBmZWF0dXJlIHNldHRpbmdzIG1peGluIGFuZCBwcm9wZXJ0eSBkZWZhdWx0LlxuLy8gRXhhbXBsZXM6IEBpbmNsdWRlIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyhcImxpZ2FcIik7XG4vLyAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mZWF0dXJlLXNldHRpbmdzKFwibG51bVwiIGZhbHNlKTtcbi8vICAgICAgICAgICBAaW5jbHVkZSBmb250LWZlYXR1cmUtc2V0dGluZ3MoXCJwbnVtXCIgMSwgXCJrZXJuXCIgMCk7XG4vLyAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mZWF0dXJlLXNldHRpbmdzKFwic3MwMVwiLCBcInNzMDJcIik7XG5cbkBtaXhpbiBmb250LWZlYXR1cmUtc2V0dGluZ3MoJHNldHRpbmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAwIHsgJHNldHRpbmdzOiBub25lOyB9XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZvbnQtZmVhdHVyZS1zZXR0aW5ncywgJHNldHRpbmdzLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufSIsIi8vIEhpRFBJIG1peGluLiBEZWZhdWx0IHZhbHVlIHNldCB0byAxLjMgdG8gdGFyZ2V0IEdvb2dsZSBOZXh1cyA3IChodHRwOi8vYmphbmdvLmNvbS9hcnRpY2xlcy9taW4tZGV2aWNlLXBpeGVsLXJhdGlvLylcbkBtaXhpbiBoaWRwaSgkcmF0aW86IDEuMykge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHJhdGlvfS8xKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogJHJhdGlvICogMWRwcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQG1peGluIGh5cGhlbnMoJGh5cGhlbmF0aW9uOiBub25lKSB7XG4vLyBub25lIHwgbWFudWFsIHwgYXV0b1xuICBAaW5jbHVkZSBwcmVmaXhlcihoeXBoZW5zLCAkaHlwaGVuYXRpb24sIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59IiwiQG1peGluIGltYWdlLXJlbmRlcmluZyAoJG1vZGU6YXV0bykge1xuXG4gIEBpZiAoJG1vZGUgPT0gY3Jpc3AtZWRnZXMpIHtcbiAgICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7IC8vIElFOCtcbiAgICAgIGltYWdlLXJlbmRlcmluZzogLW1vei1jcmlzcC1lZGdlcztcbiAgICAgIGltYWdlLXJlbmRlcmluZzogLW8tY3Jpc3AtZWRnZXM7XG4gICAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtb3B0aW1pemUtY29udHJhc3Q7XG4gICAgICBpbWFnZS1yZW5kZXJpbmc6IGNyaXNwLWVkZ2VzO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAkbW9kZTtcbiAgfVxufVxuIiwiLy8gQWRkcyBrZXlmcmFtZXMgYmxvY2tzIGZvciBzdXBwb3J0ZWQgcHJlZml4ZXMsIHJlbW92aW5nIHJlZHVuZGFudCBwcmVmaXhlcyBpbiB0aGUgYmxvY2sncyBjb250ZW50XG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdDogICAgJHByZWZpeC1mb3Itd2Via2l0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhOiAgICRwcmVmaXgtZm9yLW1vemlsbGE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdDogJHByZWZpeC1mb3ItbWljcm9zb2Z0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYTogICAgICRwcmVmaXgtZm9yLW9wZXJhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjOiAgICAgICRwcmVmaXgtZm9yLXNwZWM7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLXdlYmtpdDogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci1tb3ppbGxhOiB0cnVlICFnbG9iYWw7XG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0ICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0ICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmEgICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyAgICAgICFnbG9iYWw7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMge1xuICAgIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gbGluZWFyLWdyYWRpZW50KCRwb3MsICRHMSwgJEcyOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzM6IG51bGwsICRHNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc1OiBudWxsLCAkRzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHNzogbnVsbCwgJEc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzk6IG51bGwsICRHMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuICAvLyBEZXRlY3Qgd2hhdCB0eXBlIG9mIHZhbHVlIGV4aXN0cyBpbiAkcG9zXG4gICRwb3MtdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkcG9zLXNwZWM6IG51bGw7XG4gICRwb3MtZGVncmVlOiBudWxsO1xuXG4gIC8vIElmICRwb3MgaXMgbWlzc2luZyBmcm9tIG1peGluLCByZWFzc2lnbiB2YXJzIGFuZCBhZGQgZGVmYXVsdCBwb3NpdGlvblxuICBAaWYgKCRwb3MtdHlwZSA9PSBjb2xvcikgb3IgKG50aCgkcG9zLCAxKSA9PSBcInRyYW5zcGFyZW50XCIpICB7XG4gICAgJEcxMDogJEc5OyAkRzk6ICRHODsgJEc4OiAkRzc7ICRHNzogJEc2OyAkRzY6ICRHNTtcbiAgICAgJEc1OiAkRzQ7ICRHNDogJEczOyAkRzM6ICRHMjsgJEcyOiAkRzE7ICRHMTogJHBvcztcbiAgICAgJHBvczogbnVsbDtcbiAgfVxuXG4gIEBpZiAkcG9zIHtcbiAgICAkcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcyk7XG4gICAgJHBvcy1kZWdyZWU6IG50aCgkcG9zaXRpb25zLCAxKTtcbiAgICAkcG9zLXNwZWM6ICAgbnRoKCRwb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgJGZ1bGw6ICRHMSwgJEcyLCAkRzMsICRHNCwgJEc1LCAkRzYsICRHNywgJEc4LCAkRzksICRHMTA7XG5cbiAgLy8gU2V0ICRHMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmFsbGJhY2stY29sb3I6IG50aCgkRzEsIDEpO1xuXG4gIC8vIElmICRmYWxsYmFjayBpcyBhIGNvbG9yIHVzZSB0aGF0IGNvbG9yIGFzIHRoZSBmYWxsYmFjayBjb2xvclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHBvcy1kZWdyZWUgJGZ1bGwpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJsaW5lYXItZ3JhZGllbnQoI3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xufVxuIiwiQG1peGluIHBlcnNwZWN0aXZlKCRkZXB0aDogbm9uZSkge1xuICAvLyBub25lIHwgPGxlbmd0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUsICRkZXB0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkdmFsdWU6IDUwJSA1MCUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUtb3JpZ2luLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gcGxhY2Vob2xkZXIge1xuICAkcGxhY2Vob2xkZXJzOiBcIjotd2Via2l0LWlucHV0XCIgXCI6LW1velwiIFwiLW1velwiIFwiLW1zLWlucHV0XCI7XG4gIEBlYWNoICRwbGFjZWhvbGRlciBpbiAkcGxhY2Vob2xkZXJzIHtcbiAgICAmOiN7JHBsYWNlaG9sZGVyfS1wbGFjZWhvbGRlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlcXVpcmVzIFNhc3MgMy4xK1xuQG1peGluIHJhZGlhbC1ncmFkaWVudCgkRzEsICAgICAgICAkRzIsXG4gICAgICAgICAgICAgICAgICAgICAgICRHMzogbnVsbCwgJEc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzU6IG51bGwsICRHNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc3OiBudWxsLCAkRzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHOTogbnVsbCwgJEcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHBvczogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHNoYXBlLXNpemU6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuXG4gICRkYXRhOiBfcmFkaWFsLWFyZy1wYXJzZXIoJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplKTtcbiAgJEcxOiAgbnRoKCRkYXRhLCAxKTtcbiAgJEcyOiAgbnRoKCRkYXRhLCAyKTtcbiAgJHBvczogbnRoKCRkYXRhLCAzKTtcbiAgJHNoYXBlLXNpemU6IG50aCgkZGF0YSwgNCk7XG5cbiAgJGZ1bGw6ICRHMSwgJEcyLCAkRzMsICRHNCwgJEc1LCAkRzYsICRHNywgJEc4LCAkRzksICRHMTA7XG5cbiAgLy8gU3RyaXAgZGVwcmVjYXRlZCBjb3Zlci9jb250YWluIGZvciBzcGVjXG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAvLyBTZXQgJEcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmaXJzdC1jb2xvcjogbnRoKCRmdWxsLCAxKTtcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGZpcnN0LWNvbG9yLCAxKTtcblxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIC8vIEFkZCBDb21tYXMgYW5kIHNwYWNlc1xuICAkc2hhcGUtc2l6ZTogaWYoJHNoYXBlLXNpemUsICcjeyRzaGFwZS1zaXplfSwgJywgbnVsbCk7XG4gICRwb3M6ICAgICAgICBpZigkcG9zLCAnI3skcG9zfSwgJywgbnVsbCk7XG4gICRwb3Mtc3BlYzogICBpZigkcG9zLCAnYXQgI3skcG9zfScsIG51bGwpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBpZigoJHNoYXBlLXNpemUtc3BlYyAhPSAnICcpIGFuZCAoJHBvcyA9PSBudWxsKSwgJyN7JHNoYXBlLXNpemUtc3BlY30sICcsICcjeyRzaGFwZS1zaXplLXNwZWN9ICcpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KHVucXVvdGUoI3skcG9zfSN7JHNoYXBlLXNpemV9I3skZnVsbH0pKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcInJhZGlhbC1ncmFkaWVudCgjeyRzaGFwZS1zaXplLXNwZWN9I3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xufVxuIiwiQG1peGluIHNlbGVjdGlvbiB7XG4gICRiZWZvcmUtY29sb25zOiBcIlwiO1xuXG4gIEBpZiAmIHtcbiAgICAkYmVmb3JlLWNvbG9uczogXCImXCJcbiAgfVxuXG4gICN7JGJlZm9yZS1jb2xvbnN9OjpzZWxlY3Rpb24ge1xuICAgIEBjb250ZW50O1xuICB9XG4gICN7JGJlZm9yZS1jb2xvbnN9OjotbW96LXNlbGVjdGlvbiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn0iLCJAbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCR2YWx1ZSkge1xuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XG4vLyBub25lIHx8IHVuZGVybGluZSB8fCBvdmVybGluZSB8fCBsaW5lLXRocm91Z2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLXN0eWxlLCAkc3R5bGUsIG1veiB3ZWJraXQpO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWNvbG9yKCRjb2xvcjogY3VycmVudENvbG9yKSB7XG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcbn1cbiIsIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XG4vLyAgbm9uZSB8IDx0cmFuc2Zvcm0tZnVuY3Rpb24+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgJHByb3BlcnR5LCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRheGVzOiA1MCUpIHtcbi8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXG4vLyB5LWF4aXMgLSB0b3AgIHwgY2VudGVyIHwgYm90dG9tIHwgbGVuZ3RoIHwgJVxuLy8gei1heGlzIC0gICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tb3JpZ2luLCAkYXhlcywgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlICgkc3R5bGU6IGZsYXQpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG9wYWNpdHkgMXMgZWFzZS1pbiAycywgd2lkdGggMnMgZWFzZS1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcblxuQG1peGluIHRyYW5zaXRpb24gKCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC8vIEZpeCBmb3IgdmVuZG9yLXByZWZpeCB0cmFuc2Zvcm0gcHJvcGVydHlcbiAgJG5lZWRzLXByZWZpeGVzOiBmYWxzZTtcbiAgJHdlYmtpdDogKCk7XG4gICRtb3o6ICgpO1xuICAkc3BlYzogKCk7XG5cbiAgLy8gQ3JlYXRlIGxpc3RzIGZvciB2ZW5kb3ItcHJlZml4ZWQgdHJhbnNmb3JtXG4gIEBlYWNoICRsaXN0IGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgbnRoKCRsaXN0LCAxKSA9PSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICRuZWVkcy1wcmVmaXhlczogdHJ1ZTtcbiAgICAgICRsaXN0MTogLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICAkbGlzdDI6IC1tb3otdHJhbnNmb3JtO1xuICAgICAgJGxpc3QzOiAoKTtcblxuICAgICAgQGVhY2ggJHZhciBpbiAkbGlzdCB7XG4gICAgICAgICRsaXN0Mzogam9pbigkbGlzdDMsICR2YXIpO1xuXG4gICAgICAgIEBpZiAkdmFyICE9IFwidHJhbnNmb3JtXCIge1xuICAgICAgICAgICRsaXN0MTogam9pbigkbGlzdDEsICR2YXIpO1xuICAgICAgICAgICRsaXN0Mjogam9pbigkbGlzdDIsICR2YXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdDEpO1xuICAgICAgICAgJG1vejogYXBwZW5kKCRtb3osICAgICRsaXN0Mik7XG4gICAgICAgICRzcGVjOiBhcHBlbmQoJHNwZWMsICAgJGxpc3QzKTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgbGlzdHMgZm9yIG5vbi1wcmVmaXhlZCB0cmFuc2l0aW9uIHByb3BlcnRpZXNcbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0OiAgYXBwZW5kKCR3ZWJraXQsICRsaXN0LCBjb21tYSk7XG4gICAgICAkbW96OiAgICAgYXBwZW5kKCRtb3osICAgICRsaXN0LCBjb21tYSk7XG4gICAgICAkc3BlYzogICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0LCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRuZWVkcy1wcmVmaXhlcyB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkd2Via2l0O1xuICAgICAgIC1tb3otdHJhbnNpdGlvbjogJG1vejtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRzcGVjO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgbGVuZ3RoKCRwcm9wZXJ0aWVzKSA+PSAxIHtcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhbGwgMC4xNXMgZWFzZS1vdXQgMHM7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkgKCRwcm9wZXJ0aWVzLi4uKSB7XG4gICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsICd3ZWJraXQnKTtcbiAgICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgJ21veicpO1xuICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uICgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24gKCRtb3Rpb25zLi4uKSB7XG4vLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5ICgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIHVzZXItc2VsZWN0KCRhcmc6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodXNlci1zZWxlY3QsICRhcmcsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCIvLyBUaGUgY2xlYXJmaXggbWl4aW4gcHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY29udGFpbiBmbG9hdHNcbi8vXG4vLyBFeGFtcGxlIHVzYWdlOlxuLy8gLndyYXBwZXIge1xuLy8gICBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vIH1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cblxuLy8gQWNrbm93bGVkZ2VtZW50czpcbi8vIFRoaWVycnkgS29ibGVudHosIGNzc21vam9cbi8vIGh0dHA6Ly9nb28uZ2wvQVFXdnlIXG4iLCIvLyBkaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHNcbi8vIGZvciB3cml0aW5nIHByb3BlcnRpZXMgbGlrZSB0aGUgZm9sbG93aW5nXG4vL1xuLy8gQGluY2x1ZGUgbWFyZ2luKG51bGwgMCAxMHB4KTtcbi8vIC0tLS0tLVxuLy8gbWFyZ2luLXJpZ2h0OiAwO1xuLy8gbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vIG1hcmdpbi1sZWZ0OiAwO1xuLy9cbi8vIC0gb3IgLVxuLy9cbi8vIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XG4vLyAtLS0tLS1cbi8vIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vXG4vLyAtLS0tLS1cbi8vXG4vLyBOb3RlOiBZb3UgY2FuIGFsc28gdXNlIGZhbHNlIGluc3RlYWQgb2YgbnVsbFxuXG5AZnVuY3Rpb24gY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKSB7XG4gICRvdXRwdXQ6IG51bGw7XG5cbiAgJEE6IG50aCggJHZhbHMsIDEgKTtcbiAgJEI6IGlmKCBsZW5ndGgoJHZhbHMpIDwgMiwgJEEsIG50aCgkdmFscywgMikpO1xuICAkQzogaWYoIGxlbmd0aCgkdmFscykgPCAzLCAkQSwgbnRoKCR2YWxzLCAzKSk7XG4gICREOiBpZiggbGVuZ3RoKCR2YWxzKSA8IDIsICRBLCBudGgoJHZhbHMsIGlmKCBsZW5ndGgoJHZhbHMpIDwgNCwgMiwgNCkgKSk7XG5cbiAgQGlmICRBID09IDAgeyAkQTogMCB9XG4gIEBpZiAkQiA9PSAwIHsgJEI6IDAgfVxuICBAaWYgJEMgPT0gMCB7ICRDOiAwIH1cbiAgQGlmICREID09IDAgeyAkRDogMCB9XG5cbiAgQGlmICRBID09ICRCIGFuZCAkQSA9PSAkQyBhbmQgJEEgPT0gJEQgeyAkb3V0cHV0OiAkQSAgICAgICAgICB9XG4gIEBlbHNlIGlmICRBID09ICRDIGFuZCAkQiA9PSAkRCAgICAgICAgIHsgJG91dHB1dDogJEEgJEIgICAgICAgfVxuICBAZWxzZSBpZiAkQiA9PSAkRCAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRBICRCICRDICAgIH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkQSAkQiAkQyAkRCB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG5AZnVuY3Rpb24gY29udGFpbnMtZmFsc3koJGxpc3QpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBub3QgJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBkaXJlY3Rpb25hbC1wcm9wZXJ0eSgkcHJlLCAkc3VmLCAkdmFscykge1xuICAvLyBQcm9wZXJ0eSBOYW1lc1xuICAkdG9wOiAgICAkcHJlICsgXCItdG9wXCIgICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYm90dG9tOiAkcHJlICsgXCItYm90dG9tXCIgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkbGVmdDogICAkcHJlICsgXCItbGVmdFwiICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkcmlnaHQ6ICAkcHJlICsgXCItcmlnaHRcIiAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYWxsOiAgICAkcHJlICsgICAgICAgICAgICAgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcblxuICAkdmFsczogY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKTtcblxuICBAaWYgY29udGFpbnMtZmFsc3koJHZhbHMpIHtcbiAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHRvcH06IG50aCgkdmFscywgMSk7IH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDEge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRyaWdodH06IG50aCgkdmFscywgMSk7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDIpOyB9XG4gICAgfVxuXG4gICAgLy8gcHJvcDogdG9wL2JvdHRvbSByaWdodC9sZWZ0XG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMiB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMSk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuXG4gICAgLy8gcHJvcDogdG9wIHJpZ2h0L2xlZnQgYm90dG9tXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cblxuICAgIC8vIHByb3A6IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XG4gICAgfVxuXG4gIC8vIHByb3A6IHRvcC9yaWdodC9ib3R0b20vbGVmdFxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFscztcbiAgfVxufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KG1hcmdpbiwgZmFsc2UsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkocGFkZGluZywgZmFsc2UsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG5cbkBtaXhpbiBib3JkZXItY29sb3IoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHMuLi4pO1xufVxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsIkBtaXhpbiBlbGxpcHNpcygkd2lkdGg6IDEwMCUpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuIiwiJGdlb3JnaWE6IEdlb3JnaWEsIENhbWJyaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZjtcbiRoZWx2ZXRpY2E6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGx1Y2lkYS1ncmFuZGU6IFwiTHVjaWRhIEdyYW5kZVwiLCBUYWhvbWEsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJG1vbm9zcGFjZTogXCJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm9cIiwgQ29uc29sYXMsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiR2ZXJkYW5hOiBWZXJkYW5hLCBHZW5ldmEsIHNhbnMtc2VyaWY7XG4iLCJAbWl4aW4gaGlkZS10ZXh0KCRoZWlnaHQ6IDFlbSkge1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gR2VuZXJhdGUgYSB2YXJpYWJsZSAoJGFsbC10ZXh0LWlucHV0cykgd2l0aCBhIGxpc3Qgb2YgYWxsIGh0bWw1XG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSB0ZXh0LWJhc2VkIGlucHV0LCBleGNsdWRpbmcgdGV4dGFyZWEuXG4vLyBodHRwOi8vZGl2ZWludG9odG1sNS5vcmcvZm9ybXMuaHRtbFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGlucHV0cy1saXN0OiAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJudW1iZXJcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRlbFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGV4dFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidXJsXCJdJyxcblxuICAgICAgICAgICAgICAvLyBXZWJraXQgJiBHZWNrbyBtYXkgY2hhbmdlIHRoZSBkaXNwbGF5IG9mIHRoZXNlIGluIHRoZSBmdXR1cmVcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJtb250aFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXSc7XG5cbi8vIEJhcmUgaW5wdXRzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCk7XG5cbi8vIEhvdmVyIFBzZXVkby1jbGFzc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogYXNzaWduLWlucHV0cygkaW5wdXRzLWxpc3QsIGhvdmVyKTtcblxuLy8gRm9jdXMgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCwgZm9jdXMpO1xuXG5cblxuLy8gWW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOlxuLy8gI3skYWxsLXRleHQtaW5wdXRzfVxuLy8gI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfVxuLy8gI3skYWxsLXRleHQtaW5wdXRzLWZvY3VzfVxuXG4vLyBFeGFtcGxlXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyAgICN7JGFsbC10ZXh0LWlucHV0c30sIHRleHRhcmVhIHtcbi8vICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4vLyAgIH1cblxuXG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEdlbmVyYXRlIGEgdmFyaWFibGUgKCRhbGwtYnV0dG9uLWlucHV0cykgd2l0aCBhIGxpc3Qgb2YgYWxsIGh0bWw1XG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSBidXR0b24tYmFzZWQgaW5wdXQsIGV4Y2x1ZGluZyBidXR0b24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kaW5wdXRzLWJ1dHRvbi1saXN0OiAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuLy8gQmFyZSBpbnB1dHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0KTtcblxuLy8gSG92ZXIgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgaG92ZXIpO1xuXG4vLyBGb2N1cyBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1mb2N1czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0LCBmb2N1cyk7XG5cbi8vIEFjdGl2ZSBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgYWN0aXZlKTtcblxuXG5cbi8vIFlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTpcbi8vICN7JGFsbC1idXR0b24taW5wdXRzfVxuLy8gI3skYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXJ9XG4vLyAjeyRhbGwtYnV0dG9uLWlucHV0cy1mb2N1c31cbi8vICN7JGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZX1cblxuLy8gRXhhbXBsZVxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gICAjeyRhbGwtYnV0dG9uLWlucHV0c30sIGJ1dHRvbiB7XG4vLyAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xuLy8gICB9XG4iLCJAbWl4aW4gcG9zaXRpb24gKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuXG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG5cbiAgJHRvcDogbnRoKCRjb29yZGluYXRlcywgMSk7XG4gICRyaWdodDogbnRoKCRjb29yZGluYXRlcywgMik7XG4gICRib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuICAkbGVmdDogbnRoKCRjb29yZGluYXRlcywgNCk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAaWYgKCR0b3AgYW5kICR0b3AgPT0gYXV0bykgb3IgKHR5cGUtb2YoJHRvcCkgPT0gbnVtYmVyKSB7XG4gICAgdG9wOiAkdG9wO1xuICB9XG5cbiAgQGlmICgkcmlnaHQgYW5kICRyaWdodCA9PSBhdXRvKSBvciAodHlwZS1vZigkcmlnaHQpID09IG51bWJlcikge1xuICAgIHJpZ2h0OiAkcmlnaHQ7XG4gIH1cblxuICBAaWYgKCRib3R0b20gYW5kICRib3R0b20gPT0gYXV0bykgb3IgKHR5cGUtb2YoJGJvdHRvbSkgPT0gbnVtYmVyKSB7XG4gICAgYm90dG9tOiAkYm90dG9tO1xuICB9XG5cbiAgQGlmICgkbGVmdCBhbmQgJGxlZnQgPT0gYXV0bykgb3IgKHR5cGUtb2YoJGxlZnQpID09IG51bWJlcikge1xuICAgIGxlZnQ6ICRsZWZ0O1xuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAkcmFkaWksIHdlYmtpdCBtcyBzcGVjKTtcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIFZhcmlhYmxlcyBsb2NhdGVkIGluIC9zZXR0aW5ncy9fcHJlZml4ZXIuc2Nzc1xuXG5AbWl4aW4gcHJlZml4ZXIgKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwiQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCwgJHJldGluYS1zdWZmaXg6IF8yeCwgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgIHVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9XG5cbiAgQGluY2x1ZGUgaGlkcGkge1xuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1zaXplOiAkYmFja2dyb3VuZC1zaXplO1xuXG4gIH1cbn1cbiIsIi8vIFNldCBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBpbiBhIHNpbmdsZSBzdGF0ZW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJgI3skaGVpZ2h0fWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCRoZWlnaHRgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG5cbiAgQGlmIGlzLXNpemUoJHdpZHRoKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG59XG4iLCIvLyBDU1MgY3ViaWMtYmV6aWVyIHRpbWluZyBmdW5jdGlvbnMuIFRpbWluZyBmdW5jdGlvbnMgY291cnRlc3kgb2YganF1ZXJ5LmVhc2llIChnaXRodWIuY29tL2phdWtpYS9lYXNpZSlcbi8vIFRpbWluZyBmdW5jdGlvbnMgYXJlIHRoZSBzYW1lIGFzIGRlbW8nZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXG5cbi8vIEVBU0UgSU5cbiRlYXNlLWluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCk7XG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRlYXNlLWluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlLWluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4vLyBFQVNFIE9VVFxuJGVhc2Utb3V0LXF1YWQ6ICAgICBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRlYXNlLW91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVhcnQ6ICAgIGN1YmljLWJlemllcigwLjE2NSwgIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xuJGVhc2Utb3V0LXF1aW50OiAgICBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtZXhwbzogICAgIGN1YmljLWJlemllcigwLjE5MCwgIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xuJGVhc2Utb3V0LWNpcmM6ICAgICBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcbiRlYXNlLW91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XG5cbi8vIEVBU0UgSU4gT1VUXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXNpbmU6ICBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJGVhc2UtaW4tb3V0LWJhY2s6ICBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcbiIsIkBtaXhpbiB0cmlhbmdsZSAoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcblxuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBpZihsZW5ndGgoJGNvbG9yKSA9PSAyLCBudGgoJGNvbG9yLCAyKSwgdHJhbnNwYXJlbnQpO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcblxuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG59XG4iLCJAbWl4aW4gd29yZC13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XG4gIHdvcmQtd3JhcDogJHdyYXA7XG5cbiAgQGlmICR3cmFwID09IGJyZWFrLXdvcmQge1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB9XG59XG4iLCIvLyBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXG5cbkBtaXhpbiBpbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQHdhcm4gXCJUaGUgaW5saW5lLWJsb2NrIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQG1peGluIGJ1dHRvbiAoJHN0eWxlOiBzaW1wbGUsICRiYXNlLWNvbG9yOiAjNDI5NGYwLCAkdGV4dC1zaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xuICAgICR0ZXh0LXNpemU6ICRzdHlsZTtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSAjNDI5NGYwIHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIEB3YXJuIFwiVGhlIGJ1dHRvbiBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbi8vIFNlbGVjdG9yIFN0eWxlIEJ1dHRvblxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xuICAvLyBHcmF5c2NhbGUgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBwaWxsIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBmbGF0IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIC8vIENvbG9yZWQgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gc2hpbnkge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBmbGF0IHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cbn1cblxuLy8gU2ltcGxlIEJ1dHRvblxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC04JSwgICRsaWdodG5lc3M6ICAxNSUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTExJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC03JSwgJGxpZ2h0bmVzczogIDUlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDglLCAkbGlnaHRuZXNzOiAtMTQlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogOSUsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA3JSwgJGxpZ2h0bmVzczogLTE3JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmUsIGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFNoaW55IEJ1dHRvblxuQG1peGluIHNoaW55KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGZvdXJ0aC1zdG9wOiAgIGdyYXlzY2FsZSgkZm91cnRoLXN0b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRiYXNlLWNvbG9yIDAlLCAkc2Vjb25kLXN0b3AgNTAlLCAkdGhpcmQtc3RvcCA1MCUsICRmb3VydGgtc3RvcCAxMDAlKTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gUGlsbCBCdXR0b25cbkBtaXhpbiBwaWxsKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtMTElLCAkbGlnaHRuZXNzOiAtMjYlKTtcbiAgJGJvcmRlci1zaWRlczogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMjElLCAkbGlnaHRuZXNzOiAtMjElKTtcbiAgJGJvcmRlci10b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMzAlLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMSUsICAkbGlnaHRuZXNzOiAgNyUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxNCUsICRsaWdodG5lc3M6IC0xMCUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC0xOSUsICRsaWdodG5lc3M6IC0xNSUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRib3JkZXItc2lkZXM6ICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3M6IC00LjUlKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxMy41JSwgJGxpZ2h0bmVzczogLTMyJSk7XG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xuICAgICRib3JkZXItdG9wOiAgICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTE3JSwgICAkbGlnaHRuZXNzOiAtMjElKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgJHNhdHVyYXRpb246IC0xJSwgICAgJGxpZ2h0bmVzczogIDMlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC01JSwgICAgJGxpZ2h0bmVzczogLTIyJSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGJvcmRlci1ib3R0b206ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICAgJGJvcmRlci10b3A6ICAgICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1ob3Zlcik7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWhvdmVyO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDQsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0xMCUpO1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogMTEsICRzYXR1cmF0aW9uOiAgNiUsICAgJGxpZ2h0bmVzczogLTMxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDksICAkc2F0dXJhdGlvbjogIDIlLCAgICRsaWdodG5lc3M6IC0yMS41JSk7XG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20tYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDNweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIEZsYXQgQnV0dG9uXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKXtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNCUsICRsaWdodG5lc3M6IDUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWFjdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gRmxleGlibGUgZ3JpZFxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ncmlkIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ndXR0ZXIgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcblxuICBAd2FybiBcIlRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZSwgJHJhdGlvOiAkZ29sZGVuKTtcblxuICBAd2FybiBcIlRoZSBnb2xkZW4tcmF0aW8gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gUGxlYXNlIHVzZSB0aGUgbW9kdWxhci1zY2FsZSBmdW5jdGlvbiwgaW5zdGVhZC5cIjtcbn1cbiIsIkBpbXBvcnQgXCJmb250c1wiO1xuQGltcG9ydCBcImdyaWRcIjtcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250IHJlbGF0ZWQgZnVuY3Rpb25zXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCBzb21lIGZ1bmN0aW9ucyBmb3IgcmVhZGFiaWxpdHlcbiAqIFJldHVybiBmb250LXdlaWdodCBiYXNlZCBvbiBuYW1lXG4gKi9cblxuQGZ1bmN0aW9uIGxpZ2h0KCkge1xuICBAcmV0dXJuIDMwMDsgfVxuXG5AZnVuY3Rpb24gcmVndWxhcigpIHtcbiAgQHJldHVybiA0MDA7IH1cblxuQGZ1bmN0aW9uIHNlbWlib2xkKCkge1xuICBAcmV0dXJuIDYwMDsgfVxuXG5AZnVuY3Rpb24gYm9sZCgpIHtcbiAgQHJldHVybiA3MDA7IH1cblxuQGZ1bmN0aW9uIGJsYWNrKCkge1xuICBAcmV0dXJuIDkwMDsgfVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRnVuY3Rpb25zIHVzZWQgaW4gZ3JpZCBjYWxjdWxhdGlvblxuICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgKiBUaGlzIGlzIHdoZXJlIHRoZSBtYWdpYyBoYXBwZW5zXG4gICogUmV0dXJuIHBlcmNlbnRhZ2UgYmFzZWQgb24gYW1vdW50IG9mIGNvbHVtbnNcbiAgKiBVc2UgcGFyZW50IGNvbHVtbiBzaXplIHRvIGFkanVzdCB0aGUgb3JpZ2luXG4gICovXG5AZnVuY3Rpb24gY2FsY3VsYXRlQ29sdW1uU2l6ZSgkY29sdW1uQ291bnQgOiAxLCAkb3JpZ2luIDogJGdyaWRDb2x1bW5zKSB7XG4gIC8vIENhbGN1bGF0ZSB0aGUgd2lkdGggZm9yIGEgc2luZ2xlIGNvbHVtbiBvbiBhIGZ1bGwgZ3JpZFxuICAkc2luZ2xlQ29sdW1uU2l6ZSA6IDEwMCAvICRncmlkQ29sdW1ucztcblxuICAvLyBHZXQgdGhlIG9yaWdpbiBzaXplIGluIHBlcmNlbnRhZ2UgZnJvbSB0aGUgZnVsbCBncmlkXG4gICRvcmlnaW5QZXJjZW50YWdlIDogJG9yaWdpbiAvICRncmlkQ29sdW1ucyAqIDEwMDtcblxuICAvLyBDYWxjdWxhdGUgc2luZ2xlIGNvbHVtbiBmcm9tIG5ldyBvcmlnaW5cbiAgJG5ld1NpbmdsZUNvbHVtblNpemUgOiAkc2luZ2xlQ29sdW1uU2l6ZSAvICRvcmlnaW5QZXJjZW50YWdlICogMTAwO1xuXG4gIC8vIFJldHVybiBhbW91bnQgb2YgY29sdW1ucyBhcyBwZXJjZW50YWdlXG4gIEByZXR1cm4gKCRuZXdTaW5nbGVDb2x1bW5TaXplICogJGNvbHVtbkNvdW50KTsgfVxuXG4vKipcbiAgKiBEZWZhdWx0IGZ1bmN0aW9uIGZvciBjb2x1bW5zXG4gICogUmV0dXJuIGFzIHBlcmNlbnRhZ2VcbiAgKi9cbkBmdW5jdGlvbiBjb2x1bW4oJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRncmlkQ29sdW1ucykge1xuICBAcmV0dXJuIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50LCRvcmlnaW4pICogMSU7IH1cblxuLyoqXG4gICogUmV0dXJuIGFzIHZpZXdwb3J0IHdpZHRoXG4gICovXG5AZnVuY3Rpb24gY29sdW1uVncoJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRncmlkQ29sdW1ucykge1xuICBAcmV0dXJuIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50LCRvcmlnaW4pICogMXZ3OyB9XG4iLCJAaW1wb3J0IFwic3ByaXRlXCI7XG5AaW1wb3J0IFwibWVkaWFRdWVyaWVzXCI7XG5AaW1wb3J0IFwiZmxleFwiO1xuQGltcG9ydCBcInBsYWNlaG9sZGVyXCI7XG4iLCIkc3ByaXRlV2lkdGg6IDEwMHB4O1xuJHNwcml0ZUhlaWdodDogODVweDtcblxuXG5AbWl4aW4gc3ByaXRlKCRwb3NpdGlvbiwgJHdpZHRoOiBhdXRvLCAkaGVpZ2h0OiBhdXRvKSB7XG5cbiAgJHBvc2l0aW9uWDogbnRoKCRwb3NpdGlvbiwgMSkgKiAtMTtcbiAgJHBvc2l0aW9uWTogbnRoKCRwb3NpdGlvbiwgMikgKiAtMTtcblxuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2tvbW1hX3Nwcml0ZS5zdmdcIikgJHBvc2l0aW9uWCAkcG9zaXRpb25ZIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAkc3ByaXRlV2lkdGggJHNwcml0ZUhlaWdodDtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0OyB9XG4iLCJAbWl4aW4gcmVzcG9uZC10by13aWR0aCgkd2lkdGgpIHtcbiAgJHdpZHRoIDogJHdpZHRoICsgJ3B4JztcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHdpZHRoKSB7XG4gICAgQGNvbnRlbnQ7IH0gfVxuXG5AbWl4aW4gcmVzcG9uZC10by13aWR0aC1iZXlvbmQoJHdpZHRoKSB7XG4gICR3aWR0aCA6ICgkd2lkdGggKyAxKSAgKyAncHgnO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGgpIHtcbiAgICBAY29udGVudDsgfSB9XG5cbkBtaXhpbiByZXNwb25kLXRvLWhlaWdodCgkaGVpZ2h0KSB7XG4gICRoZWlnaHQgOiAkaGVpZ2h0ICsgJ3B4JztcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6ICRoZWlnaHQpIHtcbiAgICBAY29udGVudDsgfSB9XG5cbkBtaXhpbiByZXNwb25kLXRvLXdpZHRoLW9yLWhlaWdodCgkd2lkdGgsICRoZWlnaHQpIHtcbiAgJHdpZHRoIDogJHdpZHRoICsgJ3B4JztcbiAgJGhlaWdodCA6ICRoZWlnaHQgKyAncHgnO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkd2lkdGgpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAkaGVpZ2h0KSB7XG4gICAgQGNvbnRlbnQ7IH0gfVxuIiwiQG1peGluIGZsZXgoJGp1c3RpZnk6IHNwYWNlLWJldHdlZW4sICRhbGlnbkl0ZW06IGluaXRpYWwpIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3ggICAgICAvKiBUV0VFTkVSIC0gSUUgMTAgKi87XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleCAgICAgLyogTkVXIC0gQ2hyb21lICovO1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJGp1c3RpZnksIHdlYmtpdCBtb3ogbXMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1pdGVtcywgJGFsaWduSXRlbSwgd2Via2l0IG1veiBtcyk7XG4gIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XG4gIGFsaWduLWl0ZW1zOiAkYWxpZ25JdGVtOyB9XG5cblxuQG1peGluIGZsZXgtcm93cyB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgd3JhcCwgd2Via2l0IG1zKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sIHJvdywgd2Via2l0IG1zKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1mbG93LCByb3cgd3JhcCwgd2Via2l0KTsgfVxuXG5AbWl4aW4gb3JkZXIoJHBsYWNlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkcGxhY2UsIHdlYmtpdCBtcyk7IH1cblxuQG1peGluIGFsaWduLWNvbnRlbnQoJGFsaWduKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICRhbGlnbiwgd2Via2l0KTsgfVxuXG5AbWl4aW4gYWxpZ24tc2VsZigkYWxpZ24pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJGFsaWduLCB3ZWJraXQpOyB9XG4iLCJAbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi8ge1xuICAgIEBjb250ZW50OyB9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgLyogRmlyZWZveCAxOSsgKi8ge1xuICAgIEBjb250ZW50OyB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIC8qIElFIDEwKyAqLyB7XG4gICAgQGNvbnRlbnQ7IH1cbiAgJjotbW96LXBsYWNlaG9sZGVyIC8qIEZpcmVmb3ggMTgtICovIHtcbiAgICBAY29udGVudDsgfSB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzaWMgc3R5bGUgc2V0dGluZ3NcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiBTZXQgdXAgdGhlIGJvZHlcbiAqXG4gKiAxLiBUaGlzIGlzIHRoZSBiYXNlIGZvciBhbCByZW0gdW5pdHNcbiAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMjBweCAvKiAxICovO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi8qKlxuICogMS5EZWZhdWx0IGRpc3BsYXkgZm9yIGltYWdlcyBpcyBibG9jayB0byBsb3NlIHRoZSBleHRyYSBtYXJnaW4gYmVsb3cgdGhlIGltYWdlXG4gKiAyLiBSZW1vdmUgYm9yZGVyIC8gZXNwZWNpYWxseSBvbiBvbGRlciBicm93c2Vyc1xuICovXG5pbWcge1xuICBkaXNwbGF5OiBibG9jayAvKiAxICovO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLyoqXG4gICogQWRkIHRyYW5zbGF0aW9uIHRvIHByZXZlbnQgcmVjb2xvcmluZyBmcm9tIGF1dG9jb21wbGV0ZVxuICAqL1xuaW5wdXQsIHRleHRhcmVhIHtcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCA5OTk5cyBsaW5lYXIgOTk5OXM7IH0gfVxuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGFyb3VuZCBmaWd1cmVcbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG4iLCJAaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInZpc2libGVHcmlkXCI7XG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEdyaWRcbiAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICogR3JpZCByb3dcbiAgKlxuICAqIDEuIFRoZSBvdXRlciB0d28gY29sdW1ucyBhcmUganVzdCBtYXJnaW5cbiAgKiAyLiBQcmV2ZW50IGlubGluZS1ibG9jayBjZWxscyB3cmFwcGluZ1xuICAqIDMuIFByZXZlbnQgdmVydGljYWwgc3BhY2luZyBiZXR3ZWVuIGlubGluZS1ibG9ja3NcbiAgKi9cblxuLmdyaWQtcm93IHtcbiAgd2lkdGg6IGNvbHVtbigxMikgLyogMSAqLztcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmb250LXNpemU6IDAgLyogMiAqLztcbiAgbGluZS1oZWlnaHQ6IDAgLyogMyAqLztcblxuICAvKipcbiAgICogVGhlIGZ1bGwgcm93IGRvZXNuJ3QgaGF2ZSB0aGUgdHdvIG91dGVyIG1hcmdpbiByb3dzXG4gICAqIFRoZXkgc3RyZXRjaCB0aWxsIGJvdGggZW5kcyBvZiB0aGUgd2luZG93XG4gICAqL1xuXG4gICYuZnVsbC1yb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG5cbi8qKlxuICogR3JpZCBjb2x1bW5cbiAqXG4gKiAxLiBSZXNldCB3aGl0ZS1zcGFjZSBpbmhlcml0ZWQgZnJvbSBgLmdyaWRgXG4gKiAyLiBSZXNldCBmb250LXNpemUgaW5oZXJpdGVkIGZyb20gYC5ncmlkYFxuICogMy4gUmVzZXQgbGluZS1oZWlnaHQgaW5oZXJpdGVkIGZyb20gYC5ncmlkYFxuICovXG5cbi5ncmlkLWNvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgLyogMSAqLztcbiAgZm9udC1zaXplOiAxcmVtIC8qIDIgKi87XG4gIGxpbmUtaGVpZ2h0OiAxLjYgLyogMyAqLztcblxuICAvKipcbiAgICogQ2VudGVyIGNvbHVtblxuICAgKlxuICAgKiAxLiAnaW5saW5lLWJsb2NrJyBkb2Vzbid0IGNlbnRlciB3aXRoIG1hcmdpbiAnMCBhdXRvJ1xuICAgKi9cblxuICAmLmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2sgLyogMSAqLztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cblxuXG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWRDb2x1bW5zIHtcblxuICAvKiBDb2x1bW4gZGltZW5zaW9uc1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKlxuICAgKiBDYWxjdWxhdGUgd2lkdGggYnkgZGl2aWRpbmcgYSBmdWxsIHdpZHRoIGludG8gMTIgY29sdW1uc1xuICAgKiBDcmVhdGUgYSBjbGFzcyBmb3IgZWFjaCBjb2x1bW5cbiAgICovXG5cbiAgLmNvbC0jeyRpfSwgLmNvbC1sZy0jeyRpfSB7XG4gICAgd2lkdGg6IGNvbHVtbigkaSwxMik7XG5cblxuICAgIC5mdWxsLXJvdyAmIHtcbiAgICAgIHdpZHRoOiBjb2x1bW4oJGkpOyB9IH1cblxuXG4gIC8qIENvbHVtbiBzaGlmdHNcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLm9mZnNldC0jeyRpfSwgLm9mZnNldC1sZy0jeyRpfSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigkaSwxMik7IH0gfVxuXG5cblxuLyogTWVkaWEgcXVlcmllc1xuIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAvKlxuICAqIENyZWF0ZSBhIHNlcGFyYXRlIGxvb3AgYmVjYXVzZSBvZiBvcmRlciBmb3IgY3NzIHJlbmRlcmluZ1xuICAqIGJlY2F1c2UgZWxzZSBpdCB3b3VsZCBvdmVycnVsZSBhIHByZXZpb3VzIG1lZGlhIHF1ZXJ5XG4gICovXG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWRDb2x1bW5zIHtcblxuICAvLyBNZWRpYSBxdWVyeSBmb3IgbGFyZ2UgZGVza3RvcFxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoLWJleW9uZCgkeGxHcmlkQnJlYWtwb2ludCkge1xuICAgIC5jb2wteGwtI3skaX0ge1xuICAgICAgd2lkdGg6IGNvbHVtbigkaSwxMik7IH1cblxuICAgIC5vZmZzZXQteGwtI3skaX0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigkaSwxMik7IH0gfVxuXG4gIC8vIE1lZGlhIHF1ZXJ5IGZvciBub3JtYWwgZGVza3RvcFxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKCRtZEdyaWRCcmVha3BvaW50KSB7XG4gICAgLmNvbC1tZC0jeyRpfSB7XG4gICAgICB3aWR0aDogY29sdW1uKCRpLDEyKTsgfVxuXG4gICAgLm9mZnNldC1tZC0jeyRpfSB7XG4gICAgICBtYXJnaW4tbGVmdDogY29sdW1uKCRpLDEyKTsgfSB9XG5cbiAgLy8gTWVkaWEgcXVlcnkgZm9yIHRhYmxldHNcbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgkc21HcmlkQnJlYWtwb2ludCkge1xuICAgIC5jb2wtc20tI3skaX0ge1xuICAgICAgd2lkdGg6IGNvbHVtbigkaSwxMik7IH1cblxuICAgIC5vZmZzZXQtc20tI3skaX0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigkaSwxMik7IH0gfVxuXG4gIC8vIE1lZGlhIHF1ZXJ5IGZvciBtb2JpbGVcbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgkeHNHcmlkQnJlYWtwb2ludCkge1xuICAgIC5jb2wteHMtI3skaX0ge1xuICAgICAgd2lkdGg6IGNvbHVtbigkaSwxMik7IH1cblxuICAgIC5vZmZzZXQteHMtI3skaX0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigkaSwxMik7IH0gfSB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGhpcyBncmlkIGNhbiBiZSB0dXJuZWQgb24gYW5kIG9mZiB3aGVuIHlvdSB3YW50IHRvIGNoZWNrXG4gICBpZiBldmVyeXRoaW5nIGlzIG5pY2UgaW4gcGxhY2UuXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udmlzaWJsZS1ncmlkLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi8qKlxuICogMS4gTWFrZXMgaXQgYWJsZSB0byBjb250cm9sIHRoZSB3ZWJzaXRlIHdoaWxlIGdyaWQgaXMgc2hvd25cbiAqL1xuLnZpc2libGUtZ3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAvKiAyICovO1xuXG4gIC5ncmlkLWNvbCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDI1NSwyNTUsLjYpO1xuICAgIGhlaWdodDogMTAwdmg7XG5cbiAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDI1NSwyNTUsLjMpOyB9IH1cblxuICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjU1LDAsLjUpOyB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGxlZnQ6IGNhbGMoLTEwMCUgLyAxMik7IH1cblxuICAmOmFmdGVyIHtcbiAgICByaWdodDogY2FsYygtMTAwJSAvIDEyKTsgfVxuXG4gIC8vJjpudGgtY2hpbGQoMSksJjpudGgtY2hpbGQoMTQpXG4gfSAgLy8vLyAgYmFja2dyb3VuZDogcmdiYSgwLDI1NSwwLC41KVxuIiwiLmJyZWFrcG9pbnQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBiYWNrZ3JvdW5kOiAjMEFCRUZGO1xuXG4gIC8vIExhcmdlciB0aGVuIHhsQnJlYWtwb2ludFxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoLWJleW9uZCgkeGxHcmlkQnJlYWtwb2ludCkge1xuICAgIGJhY2tncm91bmQ6IHJlZDsgfVxuXG4gIC8vIExvb3AgdGhyb3VnaCBvdGhlciBicmVha3BvaW50c1xuICAkYnJlYWtwb2ludHMgOiAgKGJsdWUgJGxnR3JpZEJyZWFrcG9pbnQpIChncmVlbiAkbWRHcmlkQnJlYWtwb2ludCkgKHllbGxvdyAkc21HcmlkQnJlYWtwb2ludCkgKHBpbmsgJHhzR3JpZEJyZWFrcG9pbnQpO1xuXG4gIEBlYWNoICRsaXN0IGluICRicmVha3BvaW50cyB7XG5cbiAgICAkY29sb3IgOiBudGgoJGxpc3QsMSk7XG4gICAgJGJyZWFrcG9pbnQgOiBudGgoJGxpc3QsMik7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKCRicmVha3BvaW50KSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7IH0gfSB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRXhwZW5kIENvbmZpZyBzZXR0aW5nc1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gQ29sb3JzXG4kYmxhY2tlciA6ICMyZDMyMzc7XG4kYmxhY2sgOiAjMzczYzQxO1xuJGJsYWNrQmx1ZSA6ICMxNzJBM0E7XG4kYmxhY2tlckJsdWUgOiAjMEYxQzI2O1xuJGJsdWUgOiAjMDA2NEQyO1xuJHBhc3RlbEJsdWUgOiAjMDA3OEZGO1xuJGJyaWdodEJsdWUgOiAjMzJBMEZBO1xuJG9yYW5nZTogI2ZmOTYwMDtcblxuJGJsdWVHcmV5IDogIzcwOUJBQTtcbiRsaWdodEJsdWUgOiAjYzNjZmU2O1xuJGRhcmtHcmV5IDogIzk1OTU5NTtcbiRkYXJrZXJHcmV5IDogIzY0NjQ2NDtcbiRncmV5IDogI2E3YTdhNztcbiRsaWdodEdyZXkgOiAjQ0FDQUNBO1xuJGxpZ2h0ZXJHcmV5IDogI0UxREVFRDtcbiRyZWQgOiAjQ0YwMDE5O1xuJGRhcmtSZWQgOiAjODcxQzEzO1xuJHJlZDIgOiBtaXgoJHJlZCwgJGRhcmtSZWQpO1xuJHdhcm5pbmcgOiAjZmZiNjAwO1xuXG4kYm9yZGVyQ29sb3I6ICNlYWVhZWE7XG5cbiRibGFja0dyYWRpZW50OiByZ2JhKDAsMCwwLDAuMikgMCUsIHJnYmEoMCwwLDAsMCkgMTAwJTtcblxuJGZvbnRGYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjtcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFeHBlbmQgQmFzaWMgc3R5bGUgc2V0dGluZ3NcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTZXQgdXAgdGhlIGh0bWxcbiAqXG4gKiAxLiBNYWtlcyBzdWUgdGhhdCBzb21lIGZvbnRzIGFyZSBiZXR0ZXIgcmVuZGVyZWRcbiAqL1xuXG5odG1sIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQgLyogMiAqLztcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5cbi8qXG4gKiBTZXQgdXAgdGhlIGJvZHlcbiAqXG4gKiAxLiBTZXQgZm9udCB0byBsaW5pbmcgZmlndXJlc1xuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1mYW1pbHk6ICRmb250RmFtaWx5O1xuICBsaW5lLWhlaWdodDogMS42O1xuXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xudW0nIC8qIDEgKi87IH1cblxuLypcbiAqIFNldCBkZWZhdWx0IHNldHRpbmdzIGZvciBhbGwgZWxlbWVudHNcbiAqXG4gKiAxLiBEZWZhdWx0IHNlbGVjdGlvbiBzdHlsaW5nXG4gKlxuICovXG4qIHtcbiAgOjpzZWxlY3Rpb24gLyogMiAqLyB7XG4gICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgY29sb3I6IHdoaXRlOyB9IH1cblxuLyoqXG4gKiAxLkRlZmF1bHQgZGlzcGxheSBmb3IgaW1hZ2VzIGlzIGJsb2NrIHRvIGxvc2UgdGhlIGV4dHJhIG1hcmdpbiBiZWxvdyB0aGUgaW1hZ2VcbiAqL1xuaW1nIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuXG4gICYucHJlbG9hZCB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi8qXG4gKiBTZXQgZGVmYXVsdCBzdHlsaW5nIGZvciBpbnB1dCBhbmQgdGV4dGFyZWFcbiAqXG4gKiAxLiBTZXQgZm9udCBiZWNhdXNlIGVsc2UgdGhlIGFnZW50IHdpbGwgb3ZlcnJ1bGUgdGhlbSB3aXRoIGFuIHVnbHkgZm9udFxuICovXG5pbnB1dCwgdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogJGZvbnRGYW1pbHkgLyogMSAqLzsgfVxuXG4vKlxuICogU2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgYSBidXR0b25cbiAqXG4gKi9cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrQmx1ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIC8vYm9yZGVyLXJhZGl1czogMjVweFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXdlaWdodDogc2VtaWJvbGQoKTtcbiAgY29sb3I6IHdoaXRlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNHMsIGJhY2tncm91bmQtY29sb3IgMC40cztcblxuICAmLnNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogNHB4IDRweCAxMHB4IDAgcmdiYSgwLDAsMCwwLjIpOyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogMTZweDtcbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiB3aGl0ZTsgfSB9IH1cblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiA0cHggNHB4IDEwcHggMCByZ2JhKDAsMCwwLDApO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFja2VyQmx1ZTtcbiAgICAuYXJyb3cge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOyB9IH1cblxuICAmLnJpZ2h0IHtcbiAgICAuYXJyb3cge1xuICAgICAgdG9wOiAxcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLmFycm93IHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGUzZCgwLCA1cHgsIDApOyB9IH0gfSB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVscGVyIGNsYXNzZXNcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogVXNlIG9uIGVsZW1lbnRzIGZyb20gd2hlcmUgdGhlIGNoaWxkcmVuIHNob3VsZCBub3Qgd3JhcFxuICovXG4ubm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKipcbiAqIEhpZGUgZWxlbWVudHMgb24gZGlmZmVyZW50IHNjcmVlbiBzaXplc1xuICovXG4kYnJlYWtwb2ludHMgOiAgKCd4bCcgJHhsR3JpZEJyZWFrcG9pbnQpICgnbGcnICRsZ0dyaWRCcmVha3BvaW50KSAoJ21kJyAkbWRHcmlkQnJlYWtwb2ludCkgKCdzbScgJHNtR3JpZEJyZWFrcG9pbnQpICgneHMnICR4c0dyaWRCcmVha3BvaW50KTtcblxuQGVhY2ggJGxpc3QgaW4gJGJyZWFrcG9pbnRzIHtcblxuICAkbmFtZSA6IG50aCgkbGlzdCwxKTtcbiAgJGJyZWFrcG9pbnQgOiBudGgoJGxpc3QsMik7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgkYnJlYWtwb2ludCkge1xuICAgIC5oaWRlLW9uLSN7JG5hbWV9LW9yLXNtYWxsZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aC1iZXlvbmQoJGJyZWFrcG9pbnQpIHtcbiAgICAuaGlkZS1vbi0jeyRuYW1lfS1vci1sYXJnZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9IH1cbiIsIkBpbXBvcnQgXCJjb29raWVTcHJpdGVcIjtcbkBpbXBvcnQgXCJmb250c1wiO1xuIiwiJHNwcml0ZVdpZHRoOiA3MHB4O1xuJHNwcml0ZUhlaWdodDogMzBweDtcblxuXG5AbWl4aW4gY29va2llU3ByaXRlKCRwb3NpdGlvbiwgJHdpZHRoOiBhdXRvLCAkaGVpZ2h0OiBhdXRvKSB7XG5cbiAgJHBvc2l0aW9uWDogbnRoKCRwb3NpdGlvbiwgMSkgKiAtMTtcbiAgJHBvc2l0aW9uWTogbnRoKCRwb3NpdGlvbiwgMikgKiAtMTtcblxuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2Nvb2tpZS1zcHJpdGUuc3ZnXCIpICRwb3NpdGlvblggJHBvc2l0aW9uWSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogJHNwcml0ZVdpZHRoICRzcHJpdGVIZWlnaHQ7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDsgfVxuIiwiQG1peGluIGthcmxhIHtcbiAgZm9udC1mYW1pbHk6ICdLYXJsYScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4yNHB4OyB9XG5cbkBtaXhpbiBsYXRvIHtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjsgfVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhcnRpYWwgQ1NTXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW1wb3J0IFwicHJlSGVhZGVyXCI7XG5AaW1wb3J0IFwiaGVhZGVyXCI7XG5AaW1wb3J0IFwiZm9vdGVyXCI7XG5AaW1wb3J0IFwic2hvcHBpbmdDYXJ0XCI7XG5AaW1wb3J0IFwia21zQ29udGVudFwiO1xuQGltcG9ydCBcImZvcm1cIjtcbkBpbXBvcnQgXCJpbWFnZVNsaWRlclwiO1xuQGltcG9ydCBcImNvb2tpZU1lc3NhZ2VcIjtcbkBpbXBvcnQgXCJjb29raWVTd2l0Y2hcIjtcblxuQGltcG9ydCBcImR5bmFtaWMvZHluYW1pY1wiO1xuQGltcG9ydCBcIm1vYmlsZS9tb2JpbGVcIjtcblxuQGltcG9ydCBcImJsb2Nrcy9ibG9ja3NcIjtcbkBpbXBvcnQgXCJncmlkcy9ncmlkc1wiO1xuQGltcG9ydCBcInNob3cvc2hvd1wiO1xuIiwiLnByZS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAkYmxhY2tlcjtcbiAgcGFkZGluZzogMTJweCAwO1xuXG4gIC5ncmlkLXJvdyB7XG4gICAgQGluY2x1ZGUgZmxleChmbGV4LWVuZCwgY2VudGVyKTsgfVxuXG4gIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogcmdiYSh3aGl0ZSwgMC43KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBzZW1pYm9sZCgpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG4gICAgKyBhIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAkYnJpZ2h0Qmx1ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGU7IH0gfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNzUwKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIE5hdmlnYXRpb24gLyBIZWFkZXJcbiAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA0O1xuICAvL2JhY2tncm91bmQtY29sb3I6ICRibHVlXG5cbiAgJjphZnRlciB7XG4gICAgJGdyYWRpZW50U2l6ZTogMjBweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IC0jeyRncmFkaWVudFNpemV9cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkZ3JhZGllbnRTaXplO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkYmxhY2tHcmFkaWVudCk7XG4gICAgb3BhY2l0eTogMC40OyB9XG5cbiAgLmdyaWQtcm93IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgPi5ncmlkLWNvbCB7XG4gICAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGNlbnRlcik7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4gICAgLy8gTWFpbiBsb2dvXG4gICAgLmxvZ28ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxNCk7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTI1MCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEwMDApIHtcbiAgICAgICAgd2lkdGg6IDE5MHB4O1xuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDM5cHg7IH0gfVxuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogNTFweDsgfSB9XG5cbiAgICAvKiBOYXZpZ2F0aW9uXG4gICAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBuYXYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1lbmQsIGNlbnRlcik7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0NXB4O1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MnB4IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0R3JleTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGthcmxhO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5NTApIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07IH0gfVxuXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMTAwKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cblxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRncmV5OyB9IH1cblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkKCk7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2tCbHVlO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogNDBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRHcmV5OyB9IH0gfSB9IH0gfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg3NTApIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXJcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICRibGFja0JsdWU7XG5cbiAgPi5ncmlkLXJvdyB7XG4gICAgcGFkZGluZzogNzBweCAwIDkwcHg7IH1cblxuICAuZ3JpZC1jb2wge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAuaGVhZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAkbGlnaHRlckdyZXk7XG4gICAgICBAaW5jbHVkZSBrYXJsYTtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuICAgIGxpIGEsIHAge1xuICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICBjb2xvcjogJGRhcmtHcmV5OyB9IH1cblxuICAuY29udGFjdCB7XG4gICAgd2lkdGg6IGNvbHVtbig1LCAxMik7XG4gICAgLy9tYXJnaW4tbGVmdDogY29sdW1uKDEsIDEyKVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMDAwKSB7XG4gICAgICB3aWR0aDogY29sdW1uKDQsIDEyKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSwgMTIpOyB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgd2lkdGg6IDI2MHB4O1xuICAgICAgbWFyZ2luOiAzNXB4IDAgMjVweDtcblxuICAgICAgYSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEyMXB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA5OHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG4gICAgcCB7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgICAgIGNvbG9yOiAkYnJpZ2h0Qmx1ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfSB9XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBzZW1pYm9sZCgpO1xuICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEod2hpdGUsIDAuOCk7IH0gfSB9XG5cbiAgLmxpbmtzIHtcbiAgICB3aWR0aDogY29sdW1uKDYsIDEyKTtcbiAgICAvL21hcmdpbi1sZWZ0OiBjb2x1bW4oMSwgMjQpXG5cbiAgICA+LmdyaWQtcm93IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbiAgICAubWVudSwgLnN1Yi1saW5rcyB7XG4gICAgICB3aWR0aDogY29sdW1uKDMsIDYpO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDEwcHggMCA0MHB4O1xuXG4gICAgICBsaSB7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKHdoaXRlLCAwLjgpOyB9IH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogc2VtaWJvbGQoKTsgfSB9IH0gfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg3NTApIHtcbiAgICAubGlua3MsIC5jb250YWN0IHtcbiAgICAgIHdpZHRoOiBjb2x1bW4oMTAsIDEyKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSwgMTIpOyB9XG5cbiAgICAubGlua3Mge1xuICAgICAgbWFyZ2luLXRvcDogNjBweDsgfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg1MDApIHtcbiAgICA+LmdyaWQtcm93IHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4gICAgLmxpbmtzIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAubWVudSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbiAgICAgIC5zdWItbGlua3Mge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9IH1cblxuXG5cblxuICAvKiBTdWIgZm9vdGVyIGZvciBwYXkgb2ZmIGFuZCBvdXIgYnJhbmRpbmdcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLnN1Yi1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFja2VyQmx1ZTtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG5cbiAgICAuZ3JpZC1yb3cge1xuICAgICAgLnBsYWNlaG9sZGVyIHtcbiAgICAgICAgd2lkdGg6IGNvbHVtbigxMCwgMTIpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgY2VudGVyKTsgfSB9XG5cbiAgICBwLCBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgb3BhY2l0eTogMC40OyB9XG5cbiAgICBhIHtcbiAgICAgIC8vZm9udC13ZWlnaHQ6IHNlbWktYm9sZCgpXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuICAgIC5rb21tYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGNlbnRlcik7XG4gICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC43OyB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA3OHB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICBpbWFnZTogdXJsKFwiL2ltZy9rb21tYS5zdmdcIik7XG4gICAgICAgICAgcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBzaXplOiBjb250YWluO1xuICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0OyB9IH0gfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2MDApIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgLmdyaWQtcm93IHtcbiAgICAgICAgLnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS40cmVtOyB9XG5cbiAgICAgIC5rb21tYSB7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfSB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEwMDApIHtcbiAgICBwYWRkaW5nLXRvcDogMzVweDtcblxuICAgID4uZ3JpZC1yb3cge1xuICAgICAgQGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0LCBmbGV4LXN0YXJ0KTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93cztcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuICAgIC5tYWluLWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwIGNvbHVtbigxLCAxNCk7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICAgLmxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cblxuICAgICAgJi5sb2NhdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIG9yZGVyKDIpO1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgcmdiYSh3aGl0ZSwgMC4yKTtcbiAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7IH1cblxuICAgICAgJi5zY2hvb2xzLCAmLm1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgID5hIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbiAgICAgIHVsLmV4dHJhLW1hcmdpbi1iZWxsb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9IH1cblxuICAgIC5zdWItZm9vdGVyIHtcbiAgICAgIC5ncmlkLXJvdyB7XG4gICAgICAgIC5wbGFjZWhvbGRlciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9IH0gfVxuIiwiZGl2LnNob3BwaW5nY2FydEl0ZW1MaXN0IHtcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxNSU7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9IH1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERlZmF1bHQgc3R5bGluZyBmb3IgS01TIGNvbnRlbnRcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5rbXMtY29udGVudCB7XG4gIGgxLCBoMiwgaDMge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgY29sb3I6ICRyZWQ7XG4gICAgQGluY2x1ZGUga2FybGE7XG5cbiAgICBzdHJvbmcge1xuICAgICAgY29sb3I6ICRibGFja0JsdWU7IH0gfVxuXG4gIGgyLCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07IH1cblxuICBoMyB7XG4gICAgY29sb3I6ICRibGFja0JsdWU7XG5cbiAgICBzdHJvbmcge1xuICAgICAgY29sb3I6ICRyZWQ7IH0gfVxuXG4gIGg0IHtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGNvbG9yOiAkZ3JleTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogJGJsYWNrQmx1ZTsgfVxuXG4gIHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIGNvbG9yOiAkYmxhY2tCbHVlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIGNvbnRlbnQ6ICfigKInO1xuICAgICAgICBjb2xvcjogJGJsYWNrZXJCbHVlO1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4gICAgICArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4OyB9IH0gfVxuXG4gIG9sIHtcbiAgICBjb3VudGVyLXJlc2V0OiBvbC1jb3VudGVyIC8qIDIgKi87XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgY29sb3I6ICRibGFja0JsdWU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG9sLWNvdW50ZXI7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIob2wtY291bnRlciknLic7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29sb3I6ICRibGFja2VyQmx1ZTsgfVxuXG4gICAgICArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4OyB9IH0gfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkZ3JleTtcbiAgICAvL3RleHQtZGVjb3JhdGlvbjogbm9uZVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogZGFya2VuKCRncmV5LCAxMCUpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9IH0gfVxuIiwiLmZvcm0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNTYwcHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAuZm9ybS1lbGVtZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4gIC5lcnJvci1tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiByZ2JhKHdoaXRlLCAwLjUpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG5cbiAgbGFiZWwsIC5sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDAuNmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuICBpbnB1dCwgdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEod2hpdGUsIDApO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcblxuICAgIGJvcmRlcjogMXB4IHdoaXRlIHNvbGlkO1xuICAgIC8vYm9yZGVyLXJhZGl1czogNHB4XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXG4gICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHJnYmEod2hpdGUsIDAuNCkgIWltcG9ydGFudDsgfVxuXG4gICAgJi5hbGVydCB7XG4gICAgICBib3JkZXItY29sb3I6ICRyZWQ7IH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh3aGl0ZSwgMC4xKTsgfVxuXG4gICAgJjotd2Via2l0LWF1dG9maWxsLCAmOi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cywgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgICB0cmFuc2l0aW9uOiA5OTk5cyBiYWNrZ3JvdW5kLWNvbG9yLCA5OTk5cyBjb2xvcjtcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDk5OTlzOyB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lOyB9IH1cblxuICB0ZXh0YXJlYSB7XG4gICAgbWluLWhlaWdodDogMTUycHg7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG4gIC5zZWxlY3Qge1xuICAgIC5zZWxlY3Qtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgLmljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDI2cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDVweCA2cHggMCA2cHg7XG4gICAgICBib3JkZXItY29sb3I6IHdoaXRlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuICAgIHNlbGVjdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEZhbWlseTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgcGFkZGluZzogMTVweCAzNXB4IDE1cHggMjBweDtcbiAgICAgIGJvcmRlcjogMXB4IHRyYW5zcGFyZW50IHNvbGlkO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgIGNvbG9yOiAkZ3JleTtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH0gfSB9XG5cblxuICAuY2hlY2tib3gge1xuICAgIGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEod2hpdGUsIDAuMyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh3aGl0ZSwgMC41KTsgfVxuXG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9jaGVjay9jaGVja2VkLnN2Z1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHdoaXRlLCAwLjcpOyB9IH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDJweCAwIDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTsgfSB9IH1cblxuICAuc3VibWl0IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgaW5wdXQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxODVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogJGJsdWVHcmV5O1xuICAgICAgLmFycm93IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG5cbiAgICAgICAgLnN0MCB7XG4gICAgICAgICAgZmlsbDogJGJsdWVHcmV5OyB9IH0gfSB9IH1cbiIsIi5pbWFnZS1zbGlkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggNDBweCAwcHggcmdiYSgwLDAsMCwwLjIpO1xuXG4gIC5wbGFjZWhvbGRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogbW92ZTtcblxuICAgIC5jb250cm9sbGVycyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjYuNjclO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEzNTApIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cblxuICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgYm90dG9tOiAtNTBweDtcbiAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuICAgICAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgLnN0MCB7XG4gICAgICAgICAgICAgIGZpbGw6IHdoaXRlOyB9IH0gfVxuXG4gICAgICAgICYucHJldmlvdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrUmVkO1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDUwJSArIDNweCk7XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9IH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRkYXJrUmVkLCA1JSk7IH0gfVxuXG4gICAgICAgICYubmV4dCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSArIDNweCk7XG5cblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgLmFycm93LWljb24ge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9IH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkcmVkLCA1JSk7IH0gfSB9IH1cblxuXG5cbiAgICBmaWd1cmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHM7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgICAgICYuc21hbGwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ4MCkge1xuICAgICAgICAgICYubWVkaXVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICAgICYuc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfSB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgb3BhY2l0eTogMTsgfSB9IH0gfVxuIiwiLy8gQ29va2llIG1lc3NhZ2Ugd2l0aG91dCB0cmFja2luZ1xuI2Nvb2tpZS1tZXNzYWdlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk5O1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFja2VyQmx1ZTtcbiAgb3BhY2l0eTogMTtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgdHJhbnNmb3JtIDAuNnM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cbiAgJi5hY2NlcHRlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICYudHJhbnNpdGlvbi1vdXQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1MCUsIDApOyB9XG5cbiAgLmdyaWQtcm93IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBwLCBwIGEsIC5jbG9zZS1idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4gICAgcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0gfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nOiA1cHggMTJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEod2hpdGUsIDAuMik7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjI1KSB7XG4gICAgICBwIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjVweDsgfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDM3NSkge1xuICAgICAgcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuICAgICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfSB9IH1cblxuLy8gQ29va2llIG1lc3NhZ2Ugd2l0aCB0cmFja2luZ1xuI2Nvb2tpZS1tZXNzYWdlLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoYmxhY2ssIDAuNik7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcblxuICAmLmFjY2VwdGVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgJi50cmFuc2l0aW9uLW91dCB7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4gIC5wbGFjZWhvbGRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLyAxNCAqIDEyKTtcbiAgICBwYWRkaW5nOiA2MHB4IDEyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgaDUge1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICBjb2xvcjogIzRkNGQ0ZDsgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogIzgwODA4MDsgfVxuXG4gICAgcCBhLCBwIC5vcGVuLW1lbnUge1xuICAgICAgY29sb3I6ICRwYXN0ZWxCbHVlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiAgICAuYWNjZXB0LWNvb2tpZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgIHBhZGRpbmc6IDEzcHggMjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmlnaHRCbHVlO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjRzLCBvcGFjaXR5IDAuNHM7XG4gICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJyaWdodEJsdWUsIDglKTsgfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDE0NDApIHtcbiAgICAgIHBhZGRpbmc6IGNhbGMoMTAwdncgLyAxNCAvIDEuNSkgY2FsYygxMDB2dyAvIDE0KTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ1MCkge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4gICNtZXNzYWdlLWRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICYuaGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuICAuY29va2llLXR5cGVzLWRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDMwcHggMDtcblxuICAgIC5jb29raWUtdHlwZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGZsZXgtc3RhcnQpO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICsgLmNvb2tpZS10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDsgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4KTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBjb2xvcjogcmdiYSgkZ3JleSwgMC42KTtcblxuICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfSB9IH1cblxuICAgICAgJi50cmFja2luZyB7XG4gICAgICAgIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgY29va2llU3ByaXRlKDAgMCwgMjVweCwgMjVweCk7IH0gfVxuXG4gICAgICAmLmFuYWx5dGljIHtcbiAgICAgICAgLmljb246YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBjb29raWVTcHJpdGUoMjdweCAwLCAyNXB4LCAyNXB4KTsgfSB9IH0gfVxuXG4gIC5jb29raWUtc2V0dGluZ3Mge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmVkaXQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMCAwOyB9XG5cbiAgICAuY29va2llLXR5cGUge1xuICAgICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgKyAuY29va2llLXR5cGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNXB4OyB9XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgbWFyZ2luOiA0cHggMCAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGluY2x1ZGUgY29va2llU3ByaXRlKDU1cHggMTRweCwgMTNweCwgMTNweCk7XG4gICAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG5cbiAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTVweCAwOyB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lOyB9IH1cblxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICBjb2xvcjogcmdiYSgkZ3JleSwgMC42KTtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgIGNvbG9yOiAkZ3JleTtcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfSB9IH1cblxuICAgICAgJi5hbmFseXRpYyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjM7IH0gfSB9IH0gfVxuIiwiLy8gQ29va2llIHN3aXRjaFxuI2Nvb2tpZS1zd2l0Y2gge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBwYWRkaW5nOiAzMHB4IDAgNTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5O1xuICB3aWR0aDogMTAwJTtcblxuICAucGxhY2Vob2xkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmNvb2tpZS1zd2l0Y2gtdGl0bGUge1xuICAgICAgaDMge1xuICAgICAgICBtYXJnaW46IDAgMCAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH0gfVxuXG4gICAgLmNvb2tpZS10eXBlcyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMzBweCAwIDUwcHg7XG5cbiAgICAgIC5jb29raWUtdHlwZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgKyAuY29va2llLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgbWFyZ2luOiA0cHggMCAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG4gICAgICAgICAgQGluY2x1ZGUgY29va2llU3ByaXRlKDU1cHggMTRweCwgMTNweCwgMTNweCk7XG5cbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbiAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU1cHggMDsgfSB9XG5cbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTVweCk7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDYwKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7IH1cblxuICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfSB9XG5cblxuICAgICAgICAmLmFuYWx5dGljIHtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9IH0gfVxuXG4gICAgI3NhdmUtY29va2llLXNldHRpbmdzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDEzcHggMjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmlnaHRCbHVlO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjRzLCBvcGFjaXR5IDAuNHM7XG5cbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYnJpZ2h0Qmx1ZSwgOCUpOyB9XG5cbiAgICAgICYuY2xpY2tlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuMjsgfSB9IH0gfVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBEeW5hbWljIEJsb2Nrc1xuICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZHluYW1pYy1ibG9jayB7XG5cbiAgKyAuZHluYW1pYy1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogNjBweDsgfVxuXG4gIC5ncmlkLXJvdyB7XG4gICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBjZW50ZXIpOyB9XG5cbiAgQGltcG9ydCBcInR3b1RleHRDb2x1bW5cIjtcbiAgQGltcG9ydCBcImZ1bGxJbWFnZUNvbHVtblwiO1xuICBAaW1wb3J0IFwiY29udGVudEJsb2NrXCI7XG4gIEBpbXBvcnQgXCJtdWx0aXBsZUltYWdlc1wiO1xuICBAaW1wb3J0IFwiZnVsbFRleHRCbG9ja1wiO1xuICBAaW1wb3J0IFwidmlkZW9CbG9ja1wiOyB9XG4iLCImLnR3by10ZXh0LWNvbHVtbnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGZsZXgtc3RhcnQpO1xuICAuY29udGVudCB7XG4gICAgd2lkdGg6IGNvbHVtbigyMSwgNDQpO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDkwMCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC5jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9IH0gfVxuIiwiJi5mdWxsLWltYWdlLWNvbHVtbiB7XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgICYubGFyZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTA1MCkge1xuICAgICAgJi5sYXJnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICYubWVkaXVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg1MjUpIHtcbiAgICAgICYubWVkaXVtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgJi5zbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH0gfSB9XG5cbiIsIiYuY29udGVudC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcblxuICAuaW1hZ2Uge1xuICAgIHdpZHRoOiA1MCU7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICYuc21hbGwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDUwKSB7XG4gICAgICAgICYubWVkaXVtIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfSB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICB3aWR0aDogY29sdW1uKDUsIDEyKTsgfSB9XG5cbiAgLmNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9yZGVyKDEpO1xuICAgIHdpZHRoOiBjb2x1bW4oNSwgMTIpOyB9XG5cbiAgJltkYXRhLWltYWdlLWxvY2F0aW9uPSdyaWdodCddIHtcbiAgICAuaW1hZ2Uge1xuICAgICAgQGluY2x1ZGUgb3JkZXIoMik7IH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIG9yZGVyKDEpOyB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDkwMCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIEBpbmNsdWRlIG9yZGVyKDIpOyB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9IH1cbiIsIiYubXVsdGlwbGUtaW1hZ2VzIHtcbiAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcbiAgQGluY2x1ZGUgZmxleC1yb3dzO1xuXG4gIGZpZ3VyZSB7XG4gICAgd2lkdGg6IGNvbHVtbigyMSwgNDQpO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJi5tZWRpdW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTEwMCkge1xuICAgICAgICAmLmxhcmdlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICYubWVkaXVtIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDgwKSB7XG4gICAgICAgICYubGFyZ2Uge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgJi5tZWRpdW0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH0gfSB9XG5cbiAgJltkYXRhLXNpemUtdHlwZT0nNTAnXSB7XG4gICAgZmlndXJlIHtcbiAgICAgIGltZyB7XG4gICAgICAgICYubWVkaXVtIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTEyNSkge1xuICAgICAgICAgICYubWVkaXVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAmLnNtYWxsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH0gfSB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDkwMCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgZmlndXJlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4gICAgICBpbWcge1xuICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgICAgICAmLnNtYWxsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDUyNSkge1xuICAgICAgICAgICYubWVkaXVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAmLnNtYWxsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH0gfSB9IH0gfVxuIiwiJi5mdWxsLXRleHQtYmxvY2sge1xuICAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA2ODBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiIsIiYudmlkZW8tYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgbWFyZ2luOiA2MHB4IGF1dG8gMCAhaW1wb3J0YW50O1xuXG4gIC52aWRlby13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDUzLjYlIC8qIDE2OjkgKi87XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGlmcmFtZSwgLnZpZGVvLW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnZpZGVvLW92ZXJsYXkge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIG1heC13aWR0aDogODVweDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjg1KSk7IH0gfVxuXG4gICAgICAmLmhpZGUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuN3M7XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zKTsgfSB9IH0gfSB9XG4iLCJAaW1wb3J0IFwibmF2aWdhdGlvblwiO1xuQGltcG9ydCBcImNvbnRhY3RcIjtcbkBpbXBvcnQgXCJzdGlja3lOYXZpZ2F0aW9uXCI7XG4iLCIvL0NvbG9ycyB1c2VkIGluIE1vYmlsZSBNZW51XG4kbGlzdENvbG9yOiByZ2JhKHdoaXRlLCAwLjUpO1xuJGxpc3RIb3ZlckNvbG9yOiByZ2JhKHdoaXRlLCAwLjc1KTtcbiRsaXN0QWN0aXZlQ29sb3I6IHdoaXRlO1xuXG4kYmFyQ29sb3I6ICRibGFja0JsdWU7XG4kYmFyTWVudUNvbG9yOiB3aGl0ZTtcbiRtZW51QmFja2dyb3VuZDogJGJsYWNrQmx1ZTtcblxuJHNoYWRlckJhY2tncm91bmQ6ICRibGFja0JsdWU7XG4kc2hhZGVyT3BhY2l0eTogMC42O1xuXG5cbi5wcmV2ZW50U2Nyb2xsIHtcbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg3NTApIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5cbiNtb2JpbGUtbmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLmJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhckNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTEpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwLjRzLCB0cmFuc2Zvcm0gMC40cyBlYXNlIDBzO1xuXG4gICAgLnRvZ2dsZS1tZW51IHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgICAgIHNwYW4gKyBzcGFuIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhck1lbnVDb2xvcjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cztcblxuICAgICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOCwgMSwgMSk7IH1cblxuICAgICAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDUsIDEsIDEpOyB9IH0gfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpICFpbXBvcnRhbnQ7IH0gfSB9IH1cblxuICAgIC5sb2dvIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LWhlaWdodDogNDJweDsgfSB9IH0gfVxuXG4gICYuaGlkZS1iYXIge1xuICAgIC5iYXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7IH0gfVxuXG4gIC5zaGFkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNoYWRlckJhY2tncm91bmQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjRzOyB9XG5cbiAgLm1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBtaW4td2lkdGg6IDI3NXB4O1xuICAgIHBhZGRpbmc6IDQwcHggMDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51QmFja2dyb3VuZDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgei1pbmRleDogNTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcblxuICAgIG5hdiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxN3B4O1xuICAgICAgICBsZWZ0OiA0MHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgb3BhY2l0eTogMC40OyB9XG5cbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zczsgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiA3cHg7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDJweDsgfSB9XG5cblxuICAgICAgLmxvZ28td3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEyMHB4OyB9IH0gfVxuXG4gICAgICAubWVudS1saXN0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICsgdWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDsgfVxuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxNHB4IDA7XG4gICAgICAgICAgICAgIGNvbG9yOiAkbGlzdENvbG9yO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpc3RIb3ZlckNvbG9yOyB9IH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuODVlbTsgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlzdEFjdGl2ZUNvbG9yOyB9IH0gfSB9IH0gfSB9XG5cbiAgJi5hY3RpdmUge1xuICAgIC5iYXIge1xuICAgICAgLnRvZ2dsZS1tZW51IHtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNHM7XG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSk7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHRvcDogNnB4OyB9XG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICBib3R0b206IDZweDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpKTsgfSB9IH0gfSB9XG4gICAgLm1lbnUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbiAgJi5zaGFkZXItYWN0aXZlIHtcbiAgICAuc2hhZGVyIHtcbiAgICAgIG9wYWNpdHk6ICRzaGFkZXJPcGFjaXR5O1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfSB9XG5cbiAgJi5hbGxvdy1hbmltYXRpb24ge1xuICAgIC5zaGFkZXIge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7IH1cbiAgICAubWVudSB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg3NTApIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5iYXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuICAgIC5tZW51IHtcbiAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9IH1cbiIsIi5tb2JpbGUtY29udGFjdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuXG4gIHBhZGRpbmc6IDUwcHggY29sdW1uKDEpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICBjb2xvcjogJGJsYWNrO1xuICBmb250LXNpemU6IDAuOXJlbTtcblxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMsIHRyYW5zZm9ybSAwLjRzO1xuXG4gICYuYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cblxuXG4gIGgxLCBoMiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICBjb2xvcjogJHBhc3RlbEJsdWU7XG4gICAgbWFyZ2luOiAwIDAgNDBweDsgfVxuXG4gIHAge1xuICAgIG1hcmdpbjogMXJlbSAwOyB9XG5cbiAgc3Ryb25nIHtcbiAgICBjb2xvcjogJGJsYWNrOyB9XG5cbiAgYTpub3QoLmJ1dHRvbikge1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcywgYm9yZGVyIDAuM3MsIG9wYWNpdHkgMC4zcztcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGJsdWUsIDE1JSk7IH0gfVxuXG5cblxuICBhLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkKCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhc3RlbEJsdWU7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOyB9IH0gfVxuXG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4NDApIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4iLCIjc3RpY2t5LW5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgYm94LXNoYWRvdzogMCA2cHggMTBweCAtNXB4IHJnYmEoMCwwLDAsMC4xKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIG9wYWNpdHkgMC40cztcblxuICAmLmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbiAgLmdyaWQtcm93IHtcbiAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGNlbnRlcik7IH1cblxuICAubWVudSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA2MHB4O1xuXG4gICAgLnBsYWNlaG9sZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG5cbiAgICAgIC5pY29uLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgICAgICAgc3BhbiArIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cztcblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjgsIDEsIDEpOyB9XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NSwgMSwgMSk7IH0gfSB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSAhaW1wb3J0YW50OyB9IH0gfSB9IH0gfVxuXG4gIC5sb2dvLXdyYXBwZXIge1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfSB9IH1cbiIsIkBpbXBvcnQgXCJsYXJnZUhlYWRlckltYWdlXCI7XG5AaW1wb3J0IFwiY3RhQ29udGVudFJvd1wiO1xuQGltcG9ydCBcInJlYXNvbnNSb3dcIjtcbkBpbXBvcnQgXCJkaXNjb3ZlclJvd1wiO1xuQGltcG9ydCBcImN0YVJvd1wiO1xuQGltcG9ydCBcInN0ZXBzU2xpZGVyXCI7XG4iLCIubGFyZ2UtaGVhZGVyLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNzUwKSB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4OyB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2NDApIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDsgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiA3MCU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDY0MCkge1xuICAgICAgaGVpZ2h0OiA1MCU7IH0gfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBib3R0b206IDU1cHg7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgIGhlaWdodDogY2FsYygzNSUgLSA1NXB4KTtcbiAgICBtYXgtaGVpZ2h0OiAyNTBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTEwMCkge1xuICAgICAgaGVpZ2h0OiAxMjBweDsgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2NDApIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4gIC5oZWFkZXItaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICBib3R0b206IDE0MHB4O1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IHNlbWlib2xkKCk7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrQmx1ZTtcbiAgICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxNTAwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODQwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjQwKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB3aWR0aDogY29sdW1uKDEyLCAxNCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg1MDApIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuXG4gICAgLnNob3ctc2Nyb2xsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDQ7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDQycHgpO1xuICAgICAgYm90dG9tOiAzMHB4O1xuICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4gICAgICB3aWR0aDogODBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDU1cHggNTVweCAwIDA7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IC0yN3B4O1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XG4gICAgICAgIC8vYm9yZGVyLWJvdHRvbTogbm9uZVxuICAgICAgICAvL2JvcmRlci1yaWdodDogbm9uZVxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuICAgICAgLmFycm93IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDE0cHg7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LWhlaWdodDogMjRweDtcblxuICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogd2hpdGU7IH0gfSB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwzcHgsMCk7IH0gfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDY0MCkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuICAgIC5pbWFnZS1jdXR0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogNTVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG5cbiAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgKyA1OHB4KTsgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDUwJSArIDU4cHgpOyB9XG5cbiAgICAgIC53aGl0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGZsZXgtZW5kKTtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LWhlaWdodDogNTdweDsgfSB9IH0gfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjQwKSB7XG4gICAgLmdyaWQtcm93IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfVxuIiwiLmN0YS1jb250ZW50LXJvdyB7XG4gIC5ncmlkLXJvdyB7XG4gICAgQGluY2x1ZGUgZmxleChmbGV4LWVuZCwgZmxleC1zdGFydCk7XG4gICAgcGFkZGluZzogMTE1cHggMDtcblxuICAgIC5jdGEtYmxvY2sge1xuICAgICAgd2lkdGg6IGNvbHVtbig0LCAxMik7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNvbHVtbigzLCAyNCk7XG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LXdlaWdodDogc2VtaWJvbGQoKTtcbiAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbiAgICAgIGgxIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkKCk7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTUwKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IH0gfVxuXG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9XG5cbiAgICAuY29udGVudC1ibG9jayB7XG4gICAgICB3aWR0aDogY29sdW1uKDQsIDEyKTtcbiAgICAgIG1hcmdpbi1yaWdodDogY29sdW1uKDEsIDEyKTsgfSB9XG5cblxuICAvKiBUYWJsZXQgdmlld1xuICAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTM1MCkge1xuICAgIC5ncmlkLXJvdyB7XG4gICAgICBwYWRkaW5nOiA4MHB4IDA7XG5cbiAgICAgIC5jdGEtYmxvY2sge1xuICAgICAgICB3aWR0aDogY29sdW1uKDUsIDEyKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjb2x1bW4oMSwgMTIpOyB9XG5cbiAgICAgIC5jb250ZW50LWJsb2NrIHtcbiAgICAgICAgd2lkdGg6IGNvbHVtbig1LCAxMik7IH0gfSB9XG5cbiAgLyogTW9iaWxlIHZpZXdcbiAgICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDc1MCkge1xuICAgIC5ncmlkLXJvdyB7XG4gICAgICBwYWRkaW5nOiA4MHB4IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgLmN0YS1ibG9jaywgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgICB3aWR0aDogY29sdW1uKDEwLCAxMik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2NDApIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbiAgICAgIC5jdGEtYmxvY2sge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9IH0gfSB9XG4iLCIucmVhc29ucy1yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFja0JsdWU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmdyaWQtcm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyY6YWZ0ZXJcbiAgICAvLyAgY29udGVudDogJydcbiAgICAvLyAgcG9zaXRpb246IGFic29sdXRlXG4gICAgLy8gIHotaW5kZXg6IDFcbiAgICAvLyAgdG9wOiAwXG4gICAgLy8gIGxlZnQ6IGNvbHVtbig1LCAxMilcbiAgICAvLyAgd2lkdGg6IDEwMHZ3XG4gICAgLy8gIGhlaWdodDogMTAwJVxuICAgIC8vICBiYWNrZ3JvdW5kOiAkb3JhbmdlXG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgJGdyYWRpZW50U2l6ZTogMTAwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogY2FsYygje2NvbHVtbig3LCAxMil9IC0gI3skZ3JhZGllbnRTaXplfSk7XG4gICAgICB3aWR0aDogJGdyYWRpZW50U2l6ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJGJsYWNrR3JhZGllbnQpOyB9IH1cblxuXG5cbiAgLmdyaWQtY29sIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmc6IDExMHB4IDAgMTQwcHg7IH1cblxuICAucmVhc29ucy1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZy1yaWdodDogY29sdW1uKDEsIDI0KTtcblxuICAgID5oMiB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAvL2ZvbnQtd2VpZ2h0OiBib2xkKClcbiAgICAgIC8vZm9udC13ZWlnaHQ6IGxpZ2h0KClcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIG1hcmdpbjogMCAwIDQ1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDU1cHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTI1MCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcblxuICAgICAgICArIGxpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbiAgICAgICAgLmxpc3QtaWNvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgIC8vc3ZnXG4gICAgICAgICAgLy8gIHdpZHRoOiAxMDAlXG4gfSAgICAgICAgICAvLyAgbWF4LWhlaWdodDogMzJweFxuXG4gICAgICAgIHAge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZCgpO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxNjAwKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMDgwKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7IH0gfSB9XG5cbiAgICAgICYudGh1bWJzIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIC5saXN0LWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxOHB4OyB9IH0gfSB9XG5cbiAgICAgICYuYXJyb3dzIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIC5saXN0LWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzO1xuXG4gICAgICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgJGJyaWdodEJsdWU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCAkYnJpZ2h0Qmx1ZTsgfSB9IH1cblxuICAgICAgJi5jaGVjayB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAubGlzdC1pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVHcmV5O1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBsZWZ0OiAtM3B4O1xuICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgbWF4LWhlaWdodDogMThweDsgfSB9IH0gfSB9XG5cblxuICAgIC50cmlnZ2VyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgY2VudGVyKTtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogNTVweDtcblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNvbHVtbigxLCAxMik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkYmx1ZUdyZXk7XG5cbiAgICAgICAgLmFycm93IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICAuc3QwIHtcbiAgICAgICAgICAgIGZpbGw6ICRibHVlR3JleTsgfSB9IH1cblxuICAgICAgLmltYWdlLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgd2lkdGg6IDE4MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTYwMCkge1xuICAgICAgICAgIHdpZHRoOiAxNTBweDsgfVxuXG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMDtcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH0gfSB9IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTQwMCkge1xuICAgICAgLnRyaWdnZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgLmltYWdlLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH0gfSB9XG5cblxuICAucmlnaHQtc2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZzogMDtcblxuICAgICYuY29sLTcge1xuICAgICAgcGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpOyB9XG5cbiAgICAmLmFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgICBjb2xvcjogJGJyaWdodEJsdWU7XG4gICAgICBmb250LXdlaWdodDogc2VtaWJvbGQoKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbiAgICAudmlkZW8tYmxvY2sge1xuICAgICAgcGFkZGluZzogODBweCAwO1xuXG4gICAgICAudmlkZW8td3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmxhY2ssIDUlKTtcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA5NjBweDtcblxuICAgICAgICAucGxhY2Vob2xkZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTIuOCUgLyogMTY6OSAqLztcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTsgfSB9IH0gfVxuXG4gICAgLmltYWdlLWJsb2NrIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiKDEyMywgMCwgMjEpLCAkcmVkKTsgfVxuXG5cblxuICAgICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuICAgICAgcGljdHVyZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEwMDApIHtcblxuICAgIC5ncmlkLXJvdyB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuICAgIC5yZWFzb25zLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiA2MHB4IGNvbHVtbigxLCAxNCk7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG5cbiAgICAucmlnaHQtc2lkZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJsYWNrLCA1JSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgY29sdW1uKDEsIDE0KTtcbiAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgJi5jb2wtNyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDE0KTsgfVxuXG4gICAgICAmLmFic29sdXRlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cblxuICAgICAgLmltYWdlLWJsb2NrIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH0gfSB9XG4iLCIuZGlzY292ZXItcm93IHtcbiAgYmFja2dyb3VuZDogJGxpZ2h0ZXJHcmV5O1xuICBwYWRkaW5nOiA3MHB4IDAgMTIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLnN0cmVhbWVyIHtcbiAgICBjb2xvcjogJGRhcmtHcmV5O1xuICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICBmb250LXdlaWdodDogc2VtaWJvbGQoKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbjogMCAwIDM1cHg7IH1cblxuICAubGlua3Mge1xuICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBmbGV4LXN0YXJ0KTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvL2JveC1zaGFkb3c6IDBweCAwcHggNDBweCAwcHggcmdiYSgwLDAsMCwwLjIpXG5cbiAgICBhcnRpY2xlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2tlckJsdWU7XG5cbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuICAgICAgcGljdHVyZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNzU7IH0gfVxuXG5cbiAgICAgIC5vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAyNXB4KTtcbiAgICAgICAgICBib3R0b206IDI1cHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBzZW1pYm9sZCgpO1xuXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cblxuICAgICAgICAuYXJyb3ctcGxhY2Vob2xkZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGRhcmtSZWQ7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHM7XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG5cbiAgICAgICAgICAgICAgJi5hcnJvdy1pY29uIHtcbiAgICAgICAgICAgICAgICAuc3QwIHtcbiAgICAgICAgICAgICAgICAgIGZpbGw6IHdoaXRlOyB9IH0gfSB9IH0gfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLm92ZXJsYXkge1xuICAgICAgICAgIC5hcnJvdy1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxOyB9IH0gfSB9XG5cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTAwMCkge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3dzO1xuXG4gICAgICBhcnRpY2xlIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDYwMCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIGFydGljbGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAub3ZlcmxheSB7XG4gICAgICAgICAgaDQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgICAgYm90dG9tOiAyNXB4OyB9IH0gfSB9IH0gfVxuIiwiLmN0YS1yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmJhc2ljLWhpbnQge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMXJlbSAwOyB9XG5cbiAgLmdyaWQtcm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogY29sdW1uKDYsIDEyKTtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRyZWQyOyB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAkZ3JhZGllbnRTaXplOiA1MHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IGNhbGMoI3tjb2x1bW4oNiwgMTIpfSAtICN7JGdyYWRpZW50U2l6ZX0pO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6ICRncmFkaWVudFNpemU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICRibGFja0dyYWRpZW50KTsgfSB9XG5cbiAgLmN0YS10cmlnZ2VyLCAuY3RhLXRyaWdnZXItMiB7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogODBweCAwO1xuXG4gICAgaDMge1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgIEBpbmNsdWRlIGthcmxhOyB9XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkbGlnaHRHcmV5O1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luOiAwOyB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9IH1cblxuXG4gIC5jdGEtdHJpZ2dlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMik7XG4gICAgd2lkdGg6IGNvbHVtbig1LCAxMik7XG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cblxuICAuY3RhLXRyaWdnZXItMiB7XG4gICAgd2lkdGg6IGNvbHVtbig2LCAxMik7XG4gICAgcGFkZGluZy1sZWZ0OiAxMDBweDsgfVxuXG4gIC5jdGEtcGVyc29uIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiBjb2x1bW4oNiwgMTIpO1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMTAwcHggNzVweDtcblxuICAgIC53cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgY2VudGVyKTsgfVxuXG4gICAgLmltYWdlLXBsYWNlaG9sZGVyIHtcbiAgICAgIHdpZHRoOiAxNDBweDtcblxuICAgICAgZmlndXJlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgICAgIGhlaWdodDogMDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH0gfSB9XG5cbiAgICAuY29udGFjdC1pbmZvIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNzVweCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkKCk7IH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtOyB9XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgY29sb3I6ICRsaWdodGVyR3JleTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHNlbWlib2xkKCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7IH0gfSB9IH1cblxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTAwMCkge1xuICAgIC5ncmlkLXJvdyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4gICAgLmN0YS10cmlnZ2VyLCAuY3RhLXRyaWdnZXItMiwgLmN0YS1wZXJzb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiA2NXB4IGNvbHVtbigxLCAxNCk7IH1cblxuICAgIC5jdGEtdHJpZ2dlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4gICAgLmN0YS10cmlnZ2VyLTIsIC5jdGEtcGVyc29uIHtcbiAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJHJlZFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDI7IH0gfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNTI1KSB7XG4gICAgLmN0YS10cmlnZ2VyLCAuY3RhLXRyaWdnZXItMiB7XG4gICAgICBiciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4gICAgLmN0YS1wZXJzb24ge1xuICAgICAgcGFkZGluZzogNDBweCBjb2x1bW4oMSwgMTQpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAud3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAgIC5pbWFnZS1wbGFjZWhvbGRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4gICAgICAuY29udGFjdC1pbmZvIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9IH0gfVxuIiwiLnN0ZXBzLXNsaWRlciB7XG4gIHBhZGRpbmc6IDEwMHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGVyR3JleTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5ncmlkLXJvdyB7XG4gICAgPiBoMiB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgQGluY2x1ZGUga2FybGE7XG4gICAgICBjb2xvcjogJGJsYWNrQmx1ZTsgfVxuIH0gICAgLy90ZXh0LWFsaWduOiBjZW50ZXJcblxuICAuc2xpZGVyLW5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiA0NXB4IGF1dG8gMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFja0JsdWU7IH1cblxuXG4gICAgLnNsaWRlLW5hdi1pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMnB4IDE4cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGVyR3JleTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRibGFja0JsdWU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQoKTtcbiAgICAgIGNvbG9yOiAkYmxhY2tCbHVlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC40cywgYmFja2dyb3VuZCAwLjRzO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkbGlnaHRlckdyZXksIDEwJSk7IH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2tCbHVlO1xuICAgICAgICBjb2xvcjogd2hpdGU7IH0gfSB9XG5cbiAgLnNsaWRlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgbWFyZ2luOiA1MHB4IGF1dG8gMDtcblxuICAgIC5zbGlkZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGNvbG9yOiAkYmxhY2tCbHVlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cywgdHJhbnNmb3JtIDAuNHM7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZCgpOyB9IH0gfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTc1KSB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5ncmlkLXJvdyB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgPmgyIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAwOyB9IH1cblxuICAgIC5zbGlkZXItbmF2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC5zbGlkZXMge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXG4gICAgICAuc2xpZGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwYWRkaW5nOiA0MHB4IGNvbHVtbigxLCAxMik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ZXJHcmV5OyB9XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfSB9IH0gfVxuIiwiLmluZGV4LWdyaWQtcm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrQmx1ZTtcblxuICAubm8tYXZhaWxhYmxlIHtcbiAgICBwYWRkaW5nOiA2MHB4IDIwcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgNDBweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogMCA2cHg7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGJyaWdodEJsdWU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTsgfSB9XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSwgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBhLCBzcGFuIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMDtcblxuICAgICAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblxuICAgICAgICAgICAgLnN0MCB7XG4gICAgICAgICAgICAgIGZpbGw6ICRicmlnaHRCbHVlOyB9IH0gfSB9XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGEsIHNwYW4ge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgtMSwgMSwgMSk7IH0gfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblxuICAgICAgICAgIC5zdDAge1xuICAgICAgICAgICAgZmlsbDogcmdiYSgkYnJpZ2h0Qmx1ZSwgMC4zKTsgfSB9IH0gfSB9IH1cblxuQGltcG9ydCBcImxhcmdlQmFkZ2VzXCI7XG5AaW1wb3J0IFwic3F1YXJlc1wiO1xuIiwiLmxhcmdlLWJhZGdlcy1ncmlkIHtcblxuICAub3ZlcnZpZXcge1xuICAgIHBhZGRpbmc6IDYwcHggMCAwO1xuXG4gICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LXJvd3M7XG5cbiAgICBhcnRpY2xlIHtcbiAgICAgIG1hcmdpbjogMCAxNXB4IDYwcHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDgwKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7IH0gfVxuXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgIGdyaWQtZ2FwOiA2MHB4IDYwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcblxuICAgICAgJi5maXJzdC1wYWdlIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJmaXJzdCBmaXJzdCBpdGVtLTJcIiBcImZpcnN0IGZpcnN0IGl0ZW0tM1wiIFwiaXRlbS00IGl0ZW0tNSBpdGVtLTZcIjtcblxuICAgICAgICBhcnRpY2xlOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBncmlkLWFyZWE6IGZpcnN0OyB9IH1cblxuICAgICAgYXJ0aWNsZSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDE3MDApIHtcbiAgICAgICAgZ3JpZC1nYXA6IDMwcHggMzBweDsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEwMDApIHtcbiAgICAgICAgZ3JpZC1nYXA6IDYwcHggNjBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuXG4gICAgICAgICYuZmlyc3QtcGFnZSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJmaXJzdCBmaXJzdFwiIFwiZmlyc3QgZmlyc3RcIjsgfSB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTUwKSB7XG4gICAgICAgIGdyaWQtZ2FwOiAzMHB4IDMwcHg7IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4NDApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogNTIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIGFydGljbGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfSB9IH1cblxuICBhcnRpY2xlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA0MHB4IDAgcmdiYSgwLDAsMCwwLjIpO1xuXG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG5cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGZsZXgpIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGEge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjAwKSB7XG4gICAgICBmb250LXNpemU6IDAuOXJlbTsgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDY1JTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuXG4gICAgICBmaWd1cmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHM7IH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH1cblxuXG4gICAgICAuZGF0ZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogOCU7XG4gICAgICAgIHRvcDogMTIlO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBmb250LXNpemU6IDNlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQoKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkYnJpZ2h0Qmx1ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC40cztcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDk1MCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi41ZW07IH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDk1MCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMmVtOyB9IH1cblxuICAgICAgaDIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDgwJSAtIDEwcHgpO1xuICAgICAgICBsZWZ0OiA5JTtcbiAgICAgICAgYm90dG9tOiA5JTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBzZW1pYm9sZCgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjRzO1xuXG4gICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgICAgIGJvdHRvbTogLTdweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cztcblxuICAgICAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcblxuICAgICAgICAgICAgLnN0MCB7XG4gICAgICAgICAgICAgIGZpbGw6ICRicmlnaHRCbHVlO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuNHM7IH0gfSB9IH0gfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBhIHtcbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjI7IH0gfVxuXG4gICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsMCwwKTtcbiAgICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICAuc3QwIHtcbiAgICAgICAgICAgICAgZmlsbDogd2hpdGU7IH0gfSB9XG5cbiAgICAgICAgaDIsIC5kYXRlIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7IH0gfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ4MCkge1xuICAgICAgYSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2NSU7IH1cblxuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTVweDsgfSB9IH1cblxuICAgIC5maXJzdC1wYWdlICYge1xuICAgICAgJiNwb3N0LTAge1xuICAgICAgICBhIHtcbiAgICAgICAgICBwYWRkaW5nOiA1JSA4JTtcblxuICAgICAgICAgIC5pZSAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA2NSUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDNlbSAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFlbSAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDgwKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG5cbiAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICYubWVkaXVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAgICYubGFyZ2Uge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5NTApIHtcbiAgICAgICAgICAgICAgICAmLmxhcmdlIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH0gfVxuXG4gICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgdG9wOiA4JTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy43NWVtOyB9XG5cbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1JSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDE3NTApIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTUlOyB9IH1cblxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODQwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgNjUlO1xuXG4gICAgICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICAgIHRvcDogMTIlO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDJlbTsgfVxuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudDsgfSB9XG5cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ4MCkge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfSB9IH0gfSB9XG4iLCIuc3F1YXJlcy1ncmlkIHtcblxuICAub3ZlcnZpZXcge1xuICAgIHBhZGRpbmc6IDYwcHggMCAwO1xuXG4gICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LXJvd3M7XG5cbiAgICBhcnRpY2xlIHtcbiAgICAgIG1hcmdpbjogMCAxNXB4IDYwcHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDgwKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7IH0gfVxuXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgIGdyaWQtZ2FwOiA2MHB4IDYwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcblxuICAgICAgYXJ0aWNsZSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDE3MDApIHtcbiAgICAgICAgZ3JpZC1nYXA6IDMwcHggMzBweDsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEwMDApIHtcbiAgICAgICAgZ3JpZC1nYXA6IDYwcHggNjBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTUwKSB7XG4gICAgICAgIGdyaWQtZ2FwOiAzMHB4IDMwcHg7IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4MDApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogNTIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfSB9XG5cbiAgYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA1MjBweDtcbiAgICAvL2JhY2tncm91bmQ6ICRkYXJrUmVkXG5cbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcblxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZmxleCkge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lOyB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDYwMCkge1xuICAgICAgZm9udC1zaXplOiAwLjlyZW07IH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4gICAgZmlndXJlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDQwcHggMCByZ2JhKDAsMCwwLDAuMik7XG5cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFja2VyQmx1ZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbiAgICAgIC5zdHlsaW5nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtSZWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHggMCAwIDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuXG4gICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgICBib3R0b206IC01cHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXG4gICAgICAgICAgLmFycm93LWljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICAgIC5zdDAge1xuICAgICAgICAgICAgICBmaWxsOiB3aGl0ZTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjNzOyB9IH0gfSB9IH1cblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkKCk7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgZmlndXJlIHtcbiAgICAgICAgLnN0eWxpbmcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGRhcmtSZWQsIDAuNik7IH0gfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDgwMCkge1xuICAgICAgKyBhcnRpY2xlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50OyB9XG5cbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2Ni42NyU7IH0gfSB9IH1cbiIsIkBpbXBvcnQgXCJzdWJNZW51XCI7XG5AaW1wb3J0IFwibW9kZWxEZXRhaWxcIjtcbiIsIi5zaG93LXN1Yi1tZW51IHtcbiAgcGFkZGluZzogODBweCAwO1xuICA+cCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6ICRibGFja0JsdWU7XG4gICAgQGluY2x1ZGUga2FybGE7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgbGkge1xuICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJGdyZXksIDAuMjUpO1xuXG4gICAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI3cHgpOyB9XG5cbiAgICAgICAgLmFycm93IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcmlnaHQ6IDRweDtcbiAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcblxuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuXG4gICAgICAgICAgICAmLmFycm93LWljb24ge1xuICAgICAgICAgICAgICAuc3QwIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYmxhY2tCbHVlOyB9IH0gfSB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRibGFja0JsdWU7XG4gICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoOHB4LDAsMCk7IH0gfSB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRkYXJrUmVkO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkKCk7IH0gfSB9IH0gfVxuIiwiLnNob3ctbW9kZWwtZGV0YWlsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5yZXR1cm4tdG8tb3ZlcnZpZXcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFja2VyQmx1ZTtcbiAgICBwYWRkaW5nOiAyMHB4IGNvbHVtbigxLCAxNCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuYXJyb3cge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBsZWZ0OiA0cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuICAgICAgc3ZnIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTVweDsgfVxuXG4gICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgLnN0MCB7XG4gICAgICAgICAgZmlsbDogd2hpdGU7IH0gfSB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IHNlbWlib2xkKCk7IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLmFycm93IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LDAsMCk7IH0gfSB9XG5cbiAgLnNob3ctc3ViLW1lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogY29sdW1uKDMsIDEyKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbiAgLmR5bmFtaWMtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBjb2x1bW4oOSwgMTIpO1xuICAgIHBhZGRpbmc6IDgwcHggMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDsgfVxuXG4gICAgLmttcy1jb250ZW50IHtcbiAgICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtSZWQ7IH1cblxuICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH0gfSB9IH1cblxuICAgIC5keW5hbWljLWJsb2NrIHtcbiAgICAgICYuZnVsbC10ZXh0LWJsb2NrIHtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfSB9IH1cblxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTAwKSB7XG4gICAgLmdyaWQtcm93IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0LCBmbGV4LXN0YXJ0KTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93czsgfVxuXG4gICAgLnJldHVybi10by1vdmVydmlldyB7XG4gICAgICBAaW5jbHVkZSBvcmRlcigxKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgY2VudGVyKTsgfVxuXG4gICAgLmR5bmFtaWMtY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBvcmRlcigyKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogNDBweCBjb2x1bW4oMSwgMTQpOyB9XG5cbiAgICAuc2hvdy1zdWItbWVudSB7XG4gICAgICBAaW5jbHVkZSBvcmRlcigzKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvcmRlckNvbG9yLCAwLjQpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiA4MHB4IGNvbHVtbigxLCAxNCk7IH0gfVxuXG4gICYub3ZlcnZpZXctcGFnZSB7XG4gICAgLmJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAxNDQwcHgpIC8gMiArICN7Y29sdW1uKDEuMjUsIDEyKX0pO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG5cbiAgICAuZHluYW1pYy1jb250ZW50IHtcbiAgICAgIHdpZHRoOiBjb2x1bW4oNywgMTIpOyB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDkwMCkge1xuICAgICAgLnNob3ctc3ViLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZHluYW1pYy1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDc1MCkge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4OyB9IH1cbiIsIkBpbXBvcnQgXCJob21lXCI7XG5AaW1wb3J0IFwiY29udGFjdFwiO1xuQGltcG9ydCBcImRlZmF1bHRcIjtcbkBpbXBvcnQgXCJhYm91dFwiO1xuXG5AaW1wb3J0IFwiZXJyb3JcIjtcbkBpbXBvcnQgXCJzaXRlbWFwXCI7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSG9tZSBwYWdlXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jaG9tZSB7XG4gIGhlYWRlciB7XG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH0gfVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBDb250YWN0IHBhZ2VcbiAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNjb250YWN0IHtcblxuICAjbWFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ1MHB4OyB9XG5cbiAgLmNvbnRhY3QtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGJsdWVcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrUmVkOyB9XG5cbiAgICAuY29udGFjdC1pbmZvLCAuY29udGFjdC1mb3JtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuXG4gICAgLmNvbnRhY3QtaW5mbyB7XG4gICAgICB3aWR0aDogY29sdW1uKDUsIDEyKTtcbiAgICAgIHBhZGRpbmc6IDcycHggMCAxMDBweDtcblxuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgY29sb3I6ICRkYXJrZXJHcmV5O1xuICAgICAgICBtYXJnaW46IDAgMCAzMnB4O1xuICAgICAgICBAaW5jbHVkZSBrYXJsYTsgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBjb2xvcjogJGRhcmtlckdyZXk7XG4gICAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgICAgIEBpbmNsdWRlIGthcmxhO1xuICAgICAgICBtYXJnaW46IDEwMHB4IDAgMTVweDsgfVxuXG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgY29sb3I6IHJnYmEoJGRhcmtlckdyZXksIDAuNzUpO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKCRkYXJrZXJHcmV5LCAwLjc1KTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrZXJHcmV5OyB9IH0gfVxuXG4gICAgICAub3BlbmluZy1ob3VycyB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgY29sb3I6ICRsaWdodEJsdWU7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG5cbiAgICAgICAgICAuZGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxNzVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg0MDApIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEzMHB4OyB9IH1cblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkKCk7IH0gfSB9XG4gICAgICAvL2ZvbnQtd2VpZ2h0OiBib2xkXG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTEwMCkge1xuICAgICAgICB3aWR0aDogY29sdW1uKDUsIDEyKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4gICAgLmNvbnRhY3QtZm9ybSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogY29sdW1uKDEsIDEyKTtcbiAgICAgIHdpZHRoOiBjb2x1bW4oNiwgMTIpO1xuICAgICAgcGFkZGluZzogNzJweCAwIDEwMHB4IGNvbHVtbigxLCAxMik7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cblxuICAgICAgPiBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDg0MCkge1xuICAgICAgLmdyaWQtcm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cblxuICAgICAgLmJhY2tncm91bmQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgIC5jb250YWN0LWluZm8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogNzJweCBjb2x1bW4oMSwgMTIpIDEwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDc1MCkge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMDJweDsgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9IH1cblxuICAgICAgLmNvbnRhY3QtZm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjb2x1bW4oMSwgMTIpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtSZWQ7IH0gfSB9IH1cbiIsImJvZHkuZGVmYXVsdCB7XG4gIC5keW5hbWljLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMTIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrQmx1ZTtcblxuICAgIC5keW5hbWljLWJsb2NrLmZ1bGwtdGV4dC1ibG9jayB7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4gICAgLmttcy1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aC1iZXlvbmQoOTAwKSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogLTM1cHg7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAzcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7IH0gfVxuXG5cblxuICAgICAgaDEsIGgyLCBoMyB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcblxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgtYmV5b25kKDkwMCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBjb2xvcjogJG9yYW5nZTsgfSB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7IH0gfVxuXG4gICAgICBoNCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKHdoaXRlLCAwLjUpOyB9XG5cbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogJGxpZ2h0R3JleTsgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBjb2xvcjogJGxpZ2h0R3JleTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHRHcmV5OyB9IH0gfVxuXG4gICAgICBvbCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBjb2xvcjogJGxpZ2h0R3JleTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHRHcmV5OyB9IH0gfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IHJnYmEod2hpdGUsIDAuODUpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfSB9XG5cbiAgICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtSZWQ7IH1cblxuICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH0gfSB9IH0gfSB9XG4iLCIjYWJvdXQge1xuICAuYWJvdXQtY3VzdG9tLXJvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ZXJHcmV5O1xuXG4gICAgLmdyaWQtcm93IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgY2VudGVyKTsgfVxuXG5cbiAgICAubG9nby1ibG9jayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICAgIHdpZHRoOiBjb2x1bW4oNCwgMTIpO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogY29sdW1uKC0xLCAxMik7XG4gICAgICB0b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkcmVkMjtcblxuICAgICAgLmljb24ge1xuICAgICAgICB3aWR0aDogMTEwcHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA5MXB4OyB9IH0gfVxuXG4gICAgLmltYWdlLXBsYWNlaG9sZGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgLmltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTUwJTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgaW1hZ2U6IHVybChcIi9pbWcvYWJvdXQvYWJvdXQtcnV1ZC5qcGdcIik7IH1cblxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjAwKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2Fib3V0L2Fib3V0LXJ1dWQtaG9yaXpvbnRhbC5qcGdcIik7IH0gfSB9IH1cblxuXG4gICAgLmNvbnRhY3QtaW5mbyB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgcGFkZGluZzogY29sdW1uKDEsIDE0KTtcblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAkYmxhY2tCbHVlO1xuICAgICAgICBAaW5jbHVkZSBrYXJsYTsgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIGNvbG9yOiAkYmx1ZUdyZXk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgY29sb3I6ICRibGFja0JsdWU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBzZW1pYm9sZCgpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IHJnYmEoJGJsYWNrQmx1ZSwgMC43KTsgfSB9IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTAwMCkge1xuICAgICAgLmdyaWQtcm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93cztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cblxuICAgICAgLmxvZ28tYmxvY2sge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBsZWZ0OiAwOyB9XG5cbiAgICAgIC5pbWFnZS1wbGFjZWhvbGRlciB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuICAgICAgLmNvbnRhY3QtaW5mbyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAtMjUwcHg7XG4gICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2MDApIHtcbiAgICAgIC5ncmlkLXJvdyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuICAgICAgLmxvZ28tYmxvY2sge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDI1MHB4OyB9XG5cbiAgICAgIC5pbWFnZS1wbGFjZWhvbGRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2NSU7IH0gfVxuXG4gICAgICAuY29udGFjdC1pbmZvIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICBwYWRkaW5nOiA2MHB4IGNvbHVtbigxLCAxNCk7IH0gfSB9IH1cbiIsIiNlcnJvci1wYWdlLW1lc3NhZ2Uge1xuICBwYWRkaW5nOiAxMDBweCAwIDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyQ29sb3I7XG5cbiAgLmdyaWQtcm93IHtcbiAgICAua21zLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuICAgIC5wbGFjZWhvbGRlciB7XG4gICAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG5cbiAgICAvL3BcbiAgICAvLyAgZm9udC1zaXplOiAxcmVtXG4gICAgLy8gIGxpbmUtaGVpZ2h0OiAxLjdcbiAgICAvLyAgZm9udC13ZWlnaHQ6IGJvbGRcbiAgICAvLyAgY29sb3I6ICRncmV5XG4gICAgLy9cbiAgICAvLyAgK3Jlc3BvbmQtdG8td2lkdGgoNzAwKVxuICAgIC8vICAgIGZvbnQtc2l6ZTogMC45cmVtXG4gICAgLy8gICtyZXNwb25kLXRvLXdpZHRoKDQ1MClcbiB9IH0gICAgLy8gICAgZm9udC1zaXplOiAwLjhyZW1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgU2l0ZW1hcCBwYWdlXG4gIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2l0ZW1hcCB7XG4gIHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07IH1cblxuICA+dWwge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuXG4gIGxpIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6IDZweDsgfVxuXG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAzcHggMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgkYmxhY2ssIDAuNCk7IH0gfSB9IH1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FFQUE7O3NGQUVzRjtBQUN0Rjs7Ozs7R0FLRztBQUlIOztHQUVHO0FDZEg7OztpQkFHaUI7QXdFSGpCOztzRkFFc0Y7QUFFdEY7OztHQUdHO0FDUEg7O3FGQUVxRjtBQUVyRjs7OztJQUlJO0FBY0o7OztJQUdJO0FBSUo7O0lBRUk7QU0vQko7O3NGQUVzRjtBQUV0RixBQUFBLENBQUMsQ0FBQztFQUNBLFVBQVUsRUFBRSxVQUFVO0NBQUc7O0FBRTNCOzs7O0dBSUc7QUFDSCxBQUFBLElBQUksQ0FBQztFQUNILFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7Q0FBRzs7QUFFckI7OztHQUdHO0FBQ0gsQUFBQSxHQUFHLENBQUM7RUFDRixPQUFPLEVBQUUsS0FBSztFQUNkLE1BQU0sRUFBRSxJQUFJO0NBQUc7O0FBRWpCOztJQUVJO0FBQ0osQUQxQkUsS0MwQkcsQUQxQkYsMkJBQTJCLEVDMEJ2QixRQUFRLEFEMUJaLDJCQUEyQixDQUEyQjtFQzRCckQsVUFBVSxFQUFFLHNCQUFzQjtDRDNCdkI7O0FDeUJmLEFEeEJFLEtDd0JHLEFEeEJGLGtCQUFrQixFQ3dCZCxRQUFRLEFEeEJaLGtCQUFrQixDQUFtQjtFQzBCcEMsVUFBVSxFQUFFLHNCQUFzQjtDRHpCdkI7O0FDdUJmLEFEdEJFLEtDc0JHLEFEdEJGLHNCQUFzQixFQ3NCbEIsUUFBUSxBRHRCWixz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 */\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/style.sass","@mixin placeholder {\n  &::-webkit-input-placeholder /* Chrome/Opera/Safari */ {\n    @content; }\n  &::-moz-placeholder /* Firefox 19+ */ {\n    @content; }\n  &:-ms-input-placeholder /* IE 10+ */ {\n    @content; }\n  &:-moz-placeholder /* Firefox 18- */ {\n    @content; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/mixins/_placeholder.sass","/*==========================================================================\n  Grid\n  @mixin ========================================================================= */\n\n/**\n  * Grid row\n  *\n  * 1. The outer two columns are just margin\n  * 2. Prevent inline-block cells wrapping\n  * 3. Prevent vertical spacing between inline-blocks\n  */\n\n.grid-row {\n  width: column(12) /* 1 */;\n  max-width: 1440px;\n  margin: 0 auto;\n  font-size: 0 /* 2 */;\n  line-height: 0 /* 3 */;\n\n  /**\n   * The full row doesn't have the two outer margin rows\n   * They stretch till both ends of the window\n   */\n\n  &.full-row {\n    width: 100%;\n    max-width: none; } }\n\n/**\n * Grid column\n *\n * 1. Reset white-space inherited from `.grid`\n * 2. Reset font-size inherited from `.grid`\n * 3. Reset line-height inherited from `.grid`\n */\n\n.grid-col {\n  position: relative;\n\n  display: inline-block;\n  overflow: hidden;\n  white-space: normal /* 1 */;\n  font-size: 1rem /* 2 */;\n  line-height: 1.6 /* 3 */;\n\n  /**\n   * Center column\n   *\n   * 1. 'inline-block' doesn't center with margin '0 auto'\n   */\n\n  &.center {\n    display: block /* 1 */;\n    margin: 0 auto; } }\n\n\n\n\n@for $i from 1 through $gridColumns {\n\n  /* Column dimensions\n   @mixin ========================================================================= */\n\n  /*\n   * Calculate width by dividing a full width into 12 columns\n   * Create a class for each column\n   */\n\n  .col-#{$i}, .col-lg-#{$i} {\n    width: column($i,12);\n\n\n    .full-row & {\n      width: column($i); } }\n\n\n  /* Column shifts\n   @mixin ========================================================================= */\n\n  .offset-#{$i}, .offset-lg-#{$i} {\n    margin-left: column($i,12); } }\n\n\n\n/* Media queries\n @mixin ========================================================================= */\n\n /*\n  * Create a separate loop because of order for css rendering\n  * because else it would overrule a previous media query\n  */\n\n@for $i from 1 through $gridColumns {\n\n  // Media query for large desktop\n  @include respond-to-width-beyond($xlGridBreakpoint) {\n    .col-xl-#{$i} {\n      width: column($i,12); }\n\n    .offset-xl-#{$i} {\n      margin-left: column($i,12); } }\n\n  // Media query for normal desktop\n  @include respond-to-width($mdGridBreakpoint) {\n    .col-md-#{$i} {\n      width: column($i,12); }\n\n    .offset-md-#{$i} {\n      margin-left: column($i,12); } }\n\n  // Media query for tablets\n  @include respond-to-width($smGridBreakpoint) {\n    .col-sm-#{$i} {\n      width: column($i,12); }\n\n    .offset-sm-#{$i} {\n      margin-left: column($i,12); } }\n\n  // Media query for mobile\n  @include respond-to-width($xsGridBreakpoint) {\n    .col-xs-#{$i} {\n      width: column($i,12); }\n\n    .offset-xs-#{$i} {\n      margin-left: column($i,12); } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/grid/_grid.sass","@mixin respond-to-width($width) {\n  $width : $width + 'px';\n  @media screen and (max-width: $width) {\n    @content; } }\n\n@mixin respond-to-width-beyond($width) {\n  $width : ($width + 1)  + 'px';\n  @media screen and (min-width: $width) {\n    @content; } }\n\n@mixin respond-to-height($height) {\n  $height : $height + 'px';\n  @media screen and (max-height: $height) {\n    @content; } }\n\n@mixin respond-to-width-or-height($width, $height) {\n  $width : $width + 'px';\n  $height : $height + 'px';\n  @media screen and (max-width: $width), screen and (max-height: $height) {\n    @content; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/mixins/_mediaQueries.sass","/* ==========================================================================\n   This grid can be turned on and off when you want to check\n   if everything is nice in place.\n   @mixin ========================================================================= */\n\n.visible-grid-container {\n  display: flex;\n  justify-content: center; }\n\n/**\n * 1. Makes it able to control the website while grid is shown\n */\n.visible-grid {\n  display: block;\n  position: fixed;\n  z-index: 10000;\n  pointer-events: none /* 2 */;\n\n  .grid-col {\n    background: rgba(0,255,255,.6);\n    height: 100vh;\n\n    &:nth-child(2n) {\n      background: rgba(0,255,255,.3); } }\n\n  &:before, &:after {\n    content: '';\n    position: absolute;\n    top: 0;\n    width: calc(100% / 12);\n    height: 100%;\n    background: rgba(0,255,0,.5); }\n\n  &:before {\n    left: calc(-100% / 12); }\n\n  &:after {\n    right: calc(-100% / 12); }\n\n  //&:nth-child(1),&:nth-child(14)\n }  ////  background: rgba(0,255,0,.5)\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/grid/_visibleGrid.sass",".breakpoint {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  width: 20px;\n  height: 20px;\n  z-index: 10000;\n  background: #0ABEFF;\n\n  // Larger then xlBreakpoint\n  @include respond-to-width-beyond($xlGridBreakpoint) {\n    background: red; }\n\n  // Loop through other breakpoints\n  $breakpoints :  (blue $lgGridBreakpoint) (green $mdGridBreakpoint) (yellow $smGridBreakpoint) (pink $xsGridBreakpoint);\n\n  @each $list in $breakpoints {\n\n    $color : nth($list,1);\n    $breakpoint : nth($list,2);\n\n    @include respond-to-width($breakpoint) {\n      background: $color; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/partials/_breakpoints.sass","/* ==========================================================================\n   Expend Basic style settings\n   @mixin ========================================================================= */\n\n/*\n * Set up the html\n *\n * 1. Makes sue that some fonts are better rendered\n */\n\nhtml {\n  -webkit-font-smoothing: antialiased /* 2 */;\n  -moz-osx-font-smoothing: grayscale;\n  text-rendering: optimizeLegibility; }\n\n\n/*\n * Set up the body\n *\n * 1. Set font to lining figures\n */\n\nbody {\n  margin: 0;\n\n  font-family: $fontFamily;\n  line-height: 1.6;\n\n  font-feature-settings: 'lnum' /* 1 */; }\n\n/*\n * Set default settings for all elements\n *\n * 1. Default selection styling\n *\n */\n* {\n  ::selection /* 2 */ {\n    background: $blue;\n    color: white; } }\n\n/**\n * 1.Default display for images is block to lose the extra margin below the image\n */\nimg {\n  opacity: 1;\n  transition: opacity 0.3s;\n\n  &.preload {\n    opacity: 0; } }\n\n/*\n * Set default styling for input and textarea\n *\n * 1. Set font because else the agent will overrule them with an ugly font\n */\ninput, textarea {\n  font-family: $fontFamily /* 1 */; }\n\n/*\n * Set default styling for a button\n *\n */\n.button {\n  display: inline-block;\n  padding: 15px 25px;\n  background-color: $blackBlue;\n  border: 1px solid transparent;\n  //border-radius: 25px\n  text-decoration: none;\n  font-size: 0.7rem;\n  line-height: 1.2;\n  font-weight: semibold();\n  color: white;\n  transition: box-shadow 0.4s, background-color 0.4s;\n\n  &.shadow {\n    box-shadow: 4px 4px 10px 0 rgba(0,0,0,0.2); }\n\n  .arrow {\n    position: relative;\n    display: inline-block;\n    width: 10px;\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    background-color: $blackerBlue;\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\n@mixin align-content($align) {\n  @include prefixer(align-content, $align, webkit); }\n\n@mixin align-self($align) {\n  @include prefixer(align-self, $align, webkit); }\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","/*==========================================================================\n  Navigation / Header\n  @mixin ========================================================================= */\n\nheader {\n  position: relative;\n  z-index: 4;\n  //background-color: $blue\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: inline-block;\n      width: 250px;\n      margin-left: column(1, 14);\n\n      @include respond-to-width(1250) {\n        margin-left: 0; }\n\n      @include respond-to-width(1000) {\n        width: 190px;\n        img {\n          max-height: 39px; } }\n\n      img {\n        width: 100%;\n        max-height: 51px; } }\n\n    /* Navigation\n     @mixin ========================================================================= */\n\n    nav {\n      position: relative;\n\n      ul {\n        @include flex(flex-end, center);\n        list-style: none;\n        margin: 0;\n        padding: 0;\n\n        li {\n          margin-right: 45px;\n\n          a {\n            display: inline-block;\n            padding: 42px 0;\n            font-size: 0.8rem;\n            line-height: 1.2;\n            color: $lightGrey;\n            @include karla;\n            text-decoration: none;\n            transition: color 0.3s;\n\n            @include respond-to-width(950) {\n              font-size: 0.7rem; } }\n\n          @include respond-to-width(1100) {\n            margin-right: 30px; }\n\n          &:last-of-type {\n            margin-right: 0; }\n\n          &:hover {\n            a {\n              color: $grey; } }\n\n          &.active {\n            a {\n              position: relative;\n              font-weight: bold();\n              color: $blackBlue;\n              opacity: 1;\n\n              &:after {\n                content: '';\n                position: absolute;\n                left: 0;\n                bottom: 40px;\n                width: 100%;\n                height: 2px;\n                background: $lightGrey; } } } } } } }\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/_header.sass","@mixin karla {\n  font-family: 'Karla', sans-serif;\n  font-weight: 700;\n  letter-spacing: -0.24px; }\n\n@mixin lato {\n  font-family: 'Lato', sans-serif; }\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: $blackBlue;\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: $lighterGrey;\n      @include karla;\n      margin: 0 0 20px; }\n\n    li a, p {\n      font-size: 0.9rem;\n      color: $darkGrey; } }\n\n  .contact {\n    width: column(5, 12);\n    //margin-left: column(1, 12)\n\n    @include respond-to-width(1000) {\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: 121px;\n        max-height: 98px;\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-weight: semibold();\n      font-size: 0.9rem;\n      color: white;\n      text-decoration: none;\n      transition: color 0.2s;\n\n      &:hover {\n        color: rgba(white, 0.8); } } }\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: rgba(white, 0.8); } }\n\n        &.active {\n          a {\n            color: white;\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: $blackerBlue;\n    padding: 10px 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: white; }\n\n    p {\n      margin-bottom: 0.5rem;\n      opacity: 0.4; }\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.3;\n      transition: opacity 0.2s;\n\n      &:hover {\n        opacity: 0.7; }\n\n      span {\n        position: relative;\n        top: 1px;\n        display: inline-block;\n        width: 78px;\n        height: 25px;\n        background: {\n          image: url(\"/img/komma.svg\");\n          position: center;\n          size: contain;\n          repeat: no-repeat; } } }\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: $red;\n    @include karla;\n\n    strong {\n      color: $blackBlue; } }\n\n  h2, h3 {\n    font-size: 1.3rem; }\n\n  h3 {\n    color: $blackBlue;\n\n    strong {\n      color: $red; } }\n\n  h4 {\n    font-size: 0.7rem;\n    line-height: 1.3;\n    color: $grey;\n    text-transform: uppercase; }\n\n  p {\n    font-size: 0.8rem;\n    line-height: 1.4;\n    color: $blackBlue; }\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: $blackBlue;\n\n      &:before {\n        position: absolute;\n        left: 0;\n        top: 2px;\n        content: '•';\n        color: $blackerBlue;\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: $blackBlue;\n\n      &:before {\n        counter-increment: ol-counter;\n        content: counter(ol-counter)'.';\n        position: absolute;\n        left: 0;\n        color: $blackerBlue; }\n\n      + li {\n        margin-top: 5px; } } }\n\n  a {\n    color: $grey;\n    //text-decoration: none\n\n    &:hover {\n      color: darken($grey, 10%);\n      text-decoration: none; } } }\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: rgba(white, 0.5);\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: rgba(white, 0);\n    padding: 15px 20px;\n\n    border: 1px white solid;\n    //border-radius: 4px\n    font-size: 0.9em;\n    color: white;\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: white;\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: white 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      display: block;\n      width: 185px;\n      margin-left: auto;\n      cursor: pointer;\n      font-size: 0.7rem;\n      background-color: white;\n      text-transform: uppercase;\n      color: $blueGrey;\n      .arrow {\n        margin-left: 30px;\n\n        .st0 {\n          fill: $blueGrey; } } } } }\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: $darkRed;\n          right: calc(50% + 3px);\n\n          span {\n            .arrow-icon {\n              transform: rotate(90deg); } }\n\n          &:hover {\n            background-color: darken($darkRed, 5%); } }\n\n        &.next {\n          background-color: $red;\n          left: calc(50% + 3px);\n\n\n          span {\n            .arrow-icon {\n              transform: rotate(270deg); } }\n\n          &:hover {\n            background-color: lighten($red, 5%); } } } }\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: $blackerBlue;\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","/*==========================================================================\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: rgba(white, 0.5);\n$listHoverColor: rgba(white, 0.75);\n$listActiveColor: white;\n\n$barColor: $blackBlue;\n$barMenuColor: white;\n$menuBackground: $blackBlue;\n\n$shaderBackground: $blackBlue;\n$shaderOpacity: 0.6;\n\n\n.preventScroll {\n  @include respond-to-width(750) {\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  .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: 50px;\n        background-position: center;\n        background-size: contain;\n        background-repeat: no-repeat;\n\n        img {\n          width: 100%;\n          max-height: 42px; } } } }\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 0;\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: 40px;\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: white;\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        margin: auto;\n\n        a {\n          display: block;\n          margin: auto;\n          text-decoration: none;\n\n          img {\n            width: 100%;\n            max-height: 120px; } } }\n\n      .menu-list {\n        margin-top: 40px;\n\n        ul {\n          margin: 0;\n          padding: 0;\n          list-style: none;\n          font-size: 1.4rem;\n          line-height: 1.2;\n          text-align: center;\n\n          + ul {\n            margin-top: 24px; }\n\n          li {\n            a {\n              display: block;\n              padding: 14px 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    .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(750) {\n    display: block;\n\n    .bar {\n      display: block; }\n\n    .menu {\n      max-width: none; } } }\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\n  @include respond-to-width(750) {\n    padding-top: 100px; }\n\n  @include respond-to-width(640) {\n    padding-top: 60px; }\n\n  &:before {\n    content: '';\n    position: absolute;\n    z-index: -2;\n    top: 0;\n    left: 0;\n    height: 70%;\n    width: 100%;\n\n    @include respond-to-width(640) {\n      height: 50%; } }\n\n  &:after {\n    content: '';\n    position: absolute;\n    z-index: -1;\n    bottom: 55px;\n    left: 0;\n    background: $red;\n    height: calc(35% - 55px);\n    max-height: 250px;\n    width: 100%;\n\n    @include respond-to-width(1100) {\n      height: 120px; }\n\n    @include respond-to-width(640) {\n      display: none; } }\n\n  .header-image {\n    position: relative;\n    z-index: 2;\n    width: 100%;\n    overflow: hidden;\n    img {\n      width: 100%; }\n\n    figcaption {\n      position: absolute;\n      left: 40px;\n      bottom: 140px;\n      font-size: 2rem;\n      font-weight: semibold();\n      color: white;\n      line-height: 1;\n\n      span {\n        display: inline-block;\n        background-color: $blackBlue;\n        padding: 12px 20px;\n        margin-bottom: 2px; }\n\n      @include respond-to-width(1500) {\n        font-size: 1.6rem; }\n\n      @include respond-to-width(840) {\n        font-size: 1.4rem; }\n\n      @include respond-to-width(640) {\n        position: relative;\n        z-index: 5;\n        bottom: 0;\n        left: 0;\n        margin-top: 40px;\n        width: column(12, 14);\n        margin-left: auto;\n        margin-right: auto; }\n\n      @include respond-to-width(500) {\n        margin-top: 30px;\n        font-size: 1.4rem; } }\n\n    .show-scroll {\n      position: absolute;\n      z-index: 4;\n      left: calc(50% - 42px);\n      bottom: 30px;\n      @include flex(center, center);\n      width: 80px;\n      height: 40px;\n      cursor: pointer;\n      border-radius: 55px 55px 0 0;\n\n      &:after {\n        content: '';\n        position: absolute;\n        left: 0;\n        top: -27px;\n        z-index: -1;\n        width: 80px;\n        height: 80px;\n        border: 2px solid white;\n        //border-bottom: none\n        //border-right: none\n        transform: rotate(45deg); }\n\n      .arrow {\n        position: relative;\n        top: -4px;\n        z-index: 2;\n        display: inline-block;\n        width: 14px;\n\n        transform: translate3d(0,0,0);\n        transition: transform 0.3s;\n\n        svg {\n          width: 100%;\n          max-height: 24px;\n\n          path {\n            fill: white; } } }\n\n      &:hover {\n        .arrow {\n          transform: translate3d(0,3px,0); } }\n\n      @include respond-to-width(640) {\n        display: none; } }\n\n    .image-cutter {\n      position: absolute;\n      bottom: 0;\n      left: 0;\n      height: 55px;\n      width: 100%;\n      @include flex(center, center);\n\n      &:before, &:after {\n        content: '';\n        position: absolute;\n        bottom: 0;\n        display: block;\n        width: 100vw;\n        height: 100%;\n        background-color: white; }\n\n      &:before {\n        left: calc(50% + 58px); }\n      &:after {\n        right: calc(50% + 58px); }\n\n      .whiter {\n        position: absolute;\n        bottom: -1px;\n        left: 0;\n        width: 100%;\n        height: 2px;\n        background-color: white; }\n\n      span {\n        @include flex(center, flex-end);\n        width: 120px;\n\n        svg {\n          width: 100%;\n          max-height: 57px; } } } }\n\n  @include respond-to-width(640) {\n    .grid-row {\n      width: 100%; } } }\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: semibold();\n        color: $grey;\n        text-transform: uppercase; }\n\n      h1 {\n        max-width: 420px;\n        margin: 0;\n        font-size: 2rem;\n        line-height: 1.4;\n        font-weight: bold();\n        color: $red;\n\n        @include respond-to-width(950) {\n          font-size: 1.6rem; } }\n\n      .button {\n        margin-top: 30px;\n        text-transform: uppercase; } }\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: $blackBlue;\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      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: 110px 0 140px; }\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\n      li {\n        @include flex(space-between, flex-start);\n\n        + li {\n          margin-top: 20px; }\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: 1.1rem;\n          line-height: 1.6;\n          font-weight: bold();\n          color: white;\n\n          strong {\n            font-size: 1.2rem;\n            line-height: 1.6;\n            display: block;\n            margin-bottom: 3px;\n            color: white; }\n\n          @include respond-to-width(1600) {\n            margin-top: 6px;\n            strong {\n              font-size: 1rem; } }\n\n          @include respond-to-width(1080) {\n            margin-top: 8px; } } }\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      &.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      &.check {\n        li {\n          .list-icon {\n            position: relative;\n            display: block;\n            margin-top: 3px;\n            width: 26px;\n            height: 26px;\n            &:after {\n              content: '';\n              position: absolute;\n              z-index: 1;\n              left: 0;\n              top: 0;\n              display: block;\n              width: 100%;\n              height: 100%;\n              background-color: $blueGrey;\n              transform: rotate(45deg);\n              transform-origin: 50% 50%; }\n\n            svg {\n              position: relative;\n              left: -3px;\n              z-index: 2;\n              width: 100%;\n              max-height: 18px; } } } } }\n\n\n    .trigger {\n      @include flex(flex-start, center);\n      margin-top: 60px;\n      margin-left: 55px;\n\n      .button {\n        background: white;\n        margin-right: column(1, 12);\n        text-transform: uppercase;\n        color: $blueGrey;\n\n        .arrow {\n          margin-left: 40px;\n          .st0 {\n            fill: $blueGrey; } } }\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\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        bottom: 0;\n        left: 0;\n        display: block;\n        width: 100%;\n        height: 45px;\n        background: linear-gradient(90deg, rgb(123, 0, 21), $red); }\n\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: $lighterGrey;\n  padding: 70px 0 120px;\n  overflow: hidden;\n\n  .streamer {\n    color: $darkGrey;\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      background-color: $blackerBlue;\n\n      a {\n        text-decoration: none; }\n\n      picture {\n        width: 100%;\n        img {\n          width: 100%;\n          opacity: 0.75; } }\n\n\n      .overlay {\n        position: absolute;\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: $darkRed;\n          @include flex(center, center);\n          opacity: 0;\n          transition: opacity 0.4s;\n\n          span {\n            display: block;\n            width: 45px;\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\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(6, 12);\n      width: 100vw;\n      height: 100%;\n      background: $red2; }\n\n    &:before {\n      $gradientSize: 50px;\n      content: '';\n      position: absolute;\n      z-index: 3;\n      top: 0;\n      right: calc(#{column(6, 12)} - #{$gradientSize});\n      height: 100%;\n      width: $gradientSize;\n      background: linear-gradient(90deg, $blackGradient); } }\n\n  .cta-trigger, .cta-trigger-2 {\n    z-index: 2;\n    display: inline-block;\n    padding: 80px 0;\n\n    h3 {\n      color: $red;\n      font-size: 2rem;\n      line-height: 1.2;\n      margin: 0 0 10px;\n      @include karla; }\n\n    p {\n      color: $lightGrey;\n      font-size: 0.8rem;\n      text-transform: uppercase;\n      margin: 0; }\n\n    .button {\n      margin-top: 20px;\n      text-transform: uppercase; } }\n\n\n  .cta-trigger {\n    margin-left: column(1, 12);\n    width: column(5, 12);\n    .button {\n      margin-top: 50px; } }\n\n  .cta-trigger-2 {\n    width: column(6, 12);\n    padding-left: 100px; }\n\n  .cta-person {\n    z-index: 2;\n    display: inline-block;\n    vertical-align: top;\n    width: column(6, 12);\n    padding: 100px 0 100px 75px;\n\n    .wrapper {\n      @include flex(flex-start, center); }\n\n    .image-placeholder {\n      width: 140px;\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    .contact-info {\n      width: calc(100% - 175px);\n      padding-left: 45px;\n\n      p {\n        font-size: 1.3rem;\n        line-height: 1.2;\n        margin: 0;\n        color: white;\n        font-weight: bold(); }\n\n      span {\n        display: block;\n        color: white;\n        font-size: 0.8rem; }\n\n      a {\n        display: inline-block;\n        margin-top: 20px;\n        font-size: 1rem;\n        color: $lighterGrey;\n        font-weight: semibold();\n        text-decoration: none;\n        transition: color 0.2s;\n\n        &:hover {\n          color: white; } } } }\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, .cta-person {\n      width: 100%;\n      padding: 65px column(1, 14); }\n\n    .cta-trigger {\n      margin-left: 0; }\n\n    .cta-trigger-2, .cta-person {\n      //background-color: $red\n      background-color: $red2; } }\n\n  @include respond-to-width(525) {\n    .cta-trigger, .cta-trigger-2 {\n      br {\n        display: none; } }\n\n    .cta-person {\n      padding: 40px column(1, 14);\n      text-align: center;\n\n      .wrapper {\n        display: block; }\n\n      .image-placeholder {\n        display: inline-block;\n        margin-bottom: 25px; }\n\n      .contact-info {\n        padding-left: 0;\n        width: 100%; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_ctaRow.sass",".steps-slider {\n  padding: 100px 0;\n  background-color: $lighterGrey;\n  text-align: center;\n\n  .grid-row {\n    > h2 {\n      font-size: 2rem;\n      line-height: 1.2;\n      @include karla;\n      color: $blackBlue; }\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: $blackBlue; }\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: $lighterGrey;\n      border: 2px solid $blackBlue;\n      border-radius: 12px;\n      font-size: 1.1rem;\n      line-height: 1.2;\n      font-weight: bold();\n      color: $blackBlue;\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: lighten($lighterGrey, 10%); }\n\n      &.active {\n        background-color: $blackBlue;\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  @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: $lighterGrey; }\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",".index-grid-row {\n  background-color: $blackBlue;\n\n  .no-available {\n    padding: 60px 20px 0;\n    text-align: center;\n    color: white; }\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: $brightBlue;\n        text-decoration: none; }\n\n      &.active {\n        span {\n          color: white; } }\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            .st0 {\n              fill: $brightBlue; } } } }\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          .st0 {\n            fill: rgba($brightBlue, 0.3); } } } } } }\n\n@import \"largeBadges\";\n@import \"squares\";\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/grids/_grids.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: 100%;\n    max-width: 520px;\n    background: $blue;\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      max-width: none;\n      a {\n        height: 100%;\n        padding-bottom: 0; } }\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: $blue;\n          opacity: 0.6;\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: $brightBlue;\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            .st0 {\n              fill: $brightBlue;\n              transition: fill 0.4s; } } } } }\n\n    &:hover {\n      a {\n        figure {\n          &:before {\n            opacity: 0.2; } }\n\n        .arrow {\n          transform: translate3d(5px,0,0);\n          .arrow-icon {\n            .st0 {\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          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/grids/_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 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      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    //background: $darkRed\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      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-color: $blackerBlue;\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: $darkRed;\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            .st0 {\n              fill: white;\n              transition: fill 0.3s; } } } } }\n\n    h2 {\n      margin: 0;\n      padding: 16px 0;\n      text-align: center;\n      font-size: 1.1rem;\n      line-height: 1.2;\n      font-weight: bold();\n      color: white; }\n\n    &:hover {\n      figure {\n        .styling {\n          width: 100%;\n          height: 100%;\n          border-radius: 0 0 0 0;\n          background-color: rgba($darkRed, 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/grids/_squares.sass",".show-sub-menu {\n  padding: 80px 0;\n  >p {\n    font-size: 1rem;\n    line-height: 1.2;\n    color: $blackBlue;\n    @include karla;\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($grey, 0.25);\n\n      a {\n        @include flex(space-between, flex-start);\n        text-decoration: none;\n        color: $grey;\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              .st0 {\n                fill: $blackBlue; } } } }\n\n        &:hover {\n          color: $blackBlue;\n          .arrow {\n            transform: translate3d(8px,0,0); } } }\n\n      &.active {\n        a {\n          color: $darkRed;\n          font-weight: bold(); } } } } }\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: $blackerBlue;\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        .st0 {\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    .kms-content {\n      .button {\n        margin-top: 40px;\n        background-color: $red;\n        color: white;\n        text-transform: uppercase;\n\n        &:hover {\n          background-color: $darkRed; }\n\n        &.right {\n          .arrow {\n            margin-left: 30px; } } } }\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      position: absolute;\n      top: 0;\n      right: 0;\n      width: calc((100% - 1440px) / 2 + #{column(1.25, 12)});\n      height: 100%;\n      background-repeat: no-repeat;\n      background-position: top left;\n      background-size: contain; }\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","/*==========================================================================\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: $darkRed; }\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: $darkerGrey;\n        margin: 0 0 32px;\n        @include karla; }\n\n      h3 {\n        font-size: 0.8rem;\n        line-height: 1.2;\n        color: $darkerGrey;\n        opacity: 0.75;\n        @include karla;\n        margin: 100px 0 15px; }\n\n\n      p {\n        font-size: 0.9rem;\n        color: rgba($darkerGrey, 0.75);\n\n        a {\n          color: rgba($darkerGrey, 0.75);\n          text-decoration: none;\n          transition: color 0.2s;\n\n          &:hover {\n            color: $darkerGrey; } } }\n\n      .opening-hours {\n        list-style: none;\n        margin: 0;\n        padding: 0;\n\n        li {\n          color: $lightBlue;\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: white;\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: white; } }\n\n    @include respond-to-width(840) {\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: white;\n\n        @include respond-to-width(750) {\n          padding-top: 102px; }\n\n        h3 {\n          margin-top: 60px; } }\n\n      .contact-form {\n        width: 100%;\n        padding-right: column(1, 12);\n        margin-left: 0;\n        background-color: $darkRed; } } } }\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: 100px 0 120px;\n    background-color: $blackBlue;\n\n    .dynamic-block.full-text-block {\n      .content {\n        text-align: left; } }\n\n    .kms-content {\n      position: relative;\n\n      @include respond-to-width-beyond(900) {\n        &:before {\n          content: '';\n          position: absolute;\n          left: -35px;\n          top: 0;\n          width: 3px;\n          height: 100%;\n          background-color: $red; } }\n\n\n\n      h1, h2, h3 {\n        color: white;\n\n        &:first-child {\n\n          @include respond-to-width-beyond(900) {\n            margin-top: 0; } }\n\n        strong {\n          color: $orange; } }\n\n      h3 {\n        color: $orange;\n\n        strong {\n          color: white; } }\n\n      h4 {\n        color: rgba(white, 0.5); }\n\n      p {\n        color: $lightGrey; }\n\n      ul {\n        li {\n          color: $lightGrey;\n\n          &:before {\n            color: $lightGrey; } } }\n\n      ol {\n        li {\n          color: $lightGrey;\n\n          &:before {\n            color: $lightGrey; } } }\n\n      a {\n        color: rgba(white, 0.85);\n        text-decoration: none;\n\n        &:hover {\n          color: white;\n          text-decoration: none; } }\n\n      .button {\n        margin-top: 40px;\n        background-color: $red;\n        color: white;\n        text-transform: uppercase;\n\n        &:hover {\n          background-color: $darkRed; }\n\n        &.right {\n          .arrow {\n            margin-left: 30px; } } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_default.sass","#about {\n  .about-custom-row {\n    background-color: $lighterGrey;\n\n    .grid-row {\n      position: relative;\n      @include flex(flex-start, center); }\n\n\n    .logo-block {\n      position: absolute;\n      @include flex(center, center);\n      width: column(4, 12);\n      height: 100%;\n      left: column(-1, 12);\n      top: 0;\n      background: $red2;\n\n      .icon {\n        width: 110px;\n\n        img {\n          width: 100%;\n          max-height: 91px; } } }\n\n    .image-placeholder {\n      margin-left: 25%;\n      width: 25%;\n      .image {\n        position: relative;\n        width: 100%;\n        height: 0;\n        padding-bottom: 150%;\n\n        span {\n          position: absolute;\n          left: 0;\n          top: 0;\n          display: block;\n          height: 100%;\n          width: 100%;\n          background: {\n            size: cover;\n            position: center;\n            repeat: no-repeat;\n            image: url(\"/img/about/about-ruud.jpg\"); }\n\n          @include respond-to-width(600) {\n            background-image: url(\"/img/about/about-ruud-horizontal.jpg\"); } } } }\n\n\n    .contact-info {\n      width: 50%;\n      padding: column(1, 14);\n\n      p {\n        font-size: 1.6rem;\n        line-height: 1.2;\n        margin: 0;\n        color: $blackBlue;\n        @include karla; }\n\n      span {\n        display: block;\n        margin-top: 15px;\n        color: $blueGrey;\n        font-size: 1.1rem; }\n\n      a {\n        display: inline-block;\n        margin-top: 40px;\n        font-size: 1rem;\n        color: $blackBlue;\n        font-weight: semibold();\n        text-decoration: none;\n        transition: color 0.2s;\n\n        &:hover {\n          color: rgba($blackBlue, 0.7); } } }\n\n    @include respond-to-width(1000) {\n      .grid-row {\n        width: 100%;\n        @include flex-rows;\n        margin-bottom: 250px; }\n\n      .logo-block {\n        width: 50%;\n        left: 0; }\n\n      .image-placeholder {\n        width: 50%;\n        margin-left: 50%; }\n\n      .contact-info {\n        position: absolute;\n        left: 0;\n        bottom: -250px;\n        height: 250px;\n        width: 100%;\n        text-align: center; } }\n\n    @include respond-to-width(600) {\n      .grid-row {\n        margin-bottom: 0; }\n\n      .logo-block {\n        position: relative;\n        width: 100%;\n        height: 250px; }\n\n      .image-placeholder {\n        width: 100%;\n        margin-left: 0;\n\n        .image {\n          padding-bottom: 65%; } }\n\n      .contact-info {\n        position: relative;\n        bottom: 0;\n        height: auto;\n\n        padding: 60px column(1, 14); } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_about.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"],"sourceRoot":""}