/*!
 * 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)
 */
@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 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}}.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}}.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}}:root{--mainColor: hsl(228, 52%, 32%);--mainColor_h: 228;--mainColor_s: 52%;--mainColor_l: 32%;--secondaryColor: hsl(120, 100%, 25%);--secondaryColor_h: 120;--secondaryColor_s: 100%;--secondaryColor_l: 25%;--titleColor: hsl(0, 0%, 0%);--titleColor_h: 0;--titleColor_s: 0%;--titleColor_l: 0%;--textColor: hsl(0, 0%, 0%);--textColor_h: 0;--textColor_s: 0%;--textColor_l: 0%;--CTA: hsl(120, 100%, 20%);--CTA_h: 120;--CTA_s: 100%;--CTA_l: 20%;--mainFont: "Helvetica Neue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande";--secondaryFont: "Helvetica Neue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande"}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,h1,h2,h3,h4,h5,h6,header,hgroup,html,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,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}img{margin:0;padding:0;font:inherit}fieldset,figure,form,legend{font:inherit;vertical-align:baseline}figure,form{padding:0;border:0}legend{margin:0}:focus{outline:0}.question span,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-family:var(--mainFont);font-size:16px;text-align:center;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{font-size:100%;-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;width:100%}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}*,::after,::before{box-sizing:inherit}a,button{color:inherit;cursor:pointer}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}@media (max-width:991px){body{background-color:#fff}}@media (min-width:992px){body{background-color:#eee}}h2{font-size:24px;font-weight:700;color:var(--titleColor)}b{font-weight:600}a,a:active,a:hover{text-decoration:underline}@media (max-width:991px){a,a:active,a:hover{color:var(--textColor)}}@media (hover:hover) and (pointer:fine){[role=button]{cursor:pointer}}.btn{display:flex;justify-content:center;align-items:center;flex-basis:auto;margin:0 auto}.btn [disabled],.btn.disabled,.icon,input{pointer-events:none}.icon{display:inline-block;width:1em;height:1em;margin:0;text-align:center;vertical-align:middle;font-size:1em;fill:inherit;color:inherit;box-sizing:content-box}.icon,main>section{overflow:hidden}[class^=container]{width:100%;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}.container{max-width:none}footer{font-family:var(--secondaryFont);font-size:12px;color:#adb1b4;background-color:var(--secondaryColor)}@media (max-width:767px){footer{padding-block:10px}}@media (min-width:768px){footer{padding-block:15px}}.survey-wrap{padding-bottom:100px}@media (min-width:992px){.survey-wrap{overflow:hidden;margin-inline:auto}}.surveyPage .survey-wrap{background-color:#fff;border-radius:10px}@media (min-width:1025px){.surveyPage .survey-wrap{width:100%;max-width:100%}}.survey{overflow:hidden;padding-block-end:20px}.pagination{position:relative;margin-inline:auto;margin-block:20px}@media (max-width:767px){.pagination{width:calc((100% - 30px)/3 - 8px)}}@media (max-width:1025px){.pagination{margin-block:10px 20px}}@media (min-width:1026px) and (max-width:767px){.pagination{margin-block:20px 40px}}@media (min-width:768px){.pagination{width:100px;margin-block:20px 30px}}.pagination::after,.pagination::before{content:"";position:absolute;top:0;display:block;width:100%}.pagination,.pagination::after,.pagination::before{height:8px;border-radius:4px;transition:background-color 1000ms ease-in-out 500ms}.pagination,.pagination::after{background-color:hsla(var(--mainColor_h),var(--mainColor_s),var(--mainColor_l),.3)}.pagination::before{background-color:var(--mainColor);left:calc(-100% - 15px)}.pagination::after{right:calc(-100% - 15px)}.survey.three .pagination,.survey.three .pagination::after,.survey.two .pagination{background-color:var(--mainColor)}.boxes{display:flex;flex-wrap:nowrap;margin-block-start:15px;width:300vw;transition:all 1s ease-in-out .5s}.survey.one .boxes{transform:translateX(0)}.survey.two .boxes{transform:translateX(-100vw)}.survey.three .boxes{transform:translateX(-200vw)}.box{display:flex;flex-direction:column;width:100vw}@media (min-width:1025px){.box{width:310px;margin:0 auto}}.pages{align-self:flex-start;padding:0 10px}@media (min-width:1025px){.pages{order:1}}.question{line-height:1.2;margin-block-end:20px;margin-block-start:10px;font-weight:900}@media (min-width:1025px){.question{order:2}}.answers{width:100%;margin-inline:auto;margin-block-end:10px}@media (max-width:1024px){.answers{padding:0 10px}}@media (min-width:1025px){.answers{width:310px;order:3}}.answers__item,.box.three label{font-size:21px}.answers__item+.answers__item{margin-block-start:2px}input{display:none}input:checked~label{font-style:italic;color:#fff;background-color:var(--secondaryColor);border-color:var(--secondaryColor)}.nextStep,label{text-align:center}label{cursor:pointer;padding-block:8px;line-height:1.3;background-color:#fff;border:1px solid hsl(calc(var(--mainColor_h) - 16),calc(var(--mainColor_s) - 2%),calc(var(--mainColor_l) + 20%));display:block;border-radius:10px}.nextStep{display:none;opacity:0;margin:10px 0;align-self:center;width:100%;max-width:290px;font-size:22px;font-weight:700;border-radius:8px;padding:8px 0}@media (min-width:1025px){.nextStep{order:4}}.nextStep--gradient{background-image:linear-gradient(to top,var(--CTA),hsl(var(--CTA_h),var(--CTA_s),calc(var(--CTA_l) + 20%)));border:1px solid var(--CTA)}.nextStep--solid{background-color:var(--CTA)}.nextStep,.nextStep:hover{text-decoration:none;color:#fff}.nextStep.hidden{pointer-events:none}.nextStep.show{-webkit-animation:fadein 2s;animation:fadein 2s;opacity:1}@media (min-width:1025px){.skip-wrap{width:310px}}.skip{font-family:var(--secondaryFont);margin-inline:20px;margin-block-end:20px;justify-content:flex-end}.header{position:relative;z-index:1;display:flex;padding-block:17px;background-color:#111926}.header [class^=container]{display:flex;align-items:center;justify-content:center}@media (min-width:1025px){.header [class^=container]{justify-content:flex-start;max-width:900px}}.header__logo{display:flex;align-items:center;padding:5px 0}.header--svg .header__logo{font-size:130px;margin-block-start:-15px}.header--img .header__logo{max-width:250px}@media (min-width:1025px){.header--img .header__logo{max-width:198px}}.header__logo .icon{height:.5em}.header__logo img{width:100%}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9hbmltYXRpb25zL19mYWRlcy5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX21vdGlvbi5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX3NjaGVtYS5zY3NzIiwidmVuZG9ycy9ib290c3RyYXAvX2dyaWQuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL21peGlucy9fZ3JpZC5zY3NzIiwidmVuZG9ycy9ib290c3RyYXAvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwidmVuZG9ycy9ib290c3RyYXAvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwidmVuZG9ycy9ib290c3RyYXAvX3RyYW5zaXRpb25zLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL3V0aWxpdGllcy9fZmxleC5zY3NzIiwiYWJzdHJhY3RzL3NraW5zL19jb2xvcnMuc2NzcyIsImFic3RyYWN0cy9za2lucy9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fcmVzZXQuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm9ybS9pbmRleC5zY3NzIiwiYmFzZS9fcmVzZXQtZXh0ZW5kZWQuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvX2hlbHBlci1jbGFzc2VzLnNjc3MiLCJhYnN0cmFjdHMvZnVuY3Rpb25zL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19pY29ucy5zY3NzIiwibGF5b3V0L19sYXlvdXQuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm9vdGVyL2luZGV4LnNjc3MiLCIuLi9jb21wb25lbnRzL2hlYWRlci9pbmRleC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBOzs7Ozs7QUFFQSxpQkFDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQUdYLHlCQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFBR1gsc0JBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFLWCxrQkFDSSxFLENBQU8sUyxDQUNQLEUsQ0FBTyxXLEFBRVgsMEJBQ0ksRSxDQUFPLFMsQ0FDUCxFLENBQU8sVyxBQUVYLHVCQUNJLEUsQ0FBTyxTLENBQ1AsRSxDQUFPLFcsQUFJWCx5QkFDSSxFLENBR0EsRSxDQUhPLFMsQ0FDUCxHLENBQ0EsRyxDQURPLFcsQUFJWCxpQ0FDSSxFLENBR0EsRSxDQUhPLFMsQ0FDUCxHLENBQ0EsRyxDQURPLFcsQUFJWCw4QkFDSSxFLENBR0EsRSxDQUhPLFMsQ0FDUCxHLENBQ0EsRyxDQURPLFcsQUFNWCx3QkFDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQUdYLGdDQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFBR1gsNkJBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFLWCxrQkFDSSxFLENBQU8sYSxDQUFnQixTLENBQ3ZCLEUsQ0FBTSxTLENBQ04sRSxDQUFPLFcsQUFFWCwwQkFDSSxFLENBQU8sYSxDQUFnQixTLENBQ3ZCLEUsQ0FBTSxTLENBQ04sRSxDQUFPLFcsQUFFWCx1QkFDSSxFLENBQU8sYSxDQUFpQixTLENBQ3hCLEUsQ0FBTSxTLENBQ04sRSxDQUFPLFcsQUNqRlgsZ0JBQ0ksRSxDQUVBLEUsQ0FGTyx1QixDQUNQLEcsQ0FBTyw2QixBQUdYLHdCQUNJLEUsQ0FFQSxFLENBRk8sdUIsQ0FDUCxHLENBQU8sNkIsQUFHWCxxQkFDSSxFLENBRUEsRSxDQUZPLHVCLENBQ1AsRyxDQUFPLDZCLEFBS1gsa0JBQ0ksRSxDQUFPLHdCLENBQ1AsRSxDQUFPLHlCLEFBRVgsMEJBQ0ksRSxDQUFPLHdCLENBQ1AsRSxDQUFPLHlCLEFBRVgsdUJBQ0ksRSxDQUFPLHdCLENBQ1AsRSxDQUFPLHlCLEFBSVgsa0JBQ0ksRSxDQUFPLHVCLENBQ1AsRSxDQUFPLHdCLEFBRVgsMEJBQ0ksRSxDQUFPLHVCLENBQ1AsRSxDQUFPLHdCLEFBRVgsdUJBQ0ksRSxDQUFPLHVCLENBQ1AsRSxDQUFPLHdCLEFBSVgsaUJBQ0ksRSxDQUVBLEUsQ0FGTyxrQixDQUNQLEcsQ0FBTyxvQixBQUdYLHlCQUNJLEUsQ0FFQSxFLENBRk8sa0IsQ0FDUCxHLENBQU8sb0IsQUFHWCxzQkFDSSxFLENBRUEsRSxDQUZPLGtCLENBQ1AsRyxDQUFPLG9CLEFBS1gsZ0JBQ0ksRSxDQUVBLEcsQ0FFQSxFLENBSk8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNEIsQUFHWCx3QkFDSSxFLENBRUEsRyxDQUVBLEUsQ0FKTyx1QixDQUNQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw0QixBQUdYLHFCQUNJLEUsQ0FFQSxHLENBRUEsRSxDQUpPLHVCLENBQ1AsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDRCLEFBS1gsaUJBQ0ksRSxDQUdBLEUsQ0FITyx1QixDQUNQLEcsQ0FBTywyQixDQUNQLEcsQ0FBTyw0QixBQUdYLHlCQUNJLEUsQ0FHQSxFLENBSE8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FDUCxHLENBQU8sNEIsQUFHWCxzQkFDSSxFLENBR0EsRSxDQUhPLHVCLENBQ1AsRyxDQUFPLDJCLENBQ1AsRyxDQUFPLDRCLEFBS1gscUJBQ0ksRSxDQUFPLGtCLENBQ1AsRSxDQUFPLG9CLEFBRVgsNkJBQ0ksRSxDQUFPLGtCLENBQ1AsRSxDQUFPLG9CLEFBRVgsMEJBQ0ksRSxDQUFPLGtCLENBQ1AsRSxDQUFPLG9CLEFBSVgsdUJBQ0ksRSxDQUdBLEUsQ0FITyxzQixDQUNQLEUsQ0FBTyxzQixDQUNQLEcsQ0FBTyx5QixBQUdYLCtCQUNJLEUsQ0FHQSxFLENBSE8sc0IsQ0FDUCxFLENBQU8sc0IsQ0FDUCxHLENBQU8seUIsQUFHWCw0QkFDSSxFLENBR0EsRSxDQUhPLHNCLENBQ1AsRSxDQUFPLHNCLENBQ1AsRyxDQUFPLHlCLEFBS1gsa0JBQ0ksRSxDQUNBLEcsQ0FFQSxHLENBRUEsRyxDQUNBLEUsQ0FOTyx1QixDQUVQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw2QixBQUlYLDBCQUNJLEUsQ0FDQSxHLENBRUEsRyxDQUVBLEcsQ0FDQSxFLENBTk8sdUIsQ0FFUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNkIsQUFJWCx1QkFDSSxFLENBQ0EsRyxDQUVBLEcsQ0FFQSxHLENBQ0EsRSxDQU5PLHVCLENBRVAsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDZCLEFBTVgsa0NBQ0ksRSxDQUtBLEcsQ0FDQSxFLENBTk8sa0MsQ0FDUCxHLENBRUEsRyxDQUZPLHVDLENBQ1AsRyxDQUFPLDJDLENBRVAsRyxDQUFPLHdDLEFBSVgsMENBQ0ksRSxDQUtBLEcsQ0FDQSxFLENBTk8sa0MsQ0FDUCxHLENBRUEsRyxDQUZPLHVDLENBQ1AsRyxDQUFPLDJDLENBRVAsRyxDQUFPLHdDLEFBSVgsdUNBQ0ksRSxDQUtBLEcsQ0FDQSxFLENBTk8sa0MsQ0FDUCxHLENBRUEsRyxDQUZPLHVDLENBQ1AsRyxDQUFPLDJDLENBRVAsRyxDQUFPLHdDLEFDN0xYLDBCQUNJLEUsQ0FDQSxHLENBRE8sb0IsQ0FFUCxFLENBQU8sOEIsQUFFWCxrQ0FDSSxFLENBQ0EsRyxDQURPLG9CLENBRVAsRSxDQUFPLDhCLEFBRVgsK0JBQ0ksRSxDQUNBLEcsQ0FETyxvQixDQUVQLEUsQ0FBTyw4QkNYVCxVLENDREEsVSxDQUNBLGtCLENBQ0EsaUIsQ0FDQSxpQixDQUNBLGdCLENDbURFLHlCRnRERixVLENDV0ksaUIsQUMyQ0YseUJGdERGLFUsQ0NXSSxpQixBQzJDRix5QkZ0REYsVSxDQ1dJLGlCLEFDMkNGLDBCRnRERixVLENDV0ksa0JETEosZ0IsQ0FBQSxhLENBQUEsYSxDQUFBLGEsQ0FBQSxhLENDUEEsVSxDQUNBLGtCLENBQ0EsaUIsQ0FDQSxpQixDQUNBLGdCLENDbURFLHlCRnJDRSxVLENBQUEsYSxDQUNFLGlCLEFFb0NKLHlCRnJDRSxVLENBQUEsYSxDQUFBLGEsQ0FDRSxpQixBRW9DSix5QkZyQ0UsVSxDQUFBLGEsQ0FBQSxhLENBQUEsYSxDQUNFLGlCLEFFb0NKLDBCRnJDRSxVLENBQUEsYSxDQUFBLGEsQ0FBQSxhLENBQUEsYSxDQUNFLGtCQTRCTixJLENDN0JBLFksQ0FDQSxjLENBQ0Esa0IsQ0FDQSxpQixDRGdDQSxXLENBQ0UsYyxDQUNBLGEsQ0FFQSxnQixDQUFBLHlCLENBRUUsZSxDQUNBLGMsQ0cxREosSSxDQUFBLE8sQ0FBQSxTLENBQUEsVSxDQUFBLFUsQ0FBQSxVLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxZLENBQUEsTyxDQUFBLFMsQ0FBQSxVLENBQUEsVSxDQUFBLFUsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFksQ0FBQSxPLENBQUEsUyxDQUFBLFUsQ0FBQSxVLENBQUEsVSxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsWSxDQUFBLE8sQ0FBQSxTLENBQUEsVSxDQUFBLFUsQ0FBQSxVLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxZLENBQ0UsaUIsQ0FDQSxVLENBQ0Esa0IsQ0FDQSxpQixDQUpGLFMsQ0FDRSxpQixDQUVBLGtCLENBQ0EsaUIsQ0FKRixNLENBQUEsTyxDQUFBLE8sQ0FBQSxPLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FDRSxpQixDQUNBLFUsQ0FDQSxrQixDQUNBLGlCLENBc0JFLEksQ0FDRSxZLENBQ0EsVyxDQUNBLFcsQ0FDQSxjLENGMkJOLGEsQ0FDRSxhLENBQ0EsYyxDQUZGLGEsQ0FDRSxZLENBQ0EsYSxDQUZGLGEsQ0FDRSx1QixDQUNBLHdCLENBRkYsYSxDQUNFLFksQ0FDQSxhLENBRkYsYSxDQUNFLFksQ0FDQSxhLENBRkYsYSxDQUNFLHVCLENBQ0Esd0IsQ0VsQkUsUyxDRkFKLGEsQ0FDQSxVLENBQ0EsYyxDRUlRLE0sQ0ZkUixzQixDQUlBLHVCLENFVVEsTSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxNLENGZFIsWSxDQUlBLGEsQ0VVUSxNLENGZFIsdUIsQ0FJQSx3QixDRVVRLE0sQ0ZkUix1QixDQUlBLHdCLENFVVEsTSxDRmRSLFksQ0FJQSxhLENFVVEsTSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxNLENGZFIsdUIsQ0FJQSx3QixDRVVRLE0sQ0ZkUixZLENBSUEsYSxDRVVRLE8sQ0ZkUix1QixDQUlBLHdCLENFVVEsTyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxPLENGZFIsYSxDQUlBLGMsQ0VnQkksWSxDQUF3QixRLENBRXhCLFcsQ0FBdUIsUSxDQUdyQixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUyxDQUF3QixRLENBQXhCLFMsQ0FBd0IsUSxDQUF4QixTLENBQXdCLFEsQ0FPcEIsUyxDRmpCVix5QixDRWlCVSxTLENGakJWLDBCLENFaUJVLFMsQ0ZqQlYsZSxDRWlCVSxTLENGakJWLDBCLENFaUJVLFMsQ0ZqQlYsMEIsQ0VpQlUsUyxDRmpCVixlLENFaUJVLFMsQ0ZqQlYsMEIsQ0VpQlUsUyxDRmpCViwwQixDRWlCVSxTLENGakJWLGUsQ0VpQlUsVSxDRmpCViwwQixDRWlCVSxVLENGakJWLDBCLENDS0UseUJDM0JFLE8sQ0FDRSxZLENBQ0EsVyxDQUNBLFcsQ0FDQSxjLENGMkJOLGdCLENBQ0UsYSxDQUNBLGMsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0VsQkUsWSxDRkFKLGEsQ0FDQSxVLENBQ0EsYyxDRUlRLFMsQ0ZkUixzQixDQUlBLHVCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsYSxDQUlBLGMsQ0VnQkksZSxDQUF3QixRLENBRXhCLGMsQ0FBdUIsUSxDQUdyQixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FPcEIsWSxDRmpCVixhLENFaUJVLFksQ0ZqQlYseUIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLGEsQ0ZqQlYsMEIsQ0VpQlUsYSxDRmpCViw0QixBQ0tFLHlCQzNCRSxPLENBQ0UsWSxDQUNBLFcsQ0FDQSxXLENBQ0EsYyxDRjJCTixnQixDQUNFLGEsQ0FDQSxjLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsdUIsQ0FDQSx3QixDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENFbEJFLFksQ0ZBSixhLENBQ0EsVSxDQUNBLGMsQ0VJUSxTLENGZFIsc0IsQ0FJQSx1QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxVLENGZFIsdUIsQ0FJQSx3QixDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLGEsQ0FJQSxjLENFZ0JJLGUsQ0FBd0IsUSxDQUV4QixjLENBQXVCLFEsQ0FHckIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FBeEIsWSxDQUF3QixRLENBT3BCLFksQ0ZqQlYsYSxDRWlCVSxZLENGakJWLHlCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxhLENGakJWLDBCLENFaUJVLGEsQ0ZqQlYsNEIsQUNLRSx5QkMzQkUsTyxDQUNFLFksQ0FDQSxXLENBQ0EsVyxDQUNBLGMsQ0YyQk4sZ0IsQ0FDRSxhLENBQ0EsYyxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsdUIsQ0FDQSx3QixDRWxCRSxZLENGQUosYSxDQUNBLFUsQ0FDQSxjLENFSVEsUyxDRmRSLHNCLENBSUEsdUIsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsdUIsQ0FJQSx3QixDRVVRLFUsQ0ZkUixhLENBSUEsYyxDRWdCSSxlLENBQXdCLFEsQ0FFeEIsYyxDQUF1QixRLENBR3JCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixZLENBQXdCLFEsQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQU9wQixZLENGakJWLGEsQ0VpQlUsWSxDRmpCVix5QixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsYSxDRmpCViwwQixDRWlCVSxhLENGakJWLDRCLEFDS0UsMEJDM0JFLE8sQ0FDRSxZLENBQ0EsVyxDQUNBLFcsQ0FDQSxjLENGMkJOLGdCLENBQ0UsYSxDQUNBLGMsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0VsQkUsWSxDRkFKLGEsQ0FDQSxVLENBQ0EsYyxDRUlRLFMsQ0ZkUixzQixDQUlBLHVCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsYSxDQUlBLGMsQ0VnQkksZSxDQUF3QixRLENBRXhCLGMsQ0FBdUIsUSxDQUdyQixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FPcEIsWSxDRmpCVixhLENFaUJVLFksQ0ZqQlYseUIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLGEsQ0ZqQlYsMEIsQ0VpQlUsYSxDRmpCViw0Qkd2REYsSyxDQ2dCTSw4QixDQUlBLHVDRHBCTixLLENDcUJRLGlCLEFEbEJOLFVBQUEsTSxDQUNFLFMsQ0FLRixjQUFBLE0sQ0FDRSxZLENBSUosVyxDQUNFLGlCLENBQ0EsUSxDQUNBLGUsQ0NESSwyQixDQUlBLHVDRE5OLFcsQ0NPUSxpQkNYSixTLENBQWdDLDRCLENBQ2hDLFksQ0FBZ0MsK0IsQ0FDaEMsaUIsQ0FBZ0Msb0MsQ0FDaEMsb0IsQ0FBZ0MsdUMsQ0FFaEMsVSxDQUE4Qix3QixDQUM5QixZLENBQThCLDBCLENBQzlCLGtCLENBQThCLGdDLENBQzlCLFUsQ0FBOEIsdUIsQ0FDOUIsWSxDQUE4QixxQixDQUM5QixZLENBQThCLHFCLENBQzlCLGMsQ0FBOEIsdUIsQ0FDOUIsYyxDQUE4Qix1QixDQUU5QixzQixDQUFvQyxvQyxDQUNwQyxvQixDQUFvQyxrQyxDQUNwQyx1QixDQUFvQyxnQyxDQUNwQyx3QixDQUFvQyx1QyxDQUNwQyx1QixDQUFvQyxzQyxDQUVwQyxrQixDQUFpQyxnQyxDQUNqQyxnQixDQUFpQyw4QixDQUNqQyxtQixDQUFpQyw0QixDQUNqQyxxQixDQUFpQyw4QixDQUNqQyxvQixDQUFpQyw2QixDQUVqQyxvQixDQUFrQyxrQyxDQUNsQyxrQixDQUFrQyxnQyxDQUNsQyxxQixDQUFrQyw4QixDQUNsQyxzQixDQUFrQyxxQyxDQUNsQyxxQixDQUFrQyxvQyxDQUNsQyxzQixDQUFrQywrQixDQUVsQyxnQixDQUFnQyx5QixDQUNoQyxpQixDQUFnQywrQixDQUNoQyxlLENBQWdDLDZCLENBQ2hDLGtCLENBQWdDLDJCLENBQ2hDLG9CLENBQWdDLDZCLENBQ2hDLG1CLENBQWdDLDRCLENKWWhDLHlCSWxEQSxZLENBQWdDLDRCLENBQ2hDLGUsQ0FBZ0MsK0IsQ0FDaEMsb0IsQ0FBZ0Msb0MsQ0FDaEMsdUIsQ0FBZ0MsdUMsQ0FFaEMsYSxDQUE4Qix3QixDQUM5QixlLENBQThCLDBCLENBQzlCLHFCLENBQThCLGdDLENBQzlCLGEsQ0FBOEIsdUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixlLENBQThCLHFCLENBQzlCLGlCLENBQThCLHVCLENBQzlCLGlCLENBQThCLHVCLENBRTlCLHlCLENBQW9DLG9DLENBQ3BDLHVCLENBQW9DLGtDLENBQ3BDLDBCLENBQW9DLGdDLENBQ3BDLDJCLENBQW9DLHVDLENBQ3BDLDBCLENBQW9DLHNDLENBRXBDLHFCLENBQWlDLGdDLENBQ2pDLG1CLENBQWlDLDhCLENBQ2pDLHNCLENBQWlDLDRCLENBQ2pDLHdCLENBQWlDLDhCLENBQ2pDLHVCLENBQWlDLDZCLENBRWpDLHVCLENBQWtDLGtDLENBQ2xDLHFCLENBQWtDLGdDLENBQ2xDLHdCLENBQWtDLDhCLENBQ2xDLHlCLENBQWtDLHFDLENBQ2xDLHdCLENBQWtDLG9DLENBQ2xDLHlCLENBQWtDLCtCLENBRWxDLG1CLENBQWdDLHlCLENBQ2hDLG9CLENBQWdDLCtCLENBQ2hDLGtCLENBQWdDLDZCLENBQ2hDLHFCLENBQWdDLDJCLENBQ2hDLHVCLENBQWdDLDZCLENBQ2hDLHNCLENBQWdDLDhCLEFKWWhDLHlCSWxEQSxZLENBQWdDLDRCLENBQ2hDLGUsQ0FBZ0MsK0IsQ0FDaEMsb0IsQ0FBZ0Msb0MsQ0FDaEMsdUIsQ0FBZ0MsdUMsQ0FFaEMsYSxDQUE4Qix3QixDQUM5QixlLENBQThCLDBCLENBQzlCLHFCLENBQThCLGdDLENBQzlCLGEsQ0FBOEIsdUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixlLENBQThCLHFCLENBQzlCLGlCLENBQThCLHVCLENBQzlCLGlCLENBQThCLHVCLENBRTlCLHlCLENBQW9DLG9DLENBQ3BDLHVCLENBQW9DLGtDLENBQ3BDLDBCLENBQW9DLGdDLENBQ3BDLDJCLENBQW9DLHVDLENBQ3BDLDBCLENBQW9DLHNDLENBRXBDLHFCLENBQWlDLGdDLENBQ2pDLG1CLENBQWlDLDhCLENBQ2pDLHNCLENBQWlDLDRCLENBQ2pDLHdCLENBQWlDLDhCLENBQ2pDLHVCLENBQWlDLDZCLENBRWpDLHVCLENBQWtDLGtDLENBQ2xDLHFCLENBQWtDLGdDLENBQ2xDLHdCLENBQWtDLDhCLENBQ2xDLHlCLENBQWtDLHFDLENBQ2xDLHdCLENBQWtDLG9DLENBQ2xDLHlCLENBQWtDLCtCLENBRWxDLG1CLENBQWdDLHlCLENBQ2hDLG9CLENBQWdDLCtCLENBQ2hDLGtCLENBQWdDLDZCLENBQ2hDLHFCLENBQWdDLDJCLENBQ2hDLHVCLENBQWdDLDZCLENBQ2hDLHNCLENBQWdDLDhCLEFKWWhDLHlCSWxEQSxZLENBQWdDLDRCLENBQ2hDLGUsQ0FBZ0MsK0IsQ0FDaEMsb0IsQ0FBZ0Msb0MsQ0FDaEMsdUIsQ0FBZ0MsdUMsQ0FFaEMsYSxDQUE4Qix3QixDQUM5QixlLENBQThCLDBCLENBQzlCLHFCLENBQThCLGdDLENBQzlCLGEsQ0FBOEIsdUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixlLENBQThCLHFCLENBQzlCLGlCLENBQThCLHVCLENBQzlCLGlCLENBQThCLHVCLENBRTlCLHlCLENBQW9DLG9DLENBQ3BDLHVCLENBQW9DLGtDLENBQ3BDLDBCLENBQW9DLGdDLENBQ3BDLDJCLENBQW9DLHVDLENBQ3BDLDBCLENBQW9DLHNDLENBRXBDLHFCLENBQWlDLGdDLENBQ2pDLG1CLENBQWlDLDhCLENBQ2pDLHNCLENBQWlDLDRCLENBQ2pDLHdCLENBQWlDLDhCLENBQ2pDLHVCLENBQWlDLDZCLENBRWpDLHVCLENBQWtDLGtDLENBQ2xDLHFCLENBQWtDLGdDLENBQ2xDLHdCLENBQWtDLDhCLENBQ2xDLHlCLENBQWtDLHFDLENBQ2xDLHdCLENBQWtDLG9DLENBQ2xDLHlCLENBQWtDLCtCLENBRWxDLG1CLENBQWdDLHlCLENBQ2hDLG9CLENBQWdDLCtCLENBQ2hDLGtCLENBQWdDLDZCLENBQ2hDLHFCLENBQWdDLDJCLENBQ2hDLHVCLENBQWdDLDZCLENBQ2hDLHNCLENBQWdDLDhCLEFKWWhDLDBCSWxEQSxZLENBQWdDLDRCLENBQ2hDLGUsQ0FBZ0MsK0IsQ0FDaEMsb0IsQ0FBZ0Msb0MsQ0FDaEMsdUIsQ0FBZ0MsdUMsQ0FFaEMsYSxDQUE4Qix3QixDQUM5QixlLENBQThCLDBCLENBQzlCLHFCLENBQThCLGdDLENBQzlCLGEsQ0FBOEIsdUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixlLENBQThCLHFCLENBQzlCLGlCLENBQThCLHVCLENBQzlCLGlCLENBQThCLHVCLENBRTlCLHlCLENBQW9DLG9DLENBQ3BDLHVCLENBQW9DLGtDLENBQ3BDLDBCLENBQW9DLGdDLENBQ3BDLDJCLENBQW9DLHVDLENBQ3BDLDBCLENBQW9DLHNDLENBRXBDLHFCLENBQWlDLGdDLENBQ2pDLG1CLENBQWlDLDhCLENBQ2pDLHNCLENBQWlDLDRCLENBQ2pDLHdCLENBQWlDLDhCLENBQ2pDLHVCLENBQWlDLDZCLENBRWpDLHVCLENBQWtDLGtDLENBQ2xDLHFCLENBQWtDLGdDLENBQ2xDLHdCLENBQWtDLDhCLENBQ2xDLHlCLENBQWtDLHFDLENBQ2xDLHdCLENBQWtDLG9DLENBQ2xDLHlCLENBQWtDLCtCLENBRWxDLG1CLENBQWdDLHlCLENBQ2hDLG9CLENBQWdDLCtCLENBQ2hDLGtCLENBQWdDLDZCLENBQ2hDLHFCLENBQWdDLDJCLENBQ2hDLHVCLENBQWdDLDZCLENBQ2hDLHNCLENBQWdDLDhCQy9DcEMsSyxDQUNJLCtCLENBQ0Esa0IsQ0FDQSxrQixDQUNBLGtCLENBRUEscUMsQ0FDQSx1QixDQUNBLHdCLENBQ0EsdUIsQ0FFQSw0QixDQUNBLGlCLENBQ0Esa0IsQ0FDQSxrQixDQUVBLDJCLENBQ0EsZ0IsQ0FDQSxpQixDQUNBLGlCLENBRUEsMEIsQ0FDQSxZLENBQ0EsYSxDQUNBLFksQ0N2QkEsK0csQ0FDQSxvSCxDQ0VKLEMsQ0FBQSxJLENBQUEsTyxDQUFBLE8sQ0FBQSxNLENBQUEsTyxDQUFBLEssQ0FBQSxLLENBQUEsQyxDQUFBLEcsQ0FBQSxVLENBQUEsSSxDQUFBLE0sQ0FBQSxPLENBQUEsTSxDQUFBLEksQ0FBQSxJLENBQUEsRSxDQUFBLEcsQ0FBQSxPLENBQUEsRyxDQUFBLEcsQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxLLENBQUEsVSxDQUFBLE0sQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxNLENBQUEsTSxDQUFBLEksQ0FBQSxDLENBQUEsTSxDQUFBLEcsQ0FBQSxHLENBQUEsSyxDQUFBLEUsQ0FBQSxJLENBQUEsSSxDQUFBLEcsQ0FBQSxNLENBQUEsRSxDQUFBLE0sQ0FBQSxDLENBQUEsRyxDQUFBLEMsQ0FBQSxJLENBQUEsQyxDQUFBLEksQ0FBQSxPLENBQUEsSyxDQUFBLEksQ0FBQSxNLENBQUEsTSxDQUFBLEcsQ0FBQSxPLENBQUEsRyxDQUFBLEssQ0FBQSxLLENBQUEsRSxDQUFBLEssQ0FBQSxFLENBQUEsSyxDQUFBLEksQ0FBQSxFLENBQUEsRSxDQUFBLEMsQ0FBQSxFLENBQUEsRyxDQUFBLEssQ0FhRSxRLENBQ0QsUyxDQUNBLFEsQ0FFQSxZLENBQ0EsdUIsQ0FsQkQsRyxDQWFFLFEsQ0FDRCxTLENBR0EsWSxDQWpCRCxRLENBQUEsTSxDQUFBLEksQ0FBQSxNLENBaUJDLFksQ0FDQSx1QixDQWxCRCxNLENBQUEsSSxDQWNDLFMsQ0FDQSxRLENBZkQsTSxDQWFFLFEsQ0FTRixNLENBQ0ksUyxDQzBHQSxjLENEdEdKLE8sQ0FBQSxLLENBQUEsTyxDQUFBLFUsQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsSSxDQUFBLEcsQ0FBQSxPLENBRUMsYSxDQUdELEksQ0FDQyxhLENFeEJHLGdCLENBQ0Esc0IsQ0FBeUIsa0MsQ0FBcUMsaUMsQ0FFOUQsaUMsQ0NoQkEsMkIsQ0FBdUQsYyxDQUFtRCxpQixDQUFvQixzQixDSHdDbEksRSxDQUFBLEUsQ0FDQyxlLENBR0QsVSxDQUFBLEMsQ0FDQyxXLENBR0QsZ0IsQ0FBQSxpQixDQUFBLE8sQ0FBQSxRLENBR0MsWSxDQUdELEssQ0E0UUksd0IsQ0FDQSxnQixDQXhRSixnRCxDQUFBLDZDLENBQUEsaUQsQ0FBQSxxRCxDQUlJLHVCLENBQ0Esb0IsQ0FHSixrQixDQUVJLG9CLENBZ0JKLEssQ0FBQSxNLENBQUEsSyxDQUdJLG9CLENBQ0EsZSxDQUNBLE8sQ0FDQSxjLENBUUosVUFBQSxXLENBQ0ksWSxDQUNBLFEsQ0FRSixRLENBQ0ksWSxDQVVKLEksQ0FDSSxjLENBQ0EsNkIsQ0FDQSx5QixDQU9KLE8sQ0FDSSxtQixDQU9KLFEsQ0FBQSxPLENBRUksUyxDQVFKLEcsQ0FDSSxRLENBQ0EsOEIsQ0FvTUEscUIsQ0N0TEEsVSxDRFNKLFEsQ0FZQSxNLENBQ0ksUSxDQUNBLFMsQ0FkSixRLENBaEJBLE0sQ0FRQSxJLENBMExJLFEsQ0F0S0osTSxDQUdJLGtCLENBQ0EsaUIsQ0FVSixNLENBQUEsSyxDQUFBLE0sQ0FNSSx1QixDQU5KLE0sQ0FBQSxLLENBQUEsTSxDQUFBLFEsQ0FJSSxjLENBQ0EsUSxDQUVBLHNCLENBUUosTSxDQUFBLEssQ0FFSSxrQixDQVVKLE0sQ0FBQSxNLENBRUksbUIsQ0FhSixNLENBSUkseUIsQ0FFQSxpQixDQU5KLHVCLENBQUEsaUIsQ0FBQSxrQixDQUlJLHlCLENBQ0EsYyxDQUNBLGlCLENBT0osZ0IsQ0FBQSxvQixDQUVJLGMsQ0FVSixvQixDQUFBLGlCLENBRUkscUIsQ0FDQSxTLENBQ0EsWSxDQUNBLFcsQ0FTSixrQixDQUNJLDRCLENBQ0EsMkIsQ0FDQSw4QixDQUNBLHNCLENBUUosZ0QsQ0FBQSw2QyxDQUVJLHVCLENBT0osd0IsQ0FBQSx1QixDQUVJLFEsQ0FDQSxTLENFblJzQixRLENGMlIxQixRLENBQ0ksYSxDQUNBLGtCLENBWUosSSxDQUFBLEssQ0FBQSxNLENBZEEsUSxDQW1CSSxVLENBSUosZ0IsQ0FDSSxrQixDQUNBLGdCLENBR0osVyxDQUNJLGtCLENBQ0EsZ0IsQ0FhSixRLENBQ0ksZSxDQUdKLFksQ0FDSSxhLENBQ0EsZSxDQUNBLFUsQ0FDQSxjLENFeldKLEksQ0FDSSxxQixDQUlKLEMsQ0FBQSxPLENBQUEsUSxDQUVXLGtCLENBV1gsQyxDQUVBLE0sQ0FGMkIsYSxDQUFnQixjLENBRTNDLE0sQ0FDSSxTLENBQ0EsNEIsQ0FBK0MsYyxDRXpCbkQsSyxDQUNJLHNCLENBR0osSyxDQUNJLHVCLENBR0osVSxDQUNJLDJCLENBR0osRyxDQUNJLGUsQ0NnakJBLHlCRDlpQkEscUIsQ0FFUSxlLEFDNGlCUix5QkR4aUJBLGlCLENBRVEsZSxBQ3NpQlIsK0NEbGlCQSxXLENBRVEsZSxBQ2dpQlIseUJENWhCQSxlLENBRVEsZSxBQzBoQlIsZ0REdGhCQSxXLENBRVEsZSxBQ29oQlIsNEVEaGhCQSxxQixDQUVRLGUsQUM4Z0JSLDBCRDFnQkEsWSxDQUVRLGVBS1osTyxDQUNJLGtCLENDa2dCQSx5QkY3akJKLEksQ0FJUSx1QixBRXlqQkoseUJGN2pCSixJLENBUVEsdUJBSVIsRSxDQUNJLGMsQ0FBb0QsZSxDQUNwRCx1QixDQUdKLEMsQ0FDSSxlLENBSUEsQyxDQUFBLFEsQ0FBQSxPLENBQ0kseUIsQ0VzaUJKLHlCRnZpQkEsQyxDQUFBLFEsQ0FBQSxPLENBSVEsd0IsQUVtaUJSLHdDQzVqQkosYSxDQUVRLGdCQUlSLEksQ0FDSSxZLENBQWUsc0IsQ0FBeUIsa0IsQ0FBcUIsZSxDQUFrQixhLENBRS9FLGUsQ0FBQSxhLENDVEosSyxDTnVLQSxLLENLN0pRLG1CLENDVlIsSyxDQUNzQixvQixDQUF1QixTLENBQVksVSxDQUFhLFEsQ0FDbEUsaUIsQ0FBb0IscUIsQ0FBd0IsYSxDQUM1QyxZLENBQ0EsYSxDQUNBLHNCLENBTEosSyxDQ0RBLFksQ0FDSSxlLENBR0osa0IsQ0FDRyxVLENBQWEsaUIsQ0FBb0IsZ0IsQ0FDakMsa0IsQ0FBdUMsaUIsQ0FHMUMsVSxDQUNJLGMsQ0NWSixNLENBQ0ksZ0MsQ0FBNkIsYyxDQUM3QixhLENBQWdCLHNDLENKMmpCaEIseUJJN2pCSixNLENBS1Esb0IsQUp3akJKLHlCSTdqQkosTSxDQVNRLG9CUlRSLFksQ0FDSSxvQixDSTRqQkEseUJKN2pCSixZLENBR1EsZSxDQUNBLG9CQUdKLHdCLENBQ0kscUIsQ0FDQSxrQixDSW9qQkosMEJKdGpCQSx3QixDQUtRLFUsQ0FBYSxnQkFLekIsTyxDQUNJLGUsQ0FDQSxzQixDQUdKLFcsQ0FDSSxpQixDQUVBLGtCLENBRUEsaUIsQ0lraUJBLHlCSnZpQkosVyxDQVFRLG1DLEFJK2hCSiwwQkp2aUJKLFcsQ0FZUSx3QixBSTJoQkosZ0RKdmlCSixXLENBZ0JRLHdCLEFJdWhCSix5Qkp2aUJKLFcsQ0FvQlEsVyxDQUNBLHdCQUdKLGtCLENBQUEsbUIsQ0FFSSxVLENBQ0EsaUIsQ0FDQSxLLENBQ0EsYSxDQUNBLFUsQ0FHSixXLENBQUEsa0IsQ0FBQSxtQixDQUdJLFUsQ0FDQSxpQixDQUNBLG9ELENBR0osVyxDQUFBLGtCLENBRUksa0YsQ0FHSixtQixDQUNJLGlDLENBQ0EsdUIsQ0FHSixrQixDQUNJLHdCLENBT0oseUIsQ0FMSSxnQyxDQUtKLHVCLENBSlEsaUMsQ0FVWixNLENBQ0ksWSxDQUNBLGdCLENBQ0EsdUIsQ0FFQSxXLENBQ0EsaUMsQ0FFQSxrQixDQUNJLHVCLENBR0osa0IsQ0FDSSw0QixDQUlKLG9CLENBQ0ksNEIsQ0FNUixJLENBQ0ksWSxDQUNBLHFCLENBQ0EsVyxDSTJjQSwwQko5Y0osSSxDQUtRLFcsQ0FBYyxlQUl0QixNLENBQ0kscUIsQ0FFQSxjLENJa2NBLDBCSnJjSixNLENBS1EsU0FLUixTLENBQ0ksZSxDQUNBLHFCLENBQXdCLHVCLENBQ3hCLGUsQ0l3YkEsMEJKM2JKLFMsQ0FRUSxTQUtSLFEsQ0FDSSxVLENBQ0Esa0IsQ0FDQSxxQixDSTJhQSwwQko5YUosUSxDQUtRLGdCLEFJeWFKLDBCSjlhSixRLENBUVEsVyxDQUNBLFNBR0osYyxDQXlDQSxnQixDQXhDSSxjLENBQ0EsNkIsQ0FDSSxzQixDQVVaLEssQ0FDSSxZLENBSUksbUIsQ0FDSSxpQixDQUNBLFUsQ0FDQSxzQyxDQUNBLGtDLENBMEJaLFMsQ0FwQkEsSyxDQXdCeUUsaUIsQ0F4QnpFLEssQ0FDSSxjLENBQ0EsaUIsQ0FJQSxlLENBR0EscUIsQ0FDQSxnSCxDQU5BLGEsQ0FHQSxrQixDQWFKLFMsQ0FDSSxZLENBQWUsUyxDQUNmLGEsQ0FBZSxpQixDQUNmLFUsQ0FBYyxlLENBQ2QsYyxDQUFrRCxlLENBQ2xELGlCLENBb0JBLGEsQ0l5VkEsMEJKbFhKLFMsQ0FPUSxTQUdKLG1CLENBQ0ksMkcsQ0FDQSwyQixDQUdKLGdCLENBQ0ksMkIsQ0FHSixTLENBQUEsZSxDQUVJLG9CLENBQ0EsVSxDQVFKLGdCLENBQ0ksbUIsQ0FHSixjLENBQ0ksMkIsQ0FDQSxtQixDQUNBLFMsQ0k2VUosMEJKeFVKLFUsQ0FFUSxhQUdSLEssQ0FDSSxnQyxDQUNBLGtCLENBQ0EscUIsQ0FDQSx3QixDUzVQSixPLENBQ0ksaUIsQ0FBb0IsUyxDQUNwQixZLENBQ0Esa0IsQ0FDQSx3QixDQUVBLDBCLENBQ0ksWSxDQUFlLGtCLENBQXFCLHNCLENMb2pCeEMsMEJLcmpCQSwwQixDQUlRLDBCLENBQTZCLGlCQUlyQyxhLENBQ0ksWSxDQUFlLGtCLENBQXNCLGEsQ0FHckMsMEIsQ0FDSSxlLENBQWtCLHdCLENBR3RCLDBCLENBQ0ksZSxDTG9pQlIsMEJLcmlCSSwwQixDQUdRLGlCQUlSLG1CLENBQ0ksVyxDQUdKLGlCLENBQ0ksVSIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLy0gRmFkZXMgcmVsYXRlZCBhbmltYXRpb25zXG4vLy0gQmxpbmtcbkBrZXlmcmFtZXMgYmxpbmsge1xuICAgIDAlICAgeyBvcGFjaXR5OiAxOyB9XG4gICAgNTAlICB7IG9wYWNpdHk6IDA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5rIHtcbiAgICAwJSAgIHsgb3BhY2l0eTogMTsgfVxuICAgIDUwJSAgeyBvcGFjaXR5OiAwOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBibGluayB7XG4gICAgMCUgICB7IG9wYWNpdHk6IDE7IH1cbiAgICA1MCUgIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi8vLSBBcHBlYXJcbkBrZXlmcmFtZXMgYXBwZWFyIHtcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYXBwZWFyIHtcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgYXBwZWFyIHtcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi8vLSBBcHBlYXIgSGFtbWVyXG5Aa2V5ZnJhbWVzIGFwcGVhci1oYW1tZXIge1xuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XG4gICAgNTAlICB7IG9wYWNpdHk6IDE7IH1cbiAgICA2MCUgIHsgb3BhY2l0eTogMTsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYXBwZWFyLWhhbW1lciB7XG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cbiAgICA1MCUgIHsgb3BhY2l0eTogMTsgfVxuICAgIDYwJSAgeyBvcGFjaXR5OiAxOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBhcHBlYXItaGFtbWVyIHtcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxuICAgIDUwJSAgeyBvcGFjaXR5OiAxOyB9XG4gICAgNjAlICB7IG9wYWNpdHk6IDE7IH1cbiAgICAxMDAlIHsgb3BhY2l0eTogMDsgfVxufVxuXG4vLy0gQmxpbmsgQ3Vyc29yXG5Aa2V5ZnJhbWVzIGJsaW5rLWN1cnNvciB7XG4gICAgMCUgICB7IG9wYWNpdHk6MTsgfVxuICAgIDUwJSAgeyBvcGFjaXR5OjA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eToxOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcbiAgICAwJSAgIHsgb3BhY2l0eToxOyB9XG4gICAgNTAlICB7IG9wYWNpdHk6MDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBibGluay1jdXJzb3Ige1xuICAgIDAlICAgeyBvcGFjaXR5OjE7IH1cbiAgICA1MCUgIHsgb3BhY2l0eTowOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxufVxuXG4vLy0gZmFkZSBpblxuQGtleWZyYW1lcyBmYWRlaW4ge1xuICAgIDAlICAgeyBkaXNwbGF5OiBibG9jazsgb3BhY2l0eTowOyB9XG4gICAgMSUgIHsgb3BhY2l0eTowOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVpbiB7XG4gICAgMCUgICB7IGRpc3BsYXk6IGJsb2NrOyBvcGFjaXR5OjA7IH1cbiAgICAxJSAgeyBvcGFjaXR5OjA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eToxOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgZmFkZWluIHtcbiAgICAwJSAgIHsgZGlzcGxheTogYmxvY2s7ICBvcGFjaXR5OjA7fVxuICAgIDElICB7IG9wYWNpdHk6MDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cbn0iLCIvLy0gTW90aW9uIHJlbGF0ZWQgYW5pbWF0aW9uc1xuLy8tIEp1bXBcbkBrZXlmcmFtZXMganVtcHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMganVtcHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5ALW1vei1rZXlmcmFtZXMganVtcHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5cbi8vLSBXZWlnaHRcbkBrZXlmcmFtZXMgd2VpZ2h0e1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDQ4ZGVnKTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHdlaWdodHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoLTQ4ZGVnKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0OGRlZyk7IH1cbn1cbkAtbW96LWtleWZyYW1lcyB3ZWlnaHR7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKC00OGRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9XG59XG5cbi8vLSBIYW1tZXJcbkBrZXlmcmFtZXMgaGFtbWVye1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyOGRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBoYW1tZXJ7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDI4ZGVnKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGhhbW1lcntcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMjhkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyB9XG59XG5cbi8vLSBTY2FsZVxuQGtleWZyYW1lcyBzY2FsZXtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDIpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzY2FsZXtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDIpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBzY2FsZXtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDIpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cblxuLy8tIEhvb3BcbkBrZXlmcmFtZXMgaG9vcHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTsgfVxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBob29we1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpOyB9XG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGhvb3B7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7IH1cbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG59XG5cbi8vLSBEYW5zZVxuQGtleWZyYW1lcyBkYW5zZXtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH0gICBcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBkYW5zZXtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH0gICBcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBkYW5zZXtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH0gICBcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbn1cblxuLy8tIEhhbWJ1cmdlclxuQGtleWZyYW1lcyBoYW1idXJnZXJ7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGhhbWJ1cmdlcntcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgaGFtYnVyZ2Vye1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbn1cblxuLy8tIEJvdHRsZSBEYW5jZVxuQGtleWZyYW1lcyBib3R0bGVEYW5jZXtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICA1JSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgICA5NSUgIHsgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm90dGxlRGFuY2V7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgNSUgICB7IHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XG4gICAgOTUlICB7IHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGJvdHRsZURhbmNle1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIDUlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICAgIDk1JSAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbn1cblxuLy8tIEJvdW5jZVxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAxMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjVweCk7IH1cbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNXB4KTsgfVxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgYm91bmNlIHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgMTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1cHgpOyB9XG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLy8tIEJvdW5jZSB3aXRoIGRpc3RvcnRpb25cbkBrZXlmcmFtZXMgYm91bmNlLXdpdGgtZGlzdG9ydGlvbiB7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XG4gICAgMTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XG4gICAgMzAlICB7IHRyYW5zZm9ybTogc2NhbGUoLjk3LDEuMDMpICB0cmFuc2xhdGVZKC0yNXB4KTsgfVxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgICA2MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Utd2l0aC1kaXN0b3J0aW9uIHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAxMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAzMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSguOTcsMS4wMykgIHRyYW5zbGF0ZVkoLTI1cHgpOyB9XG4gICAgNDAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XG4gICAgNTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGJvdW5jZS13aXRoLWRpc3RvcnRpb24ge1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKC45NywxLjAzKSAgdHJhbnNsYXRlWSgtMjVweCk7IH1cbiAgICA0MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cbiAgICA1MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gICAgNjAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XG59IiwiLy8tIFNjaGVtYSByZWxhdGVkIGFuaW1hdGlvbnNcbiR0YXAtY29sb3I6IHJlZDtcblxuLy8tIEJhY2tncm91bmQtY29sb3Igb24gdGFwXG5Aa2V5ZnJhbWVzIGJnQ29sb3Itb24tdGFwIHtcbiAgICAwJSAgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxuICAgIDUwJSAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XG4gICAgMTAwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMCk7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBiZ0NvbG9yLW9uLXRhcCB7XG4gICAgMCUgICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cbiAgICA1MCUgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxuICAgIDEwMCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDApOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgYmdDb2xvci1vbi10YXAge1xuICAgIDAlICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XG4gICAgNTAlICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cbiAgICAxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAwKTsgfVxufSIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG4gIH1cblxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgJiA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlIC8gJGNvdW50O1xuICAgIG1heC13aWR0aDogMTAwJSAvICRjb3VudDtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1NDEwXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vLSB2MDJcbjpyb290IHtcbiAgICAtLW1haW5Db2xvcjogICAgICAgIGhzbCgyMjgsIDUyJSwgMzIlKTtcbiAgICAtLW1haW5Db2xvcl9oOiAgICAgIDIyODtcbiAgICAtLW1haW5Db2xvcl9zOiAgICAgIDUyJTtcbiAgICAtLW1haW5Db2xvcl9sOiAgICAgIDMyJTtcbiAgICBcbiAgICAtLXNlY29uZGFyeUNvbG9yOiAgaHNsKDEyMCwgMTAwJSwgMjUlKTtcbiAgICAtLXNlY29uZGFyeUNvbG9yX2g6ICAxMjA7XG4gICAgLS1zZWNvbmRhcnlDb2xvcl9zOiAgMTAwJTtcbiAgICAtLXNlY29uZGFyeUNvbG9yX2w6ICAyNSU7XG5cbiAgICAtLXRpdGxlQ29sb3I6ICAgICAgaHNsKDAsIDAlLCAwJSk7XG4gICAgLS10aXRsZUNvbG9yX2g6ICAgICAgMDtcbiAgICAtLXRpdGxlQ29sb3JfczogICAgICAwJTtcbiAgICAtLXRpdGxlQ29sb3JfbDogICAgICAwJTtcblxuICAgIC0tdGV4dENvbG9yOiAgICAgICAgICBoc2woMCwgMCUsIDAlKTtcbiAgICAtLXRleHRDb2xvcl9oOiAgICAgICAgICAwO1xuICAgIC0tdGV4dENvbG9yX3M6ICAgICAgICAgIDAlO1xuICAgIC0tdGV4dENvbG9yX2w6ICAgICAgICAgIDAlO1xuICAgIFxuICAgIC0tQ1RBOiAgICAgICAgICAgICAgICBoc2woMTIwLCAxMDAlLCAyMCUpO1xuICAgIC0tQ1RBX2g6ICAgICAgICAgICAgICAgIDEyMDtcbiAgICAtLUNUQV9zOiAgICAgICAgICAgICAgICAxMDAlO1xuICAgIC0tQ1RBX2w6ICAgICAgICAgICAgICAgIDIwJTtcbn1cblxuJHdoaXRlOiAgICAgICAgICAgICAgICAgICAgICNmZmY7XG4kbGlnaHQtYmxhY2s6ICAgICAgICAgICAgICAjMTExOTI2O1xuJGNsYXktYnJvd246ICAgICAgICAgICAgICAgICNiYTdjM2I7XG4kd2FybS1ncmV5OiAgICAgICAgICAgICAgICAgIzcwNzA3MDtcblxuLy8tIGFwcGx5IGNvbG9yc1xuJG1haW5Db2xvcjogICAgICAgICAgICAgICAgICAgICB2YXIoLS1tYWluQ29sb3IpO1xuJG1haW5Db2xvckxpZ2h0OiAgICAgICAgICAgICAgICBoc2woIGNhbGMoIHZhcigtLW1haW5Db2xvcl9oKSAtIDE2ICksIGNhbGMoIHZhcigtLW1haW5Db2xvcl9zKSAtIDIlICksIGNhbGMoIHZhcigtLW1haW5Db2xvcl9sKSArIDIwJSApICk7XG4kbWFpbkNvbG9yT3BhY2l0eTogICAgICAgICAgICAgIGhzbGEodmFyKC0tbWFpbkNvbG9yX2gpLCB2YXIoLS1tYWluQ29sb3JfcyksIHZhcigtLW1haW5Db2xvcl9sKSwgLjMgKTtcblxuJHNlY29uZGFyeUNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS1zZWNvbmRhcnlDb2xvcik7XG4kc2Vjb25kYXJ5Q29sb3JPcGFjaXR5OiAgICAgICAgIGhzbGEodmFyKC0tc2Vjb25kYXJ5Q29sb3JfaCksIHZhcigtLXNlY29uZGFyeUNvbG9yX3MpLCB2YXIoLS1zZWNvbmRhcnlDb2xvcl9sKSwgLjMgKTtcblxuJHRpdGxlQ29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS10aXRsZUNvbG9yKTtcbiR0ZXh0Q29sb3I6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tdGV4dENvbG9yKTtcblxuJGhpZ2hsaWdodEJnQ29sb3I6ICAgICAgICAgICAgICBoc2woIGNhbGMoIHZhcigtLXRlcnRpYXJ5Q29sb3JfaCkgKyAxICksIHZhcigtLXRlcnRpYXJ5Q29sb3JfcykgLCBjYWxjKCB2YXIoLS10ZXJ0aWFyeUNvbG9yX2wpICsgMjMlICkgKTtcblxuJGJ1dHRvbkNvbG9yU3RhcnQ6ICAgICAgICAgICAgICB2YXIoLS1DVEEpO1xuJGJ1dHRvbkNvbG9yRW5kOiAgICAgICAgICAgICAgICBoc2wodmFyKC0tQ1RBX2gpLCB2YXIoLS1DVEFfcyksIGNhbGMoIHZhcigtLUNUQV9sKSArIDIwJSApICk7IC8vLSBoc2woMTIwLCAxMDAlLCA0MCUpXG4kYnV0dG9uR3JhZGllbnQ6ICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRidXR0b25Db2xvclN0YXJ0LCAkYnV0dG9uQ29sb3JFbmQpO1xuJGJ1dHRvbkNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS1DVEEpO1xuXG4kaGVhZGVyQ29sb3I6ICAgICAgICAgICAgICAgICAgICRsaWdodC1ibGFjaztcbiRiZ0NvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuXG4kbWFpblNoYWRvdzogICAgICAgICAgICAgICAgICAgIDAgNXB4IDVweCAwICNjYWM5Yzk7XG4kYnV0dG9uVGV4dFNoYWRvdzogICAgICAgICAgICAgICRjbGF5LWJyb3duO1xuJGJ1dHRvblRleHRTaGFkb3dEaXNhYmxlZDogICAgICAkd2FybS1ncmV5O1xuXG4kYm94U2hhZG93OiAgICAgICAgICByZ2JhKGJsYWNrLCAuMTYpOyIsIi8vLSBGb250IGZhbWlsaWVzXG46cm9vdCB7XG4gICAgLS1tYWluRm9udDogJ0hlbHZldGljYSBOZXVlLUxpZ2h0JywgJ0hlbHZldGljYSBOZXVlIExpZ2h0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnO1xuICAgIC0tc2Vjb25kYXJ5Rm9udDogJ0hlbHZldGljYSBOZXVlLUxpZ2h0JywgJ0hlbHZldGljYSBOZXVlIExpZ2h0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnO1xufVxuXG4kbWFpbkZvbnQ6IHZhcigtLW1haW5Gb250KTtcbiRzZWNvbmRhcnlGb250OiB2YXIoLS1zZWNvbmRhcnlGb250KTtcblxuLy8tIGZvbnQtc2l6ZVxuJGZvbnQ6IChcbiAgICBoMSA6IChcbiAgICAgICAgbW9iaWxlOiAgICAgMjBweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaDEsIG1vYmlsZSlcbiAgICAgICAgdGFibGV0OiAgICAgMzBweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaDEsIHRhYmxldClcbiAgICAgICAgZGVza3RvcDogICAgNTBweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaDEsIGRlc2t0b3ApXG4gICAgKSxcbiAgICBoMiA6IChcbiAgICAgICAgbW9iaWxlOiAgICAgMTZweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaDIsIG1vYmlsZSlcbiAgICAgICAgdGFibGV0OiAgICAgMzBweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaDIsIHRhYmxldClcbiAgICAgICAgZGVza3RvcDogICAgMzBweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaDIsIGRlc2t0b3ApXG4gICAgKSxcbiAgICBoMyA6IChcbiAgICAgICAgbW9iaWxlOiAgICAgMTZweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaDMsIG1vYmlsZSlcbiAgICAgICAgdGFibGV0OiAgICAgMjZweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaDMsIHRhYmxldClcbiAgICAgICAgZGVza3RvcDogICAgMjZweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaDMsIGRlc2t0b3ApXG4gICAgKSxcbiAgICBoNCA6IChcbiAgICAgICAgbW9iaWxlOiAgICAgMTZweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaDQsIG1vYmlsZSlcbiAgICAgICAgdGFibGV0OiAgICAgMjRweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaDQsIHRhYmxldClcbiAgICAgICAgZGVza3RvcDogICAgMjRweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaDQsIGRlc2t0b3ApXG4gICAgKSxcbiAgICAvLy0gUHJvZHVjdCBCYW5uZXJcbiAgICBoaWdobGlnaHQgOiAoXG4gICAgICAgIG1vYmlsZTogICAgIDE2cHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIGhpZ2hsaWdodCwgbW9iaWxlKVxuICAgICAgICB0YWJsZXQ6ICAgICAzMHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoaWdobGlnaHQsIHRhYmxldClcbiAgICAgICAgZGVza3RvcDogICAgMzBweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaGlnaGxpZ2h0LCBkZXNrdG9wKVxuICAgICksXG4gICAgLy8tIExlYWQgQm94IFxuICAgIGhpZ2hsaWdodC1zbSA6IChcbiAgICAgICAgbW9iaWxlOiAgICAgMTRweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgaGlnaGxpZ2h0LXNtLCBtb2JpbGUpXG4gICAgICAgIHRhYmxldDogICAgIDI0cHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIGhpZ2hsaWdodC1zbSwgdGFibGV0KVxuICAgICAgICBkZXNrdG9wOiAgICAyNHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBoaWdobGlnaHQtc20sIGRlc2t0b3ApXG4gICAgKSxcbiAgICBjb250ZW50IDogKFxuICAgICAgICBtb2JpbGU6ICAgICAxNHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBjb250ZW50LCBtb2JpbGUpXG4gICAgICAgIHRhYmxldDogICAgIDIycHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIGNvbnRlbnQsIHRhYmxldClcbiAgICAgICAgZGVza3RvcDogICAgMjJweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgY29udGVudCwgZGVza3RvcClcbiAgICApLFxuICAgIGNhcnQtY3RhIDogKFxuICAgICAgICBtb2JpbGU6ICAgICAyMnB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBjYXJ0LWN0YSwgbW9iaWxlKVxuICAgICAgICB0YWJsZXQ6ICAgICA0MHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBjYXJ0LWN0YSwgdGFibGV0KVxuICAgICAgICBkZXNrdG9wOiAgICA0MHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBjYXJ0LWN0YSwgZGVza3RvcClcbiAgICApLFxuICAgIC8vLSBmcm9tIGxlYWQgYm94XG4gICAgc2lnbmF0dXJlOiAoXG4gICAgICAgIG1vYmlsZTogICAgIDE2cHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIHNpZ25hdHVyZSwgbW9iaWxlKVxuICAgICAgICB0YWJsZXQ6ICAgICAzNHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBzaWduYXR1cmUsIHRhYmxldClcbiAgICAgICAgZGVza3RvcDogICAgMzRweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgc2lnbmF0dXJlLCBkZXNrdG9wKVxuICAgICksXG4gICAgZGlzY2xhaW1lcjogKFxuICAgICAgICBtb2JpbGU6ICAgICAxMHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBkaXNjbGFpbWVyLCBtb2JpbGUpXG4gICAgICAgIHRhYmxldDogICAgIDE2cHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIGRpc2NsYWltZXIsIHRhYmxldClcbiAgICAgICAgZGVza3RvcDogICAgMTZweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgZGlzY2xhaW1lciwgZGVza3RvcClcbiAgICApLFxuICAgIGZvb3Rlci1saW5rczogKFxuICAgICAgICBtb2JpbGU6ICAgICAxMnB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBmb290ZXItbGlua3MsIG1vYmlsZSlcbiAgICAgICAgdGFibGV0OiAgICAgMjJweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgZm9vdGVyLWxpbmtzLCB0YWJsZXQpXG4gICAgICAgIGRlc2t0b3A6ICAgIDIycHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIGZvb3Rlci1saW5rcywgZGVza3RvcClcbiAgICApLFxuICAgIGZvb3RlcjogKFxuICAgICAgICBtb2JpbGU6ICAgICA5cHgsIC8vLSBtYXAtZGVlcC1nZXQoJGZvbnQsIGZvb3RlciwgbW9iaWxlKVxuICAgICAgICB0YWJsZXQ6ICAgICAxNnB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRmb250LCBmb290ZXIsIHRhYmxldClcbiAgICAgICAgZGVza3RvcDogICAgMTZweCwgLy8tIG1hcC1kZWVwLWdldCgkZm9udCwgZm9vdGVyLCBkZXNrdG9wKVxuICAgICksXG4pOyIsIi8qIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvXG4gICB2Mi4wLW1vZGlmaWVkIHwgMjAxMTAxMjZcbiAgIExpY2Vuc2U6IG5vbmUgKHB1YmxpYyBkb21haW4pXG4qL1xuXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCxcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCxcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0Zm9udDogaW5oZXJpdDtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKiBtYWtlIHN1cmUgdG8gc2V0IHNvbWUgZm9jdXMgc3R5bGVzIGZvciBhY2Nlc3NpYmlsaXR5ICovXG46Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuYm9keSB7XG5cdGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5vbCwgdWwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG5ibG9ja3F1b3RlLCBxIHtcblx0cXVvdGVzOiBub25lO1xufVxuXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdGNvbnRlbnQ6IG5vbmU7XG59XG5cbnRhYmxlIHtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAqZGlzcGxheTogaW5saW5lO1xuICAgICp6b29tOiAxO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA3LzgvOSwgRmlyZWZveCAzLCBhbmQgU2FmYXJpIDQuXG4gKiBLbm93biBpc3N1ZTogbm8gSUUgNiBzdXBwb3J0LlxuICovXG5cbltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICogICAgYGVtYCB1bml0cy5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuYTpmb2N1cyB7XG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICogMi4gSW1wcm92ZSBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFIDcuXG4gKi9cblxuaW1nIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgNi83LzgvOSwgU2FmYXJpIDUsIGFuZCBPcGVyYSAxMS5cbiAqL1xuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG1hcmdpbiBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5cbmZvcm0ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDYvNy84LzkuXG4gKiAyLiBDb3JyZWN0IHRleHQgbm90IHdyYXBwaW5nIGluIEZpcmVmb3ggMy5cbiAqIDMuIENvcnJlY3QgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cblxubGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDIgKi9cbiAgICAqbWFyZ2luLWxlZnQ6IC03cHg7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LCBGaXJlZm94IDMrLCBTYWZhcmkgNSxcbiAqICAgIGFuZCBDaHJvbWUuXG4gKiAzLiBJbXByb3ZlIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDMgKi9cbiAgICAqdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCAzKyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgNisuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3ggNCsgYW5kIE9wZXJhLlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZSBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICogICAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgICAqb3ZlcmZsb3c6IHZpc2libGU7ICAvKiA0ICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGNvbnRlbnQtYm94IGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKiAzLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgNy5cbiAqICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgICpoZWlnaHQ6IDEzcHg7IC8qIDMgKi9cbiAgICAqd2lkdGg6IDEzcHg7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiBvbiBPUyBYLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDMrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgNi83LzgvOS5cbiAqIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuaHRtbCxcbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGNvbG9yOiAjMjIyO1xufVxuXG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG5pbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnRleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4uY2hyb21lZnJhbWUge1xuICAgIG1hcmdpbjogMC4yZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDAuMmVtIDA7XG59XG4iLCIuc3VydmV5LXdyYXAge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49Ym9vdC1kZXNrdG9wXCIpIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICB9XG5cbiAgICAuc3VydmV5UGFnZSAmIHsgICAgICAgICAgICAgIFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgc2VjdGlvbiwgYmcpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgc2VjdGlvbiwgcmFkaXVzKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfSAgIFxufVxuXG4uc3VydmV5IHsgICAgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJsb2NrLWVuZDogI3ttYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBtb2JpbGUpICogMn07ICAgIFxufVxuXG4ucGFnaW5hdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcblxuICAgIG1hcmdpbi1ibG9jazogbWFwLWdldCgkZWxlbWVudHMtZmxvdywgbW9iaWxlKSAqIDI7XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzMHB4KSAvIDMgLSA4cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiBtYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBtb2JpbGUpIG1hcC1nZXQoJGVsZW1lbnRzLWZsb3csIG1vYmlsZSkgKiAyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIiwgXCI8dGFibGV0XCIpIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiBtYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBtb2JpbGUpICogMiBtYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBtb2JpbGUpICogNDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBtYXJnaW4tYmxvY2s6IG1hcC1nZXQoJGVsZW1lbnRzLWZsb3csIG1vYmlsZSkgKiAyIG1hcC1nZXQoJGVsZW1lbnRzLWZsb3csIG1vYmlsZSkgKiAzO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJixcbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEwMDBtcyBlYXNlLWluLW91dCA1MDBtcztcbiAgICB9XG5cbiAgICAmLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW5Db2xvck9wYWNpdHk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW5Db2xvcjtcbiAgICAgICAgbGVmdDogY2FsYygtMTAwJSAtIDE1cHgpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IGNhbGMoLTEwMCUgLSAxNXB4KTtcblxuICAgICAgICAuc3VydmV5LnRocmVlICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW5Db2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdXJ2ZXkudHdvICYsXG4gICAgLnN1cnZleS50aHJlZSAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW5Db2xvcjtcbiAgICB9XG59XG5cbi5ib3hlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDE1cHg7XG5cbiAgICB3aWR0aDogMzAwdnc7XG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0IDAuNXM7XG5cbiAgICAuc3VydmV5Lm9uZSAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cblxuICAgIC5zdXJ2ZXkudHdvICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHZ3KTtcbiAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMTBweCk7XG4gICAgfVxuXG4gICAgLnN1cnZleS50aHJlZSAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDB2dyk7XG4gICAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNjIwcHgpO1xuICAgIH1cbiAgICBcbn1cblxuLmJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgIHdpZHRoOiAzMTBweDsgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxufVxuXG4ucGFnZXMge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgLy8gbWFyZ2luLWJsb2NrLWVuZDogMTZweDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG5cbn1cblxuLnF1ZXN0aW9uIHtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IDIwcHg7IG1hcmdpbi1ibG9jay1zdGFydDogMTBweDtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICBvcmRlcjogMjtcbiAgICB9XG5cbn1cblxuLmFuc3dlcnMgeyAgICBcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IG1hcC1nZXQoJGVsZW1lbnRzLWZsb3csIG1vYmlsZSk7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICB3aWR0aDogMzEwcHg7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgIH1cbiAgICBcbiAgICAmX19pdGVtIHtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDJweDtcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxufVxuXG5pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5pbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBhbnN3ZXIsIGNvbG9yKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBhbnN3ZXIsIGJnKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGFuc3dlciwgYmcpO1xuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmxhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZy1ibG9jazogOHB4O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgYm9yZGVyLXJhZGl1czogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGFuc3dlciwgcmFkaXVzKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBhbnN3ZXIsIGJvcmRlcikgbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGFuc3dlciwgYm9yZGVyLWNvbG9yKTtcbiAgICBcblxuICAgIC5ib3gudGhyZWUgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGFuc3dlciwgZm9udC1zaXplLWRlc2t0b3ApO1xuICAgIH1cblxufVxuXG5cbi5uZXh0U3RlcCB7XG4gICAgZGlzcGxheTogbm9uZTsgb3BhY2l0eTogMDtcbiAgICBtYXJnaW46IDEwcHggMDthbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7ICBtYXgtd2lkdGg6IDI5MHB4O1xuICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGN0YSwgZm9udC1zaXplKTsgZm9udC13ZWlnaHQ6IGJvbGQ7IHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgY3RhLCByYWRpdXMpO1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgfVxuXG4gICAgJi0tZ3JhZGllbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkYnV0dG9uR3JhZGllbnQ7XG4gICAgICAgIGJvcmRlcjogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGN0YSwgYm9yZGVyKSBtYXAtZGVlcC1nZXQoJHN1cnZleSwgY3RhLCBib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgICYtLXNvbGlkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkNvbG9yO1xuICAgIH1cblxuICAgICYsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBjdGEsIGNvbG9yKTtcbiAgICB9XG5cbiAgICBwYWRkaW5nOiA4cHggMDtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGN0YSwgc2hhZG93KTtcbiAgICB9XG5cbiAgICAmLmhpZGRlbiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICYuc2hvdyB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYWRlaW4gMnM7XG4gICAgICAgIGFuaW1hdGlvbjogZmFkZWluIDJzO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxufVxuXG4uc2tpcC13cmFwe1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgd2lkdGg6IDMxMHB4O1xuICAgIH1cbn1cbi5za2lwIHtcbiAgICBmb250LWZhbWlseTogJHNlY29uZGFyeUZvbnQ7XG4gICAgbWFyZ2luLWlubGluZTogI3ttYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBtb2JpbGUpICogMn07XG4gICAgbWFyZ2luLWJsb2NrLWVuZDogI3ttYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBtb2JpbGUpICogMn07XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgIFxufVxuIiwiLy8tIFJlc2V0IEV4dGVuZGVkIC0gT24gdGhpcyBwYXJ0aWFsIEknbGwgZXh0ZW5kIHRoZSBFcmljIE1leWVyIHJlc2V0IGZpbGUgYnkgYWRkaW5nIG1vZGVybiBhbmQgdXNlZnVsbCBzZWxlY3RvcnNcblxuLy8tIE92ZXJyaWRlIGRlZmF1bHQgYm94LXNpemluZzogY29udGVudC1ib3g7IHNvIHdpZHRoIGlzIG5vdCBhZmZlY3RlZCBieSBwYWRkaW5nIGFuZCBib3JkZXIgcHJvcGVydGllc1xuaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8tIEluaGVyaXQgcm9vdCBib3gtc2l6aW5nIHZhbHVlIHRvIGFsbCBET00gZWxlbWVudHNcbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuLy8tIFNldCBib2R5IHRvIGZpbGwgdmlld3BvcnQsIG9wdGltaXplIHRleHQtcmVuZGVyaW5nIGFuZCBzbW9vdGggc2Nyb2xsaW5nXG5ib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDsgXG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC8vLSBOb3RlIHRleHQtcmVuZGVyaW5nIHNob3VsZCBiZSBjaG9zZW4gZGVwZW5kaW5nIG9uIHVzZWQgZm9udC1mYW1pbHkgYW5kIHBlcmZvcm1hbmNlIGdvYWxzXG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgLy8tIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy90ZXh0LXJlbmRlcmluZ1xufVxuXG4vLy0gUmVzZXQgYW5jaG9yIGxvb2sgJiBiZWhhdmlvdXJcbmEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiBpbmhlcml0OyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuYnV0dG9uIHsgXG4gICAgcGFkZGluZzogMDsgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGNvbG9yOiBpbmhlcml0OyBib3JkZXItd2lkdGg6IDA7IGN1cnNvcjpwb2ludGVyOyBcbn1cblxuLy8tIEFkaXRpb25hbCB0byByZXNldC5zY3NzLCByZW1vdmUgbWFyZ2luIG9uIEZGMysgXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7IG1hcmdpbjogMDsgfVxuIiwiYm9keSB7XG4gICAgZm9udC1mYW1pbHk6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBib2R5LCBmb250LWZhbWlseSk7IGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGJvZHksIGZvbnQtc2l6ZSk7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBib2R5LCBjb2xvcik7IFxuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhKCc8Ym9vdC1kZXNrdG9wJykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgYm9keSwgYmcsIG1vYmlsZSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49Ym9vdC1kZXNrdG9wJykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgYm9keSwgYmcsIGRlc2t0b3ApO1xuICAgIH1cbn1cblxuaDIge1xuICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIHRpdGxlLCBmb250LXNpemUpOyBmb250LXdlaWdodDogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIHRpdGxlLCBmb250LXdlaWdodCk7IFxuICAgIGNvbG9yOiB2YXIoLS10aXRsZUNvbG9yKTtcbn1cblxuYiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuYSB7XG4gICAgJiwgJjpob3ZlciwgJjphY3RpdmUge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG1hcC1kZWVwLWdldCgkc3VydmV5LCBhbmNob3IsIGRlY29yYXRpb24pOyBcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8Ym9vdC1kZXNrdG9wJykge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBib2R5LCBjb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5iciB7XG4gICAgd2hpdGUtc3BhY2U6IHByZTsgLy8tIHByZXNlcnZlIHdoaXRlc3BhY2VcblxuICAgICYtLW5vdC1zbWFsbC1tb2JpbGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1tb2JpbGUnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNtYWxsLW1vYmlsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bW9iaWxlJykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1tb2JpbGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1tb2JpbGUnLCAnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbW9iaWxlLW1heCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bW9iaWxlLW1heCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tdGFibGV0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxkZXNrdG9wJykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10YWJsZXQtbGFuZHNjYXBlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxkZXNrdG9wJywgJ2xhbmRzY2FwZScpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZGVza3RvcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5vd3JhcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBtb2JpbGVgXG4vLy8gICRicmVha3BvaW50czogKCdtb2JpbGUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAnbW9iaWxlJzogMzc1cHgsXG4gIC8vICd0YWJsZXQnOiA3NjhweCxcbiAgLy8gJ2Rlc2t0b3AnOiAxMDI0cHhcbiAgJ21vYmlsZS1taWQnOiA1MjBweCxcbiAgJ21vYmlsZS1tYXgnOiA1NzVweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAndGFibGV0LW1pZCc6IDg1MHB4LFxuICAnYm9vdC1kZXNrdG9wJzogOTkycHgsXG4gICdkZXNrdG9wJzogMTAyNXB4LFxuICAnZGVza3RvcC1taWQnOiAxMjAwcHgsXG4gICdkZXNrdG9wLW1heCc6IDE5MjBweFxuKSAhZGVmYXVsdDtcblxuLy8tIG1vYmlsZSBvbmx5XG4vLy8vLSAoJzx0YWJsZXQnKSAtIG1heC13aWR0aDogNzY3cHhcbi8vLSB0YWJsZXQgb25seVxuLy8vLy0gKCc+PXRhYmxldCcsICc8ZGVza3RvcCcpIC0gbWluLXdpZHRoOiA3NjhweDsgbWF4LXdpZHRoOiAxMDI0cHhcbi8vLSBkZXNrdG9wIG9ubHlcbi8vLy8tICgnPj1kZXNrdG9wJykgLSBtaW4td2lkdGg6IDEwMjVweFxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ2hvdmVyJzogJyhob3ZlcjogaG92ZXIpJyxcbiAgJ2ZpbmUnOiAnKHBvaW50ZXI6IGZpbmUpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5tb2JpbGUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5tb2JpbGUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+bW9iaWxlJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+bW9iaWxlJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLSBCdXR0b25zIHBhcnRpYWxcbltyb2xlPSdidXR0b24nXSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ2hvdmVyJywgJ2ZpbmUnKSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG5cbi5idG4geyBcbiAgICBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZmxleC1iYXNpczogYXV0bzsgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAmLmRpc2FibGVkLCBbZGlzYWJsZWRdIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuIiwiLy8tIFBhcnRpYWwgZm9yIFNWRyBzcHJpdGUgaWNvbnNcbi5pY29uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxZW07IGhlaWdodDogMWVtOyBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBmb250LXNpemU6IDFlbTsgLyogZGVmYXVsdC1zaXplICovXG4gICAgZmlsbDogaW5oZXJpdDsgLyogZGVmYXVsdCBjb2xvciAqLyBcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogZGVmYXVsdCBjb2xvciB3aGVuIGN1cnJlbnRDb2xvciBpcyB1c2VkICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwibWFpbiA+IHNlY3Rpb24ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vLSB0byByZW1vdmUgaG9yaXpvbnRhbCBzY3JvbGwgY3JlYXRlZCBieSBuZWdhdGl2ZSBwb3NpdGlvbiBvZiBkZWNvcmF0aXZlIGJnLWltYWdlcyBsb2NhdGVkIG9uIHRoZSByaWdodCBzaWRlXG59XG5cbltjbGFzc149XCJjb250YWluZXJcIl0ge1xuICAgd2lkdGg6IDEwMCU7IG1hcmdpbi1yaWdodDogYXV0bzsgbWFyZ2luLWxlZnQ6IGF1dG87IFxuICAgcGFkZGluZy1yaWdodDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xufVxuXG4uY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG4iLCJmb290ZXIge1xuICAgIGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5Rm9udDsgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjQURCMUI0OyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogbWFwLWdldCgkZWxlbWVudHMtZmxvdywgbW9iaWxlKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IG1hcC1nZXQoJGVsZW1lbnRzLWZsb3csIGRlc2t0b3ApO1xuICAgIH1cbn0iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4uaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nLWJsb2NrOiAxN3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBoZWFkZXIsIGJnKTtcblxuICAgIFtjbGFzc149XCJjb250YWluZXJcIl0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IG1heC13aWR0aDogOTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgIHBhZGRpbmc6IDVweCAwO1xuXG4gICAgICAgIFxuICAgICAgICAuaGVhZGVyLS1zdmcgJiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzMHB4OyBtYXJnaW4tYmxvY2stc3RhcnQ6IC0gI3ttYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBtb2JpbGUpICogMS41fTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmhlYWRlci0taW1nICYge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE5OHB4O1xuICAgICAgICAgICAgfSAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRoZWFkZXIsIGxvZ28taGVpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxufSJdfQ== */
