button {
    border: none;
    background: none;
}

.Link {
    color: #23527c;
}
.Link:hover {
    text-decoration: underline;
}

*,:after,:before{box-sizing:border-box}body,html{height:100%}body{margin:0}a{color:inherit;text-decoration:inherit}h1,h2,h3,h4,h5,h6,p{font-size:inherit;font-weight:inherit;margin:0}ul{list-style-type:none;padding:0;margin:0}img{border:0;max-width:100%;height:auto;display:inline-block;vertical-align:middle}figure{margin:0}.Carousel-navItem,.color-white{color:#fff!important}.color-primary{color:#ee785f!important}.color-primaryAlt{color:#23527c!important}.backgroundColor-primary{background-color:#ee785f!important}.backgroundColor-primaryAlt{background-color:#23527c!important}.backgroundColor-white{background-color:#fff!important}.margin-negative{margin:-12px!important}.marginVertical-negative{margin-top:-12px!important;margin-bottom:-12px!important}.marginHorizontal-negative{margin-left:-12px!important;margin-right:-12px!important}.marginTop-negative{margin-top:-12px!important}.marginRight-negative{margin-right:-12px!important}.marginBottom-negative{margin-bottom:-12px!important}.marginLeft-negative{margin-left:-12px!important}.padding-negative{padding:-12px!important}.paddingVertical-negative{padding-top:-12px!important;padding-bottom:-12px!important}.paddingHorizontal-negative{padding-left:-12px!important;padding-right:-12px!important}.paddingTop-negative{padding-top:-12px!important}.paddingRight-negative{padding-right:-12px!important}.paddingBottom-negative{padding-bottom:-12px!important}.paddingLeft-negative{padding-left:-12px!important}.margin-none{margin:0!important}.marginVertical-none{margin-top:0!important;margin-bottom:0!important}.marginHorizontal-none{margin-left:0!important;margin-right:0!important}.marginTop-none{margin-top:0!important}.marginRight-none{margin-right:0!important}.marginBottom-none{margin-bottom:0!important}.marginLeft-none{margin-left:0!important}.padding-none{padding:0!important}.paddingVertical-none{padding-top:0!important;padding-bottom:0!important}.paddingHorizontal-none{padding-left:0!important;padding-right:0!important}.paddingTop-none{padding-top:0!important}.paddingRight-none{padding-right:0!important}.paddingBottom-none{padding-bottom:0!important}.paddingLeft-none{padding-left:0!important}.margin-half{margin:6px!important}.marginVertical-half{margin-top:6px!important;margin-bottom:6px!important}.marginHorizontal-half{margin-left:6px!important;margin-right:6px!important}.marginTop-half{margin-top:6px!important}.marginRight-half{margin-right:6px!important}.marginBottom-half{margin-bottom:6px!important}.marginLeft-half{margin-left:6px!important}.padding-half{padding:6px!important}.paddingVertical-half{padding-top:6px!important;padding-bottom:6px!important}.paddingHorizontal-half{padding-left:6px!important;padding-right:6px!important}.paddingTop-half{padding-top:6px!important}.paddingRight-half{padding-right:6px!important}.paddingBottom-half{padding-bottom:6px!important}.paddingLeft-half{padding-left:6px!important}.margin-single{margin:12px!important}.marginVertical-single{margin-top:12px!important;margin-bottom:12px!important}.marginHorizontal-single{margin-left:12px!important;margin-right:12px!important}.marginTop-single{margin-top:12px!important}.marginRight-single{margin-right:12px!important}.marginBottom-single{margin-bottom:12px!important}.marginLeft-single{margin-left:12px!important}.padding-single{padding:12px!important}.paddingVertical-single{padding-top:12px!important;padding-bottom:12px!important}.paddingHorizontal-single{padding-left:12px!important;padding-right:12px!important}.paddingTop-single{padding-top:12px!important}.paddingRight-single{padding-right:12px!important}.paddingBottom-single{padding-bottom:12px!important}.paddingLeft-single{padding-left:12px!important}.margin-sesquialteral{margin:18px!important}.marginVertical-sesquialteral{margin-top:18px!important;margin-bottom:18px!important}.marginHorizontal-sesquialteral{margin-left:18px!important;margin-right:18px!important}.marginTop-sesquialteral{margin-top:18px!important}.marginRight-sesquialteral{margin-right:18px!important}.marginBottom-sesquialteral{margin-bottom:18px!important}.marginLeft-sesquialteral{margin-left:18px!important}.padding-sesquialteral{padding:18px!important}.paddingVertical-sesquialteral{padding-top:18px!important;padding-bottom:18px!important}.paddingHorizontal-sesquialteral{padding-left:18px!important;padding-right:18px!important}.paddingTop-sesquialteral{padding-top:18px!important}.paddingRight-sesquialteral{padding-right:18px!important}.paddingBottom-sesquialteral{padding-bottom:18px!important}.paddingLeft-sesquialteral{padding-left:18px!important}.margin-double{margin:24px!important}.marginVertical-double{margin-top:24px!important;margin-bottom:24px!important}.marginHorizontal-double{margin-left:24px!important;margin-right:24px!important}.marginTop-double{margin-top:24px!important}.marginRight-double{margin-right:24px!important}.marginBottom-double{margin-bottom:24px!important}.marginLeft-double{margin-left:24px!important}.padding-double{padding:24px!important}.paddingVertical-double{padding-top:24px!important;padding-bottom:24px!important}.paddingHorizontal-double{padding-left:24px!important;padding-right:24px!important}.paddingTop-double{padding-top:24px!important}.paddingRight-double{padding-right:24px!important}.paddingBottom-double{padding-bottom:24px!important}.paddingLeft-double{padding-left:24px!important}.margin-triple{margin:36px!important}.marginVertical-triple{margin-top:36px!important;margin-bottom:36px!important}.marginHorizontal-triple{margin-left:36px!important;margin-right:36px!important}.marginTop-triple{margin-top:36px!important}.marginRight-triple{margin-right:36px!important}.marginBottom-triple{margin-bottom:36px!important}.marginLeft-triple{margin-left:36px!important}.padding-triple{padding:36px!important}.paddingVertical-triple{padding-top:36px!important;padding-bottom:36px!important}.paddingHorizontal-triple{padding-left:36px!important;padding-right:36px!important}.paddingTop-triple{padding-top:36px!important}.paddingRight-triple{padding-right:36px!important}.paddingBottom-triple{padding-bottom:36px!important}.paddingLeft-triple{padding-left:36px!important}.border{border:1px solid #ccc}.Button{display:inline-block;background-color:#ee785f;color:#fff;padding:10px 20px;transition:all .4s ease}.Button:hover{background-color:#e95131}@font-face{font-family:PTSerif;src:url(../fonts/PTSerif.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Geometria;src:url(../fonts/Geometria.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Geometria;src:url(../fonts/Geometria-bold.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:Geometria;src:url(../fonts/Geometria-medium.woff) format("woff");font-weight:500;font-style:normal}@font-face{font-family:Regal;src:url(../fonts/Regal.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Regal;src:url(../fonts/Regal-italic.woff) format("woff");font-weight:400;font-style:italic}@font-face{font-family:YesevaOne;src:url(../fonts/YesevaOne.woff) format("woff");font-weight:400;font-style:normal}body{font-size:.875rem;font-family:Tahoma,sans-serif}.clearfix,.overflow-hidden{overflow:hidden!important}.float-left,.left{float:left!important}.float-right,.right{float:right!important}.fixedWidth{max-width:1170px;margin:0 auto}.fullWidth{width:100%}.display-flex{display:-ms-flexbox;display:flex}.contentPadding{padding-left:12px;padding-right:12px}@media print,screen and (min-width:40em){.contentPadding{padding-left:24px;padding-right:24px}}.overlay,.position-relative{position:relative}.overlay:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(0,0,0,.5) 0,hsla(0,0%,100%,0) 60%)}.overlay-contents{position:absolute;left:12px;right:12px;bottom:12px;z-index:1}.lineHeight-single{line-height:1!important}.lineHeight-tight{line-height:1.2!important}.lineHeight-normal{line-height:1.5!important}.lineHeight-loose{line-height:1.8!important}.textShadow{text-shadow:1px 1px 1px #161616}.Carousel-navItem,.textShadow-deep{text-shadow:2px 2px 3px #161616}.textAlign-left{text-align:left!important}.textAlign-center{text-align:center!important}.textAlign-right{text-align:right!important}.hide{display:none}.AnnouncementShort{border:1px solid #f5a46d;position:relative}.AnnouncementShort-image{width:100%}.AnnouncementShort-date,.AnnouncementShort-place{background-color:#f5a46d;padding:10px 24px;position:absolute}.AnnouncementShort-cornerLeft{left:0;border-left:8px solid transparent}.AnnouncementShort-cornerLeft,.AnnouncementShort-cornerRight{position:absolute;bottom:-8px;width:0;height:0;border-top:8px solid #bc540d}.AnnouncementShort-cornerRight{right:0;border-right:8px solid transparent}.AnnouncementShort-place{left:-8px;top:36px}.AnnouncementShort-date{right:-8px;bottom:36px}.AnnouncementShort-inner{position:absolute;top:0;bottom:0;left:0;right:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.ArchiveLink,.ArchiveLink--main{display:block;color:#ee785f;padding-top:18px;padding-bottom:12px;font-size:12px}.ArchiveLink--main:hover,.ArchiveLink:hover{text-decoration:underline}@media screen and (min-width:28.125em) and (max-width:40em),screen and (min-width:55em){.ArchiveLink--main{position:absolute;right:0;top:0}}.Breadcrumbs{padding:12px 24px;color:#969696}.Breadcrumbs-item{text-decoration:underline;display:inline}.Breadcrumbs-item.isActive{color:#f5a46d;text-decoration:none}.Callout{display:-ms-flexbox;display:flex;background-image:url(../images/line.png);background-repeat:no-repeat;background-position:0 0}@media screen and (max-width:28.125em){.Callout{-ms-flex-flow:column;flex-flow:column}}@media screen and (min-width:23.75em){.Callout-wrap{background-image:url(../images/bg_logo.png);background-repeat:no-repeat;background-position:right 0 bottom -174px}}.Callout-img{-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;padding-right:24px}@media screen and (min-width:28.125em){.Callout-img{-ms-flex:0 0 100px;flex:0 0 100px}}@media screen and (min-width:34.375em){.Callout-img{-ms-flex:0 0 auto;flex:0 0 auto}}.Callout-quote{font-family:PT Serif,serif;font-size:16px;line-height:1.2}.Callout-phone{font-family:Geometria,sans-serif;font-size:20px;color:#ee785f}@media print,screen and (min-width:40em){.is-enabled .js-Carousel-item{display:none}.is-enabled .js-Carousel-item.is-active{display:initial}}.Carousel{position:relative}.Carousel-nav{display:none;position:absolute;bottom:0;left:0;right:0;z-index:2;margin:0 12px}@media print,screen and (min-width:40em){.Carousel-nav{display:initial}}.Carousel-navItem{display:inline-block;background-color:rgba(0,0,0,.3);border-top:2px solid #bebebe;padding:12px;margin:0 12px;width:calc(33% - 24px);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.Carousel-navItem.is-active{background-color:rgba(0,0,0,.6);border-top:2px solid #f5a46d}@media print,screen and (min-width:40em){.Carousel .overlay-contents{bottom:60px}}.Carousel-links .arrow{fill:#bebebe}.Carousel-linksNext,.Carousel-linksPrev{position:absolute;width:44px;padding:12px;top:40%;cursor:pointer}.Carousel-linksPrev{left:0}.Carousel-linksNext{right:0}.CoverImage{background-size:cover;background-repeat:no-repeat;height:360px}@media screen and (min-width:25em){.CoverImage{height:320px}}@media print,screen and (min-width:40em){.CoverImage{height:437px}}.ExhibitionNav{display:-ms-flexbox;display:flex}@media print,screen and (max-width:39.99875em){.ExhibitionNav{text-align:center;-ms-flex-line-pack:center;align-content:center;-ms-flex-direction:column;flex-direction:column}}@media print,screen and (min-width:40em){.ExhibitionNav{-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between}}.ExhibitionNav-item{margin-bottom:24px}@media print,screen and (min-width:40em){.ExhibitionNav-item{-ms-flex:0 0 auto;flex:0 0 auto}}@media print,screen and (max-width:39.99875em){.ExhibitionNav-inner{-ms-flex-pack:center;justify-content:center}}.ExhibitionNav-icon{-ms-flex:0 0 auto;flex:0 0 auto}@media print,screen and (max-width:39.99875em){.ExhibitionNav-icon{display:none}}@media print,screen and (min-width:40em){.ExhibitionNav-item:first-child{max-width:38%}.ExhibitionNav-item:nth-child(2){position:absolute;left:50%;transform:translateX(-50%)}.ExhibitionNav-item:nth-child(3){max-width:38%}}@media print,screen and (max-width:39.99875em){.ExhibitionNav-item:nth-child(2){-ms-flex-order:3;order:3}}.Footer{background-color:#222;padding-top:12px;padding-bottom:12px}@media print,screen and (max-width:39.99875em){.Footer{text-align:center}}@media print,screen and (min-width:40em){.Footer{padding-top:24px}}.Footer-sign{margin-bottom:12px}.Footer-copyright{border-top:1px solid #464646;margin-top:12px;padding-top:12px}@media print,screen and (min-width:40em){.Footer-top{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}}@media print,screen and (min-width:40em){.Footer-contacts{text-align:right}}@media print,screen and (min-width:40em){.Footer-copyright{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}}.HeaderTop{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-bottom:1px solid #ccc}@media print,screen and (max-width:39.99875em){.HeaderTop{-ms-flex-direction:column;flex-direction:column}}.HeaderTop-right{display:-ms-flexbox;display:flex}@media print,screen and (max-width:39.99875em){.HeaderTop-right{-ms-flex-direction:column;flex-direction:column}}@media print,screen and (min-width:40em){.HeaderTop-rightItem{margin-left:12px}}@media print,screen and (min-width:64em){.HeaderTop-rightItem{margin-left:36px}}@media print,screen and (max-width:63.99875em){.HeaderMiddle{-ms-flex-pack:center;justify-content:center;text-align:center}}@media print,screen and (max-width:63.99875em){.HeaderMiddle-description{padding-top:12px!important}}.Logo{display:-ms-flexbox;display:flex}@media screen and (max-width:25em){.Logo{-ms-flex-direction:column;flex-direction:column}}.Logo-img{padding-right:12px}@media screen and (min-width:32.5em){.Logo-img{padding-right:24px}}.Logo-sign{padding-top:6px}[data-carousel]{position:relative}[data-carousel] .frame{position:relative;font-size:0;line-height:0;overflow:hidden;white-space:nowrap}[data-carousel] .slides,[data-carousel] li{width:100%;display:inline-block}[data-carousel] li{position:relative;white-space:normal}[data-carousel] li>*{margin-left:auto;margin-right:auto}[data-carousel] .next,[data-carousel] .prev{position:absolute;top:50%;margin-top:-25px;display:block;cursor:pointer;fill:#fff}[data-carousel] .next.disabled,[data-carousel] .prev.disabled{display:none}[data-carousel] .next{right:-24px}[data-carousel] .prev{left:-24px}[data-carousel] .next svg,[data-carousel] .prev svg{width:25px}.MainMenu{overflow:auto;background:rgba(0,0,0,.7);color:#fff;padding:0 12px}.MainMenu-item{float:left;padding:10px 12px;text-transform:uppercase;font-size:14px;border-bottom:2px solid transparent}@media print,screen and (min-width:40em){.MainMenu-item{padding:10px 24px}}@media print,screen and (min-width:64em){.MainMenu-item{padding:10px 36px}}.MainMenu-item.isActive{border-bottom:2px solid #f5a46d}.NewsExhibitionsList{margin:-12px}@media print,screen and (min-width:64em){.NewsExhibitionsList{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;height:420px}}.NewsExhibitionsList-item{padding:12px}@media print,screen and (min-width:64em){.NewsExhibitionsList-item{width:50%}}.ParentExhibition{background-color:#f5f5f5;border-left:2px solid #f5a46d;padding:24px}.ParentExhibition-link{margin:12px 0;color:#fff!important;display:inline-block;background-color:#ee785f;padding:12px}.ParentExhibition-link:hover{background-color:#e95131}.Sign{display:inline-block}.Sign-title{color:#ee785f;font-family:YesevaOne,serif;font-size:24px;text-transform:uppercase;background-image:url(../images/underline.png);background-repeat:no-repeat;background-position:bottom;padding-bottom:6px}@media screen and (min-width:25em){.Sign-title{font-size:30px}}@media screen and (min-width:32.5em){.Sign-title{font-size:35px}}.Sign-subTitle{color:#bebebe;font-family:Geometria,sans-serif;font-weight:500;font-size:11px;text-transform:uppercase;padding-top:6px}@media screen and (min-width:25em){.Sign-subTitle{font-size:12px}}@media screen and (min-width:32.5em){.Sign-subTitle{font-size:14px}}.SmiWidget{margin-top:24px;border:1px solid #f5a46d}.SmiWidget-title{background-color:#f5a46d;padding:8px 12px}.SmiWidget-contents{padding:24px}.SmiShort-title{font-family:Geometria,sans-serif;font-size:14px;line-height:1.2}.SmiShort-smi{font-family:YesevaOne,serif;font-size:18px}.RteText a{color:#23527c}.RteText a:hover{text-decoration:underline}.RteText h1,.RteText p{margin-bottom:12px}.RteText h1{margin-top:36px}.RteText h2,.RteText h3{margin-top:12px;margin-bottom:12px}.RteText ul{list-style-type:disc}.RteText ol,.RteText ul{padding-left:25px;margin-bottom:12px}.RteText ol{list-style-type:decimal}.H0{font-family:Geometria,sans-serif;font-size:22px;font-weight:700;line-height:1.2}@media print,screen and (min-width:40em){.H0{font-size:26px}}@media print,screen and (min-width:64em){.H0{font-size:35px}}.H1,.RteText h1{font-size:30px;color:#161616}.H1,.H1s,.RteText h1{font-family:Regal,sans-serif;font-style:italic}.H1s{font-size:26px}.H2,.H2s,.RteText h2{font-family:Geometria,sans-serif;font-size:22px;font-weight:700;line-height:1.2}.H2s{font-size:18px}.H25,.RteText h3{font-size:18px;line-height:1.2}.H3,.H3s,.H25,.RteText h3{font-family:Geometria,sans-serif;font-weight:500;color:#969696}.H3,.H3s{font-size:13px;text-transform:uppercase}.H3s{font-size:11px}.Carousel-navItem,.H4,.H4b,.H4s{font-family:Geometria,sans-serif;font-weight:500;font-size:14px;color:#969696}.H4b{font-weight:700}.H4s{font-size:12px}.HDecor{font-family:YesevaOne,serif;font-size:18px}.ParagraphSans{font-family:Geometria,sans-serif;font-size:14px;line-height:1.5;color:#464646}@media print,screen and (min-width:40em){.ParagraphSans{font-size:16px}}.ParagraphSerif,.RteText li,.RteText p{font-family:PTSerif,serif;font-size:14px;line-height:1.5;color:#464646}.HeadingWithLeftLine{border-left:2px solid #ee785f}.HeadingWithTopLine{background-position:0 0}.HeadingWithBottomLine,.HeadingWithTopLine{background-image:url(../images/line.png);background-repeat:no-repeat}.HeadingWithBottomLine{background-position:0 100%;padding-bottom:6px;margin-top:24px;margin-bottom:24px}.contentPadding.row{margin:-12px}.row{max-width:75rem;margin-right:auto;margin-left:auto;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.row .row{margin-right:-.375rem;margin-left:-.375rem}@media print,screen and (min-width:40em){.row .row{margin-right:-.75rem;margin-left:-.75rem}}@media print,screen and (min-width:64em){.row .row{margin-right:-.75rem;margin-left:-.75rem}}.row .row.collapse{margin-right:0;margin-left:0}.row.expanded{max-width:none}.row.expanded .row{margin-right:auto;margin-left:auto}.row:not(.expanded) .row{max-width:none}.row.collapse>.column,.row.collapse>.columns{padding-right:0;padding-left:0}.row.collapse>.column>.row,.row.collapse>.columns>.row,.row.is-collapse-child{margin-right:0;margin-left:0}.column,.columns{-ms-flex:1 1 0px;flex:1 1 0px;padding-right:.375rem;padding-left:.375rem;min-width:0}@media print,screen and (min-width:40em){.column,.columns{padding-right:.75rem;padding-left:.75rem}}.column.row.row,.row.row.columns{float:none;display:block}.row .column.row.row,.row .row.row.columns{margin-right:0;margin-left:0;padding-right:0;padding-left:0}.small-1{-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.small-offset-0{margin-left:0}.small-2{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.small-offset-1{margin-left:8.33333%}.small-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.small-offset-2{margin-left:16.66667%}.small-4{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.small-offset-3{margin-left:25%}.small-5{-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.small-offset-4{margin-left:33.33333%}.small-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.small-offset-5{margin-left:41.66667%}.small-7{-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.small-offset-6{margin-left:50%}.small-8{-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.small-offset-7{margin-left:58.33333%}.small-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.small-offset-8{margin-left:66.66667%}.small-10{-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.small-offset-9{margin-left:75%}.small-11{-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.small-offset-10{margin-left:83.33333%}.small-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.small-offset-11{margin-left:91.66667%}.small-up-1{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-1>.column,.small-up-1>.columns{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.small-up-2{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-2>.column,.small-up-2>.columns{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.small-up-3{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-3>.column,.small-up-3>.columns{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.small-up-4{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-4>.column,.small-up-4>.columns{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.small-up-5{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-5>.column,.small-up-5>.columns{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.small-up-6{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-6>.column,.small-up-6>.columns{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.small-up-7{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-7>.column,.small-up-7>.columns{-ms-flex:0 0 14.28571%;flex:0 0 14.28571%;max-width:14.28571%}.small-up-8{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-8>.column,.small-up-8>.columns{-ms-flex:0 0 12.5%;flex:0 0 12.5%;max-width:12.5%}.small-collapse>.column,.small-collapse>.columns{padding-right:0;padding-left:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-right:.375rem;padding-left:.375rem}@media print,screen and (min-width:40em){.medium-1{-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.medium-offset-0{margin-left:0}.medium-2{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.medium-offset-1{margin-left:8.33333%}.medium-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.medium-offset-2{margin-left:16.66667%}.medium-4{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.medium-offset-3{margin-left:25%}.medium-5{-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.medium-offset-4{margin-left:33.33333%}.medium-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.medium-offset-5{margin-left:41.66667%}.medium-7{-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.medium-offset-6{margin-left:50%}.medium-8{-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.medium-offset-7{margin-left:58.33333%}.medium-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.medium-offset-8{margin-left:66.66667%}.medium-10{-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.medium-offset-9{margin-left:75%}.medium-11{-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.medium-offset-10{margin-left:83.33333%}.medium-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.medium-offset-11{margin-left:91.66667%}.medium-up-1{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-1>.column,.medium-up-1>.columns{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.medium-up-2{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-2>.column,.medium-up-2>.columns{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.medium-up-3{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-3>.column,.medium-up-3>.columns{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.medium-up-4{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-4>.column,.medium-up-4>.columns{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.medium-up-5{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-5>.column,.medium-up-5>.columns{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.medium-up-6{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-6>.column,.medium-up-6>.columns{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.medium-up-7{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-7>.column,.medium-up-7>.columns{-ms-flex:0 0 14.28571%;flex:0 0 14.28571%;max-width:14.28571%}.medium-up-8{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-8>.column,.medium-up-8>.columns{-ms-flex:0 0 12.5%;flex:0 0 12.5%;max-width:12.5%}}@media print,screen and (min-width:40em) and (min-width:40em){.medium-expand{-ms-flex:1 1 0px;flex:1 1 0px}}.row.medium-unstack>.column,.row.medium-unstack>.columns{-ms-flex:0 0 100%;flex:0 0 100%}@media print,screen and (min-width:40em){.row.medium-unstack>.column,.row.medium-unstack>.columns{-ms-flex:1 1 0px;flex:1 1 0px}}@media print,screen and (min-width:40em){.medium-collapse>.column,.medium-collapse>.columns{padding-right:0;padding-left:0}.medium-uncollapse>.column,.medium-uncollapse>.columns{padding-right:.75rem;padding-left:.75rem}}@media print,screen and (min-width:64em){.large-1{-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.large-offset-0{margin-left:0}.large-2{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.large-offset-1{margin-left:8.33333%}.large-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.large-offset-2{margin-left:16.66667%}.large-4{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.large-offset-3{margin-left:25%}.large-5{-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.large-offset-4{margin-left:33.33333%}.large-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.large-offset-5{margin-left:41.66667%}.large-7{-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.large-offset-6{margin-left:50%}.large-8{-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.large-offset-7{margin-left:58.33333%}.large-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.large-offset-8{margin-left:66.66667%}.large-10{-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.large-offset-9{margin-left:75%}.large-11{-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.large-offset-10{margin-left:83.33333%}.large-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.large-offset-11{margin-left:91.66667%}.large-up-1{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-1>.column,.large-up-1>.columns{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.large-up-2{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-2>.column,.large-up-2>.columns{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.large-up-3{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-3>.column,.large-up-3>.columns{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.large-up-4{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-4>.column,.large-up-4>.columns{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.large-up-5{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-5>.column,.large-up-5>.columns{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.large-up-6{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-6>.column,.large-up-6>.columns{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.large-up-7{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-7>.column,.large-up-7>.columns{-ms-flex:0 0 14.28571%;flex:0 0 14.28571%;max-width:14.28571%}.large-up-8{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-8>.column,.large-up-8>.columns{-ms-flex:0 0 12.5%;flex:0 0 12.5%;max-width:12.5%}}@media print,screen and (min-width:64em) and (min-width:64em){.large-expand{-ms-flex:1 1 0px;flex:1 1 0px}}.row.large-unstack>.column,.row.large-unstack>.columns{-ms-flex:0 0 100%;flex:0 0 100%}@media print,screen and (min-width:64em){.row.large-unstack>.column,.row.large-unstack>.columns{-ms-flex:1 1 0px;flex:1 1 0px}}@media print,screen and (min-width:64em){.large-collapse>.column,.large-collapse>.columns{padding-right:0;padding-left:0}.large-uncollapse>.column,.large-uncollapse>.columns{padding-right:.75rem;padding-left:.75rem}}.shrink{-ms-flex:0 0 auto;flex:0 0 auto;max-width:100%}.column-block{margin-bottom:.75rem}.column-block>:last-child{margin-bottom:0}@media print,screen and (min-width:40em){.column-block{margin-bottom:1.5rem}.column-block>:last-child{margin-bottom:0}}.hide{display:none!important}.invisible{visibility:hidden}@media print,screen and (max-width:39.99875em){.hide-for-small-only{display:none!important}}@media screen and (max-width:0em),screen and (min-width:40em){.show-for-small-only{display:none!important}}@media print,screen and (min-width:40em){.hide-for-medium{display:none!important}}@media screen and (max-width:39.99875em){.show-for-medium{display:none!important}}@media print,screen and (min-width:40em) and (max-width:63.99875em){.hide-for-medium-only{display:none!important}}@media screen and (max-width:39.99875em),screen and (min-width:64em){.show-for-medium-only{display:none!important}}@media print,screen and (min-width:64em){.hide-for-large{display:none!important}}@media screen and (max-width:63.99875em){.show-for-large{display:none!important}}@media print,screen and (min-width:64em) and (max-width:74.99875em){.hide-for-large-only{display:none!important}}@media screen and (max-width:63.99875em),screen and (min-width:75em){.show-for-large-only{display:none!important}}.show-for-sr,.show-on-focus{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.show-on-focus:active,.show-on-focus:focus{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;white-space:normal!important}.hide-for-portrait,.show-for-landscape{display:block!important}@media screen and (orientation:landscape){.hide-for-portrait,.show-for-landscape{display:block!important}}@media screen and (orientation:portrait){.hide-for-portrait,.show-for-landscape{display:none!important}}.hide-for-landscape,.show-for-portrait{display:none!important}@media screen and (orientation:landscape){.hide-for-landscape,.show-for-portrait{display:none!important}}@media screen and (orientation:portrait){.hide-for-landscape,.show-for-portrait{display:block!important}}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;color:#161616;background-image:url(../images/bg_grey.png)}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9yZXNldC5zY3NzIiwiR2xvYmFsL19fY29sb3Iuc2NzcyIsIkdsb2JhbC9fX3NwYWNpbmcuc2NzcyIsIkdsb2JhbC9fYm9yZGVyLnNjc3MiLCJHbG9iYWwvX2J1dHRvbnMuc2NzcyIsIkdsb2JhbC9fX3RyYW5zaXRpb25zLnNjc3MiLCJHbG9iYWwvX2ZvbnRGYWNlcy5zY3NzIiwiaW5kZXguY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCJHbG9iYWwvX2xheW91dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCJHbG9iYWwvX2xpbmVIZWlnaHQuc2NzcyIsIkdsb2JhbC9fc2hhZG93cy5zY3NzIiwiR2xvYmFsL190ZXh0QWxpZ24uc2NzcyIsIkdsb2JhbC9fdmlzaWJpbGl0eS5zY3NzIiwiTW9kdWxlcy9fYW5ub3VuY2VtZW50U2hvcnQuc2NzcyIsIk1vZHVsZXMvX2FyY2hpdmVMaW5rLnNjc3MiLCJNb2R1bGVzL19icmVhZGNydW1icy5zY3NzIiwiTW9kdWxlcy9fY2FsbG91dC5zY3NzIiwiTW9kdWxlcy9fY2Fyb3VzZWwuc2NzcyIsIk1vZHVsZXMvX2NvdmVySW1hZ2Uuc2NzcyIsIk1vZHVsZXMvX2V4aGliaXRpb25OYXYuc2NzcyIsIk1vZHVsZXMvX2Zvb3Rlci5zY3NzIiwiTW9kdWxlcy9faGVhZGVyLnNjc3MiLCJNb2R1bGVzL19sb2dvLnNjc3MiLCJNb2R1bGVzL19sb3J5LnNjc3MiLCJNb2R1bGVzL19tYWluTWVudS5zY3NzIiwiTW9kdWxlcy9fbmV3c0V4aGliaXRpb25zTGlzdC5zY3NzIiwiTW9kdWxlcy9fcGFyZW50RXhoaWJpdGlvbi5zY3NzIiwiTW9kdWxlcy9fc2lnbi5zY3NzIiwiTW9kdWxlcy9fc21pV2lkZ2V0LnNjc3MiLCJNb2R1bGVzL1R5cG9ncmFwaHkvX3J0ZVRleHQuc2NzcyIsIk1vZHVsZXMvVHlwb2dyYXBoeS9fdHlwb2dyYXBoeS5zY3NzIiwiX292ZXJyaWRlVmVuZG9yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsImluZGV4LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQ0MscUJBQXVCLENBQ3ZCLEFBR0QsVUFBYSxXQUFhLENBQUksQUFDOUIsS0FDQyxRQUFVLENBQ1YsQUFDRCxFQUNDLGNBQWUsQUFDZix1QkFBeUIsQ0FDekIsQUFDRCxvQkFDQyxrQkFBbUIsQUFDbkIsb0JBQXFCLEFBQ3JCLFFBQVUsQ0FDVixBQUNELEdBQ0MscUJBQXNCLEFBQ3RCLFVBQVcsQUFDWCxRQUFVLENBQ1YsQUFHRCxJQUNDLFNBQVUsQUFDVixlQUFlLEFBQ2YsWUFBWSxBQUNaLHFCQUFzQixBQUN0QixxQkFBdUIsQ0FDdkIsQUFDRCxPQUNDLFFBQVUsQ0FDVixBQ2ZELCtCQUNDLG9CQUF3QixDQUN4QixBQUNELGVBQ0MsdUJBQWdDLENBQ2hDLEFBQ0Qsa0JBQ0MsdUJBQW1DLENBQ25DLEFBRUQseUJBQ0Msa0NBQTJDLENBQzNDLEFBQ0QsNEJBQ0Msa0NBQThDLENBQzlD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LGVBQWdCLEFBQ2hCLGNBQWUsQUFDZixnQkFBaUIsQUFDakIsY0FBZ0IsQ0FDakIsQUFLRyxTQUNFLHNCR2hEWSxBSGdEWixrQkdoRFksQUhpRFosa0JHakRZLENIa0RiLEFBS0QsZ0JJdElKLGFEK0VrQixDSHlEYixBQVZELFNBQ0UsdUJHaERZLEFIZ0RaLG1CR2hEWSxBSGlEWixtQkdqRFksQ0hrRGIsQUFLRCxnQkl0SUosb0JEK0VrQixDSHlEYixBQVZELFNBQ0UsaUJHaERZLEFIZ0RaLGFHaERZLEFIaURaLGFHakRZLENIa0RiLEFBS0QsZ0JJdElKLHFCRCtFa0IsQ0h5RGIsQUFWRCxTQUNFLHVCR2hEWSxBSGdEWixtQkdoRFksQUhpRFosbUJHakRZLENIa0RiLEFBS0QsZ0JJdElKLGVEK0VrQixDSHlEYixBQVZELFNBQ0UsdUJHaERZLEFIZ0RaLG1CR2hEWSxBSGlEWixtQkdqRFksQ0hrRGIsQUFLRCxnQkl0SUoscUJEK0VrQixDSHlEYixBQVZELFNBQ0UsaUJHaERZLEFIZ0RaLGFHaERZLEFIaURaLGFHakRZLENIa0RiLEFBS0QsZ0JJdElKLHFCRCtFa0IsQ0h5RGIsQUFWRCxTQUNFLHVCR2hEWSxBSGdEWixtQkdoRFksQUhpRFosbUJHakRZLENIa0RiLEFBS0QsZ0JJdElKLGVEK0VrQixDSHlEYixBQVZELFNBQ0UsdUJHaERZLEFIZ0RaLG1CR2hEWSxBSGlEWixtQkdqRFksQ0hrRGIsQUFLRCxnQkl0SUoscUJEK0VrQixDSHlEYixBQVZELFNBQ0UsaUJHaERZLEFIZ0RaLGFHaERZLEFIaURaLGFHakRZLENIa0RiLEFBS0QsZ0JJdElKLHFCRCtFa0IsQ0h5RGIsQUFWRCxVQUNFLHVCR2hEWSxBSGdEWixtQkdoRFksQUhpRFosbUJHakRZLENIa0RiLEFBS0QsZ0JJdElKLGVEK0VrQixDSHlEYixBQVZELFVBQ0UsdUJHaERZLEFIZ0RaLG1CR2hEWSxBSGlEWixtQkdqRFksQ0hrRGIsQUFLRCxpQkl0SUoscUJEK0VrQixDSHlEYixBQVZELFVBQ0Usa0JHaERZLEFIZ0RaLGNHaERZLEFIaURaLGNHakRZLENIa0RiLEFBS0QsaUJJdElKLHFCRCtFa0IsQ0h5RGIsQUFLRCxZQTFHSixtQkFBZ0IsQUFBaEIsY0FBZ0IsQ0E0R1gsQUExR0gseUNBR0Esa0JBRmdCLEFBRWhCLGNBRmdCLEFBR2hCLGNBSGdCLENBSWpCLEFBbUdHLFlBMUdKLG1CQUFnQixBQUFoQixjQUFnQixDQTRHWCxBQTFHSCx5Q0FHQSxpQkFGZ0IsQUFFaEIsYUFGZ0IsQUFHaEIsYUFIZ0IsQ0FJakIsQUFtR0csWUExR0osbUJBQWdCLEFBQWhCLGNBQWdCLENBNEdYLEFBMUdILHlDQUdBLHVCQUZnQixBQUVoQixtQkFGZ0IsQUFHaEIsbUJBSGdCLENBSWpCLEFBbUdHLFlBMUdKLG1CQUFnQixBQUFoQixjQUFnQixDQTRHWCxBQTFHSCx5Q0FHQSxpQkFGZ0IsQUFFaEIsYUFGZ0IsQUFHaEIsYUFIZ0IsQ0FJakIsQUFtR0csWUExR0osbUJBQWdCLEFBQWhCLGNBQWdCLENBNEdYLEFBMUdILHlDQUdBLGlCQUZnQixBQUVoQixhQUZnQixBQUdoQixhQUhnQixDQUlqQixBQW1HRyxZQTFHSixtQkFBZ0IsQUFBaEIsY0FBZ0IsQ0E0R1gsQUExR0gseUNBR0EsdUJBRmdCLEFBRWhCLG1CQUZnQixBQUdoQixtQkFIZ0IsQ0FJakIsQUFtR0csWUExR0osbUJBQWdCLEFBQWhCLGNBQWdCLENBNEdYLEFBMUdILHlDQUdBLHVCQUZnQixBQUVoQixtQkFGZ0IsQUFHaEIsbUJBSGdCLENBSWpCLEFBbUdHLFlBMUdKLG1CQUFnQixBQUFoQixjQUFnQixDQTRHWCxBQTFHSCx5Q0FHQSxtQkFGZ0IsQUFFaEIsZUFGZ0IsQUFHaEIsZUFIZ0IsQ0FJakIsQUErSEMsaURFck5BLGdCQUZrQixBQUdsQixjQUhrQixDRndOMEIsQUFHNUMscURFek5BLHNCQUZrQixBQUdsQixvQkFIa0IsQ0Y0Tm1DLEF4QmhFakQseUN3QmdCRixVQUNFLHNCR2hEWSxBSGdEWixrQkdoRFksQUhpRFosa0JHakRZLENIa0RiLEFBS0QsaUJJdElKLGFEK0VrQixDSHlEYixBQVZELFVBQ0UsdUJHaERZLEFIZ0RaLG1CR2hEWSxBSGlEWixtQkdqRFksQ0hrRGIsQUFLRCxpQkl0SUosb0JEK0VrQixDSHlEYixBQVZELFVBQ0UsaUJHaERZLEFIZ0RaLGFHaERZLEFIaURaLGFHakRZLENIa0RiLEFBS0QsaUJJdElKLHFCRCtFa0IsQ0h5RGIsQUFWRCxVQUNFLHVCR2hEWSxBSGdEWixtQkdoRFksQUhpRFosbUJHakRZLENIa0RiLEFBS0QsaUJJdElKLGVEK0VrQixDSHlEYixBQVZELFVBQ0UsdUJHaERZLEFIZ0RaLG1CR2hEWSxBSGlEWixtQkdqRFksQ0hrRGIsQUFLRCxpQkl0SUoscUJEK0VrQixDSHlEYixBQVZELFVBQ0UsaUJHaERZLEFIZ0RaLGFHaERZLEFIaURaLGFHakRZLENIa0RiLEFBS0QsaUJJdElKLHFCRCtFa0IsQ0h5RGIsQUFWRCxVQUNFLHVCR2hEWSxBSGdEWixtQkdoRFksQUhpRFosbUJHakRZLENIa0RiLEFBS0QsaUJJdElKLGVEK0VrQixDSHlEYixBQVZELFVBQ0UsdUJHaERZLEFIZ0RaLG1CR2hEWSxBSGlEWixtQkdqRFksQ0hrRGIsQUFLRCxpQkl0SUoscUJEK0VrQixDSHlEYixBQVZELFVBQ0UsaUJHaERZLEFIZ0RaLGFHaERZLEFIaURaLGFHakRZLENIa0RiLEFBS0QsaUJJdElKLHFCRCtFa0IsQ0h5RGIsQUFWRCxXQUNFLHVCR2hEWSxBSGdEWixtQkdoRFksQUhpRFosbUJHakRZLENIa0RiLEFBS0QsaUJJdElKLGVEK0VrQixDSHlEYixBQVZELFdBQ0UsdUJHaERZLEFIZ0RaLG1CR2hEWSxBSGlEWixtQkdqRFksQ0hrRGIsQUFLRCxrQkl0SUoscUJEK0VrQixDSHlEYixBQVZELFdBQ0Usa0JHaERZLEFIZ0RaLGNHaERZLEFIaURaLGNHakRZLENIa0RiLEFBS0Qsa0JJdElKLHFCRCtFa0IsQ0h5RGIsQUFLRCxhQTFHSixtQkFBZ0IsQUFBaEIsY0FBZ0IsQ0E0R1gsQUExR0gsMkNBR0Esa0JBRmdCLEFBRWhCLGNBRmdCLEFBR2hCLGNBSGdCLENBSWpCLEFBbUdHLGFBMUdKLG1CQUFnQixBQUFoQixjQUFnQixDQTRHWCxBQTFHSCwyQ0FHQSxpQkFGZ0IsQUFFaEIsYUFGZ0IsQUFHaEIsYUFIZ0IsQ0FJakIsQUFtR0csYUExR0osbUJBQWdCLEFBQWhCLGNBQWdCLENBNEdYLEFBMUdILDJDQUdBLHVCQUZnQixBQUVoQixtQkFGZ0IsQUFHaEIsbUJBSGdCLENBSWpCLEFBbUdHLGFBMUdKLG1CQUFnQixBQUFoQixjQUFnQixDQTRHWCxBQTFHSCwyQ0FHQSxpQkFGZ0IsQUFFaEIsYUFGZ0IsQUFHaEIsYUFIZ0IsQ0FJakIsQUFtR0csYUExR0osbUJBQWdCLEFBQWhCLGNBQWdCLENBNEdYLEFBMUdILDJDQUdBLGlCQUZnQixBQUVoQixhQUZnQixBQUdoQixhQUhnQixDQUlqQixBQW1HRyxhQTFHSixtQkFBZ0IsQUFBaEIsY0FBZ0IsQ0E0R1gsQUExR0gsMkNBR0EsdUJBRmdCLEFBRWhCLG1CQUZnQixBQUdoQixtQkFIZ0IsQ0FJakIsQUFtR0csYUExR0osbUJBQWdCLEFBQWhCLGNBQWdCLENBNEdYLEFBMUdILDJDQUdBLHVCQUZnQixBQUVoQixtQkFGZ0IsQUFHaEIsbUJBSGdCLENBSWpCLEFBbUdHLGFBMUdKLG1CQUFnQixBQUFoQixjQUFnQixDQTRHWCxBQTFHSCwyQ0FHQSxtQkFGZ0IsQUFFaEIsZUFGZ0IsQUFHaEIsZUFIZ0IsQ0FJakIsQzNCNHRERixBR3hwRE8sOER3QnVDQSxlQUNFLGlCQTVKTSxBQTRKTixZQTVKTSxDQTZKUCxDM0JxbkRSLEEyQmhuRE8seURBRUksa0JHL0VRLEFIK0VSLGFHL0VRLENIb0ZULEF4QnJESCx5Q3dCOENBLHlEQUtNLGlCQXZLRSxBQXVLRixZQXZLRSxDQXlLTCxDM0JtbkRWLEFHeHFETyx5Q3dCMkRKLG1ERXJOQSxnQkFGa0IsQUFHbEIsY0FIa0IsQ0Z3TjBCLEFBRzVDLHVERXpOQSxxQkFGa0IsQUFHbEIsbUJBSGtCLENGNE5tQyxDM0JtbkR4RCxBR25yRE8seUN3QmdCRixTQUNFLHNCR2hEWSxBSGdEWixrQkdoRFksQUhpRFosa0JHakRZLENIa0RiLEFBS0QsZ0JJdElKLGFEK0VrQixDSHlEYixBQVZELFNBQ0UsdUJHaERZLEFIZ0RaLG1CR2hEWSxBSGlEWixtQkdqRFksQ0hrRGIsQUFLRCxnQkl0SUosb0JEK0VrQixDSHlEYixBQVZELFNBQ0UsaUJHaERZLEFIZ0RaLGFHaERZLEFIaURaLGFHakRZLENIa0RiLEFBS0QsZ0JJdElKLHFCRCtFa0IsQ0h5RGIsQUFWRCxTQUNFLHVCR2hEWSxBSGdEWixtQkdoRFksQUhpRFosbUJHakRZLENIa0RiLEFBS0QsZ0JJdElKLGVEK0VrQixDSHlEYixBQVZELFNBQ0UsdUJHaERZLEFIZ0RaLG1CR2hEWSxBSGlEWixtQkdqRFksQ0hrRGIsQUFLRCxnQkl0SUoscUJEK0VrQixDSHlEYixBQVZELFNBQ0UsaUJHaERZLEFIZ0RaLGFHaERZLEFIaURaLGFHakRZLENIa0RiLEFBS0QsZ0JJdElKLHFCRCtFa0IsQ0h5RGIsQUFWRCxTQUNFLHVCR2hEWSxBSGdEWixtQkdoRFksQUhpRFosbUJHakRZLENIa0RiLEFBS0QsZ0JJdElKLGVEK0VrQixDSHlEYixBQVZELFNBQ0UsdUJHaERZLEFIZ0RaLG1CR2hEWSxBSGlEWixtQkdqRFksQ0hrRGIsQUFLRCxnQkl0SUoscUJEK0VrQixDSHlEYixBQVZELFNBQ0UsaUJHaERZLEFIZ0RaLGFHaERZLEFIaURaLGFHakRZLENIa0RiLEFBS0QsZ0JJdElKLHFCRCtFa0IsQ0h5RGIsQUFWRCxVQUNFLHVCR2hEWSxBSGdEWixtQkdoRFksQUhpRFosbUJHakRZLENIa0RiLEFBS0QsZ0JJdElKLGVEK0VrQixDSHlEYixBQVZELFVBQ0UsdUJHaERZLEFIZ0RaLG1CR2hEWSxBSGlEWixtQkdqRFksQ0hrRGIsQUFLRCxpQkl0SUoscUJEK0VrQixDSHlEYixBQVZELFVBQ0Usa0JHaERZLEFIZ0RaLGNHaERZLEFIaURaLGNHakRZLENIa0RiLEFBS0QsaUJJdElKLHFCRCtFa0IsQ0h5RGIsQUFLRCxZQTFHSixtQkFBZ0IsQUFBaEIsY0FBZ0IsQ0E0R1gsQUExR0gseUNBR0Esa0JB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eEVOLHVDQUtJLHVCQUEwQixDQU03QixDaENnaEVGLEFHbjlETyx5QzZCeEVOLHVDQVNJLHNCQUF5QixDQUU1QixDaEN1aEVGLEFnQ3JoRUMsdUNBRUUsc0JBQXlCLENBUzFCLEE3QmdESywwQzZCM0ROLHVDQUtJLHNCQUF5QixDQU01QixDaENzaEVGLEFHdCtETyx5QzZCM0ROLHVDQVNJLHVCQUEwQixDQUU3QixDaEM2aEVGLEFrQ3huRUQsS0FDSSxzREFBNEQsQUFDNUQsZUFBZ0IsQUFDaEIsY3hDN0NlLEF3QzhDZiwyQ0FBcUIsQ0FDeEIiLCJmaWxlIjoiaW5kZXguY3NzIiwic291cmNlc0NvbnRlbnQiOlsiKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyBNdXN0IGJlIDEwMCUgZm9yIG9mZiBjYW52YXMgdG8gd29ya1xuaHRtbCwgYm9keSB7IGhlaWdodDogMTAwJTsgfVxuYm9keXtcblx0bWFyZ2luOiAwO1xufVxuYXtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbn1cbnAsaDEsaDIsaDMsaDQsaDUsaDZ7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0Zm9udC13ZWlnaHQ6IGluaGVyaXQ7XG5cdG1hcmdpbjogMDtcbn1cbnVse1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcbn1cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZXNcbmltZyB7XG5cdGJvcmRlcjogMDtcblx0bWF4LXdpZHRoOjEwMCU7XG5cdGhlaWdodDphdXRvO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5maWd1cmUge1xuXHRtYXJnaW46IDA7XG59XG4iLCIkZ3JheS1kYXJrOiAjMTYxNjE2O1xuJGdyYXk6ICM0NjQ2NDY7XG4kZ3JheS1saWdodGVyOiAjOTY5Njk2O1xuJGdyYXktbGlnaHQ6ICNiZWJlYmU7XG4kZ3JheS1saW5lOiAjY2NjO1xuJGdyYXlCZzogIzIyMjIyMjtcbiRncmF5QmctbGlnaHQ6ICNmNWY1ZjU7XG5cblxuJHJlZDogI2VlNzg1ZjtcbiRvcmFuZ2U6ICNmNWE0NmQ7XG4kYmx1ZTogIzIzNTI3YztcblxuXG4kY29sb3ItcHJpbWFyeTogJHJlZDtcbiRjb2xvci1wcmltYXJ5QWx0OiAkYmx1ZTtcblxuXG5cbi5jb2xvci13aGl0ZSB7XG5cdGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLmNvbG9yLXByaW1hcnkge1xuXHRjb2xvcjogJGNvbG9yLXByaW1hcnkgIWltcG9ydGFudDtcbn1cbi5jb2xvci1wcmltYXJ5QWx0IHtcblx0Y29sb3I6ICRjb2xvci1wcmltYXJ5QWx0ICFpbXBvcnRhbnQ7XG59XG5cbi5iYWNrZ3JvdW5kQ29sb3ItcHJpbWFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5ICFpbXBvcnRhbnQ7XG59XG4uYmFja2dyb3VuZENvbG9yLXByaW1hcnlBbHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeUFsdCAhaW1wb3J0YW50O1xufVxuLmJhY2tncm91bmRDb2xvci13aGl0ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG4iLCIkdTogMTJweDtcblxuJGludGVydmFsczogKFxuICAgIG5lZ2F0aXZlOiAtMSxcbiAgICBub25lOiAwLFxuICAgIGhhbGY6IDAuNSxcblx0c2luZ2xlOiAxLFxuXHRzZXNxdWlhbHRlcmFsOiAxLjUsXG5cdGRvdWJsZTogMixcblx0dHJpcGxlOiAzXG4pO1xuXG5AZWFjaCAkaW50ZXJ2YWxOYW1lLCAkaW50ZXJ2YWxWYWx1ZSBpbiAkaW50ZXJ2YWxzIHtcbiAgICAubWFyZ2luLSN7JGludGVydmFsTmFtZX17XG4gICAgICAgIG1hcmdpbjogJGludGVydmFsVmFsdWUqJHUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1hcmdpblZlcnRpY2FsLSN7JGludGVydmFsTmFtZX17XG4gICAgICAgIG1hcmdpbi10b3A6ICRpbnRlcnZhbFZhbHVlKiR1ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbnRlcnZhbFZhbHVlKiR1ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYXJnaW5Ib3Jpem9udGFsLSN7JGludGVydmFsTmFtZX17XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkaW50ZXJ2YWxWYWx1ZSokdSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRpbnRlcnZhbFZhbHVlKiR1ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYXJnaW5Ub3AtI3skaW50ZXJ2YWxOYW1lfXtcbiAgICAgICAgbWFyZ2luLXRvcDogJGludGVydmFsVmFsdWUqJHUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1hcmdpblJpZ2h0LSN7JGludGVydmFsTmFtZX17XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGludGVydmFsVmFsdWUqJHUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1hcmdpbkJvdHRvbS0jeyRpbnRlcnZhbE5hbWV9e1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW50ZXJ2YWxWYWx1ZSokdSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWFyZ2luTGVmdC0jeyRpbnRlcnZhbE5hbWV9e1xuICAgICAgICBtYXJnaW4tbGVmdDogJGludGVydmFsVmFsdWUqJHUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucGFkZGluZy0jeyRpbnRlcnZhbE5hbWV9e1xuICAgICAgICBwYWRkaW5nOiAkaW50ZXJ2YWxWYWx1ZSokdSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucGFkZGluZ1ZlcnRpY2FsLSN7JGludGVydmFsTmFtZX17XG4gICAgICAgIHBhZGRpbmctdG9wOiAkaW50ZXJ2YWxWYWx1ZSokdSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGludGVydmFsVmFsdWUqJHUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnBhZGRpbmdIb3Jpem9udGFsLSN7JGludGVydmFsTmFtZX17XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGludGVydmFsVmFsdWUqJHUgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGludGVydmFsVmFsdWUqJHUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnBhZGRpbmdUb3AtI3skaW50ZXJ2YWxOYW1lfXtcbiAgICAgICAgcGFkZGluZy10b3A6ICRpbnRlcnZhbFZhbHVlKiR1ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5wYWRkaW5nUmlnaHQtI3skaW50ZXJ2YWxOYW1lfXtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGludGVydmFsVmFsdWUqJHUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnBhZGRpbmdCb3R0b20tI3skaW50ZXJ2YWxOYW1lfXtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRpbnRlcnZhbFZhbHVlKiR1ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5wYWRkaW5nTGVmdC0jeyRpbnRlcnZhbE5hbWV9e1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbnRlcnZhbFZhbHVlKiR1ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLmJvcmRlciB7XG4gIGJvcmRlcjogJGdyYXktbGluZSAxcHggc29saWQ7XG59XG4iLCIuQnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcmVkLCAxMCUpO1xuICB9XG59XG4iLCIvLyBUT0RPOiBmaW5kIG91dCBob3cgbXVjaCBkb2VzIHRoaXMgdGhpbmcgcmVhbGx5IGNvc3RzXG4kdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2U7IiwiLypcbkZvbnQgZGVjbGFyYXRpb25zXG4gKi9cblxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBcIlBUU2VyaWZcIjtcblx0c3JjOiB1cmwoXCIuLi9mb250cy9QVFNlcmlmLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcblx0Zm9udC13ZWlnaHQ6NDAwO1xuXHRmb250LXN0eWxlOm5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogXCJHZW9tZXRyaWFcIjtcblx0c3JjOiB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuXHRmb250LXdlaWdodDo0MDA7XG5cdGZvbnQtc3R5bGU6bm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBcIkdlb21ldHJpYVwiO1xuXHRzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1ib2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBcIkdlb21ldHJpYVwiO1xuXHRzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1tZWRpdW0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogXCJSZWdhbFwiO1xuXHRzcmM6IHVybChcIi4uL2ZvbnRzL1JlZ2FsLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBcIlJlZ2FsXCI7XG5cdHNyYzogdXJsKFwiLi4vZm9udHMvUmVnYWwtaXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBcIlllc2V2YU9uZVwiO1xuXHRzcmM6IHVybChcIi4uL2ZvbnRzL1llc2V2YU9uZS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuJGZvbnRGYW1pbHktbWFpbjogXCJHZW9yZ2lhXCIsc2VyaWY7XG4kZm9udEZhbWlseS1hbHQ6IFwiRnJhbmtsaW5cIixzYW5zLXNlcmlmO1xuXG5ib2R5IHtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdGZvbnQtZmFtaWx5OiBUYWhvbWEsIHNhbnMtc2VyaWY7XG5cdGNvbG9yOiAkZ3JheS1kYXJrO1xufVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjYuM1xuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCwgYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG59XG5cbnAsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG59XG5cbnVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uY29sb3Itd2hpdGUsIC5DYXJvdXNlbC1uYXZJdGVtIHtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5jb2xvci1wcmltYXJ5IHtcbiAgY29sb3I6ICNlZTc4NWYgIWltcG9ydGFudDtcbn1cblxuLmNvbG9yLXByaW1hcnlBbHQge1xuICBjb2xvcjogIzIzNTI3YyAhaW1wb3J0YW50O1xufVxuXG4uYmFja2dyb3VuZENvbG9yLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWU3ODVmICFpbXBvcnRhbnQ7XG59XG5cbi5iYWNrZ3JvdW5kQ29sb3ItcHJpbWFyeUFsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMzUyN2MgIWltcG9ydGFudDtcbn1cblxuLmJhY2tncm91bmRDb2xvci13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbmVnYXRpdmUge1xuICBtYXJnaW46IC0xMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW5WZXJ0aWNhbC1uZWdhdGl2ZSB7XG4gIG1hcmdpbi10b3A6IC0xMnB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IC0xMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW5Ib3Jpem9udGFsLW5lZ2F0aXZlIHtcbiAgbWFyZ2luLWxlZnQ6IC0xMnB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogLTEycHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpblRvcC1uZWdhdGl2ZSB7XG4gIG1hcmdpbi10b3A6IC0xMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW5SaWdodC1uZWdhdGl2ZSB7XG4gIG1hcmdpbi1yaWdodDogLTEycHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbkJvdHRvbS1uZWdhdGl2ZSB7XG4gIG1hcmdpbi1ib3R0b206IC0xMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW5MZWZ0LW5lZ2F0aXZlIHtcbiAgbWFyZ2luLWxlZnQ6IC0xMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLW5lZ2F0aXZlIHtcbiAgcGFkZGluZzogLTEycHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmdWZXJ0aWNhbC1uZWdhdGl2ZSB7XG4gIHBhZGRpbmctdG9wOiAtMTJweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogLTEycHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmdIb3Jpem9udGFsLW5lZ2F0aXZlIHtcbiAgcGFkZGluZy1sZWZ0OiAtMTJweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAtMTJweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ1RvcC1uZWdhdGl2ZSB7XG4gIHBhZGRpbmctdG9wOiAtMTJweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ1JpZ2h0LW5lZ2F0aXZlIHtcbiAgcGFkZGluZy1yaWdodDogLTEycHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmdCb3R0b20tbmVnYXRpdmUge1xuICBwYWRkaW5nLWJvdHRvbTogLTEycHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmdMZWZ0LW5lZ2F0aXZlIHtcbiAgcGFkZGluZy1sZWZ0OiAtMTJweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLW5vbmUge1xuICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luVmVydGljYWwtbm9uZSB7XG4gIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbkhvcml6b250YWwtbm9uZSB7XG4gIG1hcmdpbi1sZWZ0OiAwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpblRvcC1ub25lIHtcbiAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW5SaWdodC1ub25lIHtcbiAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbkJvdHRvbS1ub25lIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW5MZWZ0LW5vbmUge1xuICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLW5vbmUge1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmdWZXJ0aWNhbC1ub25lIHtcbiAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nSG9yaXpvbnRhbC1ub25lIHtcbiAgcGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nVG9wLW5vbmUge1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nUmlnaHQtbm9uZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ0JvdHRvbS1ub25lIHtcbiAgcGFkZGluZy1ib3R0b206IDBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ0xlZnQtbm9uZSB7XG4gIHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4taGFsZiB7XG4gIG1hcmdpbjogNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW5WZXJ0aWNhbC1oYWxmIHtcbiAgbWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luSG9yaXpvbnRhbC1oYWxmIHtcbiAgbWFyZ2luLWxlZnQ6IDZweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDZweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luVG9wLWhhbGYge1xuICBtYXJnaW4tdG9wOiA2cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpblJpZ2h0LWhhbGYge1xuICBtYXJnaW4tcmlnaHQ6IDZweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luQm90dG9tLWhhbGYge1xuICBtYXJnaW4tYm90dG9tOiA2cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbkxlZnQtaGFsZiB7XG4gIG1hcmdpbi1sZWZ0OiA2cHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctaGFsZiB7XG4gIHBhZGRpbmc6IDZweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ1ZlcnRpY2FsLWhhbGYge1xuICBwYWRkaW5nLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiA2cHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmdIb3Jpem9udGFsLWhhbGYge1xuICBwYWRkaW5nLWxlZnQ6IDZweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiA2cHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmdUb3AtaGFsZiB7XG4gIHBhZGRpbmctdG9wOiA2cHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmdSaWdodC1oYWxmIHtcbiAgcGFkZGluZy1yaWdodDogNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nQm90dG9tLWhhbGYge1xuICBwYWRkaW5nLWJvdHRvbTogNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nTGVmdC1oYWxmIHtcbiAgcGFkZGluZy1sZWZ0OiA2cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1zaW5nbGUge1xuICBtYXJnaW46IDEycHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpblZlcnRpY2FsLXNpbmdsZSB7XG4gIG1hcmdpbi10b3A6IDEycHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luSG9yaXpvbnRhbC1zaW5nbGUge1xuICBtYXJnaW4tbGVmdDogMTJweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpblRvcC1zaW5nbGUge1xuICBtYXJnaW4tdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW5SaWdodC1zaW5nbGUge1xuICBtYXJnaW4tcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbkJvdHRvbS1zaW5nbGUge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW5MZWZ0LXNpbmdsZSB7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXNpbmdsZSB7XG4gIHBhZGRpbmc6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmdWZXJ0aWNhbC1zaW5nbGUge1xuICBwYWRkaW5nLXRvcDogMTJweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ0hvcml6b250YWwtc2luZ2xlIHtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmdUb3Atc2luZ2xlIHtcbiAgcGFkZGluZy10b3A6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmdSaWdodC1zaW5nbGUge1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nQm90dG9tLXNpbmdsZSB7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nTGVmdC1zaW5nbGUge1xuICBwYWRkaW5nLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1zZXNxdWlhbHRlcmFsIHtcbiAgbWFyZ2luOiAxOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW5WZXJ0aWNhbC1zZXNxdWlhbHRlcmFsIHtcbiAgbWFyZ2luLXRvcDogMThweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW5Ib3Jpem9udGFsLXNlc3F1aWFsdGVyYWwge1xuICBtYXJnaW4tbGVmdDogMThweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDE4cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpblRvcC1zZXNxdWlhbHRlcmFsIHtcbiAgbWFyZ2luLXRvcDogMThweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luUmlnaHQtc2VzcXVpYWx0ZXJhbCB7XG4gIG1hcmdpbi1yaWdodDogMThweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luQm90dG9tLXNlc3F1aWFsdGVyYWwge1xuICBtYXJnaW4tYm90dG9tOiAxOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW5MZWZ0LXNlc3F1aWFsdGVyYWwge1xuICBtYXJnaW4tbGVmdDogMThweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1zZXNxdWlhbHRlcmFsIHtcbiAgcGFkZGluZzogMThweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ1ZlcnRpY2FsLXNlc3F1aWFsdGVyYWwge1xuICBwYWRkaW5nLXRvcDogMThweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMThweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ0hvcml6b250YWwtc2VzcXVpYWx0ZXJhbCB7XG4gIHBhZGRpbmctbGVmdDogMThweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nVG9wLXNlc3F1aWFsdGVyYWwge1xuICBwYWRkaW5nLXRvcDogMThweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ1JpZ2h0LXNlc3F1aWFsdGVyYWwge1xuICBwYWRkaW5nLXJpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nQm90dG9tLXNlc3F1aWFsdGVyYWwge1xuICBwYWRkaW5nLWJvdHRvbTogMThweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ0xlZnQtc2VzcXVpYWx0ZXJhbCB7XG4gIHBhZGRpbmctbGVmdDogMThweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWRvdWJsZSB7XG4gIG1hcmdpbjogMjRweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luVmVydGljYWwtZG91YmxlIHtcbiAgbWFyZ2luLXRvcDogMjRweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW5Ib3Jpem9udGFsLWRvdWJsZSB7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luVG9wLWRvdWJsZSB7XG4gIG1hcmdpbi10b3A6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpblJpZ2h0LWRvdWJsZSB7XG4gIG1hcmdpbi1yaWdodDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luQm90dG9tLWRvdWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbkxlZnQtZG91YmxlIHtcbiAgbWFyZ2luLWxlZnQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctZG91YmxlIHtcbiAgcGFkZGluZzogMjRweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ1ZlcnRpY2FsLWRvdWJsZSB7XG4gIHBhZGRpbmctdG9wOiAyNHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nSG9yaXpvbnRhbC1kb3VibGUge1xuICBwYWRkaW5nLWxlZnQ6IDI0cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ1RvcC1kb3VibGUge1xuICBwYWRkaW5nLXRvcDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ1JpZ2h0LWRvdWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmdCb3R0b20tZG91YmxlIHtcbiAgcGFkZGluZy1ib3R0b206IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmdMZWZ0LWRvdWJsZSB7XG4gIHBhZGRpbmctbGVmdDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXRyaXBsZSB7XG4gIG1hcmdpbjogMzZweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luVmVydGljYWwtdHJpcGxlIHtcbiAgbWFyZ2luLXRvcDogMzZweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAzNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW5Ib3Jpem9udGFsLXRyaXBsZSB7XG4gIG1hcmdpbi1sZWZ0OiAzNnB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMzZweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luVG9wLXRyaXBsZSB7XG4gIG1hcmdpbi10b3A6IDM2cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpblJpZ2h0LXRyaXBsZSB7XG4gIG1hcmdpbi1yaWdodDogMzZweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luQm90dG9tLXRyaXBsZSB7XG4gIG1hcmdpbi1ib3R0b206IDM2cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbkxlZnQtdHJpcGxlIHtcbiAgbWFyZ2luLWxlZnQ6IDM2cHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctdHJpcGxlIHtcbiAgcGFkZGluZzogMzZweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ1ZlcnRpY2FsLXRyaXBsZSB7XG4gIHBhZGRpbmctdG9wOiAzNnB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAzNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nSG9yaXpvbnRhbC10cmlwbGUge1xuICBwYWRkaW5nLWxlZnQ6IDM2cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMzZweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ1RvcC10cmlwbGUge1xuICBwYWRkaW5nLXRvcDogMzZweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZ1JpZ2h0LXRyaXBsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDM2cHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmdCb3R0b20tdHJpcGxlIHtcbiAgcGFkZGluZy1ib3R0b206IDM2cHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmdMZWZ0LXRyaXBsZSB7XG4gIHBhZGRpbmctbGVmdDogMzZweCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyIHtcbiAgYm9yZGVyOiAjY2NjIDFweCBzb2xpZDtcbn1cblxuLkJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlNzg1ZjtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlO1xufVxuXG4uQnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5NTEzMTtcbn1cblxuLypcbkZvbnQgZGVjbGFyYXRpb25zXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJQVFNlcmlmXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvUFRTZXJpZi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdlb21ldHJpYVwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdlb21ldHJpYVwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1ib2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR2VvbWV0cmlhXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvR2VvbWV0cmlhLW1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZ2FsXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvUmVnYWwud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJSZWdhbFwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1JlZ2FsLWl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlllc2V2YU9uZVwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1llc2V2YU9uZS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtZmFtaWx5OiBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMTYxNjE2O1xufVxuXG4ub3ZlcmZsb3ctaGlkZGVuLCAuY2xlYXJmaXgge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1sZWZ0LCAubGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1yaWdodCwgLnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5maXhlZFdpZHRoIHtcbiAgbWF4LXdpZHRoOiAxMTcwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uZnVsbFdpZHRoIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5kaXNwbGF5LWZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uY29udGVudFBhZGRpbmcge1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jb250ZW50UGFkZGluZyB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIH1cbn1cblxuLnBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ub3ZlcmxheSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm92ZXJsYXk6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA2MCUpO1xufVxuXG4ub3ZlcmxheS1jb250ZW50cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTJweDtcbiAgcmlnaHQ6IDEycHg7XG4gIGJvdHRvbTogMTJweDtcbiAgei1pbmRleDogMTtcbn1cblxuLmxpbmVIZWlnaHQtc2luZ2xlIHtcbiAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbn1cblxuLmxpbmVIZWlnaHQtdGlnaHQge1xuICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG59XG5cbi5saW5lSGVpZ2h0LW5vcm1hbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbn1cblxuLmxpbmVIZWlnaHQtbG9vc2Uge1xuICBsaW5lLWhlaWdodDogMS44ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0U2hhZG93IHtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4ICMxNjE2MTY7XG59XG5cbi50ZXh0U2hhZG93LWRlZXAsIC5DYXJvdXNlbC1uYXZJdGVtIHtcbiAgdGV4dC1zaGFkb3c6IDJweCAycHggM3B4ICMxNjE2MTY7XG59XG5cbi50ZXh0QWxpZ24tbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnRleHRBbGlnbi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnRleHRBbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLkFubm91bmNlbWVudFNob3J0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y1YTQ2ZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uQW5ub3VuY2VtZW50U2hvcnQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLkFubm91bmNlbWVudFNob3J0LXBsYWNlLCAuQW5ub3VuY2VtZW50U2hvcnQtZGF0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWE0NmQ7XG4gIHBhZGRpbmc6IDEwcHggMjRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uQW5ub3VuY2VtZW50U2hvcnQtY29ybmVyTGVmdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAtOHB4O1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiA4cHggc29saWQgI2JjNTQwZDtcbiAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLkFubm91bmNlbWVudFNob3J0LWNvcm5lclJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAtOHB4O1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiA4cHggc29saWQgI2JjNTQwZDtcbiAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5Bbm5vdW5jZW1lbnRTaG9ydC1wbGFjZSB7XG4gIGxlZnQ6IC04cHg7XG4gIHRvcDogMzZweDtcbn1cblxuLkFubm91bmNlbWVudFNob3J0LWRhdGUge1xuICByaWdodDogLThweDtcbiAgYm90dG9tOiAzNnB4O1xufVxuXG4uQW5ub3VuY2VtZW50U2hvcnQtaW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5BcmNoaXZlTGluaywgLkFyY2hpdmVMaW5rLS1tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZWU3ODVmO1xuICBwYWRkaW5nLXRvcDogMThweDtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLkFyY2hpdmVMaW5rOmhvdmVyLCAuQXJjaGl2ZUxpbmstLW1haW46aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjguMTI1ZW0pIGFuZCAobWF4LXdpZHRoOiA0MGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NWVtKSB7XG4gIC5BcmNoaXZlTGluay0tbWFpbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG4uQnJlYWRjcnVtYnMge1xuICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gIGNvbG9yOiAjOTY5Njk2O1xufVxuXG4uQnJlYWRjcnVtYnMtaXRlbSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5CcmVhZGNydW1icy1pdGVtLmlzQWN0aXZlIHtcbiAgY29sb3I6ICNmNWE0NmQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLkNhbGxvdXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbGluZS5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOC4xMjVlbSkge1xuICAuQ2FsbG91dCB7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjMuNzVlbSkge1xuICAuQ2FsbG91dC13cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYmdfbG9nby5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwIGJvdHRvbSAtMTc0cHg7XG4gIH1cbn1cblxuLkNhbGxvdXQtaW1nIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjguMTI1ZW0pIHtcbiAgLkNhbGxvdXQtaW1nIHtcbiAgICBmbGV4OiAwIDAgMTAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzQuMzc1ZW0pIHtcbiAgLkNhbGxvdXQtaW1nIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuXG4uQ2FsbG91dC1xdW90ZSB7XG4gIGZvbnQtZmFtaWx5OiAnUFQgU2VyaWYnLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uQ2FsbG91dC1waG9uZSB7XG4gIGZvbnQtZmFtaWx5OiBHZW9tZXRyaWEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgY29sb3I6ICNlZTc4NWY7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5pcy1lbmFibGVkIC5qcy1DYXJvdXNlbC1pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5pcy1lbmFibGVkIC5qcy1DYXJvdXNlbC1pdGVtLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogaW5pdGlhbDtcbiAgfVxufVxuXG4uQ2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5DYXJvdXNlbC1uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIG1hcmdpbjogMCAxMnB4O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuQ2Fyb3VzZWwtbmF2IHtcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xuICB9XG59XG5cbi5DYXJvdXNlbC1uYXZJdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjYmViZWJlO1xuICBwYWRkaW5nOiAxMnB4O1xuICBtYXJnaW46IDAgMTJweDtcbiAgd2lkdGg6IGNhbGMoMzMlIC0gMjRweCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5DYXJvdXNlbC1uYXZJdGVtLmlzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmNWE0NmQ7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5DYXJvdXNlbCAub3ZlcmxheS1jb250ZW50cyB7XG4gICAgYm90dG9tOiA2MHB4O1xuICB9XG59XG5cbi5DYXJvdXNlbC1saW5rcyAuYXJyb3cge1xuICBmaWxsOiAjYmViZWJlO1xufVxuXG4uQ2Fyb3VzZWwtbGlua3NQcmV2LCAuQ2Fyb3VzZWwtbGlua3NOZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNDRweDtcbiAgcGFkZGluZzogMTJweDtcbiAgdG9wOiA0MCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLkNhcm91c2VsLWxpbmtzUHJldiB7XG4gIGxlZnQ6IDA7XG59XG5cbi5DYXJvdXNlbC1saW5rc05leHQge1xuICByaWdodDogMDtcbn1cblxuLkNvdmVySW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBoZWlnaHQ6IDM2MHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gIC5Db3ZlckltYWdlIHtcbiAgICBoZWlnaHQ6IDMyMHB4O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5Db3ZlckltYWdlIHtcbiAgICBoZWlnaHQ6IDQzN3B4O1xuICB9XG59XG5cbi5FeGhpYml0aW9uTmF2IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLkV4aGliaXRpb25OYXYge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuRXhoaWJpdGlvbk5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuLkV4aGliaXRpb25OYXYtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5FeGhpYml0aW9uTmF2LWl0ZW0ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5FeGhpYml0aW9uTmF2LWlubmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuXG4uRXhoaWJpdGlvbk5hdi1pY29uIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5FeGhpYml0aW9uTmF2LWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLkV4aGliaXRpb25OYXYtaXRlbTpudGgtY2hpbGQoMSkge1xuICAgIG1heC13aWR0aDogMzglO1xuICB9XG4gIC5FeGhpYml0aW9uTmF2LWl0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuICAuRXhoaWJpdGlvbk5hdi1pdGVtOm50aC1jaGlsZCgzKSB7XG4gICAgbWF4LXdpZHRoOiAzOCU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLkV4aGliaXRpb25OYXYtaXRlbTpudGgtY2hpbGQoMikge1xuICAgIG9yZGVyOiAzO1xuICB9XG59XG5cbi5Gb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyO1xuICBwYWRkaW5nLXRvcDogMTJweDtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5Gb290ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuRm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgfVxufVxuXG4uRm9vdGVyLXNpZ24ge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4uRm9vdGVyLWNvcHlyaWdodCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNDY0NjQ2O1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICBwYWRkaW5nLXRvcDogMTJweDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLkZvb3Rlci10b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5Gb290ZXItY29udGFjdHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5Gb290ZXItY29weXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG4uSGVhZGVyVG9wIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLkhlYWRlclRvcCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4uSGVhZGVyVG9wLXJpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLkhlYWRlclRvcC1yaWdodCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuSGVhZGVyVG9wLXJpZ2h0SXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLkhlYWRlclRvcC1yaWdodEl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAzNnB4O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5IZWFkZXJNaWRkbGUge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuSGVhZGVyTWlkZGxlLWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMTJweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5Mb2dvIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjVlbSkge1xuICAuTG9nbyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4uTG9nby1pbWcge1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMi41ZW0pIHtcbiAgLkxvZ28taW1nIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICB9XG59XG5cbi5Mb2dvLXNpZ24ge1xuICBwYWRkaW5nLXRvcDogNnB4O1xufVxuXG5bZGF0YS1jYXJvdXNlbF0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbltkYXRhLWNhcm91c2VsXSAuZnJhbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbltkYXRhLWNhcm91c2VsXSAuc2xpZGVzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuW2RhdGEtY2Fyb3VzZWxdIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5bZGF0YS1jYXJvdXNlbF0gbGkgPiAqIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuW2RhdGEtY2Fyb3VzZWxdIC5wcmV2LCBbZGF0YS1jYXJvdXNlbF0gLm5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmlsbDogd2hpdGU7XG59XG5cbltkYXRhLWNhcm91c2VsXSAucHJldi5kaXNhYmxlZCwgW2RhdGEtY2Fyb3VzZWxdIC5uZXh0LmRpc2FibGVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2RhdGEtY2Fyb3VzZWxdIC5uZXh0IHtcbiAgcmlnaHQ6IC0yNHB4O1xufVxuXG5bZGF0YS1jYXJvdXNlbF0gLnByZXYge1xuICBsZWZ0OiAtMjRweDtcbn1cblxuW2RhdGEtY2Fyb3VzZWxdIC5uZXh0IHN2ZywgW2RhdGEtY2Fyb3VzZWxdIC5wcmV2IHN2ZyB7XG4gIHdpZHRoOiAyNXB4O1xufVxuXG4uTWFpbk1lbnUge1xuICBvdmVyZmxvdzogYXV0bztcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDAgMTJweDtcbn1cblxuLk1haW5NZW51LWl0ZW0ge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLk1haW5NZW51LWl0ZW0ge1xuICAgIHBhZGRpbmc6IDEwcHggMjRweDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuTWFpbk1lbnUtaXRlbSB7XG4gICAgcGFkZGluZzogMTBweCAzNnB4O1xuICB9XG59XG5cbi5NYWluTWVudS1pdGVtLmlzQWN0aXZlIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmNWE0NmQ7XG59XG5cbi5OZXdzRXhoaWJpdGlvbnNMaXN0IHtcbiAgbWFyZ2luOiAtMTJweDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLk5ld3NFeGhpYml0aW9uc0xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgaGVpZ2h0OiA0MjBweDtcbiAgfVxufVxuXG4uTmV3c0V4aGliaXRpb25zTGlzdC1pdGVtIHtcbiAgcGFkZGluZzogMTJweDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLk5ld3NFeGhpYml0aW9uc0xpc3QtaXRlbSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uUGFyZW50RXhoaWJpdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2Y1YTQ2ZDtcbiAgcGFkZGluZzogMjRweDtcbn1cblxuLlBhcmVudEV4aGliaXRpb24tbGluayB7XG4gIG1hcmdpbjogMTJweCAwO1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWU3ODVmO1xuICBwYWRkaW5nOiAxMnB4O1xufVxuXG4uUGFyZW50RXhoaWJpdGlvbi1saW5rOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5NTEzMTtcbn1cblxuLlNpZ24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5TaWduLXRpdGxlIHtcbiAgY29sb3I6ICNlZTc4NWY7XG4gIGZvbnQtZmFtaWx5OiBZZXNldmFPbmUsIHNlcmlmO1xuICBmb250LXNpemU6IDI0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy91bmRlcmxpbmUucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiA2cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgLlNpZ24tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMi41ZW0pIHtcbiAgLlNpZ24tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgfVxufVxuXG4uU2lnbi1zdWJUaXRsZSB7XG4gIGNvbG9yOiAjYmViZWJlO1xuICBmb250LWZhbWlseTogR2VvbWV0cmlhLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDExcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctdG9wOiA2cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgLlNpZ24tc3ViVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMi41ZW0pIHtcbiAgLlNpZ24tc3ViVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuXG4uU21pV2lkZ2V0IHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y1YTQ2ZDtcbn1cblxuLlNtaVdpZGdldC10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWE0NmQ7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xufVxuXG4uU21pV2lkZ2V0LWNvbnRlbnRzIHtcbiAgcGFkZGluZzogMjRweDtcbn1cblxuLlNtaVNob3J0LXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICdHZW9tZXRyaWEnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5TbWlTaG9ydC1zbWkge1xuICBmb250LWZhbWlseTogWWVzZXZhT25lLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4uUnRlVGV4dCBhIHtcbiAgY29sb3I6ICMyMzUyN2M7XG59XG5cbi5SdGVUZXh0IGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLlJ0ZVRleHQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5SdGVUZXh0IGgxIHtcbiAgbWFyZ2luLXRvcDogMzZweDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLlJ0ZVRleHQgaDIge1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4uUnRlVGV4dCBoMyB7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5SdGVUZXh0IHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5SdGVUZXh0IG9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5IMCB7XG4gIGZvbnQtZmFtaWx5OiAnR2VvbWV0cmlhJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLkgwIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLkgwIHtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gIH1cbn1cblxuLkgxLCAuUnRlVGV4dCBoMSB7XG4gIGZvbnQtZmFtaWx5OiAnUmVnYWwnLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgY29sb3I6ICMxNjE2MTY7XG59XG5cbi5IMXMge1xuICBmb250LWZhbWlseTogJ1JlZ2FsJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDI2cHg7XG59XG5cbi5IMiwgLlJ0ZVRleHQgaDIsIC5IMnMge1xuICBmb250LWZhbWlseTogJ0dlb21ldHJpYScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5IMnMge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5IMjUsIC5SdGVUZXh0IGgzIHtcbiAgZm9udC1mYW1pbHk6ICdHZW9tZXRyaWEnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiAjOTY5Njk2O1xufVxuXG4uSDMsIC5IM3Mge1xuICBmb250LWZhbWlseTogJ0dlb21ldHJpYScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM5Njk2OTY7XG59XG5cbi5IM3Mge1xuICBmb250LXNpemU6IDExcHg7XG59XG5cbi5INCwgLkNhcm91c2VsLW5hdkl0ZW0sIC5INGIsIC5INHMge1xuICBmb250LWZhbWlseTogJ0dlb21ldHJpYScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICM5Njk2OTY7XG59XG5cbi5INGIge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLkg0cyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLkhEZWNvciB7XG4gIGZvbnQtZmFtaWx5OiBZZXNldmFPbmUsIHNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5QYXJhZ3JhcGhTYW5zIHtcbiAgZm9udC1mYW1pbHk6ICdHZW9tZXRyaWEnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNDY0NjQ2O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuUGFyYWdyYXBoU2FucyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5cbi5QYXJhZ3JhcGhTZXJpZiwgLlJ0ZVRleHQgcCwgLlJ0ZVRleHQgbGkge1xuICBmb250LWZhbWlseTogUFRTZXJpZiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM0NjQ2NDY7XG59XG5cbi5IZWFkaW5nV2l0aExlZnRMaW5lIHtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZWU3ODVmO1xufVxuXG4uSGVhZGluZ1dpdGhUb3BMaW5lIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xpbmUucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLkhlYWRpbmdXaXRoQm90dG9tTGluZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9saW5lLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5jb250ZW50UGFkZGluZy5yb3cge1xuICBtYXJnaW46IC0xMnB4O1xufVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLnJvdyAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4zNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC4zNzVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNzVyZW07XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTtcbiAgfVxufVxuXG4ucm93IC5yb3cuY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ucm93LmV4cGFuZGVkIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4ucm93LmV4cGFuZGVkIC5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ucm93Om5vdCguZXhwYW5kZWQpIC5yb3cge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5yb3cuaXMtY29sbGFwc2UtY2hpbGQsXG4ucm93LmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3csXG4ucm93LmNvbGxhcHNlID4gLmNvbHVtbnMgPiAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICBmbGV4OiAxIDEgMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gIH1cbn1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uc21hbGwtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTtcbn1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xufVxuXG4uc21hbGwtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjclO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7XG59XG5cbi5zbWFsbC0zIHtcbiAgZmxleDogMCAwIDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7XG59XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7XG59XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5zbWFsbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7XG59XG5cbi5zbWFsbC02IHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7XG59XG5cbi5zbWFsbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG5cbi5zbWFsbC04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7XG59XG5cbi5zbWFsbC05IHtcbiAgZmxleDogMCAwIDc1JTtcbiAgbWF4LXdpZHRoOiA3NSU7XG59XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7XG59XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uc21hbGwtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTtcbn1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7XG59XG5cbi5zbWFsbC0xMiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclO1xufVxuXG4uc21hbGwtdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnNtYWxsLXVwLTEgPiAuY29sdW1uLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnNtYWxsLXVwLTIge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlO1xufVxuXG4uc21hbGwtdXAtMyB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5zbWFsbC11cC00IHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW4sIC5zbWFsbC11cC00ID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTtcbn1cblxuLnNtYWxsLXVwLTUge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAyMCU7XG4gIG1heC13aWR0aDogMjAlO1xufVxuXG4uc21hbGwtdXAtNiB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NyU7XG59XG5cbi5zbWFsbC11cC03IHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICBtYXgtd2lkdGg6IDE0LjI4NTcxJTtcbn1cblxuLnNtYWxsLXVwLTgge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMi41JTtcbiAgbWF4LXdpZHRoOiAxMi41JTtcbn1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMzc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuMzc1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAubWVkaXVtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5tZWRpdW0tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5tZWRpdW0tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAubWVkaXVtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjAlO1xuICAgIG1heC13aWR0aDogMjAlO1xuICB9XG4gIC5tZWRpdW0tdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElO1xuICB9XG4gIC5tZWRpdW0tdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgbWF4LXdpZHRoOiAxMi41JTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cblxuLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAubGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAubGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5sYXJnZS11cC0xID4gLmNvbHVtbiwgLmxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5sYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjAlO1xuICAgIG1heC13aWR0aDogMjAlO1xuICB9XG4gIC5sYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElO1xuICB9XG4gIC5sYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTggPiAuY29sdW1uLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgbWF4LXdpZHRoOiAxMi41JTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuXG4ucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgfVxufVxuXG4uc2hyaW5rIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNvbHVtbi1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG5cbi5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jb2x1bW4tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxuICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICMxNjE2MTY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iZ19ncmV5LnBuZ1wiKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLm92ZXJmbG93LWhpZGRlbiwgLmNsZWFyZml4IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4uZmxvYXQtbGVmdCwubGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1yaWdodCwucmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLmZpeGVkV2lkdGgge1xuICBtYXgtd2lkdGg6IDExNzBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5mdWxsV2lkdGgge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmRpc3BsYXktZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5jb250ZW50UGFkZGluZyB7XG4gIHBhZGRpbmctbGVmdDogJHU7XG4gIHBhZGRpbmctcmlnaHQ6ICR1O1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmctbGVmdDogMiokdTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyKiR1O1xuICB9XG59XG5cbi5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm92ZXJsYXkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ub3ZlcmxheTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNjAlKTtcbn1cbi5vdmVybGF5LWNvbnRlbnRzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAkdTtcbiAgcmlnaHQ6ICR1O1xuICBib3R0b206ICR1O1xuICB6LWluZGV4OiAxO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtICgxLyRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0X251bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dF9udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0X251bWJlcikge1xuICAgICAgJG5leHRfbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0X251bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIiRsaW5lSGVpZ2h0LXNpbmdsZTogMTtcbiRsaW5lSGVpZ2h0LXRpZ2h0OiAxLjI7XG4kbGluZUhlaWdodC1ub3JtYWw6IDEuNTtcbiRsaW5lSGVpZ2h0LWxvb3NlOiAxLjg7XG5cbi5saW5lSGVpZ2h0LXNpbmdsZXtcblx0bGluZS1oZWlnaHQ6ICRsaW5lSGVpZ2h0LXNpbmdsZSAhaW1wb3J0YW50O1xufVxuLmxpbmVIZWlnaHQtdGlnaHR7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZUhlaWdodC10aWdodCAhaW1wb3J0YW50O1xufVxuLmxpbmVIZWlnaHQtbm9ybWFse1xuXHRsaW5lLWhlaWdodDogJGxpbmVIZWlnaHQtbm9ybWFsICFpbXBvcnRhbnQ7XG59XG4ubGluZUhlaWdodC1sb29zZXtcblx0bGluZS1oZWlnaHQ6ICRsaW5lSGVpZ2h0LWxvb3NlICFpbXBvcnRhbnQ7XG59IiwiLnRleHRTaGFkb3cge1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggJGdyYXktZGFyaztcbn1cbi50ZXh0U2hhZG93LWRlZXAge1xuICB0ZXh0LXNoYWRvdzogMnB4IDJweCAzcHggJGdyYXktZGFyaztcbn1cbiIsIi50ZXh0QWxpZ24tbGVmdCB7XG5cdHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cbi50ZXh0QWxpZ24tY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG4udGV4dEFsaWduLXJpZ2h0IHtcblx0dGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cbiIsIi5oaWRlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbiIsIi5Bbm5vdW5jZW1lbnRTaG9ydCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRvcmFuZ2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5Bbm5vdW5jZW1lbnRTaG9ydC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLkFubm91bmNlbWVudFNob3J0LXBsYWNlLCAuQW5ub3VuY2VtZW50U2hvcnQtZGF0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gIHBhZGRpbmc6IDEwcHggMiokdTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLkFubm91bmNlbWVudFNob3J0LWNvcm5lckxlZnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogLThweDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIGRhcmtlbigkb3JhbmdlLCAzMCUpO1xuICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLkFubm91bmNlbWVudFNob3J0LWNvcm5lclJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAtOHB4O1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiA4cHggc29saWQgZGFya2VuKCRvcmFuZ2UsIDMwJSk7XG4gIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLkFubm91bmNlbWVudFNob3J0LXBsYWNlIHtcbiAgbGVmdDogLThweDtcbiAgdG9wOiAzKiR1O1xufVxuLkFubm91bmNlbWVudFNob3J0LWRhdGUge1xuICByaWdodDogLThweDtcbiAgYm90dG9tOiAzKiR1O1xufVxuLkFubm91bmNlbWVudFNob3J0LWlubmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuIiwiLkFyY2hpdmVMaW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkcmVkO1xuICBwYWRkaW5nLXRvcDogMS41KiR1O1xuICBwYWRkaW5nLWJvdHRvbTogJHU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cbi5BcmNoaXZlTGluay0tbWFpbiB7XG4gIEBleHRlbmQgLkFyY2hpdmVMaW5rO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoNDUwcHggdXApfSBhbmQgI3ticmVha3BvaW50KDY0MHB4IGRvd24pfSwgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoODgwcHggdXApfSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgfVxufVxuIiwiLkJyZWFkY3J1bWJzIHtcbiAgcGFkZGluZzogJHUgMiokdTtcbiAgY29sb3I6ICRncmF5LWxpZ2h0ZXI7XG59XG5cbi5CcmVhZGNydW1icy1pdGVtIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgJi5pc0FjdGl2ZSB7XG4gICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG4iLCIuQ2FsbG91dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDUwcHggZG93bikge1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICB9XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2xpbmUucG5nJyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xufVxuLkNhbGxvdXQtd3JhcCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMzgwcHggdXApIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iZ19sb2dvLnBuZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMCBib3R0b20gLTE3NHB4O1xuICB9XG59XG5cbi5DYWxsb3V0LWltZyB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBAaW5jbHVkZSBicmVha3BvaW50KDQ1MHB4IHVwKSB7XG4gICAgZmxleDogMCAwIDEwMHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoNTUwcHggdXApIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHBhZGRpbmctcmlnaHQ6IDIqJHU7XG59XG4uQ2FsbG91dC1lbWFpbCB7fVxuLkNhbGxvdXQtcXVvdGUge1xuICBmb250LWZhbWlseTogJ1BUIFNlcmlmJywgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLkNhbGxvdXQtcGhvbmUge1xuICBmb250LWZhbWlseTogR2VvbWV0cmlhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGNvbG9yOiAkcmVkO1xufVxuIiwiLmlzLWVuYWJsZWQgLmpzLUNhcm91c2VsLWl0ZW0ge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgZGlzcGxheTogaW5pdGlhbDtcbiAgICB9XG4gIH1cbn1cblxuLkNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uQ2Fyb3VzZWwtbmF2IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xuICB9XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMjtcbiAgbWFyZ2luOiAwICR1O1xufVxuLkNhcm91c2VsLW5hdkl0ZW0ge1xuICBAZXh0ZW5kIC5INDtcbiAgQGV4dGVuZCAuY29sb3Itd2hpdGU7XG4gIEBleHRlbmQgLnRleHRTaGFkb3ctZGVlcDtcbiAgJi5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJG9yYW5nZTtcbiAgfVxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRncmF5LWxpZ2h0O1xuICBwYWRkaW5nOiAkdTtcbiAgbWFyZ2luOiAwICR1O1xuICB3aWR0aDogY2FsYygzMyUgLSAyNHB4KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi5DYXJvdXNlbCAub3ZlcmxheS1jb250ZW50cyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgYm90dG9tOiA2MHB4O1xuICB9XG59XG5cblxuXG4uQ2Fyb3VzZWwtbGlua3MgLmFycm93IHtcbiAgZmlsbDogJGdyYXktbGlnaHQ7XG59XG5cbi5DYXJvdXNlbC1saW5rc1ByZXYsIC5DYXJvdXNlbC1saW5rc05leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA0NHB4O1xuICBwYWRkaW5nOiAkdTtcbiAgdG9wOiA0MCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5DYXJvdXNlbC1saW5rc1ByZXYge1xuICBsZWZ0OiAwO1xufVxuLkNhcm91c2VsLWxpbmtzTmV4dCB7XG4gIHJpZ2h0OiAwO1xufVxuIiwiLkNvdmVySW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBoZWlnaHQ6IDM2MHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KDQwMHB4IHVwKSB7XG4gICAgaGVpZ2h0OiAzMjBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGhlaWdodDogNDM3cHg7XG4gIH1cbn1cbiIsIi5FeGhpYml0aW9uTmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cbi5FeGhpYml0aW9uTmF2LWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAyKiR1O1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG4uRXhoaWJpdGlvbk5hdi1pbm5lciB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG4uRXhoaWJpdGlvbk5hdi1pY29uIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gIC5FeGhpYml0aW9uTmF2LWl0ZW06bnRoLWNoaWxkKDEpIHtcbiAgICBtYXgtd2lkdGg6IDM4JTtcbiAgfVxuICAuRXhoaWJpdGlvbk5hdi1pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbiAgLkV4aGliaXRpb25OYXYtaXRlbTpudGgtY2hpbGQoMykge1xuICAgIG1heC13aWR0aDogMzglO1xuICB9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgLkV4aGliaXRpb25OYXYtaXRlbTpudGgtY2hpbGQoMikge1xuICAgIG9yZGVyOiAzO1xuICB9XG59XG4iLCIuRm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXlCZztcbiAgcGFkZGluZy10b3A6ICR1O1xuICBwYWRkaW5nLWJvdHRvbTogJHU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmctdG9wOiAyKiR1O1xuICB9XG59XG5cbi5Gb290ZXItc2lnbiB7XG4gIG1hcmdpbi1ib3R0b206ICR1O1xufVxuXG4uRm9vdGVyLWNvcHlyaWdodCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTtcbiAgbWFyZ2luLXRvcDogJHU7XG4gIHBhZGRpbmctdG9wOiAkdTtcbn1cblxuLkZvb3Rlci10b3Age1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cbi5Gb290ZXItY29udGFjdHMge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbi5Gb290ZXItY29weXJpZ2h0IHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuIiwiLkhlYWRlclRvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LWxpbmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cblxuLkhlYWRlclRvcC1yaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cbi5IZWFkZXJUb3AtcmlnaHRJdGVtIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBtYXJnaW4tbGVmdDogJHU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgIG1hcmdpbi1sZWZ0OiAzKiR1O1xuICB9XG59XG5cbi5IZWFkZXJNaWRkbGUge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4uSGVhZGVyTWlkZGxlLWRlc2NyaXB0aW9uIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIHBhZGRpbmctdG9wOiAkdSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIuTG9nbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDAwcHggZG93bikge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cbi5Mb2dvLWltZyB7XG4gIHBhZGRpbmctcmlnaHQ6ICR1O1xuICBAaW5jbHVkZSBicmVha3BvaW50KDUyMHB4IHVwKSB7XG4gICAgcGFkZGluZy1yaWdodDogMiokdTtcbiAgfVxufVxuLkxvZ28tc2lnbiB7XG4gIHBhZGRpbmctdG9wOiAkdS8yO1xufVxuIiwiW2RhdGEtY2Fyb3VzZWxdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5mcmFtZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuc2xpZGVzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgbGkgPiAqIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAucHJldiwgLm5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmlsbDogd2hpdGU7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm5leHQge1xuICAgIHJpZ2h0OiAtMjRweDtcbiAgfVxuXG4gIC5wcmV2IHtcbiAgICBsZWZ0OiAtMjRweDtcbiAgfVxuXG4gIC5uZXh0IHN2ZywgLnByZXYgc3ZnIHtcbiAgICB3aWR0aDogMjVweDtcbiAgfVxufVxuIiwiLk1haW5NZW51IHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAwICR1O1xufVxuLk1haW5NZW51LWl0ZW0ge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMTBweCAkdTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBwYWRkaW5nOiAxMHB4IDIqJHU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgIHBhZGRpbmc6IDEwcHggMyokdTtcbiAgfVxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDAsMCwwLDApO1xufVxuXG4uTWFpbk1lbnUtaXRlbS5pc0FjdGl2ZSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkb3JhbmdlO1xufVxuIiwiLk5ld3NFeGhpYml0aW9uc0xpc3Qge1xuICBtYXJnaW46IC0kdTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgaGVpZ2h0OiA0MjBweDtcbiAgfVxufVxuLk5ld3NFeGhpYml0aW9uc0xpc3QtaXRlbSB7XG4gIHBhZGRpbmc6ICR1O1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuIiwiLlBhcmVudEV4aGliaXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheUJnLWxpZ2h0O1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRvcmFuZ2U7XG4gIHBhZGRpbmc6IDIqJHU7XG59XG4uUGFyZW50RXhoaWJpdGlvbi1saW5rIHtcbiAgbWFyZ2luOiAkdSAwO1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICBwYWRkaW5nOiAkdTtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRyZWQsIDEwJSk7XG4gIH1cbn1cbiIsIi5TaWduIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLlNpZ24tdGl0bGUge1xuICBjb2xvcjogJHJlZDtcbiAgZm9udC1mYW1pbHk6IFllc2V2YU9uZSwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg0MDBweCB1cCkge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KDUyMHB4IHVwKSB7XG4gICAgZm9udC1zaXplOiAzNXB4O1xuICB9XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3VuZGVybGluZS5wbmcnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xufVxuLlNpZ24tc3ViVGl0bGUge1xuICBjb2xvcjogJGdyYXktbGlnaHQ7XG4gIGZvbnQtZmFtaWx5OiBHZW9tZXRyaWEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg0MDBweCB1cCkge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KDUyMHB4IHVwKSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctdG9wOiA2cHg7XG59XG4iLCIuU21pV2lkZ2V0IHtcbiAgbWFyZ2luLXRvcDogMiokdTtcbiAgYm9yZGVyOiAxcHggc29saWQgJG9yYW5nZTtcbn1cbi5TbWlXaWRnZXQtdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICBwYWRkaW5nOiA4cHggJHU7XG59XG4uU21pV2lkZ2V0LWNvbnRlbnRzIHtcbiAgcGFkZGluZzogMiokdTtcbn1cbi5TbWlTaG9ydC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAnR2VvbWV0cmlhJywgc2Fucy1zZXJpZjtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRsaW5lLWhlaWdodDogJGxpbmVIZWlnaHQtdGlnaHQ7XG59XG4uU21pU2hvcnQtc21pIHtcbiAgZm9udC1mYW1pbHk6IFllc2V2YU9uZSwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cbiIsIi5SdGVUZXh0IHtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgIH1cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICAgIHAge1xuICAgICAgICBAZXh0ZW5kIC5QYXJhZ3JhcGhTZXJpZjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHU7XG4gICAgfVxuICAgIGgxIHtcbiAgICAgICAgQGV4dGVuZCAuSDE7XG4gICAgICAgIG1hcmdpbi10b3A6IDMgKiAkdTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHU7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgICAgQGV4dGVuZCAuSDI7XG4gICAgICAgIG1hcmdpbi10b3A6ICR1O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdTtcbiAgICB9XG4gICAgaDMge1xuICAgICAgICBAZXh0ZW5kIC5IMjU7XG4gICAgICAgIG1hcmdpbi10b3A6ICR1O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHU7XG4gICAgfVxuICAgIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR1O1xuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIEBleHRlbmQgLlBhcmFncmFwaFNlcmlmO1xuICAgIH1cbn1cbiIsIi5IMCB7XG5cdGZvbnQtZmFtaWx5OiAnR2VvbWV0cmlhJywgc2Fucy1zZXJpZjtcblx0Zm9udC1zaXplOiAyMnB4O1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdGZvbnQtc2l6ZTogMjZweDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG5cdFx0Zm9udC1zaXplOiAzNXB4O1xuXHR9XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uSDEge1xuXHRmb250LWZhbWlseTogJ1JlZ2FsJywgc2Fucy1zZXJpZjtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRmb250LXNpemU6IDMwcHg7XG5cdGNvbG9yOiAkZ3JheS1kYXJrO1xufVxuLkgxcyB7XG5cdGZvbnQtZmFtaWx5OiAnUmVnYWwnLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG5cdGZvbnQtc2l6ZTogMjZweFxufVxuXG4uSDIge1xuXHRmb250LWZhbWlseTogJ0dlb21ldHJpYScsIHNhbnMtc2VyaWY7XG5cdGZvbnQtc2l6ZTogMjJweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG59XG4uSDJzIHtcblx0QGV4dGVuZCAuSDI7XG5cdGZvbnQtc2l6ZTogMThweDtcbn1cbi5IMjUge1xuXHRmb250LWZhbWlseTogJ0dlb21ldHJpYScsIHNhbnMtc2VyaWY7XG5cdGZvbnQtc2l6ZTogMThweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bGluZS1oZWlnaHQ6IDEuMjtcblx0Y29sb3I6ICRncmF5LWxpZ2h0ZXI7XG59XG4uSDMge1xuXHRmb250LWZhbWlseTogJ0dlb21ldHJpYScsIHNhbnMtc2VyaWY7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6ICRncmF5LWxpZ2h0ZXI7XG59XG4uSDNzIHtcblx0QGV4dGVuZCAuSDM7XG5cdGZvbnQtc2l6ZTogMTFweDtcbn1cbi5INCB7XG5cdGZvbnQtZmFtaWx5OiAnR2VvbWV0cmlhJywgc2Fucy1zZXJpZjtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogJGdyYXktbGlnaHRlcjtcbn1cbi5INGIge1xuXHRAZXh0ZW5kIC5INDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uSDRzIHtcblx0QGV4dGVuZCAuSDQ7XG5cdGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLkhEZWNvciB7XG5cdGZvbnQtZmFtaWx5OiBZZXNldmFPbmUsIHNlcmlmO1xuXHRmb250LXNpemU6IDE4cHg7XG59XG5cbi5QYXJhZ3JhcGhTYW5zIHtcblx0Zm9udC1mYW1pbHk6ICdHZW9tZXRyaWEnLCBzYW5zLXNlcmlmO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG5cdGxpbmUtaGVpZ2h0OiAkbGluZUhlaWdodC1ub3JtYWw7XG5cdGNvbG9yOiAkZ3JheTtcbn1cbi5QYXJhZ3JhcGhTZXJpZiB7XG5cdGZvbnQtZmFtaWx5OiBQVFNlcmlmLCBzZXJpZjtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRsaW5lLWhlaWdodDogJGxpbmVIZWlnaHQtbm9ybWFsO1xuXHRjb2xvcjogJGdyYXk7XG59XG5cbi5IZWFkaW5nV2l0aExlZnRMaW5lIHtcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkcmVkO1xufVxuLkhlYWRpbmdXaXRoVG9wTGluZSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2xpbmUucG5nJyk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0O1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLkhlYWRpbmdXaXRoQm90dG9tTGluZSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2xpbmUucG5nJyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xuXHRwYWRkaW5nLWJvdHRvbTogJHUvMjtcblx0bWFyZ2luLXRvcDogMiokdTtcblx0bWFyZ2luLWJvdHRvbTogMiokdTtcbn1cbiIsIi5jb250ZW50UGFkZGluZy5yb3cge1xuICBtYXJnaW46IDAgLSR1O1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBoYXZlIHJvdyB3cmFwcGluZyBiZWhhdmlvciBzZXQgdG8gbm93cmFwXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJHdyYXA6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgJHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYGV4cGFuZGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogZXhwYW5kKSB7XG4gICRmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBleHBhbmQge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycyB3aWR0aC4gU2VlIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyYCBtaXhpbi5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogZXhwYW5kLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSgkY29sdW1ucyk7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBleHBhbmQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHdpZHRoIGZsZXggZ3JpZCBjb2x1bW4uXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBmbGV4LWdyaWQtc2l6ZSgkY29sdW1uczogbnVsbCkge1xuICAkY29sdW1uczogJGNvbHVtbnMgb3IgZXhwYW5kO1xuXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gZXhwYW5kIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAucm93IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCwgJGJhc2U6IGZhbHNlKTtcblxuICAgICAgJi5jb2xsYXBzZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbnNcbiAgICAvLyBGcm9tIGNvbGxhcHNlZCBjaGlsZFxuICAgICYuaXMtY29sbGFwc2UtY2hpbGQsXG4gICAgJi5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLnJvdyAuY29sdW1uLnJvdy5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyAoc2hyaW5rKVxuICAuc2hyaW5rIHtcbiAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC5jb2x1bW4tYmxvY2sge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICBAZXh0ZW5kIC5jb2x1bW47IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWd1dHRlclxuQG1peGluIGdyaWQtY29sLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlciwgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNldHMgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMgdG8gbWF0Y2ggZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRtYXJnaW4gW2F1dG9dXG4vLy8gICBUaGUgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRtYXJnaW5zIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBtYXJnaW4gcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRtYXJnaW5zIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFyZ2lucyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1tYXJnaW4gKFxuICAkbWFyZ2luOiBhdXRvLFxuICAkbWFyZ2luczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRtYXJnaW4sICRtYXJnaW5zKSB7XG4gICAgJG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuXG4vLy8gUGFyc2UgdGhlIGdpdmVuIGAkZnJhY3Rpb25gIHRvIG51bWVyYXRvcnMgYW5kIGRlbnVtZXJhdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gcGFyc2UuIEl0IGNhbiBiZSBmb3JtYXR0ZWQgYXMgYDUwJWAsIGAxIG9mIDJgLCBgMS8yYCBvciBgNTBgIChubyBkZW5vbWluYXRvciB3b3VsZCBiZSByZXR1cm5lZCkuXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBMaXN0IG9mIHBhcnNlZCB2YWx1ZXMgd2l0aCBudW1lcmF0b3IgYXQgZmlyc3QgcG9zaXRpb24gYW5kIGRlbnVtZXJhdG9yIGFzIHNlY29uZC4gVGhlc2UgdmFsdWVzIG1heSBiZSBudWxsLlxuQGZ1bmN0aW9uIHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbikge1xuXG4gIEBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ251bWJlcicge1xuICAgIC8vIFwiNTAlXCJcbiAgICBAaWYgdW5pdCgkZnJhY3Rpb24pID09ICclJyB7XG4gICAgICBAcmV0dXJuIChzdHJpcC11bml0KCRmcmFjdGlvbiksIDEwMCk7XG4gICAgfVxuICAgIEBlbHNlIGlmICh1bml0KCRmcmFjdGlvbikgPT0gJycpIHtcbiAgICAgIC8vIFwiMC41XCJcbiAgICAgIEBpZiAkZnJhY3Rpb24gPCAxIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uICogMTAwLCAxMDApO1xuICAgICAgfVxuICAgICAgLy8gXCI1MFwiXG4gICAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdsaXN0JyB7XG4gICAgLy8gXCI1MCBvZiAxMDBcIiwgXCI1MC8xMDBcIi4uLlxuICAgIEBpZiBsZW5ndGgoJGZyYWN0aW9uKSA9PSAzXG4gICAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAxKSA9PSAnbnVtYmVyJylcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDMpID09ICdudW1iZXInKSB7XG4gICAgICBAcmV0dXJuIChudGgoJGZyYWN0aW9uLCAxKSwgbnRoKCRmcmFjdGlvbiwgMykpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gKG51bGwsIG51bGwpO1xufVxuXG4vLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24uIFN1cHBvcnRzIGZvcm1hdHMgbGlrZSBgNTAlYCwgYDEgb2YgMmAsIGAxIHBlciAyYCBvciBgMS8yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gdGVzdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhbGxvdy1uby1kZW5vbWluYXRvciBbZmFsc2VdIC0gSWYgYHRydWVgLCBzaW1wbGUgbnVtYmVycyB3aXRob3V0IGRlbm9taW5hdG9ycyBsaWtlIGA1MGAgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuQGZ1bmN0aW9uIHpmLWlzLWZyYWN0aW9uKCR2YWx1ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiBmYWxzZSkge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkdmFsdWUpO1xuICBAcmV0dXJuIG5vdChudGgoJHBhcnNlZCwgMSkgPT0gbnVsbFxuICAgIG9yIChudGgoJHBhcnNlZCwgMikgPT0gbnVsbCBhbmQgJGFsbG93LW5vLWRlbm9taW5hdG9yID09IGZhbHNlKSk7XG59XG5cbi8vLyBDYWxjdWxhdGUgYSBwZXJjZW50YWdlIGZyb20gYSBnaXZlbiBmcmFjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UsIGZvcm1hdHRlZCBhcyBgNTBgIChyZWxhdGl2ZSB0byBgJGRlbm9taW5hdG9yYCksIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZGVub21pbmF0b3IgLSBEZWZhdWx0IHZhbHVlIHRvIHVzZSBhcyBkZW5vbWluYXRvciB3aGVuIGAkZnJhY3Rpb25gIHJlcHJlc2VudHMgYW4gYWJzb2x1dGUgdmFsdWUuXG5AZnVuY3Rpb24gZnJhY3Rpb24tdG8tcGVyY2VudGFnZShcbiAgJGZyYWN0aW9uLFxuICAkZGVub21pbmF0b3I6IG51bGxcbikge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pO1xuICAkcGFyc2VkLW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDEpO1xuICAkcGFyc2VkLWRlbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMik7XG5cbiAgQGlmICRwYXJzZWQtbm9taW5hdG9yID09IG51bGwge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cbiAgQGlmICRwYXJzZWQtZGVub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGlmIHR5cGUtb2YoJGRlbm9taW5hdG9yKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkcGFyc2VkLWRlbm9taW5hdG9yOiAkZGVub21pbmF0b3I7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnRXJyb3Igd2l0aCBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBBIGRlZmF1bHQgXCIkZGVub21pbmF0b3JcIiBpcyByZXF1aXJlZCB0byBzdXBwb3J0IGFic29sdXRlIHZhbHVlcyc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBwZXJjZW50YWdlKCRwYXJzZWQtbm9taW5hdG9yIC8gJHBhcnNlZC1kZW5vbWluYXRvcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIEl0IGNhbiBiZTpcbi8vLyAgICogQSBudW1iZXI6IFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50XG4vLy8gICAgIHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZVxuLy8vICAgICBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuXG4vLy8gICAqIGBjZW50ZXJgOiBDb2x1bW4gd2lsbCBiZSBjZW50ZXJlZFxuLy8vICAgKiBgYXV0b2A6IENvbHVtbiB3aWxsIGJlIHB1c2hlZCB0byB0aGUgbGVmdCAob3IgdG8gdGhlIHJpZ2h0IGZvciB0aGUgbGFzdCBjb2x1bW4pLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICAvLyBBdXRvIHBvc2l0aW9uaW5nXG4gIEBpZiAkcG9zaXRpb24gPT0gYXV0byB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHVzaC9wdWxsXG4gIEBlbHNlIGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuXG4gIC8vIENlbnRlciBwb3NpdGlvbmluZ1xuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBcImNlbnRlclwiIG9yIFwiYXV0b1wiLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oYXV0byk7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAuMDAxMjU7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZVxuICAgICAgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICAgIHNtYWxsOiAxMnB4LFxuICAgIG1lZGl1bTogMjRweCxcbik7XG5cbkBpbXBvcnQgXCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb25cIjtcbkBpbXBvcnQgXCJyZXNldFwiO1xuQGltcG9ydCBcIkdsb2JhbC9fX2NvbG9yLnNjc3NcIjtcbkBpbXBvcnQgXCJHbG9iYWwvX19zcGFjaW5nLnNjc3NcIjtcbkBpbXBvcnQgXCJHbG9iYWwvX190cmFuc2l0aW9ucy5zY3NzXCI7XG5AaW1wb3J0IFwiR2xvYmFsL19ib3JkZXIuc2Nzc1wiO1xuQGltcG9ydCBcIkdsb2JhbC9fYnV0dG9ucy5zY3NzXCI7XG5AaW1wb3J0IFwiR2xvYmFsL19mb250RmFjZXMuc2Nzc1wiO1xuQGltcG9ydCBcIkdsb2JhbC9fbGF5b3V0LnNjc3NcIjtcbkBpbXBvcnQgXCJHbG9iYWwvX2xpbmVIZWlnaHQuc2Nzc1wiO1xuQGltcG9ydCBcIkdsb2JhbC9fc2hhZG93cy5zY3NzXCI7XG5AaW1wb3J0IFwiR2xvYmFsL190ZXh0QWxpZ24uc2Nzc1wiO1xuQGltcG9ydCBcIkdsb2JhbC9fdmlzaWJpbGl0eS5zY3NzXCI7XG5AaW1wb3J0IFwiTW9kdWxlcy9fYW5ub3VuY2VtZW50U2hvcnQuc2Nzc1wiO1xuQGltcG9ydCBcIk1vZHVsZXMvX2FyY2hpdmVMaW5rLnNjc3NcIjtcbkBpbXBvcnQgXCJNb2R1bGVzL19icmVhZGNydW1icy5zY3NzXCI7XG5AaW1wb3J0IFwiTW9kdWxlcy9fY2FsbG91dC5zY3NzXCI7XG5AaW1wb3J0IFwiTW9kdWxlcy9fY2Fyb3VzZWwuc2Nzc1wiO1xuQGltcG9ydCBcIk1vZHVsZXMvX2NvdmVySW1hZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIk1vZHVsZXMvX2V4aGliaXRpb25OYXYuc2Nzc1wiO1xuQGltcG9ydCBcIk1vZHVsZXMvX2Zvb3Rlci5zY3NzXCI7XG5AaW1wb3J0IFwiTW9kdWxlcy9faGVhZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJNb2R1bGVzL19sb2dvLnNjc3NcIjtcbkBpbXBvcnQgXCJNb2R1bGVzL19sb3J5LnNjc3NcIjtcbkBpbXBvcnQgXCJNb2R1bGVzL19tYWluTWVudS5zY3NzXCI7XG5AaW1wb3J0IFwiTW9kdWxlcy9fbmV3c0V4aGliaXRpb25zTGlzdC5zY3NzXCI7XG5AaW1wb3J0IFwiTW9kdWxlcy9fcGFyZW50RXhoaWJpdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiTW9kdWxlcy9fc2lnbi5zY3NzXCI7XG5AaW1wb3J0IFwiTW9kdWxlcy9fc21pV2lkZ2V0LnNjc3NcIjtcbkBpbXBvcnQgXCJNb2R1bGVzL1R5cG9ncmFwaHkvX3J0ZVRleHQuc2Nzc1wiO1xuQGltcG9ydCBcIk1vZHVsZXMvVHlwb2dyYXBoeS9fdHlwb2dyYXBoeS5zY3NzXCI7XG5AaW1wb3J0IFwib3ZlcnJpZGVWZW5kb3JcIjtcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcblxuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICRncmF5LWRhcms7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JnX2dyZXkucG5nXCIpO1xufVxuIl19 */
