/*!
 * Bootstrap v4.5.0 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
.container{width:100%;padding-right:10px;padding-left:10px;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:10px;padding-left:10px;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:-10px;margin-left:-10px}.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:10px;padding-left:10px}.col-auto{position:relative;padding-right:10px;padding-left:10px}.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:10px;padding-left:10px}.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}}
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT 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}}@keyframes slideIn{0%{transform:translateX(100vw);opacity:1}to{transform:translateX(0);opacity:1}}@keyframes slideOut{0%{transform:translateX(0)}30%{opacity:0}to{transform:translateX(-100vw);opacity:0}}@font-face{font-family:"FontAwesome";src:url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?v=4.7.0);src:url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.woff?v=4.7.0) format("woff"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{display:inline-block;font:14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}: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(32, 100%, 60%);--CTA_h: 32;--CTA_s: 100%;--CTA_l: 60%}@font-face{font-family:ProximaNova;src:url(./fonts/ProximaNova/ProximaNova-Light.otf);font-weight:200}@font-face{font-family:ProximaNova;src:url(./fonts/ProximaNova/ProximaNova-Regular.otf);font-weight:400}@font-face{font-family:ProximaNova;src:url(./fonts/ProximaNova/ProximaNova-Semibold.otf);font-weight:600}@font-face{font-family:ProximaNova;src:url(./fonts/ProximaNova/ProximaNova-Bold.otf);font-weight:800}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}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1;min-height:calc(100vh - env(safe-area-inset-bottom));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}.footer .nextStep.hidden,[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}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}h2,h3{font-size:24px;font-weight:700;color:var(--titleColor)}h2 small{font-size:18px;font-weight:400}h3{font-size:20px;font-weight:300}b{font-weight:600}a,a:active,a:hover{text-decoration:underline}@media (max-width:991px){a,a:active,a:hover{color:var(--textColor)}}.disclaimer{font-size:14px;font-weight:300;color:hsl(var(--textColor_h),var(--textColor_s),calc(var(--textColor_l) + 62%))}@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{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:10px;padding-left:10px}.container{max-width:none}.footer{width:100%;background-color:rgba(255,255,255,.8)}.footer .skip{margin:auto;justify-content:flex-end;font-weight:400;text-decoration:underline;color:var(--textColor)}@media (max-width:991px){.footer .skip{padding:10px 0}}@media (min-width:992px){.footer .skip{padding:15px 0}}.footer .nextStep{visibility:visible;margin:10px auto}.footer--isSticky{position:sticky;bottom:env(safe-area-inset-bottom,.5vh);padding-bottom:1em}body,body main{display:flex;flex-direction:column;justify-content:center;overflow-x:hidden}main{flex:1 1 100%}.survey-wrap{overflow:hidden;flex:1 0 100%;width:100vw;background-color:#fff;font-family:ProximaNova,sans-serif}.survey h3{margin-block:1.5em;font-size:20px}.survey .boxes{transition:all 1s ease-in-out 0s}.survey .answers__item:nth-child(1){animation-delay:0s}.survey .answers__item:nth-child(2){animation-delay:.05s}.survey .answers__item:nth-child(3){animation-delay:.1s}.survey .answers__item:nth-child(4){animation-delay:.15s}.survey .answers__item:nth-child(5){animation-delay:.2s}.survey .answers__item:nth-child(6){animation-delay:.25s}.survey .answers__item:nth-child(7){animation-delay:.3s}.survey .answers__item:nth-child(8){animation-delay:.35s}.survey .answers__item:nth-child(9){animation-delay:.4s}.survey .answers__item:nth-child(10){animation-delay:.45s}.survey .answers__item:nth-child(11){animation-delay:.5s}.survey .answers__item:nth-child(12){animation-delay:.55s}.survey .answers__item:nth-child(13){animation-delay:.6s}.survey .answers__item:nth-child(14){animation-delay:.65s}.survey .answers__item:nth-child(15){animation-delay:.7s}.survey .answers__item:nth-child(16){animation-delay:.75s}.survey .answers__item:nth-child(17){animation-delay:.8s}.survey .answers__item:nth-child(18){animation-delay:.85s}.survey .answers__item:nth-child(19){animation-delay:.9s}.survey .answers__item:nth-child(20){animation-delay:.95s}.survey .answers__item:nth-child(21){animation-delay:1s}.survey .seen-question .answers__item{opacity:0}.survey .seen-question .answers__item,.survey .seen-question .question{animation-name:slideIn;animation-duration:1s;animation-fill-mode:forwards}.survey .answered-question .answers__item,.survey .answered-question .question{animation-name:slideOut;animation-duration:1s;animation-fill-mode:forwards}.survey .answered-question:last-of-type .answers__item,.survey .answered-question:last-of-type .question{animation:none}.survey .question-counter{text-align:start;width:100%;margin:auto}@media (max-width:1024px){.answers,.nextStep,.question,.question-counter,.skip{width:calc(100vw - 20px);max-width:392px}}@media (min-width:1025px){.answers,.nextStep,.question,.question-counter,.skip{width:100%;max-width:570px}}.boxes{display:flex;width:300vw;margin-top:15px;transition:all 1s ease-in-out .5s}.boxes.one{transform:translateX(0)}.boxes.one .box.one~.box,.boxes.three .box.three~.box,.boxes.three .boxes.three .box.one,.boxes.three .boxes.three .box.two,.boxes.two .box.two~.box,.boxes.two .boxes.two .box.one{height:65vh}.boxes.two{transform:translateX(-100vw)}.boxes.three{transform:translateX(-200vw)}.box{display:flex;flex-direction:column;align-items:center;width:100vw}.box .disclaimer{margin-top:10px}.question{margin-bottom:1.3em;font-size:22px;line-height:1.2}.question small{display:block;margin-top:.4em}.answers{margin-bottom:10px}.answers__item{font-size:20px}.answers__item+.answers__item{margin-top:3px}input{display:none;pointer-events:none}input:checked~label{color:#fff;background-color:var(--mainColor);border-color:var(--mainColor)}@media (hover:hover) and (pointer:fine){input:checked~label:hover .label__img{transform:initial;cursor:default}.answers__item--label-over input:checked~label:hover span{transform:translate(-50%,-50%)}}.label{display:block;padding:10px 8px;line-height:normal;border-radius:7px;border:1px solid var(--mainColor);cursor:pointer}.label__value{display:flex;justify-content:center;align-items:center;font-size:18px;font-weight:700;text-align:center;color:var(--textColor)}.box.one .label__value{font-size:22px}.answers__item--label-over .label__value{position:absolute;top:50%;left:50%;width:75%;font-family:ProximaNova,sans-serif;font-size:30px;color:#fff;transform:translate(-50%,-50%) scale(1);transform-origin:center;transition:transform 250ms ease-in-out}.answers__item:not(.answers__item--label-over) .label__value{width:100%;max-width:150px;margin-inline:auto}@media (hover:hover) and (pointer:fine){.label:hover .label__img{transform:scale(1.1)}.answers__item--label-over .label:hover span{transform:translate(-50%,-50%) scale(1.1)}}.nextStep{visibility:hidden;margin:10px 0;padding:10px 0;align-self:center;font-family:ProximaNova,sans-serif;font-size:var(--nextStep-FS, 24px);line-height:normal;font-weight:600;text-align:center;border-radius:8px;box-shadow:0 2px 4px #00000057}@media (max-width:375px){.nextStep{--nextStep-FS: 22px}}@media (min-width:1025px){.nextStep{order:4}}.nextStep--gradient{background-image:linear-gradient(to top,var(--CTA),hsl(calc(var(--CTA_h) + 10),calc(var(--CTA_s) - 1%),calc(var(--CTA_l) + 6%)))}.nextStep--solid{background-color:var(--CTA)}.nextStep--solid:hover{background-color:hsl(var(--CTA_h),var(--CTA_s),calc(var(--CTA_l) - 3%))}.nextStep,.nextStep:hover{text-decoration:none;color:#fff}.nextStep.hidden{pointer-events:none}.nextStep.show{visibility:visible;-webkit-animation:fadein 2s;animation:fadein 2s;opacity:1}.skip{font-size:16px;font-family:ProximaNova,sans-serif;margin-inline:20px}.header{position:relative;padding-block:20px;color:#fff;fill:#fff;background-color:var(--mainColor)}.header [class^=container]{justify-content:center}.header [class^=container],.header__logo{display:flex;align-items:center}.header--svg .header__logo{font-size:var(--headerLogoWidth, 200px)}.header--img .header__logo{max-width:200px}.header__logo .icon{height:.275em}.header__logo img{width:100%}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlbmRvcnMvYm9vdHN0cmFwL19ncmlkLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL190cmFuc2l0aW9ucy5zY3NzIiwidmVuZG9ycy9ib290c3RyYXAvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC91dGlsaXRpZXMvX2ZsZXguc2NzcyIsImFic3RyYWN0cy9hbmltYXRpb25zL19mYWRlcy5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX21vdGlvbi5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX3NjaGVtYS5zY3NzIiwiLi4vY29tcG9uZW50cy9mb3JtL2luZGV4LnNjc3MiLCJ2ZW5kb3JzL2ZvbnQtYXdlc29tZS00LjcuMC9zY3NzL19wYXRoLnNjc3MiLCJ2ZW5kb3JzL2ZvbnQtYXdlc29tZS00LjcuMC9zY3NzL19jb3JlLnNjc3MiLCJhYnN0cmFjdHMvc2tpbnMvX2NvbG9ycy5zY3NzIiwiYWJzdHJhY3RzL3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fcmVzZXQuc2NzcyIsImJhc2UvX3Jlc2V0LWV4dGVuZGVkLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCIuLi9jb21wb25lbnRzL2Zvb3Rlci9pbmRleC5zY3NzIiwiYmFzZS9faGVscGVyLWNsYXNzZXMuc2NzcyIsImFic3RyYWN0cy9mdW5jdGlvbnMvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2ljb25zLnNjc3MiLCJsYXlvdXQvX2xheW91dC5zY3NzIiwiLi4vY29tcG9uZW50cy9oZWFkZXIvaW5kZXguc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFNRSxVLENDREEsVSxDQUNBLGtCLENBQ0EsaUIsQ0FDQSxpQixDQUNBLGdCLENDbURFLHlCRnRERixVLENDV0ksaUIsQUMyQ0YseUJGdERGLFUsQ0NXSSxpQixBQzJDRix5QkZ0REYsVSxDQ1dJLGlCLEFDMkNGLDBCRnRERixVLENDV0ksa0JETEosZ0IsQ0FBQSxhLENBQUEsYSxDQUFBLGEsQ0FBQSxhLENDUEEsVSxDQUNBLGtCLENBQ0EsaUIsQ0FDQSxpQixDQUNBLGdCLENDbURFLHlCRnJDRSxVLENBQUEsYSxDQUNFLGlCLEFFb0NKLHlCRnJDRSxVLENBQUEsYSxDQUFBLGEsQ0FDRSxpQixBRW9DSix5QkZyQ0UsVSxDQUFBLGEsQ0FBQSxhLENBQUEsYSxDQUNFLGlCLEFFb0NKLDBCRnJDRSxVLENBQUEsYSxDQUFBLGEsQ0FBQSxhLENBQUEsYSxDQUNFLGtCQTRCTixJLENDN0JBLFksQ0FDQSxjLENBQ0Esa0IsQ0FDQSxpQixDRGdDQSxXLENBQ0UsYyxDQUNBLGEsQ0FFQSxnQixDQUFBLHlCLENBRUUsZSxDQUNBLGMsQ0cxREosSSxDQUFBLE8sQ0FBQSxTLENBQUEsVSxDQUFBLFUsQ0FBQSxVLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxZLENBQUEsTyxDQUFBLFMsQ0FBQSxVLENBQUEsVSxDQUFBLFUsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFksQ0FBQSxPLENBQUEsUyxDQUFBLFUsQ0FBQSxVLENBQUEsVSxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsWSxDQUFBLE8sQ0FBQSxTLENBQUEsVSxDQUFBLFUsQ0FBQSxVLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxZLENBQ0UsaUIsQ0FDQSxVLENBQ0Esa0IsQ0FDQSxpQixDQUpGLFMsQ0FDRSxpQixDQUVBLGtCLENBQ0EsaUIsQ0FKRixNLENBQUEsTyxDQUFBLE8sQ0FBQSxPLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FDRSxpQixDQUNBLFUsQ0FDQSxrQixDQUNBLGlCLENBc0JFLEksQ0FDRSxZLENBQ0EsVyxDQUNBLFcsQ0FDQSxjLENGMkJOLGEsQ0FDRSxhLENBQ0EsYyxDQUZGLGEsQ0FDRSxZLENBQ0EsYSxDQUZGLGEsQ0FDRSx1QixDQUNBLHdCLENBRkYsYSxDQUNFLFksQ0FDQSxhLENBRkYsYSxDQUNFLFksQ0FDQSxhLENBRkYsYSxDQUNFLHVCLENBQ0Esd0IsQ0VsQkUsUyxDRkFKLGEsQ0FDQSxVLENBQ0EsYyxDRUlRLE0sQ0ZkUixzQixDQUlBLHVCLENFVVEsTSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxNLENGZFIsWSxDQUlBLGEsQ0VVUSxNLENGZFIsdUIsQ0FJQSx3QixDRVVRLE0sQ0ZkUix1QixDQUlBLHdCLENFVVEsTSxDRmRSLFksQ0FJQSxhLENFVVEsTSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxNLENGZFIsdUIsQ0FJQSx3QixDRVVRLE0sQ0ZkUixZLENBSUEsYSxDRVVRLE8sQ0ZkUix1QixDQUlBLHdCLENFVVEsTyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxPLENGZFIsYSxDQUlBLGMsQ0VnQkksWSxDQUF3QixRLENBRXhCLFcsQ0FBdUIsUSxDQUdyQixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUyxDQUF3QixRLENBQXhCLFMsQ0FBd0IsUSxDQUF4QixTLENBQXdCLFEsQ0FPcEIsUyxDRmpCVix5QixDRWlCVSxTLENGakJWLDBCLENFaUJVLFMsQ0ZqQlYsZSxDRWlCVSxTLENGakJWLDBCLENFaUJVLFMsQ0ZqQlYsMEIsQ0VpQlUsUyxDRmpCVixlLENFaUJVLFMsQ0ZqQlYsMEIsQ0VpQlUsUyxDRmpCViwwQixDRWlCVSxTLENGakJWLGUsQ0VpQlUsVSxDRmpCViwwQixDRWlCVSxVLENGakJWLDBCLENDS0UseUJDM0JFLE8sQ0FDRSxZLENBQ0EsVyxDQUNBLFcsQ0FDQSxjLENGMkJOLGdCLENBQ0UsYSxDQUNBLGMsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0VsQkUsWSxDRkFKLGEsQ0FDQSxVLENBQ0EsYyxDRUlRLFMsQ0ZkUixzQixDQUlBLHVCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsYSxDQUlBLGMsQ0VnQkksZSxDQUF3QixRLENBRXhCLGMsQ0FBdUIsUSxDQUdyQixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FPcEIsWSxDRmpCVixhLENFaUJVLFksQ0ZqQlYseUIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLGEsQ0ZqQlYsMEIsQ0VpQlUsYSxDRmpCViw0QixBQ0tFLHlCQzNCRSxPLENBQ0UsWSxDQUNBLFcsQ0FDQSxXLENBQ0EsYyxDRjJCTixnQixDQUNFLGEsQ0FDQSxjLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsdUIsQ0FDQSx3QixDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENFbEJFLFksQ0ZBSixhLENBQ0EsVSxDQUNBLGMsQ0VJUSxTLENGZFIsc0IsQ0FJQSx1QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxVLENGZFIsdUIsQ0FJQSx3QixDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLGEsQ0FJQSxjLENFZ0JJLGUsQ0FBd0IsUSxDQUV4QixjLENBQXVCLFEsQ0FHckIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FBeEIsWSxDQUF3QixRLENBT3BCLFksQ0ZqQlYsYSxDRWlCVSxZLENGakJWLHlCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxhLENGakJWLDBCLENFaUJVLGEsQ0ZqQlYsNEIsQUNLRSx5QkMzQkUsTyxDQUNFLFksQ0FDQSxXLENBQ0EsVyxDQUNBLGMsQ0YyQk4sZ0IsQ0FDRSxhLENBQ0EsYyxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsdUIsQ0FDQSx3QixDRWxCRSxZLENGQUosYSxDQUNBLFUsQ0FDQSxjLENFSVEsUyxDRmRSLHNCLENBSUEsdUIsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsdUIsQ0FJQSx3QixDRVVRLFUsQ0ZkUixhLENBSUEsYyxDRWdCSSxlLENBQXdCLFEsQ0FFeEIsYyxDQUF1QixRLENBR3JCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixZLENBQXdCLFEsQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQU9wQixZLENGakJWLGEsQ0VpQlUsWSxDRmpCVix5QixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsYSxDRmpCViwwQixDRWlCVSxhLENGakJWLDRCLEFDS0UsMEJDM0JFLE8sQ0FDRSxZLENBQ0EsVyxDQUNBLFcsQ0FDQSxjLENGMkJOLGdCLENBQ0UsYSxDQUNBLGMsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0VsQkUsWSxDRkFKLGEsQ0FDQSxVLENBQ0EsYyxDRUlRLFMsQ0ZkUixzQixDQUlBLHVCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsYSxDQUlBLGMsQ0VnQkksZSxDQUF3QixRLENBRXhCLGMsQ0FBdUIsUSxDQUdyQixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FPcEIsWSxDRmpCVixhLENFaUJVLFksQ0ZqQlYseUIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLGEsQ0ZqQlYsMEIsQ0VpQlUsYSxDRmpCViw0Qkd2REYsSyxDQ2dCTSw4QixDQUlBLHVDRHBCTixLLENDcUJRLGlCLEFEbEJOLFVBQUEsTSxDQUNFLFMsQ0FLRixjQUFBLE0sQ0FDRSxZLENBSUosVyxDQUNFLGlCLENBQ0EsUSxDQUNBLGUsQ0NESSwyQixDQUlBLHVDRE5OLFcsQ0NPUSxpQkNYSixTLENBQWdDLDRCLENBQ2hDLFksQ0FBZ0MsK0IsQ0FDaEMsaUIsQ0FBZ0Msb0MsQ0FDaEMsb0IsQ0FBZ0MsdUMsQ0FFaEMsVSxDQUE4Qix3QixDQUM5QixZLENBQThCLDBCLENBQzlCLGtCLENBQThCLGdDLENBQzlCLFUsQ0FBOEIsdUIsQ0FDOUIsWSxDQUE4QixxQixDQUM5QixZLENBQThCLHFCLENBQzlCLGMsQ0FBOEIsdUIsQ0FDOUIsYyxDQUE4Qix1QixDQUU5QixzQixDQUFvQyxvQyxDQUNwQyxvQixDQUFvQyxrQyxDQUNwQyx1QixDQUFvQyxnQyxDQUNwQyx3QixDQUFvQyx1QyxDQUNwQyx1QixDQUFvQyxzQyxDQUVwQyxrQixDQUFpQyxnQyxDQUNqQyxnQixDQUFpQyw4QixDQUNqQyxtQixDQUFpQyw0QixDQUNqQyxxQixDQUFpQyw4QixDQUNqQyxvQixDQUFpQyw2QixDQUVqQyxvQixDQUFrQyxrQyxDQUNsQyxrQixDQUFrQyxnQyxDQUNsQyxxQixDQUFrQyw4QixDQUNsQyxzQixDQUFrQyxxQyxDQUNsQyxxQixDQUFrQyxvQyxDQUNsQyxzQixDQUFrQywrQixDQUVsQyxnQixDQUFnQyx5QixDQUNoQyxpQixDQUFnQywrQixDQUNoQyxlLENBQWdDLDZCLENBQ2hDLGtCLENBQWdDLDJCLENBQ2hDLG9CLENBQWdDLDZCLENBQ2hDLG1CLENBQWdDLDRCLENKWWhDLHlCSWxEQSxZLENBQWdDLDRCLENBQ2hDLGUsQ0FBZ0MsK0IsQ0FDaEMsb0IsQ0FBZ0Msb0MsQ0FDaEMsdUIsQ0FBZ0MsdUMsQ0FFaEMsYSxDQUE4Qix3QixDQUM5QixlLENBQThCLDBCLENBQzlCLHFCLENBQThCLGdDLENBQzlCLGEsQ0FBOEIsdUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixlLENBQThCLHFCLENBQzlCLGlCLENBQThCLHVCLENBQzlCLGlCLENBQThCLHVCLENBRTlCLHlCLENBQW9DLG9DLENBQ3BDLHVCLENBQW9DLGtDLENBQ3BDLDBCLENBQW9DLGdDLENBQ3BDLDJCLENBQW9DLHVDLENBQ3BDLDBCLENBQW9DLHNDLENBRXBDLHFCLENBQWlDLGdDLENBQ2pDLG1CLENBQWlDLDhCLENBQ2pDLHNCLENBQWlDLDRCLENBQ2pDLHdCLENBQWlDLDhCLENBQ2pDLHVCLENBQWlDLDZCLENBRWpDLHVCLENBQWtDLGtDLENBQ2xDLHFCLENBQWtDLGdDLENBQ2xDLHdCLENBQWtDLDhCLENBQ2xDLHlCLENBQWtDLHFDLENBQ2xDLHdCLENBQWtDLG9DLENBQ2xDLHlCLENBQWtDLCtCLENBRWxDLG1CLENBQWdDLHlCLENBQ2hDLG9CLENBQWdDLCtCLENBQ2hDLGtCLENBQWdDLDZCLENBQ2hDLHFCLENBQWdDLDJCLENBQ2hDLHVCLENBQWdDLDZCLENBQ2hDLHNCLENBQWdDLDhCLEFKWWhDLHlCSWxEQSxZLENBQWdDLDRCLENBQ2hDLGUsQ0FBZ0MsK0IsQ0FDaEMsb0IsQ0FBZ0Msb0MsQ0FDaEMsdUIsQ0FBZ0MsdUMsQ0FFaEMsYSxDQUE4Qix3QixDQUM5QixlLENBQThCLDBCLENBQzlCLHFCLENBQThCLGdDLENBQzlCLGEsQ0FBOEIsdUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixlLENBQThCLHFCLENBQzlCLGlCLENBQThCLHVCLENBQzlCLGlCLENBQThCLHVCLENBRTlCLHlCLENBQW9DLG9DLENBQ3BDLHVCLENBQW9DLGtDLENBQ3BDLDBCLENBQW9DLGdDLENBQ3BDLDJCLENBQW9DLHVDLENBQ3BDLDBCLENBQW9DLHNDLENBRXBDLHFCLENBQWlDLGdDLENBQ2pDLG1CLENBQWlDLDhCLENBQ2pDLHNCLENBQWlDLDRCLENBQ2pDLHdCLENBQWlDLDhCLENBQ2pDLHVCLENBQWlDLDZCLENBRWpDLHVCLENBQWtDLGtDLENBQ2xDLHFCLENBQWtDLGdDLENBQ2xDLHdCLENBQWtDLDhCLENBQ2xDLHlCLENBQWtDLHFDLENBQ2xDLHdCLENBQWtDLG9DLENBQ2xDLHlCLENBQWtDLCtCLENBRWxDLG1CLENBQWdDLHlCLENBQ2hDLG9CLENBQWdDLCtCLENBQ2hDLGtCLENBQWdDLDZCLENBQ2hDLHFCLENBQWdDLDJCLENBQ2hDLHVCLENBQWdDLDZCLENBQ2hDLHNCLENBQWdDLDhCLEFKWWhDLHlCSWxEQSxZLENBQWdDLDRCLENBQ2hDLGUsQ0FBZ0MsK0IsQ0FDaEMsb0IsQ0FBZ0Msb0MsQ0FDaEMsdUIsQ0FBZ0MsdUMsQ0FFaEMsYSxDQUE4Qix3QixDQUM5QixlLENBQThCLDBCLENBQzlCLHFCLENBQThCLGdDLENBQzlCLGEsQ0FBOEIsdUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixlLENBQThCLHFCLENBQzlCLGlCLENBQThCLHVCLENBQzlCLGlCLENBQThCLHVCLENBRTlCLHlCLENBQW9DLG9DLENBQ3BDLHVCLENBQW9DLGtDLENBQ3BDLDBCLENBQW9DLGdDLENBQ3BDLDJCLENBQW9DLHVDLENBQ3BDLDBCLENBQW9DLHNDLENBRXBDLHFCLENBQWlDLGdDLENBQ2pDLG1CLENBQWlDLDhCLENBQ2pDLHNCLENBQWlDLDRCLENBQ2pDLHdCLENBQWlDLDhCLENBQ2pDLHVCLENBQWlDLDZCLENBRWpDLHVCLENBQWtDLGtDLENBQ2xDLHFCLENBQWtDLGdDLENBQ2xDLHdCLENBQWtDLDhCLENBQ2xDLHlCLENBQWtDLHFDLENBQ2xDLHdCLENBQWtDLG9DLENBQ2xDLHlCLENBQWtDLCtCLENBRWxDLG1CLENBQWdDLHlCLENBQ2hDLG9CLENBQWdDLCtCLENBQ2hDLGtCLENBQWdDLDZCLENBQ2hDLHFCLENBQWdDLDJCLENBQ2hDLHVCLENBQWdDLDZCLENBQ2hDLHNCLENBQWdDLDhCLEFKWWhDLDBCSWxEQSxZLENBQWdDLDRCLENBQ2hDLGUsQ0FBZ0MsK0IsQ0FDaEMsb0IsQ0FBZ0Msb0MsQ0FDaEMsdUIsQ0FBZ0MsdUMsQ0FFaEMsYSxDQUE4Qix3QixDQUM5QixlLENBQThCLDBCLENBQzlCLHFCLENBQThCLGdDLENBQzlCLGEsQ0FBOEIsdUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixlLENBQThCLHFCLENBQzlCLGlCLENBQThCLHVCLENBQzlCLGlCLENBQThCLHVCLENBRTlCLHlCLENBQW9DLG9DLENBQ3BDLHVCLENBQW9DLGtDLENBQ3BDLDBCLENBQW9DLGdDLENBQ3BDLDJCLENBQW9DLHVDLENBQ3BDLDBCLENBQW9DLHNDLENBRXBDLHFCLENBQWlDLGdDLENBQ2pDLG1CLENBQWlDLDhCLENBQ2pDLHNCLENBQWlDLDRCLENBQ2pDLHdCLENBQWlDLDhCLENBQ2pDLHVCLENBQWlDLDZCLENBRWpDLHVCLENBQWtDLGtDLENBQ2xDLHFCLENBQWtDLGdDLENBQ2xDLHdCLENBQWtDLDhCLENBQ2xDLHlCLENBQWtDLHFDLENBQ2xDLHdCLENBQWtDLG9DLENBQ2xDLHlCLENBQWtDLCtCLENBRWxDLG1CLENBQWdDLHlCLENBQ2hDLG9CLENBQWdDLCtCLENBQ2hDLGtCLENBQWdDLDZCLENBQ2hDLHFCLENBQWdDLDJCLENBQ2hDLHVCLENBQWdDLDZCLENBQ2hDLHNCLENBQWdDLDhCOzs7OztBQzlDcEMsaUJBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFHWCx5QkFDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQUdYLHNCQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFBS1gsa0JBQ0ksRSxDQUFPLFMsQ0FDUCxFLENBQU8sVyxBQUVYLDBCQUNJLEUsQ0FBTyxTLENBQ1AsRSxDQUFPLFcsQUFFWCx1QkFDSSxFLENBQU8sUyxDQUNQLEUsQ0FBTyxXLEFBSVgseUJBQ0ksRSxDQUdBLEUsQ0FITyxTLENBQ1AsRyxDQUNBLEcsQ0FETyxXLEFBSVgsaUNBQ0ksRSxDQUdBLEUsQ0FITyxTLENBQ1AsRyxDQUNBLEcsQ0FETyxXLEFBSVgsOEJBQ0ksRSxDQUdBLEUsQ0FITyxTLENBQ1AsRyxDQUNBLEcsQ0FETyxXLEFBTVgsd0JBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFHWCxnQ0FDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQUdYLDZCQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFBS1gsa0JBQ0ksRSxDQUFPLGEsQ0FBZ0IsUyxDQUN2QixFLENBQU0sUyxDQUNOLEUsQ0FBTyxXLEFBRVgsMEJBQ0ksRSxDQUFPLGEsQ0FBZ0IsUyxDQUN2QixFLENBQU0sUyxDQUNOLEUsQ0FBTyxXLEFBRVgsdUJBQ0ksRSxDQUFPLGEsQ0FBaUIsUyxDQUN4QixFLENBQU0sUyxDQUNOLEUsQ0FBTyxXLEFDakZYLGdCQUNJLEUsQ0FFQSxFLENBRk8sdUIsQ0FDUCxHLENBQU8sNkIsQUFHWCx3QkFDSSxFLENBRUEsRSxDQUZPLHVCLENBQ1AsRyxDQUFPLDZCLEFBR1gscUJBQ0ksRSxDQUVBLEUsQ0FGTyx1QixDQUNQLEcsQ0FBTyw2QixBQUtYLGtCQUNJLEUsQ0FBTyx3QixDQUNQLEUsQ0FBTyx5QixBQUVYLDBCQUNJLEUsQ0FBTyx3QixDQUNQLEUsQ0FBTyx5QixBQUVYLHVCQUNJLEUsQ0FBTyx3QixDQUNQLEUsQ0FBTyx5QixBQUlYLGtCQUNJLEUsQ0FBTyx1QixDQUNQLEUsQ0FBTyx3QixBQUVYLDBCQUNJLEUsQ0FBTyx1QixDQUNQLEUsQ0FBTyx3QixBQUVYLHVCQUNJLEUsQ0FBTyx1QixDQUNQLEUsQ0FBTyx3QixBQUlYLGlCQUNJLEUsQ0FFQSxFLENBRk8sa0IsQ0FDUCxHLENBQU8sb0IsQUFHWCx5QkFDSSxFLENBRUEsRSxDQUZPLGtCLENBQ1AsRyxDQUFPLG9CLEFBR1gsc0JBQ0ksRSxDQUVBLEUsQ0FGTyxrQixDQUNQLEcsQ0FBTyxvQixBQUtYLGdCQUNJLEUsQ0FFQSxHLENBRUEsRSxDQUpPLHVCLENBQ1AsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDRCLEFBR1gsd0JBQ0ksRSxDQUVBLEcsQ0FFQSxFLENBSk8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNEIsQUFHWCxxQkFDSSxFLENBRUEsRyxDQUVBLEUsQ0FKTyx1QixDQUNQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw0QixBQUtYLGlCQUNJLEUsQ0FHQSxFLENBSE8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FDUCxHLENBQU8sNEIsQUFHWCx5QkFDSSxFLENBR0EsRSxDQUhPLHVCLENBQ1AsRyxDQUFPLDJCLENBQ1AsRyxDQUFPLDRCLEFBR1gsc0JBQ0ksRSxDQUdBLEUsQ0FITyx1QixDQUNQLEcsQ0FBTywyQixDQUNQLEcsQ0FBTyw0QixBQUtYLHFCQUNJLEUsQ0FBTyxrQixDQUNQLEUsQ0FBTyxvQixBQUVYLDZCQUNJLEUsQ0FBTyxrQixDQUNQLEUsQ0FBTyxvQixBQUVYLDBCQUNJLEUsQ0FBTyxrQixDQUNQLEUsQ0FBTyxvQixBQUlYLHVCQUNJLEUsQ0FHQSxFLENBSE8sc0IsQ0FDUCxFLENBQU8sc0IsQ0FDUCxHLENBQU8seUIsQUFHWCwrQkFDSSxFLENBR0EsRSxDQUhPLHNCLENBQ1AsRSxDQUFPLHNCLENBQ1AsRyxDQUFPLHlCLEFBR1gsNEJBQ0ksRSxDQUdBLEUsQ0FITyxzQixDQUNQLEUsQ0FBTyxzQixDQUNQLEcsQ0FBTyx5QixBQUtYLGtCQUNJLEUsQ0FDQSxHLENBRUEsRyxDQUVBLEcsQ0FDQSxFLENBTk8sdUIsQ0FFUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNkIsQUFJWCwwQkFDSSxFLENBQ0EsRyxDQUVBLEcsQ0FFQSxHLENBQ0EsRSxDQU5PLHVCLENBRVAsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDZCLEFBSVgsdUJBQ0ksRSxDQUNBLEcsQ0FFQSxHLENBRUEsRyxDQUNBLEUsQ0FOTyx1QixDQUVQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw2QixBQU1YLGtDQUNJLEUsQ0FLQSxHLENBQ0EsRSxDQU5PLGtDLENBQ1AsRyxDQUVBLEcsQ0FGTyx1QyxDQUNQLEcsQ0FBTywyQyxDQUVQLEcsQ0FBTyx3QyxBQUlYLDBDQUNJLEUsQ0FLQSxHLENBQ0EsRSxDQU5PLGtDLENBQ1AsRyxDQUVBLEcsQ0FGTyx1QyxDQUNQLEcsQ0FBTywyQyxDQUVQLEcsQ0FBTyx3QyxBQUlYLHVDQUNJLEUsQ0FLQSxHLENBQ0EsRSxDQU5PLGtDLENBQ1AsRyxDQUVBLEcsQ0FGTyx1QyxDQUNQLEcsQ0FBTywyQyxDQUVQLEcsQ0FBTyx3QyxBQzdMWCwwQkFDSSxFLENBQ0EsRyxDQURPLG9CLENBRVAsRSxDQUFPLDhCLEFBRVgsa0NBQ0ksRSxDQUNBLEcsQ0FETyxvQixDQUVQLEUsQ0FBTyw4QixBQUVYLCtCQUNJLEUsQ0FDQSxHLENBRE8sb0IsQ0FFUCxFLENBQU8sOEIsQUNpVFgsbUJBQ0ksRSxDQUNJLDJCLENBQ0EsUyxDQUdKLEUsQ0FDSSx1QixDQUNBLFcsQUFJUixvQkFDSSxFLENBQ0ksdUIsQ0FHSixHLENBQ0ksUyxDQUdKLEUsQ0FDSSw0QixDQUNBLFcsQUN0VlIsV0FDRSx5QixDQUNBLDJGLENBQ0Esb2pCLENBTUEsZSxDQUNBLGtCQ1ZGLEcsQ0FDRSxvQixDQUNBLHVCLENBQ0EsaUIsQ0FDQSxtQixDQUNBLGtDLENBQ0EsaUMsQ0NSRixLLENBQ0ksK0IsQ0FDQSxrQixDQUNBLGtCLENBQ0Esa0IsQ0FFQSxxQyxDQUNBLHVCLENBQ0Esd0IsQ0FDQSx1QixDQUVBLDRCLENBQ0EsaUIsQ0FDQSxrQixDQUNBLGtCLENBRUEsMkIsQ0FDQSxnQixDQUNBLGlCLENBQ0EsaUIsQ0FFQSx5QixDQUNBLFcsQ0FDQSxhLENBQ0EsWSxDQ2xCSixXQUNJLHVCLENBQ0Esa0QsQ0FDQSxnQixBQUdKLFdBQ0ksdUIsQ0FDQSxvRCxDQUNBLGdCLEFBR0osV0FDSSx1QixDQUNBLHFELENBQ0EsZ0IsQUFHSixXQUNJLHVCLENBQ0EsaUQsQ0FDQSxnQkN2QkosQyxDQUFBLEksQ0FBQSxPLENBQUEsTyxDQUFBLE0sQ0FBQSxPLENBQUEsSyxDQUFBLEssQ0FBQSxDLENBQUEsRyxDQUFBLFUsQ0FBQSxJLENBQUEsTSxDQUFBLE8sQ0FBQSxNLENBQUEsSSxDQUFBLEksQ0FBQSxFLENBQUEsRyxDQUFBLE8sQ0FBQSxHLENBQUEsRyxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLEssQ0FBQSxVLENBQUEsTSxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLE0sQ0FBQSxNLENBQUEsSSxDQUFBLEMsQ0FBQSxNLENBQUEsRyxDQUFBLEcsQ0FBQSxLLENBQUEsRSxDQUFBLEksQ0FBQSxJLENBQUEsRyxDQUFBLE0sQ0FBQSxFLENBQUEsTSxDQUFBLEMsQ0FBQSxHLENBQUEsQyxDQUFBLEksQ0FBQSxDLENBQUEsSSxDQUFBLE8sQ0FBQSxLLENBQUEsSSxDQUFBLE0sQ0FBQSxNLENBQUEsRyxDQUFBLE8sQ0FBQSxHLENBQUEsSyxDQUFBLEssQ0FBQSxFLENBQUEsSyxDQUFBLEUsQ0FBQSxLLENBQUEsSSxDQUFBLEUsQ0FBQSxFLENBQUEsQyxDQUFBLEUsQ0FBQSxHLENBQUEsSyxDQWFFLFEsQ0FDRCxTLENBQ0EsUSxDQUVBLFksQ0FDQSx1QixDQWxCRCxHLENBYUUsUSxDQUNELFMsQ0FHQSxZLENBakJELFEsQ0FBQSxNLENBQUEsSSxDQUFBLE0sQ0FpQkMsWSxDQUNBLHVCLENBbEJELE0sQ0FBQSxJLENBY0MsUyxDQUNBLFEsQ0FmRCxNLENBYUUsUSxDQVNGLE0sQ0FDSSxTLENBSUosTyxDQUFBLEssQ0FBQSxPLENBQUEsVSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxJLENBQUEsRyxDQUFBLE8sQ0FFQyxhLENBR0QsSSxDQUNDLGEsQ0N4Qkcsb0QsQ0FDQSxzQixDQUF5QixrQyxDQUFxQyxpQyxDQUU5RCxpQyxDQ2hCQSwyQixDQUF1RCxjLENBQW1ELGlCLENBQW9CLHNCLENGd0NsSSxFLENBQUEsRSxDQUNDLGUsQ0FHRCxVLENBQUEsQyxDQUNDLFcsQ0FHRCxnQixDQUFBLGlCLENBQUEsTyxDQUFBLFEsQ0FHQyxZLENBR0QsSyxDQTRRSSx3QixDQUNBLGdCLENBeFFKLGdELENBQUEsNkMsQ0FBQSxpRCxDQUFBLHFELENBSUksdUIsQ0FDQSxvQixDQUdKLGtCLENBRUksb0IsQ0FnQkosSyxDQUFBLE0sQ0FBQSxLLENBR0ksb0IsQ0FDQSxlLENBQ0EsTyxDQUNBLGMsQ0FRSixVQUFBLFcsQ0FDSSxZLENBQ0EsUSxDRzlFSSx3QixDSHNGUixRLENBQ0ksWSxDQVVKLEksQ0FDSSxjLENBQ0EsNkIsQ0FDQSx5QixDQU9KLE8sQ0FDSSxtQixDQU9KLFEsQ0FBQSxPLENBRUksUyxDQVFKLEcsQ0FDSSxRLENBQ0EsOEIsQ0FvTUEscUIsQ0E3S0osUSxDQVlBLE0sQ0FDSSxRLENBQ0EsUyxDQWRKLFEsQ0FoQkEsTSxDQVFBLEksQ0EwTEksUSxDQXRLSixNLENBR0ksa0IsQ0FDQSxpQixDQVVKLE0sQ0FBQSxLLENBQUEsTSxDQU1JLHVCLENBTkosTSxDQUFBLEssQ0FBQSxNLENBQUEsUSxDQUlJLGMsQ0FDQSxRLENBRUEsc0IsQ0FRSixNLENBQUEsSyxDQUVJLGtCLENBVUosTSxDQUFBLE0sQ0FFSSxtQixDQWFKLE0sQ0FJSSx5QixDQUVBLGlCLENBTkosdUIsQ0FBQSxpQixDQUFBLGtCLENBSUkseUIsQ0FDQSxjLENBQ0EsaUIsQ0FPSixnQixDQUFBLG9CLENBRUksYyxDQVVKLG9CLENBQUEsaUIsQ0FFSSxxQixDQUNBLFMsQ0FDQSxZLENBQ0EsVyxDQVNKLGtCLENBQ0ksNEIsQ0FDQSwyQixDQUNBLDhCLENBQ0Esc0IsQ0FRSixnRCxDQUFBLDZDLENBRUksdUIsQ0FPSix3QixDQUFBLHVCLENBRUksUSxDQUNBLFMsQ0NuUnNCLFEsQ0QyUjFCLFEsQ0FDSSxhLENBQ0Esa0IsQ0FZSixJLENBQUEsSyxDQUFBLE0sQ0FkQSxRLENBbUJJLFUsQ0FJSixnQixDQUNJLGtCLENBQ0EsZ0IsQ0FHSixXLENBQ0ksa0IsQ0FDQSxnQixDQWFKLFEsQ0FDSSxlLENBR0osWSxDQUNJLGEsQ0FDQSxlLENBQ0EsVSxDQUNBLGMsQ0N6V0osSSxDQUNJLHFCLENBSUosQyxDQUFBLE8sQ0FBQSxRLENBRVcsa0IsQ0FXWCxDLENBRUEsTSxDQUYyQixhLENBQWdCLGMsQ0FFM0MsTSxDQUNJLFMsQ0FDQSw0QixDQUErQyxjLENHekJuRCxLLENBQ0ksc0IsQ0FHSixLLENBQ0ksdUIsQ0FHSixVLENBQ0ksMkIsQ0FHSixHLENBQ0ksZSxDQ2dqQkEseUJEOWlCQSxxQixDQUVRLGUsQUM0aUJSLHlCRHhpQkEsaUIsQ0FFUSxlLEFDc2lCUiwrQ0RsaUJBLFcsQ0FFUSxlLEFDZ2lCUix5QkQ1aEJBLGUsQ0FFUSxlLEFDMGhCUixnRER0aEJBLFcsQ0FFUSxlLEFDb2hCUiw0RURoaEJBLHFCLENBRVEsZSxBQzhnQlIsMEJEMWdCQSxZLENBRVEsZUFLWixPLENBQ0ksa0IsQ0Z2REosRSxDQVdBLEUsQ0FWSSxjLENBQ0EsZSxDQUNBLHVCLENBRUEsUSxDQUNJLGMsQ0FDQSxlLENBSVIsRSxDQUNJLGMsQ0FDQSxlLENBSUosQyxDQUNJLGUsQ0FJQSxDLENBQUEsUSxDQUFBLE8sQ0FDSSx5QixDR2tpQkoseUJIbmlCQSxDLENBQUEsUSxDQUFBLE8sQ0FJUSx3QkFLWixXLENBQ0ksYyxDQUNBLGUsQ0FDQSwrRSxDR3VoQkEsd0NDNWpCSixhLENBRVEsZ0JBSVIsSSxDQUNJLFksQ0FBZSxzQixDQUF5QixrQixDQUFxQixlLENBQWtCLGEsQ0FFL0UsZSxDQUFBLGEsQ0NUSixLLENEVVEsbUIsQ0NWUixLLENBQ3NCLG9CLENBQXVCLFMsQ0FBWSxVLENBQWEsUSxDQUNsRSxpQixDQUFvQixxQixDQUF3QixhLENBQzVDLFksQ0FDQSxhLENBQ0Esc0IsQ0FMSixLLENDREEsWSxDQUNJLGUsQ0FHSixrQixDQUNHLFUsQ0FBYSxpQixDQUFvQixnQixDQUNqQyxrQixDQUF1QyxpQixDQUcxQyxVLENBQ0ksYyxDTFZKLE8sQ0FDSSxVLENBQ0EscUMsQ0FFQSxhLENBQ0ksVyxDQUNBLHdCLENBQ0EsZSxDQUNBLHlCLENBQ0Esc0IsQ0VvakJKLHlCRnpqQkEsYSxDQVFRLGdCLEFFaWpCUix5QkZ6akJBLGEsQ0FZUSxnQkFJUixpQixDQUNJLGtCLENBQ0EsZ0IsQ0FPSixpQixDQUNJLGUsQ0FDQSx1QyxDQUNBLGtCLENSaENSLEksQ0FBQSxTLENBQ0ksWSxDQUNBLHFCLENBSUEsc0IsQ0FDQSxpQixDQUdKLEksQ0FDSSxhLENBR0osWSxDQUNJLGUsQ0FDQSxhLENBQ0EsVyxDQUNBLHFCLENBQ0Esa0MsQ0FJQSxVLENBQ0ksa0IsQ0FDQSxjLENBR0osYyxDQUNJLGdDLENBS0ksbUMsQ0FDSSxrQixDQURKLG1DLENBQ0ksb0IsQ0FESixtQyxDQUNJLG1CLENBREosbUMsQ0FDSSxvQixDQURKLG1DLENBQ0ksbUIsQ0FESixtQyxDQUNJLG9CLENBREosbUMsQ0FDSSxtQixDQURKLG1DLENBQ0ksb0IsQ0FESixtQyxDQUNJLG1CLENBREosb0MsQ0FDSSxvQixDQURKLG9DLENBQ0ksbUIsQ0FESixvQyxDQUNJLG9CLENBREosb0MsQ0FDSSxtQixDQURKLG9DLENBQ0ksb0IsQ0FESixvQyxDQUNJLG1CLENBREosb0MsQ0FDSSxvQixDQURKLG9DLENBQ0ksbUIsQ0FESixvQyxDQUNJLG9CLENBREosb0MsQ0FDSSxtQixDQURKLG9DLENBQ0ksb0IsQ0FESixvQyxDQUNJLGtCLENBT0oscUMsQ0FDSSxTLENBREoscUMsQ0FRSixnQyxDQUNJLHNCLENBQ0EscUIsQ0FDQSw0QixDQU1BLHlDLENBbUJKLG9DLENBbEJRLHVCLENBQ0EscUIsQ0FDQSw0QixDQU1BLHNELENBS0osaUQsQ0FKUSxjLENBZ0JoQix5QixDQUNJLGdCLENBQ0EsVSxDQUNBLFcsQ1VxZUosMEJWamVKLFEsQ0FBQSxTLENBQUEsUyxDQUFBLGlCLENBQUEsSyxDQUVRLHdCLENBQ0EsaUIsQVU4ZEosMEJWamVKLFEsQ0FBQSxTLENBQUEsUyxDQUFBLGlCLENBQUEsSyxDQU9RLFUsQ0FDQSxpQkFJUixNLENBQ0ksWSxDQUNBLFcsQ0FDQSxlLENBQ0EsaUMsQ0FFQSxVLENBQ0ksdUIsQ0FFQSx3QixDQW9CQSw0QixDQUlBLGtDLENBQUEsa0MsQ0FoQkEsd0IsQ0FJQSw4QixDQVhJLFcsQ0FJUixVLENBQ0ksNEIsQ0FXSixZLENBQ0ksNEIsQ0FZUixJLENBQ0ksWSxDQUNBLHFCLENBQ0Esa0IsQ0FDQSxXLENBRUEsZ0IsQ0FDSSxlLENBSVIsUyxDQUNJLG1CLENBQ0EsYyxDQUNBLGUsQ0FFQSxlLENBQ0ksYSxDQUNBLGUsQ0FJUixRLENBQ0ksa0IsQ0FFQSxjLENBQ0ksYyxDQUVBLDZCLENBQ0ksYyxDQUtaLEssQ0FDSSxZLENBQ0EsbUIsQ0FHSSxtQixDQUNJLFUsQ0FDQSxpQyxDQUNBLDZCLENVb1lSLHdDVmhZZ0IscUMsQ0FDSSxpQixDQUNBLGMsQ0FJQSx5RCxDQUNJLGdDQVM1QixNLENBQ0ksYSxDQUNBLGdCLENBQ0Esa0IsQ0FDQSxpQixDQUNBLGlDLENBQ0EsYyxDQUVBLGEsQ0FDSSxZLENBQ0Esc0IsQ0FDQSxrQixDQUNBLGMsQ0FDQSxlLENBQ0EsaUIsQ0FDQSxzQixDQUVBLHNCLENBQ0ksYyxDQUdKLHdDLENBQ0ksaUIsQ0FDQSxPLENBQ0EsUSxDQUNBLFMsQ0FDQSxrQyxDQUNBLGMsQ0FDQSxVLENBQ0EsdUMsQ0FDQSx1QixDQUNBLHNDLENBR0osbUJBQUEseUMsQ0FDSSxVLENBQ0EsZSxDQUNBLGtCLENVMlVSLHdDVnJVUSx3QixDQUNJLG9CLENBSUEsNEMsQ0FDSSwyQ0FPcEIsUyxDQUNJLGlCLENBQ0EsYSxDQUNBLGMsQ0FDQSxpQixDQUNBLGtDLENBQ0Esa0MsQ0FDQSxrQixDQUNBLGUsQ0FDQSxpQixDQUNBLGlCLENBQ0EsOEIsQ1U2U0EseUJWeFRKLFMsQ0FjUSxxQixBVTBTSiwwQlZ4VEosUyxDQWtCUSxTQUdKLG1CLENBQ0ksZ0ksQ0FHSixnQixDQUNJLDJCLENBRUEsc0IsQ0FDSSx1RSxDQUlSLFMsQ0FBQSxlLENBRUksb0IsQ0FDQSxVLENBT0osZ0IsQ0FDSSxtQixDQUdKLGMsQ0FDSSxrQixDQUNBLDJCLENBQ0EsbUIsQ0FDQSxTLENBSVIsSyxDQUNJLGMsQ0FDQSxrQyxDQUNBLGtCLENjL1RKLE8sQ0FDSSxpQixDQUNBLGtCLENBQ0EsVSxDQUNBLFMsQ0FDQSxpQyxDQUVBLDBCLENBRUksc0IsQ0FGSiwwQixDQU1BLGEsQ0FDSSxZLENBQ0Esa0IsQ0FFQSwwQixDQUNJLHVDLENBR0osMEIsQ0FDSSxlLENBR0osbUIsQ0FDSSxhLENBR0osaUIsQ0FDSSxVIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG4gIH1cblxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgJiA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlIC8gJGNvdW50O1xuICAgIG1heC13aWR0aDogMTAwJSAvICRjb3VudDtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1NDEwXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vLSBGYWRlcyByZWxhdGVkIGFuaW1hdGlvbnNcbi8vLSBCbGlua1xuQGtleWZyYW1lcyBibGluayB7XG4gICAgMCUgICB7IG9wYWNpdHk6IDE7IH1cbiAgICA1MCUgIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmsge1xuICAgIDAlICAgeyBvcGFjaXR5OiAxOyB9XG4gICAgNTAlICB7IG9wYWNpdHk6IDA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGJsaW5rIHtcbiAgICAwJSAgIHsgb3BhY2l0eTogMTsgfVxuICAgIDUwJSAgeyBvcGFjaXR5OiAwOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLy8tIEFwcGVhclxuQGtleWZyYW1lcyBhcHBlYXIge1xuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBhcHBlYXIge1xuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBhcHBlYXIge1xuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLy8tIEFwcGVhciBIYW1tZXJcbkBrZXlmcmFtZXMgYXBwZWFyLWhhbW1lciB7XG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cbiAgICA1MCUgIHsgb3BhY2l0eTogMTsgfVxuICAgIDYwJSAgeyBvcGFjaXR5OiAxOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBhcHBlYXItaGFtbWVyIHtcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxuICAgIDUwJSAgeyBvcGFjaXR5OiAxOyB9XG4gICAgNjAlICB7IG9wYWNpdHk6IDE7IH1cbiAgICAxMDAlIHsgb3BhY2l0eTogMDsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGFwcGVhci1oYW1tZXIge1xuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XG4gICAgNTAlICB7IG9wYWNpdHk6IDE7IH1cbiAgICA2MCUgIHsgb3BhY2l0eTogMTsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG59XG5cbi8vLSBCbGluayBDdXJzb3JcbkBrZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcbiAgICAwJSAgIHsgb3BhY2l0eToxOyB9XG4gICAgNTAlICB7IG9wYWNpdHk6MDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBibGluay1jdXJzb3Ige1xuICAgIDAlICAgeyBvcGFjaXR5OjE7IH1cbiAgICA1MCUgIHsgb3BhY2l0eTowOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGJsaW5rLWN1cnNvciB7XG4gICAgMCUgICB7IG9wYWNpdHk6MTsgfVxuICAgIDUwJSAgeyBvcGFjaXR5OjA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eToxOyB9XG59XG5cbi8vLSBmYWRlIGluXG5Aa2V5ZnJhbWVzIGZhZGVpbiB7XG4gICAgMCUgICB7IGRpc3BsYXk6IGJsb2NrOyBvcGFjaXR5OjA7IH1cbiAgICAxJSAgeyBvcGFjaXR5OjA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eToxOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZWluIHtcbiAgICAwJSAgIHsgZGlzcGxheTogYmxvY2s7IG9wYWNpdHk6MDsgfVxuICAgIDElICB7IG9wYWNpdHk6MDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBmYWRlaW4ge1xuICAgIDAlICAgeyBkaXNwbGF5OiBibG9jazsgIG9wYWNpdHk6MDt9XG4gICAgMSUgIHsgb3BhY2l0eTowOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxufSIsIi8vLSBNb3Rpb24gcmVsYXRlZCBhbmltYXRpb25zXG4vLy0gSnVtcFxuQGtleWZyYW1lcyBqdW1we1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBqdW1we1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBqdW1we1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLy8tIFdlaWdodFxuQGtleWZyYW1lcyB3ZWlnaHR7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKC00OGRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgd2VpZ2h0e1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDQ4ZGVnKTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIHdlaWdodHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoLTQ4ZGVnKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0OGRlZyk7IH1cbn1cblxuLy8tIEhhbW1lclxuQGtleWZyYW1lcyBoYW1tZXJ7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDI4ZGVnKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGhhbW1lcntcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMjhkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgaGFtbWVye1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyOGRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cbn1cblxuLy8tIFNjYWxlXG5Aa2V5ZnJhbWVzIHNjYWxle1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgNzAlICB7IHRyYW5zZm9ybTogc2NhbGUoMik7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxle1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgNzAlICB7IHRyYW5zZm9ybTogc2NhbGUoMik7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIHNjYWxle1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgNzAlICB7IHRyYW5zZm9ybTogc2NhbGUoMik7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuXG4vLy0gSG9vcFxuQGtleWZyYW1lcyBob29we1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpOyB9XG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGhvb3B7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7IH1cbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgaG9vcHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTsgfVxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbn1cblxuLy8tIERhbnNlXG5Aa2V5ZnJhbWVzIGRhbnNle1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfSAgIFxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gICAgNzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGRhbnNle1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfSAgIFxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gICAgNzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGRhbnNle1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfSAgIFxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gICAgNzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxufVxuXG4vLy0gSGFtYnVyZ2VyXG5Aa2V5ZnJhbWVzIGhhbWJ1cmdlcntcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgaGFtYnVyZ2Vye1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBoYW1idXJnZXJ7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxufVxuXG4vLy0gQm90dGxlIERhbmNlXG5Aa2V5ZnJhbWVzIGJvdHRsZURhbmNle1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIDUlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICAgIDk1JSAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3R0bGVEYW5jZXtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICA1JSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgICA5NSUgIHsgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgYm90dGxlRGFuY2V7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgNSUgICB7IHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XG4gICAgOTUlICB7IHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxufVxuXG4vLy0gQm91bmNlXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNXB4KTsgfVxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgMTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1cHgpOyB9XG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBib3VuY2Uge1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAxMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjVweCk7IH1cbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuXG4vLy0gQm91bmNlIHdpdGggZGlzdG9ydGlvblxuQGtleWZyYW1lcyBib3VuY2Utd2l0aC1kaXN0b3J0aW9uIHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAxMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAzMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSguOTcsMS4wMykgIHRyYW5zbGF0ZVkoLTI1cHgpOyB9XG4gICAgNDAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XG4gICAgNTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZS13aXRoLWRpc3RvcnRpb24ge1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKC45NywxLjAzKSAgdHJhbnNsYXRlWSgtMjVweCk7IH1cbiAgICA0MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cbiAgICA1MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gICAgNjAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgYm91bmNlLXdpdGgtZGlzdG9ydGlvbiB7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XG4gICAgMTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XG4gICAgMzAlICB7IHRyYW5zZm9ybTogc2NhbGUoLjk3LDEuMDMpICB0cmFuc2xhdGVZKC0yNXB4KTsgfVxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgICA2MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cbn0iLCIvLy0gU2NoZW1hIHJlbGF0ZWQgYW5pbWF0aW9uc1xuJHRhcC1jb2xvcjogcmVkO1xuXG4vLy0gQmFja2dyb3VuZC1jb2xvciBvbiB0YXBcbkBrZXlmcmFtZXMgYmdDb2xvci1vbi10YXAge1xuICAgIDAlICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XG4gICAgNTAlICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cbiAgICAxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAwKTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJnQ29sb3Itb24tdGFwIHtcbiAgICAwJSAgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxuICAgIDUwJSAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XG4gICAgMTAwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMCk7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBiZ0NvbG9yLW9uLXRhcCB7XG4gICAgMCUgICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cbiAgICA1MCUgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxuICAgIDEwMCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDApOyB9XG59IiwiYm9keSwgYm9keSBtYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbmJvZHksIGJvZHkgbWFpbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5tYWluIHtcbiAgICBmbGV4OiAxIDEgMTAwJTtcbn1cblxuLnN1cnZleS13cmFwIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgc2VjdGlvbiwgYmcpOyAgIFxuICAgIGZvbnQtZmFtaWx5OiAkbWFpbkZvbnQ7XG59XG5cbi5zdXJ2ZXkge1xuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAxLjVlbTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cblxuICAgIC5ib3hlcyB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dCAwcztcbiAgICB9XG5cbiAgICAuYW5zd2VycyB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMjAge1xuICAgICAgICAgICAgJl9faXRlbTpudGgtY2hpbGQoI3skaSArIDF9KSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjA1cyAqICRpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlZW4tcXVlc3Rpb24ge1xuICAgICAgICAuYW5zd2VycyB7XG4gICAgICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucXVlc3Rpb24ge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW47XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYW5zd2VyZWQtcXVlc3Rpb24ge1xuICAgICAgICAuYW5zd2VycyB7XG4gICAgICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXQ7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIC5hbnN3ZXJzIHtcbiAgICAgICAgICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnF1ZXN0aW9uIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucXVlc3Rpb24ge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0O1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnF1ZXN0aW9uLWNvdW50ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG59XG5cbi5xdWVzdGlvbi1jb3VudGVyLCAucXVlc3Rpb24sIC5hbnN3ZXJzLCAubmV4dFN0ZXAsIC5za2lwIHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiAzOTJweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDU3MHB4O1xuICAgIH1cbn1cblxuLmJveGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAzMDB2dztcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dCAwLjVzO1xuXG4gICAgJi5vbmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cbiAgICAgICAgLmJveC5vbmUgfiAuYm94IHtcbiAgICAgICAgICAgIGhlaWdodDogNjV2aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudHdvIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDB2dyk7XG5cbiAgICAgICAgLmJveC50d28gfiAuYm94IHtcbiAgICAgICAgICAgIGhlaWdodDogNjV2aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3hlcy50d28gLmJveC5vbmUgeyBcbiAgICAgICAgICAgIGhlaWdodDogNjV2aDsgXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRocmVlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDB2dyk7XG5cbiAgICAgICAgLmJveC50aHJlZSB+IC5ib3gge1xuICAgICAgICAgICAgaGVpZ2h0OiA2NXZoO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveGVzLnRocmVlIC5ib3gub25lLCAuYm94ZXMudGhyZWUgLmJveC50d28geyBcbiAgICAgICAgICAgIGhlaWdodDogNjV2aDsgXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDB2dzsgXG4gICAgXG4gICAgLmRpc2NsYWltZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cbn1cblxuLnF1ZXN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjNlbTtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgIHNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IC40ZW07XG4gICAgfVxufVxuXG4uYW5zd2VycyB7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWxlbWVudHMtZmxvdywgbW9iaWxlKTtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBhbnN3ZXIsIGZvbnQtc2l6ZS1kZXNrdG9wKTtcblxuICAgICAgICAmICsgLmFuc3dlcnNfX2l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5pbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gbGFiZWwgeyAgICAgICAgICBcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgYW5zd2VyLCBjb2xvcik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgYW5zd2VyLCBiZyk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBhbnN3ZXIsIGJnKTsgICAgICAgICAgIFxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcImhvdmVyXCIsIFwiZmluZVwiKSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIC5sYWJlbF9faW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmFuc3dlcnNfX2l0ZW0tLWxhYmVsLW92ZXIgJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCA4cHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBib3JkZXItcmFkaXVzOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgYW5zd2VyLCByYWRpdXMpO1xuICAgIGJvcmRlcjogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGFuc3dlciwgYm9yZGVyKSBtYXAtZGVlcC1nZXQoJHN1cnZleSwgYW5zd2VyLCBib3JkZXItY29sb3IpO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgICAgICBcblxuICAgICZfX3ZhbHVlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkdGV4dENvbG9yO1xuXG4gICAgICAgIC5ib3gub25lICYge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFuc3dlcnNfX2l0ZW0tLWxhYmVsLW92ZXIgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHNlY29uZGFyeUZvbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYW5zd2Vyc19faXRlbTpub3QoLmFuc3dlcnNfX2l0ZW0tLWxhYmVsLW92ZXIpICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiaG92ZXJcIiwgXCJmaW5lXCIpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAubGFiZWxfX2ltZyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAuYW5zd2Vyc19faXRlbS0tbGFiZWwtb3ZlciAmIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4xKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uZXh0U3RlcCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICRtYWluRm9udDtcbiAgICBmb250LXNpemU6IHZhcigtLW5leHRTdGVwLUZTLCAyNHB4KTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBjdGEsIHJhZGl1cyk7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggIzAwMDAwMDU3O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PW1vYmlsZVwiKSB7XG4gICAgICAgIC0tbmV4dFN0ZXAtRlM6IDIycHg7IFxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgfVxuXG4gICAgJi0tZ3JhZGllbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkYnV0dG9uR3JhZGllbnQ7XG4gICAgfVxuXG4gICAgJi0tc29saWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uQ29sb3I7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uQ29sb3JIb3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBjdGEsIGNvbG9yKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIGN0YSwgc2hhZG93KTtcbiAgICB9XG5cbiAgICAmLmhpZGRlbiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICYuc2hvdyB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYWRlaW4gMnM7XG4gICAgICAgIGFuaW1hdGlvbjogZmFkZWluIDJzO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLnNraXAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LWZhbWlseTogJHNlY29uZGFyeUZvbnQ7XG4gICAgbWFyZ2luLWlubGluZTogI3ttYXAtZ2V0KCRlbGVtZW50cy1mbG93LCBtb2JpbGUpICogMn07XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbiB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwdncpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxuICAgIH1cblxuICAgIDMwJSB7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDB2dyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG59IiwiLyogRk9OVCBQQVRIXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90P3Y9I3skZmEtdmVyc2lvbn0nKTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/I2llZml4JnY9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZjI/dj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC50dGY/dj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC5zdmc/dj0jeyRmYS12ZXJzaW9ufSNmb250YXdlc29tZXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xuLy8gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L0ZvbnRBd2Vzb21lLm90ZicpIGZvcm1hdCgnb3BlbnR5cGUnKTsgLy8gdXNlZCB3aGVuIGRldmVsb3BpbmcgZm9udHNcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuIiwiLy8gQmFzZSBDbGFzcyBEZWZpbml0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgI3skZmEtZm9udC1zaXplLWJhc2V9LyN7JGZhLWxpbmUtaGVpZ2h0LWJhc2V9IEZvbnRBd2Vzb21lOyAvLyBzaG9ydGVuaW5nIGZvbnQgZGVjbGFyYXRpb25cbiAgZm9udC1zaXplOiBpbmhlcml0OyAvLyBjYW4ndCBoYXZlIGZvbnQtc2l6ZSBpbmhlcml0IG9uIGxpbmUgYWJvdmUsIHNvIG5lZWQgdG8gb3ZlcnJpZGVcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87IC8vIG9wdGltaXplbGVnaWJpbGl0eSB0aHJvd3MgdGhpbmdzIG9mZiAjMTA5NFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxufVxuIiwiLy8tIHYwMlxuOnJvb3Qge1xuICAgIC0tbWFpbkNvbG9yOiAgICAgICAgaHNsKDIyOCwgNTIlLCAzMiUpO1xuICAgIC0tbWFpbkNvbG9yX2g6ICAgICAgMjI4O1xuICAgIC0tbWFpbkNvbG9yX3M6ICAgICAgNTIlO1xuICAgIC0tbWFpbkNvbG9yX2w6ICAgICAgMzIlO1xuICAgIFxuICAgIC0tc2Vjb25kYXJ5Q29sb3I6ICAgaHNsKDEyMCwgMTAwJSwgMjUlKTtcbiAgICAtLXNlY29uZGFyeUNvbG9yX2g6ICAxMjA7XG4gICAgLS1zZWNvbmRhcnlDb2xvcl9zOiAgMTAwJTtcbiAgICAtLXNlY29uZGFyeUNvbG9yX2w6ICAyNSU7XG5cbiAgICAtLXRpdGxlQ29sb3I6ICAgICAgaHNsKDAsIDAlLCAwJSk7XG4gICAgLS10aXRsZUNvbG9yX2g6ICAgICAgMDtcbiAgICAtLXRpdGxlQ29sb3JfczogICAgICAwJTtcbiAgICAtLXRpdGxlQ29sb3JfbDogICAgICAwJTtcblxuICAgIC0tdGV4dENvbG9yOiAgICAgICAgICBoc2woMCwgMCUsIDAlKTtcbiAgICAtLXRleHRDb2xvcl9oOiAgICAgICAgICAwO1xuICAgIC0tdGV4dENvbG9yX3M6ICAgICAgICAgIDAlO1xuICAgIC0tdGV4dENvbG9yX2w6ICAgICAgICAgIDAlO1xuICAgIFxuICAgIC0tQ1RBOiAgICAgICAgICAgICAgICBoc2woMzIsIDEwMCUsIDYwJSk7XG4gICAgLS1DVEFfaDogICAgICAgICAgICAgICAgMzI7XG4gICAgLS1DVEFfczogICAgICAgICAgICAgICAgMTAwJTtcbiAgICAtLUNUQV9sOiAgICAgICAgICAgICAgICA2MCU7XG59XG5cbiR3aGl0ZTogICAgICAgICAgICAgICAgICAgICAjZmZmO1xuJGxpZ2h0LWJsYWNrOiAgICAgICAgICAgICAgICMxMTE5MjY7XG4kY2xheS1icm93bjogICAgICAgICAgICAgICAgI2JhN2MzYjtcbiR3YXJtLWdyZXk6ICAgICAgICAgICAgICAgICBoc2wodmFyKC0tdGV4dENvbG9yX2gpLCB2YXIoLS10ZXh0Q29sb3JfcyksIGNhbGMoIHZhcigtLXRleHRDb2xvcl9sKSArIDYyJSApICk7XG4vLy0gYXBwbHkgY29sb3JzXG4kbWFpbkNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLW1haW5Db2xvcik7XG4kbWFpbkNvbG9yTGlnaHQ6ICAgICAgICAgICAgICAgIGhzbCggY2FsYyggdmFyKC0tbWFpbkNvbG9yX2gpIC0gMTYgKSwgY2FsYyggdmFyKC0tbWFpbkNvbG9yX3MpIC0gMiUgKSwgY2FsYyggdmFyKC0tbWFpbkNvbG9yX2wpICsgMjAlICkgKTtcbiRtYWluQ29sb3JPcGFjaXR5OiAgICAgICAgICAgICAgaHNsYSh2YXIoLS1tYWluQ29sb3JfaCksIHZhcigtLW1haW5Db2xvcl9zKSwgdmFyKC0tbWFpbkNvbG9yX2wpLCAuMyApO1xuXG4kc2Vjb25kYXJ5Q29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLXNlY29uZGFyeUNvbG9yKTtcbiRzZWNvbmRhcnlDb2xvck9wYWNpdHk6ICAgICAgICAgaHNsYSh2YXIoLS1zZWNvbmRhcnlDb2xvcl9oKSwgdmFyKC0tc2Vjb25kYXJ5Q29sb3JfcyksIHZhcigtLXNlY29uZGFyeUNvbG9yX2wpLCAuMyApO1xuXG4kdGl0bGVDb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLXRpdGxlQ29sb3IpO1xuJHRleHRDb2xvcjogICAgICAgICAgICAgICAgICAgICB2YXIoLS10ZXh0Q29sb3IpO1xuXG4kYnV0dG9uQ29sb3JTdGFydDogICAgICAgICAgICAgIHZhcigtLUNUQSk7XG4kYnV0dG9uQ29sb3JFbmQ6ICAgICAgICAgICAgICAgIGhzbCggY2FsYyh2YXIoLS1DVEFfaCkgKyAxMCApLCBjYWxjKCB2YXIoLS1DVEFfcykgLSAxJSksIGNhbGMoIHZhcigtLUNUQV9sKSArIDYlICkgKTsgLy8tIGhzbCg0MiwgOTklLCA2NiUpXG4kYnV0dG9uR3JhZGllbnQ6ICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRidXR0b25Db2xvclN0YXJ0LCAkYnV0dG9uQ29sb3JFbmQpO1xuJGJ1dHRvbkNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS1DVEEpO1xuJGJ1dHRvbkNvbG9ySG92ZXI6ICAgICAgICAgICAgICBoc2wodmFyKC0tQ1RBX2gpLCB2YXIoLS1DVEFfcyksIGNhbGModmFyKC0tQ1RBX2wpIC0gMyUpKTtcblxuJGhlYWRlckNvbG9yOiAgICAgICAgICAgICAgICAgICAkbWFpbkNvbG9yO1xuJGJnQ29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAjZWVlO1xuJGJnQ29sb3JPcGFjaXR5OiAgICAgICAgICAgICAgICAgcmdiYSgkYmdDb2xvciwgLjkpO1xuXG4kbWFpblNoYWRvdzogICAgICAgICAgICAgICAgICAgIDAgNXB4IDVweCAwICNjYWM5Yzk7XG4kYnV0dG9uVGV4dFNoYWRvdzogICAgICAgICAgICAgICRjbGF5LWJyb3duO1xuJGJ1dHRvblRleHRTaGFkb3dEaXNhYmxlZDogICAgICAkd2FybS1ncmV5O1xuXG4kYm94U2hhZG93OiAgICAgICAgICByZ2JhKGJsYWNrLCAuMTYpOyIsIi8vLSBGb250IGZhbWlsaWVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUHJveGltYU5vdmEtTGlnaHQub3RmXG4vLyBQcm94aW1hTm92YS1SZWd1bGFyLm90ZlxuLy8gUHJveGltYU5vdmEtU2VtaWJvbGQub3RmXG4vLyBQcm94aW1hTm92YS1Cb2xkLm90ZlxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogUHJveGltYU5vdmE7XG4gICAgc3JjOiB1cmwoLi9mb250cy9Qcm94aW1hTm92YS9Qcm94aW1hTm92YS1MaWdodC5vdGYpO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBQcm94aW1hTm92YTtcbiAgICBzcmM6IHVybCguL2ZvbnRzL1Byb3hpbWFOb3ZhL1Byb3hpbWFOb3ZhLVJlZ3VsYXIub3RmKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogUHJveGltYU5vdmE7XG4gICAgc3JjOiB1cmwoLi9mb250cy9Qcm94aW1hTm92YS9Qcm94aW1hTm92YS1TZW1pYm9sZC5vdGYpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBQcm94aW1hTm92YTtcbiAgICBzcmM6IHVybCguL2ZvbnRzL1Byb3hpbWFOb3ZhL1Byb3hpbWFOb3ZhLUJvbGQub3RmKTtcbiAgICBmb250LXdlaWdodDogODAwO1xufVxuXG4kcHJveGltYU5vdmE6IFByb3hpbWFOb3ZhLCBzYW5zLXNlcmlmO1xuXG4kbWFpbkZvbnQ6ICRwcm94aW1hTm92YTsgLy8gJExhYkdyb3Rlc3F1ZTtcbiRzZWNvbmRhcnlGb250OiAkcHJveGltYU5vdmE7IC8vIFByb3hpbWFOb3ZlIiwiLyogaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC9cbiAgIHYyLjAtbW9kaWZpZWQgfCAyMDExMDEyNlxuICAgTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcbiovXG5cbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5iLCB1LCBpLCBjZW50ZXIsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICBtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRmb250OiBpbmhlcml0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qIG1ha2Ugc3VyZSB0byBzZXQgc29tZSBmb2N1cyBzdHlsZXMgZm9yIGFjY2Vzc2liaWxpdHkgKi9cbjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG5ib2R5IHtcblx0bGluZS1oZWlnaHQ6IDE7XG59XG5cbm9sLCB1bCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGUsIHEge1xuXHRxdW90ZXM6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxucTpiZWZvcmUsIHE6YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcblx0Y29udGVudDogbm9uZTtcbn1cblxudGFibGUge1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRib3JkZXItc3BhY2luZzogMDtcbn1cblxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4vKipcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG52aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgKnpvb206IDE7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDcvOC85LCBGaXJlZm94IDMsIGFuZCBTYWZhcmkgNC5cbiAqIEtub3duIGlzc3VlOiBubyBJRSA2IHN1cHBvcnQuXG4gKi9cblxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFIDYvNyB3aGVuIGJvZHkgYGZvbnQtc2l6ZWAgaXMgc2V0IHVzaW5nXG4gKiAgICBgZW1gIHVuaXRzLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5hOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXG4gKiAyLiBJbXByb3ZlIGltYWdlIHF1YWxpdHkgd2hlbiBzY2FsZWQgaW4gSUUgNy5cbiAqL1xuXG5pbWcge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA2LzcvOC85LCBTYWZhcmkgNSwgYW5kIE9wZXJhIDExLlxuICovXG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3QgbWFyZ2luIGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cblxuZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgNi83LzgvOS5cbiAqIDIuIENvcnJlY3QgdGV4dCBub3Qgd3JhcHBpbmcgaW4gRmlyZWZveCAzLlxuICogMy4gQ29ycmVjdCBhbGlnbm1lbnQgZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xuXG5sZWdlbmQge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMiAqL1xuICAgICptYXJnaW4tbGVmdDogLTdweDsgLyogMyAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcsIEZpcmVmb3ggMyssIFNhZmFyaSA1LFxuICogICAgYW5kIENocm9tZS5cbiAqIDMuIEltcHJvdmUgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMyAqL1xuICAgICp2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDMrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gQ2hyb21lLCBTYWZhcmkgNSssIGFuZCBJRSA2Ky5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCA0KyBhbmQgT3BlcmEuXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICogNC4gUmVtb3ZlIGlubmVyIHNwYWNpbmcgaW4gSUUgNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiAgICBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICAgICpvdmVyZmxvdzogdmlzaWJsZTsgIC8qIDQgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gY29udGVudC1ib3ggaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS5cbiAqIDMuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA3LlxuICogICAgS25vd24gaXNzdWU6IGV4Y2VzcyBwYWRkaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgKmhlaWdodDogMTNweDsgLyogMyAqL1xuICAgICp3aWR0aDogMTNweDsgLyogMyAqL1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqIG9uIE9TIFguXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggMysuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA2LzcvOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5odG1sLFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgY29sb3I6ICMyMjI7XG59XG5cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbmltZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxudGV4dGFyZWEge1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi5jaHJvbWVmcmFtZSB7XG4gICAgbWFyZ2luOiAwLjJlbSAwO1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgcGFkZGluZzogMC4yZW0gMDtcbn1cbiIsIi8vLSBSZXNldCBFeHRlbmRlZCAtIE9uIHRoaXMgcGFydGlhbCBJJ2xsIGV4dGVuZCB0aGUgRXJpYyBNZXllciByZXNldCBmaWxlIGJ5IGFkZGluZyBtb2Rlcm4gYW5kIHVzZWZ1bGwgc2VsZWN0b3JzXG5cbi8vLSBPdmVycmlkZSBkZWZhdWx0IGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyBzbyB3aWR0aCBpcyBub3QgYWZmZWN0ZWQgYnkgcGFkZGluZyBhbmQgYm9yZGVyIHByb3BlcnRpZXNcbmh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8vLSBJbmhlcml0IHJvb3QgYm94LXNpemluZyB2YWx1ZSB0byBhbGwgRE9NIGVsZW1lbnRzXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbi8vLSBTZXQgYm9keSB0byBmaWxsIHZpZXdwb3J0LCBvcHRpbWl6ZSB0ZXh0LXJlbmRlcmluZyBhbmQgc21vb3RoIHNjcm9sbGluZ1xuYm9keSB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7IFxuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAvLy0gTm90ZSB0ZXh0LXJlbmRlcmluZyBzaG91bGQgYmUgY2hvc2VuIGRlcGVuZGluZyBvbiB1c2VkIGZvbnQtZmFtaWx5IGFuZCBwZXJmb3JtYW5jZSBnb2Fsc1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IC8vLSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvdGV4dC1yZW5kZXJpbmdcbn1cblxuLy8tIFJlc2V0IGFuY2hvciBsb29rICYgYmVoYXZpb3VyXG5hIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogaW5oZXJpdDsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmJ1dHRvbiB7IFxuICAgIHBhZGRpbmc6IDA7IFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogaW5oZXJpdDsgYm9yZGVyLXdpZHRoOiAwOyBjdXJzb3I6cG9pbnRlcjsgXG59XG5cbi8vLSBBZGl0aW9uYWwgdG8gcmVzZXQuc2NzcywgcmVtb3ZlIG1hcmdpbiBvbiBGRjMrIFxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIgeyBtYXJnaW46IDA7IH1cbiIsImJvZHkge1xuICAgIGZvbnQtZmFtaWx5OiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgYm9keSwgZm9udC1mYW1pbHkpOyBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBib2R5LCBmb250LXNpemUpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgYm9keSwgY29sb3IpOyBcbn1cblxuaDIge1xuICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIHRpdGxlLCBmb250LXNpemUpOyBcbiAgICBmb250LXdlaWdodDogbWFwLWRlZXAtZ2V0KCRzdXJ2ZXksIHRpdGxlLCBmb250LXdlaWdodCk7IFxuICAgIGNvbG9yOiB2YXIoLS10aXRsZUNvbG9yKTtcblxuICAgIHNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgdGl0bGVTbWFsbCwgZm9udC1zaXplKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1kZWVwLWdldCgkc3VydmV5LCB0aXRsZVNtYWxsLCBmb250LXdlaWdodCk7XG4gICAgfVxufVxuXG5oMyB7XG4gICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJHN1cnZleSwgc3VydmV5VGl0bGUsIGZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBzdXJ2ZXlUaXRsZSwgZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS10aXRsZUNvbG9yKTtcbn1cblxuYiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuYSB7XG4gICAgJiwgJjpob3ZlciwgJjphY3RpdmUge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG1hcC1kZWVwLWdldCgkc3VydmV5LCBhbmNob3IsIGRlY29yYXRpb24pOyBcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8Ym9vdC1kZXNrdG9wJykge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkc3VydmV5LCBib2R5LCBjb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kaXNjbGFpbWVyIHtcbiAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkZm9udCwgZGlzY2xhaW1lciwgbW9iaWxlKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkd2FybS1ncmV5O1xufSIsIi5mb290ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICBcbiAgICAuc2tpcCB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBjb2xvcjogJHRleHRDb2xvcjtcbiAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8Ym9vdC1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVsZW1lbnRzLWZsb3csIG1vYmlsZSkgMDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49Ym9vdC1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVsZW1lbnRzLWZsb3csIGRlc2t0b3ApIDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLm5leHRTdGVwIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XG5cbiAgICAgICAgJi5oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLS1pc1N0aWNreSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIGJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDAuNXZoKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICB9XG59XG5cbiIsIi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLmJyIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlOyAvLy0gcHJlc2VydmUgd2hpdGVzcGFjZVxuXG4gICAgJi0tbm90LXNtYWxsLW1vYmlsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1vYmlsZScpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc21hbGwtbW9iaWxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW1vYmlsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1vYmlsZScsICc8dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1tb2JpbGUtbWF4IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUtbWF4Jykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10YWJsZXQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGRlc2t0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXRhYmxldC1sYW5kc2NhcGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGRlc2t0b3AnLCAnbGFuZHNjYXBlJykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1kZXNrdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubm93cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2Vcbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYG1vYmlsZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ21vYmlsZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdtb2JpbGUnOiAzNzVweCxcbiAgLy8gJ3RhYmxldCc6IDc2OHB4LFxuICAvLyAnZGVza3RvcCc6IDEwMjRweFxuICAnbW9iaWxlLW1pZCc6IDUyMHB4LFxuICAnbW9iaWxlLW1heCc6IDU3NXB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICd0YWJsZXQtbWlkJzogODUwcHgsXG4gICdib290LWRlc2t0b3AnOiA5OTJweCxcbiAgJ2Rlc2t0b3AnOiAxMDI1cHgsXG4gICdkZXNrdG9wLW1pZCc6IDEyMDBweCxcbiAgJ2Rlc2t0b3AtbWF4JzogMTkyMHB4XG4pICFkZWZhdWx0O1xuXG4vLy0gbW9iaWxlIG9ubHlcbi8vLy8tICgnPHRhYmxldCcpIC0gbWF4LXdpZHRoOiA3NjdweFxuLy8tIHRhYmxldCBvbmx5XG4vLy8vLSAoJz49dGFibGV0JywgJzxkZXNrdG9wJykgLSBtaW4td2lkdGg6IDc2OHB4OyBtYXgtd2lkdGg6IDEwMjRweFxuLy8tIGRlc2t0b3Agb25seVxuLy8vLy0gKCc+PWRlc2t0b3AnKSAtIG1pbi13aWR0aDogMTAyNXB4XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAnaG92ZXInOiAnKGhvdmVyOiBob3ZlciknLFxuICAnZmluZSc6ICcocG9pbnRlcjogZmluZSknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1vYmlsZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPm1vYmlsZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPm1vYmlsZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8tIEJ1dHRvbnMgcGFydGlhbFxuW3JvbGU9J2J1dHRvbiddIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnaG92ZXInLCAnZmluZScpIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbn1cblxuLmJ0biB7IFxuICAgIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyBmbGV4LWJhc2lzOiBhdXRvOyBtYXJnaW46IDAgYXV0bztcblxuICAgICYuZGlzYWJsZWQsIFtkaXNhYmxlZF0ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG4iLCIvLy0gUGFydGlhbCBmb3IgU1ZHIHNwcml0ZSBpY29uc1xuLmljb24ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDFlbTsgaGVpZ2h0OiAxZW07IG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IGZvbnQtc2l6ZTogMWVtOyAvKiBkZWZhdWx0LXNpemUgKi9cbiAgICBmaWxsOiBpbmhlcml0OyAvKiBkZWZhdWx0IGNvbG9yICovIFxuICAgIGNvbG9yOiBpbmhlcml0OyAvKiBkZWZhdWx0IGNvbG9yIHdoZW4gY3VycmVudENvbG9yIGlzIHVzZWQgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCJtYWluID4gc2VjdGlvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8tIHRvIHJlbW92ZSBob3Jpem9udGFsIHNjcm9sbCBjcmVhdGVkIGJ5IG5lZ2F0aXZlIHBvc2l0aW9uIG9mIGRlY29yYXRpdmUgYmctaW1hZ2VzIGxvY2F0ZWQgb24gdGhlIHJpZ2h0IHNpZGVcbn1cblxuW2NsYXNzXj1cImNvbnRhaW5lclwiXSB7XG4gICB3aWR0aDogMTAwJTsgbWFyZ2luLXJpZ2h0OiBhdXRvOyBtYXJnaW4tbGVmdDogYXV0bzsgXG4gICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyOyBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci13aWR0aCAvIDI7XG59XG5cbi5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cbiIsIi5oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJsb2NrOiAyMHB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZmlsbDogJHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXJDb2xvcjtcblxuICAgIFtjbGFzc149XCJjb250YWluZXJcIl0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAuaGVhZGVyLS1zdmcgJiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWhlYWRlckxvZ29XaWR0aCwgMjAwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci0taW1nICYge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGhlaWdodDogLjI3NWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19 */
