@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-moz-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes appear{0%{opacity:0}to{opacity:1}}@-webkit-keyframes appear{0%{opacity:0}to{opacity:1}}@-moz-keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@-webkit-keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@-moz-keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@-moz-keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes fadein{0%{display:block;opacity:0}1%{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{0%{display:block;opacity:0}1%{opacity:0}to{opacity:1}}@-moz-keyframes fadein{0%{display:block;opacity:0}1%{opacity:0}to{opacity:1}}@keyframes jump{0%,to{transform:translateY(0)}60%{transform:translateY(-20px)}}@-webkit-keyframes jump{0%,to{transform:translateY(0)}60%{transform:translateY(-20px)}}@-moz-keyframes jump{0%,to{transform:translateY(0)}60%{transform:translateY(-20px)}}@keyframes weight{0%{transform:rotate(-48deg)}to{transform:rotate(48deg)}}@-webkit-keyframes weight{0%{transform:rotate(-48deg)}to{transform:rotate(48deg)}}@-moz-keyframes weight{0%{transform:rotate(-48deg)}to{transform:rotate(48deg)}}@keyframes hammer{0%{transform:rotate(28deg)}to{transform:rotate(2deg)}}@-webkit-keyframes hammer{0%{transform:rotate(28deg)}to{transform:rotate(2deg)}}@-moz-keyframes hammer{0%{transform:rotate(28deg)}to{transform:rotate(2deg)}}@keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@-webkit-keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@-moz-keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@-webkit-keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@-moz-keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@-webkit-keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@-moz-keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@-webkit-keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@-moz-keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-moz-keyframes spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@-webkit-keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@-moz-keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@-webkit-keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@-moz-keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@-webkit-keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@-moz-keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}@-webkit-keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}@-moz-keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}@font-face{font-family:ProximaNova;src:url(./fonts/ProximaNova/ProximaNova-Light.otf);font-weight:200}@font-face{font-family:ProximaNova;src:url(./fonts/ProximaNova/ProximaNova-Regular.otf);font-weight:400}@font-face{font-family:ProximaNova;src:url(./fonts/ProximaNova/ProximaNova-Semibold.otf);font-weight:600}@font-face{font-family:ProximaNova;src:url(./fonts/ProximaNova/ProximaNova-Bold.otf);font-weight:800}:root{--mainColor: hsl(228, 52%, 32%);--mainColor_h: 228;--mainColor_s: 52%;--mainColor_l: 32%;--secondaryColor: hsl(71, 65%, 52%);--secondaryColor_h: 71;--secondaryColor_s: 65%;--secondaryColor_l: 52%;--tertiaryColor: hsl(212, 72%, 59%);--tertiaryColor_h: 212;--tertiaryColor_s: 72%;--tertiaryColor_l: 59%;--quaternaryColor: hsl(103, 41%, 45%);--quaternaryColor_h: 103;--quaternaryColor_s: 41%;--quaternaryColor_l: 45%;--titleColor: hsl(0, 0%, 16%);--titleColor_h: 0;--titleColor_s: 0%;--titleColor_l: 16%;--textColor: hsl(0, 0%, 16%);--textColor_h: 0;--textColor_s: 0%;--textColor_l: 16%;--ratingColor: hsl(32, 100%, 60%);--ratingColor_h: 32;--ratingColor_s: 100%;--ratingColor_l: 60%;--CTA: hsl(20, 96%, 62%);--CTA_h: 20;--CTA_s: 96%;--CTA_l: 62%}
/*!
 * Bootstrap v4.5.0 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:570px}}@media (min-width:768px){.container{max-width:780px}}@media (min-width:992px){.container{max-width:900px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:570px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:780px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:900px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col-auto{position:relative;padding-right:15px;padding-left:15px}.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.modal,.modal-open,main>section{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}html{padding:0;vertical-align:baseline}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,figcaption,footer,h4,h5,header,hgroup,i,iframe,ins,kbd,label,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}figure,form,h1,h2,h3,h6{padding:0;border:0}img,sup{padding:0;font:inherit}html,sup{border:0}fieldset,figure,form,h1,h2,h3,h6,legend{font:inherit;vertical-align:baseline}html,legend,sup{margin:0}:focus{outline:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1;min-height:100vh;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:var(--default-fs);line-height:var(--lineHeight);color:var(--textColor)}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}table{border-collapse:collapse;border-spacing:0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-moz-appearance:none}audio,canvas,video{display:inline-block;*display:inline;*zoom:1;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;display:block;width:100%;margin:0 auto}fieldset,legend{border:0;padding:0}fieldset,figure,form{margin:0}legend{white-space:normal;*margin-left:-7px}button,input,select{vertical-align:baseline}button,input,select,textarea{font-size:100%;margin:0;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button{-webkit-appearance:button;*overflow:visible}html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;margin:0}textarea{overflow:auto;vertical-align:top}html,input,select,textarea{color:#222}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}html{box-sizing:border-box;font:400 62.5%/1.2 ProximaNova,sans-serif;letter-spacing:.01em}*,::after,::before{box-sizing:inherit}a,button{color:inherit;cursor:pointer}a{text-decoration:none;color:var(--mainColor)}button{padding:0;background-color:transparent;border-width:0}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden!important}.br{white-space:pre}@media (min-width:375px){.br--not-small-mobile{display:block}}@media (max-width:374px){.br--small-mobile{display:block}}@media (min-width:375px) and (max-width:767px){.br--mobile{display:block}}@media (max-width:574px){.br--mobile-max{display:block}}@media (min-width:768px) and (max-width:1024px){.br--tablet{display:block}}@media (min-width:768px) and (max-width:1024px) and (orientation:landscape){.br--tablet-landscape{display:block}}@media (min-width:1025px){.br--desktop{display:block}}.nowrap{white-space:nowrap}:root{--rating-size: 32px;--headingLineHeight: 1.25}@media (max-width:374px){:root{--default-fs: 16px;--lineHeight: 1.5;--heading1-fs: 32px;--subHeading1-fs: 14px;--introContent-fs: 18px;--heading2-fs: 20px;--heading3-fs: 21px;--btn-fs: 18px;--heading6-fs: 16px;--disclaimer-fs: 10px;--stockUpHeading-fs: 24px;--stockUpSubHeading-fs: 14px;--studies-fs: 14px;--footer-fs: 14px}}@media (min-width:375px) and (max-width:767px){:root{--default-fs: 16px;--lineHeight: 1.5;--heading1-fs: 36px;--subHeading1-fs: 14px;--introContent-fs: 18px;--heading2-fs: 24px;--heading3-fs: 21px;--btn-fs: 20px;--heading6-fs: 18px;--disclaimer-fs: 12px;--stockUpHeading-fs: 24px;--stockUpSubHeading-fs: 14px;--studies-fs: 14px;--footer-fs: 14px}}@media (min-width:768px) and (max-width:1024px){:root{--default-fs: 16px;--lineHeight: 1.5;--heading1-fs: 48px;--subHeading1-fs: 16px;--introContent-fs: 18px;--heading2-fs: 28px;--heading3-fs: 24px;--heading6-fs: 18px;--disclaimer-fs: 12px;--stockUpHeading-fs: 36px;--stockUpSubHeading-fs: 14px;--studies-fs: 14px;--footer-fs: 14px}}@media (min-width:768px) and (max-width:1024px) and (min-height:991px){:root{--btn-fs: 26px}}@media (min-width:1025px){:root{--default-fs: 16px;--lineHeight: 1.75;--heading1-fs: 48px;--subHeading1-fs: 16px;--introContent-fs: 18px;--heading2-fs: 28px;--heading3-fs: 24px;--heading6-fs: 18px;--disclaimer-fs: 12px;--stockUpHeading-fs: 36px;--stockUpSubHeading-fs: 14px;--studies-fs: 14px;--footer-fs: 14px}}@media (min-width:1025px) and (min-height:991px){:root{--btn-fs: 32px}}@media (min-width:768px) and (max-height:990px){:root{--btn-fs: 24px}}h1,h6{margin:0 0 .5em}h1{color:currentColor;font-size:var(--heading1-fs)}h1 small{display:block;margin-bottom:.5em;font-size:var(--subHeading1-fs);font-weight:400;text-transform:uppercase;letter-spacing:.03em}h2,h3,h6{margin:0 0 1em;font-weight:600}h1,h2,h3{line-height:var(--headingLineHeight)}h2{font-size:var(--heading2-fs)}h3{font-size:var(--heading3-fs);text-align:center}h6{font-size:var(--heading6-fs)}.has-darkMode small{color:var(--secondaryColor)}.has-lightMode small{color:var(--tertiaryColor)}.disclaimer,p+p{margin-top:1em}b,h1,strong{font-weight:800}i{font-style:italic}@media (hover:hover) and (pointer:fine){a:hover{text-decoration:underline}}sup{font-size:80%;font-weight:200;vertical-align:super;white-space:nowrap}.disclaimer{font-size:var(--disclaimer-fs)}@media (hover:hover) and (pointer:fine){[role=button]{cursor:pointer}}.btn{display:flex;justify-content:center;align-items:center;flex-basis:auto}.btn [disabled],.btn.disabled{pointer-events:none}.icon,body.noscroll{margin:0;overflow:hidden}.icon{display:inline-block;width:1em;text-align:center;vertical-align:middle;font-size:1em;fill:inherit;color:inherit;box-sizing:content-box;pointer-events:none;height:1em}@media (max-width:849px){:root{--grid-gutter-width: 32px;--section-inner: 40px}}@media (min-width:850px){:root{--grid-gutter-width: 48px;--section-inner: 60px}}body.noscroll{height:100%;touch-action:none}[class^=container]{width:100%;margin-left:auto;margin-right:auto;padding-left:calc(var(--grid-gutter-width)/2);padding-right:calc(var(--grid-gutter-width)/2)}.container-xl{max-width:1140px}.container-md{max-width:780px}.container-lg{max-width:900px}footer,section{padding-top:var(--section-inner);padding-bottom:var(--section-inner)}section ul:not([class]){margin-bottom:1em}section li:not([class]){position:relative;margin-top:1em;padding-left:1.8em}section li:not([class])::before{content:"";mask:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22"><path fill="currentColor" d="M11,21c5.52,0,10-4.48,10-10S16.52,1,11,1S1,5.48,1,11S5.48,21,11,21z M5.81,11.26 c0.35-0.35,0.93-0.35,1.28,0l2.09,2.09l5.26-5.26c0.36-0.31,0.9-0.29,1.23,0.05c0.34,0.34,0.36,0.87,0.05,1.23l-5.91,5.91 c-0.35,0.35-0.93,0.35-1.28,0l-2.73-2.73c-0.17-0.17-0.27-0.4-0.27-0.65C5.54,11.67,5.64,11.43,5.81,11.26z"/></svg>') no-repeat;-webkit-mask:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22"><path fill="currentColor" d="M11,21c5.52,0,10-4.48,10-10S16.52,1,11,1S1,5.48,1,11S5.48,21,11,21z M5.81,11.26 c0.35-0.35,0.93-0.35,1.28,0l2.09,2.09l5.26-5.26c0.36-0.31,0.9-0.29,1.23,0.05c0.34,0.34,0.36,0.87,0.05,1.23l-5.91,5.91 c-0.35,0.35-0.93,0.35-1.28,0l-2.73-2.73c-0.17-0.17-0.27-0.4-0.27-0.65C5.54,11.67,5.64,11.43,5.81,11.26z"/></svg>') no-repeat;position:absolute;top:2px;left:0;display:block;width:22px;height:22px;background-color:var(--secondaryColor)}.footer{text-align:center;font-size:var(--footer-fs);line-height:1.8}.footer__links,.footer__logo{display:flex;justify-content:center}.footer__logo{align-items:center;margin-bottom:35px}.footer__links{flex-wrap:wrap}.footer__disclaimer{margin-left:auto;margin-right:auto}.footer__rights{margin-top:2em}@media (max-width:767px){:root{--logo-fs: 180px}}@media (min-width:768px) and (max-width:1024px){:root{--logo-fs: 180px}}@media (min-width:1025px){:root{--logo-fs: 180px}}.header{position:relative;z-index:1;background-color:#fff;padding-top:1em;padding-bottom:1em}.header [class^=container]{display:flex;justify-content:space-between;align-items:center}.header__logo{display:flex;align-items:center;font-size:var(--logo-fs)}@media (max-width:767px){.header__logo{margin:0 auto 5px}}.header__logo .icon{height:.275em;color:#273779}@media (max-width:767px){.header__contact{display:none}}.header--has-shadow{box-shadow:0 2px 5px rgba(0,0,0,.25)}.nav{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:absolute}@media (max-width:767px){.nav{width:38px;height:38px}}@media (min-width:768px){.nav{display:none}}.nav__checkbox{visibility:hidden;position:absolute;z-index:-1}@media (max-width:767px){.nav__checkbox:checked~.menu-list{max-height:200px}}@media (min-width:768px){.nav__checkbox:checked~.menu-list{display:block}}.nav__label{overflow:hidden;display:inline-block;text-indent:200%;line-height:0}@media (max-width:767px){.nav__label{width:38px;height:38px;padding:12px 7px;background-color:transparent}}@media (min-width:768px){.nav__label{width:25px;height:25px;padding-top:2px}}@media (hover:hover) and (pointer:fine){.nav__label{cursor:pointer}}.nav__burger{display:block;background-color:#625d5d;border-radius:1px}@media (max-width:767px){.nav__burger{width:22px;height:2px;box-shadow:0 6px 0 #625d5d,0 12px 0 #625d5d}}@media (min-width:768px){.nav__burger{width:25px;height:5px;box-shadow:0 9px 0 #625d5d,0 18px 0 #625d5d}}.menu-list{overflow:hidden;position:absolute;z-index:2}@media (max-width:767px){.menu-list{left:calc(var(--grid-gutter-width)/-2);width:50vw;min-width:215px;max-height:0;transition:all 500ms ease-in-out}}@media (min-width:768px){.menu-list{display:none;top:40px;left:0;width:250px;box-shadow:0 0 16px 0 rgba(0,0,0,.2)}}.menu-list__link{display:block;line-height:1.15;background-color:#fff}.menu-list__link,.menu-list__link:hover,.menu-list__link:visited{text-decoration:none;color:var(--mainColor)}@media (max-width:767px){.menu-list__link{padding:15px}}@media (min-width:768px){.menu-list__link{display:block;padding:12px 16px}}@media (hover:hover) and (pointer:fine){.menu-list__link:hover{background-color:hsl(var(--textColor_h),var(--textColor_s),calc(var(--textColor_l) + 80%))}}.cta-wrap{margin:0 auto;text-align:center;color:var(--buttonColor, white);background:var(--wrapperBackgroundColor, var(--mainColor))}section .cta-wrap{margin-top:1.25em}section+.cta-wrap{padding-top:1.5em;padding-bottom:1.5em}.cta-wrap [class^=container]{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--ctaWrapGap, 2em)}.cta-wrap--sticky{position:sticky;top:calc(100% - var(--stickyBarHeight));left:0;max-width:none;width:100%;height:var(--stickyBarHeight);z-index:999}.cta-wrap--sticky:not(:last-child)+*{margin-top:calc(var(--stickyBarHeight)*-1)}.cta-wrap--sticky~:last-child{padding-bottom:calc(var(--stickyBarHeight) + var(--section-inner))}.cta-wrap__title{font-size:var(--ctaTitleFontSize, 2.25em);line-height:1}@media (max-width:374px){.cta-wrap__title{--ctaTitleFontSize: 1em}}@media (min-width:375px) and (max-width:413px){.cta-wrap__title{--ctaTitleFontSize: 1.25em}}@media (min-width:414px) and (max-width:767px){.cta-wrap__title{--ctaTitleFontSize: 1.5em}}.cta-wrap .btn{flex:1 1 auto;max-width:370px;margin:0}@media (min-width:850px){.cta-wrap .hide-td{display:none}}@media (max-width:849px){.cta-wrap .hide-mt{display:none}}.btn{display:inline-block;padding:.75em 1.25em;font-family:var(--mainFont);font-weight:var(--ctaFontWeight, 600);font-size:var(--btn-fs, 18px);text-align:center;white-space:nowrap;line-height:1;color:var(--buttonColor, white);background:var(--button-bg-initial, linear-gradient(0deg, var(--CTA) 0%, hsl(calc(var(--CTA_h) + 13), calc(var(--CTA_s) + 4%), calc(var(--CTA_l) + 11%)) 100%));border-radius:var(--buttonRadius, 8px);box-shadow:var(--buttonShadow, 0 3px 6px rgba(0, 0, 0, 0.15));transition:all 150ms ease-in-out}@media (max-width:374px){.btn{width:100%;padding-inline:.5em}}.btn:not([href]),.btn:not([href]):hover{color:var(--buttonColor, white)}.btn [disabled],.btn.disabled{filter:grayscale(1)}.btn:hover,.btn:visited{color:var(--buttonColor, white);text-decoration:none}.btn:hover{background:var(--button-bg-hover, linear-gradient(0deg, var(--CTA) 0%, var(--CTA) 100%))}.btn .icon{font-size:.75em}.popscreen{position:fixed;left:0;top:0;z-index:1000;width:100%;height:100vh;display:flex;flex-direction:column;padding-block:0;background-color:var(--backgroundColor, white)}.popscreen [class^=container]{display:flex;justify-content:center;align-items:center}.popscreen__header{position:relative;z-index:1;width:100%;padding-block:1em .5em}.popscreen__header [class^=container]{display:flex;justify-content:space-between;align-items:center;flex-direction:row}.popscreen__logo{display:flex;align-items:center}@media (max-width:767px){.popscreen__logo{width:var(--popscreen-logoWidthMob, 168px);font-size:var(--popscreen-logoWidthMob, 168px)}}@media (min-width:768px) and (max-width:1024px){.popscreen__logo{width:var(--popscreen-logoWidthTab, 175px);font-size:var(--popscreen-logoWidthTab, 175px)}}@media (min-width:1025px){.popscreen__logo{width:var(--popscreen-logoWidthDesk, 180px);font-size:var(--popscreen-logoWidthDesk, 180px)}}.popscreen__logo .icon{height:var(--popscreen-logoHeight, 0.275em)}.popscreen__close-btn{display:flex;align-self:flex-start;color:inherit;font-size:var(--popscreen-closeBtn-fs, 1.5em);cursor:pointer}.popscreen>[class^=container]{flex-direction:column;flex:1 1 100%;transform:translateY(-5vh)}.popscreen__content{display:flex;justify-content:center;flex-direction:column}@media (max-width:767px) and (max-height:520px){.popscreen__content{flex:1 1 100%}}.popscreen__title{margin-block:0 .5em;font-size:var(--popscreen-title-fs, 50px);font-weight:var(--popscreen-title-wg, 800);text-align:center;color:var(--mainColor)}@media (max-width:374px){.popscreen__title{--popscreen-title-fs: 24px}}@media (min-width:375px) and (max-width:767px){.popscreen__title{--popscreen-title-fs: 26px}}@media (min-width:768px) and (max-width:1024px) and (min-height:991px){.popscreen__title{--popscreen-title-fs: 38px}}@media (min-width:1025px){.popscreen__title{--popscreen-title-fs: 50px}}@media (min-width:768px) and (max-height:990px){.popscreen__title{--popscreen-title-fs: 35px}}@media (min-width:768px){.popscreen__title{display:flex;flex-direction:column;justify-content:center}}.popscreen__title span{display:block;font-size:var(--popscreen-titleInc-fs, 1.95em);line-height:1;color:var(--secondaryColor)}.popscreen__image-wrapper{display:flex;justify-content:center;flex:1 1 100%}.popscreen__image-wrapper picture{display:flex;align-items:center;height:100%}.popscreen__image{max-width:var(--popscreen-secondImg-w, 60vw)}@media (max-width:519px){.popscreen__image{width:auto;max-height:100%}}@media (min-width:520px){.popscreen__image{--popscreen-secondImg-w: 240px;object-fit:cover}}@media (min-width:768px) and (max-height:990px){.popscreen__image{max-height:35vh;width:auto;height:100%}}.popscreen__footer{display:flex;align-items:center;flex-direction:column;width:100%}@media (max-width:767px){.popscreen__footer{padding-block:1.25em}}@media (min-width:768px) and (max-height:990px){.popscreen__footer{padding-block:1.25em}}@media (min-width:768px) and (min-height:991px){.popscreen__footer{padding-block:2.5em}}.popscreen__title{--secondaryColor: var(--tertiaryColor)}@media (min-width:1025px){.popscreen__title{order:1;margin-block:.5em 0}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9hbmltYXRpb25zL19mYWRlcy5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX21vdGlvbi5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX3NjaGVtYS5zY3NzIiwiYWJzdHJhY3RzL3ZhcmlhYmxlcy90eXBvZ3JhcGh5LnNjc3MiLCJhYnN0cmFjdHMvdmFyaWFibGVzL19jb2xvcnMuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL19ncmlkLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL190cmFuc2l0aW9ucy5zY3NzIiwidmVuZG9ycy9ib290c3RyYXAvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC9fbW9kYWwuc2NzcyIsImxheW91dC9fbGF5b3V0LnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL3V0aWxpdGllcy9fZmxleC5zY3NzIiwiYmFzZS9fcmVzZXQuc2NzcyIsImJhc2UvX3Jlc2V0LWV4dGVuZGVkLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJiYXNlL19oZWxwZXItY2xhc3Nlcy5zY3NzIiwiYWJzdHJhY3RzL2Z1bmN0aW9ucy9faW5jbHVkZS1tZWRpYS5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9faWNvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm9vdGVyL2luZGV4LnNjc3MiLCIuLi9jb21wb25lbnRzL2hlYWRlci9pbmRleC5zY3NzIiwiYWJzdHJhY3RzL21peGlucy9fZnVuY3Rpb25hbGl0eS5zY3NzIiwiLi4vY29tcG9uZW50cy9zY19DVEEvaW5kZXguc2NzcyIsIi4uL2NvbXBvbmVudHMvc2NfcG9wc2NyZWVuL2luZGV4LnNjc3MiLCJza2luL3BvcHNjcmVlbi9pbmRleC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBLEFBRUEsaUJBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFHWCx5QkFDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQUdYLHNCQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFBS1gsa0JBQ0ksRSxDQUFPLFMsQ0FDUCxFLENBQU8sVyxBQUVYLDBCQUNJLEUsQ0FBTyxTLENBQ1AsRSxDQUFPLFcsQUFFWCx1QkFDSSxFLENBQU8sUyxDQUNQLEUsQ0FBTyxXLEFBSVgseUJBQ0ksRSxDQUdBLEUsQ0FITyxTLENBQ1AsRyxDQUNBLEcsQ0FETyxXLEFBSVgsaUNBQ0ksRSxDQUdBLEUsQ0FITyxTLENBQ1AsRyxDQUNBLEcsQ0FETyxXLEFBSVgsOEJBQ0ksRSxDQUdBLEUsQ0FITyxTLENBQ1AsRyxDQUNBLEcsQ0FETyxXLEFBTVgsd0JBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFHWCxnQ0FDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQUdYLDZCQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFBTVgsa0JBQ0ksRSxDQUFPLGEsQ0FBZ0IsUyxDQUN2QixFLENBQU0sUyxDQUNOLEUsQ0FBTyxXLEFBRVgsMEJBQ0ksRSxDQUFPLGEsQ0FBZ0IsUyxDQUN2QixFLENBQU0sUyxDQUNOLEUsQ0FBTyxXLEFBRVgsdUJBQ0ksRSxDQUFPLGEsQ0FBaUIsUyxDQUN4QixFLENBQU0sUyxDQUNOLEUsQ0FBTyxXLEFDbEZYLGdCQUNJLEUsQ0FFQSxFLENBRk8sdUIsQ0FDUCxHLENBQU8sNkIsQUFHWCx3QkFDSSxFLENBRUEsRSxDQUZPLHVCLENBQ1AsRyxDQUFPLDZCLEFBR1gscUJBQ0ksRSxDQUVBLEUsQ0FGTyx1QixDQUNQLEcsQ0FBTyw2QixBQUtYLGtCQUNJLEUsQ0FBTyx3QixDQUNQLEUsQ0FBTyx5QixBQUVYLDBCQUNJLEUsQ0FBTyx3QixDQUNQLEUsQ0FBTyx5QixBQUVYLHVCQUNJLEUsQ0FBTyx3QixDQUNQLEUsQ0FBTyx5QixBQUlYLGtCQUNJLEUsQ0FBTyx1QixDQUNQLEUsQ0FBTyx3QixBQUVYLDBCQUNJLEUsQ0FBTyx1QixDQUNQLEUsQ0FBTyx3QixBQUVYLHVCQUNJLEUsQ0FBTyx1QixDQUNQLEUsQ0FBTyx3QixBQUlYLGlCQUNJLEUsQ0FFQSxFLENBRk8sa0IsQ0FDUCxHLENBQU8sb0IsQUFHWCx5QkFDSSxFLENBRUEsRSxDQUZPLGtCLENBQ1AsRyxDQUFPLG9CLEFBR1gsc0JBQ0ksRSxDQUVBLEUsQ0FGTyxrQixDQUNQLEcsQ0FBTyxvQixBQUtYLGdCQUNJLEUsQ0FFQSxHLENBRUEsRSxDQUpPLHVCLENBQ1AsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDRCLEFBR1gsd0JBQ0ksRSxDQUVBLEcsQ0FFQSxFLENBSk8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNEIsQUFHWCxxQkFDSSxFLENBRUEsRyxDQUVBLEUsQ0FKTyx1QixDQUNQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw0QixBQUtYLGlCQUNJLEUsQ0FHQSxFLENBSE8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FDUCxHLENBQU8sNEIsQUFHWCx5QkFDSSxFLENBR0EsRSxDQUhPLHVCLENBQ1AsRyxDQUFPLDJCLENBQ1AsRyxDQUFPLDRCLEFBR1gsc0JBQ0ksRSxDQUdBLEUsQ0FITyx1QixDQUNQLEcsQ0FBTywyQixDQUNQLEcsQ0FBTyw0QixBQUtYLHFCQUNJLEUsQ0FBTyxrQixDQUNQLEUsQ0FBTyxvQixBQUVYLDZCQUNJLEUsQ0FBTyxrQixDQUNQLEUsQ0FBTyxvQixBQUVYLDBCQUNJLEUsQ0FBTyxrQixDQUNQLEUsQ0FBTyxvQixBQUlYLDBCQUNJLEUsQ0FBTyxzQixDQUNQLEUsQ0FBTyx5QixBQUVYLGtDQUNJLEUsQ0FBTyxzQixDQUNQLEUsQ0FBTyx5QixBQUVYLCtCQUNJLEUsQ0FBTyxzQixDQUNQLEUsQ0FBTyx5QixBQUlYLHVCQUNJLEUsQ0FHQSxFLENBSE8sc0IsQ0FDUCxFLENBQU8sc0IsQ0FDUCxHLENBQU8seUIsQUFHWCwrQkFDSSxFLENBR0EsRSxDQUhPLHNCLENBQ1AsRSxDQUFPLHNCLENBQ1AsRyxDQUFPLHlCLEFBR1gsNEJBQ0ksRSxDQUdBLEUsQ0FITyxzQixDQUNQLEUsQ0FBTyxzQixDQUNQLEcsQ0FBTyx5QixBQUtYLGtCQUNJLEUsQ0FDQSxHLENBRUEsRyxDQUVBLEcsQ0FDQSxFLENBTk8sdUIsQ0FFUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNkIsQUFJWCwwQkFDSSxFLENBQ0EsRyxDQUVBLEcsQ0FFQSxHLENBQ0EsRSxDQU5PLHVCLENBRVAsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDZCLEFBSVgsdUJBQ0ksRSxDQUNBLEcsQ0FFQSxHLENBRUEsRyxDQUNBLEUsQ0FOTyx1QixDQUVQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw2QixBQU1YLGtDQUNJLEUsQ0FLQSxHLENBQ0EsRSxDQU5PLGtDLENBQ1AsRyxDQUVBLEcsQ0FGTyx1QyxDQUNQLEcsQ0FBTywyQyxDQUVQLEcsQ0FBTyx3QyxBQUlYLDBDQUNJLEUsQ0FLQSxHLENBQ0EsRSxDQU5PLGtDLENBQ1AsRyxDQUVBLEcsQ0FGTyx1QyxDQUNQLEcsQ0FBTywyQyxDQUVQLEcsQ0FBTyx3QyxBQUlYLHVDQUNJLEUsQ0FLQSxHLENBQ0EsRSxDQU5PLGtDLENBQ1AsRyxDQUVBLEcsQ0FGTyx1QyxDQUNQLEcsQ0FBTywyQyxDQUVQLEcsQ0FBTyx3QyxBQzNNWCwwQkFDSSxFLENBQ0EsRyxDQURPLG9CLENBRVAsRSxDQUFPLDhCLEFBRVgsa0NBQ0ksRSxDQUNBLEcsQ0FETyxvQixDQUVQLEUsQ0FBTyw4QixBQUVYLCtCQUNJLEUsQ0FDQSxHLENBRE8sb0IsQ0FFUCxFLENBQU8sOEIsQUNWWCxXQUNJLHVCLENBQ0Esa0QsQ0FDQSxnQixBQUdKLFdBQ0ksdUIsQ0FDQSxvRCxDQUNBLGdCLEFBR0osV0FDSSx1QixDQUNBLHFELENBQ0EsZ0IsQUFHSixXQUNJLHVCLENBQ0EsaUQsQ0FDQSxnQkMzQkosSyxDQUNJLCtCLENBQ0Esa0IsQ0FDQSxrQixDQUNBLGtCLENBRUEsbUMsQ0FDQSxzQixDQUNBLHVCLENBQ0EsdUIsQ0FFQSxtQyxDQUNBLHNCLENBQ0Esc0IsQ0FDQSxzQixDQUVBLHFDLENBQ0Esd0IsQ0FDQSx3QixDQUNBLHdCLENBRUEsNkIsQ0FDQSxpQixDQUNBLGtCLENBQ0EsbUIsQ0FFQSw0QixDQUNBLGdCLENBQ0EsaUIsQ0FDQSxrQixDQUVBLGlDLENBQ0EsbUIsQ0FDQSxxQixDQUNBLG9CLENBRUEsd0IsQ0FDQSxXLENBQ0EsWSxDQUNBLFk7Ozs7Ozs7QUNsQ0YsVSxDQ0RBLFUsQ0FDQSxrQixDQUNBLGlCLENBQ0EsaUIsQ0FDQSxnQixDQ21ERSx5QkZ0REYsVSxDQ1dJLGlCLEFDMkNGLHlCRnRERixVLENDV0ksaUIsQUMyQ0YseUJGdERGLFUsQ0NXSSxpQixBQzJDRiwwQkZ0REYsVSxDQ1dJLGtCRExKLGdCLENBQUEsYSxDQUFBLGEsQ0FBQSxhLENBQUEsYSxDQ1BBLFUsQ0FDQSxrQixDQUNBLGlCLENBQ0EsaUIsQ0FDQSxnQixDQ21ERSx5QkZyQ0UsVSxDQUFBLGEsQ0FDRSxpQixBRW9DSix5QkZyQ0UsVSxDQUFBLGEsQ0FBQSxhLENBQ0UsaUIsQUVvQ0oseUJGckNFLFUsQ0FBQSxhLENBQUEsYSxDQUFBLGEsQ0FDRSxpQixBRW9DSiwwQkZyQ0UsVSxDQUFBLGEsQ0FBQSxhLENBQUEsYSxDQUFBLGEsQ0FDRSxrQkE0Qk4sSSxDQzdCQSxZLENBQ0EsYyxDQUNBLGtCLENBQ0EsaUIsQ0RnQ0EsVyxDQUNFLGMsQ0FDQSxhLENBRUEsZ0IsQ0FBQSx5QixDQUVFLGUsQ0FDQSxjLENHMURKLEksQ0FBQSxPLENBQUEsUyxDQUFBLFUsQ0FBQSxVLENBQUEsVSxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsWSxDQUFBLE8sQ0FBQSxTLENBQUEsVSxDQUFBLFUsQ0FBQSxVLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxZLENBQUEsTyxDQUFBLFMsQ0FBQSxVLENBQUEsVSxDQUFBLFUsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFksQ0FBQSxPLENBQUEsUyxDQUFBLFUsQ0FBQSxVLENBQUEsVSxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsWSxDQUNFLGlCLENBQ0EsVSxDQUNBLGtCLENBQ0EsaUIsQ0FKRixTLENBQ0UsaUIsQ0FFQSxrQixDQUNBLGlCLENBSkYsTSxDQUFBLE8sQ0FBQSxPLENBQUEsTyxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQ0UsaUIsQ0FDQSxVLENBQ0Esa0IsQ0FDQSxpQixDQXNCRSxJLENBQ0UsWSxDQUNBLFcsQ0FDQSxXLENBQ0EsYyxDRjJCTixhLENBQ0UsYSxDQUNBLGMsQ0FGRixhLENBQ0UsWSxDQUNBLGEsQ0FGRixhLENBQ0UsdUIsQ0FDQSx3QixDQUZGLGEsQ0FDRSxZLENBQ0EsYSxDQUZGLGEsQ0FDRSxZLENBQ0EsYSxDQUZGLGEsQ0FDRSx1QixDQUNBLHdCLENFbEJFLFMsQ0ZBSixhLENBQ0EsVSxDQUNBLGMsQ0VJUSxNLENGZFIsc0IsQ0FJQSx1QixDRVVRLE0sQ0ZkUix1QixDQUlBLHdCLENFVVEsTSxDRmRSLFksQ0FJQSxhLENFVVEsTSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxNLENGZFIsdUIsQ0FJQSx3QixDRVVRLE0sQ0ZkUixZLENBSUEsYSxDRVVRLE0sQ0ZkUix1QixDQUlBLHdCLENFVVEsTSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxNLENGZFIsWSxDQUlBLGEsQ0VVUSxPLENGZFIsdUIsQ0FJQSx3QixDRVVRLE8sQ0ZkUix1QixDQUlBLHdCLENFVVEsTyxDRmRSLGEsQ0FJQSxjLENFZ0JJLFksQ0FBd0IsUSxDQUV4QixXLENBQXVCLFEsQ0FHckIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFMsQ0FBd0IsUSxDQUF4QixTLENBQXdCLFEsQ0FBeEIsUyxDQUF3QixRLENBT3BCLFMsQ0ZqQlYseUIsQ0VpQlUsUyxDRmpCViwwQixDRWlCVSxTLENGakJWLGUsQ0VpQlUsUyxDRmpCViwwQixDRWlCVSxTLENGakJWLDBCLENFaUJVLFMsQ0ZqQlYsZSxDRWlCVSxTLENGakJWLDBCLENFaUJVLFMsQ0ZqQlYsMEIsQ0VpQlUsUyxDRmpCVixlLENFaUJVLFUsQ0ZqQlYsMEIsQ0VpQlUsVSxDRmpCViwwQixDQ0tFLHlCQzNCRSxPLENBQ0UsWSxDQUNBLFcsQ0FDQSxXLENBQ0EsYyxDRjJCTixnQixDQUNFLGEsQ0FDQSxjLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsdUIsQ0FDQSx3QixDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENFbEJFLFksQ0ZBSixhLENBQ0EsVSxDQUNBLGMsQ0VJUSxTLENGZFIsc0IsQ0FJQSx1QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxVLENGZFIsdUIsQ0FJQSx3QixDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLGEsQ0FJQSxjLENFZ0JJLGUsQ0FBd0IsUSxDQUV4QixjLENBQXVCLFEsQ0FHckIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FBeEIsWSxDQUF3QixRLENBT3BCLFksQ0ZqQlYsYSxDRWlCVSxZLENGakJWLHlCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxhLENGakJWLDBCLENFaUJVLGEsQ0ZqQlYsNEIsQUNLRSx5QkMzQkUsTyxDQUNFLFksQ0FDQSxXLENBQ0EsVyxDQUNBLGMsQ0YyQk4sZ0IsQ0FDRSxhLENBQ0EsYyxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsdUIsQ0FDQSx3QixDRWxCRSxZLENGQUosYSxDQUNBLFUsQ0FDQSxjLENFSVEsUyxDRmRSLHNCLENBSUEsdUIsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsdUIsQ0FJQSx3QixDRVVRLFUsQ0ZkUixhLENBSUEsYyxDRWdCSSxlLENBQXdCLFEsQ0FFeEIsYyxDQUF1QixRLENBR3JCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixZLENBQXdCLFEsQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQU9wQixZLENGakJWLGEsQ0VpQlUsWSxDRmpCVix5QixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsYSxDRmpCViwwQixDRWlCVSxhLENGakJWLDRCLEFDS0UseUJDM0JFLE8sQ0FDRSxZLENBQ0EsVyxDQUNBLFcsQ0FDQSxjLENGMkJOLGdCLENBQ0UsYSxDQUNBLGMsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0VsQkUsWSxDRkFKLGEsQ0FDQSxVLENBQ0EsYyxDRUlRLFMsQ0ZkUixzQixDQUlBLHVCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsYSxDQUlBLGMsQ0VnQkksZSxDQUF3QixRLENBRXhCLGMsQ0FBdUIsUSxDQUdyQixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FPcEIsWSxDRmpCVixhLENFaUJVLFksQ0ZqQlYseUIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLGEsQ0ZqQlYsMEIsQ0VpQlUsYSxDRmpCViw0QixBQ0tFLDBCQzNCRSxPLENBQ0UsWSxDQUNBLFcsQ0FDQSxXLENBQ0EsYyxDRjJCTixnQixDQUNFLGEsQ0FDQSxjLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsdUIsQ0FDQSx3QixDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENFbEJFLFksQ0ZBSixhLENBQ0EsVSxDQUNBLGMsQ0VJUSxTLENGZFIsc0IsQ0FJQSx1QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxVLENGZFIsdUIsQ0FJQSx3QixDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLGEsQ0FJQSxjLENFZ0JJLGUsQ0FBd0IsUSxDQUV4QixjLENBQXVCLFEsQ0FHckIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FBeEIsWSxDQUF3QixRLENBT3BCLFksQ0ZqQlYsYSxDRWlCVSxZLENGakJWLHlCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxhLENGakJWLDBCLENFaUJVLGEsQ0ZqQlYsNEJHdkRGLEssQ0NnQk0sOEIsQ0FJQSx1Q0RwQk4sSyxDQ3FCUSxpQixBRGxCTixVQUFBLE0sQ0FDRSxTLENBS0YsY0FBQSxNLENBQ0UsWSxDQUlKLFcsQ0FDRSxpQixDQUNBLFEsQ0FDQSxlLENDREksMkIsQ0FJQSx1Q0ROTixXLENDT1EsaUJDSlIsTSxDQVhBLFcsQ0NRQSxZLENETkUsZSxDQUVBLGtCLENBQ0UsaUIsQ0FDQSxlLENBS0osTSxDQUNFLGMsQ0FDQSxLLENBQ0EsTSxDQUNBLFksQ0FDQSxZLENBQ0EsVSxDQUNBLFcsQ0FJQSxTLENBT0YsYSxDQUNFLGlCLENBQ0EsVSxDQUNBLFksQ0FFQSxtQixDQUdBLHlCLENEM0JJLGlDLENDNkJGLDRCLENEekJFLHVDQ3VCSix5QixDRHRCTSxpQkMwQk4seUIsQ0FDRSxjLENBSUYsaUMsQ0FDRSxxQixDQUlKLHdCLENBQ0UsWSxDQUNBLDRCLENBRUEsdUMsQ0FDRSw2QixDQUNBLGUsQ0FHRixzQyxDQUFBLHNDLENBRUUsYSxDQUdGLG9DLENBQ0UsZSxDQUlKLHNCLENBQ0UsWSxDQUNBLGtCLENBQ0EsNEIsQ0FHQSw4QixDQUNFLGEsQ0FDQSx5QixDQUNBLGtCLENBQ0EsVSxDQUlGLDhDLENBQ0UscUIsQ0FDQSxzQixDQUNBLFcsQ0FFQSw2RCxDQUNFLGUsQ0FHRixzRCxDQUNFLFksQ0FNTixjLENBQ0UsaUIsQ0FDQSxZLENBQ0EscUIsQ0FDQSxVLENBR0EsbUIsQ0FDQSxxQixDQUNBLDJCLENBQ0EsK0IsQ0VsR0UsbUIsQ0ZzR0YsUyxDQUlGLGUsQ0FDRSxjLENBQ0EsSyxDQUNBLE0sQ0FDQSxZLENBQ0EsVyxDQUNBLFksQ0FDQSxxQixDQUdBLG9CLENBQVMsUyxDQUNULG9CLENBQVMsVSxDQUtYLGEsQ0FDRSxZLENBQ0Esc0IsQ0FDQSw2QixDQUNBLFksQ0FDQSwrQixDRXRIRSx3QyxDQUNBLHlDLENGd0hGLG9CLENBQ0UsWSxDQUVBLDZCLENBS0osWSxDQUNFLGUsQ0FDQSxlLENBS0YsVyxDQUNFLGlCLENBR0EsYSxDQUNBLFksQ0FJRixhLENBQ0UsWSxDQUNBLGMsQ0FDQSxrQixDQUNBLHdCLENBQ0EsYyxDQUNBLDRCLENFeklFLDRDLENBQ0EsMkMsQ0YrSUYsZSxDQUNFLGEsQ0FLSix3QixDQUNFLGlCLENBQ0EsVyxDQUNBLFUsQ0FDQSxXLENBQ0EsZSxDSnhJRSx5Qkk4SUYsYSxDQUNFLGUsQ0FDQSxtQixDQUdGLHdCLENBQ0UsOEIsQ0FFQSx1QyxDQUNFLCtCLENBSUosc0IsQ0FDRSw4QixDQUVBLDhCLENBQ0UsMkIsQ0FDQSxrQixDQVFKLFMsQ0FBWSxpQixBSnhLVix5Qkk0S0YsUyxDQUFBLFMsQ0FFRSxpQixBSjlLQSwwQkltTEYsUyxDQUFZLGtCR3JPVixTLENBQWdDLDRCLENBQ2hDLFksQ0FBZ0MsK0IsQ0FDaEMsaUIsQ0FBZ0Msb0MsQ0FDaEMsb0IsQ0FBZ0MsdUMsQ0FFaEMsVSxDQUE4Qix3QixDQUM5QixZLENBQThCLDBCLENBQzlCLGtCLENBQThCLGdDLENBQzlCLFUsQ0FBOEIsdUIsQ0FDOUIsWSxDQUE4QixxQixDQUM5QixZLENBQThCLHFCLENBQzlCLGMsQ0FBOEIsdUIsQ0FDOUIsYyxDQUE4Qix1QixDQUU5QixzQixDQUFvQyxvQyxDQUNwQyxvQixDQUFvQyxrQyxDQUNwQyx1QixDQUFvQyxnQyxDQUNwQyx3QixDQUFvQyx1QyxDQUNwQyx1QixDQUFvQyxzQyxDQUVwQyxrQixDQUFpQyxnQyxDQUNqQyxnQixDQUFpQyw4QixDQUNqQyxtQixDQUFpQyw0QixDQUNqQyxxQixDQUFpQyw4QixDQUNqQyxvQixDQUFpQyw2QixDQUVqQyxvQixDQUFrQyxrQyxDQUNsQyxrQixDQUFrQyxnQyxDQUNsQyxxQixDQUFrQyw4QixDQUNsQyxzQixDQUFrQyxxQyxDQUNsQyxxQixDQUFrQyxvQyxDQUNsQyxzQixDQUFrQywrQixDQUVsQyxnQixDQUFnQyx5QixDQUNoQyxpQixDQUFnQywrQixDQUNoQyxlLENBQWdDLDZCLENBQ2hDLGtCLENBQWdDLDJCLENBQ2hDLG9CLENBQWdDLDZCLENBQ2hDLG1CLENBQWdDLDRCLENQWWhDLHlCT2xEQSxZLENBQWdDLDRCLENBQ2hDLGUsQ0FBZ0MsK0IsQ0FDaEMsb0IsQ0FBZ0Msb0MsQ0FDaEMsdUIsQ0FBZ0MsdUMsQ0FFaEMsYSxDQUE4Qix3QixDQUM5QixlLENBQThCLDBCLENBQzlCLHFCLENBQThCLGdDLENBQzlCLGEsQ0FBOEIsdUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixlLENBQThCLHFCLENBQzlCLGlCLENBQThCLHVCLENBQzlCLGlCLENBQThCLHVCLENBRTlCLHlCLENBQW9DLG9DLENBQ3BDLHVCLENBQW9DLGtDLENBQ3BDLDBCLENBQW9DLGdDLENBQ3BDLDJCLENBQW9DLHVDLENBQ3BDLDBCLENBQW9DLHNDLENBRXBDLHFCLENBQWlDLGdDLENBQ2pDLG1CLENBQWlDLDhCLENBQ2pDLHNCLENBQWlDLDRCLENBQ2pDLHdCLENBQWlDLDhCLENBQ2pDLHVCLENBQWlDLDZCLENBRWpDLHVCLENBQWtDLGtDLENBQ2xDLHFCLENBQWtDLGdDLENBQ2xDLHdCLENBQWtDLDhCLENBQ2xDLHlCLENBQWtDLHFDLENBQ2xDLHdCLENBQWtDLG9DLENBQ2xDLHlCLENBQWtDLCtCLENBRWxDLG1CLENBQWdDLHlCLENBQ2hDLG9CLENBQWdDLCtCLENBQ2hDLGtCLENBQWdDLDZCLENBQ2hDLHFCLENBQWdDLDJCLENBQ2hDLHVCLENBQWdDLDZCLENBQ2hDLHNCLENBQWdDLDhCLEFQWWhDLHlCT2xEQSxZLENBQWdDLDRCLENBQ2hDLGUsQ0FBZ0MsK0IsQ0FDaEMsb0IsQ0FBZ0Msb0MsQ0FDaEMsdUIsQ0FBZ0MsdUMsQ0FFaEMsYSxDQUE4Qix3QixDQUM5QixlLENBQThCLDBCLENBQzlCLHFCLENBQThCLGdDLENBQzlCLGEsQ0FBOEIsdUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixlLENBQThCLHFCLENBQzlCLGlCLENBQThCLHVCLENBQzlCLGlCLENBQThCLHVCLENBRTlCLHlCLENBQW9DLG9DLENBQ3BDLHVCLENBQW9DLGtDLENBQ3BDLDBCLENBQW9DLGdDLENBQ3BDLDJCLENBQW9DLHVDLENBQ3BDLDBCLENBQW9DLHNDLENBRXBDLHFCLENBQWlDLGdDLENBQ2pDLG1CLENBQWlDLDhCLENBQ2pDLHNCLENBQWlDLDRCLENBQ2pDLHdCLENBQWlDLDhCLENBQ2pDLHVCLENBQWlDLDZCLENBRWpDLHVCLENBQWtDLGtDLENBQ2xDLHFCLENBQWtDLGdDLENBQ2xDLHdCLENBQWtDLDhCLENBQ2xDLHlCLENBQWtDLHFDLENBQ2xDLHdCLENBQWtDLG9DLENBQ2xDLHlCLENBQWtDLCtCLENBRWxDLG1CLENBQWdDLHlCLENBQ2hDLG9CLENBQWdDLCtCLENBQ2hDLGtCLENBQWdDLDZCLENBQ2hDLHFCLENBQWdDLDJCLENBQ2hDLHVCLENBQWdDLDZCLENBQ2hDLHNCLENBQWdDLDhCLEFQWWhDLHlCT2xEQSxZLENBQWdDLDRCLENBQ2hDLGUsQ0FBZ0MsK0IsQ0FDaEMsb0IsQ0FBZ0Msb0MsQ0FDaEMsdUIsQ0FBZ0MsdUMsQ0FFaEMsYSxDQUE4Qix3QixDQUM5QixlLENBQThCLDBCLENBQzlCLHFCLENBQThCLGdDLENBQzlCLGEsQ0FBOEIsdUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixlLENBQThCLHFCLENBQzlCLGlCLENBQThCLHVCLENBQzlCLGlCLENBQThCLHVCLENBRTlCLHlCLENBQW9DLG9DLENBQ3BDLHVCLENBQW9DLGtDLENBQ3BDLDBCLENBQW9DLGdDLENBQ3BDLDJCLENBQW9DLHVDLENBQ3BDLDBCLENBQW9DLHNDLENBRXBDLHFCLENBQWlDLGdDLENBQ2pDLG1CLENBQWlDLDhCLENBQ2pDLHNCLENBQWlDLDRCLENBQ2pDLHdCLENBQWlDLDhCLENBQ2pDLHVCLENBQWlDLDZCLENBRWpDLHVCLENBQWtDLGtDLENBQ2xDLHFCLENBQWtDLGdDLENBQ2xDLHdCLENBQWtDLDhCLENBQ2xDLHlCLENBQWtDLHFDLENBQ2xDLHdCLENBQWtDLG9DLENBQ2xDLHlCLENBQWtDLCtCLENBRWxDLG1CLENBQWdDLHlCLENBQ2hDLG9CLENBQWdDLCtCLENBQ2hDLGtCLENBQWdDLDZCLENBQ2hDLHFCLENBQWdDLDJCLENBQ2hDLHVCLENBQWdDLDZCLENBQ2hDLHNCLENBQWdDLDhCLEFQWWhDLDBCT2xEQSxZLENBQWdDLDRCLENBQ2hDLGUsQ0FBZ0MsK0IsQ0FDaEMsb0IsQ0FBZ0Msb0MsQ0FDaEMsdUIsQ0FBZ0MsdUMsQ0FFaEMsYSxDQUE4Qix3QixDQUM5QixlLENBQThCLDBCLENBQzlCLHFCLENBQThCLGdDLENBQzlCLGEsQ0FBOEIsdUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixlLENBQThCLHFCLENBQzlCLGlCLENBQThCLHVCLENBQzlCLGlCLENBQThCLHVCLENBRTlCLHlCLENBQW9DLG9DLENBQ3BDLHVCLENBQW9DLGtDLENBQ3BDLDBCLENBQW9DLGdDLENBQ3BDLDJCLENBQW9DLHVDLENBQ3BDLDBCLENBQW9DLHNDLENBRXBDLHFCLENBQWlDLGdDLENBQ2pDLG1CLENBQWlDLDhCLENBQ2pDLHNCLENBQWlDLDRCLENBQ2pDLHdCLENBQWlDLDhCLENBQ2pDLHVCLENBQWlDLDZCLENBRWpDLHVCLENBQWtDLGtDLENBQ2xDLHFCLENBQWtDLGdDLENBQ2xDLHdCLENBQWtDLDhCLENBQ2xDLHlCLENBQWtDLHFDLENBQ2xDLHdCLENBQWtDLG9DLENBQ2xDLHlCLENBQWtDLCtCLENBRWxDLG1CLENBQWdDLHlCLENBQ2hDLG9CLENBQWdDLCtCLENBQ2hDLGtCLENBQWdDLDZCLENBQ2hDLHFCLENBQWdDLDJCLENBQ2hDLHVCLENBQWdDLDZCLENBQ2hDLHNCLENBQWdDLDhCQzNDcEMsSSxDQWNDLFMsQ0FJQSx1QixDQWxCRCxDLENBQUEsSSxDQUFBLE8sQ0FBQSxPLENBQUEsTSxDQUFBLE8sQ0FBQSxLLENBQUEsSyxDQUFBLEMsQ0FBQSxHLENBQUEsVSxDQUFBLEksQ0FBQSxNLENBQUEsTyxDQUFBLE0sQ0FBQSxJLENBQUEsSSxDQUFBLEUsQ0FBQSxHLENBQUEsTyxDQUFBLEcsQ0FBQSxHLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsSyxDQUFBLFUsQ0FBQSxNLENBQUEsRSxDQUFBLEUsQ0FBQSxNLENBQUEsTSxDQUFBLEMsQ0FBQSxNLENBQUEsRyxDQUFBLEcsQ0FBQSxLLENBQUEsRSxDQUFBLEksQ0FBQSxJLENBQUEsRyxDQUFBLE0sQ0FBQSxFLENBQUEsTSxDQUFBLEMsQ0FBQSxHLENBQUEsQyxDQUFBLEksQ0FBQSxDLENBQUEsSSxDQUFBLE8sQ0FBQSxLLENBQUEsSSxDQUFBLE0sQ0FBQSxNLENBQUEsRyxDQUFBLE8sQ0FBQSxLLENBQUEsSyxDQUFBLEUsQ0FBQSxLLENBQUEsRSxDQUFBLEssQ0FBQSxJLENBQUEsRSxDQUFBLEUsQ0FBQSxDLENBQUEsRSxDQUFBLEcsQ0FBQSxLLENBYUUsUSxDQUNELFMsQ0FDQSxRLENBRUEsWSxDQUNBLHVCLENBbEJELE0sQ0FBQSxJLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQWNDLFMsQ0FDQSxRLENBZkQsRyxDQUFBLEcsQ0FjQyxTLENBR0EsWSxDQWpCRCxJLENBQUEsRyxDQWVDLFEsQ0FmRCxRLENBQUEsTSxDQUFBLEksQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsTSxDQWlCQyxZLENBQ0EsdUIsQ0FsQkQsSSxDQUFBLE0sQ0FBQSxHLENBYUUsUSxDQVNGLE0sQ0FDSSxTLENBSUosTyxDQUFBLEssQ0FBQSxPLENBQUEsVSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxJLENBQUEsRyxDQUFBLE8sQ0FFQyxhLENBR0QsSSxDQUNDLGEsQ0N4QkcsZ0IsQ0FDQSxzQixDQUF5QixrQyxDQUFxQyxpQyxDQUU5RCxpQyxDQytHQSwyQixDQUNBLDZCLENBQ0Esc0IsQ0Z6RkosRSxDQUFBLEUsQ0FDQyxlLENBR0QsVSxDQUFBLEMsQ0FDQyxXLENBR0QsZ0IsQ0FBQSxpQixDQUFBLE8sQ0FBQSxRLENBR0MsWSxDQUdELEssQ0E0UUksd0IsQ0FDQSxnQixDQXhRSixnRCxDQUFBLDZDLENBQUEsaUQsQ0FBQSxxRCxDQUlJLHVCLENBQ0Esb0IsQ0FHSixrQixDQUVJLG9CLENBZ0JKLEssQ0FBQSxNLENBQUEsSyxDQUdJLG9CLENBQ0EsZSxDQUNBLE8sQ0FDQSxjLENBUUosVUFBQSxXLENBQ0ksWSxDQUNBLFEsQ0FRSixRLENBQ0ksWSxDQVVKLEksQ0FFSSw2QixDQUNBLHlCLENBT0osTyxDQUNJLG1CLENBT0osUSxDQUFBLE8sQ0FFSSxTLENBUUosRyxDQUNJLFEsQ0FDQSw4QixDQW9NQSxxQixDSDdRQSxhLENBQWdCLFUsQ0FBYSxhLENHZ0dqQyxRLENBWUEsTSxDQUNJLFEsQ0FDQSxTLENBZEosUSxDQWhCQSxNLENBUUEsSSxDQTBMSSxRLENBdEtKLE0sQ0FHSSxrQixDQUNBLGlCLENBVUosTSxDQUFBLEssQ0FBQSxNLENBTUksdUIsQ0FOSixNLENBQUEsSyxDQUFBLE0sQ0FBQSxRLENBSUksYyxDQUNBLFEsQ0FFQSxzQixDQVFKLE0sQ0FBQSxLLENBRUksa0IsQ0FVSixNLENBQUEsTSxDQUVJLG1CLENBYUosTSxDQUlJLHlCLENBRUEsaUIsQ0FOSix1QixDQUFBLGlCLENBQUEsa0IsQ0FJSSx5QixDQUNBLGMsQ0FDQSxpQixDQU9KLGdCLENBQUEsb0IsQ0FFSSxjLENBVUosb0IsQ0FBQSxpQixDQUVJLHFCLENBQ0EsUyxDQUNBLFksQ0FDQSxXLENBU0osa0IsQ0FDSSw0QixDQUNBLDJCLENBQ0EsOEIsQ0FDQSxzQixDQVFKLGdELENBQUEsNkMsQ0FFSSx1QixDQU9KLHdCLENBQUEsdUIsQ0FFSSxRLENBQ0EsUyxDQ25Sc0IsUSxDRDJSMUIsUSxDQUNJLGEsQ0FDQSxrQixDQVlKLEksQ0FBQSxLLENBQUEsTSxDQWRBLFEsQ0FtQkksVSxDQUlKLGdCLENBQ0ksa0IsQ0FDQSxnQixDQUdKLFcsQ0FDSSxrQixDQUNBLGdCLENBYUosUSxDQUNJLGUsQ0FHSixZLENBQ0ksYSxDQUNBLGUsQ0FDQSxVLENBQ0EsYyxDQ3pXSixJLENBQ0kscUIsQ0N1SEEseUMsQ0FDQSxvQixDRHBISixDLENBQUEsTyxDQUFBLFEsQ0FFVyxrQixDQVdYLEMsQ0FFQSxNLENBRW1DLGEsQ0FBaUMsYyxDQUpwRSxDLENBQUksb0IsQ0N5TEEsc0IsQ0R2TEosTSxDQUNJLFMsQ0FDQSw0QixDQUErQyxjLENFekJuRCxLLENBQ0ksc0IsQ0FHSixLLENBQ0ksdUIsQ0FHSixVLENBQ0ksMkIsQ0FHSixHLENBQ0ksZSxDQ2dqQkEseUJEOWlCQSxxQixDQUVRLGUsQUM0aUJSLHlCRHhpQkEsaUIsQ0FFUSxlLEFDc2lCUiwrQ0RsaUJBLFcsQ0FFUSxlLEFDZ2lCUix5QkQ1aEJBLGUsQ0FFUSxlLEFDMGhCUixnRER0aEJBLFcsQ0FFUSxlLEFDb2hCUiw0RURoaEJBLHFCLENBRVEsZSxBQzhnQlIsMEJEMWdCQSxZLENBRVEsZUFLWixPLENBQ0ksa0IsQ0QxREosSyxDQUNJLG1CLENBQ0EseUIsQ0UwakJBLHlCRjVqQkosSyxDQUtRLGtCLENBQ0EsaUIsQ0FFQSxtQixDQUNBLHNCLENBQ0EsdUIsQ0FFQSxtQixDQUVBLG1CLENBRUEsYyxDQUVBLG1CLENBQ0EscUIsQ0FFQSx5QixDQUNBLDRCLENBRUEsa0IsQ0FFQSxtQixBRWtpQkosK0NGNWpCSixLLENBOEJRLGtCLENBQ0EsaUIsQ0FFQSxtQixDQUNBLHNCLENBQ0EsdUIsQ0FFQSxtQixDQUVBLG1CLENBRUEsYyxDQUVBLG1CLENBQ0EscUIsQ0FFQSx5QixDQUNBLDRCLENBRUEsa0IsQ0FFQSxtQixBRXlnQkosZ0RGNWpCSixLLENBdURRLGtCLENBQ0EsaUIsQ0FFQSxtQixDQUNBLHNCLENBQ0EsdUIsQ0FFQSxtQixDQUVBLG1CLENBTUEsbUIsQ0FDQSxxQixDQUVBLHlCLENBQ0EsNEIsQ0FFQSxrQixDQUVBLG1CLEFBWkEsdUVBbEVSLEssQ0FtRVksZ0IsQUV5ZlIsMEJGNWpCSixLLENBa0ZRLGtCLENBQ0Esa0IsQ0FFQSxtQixDQUNBLHNCLENBQ0EsdUIsQ0FFQSxtQixDQUVBLG1CLENBTUEsbUIsQ0FDQSxxQixDQUVBLHlCLENBQ0EsNEIsQ0FFQSxrQixDQUVBLG1CLEFBWkEsaURBN0ZSLEssQ0E4RlksZ0IsQUFlSixnREE3R1IsSyxDQThHWSxnQkFzQlosRSxDQTBDQSxFLENBR0ksZSxDQTdDSixFLENBSUksa0IsQ0FGQSw0QixDQUlBLFEsQ0FDSSxhLENBQ0Esa0IsQ0FDQSwrQixDQUNBLGUsQ0FDQSx3QixDQUNBLG9CLENBSVIsRSxDQUFBLEUsQ0EwQkEsRSxDQXpCSSxjLENBQ0EsZSxDQWxCSixFLENBcUJBLEUsQ0FBQSxFLENBQ0ksb0MsQ0FHSixFLENBQ0ksNEIsQ0FHSixFLENBQ0ksNEIsQ0FDQSxpQixDQVdKLEUsQ0FDSSw0QixDQU1BLG1CLENBQ0ksMkIsQ0FHSixvQixDQUNJLDBCLENBbUNSLFcsQ0E5QkksRyxDQUNJLGMsQ0FJUixDLENBaEVBLEUsQ0FnRUEsTSxDQUNJLGUsQ0FHSixDLENBQ0ksaUIsQ0VtWEEsd0NGNVdJLE8sQ0FDSSwyQkFLWixHLENBQ0ksYSxDQUNBLGUsQ0FDQSxvQixDQUNBLGtCLENBR0osVyxDQUNJLDhCLENFOFZBLHdDQzVqQkosYSxDQUVRLGdCQUlSLEksQ0FDSSxZLENBQWUsc0IsQ0FBeUIsa0IsQ0FBcUIsZSxDQUU3RCxlLENBQUEsYSxDQUNJLG1CLENDVlIsSyxDVGtCSSxhLENBQ0ksUSxDQUF5QixlLENTbkJqQyxLLENBQ3NCLG9CLENBQXVCLFMsQ0FDekMsaUIsQ0FBb0IscUIsQ0FBd0IsYSxDQUM1QyxZLENBQ0EsYSxDQUNBLHNCLENBQXlCLG1CLENBSjRCLFUsQ0YyakJyRCx5QlAzakJKLEssQ0FFUSx5QixDQUNBLHVCLEFPd2pCSix5QlAzakJKLEssQ0FPUSx5QixDQUNBLHVCQVNKLGEsQ0FDZSxXLENBQWdDLGlCLENBSW5ELGtCLENBQ0csVSxDQUNBLGdCLENBQ0EsaUIsQ0FDQSw2QyxDQUNBLDhDLENBR0gsYSxDQUNJLGdCLENBRUosYSxDQUNJLGUsQ0FHSixhLENBQ0ksZSxDQWdDSixNLENBN0JBLE8sQ0FDSSxnQyxDQUNBLG1DLENBRUEsZUFBQSxRLENBQ0ksaUIsQ0FJSixlQUFBLFEsQ0FDSSxpQixDQUNBLGMsQ0FDQSxrQixDQUVBLGVBQUEsZ0IsQ0FDSSxVLENBQ0EseWMsQ0FDQSxpZCxDQUNBLGlCLENBQ0EsTyxDQUNBLE0sQ0FDQSxhLENBQ0EsVSxDQUNBLFcsQ0FDQSxzQyxDVW5FWixPLENBQ0ksaUIsQ0FDQSwwQixDQUNBLGUsQ0FTQSxjLENBUEEsYSxDQVFJLFksQ0FDQSxzQixDQVRKLGEsQ0FHSSxrQixDQUNBLGtCLENBR0osYyxDQUdJLGMsQ0FHSixtQixDQUNJLGdCLENBQ0EsaUIsQ0FHSixlLENBQ0ksYyxDSHFpQkoseUJJM2pCSixLLENBRVEsa0IsQUp5akJKLGdESTNqQkosSyxDQU1RLGtCLEFKcWpCSiwwQkkzakJKLEssQ0FVUSxrQkFJUixPLENBQ0ksaUIsQ0FDQSxTLENBQ0EscUIsQ0FDQSxlLENBQ0Esa0IsQ0FFQSwwQixDQUNJLFksQ0FDQSw2QixDQUNBLGtCLENBR0osYSxDQUNJLFksQ0FDQSxrQixDQUNBLHdCLENKNmhCSix5QkloaUJBLGEsQ0FNUSxtQkFHSixtQixDQUNJLGEsQ0FDQSxhLENKcWhCUix5QklqaEJBLGdCLENBRVEsY0FJUixtQixDQUNJLG9DLENBSVIsSSxDQ3JEQyx3QixDQUNBLHFCLENBQ0EsZ0IsQ0RxREcsaUIsQ0pvZ0JBLHlCSXRnQkosSSxDQUtRLFUsQ0FDQSxhLEFKZ2dCSix5Qkl0Z0JKLEksQ0FVUSxjQUdKLGMsQ0FDSSxpQixDQUNBLGlCLENBQ0EsVSxDSnNmSix5QklwZkksaUMsQ0FFUSxrQixBSmtmWix5QklwZkksaUMsQ0FNUSxlQUtaLFcsQ0FDSSxlLENBQ0Esb0IsQ0FDQSxnQixDQUNBLGEsQ0pxZUoseUJJemVBLFcsQ0FPUSxVLENBQ0EsVyxDQUNBLGdCLENBQ0EsOEIsQUorZFIseUJJemVBLFcsQ0FjUSxVLENBQ0EsVyxDQUNBLGlCLEFKeWRSLHdDSXplQSxXLENBb0JRLGdCQUlSLFksQ0FDSSxhLENBQ0Esd0IsQ0FDQSxpQixDSjhjSix5QklqZEEsWSxDQU1RLFUsQ0FDQSxVLENBQ0EsNkMsQUp5Y1IseUJJamRBLFksQ0FjUSxVLENBQ0EsVSxDQUNBLDZDQU9aLFUsQ0FDSSxlLENBQ0EsaUIsQ0FDQSxTLENKdWJBLHlCSTFiSixVLENBTVEsc0MsQ0FDQSxVLENBQ0EsZSxDQUNBLFksQ0FDQSxrQyxBSmdiSix5QkkxYkosVSxDQWNRLFksQ0FDQSxRLENBQ0EsTSxDQUNBLFcsQ0FDQSxzQ0FNSixnQixDQUNJLGEsQ0FDQSxnQixDQUNBLHFCLENBSEosZ0IsQ0FLSSxzQixDQUFBLHdCLENBR0ksb0IsQ0FDQSxzQixDSnlaUix5QklsYUEsZ0IsQ0FhUSxjLEFKcVpSLHlCSWxhQSxnQixDQWlCUSxhLENBQ0EsbUIsQUpnWlIsd0NJNVlRLHNCLENBQ0ksNEZFaExoQixTLENBQ0ksYSxDQUNBLGlCLENBQ0EsK0IsQ0FDQSwwRCxDQUVBLGlCLENBQ0ksaUIsQ0FHSixpQixDQUNJLGlCLENBQ0Esb0IsQ0FHSiw0QixDQUNJLFksQ0FDQSxzQixDQUNBLGtCLENBQ0EsYyxDQUNBLDBCLENBR0osaUIsQ0FDSSxlLENBQ0EsdUMsQ0FDQSxNLENBQ0EsYyxDQUNBLFUsQ0FDQSw2QixDQUNBLFcsQ0FHSSxzQkFBQSxjLENBQ0ksMEMsQ0FJUiw2QixDQUNJLGtFLENBSVIsZ0IsQ0FDSSx5QyxDQUNBLGEsQ044Z0JKLHlCTWhoQkEsZ0IsQ0FLUSx5QixBTjJnQlIsK0NNaGhCQSxnQixDQVNRLDRCLEFOdWdCUiwrQ01oaEJBLGdCLENBYVEsMkJBSVIsYyxDQUNJLGEsQ0FDQSxlLENBQ0EsUSxDTjRmSix5Qk16ZkEsa0IsQ0FFUSxjLEFOdWZSLHlCTW5mQSxrQixDQUVRLGNBS1osSSxDQUNJLG9CLENBQ0Esb0IsQ0FDQSwyQixDQUNBLHFDLENBQ0EsNkIsQ0FDQSxpQixDQUNBLGtCLENBQ0EsYSxDQUNBLCtCLENBQ0EsK0osQ0FDQSxzQyxDQUNBLDZELENBQ0EsZ0MsQ04rZEEseUJNNWVKLEksQ0FnQlEsVSxDQUNBLHFCLEFBSUEsU0FBQSxPLENBQUEsU0FBQSxhLENBQ0ksK0IsQ0FJUixlLENBQUEsYSxDQUVJLG1CLENBR0osVSxDQUFBLFksQ0FFSSwrQixDQUNBLG9CLENBR0osVSxDQUNJLHdGLENBR0osVSxDQUNJLGUsQ0N6SFIsVSxDQUNJLGMsQ0FDQSxNLENBQ0EsSyxDQUNBLFksQ0FDQSxVLENBQ0EsWSxDQUNBLFksQ0FDQSxxQixDQUNBLGUsQ0FDQSw4QyxDQUVBLDZCLENBQ0ksWSxDQUNBLHNCLENBQ0Esa0IsQ0FJSixrQixDQUNJLGlCLENBQ0EsUyxDQUNBLFUsQ0FDQSxzQixDQUVBLHFDLENBQ0ksWSxDQUNBLDZCLENBQ0Esa0IsQ0FDQSxrQixDQUlSLGdCLENBQ0ksWSxDQUNBLGtCLENQd2hCSix5Qk8xaEJBLGdCLENBS1EsMEMsQ0FDQSxnRCxBUG9oQlIsZ0RPMWhCQSxnQixDQVVRLDBDLENBQ0EsZ0QsQVArZ0JSLDBCTzFoQkEsZ0IsQ0FlUSwyQyxDQUNBLGlEQUdKLHNCLENBQ0ksMkMsQ0FJUixxQixDQUNJLFksQ0FDQSxxQixDQUNBLGEsQ0FDQSw2QyxDQUNBLGMsQ0FHSiw2QixDQUNJLHFCLENBQ0EsYSxDQUNBLDBCLENBSUosbUIsQ0FDSSxZLENBQ0Esc0IsQ0FDQSxxQixDQUdJLGdEQU5SLG1CLENBT1ksZUFLWixpQixDQUNJLG1CLENBQ0EseUMsQ0FDQSwwQyxDQUNBLGlCLENBQ0Esc0IsQ1BrZUoseUJPdmVBLGlCLENBUVEsNEIsQVArZFIsK0NPdmVBLGlCLENBWVEsNEIsQUFJQSx1RUFoQlIsaUIsQ0FpQlksNEIsQVBzZFosMEJPdmVBLGlCLENBc0JRLDRCLEFBSUEsZ0RBMUJSLGlCLENBMkJZLDRCLEFQNGNaLHlCT3ZlQSxpQixDQWdDUSxZLENBQ0EscUIsQ0FDQSx3QkFHSixzQixDQUNJLGEsQ0FDQSw4QyxDQUNBLGEsQ0FDQSwyQixDQUlSLHlCLENBQ0ksWSxDQUNBLHNCLENBQ0EsYSxDQUVBLGlDLENBQ0ksWSxDQUNBLGtCLENBQ0EsVyxDQUlSLGlCLENBQ0ksNEMsQ1A2YUoseUJPOWFBLGlCLENBSVEsVSxDQUNBLGlCLEFQeWFSLHlCTzlhQSxpQixDQVNRLDhCLENBRUEsa0IsQUFJQSxnREFmUixpQixDQWdCWSxlLENBQ0EsVSxDQUNBLGFBS1osa0IsQ0FDSSxZLENBQ0Esa0IsQ0FDQSxxQixDQUNBLFUsQ1BtWkoseUJPdlpBLGtCLENBT1Esc0IsQUFJQSxnREFYUixrQixDQVlZLHNCLEFBR0osZ0RBZlIsa0IsQ0FnQlkscUJDckxaLGlCLENBQ0ksc0MsQ1IyakJKLDBCUTVqQkEsaUIsQ0FJUSxPLENBQ0EscUIiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8tIEZhZGVzIHJlbGF0ZWQgYW5pbWF0aW9uc1xyXG4vLy0gQmxpbmtcclxuQGtleWZyYW1lcyBibGluayB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgNTAlICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5rIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICA1MCUgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYmxpbmsge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcblxyXG4vLy0gQXBwZWFyXHJcbkBrZXlmcmFtZXMgYXBwZWFyIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBhcHBlYXIge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGFwcGVhciB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuLy8tIEFwcGVhciBIYW1tZXJcclxuQGtleWZyYW1lcyBhcHBlYXItaGFtbWVyIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICA1MCUgIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgNjAlICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAwOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGFwcGVhci1oYW1tZXIge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICA2MCUgIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYXBwZWFyLWhhbW1lciB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgNTAlICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDYwJSAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMDsgfVxyXG59XHJcblxyXG4vLy0gQmxpbmsgQ3Vyc29yXHJcbkBrZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OjE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OjE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OjE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5cclxuXHJcbi8vLSBmYWRlIGluXHJcbkBrZXlmcmFtZXMgZmFkZWluIHtcclxuICAgIDAlICAgeyBkaXNwbGF5OiBibG9jazsgb3BhY2l0eTowOyB9XHJcbiAgICAxJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZWluIHtcclxuICAgIDAlICAgeyBkaXNwbGF5OiBibG9jazsgb3BhY2l0eTowOyB9XHJcbiAgICAxJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgZmFkZWluIHtcclxuICAgIDAlICAgeyBkaXNwbGF5OiBibG9jazsgIG9wYWNpdHk6MDt9XHJcbiAgICAxJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufSIsIi8vLSBNb3Rpb24gcmVsYXRlZCBhbmltYXRpb25zXHJcbi8vLSBKdW1wXHJcbkBrZXlmcmFtZXMganVtcHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGp1bXB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG59XHJcbkAtbW96LWtleWZyYW1lcyBqdW1we1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5cclxuLy8tIFdlaWdodFxyXG5Aa2V5ZnJhbWVzIHdlaWdodHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIHdlaWdodHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIHdlaWdodHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9XHJcbn1cclxuXHJcbi8vLSBIYW1tZXJcclxuQGtleWZyYW1lcyBoYW1tZXJ7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMjhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGFtbWVye1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDI4ZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGhhbW1lcntcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyOGRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTsgfVxyXG59XHJcblxyXG4vLy0gU2NhbGVcclxuQGtleWZyYW1lcyBzY2FsZXtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICA3MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgyKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2NhbGV7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogc2NhbGUoMik7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIHNjYWxle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDIpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG59XHJcblxyXG4vLy0gSG9vcFxyXG5Aa2V5ZnJhbWVzIGhvb3B7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpOyB9XHJcbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBob29we1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTsgfVxyXG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgaG9vcHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7IH1cclxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuXHJcbi8vLSBEYW5zZVxyXG5Aa2V5ZnJhbWVzIGRhbnNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9ICAgXHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGRhbnNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9ICAgXHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGRhbnNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9ICAgXHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuXHJcbi8vLSBIYW1idXJnZXJcclxuQGtleWZyYW1lcyBoYW1idXJnZXJ7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGFtYnVyZ2Vye1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGhhbWJ1cmdlcntcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG59XHJcblxyXG4vLy0gU3Bpbm5lclxyXG5Aa2V5ZnJhbWVzIHNwaW5uZXItcm90YXRlIHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBzcGlubmVyLXJvdGF0ZSB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgc3Bpbm5lci1yb3RhdGUge1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOyB9XHJcbn1cclxuXHJcbi8vLSBCb3R0bGUgRGFuY2VcclxuQGtleWZyYW1lcyBib3R0bGVEYW5jZXtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gICAgNSUgICB7IHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XHJcbiAgICA5NSUgIHsgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm90dGxlRGFuY2V7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgIDUlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxyXG4gICAgOTUlICB7IHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGJvdHRsZURhbmNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICA1JSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cclxuICAgIDk1JSAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG59XHJcblxyXG4vLy0gQm91bmNlXHJcbkBrZXlmcmFtZXMgYm91bmNlIHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1cHgpOyB9XHJcbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxyXG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjVweCk7IH1cclxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XHJcbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGJvdW5jZSB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNXB4KTsgfVxyXG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5cclxuLy8tIEJvdW5jZSB3aXRoIGRpc3RvcnRpb25cclxuQGtleWZyYW1lcyBib3VuY2Utd2l0aC1kaXN0b3J0aW9uIHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAzMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSguOTcsMS4wMykgIHRyYW5zbGF0ZVkoLTI1cHgpOyB9XHJcbiAgICA0MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgtMTBweCk7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZS13aXRoLWRpc3RvcnRpb24ge1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKC45NywxLjAzKSAgdHJhbnNsYXRlWSgtMjVweCk7IH1cclxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKC0xMHB4KTsgfVxyXG4gICAgNjAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYm91bmNlLXdpdGgtZGlzdG9ydGlvbiB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMzAlICB7IHRyYW5zZm9ybTogc2NhbGUoLjk3LDEuMDMpICB0cmFuc2xhdGVZKC0yNXB4KTsgfVxyXG4gICAgNDAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoLTEwcHgpOyB9XHJcbiAgICA2MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxyXG59IiwiLy8tIFNjaGVtYSByZWxhdGVkIGFuaW1hdGlvbnNcclxuJHRhcC1jb2xvcjogcmVkO1xyXG5cclxuLy8tIEJhY2tncm91bmQtY29sb3Igb24gdGFwXHJcbkBrZXlmcmFtZXMgYmdDb2xvci1vbi10YXAge1xyXG4gICAgMCUgICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cclxuICAgIDUwJSAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XHJcbiAgICAxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAwKTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBiZ0NvbG9yLW9uLXRhcCB7XHJcbiAgICAwJSAgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxyXG4gICAgNTAlICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cclxuICAgIDEwMCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDApOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGJnQ29sb3Itb24tdGFwIHtcclxuICAgIDAlICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XHJcbiAgICA1MCUgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxyXG4gICAgMTAwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMCk7IH1cclxufSIsIi8vLSBGb250IGZhbWlsaWVzXHJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFByb3hpbWFOb3ZhLUxpZ2h0Lm90ZlxyXG4vLyBQcm94aW1hTm92YS1SZWd1bGFyLm90ZlxyXG4vLyBQcm94aW1hTm92YS1TZW1pYm9sZC5vdGZcclxuLy8gUHJveGltYU5vdmEtQm9sZC5vdGZcclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhO1xyXG4gICAgc3JjOiB1cmwoLi9mb250cy9Qcm94aW1hTm92YS9Qcm94aW1hTm92YS1MaWdodC5vdGYpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogUHJveGltYU5vdmE7XHJcbiAgICBzcmM6IHVybCguL2ZvbnRzL1Byb3hpbWFOb3ZhL1Byb3hpbWFOb3ZhLVJlZ3VsYXIub3RmKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhO1xyXG4gICAgc3JjOiB1cmwoLi9mb250cy9Qcm94aW1hTm92YS9Qcm94aW1hTm92YS1TZW1pYm9sZC5vdGYpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogUHJveGltYU5vdmE7XHJcbiAgICBzcmM6IHVybCguL2ZvbnRzL1Byb3hpbWFOb3ZhL1Byb3hpbWFOb3ZhLUJvbGQub3RmKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbn1cclxuXHJcbiRwcm94aW1hTm92YTogUHJveGltYU5vdmEsIHNhbnMtc2VyaWY7XHJcblxyXG4kbWFpbkZvbnQ6ICRwcm94aW1hTm92YTtcclxuJHNlY29uZGFyeUZvbnQ6ICRwcm94aW1hTm92YTsiLCIvLy0gTUNUIFdlbGxuZXNzIHByb2R1Y3QtdjAxXG46cm9vdCB7XG4gICAgLS1tYWluQ29sb3I6IGhzbCgyMjgsIDUyJSwgMzIlKTsgLy8tICMyNzM3N0FcbiAgICAtLW1haW5Db2xvcl9oOiAyMjg7XG4gICAgLS1tYWluQ29sb3JfczogNTIlO1xuICAgIC0tbWFpbkNvbG9yX2w6IDMyJTtcblxuICAgIC0tc2Vjb25kYXJ5Q29sb3I6IGhzbCg3MSwgNjUlLCA1MiUpOyAvLy0gI0I4RDQzNlxuICAgIC0tc2Vjb25kYXJ5Q29sb3JfaDogNzE7XG4gICAgLS1zZWNvbmRhcnlDb2xvcl9zOiA2NSU7XG4gICAgLS1zZWNvbmRhcnlDb2xvcl9sOiA1MiU7XG5cbiAgICAtLXRlcnRpYXJ5Q29sb3I6IGhzbCgyMTIsIDcyJSwgNTklKTsgLy8tICM0QTkwRTJcbiAgICAtLXRlcnRpYXJ5Q29sb3JfaDogMjEyO1xuICAgIC0tdGVydGlhcnlDb2xvcl9zOiA3MiU7XG4gICAgLS10ZXJ0aWFyeUNvbG9yX2w6IDU5JTtcblxuICAgIC0tcXVhdGVybmFyeUNvbG9yOiBoc2woMTAzLCA0MSUsIDQ1JSk7IC8vLSAjNUZBMjQ0XG4gICAgLS1xdWF0ZXJuYXJ5Q29sb3JfaDogMTAzO1xuICAgIC0tcXVhdGVybmFyeUNvbG9yX3M6IDQxJTtcbiAgICAtLXF1YXRlcm5hcnlDb2xvcl9sOiA0NSU7XG5cbiAgICAtLXRpdGxlQ29sb3I6IGhzbCgwLCAwJSwgMTYlKTsgLy8tICMyOTI5MjlcbiAgICAtLXRpdGxlQ29sb3JfaDogMDtcbiAgICAtLXRpdGxlQ29sb3JfczogMCU7XG4gICAgLS10aXRsZUNvbG9yX2w6IDE2JTtcblxuICAgIC0tdGV4dENvbG9yOiBoc2woMCwgMCUsIDE2JSk7IC8vLSAjMjkyOTI5XG4gICAgLS10ZXh0Q29sb3JfaDogMDtcbiAgICAtLXRleHRDb2xvcl9zOiAwJTtcbiAgICAtLXRleHRDb2xvcl9sOiAxNiU7XG5cbiAgICAtLXJhdGluZ0NvbG9yOiBoc2woMzIsIDEwMCUsIDYwJSk7IC8vLSAjRkY5RTMyXG4gICAgLS1yYXRpbmdDb2xvcl9oOiAzMjtcbiAgICAtLXJhdGluZ0NvbG9yX3M6IDEwMCU7XG4gICAgLS1yYXRpbmdDb2xvcl9sOiA2MCU7XG5cbiAgICAtLUNUQTogaHNsKDIwLCA5NiUsIDYyJSk7IC8vLSAjRkVDQTU1XG4gICAgLS1DVEFfaDogMjA7XG4gICAgLS1DVEFfczogOTYlO1xuICAgIC0tQ1RBX2w6IDYyJTtcbn1cblxuJHdoaXRlOiAjZmZmO1xuJGJsYWNrOiAjMDAwO1xuXG4kbWFpbkNvbG9yOiB2YXIoLS1tYWluQ29sb3IpO1xuJHNlY29uZGFyeUNvbG9yOiB2YXIoLS1zZWNvbmRhcnlDb2xvcik7XG4kdGVydGlhcnlDb2xvcjogdmFyKC0tdGVydGlhcnlDb2xvcik7XG4kcXVhdGVybmFyeUNvbG9yOiB2YXIoLS1xdWF0ZXJuYXJ5Q29sb3IpO1xuJHF1YXRlcm5hcnlDb2xvckxpZ2h0OiBoc2woY2FsYyh2YXIoLS1xdWF0ZXJuYXJ5Q29sb3JfaCkgLSAzKSwgY2FsYyh2YXIoLS1xdWF0ZXJuYXJ5Q29sb3JfcykgLSAxMCUpLCBjYWxjKHZhcigtLXF1YXRlcm5hcnlDb2xvcl9sKSArIDQ5JSkpO1xuXG4kdGl0bGVDb2xvcjogdmFyKC0tdGV4dENvbG9yKTtcbiR0ZXh0Q29sb3I6IHZhcigtLXRleHRDb2xvcik7XG4kdGV4dENvbG9yTGlnaHQ6IGhzbCh2YXIoLS10ZXh0Q29sb3JfaCksIHZhcigtLXRleHRDb2xvcl9zKSwgY2FsYyh2YXIoLS10ZXh0Q29sb3JfbCkgKyAyNyUpKTtcbiR0ZXh0Q29sb3JEYXJrOiBoc2wodmFyKC0tdGV4dENvbG9yX2gpLCBjYWxjKHZhcigtLXRleHRDb2xvcl9zKSArIDQlKSwgY2FsYyh2YXIoLS10ZXh0Q29sb3JfbCkgKyA1JSkpO1xuXG4kcmF0aW5nLWNvbG9yOiB2YXIoLS1yYXRpbmdDb2xvcik7XG5cbiRiZ0NvbG9yOiBoc2wodmFyKC0tdGV4dENvbG9yX2gpLCB2YXIoLS10ZXh0Q29sb3JfcyksIGNhbGModmFyKC0tdGV4dENvbG9yX2wpICsgODAlKSk7XG4kaHI6IGhzbCh2YXIoLS10ZXh0Q29sb3JfaCksIHZhcigtLXRleHRDb2xvcl9zKSwgY2FsYyh2YXIoLS10ZXh0Q29sb3JfbCkgKyA0MyUpKTtcblxuLy8tIENUQSBib3JkZXI6ICNGQ0I4MjFcbi8vLSBDVEEgZGVmYXVsdDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0ZFQ0E1NSAwLjgyJSwgI0VCQTIwMCA5OS4yNyUpO1xuLy8tIENUQSBob3ZlcjogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0ZGQzEzNyAwJSwgI0RCOTgwMiAxMDAlKTtcbi8vLSBDVEEgYWN0aXZlID0gZGVmYXVsdDogbGluZWFyLWdyYWRpZW50KDBkZWcsICNFQkEyMDAgMCUsICNGRUNBNTUgMTAwJSk7XG4kY3RhOiAoXG4gICAgYm9yZGVyOiB0cmFuc3BhcmVudCwgLy8tIG1hcC1nZXQoJGN0YSwgYm9yZGVyKVxuICAgIGdyYWRpZW50LWRlZmF1bHQ6IChcbiAgICAgICAgc3RhcnQtY29sb3I6IHZhcigtLUNUQSksIC8vLSBtYXAtZGVlcC1nZXQoJGN0YSwgZ3JhZGllbnQtZGVmYXVsdCwgc3RhcnQtY29sb3IpXG4gICAgICAgIGVuZC1jb2xvcjogaHNsKGNhbGModmFyKC0tQ1RBX2gpICsgMTMpLCBjYWxjKHZhcigtLUNUQV9zKSArIDQlKSwgY2FsYyh2YXIoLS1DVEFfbCkgKyAxMSUpKSwgLy8tIG1hcC1kZWVwLWdldCgkY3RhLCBncmFkaWVudC1kZWZhdWx0LCBlbmQtY29sb3IpXG4gICAgKSxcbiAgICBncmFkaWVudC1ob3ZlcjogKFxuICAgICAgICBzdGFydC1jb2xvcjogdmFyKC0tQ1RBKSxcbiAgICAgICAgLy8tIG1hcC1kZWVwLWdldCgkY3RhLCBncmFkaWVudC1ob3Zlciwgc3RhcnQtY29sb3IpXG4gICAgICAgIGVuZC1jb2xvcjogdmFyKC0tQ1RBKSxcbiAgICAgICAgLy8tIG1hcC1kZWVwLWdldCgkY3RhLCBncmFkaWVudC1ob3ZlciwgZW5kLWNvbG9yKVxuICAgICksXG4pO1xuXG4kYnV0dG9uQm9yZGVyOiBtYXAtZ2V0KCRjdGEsIGJvcmRlcik7XG4kYnV0dG9uR3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAwZGVnLFxuICAgIG1hcC1kZWVwLWdldCgkY3RhLCBncmFkaWVudC1kZWZhdWx0LCBzdGFydC1jb2xvcikgMCUsXG4gICAgbWFwLWRlZXAtZ2V0KCRjdGEsIGdyYWRpZW50LWRlZmF1bHQsIGVuZC1jb2xvcikgMTAwJVxuKTtcbiRidXR0b25HcmFkaWVudEhvdmVyOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgMGRlZyxcbiAgICBtYXAtZGVlcC1nZXQoJGN0YSwgZ3JhZGllbnQtaG92ZXIsIHN0YXJ0LWNvbG9yKSAwJSxcbiAgICBtYXAtZGVlcC1nZXQoJGN0YSwgZ3JhZGllbnQtaG92ZXIsIGVuZC1jb2xvcikgMTAwJVxuKTtcblxuLy8gJGJ1dHRvbi1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKCRibGFjaywgMC4xNSk7XG4kY2FydERlc2t0b3Atc2hhZG93OiAwIDEycHggMjRweCByZ2JhKCRibGFjaywgMC4zKTtcbiRjYXJ0LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKCRibGFjaywgMC4xNSk7XG4kYm94LXNoYWRvdzogMnB4IDJweCAxMHB4IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRoZWFkZXItc2hhZG93OiAwIDJweCA1cHggcmdiYSgkYmxhY2ssIDAuMjUpO1xuXG4vLy0gYXBwbHkgY29sb3JzXG4kdGV4dFNoYWRvdzogcmdiYSgkYmxhY2ssIDAuMTUpO1xuJGJ1dHRvblRleHRTaGFkb3c6ICNiYTdjM2I7XG4kYnV0dG9uVGV4dFNoYWRvd0Rpc2FibGVkOiAjNzA3MDcwO1xuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbiAgfVxuXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZW5kIGVhY2ggYnJlYWtwb2ludCB3aGljaCBpcyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGV4dGVuZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmdcbiAgICAgICAgICBAaWYgKCRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG5lZ2F0aXZlIG1hcmdpbiBmcm9tIGRlZmF1bHQgLnJvdywgdGhlbiB0aGUgaG9yaXpvbnRhbCBwYWRkaW5nXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxuICAubm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuY29sLFxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRndXR0ZXIgLyAyO1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgLyAyO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06ICRzaXplIC8gJGNvbHVtbnM7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICAmID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCUgLyAkY291bnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlIC8gJGNvdW50O1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU0MTBcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGdyaWQtcm93LWNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIG9yICR2YWx1ZSA9PSBub25lIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4OyAvLyBJRTEwLzExXG4gIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpOyAvLyBJRTEwLzExXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLy8gRW5zdXJlIGBtb2RhbC1kaWFsb2ctY2VudGVyZWRgIGV4dGVuZHMgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSB2aWV3IChJRTEwLzExKVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBJRTEwXG4gICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50OyAvLyBSZXNldCBoZWlnaHQgdG8gMCBleGNlcHQgb24gSUVcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLy8gRW5zdXJlIGAubW9kYWwtYm9keWAgc2hvd3Mgc2Nyb2xsYmFyIChJRTEwLzExKVxuICAmLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogJG1vZGFsLWNvbnRlbnQtY29sb3I7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy14KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZyAtICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gLyAyO1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gIC8vIFRoaXMgc29sdXRpb24gaXMgZmFyIGZyb20gaWRlYWwgYmVjYXVzZSBvZiB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yIHVzYWdlLFxuICAvLyBidXQgaXMgbmVlZGVkIHRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0ODAwXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gKiB7XG4gICAgbWFyZ2luOiAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuIC8gMjtcbiAgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwKTtcbiAgfVxuXG4gIC5tb2RhbC1zbSB7IG1heC13aWR0aDogJG1vZGFsLXNtOyB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnLFxuICAubW9kYWwteGwge1xuICAgIG1heC13aWR0aDogJG1vZGFsLWxnO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm1vZGFsLXhsIHsgbWF4LXdpZHRoOiAkbW9kYWwteGw7IH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuOnJvb3QgeyAgICBcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldC1taWQnKSB7XG4gICAgICAgIC0tZ3JpZC1ndXR0ZXItd2lkdGg6IDMycHg7XG4gICAgICAgIC0tc2VjdGlvbi1pbm5lcjogNDBweDtcbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0LW1pZCcpIHtcbiAgICAgICAgLS1ncmlkLWd1dHRlci13aWR0aDogNDhweDtcbiAgICAgICAgLS1zZWN0aW9uLWlubmVyOiA2MHB4O1xuICAgIH1cbn1cblxubWFpbiA+IHNlY3Rpb24ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vLSB0byByZW1vdmUgaG9yaXpvbnRhbCBzY3JvbGwgY3JlYXRlZCBieSBuZWdhdGl2ZSBwb3NpdGlvbiBvZiBkZWNvcmF0aXZlIGJnLWltYWdlcyBsb2NhdGVkIG9uIHRoZSByaWdodCBzaWRlXG59XG5cbmJvZHkge1xuICAgICYubm9zY3JvbGx7XG4gICAgICAgIG1hcmdpbjogMDsgaGVpZ2h0OiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyB0b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgfVxufVxuXG5bY2xhc3NePVwiY29udGFpbmVyXCJdIHtcbiAgIHdpZHRoOiAxMDAlOyBcbiAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWdyaWQtZ3V0dGVyLXdpZHRoKSAvIDIpO1xuICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1ncmlkLWd1dHRlci13aWR0aCkgLyAyKTtcbn1cblxuLmNvbnRhaW5lci14bCB7XG4gICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItbWF4LXdpZHRocywgeGwpOyBcbn1cbi5jb250YWluZXItbWQge1xuICAgIG1heC13aWR0aDogbWFwLWdldCgkY29udGFpbmVyLW1heC13aWR0aHMsIG1kKTsgXG59XG5cbi5jb250YWluZXItbGcge1xuICAgIG1heC13aWR0aDogbWFwLWdldCgkY29udGFpbmVyLW1heC13aWR0aHMsIGxnKTtcbn1cblxuc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNlY3Rpb24taW5uZXIpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zZWN0aW9uLWlubmVyKTtcblxuICAgIHVsOm5vdChbY2xhc3NdKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgIH1cblxuICAgIGxpOm5vdChbY2xhc3NdKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuOGVtO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgbWFzazogdXJsKCRzdmctZGF0YSArICR0aWNrLXNlY29uZGFyeUNvbG9yKSBuby1yZXBlYXQ7IFxuICAgICAgICAgICAgLXdlYmtpdC1tYXNrOiB1cmwoJHN2Zy1kYXRhICsgJHRpY2stc2Vjb25kYXJ5Q29sb3IpIG5vLXJlcGVhdDsgXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IFxuICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IFxuICAgICAgICAgICAgd2lkdGg6IDIycHg7IFxuICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeUNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zZWN0aW9uLWlubmVyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2VjdGlvbi1pbm5lcik7XG59XG5cbmltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBtYXJnaW46IDAgYXV0bzsgXG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8qIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvXG4gICB2Mi4wLW1vZGlmaWVkIHwgMjAxMTAxMjZcbiAgIExpY2Vuc2U6IG5vbmUgKHB1YmxpYyBkb21haW4pXG4qL1xuXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCxcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCxcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0Zm9udDogaW5oZXJpdDtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKiBtYWtlIHN1cmUgdG8gc2V0IHNvbWUgZm9jdXMgc3R5bGVzIGZvciBhY2Nlc3NpYmlsaXR5ICovXG46Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuYm9keSB7XG5cdGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5vbCwgdWwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG5ibG9ja3F1b3RlLCBxIHtcblx0cXVvdGVzOiBub25lO1xufVxuXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdGNvbnRlbnQ6IG5vbmU7XG59XG5cbnRhYmxlIHtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAqZGlzcGxheTogaW5saW5lO1xuICAgICp6b29tOiAxO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA3LzgvOSwgRmlyZWZveCAzLCBhbmQgU2FmYXJpIDQuXG4gKiBLbm93biBpc3N1ZTogbm8gSUUgNiBzdXBwb3J0LlxuICovXG5cbltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICogICAgYGVtYCB1bml0cy5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuYTpmb2N1cyB7XG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICogMi4gSW1wcm92ZSBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFIDcuXG4gKi9cblxuaW1nIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgNi83LzgvOSwgU2FmYXJpIDUsIGFuZCBPcGVyYSAxMS5cbiAqL1xuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG1hcmdpbiBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5cbmZvcm0ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDYvNy84LzkuXG4gKiAyLiBDb3JyZWN0IHRleHQgbm90IHdyYXBwaW5nIGluIEZpcmVmb3ggMy5cbiAqIDMuIENvcnJlY3QgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cblxubGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDIgKi9cbiAgICAqbWFyZ2luLWxlZnQ6IC03cHg7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LCBGaXJlZm94IDMrLCBTYWZhcmkgNSxcbiAqICAgIGFuZCBDaHJvbWUuXG4gKiAzLiBJbXByb3ZlIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDMgKi9cbiAgICAqdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCAzKyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgNisuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3ggNCsgYW5kIE9wZXJhLlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZSBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICogICAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgICAqb3ZlcmZsb3c6IHZpc2libGU7ICAvKiA0ICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGNvbnRlbnQtYm94IGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKiAzLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgNy5cbiAqICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgICpoZWlnaHQ6IDEzcHg7IC8qIDMgKi9cbiAgICAqd2lkdGg6IDEzcHg7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiBvbiBPUyBYLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDMrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgNi83LzgvOS5cbiAqIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuaHRtbCxcbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGNvbG9yOiAjMjIyO1xufVxuXG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG5pbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnRleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4uY2hyb21lZnJhbWUge1xuICAgIG1hcmdpbjogMC4yZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDAuMmVtIDA7XG59XG4iLCIvLy0gUmVzZXQgRXh0ZW5kZWQgLSBPbiB0aGlzIHBhcnRpYWwgSSdsbCBleHRlbmQgdGhlIEVyaWMgTWV5ZXIgcmVzZXQgZmlsZSBieSBhZGRpbmcgbW9kZXJuIGFuZCB1c2VmdWxsIHNlbGVjdG9yc1xyXG5cclxuLy8tIE92ZXJyaWRlIGRlZmF1bHQgYm94LXNpemluZzogY29udGVudC1ib3g7IHNvIHdpZHRoIGlzIG5vdCBhZmZlY3RlZCBieSBwYWRkaW5nIGFuZCBib3JkZXIgcHJvcGVydGllc1xyXG5odG1sIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi8vLSBJbmhlcml0IHJvb3QgYm94LXNpemluZyB2YWx1ZSB0byBhbGwgRE9NIGVsZW1lbnRzXHJcbiosXHJcbio6OmJlZm9yZSxcclxuKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBpbmhlcml0OyB9XHJcblxyXG4vLy0gU2V0IGJvZHkgdG8gZmlsbCB2aWV3cG9ydCwgb3B0aW1pemUgdGV4dC1yZW5kZXJpbmcgYW5kIHNtb290aCBzY3JvbGxpbmdcclxuYm9keSB7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDsgXHJcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAvLy0gTm90ZSB0ZXh0LXJlbmRlcmluZyBzaG91bGQgYmUgY2hvc2VuIGRlcGVuZGluZyBvbiB1c2VkIGZvbnQtZmFtaWx5IGFuZCBwZXJmb3JtYW5jZSBnb2Fsc1xyXG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgLy8tIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy90ZXh0LXJlbmRlcmluZ1xyXG59XHJcblxyXG4vLy0gUmVzZXQgYW5jaG9yIGxvb2sgJiBiZWhhdmlvdXJcclxuYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGluaGVyaXQ7IGN1cnNvcjogcG9pbnRlcjsgfVxyXG5cclxuYnV0dG9uIHsgXHJcbiAgICBwYWRkaW5nOiAwOyBcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogaW5oZXJpdDsgYm9yZGVyLXdpZHRoOiAwOyBjdXJzb3I6cG9pbnRlcjsgXHJcbn1cclxuXHJcbi8vLSBBZGl0aW9uYWwgdG8gcmVzZXQuc2NzcywgcmVtb3ZlIG1hcmdpbiBvbiBGRjMrIFxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHsgbWFyZ2luOiAwOyB9XHJcbiIsIi8vLSBCYXNlIHR5cG9ncmFwaHkgc3R5bGVzXG46cm9vdCB7XG4gICAgLS1yYXRpbmctc2l6ZTogMzJweDtcbiAgICAtLWhlYWRpbmdMaW5lSGVpZ2h0OiAxLjI1O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8bW9iaWxlXCIpIHtcbiAgICAgICAgLS1kZWZhdWx0LWZzOiAxNnB4O1xuICAgICAgICAtLWxpbmVIZWlnaHQ6IDEuNTtcblxuICAgICAgICAtLWhlYWRpbmcxLWZzOiAzMnB4O1xuICAgICAgICAtLXN1YkhlYWRpbmcxLWZzOiAxNHB4O1xuICAgICAgICAtLWludHJvQ29udGVudC1mczogMThweDtcblxuICAgICAgICAtLWhlYWRpbmcyLWZzOiAyMHB4O1xuXG4gICAgICAgIC0taGVhZGluZzMtZnM6IDIxcHg7XG5cbiAgICAgICAgLS1idG4tZnM6IDE4cHg7XG5cbiAgICAgICAgLS1oZWFkaW5nNi1mczogMTZweDtcbiAgICAgICAgLS1kaXNjbGFpbWVyLWZzOiAxMHB4O1xuXG4gICAgICAgIC0tc3RvY2tVcEhlYWRpbmctZnM6IDI0cHg7XG4gICAgICAgIC0tc3RvY2tVcFN1YkhlYWRpbmctZnM6IDE0cHg7XG5cbiAgICAgICAgLS1zdHVkaWVzLWZzOiAxNHB4O1xuXG4gICAgICAgIC0tZm9vdGVyLWZzOiAxNHB4O1xuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bW9iaWxlXCIsIFwiPHRhYmxldFwiKSB7XG4gICAgICAgIC0tZGVmYXVsdC1mczogMTZweDtcbiAgICAgICAgLS1saW5lSGVpZ2h0OiAxLjU7XG5cbiAgICAgICAgLS1oZWFkaW5nMS1mczogMzZweDtcbiAgICAgICAgLS1zdWJIZWFkaW5nMS1mczogMTRweDtcbiAgICAgICAgLS1pbnRyb0NvbnRlbnQtZnM6IDE4cHg7XG5cbiAgICAgICAgLS1oZWFkaW5nMi1mczogMjRweDtcblxuICAgICAgICAtLWhlYWRpbmczLWZzOiAyMXB4O1xuXG4gICAgICAgIC0tYnRuLWZzOiAyMHB4O1xuXG4gICAgICAgIC0taGVhZGluZzYtZnM6IDE4cHg7XG4gICAgICAgIC0tZGlzY2xhaW1lci1mczogMTJweDtcblxuICAgICAgICAtLXN0b2NrVXBIZWFkaW5nLWZzOiAyNHB4O1xuICAgICAgICAtLXN0b2NrVXBTdWJIZWFkaW5nLWZzOiAxNHB4O1xuXG4gICAgICAgIC0tc3R1ZGllcy1mczogMTRweDtcblxuICAgICAgICAtLWZvb3Rlci1mczogMTRweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIsIFwiPGRlc2t0b3BcIikge1xuICAgICAgICAtLWRlZmF1bHQtZnM6IDE2cHg7XG4gICAgICAgIC0tbGluZUhlaWdodDogMS41O1xuXG4gICAgICAgIC0taGVhZGluZzEtZnM6IDQ4cHg7XG4gICAgICAgIC0tc3ViSGVhZGluZzEtZnM6IDE2cHg7XG4gICAgICAgIC0taW50cm9Db250ZW50LWZzOiAxOHB4O1xuXG4gICAgICAgIC0taGVhZGluZzItZnM6IDI4cHg7XG5cbiAgICAgICAgLS1oZWFkaW5nMy1mczogMjRweDtcblxuICAgICAgICBAbWVkaWEobWluLWhlaWdodDogOTkxcHgpIHtcbiAgICAgICAgICAgIC0tYnRuLWZzOiAyNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLS1oZWFkaW5nNi1mczogMThweDtcbiAgICAgICAgLS1kaXNjbGFpbWVyLWZzOiAxMnB4O1xuXG4gICAgICAgIC0tc3RvY2tVcEhlYWRpbmctZnM6IDM2cHg7XG4gICAgICAgIC0tc3RvY2tVcFN1YkhlYWRpbmctZnM6IDE0cHg7XG5cbiAgICAgICAgLS1zdHVkaWVzLWZzOiAxNHB4O1xuXG4gICAgICAgIC0tZm9vdGVyLWZzOiAxNHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgLS1kZWZhdWx0LWZzOiAxNnB4O1xuICAgICAgICAtLWxpbmVIZWlnaHQ6IDEuNzU7XG5cbiAgICAgICAgLS1oZWFkaW5nMS1mczogNDhweDtcbiAgICAgICAgLS1zdWJIZWFkaW5nMS1mczogMTZweDtcbiAgICAgICAgLS1pbnRyb0NvbnRlbnQtZnM6IDE4cHg7XG5cbiAgICAgICAgLS1oZWFkaW5nMi1mczogMjhweDtcblxuICAgICAgICAtLWhlYWRpbmczLWZzOiAyNHB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4taGVpZ2h0OiA5OTFweCkge1xuICAgICAgICAgICAgLS1idG4tZnM6IDMycHg7XG4gICAgICAgIH1cblxuICAgICAgICAtLWhlYWRpbmc2LWZzOiAxOHB4O1xuICAgICAgICAtLWRpc2NsYWltZXItZnM6IDEycHg7XG5cbiAgICAgICAgLS1zdG9ja1VwSGVhZGluZy1mczogMzZweDtcbiAgICAgICAgLS1zdG9ja1VwU3ViSGVhZGluZy1mczogMTRweDtcblxuICAgICAgICAtLXN0dWRpZXMtZnM6IDE0cHg7XG5cbiAgICAgICAgLS1mb290ZXItZnM6IDE0cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIEBtZWRpYShtYXgtaGVpZ2h0OiA5OTBweCkge1xuICAgICAgICAgICAgLS1idG4tZnM6IDI0cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLSBGb3IgUHJveGltYSBOb3ZhIEZvbnQgRmFtaWx5XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgMjAwOyAvLy0gTGlnaHRcbiRmb250LXdlaWdodC1ub3JtYWw6ICA0MDA7IC8vLSBSZWd1bGFyXG4kZm9udC13ZWlnaHQtcmVndWxhcjogNjAwOyAvLy0gU2VtaS1Cb2xkIC8gTWVkaXVtXG4kZm9udC13ZWlnaHQtYm9sZDogICAgODAwOyAvLy0gQm9sZFxuXG5odG1sIHtcbiAgICBmb250OiAkZm9udC13ZWlnaHQtbm9ybWFsIDYyLjUlIC8gMS4yICRtYWluRm9udDsgLy8tIDYyLjUlIG1ha2VzICdlbScgYW5kICdyZW0nIHVuaXRzIHRvIGJlIGNvbXB1dGVkIHRvIDEwcHggc28gMXJlbSB3aWxsIGJlIDEwcHggYW5kIDEuNHJlbSB3aWxsIGJlIDE0cHhcbiAgICBsZXR0ZXItc3BhY2luZzogLjAxZW07XG59XG5cbmJvZHkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZGVmYXVsdC1mcyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmVIZWlnaHQpO1xuICAgIGNvbG9yOiAkdGV4dENvbG9yO1xufVxuXG5oMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWhlYWRpbmcxLWZzKTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcblxuICAgIHNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc3ViSGVhZGluZzEtZnMpOyAgICAgICAgXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAzZW07XG4gICAgfVxufVxuXG5oMiwgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG59XG5cbmgxLCBoMiwgaDMge1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1oZWFkaW5nTGluZUhlaWdodCk7XG59XG5cbmgyIHtcbiAgICBmb250LXNpemU6IHZhcigtLWhlYWRpbmcyLWZzKTtcbn1cblxuaDMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taGVhZGluZzMtZnMpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8tIFJlY2lwZXNcbmg0IHtcbiAgICAvLyBmb250LWZhbWlseTogJG1haW5Gb250O1xuICAgIC8vIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAvLyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLy8tIEZBUVxuaDYge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taGVhZGluZzYtZnMpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xufVxuXG5zbWFsbCB7XG4gICAgLmhhcy1kYXJrTW9kZSAmIHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnlDb2xvcjtcbiAgICB9XG5cbiAgICAuaGFzLWxpZ2h0TW9kZSAmIHtcbiAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeUNvbG9yO1xuICAgIH1cbn1cblxucCB7XG4gICAgJiArICYge1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgfVxufVxuXG5iLCBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbn1cblxuaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5hIHtcbiAgICBjb2xvcjogJG1haW5Db2xvcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiaG92ZXJcIiwgXCJmaW5lXCIpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuc3VwIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZGlzY2xhaW1lciB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1kaXNjbGFpbWVyLWZzKTtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG59XG4iLCIuaGlkZSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zaG93IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbnZpc2libGUge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5iciB7XHJcbiAgICB3aGl0ZS1zcGFjZTogcHJlOyAvLy0gcHJlc2VydmUgd2hpdGVzcGFjZVxyXG5cclxuICAgICYtLW5vdC1zbWFsbC1tb2JpbGUge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1vYmlsZScpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLXNtYWxsLW1vYmlsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUnKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS1tb2JpbGUge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1vYmlsZScsICc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tbW9iaWxlLW1heCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUtbWF4Jykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tdGFibGV0IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS10YWJsZXQtbGFuZHNjYXBlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGRlc2t0b3AnLCAnbGFuZHNjYXBlJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tZGVza3RvcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubm93cmFwIHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjlcclxuLy9cclxuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxyXG4vL1xyXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcclxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxyXG4vL1xyXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgbW9iaWxlYFxyXG4vLy8gICRicmVha3BvaW50czogKCdtb2JpbGUnOiAzMjBweCk7XHJcbi8vL1xyXG4kYnJlYWtwb2ludHM6IChcclxuICAnbW9iaWxlJzogMzc1cHgsXHJcbiAgLy8gJ3RhYmxldCc6IDc2OHB4LFxyXG4gIC8vICdkZXNrdG9wJzogMTAyNHB4XHJcbiAgJ21vYmlsZS1taWQnOiA1MjBweCxcclxuICAnbW9iaWxlLW1heCc6IDU3NXB4LFxyXG4gICd0YWJsZXQnOiA3NjhweCxcclxuICAndGFibGV0LW1pZCc6IDg1MHB4LFxyXG4gICdib290LWRlc2t0b3AnOiA5OTJweCxcclxuICAnZGVza3RvcCc6IDEwMjVweCxcclxuICAnZGVza3RvcC1taWQnOiAxMjAwcHgsXHJcbiAgJ2Rlc2t0b3AtbWF4JzogMTkyMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy0gbW9iaWxlIG9ubHlcclxuLy8vLy0gKCc8dGFibGV0JykgLSBtYXgtd2lkdGg6IDc2N3B4XHJcbi8vLSB0YWJsZXQgb25seVxyXG4vLy8vLSAoJz49dGFibGV0JywgJzxkZXNrdG9wJykgLSBtaW4td2lkdGg6IDc2OHB4OyBtYXgtd2lkdGg6IDEwMjRweFxyXG4vLy0gZGVza3RvcCBvbmx5XHJcbi8vLy8tICgnPj1kZXNrdG9wJykgLSBtaW4td2lkdGg6IDEwMjVweFxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcclxuLy8vICApO1xyXG4vLy9cclxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxyXG4gICdwcmludCc6ICdwcmludCcsXHJcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcclxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXHJcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcclxuICAnaG92ZXInOiAnKGhvdmVyOiBob3ZlciknLFxyXG4gICdmaW5lJzogJyhwb2ludGVyOiBmaW5lKScsXHJcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcclxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2BcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxyXG4vLy9cclxuJHVuaXQtaW50ZXJ2YWxzOiAoXHJcbiAgJ3B4JzogMSxcclxuICAnZW0nOiAwLjAxLFxyXG4gICdyZW0nOiAwLjEsXHJcbiAgJyc6IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXHJcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxyXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0JztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcclxuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgIC5mb28ge1xyXG4vLy8gICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcclxuXHJcbi8vLy9cclxuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcclxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXHJcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XHJcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiAkbWVzc2FnZTtcclxuICAgICRfOiBub29wKCk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRtZXNzYWdlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XHJcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cclxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cclxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXHJcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxyXG4vLy9cclxuQGZ1bmN0aW9uIG5vb3AoKSB7fVxyXG5cclxuLy8vXHJcbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcclxuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcclxuXHJcbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XHJcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cclxuICB9XHJcblxyXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xyXG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcclxuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcclxuXHJcbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxyXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XHJcbiAgICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFBhcnNpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcclxuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcclxuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XHJcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcclxuXHJcbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XHJcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XHJcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xyXG5cclxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcclxuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcclxuXHJcbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xyXG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcclxuICB9XHJcblxyXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcclxuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xyXG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XHJcbi8vL1xyXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xyXG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxyXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XHJcbiAgfVxyXG5cclxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcclxuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHJcbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxyXG4vLy9cclxuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcclxuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XHJcbiAgICBAcmV0dXJuICgpO1xyXG4gIH1cclxuXHJcbiAgJHJlc3VsdDogKCk7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcclxuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn1cclxuLy8vXHJcbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XHJcbiAgICBAcmV0dXJuICR2YWx1ZTtcclxuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XHJcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xyXG4gIH1cclxuXHJcbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XHJcbiAgJHJlc3VsdDogMDtcclxuICAkZGlnaXRzOiAwO1xyXG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcclxuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XHJcblxyXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcclxuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xyXG5cclxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcclxuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xyXG4gICAgICAkZGlnaXRzOiAxO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcclxuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xyXG5cclxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XHJcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2ZcclxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcclxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxyXG4vLy8gZm9yIGluc3RhbmNlLlxyXG4vLy9cclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1vYmlsZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPm1vYmlsZScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPm1vYmlsZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xyXG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XHJcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xyXG5cclxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcclxuXHJcbiAgQGNvbnRlbnQ7XHJcblxyXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+bW9iaWxlJykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+bW9iaWxlJywgJzw9dGFibGV0JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XHJcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxyXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XHJcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XHJcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vLSBCdXR0b25zIHBhcnRpYWxcbltyb2xlPSdidXR0b24nXSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ2hvdmVyJywgJ2ZpbmUnKSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG5cbi5idG4geyBcbiAgICBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZmxleC1iYXNpczogYXV0bzsgXG4gICAgXG4gICAgJi5kaXNhYmxlZCwgW2Rpc2FibGVkXSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cbiIsIi8vLSBQYXJ0aWFsIGZvciBTVkcgc3ByaXRlIGljb25zXHJcbi5pY29uIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDFlbTsgaGVpZ2h0OiAxZW07IG1hcmdpbjogMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgZm9udC1zaXplOiAxZW07IC8qIGRlZmF1bHQtc2l6ZSAqL1xyXG4gICAgZmlsbDogaW5oZXJpdDsgLyogZGVmYXVsdCBjb2xvciAqLyBcclxuICAgIGNvbG9yOiBpbmhlcml0OyAvKiBkZWZhdWx0IGNvbG9yIHdoZW4gY3VycmVudENvbG9yIGlzIHVzZWQgKi9cclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG4iLCIuZm9vdGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb290ZXItZnMpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7IFxuXG4gICAgJl9fbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIH1cblxuICAgICZfX2xpbmtzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAmX19kaXNjbGFpbWVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAmX19yaWdodHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgfVxufVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuXG46cm9vdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgLS1sb2dvLWZzOiAxODBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIsIFwiPGRlc2t0b3BcIikge1xuICAgICAgICAtLWxvZ28tZnM6IDE4MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgLS1sb2dvLWZzOiAxODBweDtcbiAgICB9XG59XG5cbi5oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG5cbiAgICBbY2xhc3NePVwiY29udGFpbmVyXCJdIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWxvZ28tZnMpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGhlYWRlciwgbG9nby1oZWlnaHQpO1xuICAgICAgICAgICAgY29sb3I6ICMyNzM3Nzk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250YWN0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1oYXMtc2hhZG93IHtcbiAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkaGVhZGVyLCBzaGFkb3cpO1xuICAgIH1cbn1cblxuLm5hdiB7XG4gICAgQGluY2x1ZGUgdXNlci1zZWxlY3Q7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgd2lkdGg6IG1hcC1kZWVwLWdldCgkYnVyZ2VyLCBtb2JpbGUsIHdpZHRoKTtcbiAgICAgICAgaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJGJ1cmdlciwgbW9iaWxlLCBoZWlnaHQpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX2NoZWNrYm94IHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgICY6Y2hlY2tlZCB+IC5tZW51LWxpc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDIwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogbWFwLWRlZXAtZ2V0KCRidXJnZXIsIG1vYmlsZSwgd2lkdGgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJGJ1cmdlciwgbW9iaWxlLCBoZWlnaHQpO1xuICAgICAgICAgICAgcGFkZGluZzogI3ttYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBtb2JpbGUsIGdhcCkgKiA2fSAje21hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIG1vYmlsZSwgZ2FwKSAqIDMuNX07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBtb2JpbGUsIGJnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgd2lkdGg6IG1hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIGRlc2t0b3AsIHdpZHRoKTtcbiAgICAgICAgICAgIGhlaWdodDogbWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgZGVza3RvcCwgd2lkdGgpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IG1hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIGRlc2t0b3AsIGdhcCkgLyAyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCJob3ZlclwiLCBcImZpbmVcIikge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnVyZ2VyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ1cmdlci1pY29uLCBjb2xvcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJ1cmdlci1pY29uLCByYWRpdXMpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogbWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgbW9iaWxlLCB3aWR0aCk7XG4gICAgICAgICAgICBoZWlnaHQ6IG1hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIG1vYmlsZSwgaGVpZ2h0KTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgI3ttYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBtb2JpbGUsIGhlaWdodCkgKyBtYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBtb2JpbGUsIGdhcCkgKiAyfSAwIG1hcC1nZXQoJGJ1cmdlci1pY29uLCBjb2xvciksXG4gICAgICAgICAgICAgICAgMCAjeyhtYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBtb2JpbGUsIGhlaWdodCkgKyBtYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBtb2JpbGUsIGdhcCkpICogM30gMFxuICAgICAgICAgICAgICAgICAgICBtYXAtZ2V0KCRidXJnZXItaWNvbiwgY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogbWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgZGVza3RvcCwgd2lkdGgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBkZXNrdG9wLCBoZWlnaHQpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAje21hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIGRlc2t0b3AsIGhlaWdodCkgKyBtYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBkZXNrdG9wLCBnYXApfSAwIG1hcC1nZXQoJGJ1cmdlci1pY29uLCBjb2xvciksXG4gICAgICAgICAgICAgICAgMCAjeyhtYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBkZXNrdG9wLCBoZWlnaHQpICsgbWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgZGVza3RvcCwgZ2FwKSkgKiAyfSAwXG4gICAgICAgICAgICAgICAgICAgIG1hcC1nZXQoJGJ1cmdlci1pY29uLCBjb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tZW51LWxpc3Qge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICBsZWZ0OiBjYWxjKHZhcigtLWdyaWQtZ3V0dGVyLXdpZHRoKSAvIC0yKTtcbiAgICAgICAgd2lkdGg6IG1hcC1kZWVwLWdldCgkbWVudSwgbW9iaWxlLCB3aWR0aCk7XG4gICAgICAgIG1pbi13aWR0aDogbWFwLWRlZXAtZ2V0KCRtZW51LCBtb2JpbGUsIG1pbi13aWR0aCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdG9wOiBtYXAtZGVlcC1nZXQoJGJ1cmdlciwgZGVza3RvcCwgaGVpZ2h0KTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IG1hcC1kZWVwLWdldCgkbWVudSwgZGVza3RvcCwgd2lkdGgpO1xuICAgICAgICBib3gtc2hhZG93OiBtYXAtZGVlcC1nZXQoJG1lbnUsIGRlc2t0b3AsIHNoYWRvdyk7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRtZW51LCBiZywgaW5pdGlhbCk7XG5cbiAgICAgICAgJixcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZW51LCBjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgcGFkZGluZzogbWFwLWRlZXAtZ2V0KCRtZW51LCBtb2JpbGUsIGlubmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZGVlcC1nZXQoJG1lbnUsIGRlc2t0b3AsIGlubmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiaG92ZXJcIiwgXCJmaW5lXCIpIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkbWVudSwgYmcsIGhvdmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vLSBmdW5jdGlvbmFsaXR5IHJlbGF0ZWQgbWl4aW5zXHJcbkBtaXhpbiB1c2VyLXNlbGVjdCB7XHJcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG59IiwiQGltcG9ydCBcImRlZmF1bHRcIjtcblxuLmN0YS13cmFwIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IG1hcC1nZXQoJGN0YS1zY2hlbWEsIGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjdGEtc2NoZW1hLCB3cmFwcGVyQmFja2dyb3VuZENvbG9yKTtcblxuICAgIHNlY3Rpb24gJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMjVlbTtcbiAgICB9XG5cbiAgICBzZWN0aW9uICsgJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjVlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xuICAgIH1cblxuICAgIFtjbGFzc149XCJjb250YWluZXJcIl0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IHZhcigtLWN0YVdyYXBHYXAsIDJlbSk7XG4gICAgfVxuXG4gICAgJi0tc3RpY2t5IHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSB2YXIoLS1zdGlja3lCYXJIZWlnaHQpKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zdGlja3lCYXJIZWlnaHQpO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICYgKyAqIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXN0aWNreUJhckhlaWdodCkgKiAtMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmIH4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXN0aWNreUJhckhlaWdodCkgKyB2YXIoLS1zZWN0aW9uLWlubmVyKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkY3RhLXNjaGVtYSwgdGl0bGVGb250U2l6ZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPG1vYmlsZVwiKSB7XG4gICAgICAgICAgICAtLWN0YVRpdGxlRm9udFNpemU6IDFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tb2JpbGVcIiwgXCI8NDE0cHhcIikge1xuICAgICAgICAgICAgLS1jdGFUaXRsZUZvbnRTaXplOiAxLjI1ZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49NDE0cHhcIiwgXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgIC0tY3RhVGl0bGVGb250U2l6ZTogMS41ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMzcwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuaGlkZS10ZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXQtbWlkXCIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1tdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldC1taWRcIikge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGN0YS1zdHJ1Y3R1cmUsIHBhZGRpbmcpO1xuICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRjdGEtc2NoZW1hLCBmb250RmFtaWx5KTtcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkY3RhLXNjaGVtYSwgZm9udFdlaWdodCk7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRjdGEtc2NoZW1hLCBmb250U2l6ZSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IG1hcC1nZXQoJGN0YS1zY2hlbWEsIGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZGVlcC1nZXQoJGN0YS1zY2hlbWEsIGJnLCBpbml0aWFsKTtcbiAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRjdGEtc2NoZW1hLCByYWRpdXMpO1xuICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGN0YS1zY2hlbWEsIHNoYWRvdyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUnKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogLjVlbTtcbiAgICB9XG5cbiAgICAmOm5vdChbaHJlZl0pIHtcbiAgICAgICAgJiwgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY3RhLXNjaGVtYSwgY29sb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCxcbiAgICBbZGlzYWJsZWRdIHtcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY3RhLXNjaGVtYSwgY29sb3IpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1kZWVwLWdldCgkY3RhLXNjaGVtYSwgYmcsIGhvdmVyKTtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkY3RhLXNjaGVtYSwgaWNvblNpemUpO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCJkZWZhdWx0XCI7XG5cbi5wb3BzY3JlZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcG9wc2NyZWVuLCBiYWNrZ3JvdW5kQ29sb3IpO1xuXG4gICAgW2NsYXNzXj1cImNvbnRhaW5lclwiXSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC8vLSBQb3BzY3JlZW4gSGVhZGVyXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogMWVtIC41ZW07XG5cbiAgICAgICAgW2NsYXNzXj1cImNvbnRhaW5lclwiXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZGVlcC1nZXQoJHBvcHNjcmVlbiwgbG9nby13aWR0aCwgbW9iaWxlKTsgICBcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRwb3BzY3JlZW4sIGxvZ28td2lkdGgsIG1vYmlsZSk7ICAgXG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGRlc2t0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogbWFwLWRlZXAtZ2V0KCRwb3BzY3JlZW4sIGxvZ28td2lkdGgsIHRhYmxldCk7ICAgXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkcG9wc2NyZWVuLCBsb2dvLXdpZHRoLCB0YWJsZXQpOyAgIFxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZGVlcC1nZXQoJHBvcHNjcmVlbiwgbG9nby13aWR0aCwgZGVza3RvcCk7ICAgXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkcG9wc2NyZWVuLCBsb2dvLXdpZHRoLCBkZXNrdG9wKTsgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcG9wc2NyZWVuLCBsb2dvLWhlaWdodCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZS1idG4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyAgICAgICAgICAgIFxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1wb3BzY3JlZW4tY2xvc2VCdG4tZnMsIDEuNWVtKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYgPiBbY2xhc3NePVwiY29udGFpbmVyXCJdIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXZoKTtcbiAgICB9XG5cbiAgICAvLy0gcG9wc2NyZWVuIGNvbnRlbnRcbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBAbWVkaWEobWF4LWhlaWdodDogNTIwcHgpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwIC41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcG9wc2NyZWVuLXRpdGxlLWZzLCA1MHB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXBvcHNjcmVlbi10aXRsZS13ZywgODAwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogdmFyKC0tbWFpbkNvbG9yKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxtb2JpbGVcIikge1xuICAgICAgICAgICAgLS1wb3BzY3JlZW4tdGl0bGUtZnM6IDI0cHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tb2JpbGVcIiwgXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgIC0tcG9wc2NyZWVuLXRpdGxlLWZzOiAyNnB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIsIFwiPGRlc2t0b3BcIikge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi1oZWlnaHQ6IDk5MXB4KSB7XG4gICAgICAgICAgICAgICAgLS1wb3BzY3JlZW4tdGl0bGUtZnM6IDM4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIC0tcG9wc2NyZWVuLXRpdGxlLWZzOiA1MHB4O1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgQG1lZGlhKG1heC1oZWlnaHQ6IDk5MHB4KSB7XG4gICAgICAgICAgICAgICAgLS1wb3BzY3JlZW4tdGl0bGUtZnM6IDM1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1wb3BzY3JlZW4tdGl0bGVJbmMtZnMsIDEuOTVlbSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnlDb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuXG4gICAgICAgIHBpY3R1cmUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tcG9wc2NyZWVuLXNlY29uZEltZy13LCA2MHZ3KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1vYmlsZS1taWQnKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1vYmlsZS1taWQnKSB7XG4gICAgICAgICAgICAtLXBvcHNjcmVlbi1zZWNvbmRJbWctdzogMjQwcHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcbiAgICAgICAgICAgIEBtZWRpYShtYXgtaGVpZ2h0OiA5OTBweCkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM1dmg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDEuMjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgQG1lZGlhKG1heC1oZWlnaHQ6IDk5MHB4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogMS4yNWVtO1xuICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEobWluLWhlaWdodDogOTkxcHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAyLjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wb3BzY3JlZW4geyAgICBcclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICAtLXNlY29uZGFyeUNvbG9yOiB2YXIoLS10ZXJ0aWFyeUNvbG9yKTtcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAuNWVtIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19 */
