/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}main{display:block}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}input{overflow:visible}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{box-sizing:border-box;display:table;max-width:100%;padding:0;color:inherit;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}details{display:block}summary{display:list-item}menu{display:block}canvas{display:inline-block}template{display:none}[hidden]{display:none}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{box-sizing:border-box;font-size:100%}*,*::before,*::after{box-sizing:inherit}body{margin:0;padding:0;background:#fff;font-family:"Helvetica Neue",sans-serif;font-weight:normal;line-height:1.5;color:#000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle;max-width:100%;height:auto;-ms-interpolation-mode:bicubic}textarea{height:auto;min-height:50px;border-radius:.25em}select{box-sizing:border-box;width:100%;border-radius:.25em}.map_canvas img,.map_canvas embed,.map_canvas object,.mqa-display img,.mqa-display embed,.mqa-display object{max-width:none !important}button{padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:.25em;background:transparent;line-height:1;cursor:auto}[data-whatinput='mouse'] button{outline:0}pre{overflow:auto}button,input,optgroup,select,textarea{font-family:inherit}.is-visible{display:block !important}.is-hidden{display:none !important}.align-right{-ms-flex-pack:end;justify-content:flex-end}.align-center{-ms-flex-pack:center;justify-content:center}.align-justify{-ms-flex-pack:justify;justify-content:space-between}.align-spaced{-ms-flex-pack:distribute;justify-content:space-around}.align-right.vertical.menu>li>a{-ms-flex-pack:end;justify-content:flex-end}.align-center.vertical.menu>li>a{-ms-flex-pack:center;justify-content:center}.align-top{-ms-flex-align:start;align-items:flex-start}.align-self-top{-ms-flex-item-align:start;align-self:flex-start}.align-bottom{-ms-flex-align:end;align-items:flex-end}.align-self-bottom{-ms-flex-item-align:end;align-self:flex-end}.align-middle{-ms-flex-align:center;align-items:center}.align-self-middle{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.align-stretch{-ms-flex-align:stretch;align-items:stretch}.align-self-stretch{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.align-center-middle{-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center}.small-order-1{-ms-flex-order:1;order:1}.small-order-2{-ms-flex-order:2;order:2}.small-order-3{-ms-flex-order:3;order:3}.small-order-4{-ms-flex-order:4;order:4}.small-order-5{-ms-flex-order:5;order:5}.small-order-6{-ms-flex-order:6;order:6}@media print, screen and (min-width: 40em){.medium-order-1{-ms-flex-order:1;order:1}.medium-order-2{-ms-flex-order:2;order:2}.medium-order-3{-ms-flex-order:3;order:3}.medium-order-4{-ms-flex-order:4;order:4}.medium-order-5{-ms-flex-order:5;order:5}.medium-order-6{-ms-flex-order:6;order:6}}@media print, screen and (min-width: 64em){.large-order-1{-ms-flex-order:1;order:1}.large-order-2{-ms-flex-order:2;order:2}.large-order-3{-ms-flex-order:3;order:3}.large-order-4{-ms-flex-order:4;order:4}.large-order-5{-ms-flex-order:5;order:5}.large-order-6{-ms-flex-order:6;order:6}}.flex-container{display:-ms-flexbox;display:flex}.flex-child-auto{-ms-flex:1 1 auto;flex:1 1 auto}.flex-child-grow{-ms-flex:1 0 auto;flex:1 0 auto}.flex-child-shrink{-ms-flex:0 1 auto;flex:0 1 auto}.flex-dir-row{-ms-flex-direction:row;flex-direction:row}.flex-dir-row-reverse{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-dir-column{-ms-flex-direction:column;flex-direction:column}.flex-dir-column-reverse{-ms-flex-direction:column-reverse;flex-direction:column-reverse}@media print, screen and (min-width: 40em){.medium-flex-container{display:-ms-flexbox;display:flex}.medium-flex-child-auto{-ms-flex:1 1 auto;flex:1 1 auto}.medium-flex-child-grow{-ms-flex:1 0 auto;flex:1 0 auto}.medium-flex-child-shrink{-ms-flex:0 1 auto;flex:0 1 auto}.medium-flex-dir-row{-ms-flex-direction:row;flex-direction:row}.medium-flex-dir-row-reverse{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.medium-flex-dir-column{-ms-flex-direction:column;flex-direction:column}.medium-flex-dir-column-reverse{-ms-flex-direction:column-reverse;flex-direction:column-reverse}}@media print, screen and (min-width: 64em){.large-flex-container{display:-ms-flexbox;display:flex}.large-flex-child-auto{-ms-flex:1 1 auto;flex:1 1 auto}.large-flex-child-grow{-ms-flex:1 0 auto;flex:1 0 auto}.large-flex-child-shrink{-ms-flex:0 1 auto;flex:0 1 auto}.large-flex-dir-row{-ms-flex-direction:row;flex-direction:row}.large-flex-dir-row-reverse{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.large-flex-dir-column{-ms-flex-direction:column;flex-direction:column}.large-flex-dir-column-reverse{-ms-flex-direction:column-reverse;flex-direction:column-reverse}}.row{max-width:80rem;margin-right:auto;margin-left:auto;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.row .row{margin-right:-1.5rem;margin-left:-1.5rem}@media print, screen and (min-width: 40em){.row .row{margin-right:-1.5rem;margin-left:-1.5rem}}@media print, screen and (min-width: 64em){.row .row{margin-right:-1.5rem;margin-left:-1.5rem}}.row .row.collapse{margin-right:0;margin-left:0}.row.expanded{max-width:none}.row.expanded .row{margin-right:auto;margin-left:auto}.row:not(.expanded) .row{max-width:none}.row.collapse>.column,.row.collapse>.columns{padding-right:0;padding-left:0}.row.is-collapse-child,.row.collapse>.column>.row,.row.collapse>.columns>.row{margin-right:0;margin-left:0}.column,.columns{-ms-flex:1 1 0px;flex:1 1 0px;padding-right:1.5rem;padding-left:1.5rem;min-width:0}.column.row.row,.row.row.columns{float:none;display:block}.row .column.row.row,.row .row.row.columns{margin-right:0;margin-left:0;padding-right:0;padding-left:0}.small-1{-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.small-offset-0{margin-left:0%}.small-2{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.small-offset-1{margin-left:8.33333%}.small-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.small-offset-2{margin-left:16.66667%}.small-4{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.small-offset-3{margin-left:25%}.small-5{-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.small-offset-4{margin-left:33.33333%}.small-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.small-offset-5{margin-left:41.66667%}.small-7{-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.small-offset-6{margin-left:50%}.small-8{-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.small-offset-7{margin-left:58.33333%}.small-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.small-offset-8{margin-left:66.66667%}.small-10{-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.small-offset-9{margin-left:75%}.small-11{-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.small-offset-10{margin-left:83.33333%}.small-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.small-offset-11{margin-left:91.66667%}.small-up-1{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-1>.column,.small-up-1>.columns{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.small-collapse>.column,.small-collapse>.columns{padding-right:0;padding-left:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-right:1.5rem;padding-left:1.5rem}@media print, screen and (min-width: 40em){.medium-1{-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.medium-offset-0{margin-left:0%}.medium-2{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.medium-offset-1{margin-left:8.33333%}.medium-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.medium-offset-2{margin-left:16.66667%}.medium-4{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.medium-offset-3{margin-left:25%}.medium-5{-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.medium-offset-4{margin-left:33.33333%}.medium-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.medium-offset-5{margin-left:41.66667%}.medium-7{-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.medium-offset-6{margin-left:50%}.medium-8{-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.medium-offset-7{margin-left:58.33333%}.medium-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.medium-offset-8{margin-left:66.66667%}.medium-10{-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.medium-offset-9{margin-left:75%}.medium-11{-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.medium-offset-10{margin-left:83.33333%}.medium-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.medium-offset-11{margin-left:91.66667%}.medium-up-1{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-1>.column,.medium-up-1>.columns{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media print, screen and (min-width: 40em) and (min-width: 40em){.medium-expand{-ms-flex:1 1 0px;flex:1 1 0px}}.row.medium-unstack>.column,.row.medium-unstack>.columns{-ms-flex:0 0 100%;flex:0 0 100%}@media print, screen and (min-width: 40em){.row.medium-unstack>.column,.row.medium-unstack>.columns{-ms-flex:1 1 0px;flex:1 1 0px}}@media print, screen and (min-width: 40em){.medium-collapse>.column,.medium-collapse>.columns{padding-right:0;padding-left:0}.medium-uncollapse>.column,.medium-uncollapse>.columns{padding-right:1.5rem;padding-left:1.5rem}}@media print, screen and (min-width: 64em){.large-1{-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.large-offset-0{margin-left:0%}.large-2{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.large-offset-1{margin-left:8.33333%}.large-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.large-offset-2{margin-left:16.66667%}.large-4{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.large-offset-3{margin-left:25%}.large-5{-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.large-offset-4{margin-left:33.33333%}.large-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.large-offset-5{margin-left:41.66667%}.large-7{-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.large-offset-6{margin-left:50%}.large-8{-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.large-offset-7{margin-left:58.33333%}.large-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.large-offset-8{margin-left:66.66667%}.large-10{-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.large-offset-9{margin-left:75%}.large-11{-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.large-offset-10{margin-left:83.33333%}.large-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.large-offset-11{margin-left:91.66667%}.large-up-1{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-1>.column,.large-up-1>.columns{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media print, screen and (min-width: 64em) and (min-width: 64em){.large-expand{-ms-flex:1 1 0px;flex:1 1 0px}}.row.large-unstack>.column,.row.large-unstack>.columns{-ms-flex:0 0 100%;flex:0 0 100%}@media print, screen and (min-width: 64em){.row.large-unstack>.column,.row.large-unstack>.columns{-ms-flex:1 1 0px;flex:1 1 0px}}@media print, screen and (min-width: 64em){.large-collapse>.column,.large-collapse>.columns{padding-right:0;padding-left:0}.large-uncollapse>.column,.large-uncollapse>.columns{padding-right:1.5rem;padding-left:1.5rem}}.shrink{-ms-flex:0 0 auto;flex:0 0 auto;max-width:100%}.column-block{margin-bottom:3rem}.column-block>:last-child{margin-bottom:0}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}p{margin-bottom:1rem;font-size:inherit;line-height:1.6;text-rendering:optimizeLegibility}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:80%;line-height:inherit}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:"Helvetica Neue",sans-serif;font-style:normal;font-weight:500;color:inherit;text-rendering:optimizeLegibility}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small{line-height:0;color:#999}h1,.h1{font-size:1.875rem;line-height:1.2;margin-top:0;margin-bottom:1rem}h2,.h2{font-size:1.5rem;line-height:1.2;margin-top:0;margin-bottom:1rem}h3,.h3{font-size:1.25rem;line-height:1.2;margin-top:0;margin-bottom:1rem}h4,.h4{font-size:1.125rem;line-height:1.2;margin-top:0;margin-bottom:1rem}h5,.h5{font-size:1rem;line-height:1.2;margin-top:0;margin-bottom:1rem}h6,.h6{font-size:1rem;line-height:1.2;margin-top:0;margin-bottom:1rem}@media print, screen and (min-width: 40em){h1,.h1{font-size:2.25rem}h2,.h2{font-size:1.875rem}h3,.h3{font-size:1.5rem}h4,.h4{font-size:1.25rem}h5,.h5{font-size:1.125rem}h6,.h6{font-size:1rem}}a{line-height:inherit;color:#279B48;text-decoration:none;cursor:pointer}a:hover,a:focus{color:#22853e}a img{border:0}hr{clear:both;max-width:80rem;height:0;margin:2rem auto;border-top:0;border-right:0;border-bottom:2px solid #eee;border-left:0}ul,ol,dl{margin-bottom:1rem;list-style-position:outside;line-height:1.6}li{font-size:inherit}ul{margin-left:1.25rem;list-style-type:disc}ol{margin-left:1.25rem}ul ul,ol ul,ul ol,ol ol{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:bold}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #999}blockquote,blockquote p{line-height:1.6;color:#555}cite{display:block;font-size:.8125rem;color:#555}cite:before{content:"— "}abbr,abbr[title]{border-bottom:1px dotted #000;cursor:help;text-decoration:none}figure{margin:0}code{padding:.125rem .3125rem .0625rem;border:1px solid #999;background-color:#eee;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#000}kbd{margin:0;padding:.125rem .25rem 0;background-color:#eee;font-family:Consolas,"Liberation Mono",Courier,monospace;color:#000;border-radius:.25em}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:normal;line-height:1.4;color:#555}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}ul.no-bullet,ol.no-bullet{margin-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media print, screen and (min-width: 40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media print, screen and (min-width: 64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none !important}@media print{*{background:transparent !important;box-shadow:none !important;color:black !important;text-shadow:none !important}.show-for-print{display:block !important}.hide-for-print{display:none !important}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^='javascript:']:after,a[href^='#']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}pre,blockquote{border:1px solid #555;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}[type='text'],[type='password'],[type='date'],[type='datetime'],[type='datetime-local'],[type='month'],[type='week'],[type='email'],[type='number'],[type='search'],[type='tel'],[type='time'],[type='url'],[type='color'],textarea{display:block;box-sizing:border-box;width:100%;height:2.9375rem;margin:0 0 1.5rem;padding:.75rem;border:0.125em solid #eee;border-radius:.25em;background-color:#fff;box-shadow:none;font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.5;color:#000;transition:0.3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}[type='text']:focus,[type='password']:focus,[type='date']:focus,[type='datetime']:focus,[type='datetime-local']:focus,[type='month']:focus,[type='week']:focus,[type='email']:focus,[type='number']:focus,[type='search']:focus,[type='tel']:focus,[type='time']:focus,[type='url']:focus,[type='color']:focus,textarea:focus{outline:none;border:0.125em solid #279B48;background-color:#fff;box-shadow:none;transition:0.3s ease}textarea{max-width:100%}textarea[rows]{height:auto}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::placeholder,textarea::placeholder{color:#999}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#eee;cursor:not-allowed}[type='submit'],[type='button']{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25em}input[type='search']{box-sizing:border-box}[type='file'],[type='checkbox'],[type='radio']{margin:0 0 1.5rem}[type='checkbox']+label,[type='radio']+label{display:inline-block;vertical-align:baseline;margin-left:.75rem;margin-right:1.5rem;margin-bottom:0}[type='checkbox']+label[for],[type='radio']+label[for]{cursor:pointer}label>[type='checkbox'],label>[type='radio']{margin-right:.75rem}[type='file']{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:normal;line-height:1.8;color:#000}label.middle{margin:0 0 1.5rem;padding:.875rem 0}.help-text{margin-top:-.75rem;font-size:.8125rem;font-style:italic;color:#000}.input-group{display:-ms-flexbox;display:flex;width:100%;margin-bottom:1.5rem;-ms-flex-align:stretch;align-items:stretch}.input-group>:first-child{border-radius:.25em 0 0 .25em}.input-group>:last-child>*{border-radius:0 .25em .25em 0}.input-group-label,.input-group-field,.input-group-button,.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{margin:0;white-space:nowrap}.input-group-label{padding:0 1rem;border:1px solid #999;background:#eee;color:#000;text-align:center;white-space:nowrap;display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-align:center;align-items:center}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;-ms-flex:1 1 0px;flex:1 1 0px;height:auto;min-width:0}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto}.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{height:auto;-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch;padding-top:0;padding-bottom:0;font-size:1rem}fieldset{margin:0;padding:0;border:0}legend{max-width:100%;margin-bottom:.75rem}.fieldset{margin:1.125rem 0;padding:1.25rem;border:1px solid #999}.fieldset legend{margin:0;margin-left:-.1875rem;padding:0 .1875rem}select{height:2.9375rem;margin:0 0 1.5rem;padding:.75rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0.125em solid #eee;border-radius:.25em;background-color:#fff;font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.5;color:#000;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2885, 85, 85%29'></polygon></svg>");background-origin:content-box;background-position:right -1.5rem center;background-repeat:no-repeat;background-size:9px 6px;padding-right:2.25rem;transition:0.3s ease}@media screen and (min-width: 0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:focus{outline:none;border:0.125em solid #279B48;background-color:#fff;box-shadow:none;transition:0.3s ease}select:disabled{background-color:#eee;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}.is-invalid-input:not(:focus){border-color:#ec5840;background-color:#fdeeec}.is-invalid-input:not(:focus):-ms-input-placeholder{color:#ec5840}.is-invalid-input:not(:focus)::placeholder{color:#ec5840}.is-invalid-label{color:#ec5840}.form-error{display:none;margin-top:-.75rem;margin-bottom:1.5rem;font-size:.75rem;font-weight:bold;color:#ec5840}.form-error.is-visible{display:block}.button{display:inline-block;vertical-align:middle;margin:0;font-family:inherit;padding:1em 1.5em;-webkit-appearance:none;border:1px solid transparent;border-radius:.25em;transition:background-color 0.25s ease-out,color 0.25s ease-out;font-size:1rem;line-height:1;text-align:center;cursor:pointer;background-color:#279B48;color:#fff}[data-whatinput='mouse'] .button{outline:0}.button:hover,.button:focus{background-color:#21843d;color:#fff}.button.small{font-size:.75rem}.button.large{font-size:1.125rem}.button.expanded{display:block;width:100%;margin-right:0;margin-left:0}.button.primary{background-color:#279B48;color:#000}.button.primary:hover,.button.primary:focus{background-color:#1f7c3a;color:#000}.button.secondary{background-color:#076;color:#fff}.button.secondary:hover,.button.secondary:focus{background-color:#005f52;color:#fff}.button.success{background-color:#3adb76;color:#000}.button.success:hover,.button.success:focus{background-color:#22bb5b;color:#000}.button.warning{background-color:#ffae00;color:#000}.button.warning:hover,.button.warning:focus{background-color:#cc8b00;color:#000}.button.alert{background-color:#ec5840;color:#000}.button.alert:hover,.button.alert:focus{background-color:#da3116;color:#000}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.disabled,.button.disabled:hover,.button.disabled:focus,.button[disabled],.button[disabled]:hover,.button[disabled]:focus{background-color:#279B48;color:#fff}.button.disabled.primary,.button[disabled].primary{opacity:.25;cursor:not-allowed}.button.disabled.primary,.button.disabled.primary:hover,.button.disabled.primary:focus,.button[disabled].primary,.button[disabled].primary:hover,.button[disabled].primary:focus{background-color:#279B48;color:#000}.button.disabled.secondary,.button[disabled].secondary{opacity:.25;cursor:not-allowed}.button.disabled.secondary,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#076;color:#fff}.button.disabled.success,.button[disabled].success{opacity:.25;cursor:not-allowed}.button.disabled.success,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#3adb76;color:#000}.button.disabled.warning,.button[disabled].warning{opacity:.25;cursor:not-allowed}.button.disabled.warning,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#ffae00;color:#000}.button.disabled.alert,.button[disabled].alert{opacity:.25;cursor:not-allowed}.button.disabled.alert,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#ec5840;color:#000}.button.hollow{border:1px solid #279B48;color:#279B48}.button.hollow,.button.hollow:hover,.button.hollow:focus{background-color:transparent}.button.hollow.disabled,.button.hollow.disabled:hover,.button.hollow.disabled:focus,.button.hollow[disabled],.button.hollow[disabled]:hover,.button.hollow[disabled]:focus{background-color:transparent}.button.hollow:hover,.button.hollow:focus{border-color:#144e24;color:#144e24}.button.hollow:hover.disabled,.button.hollow:hover[disabled],.button.hollow:focus.disabled,.button.hollow:focus[disabled]{border:1px solid #279B48;color:#279B48}.button.hollow.primary{border:1px solid #279B48;color:#279B48}.button.hollow.primary:hover,.button.hollow.primary:focus{border-color:#144e24;color:#144e24}.button.hollow.primary:hover.disabled,.button.hollow.primary:hover[disabled],.button.hollow.primary:focus.disabled,.button.hollow.primary:focus[disabled]{border:1px solid #279B48;color:#279B48}.button.hollow.secondary{border:1px solid #076;color:#076}.button.hollow.secondary:hover,.button.hollow.secondary:focus{border-color:#003c33;color:#003c33}.button.hollow.secondary:hover.disabled,.button.hollow.secondary:hover[disabled],.button.hollow.secondary:focus.disabled,.button.hollow.secondary:focus[disabled]{border:1px solid #076;color:#076}.button.hollow.success{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:hover,.button.hollow.success:focus{border-color:#157539;color:#157539}.button.hollow.success:hover.disabled,.button.hollow.success:hover[disabled],.button.hollow.success:focus.disabled,.button.hollow.success:focus[disabled]{border:1px solid #3adb76;color:#3adb76}.button.hollow.warning{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:hover,.button.hollow.warning:focus{border-color:#805700;color:#805700}.button.hollow.warning:hover.disabled,.button.hollow.warning:hover[disabled],.button.hollow.warning:focus.disabled,.button.hollow.warning:focus[disabled]{border:1px solid #ffae00;color:#ffae00}.button.hollow.alert{border:1px solid #ec5840;color:#ec5840}.button.hollow.alert:hover,.button.hollow.alert:focus{border-color:#881f0e;color:#881f0e}.button.hollow.alert:hover.disabled,.button.hollow.alert:hover[disabled],.button.hollow.alert:focus.disabled,.button.hollow.alert:focus[disabled]{border:1px solid #ec5840;color:#ec5840}.button.clear{border:1px solid #279B48;color:#279B48}.button.clear,.button.clear:hover,.button.clear:focus{background-color:transparent}.button.clear.disabled,.button.clear.disabled:hover,.button.clear.disabled:focus,.button.clear[disabled],.button.clear[disabled]:hover,.button.clear[disabled]:focus{background-color:transparent}.button.clear:hover,.button.clear:focus{border-color:#144e24;color:#144e24}.button.clear:hover.disabled,.button.clear:hover[disabled],.button.clear:focus.disabled,.button.clear:focus[disabled]{border:1px solid #279B48;color:#279B48}.button.clear,.button.clear.disabled,.button.clear[disabled],.button.clear:hover,.button.clear:hover.disabled,.button.clear:hover[disabled],.button.clear:focus,.button.clear:focus.disabled,.button.clear:focus[disabled]{border-color:transparent}.button.clear.primary{border:1px solid #279B48;color:#279B48}.button.clear.primary:hover,.button.clear.primary:focus{border-color:#144e24;color:#144e24}.button.clear.primary:hover.disabled,.button.clear.primary:hover[disabled],.button.clear.primary:focus.disabled,.button.clear.primary:focus[disabled]{border:1px solid #279B48;color:#279B48}.button.clear.primary,.button.clear.primary.disabled,.button.clear.primary[disabled],.button.clear.primary:hover,.button.clear.primary:hover.disabled,.button.clear.primary:hover[disabled],.button.clear.primary:focus,.button.clear.primary:focus.disabled,.button.clear.primary:focus[disabled]{border-color:transparent}.button.clear.secondary{border:1px solid #076;color:#076}.button.clear.secondary:hover,.button.clear.secondary:focus{border-color:#003c33;color:#003c33}.button.clear.secondary:hover.disabled,.button.clear.secondary:hover[disabled],.button.clear.secondary:focus.disabled,.button.clear.secondary:focus[disabled]{border:1px solid #076;color:#076}.button.clear.secondary,.button.clear.secondary.disabled,.button.clear.secondary[disabled],.button.clear.secondary:hover,.button.clear.secondary:hover.disabled,.button.clear.secondary:hover[disabled],.button.clear.secondary:focus,.button.clear.secondary:focus.disabled,.button.clear.secondary:focus[disabled]{border-color:transparent}.button.clear.success{border:1px solid #3adb76;color:#3adb76}.button.clear.success:hover,.button.clear.success:focus{border-color:#157539;color:#157539}.button.clear.success:hover.disabled,.button.clear.success:hover[disabled],.button.clear.success:focus.disabled,.button.clear.success:focus[disabled]{border:1px solid #3adb76;color:#3adb76}.button.clear.success,.button.clear.success.disabled,.button.clear.success[disabled],.button.clear.success:hover,.button.clear.success:hover.disabled,.button.clear.success:hover[disabled],.button.clear.success:focus,.button.clear.success:focus.disabled,.button.clear.success:focus[disabled]{border-color:transparent}.button.clear.warning{border:1px solid #ffae00;color:#ffae00}.button.clear.warning:hover,.button.clear.warning:focus{border-color:#805700;color:#805700}.button.clear.warning:hover.disabled,.button.clear.warning:hover[disabled],.button.clear.warning:focus.disabled,.button.clear.warning:focus[disabled]{border:1px solid #ffae00;color:#ffae00}.button.clear.warning,.button.clear.warning.disabled,.button.clear.warning[disabled],.button.clear.warning:hover,.button.clear.warning:hover.disabled,.button.clear.warning:hover[disabled],.button.clear.warning:focus,.button.clear.warning:focus.disabled,.button.clear.warning:focus[disabled]{border-color:transparent}.button.clear.alert{border:1px solid #ec5840;color:#ec5840}.button.clear.alert:hover,.button.clear.alert:focus{border-color:#881f0e;color:#881f0e}.button.clear.alert:hover.disabled,.button.clear.alert:hover[disabled],.button.clear.alert:focus.disabled,.button.clear.alert:focus[disabled]{border:1px solid #ec5840;color:#ec5840}.button.clear.alert,.button.clear.alert.disabled,.button.clear.alert[disabled],.button.clear.alert:hover,.button.clear.alert:hover.disabled,.button.clear.alert:hover[disabled],.button.clear.alert:focus,.button.clear.alert:focus.disabled,.button.clear.alert:focus[disabled]{border-color:transparent}.button.dropdown::after{display:block;width:0;height:0;border:inset .4em;content:'';border-bottom-width:0;border-top-style:solid;border-color:#fff transparent transparent;position:relative;top:0.4em;display:inline-block;float:right;margin-left:1.5em}.button.dropdown.hollow::after{border-top-color:#279B48}.button.dropdown.hollow.primary::after{border-top-color:#279B48}.button.dropdown.hollow.secondary::after{border-top-color:#076}.button.dropdown.hollow.success::after{border-top-color:#3adb76}.button.dropdown.hollow.warning::after{border-top-color:#ffae00}.button.dropdown.hollow.alert::after{border-top-color:#ec5840}.button.arrow-only::after{top:-0.1em;float:none;margin-left:0}a.button:hover,a.button:focus{text-decoration:none}.button-group{margin-bottom:1rem;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-align:stretch;align-items:stretch}.button-group::before,.button-group::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-order:1;order:1}.button-group::after{clear:both}.button-group .button{margin:0;margin-right:1px;margin-bottom:1px;font-size:1rem;-ms-flex:0 0 auto;flex:0 0 auto}.button-group .button:last-child{margin-right:0}.button-group.small .button{font-size:.75rem}.button-group.large .button{font-size:1.125rem}.button-group.expanded .button{-ms-flex:1 1 0px;flex:1 1 0px}.button-group.primary .button{background-color:#279B48;color:#000}.button-group.primary .button:hover,.button-group.primary .button:focus{background-color:#1f7c3a;color:#000}.button-group.secondary .button{background-color:#076;color:#fff}.button-group.secondary .button:hover,.button-group.secondary .button:focus{background-color:#005f52;color:#fff}.button-group.success .button{background-color:#3adb76;color:#000}.button-group.success .button:hover,.button-group.success .button:focus{background-color:#22bb5b;color:#000}.button-group.warning .button{background-color:#ffae00;color:#000}.button-group.warning .button:hover,.button-group.warning .button:focus{background-color:#cc8b00;color:#000}.button-group.alert .button{background-color:#ec5840;color:#000}.button-group.alert .button:hover,.button-group.alert .button:focus{background-color:#da3116;color:#000}.button-group.stacked,.button-group.stacked-for-small,.button-group.stacked-for-medium{-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group.stacked .button,.button-group.stacked-for-small .button,.button-group.stacked-for-medium .button{-ms-flex:0 0 100%;flex:0 0 100%}.button-group.stacked .button:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked-for-medium .button:last-child{margin-bottom:0}@media print, screen and (min-width: 40em){.button-group.stacked-for-small .button{-ms-flex:1 1 0px;flex:1 1 0px;margin-bottom:0}}@media print, screen and (min-width: 64em){.button-group.stacked-for-medium .button{-ms-flex:1 1 0px;flex:1 1 0px;margin-bottom:0}}@media screen and (max-width: 39.9375em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}.responsive-embed,.flex-video{position:relative;height:0;margin-bottom:1rem;padding-bottom:75%;overflow:hidden}.responsive-embed iframe,.responsive-embed object,.responsive-embed embed,.responsive-embed video,.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%}.responsive-embed.widescreen,.flex-video.widescreen{padding-bottom:56.25%}table{border-collapse:collapse;width:100%;margin-bottom:1rem;border-radius:.25em}table thead,table tbody,table tfoot{border:1px solid #f2f2f2;background-color:#fff}table caption{padding:.5rem .625rem .625rem;font-weight:bold}table thead{background:#f9f9f9;color:#000}table tfoot{background:#f2f2f2;color:#000}table thead tr,table tfoot tr{background:transparent}table thead th,table thead td,table tfoot th,table tfoot td{padding:.5rem .625rem .625rem;font-weight:bold;text-align:left}table tbody th,table tbody td{padding:.5rem .625rem .625rem}table tbody tr:nth-child(even){border-bottom:0;background-color:#f2f2f2}table.unstriped tbody{background-color:#fff}table.unstriped tbody tr{border-bottom:0;border-bottom:1px solid #f2f2f2;background-color:#fff}@media screen and (max-width: 63.9375em){table.stack thead{display:none}table.stack tfoot{display:none}table.stack tr,table.stack th,table.stack td{display:block}table.stack td{border-top:0}}table.scroll{display:block;width:100%;overflow-x:auto}table.hover thead tr:hover{background-color:#f4f4f4}table.hover tfoot tr:hover{background-color:#ededed}table.hover tbody tr:hover{background-color:#fafafa}table.hover:not(.unstriped) tr:nth-of-type(even):hover{background-color:#ededed}.table-scroll{overflow-x:auto}.table-scroll table{width:auto}.hide{display:none !important}.invisible{visibility:hidden}@media screen and (max-width: 39.9375em){.hide-for-small-only{display:none !important}}@media screen and (max-width: 0em), screen and (min-width: 40em){.show-for-small-only{display:none !important}}@media print, screen and (min-width: 40em){.hide-for-medium{display:none !important}}@media screen and (max-width: 39.9375em){.show-for-medium{display:none !important}}@media screen and (min-width: 40em) and (max-width: 63.9375em){.hide-for-medium-only{display:none !important}}@media screen and (max-width: 39.9375em), screen and (min-width: 64em){.show-for-medium-only{display:none !important}}@media print, screen and (min-width: 64em){.hide-for-large{display:none !important}}@media screen and (max-width: 63.9375em){.show-for-large{display:none !important}}@media screen and (min-width: 64em) and (max-width: 74.9375em){.hide-for-large-only{display:none !important}}@media screen and (max-width: 63.9375em), screen and (min-width: 75em){.show-for-large-only{display:none !important}}.show-for-sr,.show-on-focus{position:absolute !important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}.show-on-focus:active,.show-on-focus:focus{position:static !important;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;-webkit-clip-path:none;clip-path:none}.show-for-landscape,.hide-for-portrait{display:block !important}@media screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:block !important}}@media screen and (orientation: portrait){.show-for-landscape,.hide-for-portrait{display:none !important}}.hide-for-landscape,.show-for-portrait{display:none !important}@media screen and (orientation: landscape){.hide-for-landscape,.show-for-portrait{display:none !important}}@media screen and (orientation: portrait){.hide-for-landscape,.show-for-portrait{display:block !important}}html.is-locked{position:fixed;width:100%;height:100%;overflow:hidden}a{transition:0.3s ease}.system-error-message,.system-message{margin:3rem auto;max-width:80em;padding:0 1.5rem}.menu{margin:0;list-style:none}figure{margin:0}h2{text-transform:uppercase;color:#555;text-align:center;margin:0 0 1em}form{min-width:230px}input{color:grey}fieldset{margin:1.5em 0 2em}.form-checkbox{text-align:right}.form-checkbox label{line-height:0}.form-functions .button{float:right;margin:0}.form-header{text-align:center;text-transform:uppercase}.contact-details,.address-details{background:#eee;margin:2rem 0;padding:2rem 0;text-align:center}.contact-details .contact-header h4,.address-details .contact-header h4{text-transform:uppercase;color:#076;margin-bottom:1rem}.contact-details .contact-tel,.address-details .contact-tel{margin-bottom:1rem}.contact-details .contact-address p,.address-details .contact-address p{margin-bottom:.3rem}.contact-form .contact-details,.contact-form .address-details{text-align:left}[type='file']{margin:0 0 1.5rem}.webform.row{margin:0 -.5rem}.webform .columns{padding:0 .5rem}.system-message{margin:4em auto}@media only screen and (min-width: 751px) and (max-width: 1024px){.form-checkbox{margin:2rem 0 0 0}}@media only screen and (min-width: 641px) and (max-width: 750px){.form-checkbox{margin:2rem 0 0 0}.form-functions .button{margin:2rem 0 0 0}}@media only screen and (max-width: 640px){.form-checkbox{margin:2rem 0 0 0}}.notification{position:fixed;top:2em;right:2em;z-index:999;max-width:18em;font-size:0.8em;background:#eee}.notification .note{padding:1rem;text-align:center}.notification p{margin:0;font-weight:500;line-height:1.2}.notification .note-actions::before,.notification .note-actions::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-order:1;order:1}.notification .note-actions::after{clear:both}.notification button{width:100%;float:left;padding:1em 1.5em;border-radius:0}.notification button:hover{background:#d5d5d5}.product-note .note{padding:0.5em}.product-note img{margin-bottom:0.6em}.product-note .note-actions{border-top:solid 1px #fff}.product-note button{width:50%}.product-note button:first-child{border-right:solid 1px #fff}.selecter{position:relative;display:block;margin:0 0 1.5em;z-index:1;-ms-flex:1;flex:1}.selecter:focus{box-shadow:none;outline:none}.selecter,.selecter *{-webkit-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;user-select:none !important}.selecter,.selecter *,.selecter *:before,.selecter *:after{box-sizing:border-box}.selecter-element{width:100%;height:100%;position:absolute;left:0;opacity:0;z-index:-1}.selecter-element,.selecter-element:focus{outline:none;-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-tap-highlight-color:transparent}.no-opacity .selecter-element{left:-999999px}.selecter-selected{position:relative;background:#ffffff;border:1px solid #cccccc;color:#222222;cursor:pointer;display:block;font-size:1rem;overflow:hidden;padding:13px 15px;text-overflow:clip;z-index:2;border-radius:3px}.selecter-selected:after{height:0;width:0;position:absolute;top:0;right:15px;bottom:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #cccccc;content:'';display:block;margin:auto 0}.no-touch .selecter-selected:hover{color:#333333}.no-touch .selecter.disabled .selecter-selected:hover{color:#cccccc}.selecter-options{width:100%;max-height:260px;position:absolute;top:100%;left:0;border:1px solid #cccccc;border-width:0 1px 1px;background-color:#ffffff;display:none;margin:0;overflow:auto;overflow-x:hidden;padding:0;z-index:50;border-radius:0 0 3px 3px;box-shadow:0 1px 4px rgba(0,0,0,0.15)}.selecter-options.scroller{position:absolute}.no-opacity .selecter-options{width:auto}.selecter-group{border-bottom:1px solid #cccccc;color:#999999;display:block;font-size:.9rem;padding:10px 15px;text-transform:uppercase}.selecter-item{width:100%;background:#ffffff;border-bottom:1px solid #cccccc;color:#222222;cursor:pointer;display:block;font-size:1rem;margin:0;overflow:hidden;padding:13px 15px;text-decoration:none;text-overflow:ellipsis}.selecter-item.placeholder{display:none}.selecter-item.selected{background:#eeeeee}.selecter-item.disabled{color:#999999;cursor:default}.selecter-item:first-child{border-radius:0}.selecter-item:last-child{border-bottom:0;border-radius:0 0 2px 2px}.no-touch .selecter-item:hover,.no-touch .selecter-item.selected:hover{color:#333333;background-color:#cccccc}.selecter-item.disabled,.no-touch .selecter-item.disabled:hover{color:#cccccc;background-color:#ffffff}.selecter.open{z-index:3}.selecter.open .selecter-selected{z-index:51;border-radius:3px 3px 0 0}.selecter.open .selecter-selected,.selecter.focus .selecter-selected{background-color:#ffffff;box-shadow:0 0 5px rgba(0,0,0,0.1)}.selecter.cover .selecter-options{border-width:1px;top:0;border-radius:3px}.selecter.cover .selecter-options .selecter-item.first{border-radius:3px 3px 0 0}.selecter.cover.open .selecter-selected{z-index:49;border-radius:3px 3px 0 0}.selecter.bottom .selecter-options{top:auto;bottom:100%;border-width:1px 1px 0}.selecter.bottom .selecter-item:last-child{border:none}.selecter.bottom.open .selecter-selected{border-radius:0 0 3px 3px}.selecter.bottom.open .selecter-options{border-radius:3px 3px 0 0}.selecter.bottom .cover .selecter-options{top:auto;bottom:0}.selecter.bottom .cover.open .selecter-selected{border-radius:3px}.selecter.bottom .cover.open .selecter-options{border-radius:3px}.selecter.multiple .selecter-options{width:100%;position:static;border-width:1px;display:block;border-radius:3px;box-shadow:none}.selecter.disabled .selecter-selected{background:#ffffff;border-color:#cccccc;color:#cccccc;cursor:default}.selecter.disabled .selecter-options{background:#ffffff;border-color:#cccccc}.selecter.disabled .selecter-group,.selecter.disabled .selecter-item{border-color:#cccccc;color:#cccccc;cursor:default}.selecter.disabled .selecter-item.selected,.no-touch .selecter.disabled .selecter-item.selected:hover{background:#fafafa}.selecter.disabled .selecter-item,.no-touch .selecter.disabled .selecter-item:hover{color:#cccccc;background-color:#ffffff}.selecter-options.scroller{overflow:hidden}.selecter-options.scroller .scroller-content{max-height:260px;padding:0}#header{padding:0 1.5em 1.5em;text-align:center;border-bottom:solid 1px #f0f0f0}@media print, screen and (min-width: 40em){#header{padding:1.5em}}@media print, screen and (min-width: 64em){#header{padding:0 1.5em 1.5em;margin-top:-0.5em}}.site-title{max-width:12em;display:inline-block}.site-title img{min-width:190px;padding:3em 0 0}@media print, screen and (min-width: 40em){.site-title{float:left}}.section{margin:5em 0}.section p:last-child{margin-bottom:0}.section .row.row{margin-left:auto;margin-right:auto}.company-tagline{text-align:center}.company-description{margin:0 0 4em}.homepage-cta{position:relative;display:block;margin:0 auto 4em;text-align:center}.homepage-cta:hover,.homepage-cta:focus{opacity:0.8}.homepage-cta .popover{transform:rotate(12deg);position:absolute;top:0em;right:4em;max-width:7.6em;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:0.25em 0.25em 0.5em rgba(0,0,0,0.6)}@media screen and (max-width: 63.9375em){.homepage-cta .popover{display:none}}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(0,119,102,0.4)}70%{box-shadow:0 0 0 0.75em rgba(0,119,102,0)}100%{box-shadow:0 0 0 0 rgba(0,119,102,0)}}#user-nav{text-align:center;padding:2em 0}@media print, screen and (min-width: 40em){#user-nav{float:right;padding:2em 0 0 1.5em;text-align:right}}#user-nav li{display:inline;margin:0 0.75em}@media print, screen and (min-width: 40em){#user-nav li{margin:0 0 0 1.5em}}#user-nav li:last-child{display:block;margin:1em 0}@media print, screen and (min-width: 40em){#user-nav li:last-child{display:inline;margin:0 0 0 1.5em}}#user-nav li:last-child a{color:#fff}#user-nav a{display:inline-block;font-size:0.75em;text-transform:uppercase;color:#555}#primary-nav{position:fixed;right:0;bottom:0;left:0;z-index:20}@media screen and (min-width: 70.25em){#primary-nav{position:static;float:right;margin:2em 0 0}}#primary-nav.is-active .menu{transform:translateY(0)}#primary-nav .menu{position:absolute;right:0;bottom:0;left:0;padding:0.5em 0;background:#279B48;transform:translateY(100%);transition:transform 0.3s ease}@media screen and (min-width: 70.25em){#primary-nav .menu{position:static;padding:0;background:none;transform:none !important;transition:none}}@media screen and (min-width: 70.25em){#primary-nav li{display:inline;margin-left:1.5em}}@media screen and (min-width: 75em){#primary-nav li{margin-left:2em}}#primary-nav li.is-active a::before{width:100%}#primary-nav a{display:block;text-align:center;text-transform:uppercase;line-height:3;color:#fff}@media screen and (min-width: 70.25em){#primary-nav a{position:relative;display:inline-block;font-size:0.875em;text-align:left;line-height:1;color:#555}}#primary-nav a:hover::before{width:100%;transition-delay:0s}#primary-nav a::before{content:"";position:absolute;bottom:-2.2em;left:0;width:0;height:0.25em;pointer-events:none;background:#279B48;transition:0.3s ease 0.2s}.toggle-nav{position:absolute;right:0.5em;bottom:0.5em;z-index:30;padding:1em;background:#279B48}@media screen and (min-width: 70.25em){.toggle-nav{display:none !important}}.toggle-nav.is-active .hamburger{background:none}.toggle-nav.is-active .hamburger::before{top:0;transform:rotate(-45deg)}.toggle-nav.is-active .hamburger::after{bottom:0;transform:rotate(45deg)}.hamburger{position:relative;width:1.5em;height:0.25em;margin:0.5em 0;color:#fff;background:currentColor;transition:0.3s ease}.hamburger::before,.hamburger::after{content:"";position:absolute;left:0;width:1.5em;height:0.25em;background:currentColor;transition:0.3s ease}.hamburger::before{top:-0.5em}.hamburger::after{bottom:-0.5em}.social-nav{margin-top:1em;overflow:hidden}.social-nav li{display:inline-block;margin-right:1em}.social-nav a{width:1.5rem;height:1.5rem;display:block;text-indent:-999em;background-size:1.5rem}.social-nav a:hover,.social-nav a:focus{opacity:0.5}.social-nav [href*="facebook.com"]{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iRmFjZWJvb2siIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwIDIwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNMTcsMUgzQzEuOSwxLDEsMS45LDEsM3YxNGMwLDEuMTAxLDAuOSwyLDIsMmg3di03SDhWOS41MjVoMlY3LjQ3NWMwLTIuMTY0LDEuMjEyLTMuNjg0LDMuNzY2LTMuNjg0bDEuODAzLDAuMDAydjIuNjA1aC0xLjE5N0MxMy4zNzgsNi4zOTgsMTMsNy4xNDQsMTMsNy44MzZ2MS42OWgyLjU2OEwxNSwxMmgtMnY3aDRjMS4xLDAsMi0wLjg5OSwyLTJWM0MxOSwxLjksMTguMSwxLDE3LDF6Ii8+PC9zdmc+)}.social-nav [href*="twitter.com"]{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iVHdpdHRlciIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjAgMjAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIGQ9Ik0xNy4zMTYsNi4yNDZjMC4wMDgsMC4xNjIsMC4wMTEsMC4zMjYsMC4wMTEsMC40ODhjMCw0Ljk5LTMuNzk3LDEwLjc0Mi0xMC43NCwxMC43NDJjLTIuMTMzLDAtNC4xMTYtMC42MjUtNS43ODctMS42OTdjMC4yOTYsMC4wMzUsMC41OTYsMC4wNTMsMC45LDAuMDUzYzEuNzcsMCwzLjM5Ny0wLjYwNCw0LjY4OC0xLjYxNWMtMS42NTEtMC4wMzEtMy4wNDYtMS4xMjEtMy41MjYtMi42MjFjMC4yMywwLjA0MywwLjQ2NywwLjA2NiwwLjcxLDAuMDY2YzAuMzQ1LDAsMC42NzktMC4wNDUsMC45OTUtMC4xMzFjLTEuNzI3LTAuMzQ4LTMuMDI4LTEuODczLTMuMDI4LTMuNzAzYzAtMC4wMTYsMC0wLjAzMSwwLTAuMDQ3YzAuNTA5LDAuMjgzLDEuMDkyLDAuNDUzLDEuNzEsMC40NzNjLTEuMDEzLTAuNjc4LTEuNjgtMS44MzItMS42OC0zLjE0M2MwLTAuNjkxLDAuMTg2LTEuMzQsMC41MTItMS44OThDMy45NDIsNS40OTgsNi43MjUsNyw5Ljg2Miw3LjE1OEM5Ljc5OCw2Ljg4MSw5Ljc2NSw2LjU5NCw5Ljc2NSw2LjI5N2MwLTIuMDg0LDEuNjg5LTMuNzczLDMuNzc0LTMuNzczYzEuMDg2LDAsMi4wNjcsMC40NTcsMi43NTYsMS4xOTFjMC44NTktMC4xNywxLjY2Ny0wLjQ4NCwyLjM5Ny0wLjkxNmMtMC4yODIsMC44ODEtMC44ODEsMS42MjEtMS42NiwyLjA4OGMwLjc2NC0wLjA5MiwxLjQ5LTAuMjkzLDIuMTY4LTAuNTk0QzE4LjY5NCw1LjA1MSwxOC4wNTQsNS43MTUsMTcuMzE2LDYuMjQ2eiIvPjwvc3ZnPg==)}.social-nav [href*="instagram.com"]{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iSW5zdGFncmFtIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PHRpdGxlPmluc3RhZ3JhbTwvdGl0bGU+PHBhdGggZD0iTTE4Ljk0NTg2LDYuMjg5MzFhNi42MDU2MSw2LjYwNTYxLDAsMCwwLS40MTgzMy0yLjE4NDYzLDQuNDExODksNC40MTE4OSwwLDAsMC0xLjAzODA5LTEuNTk0MTIsNC40MTE4OSw0LjQxMTg5LDAsMCwwLTEuNTk0MTItMS4wMzgwOSw2LjYwNTYxLDYuNjA1NjEsMCwwLDAtMi4xODQ2My0uNDE4MzNDMTIuNzUwNzMsMS4wMTAzOCwxMi40NDQyNywxLDEwLDFzLTIuNzUwNzMuMDEwMzgtMy43MTA2OSwwLjA1NDE0YTYuNjA1NjEsNi42MDU2MSwwLDAsMC0yLjE4NDYzLjQxODMzQTQuNDExODksNC40MTE4OSwwLDAsMCwyLjUxMDU2LDIuNTEwNTYsNC40MTE4OSw0LjQxMTg5LDAsMCwwLDEuNDcyNDcsNC4xMDQ2OGE2LjYwNTYxLDYuNjA1NjEsMCwwLDAtLjQxODMzLDIuMTg0NjNDMS4wMTAzOCw3LjI0OTI3LDEsNy41NTU3MywxLDEwczAuMDEwMzgsMi43NTA3My4wNTQxNCwzLjcxMDY5YTYuNjA1NjEsNi42MDU2MSwwLDAsMCwuNDE4MzMsMi4xODQ2Myw0LjQxMTg5LDQuNDExODksMCwwLDAsMS4wMzgwOSwxLjU5NDEyLDQuNDExMDksNC40MTEwOSwwLDAsMCwxLjU5NDEyLDEuMDM4MDksNi42MDU2MSw2LjYwNTYxLDAsMCwwLDIuMTg0NjMuNDE4MzNDNy4yNDkyNywxOC45ODk2OSw3LjU1NTczLDE5LDEwLDE5czIuNzUwNzMtLjAxMDMxLDMuNzEwNjktMC4wNTQxNGE2LjYwNTYxLDYuNjA1NjEsMCwwLDAsMi4xODQ2My0uNDE4MzMsNC42MDIwOCw0LjYwMjA4LDAsMCwwLDIuNjMyMi0yLjYzMjIsNi42MDU2MSw2LjYwNTYxLDAsMCwwLC40MTgzMy0yLjE4NDYzQzE4Ljk4OTYyLDEyLjc1MDczLDE5LDEyLjQ0NDI3LDE5LDEwUzE4Ljk4OTYyLDcuMjQ5MjcsMTguOTQ1ODYsNi4yODkzMVptLTEuNjE5OTMsNy4zNDc0N2E0Ljk3ODI0LDQuOTc4MjQsMCwwLDEtLjMwOTk0LDEuNjcxMTRBMi45ODAxNywyLjk4MDE3LDAsMCwxLDE1LjMwNzkyLDE3LjAxNmE0Ljk3ODYsNC45Nzg2LDAsMCwxLTEuNjcxMTQuMzA5OTRDMTIuNjg3ODcsMTcuMzY5MiwxMi40MDMyNiwxNy4zNzgzNiwxMCwxNy4zNzgzNnMtMi42ODc4Ny0uMDA5MTYtMy42MzY3OC0wLjA1MjQzQTQuOTc4Niw0Ljk3ODYsMCwwLDEsNC42OTIwOCwxNy4wMTZhMi43ODc2OSwyLjc4NzY5LDAsMCwxLTEuMDM0ODUtLjY3MzIyQTIuNzg3NjksMi43ODc2OSwwLDAsMSwyLjk4NCwxNS4zMDc5MmE0Ljk3ODI0LDQuOTc4MjQsMCwwLDEtLjMwOTk0LTEuNjcxMTRDMi42MzA4LDEyLjY4Nzc0LDIuNjIxNjQsMTIuNDAzMTQsMi42MjE2NCwxMHMwLjAwOTE2LTIuNjg3NzQuMDUyNDMtMy42MzY3OEE0Ljk3ODYsNC45Nzg2LDAsMCwxLDIuOTg0LDQuNjkyMDhhMi43ODc2OSwyLjc4NzY5LDAsMCwxLC42NzMyMi0xLjAzNDg1QTIuNzg3NjksMi43ODc2OSwwLDAsMSw0LjY5MjA4LDIuOTg0YTQuOTc4Niw0Ljk3ODYsMCwwLDEsMS42NzExNC0uMzA5OTRDNy4zMTIyNiwyLjYzMDgsNy41OTY4NiwyLjYyMTY0LDEwLDIuNjIxNjRzMi42ODc3NCwwLjAwOTE2LDMuNjM2NzguMDUyNDNhNC45Nzg2LDQuOTc4NiwwLDAsMSwxLjY3MTE0LjMwOTk0LDIuNzg3NjksMi43ODc2OSwwLDAsMSwxLjAzNDg1LjY3MzIyQTIuNzg3NjksMi43ODc2OSwwLDAsMSwxNy4wMTYsNC42OTIwOGE0Ljk3ODYsNC45Nzg2LDAsMCwxLC4zMDk5NCwxLjY3MTE0YzAuMDQzMjcsMC45NDkuMDUyNDMsMS4yMzM3LDAuMDUyNDMsMy42MzY3OFMxNy4zNjkyLDEyLjY4Nzc0LDE3LjMyNTkzLDEzLjYzNjc4Wk0xMCw1LjM3ODM2QTQuNjIxNjQsNC42MjE2NCwwLDEsMCwxNC42MjE2NCwxMCw0LjYyMTY5LDQuNjIxNjksMCwwLDAsMTAsNS4zNzgzNlpNMTAsMTNhMywzLDAsMSwxLDMtM0EzLDMsMCwwLDEsMTAsMTNabTUuODg0MjItNy44MDQyYTEuMDgsMS4wOCwwLDEsMS0xLjA4LTEuMDhBMS4wOCwxLjA4LDAsMCwxLDE1Ljg4NDIyLDUuMTk1OFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xIC0xKSIvPjwvc3ZnPg==)}.social-nav [href*="linkedin.com"]{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxpbmtlZEluIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyMCAyMCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTUsM2MwLDEuMS0wLjcsMi0yLDJDMS44LDUsMSw0LjEsMSwzLjFDMSwyLDEuOCwxLDMsMVM1LDEuOSw1LDN6IE0xLDE5aDRWNkgxVjE5eiBNMTQuNiw2LjJjLTIuMSwwLTMuMywxLjItMy44LDJoLTAuMWwtMC4yLTEuN0g2LjlDNi45LDcuNiw3LDguOSw3LDEwLjRWMTloNHYtNy4xYzAtMC40LDAtMC43LDAuMS0xYzAuMy0wLjcsMC44LTEuNiwxLjktMS42YzEuNCwwLDIsMS4yLDIsMi44VjE5aDR2LTcuNEMxOSw3LjksMTcuMSw2LjIsMTQuNiw2LjJ6Ii8+PC9zdmc+)}.social-nav [href*="plus.google.com"]{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iR29vZ2xlX3gyQl8iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwIDIwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNMS45ODksNS41ODljMCwxLjQ5NCwwLjQ5OSwyLjU3MiwxLjQ4MiwzLjIwNWMwLjgwNiwwLjUyLDEuNzQsMC41OTgsMi4yMjYsMC41OThjMC4xMTgsMCwwLjIxMy0wLjAwNiwwLjI3OS0wLjAxYzAsMC0wLjE1NCwxLjAwNCwwLjU5LDEuOTk2SDYuNTMyYy0xLjI4OSwwLTUuNDkzLDAuMjY5LTUuNDkzLDMuNzI3YzAsMy41MTYsMy44NjEsMy42OTUsNC42MzYsMy42OTVjMC4wNjEsMCwwLjA5Ny0wLjAwMiwwLjA5Ny0wLjAwMmMwLjAwOCwwLDAuMDYzLDAuMDAyLDAuMTU4LDAuMDAyYzAuNDk3LDAsMS43ODItMC4wNjIsMi45NzUtMC42NDNjMS41NDgtMC43NSwyLjMzMy0yLjA1OSwyLjMzMy0zLjg4NWMwLTEuNzY0LTEuMTk2LTIuODE0LTIuMDY5LTMuNTgyYy0wLjUzMy0wLjQ2OS0wLjk5NC0wLjg3My0wLjk5NC0xLjI2NmMwLTAuNCwwLjMzNy0wLjcwMSwwLjc2Mi0xLjA4MmMwLjY4OS0wLjYxNSwxLjMzOS0xLjQ5MiwxLjMzOS0zLjE1YzAtMS40NTctMC4xODktMi40MzYtMS4zNTQtMy4wNTdjMC4xMjEtMC4wNjIsMC41NTEtMC4xMDcsMC43NjMtMC4xMzdjMC42MzEtMC4wODYsMS41NTQtMC4xODQsMS41NTQtMC42OTlWMS4ySDYuNjRDNi41OTQsMS4yMDIsMS45ODksMS4zNzIsMS45ODksNS41ODl6IE05LjQxMywxNC42MDJjMC4wODgsMS40MDYtMS4xMTUsMi40NDMtMi45MjIsMi41NzRjLTEuODM1LDAuMTM1LTMuMzQ1LTAuNjkxLTMuNDMzLTIuMDk2Yy0wLjA0My0wLjY3NiwwLjI1NC0xLjMzNiwwLjgzNS0xLjg2M2MwLjU4OS0wLjUzMywxLjM5OC0wLjg2MywyLjI3OC0wLjkyOGMwLjEwNC0wLjAwNiwwLjIwNy0wLjAxMiwwLjMxLTAuMDEyQzguMTgsMTIuMjc4LDkuMzMsMTMuMjc2LDkuNDEzLDE0LjYwMnogTTguMjEyLDQuNjI2YzAuNDUxLDEuNTg4LTAuMjMsMy4yNDYtMS4zMTYsMy41NTNDNi43NzEsOC4yMTQsNi42NDMsOC4yMzEsNi41MTIsOC4yMzFjLTAuOTk0LDAtMS45NzktMS4wMDYtMi4zNDUtMi4zOTNDMy45NjMsNS4wNjIsMy45OCw0LjM4LDQuMjE0LDMuNzI2YzAuMjI5LTAuNjQ1LDAuNjQzLTEuMDc4LDEuMTYzLTEuMjI1YzAuMTI1LTAuMDM1LDAuMjU0LTAuMDUzLDAuMzg1LTAuMDUzQzYuOTYyLDIuNDQ4LDcuNzM0LDIuOTQ2LDguMjEyLDQuNjI2eiBNMTYsOFY1aC0ydjNoLTN2MmgzdjNoMnYtM2gzVjhIMTZ6Ii8+PC9zdmc+)}.social-nav [href*="play.google.com"]{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iR29vZ2xlX1BsYXkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwIDIwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNNC45NDI2MjcsMTguMDUwODQyM2w3LjY2NjAxNTYtNC4zMjczOTI2bC0xLjY0NTIwMjYtMS44MjM0MjUzTDQuOTQyNjI3LDE4LjA1MDg0MjN6IE0yLjE0MjIxMTksMi4xMjMxMDc5QzIuMDU0MzgyMywyLjI4MTMxMSwyLDIuNDYzMTk1OCwyLDIuNjY0OTE3djE1LjEyNTk3NjZjMCwwLjI3OTk2ODMsMC4xMDQ2MTQzLDAuNTIwMjAyNiwwLjI2MzEyMjYsMC43MTAxNDRsNy42MjY1MjU5LTcuNzkxMjU5OEwyLjE0MjIxMTksMi4xMjMxMDc5eiBNMTcuNDc5NTUzMiw5LjQ4MTkzMzZsLTIuNjcyNDg1NC0xLjUwODYwNmwtMi43MjIyOSwyLjc4MTEyNzlsMS45NTE2NjAyLDIuMTYzMDI0OWwzLjQ0MzExNTItMS45NDM2MDM1QzE3Ljc5Mjc4NTYsMTAuODE1NTUxOCwxNy45NjU2MzcyLDEwLjUyODc0NzYsMTgsMTAuMjI3OTA1M0MxNy45NjU2MzcyLDkuOTI3MDYzLDE3Ljc5Mjc4NTYsOS42NDAyNTg4LDE3LjQ3OTU1MzIsOS40ODE5MzM2eiBNMTMuMzY0OTI5Miw3LjE1OTI0MDdMNC4xNDUyMDI2LDEuOTU0ODM0bDYuODY1NjYxNiw3LjYwOTMxNEwxMy4zNjQ5MjkyLDcuMTU5MjQwN3oiLz48L3N2Zz4=)}.newsletter-signup{margin:0 0 3em;text-align:center}.newsletter-signup h2{font-size:2em}.newsletter-signup .forms{max-width:20em;margin:1.5em auto}.pagination.webapp{display:none}.pagination-nav{position:relative;text-align:center}.pagination-nav li{display:inline}.pagination-nav li.is-active a{font-weight:500;color:#555;border:0}.pagination-nav li.nav-next{position:absolute;right:0}.pagination-nav li.nav-prev{position:absolute;left:0}.pagination-nav a{display:inline-block;padding:0.25em 0.75em;color:#999;border:solid 1px #eee;border-radius:.25em}.pagination-nav a:hover,.pagination-nav a:focus{color:#555}.pagination-nav .material-icons{margin-top:-0.25em;vertical-align:middle;font-size:1em}.pagination-nav svg{width:1em}svg#icon-clock{width:1em}header.post-meta{margin:1em 0 1em}.post-content{margin:2em 0}.blog-header{margin:1em 0 1em}#footer{border-top:solid 0.125em #279B48;background-color:rgba(0,119,102,0.1);padding:3em 1.5em}#footer .columns h5{text-transform:uppercase}#footer .image-container img{width:100%;height:auto}.imprint{font-size:0.875rem;text-align:left}@media only screen and (max-width: 1024px){footer .columns{margin:0 0 3rem}}.blog-list .post-title{font-size:1.85rem;text-transform:none}.post-title{font-size:1.85rem;color:#22853e}.post-body{padding-bottom:2em}.catalogueList,.productList{max-width:80rem;margin-right:auto;margin-left:auto;list-style:none}.catalogueList::before,.catalogueList::after,.productList::before,.productList::after{display:table;content:' ';-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-order:1;order:1}.catalogueList::after,.productList::after{clear:both}.catalogueList .catalogueItemNotFound,.productList .productItemNotFound{display:none}#catCartSummary{display:inline-block}.quantity-controls{position:relative;max-width:8em}.quantity-controls .productTextInput{text-align:center}.quantity-controls input{text-align:center}.quantity-controls .add,.quantity-controls .sub{position:absolute;top:0;bottom:0;padding:0.5em 1em 0.8em}.quantity-controls .add{right:0}.quantity-controls .sub{left:0}#catCartDetails .cartLink{padding:0 10%;line-height:4em}.product-search{position:relative;max-width:40em;height:3.4em;display:-ms-flexbox;display:flex;margin:3em auto;border:0.125em solid #eee;border-radius:.25em}.product-search::before{content:"\E8B6";position:absolute;top:0;left:0;bottom:0;padding:0 0.5em;opacity:0.5;font-family:'Material Icons';font-size:1.5em;line-height:2}.search-input{-ms-flex:1;flex:1;padding-left:3em;margin-bottom:0;border:0}.search-input:focus{border:0}.search-submit{display:none}.search-catalogue{-ms-flex-preferred-size:35%;flex-basis:35%;margin-bottom:0;border:0;border-left:solid 0.125em #eee;border-radius:0}.search-results{margin:3em 0}.loader{width:3em;height:3em;margin:0 auto;border:solid 0.25em #279B48;border-top-color:transparent;border-radius:50%;animation:load-spinner 0.8s ease infinite}@keyframes load-spinner{to{transform:rotate(0deg)}from{transform:rotate(360deg)}}.product-filter-container{margin:4em 0}.product-filter-container .filter-group{margin:0 0 2em}.product-filter-container .filter-group.is-active .filter-inner{max-height:100em}.product-filter-container .filter-group h5{cursor:pointer;border-bottom:2px solid #eee;text-transform:uppercase;padding:0 0 1em;width:100%;font-size:0.75rem;font-weight:bold;letter-spacing:0.1em}.product-filter-container .filter-group h5::after{content:"\E145";opacity:0.5;font-family:'Material Icons';float:right}.product-filter-container .filter-inner{max-height:0;overflow:hidden}.product-filter-container .filter-inner input{margin:0}.products-new,.agrewards-logo,.plantback-logo{margin:1em 1em 0;text-align:center}.agrewards-logo,.plantback-logo{display:-ms-inline-flexbox;display:inline-flex}.storefront .productSmall li{display:none}.productSmall{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:end;align-items:flex-end}.productSmall li{text-align:center;width:100%;float:left;padding-right:1.5rem;padding-left:1.5rem}.productSmall li:last-child:not(:first-child){float:right}@media print, screen and (min-width: 40em){.productSmall li{width:50%;float:left;padding-right:1.5rem;padding-left:1.5rem}.productSmall li:last-child:not(:first-child){float:right}}@media print, screen and (min-width: 64em){.productSmall li{width:33.33333%;float:left;padding-right:1.5rem;padding-left:1.5rem}.productSmall li:last-child:not(:first-child){float:right}}@media print, screen and (min-width: 40em){[data-pagename="AgRewards"] .productSmall li{width:33.33333%;float:left;padding-right:1.5rem;padding-left:1.5rem}[data-pagename="AgRewards"] .productSmall li:last-child:not(:first-child){float:right}}@media print, screen and (min-width: 64em){[data-pagename="AgRewards"] .productSmall li{width:25%;float:left;padding-right:1.5rem;padding-left:1.5rem}[data-pagename="AgRewards"] .productSmall li:last-child:not(:first-child){float:right}}.product-info{min-height:5em;margin:1em 0 0;text-align:center}.product-info .product-name{margin:0;font-size:1em;font-weight:500}.product-info .product-name a{color:#555}.product-info .product-price{font-weight:300;color:#999}.product-info .product-price span{display:block}.product-info .retail-price{text-decoration:line-through}.product-detail .product-name{margin:0 0 0.5em;font-size:2em;font-weight:500}.product-detail .product-name a{color:#555}.product-detail .product-active-ingredient{font-size:.8rem;margin:-1em 0 2em}.product-detail .product-price{font-weight:300;color:#999}.product-detail .product-price span{display:block}.product-detail .retail-price{text-decoration:line-through}.product-detail .product-downloads ul{background-color:#eee;border-radius:.25em;padding:1em;margin-left:0}.product-detail .product-downloads ul li{list-style:none;display:block}.product-detail .product-downloads ul li .material-icons{font-size:.8rem;margin:.3rem .5rem 0 0}.product-detail .product-downloads .product-tags,.product-detail .product-downloads .plantback-tags{background-color:rgba(0,119,102,0.1);border-radius:.25em;margin:1em 0}.product-detail .product-downloads .product-tags img,.product-detail .product-downloads .plantback-tags img{padding:0 .3em 0 0}.product-detail .product-downloads .product-tags .agrewards-text,.product-detail .product-downloads .product-tags .plantback-text,.product-detail .product-downloads .plantback-tags .agrewards-text,.product-detail .product-downloads .plantback-tags .plantback-text{display:inline-block;vertical-align:middle;color:#076;font-size:.8rem;text-transform:uppercase}.product-detail .catProductAttributeGroup{margin:2em 0}.product-detail .catProductAttributeGroup .catProdAttributeTitle{text-transform:uppercase}.product-detail .catProductAttributeGroup .catProdAttributeItem input[type="radio"]{margin:0 .5rem .8rem}.product-detail .product-functions .quantity-controls,.product-detail .product-functions .add-to-cart,.product-detail .product-functions .product-enquiry{margin:1em 0 0}.product-detail .product-functions .button.button{width:100%;line-height:1.4rem}.product-gallery .placeholder{vertical-align:middle;text-align:center;padding:3em 0}.related-products{margin:3em 0;text-align:center}.related-products h2,.related-products h3{font-size:1.5rem;text-transform:uppercase;width:100%;padding:0 1.5em 1.5em}.related-products h5{font-weight:bold}.related-products .product-info{font-size:.8em}.product-catalogue a:hover{opacity:0.8}.catalogue-description{margin-top:4em}.catalogueList{margin:3em auto}.catalogueList li{position:relative;margin:0 0 1.5em;width:48%;height:auto;float:left}.catalogueList li:nth-child(2n){margin-left:4%}.catalogueList li a:hover img{opacity:0.8}.catalogueList li .shop-catalogue img{-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:0.3s ease}.catalogueList li .shop-catalogue .catalogue-text{position:absolute;bottom:0;left:0;right:0;padding:1em;background-color:rgba(0,0,0,0.7)}.catalogueList li .shop-catalogue .catalogue-text h3{margin:0;font-size:1.25em;text-align:right;text-transform:uppercase;color:#fff}.catalogueList li .shop-catalogue .catalogue-text .material-icons{vertical-align:top;font-size:1.2em;line-height:1em}.catalogueList li:last-child{width:100%}@media only screen and (max-width: 640px){.catalogueList li{width:100%}.catalogueList li:nth-child(2n){margin-left:0}}.checkout .ssl{float:right}.billing-fields,.home-fields{display:none}.cart p{margin:0}.cart img{max-width:100px}.cart .button{margin:0}.cart .cart-list .product-info{text-align:left}.cart .button{float:right}#head-banner{position:relative;max-width:90em;margin:auto}#head-banner #banner-header{position:absolute;bottom:0;left:0;background:rgba(0,0,0,0.7);padding:1.5em 0;width:100%}#head-banner #banner-header h1{margin-bottom:0;text-transform:uppercase;color:#fff}.adverts-list .advert-item{margin:3rem 0}.adverts-list .item-download{margin:1rem 0 0}.adverts-list .item-download .material-icons{font-size:.8rem;margin:0 .5rem -.3rem 0}.adverts-list .item-product .material-icons{font-size:.8rem;margin:0 .5rem -.3rem 0}@media screen and (max-width: 39.9375em){.plant-back .heading{margin:2em 0 0}}.plant-back .territory-managers .header{text-align:center;text-transform:uppercase}.plant-back .territory-managers .details{clear:both;padding:4em 0 0}.plant-back .territory-managers .details:first-child{padding:0}.plant-back .territory-managers .details hr{width:50%}.plant-back .territory-managers .contact-tel{font-size:2rem;margin:-.5em 1em 1em}.plant-back .products{font-size:1.2rem}.plant-back .products li{margin:0 0 1em 0}.column-bckgrd{background:linear-gradient(to bottom, #EAF6EE 0%, rgba(255,255,255,0) 120px);padding:3em 4em 0}.territory-details{clear:both;padding:4em 0 0}.territory-details:first-child{padding:0}.territory-details hr{width:50%}.territory-details .territory-header{text-align:center;text-transform:uppercase}.territory-details .territory-manager{padding:0 1.5rem 3rem}.territory-details .territory-manager .territory-full-name{font-weight:700;font-size:1.2rem;margin:1em 0 .5em}.territory-details .territory-manager .territory-position{margin:0 0 1em;color:#999}.territory-details .territory-manager .territory-tel,.territory-details .territory-manager .territory-email{font-size:.875rem;margin:.5em 0 0}.territory-details .territory-manager .territory-tel a,.territory-details .territory-manager .territory-email a{padding:0 0 0 .5em}@media only screen and (max-width: 640px){.territory-details .territory-manager{float:none;text-align:center}}.video-ctas .button{padding:3em;font-size:1.5em}.video-ctas .material-icons{font-size:3em}.video-ctas h2{margin:0.5em 0;color:#fff}.video-ctas small{font-size:0.66em}.competition-list{padding:3em;margin:0;border-top:solid 1px #eee}.competition-list a{display:block;color:#fff}.competition-list a:hover .thumbnail,.competition-list a:focus .thumbnail{opacity:0.8}.competition-list .video-item{margin:1em 0}.competition-list .thumbnail{position:relative;transition:0.3s ease}.competition-list .caption{position:absolute;bottom:2.2rem;right:0;left:0;padding:1em;background:rgba(0,0,0,0.7)}.competition-list .info{display:inline-block;margin:0}.competition-list .material-icons{float:right;line-height:2.1}.button-title{padding:1em;margin-bottom:1px;font-weight:bold;text-align:center;color:#fff;background:#555;border-radius:.25em}.competition-video{padding:3em 0;margin:0;background:#040f07}.documents div:first-child{margin:0 0 1rem}.documents div.category{margin:3em 0 1rem}.documents div.category h3{text-transform:uppercase;color:#999;font-size:1rem}.documents div.category ul{margin-left:0;color:#000}.documents div.category ul li{display:inline}.documents div.category ul li .document-name{float:left}.documents div.category ul li .literature-container{text-transform:uppercase;font-size:.8rem;float:right}.documents div.category ul li .literature-container a{color:#555}.documents div.category ul hr{margin:1rem auto}#account-nav{text-align:center}#account-nav ul.menu{margin:0 0 4em;display:-ms-inline-flexbox;display:inline-flex;font-size:.8rem;position:static;background:none;transform:none !important;transition:none}#account-nav ul.menu li{margin:0 1em 0;display:-ms-inline-flexbox;display:inline-flex}#account-nav ul.menu li a{text-transform:uppercase;color:#555}#account-nav ul.menu li a::before{content:"";position:absolute;bottom:-2.2em;left:0;width:0;height:0.25em;pointer-events:none;background:#279B48;transition:0.3s ease 0.2s}.settings{padding:0 15%}form.account-settings .subtitle{text-transform:uppercase;margin:0 0 1rem}.account-content h2{margin:2em 0 1em}.account-content h2::first-child{margin:0 0 1em}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJmb3VuZGF0aW9uL19zZXR0aW5ncy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jb2x1bW4uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsInNldHRpbmdzL19iYXNlLnNjc3MiLCJzZXR0aW5ncy9fdHlwZS5zY3NzIiwic2V0dGluZ3MvX2Zvcm1zLnNjc3MiLCJzZXR0aW5ncy9fbm90aWZpY2F0aW9ucy5zY3NzIiwic2V0dGluZ3MvX3NlbGVjdGVyLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX3NlY3Rpb25zLnNjc3MiLCJjb21wb25lbnRzL191c2VyLW5hdi5zY3NzIiwiY29tcG9uZW50cy9fcHJpbWFyeS1uYXYuc2NzcyIsImNvbXBvbmVudHMvX3NvY2lhbC1uYXYuc2NzcyIsImNvbXBvbmVudHMvX25ld3NsZXR0ZXIuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fYmxvZy5zY3NzIiwiZWNvbW1lcmNlL19lY29tbWVyY2Uuc2NzcyIsImVjb21tZXJjZS9fc21hbGwtcHJvZHVjdC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fc2l6ZS5zY3NzIiwiZWNvbW1lcmNlL19sYXJnZS1wcm9kdWN0LnNjc3MiLCJlY29tbWVyY2UvX2NhdGFsb2d1ZS5zY3NzIiwiZWNvbW1lcmNlL19jaGVja291dC5zY3NzIiwiZWNvbW1lcmNlL19jYXJ0LnNjc3MiLCJ3ZWJhcHBzL19iYW5uZXIuc2NzcyIsIndlYmFwcHMvX21hcmtldGluZy5zY3NzIiwid2ViYXBwcy9fcGxhbnQtYmFjay5zY3NzIiwid2ViYXBwcy9fdGVycml0b3J5LnNjc3MiLCJ3ZWJhcHBzL192aWRlb3Muc2NzcyIsImFjY291bnQvX2RvY3VtZW50cy5zY3NzIiwiYWNjb3VudC9fbmF2aWdhdGlvbi5zY3NzIiwiYWNjb3VudC9fc2V0dGluZ3Muc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpRUM2Q0UsS0FBaUUsdUJDNUJoRCxpQkRrREUsMEJBRU8sNkJBQ0ksQ0FBQSxLQUMzQixRQVlDLENBQU0sd0NBWVIsYUFDVyxDQUFBLEdBQ1YsY0VsRlEsZUZvR0csQ0FBQSxrQkFtRlosYUFDVyxDQUFBLE9BQ1YsZUM1S1csQ0FBQSxHRHlMWCx1QkFRYSxTQUNOLGdCQUNJLENBQUEsS0FDWCxhQU9VLENBQUEsSUFDVixpQ0FtQmMsYUFDRixDQUFBLEVBQUksNkJBY0csb0NBQ1ksQ0FBQSxpQkFTL0IsZUFDQyxDQUFhLFlBYVgsbUJBQ2EsMEJBQ0UsZ0NBQ0EsQ0FBQSxTQVFuQixtQkFDZSxDQUFBLFNBUWYsa0JBQ2UsQ0FBQSxjQVVmLGlDQUNlLGFBQ0YsQ0FBQSxJQUNaLGlCQU9hLENBQUEsS0FDYixzQkFPbUIsVUFDWCxDQUFBLE1BQ1IsYUFPWSxDQUFBLFFBU2IsY0FDYSxjQUNBLGtCQUNELHVCQUNNLENBQUEsSUFDakIsY0FHUyxDQUFBLElBQ1QsVUFHTSxDQUFBLFlBYVAsb0JBQ1csQ0FBQSxzQkFPQSxhQUNB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LGlCQUFBLEFBM0pLLFlBQUEsQ0FBQSxDQUFBLHVEQW1NWCxrQkFBQSxBQS9CaUMsYUFBQSxDQUFBLDJDRDVEQSx1REMyRmpDLGlCQUFBLEFBbk1XLFlBQUEsQ0FBQSxDQUFBLDJDRHdHc0IsaURDMkZqQyxnQkd4T2UsY0FDYixDQUFZLHFESHVPZCxxQkcxT1ksbUJBQUEsQ0FBQSxDQUFBLFFIZ09aLGtCQUFBLEFBdExhLGNBQUEsY0F3TEEsQ0FBQSxjQUNaLGtCTHpKa0IsQ0FBQSwwQlFqQmYsZUFDQSxDQUFhLG9FR21NakIsU0FDUSxTQUNOLENBQU8sRUFBSSxtQlh0SVcsa0JXNklYLGdCWDlJUSxpQ0FFSSxDQUFBLEtXa0p2QixrQkFFWSxtQkFDQyxDQUFBLFNBSVQsaUJYbE9hLG1CV3FPSixDQUFBLE1BQ2QsY1hqS2UsbUJXc0tELENBQUEsMENBU1gsd0NYelArQixrQkF1Q2pCLGdCQURDLGNBZ0NOLGlDQUdTLENBQUEsa0hXdUxwQixjQUNhLFVYdlFILENBQUEsT1dpUkYsbUJMblBBLGdCTitDUSxhVzRORSxrQlgzTkMsQ0FBQSxPV21NWCxpQkxuUEEsZ0JOK0NRLGFXNE5FLGtCWDNOQyxDQUFBLE9XbU1YLGtCTG5QQSxnQk4rQ1EsYVc0TkUsa0JYM05DLENBQUEsT1dtTVgsbUJMblBBLGdCTitDUSxhVzRORSxrQlgzTkMsQ0FBQSxPV21NWCxlTG5QQSxnQk4rQ1EsYVc0TkUsa0JYM05DLENBQUEsT1dtTVgsZUxuUEEsZ0JOK0NRLGFXNE5FLGtCWDNOQyxDQUFBLDJDSTJCWSxPT3dLdkIsaUJMblBBLENBQUEsT0ttUEEsa0JMblBBLENBQUEsT0ttUEEsZ0JMblBBLENBQUEsT0ttUEEsaUJMblBBLENBQUEsT0ttUEEsa0JMblBBLENBQUEsT0ttUEEsY0xuUEEsQ0FBQSxDQUFBLEVLb1JILG9CQU9RLGNYaFVOLHFCQW9HYyxjV2dPYixDQUFBLGdCQUxULGFYNU5rQixDQUFBLE1XMk9qQixRQUNFLENBQU0sR0FDUCxXQUtNLGdCTGhUQyxTS21URixpQlhoUE8sYVdtUEgsZUFDRSw2Qlh0VkgsYVd3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YXRCUUksQ3NCVGEsQXRCU2IsMkNzQlJKLGF0QlFJLENBQUEsa0JzQk5KLGF0Qk1JLENBQUEsWXNCcUJKLGFBckJNLG1CQUNHLHFCdEJ1UkMsaUJNdlBILGlCTm5CUyxhQWRaLENBQUEsdUJzQnlCSSxhQUlFLENBQUEsUUFDVixxQkNBTSxzQkFDTyxTQUNoQixvQkE3RW1CLGtCdkJ5T0Esd0J1QjlJQyw2QkFDWixvQnZCaENNLGdFdUJVaUQsZXZCNkt0RCxjdUJsSlQsa0JBQ1ksZUFDSix5QnZCMURDLFV1QmdHSixDdkJ0RkMsaUN1QndNTixTdEI1REUsQ0FBQSw0QnNCcERRLHlCdkJrR2MsVXVCaEdqQixDdkIxRkQsY3VCd01DLGdCdkJUQSxDQUFBLGN1QlNBLGtCdkJQQSxDQUFBLGlCdUJPQSxjQWpKSSxXQUNGLGVBQ1AsYUFDQSxDQUFBLGdCQThJSyx5QnZCbE5FLFV1QmdHSixDdkJ2RkMsNEN1QnlGSSx5QkFOVyxVQVFkLEN2QjNGRCxrQnVCeU1DLHNCdkJqTkksVXVCK0ZOLEN2QnRGQyxnRHVCd0ZJLHlCQU5XLFVBUWQsQ3ZCMUZELGdCdUJ3TUMseUJ2QmhORSxVdUI4RkosQ3ZCdkZDLDRDdUJ5RkkseUJBTlcsVUFRZCxDdkIzRkQsZ0J1QnlNQyx5QnZCL01FLFV1QjZGSixDdkJ2RkMsNEN1QnlGSSx5QkFOVyxVQVFkLEN2QjNGRCxjdUJ5TUMseUJ2QjlNQSxVdUI0RkYsQ3ZCdkZDLHdDdUJ5RkkseUJBTlcsVUFRZCxDdkIzRkQsbUN1QnlPSCxZQTFGSSxrQkFDQyxDQUFBLGlJQUVLLHlCdkIzSkosVXVCNkpGLEN2Qm5KRCxtRHVCNE9DLFlBOUZBLGtCQUNDLENBQUEsaUxBRUsseUJ2QjNKSixVdUI2SkYsQ3ZCcEpELHVEdUI2T0MsWUE5RkEsa0JBQ0MsQ0FBQSw2TEFFSyxzQnZCMUpGLFV1QjRKSixDdkJuSkQsbUR1QjRPQyxZQTlGQSxrQkFDQyxDQUFBLGlMQUVLLHlCdkJ6SkosVXVCMkpGLEN2QnBKRCxtRHVCNk9DLFlBOUZBLGtCQUNDLENBQUEsaUxBRUsseUJ2QnhKSixVdUIwSkYsQ3ZC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Q0EsQ0FBQSxVQUNmLGFDNUJLLENBQUEsZ0NBSVQseUJBQ29CLGVBQ0wsQzFEd0RBLG9CMER2RGQsZ0JBS1csQ0FBQSxpQ0FEVixjQUlXLENBQUEiLCJmaWxlIjoiTW9kdWxlU3R5bGVTaGVldHMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9odG1se2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6MS4xNTstbXMtdGV4dC1zaXplLWFkanVzdDoxMDAlOy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlfWJvZHl7bWFyZ2luOjB9YXJ0aWNsZSxhc2lkZSxmb290ZXIsaGVhZGVyLG5hdixzZWN0aW9ue2Rpc3BsYXk6YmxvY2t9aDF7Zm9udC1zaXplOjJlbTttYXJnaW46MC42N2VtIDB9ZmlnY2FwdGlvbixmaWd1cmV7ZGlzcGxheTpibG9ja31maWd1cmV7bWFyZ2luOjFlbSA0MHB4fWhye2JveC1zaXppbmc6Y29udGVudC1ib3g7aGVpZ2h0OjA7b3ZlcmZsb3c6dmlzaWJsZX1tYWlue2Rpc3BsYXk6YmxvY2t9cHJle2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSwgbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6b2JqZWN0c31hOmFjdGl2ZSxhOmhvdmVye291dGxpbmUtd2lkdGg6MH1hYmJyW3RpdGxlXXtib3JkZXItYm90dG9tOm5vbmU7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIGRvdHRlZH1iLHN0cm9uZ3tmb250LXdlaWdodDppbmhlcml0fWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OmJvbGRlcn1jb2RlLGtiZCxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSwgbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19ZGZue2ZvbnQtc3R5bGU6aXRhbGljfW1hcmt7YmFja2dyb3VuZC1jb2xvcjojZmYwO2NvbG9yOiMwMDB9c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1zdWJ7Ym90dG9tOi0wLjI1ZW19c3Vwe3RvcDotMC41ZW19YXVkaW8sdmlkZW97ZGlzcGxheTppbmxpbmUtYmxvY2t9YXVkaW86bm90KFtjb250cm9sc10pe2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MH1pbWd7Ym9yZGVyLXN0eWxlOm5vbmV9c3ZnOm5vdCg6cm9vdCl7b3ZlcmZsb3c6aGlkZGVufWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmb250LXNpemU6MTAwJTtsaW5lLWhlaWdodDoxLjE1O21hcmdpbjowfWJ1dHRvbntvdmVyZmxvdzp2aXNpYmxlfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1idXR0b24saHRtbCBbdHlwZT1cImJ1dHRvblwiXSxbdHlwZT1cInJlc2V0XCJdLFt0eXBlPVwic3VibWl0XCJdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b259YnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyLXN0eWxlOm5vbmU7cGFkZGluZzowfWJ1dHRvbjotbW96LWZvY3VzcmluZyxbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5ne291dGxpbmU6MXB4IGRvdHRlZCBCdXR0b25UZXh0fWlucHV0e292ZXJmbG93OnZpc2libGV9W3R5cGU9XCJjaGVja2JveFwiXSxbdHlwZT1cInJhZGlvXCJde2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjB9W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W3R5cGU9XCJzZWFyY2hcIl17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtvdXRsaW5lLW9mZnNldDotMnB4fVt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9ZmllbGRzZXR7Ym9yZGVyOjFweCBzb2xpZCAjYzBjMGMwO21hcmdpbjowIDJweDtwYWRkaW5nOjAuMzVlbSAwLjYyNWVtIDAuNzVlbX1sZWdlbmR7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6dGFibGU7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzowO2NvbG9yOmluaGVyaXQ7d2hpdGUtc3BhY2U6bm9ybWFsfXByb2dyZXNze2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXRleHRhcmVhe292ZXJmbG93OmF1dG99ZGV0YWlsc3tkaXNwbGF5OmJsb2NrfXN1bW1hcnl7ZGlzcGxheTpsaXN0LWl0ZW19bWVudXtkaXNwbGF5OmJsb2NrfWNhbnZhc3tkaXNwbGF5OmlubGluZS1ibG9ja310ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9W2hpZGRlbl17ZGlzcGxheTpub25lfS5mb3VuZGF0aW9uLW1xe2ZvbnQtZmFtaWx5Olwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCJ9aHRtbHtib3gtc2l6aW5nOmJvcmRlci1ib3g7Zm9udC1zaXplOjEwMCV9KiwqOjpiZWZvcmUsKjo6YWZ0ZXJ7Ym94LXNpemluZzppbmhlcml0fWJvZHl7bWFyZ2luOjA7cGFkZGluZzowO2JhY2tncm91bmQ6I2ZmZjtmb250LWZhbWlseTpcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDpub3JtYWw7bGluZS1oZWlnaHQ6MS41O2NvbG9yOiMwMDA7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9aW1ne2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0bzstbXMtaW50ZXJwb2xhdGlvbi1tb2RlOmJpY3ViaWN9dGV4dGFyZWF7aGVpZ2h0OmF1dG87bWluLWhlaWdodDo1MHB4O2JvcmRlci1yYWRpdXM6LjI1ZW19c2VsZWN0e2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6LjI1ZW19Lm1hcF9jYW52YXMgaW1nLC5tYXBfY2FudmFzIGVtYmVkLC5tYXBfY2FudmFzIG9iamVjdCwubXFhLWRpc3BsYXkgaW1nLC5tcWEtZGlzcGxheSBlbWJlZCwubXFhLWRpc3BsYXkgb2JqZWN0e21heC13aWR0aDpub25lICFpbXBvcnRhbnR9YnV0dG9ue3BhZGRpbmc6MDthcHBlYXJhbmNlOm5vbmU7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czouMjVlbTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2xpbmUtaGVpZ2h0OjE7Y3Vyc29yOmF1dG99W2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbntvdXRsaW5lOjB9cHJle292ZXJmbG93OmF1dG99YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXtmb250LWZhbWlseTppbmhlcml0fS5pcy12aXNpYmxle2Rpc3BsYXk6YmxvY2sgIWltcG9ydGFudH0uaXMtaGlkZGVue2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fS5hbGlnbi1yaWdodHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmFsaWduLWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5hbGlnbi1qdXN0aWZ5e2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5hbGlnbi1zcGFjZWR7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0uYWxpZ24tcmlnaHQudmVydGljYWwubWVudT5saT5he2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnU+bGk+YXtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5hbGlnbi10b3B7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uYWxpZ24tc2VsZi10b3B7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fS5hbGlnbi1ib3R0b217YWxpZ24taXRlbXM6ZmxleC1lbmR9LmFsaWduLXNlbGYtYm90dG9te2FsaWduLXNlbGY6ZmxleC1lbmR9LmFsaWduLW1pZGRsZXthbGlnbi1pdGVtczpjZW50ZXJ9LmFsaWduLXNlbGYtbWlkZGxle2FsaWduLXNlbGY6Y2VudGVyfS5hbGlnbi1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9LmFsaWduLXNlbGYtc3RyZXRjaHthbGlnbi1zZWxmOnN0cmV0Y2h9LmFsaWduLWNlbnRlci1taWRkbGV7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24tY29udGVudDpjZW50ZXJ9LnNtYWxsLW9yZGVyLTF7b3JkZXI6MX0uc21hbGwtb3JkZXItMntvcmRlcjoyfS5zbWFsbC1vcmRlci0ze29yZGVyOjN9LnNtYWxsLW9yZGVyLTR7b3JkZXI6NH0uc21hbGwtb3JkZXItNXtvcmRlcjo1fS5zbWFsbC1vcmRlci02e29yZGVyOjZ9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5tZWRpdW0tb3JkZXItMXtvcmRlcjoxfS5tZWRpdW0tb3JkZXItMntvcmRlcjoyfS5tZWRpdW0tb3JkZXItM3tvcmRlcjozfS5tZWRpdW0tb3JkZXItNHtvcmRlcjo0fS5tZWRpdW0tb3JkZXItNXtvcmRlcjo1fS5tZWRpdW0tb3JkZXItNntvcmRlcjo2fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmxhcmdlLW9yZGVyLTF7b3JkZXI6MX0ubGFyZ2Utb3JkZXItMntvcmRlcjoyfS5sYXJnZS1vcmRlci0ze29yZGVyOjN9LmxhcmdlLW9yZGVyLTR7b3JkZXI6NH0ubGFyZ2Utb3JkZXItNXtvcmRlcjo1fS5sYXJnZS1vcmRlci02e29yZGVyOjZ9fS5mbGV4LWNvbnRhaW5lcntkaXNwbGF5OmZsZXh9LmZsZXgtY2hpbGQtYXV0b3tmbGV4OjEgMSBhdXRvfS5mbGV4LWNoaWxkLWdyb3d7ZmxleDoxIDAgYXV0b30uZmxleC1jaGlsZC1zaHJpbmt7ZmxleDowIDEgYXV0b30uZmxleC1kaXItcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30uZmxleC1kaXItcm93LXJldmVyc2V7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2V9LmZsZXgtZGlyLWNvbHVtbntmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsubWVkaXVtLWZsZXgtY29udGFpbmVye2Rpc3BsYXk6ZmxleH0ubWVkaXVtLWZsZXgtY2hpbGQtYXV0b3tmbGV4OjEgMSBhdXRvfS5tZWRpdW0tZmxleC1jaGlsZC1ncm93e2ZsZXg6MSAwIGF1dG99Lm1lZGl1bS1mbGV4LWNoaWxkLXNocmlua3tmbGV4OjAgMSBhdXRvfS5tZWRpdW0tZmxleC1kaXItcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30ubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5tZWRpdW0tZmxleC1kaXItY29sdW1ue2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmxhcmdlLWZsZXgtY29udGFpbmVye2Rpc3BsYXk6ZmxleH0ubGFyZ2UtZmxleC1jaGlsZC1hdXRve2ZsZXg6MSAxIGF1dG99LmxhcmdlLWZsZXgtY2hpbGQtZ3Jvd3tmbGV4OjEgMCBhdXRvfS5sYXJnZS1mbGV4LWNoaWxkLXNocmlua3tmbGV4OjAgMSBhdXRvfS5sYXJnZS1mbGV4LWRpci1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZX0ubGFyZ2UtZmxleC1kaXItY29sdW1ue2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2V7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2V9fS5yb3d7bWF4LXdpZHRoOjgwcmVtO21hcmdpbi1yaWdodDphdXRvO21hcmdpbi1sZWZ0OmF1dG87ZGlzcGxheTpmbGV4O2ZsZXgtZmxvdzpyb3cgd3JhcH0ucm93IC5yb3d7bWFyZ2luLXJpZ2h0Oi0xLjVyZW07bWFyZ2luLWxlZnQ6LTEuNXJlbX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LnJvdyAucm93e21hcmdpbi1yaWdodDotMS41cmVtO21hcmdpbi1sZWZ0Oi0xLjVyZW19fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsucm93IC5yb3d7bWFyZ2luLXJpZ2h0Oi0xLjVyZW07bWFyZ2luLWxlZnQ6LTEuNXJlbX19LnJvdyAucm93LmNvbGxhcHNle21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9LnJvdy5leHBhbmRlZHttYXgtd2lkdGg6bm9uZX0ucm93LmV4cGFuZGVkIC5yb3d7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0b30ucm93Om5vdCguZXhwYW5kZWQpIC5yb3d7bWF4LXdpZHRoOm5vbmV9LnJvdy5jb2xsYXBzZT4uY29sdW1uLC5yb3cuY29sbGFwc2U+LmNvbHVtbnN7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfS5yb3cuaXMtY29sbGFwc2UtY2hpbGQsLnJvdy5jb2xsYXBzZT4uY29sdW1uPi5yb3csLnJvdy5jb2xsYXBzZT4uY29sdW1ucz4ucm93e21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9LmNvbHVtbiwuY29sdW1uc3tmbGV4OjEgMSAwcHg7cGFkZGluZy1yaWdodDoxLjVyZW07cGFkZGluZy1sZWZ0OjEuNXJlbTttaW4td2lkdGg6MH0uY29sdW1uLnJvdy5yb3csLnJvdy5yb3cuY29sdW1uc3tmbG9hdDpub25lO2Rpc3BsYXk6YmxvY2t9LnJvdyAuY29sdW1uLnJvdy5yb3csLnJvdyAucm93LnJvdy5jb2x1bW5ze21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfS5zbWFsbC0xe2ZsZXg6MCAwIDguMzMzMzMlO21heC13aWR0aDo4LjMzMzMzJX0uc21hbGwtb2Zmc2V0LTB7bWFyZ2luLWxlZnQ6MCV9LnNtYWxsLTJ7ZmxleDowIDAgMTYuNjY2NjclO21heC13aWR0aDoxNi42NjY2NyV9LnNtYWxsLW9mZnNldC0xe21hcmdpbi1sZWZ0OjguMzMzMzMlfS5zbWFsbC0ze2ZsZXg6MCAwIDI1JTttYXgtd2lkdGg6MjUlfS5zbWFsbC1vZmZzZXQtMnttYXJnaW4tbGVmdDoxNi42NjY2NyV9LnNtYWxsLTR7ZmxleDowIDAgMzMuMzMzMzMlO21heC13aWR0aDozMy4zMzMzMyV9LnNtYWxsLW9mZnNldC0ze21hcmdpbi1sZWZ0OjI1JX0uc21hbGwtNXtmbGV4OjAgMCA0MS42NjY2NyU7bWF4LXdpZHRoOjQxLjY2NjY3JX0uc21hbGwtb2Zmc2V0LTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMlfS5zbWFsbC02e2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5zbWFsbC1vZmZzZXQtNXttYXJnaW4tbGVmdDo0MS42NjY2NyV9LnNtYWxsLTd7ZmxleDowIDAgNTguMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMyV9LnNtYWxsLW9mZnNldC02e21hcmdpbi1sZWZ0OjUwJX0uc21hbGwtOHtmbGV4OjAgMCA2Ni42NjY2NyU7bWF4LXdpZHRoOjY2LjY2NjY3JX0uc21hbGwtb2Zmc2V0LTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMlfS5zbWFsbC05e2ZsZXg6MCAwIDc1JTttYXgtd2lkdGg6NzUlfS5zbWFsbC1vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NyV9LnNtYWxsLTEwe2ZsZXg6MCAwIDgzLjMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMlfS5zbWFsbC1vZmZzZXQtOXttYXJnaW4tbGVmdDo3NSV9LnNtYWxsLTExe2ZsZXg6MCAwIDkxLjY2NjY3JTttYXgtd2lkdGg6OTEuNjY2NjclfS5zbWFsbC1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMlfS5zbWFsbC0xMntmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5zbWFsbC1vZmZzZXQtMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjclfS5zbWFsbC11cC0xe2ZsZXgtd3JhcDp3cmFwfS5zbWFsbC11cC0xPi5jb2x1bW4sLnNtYWxsLXVwLTE+LmNvbHVtbnN7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX0uc21hbGwtY29sbGFwc2U+LmNvbHVtbiwuc21hbGwtY29sbGFwc2U+LmNvbHVtbnN7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfS5zbWFsbC11bmNvbGxhcHNlPi5jb2x1bW4sLnNtYWxsLXVuY29sbGFwc2U+LmNvbHVtbnN7cGFkZGluZy1yaWdodDoxLjVyZW07cGFkZGluZy1sZWZ0OjEuNXJlbX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lm1lZGl1bS0xe2ZsZXg6MCAwIDguMzMzMzMlO21heC13aWR0aDo4LjMzMzMzJX0ubWVkaXVtLW9mZnNldC0we21hcmdpbi1sZWZ0OjAlfS5tZWRpdW0tMntmbGV4OjAgMCAxNi42NjY2NyU7bWF4LXdpZHRoOjE2LjY2NjY3JX0ubWVkaXVtLW9mZnNldC0xe21hcmdpbi1sZWZ0OjguMzMzMzMlfS5tZWRpdW0tM3tmbGV4OjAgMCAyNSU7bWF4LXdpZHRoOjI1JX0ubWVkaXVtLW9mZnNldC0ye21hcmdpbi1sZWZ0OjE2LjY2NjY3JX0ubWVkaXVtLTR7ZmxleDowIDAgMzMuMzMzMzMlO21heC13aWR0aDozMy4zMzMzMyV9Lm1lZGl1bS1vZmZzZXQtM3ttYXJnaW4tbGVmdDoyNSV9Lm1lZGl1bS01e2ZsZXg6MCAwIDQxLjY2NjY3JTttYXgtd2lkdGg6NDEuNjY2NjclfS5tZWRpdW0tb2Zmc2V0LTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMlfS5tZWRpdW0tNntmbGV4OjAgMCA1MCU7bWF4LXdpZHRoOjUwJX0ubWVkaXVtLW9mZnNldC01e21hcmdpbi1sZWZ0OjQxLjY2NjY3JX0ubWVkaXVtLTd7ZmxleDowIDAgNTguMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMyV9Lm1lZGl1bS1vZmZzZXQtNnttYXJnaW4tbGVmdDo1MCV9Lm1lZGl1bS04e2ZsZXg6MCAwIDY2LjY2NjY3JTttYXgtd2lkdGg6NjYuNjY2NjclfS5tZWRpdW0tb2Zmc2V0LTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMlfS5tZWRpdW0tOXtmbGV4OjAgMCA3NSU7bWF4LXdpZHRoOjc1JX0ubWVkaXVtLW9mZnNldC04e21hcmdpbi1sZWZ0OjY2LjY2NjY3JX0ubWVkaXVtLTEwe2ZsZXg6MCAwIDgzLjMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMlfS5tZWRpdW0tb2Zmc2V0LTl7bWFyZ2luLWxlZnQ6NzUlfS5tZWRpdW0tMTF7ZmxleDowIDAgOTEuNjY2NjclO21heC13aWR0aDo5MS42NjY2NyV9Lm1lZGl1bS1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMlfS5tZWRpdW0tMTJ7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX0ubWVkaXVtLW9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NyV9Lm1lZGl1bS11cC0xe2ZsZXgtd3JhcDp3cmFwfS5tZWRpdW0tdXAtMT4uY29sdW1uLC5tZWRpdW0tdXAtMT4uY29sdW1uc3tmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pey5tZWRpdW0tZXhwYW5ke2ZsZXg6MSAxIDBweH19LnJvdy5tZWRpdW0tdW5zdGFjaz4uY29sdW1uLC5yb3cubWVkaXVtLXVuc3RhY2s+LmNvbHVtbnN7ZmxleDowIDAgMTAwJX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LnJvdy5tZWRpdW0tdW5zdGFjaz4uY29sdW1uLC5yb3cubWVkaXVtLXVuc3RhY2s+LmNvbHVtbnN7ZmxleDoxIDEgMHB4fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lm1lZGl1bS1jb2xsYXBzZT4uY29sdW1uLC5tZWRpdW0tY29sbGFwc2U+LmNvbHVtbnN7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfS5tZWRpdW0tdW5jb2xsYXBzZT4uY29sdW1uLC5tZWRpdW0tdW5jb2xsYXBzZT4uY29sdW1uc3twYWRkaW5nLXJpZ2h0OjEuNXJlbTtwYWRkaW5nLWxlZnQ6MS41cmVtfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmxhcmdlLTF7ZmxleDowIDAgOC4zMzMzMyU7bWF4LXdpZHRoOjguMzMzMzMlfS5sYXJnZS1vZmZzZXQtMHttYXJnaW4tbGVmdDowJX0ubGFyZ2UtMntmbGV4OjAgMCAxNi42NjY2NyU7bWF4LXdpZHRoOjE2LjY2NjY3JX0ubGFyZ2Utb2Zmc2V0LTF7bWFyZ2luLWxlZnQ6OC4zMzMzMyV9LmxhcmdlLTN7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LmxhcmdlLW9mZnNldC0ye21hcmdpbi1sZWZ0OjE2LjY2NjY3JX0ubGFyZ2UtNHtmbGV4OjAgMCAzMy4zMzMzMyU7bWF4LXdpZHRoOjMzLjMzMzMzJX0ubGFyZ2Utb2Zmc2V0LTN7bWFyZ2luLWxlZnQ6MjUlfS5sYXJnZS01e2ZsZXg6MCAwIDQxLjY2NjY3JTttYXgtd2lkdGg6NDEuNjY2NjclfS5sYXJnZS1vZmZzZXQtNHttYXJnaW4tbGVmdDozMy4zMzMzMyV9LmxhcmdlLTZ7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LmxhcmdlLW9mZnNldC01e21hcmdpbi1sZWZ0OjQxLjY2NjY3JX0ubGFyZ2UtN3tmbGV4OjAgMCA1OC4zMzMzMyU7bWF4LXdpZHRoOjU4LjMzMzMzJX0ubGFyZ2Utb2Zmc2V0LTZ7bWFyZ2luLWxlZnQ6NTAlfS5sYXJnZS04e2ZsZXg6MCAwIDY2LjY2NjY3JTttYXgtd2lkdGg6NjYuNjY2NjclfS5sYXJnZS1vZmZzZXQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMyV9LmxhcmdlLTl7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LmxhcmdlLW9mZnNldC04e21hcmdpbi1sZWZ0OjY2LjY2NjY3JX0ubGFyZ2UtMTB7ZmxleDowIDAgODMuMzMzMzMlO21heC13aWR0aDo4My4zMzMzMyV9LmxhcmdlLW9mZnNldC05e21hcmdpbi1sZWZ0Ojc1JX0ubGFyZ2UtMTF7ZmxleDowIDAgOTEuNjY2NjclO21heC13aWR0aDo5MS42NjY2NyV9LmxhcmdlLW9mZnNldC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMyV9LmxhcmdlLTEye2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9LmxhcmdlLW9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NyV9LmxhcmdlLXVwLTF7ZmxleC13cmFwOndyYXB9LmxhcmdlLXVwLTE+LmNvbHVtbiwubGFyZ2UtdXAtMT4uY29sdW1uc3tmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pey5sYXJnZS1leHBhbmR7ZmxleDoxIDEgMHB4fX0ucm93LmxhcmdlLXVuc3RhY2s+LmNvbHVtbiwucm93LmxhcmdlLXVuc3RhY2s+LmNvbHVtbnN7ZmxleDowIDAgMTAwJX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LnJvdy5sYXJnZS11bnN0YWNrPi5jb2x1bW4sLnJvdy5sYXJnZS11bnN0YWNrPi5jb2x1bW5ze2ZsZXg6MSAxIDBweH19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5sYXJnZS1jb2xsYXBzZT4uY29sdW1uLC5sYXJnZS1jb2xsYXBzZT4uY29sdW1uc3twYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9LmxhcmdlLXVuY29sbGFwc2U+LmNvbHVtbiwubGFyZ2UtdW5jb2xsYXBzZT4uY29sdW1uc3twYWRkaW5nLXJpZ2h0OjEuNXJlbTtwYWRkaW5nLWxlZnQ6MS41cmVtfX0uc2hyaW5re2ZsZXg6MCAwIGF1dG87bWF4LXdpZHRoOjEwMCV9LmNvbHVtbi1ibG9ja3ttYXJnaW4tYm90dG9tOjNyZW19LmNvbHVtbi1ibG9jaz46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9ZGl2LGRsLGR0LGRkLHVsLG9sLGxpLGgxLGgyLGgzLGg0LGg1LGg2LHByZSxmb3JtLHAsYmxvY2txdW90ZSx0aCx0ZHttYXJnaW46MDtwYWRkaW5nOjB9cHttYXJnaW4tYm90dG9tOjFyZW07Zm9udC1zaXplOmluaGVyaXQ7bGluZS1oZWlnaHQ6MS42O3RleHQtcmVuZGVyaW5nOm9wdGltaXplTGVnaWJpbGl0eX1lbSxpe2ZvbnQtc3R5bGU6aXRhbGljO2xpbmUtaGVpZ2h0OmluaGVyaXR9c3Ryb25nLGJ7Zm9udC13ZWlnaHQ6Ym9sZDtsaW5lLWhlaWdodDppbmhlcml0fXNtYWxse2ZvbnQtc2l6ZTo4MCU7bGluZS1oZWlnaHQ6aW5oZXJpdH1oMSwuaDEsaDIsLmgyLGgzLC5oMyxoNCwuaDQsaDUsLmg1LGg2LC5oNntmb250LWZhbWlseTpcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Y29sb3I6aW5oZXJpdDt0ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZUxlZ2liaWxpdHl9aDEgc21hbGwsLmgxIHNtYWxsLGgyIHNtYWxsLC5oMiBzbWFsbCxoMyBzbWFsbCwuaDMgc21hbGwsaDQgc21hbGwsLmg0IHNtYWxsLGg1IHNtYWxsLC5oNSBzbWFsbCxoNiBzbWFsbCwuaDYgc21hbGx7bGluZS1oZWlnaHQ6MDtjb2xvcjojOTk5fWgxLC5oMXtmb250LXNpemU6MS44NzVyZW07bGluZS1oZWlnaHQ6MS4yO21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjFyZW19aDIsLmgye2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MS4yO21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjFyZW19aDMsLmgze2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OjEuMjttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbToxcmVtfWg0LC5oNHtmb250LXNpemU6MS4xMjVyZW07bGluZS1oZWlnaHQ6MS4yO21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjFyZW19aDUsLmg1e2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuMjttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbToxcmVtfWg2LC5oNntmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjI7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MXJlbX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7aDEsLmgxe2ZvbnQtc2l6ZToyLjI1cmVtfWgyLC5oMntmb250LXNpemU6MS44NzVyZW19aDMsLmgze2ZvbnQtc2l6ZToxLjVyZW19aDQsLmg0e2ZvbnQtc2l6ZToxLjI1cmVtfWg1LC5oNXtmb250LXNpemU6MS4xMjVyZW19aDYsLmg2e2ZvbnQtc2l6ZToxcmVtfX1he2xpbmUtaGVpZ2h0OmluaGVyaXQ7Y29sb3I6IzI3OUI0ODt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcn1hOmhvdmVyLGE6Zm9jdXN7Y29sb3I6IzIyODUzZX1hIGltZ3tib3JkZXI6MH1ocntjbGVhcjpib3RoO21heC13aWR0aDo4MHJlbTtoZWlnaHQ6MDttYXJnaW46MnJlbSBhdXRvO2JvcmRlci10b3A6MDtib3JkZXItcmlnaHQ6MDtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZWVlO2JvcmRlci1sZWZ0OjB9dWwsb2wsZGx7bWFyZ2luLWJvdHRvbToxcmVtO2xpc3Qtc3R5bGUtcG9zaXRpb246b3V0c2lkZTtsaW5lLWhlaWdodDoxLjZ9bGl7Zm9udC1zaXplOmluaGVyaXR9dWx7bWFyZ2luLWxlZnQ6MS4yNXJlbTtsaXN0LXN0eWxlLXR5cGU6ZGlzY31vbHttYXJnaW4tbGVmdDoxLjI1cmVtfXVsIHVsLG9sIHVsLHVsIG9sLG9sIG9se21hcmdpbi1sZWZ0OjEuMjVyZW07bWFyZ2luLWJvdHRvbTowfWRse21hcmdpbi1ib3R0b206MXJlbX1kbCBkdHttYXJnaW4tYm90dG9tOi4zcmVtO2ZvbnQtd2VpZ2h0OmJvbGR9YmxvY2txdW90ZXttYXJnaW46MCAwIDFyZW07cGFkZGluZzouNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjOTk5fWJsb2NrcXVvdGUsYmxvY2txdW90ZSBwe2xpbmUtaGVpZ2h0OjEuNjtjb2xvcjojNTU1fWNpdGV7ZGlzcGxheTpibG9jaztmb250LXNpemU6LjgxMjVyZW07Y29sb3I6IzU1NX1jaXRlOmJlZm9yZXtjb250ZW50Olwi4oCUIFwifWFiYnIsYWJiclt0aXRsZV17Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkICMwMDA7Y3Vyc29yOmhlbHA7dGV4dC1kZWNvcmF0aW9uOm5vbmV9ZmlndXJle21hcmdpbjowfWNvZGV7cGFkZGluZzouMTI1cmVtIC4zMTI1cmVtIC4wNjI1cmVtO2JvcmRlcjoxcHggc29saWQgIzk5OTtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7Zm9udC1mYW1pbHk6Q29uc29sYXMsXCJMaWJlcmF0aW9uIE1vbm9cIixDb3VyaWVyLG1vbm9zcGFjZTtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6IzAwMH1rYmR7bWFyZ2luOjA7cGFkZGluZzouMTI1cmVtIC4yNXJlbSAwO2JhY2tncm91bmQtY29sb3I6I2VlZTtmb250LWZhbWlseTpDb25zb2xhcyxcIkxpYmVyYXRpb24gTW9ub1wiLENvdXJpZXIsbW9ub3NwYWNlO2NvbG9yOiMwMDA7Ym9yZGVyLXJhZGl1czouMjVlbX0uc3ViaGVhZGVye21hcmdpbi10b3A6LjJyZW07bWFyZ2luLWJvdHRvbTouNXJlbTtmb250LXdlaWdodDpub3JtYWw7bGluZS1oZWlnaHQ6MS40O2NvbG9yOiM1NTV9LmxlYWR7Zm9udC1zaXplOjEyNSU7bGluZS1oZWlnaHQ6MS42fS5zdGF0e2ZvbnQtc2l6ZToyLjVyZW07bGluZS1oZWlnaHQ6MX1wKy5zdGF0e21hcmdpbi10b3A6LTFyZW19dWwubm8tYnVsbGV0LG9sLm5vLWJ1bGxldHttYXJnaW4tbGVmdDowO2xpc3Qtc3R5bGU6bm9uZX0udGV4dC1sZWZ0e3RleHQtYWxpZ246bGVmdH0udGV4dC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fS50ZXh0LWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcn0udGV4dC1qdXN0aWZ5e3RleHQtYWxpZ246anVzdGlmeX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lm1lZGl1bS10ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS5tZWRpdW0tdGV4dC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fS5tZWRpdW0tdGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9Lm1lZGl1bS10ZXh0LWp1c3RpZnl7dGV4dC1hbGlnbjpqdXN0aWZ5fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmxhcmdlLXRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LmxhcmdlLXRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0ubGFyZ2UtdGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LmxhcmdlLXRleHQtanVzdGlmeXt0ZXh0LWFsaWduOmp1c3RpZnl9fS5zaG93LWZvci1wcmludHtkaXNwbGF5Om5vbmUgIWltcG9ydGFudH1AbWVkaWEgcHJpbnR7KntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7Y29sb3I6YmxhY2sgIWltcG9ydGFudDt0ZXh0LXNoYWRvdzpub25lICFpbXBvcnRhbnR9LnNob3ctZm9yLXByaW50e2Rpc3BsYXk6YmxvY2sgIWltcG9ydGFudH0uaGlkZS1mb3ItcHJpbnR7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9dGFibGUuc2hvdy1mb3ItcHJpbnR7ZGlzcGxheTp0YWJsZSAhaW1wb3J0YW50fXRoZWFkLnNob3ctZm9yLXByaW50e2Rpc3BsYXk6dGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnR9dGJvZHkuc2hvdy1mb3ItcHJpbnR7ZGlzcGxheTp0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudH10ci5zaG93LWZvci1wcmludHtkaXNwbGF5OnRhYmxlLXJvdyAhaW1wb3J0YW50fXRkLnNob3ctZm9yLXByaW50e2Rpc3BsYXk6dGFibGUtY2VsbCAhaW1wb3J0YW50fXRoLnNob3ctZm9yLXByaW50e2Rpc3BsYXk6dGFibGUtY2VsbCAhaW1wb3J0YW50fWEsYTp2aXNpdGVke3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9YVtocmVmXTphZnRlcntjb250ZW50OlwiIChcIiBhdHRyKGhyZWYpIFwiKVwifS5pciBhOmFmdGVyLGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsYVtocmVmXj0nIyddOmFmdGVye2NvbnRlbnQ6Jyd9YWJiclt0aXRsZV06YWZ0ZXJ7Y29udGVudDpcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCJ9cHJlLGJsb2NrcXVvdGV7Ym9yZGVyOjFweCBzb2xpZCAjNTU1O3BhZ2UtYnJlYWstaW5zaWRlOmF2b2lkfXRoZWFke2Rpc3BsYXk6dGFibGUtaGVhZGVyLWdyb3VwfXRyLGltZ3twYWdlLWJyZWFrLWluc2lkZTphdm9pZH1pbWd7bWF4LXdpZHRoOjEwMCUgIWltcG9ydGFudH1AcGFnZXttYXJnaW46MC41Y219cCxoMixoM3tvcnBoYW5zOjM7d2lkb3dzOjN9aDIsaDN7cGFnZS1icmVhay1hZnRlcjphdm9pZH0ucHJpbnQtYnJlYWstaW5zaWRle3BhZ2UtYnJlYWstaW5zaWRlOmF1dG99fVt0eXBlPSd0ZXh0J10sW3R5cGU9J3Bhc3N3b3JkJ10sW3R5cGU9J2RhdGUnXSxbdHlwZT0nZGF0ZXRpbWUnXSxbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxbdHlwZT0nbW9udGgnXSxbdHlwZT0nd2VlayddLFt0eXBlPSdlbWFpbCddLFt0eXBlPSdudW1iZXInXSxbdHlwZT0nc2VhcmNoJ10sW3R5cGU9J3RlbCddLFt0eXBlPSd0aW1lJ10sW3R5cGU9J3VybCddLFt0eXBlPSdjb2xvciddLHRleHRhcmVhe2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCU7aGVpZ2h0OjIuOTM3NXJlbTttYXJnaW46MCAwIDEuNXJlbTtwYWRkaW5nOi43NXJlbTtib3JkZXI6MC4xMjVlbSBzb2xpZCAjZWVlO2JvcmRlci1yYWRpdXM6LjI1ZW07YmFja2dyb3VuZC1jb2xvcjojZmZmO2JveC1zaGFkb3c6bm9uZTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxcmVtO2ZvbnQtd2VpZ2h0Om5vcm1hbDtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzAwMDt0cmFuc2l0aW9uOjAuM3MgZWFzZTthcHBlYXJhbmNlOm5vbmV9W3R5cGU9J3RleHQnXTpmb2N1cyxbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cyxbdHlwZT0nZGF0ZSddOmZvY3VzLFt0eXBlPSdkYXRldGltZSddOmZvY3VzLFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLFt0eXBlPSdtb250aCddOmZvY3VzLFt0eXBlPSd3ZWVrJ106Zm9jdXMsW3R5cGU9J2VtYWlsJ106Zm9jdXMsW3R5cGU9J251bWJlciddOmZvY3VzLFt0eXBlPSdzZWFyY2gnXTpmb2N1cyxbdHlwZT0ndGVsJ106Zm9jdXMsW3R5cGU9J3RpbWUnXTpmb2N1cyxbdHlwZT0ndXJsJ106Zm9jdXMsW3R5cGU9J2NvbG9yJ106Zm9jdXMsdGV4dGFyZWE6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjowLjEyNWVtIHNvbGlkICMyNzlCNDg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JveC1zaGFkb3c6bm9uZTt0cmFuc2l0aW9uOjAuM3MgZWFzZX10ZXh0YXJlYXttYXgtd2lkdGg6MTAwJX10ZXh0YXJlYVtyb3dzXXtoZWlnaHQ6YXV0b31pbnB1dDo6cGxhY2Vob2xkZXIsdGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOiM5OTl9aW5wdXQ6ZGlzYWJsZWQsaW5wdXRbcmVhZG9ubHldLHRleHRhcmVhOmRpc2FibGVkLHRleHRhcmVhW3JlYWRvbmx5XXtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7Y3Vyc29yOm5vdC1hbGxvd2VkfVt0eXBlPSdzdWJtaXQnXSxbdHlwZT0nYnV0dG9uJ117YXBwZWFyYW5jZTpub25lO2JvcmRlci1yYWRpdXM6LjI1ZW19aW5wdXRbdHlwZT0nc2VhcmNoJ117Ym94LXNpemluZzpib3JkZXItYm94fVt0eXBlPSdmaWxlJ10sW3R5cGU9J2NoZWNrYm94J10sW3R5cGU9J3JhZGlvJ117bWFyZ2luOjAgMCAxLjVyZW19W3R5cGU9J2NoZWNrYm94J10rbGFiZWwsW3R5cGU9J3JhZGlvJ10rbGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7bWFyZ2luLWxlZnQ6Ljc1cmVtO21hcmdpbi1yaWdodDoxLjVyZW07bWFyZ2luLWJvdHRvbTowfVt0eXBlPSdjaGVja2JveCddK2xhYmVsW2Zvcl0sW3R5cGU9J3JhZGlvJ10rbGFiZWxbZm9yXXtjdXJzb3I6cG9pbnRlcn1sYWJlbD5bdHlwZT0nY2hlY2tib3gnXSxsYWJlbD5bdHlwZT0ncmFkaW8nXXttYXJnaW4tcmlnaHQ6Ljc1cmVtfVt0eXBlPSdmaWxlJ117d2lkdGg6MTAwJX1sYWJlbHtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0Om5vcm1hbDtsaW5lLWhlaWdodDoxLjg7Y29sb3I6IzAwMH1sYWJlbC5taWRkbGV7bWFyZ2luOjAgMCAxLjVyZW07cGFkZGluZzouODc1cmVtIDB9LmhlbHAtdGV4dHttYXJnaW4tdG9wOi0uNzVyZW07Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtc3R5bGU6aXRhbGljO2NvbG9yOiMwMDB9LmlucHV0LWdyb3Vwe2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlO21hcmdpbi1ib3R0b206MS41cmVtO2FsaWduLWl0ZW1zOnN0cmV0Y2h9LmlucHV0LWdyb3VwPjpmaXJzdC1jaGlsZHtib3JkZXItcmFkaXVzOi4yNWVtIDAgMCAuMjVlbX0uaW5wdXQtZ3JvdXA+Omxhc3QtY2hpbGQ+Kntib3JkZXItcmFkaXVzOjAgLjI1ZW0gLjI1ZW0gMH0uaW5wdXQtZ3JvdXAtbGFiZWwsLmlucHV0LWdyb3VwLWZpZWxkLC5pbnB1dC1ncm91cC1idXR0b24sLmlucHV0LWdyb3VwLWJ1dHRvbiBhLC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbHttYXJnaW46MDt3aGl0ZS1zcGFjZTpub3dyYXB9LmlucHV0LWdyb3VwLWxhYmVse3BhZGRpbmc6MCAxcmVtO2JvcmRlcjoxcHggc29saWQgIzk5OTtiYWNrZ3JvdW5kOiNlZWU7Y29sb3I6IzAwMDt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87YWxpZ24taXRlbXM6Y2VudGVyfS5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZHtib3JkZXItcmlnaHQ6MH0uaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZHtib3JkZXItbGVmdDowfS5pbnB1dC1ncm91cC1maWVsZHtib3JkZXItcmFkaXVzOjA7ZmxleDoxIDEgMHB4O2hlaWdodDphdXRvO21pbi13aWR0aDowfS5pbnB1dC1ncm91cC1idXR0b257cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvfS5pbnB1dC1ncm91cC1idXR0b24gYSwuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWx7aGVpZ2h0OmF1dG87YWxpZ24tc2VsZjpzdHJldGNoO3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206MDtmb250LXNpemU6MXJlbX1maWVsZHNldHttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjB9bGVnZW5ke21heC13aWR0aDoxMDAlO21hcmdpbi1ib3R0b206Ljc1cmVtfS5maWVsZHNldHttYXJnaW46MS4xMjVyZW0gMDtwYWRkaW5nOjEuMjVyZW07Ym9yZGVyOjFweCBzb2xpZCAjOTk5fS5maWVsZHNldCBsZWdlbmR7bWFyZ2luOjA7bWFyZ2luLWxlZnQ6LS4xODc1cmVtO3BhZGRpbmc6MCAuMTg3NXJlbX1zZWxlY3R7aGVpZ2h0OjIuOTM3NXJlbTttYXJnaW46MCAwIDEuNXJlbTtwYWRkaW5nOi43NXJlbTthcHBlYXJhbmNlOm5vbmU7Ym9yZGVyOjAuMTI1ZW0gc29saWQgI2VlZTtib3JkZXItcmFkaXVzOi4yNWVtO2JhY2tncm91bmQtY29sb3I6I2ZmZjtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxcmVtO2ZvbnQtd2VpZ2h0Om5vcm1hbDtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4ODUsIDg1LCA4NSUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtiYWNrZ3JvdW5kLW9yaWdpbjpjb250ZW50LWJveDtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IC0xLjVyZW0gY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6OXB4IDZweDtwYWRkaW5nLXJpZ2h0OjIuMjVyZW07dHJhbnNpdGlvbjowLjNzIGVhc2V9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCl7c2VsZWN0e2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKX19c2VsZWN0OmZvY3Vze291dGxpbmU6bm9uZTtib3JkZXI6MC4xMjVlbSBzb2xpZCAjMjc5QjQ4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3gtc2hhZG93Om5vbmU7dHJhbnNpdGlvbjowLjNzIGVhc2V9c2VsZWN0OmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6I2VlZTtjdXJzb3I6bm90LWFsbG93ZWR9c2VsZWN0OjotbXMtZXhwYW5ke2Rpc3BsYXk6bm9uZX1zZWxlY3RbbXVsdGlwbGVde2hlaWdodDphdXRvO2JhY2tncm91bmQtaW1hZ2U6bm9uZX0uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKXtib3JkZXItY29sb3I6I2VjNTg0MDtiYWNrZ3JvdW5kLWNvbG9yOiNmZGVlZWN9LmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVye2NvbG9yOiNlYzU4NDB9LmlzLWludmFsaWQtbGFiZWx7Y29sb3I6I2VjNTg0MH0uZm9ybS1lcnJvcntkaXNwbGF5Om5vbmU7bWFyZ2luLXRvcDotLjc1cmVtO21hcmdpbi1ib3R0b206MS41cmVtO2ZvbnQtc2l6ZTouNzVyZW07Zm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjojZWM1ODQwfS5mb3JtLWVycm9yLmlzLXZpc2libGV7ZGlzcGxheTpibG9ja30uYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46MDtmb250LWZhbWlseTppbmhlcml0O3BhZGRpbmc6MWVtIDEuNWVtOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czouMjVlbTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsY29sb3IgMC4yNXMgZWFzZS1vdXQ7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MTt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiMyNzlCNDg7Y29sb3I6I2ZmZn1bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbntvdXRsaW5lOjB9LmJ1dHRvbjpob3ZlciwuYnV0dG9uOmZvY3Vze2JhY2tncm91bmQtY29sb3I6IzIxODQzZDtjb2xvcjojZmZmfS5idXR0b24uc21hbGx7Zm9udC1zaXplOi43NXJlbX0uYnV0dG9uLmxhcmdle2ZvbnQtc2l6ZToxLjEyNXJlbX0uYnV0dG9uLmV4cGFuZGVke2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfS5idXR0b24ucHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiMyNzlCNDg7Y29sb3I6IzAwMH0uYnV0dG9uLnByaW1hcnk6aG92ZXIsLmJ1dHRvbi5wcmltYXJ5OmZvY3Vze2JhY2tncm91bmQtY29sb3I6IzFmN2MzYTtjb2xvcjojMDAwfS5idXR0b24uc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6IzA3Njtjb2xvcjojZmZmfS5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLC5idXR0b24uc2Vjb25kYXJ5OmZvY3Vze2JhY2tncm91bmQtY29sb3I6IzAwNWY1Mjtjb2xvcjojZmZmfS5idXR0b24uc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiMzYWRiNzY7Y29sb3I6IzAwMH0uYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsLmJ1dHRvbi5zdWNjZXNzOmZvY3Vze2JhY2tncm91bmQtY29sb3I6IzIyYmI1Yjtjb2xvcjojMDAwfS5idXR0b24ud2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmFlMDA7Y29sb3I6IzAwMH0uYnV0dG9uLndhcm5pbmc6aG92ZXIsLmJ1dHRvbi53YXJuaW5nOmZvY3Vze2JhY2tncm91bmQtY29sb3I6I2NjOGIwMDtjb2xvcjojMDAwfS5idXR0b24uYWxlcnR7YmFja2dyb3VuZC1jb2xvcjojZWM1ODQwO2NvbG9yOiMwMDB9LmJ1dHRvbi5hbGVydDpob3ZlciwuYnV0dG9uLmFsZXJ0OmZvY3Vze2JhY2tncm91bmQtY29sb3I6I2RhMzExNjtjb2xvcjojMDAwfS5idXR0b24uZGlzYWJsZWQsLmJ1dHRvbltkaXNhYmxlZF17b3BhY2l0eTouMjU7Y3Vyc29yOm5vdC1hbGxvd2VkfS5idXR0b24uZGlzYWJsZWQsLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwuYnV0dG9uLmRpc2FibGVkOmZvY3VzLC5idXR0b25bZGlzYWJsZWRdLC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLC5idXR0b25bZGlzYWJsZWRdOmZvY3Vze2JhY2tncm91bmQtY29sb3I6IzI3OUI0ODtjb2xvcjojZmZmfS5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5e29wYWNpdHk6LjI1O2N1cnNvcjpub3QtYWxsb3dlZH0uYnV0dG9uLmRpc2FibGVkLnByaW1hcnksLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiMyNzlCNDg7Y29sb3I6IzAwMH0uYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnl7b3BhY2l0eTouMjU7Y3Vyc29yOm5vdC1hbGxvd2VkfS5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3Vze2JhY2tncm91bmQtY29sb3I6IzA3Njtjb2xvcjojZmZmfS5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNze29wYWNpdHk6LjI1O2N1cnNvcjpub3QtYWxsb3dlZH0uYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiMzYWRiNzY7Y29sb3I6IzAwMH0uYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZ3tvcGFjaXR5Oi4yNTtjdXJzb3I6bm90LWFsbG93ZWR9LmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojZmZhZTAwO2NvbG9yOiMwMDB9LmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwuYnV0dG9uW2Rpc2FibGVkXS5hbGVydHtvcGFjaXR5Oi4yNTtjdXJzb3I6bm90LWFsbG93ZWR9LmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojZWM1ODQwO2NvbG9yOiMwMDB9LmJ1dHRvbi5ob2xsb3d7Ym9yZGVyOjFweCBzb2xpZCAjMjc5QjQ4O2NvbG9yOiMyNzlCNDh9LmJ1dHRvbi5ob2xsb3csLmJ1dHRvbi5ob2xsb3c6aG92ZXIsLmJ1dHRvbi5ob2xsb3c6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idXR0b24uaG9sbG93OmhvdmVyLC5idXR0b24uaG9sbG93OmZvY3Vze2JvcmRlci1jb2xvcjojMTQ0ZTI0O2NvbG9yOiMxNDRlMjR9LmJ1dHRvbi5ob2xsb3c6aG92ZXIuZGlzYWJsZWQsLmJ1dHRvbi5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLC5idXR0b24uaG9sbG93OmZvY3VzW2Rpc2FibGVkXXtib3JkZXI6MXB4IHNvbGlkICMyNzlCNDg7Y29sb3I6IzI3OUI0OH0uYnV0dG9uLmhvbGxvdy5wcmltYXJ5e2JvcmRlcjoxcHggc29saWQgIzI3OUI0ODtjb2xvcjojMjc5QjQ4fS5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c3tib3JkZXItY29sb3I6IzE0NGUyNDtjb2xvcjojMTQ0ZTI0fS5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXXtib3JkZXI6MXB4IHNvbGlkICMyNzlCNDg7Y29sb3I6IzI3OUI0OH0uYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnl7Ym9yZGVyOjFweCBzb2xpZCAjMDc2O2NvbG9yOiMwNzZ9LmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1c3tib3JkZXItY29sb3I6IzAwM2MzMztjb2xvcjojMDAzYzMzfS5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRde2JvcmRlcjoxcHggc29saWQgIzA3Njtjb2xvcjojMDc2fS5idXR0b24uaG9sbG93LnN1Y2Nlc3N7Ym9yZGVyOjFweCBzb2xpZCAjM2FkYjc2O2NvbG9yOiMzYWRiNzZ9LmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3Vze2JvcmRlci1jb2xvcjojMTU3NTM5O2NvbG9yOiMxNTc1Mzl9LmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRde2JvcmRlcjoxcHggc29saWQgIzNhZGI3Njtjb2xvcjojM2FkYjc2fS5idXR0b24uaG9sbG93Lndhcm5pbmd7Ym9yZGVyOjFweCBzb2xpZCAjZmZhZTAwO2NvbG9yOiNmZmFlMDB9LmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3Vze2JvcmRlci1jb2xvcjojODA1NzAwO2NvbG9yOiM4MDU3MDB9LmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLmRpc2FibGVkLC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRde2JvcmRlcjoxcHggc29saWQgI2ZmYWUwMDtjb2xvcjojZmZhZTAwfS5idXR0b24uaG9sbG93LmFsZXJ0e2JvcmRlcjoxcHggc29saWQgI2VjNTg0MDtjb2xvcjojZWM1ODQwfS5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3Vze2JvcmRlci1jb2xvcjojODgxZjBlO2NvbG9yOiM4ODFmMGV9LmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLmRpc2FibGVkLC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXXtib3JkZXI6MXB4IHNvbGlkICNlYzU4NDA7Y29sb3I6I2VjNTg0MH0uYnV0dG9uLmNsZWFye2JvcmRlcjoxcHggc29saWQgIzI3OUI0ODtjb2xvcjojMjc5QjQ4fS5idXR0b24uY2xlYXIsLmJ1dHRvbi5jbGVhcjpob3ZlciwuYnV0dG9uLmNsZWFyOmZvY3Vze2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnV0dG9uLmNsZWFyOmhvdmVyLC5idXR0b24uY2xlYXI6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMxNDRlMjQ7Y29sb3I6IzE0NGUyNH0uYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF17Ym9yZGVyOjFweCBzb2xpZCAjMjc5QjQ4O2NvbG9yOiMyNzlCNDh9LmJ1dHRvbi5jbGVhciwuYnV0dG9uLmNsZWFyLmRpc2FibGVkLC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLC5idXR0b24uY2xlYXI6aG92ZXIsLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmNsZWFyOmZvY3VzLC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF17Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5idXR0b24uY2xlYXIucHJpbWFyeXtib3JkZXI6MXB4IHNvbGlkICMyNzlCNDg7Y29sb3I6IzI3OUI0OH0uYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3Vze2JvcmRlci1jb2xvcjojMTQ0ZTI0O2NvbG9yOiMxNDRlMjR9LmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF17Ym9yZGVyOjFweCBzb2xpZCAjMjc5QjQ4O2NvbG9yOiMyNzlCNDh9LmJ1dHRvbi5jbGVhci5wcmltYXJ5LC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF17Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5idXR0b24uY2xlYXIuc2Vjb25kYXJ5e2JvcmRlcjoxcHggc29saWQgIzA3Njtjb2xvcjojMDc2fS5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3Vze2JvcmRlci1jb2xvcjojMDAzYzMzO2NvbG9yOiMwMDNjMzN9LmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXXtib3JkZXI6MXB4IHNvbGlkICMwNzY7Y29sb3I6IzA3Nn0uYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXXtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LmJ1dHRvbi5jbGVhci5zdWNjZXNze2JvcmRlcjoxcHggc29saWQgIzNhZGI3Njtjb2xvcjojM2FkYjc2fS5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMxNTc1Mzk7Y29sb3I6IzE1NzUzOX0uYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXXtib3JkZXI6MXB4IHNvbGlkICMzYWRiNzY7Y29sb3I6IzNhZGI3Nn0uYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXXtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LmJ1dHRvbi5jbGVhci53YXJuaW5ne2JvcmRlcjoxcHggc29saWQgI2ZmYWUwMDtjb2xvcjojZmZhZTAwfS5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXN7Ym9yZGVyLWNvbG9yOiM4MDU3MDA7Y29sb3I6IzgwNTcwMH0uYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXXtib3JkZXI6MXB4IHNvbGlkICNmZmFlMDA7Y29sb3I6I2ZmYWUwMH0uYnV0dG9uLmNsZWFyLndhcm5pbmcsLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXXtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LmJ1dHRvbi5jbGVhci5hbGVydHtib3JkZXI6MXB4IHNvbGlkICNlYzU4NDA7Y29sb3I6I2VjNTg0MH0uYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOiM4ODFmMGU7Y29sb3I6Izg4MWYwZX0uYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF17Ym9yZGVyOjFweCBzb2xpZCAjZWM1ODQwO2NvbG9yOiNlYzU4NDB9LmJ1dHRvbi5jbGVhci5hbGVydCwuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF17Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5idXR0b24uZHJvcGRvd246OmFmdGVye2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXI6aW5zZXQgLjRlbTtjb250ZW50OicnO2JvcmRlci1ib3R0b20td2lkdGg6MDtib3JkZXItdG9wLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowLjRlbTtkaXNwbGF5OmlubGluZS1ibG9jaztmbG9hdDpyaWdodDttYXJnaW4tbGVmdDoxLjVlbX0uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXJ7Ym9yZGVyLXRvcC1jb2xvcjojMjc5QjQ4fS5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVye2JvcmRlci10b3AtY29sb3I6IzI3OUI0OH0uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVye2JvcmRlci10b3AtY29sb3I6IzA3Nn0uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlcntib3JkZXItdG9wLWNvbG9yOiMzYWRiNzZ9LmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXJ7Ym9yZGVyLXRvcC1jb2xvcjojZmZhZTAwfS5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlcntib3JkZXItdG9wLWNvbG9yOiNlYzU4NDB9LmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlcnt0b3A6LTAuMWVtO2Zsb2F0Om5vbmU7bWFyZ2luLWxlZnQ6MH1hLmJ1dHRvbjpob3ZlcixhLmJ1dHRvbjpmb2N1c3t0ZXh0LWRlY29yYXRpb246bm9uZX0uYnV0dG9uLWdyb3Vwe21hcmdpbi1ib3R0b206MXJlbTtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOm5vd3JhcDthbGlnbi1pdGVtczpzdHJldGNofS5idXR0b24tZ3JvdXA6OmJlZm9yZSwuYnV0dG9uLWdyb3VwOjphZnRlcntkaXNwbGF5OnRhYmxlO2NvbnRlbnQ6JyAnO2ZsZXgtYmFzaXM6MDtvcmRlcjoxfS5idXR0b24tZ3JvdXA6OmFmdGVye2NsZWFyOmJvdGh9LmJ1dHRvbi1ncm91cCAuYnV0dG9ue21hcmdpbjowO21hcmdpbi1yaWdodDoxcHg7bWFyZ2luLWJvdHRvbToxcHg7Zm9udC1zaXplOjFyZW07ZmxleDowIDAgYXV0b30uYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MH0uYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b257Zm9udC1zaXplOi43NXJlbX0uYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b257Zm9udC1zaXplOjEuMTI1cmVtfS5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbntmbGV4OjEgMSAwcHh9LmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b257YmFja2dyb3VuZC1jb2xvcjojMjc5QjQ4O2NvbG9yOiMwMDB9LmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojMWY3YzNhO2NvbG9yOiMwMDB9LmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiMwNzY7Y29sb3I6I2ZmZn0uYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojMDA1ZjUyO2NvbG9yOiNmZmZ9LmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b257YmFja2dyb3VuZC1jb2xvcjojM2FkYjc2O2NvbG9yOiMwMDB9LmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojMjJiYjViO2NvbG9yOiMwMDB9LmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b257YmFja2dyb3VuZC1jb2xvcjojZmZhZTAwO2NvbG9yOiMwMDB9LmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojY2M4YjAwO2NvbG9yOiMwMDB9LmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9ue2JhY2tncm91bmQtY29sb3I6I2VjNTg0MDtjb2xvcjojMDAwfS5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojZGEzMTE2O2NvbG9yOiMwMDB9LmJ1dHRvbi1ncm91cC5zdGFja2VkLC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW17ZmxleC13cmFwOndyYXB9LmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b257ZmxleDowIDAgMTAwJX0uYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbntmbGV4OjEgMSAwcHg7bWFyZ2luLWJvdHRvbTowfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbntmbGV4OjEgMSAwcHg7bWFyZ2luLWJvdHRvbTowfX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pey5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWR7ZGlzcGxheTpibG9ja30uYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b257ZGlzcGxheTpibG9jazttYXJnaW4tcmlnaHQ6MH19LnJlc3BvbnNpdmUtZW1iZWQsLmZsZXgtdmlkZW97cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjA7bWFyZ2luLWJvdHRvbToxcmVtO3BhZGRpbmctYm90dG9tOjc1JTtvdmVyZmxvdzpoaWRkZW59LnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCwucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCwucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbywuZmxleC12aWRlbyBpZnJhbWUsLmZsZXgtdmlkZW8gb2JqZWN0LC5mbGV4LXZpZGVvIGVtYmVkLC5mbGV4LXZpZGVvIHZpZGVve3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sLmZsZXgtdmlkZW8ud2lkZXNjcmVlbntwYWRkaW5nLWJvdHRvbTo1Ni4yNSV9dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO3dpZHRoOjEwMCU7bWFyZ2luLWJvdHRvbToxcmVtO2JvcmRlci1yYWRpdXM6LjI1ZW19dGFibGUgdGhlYWQsdGFibGUgdGJvZHksdGFibGUgdGZvb3R7Ym9yZGVyOjFweCBzb2xpZCAjZjJmMmYyO2JhY2tncm91bmQtY29sb3I6I2ZmZn10YWJsZSBjYXB0aW9ue3BhZGRpbmc6LjVyZW0gLjYyNXJlbSAuNjI1cmVtO2ZvbnQtd2VpZ2h0OmJvbGR9dGFibGUgdGhlYWR7YmFja2dyb3VuZDojZjlmOWY5O2NvbG9yOiMwMDB9dGFibGUgdGZvb3R7YmFja2dyb3VuZDojZjJmMmYyO2NvbG9yOiMwMDB9dGFibGUgdGhlYWQgdHIsdGFibGUgdGZvb3QgdHJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH10YWJsZSB0aGVhZCB0aCx0YWJsZSB0aGVhZCB0ZCx0YWJsZSB0Zm9vdCB0aCx0YWJsZSB0Zm9vdCB0ZHtwYWRkaW5nOi41cmVtIC42MjVyZW0gLjYyNXJlbTtmb250LXdlaWdodDpib2xkO3RleHQtYWxpZ246bGVmdH10YWJsZSB0Ym9keSB0aCx0YWJsZSB0Ym9keSB0ZHtwYWRkaW5nOi41cmVtIC42MjVyZW0gLjYyNXJlbX10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbil7Ym9yZGVyLWJvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2YyZjJmMn10YWJsZS51bnN0cmlwZWQgdGJvZHl7YmFja2dyb3VuZC1jb2xvcjojZmZmfXRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0cntib3JkZXItYm90dG9tOjA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YyZjJmMjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKXt0YWJsZS5zdGFjayB0aGVhZHtkaXNwbGF5Om5vbmV9dGFibGUuc3RhY2sgdGZvb3R7ZGlzcGxheTpub25lfXRhYmxlLnN0YWNrIHRyLHRhYmxlLnN0YWNrIHRoLHRhYmxlLnN0YWNrIHRke2Rpc3BsYXk6YmxvY2t9dGFibGUuc3RhY2sgdGR7Ym9yZGVyLXRvcDowfX10YWJsZS5zY3JvbGx7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO292ZXJmbG93LXg6YXV0b310YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNGY0ZjR9dGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWRlZGVkfXRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYX10YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWRlZGVkfS50YWJsZS1zY3JvbGx7b3ZlcmZsb3cteDphdXRvfS50YWJsZS1zY3JvbGwgdGFibGV7d2lkdGg6YXV0b30uaGlkZXtkaXNwbGF5Om5vbmUgIWltcG9ydGFudH0uaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVufUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSl7LmhpZGUtZm9yLXNtYWxsLW9ubHl7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LnNob3ctZm9yLXNtYWxsLW9ubHl7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuaGlkZS1mb3ItbWVkaXVte2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pey5zaG93LWZvci1tZWRpdW17ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pey5oaWRlLWZvci1tZWRpdW0tb25seXtkaXNwbGF5Om5vbmUgIWltcG9ydGFudH19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuc2hvdy1mb3ItbWVkaXVtLW9ubHl7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuaGlkZS1mb3ItbGFyZ2V7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSl7LnNob3ctZm9yLWxhcmdle2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKXsuaGlkZS1mb3ItbGFyZ2Utb25seXtkaXNwbGF5Om5vbmUgIWltcG9ydGFudH19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKXsuc2hvdy1mb3ItbGFyZ2Utb25seXtkaXNwbGF5Om5vbmUgIWltcG9ydGFudH19LnNob3ctZm9yLXNyLC5zaG93LW9uLWZvY3Vze3Bvc2l0aW9uOmFic29sdXRlICFpbXBvcnRhbnQ7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwgMCwgMCwgMCk7d2hpdGUtc3BhY2U6bm93cmFwO2NsaXAtcGF0aDppbnNldCg1MCUpO2JvcmRlcjowfS5zaG93LW9uLWZvY3VzOmFjdGl2ZSwuc2hvdy1vbi1mb2N1czpmb2N1c3twb3NpdGlvbjpzdGF0aWMgIWltcG9ydGFudDt3aWR0aDphdXRvO2hlaWdodDphdXRvO292ZXJmbG93OnZpc2libGU7Y2xpcDphdXRvO3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXBhdGg6bm9uZX0uc2hvdy1mb3ItbGFuZHNjYXBlLC5oaWRlLWZvci1wb3J0cmFpdHtkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnR9QG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpey5zaG93LWZvci1sYW5kc2NhcGUsLmhpZGUtZm9yLXBvcnRyYWl0e2Rpc3BsYXk6YmxvY2sgIWltcG9ydGFudH19QG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCl7LnNob3ctZm9yLWxhbmRzY2FwZSwuaGlkZS1mb3ItcG9ydHJhaXR7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fS5oaWRlLWZvci1sYW5kc2NhcGUsLnNob3ctZm9yLXBvcnRyYWl0e2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fUBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKXsuaGlkZS1mb3ItbGFuZHNjYXBlLC5zaG93LWZvci1wb3J0cmFpdHtkaXNwbGF5Om5vbmUgIWltcG9ydGFudH19QG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCl7LmhpZGUtZm9yLWxhbmRzY2FwZSwuc2hvdy1mb3ItcG9ydHJhaXR7ZGlzcGxheTpibG9jayAhaW1wb3J0YW50fX1odG1sLmlzLWxvY2tlZHtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbn1he3RyYW5zaXRpb246MC4zcyBlYXNlfS5zeXN0ZW0tZXJyb3ItbWVzc2FnZSwuc3lzdGVtLW1lc3NhZ2V7bWFyZ2luOjNyZW0gYXV0bzttYXgtd2lkdGg6ODBlbTtwYWRkaW5nOjAgMS41cmVtfS5tZW51e21hcmdpbjowO2xpc3Qtc3R5bGU6bm9uZX1maWd1cmV7bWFyZ2luOjB9aDJ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiM1NTU7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjAgMCAxZW19Zm9ybXttaW4td2lkdGg6MjMwcHh9aW5wdXR7Y29sb3I6Z3JleX1maWVsZHNldHttYXJnaW46MS41ZW0gMCAyZW19LmZvcm0tY2hlY2tib3h7dGV4dC1hbGlnbjpyaWdodH0uZm9ybS1jaGVja2JveCBsYWJlbHtsaW5lLWhlaWdodDowfS5mb3JtLWZ1bmN0aW9ucyAuYnV0dG9ue2Zsb2F0OnJpZ2h0O21hcmdpbjowfS5mb3JtLWhlYWRlcnt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LmNvbnRhY3QtZGV0YWlscywuYWRkcmVzcy1kZXRhaWxze2JhY2tncm91bmQ6I2VlZTttYXJnaW46MnJlbSAwO3BhZGRpbmc6MnJlbSAwO3RleHQtYWxpZ246Y2VudGVyfS5jb250YWN0LWRldGFpbHMgLmNvbnRhY3QtaGVhZGVyIGg0LC5hZGRyZXNzLWRldGFpbHMgLmNvbnRhY3QtaGVhZGVyIGg0e3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjojMDc2O21hcmdpbi1ib3R0b206MXJlbX0uY29udGFjdC1kZXRhaWxzIC5jb250YWN0LXRlbCwuYWRkcmVzcy1kZXRhaWxzIC5jb250YWN0LXRlbHttYXJnaW4tYm90dG9tOjFyZW19LmNvbnRhY3QtZGV0YWlscyAuY29udGFjdC1hZGRyZXNzIHAsLmFkZHJlc3MtZGV0YWlscyAuY29udGFjdC1hZGRyZXNzIHB7bWFyZ2luLWJvdHRvbTouM3JlbX0uY29udGFjdC1mb3JtIC5jb250YWN0LWRldGFpbHMsLmNvbnRhY3QtZm9ybSAuYWRkcmVzcy1kZXRhaWxze3RleHQtYWxpZ246bGVmdH1bdHlwZT0nZmlsZSdde21hcmdpbjowIDAgMS41cmVtfS53ZWJmb3JtLnJvd3ttYXJnaW46MCAtLjVyZW19LndlYmZvcm0gLmNvbHVtbnN7cGFkZGluZzowIC41cmVtfS5zeXN0ZW0tbWVzc2FnZXttYXJnaW46NGVtIGF1dG99QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCl7LmZvcm0tY2hlY2tib3h7bWFyZ2luOjJyZW0gMCAwIDB9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIGFuZCAobWF4LXdpZHRoOiA3NTBweCl7LmZvcm0tY2hlY2tib3h7bWFyZ2luOjJyZW0gMCAwIDB9LmZvcm0tZnVuY3Rpb25zIC5idXR0b257bWFyZ2luOjJyZW0gMCAwIDB9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpey5mb3JtLWNoZWNrYm94e21hcmdpbjoycmVtIDAgMCAwfX0ubm90aWZpY2F0aW9ue3Bvc2l0aW9uOmZpeGVkO3RvcDoyZW07cmlnaHQ6MmVtO3otaW5kZXg6OTk5O21heC13aWR0aDoxOGVtO2ZvbnQtc2l6ZTowLjhlbTtiYWNrZ3JvdW5kOiNlZWV9Lm5vdGlmaWNhdGlvbiAubm90ZXtwYWRkaW5nOjFyZW07dGV4dC1hbGlnbjpjZW50ZXJ9Lm5vdGlmaWNhdGlvbiBwe21hcmdpbjowO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjJ9Lm5vdGlmaWNhdGlvbiAubm90ZS1hY3Rpb25zOjpiZWZvcmUsLm5vdGlmaWNhdGlvbiAubm90ZS1hY3Rpb25zOjphZnRlcntkaXNwbGF5OnRhYmxlO2NvbnRlbnQ6JyAnO2ZsZXgtYmFzaXM6MDtvcmRlcjoxfS5ub3RpZmljYXRpb24gLm5vdGUtYWN0aW9uczo6YWZ0ZXJ7Y2xlYXI6Ym90aH0ubm90aWZpY2F0aW9uIGJ1dHRvbnt3aWR0aDoxMDAlO2Zsb2F0OmxlZnQ7cGFkZGluZzoxZW0gMS41ZW07Ym9yZGVyLXJhZGl1czowfS5ub3RpZmljYXRpb24gYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6I2Q1ZDVkNX0ucHJvZHVjdC1ub3RlIC5ub3Rle3BhZGRpbmc6MC41ZW19LnByb2R1Y3Qtbm90ZSBpbWd7bWFyZ2luLWJvdHRvbTowLjZlbX0ucHJvZHVjdC1ub3RlIC5ub3RlLWFjdGlvbnN7Ym9yZGVyLXRvcDpzb2xpZCAxcHggI2ZmZn0ucHJvZHVjdC1ub3RlIGJ1dHRvbnt3aWR0aDo1MCV9LnByb2R1Y3Qtbm90ZSBidXR0b246Zmlyc3QtY2hpbGR7Ym9yZGVyLXJpZ2h0OnNvbGlkIDFweCAjZmZmfS5zZWxlY3Rlcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO21hcmdpbjowIDAgMS41ZW07ei1pbmRleDoxO2ZsZXg6MX0uc2VsZWN0ZXI6Zm9jdXN7Ym94LXNoYWRvdzpub25lO291dGxpbmU6bm9uZX0uc2VsZWN0ZXIsLnNlbGVjdGVyICp7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lICFpbXBvcnRhbnQ7LW1vei11c2VyLXNlbGVjdDpub25lICFpbXBvcnRhbnQ7LW1zLXVzZXItc2VsZWN0Om5vbmUgIWltcG9ydGFudDt1c2VyLXNlbGVjdDpub25lICFpbXBvcnRhbnR9LnNlbGVjdGVyLC5zZWxlY3RlciAqLC5zZWxlY3RlciAqOmJlZm9yZSwuc2VsZWN0ZXIgKjphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3h9LnNlbGVjdGVyLWVsZW1lbnR7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7b3BhY2l0eTowO3otaW5kZXg6LTF9LnNlbGVjdGVyLWVsZW1lbnQsLnNlbGVjdGVyLWVsZW1lbnQ6Zm9jdXN7b3V0bGluZTpub25lOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ubm8tb3BhY2l0eSAuc2VsZWN0ZXItZWxlbWVudHtsZWZ0Oi05OTk5OTlweH0uc2VsZWN0ZXItc2VsZWN0ZWR7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDojZmZmZmZmO2JvcmRlcjoxcHggc29saWQgI2NjY2NjYztjb2xvcjojMjIyMjIyO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjFyZW07b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MTNweCAxNXB4O3RleHQtb3ZlcmZsb3c6Y2xpcDt6LWluZGV4OjI7Ym9yZGVyLXJhZGl1czozcHh9LnNlbGVjdGVyLXNlbGVjdGVkOmFmdGVye2hlaWdodDowO3dpZHRoOjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MTVweDtib3R0b206MDtib3JkZXItbGVmdDo1cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjVweCBzb2xpZCAjY2NjY2NjO2NvbnRlbnQ6Jyc7ZGlzcGxheTpibG9jazttYXJnaW46YXV0byAwfS5uby10b3VjaCAuc2VsZWN0ZXItc2VsZWN0ZWQ6aG92ZXJ7Y29sb3I6IzMzMzMzM30ubm8tdG91Y2ggLnNlbGVjdGVyLmRpc2FibGVkIC5zZWxlY3Rlci1zZWxlY3RlZDpob3Zlcntjb2xvcjojY2NjY2NjfS5zZWxlY3Rlci1vcHRpb25ze3dpZHRoOjEwMCU7bWF4LWhlaWdodDoyNjBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTtsZWZ0OjA7Ym9yZGVyOjFweCBzb2xpZCAjY2NjY2NjO2JvcmRlci13aWR0aDowIDFweCAxcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2Rpc3BsYXk6bm9uZTttYXJnaW46MDtvdmVyZmxvdzphdXRvO292ZXJmbG93LXg6aGlkZGVuO3BhZGRpbmc6MDt6LWluZGV4OjUwO2JvcmRlci1yYWRpdXM6MCAwIDNweCAzcHg7Ym94LXNoYWRvdzowIDFweCA0cHggcmdiYSgwLDAsMCwwLjE1KX0uc2VsZWN0ZXItb3B0aW9ucy5zY3JvbGxlcntwb3NpdGlvbjphYnNvbHV0ZX0ubm8tb3BhY2l0eSAuc2VsZWN0ZXItb3B0aW9uc3t3aWR0aDphdXRvfS5zZWxlY3Rlci1ncm91cHtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjY2NjO2NvbG9yOiM5OTk5OTk7ZGlzcGxheTpibG9jaztmb250LXNpemU6LjlyZW07cGFkZGluZzoxMHB4IDE1cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5zZWxlY3Rlci1pdGVte3dpZHRoOjEwMCU7YmFja2dyb3VuZDojZmZmZmZmO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjY2NjY2M7Y29sb3I6IzIyMjIyMjtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxcmVtO21hcmdpbjowO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjEzcHggMTVweDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5zZWxlY3Rlci1pdGVtLnBsYWNlaG9sZGVye2Rpc3BsYXk6bm9uZX0uc2VsZWN0ZXItaXRlbS5zZWxlY3RlZHtiYWNrZ3JvdW5kOiNlZWVlZWV9LnNlbGVjdGVyLWl0ZW0uZGlzYWJsZWR7Y29sb3I6Izk5OTk5OTtjdXJzb3I6ZGVmYXVsdH0uc2VsZWN0ZXItaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItcmFkaXVzOjB9LnNlbGVjdGVyLWl0ZW06bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOjA7Ym9yZGVyLXJhZGl1czowIDAgMnB4IDJweH0ubm8tdG91Y2ggLnNlbGVjdGVyLWl0ZW06aG92ZXIsLm5vLXRvdWNoIC5zZWxlY3Rlci1pdGVtLnNlbGVjdGVkOmhvdmVye2NvbG9yOiMzMzMzMzM7YmFja2dyb3VuZC1jb2xvcjojY2NjY2NjfS5zZWxlY3Rlci1pdGVtLmRpc2FibGVkLC5uby10b3VjaCAuc2VsZWN0ZXItaXRlbS5kaXNhYmxlZDpob3Zlcntjb2xvcjojY2NjY2NjO2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZn0uc2VsZWN0ZXIub3Blbnt6LWluZGV4OjN9LnNlbGVjdGVyLm9wZW4gLnNlbGVjdGVyLXNlbGVjdGVke3otaW5kZXg6NTE7Ym9yZGVyLXJhZGl1czozcHggM3B4IDAgMH0uc2VsZWN0ZXIub3BlbiAuc2VsZWN0ZXItc2VsZWN0ZWQsLnNlbGVjdGVyLmZvY3VzIC5zZWxlY3Rlci1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Ym94LXNoYWRvdzowIDAgNXB4IHJnYmEoMCwwLDAsMC4xKX0uc2VsZWN0ZXIuY292ZXIgLnNlbGVjdGVyLW9wdGlvbnN7Ym9yZGVyLXdpZHRoOjFweDt0b3A6MDtib3JkZXItcmFkaXVzOjNweH0uc2VsZWN0ZXIuY292ZXIgLnNlbGVjdGVyLW9wdGlvbnMgLnNlbGVjdGVyLWl0ZW0uZmlyc3R7Ym9yZGVyLXJhZGl1czozcHggM3B4IDAgMH0uc2VsZWN0ZXIuY292ZXIub3BlbiAuc2VsZWN0ZXItc2VsZWN0ZWR7ei1pbmRleDo0OTtib3JkZXItcmFkaXVzOjNweCAzcHggMCAwfS5zZWxlY3Rlci5ib3R0b20gLnNlbGVjdGVyLW9wdGlvbnN7dG9wOmF1dG87Ym90dG9tOjEwMCU7Ym9yZGVyLXdpZHRoOjFweCAxcHggMH0uc2VsZWN0ZXIuYm90dG9tIC5zZWxlY3Rlci1pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyOm5vbmV9LnNlbGVjdGVyLmJvdHRvbS5vcGVuIC5zZWxlY3Rlci1zZWxlY3RlZHtib3JkZXItcmFkaXVzOjAgMCAzcHggM3B4fS5zZWxlY3Rlci5ib3R0b20ub3BlbiAuc2VsZWN0ZXItb3B0aW9uc3tib3JkZXItcmFkaXVzOjNweCAzcHggMCAwfS5zZWxlY3Rlci5ib3R0b20gLmNvdmVyIC5zZWxlY3Rlci1vcHRpb25ze3RvcDphdXRvO2JvdHRvbTowfS5zZWxlY3Rlci5ib3R0b20gLmNvdmVyLm9wZW4gLnNlbGVjdGVyLXNlbGVjdGVke2JvcmRlci1yYWRpdXM6M3B4fS5zZWxlY3Rlci5ib3R0b20gLmNvdmVyLm9wZW4gLnNlbGVjdGVyLW9wdGlvbnN7Ym9yZGVyLXJhZGl1czozcHh9LnNlbGVjdGVyLm11bHRpcGxlIC5zZWxlY3Rlci1vcHRpb25ze3dpZHRoOjEwMCU7cG9zaXRpb246c3RhdGljO2JvcmRlci13aWR0aDoxcHg7ZGlzcGxheTpibG9jaztib3JkZXItcmFkaXVzOjNweDtib3gtc2hhZG93Om5vbmV9LnNlbGVjdGVyLmRpc2FibGVkIC5zZWxlY3Rlci1zZWxlY3RlZHtiYWNrZ3JvdW5kOiNmZmZmZmY7Ym9yZGVyLWNvbG9yOiNjY2NjY2M7Y29sb3I6I2NjY2NjYztjdXJzb3I6ZGVmYXVsdH0uc2VsZWN0ZXIuZGlzYWJsZWQgLnNlbGVjdGVyLW9wdGlvbnN7YmFja2dyb3VuZDojZmZmZmZmO2JvcmRlci1jb2xvcjojY2NjY2NjfS5zZWxlY3Rlci5kaXNhYmxlZCAuc2VsZWN0ZXItZ3JvdXAsLnNlbGVjdGVyLmRpc2FibGVkIC5zZWxlY3Rlci1pdGVte2JvcmRlci1jb2xvcjojY2NjY2NjO2NvbG9yOiNjY2NjY2M7Y3Vyc29yOmRlZmF1bHR9LnNlbGVjdGVyLmRpc2FibGVkIC5zZWxlY3Rlci1pdGVtLnNlbGVjdGVkLC5uby10b3VjaCAuc2VsZWN0ZXIuZGlzYWJsZWQgLnNlbGVjdGVyLWl0ZW0uc2VsZWN0ZWQ6aG92ZXJ7YmFja2dyb3VuZDojZmFmYWZhfS5zZWxlY3Rlci5kaXNhYmxlZCAuc2VsZWN0ZXItaXRlbSwubm8tdG91Y2ggLnNlbGVjdGVyLmRpc2FibGVkIC5zZWxlY3Rlci1pdGVtOmhvdmVye2NvbG9yOiNjY2NjY2M7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmfS5zZWxlY3Rlci1vcHRpb25zLnNjcm9sbGVye292ZXJmbG93OmhpZGRlbn0uc2VsZWN0ZXItb3B0aW9ucy5zY3JvbGxlciAuc2Nyb2xsZXItY29udGVudHttYXgtaGVpZ2h0OjI2MHB4O3BhZGRpbmc6MH0jaGVhZGVye3BhZGRpbmc6MCAxLjVlbSAxLjVlbTt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItYm90dG9tOnNvbGlkIDFweCAjZjBmMGYwfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsjaGVhZGVye3BhZGRpbmc6MS41ZW19fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsjaGVhZGVye3BhZGRpbmc6MCAxLjVlbSAxLjVlbTttYXJnaW4tdG9wOi0wLjVlbX19LnNpdGUtdGl0bGV7bWF4LXdpZHRoOjEyZW07ZGlzcGxheTppbmxpbmUtYmxvY2t9LnNpdGUtdGl0bGUgaW1ne21pbi13aWR0aDoxOTBweDtwYWRkaW5nOjNlbSAwIDB9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5zaXRlLXRpdGxle2Zsb2F0OmxlZnR9fS5zZWN0aW9ue21hcmdpbjo1ZW0gMH0uc2VjdGlvbiBwOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5zZWN0aW9uIC5yb3cucm93e21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG99LmNvbXBhbnktdGFnbGluZXt0ZXh0LWFsaWduOmNlbnRlcn0uY29tcGFueS1kZXNjcmlwdGlvbnttYXJnaW46MCAwIDRlbX0uaG9tZXBhZ2UtY3Rhe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjAgYXV0byA0ZW07dGV4dC1hbGlnbjpjZW50ZXJ9LmhvbWVwYWdlLWN0YTpob3ZlciwuaG9tZXBhZ2UtY3RhOmZvY3Vze29wYWNpdHk6MC44fS5ob21lcGFnZS1jdGEgLnBvcG92ZXJ7dHJhbnNmb3JtOnJvdGF0ZSgxMmRlZyk7cG9zaXRpb246YWJzb2x1dGU7dG9wOjBlbTtyaWdodDo0ZW07bWF4LXdpZHRoOjcuNmVtO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JveC1zaGFkb3c6MC4yNWVtIDAuMjVlbSAwLjVlbSByZ2JhKDAsMCwwLDAuNil9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKXsuaG9tZXBhZ2UtY3RhIC5wb3BvdmVye2Rpc3BsYXk6bm9uZX19LnB1bHNle2FuaW1hdGlvbjpwdWxzZSAycyBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHB1bHNlezAle2JveC1zaGFkb3c6MCAwIDAgMCByZ2JhKDAsMTE5LDEwMiwwLjQpfTcwJXtib3gtc2hhZG93OjAgMCAwIDAuNzVlbSByZ2JhKDAsMTE5LDEwMiwwKX0xMDAle2JveC1zaGFkb3c6MCAwIDAgMCByZ2JhKDAsMTE5LDEwMiwwKX19I3VzZXItbmF2e3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MmVtIDB9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0peyN1c2VyLW5hdntmbG9hdDpyaWdodDtwYWRkaW5nOjJlbSAwIDAgMS41ZW07dGV4dC1hbGlnbjpyaWdodH19I3VzZXItbmF2IGxpe2Rpc3BsYXk6aW5saW5lO21hcmdpbjowIDAuNzVlbX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7I3VzZXItbmF2IGxpe21hcmdpbjowIDAgMCAxLjVlbX19I3VzZXItbmF2IGxpOmxhc3QtY2hpbGR7ZGlzcGxheTpibG9jazttYXJnaW46MWVtIDB9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0peyN1c2VyLW5hdiBsaTpsYXN0LWNoaWxke2Rpc3BsYXk6aW5saW5lO21hcmdpbjowIDAgMCAxLjVlbX19I3VzZXItbmF2IGxpOmxhc3QtY2hpbGQgYXtjb2xvcjojZmZmfSN1c2VyLW5hdiBhe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZTowLjc1ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiM1NTV9I3ByaW1hcnktbmF2e3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3otaW5kZXg6MjB9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAuMjVlbSl7I3ByaW1hcnktbmF2e3Bvc2l0aW9uOnN0YXRpYztmbG9hdDpyaWdodDttYXJnaW46MmVtIDAgMH19I3ByaW1hcnktbmF2LmlzLWFjdGl2ZSAubWVudXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0jcHJpbWFyeS1uYXYgLm1lbnV7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7cGFkZGluZzowLjVlbSAwO2JhY2tncm91bmQ6IzI3OUI0ODt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAwLjNzIGVhc2V9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAuMjVlbSl7I3ByaW1hcnktbmF2IC5tZW51e3Bvc2l0aW9uOnN0YXRpYztwYWRkaW5nOjA7YmFja2dyb3VuZDpub25lO3RyYW5zZm9ybTpub25lICFpbXBvcnRhbnQ7dHJhbnNpdGlvbjpub25lfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MC4yNWVtKXsjcHJpbWFyeS1uYXYgbGl7ZGlzcGxheTppbmxpbmU7bWFyZ2luLWxlZnQ6MS41ZW19fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0peyNwcmltYXJ5LW5hdiBsaXttYXJnaW4tbGVmdDoyZW19fSNwcmltYXJ5LW5hdiBsaS5pcy1hY3RpdmUgYTo6YmVmb3Jle3dpZHRoOjEwMCV9I3ByaW1hcnktbmF2IGF7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGluZS1oZWlnaHQ6Mztjb2xvcjojZmZmfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwLjI1ZW0peyNwcmltYXJ5LW5hdiBhe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZTowLjg3NWVtO3RleHQtYWxpZ246bGVmdDtsaW5lLWhlaWdodDoxO2NvbG9yOiM1NTV9fSNwcmltYXJ5LW5hdiBhOmhvdmVyOjpiZWZvcmV7d2lkdGg6MTAwJTt0cmFuc2l0aW9uLWRlbGF5OjBzfSNwcmltYXJ5LW5hdiBhOjpiZWZvcmV7Y29udGVudDpcIlwiO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTotMi4yZW07bGVmdDowO3dpZHRoOjA7aGVpZ2h0OjAuMjVlbTtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6IzI3OUI0ODt0cmFuc2l0aW9uOjAuM3MgZWFzZSAwLjJzfS50b2dnbGUtbmF2e3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjAuNWVtO2JvdHRvbTowLjVlbTt6LWluZGV4OjMwO3BhZGRpbmc6MWVtO2JhY2tncm91bmQ6IzI3OUI0OH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MC4yNWVtKXsudG9nZ2xlLW5hdntkaXNwbGF5Om5vbmUgIWltcG9ydGFudH19LnRvZ2dsZS1uYXYuaXMtYWN0aXZlIC5oYW1idXJnZXJ7YmFja2dyb3VuZDpub25lfS50b2dnbGUtbmF2LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyOjpiZWZvcmV7dG9wOjA7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfS50b2dnbGUtbmF2LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyOjphZnRlcntib3R0b206MDt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0uaGFtYnVyZ2Vye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEuNWVtO2hlaWdodDowLjI1ZW07bWFyZ2luOjAuNWVtIDA7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjt0cmFuc2l0aW9uOjAuM3MgZWFzZX0uaGFtYnVyZ2VyOjpiZWZvcmUsLmhhbWJ1cmdlcjo6YWZ0ZXJ7Y29udGVudDpcIlwiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt3aWR0aDoxLjVlbTtoZWlnaHQ6MC4yNWVtO2JhY2tncm91bmQ6Y3VycmVudENvbG9yO3RyYW5zaXRpb246MC4zcyBlYXNlfS5oYW1idXJnZXI6OmJlZm9yZXt0b3A6LTAuNWVtfS5oYW1idXJnZXI6OmFmdGVye2JvdHRvbTotMC41ZW19LnNvY2lhbC1uYXZ7bWFyZ2luLXRvcDoxZW07b3ZlcmZsb3c6aGlkZGVufS5zb2NpYWwtbmF2IGxpe2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDoxZW19LnNvY2lhbC1uYXYgYXt3aWR0aDoxLjVyZW07aGVpZ2h0OjEuNXJlbTtkaXNwbGF5OmJsb2NrO3RleHQtaW5kZW50Oi05OTllbTtiYWNrZ3JvdW5kLXNpemU6MS41cmVtfS5zb2NpYWwtbmF2IGE6aG92ZXIsLnNvY2lhbC1uYXYgYTpmb2N1c3tvcGFjaXR5OjAuNX0uc29jaWFsLW5hdiBbaHJlZio9XCJmYWNlYm9vay5jb21cIl17YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejQ4SVVSUFExUlpVRVVnYzNabklGQlZRa3hKUXlBaUxTOHZWek5ETHk5RVZFUWdVMVpISURFdU1TOHZSVTRpSUNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk5SGNtRndhR2xqY3k5VFZrY3ZNUzR4TDBSVVJDOXpkbWN4TVM1a2RHUWlQanh6ZG1jZ2RtVnljMmx2YmowaU1TNHhJaUJwWkQwaVJtRmpaV0p2YjJzaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJaUIyYVdWM1FtOTRQU0l3SURBZ01qQWdNakFpSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURJd0lESXdJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWo0OGNHRjBhQ0JrUFNKTk1UY3NNVWd6UXpFdU9Td3hMREVzTVM0NUxERXNNM1l4TkdNd0xERXVNVEF4TERBdU9Td3lMRElzTW1nM2RpMDNTRGhXT1M0MU1qVm9NbFkzTGpRM05XTXdMVEl1TVRZMExERXVNakV5TFRNdU5qZzBMRE11TnpZMkxUTXVOamcwYkRFdU9EQXpMREF1TURBeWRqSXVOakExYUMweExqRTVOME14TXk0ek56Z3NOaTR6T1Rnc01UTXNOeTR4TkRRc01UTXNOeTQ0TXpaMk1TNDJPV2d5TGpVMk9Fd3hOU3d4TW1ndE1uWTNhRFJqTVM0eExEQXNNaTB3TGpnNU9Td3lMVEpXTTBNeE9Td3hMamtzTVRndU1Td3hMREUzTERGNklpOCtQQzl6ZG1jKyl9LnNvY2lhbC1uYXYgW2hyZWYqPVwidHdpdHRlci5jb21cIl17YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejQ4SVVSUFExUlpVRVVnYzNabklGQlZRa3hKUXlBaUxTOHZWek5ETHk5RVZFUWdVMVpISURFdU1TOHZSVTRpSUNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk5SGNtRndhR2xqY3k5VFZrY3ZNUzR4TDBSVVJDOXpkbWN4TVM1a2RHUWlQanh6ZG1jZ2RtVnljMmx2YmowaU1TNHhJaUJwWkQwaVZIZHBkSFJsY2lJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUlnZUQwaU1IQjRJaUI1UFNJd2NIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBeU1DQXlNQ0lnWlc1aFlteGxMV0poWTJ0bmNtOTFibVE5SW01bGR5QXdJREFnTWpBZ01qQWlJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpUGp4d1lYUm9JR1E5SWsweE55NHpNVFlzTmk0eU5EWmpNQzR3TURnc01DNHhOaklzTUM0d01URXNNQzR6TWpZc01DNHdNVEVzTUM0ME9EaGpNQ3cwTGprNUxUTXVOemszTERFd0xqYzBNaTB4TUM0M05Dd3hNQzQzTkRKakxUSXVNVE16TERBdE5DNHhNVFl0TUM0Mk1qVXROUzQzT0RjdE1TNDJPVGRqTUM0eU9UWXNNQzR3TXpVc01DNDFPVFlzTUM0d05UTXNNQzQ1TERBdU1EVXpZekV1Tnpjc01Dd3pMak01Tnkwd0xqWXdOQ3cwTGpZNE9DMHhMall4TldNdE1TNDJOVEV0TUM0d016RXRNeTR3TkRZdE1TNHhNakV0TXk0MU1qWXRNaTQyTWpGak1DNHlNeXd3TGpBME15d3dMalEyTnl3d0xqQTJOaXd3TGpjeExEQXVNRFkyWXpBdU16UTFMREFzTUM0Mk56a3RNQzR3TkRVc01DNDVPVFV0TUM0eE16RmpMVEV1TnpJM0xUQXVNelE0TFRNdU1ESTRMVEV1T0RjekxUTXVNREk0TFRNdU56QXpZekF0TUM0d01UWXNNQzB3TGpBek1Td3dMVEF1TURRM1l6QXVOVEE1TERBdU1qZ3pMREV1TURreUxEQXVORFV6TERFdU56RXNNQzQwTnpOakxURXVNREV6TFRBdU5qYzRMVEV1TmpndE1TNDRNekl0TVM0Mk9DMHpMakUwTTJNd0xUQXVOamt4TERBdU1UZzJMVEV1TXpRc01DNDFNVEl0TVM0NE9UaERNeTQ1TkRJc05TNDBPVGdzTmk0M01qVXNOeXc1TGpnMk1pdzNMakUxT0VNNUxqYzVPQ3cyTGpnNE1TdzVMamMyTlN3MkxqVTVOQ3c1TGpjMk5TdzJMakk1TjJNd0xUSXVNRGcwTERFdU5qZzVMVE11TnpjekxETXVOemMwTFRNdU56Y3pZekV1TURnMkxEQXNNaTR3Tmpjc01DNDBOVGNzTWk0M05UWXNNUzR4T1RGak1DNDROVGt0TUM0eE55d3hMalkyTnkwd0xqUTROQ3d5TGpNNU55MHdMamt4Tm1NdE1DNHlPRElzTUM0NE9ERXRNQzQ0T0RFc01TNDJNakV0TVM0Mk5pd3lMakE0T0dNd0xqYzJOQzB3TGpBNU1pd3hMalE1TFRBdU1qa3pMREl1TVRZNExUQXVOVGswUXpFNExqWTVOQ3cxTGpBMU1Td3hPQzR3TlRRc05TNDNNVFVzTVRjdU16RTJMRFl1TWpRMmVpSXZQand2YzNablBnPT0pfS5zb2NpYWwtbmF2IFtocmVmKj1cImluc3RhZ3JhbS5jb21cIl17YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCcFpEMGlTVzV6ZEdGbmNtRnRJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE9DQXhPQ0krUEhScGRHeGxQbWx1YzNSaFozSmhiVHd2ZEdsMGJHVStQSEJoZEdnZ1pEMGlUVEU0TGprME5UZzJMRFl1TWpnNU16RmhOaTQyTURVMk1TdzJMall3TlRZeExEQXNNQ3d3TFM0ME1UZ3pNeTB5TGpFNE5EWXpMRFF1TkRFeE9Ea3NOQzQwTVRFNE9Td3dMREFzTUMweExqQXpPREE1TFRFdU5UazBNVElzTkM0ME1URTRPU3cwTGpReE1UZzVMREFzTUN3d0xURXVOVGswTVRJdE1TNHdNemd3T1N3MkxqWXdOVFl4TERZdU5qQTFOakVzTUN3d0xEQXRNaTR4T0RRMk15MHVOREU0TXpORE1USXVOelV3TnpNc01TNHdNVEF6T0N3eE1pNDBORFF5Tnl3eExERXdMREZ6TFRJdU56VXdOek11TURFd016Z3RNeTQzTVRBMk9Td3dMakExTkRFMFlUWXVOakExTmpFc05pNDJNRFUyTVN3d0xEQXNNQzB5TGpFNE5EWXpMalF4T0RNelFUUXVOREV4T0Rrc05DNDBNVEU0T1N3d0xEQXNNQ3d5TGpVeE1EVTJMREl1TlRFd05UWXNOQzQwTVRFNE9TdzBMalF4TVRnNUxEQXNNQ3d3TERFdU5EY3lORGNzTkM0eE1EUTJPR0UyTGpZd05UWXhMRFl1TmpBMU5qRXNNQ3d3TERBdExqUXhPRE16TERJdU1UZzBOak5ETVM0d01UQXpPQ3czTGpJME9USTNMREVzTnk0MU5UVTNNeXd4TERFd2N6QXVNREV3TXpnc01pNDNOVEEzTXk0d05UUXhOQ3d6TGpjeE1EWTVZVFl1TmpBMU5qRXNOaTQyTURVMk1Td3dMREFzTUN3dU5ERTRNek1zTWk0eE9EUTJNeXcwTGpReE1UZzVMRFF1TkRFeE9Ea3NNQ3d3TERBc01TNHdNemd3T1N3eExqVTVOREV5TERRdU5ERXhNRGtzTkM0ME1URXdPU3d3TERBc01Dd3hMalU1TkRFeUxERXVNRE00TURrc05pNDJNRFUyTVN3MkxqWXdOVFl4TERBc01Dd3dMREl1TVRnME5qTXVOREU0TXpORE55NHlORGt5Tnl3eE9DNDVPRGsyT1N3M0xqVTFOVGN6TERFNUxERXdMREU1Y3pJdU56VXdOek10TGpBeE1ETXhMRE11TnpFd05qa3RNQzR3TlRReE5HRTJMall3TlRZeExEWXVOakExTmpFc01Dd3dMREFzTWk0eE9EUTJNeTB1TkRFNE16TXNOQzQyTURJd09DdzBMall3TWpBNExEQXNNQ3d3TERJdU5qTXlNaTB5TGpZek1qSXNOaTQyTURVMk1TdzJMall3TlRZeExEQXNNQ3d3TEM0ME1UZ3pNeTB5TGpFNE5EWXpRekU0TGprNE9UWXlMREV5TGpjMU1EY3pMREU1TERFeUxqUTBOREkzTERFNUxERXdVekU0TGprNE9UWXlMRGN1TWpRNU1qY3NNVGd1T1RRMU9EWXNOaTR5T0Rrek1WcHRMVEV1TmpFNU9UTXNOeTR6TkRjME4yRTBMamszT0RJMExEUXVPVGM0TWpRc01Dd3dMREV0TGpNd09UazBMREV1TmpjeE1UUkJNaTQ1T0RBeE55d3lMams0TURFM0xEQXNNQ3d4TERFMUxqTXdOemt5TERFM0xqQXhObUUwTGprM09EWXNOQzQ1TnpnMkxEQXNNQ3d4TFRFdU5qY3hNVFF1TXpBNU9UUkRNVEl1TmpnM09EY3NNVGN1TXpZNU1pd3hNaTQwTURNeU5pd3hOeTR6Tnpnek5pd3hNQ3d4Tnk0ek56Z3pObk10TWk0Mk9EYzROeTB1TURBNU1UWXRNeTQyTXpZM09DMHdMakExTWpRelFUUXVPVGM0Tml3MExqazNPRFlzTUN3d0xERXNOQzQyT1RJd09Dd3hOeTR3TVRaaE1pNDNPRGMyT1N3eUxqYzROelk1TERBc01Dd3hMVEV1TURNME9EVXRMalkzTXpJeVFUSXVOemczTmprc01pNDNPRGMyT1N3d0xEQXNNU3d5TGprNE5Dd3hOUzR6TURjNU1tRTBMamszT0RJMExEUXVPVGM0TWpRc01Dd3dMREV0TGpNd09UazBMVEV1TmpjeE1UUkRNaTQyTXpBNExERXlMalk0TnpjMExESXVOakl4TmpRc01USXVOREF6TVRRc01pNDJNakUyTkN3eE1ITXdMakF3T1RFMkxUSXVOamczTnpRdU1EVXlORE10TXk0Mk16WTNPRUUwTGprM09EWXNOQzQ1TnpnMkxEQXNNQ3d4TERJdU9UZzBMRFF1TmpreU1EaGhNaTQzT0RjMk9Td3lMamM0TnpZNUxEQXNNQ3d4TEM0Mk56TXlNaTB4TGpBek5EZzFRVEl1TnpnM05qa3NNaTQzT0RjMk9Td3dMREFzTVN3MExqWTVNakE0TERJdU9UZzBZVFF1T1RjNE5pdzBMamszT0RZc01Dd3dMREVzTVM0Mk56RXhOQzB1TXpBNU9UUkROeTR6TVRJeU5pd3lMall6TURnc055NDFPVFk0Tml3eUxqWXlNVFkwTERFd0xESXVOakl4TmpSek1pNDJPRGMzTkN3d0xqQXdPVEUyTERNdU5qTTJOemd1TURVeU5ETmhOQzQ1TnpnMkxEUXVPVGM0Tml3d0xEQXNNU3d4TGpZM01URTBMak13T1RrMExESXVOemczTmprc01pNDNPRGMyT1N3d0xEQXNNU3d4TGpBek5EZzFMalkzTXpJeVFUSXVOemczTmprc01pNDNPRGMyT1N3d0xEQXNNU3d4Tnk0d01UWXNOQzQyT1RJd09HRTBMamszT0RZc05DNDVOemcyTERBc01Dd3hMQzR6TURrNU5Dd3hMalkzTVRFMFl6QXVNRFF6TWpjc01DNDVORGt1TURVeU5ETXNNUzR5TXpNM0xEQXVNRFV5TkRNc015NDJNelkzT0ZNeE55NHpOamt5TERFeUxqWTROemMwTERFM0xqTXlOVGt6TERFekxqWXpOamM0V2sweE1DdzFMak0zT0RNMlFUUXVOakl4TmpRc05DNDJNakUyTkN3d0xERXNNQ3d4TkM0Mk1qRTJOQ3d4TUN3MExqWXlNVFk1TERRdU5qSXhOamtzTUN3d0xEQXNNVEFzTlM0ek56Z3pObHBOTVRBc01UTmhNeXd6TERBc01Td3hMRE10TTBFekxETXNNQ3d3TERFc01UQXNNVE5hYlRVdU9EZzBNakl0Tnk0NE1EUXlZVEV1TURnc01TNHdPQ3d3TERFc01TMHhMakE0TFRFdU1EaEJNUzR3T0N3eExqQTRMREFzTUN3eExERTFMamc0TkRJeUxEVXVNVGsxT0ZvaUlIUnlZVzV6Wm05eWJUMGlkSEpoYm5Oc1lYUmxLQzB4SUMweEtTSXZQand2YzNablBnPT0pfS5zb2NpYWwtbmF2IFtocmVmKj1cImxpbmtlZGluLmNvbVwiXXtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWt4cGJtdGxaRWx1SWlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUI0UFNJd2NIZ2lJSGs5SWpCd2VDSWdkbWxsZDBKdmVEMGlNQ0F3SURJd0lESXdJaUJsYm1GaWJHVXRZbUZqYTJkeWIzVnVaRDBpYm1WM0lEQWdNQ0F5TUNBeU1DSWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0krUEhCaGRHZ2daRDBpVFRVc00yTXdMREV1TVMwd0xqY3NNaTB5TERKRE1TNDRMRFVzTVN3MExqRXNNU3d6TGpGRE1Td3lMREV1T0N3eExETXNNVk0xTERFdU9TdzFMRE42SUUweExERTVhRFJXTmtneFZqRTVlaUJOTVRRdU5pdzJMakpqTFRJdU1Td3dMVE11TXl3eExqSXRNeTQ0TERKb0xUQXVNV3d0TUM0eUxURXVOMGcyTGpsRE5pNDVMRGN1Tml3M0xEZ3VPU3czTERFd0xqUldNVGxvTkhZdE55NHhZekF0TUM0MExEQXRNQzQzTERBdU1TMHhZekF1TXkwd0xqY3NNQzQ0TFRFdU5pd3hMamt0TVM0Mll6RXVOQ3d3TERJc01TNHlMRElzTWk0NFZqRTVhRFIyTFRjdU5FTXhPU3czTGprc01UY3VNU3cyTGpJc01UUXVOaXcyTGpKNklpOCtQQzl6ZG1jKyl9LnNvY2lhbC1uYXYgW2hyZWYqPVwicGx1cy5nb29nbGUuY29tXCJde2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0OElVUlBRMVJaVUVVZ2MzWm5JRkJWUWt4SlF5QWlMUzh2VnpOREx5OUVWRVFnVTFaSElERXVNUzh2UlU0aUlDSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OUhjbUZ3YUdsamN5OVRWa2N2TVM0eEwwUlVSQzl6ZG1jeE1TNWtkR1FpUGp4emRtY2dkbVZ5YzJsdmJqMGlNUzR4SWlCcFpEMGlSMjl2WjJ4bFgzZ3lRbDhpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElpQjJhV1YzUW05NFBTSXdJREFnTWpBZ01qQWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJREl3SURJd0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajQ4Y0dGMGFDQmtQU0pOTVM0NU9Ea3NOUzQxT0Rsak1Dd3hMalE1TkN3d0xqUTVPU3d5TGpVM01pd3hMalE0TWl3ekxqSXdOV013TGpnd05pd3dMalV5TERFdU56UXNNQzQxT1Rnc01pNHlNallzTUM0MU9UaGpNQzR4TVRnc01Dd3dMakl4TXkwd0xqQXdOaXd3TGpJM09TMHdMakF4WXpBc01DMHdMakUxTkN3eExqQXdOQ3d3TGpVNUxERXVPVGsyU0RZdU5UTXlZeTB4TGpJNE9Td3dMVFV1TkRrekxEQXVNalk1TFRVdU5Ea3pMRE11TnpJM1l6QXNNeTQxTVRZc015NDROakVzTXk0Mk9UVXNOQzQyTXpZc015NDJPVFZqTUM0d05qRXNNQ3d3TGpBNU55MHdMakF3TWl3d0xqQTVOeTB3TGpBd01tTXdMakF3T0N3d0xEQXVNRFl6TERBdU1EQXlMREF1TVRVNExEQXVNREF5WXpBdU5EazNMREFzTVM0M09ESXRNQzR3TmpJc01pNDVOelV0TUM0Mk5ETmpNUzQxTkRndE1DNDNOU3d5TGpNek15MHlMakExT1N3eUxqTXpNeTB6TGpnNE5XTXdMVEV1TnpZMExURXVNVGsyTFRJdU9ERTBMVEl1TURZNUxUTXVOVGd5WXkwd0xqVXpNeTB3TGpRMk9TMHdMams1TkMwd0xqZzNNeTB3TGprNU5DMHhMakkyTm1Nd0xUQXVOQ3d3TGpNek55MHdMamN3TVN3d0xqYzJNaTB4TGpBNE1tTXdMalk0T1Mwd0xqWXhOU3d4TGpNek9TMHhMalE1TWl3eExqTXpPUzB6TGpFMVl6QXRNUzQwTlRjdE1DNHhPRGt0TWk0ME16WXRNUzR6TlRRdE15NHdOVGRqTUM0eE1qRXRNQzR3TmpJc01DNDFOVEV0TUM0eE1EY3NNQzQzTmpNdE1DNHhNemRqTUM0Mk16RXRNQzR3T0RZc01TNDFOVFF0TUM0eE9EUXNNUzQxTlRRdE1DNDJPVGxXTVM0eVNEWXVOalJETmk0MU9UUXNNUzR5TURJc01TNDVPRGtzTVM0ek56SXNNUzQ1T0Rrc05TNDFPRGw2SUUwNUxqUXhNeXd4TkM0Mk1ESmpNQzR3T0Rnc01TNDBNRFl0TVM0eE1UVXNNaTQwTkRNdE1pNDVNaklzTWk0MU56UmpMVEV1T0RNMUxEQXVNVE0xTFRNdU16UTFMVEF1TmpreExUTXVORE16TFRJdU1EazJZeTB3TGpBME15MHdMalkzTml3d0xqSTFOQzB4TGpNek5pd3dMamd6TlMweExqZzJNMk13TGpVNE9TMHdMalV6TXl3eExqTTVPQzB3TGpnMk15d3lMakkzT0Mwd0xqa3lPR013TGpFd05DMHdMakF3Tml3d0xqSXdOeTB3TGpBeE1pd3dMak14TFRBdU1ERXlRemd1TVRnc01USXVNamM0TERrdU16TXNNVE11TWpjMkxEa3VOREV6TERFMExqWXdNbm9nVFRndU1qRXlMRFF1TmpJMll6QXVORFV4TERFdU5UZzRMVEF1TWpNc015NHlORFl0TVM0ek1UWXNNeTQxTlRORE5pNDNOekVzT0M0eU1UUXNOaTQyTkRNc09DNHlNekVzTmk0MU1USXNPQzR5TXpGakxUQXVPVGswTERBdE1TNDVOemt0TVM0d01EWXRNaTR6TkRVdE1pNHpPVE5ETXk0NU5qTXNOUzR3TmpJc015NDVPQ3cwTGpNNExEUXVNakUwTERNdU56STJZekF1TWpJNUxUQXVOalExTERBdU5qUXpMVEV1TURjNExERXVNVFl6TFRFdU1qSTFZekF1TVRJMUxUQXVNRE0xTERBdU1qVTBMVEF1TURVekxEQXVNemcxTFRBdU1EVXpRell1T1RZeUxESXVORFE0TERjdU56TTBMREl1T1RRMkxEZ3VNakV5TERRdU5qSTJlaUJOTVRZc09GWTFhQzB5ZGpOb0xUTjJNbWd6ZGpOb01uWXRNMmd6VmpoSU1UWjZJaTgrUEM5emRtYyspfS5zb2NpYWwtbmF2IFtocmVmKj1cInBsYXkuZ29vZ2xlLmNvbVwiXXtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhJVVJQUTFSWlVFVWdjM1puSUZCVlFreEpReUFpTFM4dlZ6TkRMeTlFVkVRZ1UxWkhJREV1TVM4dlJVNGlJQ0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTlIY21Gd2FHbGpjeTlUVmtjdk1TNHhMMFJVUkM5emRtY3hNUzVrZEdRaVBqeHpkbWNnZG1WeWMybHZiajBpTVM0eElpQnBaRDBpUjI5dloyeGxYMUJzWVhraUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJaUIyYVdWM1FtOTRQU0l3SURBZ01qQWdNakFpSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURJd0lESXdJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWo0OGNHRjBhQ0JrUFNKTk5DNDVOREkyTWpjc01UZ3VNRFV3T0RReU0ydzNMalkyTmpBeE5UWXROQzR6TWpjek9USTJiQzB4TGpZME5USXdNall0TVM0NE1qTTBNalV6VERRdU9UUXlOakkzTERFNExqQTFNRGcwTWpONklFMHlMakUwTWpJeE1Ua3NNaTR4TWpNeE1EYzVRekl1TURVME16Z3lNeXd5TGpJNE1UTXhNU3d5TERJdU5EWXpNVGsxT0N3eUxESXVOalkwT1RFM2RqRTFMakV5TlRrM05qWmpNQ3d3TGpJM09UazJPRE1zTUM0eE1EUTJNVFF6TERBdU5USXdNakF5Tml3d0xqSTJNekV5TWpZc01DNDNNVEF4TkRSc055NDJNalkxTWpVNUxUY3VOemt4TWpVNU9Fd3lMakUwTWpJeE1Ua3NNaTR4TWpNeE1EYzVlaUJOTVRjdU5EYzVOVFV6TWl3NUxqUTRNVGt6TXpac0xUSXVOamN5TkRnMU5DMHhMalV3T0RZd05td3RNaTQzTWpJeU9Td3lMamM0TVRFeU56bHNNUzQ1TlRFMk5qQXlMREl1TVRZek1ESTBPV3d6TGpRME16RXhOVEl0TVM0NU5ETTJNRE0xUXpFM0xqYzVNamM0TlRZc01UQXVPREUxTlRVeE9Dd3hOeTQ1TmpVMk16Y3lMREV3TGpVeU9EYzBOellzTVRnc01UQXVNakkzT1RBMU0wTXhOeTQ1TmpVMk16Y3lMRGt1T1RJM01EWXpMREUzTGpjNU1qYzROVFlzT1M0Mk5EQXlOVGc0TERFM0xqUTNPVFUxTXpJc09TNDBPREU1TXpNMmVpQk5NVE11TXpZME9USTVNaXczTGpFMU9USTBNRGRNTkM0eE5EVXlNREkyTERFdU9UVTBPRE0wYkRZdU9EWTFOall4Tml3M0xqWXdPVE14TkV3eE15NHpOalE1TWpreUxEY3VNVFU1TWpRd04zb2lMejQ4TDNOMlp6ND0pfS5uZXdzbGV0dGVyLXNpZ251cHttYXJnaW46MCAwIDNlbTt0ZXh0LWFsaWduOmNlbnRlcn0ubmV3c2xldHRlci1zaWdudXAgaDJ7Zm9udC1zaXplOjJlbX0ubmV3c2xldHRlci1zaWdudXAgLmZvcm1ze21heC13aWR0aDoyMGVtO21hcmdpbjoxLjVlbSBhdXRvfS5wYWdpbmF0aW9uLndlYmFwcHtkaXNwbGF5Om5vbmV9LnBhZ2luYXRpb24tbmF2e3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246Y2VudGVyfS5wYWdpbmF0aW9uLW5hdiBsaXtkaXNwbGF5OmlubGluZX0ucGFnaW5hdGlvbi1uYXYgbGkuaXMtYWN0aXZlIGF7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiM1NTU7Ym9yZGVyOjB9LnBhZ2luYXRpb24tbmF2IGxpLm5hdi1uZXh0e3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9LnBhZ2luYXRpb24tbmF2IGxpLm5hdi1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MH0ucGFnaW5hdGlvbi1uYXYgYXtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjAuMjVlbSAwLjc1ZW07Y29sb3I6Izk5OTtib3JkZXI6c29saWQgMXB4ICNlZWU7Ym9yZGVyLXJhZGl1czouMjVlbX0ucGFnaW5hdGlvbi1uYXYgYTpob3ZlciwucGFnaW5hdGlvbi1uYXYgYTpmb2N1c3tjb2xvcjojNTU1fS5wYWdpbmF0aW9uLW5hdiAubWF0ZXJpYWwtaWNvbnN7bWFyZ2luLXRvcDotMC4yNWVtO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtmb250LXNpemU6MWVtfS5wYWdpbmF0aW9uLW5hdiBzdmd7d2lkdGg6MWVtfXN2ZyNpY29uLWNsb2Nre3dpZHRoOjFlbX1oZWFkZXIucG9zdC1tZXRhe21hcmdpbjoxZW0gMCAxZW19LnBvc3QtY29udGVudHttYXJnaW46MmVtIDB9LmJsb2ctaGVhZGVye21hcmdpbjoxZW0gMCAxZW19I2Zvb3Rlcntib3JkZXItdG9wOnNvbGlkIDAuMTI1ZW0gIzI3OUI0ODtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxMTksMTAyLDAuMSk7cGFkZGluZzozZW0gMS41ZW19I2Zvb3RlciAuY29sdW1ucyBoNXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9I2Zvb3RlciAuaW1hZ2UtY29udGFpbmVyIGltZ3t3aWR0aDoxMDAlO2hlaWdodDphdXRvfS5pbXByaW50e2ZvbnQtc2l6ZTowLjg3NXJlbTt0ZXh0LWFsaWduOmxlZnR9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpe2Zvb3RlciAuY29sdW1uc3ttYXJnaW46MCAwIDNyZW19fS5ibG9nLWxpc3QgLnBvc3QtdGl0bGV7Zm9udC1zaXplOjEuODVyZW07dGV4dC10cmFuc2Zvcm06bm9uZX0ucG9zdC10aXRsZXtmb250LXNpemU6MS44NXJlbTtjb2xvcjojMjI4NTNlfS5wb3N0LWJvZHl7cGFkZGluZy1ib3R0b206MmVtfS5jYXRhbG9ndWVMaXN0LC5wcm9kdWN0TGlzdHttYXgtd2lkdGg6ODByZW07bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0bztsaXN0LXN0eWxlOm5vbmV9LmNhdGFsb2d1ZUxpc3Q6OmJlZm9yZSwuY2F0YWxvZ3VlTGlzdDo6YWZ0ZXIsLnByb2R1Y3RMaXN0OjpiZWZvcmUsLnByb2R1Y3RMaXN0OjphZnRlcntkaXNwbGF5OnRhYmxlO2NvbnRlbnQ6JyAnO2ZsZXgtYmFzaXM6MDtvcmRlcjoxfS5jYXRhbG9ndWVMaXN0OjphZnRlciwucHJvZHVjdExpc3Q6OmFmdGVye2NsZWFyOmJvdGh9LmNhdGFsb2d1ZUxpc3QgLmNhdGFsb2d1ZUl0ZW1Ob3RGb3VuZCwucHJvZHVjdExpc3QgLnByb2R1Y3RJdGVtTm90Rm91bmR7ZGlzcGxheTpub25lfSNjYXRDYXJ0U3VtbWFyeXtkaXNwbGF5OmlubGluZS1ibG9ja30ucXVhbnRpdHktY29udHJvbHN7cG9zaXRpb246cmVsYXRpdmU7bWF4LXdpZHRoOjhlbX0ucXVhbnRpdHktY29udHJvbHMgLnByb2R1Y3RUZXh0SW5wdXR7dGV4dC1hbGlnbjpjZW50ZXJ9LnF1YW50aXR5LWNvbnRyb2xzIGlucHV0e3RleHQtYWxpZ246Y2VudGVyfS5xdWFudGl0eS1jb250cm9scyAuYWRkLC5xdWFudGl0eS1jb250cm9scyAuc3Vie3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO3BhZGRpbmc6MC41ZW0gMWVtIDAuOGVtfS5xdWFudGl0eS1jb250cm9scyAuYWRke3JpZ2h0OjB9LnF1YW50aXR5LWNvbnRyb2xzIC5zdWJ7bGVmdDowfSNjYXRDYXJ0RGV0YWlscyAuY2FydExpbmt7cGFkZGluZzowIDEwJTtsaW5lLWhlaWdodDo0ZW19LnByb2R1Y3Qtc2VhcmNoe3Bvc2l0aW9uOnJlbGF0aXZlO21heC13aWR0aDo0MGVtO2hlaWdodDozLjRlbTtkaXNwbGF5OmZsZXg7bWFyZ2luOjNlbSBhdXRvO2JvcmRlcjowLjEyNWVtIHNvbGlkICNlZWU7Ym9yZGVyLXJhZGl1czouMjVlbX0ucHJvZHVjdC1zZWFyY2g6OmJlZm9yZXtjb250ZW50OlwiXFxFOEI2XCI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2JvdHRvbTowO3BhZGRpbmc6MCAwLjVlbTtvcGFjaXR5OjAuNTtmb250LWZhbWlseTonTWF0ZXJpYWwgSWNvbnMnO2ZvbnQtc2l6ZToxLjVlbTtsaW5lLWhlaWdodDoyfS5zZWFyY2gtaW5wdXR7ZmxleDoxO3BhZGRpbmctbGVmdDozZW07bWFyZ2luLWJvdHRvbTowO2JvcmRlcjowfS5zZWFyY2gtaW5wdXQ6Zm9jdXN7Ym9yZGVyOjB9LnNlYXJjaC1zdWJtaXR7ZGlzcGxheTpub25lfS5zZWFyY2gtY2F0YWxvZ3Vle2ZsZXgtYmFzaXM6MzUlO21hcmdpbi1ib3R0b206MDtib3JkZXI6MDtib3JkZXItbGVmdDpzb2xpZCAwLjEyNWVtICNlZWU7Ym9yZGVyLXJhZGl1czowfS5zZWFyY2gtcmVzdWx0c3ttYXJnaW46M2VtIDB9LmxvYWRlcnt3aWR0aDozZW07aGVpZ2h0OjNlbTttYXJnaW46MCBhdXRvO2JvcmRlcjpzb2xpZCAwLjI1ZW0gIzI3OUI0ODtib3JkZXItdG9wLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NTAlO2FuaW1hdGlvbjpsb2FkLXNwaW5uZXIgMC44cyBlYXNlIGluZmluaXRlfUBrZXlmcmFtZXMgbG9hZC1zcGlubmVye3Rve3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9ZnJvbXt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS5wcm9kdWN0LWZpbHRlci1jb250YWluZXJ7bWFyZ2luOjRlbSAwfS5wcm9kdWN0LWZpbHRlci1jb250YWluZXIgLmZpbHRlci1ncm91cHttYXJnaW46MCAwIDJlbX0ucHJvZHVjdC1maWx0ZXItY29udGFpbmVyIC5maWx0ZXItZ3JvdXAuaXMtYWN0aXZlIC5maWx0ZXItaW5uZXJ7bWF4LWhlaWdodDoxMDBlbX0ucHJvZHVjdC1maWx0ZXItY29udGFpbmVyIC5maWx0ZXItZ3JvdXAgaDV7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLWJvdHRvbToycHggc29saWQgI2VlZTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7cGFkZGluZzowIDAgMWVtO3dpZHRoOjEwMCU7Zm9udC1zaXplOjAuNzVyZW07Zm9udC13ZWlnaHQ6Ym9sZDtsZXR0ZXItc3BhY2luZzowLjFlbX0ucHJvZHVjdC1maWx0ZXItY29udGFpbmVyIC5maWx0ZXItZ3JvdXAgaDU6OmFmdGVye2NvbnRlbnQ6XCJcXEUxNDVcIjtvcGFjaXR5OjAuNTtmb250LWZhbWlseTonTWF0ZXJpYWwgSWNvbnMnO2Zsb2F0OnJpZ2h0fS5wcm9kdWN0LWZpbHRlci1jb250YWluZXIgLmZpbHRlci1pbm5lcnttYXgtaGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVufS5wcm9kdWN0LWZpbHRlci1jb250YWluZXIgLmZpbHRlci1pbm5lciBpbnB1dHttYXJnaW46MH0ucHJvZHVjdHMtbmV3LC5hZ3Jld2FyZHMtbG9nbywucGxhbnRiYWNrLWxvZ297bWFyZ2luOjFlbSAxZW0gMDt0ZXh0LWFsaWduOmNlbnRlcn0uYWdyZXdhcmRzLWxvZ28sLnBsYW50YmFjay1sb2dve2Rpc3BsYXk6aW5saW5lLWZsZXh9LnN0b3JlZnJvbnQgLnByb2R1Y3RTbWFsbCBsaXtkaXNwbGF5Om5vbmV9LnByb2R1Y3RTbWFsbHtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6ZmxleC1lbmR9LnByb2R1Y3RTbWFsbCBsaXt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlO2Zsb2F0OmxlZnQ7cGFkZGluZy1yaWdodDoxLjVyZW07cGFkZGluZy1sZWZ0OjEuNXJlbX0ucHJvZHVjdFNtYWxsIGxpOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCl7ZmxvYXQ6cmlnaHR9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5wcm9kdWN0U21hbGwgbGl7d2lkdGg6NTAlO2Zsb2F0OmxlZnQ7cGFkZGluZy1yaWdodDoxLjVyZW07cGFkZGluZy1sZWZ0OjEuNXJlbX0ucHJvZHVjdFNtYWxsIGxpOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCl7ZmxvYXQ6cmlnaHR9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsucHJvZHVjdFNtYWxsIGxpe3dpZHRoOjMzLjMzMzMzJTtmbG9hdDpsZWZ0O3BhZGRpbmctcmlnaHQ6MS41cmVtO3BhZGRpbmctbGVmdDoxLjVyZW19LnByb2R1Y3RTbWFsbCBsaTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpe2Zsb2F0OnJpZ2h0fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7W2RhdGEtcGFnZW5hbWU9XCJBZ1Jld2FyZHNcIl0gLnByb2R1Y3RTbWFsbCBsaXt3aWR0aDozMy4zMzMzMyU7ZmxvYXQ6bGVmdDtwYWRkaW5nLXJpZ2h0OjEuNXJlbTtwYWRkaW5nLWxlZnQ6MS41cmVtfVtkYXRhLXBhZ2VuYW1lPVwiQWdSZXdhcmRzXCJdIC5wcm9kdWN0U21hbGwgbGk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKXtmbG9hdDpyaWdodH19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pe1tkYXRhLXBhZ2VuYW1lPVwiQWdSZXdhcmRzXCJdIC5wcm9kdWN0U21hbGwgbGl7d2lkdGg6MjUlO2Zsb2F0OmxlZnQ7cGFkZGluZy1yaWdodDoxLjVyZW07cGFkZGluZy1sZWZ0OjEuNXJlbX1bZGF0YS1wYWdlbmFtZT1cIkFnUmV3YXJkc1wiXSAucHJvZHVjdFNtYWxsIGxpOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCl7ZmxvYXQ6cmlnaHR9fS5wcm9kdWN0LWluZm97bWluLWhlaWdodDo1ZW07bWFyZ2luOjFlbSAwIDA7dGV4dC1hbGlnbjpjZW50ZXJ9LnByb2R1Y3QtaW5mbyAucHJvZHVjdC1uYW1le21hcmdpbjowO2ZvbnQtc2l6ZToxZW07Zm9udC13ZWlnaHQ6NTAwfS5wcm9kdWN0LWluZm8gLnByb2R1Y3QtbmFtZSBhe2NvbG9yOiM1NTV9LnByb2R1Y3QtaW5mbyAucHJvZHVjdC1wcmljZXtmb250LXdlaWdodDozMDA7Y29sb3I6Izk5OX0ucHJvZHVjdC1pbmZvIC5wcm9kdWN0LXByaWNlIHNwYW57ZGlzcGxheTpibG9ja30ucHJvZHVjdC1pbmZvIC5yZXRhaWwtcHJpY2V7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaH0ucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtbmFtZXttYXJnaW46MCAwIDAuNWVtO2ZvbnQtc2l6ZToyZW07Zm9udC13ZWlnaHQ6NTAwfS5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1uYW1lIGF7Y29sb3I6IzU1NX0ucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtYWN0aXZlLWluZ3JlZGllbnR7Zm9udC1zaXplOi44cmVtO21hcmdpbjotMWVtIDAgMmVtfS5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1wcmljZXtmb250LXdlaWdodDozMDA7Y29sb3I6Izk5OX0ucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtcHJpY2Ugc3BhbntkaXNwbGF5OmJsb2NrfS5wcm9kdWN0LWRldGFpbCAucmV0YWlsLXByaWNle3RleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2h9LnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWRvd25sb2FkcyB1bHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7Ym9yZGVyLXJhZGl1czouMjVlbTtwYWRkaW5nOjFlbTttYXJnaW4tbGVmdDowfS5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1kb3dubG9hZHMgdWwgbGl7bGlzdC1zdHlsZTpub25lO2Rpc3BsYXk6YmxvY2t9LnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWRvd25sb2FkcyB1bCBsaSAubWF0ZXJpYWwtaWNvbnN7Zm9udC1zaXplOi44cmVtO21hcmdpbjouM3JlbSAuNXJlbSAwIDB9LnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWRvd25sb2FkcyAucHJvZHVjdC10YWdzLC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1kb3dubG9hZHMgLnBsYW50YmFjay10YWdze2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDExOSwxMDIsMC4xKTtib3JkZXItcmFkaXVzOi4yNWVtO21hcmdpbjoxZW0gMH0ucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtZG93bmxvYWRzIC5wcm9kdWN0LXRhZ3MgaW1nLC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1kb3dubG9hZHMgLnBsYW50YmFjay10YWdzIGltZ3twYWRkaW5nOjAgLjNlbSAwIDB9LnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWRvd25sb2FkcyAucHJvZHVjdC10YWdzIC5hZ3Jld2FyZHMtdGV4dCwucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtZG93bmxvYWRzIC5wcm9kdWN0LXRhZ3MgLnBsYW50YmFjay10ZXh0LC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1kb3dubG9hZHMgLnBsYW50YmFjay10YWdzIC5hZ3Jld2FyZHMtdGV4dCwucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtZG93bmxvYWRzIC5wbGFudGJhY2stdGFncyAucGxhbnRiYWNrLXRleHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2NvbG9yOiMwNzY7Zm9udC1zaXplOi44cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ucHJvZHVjdC1kZXRhaWwgLmNhdFByb2R1Y3RBdHRyaWJ1dGVHcm91cHttYXJnaW46MmVtIDB9LnByb2R1Y3QtZGV0YWlsIC5jYXRQcm9kdWN0QXR0cmlidXRlR3JvdXAgLmNhdFByb2RBdHRyaWJ1dGVUaXRsZXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnByb2R1Y3QtZGV0YWlsIC5jYXRQcm9kdWN0QXR0cmlidXRlR3JvdXAgLmNhdFByb2RBdHRyaWJ1dGVJdGVtIGlucHV0W3R5cGU9XCJyYWRpb1wiXXttYXJnaW46MCAuNXJlbSAuOHJlbX0ucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtZnVuY3Rpb25zIC5xdWFudGl0eS1jb250cm9scywucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtZnVuY3Rpb25zIC5hZGQtdG8tY2FydCwucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtZnVuY3Rpb25zIC5wcm9kdWN0LWVucXVpcnl7bWFyZ2luOjFlbSAwIDB9LnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWZ1bmN0aW9ucyAuYnV0dG9uLmJ1dHRvbnt3aWR0aDoxMDAlO2xpbmUtaGVpZ2h0OjEuNHJlbX0ucHJvZHVjdC1nYWxsZXJ5IC5wbGFjZWhvbGRlcnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzozZW0gMH0ucmVsYXRlZC1wcm9kdWN0c3ttYXJnaW46M2VtIDA7dGV4dC1hbGlnbjpjZW50ZXJ9LnJlbGF0ZWQtcHJvZHVjdHMgaDIsLnJlbGF0ZWQtcHJvZHVjdHMgaDN7Zm9udC1zaXplOjEuNXJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2lkdGg6MTAwJTtwYWRkaW5nOjAgMS41ZW0gMS41ZW19LnJlbGF0ZWQtcHJvZHVjdHMgaDV7Zm9udC13ZWlnaHQ6Ym9sZH0ucmVsYXRlZC1wcm9kdWN0cyAucHJvZHVjdC1pbmZve2ZvbnQtc2l6ZTouOGVtfS5wcm9kdWN0LWNhdGFsb2d1ZSBhOmhvdmVye29wYWNpdHk6MC44fS5jYXRhbG9ndWUtZGVzY3JpcHRpb257bWFyZ2luLXRvcDo0ZW19LmNhdGFsb2d1ZUxpc3R7bWFyZ2luOjNlbSBhdXRvfS5jYXRhbG9ndWVMaXN0IGxpe3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowIDAgMS41ZW07d2lkdGg6NDglO2hlaWdodDphdXRvO2Zsb2F0OmxlZnR9LmNhdGFsb2d1ZUxpc3QgbGk6bnRoLWNoaWxkKDJuKXttYXJnaW4tbGVmdDo0JX0uY2F0YWxvZ3VlTGlzdCBsaSBhOmhvdmVyIGltZ3tvcGFjaXR5OjAuOH0uY2F0YWxvZ3VlTGlzdCBsaSAuc2hvcC1jYXRhbG9ndWUgaW1ne2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb246MC4zcyBlYXNlfS5jYXRhbG9ndWVMaXN0IGxpIC5zaG9wLWNhdGFsb2d1ZSAuY2F0YWxvZ3VlLXRleHR7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzoxZW07YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNyl9LmNhdGFsb2d1ZUxpc3QgbGkgLnNob3AtY2F0YWxvZ3VlIC5jYXRhbG9ndWUtdGV4dCBoM3ttYXJnaW46MDtmb250LXNpemU6MS4yNWVtO3RleHQtYWxpZ246cmlnaHQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiNmZmZ9LmNhdGFsb2d1ZUxpc3QgbGkgLnNob3AtY2F0YWxvZ3VlIC5jYXRhbG9ndWUtdGV4dCAubWF0ZXJpYWwtaWNvbnN7dmVydGljYWwtYWxpZ246dG9wO2ZvbnQtc2l6ZToxLjJlbTtsaW5lLWhlaWdodDoxZW19LmNhdGFsb2d1ZUxpc3QgbGk6bGFzdC1jaGlsZHt3aWR0aDoxMDAlfUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpey5jYXRhbG9ndWVMaXN0IGxpe3dpZHRoOjEwMCV9LmNhdGFsb2d1ZUxpc3QgbGk6bnRoLWNoaWxkKDJuKXttYXJnaW4tbGVmdDowfX0uY2hlY2tvdXQgLnNzbHtmbG9hdDpyaWdodH0uYmlsbGluZy1maWVsZHMsLmhvbWUtZmllbGRze2Rpc3BsYXk6bm9uZX0uY2FydCBwe21hcmdpbjowfS5jYXJ0IGltZ3ttYXgtd2lkdGg6MTAwcHh9LmNhcnQgLmJ1dHRvbnttYXJnaW46MH0uY2FydCAuY2FydC1saXN0IC5wcm9kdWN0LWluZm97dGV4dC1hbGlnbjpsZWZ0fS5jYXJ0IC5idXR0b257ZmxvYXQ6cmlnaHR9I2hlYWQtYmFubmVye3Bvc2l0aW9uOnJlbGF0aXZlO21heC13aWR0aDo5MGVtO21hcmdpbjphdXRvfSNoZWFkLWJhbm5lciAjYmFubmVyLWhlYWRlcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNyk7cGFkZGluZzoxLjVlbSAwO3dpZHRoOjEwMCV9I2hlYWQtYmFubmVyICNiYW5uZXItaGVhZGVyIGgxe21hcmdpbi1ib3R0b206MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6I2ZmZn0uYWR2ZXJ0cy1saXN0IC5hZHZlcnQtaXRlbXttYXJnaW46M3JlbSAwfS5hZHZlcnRzLWxpc3QgLml0ZW0tZG93bmxvYWR7bWFyZ2luOjFyZW0gMCAwfS5hZHZlcnRzLWxpc3QgLml0ZW0tZG93bmxvYWQgLm1hdGVyaWFsLWljb25ze2ZvbnQtc2l6ZTouOHJlbTttYXJnaW46MCAuNXJlbSAtLjNyZW0gMH0uYWR2ZXJ0cy1saXN0IC5pdGVtLXByb2R1Y3QgLm1hdGVyaWFsLWljb25ze2ZvbnQtc2l6ZTouOHJlbTttYXJnaW46MCAuNXJlbSAtLjNyZW0gMH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pey5wbGFudC1iYWNrIC5oZWFkaW5ne21hcmdpbjoyZW0gMCAwfX0ucGxhbnQtYmFjayAudGVycml0b3J5LW1hbmFnZXJzIC5oZWFkZXJ7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5wbGFudC1iYWNrIC50ZXJyaXRvcnktbWFuYWdlcnMgLmRldGFpbHN7Y2xlYXI6Ym90aDtwYWRkaW5nOjRlbSAwIDB9LnBsYW50LWJhY2sgLnRlcnJpdG9yeS1tYW5hZ2VycyAuZGV0YWlsczpmaXJzdC1jaGlsZHtwYWRkaW5nOjB9LnBsYW50LWJhY2sgLnRlcnJpdG9yeS1tYW5hZ2VycyAuZGV0YWlscyBocnt3aWR0aDo1MCV9LnBsYW50LWJhY2sgLnRlcnJpdG9yeS1tYW5hZ2VycyAuY29udGFjdC10ZWx7Zm9udC1zaXplOjJyZW07bWFyZ2luOi0uNWVtIDFlbSAxZW19LnBsYW50LWJhY2sgLnByb2R1Y3Rze2ZvbnQtc2l6ZToxLjJyZW19LnBsYW50LWJhY2sgLnByb2R1Y3RzIGxpe21hcmdpbjowIDAgMWVtIDB9LmNvbHVtbi1iY2tncmR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjRUFGNkVFIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEyMHB4KTtwYWRkaW5nOjNlbSA0ZW0gMH0udGVycml0b3J5LWRldGFpbHN7Y2xlYXI6Ym90aDtwYWRkaW5nOjRlbSAwIDB9LnRlcnJpdG9yeS1kZXRhaWxzOmZpcnN0LWNoaWxke3BhZGRpbmc6MH0udGVycml0b3J5LWRldGFpbHMgaHJ7d2lkdGg6NTAlfS50ZXJyaXRvcnktZGV0YWlscyAudGVycml0b3J5LWhlYWRlcnt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnRlcnJpdG9yeS1kZXRhaWxzIC50ZXJyaXRvcnktbWFuYWdlcntwYWRkaW5nOjAgMS41cmVtIDNyZW19LnRlcnJpdG9yeS1kZXRhaWxzIC50ZXJyaXRvcnktbWFuYWdlciAudGVycml0b3J5LWZ1bGwtbmFtZXtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjEuMnJlbTttYXJnaW46MWVtIDAgLjVlbX0udGVycml0b3J5LWRldGFpbHMgLnRlcnJpdG9yeS1tYW5hZ2VyIC50ZXJyaXRvcnktcG9zaXRpb257bWFyZ2luOjAgMCAxZW07Y29sb3I6Izk5OX0udGVycml0b3J5LWRldGFpbHMgLnRlcnJpdG9yeS1tYW5hZ2VyIC50ZXJyaXRvcnktdGVsLC50ZXJyaXRvcnktZGV0YWlscyAudGVycml0b3J5LW1hbmFnZXIgLnRlcnJpdG9yeS1lbWFpbHtmb250LXNpemU6Ljg3NXJlbTttYXJnaW46LjVlbSAwIDB9LnRlcnJpdG9yeS1kZXRhaWxzIC50ZXJyaXRvcnktbWFuYWdlciAudGVycml0b3J5LXRlbCBhLC50ZXJyaXRvcnktZGV0YWlscyAudGVycml0b3J5LW1hbmFnZXIgLnRlcnJpdG9yeS1lbWFpbCBhe3BhZGRpbmc6MCAwIDAgLjVlbX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KXsudGVycml0b3J5LWRldGFpbHMgLnRlcnJpdG9yeS1tYW5hZ2Vye2Zsb2F0Om5vbmU7dGV4dC1hbGlnbjpjZW50ZXJ9fS52aWRlby1jdGFzIC5idXR0b257cGFkZGluZzozZW07Zm9udC1zaXplOjEuNWVtfS52aWRlby1jdGFzIC5tYXRlcmlhbC1pY29uc3tmb250LXNpemU6M2VtfS52aWRlby1jdGFzIGgye21hcmdpbjowLjVlbSAwO2NvbG9yOiNmZmZ9LnZpZGVvLWN0YXMgc21hbGx7Zm9udC1zaXplOjAuNjZlbX0uY29tcGV0aXRpb24tbGlzdHtwYWRkaW5nOjNlbTttYXJnaW46MDtib3JkZXItdG9wOnNvbGlkIDFweCAjZWVlfS5jb21wZXRpdGlvbi1saXN0IGF7ZGlzcGxheTpibG9jaztjb2xvcjojZmZmfS5jb21wZXRpdGlvbi1saXN0IGE6aG92ZXIgLnRodW1ibmFpbCwuY29tcGV0aXRpb24tbGlzdCBhOmZvY3VzIC50aHVtYm5haWx7b3BhY2l0eTowLjh9LmNvbXBldGl0aW9uLWxpc3QgLnZpZGVvLWl0ZW17bWFyZ2luOjFlbSAwfS5jb21wZXRpdGlvbi1saXN0IC50aHVtYm5haWx7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjowLjNzIGVhc2V9LmNvbXBldGl0aW9uLWxpc3QgLmNhcHRpb257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjIuMnJlbTtyaWdodDowO2xlZnQ6MDtwYWRkaW5nOjFlbTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC43KX0uY29tcGV0aXRpb24tbGlzdCAuaW5mb3tkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MH0uY29tcGV0aXRpb24tbGlzdCAubWF0ZXJpYWwtaWNvbnN7ZmxvYXQ6cmlnaHQ7bGluZS1oZWlnaHQ6Mi4xfS5idXR0b24tdGl0bGV7cGFkZGluZzoxZW07bWFyZ2luLWJvdHRvbToxcHg7Zm9udC13ZWlnaHQ6Ym9sZDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzU1NTtib3JkZXItcmFkaXVzOi4yNWVtfS5jb21wZXRpdGlvbi12aWRlb3twYWRkaW5nOjNlbSAwO21hcmdpbjowO2JhY2tncm91bmQ6IzA0MGYwN30uZG9jdW1lbnRzIGRpdjpmaXJzdC1jaGlsZHttYXJnaW46MCAwIDFyZW19LmRvY3VtZW50cyBkaXYuY2F0ZWdvcnl7bWFyZ2luOjNlbSAwIDFyZW19LmRvY3VtZW50cyBkaXYuY2F0ZWdvcnkgaDN7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiM5OTk7Zm9udC1zaXplOjFyZW19LmRvY3VtZW50cyBkaXYuY2F0ZWdvcnkgdWx7bWFyZ2luLWxlZnQ6MDtjb2xvcjojMDAwfS5kb2N1bWVudHMgZGl2LmNhdGVnb3J5IHVsIGxpe2Rpc3BsYXk6aW5saW5lfS5kb2N1bWVudHMgZGl2LmNhdGVnb3J5IHVsIGxpIC5kb2N1bWVudC1uYW1le2Zsb2F0OmxlZnR9LmRvY3VtZW50cyBkaXYuY2F0ZWdvcnkgdWwgbGkgLmxpdGVyYXR1cmUtY29udGFpbmVye3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXNpemU6LjhyZW07ZmxvYXQ6cmlnaHR9LmRvY3VtZW50cyBkaXYuY2F0ZWdvcnkgdWwgbGkgLmxpdGVyYXR1cmUtY29udGFpbmVyIGF7Y29sb3I6IzU1NX0uZG9jdW1lbnRzIGRpdi5jYXRlZ29yeSB1bCBocnttYXJnaW46MXJlbSBhdXRvfSNhY2NvdW50LW5hdnt0ZXh0LWFsaWduOmNlbnRlcn0jYWNjb3VudC1uYXYgdWwubWVudXttYXJnaW46MCAwIDRlbTtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtc2l6ZTouOHJlbTtwb3NpdGlvbjpzdGF0aWM7YmFja2dyb3VuZDpub25lO3RyYW5zZm9ybTpub25lICFpbXBvcnRhbnQ7dHJhbnNpdGlvbjpub25lfSNhY2NvdW50LW5hdiB1bC5tZW51IGxpe21hcmdpbjowIDFlbSAwO2Rpc3BsYXk6aW5saW5lLWZsZXh9I2FjY291bnQtbmF2IHVsLm1lbnUgbGkgYXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6IzU1NX0jYWNjb3VudC1uYXYgdWwubWVudSBsaSBhOjpiZWZvcmV7Y29udGVudDpcIlwiO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTotMi4yZW07bGVmdDowO3dpZHRoOjA7aGVpZ2h0OjAuMjVlbTtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6IzI3OUI0ODt0cmFuc2l0aW9uOjAuM3MgZWFzZSAwLjJzfS5zZXR0aW5nc3twYWRkaW5nOjAgMTUlfWZvcm0uYWNjb3VudC1zZXR0aW5ncyAuc3VidGl0bGV7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO21hcmdpbjowIDAgMXJlbX0uYWNjb3VudC1jb250ZW50IGgye21hcmdpbjoyZW0gMCAxZW19LmFjY291bnQtY29udGVudCBoMjo6Zmlyc3QtY2hpbGR7bWFyZ2luOjAgMCAxZW19XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IGdldC1jb2xvcih3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDbG9zZSBCdXR0b25cbi8vICAxNS4gRHJpbGxkb3duXG4vLyAgMTYuIERyb3Bkb3duXG4vLyAgMTcuIERyb3Bkb3duIE1lbnVcbi8vICAxOC4gRmxleCBWaWRlb1xuLy8gIDE5LiBGb3Jtc1xuLy8gIDIwLiBMYWJlbFxuLy8gIDIxLiBNZWRpYSBPYmplY3Rcbi8vICAyMi4gTWVudVxuLy8gIDIzLiBNZXRlclxuLy8gIDI0LiBPZmYtY2FudmFzXG4vLyAgMjUuIE9yYml0XG4vLyAgMjYuIFBhZ2luYXRpb25cbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjguIFJldmVhbFxuLy8gIDI5LiBTbGlkZXJcbi8vICAzMC4gU3dpdGNoXG4vLyAgMzEuIFRhYmxlXG4vLyAgMzIuIFRhYnNcbi8vICAzMy4gVGh1bWJuYWlsXG4vLyAgMzQuIFRpdGxlIEJhclxuLy8gIDM1LiBUb29sdGlwXG4vLyAgMzYuIFRvcCBCYXJcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYyggMTI4MCApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMyNzlCNDgsXG4gIHNlY29uZGFyeTogIzAwNzc2NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNlYzU4NDAsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlZWU7XG4kbWVkaXVtLWdyYXk6ICM5OTk7XG4kZGFyay1ncmF5OiAjNTU1O1xuJGJsYWNrOiAjMDAwO1xuJHdoaXRlOiAjZmZmO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDAuMjVlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IDNyZW07XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRibG9jay1ncmlkLW1heDogMTtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiA1MDA7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1zaXplczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6IDMwLFxuICAgICdoMic6IDI0LFxuICAgICdoMyc6IDIwLFxuICAgICdoNCc6IDE4LFxuICAgICdoNSc6IDE2LFxuICAgICdoNic6IDE2LFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAzNixcbiAgICAnaDInOiAzMCxcbiAgICAnaDMnOiAyNCxcbiAgICAnaDQnOiAyMCxcbiAgICAnaDUnOiAxOCxcbiAgICAnaDYnOiAxNixcbiAgKSxcbik7XG5cblxuLy8gbGFyZ2U6IChcbi8vICAgJ2gxJzogNDgsXG4vLyAgICdoMic6IDQwLFxuLy8gICAnaDMnOiAzMixcbi8vICAgJ2g0JzogMjQsXG4vLyAgICdoNSc6IDIwLFxuLy8gICAnaDYnOiAxNixcbi8vICksXG5cbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuMjtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDJweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRoci1tYXJnaW46IDJyZW0gYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCk7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlO1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tcGFkZGluZzogMWVtIDEuNWVtO1xuJGJ1dHRvbi1tYXJnaW46IDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogMS4xMjVyZW0sXG4pO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogMXJlbTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW07XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNS4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcblxuLy8gMTYuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxNy4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuLy8gMTguIEZsZXggVmlkZW9cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTogMDtcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMztcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOTtcblxuLy8gMTkuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IDEuNXJlbTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAwLjEyNWVtIHNvbGlkICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMC4xMjVlbSBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiRpbnB1dC1zaGFkb3c6IG5vbmU7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiBub25lO1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogMC4zcyBlYXNlO1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMC4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6IGZvcmVncm91bmQoJGxhYmVsLWJhY2tncm91bmQpO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIyLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtO1xuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyAyMy4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI0LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtemluZGV4OiAtMTtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcbiRtYWluY29udGVudC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjUpO1xuXG4vLyAyNS4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI2LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCk7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjcuIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOC4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDI5LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzMC4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDMxLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMi4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyAzMy4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzQuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDM1LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNi4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMXJlbTtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy8gXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnbGVmdCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnbGVmdCcsICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHsgXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRvbGQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAvLyBSZXN0b3JlIHRoZSBvbGQgYnJlYWtwb2ludCBzaXplXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJC16Zi1zaXplOiBudWxsICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2luZyAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbmcuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICR3cmFwOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93ICR3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBleHBhbmRgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IGV4cGFuZCkge1xuICAkZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gZXhwYW5kIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMgd2lkdGguIFNlZSB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcmAgbWl4aW4uXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IGV4cGFuZCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgZmxleC1ncmlkLXNpemUoJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gZXhwYW5kIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgY29sdW1ucyB0byBkaXNwbGF5IG9uIGVhY2ggcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXG5AbWl4aW4gZmxleC1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gID4gI3skc2VsZWN0b3J9IHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSB3aWR0aCBmbGV4IGdyaWQgY29sdW1uLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZmxleC1ncmlkLXNpemUoJGNvbHVtbnM6IG51bGwpIHtcbiAgJGNvbHVtbnM6ICRjb2x1bW5zIG9yIGV4cGFuZDtcblxuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IGV4cGFuZCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC8vIFNpemluZyAoZXhwYW5kKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1leHBhbmQge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAuY29sdW1uOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gVW4tY29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmUtYWRkaW5nIHRoZSBwYWRkaW5nLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sdW1uLWd1dHRlcigpLiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWd1dHRlclxuQG1peGluIGdyaWQtY29sLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlciwgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVuY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2wtZ3V0dGVyKCkuIGdyaWQtY29sLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyKTtcbn1cblxuLy8vIFNldHMgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMgdG8gbWF0Y2ggZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRtYXJnaW4gW2F1dG9dXG4vLy8gICBUaGUgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRtYXJnaW5zIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBtYXJnaW4gcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRtYXJnaW5zIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFyZ2lucyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1tYXJnaW4gKFxuICAkbWFyZ2luOiBhdXRvLFxuICAkbWFyZ2luczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRtYXJnaW4sICRtYXJnaW5zKSB7XG4gICAgJG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuICBhLmJ1dHRvbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtZWxlbWVudC1uZXN0aW5nXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZVxuLy8gLS0tLVxuXG5odG1sIHtcbiAgICAmLmlzLWxvY2tlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5cbi8vIExpbmtzXG5hIHtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2U7XG5cblx0Jjpob3ZlciB7XG5cdFx0XG5cdH1cbn1cblxuXG4vLyBTeXN0ZW0gTWVzc2FnZVxuLnN5c3RlbS1lcnJvci1tZXNzYWdlLCAuc3lzdGVtLW1lc3NhZ2Uge1xuICAgIG1hcmdpbjogM3JlbSBhdXRvO1xuICAgIG1heC13aWR0aDogODBlbTtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbn0iLCIvLyBUeXBlXG4vLyAtLS0tXG5cbi8vIE1lbnVcbi5tZW51IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLy8gRmlndXJlXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuXG4vLyBIZWFkZXJcbmgyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogJGRhcmstZ3JheTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW46IDAgMCAxZW07XG59XG4iLCIvLyBGb3Jtc1xuLy8gLS0tLS1cblxuZm9ybSB7XG5cdG1pbi13aWR0aDogMjMwcHg7XG59XG5cbmlucHV0IHtcblx0Y29sb3I6IGdyZXk7XG59XG5cbmZpZWxkc2V0IHtcblx0bWFyZ2luOiAxLjVlbSAwIDJlbTtcbn1cblxuLmZvcm0tY2hlY2tib3gge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIGxhYmVsIHtcblx0ICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cbn1cblxuLmZvcm0tZnVuY3Rpb25zIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4ucmVjYXB0Y2hhMiB7XG4gICAgLy9tYXJnaW46IDFyZW0gMCAwIDA7XG59XG5cblxuLy8gQ29udGFjdCBmb3JtXG4uZm9ybS1oZWFkZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGgxIHtcblx0fVxufVxuXG4uY29udGFjdC1kZXRhaWxzLFxuLmFkZHJlc3MtZGV0YWlscyB7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4gICAgbWFyZ2luOiAycmVtIDA7XG5cdHBhZGRpbmc6IDJyZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0LmNvbnRhY3QtaGVhZGVyIHtcblx0XHRoNCB7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdH1cblx0fVxuXG5cdC5jb250YWN0LXRlbCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0fVxuXG5cdC5jb250YWN0LWFkZHJlc3Mge1xuXHRcdHAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogLjNyZW07XG5cdFx0fVxuXHR9XG59XG5cbi5jb250YWN0LWZvcm0ge1xuXHQuY29udGFjdC1kZXRhaWxzLFxuXHQuYWRkcmVzcy1kZXRhaWxzIHtcblx0ICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cbn1cblxuW3R5cGU9J2ZpbGUnXSB7XG5cdG1hcmdpbjogMCAwIDEuNXJlbTtcbn1cblxuLndlYmZvcm0ge1xuXHQvL21hcmdpbjogM3JlbSBhdXRvO1xuXHQmLnJvdyB7XHRcblx0XHRtYXJnaW46IDAgLS41cmVtO1xuXHR9XG5cdC5jb2x1bW5zIHtcblx0XHRwYWRkaW5nOiAwIC41cmVtO1xuXHR9XG59XG5cbi8vIEZvcm1zIHN1Ym1pc3Npb25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuLnN5c3RlbS1tZXNzYWdlIHtcblx0bWFyZ2luOiA0ZW0gYXV0bztcbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cdC5mb3JtLWNoZWNrYm94IHtcblx0ICAgIG1hcmdpbjogMnJlbSAwIDAgMDtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcblx0LmZvcm0tY2hlY2tib3gge1xuXHQgICAgbWFyZ2luOiAycmVtIDAgMCAwO1xuXHR9XG5cdC5mb3JtLWZ1bmN0aW9ucyB7XG5cdCAgICAuYnV0dG9uIHtcblx0XHQgICAgbWFyZ2luOiAycmVtIDAgMCAwO1xuXHQgICAgfVxuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcblx0LmZvcm0tY2hlY2tib3gge1xuXHQgICAgbWFyZ2luOiAycmVtIDAgMCAwO1xuXHR9XG59XG4iLCIvLyBOb3RpZmljYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tXG5cbi5ub3RpZmljYXRpb24ge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMmVtO1xuXHRyaWdodDogMmVtO1xuXHR6LWluZGV4OiA5OTk7XG5cdG1heC13aWR0aDogMThlbTtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0YmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG5cblx0Lm5vdGUge1xuXHRcdHBhZGRpbmc6IDFyZW07XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0cCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0fVxuXG5cdC5ub3RlLWFjdGlvbnMge1xuXHRcdEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cdH1cblxuXHRidXR0b24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHBhZGRpbmc6IDFlbSAxLjVlbTtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBkYXJrZW4oICRsaWdodC1ncmF5LCAxMCUgKTtcblx0XHR9XG5cdH1cbn1cblxuLy8gUHJvZHVjdFxuLnByb2R1Y3Qtbm90ZSB7XG5cdC5ub3RlIHtcblx0XHRwYWRkaW5nOiAwLjVlbTtcblx0fVxuXG5cdGltZyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMC42ZW07XG5cdH1cblxuXHQubm90ZS1hY3Rpb25zIHtcblx0XHRib3JkZXItdG9wOiBzb2xpZCAxcHggJHdoaXRlO1xuXHR9XG5cblx0YnV0dG9uIHtcblx0XHR3aWR0aDogNTAlO1xuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAkd2hpdGU7XG5cdFx0fVxuXHR9XG59XG4iLCIvKiBcbiAqIFNlbGVjdGVyIHYzLjIuNCAtIDIwMTUtMDEtMDcgXG4gKiBBIGpRdWVyeSBwbHVnaW4gZm9yIHJlcGxhY2luZyBkZWZhdWx0IHNlbGVjdCBlbGVtZW50cy4gUGFydCBvZiB0aGUgRm9ybXN0b25lIExpYnJhcnkuIFxuICogaHR0cDovL2Zvcm1zdG9uZS5pdC9zZWxlY3Rlci8gXG4gKiBcbiAqIENvcHlyaWdodCAyMDE1IEJlbiBQbHVtOyBNSVQgTGljZW5zZWQgXG4gKi9cblxuXG4uc2VsZWN0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvL21hcmdpbjogMTBweCAwO1xuICBtYXJnaW46IDAgMCAxLjVlbTtcbiAgei1pbmRleDogMTtcbiAgZmxleDogMTtcbiAgLy9tYXgtd2lkdGg6IDMwJTtcbn1cbi5zZWxlY3Rlcjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uc2VsZWN0ZXIsXG4uc2VsZWN0ZXIgKiB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5zZWxlY3Rlcixcbi5zZWxlY3RlciAqLFxuLnNlbGVjdGVyICo6YmVmb3JlLFxuLnNlbGVjdGVyICo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLnNlbGVjdGVyLWVsZW1lbnQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuLnNlbGVjdGVyLWVsZW1lbnQsXG4uc2VsZWN0ZXItZWxlbWVudDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5uby1vcGFjaXR5IC5zZWxlY3Rlci1lbGVtZW50IHtcbiAgbGVmdDogLTk5OTk5OXB4O1xufVxuLnNlbGVjdGVyLXNlbGVjdGVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuICBjb2xvcjogIzIyMjIyMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICAvL21hcmdpbjogMCAwIDEuNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMTNweCAxNXB4O1xuICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICB6LWluZGV4OiAyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uc2VsZWN0ZXItc2VsZWN0ZWQ6YWZ0ZXIge1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDE1cHg7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCAjY2NjY2NjO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogYXV0byAwO1xufVxuLm5vLXRvdWNoIC5zZWxlY3Rlci1zZWxlY3RlZDpob3ZlciB7XG4gIGNvbG9yOiAjMzMzMzMzO1xufVxuLm5vLXRvdWNoIC5zZWxlY3Rlci5kaXNhYmxlZCAuc2VsZWN0ZXItc2VsZWN0ZWQ6aG92ZXIge1xuICBjb2xvcjogI2NjY2NjYztcbn1cbi5zZWxlY3Rlci1vcHRpb25zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDI2MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcbiAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgei1pbmRleDogNTA7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAzcHggM3B4O1xuICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cbi5zZWxlY3Rlci1vcHRpb25zLnNjcm9sbGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLm5vLW9wYWNpdHkgLnNlbGVjdGVyLW9wdGlvbnMge1xuICB3aWR0aDogYXV0bztcbn1cbi5zZWxlY3Rlci1ncm91cCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjY2NjO1xuICBjb2xvcjogIzk5OTk5OTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogLjlyZW07XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5zZWxlY3Rlci1pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjY2NjO1xuICBjb2xvcjogIzIyMjIyMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDEzcHggMTVweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi5zZWxlY3Rlci1pdGVtLnBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zZWxlY3Rlci1pdGVtLnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZDogI2VlZWVlZTtcbn1cbi5zZWxlY3Rlci1pdGVtLmRpc2FibGVkIHtcbiAgY29sb3I6ICM5OTk5OTk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5zZWxlY3Rlci1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5zZWxlY3Rlci1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMnB4IDJweDtcbn1cbi5uby10b3VjaCAuc2VsZWN0ZXItaXRlbTpob3Zlcixcbi5uby10b3VjaCAuc2VsZWN0ZXItaXRlbS5zZWxlY3RlZDpob3ZlciB7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xufVxuLnNlbGVjdGVyLWl0ZW0uZGlzYWJsZWQsXG4ubm8tdG91Y2ggLnNlbGVjdGVyLWl0ZW0uZGlzYWJsZWQ6aG92ZXIge1xuICBjb2xvcjogI2NjY2NjYztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cbi5zZWxlY3Rlci5vcGVuIHtcbiAgei1pbmRleDogMztcbn1cbi5zZWxlY3Rlci5vcGVuIC5zZWxlY3Rlci1zZWxlY3RlZCB7XG4gIHotaW5kZXg6IDUxO1xuICBib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDtcbn1cbi5zZWxlY3Rlci5vcGVuIC5zZWxlY3Rlci1zZWxlY3RlZCxcbi5zZWxlY3Rlci5mb2N1cyAuc2VsZWN0ZXItc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5zZWxlY3Rlci5jb3ZlciAuc2VsZWN0ZXItb3B0aW9ucyB7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICB0b3A6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5zZWxlY3Rlci5jb3ZlciAuc2VsZWN0ZXItb3B0aW9ucyAuc2VsZWN0ZXItaXRlbS5maXJzdCB7XG4gIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xufVxuLnNlbGVjdGVyLmNvdmVyLm9wZW4gLnNlbGVjdGVyLXNlbGVjdGVkIHtcbiAgei1pbmRleDogNDk7XG4gIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xufVxuLnNlbGVjdGVyLmJvdHRvbSAuc2VsZWN0ZXItb3B0aW9ucyB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xuICBib3JkZXItd2lkdGg6IDFweCAxcHggMDtcbn1cbi5zZWxlY3Rlci5ib3R0b20gLnNlbGVjdGVyLWl0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi5zZWxlY3Rlci5ib3R0b20ub3BlbiAuc2VsZWN0ZXItc2VsZWN0ZWQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDtcbn1cbi5zZWxlY3Rlci5ib3R0b20ub3BlbiAuc2VsZWN0ZXItb3B0aW9ucyB7XG4gIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xufVxuLnNlbGVjdGVyLmJvdHRvbSAuY292ZXIgLnNlbGVjdGVyLW9wdGlvbnMge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbn1cbi5zZWxlY3Rlci5ib3R0b20gLmNvdmVyLm9wZW4gLnNlbGVjdGVyLXNlbGVjdGVkIHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLnNlbGVjdGVyLmJvdHRvbSAuY292ZXIub3BlbiAuc2VsZWN0ZXItb3B0aW9ucyB7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5zZWxlY3Rlci5tdWx0aXBsZSAuc2VsZWN0ZXItb3B0aW9ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5zZWxlY3Rlci5kaXNhYmxlZCAuc2VsZWN0ZXItc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gIGNvbG9yOiAjY2NjY2NjO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uc2VsZWN0ZXIuZGlzYWJsZWQgLnNlbGVjdGVyLW9wdGlvbnMge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG59XG4uc2VsZWN0ZXIuZGlzYWJsZWQgLnNlbGVjdGVyLWdyb3VwLFxuLnNlbGVjdGVyLmRpc2FibGVkIC5zZWxlY3Rlci1pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjO1xuICBjb2xvcjogI2NjY2NjYztcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLnNlbGVjdGVyLmRpc2FibGVkIC5zZWxlY3Rlci1pdGVtLnNlbGVjdGVkLFxuLm5vLXRvdWNoIC5zZWxlY3Rlci5kaXNhYmxlZCAuc2VsZWN0ZXItaXRlbS5zZWxlY3RlZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG59XG4uc2VsZWN0ZXIuZGlzYWJsZWQgLnNlbGVjdGVyLWl0ZW0sXG4ubm8tdG91Y2ggLnNlbGVjdGVyLmRpc2FibGVkIC5zZWxlY3Rlci1pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICNjY2NjY2M7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG4uc2VsZWN0ZXItb3B0aW9ucy5zY3JvbGxlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uc2VsZWN0ZXItb3B0aW9ucy5zY3JvbGxlciAuc2Nyb2xsZXItY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IDI2MHB4O1xuICBwYWRkaW5nOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQwcHgpIHtcbiAgLnNlbGVjdGVyIHtcbiAgICAvL21heC13aWR0aDogNDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAuc2VsZWN0ZXIge1xuICAgIC8vbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBIZWFkZXJcbi8vIC0tLS0tLVxuXG4jaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwIDEuNWVtIDEuNWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2YwZjBmMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSApIHtcbiAgICAgICAgcGFkZGluZzogMS41ZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbGFyZ2UgKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41ZW0gMS41ZW07XG4gICAgICAgIG1hcmdpbi10b3A6IC0wLjVlbTtcbiAgICB9XG59XG5cbi8vIFNpdGUgdGl0bGVcbi5zaXRlLXRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDEyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIFxuICAgIGltZyB7XG5cdCAgICBtaW4td2lkdGg6IDE5MHB4O1xuXHQgICAgcGFkZGluZzogM2VtIDAgMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbn1cbiIsIi8vIFNlY3Rpb25zXG4vLyAtLS0tLS0tLVxuXG4uc2VjdGlvbiB7XG4gICAgbWFyZ2luOiA1ZW0gMDtcblxuICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIFxuICAgIC5yb3cge1xuXHQgICAgJi5yb3cge1xuXHRcdCAgICBtYXJnaW4tbGVmdDogYXV0bztcblx0XHQgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHQgICAgfVxuICAgIH1cbn1cblxuLmNvbXBhbnktdGFnbGluZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbXBhbnktZGVzY3JpcHRpb24ge1xuXHRtYXJnaW46IDAgMCA0ZW07XG59XG5cbi5ob21lcGFnZS1jdGEge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IDAgYXV0byA0ZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRvcGFjaXR5OiAwLjg7XG5cdH1cblxuXHQucG9wb3ZlciB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoIDEyZGVnICk7XG5cdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICB0b3A6IDBlbTtcblx0ICAgIHJpZ2h0OiA0ZW07XG5cdCAgICBtYXgtd2lkdGg6IDcuNmVtO1xuXHRcdGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0ICAgIGJveC1zaGFkb3c6IDAuMjVlbSAwLjI1ZW0gMC41ZW0gcmdiYSggJGJsYWNrLCAwLjYgKTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSBkb3duICkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuLnB1bHNlIHtcblx0YW5pbWF0aW9uOiBwdWxzZSAycyBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG5cdDAlIHsgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKCAkc2Vjb25kYXJ5LWNvbG9yLCAwLjQgKSB9XG5cdDcwJSB7IGJveC1zaGFkb3c6IDAgMCAwIDAuNzVlbSByZ2JhKCAkc2Vjb25kYXJ5LWNvbG9yLCAwICkgfVxuXHQxMDAlIHsgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKCAkc2Vjb25kYXJ5LWNvbG9yLCAwICkgfVxufVxuIiwiLy8gVXNlciBuYXZcbi8vIC0tLS0tLS0tXG5cbiN1c2VyLW5hdiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgKSB7XG4gICAgICAgIHBhZGRpbmc6IDJlbSAwO1xuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgcGFkZGluZzogMmVtIDAgMCAxLjVlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIG1hcmdpbjogMCAwLjc1ZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtICkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxLjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XG5cblx0XHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgKSB7XG5cdCAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXHQgICAgICAgICAgICBtYXJnaW46IDFlbSAwO1xuXHRcdCAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG5cdCAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMS41ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgfVxufVxuIiwiLy8gUHJpbWFyeSBuYXZcbi8vIC0tLS0tLS0tLS0tXG5cbiNwcmltYXJ5LW5hdiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDIwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCggMTEyNCApIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IDJlbSAwIDA7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUgLm1lbnUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIDAgKTtcbiAgICB9XG5cbiAgICAubWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogMC41ZW0gMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSggMTAwJSApO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIDExMjQgKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIDExMjQgKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMS41ZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCB4bGFyZ2UgKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUgYTo6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIDExMjQgKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IC0yLjJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMC4yNWVtO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSAwLjJzO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBUb2dnbGVcbi8vIC0tLS0tLVxuXG4udG9nZ2xlLW5hdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwLjVlbTtcbiAgICBib3R0b206IDAuNWVtO1xuICAgIHotaW5kZXg6IDMwO1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIDExMjQgKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyIHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHRvcDogMDtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKCAtNDVkZWcgKTtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSggNDVkZWcgKTtcblx0XHR9XG5cdH1cbn1cblxuLmhhbWJ1cmdlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEuNWVtO1xuXHRoZWlnaHQ6IDAuMjVlbTtcblx0bWFyZ2luOiAwLjVlbSAwO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG5cdHRyYW5zaXRpb246IDAuM3MgZWFzZTtcblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxLjVlbTtcblx0XHRoZWlnaHQ6IDAuMjVlbTtcblx0XHRiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG5cdFx0dHJhbnNpdGlvbjogMC4zcyBlYXNlO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHR0b3A6IC0wLjVlbTtcblx0fVxuXG5cdCY6OmFmdGVyIHtcblx0XHRib3R0b206IC0wLjVlbTtcblx0fVxufVxuIiwiLy8gU29jaWFsIG5hdlxuLy8gLS0tLS0tLS0tLVxuXG4uc29jaWFsLW5hdiB7XG5cdG1hcmdpbi10b3A6IDFlbTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRsaSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1yaWdodDogMWVtO1xuXHR9XG5cblx0YSB7XG5cdFx0d2lkdGg6IDEuNXJlbTtcblx0XHRoZWlnaHQ6IDEuNXJlbTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR0ZXh0LWluZGVudDogLTk5OWVtO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMS41cmVtO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHR9XG5cdH1cblxuXHRbaHJlZio9XCJmYWNlYm9vay5jb21cIl0ge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhJVVJQUTFSWlVFVWdjM1puSUZCVlFreEpReUFpTFM4dlZ6TkRMeTlFVkVRZ1UxWkhJREV1TVM4dlJVNGlJQ0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTlIY21Gd2FHbGpjeTlUVmtjdk1TNHhMMFJVUkM5emRtY3hNUzVrZEdRaVBqeHpkbWNnZG1WeWMybHZiajBpTVM0eElpQnBaRDBpUm1GalpXSnZiMnNpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElpQjJhV1YzUW05NFBTSXdJREFnTWpBZ01qQWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJREl3SURJd0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajQ4Y0dGMGFDQmtQU0pOTVRjc01VZ3pRekV1T1N3eExERXNNUzQ1TERFc00zWXhOR013TERFdU1UQXhMREF1T1N3eUxESXNNbWczZGkwM1NEaFdPUzQxTWpWb01sWTNMalEzTldNd0xUSXVNVFkwTERFdU1qRXlMVE11TmpnMExETXVOelkyTFRNdU5qZzBiREV1T0RBekxEQXVNREF5ZGpJdU5qQTFhQzB4TGpFNU4wTXhNeTR6Tnpnc05pNHpPVGdzTVRNc055NHhORFFzTVRNc055NDRNeloyTVM0Mk9XZ3lMalUyT0V3eE5Td3hNbWd0TW5ZM2FEUmpNUzR4TERBc01pMHdMamc1T1N3eUxUSldNME14T1N3eExqa3NNVGd1TVN3eExERTNMREY2SWk4K1BDOXpkbWMrKTtcblx0fVxuXG5cdFtocmVmKj1cInR3aXR0ZXIuY29tXCJdIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejQ4SVVSUFExUlpVRVVnYzNabklGQlZRa3hKUXlBaUxTOHZWek5ETHk5RVZFUWdVMVpISURFdU1TOHZSVTRpSUNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk5SGNtRndhR2xqY3k5VFZrY3ZNUzR4TDBSVVJDOXpkbWN4TVM1a2RHUWlQanh6ZG1jZ2RtVnljMmx2YmowaU1TNHhJaUJwWkQwaVZIZHBkSFJsY2lJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUlnZUQwaU1IQjRJaUI1UFNJd2NIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBeU1DQXlNQ0lnWlc1aFlteGxMV0poWTJ0bmNtOTFibVE5SW01bGR5QXdJREFnTWpBZ01qQWlJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpUGp4d1lYUm9JR1E5SWsweE55NHpNVFlzTmk0eU5EWmpNQzR3TURnc01DNHhOaklzTUM0d01URXNNQzR6TWpZc01DNHdNVEVzTUM0ME9EaGpNQ3cwTGprNUxUTXVOemszTERFd0xqYzBNaTB4TUM0M05Dd3hNQzQzTkRKakxUSXVNVE16TERBdE5DNHhNVFl0TUM0Mk1qVXROUzQzT0RjdE1TNDJPVGRqTUM0eU9UWXNNQzR3TXpVc01DNDFPVFlzTUM0d05UTXNNQzQ1TERBdU1EVXpZekV1Tnpjc01Dd3pMak01Tnkwd0xqWXdOQ3cwTGpZNE9DMHhMall4TldNdE1TNDJOVEV0TUM0d016RXRNeTR3TkRZdE1TNHhNakV0TXk0MU1qWXRNaTQyTWpGak1DNHlNeXd3TGpBME15d3dMalEyTnl3d0xqQTJOaXd3TGpjeExEQXVNRFkyWXpBdU16UTFMREFzTUM0Mk56a3RNQzR3TkRVc01DNDVPVFV0TUM0eE16RmpMVEV1TnpJM0xUQXVNelE0TFRNdU1ESTRMVEV1T0RjekxUTXVNREk0TFRNdU56QXpZekF0TUM0d01UWXNNQzB3TGpBek1Td3dMVEF1TURRM1l6QXVOVEE1TERBdU1qZ3pMREV1TURreUxEQXVORFV6TERFdU56RXNNQzQwTnpOakxURXVNREV6TFRBdU5qYzRMVEV1TmpndE1TNDRNekl0TVM0Mk9DMHpMakUwTTJNd0xUQXVOamt4TERBdU1UZzJMVEV1TXpRc01DNDFNVEl0TVM0NE9UaERNeTQ1TkRJc05TNDBPVGdzTmk0M01qVXNOeXc1TGpnMk1pdzNMakUxT0VNNUxqYzVPQ3cyTGpnNE1TdzVMamMyTlN3MkxqVTVOQ3c1TGpjMk5TdzJMakk1TjJNd0xUSXVNRGcwTERFdU5qZzVMVE11TnpjekxETXVOemMwTFRNdU56Y3pZekV1TURnMkxEQXNNaTR3Tmpjc01DNDBOVGNzTWk0M05UWXNNUzR4T1RGak1DNDROVGt0TUM0eE55d3hMalkyTnkwd0xqUTROQ3d5TGpNNU55MHdMamt4Tm1NdE1DNHlPRElzTUM0NE9ERXRNQzQ0T0RFc01TNDJNakV0TVM0Mk5pd3lMakE0T0dNd0xqYzJOQzB3TGpBNU1pd3hMalE1TFRBdU1qa3pMREl1TVRZNExUQXVOVGswUXpFNExqWTVOQ3cxTGpBMU1Td3hPQzR3TlRRc05TNDNNVFVzTVRjdU16RTJMRFl1TWpRMmVpSXZQand2YzNablBnPT0pO1xuXHR9XG5cblx0W2hyZWYqPVwiaW5zdGFncmFtLmNvbVwiXSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QnBaRDBpU1c1emRHRm5jbUZ0SWlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhPQ0F4T0NJK1BIUnBkR3hsUG1sdWMzUmhaM0poYlR3dmRHbDBiR1UrUEhCaGRHZ2daRDBpVFRFNExqazBOVGcyTERZdU1qZzVNekZoTmk0Mk1EVTJNU3cyTGpZd05UWXhMREFzTUN3d0xTNDBNVGd6TXkweUxqRTRORFl6TERRdU5ERXhPRGtzTkM0ME1URTRPU3d3TERBc01DMHhMakF6T0RBNUxURXVOVGswTVRJc05DNDBNVEU0T1N3MExqUXhNVGc1TERBc01Dd3dMVEV1TlRrME1USXRNUzR3TXpnd09TdzJMall3TlRZeExEWXVOakExTmpFc01Dd3dMREF0TWk0eE9EUTJNeTB1TkRFNE16TkRNVEl1TnpVd056TXNNUzR3TVRBek9Dd3hNaTQwTkRReU55d3hMREV3TERGekxUSXVOelV3TnpNdU1ERXdNemd0TXk0M01UQTJPU3d3TGpBMU5ERTBZVFl1TmpBMU5qRXNOaTQyTURVMk1Td3dMREFzTUMweUxqRTRORFl6TGpReE9ETXpRVFF1TkRFeE9Ea3NOQzQwTVRFNE9Td3dMREFzTUN3eUxqVXhNRFUyTERJdU5URXdOVFlzTkM0ME1URTRPU3cwTGpReE1UZzVMREFzTUN3d0xERXVORGN5TkRjc05DNHhNRFEyT0dFMkxqWXdOVFl4TERZdU5qQTFOakVzTUN3d0xEQXRMalF4T0RNekxESXVNVGcwTmpORE1TNHdNVEF6T0N3M0xqSTBPVEkzTERFc055NDFOVFUzTXl3eExERXdjekF1TURFd016Z3NNaTQzTlRBM015NHdOVFF4TkN3ekxqY3hNRFk1WVRZdU5qQTFOakVzTmk0Mk1EVTJNU3d3TERBc01Dd3VOREU0TXpNc01pNHhPRFEyTXl3MExqUXhNVGc1TERRdU5ERXhPRGtzTUN3d0xEQXNNUzR3TXpnd09Td3hMalU1TkRFeUxEUXVOREV4TURrc05DNDBNVEV3T1N3d0xEQXNNQ3d4TGpVNU5ERXlMREV1TURNNE1Ea3NOaTQyTURVMk1TdzJMall3TlRZeExEQXNNQ3d3TERJdU1UZzBOak11TkRFNE16TkROeTR5TkRreU55d3hPQzQ1T0RrMk9TdzNMalUxTlRjekxERTVMREV3TERFNWN6SXVOelV3TnpNdExqQXhNRE14TERNdU56RXdOamt0TUM0d05UUXhOR0UyTGpZd05UWXhMRFl1TmpBMU5qRXNNQ3d3TERBc01pNHhPRFEyTXkwdU5ERTRNek1zTkM0Mk1ESXdPQ3cwTGpZd01qQTRMREFzTUN3d0xESXVOak15TWkweUxqWXpNaklzTmk0Mk1EVTJNU3cyTGpZd05UWXhMREFzTUN3d0xDNDBNVGd6TXkweUxqRTRORFl6UXpFNExqazRPVFl5TERFeUxqYzFNRGN6TERFNUxERXlMalEwTkRJM0xERTVMREV3VXpFNExqazRPVFl5TERjdU1qUTVNamNzTVRndU9UUTFPRFlzTmk0eU9Ea3pNVnB0TFRFdU5qRTVPVE1zTnk0ek5EYzBOMkUwTGprM09ESTBMRFF1T1RjNE1qUXNNQ3d3TERFdExqTXdPVGswTERFdU5qY3hNVFJCTWk0NU9EQXhOeXd5TGprNE1ERTNMREFzTUN3eExERTFMak13TnpreUxERTNMakF4Tm1FMExqazNPRFlzTkM0NU56ZzJMREFzTUN3eExURXVOamN4TVRRdU16QTVPVFJETVRJdU5qZzNPRGNzTVRjdU16WTVNaXd4TWk0ME1ETXlOaXd4Tnk0ek56Z3pOaXd4TUN3eE55NHpOemd6Tm5NdE1pNDJPRGM0TnkwdU1EQTVNVFl0TXk0Mk16WTNPQzB3TGpBMU1qUXpRVFF1T1RjNE5pdzBMamszT0RZc01Dd3dMREVzTkM0Mk9USXdPQ3d4Tnk0d01UWmhNaTQzT0RjMk9Td3lMamM0TnpZNUxEQXNNQ3d4TFRFdU1ETTBPRFV0TGpZM016SXlRVEl1TnpnM05qa3NNaTQzT0RjMk9Td3dMREFzTVN3eUxqazROQ3d4TlM0ek1EYzVNbUUwTGprM09ESTBMRFF1T1RjNE1qUXNNQ3d3TERFdExqTXdPVGswTFRFdU5qY3hNVFJETWk0Mk16QTRMREV5TGpZNE56YzBMREl1TmpJeE5qUXNNVEl1TkRBek1UUXNNaTQyTWpFMk5Dd3hNSE13TGpBd09URTJMVEl1TmpnM056UXVNRFV5TkRNdE15NDJNelkzT0VFMExqazNPRFlzTkM0NU56ZzJMREFzTUN3eExESXVPVGcwTERRdU5qa3lNRGhoTWk0M09EYzJPU3d5TGpjNE56WTVMREFzTUN3eExDNDJOek15TWkweExqQXpORGcxUVRJdU56ZzNOamtzTWk0M09EYzJPU3d3TERBc01TdzBMalk1TWpBNExESXVPVGcwWVRRdU9UYzROaXcwTGprM09EWXNNQ3d3TERFc01TNDJOekV4TkMwdU16QTVPVFJETnk0ek1USXlOaXd5TGpZek1EZ3NOeTQxT1RZNE5pd3lMall5TVRZMExERXdMREl1TmpJeE5qUnpNaTQyT0RjM05Dd3dMakF3T1RFMkxETXVOak0yTnpndU1EVXlORE5oTkM0NU56ZzJMRFF1T1RjNE5pd3dMREFzTVN3eExqWTNNVEUwTGpNd09UazBMREl1TnpnM05qa3NNaTQzT0RjMk9Td3dMREFzTVN3eExqQXpORGcxTGpZM016SXlRVEl1TnpnM05qa3NNaTQzT0RjMk9Td3dMREFzTVN3eE55NHdNVFlzTkM0Mk9USXdPR0UwTGprM09EWXNOQzQ1TnpnMkxEQXNNQ3d4TEM0ek1EazVOQ3d4TGpZM01URTBZekF1TURRek1qY3NNQzQ1TkRrdU1EVXlORE1zTVM0eU16TTNMREF1TURVeU5ETXNNeTQyTXpZM09GTXhOeTR6TmpreUxERXlMalk0TnpjMExERTNMak15TlRrekxERXpMall6TmpjNFdrMHhNQ3cxTGpNM09ETTJRVFF1TmpJeE5qUXNOQzQyTWpFMk5Dd3dMREVzTUN3eE5DNDJNakUyTkN3eE1DdzBMall5TVRZNUxEUXVOakl4Tmprc01Dd3dMREFzTVRBc05TNHpOemd6TmxwTk1UQXNNVE5oTXl3ekxEQXNNU3d4TERNdE0wRXpMRE1zTUN3d0xERXNNVEFzTVROYWJUVXVPRGcwTWpJdE55NDRNRFF5WVRFdU1EZ3NNUzR3T0N3d0xERXNNUzB4TGpBNExURXVNRGhCTVM0d09Dd3hMakE0TERBc01Dd3hMREUxTGpnNE5ESXlMRFV1TVRrMU9Gb2lJSFJ5WVc1elptOXliVDBpZEhKaGJuTnNZWFJsS0MweElDMHhLU0l2UGp3dmMzWm5QZz09KTtcblx0fVxuXG5cdFtocmVmKj1cImxpbmtlZGluLmNvbVwiXSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0OGMzWm5JSFpsY25OcGIyNDlJakV1TVNJZ2FXUTlJa3hwYm10bFpFbHVJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjRQU0l3Y0hnaUlIazlJakJ3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJREl3SURJd0lpQmxibUZpYkdVdFltRmphMmR5YjNWdVpEMGlibVYzSURBZ01DQXlNQ0F5TUNJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStQSEJoZEdnZ1pEMGlUVFVzTTJNd0xERXVNUzB3TGpjc01pMHlMREpETVM0NExEVXNNU3cwTGpFc01Td3pMakZETVN3eUxERXVPQ3d4TERNc01WTTFMREV1T1N3MUxETjZJRTB4TERFNWFEUldOa2d4VmpFNWVpQk5NVFF1Tml3MkxqSmpMVEl1TVN3d0xUTXVNeXd4TGpJdE15NDRMREpvTFRBdU1Xd3RNQzR5TFRFdU4wZzJMamxETmk0NUxEY3VOaXczTERndU9TdzNMREV3TGpSV01UbG9OSFl0Tnk0eFl6QXRNQzQwTERBdE1DNDNMREF1TVMweFl6QXVNeTB3TGpjc01DNDRMVEV1Tml3eExqa3RNUzQyWXpFdU5Dd3dMRElzTVM0eUxESXNNaTQ0VmpFNWFEUjJMVGN1TkVNeE9TdzNMamtzTVRjdU1TdzJMaklzTVRRdU5pdzJMako2SWk4K1BDOXpkbWMrKTtcblx0fVxuXG5cdFtocmVmKj1cInBsdXMuZ29vZ2xlLmNvbVwiXSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0OElVUlBRMVJaVUVVZ2MzWm5JRkJWUWt4SlF5QWlMUzh2VnpOREx5OUVWRVFnVTFaSElERXVNUzh2UlU0aUlDSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OUhjbUZ3YUdsamN5OVRWa2N2TVM0eEwwUlVSQzl6ZG1jeE1TNWtkR1FpUGp4emRtY2dkbVZ5YzJsdmJqMGlNUzR4SWlCcFpEMGlSMjl2WjJ4bFgzZ3lRbDhpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElpQjJhV1YzUW05NFBTSXdJREFnTWpBZ01qQWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJREl3SURJd0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajQ4Y0dGMGFDQmtQU0pOTVM0NU9Ea3NOUzQxT0Rsak1Dd3hMalE1TkN3d0xqUTVPU3d5TGpVM01pd3hMalE0TWl3ekxqSXdOV013TGpnd05pd3dMalV5TERFdU56UXNNQzQxT1Rnc01pNHlNallzTUM0MU9UaGpNQzR4TVRnc01Dd3dMakl4TXkwd0xqQXdOaXd3TGpJM09TMHdMakF4WXpBc01DMHdMakUxTkN3eExqQXdOQ3d3TGpVNUxERXVPVGsyU0RZdU5UTXlZeTB4TGpJNE9Td3dMVFV1TkRrekxEQXVNalk1TFRVdU5Ea3pMRE11TnpJM1l6QXNNeTQxTVRZc015NDROakVzTXk0Mk9UVXNOQzQyTXpZc015NDJPVFZqTUM0d05qRXNNQ3d3TGpBNU55MHdMakF3TWl3d0xqQTVOeTB3TGpBd01tTXdMakF3T0N3d0xEQXVNRFl6TERBdU1EQXlMREF1TVRVNExEQXVNREF5WXpBdU5EazNMREFzTVM0M09ESXRNQzR3TmpJc01pNDVOelV0TUM0Mk5ETmpNUzQxTkRndE1DNDNOU3d5TGpNek15MHlMakExT1N3eUxqTXpNeTB6TGpnNE5XTXdMVEV1TnpZMExURXVNVGsyTFRJdU9ERTBMVEl1TURZNUxUTXVOVGd5WXkwd0xqVXpNeTB3TGpRMk9TMHdMams1TkMwd0xqZzNNeTB3TGprNU5DMHhMakkyTm1Nd0xUQXVOQ3d3TGpNek55MHdMamN3TVN3d0xqYzJNaTB4TGpBNE1tTXdMalk0T1Mwd0xqWXhOU3d4TGpNek9TMHhMalE1TWl3eExqTXpPUzB6TGpFMVl6QXRNUzQwTlRjdE1DNHhPRGt0TWk0ME16WXRNUzR6TlRRdE15NHdOVGRqTUM0eE1qRXRNQzR3TmpJc01DNDFOVEV0TUM0eE1EY3NNQzQzTmpNdE1DNHhNemRqTUM0Mk16RXRNQzR3T0RZc01TNDFOVFF0TUM0eE9EUXNNUzQxTlRRdE1DNDJPVGxXTVM0eVNEWXVOalJETmk0MU9UUXNNUzR5TURJc01TNDVPRGtzTVM0ek56SXNNUzQ1T0Rrc05TNDFPRGw2SUUwNUxqUXhNeXd4TkM0Mk1ESmpNQzR3T0Rnc01TNDBNRFl0TVM0eE1UVXNNaTQwTkRNdE1pNDVNaklzTWk0MU56UmpMVEV1T0RNMUxEQXVNVE0xTFRNdU16UTFMVEF1TmpreExUTXVORE16TFRJdU1EazJZeTB3TGpBME15MHdMalkzTml3d0xqSTFOQzB4TGpNek5pd3dMamd6TlMweExqZzJNMk13TGpVNE9TMHdMalV6TXl3eExqTTVPQzB3TGpnMk15d3lMakkzT0Mwd0xqa3lPR013TGpFd05DMHdMakF3Tml3d0xqSXdOeTB3TGpBeE1pd3dMak14TFRBdU1ERXlRemd1TVRnc01USXVNamM0TERrdU16TXNNVE11TWpjMkxEa3VOREV6TERFMExqWXdNbm9nVFRndU1qRXlMRFF1TmpJMll6QXVORFV4TERFdU5UZzRMVEF1TWpNc015NHlORFl0TVM0ek1UWXNNeTQxTlRORE5pNDNOekVzT0M0eU1UUXNOaTQyTkRNc09DNHlNekVzTmk0MU1USXNPQzR5TXpGakxUQXVPVGswTERBdE1TNDVOemt0TVM0d01EWXRNaTR6TkRVdE1pNHpPVE5ETXk0NU5qTXNOUzR3TmpJc015NDVPQ3cwTGpNNExEUXVNakUwTERNdU56STJZekF1TWpJNUxUQXVOalExTERBdU5qUXpMVEV1TURjNExERXVNVFl6TFRFdU1qSTFZekF1TVRJMUxUQXVNRE0xTERBdU1qVTBMVEF1TURVekxEQXVNemcxTFRBdU1EVXpRell1T1RZeUxESXVORFE0TERjdU56TTBMREl1T1RRMkxEZ3VNakV5TERRdU5qSTJlaUJOTVRZc09GWTFhQzB5ZGpOb0xUTjJNbWd6ZGpOb01uWXRNMmd6VmpoSU1UWjZJaTgrUEM5emRtYyspO1xuXHR9XG5cdFxuXHRbaHJlZio9XCJwbGF5Lmdvb2dsZS5jb21cIl0ge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhJVVJQUTFSWlVFVWdjM1puSUZCVlFreEpReUFpTFM4dlZ6TkRMeTlFVkVRZ1UxWkhJREV1TVM4dlJVNGlJQ0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTlIY21Gd2FHbGpjeTlUVmtjdk1TNHhMMFJVUkM5emRtY3hNUzVrZEdRaVBqeHpkbWNnZG1WeWMybHZiajBpTVM0eElpQnBaRDBpUjI5dloyeGxYMUJzWVhraUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJaUIyYVdWM1FtOTRQU0l3SURBZ01qQWdNakFpSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURJd0lESXdJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWo0OGNHRjBhQ0JrUFNKTk5DNDVOREkyTWpjc01UZ3VNRFV3T0RReU0ydzNMalkyTmpBeE5UWXROQzR6TWpjek9USTJiQzB4TGpZME5USXdNall0TVM0NE1qTTBNalV6VERRdU9UUXlOakkzTERFNExqQTFNRGcwTWpONklFMHlMakUwTWpJeE1Ua3NNaTR4TWpNeE1EYzVRekl1TURVME16Z3lNeXd5TGpJNE1UTXhNU3d5TERJdU5EWXpNVGsxT0N3eUxESXVOalkwT1RFM2RqRTFMakV5TlRrM05qWmpNQ3d3TGpJM09UazJPRE1zTUM0eE1EUTJNVFF6TERBdU5USXdNakF5Tml3d0xqSTJNekV5TWpZc01DNDNNVEF4TkRSc055NDJNalkxTWpVNUxUY3VOemt4TWpVNU9Fd3lMakUwTWpJeE1Ua3NNaTR4TWpNeE1EYzVlaUJOTVRjdU5EYzVOVFV6TWl3NUxqUTRNVGt6TXpac0xUSXVOamN5TkRnMU5DMHhMalV3T0RZd05td3RNaTQzTWpJeU9Td3lMamM0TVRFeU56bHNNUzQ1TlRFMk5qQXlMREl1TVRZek1ESTBPV3d6TGpRME16RXhOVEl0TVM0NU5ETTJNRE0xUXpFM0xqYzVNamM0TlRZc01UQXVPREUxTlRVeE9Dd3hOeTQ1TmpVMk16Y3lMREV3TGpVeU9EYzBOellzTVRnc01UQXVNakkzT1RBMU0wTXhOeTQ1TmpVMk16Y3lMRGt1T1RJM01EWXpMREUzTGpjNU1qYzROVFlzT1M0Mk5EQXlOVGc0TERFM0xqUTNPVFUxTXpJc09TNDBPREU1TXpNMmVpQk5NVE11TXpZME9USTVNaXczTGpFMU9USTBNRGRNTkM0eE5EVXlNREkyTERFdU9UVTBPRE0wYkRZdU9EWTFOall4Tml3M0xqWXdPVE14TkV3eE15NHpOalE1TWpreUxEY3VNVFU1TWpRd04zb2lMejQ4TDNOMlp6ND0pO1xuXHR9XG59XG4iLCIvLyBOZXdzbGV0dGVyXG4vLyAtLS0tLS0tLS0tXG5cbi5uZXdzbGV0dGVyLXNpZ251cCB7XG4gICAgbWFyZ2luOiAwIDAgM2VtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgfVxuXG4gICAgLmZvcm1zIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMGVtO1xuICAgICAgICBtYXJnaW46IDEuNWVtIGF1dG87XG4gICAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLVxuXG4ucGFnaW5hdGlvbiB7XG5cdC8vIEhpZGUgQkMgcGFnaW5hdGlvblxuXHQmLndlYmFwcCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4ucGFnaW5hdGlvbi1uYXYge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRsaSB7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXG5cdFx0Ji5pcy1hY3RpdmUgYSB7XG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0Y29sb3I6ICRkYXJrLWdyYXk7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0fVxuXG5cdFx0Ji5uYXYtbmV4dCB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMDtcblx0XHR9XG5cblx0XHQmLm5hdi1wcmV2IHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmc6IDAuMjVlbSAwLjc1ZW07XG5cdFx0Y29sb3I6ICRtZWRpdW0tZ3JheTtcblx0XHRib3JkZXI6IHNvbGlkIDFweCAkbGlnaHQtZ3JheTtcblx0XHRib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogJGRhcmstZ3JheTtcblx0XHR9XG5cdH1cblxuXHQvLyBpZiB1c2luZyBtYXRlcmlhbCBpY29uc1xuXHQubWF0ZXJpYWwtaWNvbnMge1xuXHRcdG1hcmdpbi10b3A6IC0wLjI1ZW07XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRmb250LXNpemU6IDFlbTtcblx0fVxuXHQvLyBpZiB1c2luZyBzdmdcblx0c3ZnIHtcblx0XHR3aWR0aDogMWVtO1xuXHR9XG5cbn1cbnN2ZyNpY29uLWNsb2NrIHtcbiAgICB3aWR0aDogMWVtO1xufVxuaGVhZGVyLnBvc3QtbWV0YSB7XG4gICAgbWFyZ2luOiAxZW0gMCAxZW07XG59XG4ucG9zdC1jb250ZW50IHtcbiAgICBtYXJnaW46IDJlbSAwO1xufVxuLmJsb2ctaGVhZGVye1xuXHRtYXJnaW46IDFlbSAwIDFlbTtcbn0iLCIvLyBGb290ZXJcbi8vIC0tLS0tLVxuXG4jZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAwLjEyNWVtICRwcmltYXJ5LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoICRzZWNvbmRhcnktY29sb3IsIDAuMSApO1xuXHRwYWRkaW5nOiAzZW0gMS41ZW07XG5cblx0LmNvbHVtbnMge1xuXHRcdGg1IHtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0fVxuXHR9XG5cblx0LmltYWdlLWNvbnRhaW5lciB7XG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblx0fVxufVxuXG4uaW1wcmludCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuXHRmb290ZXIgLmNvbHVtbnMge1xuXHRcdG1hcmdpbjogMCAwIDNyZW07XG5cdH1cbn1cbiIsIi8vIEJsb2dcbi8vIC0tLS0tLVxuXG4uYmxvZy1saXN0IC5wb3N0LXRpdGxle1xuICAgIGZvbnQtc2l6ZTogMS44NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnBvc3QtdGl0bGV7XG5cdGZvbnQtc2l6ZTogMS44NXJlbTtcblx0Y29sb3I6ICMyMjg1M2U7XG59XG5cbi5wb3N0LWJvZHl7XG4gICAgcGFkZGluZy1ib3R0b206IDJlbTtcbn0iLCIvLyBFY29tbWVyY2Vcbi8vIC0tLS0tLS0tLVxuXG4uY2F0YWxvZ3VlTGlzdCxcbi5wcm9kdWN0TGlzdCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uY2F0YWxvZ3VlTGlzdCAuY2F0YWxvZ3VlSXRlbU5vdEZvdW5kLFxuLnByb2R1Y3RMaXN0IC5wcm9kdWN0SXRlbU5vdEZvdW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBDYXJ0IHN1bW1hcnlcbiNjYXRDYXJ0U3VtbWFyeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBRdWFudGl0eVxuLnF1YW50aXR5LWNvbnRyb2xzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA4ZW07XG5cbiAgICAucHJvZHVjdFRleHRJbnB1dCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmFkZCxcbiAgICAuc3ViIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMC41ZW0gMWVtIDAuOGVtO1xuICAgIH1cblxuICAgIC5hZGQge1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAuc3ViIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG5cbiNjYXRDYXJ0RGV0YWlscyB7XG5cdC5jYXJ0TGluayB7XG5cdFx0cGFkZGluZzogMCAxMCU7XG5cdCAgICBsaW5lLWhlaWdodDogNGVtO1xuICAgXHR9XG59XG5cbi8vIFNlYXJjaCBmb3JtXG4ucHJvZHVjdC1zZWFyY2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDQwZW07XG4gICAgaGVpZ2h0OiAzLjRlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogM2VtIGF1dG87XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXEU4QjZcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMCAwLjVlbTtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgfVxufVxuLnNlYXJjaC1pbnB1dCB7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlcjogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxufVxuXG4uc2VhcmNoLXN1Ym1pdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNlYXJjaC1jYXRhbG9ndWUge1xuICAgIGZsZXgtYmFzaXM6IDM1JTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItbGVmdDogc29saWQgMC4xMjVlbSAkbGlnaHQtZ3JheTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uc2VhcmNoLXJlc3VsdHMge1xuICAgIG1hcmdpbjogM2VtIDA7XG59XG5cbi5sb2FkZXIge1xuICAgIHdpZHRoOiAzZW07XG4gICAgaGVpZ2h0OiAzZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYm9yZGVyOiBzb2xpZCAwLjI1ZW0gJHByaW1hcnktY29sb3I7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogbG9hZC1zcGlubmVyIDAuOHMgZWFzZSBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBsb2FkLXNwaW5uZXIge1xuICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoIDBkZWcgKTsgfVxuICAgIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSggMzYwZGVnICk7IH1cbn1cbiIsIi8vIFNtYWxsIHByb2R1Y3Rcbi8vIC0tLS0tLS0tLS0tLS1cblxuLy8gUHJvZHVjdCBzZWxlY3Rpb24gYXNpZGVcbi5wcm9kdWN0LWZpbHRlci1jb250YWluZXIge1xuXHRtYXJnaW46IDRlbSAwO1xuXHQuZmlsdGVyLWdyb3VwIHtcblx0XHRcdG1hcmdpbjogMCAwIDJlbTtcblxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdC5maWx0ZXItaW5uZXIge1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiAxMDBlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRoNSB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJGxpZ2h0LWdyYXk7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0cGFkZGluZzogMCAwIDFlbTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0Zm9udC1zaXplOiAwLjc1cmVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC4xZW07XG5cblx0XHQgICAgJjo6YWZ0ZXIge1xuXHRcdCAgICAgICAgY29udGVudDogXCJcXEUxNDVcIjtcblx0XHQgICAgICAgIG9wYWNpdHk6IDAuNTtcblx0XHQgICAgICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuXHRcdCAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXHRcdCAgICB9XG5cdFx0fVxuXHR9XG5cdC5maWx0ZXItaW5uZXIge1xuXHRcdG1heC1oZWlnaHQ6IDA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdGlucHV0IHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cbn1cblxuLnByb2R1Y3RzLW5ldywgLmFncmV3YXJkcy1sb2dvLCAucGxhbnRiYWNrLWxvZ28ge1xuXHRtYXJnaW46IDFlbSAxZW0gMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFncmV3YXJkcy1sb2dvLCAucGxhbnRiYWNrLWxvZ28ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuLnN0b3JlZnJvbnQgLnByb2R1Y3RTbWFsbCB7XG4gICAgbGkge1xuXHQgICAgZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4ucHJvZHVjdFNtYWxsIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgICBsaSB7XG5cdCAgICAvL2Rpc3BsYXk6IG5vbmU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbiggMTIgKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbiggNiApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbGFyZ2UgKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbiggNCApO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBbZGF0YS1wYWdlbmFtZT1cIkFnUmV3YXJkc1wiXSAmIHtcblx0ICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gKSB7XG5cdCAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCA0ICk7XG5cdCAgICAgICAgfVxuICAgICAgICBcblx0ICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCBsYXJnZSApIHtcblx0ICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oIDMgKTtcblx0ICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEluZm9cbi5wcm9kdWN0LWluZm8ge1xuICAgIG1pbi1oZWlnaHQ6IDVlbTtcbiAgICBtYXJnaW46IDFlbSAwIDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXRhaWwtcHJpY2Uge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBMYXJnZSBwcm9kdWN0XG4vLyAtLS0tLS0tLS0tLS0tXG5cbi5wcm9kdWN0LWRldGFpbCB7XG4gICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNWVtO1xuICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICB9XG4gICAgfVxuXG5cdC5wcm9kdWN0LWFjdGl2ZS1pbmdyZWRpZW50IHtcblx0XHRmb250LXNpemU6IC44cmVtO1xuXHRcdG1hcmdpbjogLTFlbSAwIDJlbTtcblx0fVxuXG4gICAgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmV0YWlsLXByaWNlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtZG93bmxvYWRzIHtcblx0ICAgIHVsIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cdFx0XHRwYWRkaW5nOiAxZW07XG5cdFx0ICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG5cdFx0ICAgIGxpIHtcblx0XHRcdCAgICBsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0ICAgIGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHQgICAgLm1hdGVyaWFsLWljb25zIHtcblx0XHRcdFx0ICAgIGZvbnQtc2l6ZTogLjhyZW07XG5cdFx0XHRcdCAgICBtYXJnaW46IC4zcmVtIC41cmVtIDAgMDtcblx0XHRcdCAgICB9XG5cdFx0ICAgIH1cblx0ICAgIH1cblxuXHQgICAgLnByb2R1Y3QtdGFncyxcblx0ICAgIC5wbGFudGJhY2stdGFncyB7XG5cdFx0ICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwxMTksMTAyLDAuMSk7XG5cdCAgICAgICAgYm9yZGVyLXJhZGl1czogLjI1ZW07XG5cdFx0XHRtYXJnaW46IDFlbSAwO1xuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0cGFkZGluZzogMCAuM2VtIDAgMDtcblx0XHRcdFx0fVxuXG5cdFx0XHQuYWdyZXdhcmRzLXRleHQsXG5cdFx0XHQucGxhbnRiYWNrLXRleHQge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0XHRmb250LXNpemU6IC44cmVtO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdFx0XHRcdGJyIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCAxMjcwICkge1xuXHRcdFx0XHRcdFx0Ly9kaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHQgICAgfVxuICAgIH1cblxuICAgIC5jYXRQcm9kdWN0QXR0cmlidXRlR3JvdXAge1xuXHQgICAgbWFyZ2luOiAyZW0gMDtcblx0ICAgIC5jYXRQcm9kQXR0cmlidXRlVGl0bGUge1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0ICAgIH1cblx0ICAgIC5jYXRQcm9kQXR0cmlidXRlSXRlbSB7XG5cdFx0ICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG5cdFx0XHRcdG1hcmdpbjogMCAuNXJlbSAuOHJlbTtcblx0XHQgICAgfVxuXHQgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWZ1bmN0aW9ucyB7XG5cdCAgICAucXVhbnRpdHktY29udHJvbHMsIC5hZGQtdG8tY2FydCwgLnByb2R1Y3QtZW5xdWlyeSB7XG5cdFx0ICAgIG1hcmdpbjogMWVtIDAgMDtcblx0ICAgIH1cblx0ICAgIC5idXR0b24ge1xuXHRcdCAgICAmLmJ1dHRvbiB7XG5cdFx0XHQgICAgd2lkdGg6IDEwMCU7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjRyZW07XG5cdFx0XHR9XG5cdCAgICB9XG4gXHQgICAgLnF1YW50aXR5LWNvbnRyb2xzIHtcblx0ICAgIH1cblx0fVxufVxuXG4ucHJvZHVjdC1nYWxsZXJ5IHtcblx0Lm1haW4taW1hZ2Uge1xuXG5cdH1cblx0LnBsYWNlaG9sZGVyIHtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRwYWRkaW5nOiAzZW0gMDtcblx0fVxufVxuXG4ucmVsYXRlZC1wcm9kdWN0cyB7XG5cdG1hcmdpbjogM2VtIDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRoMiwgaDMge1xuXHRcdGZvbnQtc2l6ZTogMS41cmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZzogMCAxLjVlbSAxLjVlbTtcblx0fVxuXHRoNSB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cblxuXHQucHJvZHVjdC1pbmZvIHtcblx0XHRmb250LXNpemU6IC44ZW07XG5cdH1cbn1cbiIsIi8vIEhvbWVwYWdlIGNhdGVnb3J5IHNlY3Rpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnByb2R1Y3QtY2F0YWxvZ3VlIHtcblx0YSB7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0fVxuXHR9XG59XG5cbi5jYXRhbG9ndWUtZGVzY3JpcHRpb24ge1xuXHRtYXJnaW4tdG9wOiA0ZW07XG59XG5cbi5jYXRhbG9ndWVMaXN0IHtcblx0bWFyZ2luOiAzZW0gYXV0bztcblxuXHRsaSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1hcmdpbjogMCAwIDEuNWVtO1xuXHRcdHdpZHRoOiA0OCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXG5cdFx0JjpudGgtY2hpbGQoMm4pIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiA0JTtcblx0XHR9XG5cblx0XHRhOmhvdmVyIHtcblx0XHRcdGltZyB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuODtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc2hvcC1jYXRhbG9ndWUge1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0YmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiAwLjNzIGVhc2U7XG5cdFx0XHR9XG5cblx0XHRcdC5jYXRhbG9ndWUtdGV4dCB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0cGFkZGluZzogMWVtO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCAkYmxhY2ssIDAuNyApO1xuXG5cdFx0XHRcdGgzIHtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjI1ZW07XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXG4vKlxuXHRcdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxFMzE1XCI7XG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcblx0XHRcdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMmVtO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDFlbTtcblx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdFx0fVxuKi9cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5tYXRlcmlhbC1pY29ucyB7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdFx0XHRmb250LXNpemU6IDEuMmVtO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcblxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuXHQuY2F0YWxvZ3VlTGlzdCB7XG5cdFx0bGkge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdCY6bnRoLWNoaWxkKCAybiApIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBDaGVja291dFxuLy8gLS0tLS0tLS1cblxuLmNoZWNrb3V0IHtcblx0LnNzbCB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHR9XG59XG5cbi5iaWxsaW5nLWZpZWxkcyxcbi5ob21lLWZpZWxkcyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKipcbiAqIENhcnRcbiAqL1xuXG4uY2FydCB7XG5cdHAge1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdGltZyB7XG5cdFx0bWF4LXdpZHRoOiAxMDBweDtcblx0fVxuXG5cdC5idXR0b24ge1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXHRcblx0LmNhcnQtbGlzdCB7XG5cdFx0LnByb2R1Y3QtaW5mbyB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblx0fVxuXHRcblx0LmJ1dHRvbiB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHR9XG59XG4iLCIvLyBCYW5uZXIgc2VjdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuI2hlYWQtYmFubmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXgtd2lkdGg6IDkwZW07XG5cdG1hcmdpbjogYXV0bztcblxuXHQjYmFubmVyIHtcblx0XHQmLWhlYWRlciB7XG5cdFx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHQgICAgYm90dG9tOiAwO1xuXHRcdCAgICBsZWZ0OiAwO1xuXHRcdCAgICBiYWNrZ3JvdW5kOiByZ2JhKCAkYmxhY2ssIDAuNyApO1xuXHRcdCAgICBwYWRkaW5nOiAxLjVlbSAwO1xuXHRcdCAgICB3aWR0aDogMTAwJTtcblxuXHRcdFx0aDEge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBQbGFudCBiYWNrIGd1YXJhbnRlZVxuICovXG5cbi5hZHZlcnRzLWxpc3Qge1xuXHQuYWR2ZXJ0LWl0ZW0ge1xuXHRcdG1hcmdpbjogM3JlbSAwO1xuXHR9XG5cdFxuXHQuaXRlbS1kb3dubG9hZCB7XG5cdFx0bWFyZ2luOiAxcmVtIDAgMDtcblx0XHRcblx0XHQubWF0ZXJpYWwtaWNvbnMge1xuXHRcdFx0Zm9udC1zaXplOiAuOHJlbTtcblx0XHRcdG1hcmdpbjogMCAuNXJlbSAtLjNyZW0gMDtcbiAgICBcdH1cbiAgICBcdFxuICAgIFx0LmRvd25sb2FkLXRleHQge1xuXHRcdFx0Ly9tYXJnaW46IC4zcmVtIC41cmVtIDAgMDtcbiAgICBcdH1cblx0fVxuXHRcblx0Lml0ZW0tcHJvZHVjdCB7XG5cdFx0Lm1hdGVyaWFsLWljb25zIHtcblx0XHRcdGZvbnQtc2l6ZTogLjhyZW07XG5cdFx0XHRtYXJnaW46IDAgLjVyZW0gLS4zcmVtIDA7XG5cdFx0fVxuXHRcdFxuXHRcdC5wcm9kdWN0LXRleHQge1xuXHRcdFx0Ly9tYXJnaW46IC0uM3JlbSAwIC4zcmVtIDA7XG5cdFx0fVxuXHR9XG59IiwiLyoqXG4gKiBQbGFudCBiYWNrIGd1YXJhbnRlZVxuICovXG5cbi5wbGFudC1iYWNrIHtcblx0LmhlYWRpbmcge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoIHNtYWxsIGRvd24gKSB7XG5cdFx0XHRtYXJnaW46IDJlbSAwIDA7XG5cdFx0fVxuXHR9XG5cdFxuXHQucmVnaXN0cmF0aW9uLWZvcm0ge1xuXHRcdFxuXHR9XG5cdFxuXHQudGVycml0b3J5LW1hbmFnZXJzIHtcblx0XHQuaGVhZGVyIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0fVxuXHRcdFxuXHRcdC5kZXRhaWxzIHtcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0cGFkZGluZzogNGVtIDAgMDtcblx0XHRcblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdFxuXHRcdFx0aHIge1xuXHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuY29udGFjdC10ZWwge1xuXHRcdFx0Zm9udC1zaXplOiAycmVtO1xuXHRcdFx0bWFyZ2luOiAtLjVlbSAxZW0gMWVtO1xuXHRcdH1cblx0fVxuXHRcblx0LnByb2R1Y3RzIHtcblx0XHRmb250LXNpemU6IDEuMnJlbTtcblx0XHRcblx0XHRsaSB7XG5cdFx0XHRtYXJnaW46IDAgMCAxZW0gMDtcblx0XHR9XG5cdH1cblx0XG5cdC5maW5lLXByaW50IHtcblx0XHRcblx0fVxufSIsIi8vIFRlcnJpdG9yeSBNYW5hZ2VyIHNlY3Rpb25cbi5jb2x1bW4tYmNrZ3JkIHtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgICNFQUY2RUUgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMjBweCk7XG5cdHBhZGRpbmc6IDNlbSA0ZW0gMDtcbn1cblxuLnRlcnJpdG9yeS1kZXRhaWxzIHtcblx0Y2xlYXI6IGJvdGg7XG5cdHBhZGRpbmc6IDRlbSAwIDA7XG5cblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdGhyIHtcblx0XHR3aWR0aDogNTAlO1xuXHR9XG5cdC50ZXJyaXRvcnktaGVhZGVyIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0fVxuXHQudGVycml0b3J5LW1hbmFnZXIge1xuXHRcdHBhZGRpbmc6IDAgMS41cmVtIDNyZW07XG5cblx0XHQudGVycml0b3J5LWltYWdlIHtcblxuXHRcdH1cblx0XHQudGVycml0b3J5LWZ1bGwtbmFtZSB7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Zm9udC1zaXplOiAxLjJyZW07XG5cdFx0XHRtYXJnaW46IDFlbSAwIC41ZW07XG5cdFx0fVxuXHRcdC50ZXJyaXRvcnktcG9zaXRpb24ge1xuXHRcdFx0bWFyZ2luOiAwIDAgMWVtO1xuXHRcdFx0Y29sb3I6ICRtZWRpdW0tZ3JheTtcblx0XHR9XG5cdFx0LnRlcnJpdG9yeS10ZWwsIC50ZXJyaXRvcnktZW1haWwge1xuXHRcdFx0Zm9udC1zaXplOiAuODc1cmVtO1xuXHRcdFx0bWFyZ2luOiAuNWVtIDAgMDtcblxuXHRcdFx0YSB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMCAwIC41ZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcblx0LnRlcnJpdG9yeS1kZXRhaWxzIHtcblx0XHQudGVycml0b3J5LW1hbmFnZXIge1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIENvbXBldGl0aW9uIFZpZGVvc1xuICovXG5cbi52aWRlby1jdGFzIHtcblx0LmJ1dHRvbiB7XG5cdFx0cGFkZGluZzogM2VtO1xuXHRcdGZvbnQtc2l6ZTogMS41ZW07XG5cdH1cblxuXHQubWF0ZXJpYWwtaWNvbnMge1xuXHRcdGZvbnQtc2l6ZTogM2VtO1xuXHR9XG5cblx0aDIge1xuXHRcdG1hcmdpbjogMC41ZW0gMDtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG5cblx0c21hbGwge1xuXHRcdGZvbnQtc2l6ZTogMC42NmVtO1xuXHR9XG59XG5cblxuLy8gTGlzdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNvbXBldGl0aW9uLWxpc3Qge1xuXHRwYWRkaW5nOiAzZW07XG5cdG1hcmdpbjogMDtcblx0Ym9yZGVyLXRvcDogc29saWQgMXB4ICRsaWdodC1ncmF5O1xuXG5cdGEge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0LnRodW1ibmFpbCB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuODtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQudmlkZW8taXRlbSB7XG5cdFx0bWFyZ2luOiAxZW0gMDtcblx0fVxuXG5cdC50aHVtYm5haWwge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0cmFuc2l0aW9uOiAwLjNzIGVhc2U7XG5cdH1cblxuXHQuY2FwdGlvbiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMi4ycmVtO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cGFkZGluZzogMWVtO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoICRibGFjaywgMC43ICk7XG5cdH1cblxuXHQuaW5mbyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdC5tYXRlcmlhbC1pY29ucyB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdGxpbmUtaGVpZ2h0OiAyLjE7XG5cdH1cbn1cblxuLmJ1dHRvbi10aXRsZSB7XG5cdHBhZGRpbmc6IDFlbTtcblx0bWFyZ2luLWJvdHRvbTogMXB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuXHRib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbn1cblxuXG4vLyBEZXRhaWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNvbXBldGl0aW9uLXZpZGVvIHtcblx0cGFkZGluZzogM2VtIDA7XG5cdG1hcmdpbjogMDtcblx0YmFja2dyb3VuZDogIzA0MGYwNztcbn1cbiIsIi8vIFNlY3VyZSBab25lIGRvY3VtZW50IGRvd25sb2FkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZG9jdW1lbnRzIHtcblx0ZGl2OmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbjtcblx0fVxuXHRkaXYuY2F0ZWdvcnkge1xuXHRcdG1hcmdpbjogM2VtIDAgJGdsb2JhbC1tYXJnaW47XG5cdFx0XG5cdFx0aDMge1xuXHRcdCAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Y29sb3I6ICRtZWRpdW0tZ3JheTtcblx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHR9XG5cdFx0XG5cdFx0dWwge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0bGkge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdC5kb2N1bWVudC1uYW1lIHtcblx0XHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0fVxuXHRcdFx0XHQubGl0ZXJhdHVyZS1jb250YWluZXIge1xuXHRcdFx0XHQgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRmb250LXNpemU6IC44cmVtO1xuXHRcdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkZGFyay1ncmF5O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdGhyIHtcblx0XHRcdFx0bWFyZ2luOiAxcmVtIGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBTZWN1cmUgWm9uZSBOYXZpZ2F0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiNhY2NvdW50LW5hdiB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dWwubWVudSB7XG5cdFx0bWFyZ2luOiAwIDAgNGVtO1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGZvbnQtc2l6ZTogLjhyZW07XG5cdFx0cG9zaXRpb246IHN0YXRpYztcblx0ICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cdCAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcblx0ICAgIHRyYW5zaXRpb246IG5vbmU7XHRcdFxuXHQgICAgXG5cdFx0bGkge1xuXHRcdFx0bWFyZ2luOiAwIDFlbSAwO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0XG5cdFx0XHRhIHtcblx0XHQgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdGNvbG9yOiAkZGFyay1ncmF5O1xuXHRcdFx0XHRcblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0ICAgIGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdCAgICBib3R0b206IC0yLjJlbTtcblx0XHRcdFx0ICAgIGxlZnQ6IDA7XG5cdFx0XHRcdCAgICB3aWR0aDogMDtcblx0XHRcdFx0ICAgIGhlaWdodDogMC4yNWVtO1xuXHRcdFx0XHQgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRcdCAgICBiYWNrZ3JvdW5kOiAjMjc5QjQ4O1xuXHRcdFx0XHQgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIDAuMnM7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLy8gU2VjdXJlIFpvbmUgTXkgRGV0YWlsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc2V0dGluZ3Mge1xuXHRwYWRkaW5nOiAwIDE1JTtcbn1cblxuZm9ybS5hY2NvdW50LXNldHRpbmdzIHtcblx0LnN1YnRpdGxlIHtcblx0ICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdCAgICBtYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbjtcblx0fVxufVxuXG4uYWNjb3VudC1jb250ZW50IHtcblx0aDIge1xuXHQgICAgbWFyZ2luOiAyZW0gMCAxZW07XG5cdFx0XG5cdFx0Jjo6Zmlyc3QtY2hpbGQge1xuXHRcdCAgICBtYXJnaW46IDAgMCAxZW07XG5cdFx0fVxuXHR9XG59Il19 */
