@import url(../fonts/gotham/stylesheet.css);@import url(../fonts/flaticons/solid/stylesheet.css);@import url(../fonts/flaticons/stroke/stylesheet.css);@import url(../fonts/flaticons/social/stylesheet.css);@import url(../fonts/bodoni/stylesheet.css);@import url(../fonts/reginablack/stylesheet.css);@import url(../fonts/freshlifesans/stylesheet.css);/*! 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{-webkit-box-sizing:content-box;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;-webkit-text-decoration:underline dotted;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"]{-webkit-box-sizing:border-box;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{-webkit-box-sizing:border-box;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{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:90%}*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit}body{margin:0;padding:0;background:#fafafa;font-family:"GothamHTFBook","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:1.8;color:#555;-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:4px}select{width:100%;border-radius:4px}.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:4px;background:transparent;line-height:1}[data-whatinput='mouse'] button{outline:0}.is-visible{display:block !important}.is-hidden{display:none !important}.row{max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.row .row{margin-right:-.69444rem;margin-left:-.69444rem}@media print, screen and (min-width: 40em){.row .row{margin-right:-1.04167rem;margin-left:-1.04167rem}}@media print, screen and (min-width: 64em){.row .row{margin-right:-1.04167rem;margin-left:-1.04167rem}}.row.expanded{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{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px;padding-right:.69444rem;padding-left:.69444rem;min-width:initial}@media print, screen and (min-width: 40em){.column,.columns{padding-right:1.04167rem;padding-left:1.04167rem}}.column.row.row,.row.row.columns{display:-webkit-box;display:-ms-flexbox;display:flex}.row .column.row.row,.row .row.row.columns{margin-right:0;margin-left:0;padding-right:0;padding-left:0}.flex-container{display:-webkit-box;display:-ms-flexbox;display:flex}.flex-child-auto{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.flex-child-grow{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.flex-child-shrink{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.small-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.small-offset-0{margin-left:0%}.small-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.small-offset-1{margin-left:8.33333%}.small-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.small-offset-2{margin-left:16.66667%}.small-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.small-offset-3{margin-left:25%}.small-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.small-offset-4{margin-left:33.33333%}.small-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.small-offset-5{margin-left:41.66667%}.small-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.small-offset-6{margin-left:50%}.small-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.small-offset-7{margin-left:58.33333%}.small-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.small-offset-8{margin-left:66.66667%}.small-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.small-offset-9{margin-left:75%}.small-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.small-offset-10{margin-left:83.33333%}.small-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.small-offset-11{margin-left:91.66667%}.small-order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.small-order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.small-order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.small-order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.small-order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.small-order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.small-up-1{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-1>.column,.small-up-1>.columns{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.small-up-2{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-2>.column,.small-up-2>.columns{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.small-up-3{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-3>.column,.small-up-3>.columns{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.small-up-4{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-4>.column,.small-up-4>.columns{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.small-up-5{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-5>.column,.small-up-5>.columns{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.small-up-6{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-6>.column,.small-up-6>.columns{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.small-up-7{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-7>.column,.small-up-7>.columns{-webkit-box-flex:0;-ms-flex:0 0 14.28571%;flex:0 0 14.28571%;max-width:14.28571%}.small-up-8{-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-8>.column,.small-up-8>.columns{-webkit-box-flex:0;-ms-flex:0 0 12.5%;flex:0 0 12.5%;max-width:12.5%}.small-collapse>.column,.small-collapse>.columns{padding-right:0;padding-left:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-right:.69444rem;padding-left:.69444rem}@media print, screen and (min-width: 40em){.medium-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.medium-offset-0{margin-left:0%}.medium-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.medium-offset-1{margin-left:8.33333%}.medium-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.medium-offset-2{margin-left:16.66667%}.medium-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.medium-offset-3{margin-left:25%}.medium-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.medium-offset-4{margin-left:33.33333%}.medium-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.medium-offset-5{margin-left:41.66667%}.medium-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.medium-offset-6{margin-left:50%}.medium-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.medium-offset-7{margin-left:58.33333%}.medium-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.medium-offset-8{margin-left:66.66667%}.medium-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.medium-offset-9{margin-left:75%}.medium-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.medium-offset-10{margin-left:83.33333%}.medium-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.medium-offset-11{margin-left:91.66667%}.medium-order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.medium-order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.medium-order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.medium-order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.medium-order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.medium-order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.medium-up-1{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-1>.column,.medium-up-1>.columns{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.medium-up-2{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-2>.column,.medium-up-2>.columns{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.medium-up-3{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-3>.column,.medium-up-3>.columns{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.medium-up-4{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-4>.column,.medium-up-4>.columns{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.medium-up-5{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-5>.column,.medium-up-5>.columns{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.medium-up-6{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-6>.column,.medium-up-6>.columns{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.medium-up-7{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-7>.column,.medium-up-7>.columns{-webkit-box-flex:0;-ms-flex:0 0 14.28571%;flex:0 0 14.28571%;max-width:14.28571%}.medium-up-8{-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-8>.column,.medium-up-8>.columns{-webkit-box-flex:0;-ms-flex:0 0 12.5%;flex:0 0 12.5%;max-width:12.5%}}@media print, screen and (min-width: 40em) and (min-width: 40em){.medium-expand{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}}@media print, screen and (min-width: 40em){.medium-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.medium-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.medium-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.medium-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.medium-flex-child-auto{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.medium-flex-child-grow{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.medium-flex-child-shrink{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}}.row.medium-unstack>.column,.row.medium-unstack>.columns{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%}@media print, screen and (min-width: 40em){.row.medium-unstack>.column,.row.medium-unstack>.columns{-webkit-box-flex:1;-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.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 64em){.large-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.large-offset-0{margin-left:0%}.large-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.large-offset-1{margin-left:8.33333%}.large-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.large-offset-2{margin-left:16.66667%}.large-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.large-offset-3{margin-left:25%}.large-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.large-offset-4{margin-left:33.33333%}.large-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.large-offset-5{margin-left:41.66667%}.large-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.large-offset-6{margin-left:50%}.large-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.large-offset-7{margin-left:58.33333%}.large-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.large-offset-8{margin-left:66.66667%}.large-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.large-offset-9{margin-left:75%}.large-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.large-offset-10{margin-left:83.33333%}.large-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.large-offset-11{margin-left:91.66667%}.large-order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.large-order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.large-order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.large-order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.large-order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.large-order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.large-up-1{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-1>.column,.large-up-1>.columns{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.large-up-2{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-2>.column,.large-up-2>.columns{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.large-up-3{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-3>.column,.large-up-3>.columns{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.large-up-4{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-4>.column,.large-up-4>.columns{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.large-up-5{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-5>.column,.large-up-5>.columns{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.large-up-6{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-6>.column,.large-up-6>.columns{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.large-up-7{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-7>.column,.large-up-7>.columns{-webkit-box-flex:0;-ms-flex:0 0 14.28571%;flex:0 0 14.28571%;max-width:14.28571%}.large-up-8{-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-8>.column,.large-up-8>.columns{-webkit-box-flex:0;-ms-flex:0 0 12.5%;flex:0 0 12.5%;max-width:12.5%}}@media print, screen and (min-width: 64em) and (min-width: 64em){.large-expand{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}}@media print, screen and (min-width: 64em){.large-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.large-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.large-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.large-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.large-flex-child-auto{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.large-flex-child-grow{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.large-flex-child-shrink{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}}.row.large-unstack>.column,.row.large-unstack>.columns{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%}@media print, screen and (min-width: 64em){.row.large-unstack>.column,.row.large-unstack>.columns{-webkit-box-flex:1;-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.04167rem;padding-left:1.04167rem}}.shrink{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;max-width:100%}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,h2,h3,h4,h5,h6{font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-style:normal;font-weight:normal;color:#222;text-rendering:optimizeLegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{line-height:0;color:#999}h1{font-size:2.36111rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h2{font-size:2.08333rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h3{font-size:2.01389rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h4{font-size:1.94444rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h5{font-size:1.875rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h6{font-size:1.80556rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}@media print, screen and (min-width: 40em){h1{font-size:3.33333rem}h2{font-size:2.77778rem}h3{font-size:2.15278rem}h4{font-size:1.73611rem}h5{font-size:1.38889rem}h6{font-size:1.11111rem}}a{line-height:inherit;color:#e51717;text-decoration:none;cursor:pointer}a:hover,a:focus{color:#c51414}a img{border:0}hr{clear:both;max-width:100%;height:0;margin:1.38889rem auto;border-top:0;border-right:0;border-bottom:2px solid rgba(0,0,0,0.2);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:3rem 2rem 3rem 4rem;border-left:8px solid #e51717}blockquote,blockquote p{line-height:1.6;color:#222}cite{display:block;font-size:.83333rem;color:#e51717}cite:before{content:"— "}abbr{border-bottom:1px dotted #222;color:#555;cursor:help}figure{margin:0}code{padding:.13889rem .34722rem .06944rem;border:1px solid #999;background-color:#cacaca;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#222}kbd{margin:0;padding:.13889rem .27778rem 0;background-color:#cacaca;font-family:Consolas,"Liberation Mono",Courier,monospace;color:#222;border-radius:4px}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:normal;line-height:1.4;color:#999}.lead{font-size:112.5%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}.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;-webkit-box-shadow:none !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 #444;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}}[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;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:2.70833rem;margin:0 0 1.11111rem;padding:.55556rem;border:1px solid #999;border-radius:4px;background-color:#fefefe;-webkit-box-shadow:inset 0 1px 2px rgba(34,34,34,0.1);box-shadow:inset 0 1px 2px rgba(34,34,34,0.1);font-family:inherit;font-size:1.11111rem;font-weight:normal;color:#222;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;-o-transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;-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:1px solid #444;background-color:#fefefe;-webkit-box-shadow:0 0 5px #999;box-shadow:0 0 5px #999;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;-o-transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}textarea{max-width:100%}textarea[rows]{height:auto}input::-webkit-input-placeholder, textarea::-webkit-input-placeholder{color:#999}input::-moz-placeholder, textarea::-moz-placeholder{color:#999}input:-ms-input-placeholder, textarea:-ms-input-placeholder{color:#999}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:#cacaca;cursor:not-allowed}[type='submit'],[type='button']{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:4px}input[type='search']{-webkit-box-sizing:border-box;box-sizing:border-box}[type='file'],[type='checkbox'],[type='radio']{margin:0 0 1.11111rem}[type='checkbox']+label,[type='radio']+label{display:inline-block;vertical-align:baseline;margin-left:.55556rem;margin-right:1.11111rem;margin-bottom:0}[type='checkbox']+label[for],[type='radio']+label[for]{cursor:pointer}label>[type='checkbox'],label>[type='radio']{margin-right:.55556rem}[type='file']{width:100%}label{display:block;margin:0;font-size:.97222rem;font-weight:normal;line-height:1.8;color:#222}label.middle{margin:0 0 1.11111rem;padding:.625rem 0}.help-text{margin-top:-.55556rem;font-size:.90278rem;font-style:italic;color:#222}.input-group{display:table;width:100%;margin-bottom:1.11111rem}.input-group>:first-child{border-radius:4px 0 0 4px}.input-group>:last-child>*{border-radius:0 4px 4px 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;display:table-cell;vertical-align:middle}.input-group-label{padding:0 1rem;border:1px solid #999;background:#cacaca;color:#222;text-align:center;white-space:nowrap;width:1%;height:100%}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;height:2.77778rem}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;width:1%;height:100%}.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{height:2.77778rem;padding-top:0;padding-bottom:0;font-size:1.11111rem}.input-group .input-group-button{display:table-cell}fieldset{margin:0;padding:0;border:0}legend{max-width:100%;margin-bottom:.55556rem}.fieldset{margin:1.25rem 0;padding:1.38889rem;border:1px solid #999}.fieldset legend{margin:0;margin-left:-.20833rem;padding:0 .20833rem;background:#fafafa}select{height:2.70833rem;margin:0 0 1.11111rem;padding:.55556rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #999;border-radius:4px;background-color:#fefefe;font-family:inherit;font-size:1.11111rem;line-height:normal;color:#222;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%2868, 68, 68%29'></polygon></svg>");background-origin:content-box;background-position:right -1.11111rem center;background-repeat:no-repeat;background-size:9px 6px;padding-right:1.66667rem;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;-o-transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}@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:1px solid #444;background-color:#fefefe;-webkit-box-shadow:0 0 5px #999;box-shadow:0 0 5px #999;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;-o-transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}select:disabled{background-color:#cacaca;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:#fcedeb}.is-invalid-input:not(:focus)::-webkit-input-placeholder{color:#ec5840}.is-invalid-input:not(:focus)::-moz-placeholder{color:#ec5840}.is-invalid-input:not(:focus):-ms-input-placeholder{color:#ec5840}.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:-.55556rem;margin-bottom:1.11111rem;font-size:.83333rem;font-weight:bold;color:#ec5840}.form-error.is-visible{display:block}.button{display:inline-block;vertical-align:middle;margin:0 0 1rem 0;padding:0.75em 1.75em 0.85em;-webkit-appearance:none;border:1px solid transparent;border-radius:4px;-webkit-transition:background-color 0.15s ease-out,color 0.15s ease-out;-o-transition:background-color 0.15s ease-out,color 0.15s ease-out;transition:background-color 0.15s ease-out,color 0.15s ease-out;font-size:1.05rem;line-height:1;text-align:center;cursor:pointer;background-color:#e51717;color:#fefefe}[data-whatinput='mouse'] .button{outline:0}.button:hover,.button:focus{background-color:#c31414;color:#fefefe}.button.tiny{font-size:.6rem}.button.small{font-size:.85rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-right:0;margin-left:0}.button.primary{background-color:#e51717;color:#fefefe}.button.primary:hover,.button.primary:focus{background-color:#b71212;color:#fefefe}.button.secondary{background-color:#777;color:#fefefe}.button.secondary:hover,.button.secondary:focus{background-color:#5f5f5f;color:#fefefe}.button.success{background-color:#3adb76;color:#222}.button.success:hover,.button.success:focus{background-color:#22bb5b;color:#222}.button.warning{background-color:#ffae00;color:#222}.button.warning:hover,.button.warning:focus{background-color:#cc8b00;color:#222}.button.alert{background-color:#ec5840;color:#fefefe}.button.alert:hover,.button.alert:focus{background-color:#da3116;color:#fefefe}.button.hollow{border:1px solid #e51717;color:#e51717}.button.hollow,.button.hollow:hover,.button.hollow:focus{background-color:transparent}.button.hollow:hover,.button.hollow:focus{border-color:#730c0c;color:#730c0c}.button.hollow.primary{border:1px solid #e51717;color:#e51717}.button.hollow.primary:hover,.button.hollow.primary:focus{border-color:#730c0c;color:#730c0c}.button.hollow.secondary{border:1px solid #777;color:#777}.button.hollow.secondary:hover,.button.hollow.secondary:focus{border-color:#3c3c3c;color:#3c3c3c}.button.hollow.success{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:hover,.button.hollow.success:focus{border-color:#157539;color:#157539}.button.hollow.warning{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:hover,.button.hollow.warning:focus{border-color:#805700;color:#805700}.button.hollow.alert{border:1px solid #ec5840;color:#ec5840}.button.hollow.alert:hover,.button.hollow.alert:focus{border-color:#881f0e;color:#881f0e}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#e51717;color:#fefefe}.button.disabled.primary,.button[disabled].primary{opacity:.25;cursor:not-allowed}.button.disabled.primary:hover,.button.disabled.primary:focus,.button[disabled].primary:hover,.button[disabled].primary:focus{background-color:#e51717;color:#fefefe}.button.disabled.secondary,.button[disabled].secondary{opacity:.25;cursor:not-allowed}.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#777;color:#fefefe}.button.disabled.success,.button[disabled].success{opacity:.25;cursor:not-allowed}.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#3adb76;color:#fefefe}.button.disabled.warning,.button[disabled].warning{opacity:.25;cursor:not-allowed}.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#ffae00;color:#fefefe}.button.disabled.alert,.button[disabled].alert{opacity:.25;cursor:not-allowed}.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#ec5840;color:#fefefe}.button.dropdown::after{display:block;width:0;height:0;border:inset .4em;content:'';border-bottom-width:0;border-top-style:solid;border-color:#fefefe transparent transparent;position:relative;top:0.4em;display:inline-block;float:right;margin-left:1.75em}.button.arrow-only::after{top:-0.1em;float:none;margin-left:0}.accordion{margin-left:0;background:rgba(0,0,0,0);list-style-type:none}.accordion-item:first-child>:first-child{border-radius:4px 4px 0 0}.accordion-item:last-child>:last-child{border-radius:0 0 4px 4px}.accordion-title{position:relative;display:block;padding:1.25rem 1rem;border:0;border-bottom:0;font-size:.83333rem;line-height:1;color:#222}:last-child:not(.is-active)>.accordion-title{border-bottom:0;border-radius:0 0 4px 4px}.accordion-title:hover,.accordion-title:focus{background-color:#fff}.accordion-title::before{position:absolute;top:50%;right:1rem;margin-top:-0.5rem;content:'+'}.is-active>.accordion-title::before{content:'–'}.accordion-content{display:none;padding:1rem;border:0;border-bottom:0;background-color:rgba(0,0,0,0);color:#666}:last-child>.accordion-content:last-child{border-bottom:0}.is-accordion-submenu-parent>a{position:relative}.is-accordion-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#e51717 transparent transparent;position:absolute;top:50%;margin-top:-3px;right:1rem}.is-accordion-submenu-parent[aria-expanded='true']>a::after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}.card{margin-bottom:1rem;border:0;border-radius:4px;background:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;overflow:hidden;color:#555}.card>:last-child{margin-bottom:0}.card-divider{padding:1rem;background:#cacaca}.card-divider>:last-child{margin-bottom:0}.card-section{padding:1rem}.card-section>:last-child{margin-bottom:0}.menu{margin:0;list-style-type:none}.menu>li{display:table-cell;vertical-align:middle}[data-whatinput='mouse'] .menu>li{outline:0}.menu>li>a{display:block;padding:0.7rem 1rem;line-height:1}.menu input,.menu select,.menu a,.menu button{margin-bottom:0}.menu>li>a img,.menu>li>a i,.menu>li>a svg{vertical-align:middle}.menu>li>a img+span,.menu>li>a i+span,.menu>li>a svg+span{vertical-align:middle}.menu>li>a img,.menu>li>a i,.menu>li>a svg{margin-right:.25rem;display:inline-block}.menu>li,.menu.horizontal>li{display:table-cell}.menu.expanded{display:table;width:100%;table-layout:fixed}.menu.expanded>li:first-child:last-child{width:100%}.menu.vertical>li{display:block}@media print, screen and (min-width: 40em){.menu.medium-horizontal>li{display:table-cell}.menu.medium-expanded{display:table;width:100%;table-layout:fixed}.menu.medium-expanded>li:first-child:last-child{width:100%}.menu.medium-vertical>li{display:block}}@media print, screen and (min-width: 64em){.menu.large-horizontal>li{display:table-cell}.menu.large-expanded{display:table;width:100%;table-layout:fixed}.menu.large-expanded>li:first-child:last-child{width:100%}.menu.large-vertical>li{display:block}}.menu.simple li{display:inline-block;margin-right:1rem;line-height:1}.menu.simple a{padding:0}.menu.align-right::before,.menu.align-right::after{display:table;content:' '}.menu.align-right::after{clear:both}.menu.align-right>li{float:right}.menu.icon-top>li>a{text-align:center}.menu.icon-top>li>a img,.menu.icon-top>li>a i,.menu.icon-top>li>a svg{display:block;margin:0 auto .25rem}.menu.icon-top.vertical a>span{margin:auto}.menu.nested{margin-left:1rem}.menu .active>a{background:#e51717;color:#fefefe}.menu.menu-bordered li{border:1px solid #cacaca}.menu.menu-bordered li:not(:first-child){border-top:0}.menu.menu-hover li:hover{background-color:#cacaca}.menu-text{padding-top:0;padding-bottom:0;padding:0.7rem 1rem;font-weight:bold;line-height:1;color:inherit}.menu-centered{text-align:center}.menu-centered>.menu{display:inline-block}.no-js [data-responsive-menu] ul{display:none}.menu-icon{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#fefefe;-webkit-box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;content:''}.menu-icon:hover::after{background:#999;-webkit-box-shadow:0 7px 0 #999,0 14px 0 #999;box-shadow:0 7px 0 #999,0 14px 0 #999}.menu-icon.dark{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon.dark::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#222;-webkit-box-shadow:0 7px 0 #222,0 14px 0 #222;box-shadow:0 7px 0 #222,0 14px 0 #222;content:''}.menu-icon.dark:hover::after{background:#444;-webkit-box-shadow:0 7px 0 #444,0 14px 0 #444;box-shadow:0 7px 0 #444,0 14px 0 #444}.dropdown-pane{position:absolute;z-index:10;display:block;width:calc(100% - 2rem);padding:1rem;visibility:hidden;border:0;border-radius:0;background-color:#fff;font-size:1rem}.dropdown-pane.is-open{visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.dropdown.menu>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}[data-whatinput='mouse'] .dropdown.menu a{outline:0}.no-js .dropdown.menu ul{display:none}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{right:100%;left:auto}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}@media print, screen and (min-width: 40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{right:100%;left:auto}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}}@media print, screen and (min-width: 64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{right:100%;left:auto}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;right:0;left:auto}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a::after{position:absolute;top:50%;right:5px;margin-top:-6px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{right:100%;left:auto}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%}.is-dropdown-submenu{position:absolute;top:0;left:100%;z-index:1;display:none;min-width:220px;border:1px solid rgba(0,0,0,0.08);background:#fefefe}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.responsive-embed,.flex-video{position:relative;height:0;margin-bottom:1.11111rem;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%}.media-object{display:block;margin-bottom:1rem}.media-object img{max-width:none}@media screen and (max-width: 39.9375em){.media-object.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;display:block}.media-object.stack-for-small .media-object-section img{width:100%}}.media-object-section{display:table-cell;vertical-align:top}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}.media-object-section.middle{vertical-align:middle}.media-object-section.bottom{vertical-align:bottom}.pagination{margin-left:0;margin-bottom:0}.pagination::before,.pagination::after{display:table;content:' '}.pagination::after{clear:both}.pagination li{margin-right:.06944rem;border-radius:4px;font-size:.97222rem;display:none}.pagination li:last-child,.pagination li:first-child{display:inline-block}@media print, screen and (min-width: 40em){.pagination li{display:inline-block}}.pagination a,.pagination button{display:block;padding:.20833rem .69444rem;border-radius:4px;color:#555}.pagination a:hover,.pagination button:hover{background:#fff}.pagination .current{padding:.20833rem .69444rem;background:#e51717;color:foreground(#e51717);cursor:default}.pagination .disabled{padding:.20833rem .69444rem;color:#999;cursor:not-allowed}.pagination .disabled:hover{background:transparent}.pagination .ellipsis::after{padding:.20833rem .69444rem;content:'\2026';color:#222}table{width:100%;margin-bottom:1rem;border-radius:4px}thead,tbody,tfoot{border:none;background-color:#fefefe}caption{padding:.83333rem .97222rem .97222rem;font-weight:bold}thead{background:rgba(0,0,0,0);color:rgba(0,0,0,0.2)}tfoot{background:#f1f1f1;color:#484848}thead tr,tfoot tr{background:transparent}thead th,thead td,tfoot th,tfoot td{padding:.83333rem .97222rem .97222rem;font-weight:bold;text-align:left}tbody th,tbody td{padding:.83333rem .97222rem .97222rem}tbody tr:nth-child(even){border-bottom:0;background-color:#fafafa}table.unstriped tbody{background-color:#fefefe}table.unstriped tbody tr{border-bottom:0;border-bottom:none;background-color:#fefefe}@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:rgba(0,0,0,0)}table.hover tfoot tr:hover{background-color:#ececec}table.hover tbody tr:hover{background-color:#f9f9f9}table.hover:not(.unstriped) tr:nth-of-type(even):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.table-scroll table{width:auto}.has-tip{position:relative;display:inline-block;border-bottom:0;font-weight:bold;cursor:help}.tooltip{position:absolute;top:calc(100% + .3031rem);z-index:1200;max-width:10rem;padding:0.25rem 0.75rem;border-radius:4px;background-color:#222;font-size:90%;color:#fefefe}.tooltip::before{display:block;width:0;height:0;border:inset .35rem;content:'';border-top-width:0;border-bottom-style:solid;border-color:transparent transparent #222;position:absolute;bottom:100%;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.top::before{display:block;width:0;height:0;border:inset .35rem;content:'';border-bottom-width:0;border-top-style:solid;border-color:#222 transparent transparent;top:100%;bottom:auto}.tooltip.left::before{display:block;width:0;height:0;border:inset .35rem;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #222;top:50%;bottom:auto;left:100%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.right::before{display:block;width:0;height:0;border:inset .35rem;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #222 transparent transparent;top:50%;right:100%;bottom:auto;left:auto;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.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;overflow:hidden;clip:rect(0, 0, 0, 0)}.show-on-focus:active,.show-on-focus:focus{position:static !important;width:auto;height:auto;overflow:visible;clip:auto}.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}}.float-left{float:left !important}.float-right{float:right !important}.float-center{display:block;margin-right:auto;margin-left:auto}.clearfix::before,.clearfix::after{display:table;content:' '}.clearfix::after{clear:both}.align-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.align-justify{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.align-spaced{-ms-flex-pack:distribute;justify-content:space-around}.align-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.align-self-top{-ms-flex-item-align:start;align-self:flex-start}.align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.align-self-bottom{-ms-flex-item-align:end;align-self:flex-end}.align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.align-self-middle{-ms-flex-item-align:center;align-self:center}.align-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.align-self-stretch{-ms-flex-item-align:stretch;align-self:stretch}.small-order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.small-order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.small-order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.small-order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.small-order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.small-order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}@media print, screen and (min-width: 40em){.medium-order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.medium-order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.medium-order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.medium-order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.medium-order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.medium-order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}}@media print, screen and (min-width: 64em){.large-order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.large-order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.large-order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.large-order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.large-order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.large-order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}}*:focus{outline:0}body[data-whatinput="keyboard"] :focus{outline:1px dotted #e51717;outline-offset:2px}[data-whatinput='mouse'] body[data-whatinput="keyboard"] :focus{outline:0}::-moz-selection{background-color:#e51717;color:white}::selection{background-color:#e51717;color:white}.no-scroll{overflow:hidden !important}h1.inline,h2.inline,h3.inline,h4.inline,h5.inline,h6.inline,p.inline,a.inline,span.inline,em.inline,strong.inline,blockquote.inline,cite.inline{display:inline-block}h1.uc,h2.uc,h3.uc,h4.uc,h5.uc,h6.uc,p.uc,a.uc,span.uc,em.uc,strong.uc,blockquote.uc,cite.uc{text-transform:uppercase}h1.white,h2.white,h3.white,h4.white,h5.white,h6.white,p.white,a.white,span.white,em.white,strong.white,blockquote.white,cite.white{color:white}h1.primary,h2.primary,h3.primary,h4.primary,h5.primary,h6.primary,p.primary,a.primary,span.primary,em.primary,strong.primary,blockquote.primary,cite.primary{color:#e51717}h1.w-shadow,h2.w-shadow,h3.w-shadow,h4.w-shadow,h5.w-shadow,h6.w-shadow,p.w-shadow,a.w-shadow,span.w-shadow,em.w-shadow,strong.w-shadow,blockquote.w-shadow,cite.w-shadow{text-shadow:0px 2px rgba(0,0,0,0.1)}h1.w-title-line,h2.w-title-line,h3.w-title-line,h4.w-title-line,h5.w-title-line,h6.w-title-line,p.w-title-line,a.w-title-line,span.w-title-line,em.w-title-line,strong.w-title-line,blockquote.w-title-line,cite.w-title-line{display:inline-block;position:relative;z-index:1}h1.w-title-line::before,h2.w-title-line::before,h3.w-title-line::before,h4.w-title-line::before,h5.w-title-line::before,h6.w-title-line::before,p.w-title-line::before,a.w-title-line::before,span.w-title-line::before,em.w-title-line::before,strong.w-title-line::before,blockquote.w-title-line::before,cite.w-title-line::before{content:"";position:absolute;z-index:-1;left:-1rem;top:70%;height:.55556rem;width:calc(100% + 2rem);background-color:#e51717}@media print, screen and (min-width: 40em){h1.w-title-line::before,h2.w-title-line::before,h3.w-title-line::before,h4.w-title-line::before,h5.w-title-line::before,h6.w-title-line::before,p.w-title-line::before,a.w-title-line::before,span.w-title-line::before,em.w-title-line::before,strong.w-title-line::before,blockquote.w-title-line::before,cite.w-title-line::before{height:.69444rem}}h1.w-title-line.small::before,h2.w-title-line.small::before,h3.w-title-line.small::before,h4.w-title-line.small::before,h5.w-title-line.small::before,h6.w-title-line.small::before,p.w-title-line.small::before,a.w-title-line.small::before,span.w-title-line.small::before,em.w-title-line.small::before,strong.w-title-line.small::before,blockquote.w-title-line.small::before,cite.w-title-line.small::before{top:73%;height:.41667rem;left:-0.2rem;width:calc(100% + 0.4rem)}@media screen and (min-width: 40em) and (max-width: 63.9375em){h1.w-title-line.large,h2.w-title-line.large,h3.w-title-line.large,h4.w-title-line.large,h5.w-title-line.large,h6.w-title-line.large,p.w-title-line.large,a.w-title-line.large,span.w-title-line.large,em.w-title-line.large,strong.w-title-line.large,blockquote.w-title-line.large,cite.w-title-line.large{font-size:220%}}@media screen and (max-width: 39.9375em){h1.w-title-line.large,h2.w-title-line.large,h3.w-title-line.large,h4.w-title-line.large,h5.w-title-line.large,h6.w-title-line.large,p.w-title-line.large,a.w-title-line.large,span.w-title-line.large,em.w-title-line.large,strong.w-title-line.large,blockquote.w-title-line.large,cite.w-title-line.large{font-size:180%}}p{font-size:105%;line-height:1.8}@media screen and (max-width: 39.9375em){p{line-height:1.7}}p.larger{font-size:120%}p.tagline{font-size:160%;margin:0 0 2rem}strong{font-weight:normal;font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:#333}blockquote{font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:150%}@media screen and (max-width: 39.9375em){blockquote{padding-left:2rem;padding-top:1rem;padding-bottom:1rem}}ol{counter-reset:item}ol li{display:block}ol li:before{content:counter(item) ". ";counter-increment:item;font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:#e51717;margin-right:5px;margin-bottom:100%}.flaticon{display:inline-block}.no-mg{margin:0 !important}.no-pad{padding:0 !important}.lg-pad-left{padding-left:6rem}.lg-mg-bottom{margin-bottom:6rem}.sm-mg-bottom{margin-bottom:1rem}.site-footer{background-image:-webkit-gradient(linear, left top, left bottom, color-stop(2%, #2d2d2d), to(#333));background-image:-o-linear-gradient(top, #2d2d2d 2%, #333 100%);background-image:linear-gradient(-180deg, #2d2d2d 2%, #333 100%);padding:1rem 5% 4rem}@media screen and (min-width: 20.625em){.site-footer{padding:4rem 5%}}@media screen and (min-width: 68.75em){.site-footer{padding:4rem 2%}}@media screen and (min-width: 75em){.site-footer{padding:4rem 5%}}.site-footer .site-header__title,.site-footer .site-header__logo{display:none}@media screen and (min-width: 44.375em){.site-footer .site-header__logo{display:block}.site-footer .site-header__title{display:block;visibility:visible;width:auto;height:auto;font-size:130%;margin:0 1.38889rem}}.site-footer-top,.site-footer-middle,.site-footer-bottom{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.site-footer-middle{padding:3rem 0 1rem}@media screen and (min-width: 32.5em){.site-footer-middle{padding:3rem 0}}.site-footer-bottom{text-align:center}@media screen and (min-width: 44.375em){.site-footer-bottom{border-top:4px solid rgba(255,255,255,0.04);padding-top:1rem}}@media screen and (min-width: 67.5em){.site-footer-bottom{text-align:left}}.site-footer-social{display:none;margin:0 auto}@media screen and (min-width: 20.625em){.site-footer-social{display:block}}@media screen and (min-width: 44.375em){.site-footer-social{margin:0 0 0 auto}}.site-footer-social__icon{display:inline-block;padding:0.1rem 0.1rem 0}.site-footer-social__icon svg{width:2.43056rem}.site-footer-social__icon svg *{fill:#666;-webkit-transition:fill 0.2s ease;-o-transition:fill 0.2s ease;transition:fill 0.2s ease}.site-footer-social__icon:hover svg *{fill:#e51717}@media screen and (min-width: 32.5em){.site-footer-social__icon{padding:0.1rem 0.2rem 0}.site-footer-social__icon svg{width:2.08333rem}}.site-footer-nav{display:none;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}@media screen and (min-width: 44.375em){.site-footer-nav{display:block}}@media screen and (min-width: 67.5em){.site-footer-nav{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:auto;flex-basis:auto;text-align:left}}.site-footer-nav ul{display:inline-block;list-style-type:none;padding:0;margin:0;vertical-align:top;margin-right:3.47222rem;text-align:left}.site-footer-nav__title{font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:#f7f7f7;margin-bottom:.34722rem}.site-footer-nav__link{display:inline-block;margin:0.2rem 0;border-bottom:1px dotted transparent;line-height:1.4}.site-footer-nav__link,.site-footer-nav__link:focus,.site-footer-nav__link:visited{color:#999}.site-footer-nav__link:hover{color:#e92727;border-color:#e51717}.site-footer-form{margin:0 auto 1rem;max-width:25rem;-ms-flex-item-align:stretch;align-self:stretch;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center}@media screen and (min-width: 44.375em){.site-footer-form{margin:0 auto 3rem}}@media screen and (min-width: 67.5em){.site-footer-form{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-ms-flex-preferred-size:auto;flex-basis:auto;text-align:right;margin:0 0 0 auto}}.site-footer-form__title{font:110%/100% "GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:white;margin:0 0 .69444rem}.site-footer-form__title .flaticon{color:#e51717}.site-footer-form__desc{display:block;font:85%/150% "GothamHTFBook","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:#999;margin-bottom:2rem}@media screen and (min-width: 32.5em){.site-footer-form__desc{font-size:95%}}.site-footer-form-fields{position:relative}.site-footer-form__label{position:absolute;top:.41667rem;left:1.04167rem;color:white;opacity:0.15;font-size:105%;cursor:text;-webkit-transition:opacity 0.2s ease;-o-transition:opacity 0.2s ease;transition:opacity 0.2s ease;pointer-events:none}.site-footer-form__email{background-color:#252525;padding-left:1.04167rem;padding-right:3.47222rem;margin:0 0 0.2rem;color:white;border:0px solid #e51717}.site-footer-form__email:focus{background-color:#292929;border:0;border-left:4px solid #e51717;border-top-left-radius:0;border-bottom-left-radius:0;-webkit-box-shadow:none;box-shadow:none}.site-footer-form__email:focus+.site-footer-form__label{font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:85%;top:-1.73611rem;opacity:0.75}.site-footer-form__submit{position:absolute;top:.27778rem;right:.27778rem;background-color:#e51717;border-radius:3px;color:white;padding:0.45rem;font-size:120%}.site-footer-form__disclaimer{color:#999;font-size:70%}.site-footer-form__message{display:inline-block;color:white;background-color:#252525;margin:0.5rem 0 0;padding:0.5rem 1rem;border-radius:4px}.site-footer-form__message .flaticon{display:inline-block;margin-right:.34722rem;-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.site-footer-form__message.success .flaticon{color:#3adb76}.site-footer-form__message.warning .flaticon{color:#ffae00}.site-footer__copyright{font-size:80%;color:gray;margin:2rem 0 0;-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}@media screen and (min-width: 32.5em){.site-footer__copyright{font-size:90%}}@media screen and (min-width: 67.5em){.site-footer__copyright{-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;margin:0}}.site-footer__copyright a,.site-footer__copyright a:focus,.site-footer__copyright a:visited{color:gray}.site-footer-contact{margin-left:auto;-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}@media screen and (min-width: 67.5em){.site-footer-contact{-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}}.site-footer-bottom__link{display:block;width:70%;margin:0.5rem auto;padding:0.25rem 1rem;font-size:110%}.site-footer-bottom__link,.site-footer-bottom__link:focus,.site-footer-bottom__link:visited{color:#f7f7f7}.site-footer-bottom__link:hover{color:#e92727}@media screen and (min-width: 32.5em){.site-footer-bottom__link{display:inline-block;width:auto;margin:0;font-size:100%}}.site-header{position:relative;z-index:1000;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:2%;font-size:100%;line-height:0;background-image:-o-linear-gradient(280deg, #333 0%, #212121 120%);background-image:linear-gradient(-190deg, #333 0%, #212121 120%)}@media screen and (min-width: 44.375em){.site-header{padding:0.75% 5%}}.site-header__logo{height:2.36111rem}@media screen and (min-width: 44.375em){.site-header__logo{height:2.77778rem}}.site-header__logo svg{width:2.36111rem}@media screen and (min-width: 44.375em){.site-header__logo svg{width:2.77778rem}}.site-header__title{display:inline-block;margin:0 .41667rem 0 .69444rem;font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:100%;color:white;line-height:1;text-transform:uppercase;vertical-align:top}.site-header__title .strong{font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}@media screen and (min-width: 20.625em){.site-header__title{font-size:105%}}@media screen and (min-width: 34.375em){.site-header__title{font-size:110%}}@media screen and (min-width: 44.375em){.site-header__title{visibility:hidden;width:0;height:0;font-size:130%;margin:0 .13889rem}}@media screen and (min-width: 64.6875em){.site-header__title{width:auto;height:auto;visibility:visible;margin:0 1.38889rem}}.site-header--light-theme .site-header__title{color:#222}.site-header--transparent{background-image:none;position:absolute;top:0;left:0;width:100%;padding:3% 2% 2%}@media screen and (min-width: 44.375em){.site-header--transparent{padding:2% 5% 0}}.page-header__description{font-size:120%;line-height:1.6;color:#bababa;width:90%;max-width:38.19444rem;margin:0 auto}.column .page-header__description,.columns .page-header__description{margin:0}@media screen and (max-width: 39.9375em){.page-header__description{font-size:110%}}.page-header--hero{padding:6.94444rem 0 3rem;background-repeat:no-repeat;background-position:center;background-size:cover;background-color:#111}@media screen and (max-width: 39.9375em){.page-header--hero{padding-top:5.55556rem}}.site-header:not(.site-header--transparent)+main .page-header--hero{padding-top:2rem}.site-nav{display:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (min-width: 44.375em){.site-nav{display:inline-block}}.site-nav__link{position:relative;font-size:105%}@media screen and (min-width: 40em) and (max-width: 63.9375em){.site-nav__link{font-size:98%}}.dropdown.menu .is-active .site-nav__link{color:#f7f7f7}.site-nav__link,.site-nav__link:hover,.site-nav__link:focus,.site-nav__link:visited{color:#f7f7f7}.site-header--light-theme .site-nav__link,.site-header--light-theme .site-nav__link:hover,.site-header--light-theme .site-nav__link:focus,.site-header--light-theme .site-nav__link:visited{color:#333}.site-nav__link::after{content:"";position:absolute;top:-0.2rem !important;left:0.9rem;right:auto !important;margin:0 !important;width:calc(100% - 1.8rem);height:.20833rem;background-color:#e51717;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-transition:-webkit-transform 0.2s ease;transition:-webkit-transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease;transition:transform 0.2s ease, -webkit-transform 0.2s ease}.site-nav__link:hover::after{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}.site-nav__subtext{display:block;margin-top:.34722rem;margin-bottom:.20833rem;font-size:75%;opacity:0.5}.site-nav-submenu{padding:.55556rem 0;border-radius:6px;-webkit-box-shadow:0px 2px 6px rgba(0,0,0,0.02);box-shadow:0px 2px 6px rgba(0,0,0,0.02);background-color:#181818}.site-header--light-theme .site-nav-submenu{background-color:white}.site-nav-submenu__link{position:relative;font-size:90%;-webkit-transition:all 0.2s ease;-o-transition:all 0.2s ease;transition:all 0.2s ease}.site-nav-submenu__link,.site-nav-submenu__link:visited,.site-nav-submenu__link:focus{color:#cacaca}.site-header--light-theme .site-nav-submenu__link,.site-header--light-theme .site-nav-submenu__link:visited,.site-header--light-theme .site-nav-submenu__link:focus{color:#444}.site-nav-submenu__link:before{content:"";position:absolute;top:0;left:0;width:.27778rem;height:100%;background-color:#e51717;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left center;-ms-transform-origin:left center;transform-origin:left center;-webkit-transition:-webkit-transform 0.3s ease;transition:-webkit-transform 0.3s ease;-o-transition:transform 0.3s ease;transition:transform 0.3s ease;transition:transform 0.3s ease, -webkit-transform 0.3s ease}.site-nav-submenu__link:hover{color:white;background-color:rgba(255,255,255,0.05)}.site-header--light-theme .site-nav-submenu__link:hover{background-color:rgba(0,0,0,0.04);color:#222}.site-nav-submenu__link:hover:before{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}.site-header--dark-text .site-nav-submenu__link,.site-header--dark-text .site-nav-submenu__link:visited,.site-header--dark-text .site-nav-submenu__link:focus{color:#444}.site-header--dark-text .site-nav-submenu__link:hover,.site-header--dark-text .site-nav-submenu__link:visited:hover,.site-header--dark-text .site-nav-submenu__link:focus:hover{color:#222}.site-nav-submenu__divider{height:2px;background-color:rgba(255,255,255,0.05);margin:.41667rem 0}.site-header--light-theme .site-nav-submenu__divider{background-color:rgba(0,0,0,0.05)}.site-nav-mobile-button{position:relative;display:block;margin-left:auto;padding:0.5rem 0.5rem 0.5rem 1.5rem;font-family:"GothamHTFBook","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:95%;color:#f7f7f7;border-radius:0;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (min-width: 44.375em){.site-nav-mobile-button{display:none}}.site-nav-mobile-button::before{content:"";position:absolute;top:50%;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:3px;height:2.08333rem;background-color:rgba(255,255,255,0.1)}.site-nav-mobile-button .flaticon{display:inline-block;margin-left:.34722rem;font-size:160%;color:white;vertical-align:middle;-webkit-transition:color 0.2s ease;-o-transition:color 0.2s ease;transition:color 0.2s ease;-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.site-nav-mobile-button:hover .flaticon{color:#e51717}.is-dropdown-submenu-parent>a:before{position:absolute;top:50%;-webkit-transform:translateY(-35%);-ms-transform:translateY(-35%);transform:translateY(-35%);right:0;font-family:'Flaticons Stroke';font-size:70%;speak:none;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;content:"\e5a9";opacity:0.4}.is-dropdown-submenu{display:block !important;opacity:0;visibility:hidden;pointer-events:none;-webkit-transform:translateY(-8px);-ms-transform:translateY(-8px);transform:translateY(-8px);-webkit-transition:opacity 0.1s linear, -webkit-transform 0.1s linear;transition:opacity 0.1s linear, -webkit-transform 0.1s linear;-o-transition:opacity 0.1s linear, transform 0.1s linear;transition:opacity 0.1s linear, transform 0.1s linear;transition:opacity 0.1s linear, transform 0.1s linear, -webkit-transform 0.1s linear}.is-dropdown-submenu.js-dropdown-active{width:auto;height:auto;opacity:1;visibility:visible;pointer-events:auto;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.mobile-site-nav{position:absolute;z-index:10000;bottom:100%;left:0;width:100%;background-image:-o-linear-gradient(280deg, #222 0%, #151515 120%);background-image:linear-gradient(-190deg, #222 0%, #151515 120%);-webkit-box-shadow:0px 4px 30px rgba(0,0,0,0.5);box-shadow:0px 4px 30px rgba(0,0,0,0.5);will-change:transform;-webkit-transform:translate3d(0);transform:translate3d(0);-webkit-transition:-webkit-transform 0.6s ease;transition:-webkit-transform 0.6s ease;-o-transition:transform 0.6s ease;transition:transform 0.6s ease;transition:transform 0.6s ease, -webkit-transform 0.6s ease}@media print, screen and (min-width: 40em){.mobile-site-nav{display:none}}.mobile-site-nav.opened{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.mobile-site-nav__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:2rem 2.6rem 0 2rem}.mobile-site-nav__header svg{width:2.43056rem;height:2.43056rem}.mobile-site-nav ul{list-style-type:none;padding:0;margin:0 auto;padding:2rem}.mobile-site-nav__close{display:inline-block;float:right;font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:bold;font-size:180%;margin-bottom:3px;margin-left:auto;line-height:0}.mobile-site-nav__close span{display:inline-block;font-family:"GothamHTFBook","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-size:55%;margin-right:.13889rem;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);color:#f0f0f0}.mobile-site-nav__close,.mobile-site-nav__close:hover,.mobile-site-nav__close:visited,.mobile-site-nav__close:focus{color:#f0f0f0}.mobile-site-nav__item{display:block;padding:0.6rem 0 0.4rem;font-size:120%;color:#f5f5f5;border-bottom:2px solid rgba(255,255,255,0.02)}.mobile-site-nav__item:hover{color:#e51717}[data-whatinput="touch"] .mobile-site-nav__item,[data-whatinput="touch"] .mobile-site-nav__item:visited,[data-whatinput="touch"] .mobile-site-nav__item:focus,[data-whatinput="touch"] .mobile-site-nav__item:active,[data-whatinput="touch"] .mobile-site-nav__item:hover{color:#f5f5f5}.mobile-site-nav li:last-child .mobile-site-nav__item{border:0}.mobile-site-nav__sub-item{display:block;font-size:100%;color:rgba(255,255,255,0.7);padding:0.5rem 0 0.75rem 0.75rem}.mobile-site-nav__sub-item:hover{color:#e51717}[data-whatinput="touch"] .mobile-site-nav__sub-item,[data-whatinput="touch"] .mobile-site-nav__sub-item:visited,[data-whatinput="touch"] .mobile-site-nav__sub-item:focus,[data-whatinput="touch"] .mobile-site-nav__sub-item:active,[data-whatinput="touch"] .mobile-site-nav__sub-item:hover{color:rgba(255,255,255,0.7)}.mobile-site-nav__sub-item small{display:block;margin:0;opacity:0.65;font-size:75%}.page-section{padding:3.47222rem 0 5.20833rem}@media print, screen and (min-width: 40em){.page-section{padding:6.94444rem 0}}.page-section__description{font-size:110%;color:#444;width:90%;max-width:55.55556rem;margin:1rem auto}.page-section--white{background-color:white}.page-section--image{background-position:center;background-repeat:no-repeat;background-size:cover}.page-section--gradient{background-image:-o-radial-gradient(50% 100%, #fff 0%, #e51717 100%);background-image:radial-gradient(50% 100%, #fff 0%, #e51717 100%);background-image:-webkit-gradient(linear, right top, left top, from(rgba(255,255,255,0.3)), to(rgba(247,247,247,0.5)));background-image:-o-linear-gradient(right, rgba(255,255,255,0.3) 0%, rgba(247,247,247,0.5) 100%);background-image:linear-gradient(-90deg, rgba(255,255,255,0.3) 0%, rgba(247,247,247,0.5) 100%)}.callout{background-color:#f5f5f5;height:100%;padding:3rem;border-radius:8px}.callout-icon{font-size:400%;opacity:0.25}.side-image-section{max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%;max-width:100%;padding:0}.side-image-section__image{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%;padding-right:.69444rem;padding-left:.69444rem;max-width:33.33333%;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;background-position:center;background-repeat:no-repeat;background-size:cover}@media print, screen and (min-width: 40em){.side-image-section__image{padding-right:1.04167rem;padding-left:1.04167rem}}@media screen and (max-width: 39.9375em){.side-image-section__image{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;height:13.88889rem}}@media screen and (max-width: 39.9375em) and (min-width: 40em){.side-image-section__image{padding-right:1.04167rem;padding-left:1.04167rem}}.side-image-section__content{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%;padding-right:.69444rem;padding-left:.69444rem;max-width:66.66667%;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;padding-top:11rem;padding-bottom:11rem}@media print, screen and (min-width: 40em){.side-image-section__content{padding-right:1.04167rem;padding-left:1.04167rem}}@media screen and (max-width: 39.9375em){.side-image-section__content{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;padding:4rem 0}}@media screen and (max-width: 39.9375em) and (min-width: 40em){.side-image-section__content{padding-right:1.04167rem;padding-left:1.04167rem}}.side-image-section__content-wrapper{width:90%;max-width:38.19444rem;margin:0 auto}.half-sections{max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%;max-width:100%}.half-section{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;padding:5rem 1rem;margin:0}@media print, screen and (min-width: 40em){.half-section{padding-right:1.04167rem;padding-left:1.04167rem}}@media screen and (min-width: 50em){.half-section{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%;padding-right:.69444rem;padding-left:.69444rem;max-width:50%;padding:6rem 0;border-left:2px solid #fafafa;border-right:2px solid #fafafa}}@media screen and (min-width: 50em) and (min-width: 40em){.half-section{padding-right:1.04167rem;padding-left:1.04167rem}}.half-section p{max-width:38.19444rem;margin:1rem auto}.text-section{max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;max-width:55.55556rem;padding:2rem 1.5rem}@media print, screen and (min-width: 40em){.text-section{padding:3rem 1rem}}@media print, screen and (min-width: 64em){.text-section{padding:4rem 0}}.text-section__header{display:block;width:100%;padding:2rem 0 1rem;border-bottom:4px solid rgba(0,0,0,0.04);margin:0 auto 2rem}.text-section__header:first-child{padding-top:0}.text-section blockquote{font-size:120%;padding:1rem 2rem;border-width:6px}@media screen and (max-width: 39.9375em){.text-section blockquote{font-size:110%;line-height:1.5}}.text-section p{width:100%}@media screen and (max-width: 39.9375em){.text-section .text-section__header{font-size:180%}}.accordion{text-align:left}.accordion-title{border:0;border-bottom:3px solid rgba(0,0,0,0.05);font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:130%;-webkit-transition:all 0.2s ease;-o-transition:all 0.2s ease;transition:all 0.2s ease;border-top-left-radius:4px;border-top-right-radius:4px}.accordion-title:hover{color:#222}.accordion-title:before{color:#e51717;font-family:'Flaticons Stroke';font-size:90%;speak:none;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;content:'\e5a0'}.accordion-content{font-size:105%}.is-active>.accordion-title::before{content:'\e5a1'}.accordion-title:focus,.accordion-title:visited{color:#222}.announcement{background-color:#e51717;padding:12px;text-align:center}@media screen and (min-width: 37.5em){.announcement{padding:8px}}.announcement__text{display:block;font-family:'GothamHTFMedium';color:white;line-height:1.2;font-size:90%}@media screen and (min-width: 37.5em){.announcement__text{font-size:100%}}.announcement__link{margin-left:5px;color:white;border-bottom:1px solid white;-webkit-transition:0.1s ease-in-out;-o-transition:0.1s ease-in-out;transition:0.1s ease-in-out}.announcement__link:hover{color:white;border-color:rgba(255,255,255,0.7)}.announcement--rounded{border-radius:2px}.bio{max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;padding:.69444rem 0 6.94444rem}.bio__image-block{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%;padding-right:.69444rem;padding-left:.69444rem;max-width:91.66667%;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}@media print, screen and (min-width: 40em){.bio__image-block{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 40em){.bio__image-block{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%;padding-right:.69444rem;padding-left:.69444rem;max-width:33.33333%}}@media print, screen and (min-width: 40em) and (min-width: 40em){.bio__image-block{padding-right:1.04167rem;padding-left:1.04167rem}}.bio__image{border-radius:8px}@media screen and (max-width: 39.9375em){.bio__image{margin-bottom:2rem}}.bio__content-block{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%;padding-right:.69444rem;padding-left:.69444rem;max-width:91.66667%;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}@media print, screen and (min-width: 40em){.bio__content-block{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 40em){.bio__content-block{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%;padding-right:.69444rem;padding-left:.69444rem;max-width:66.66667%;padding-left:2rem}}@media print, screen and (min-width: 40em) and (min-width: 40em){.bio__content-block{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 64em){.bio__content-block{padding-left:4rem;-ms-flex-item-align:center;align-self:center}}@media screen and (max-width: 39.9375em){blockquote{line-height:1.4}}cite{display:block;font-style:normal;font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;text-transform:uppercase;margin-top:0.75rem}.button{font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.button.small{font-size:95%}.button:not(.hollow).white{background-color:white;color:#333;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.04);box-shadow:0 1px 4px rgba(0,0,0,0.04)}.button:not(.hollow).white:hover{background-color:#e51717;color:white}.button.hollow.white{border-color:white;color:white}.button.secondary{background-color:#ececec !important;color:#333}.button.secondary:hover{background-color:#e51717 !important}.button.w-icon .flaticon{display:inline-block;font-size:110%;-webkit-transform:translateY(2px);-ms-transform:translateY(2px);transform:translateY(2px);margin-right:10px}.button.full-width{display:block;width:100%}@media print, screen and (min-width: 64em){.code-slider{margin:-2.77778rem 0 0}}@media screen and (min-width: 69.375em){.code-slider{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}}.code-slider__header{position:relative;z-index:1;display:block;height:27.77778rem;padding:3rem;background:url(/assets/images/photo.jpg) no-repeat center;background-size:cover;text-align:center}@media screen and (min-width: 69.375em){.code-slider__header{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;height:auto;max-height:34.72222rem;padding:4rem 0 3rem 4rem;text-align:left;border-top:3.47222rem solid #fafafa;border-bottom:3.47222rem solid #fafafa}}.code-slider__subtitle{display:none;font-size:120%;color:#f7f7f7;line-height:1.2}@media print, screen and (min-width: 40em){.code-slider__subtitle{display:block}}.code-slider__link{position:absolute;z-index:100;width:100%;left:0;bottom:18.05556rem}@media screen and (min-width: 69.375em){.code-slider__link{width:auto;left:5rem;bottom:3rem;-webkit-transform:none;-ms-transform:none;transform:none}}.code-slider__content{position:relative;z-index:10;width:90%;max-width:41.66667rem;margin:-16.66667rem auto 0;background-color:#f0f0f0;padding:2rem 2.5rem;border-radius:8px;-webkit-box-shadow:0px 2px 10px -4px rgba(0,0,0,0.1);box-shadow:0px 2px 10px -4px rgba(0,0,0,0.1)}@media print, screen and (min-width: 40em){.code-slider__content{padding:3rem 5rem 3rem 5rem}}@media screen and (min-width: 69.375em){.code-slider__content{width:auto;min-width:41.66667rem;-webkit-box-flex:0;-ms-flex:0 1 0px;flex:0 1 0;padding:5rem;margin:0 3% 0 0}}@media screen and (min-width: 76.875em){.code-slider__content{min-width:48.61111rem}}.code-slider__steps-text{font-size:140%;font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:#cacaca}.code-slider__steps-text #currentCodeItem{color:#444}.code-slider__items{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:17.36111rem;list-style-type:none;padding:0;margin:0}.code-slider__item{display:none}.code-slider__item:first-child{display:list-item}.code-slider__item-title{margin:0;line-height:1.1}@media screen and (max-width: 39.9375em){.code-slider__item-title{font-size:200%}}.code-slider__item-subtitle{font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:#999;font-size:120%;display:block;margin:.69444rem 0;line-height:1.4}.code-slider__nav{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.code-slider__arrow{color:#cacaca;line-height:0;font-size:300%}.crash-course{background-color:white;padding:10.41667rem 0 13.88889rem;background-image:url(/assets/images/crash-course-02.jpg);background-size:cover;background-position:30% 100%}@media screen and (min-width: 40.625em){.crash-course{background-position:80% center}}@media screen and (max-width: 39.9375em){.crash-course{padding:4rem 0 12rem}}.crash-course__wrapper{max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;width:90%;max-width:55.55556rem}.crash-course .subheader{margin:0 0 -0.5rem}@media screen and (max-width: 39.9375em){.crash-course .subheader{font-size:120%}}.crash-course p{max-width:34.72222rem;margin:0 auto 1rem 0}.crash-course__stars .flaticon{color:#222;font-size:200%;display:inline-block;margin:0.5rem}.crash-course__stars .flaticon:nth-child(2){font-size:240%}.dialog[aria-hidden="true"]{display:none}.dialog__overlay{z-index:1001;background-color:rgba(0,0,0,0.85);position:fixed;top:0;left:0;bottom:0;right:0}.dialog__content{padding:2rem;background-color:#fff;z-index:1002;position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:85%;max-width:48.61111rem;border-radius:4px}@media print, screen and (min-width: 40em){.dialog__content{-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:95%}}.dialog__content div:focus{border:0}.dialog__close{font-family:"GothamHTFBook","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;position:absolute;top:-3rem;right:0;color:white;font-size:80%;text-transform:uppercase;cursor:pointer}.dialog__close span{display:inline-block;margin-left:.55556rem;font-size:250%;-webkit-transform:translateY(3px);-ms-transform:translateY(3px);transform:translateY(3px);-webkit-transition:color 0.2s ease;-o-transition:color 0.2s ease;transition:color 0.2s ease}.dialog__close:hover span{color:#e51717}.dialog--video .dialog__content{max-width:65.27778rem;padding:0;background-color:transparent;-webkit-transform:translate(-53%, -50%);-ms-transform:translate(-53%, -50%);transform:translate(-53%, -50%)}.dialog--live .dialog__content{max-width:27.77778rem;padding:0 3rem 2rem;text-align:center}@media screen and (max-width: 39.9375em){.dialog--live .dialog__content{padding:0 1.5rem 1rem}.dialog--live .dialog__content h4{font-size:140%}.dialog--live .dialog__content p{font-size:90%}}.dialog--live .dialog__content .button:focus{background-color:#e51717}.dialog--live .dialog__content svg{display:block;width:6.94444rem;margin:-2.08333rem auto 2rem}.dialog--location .dialog__content{height:85%;max-height:85%;max-width:33.33333rem;background-color:#fafafa;padding:0;text-align:center;border-radius:8px}@media screen and (max-width: 39.9375em){.dialog--location .dialog__content{height:92%;max-height:92%;margin-top:4%}}.dialog--location div[role="document"]{position:absolute;top:0;left:0;height:100%;width:100%;overflow-y:scroll;-webkit-overflow-scrolling:touch;border-top-left-radius:8px;border-top-right-radius:8px}.dialog--location__image{background-position:center;background-repeat:no-repeat;background-size:cover;height:11.11111rem}.dialog--location__details{max-width:90%;margin:2rem auto}@media print, screen and (min-width: 40em){.dialog--location__details{max-width:80%}}@media print, screen and (min-width: 40em){.dialog--location__details{max-width:70%}}.dialog--location .share-nav{margin:-2.75rem auto 0;max-width:86%}.dialog--location .share-nav a:focus{outline:0}.dialog--location .section-label{color:#e51717;opacity:1;margin:2rem 0 0.5rem}.responsive-embed iframe{border:none}.error-message{display:block;width:90%;max-width:34.72222rem;margin:0 auto;padding:4rem 0}.error-message .flaticon{display:inline-block;float:left;font-size:400%;color:white;margin-right:2.77778rem}@media screen and (max-width: 39.9375em){.error-message .flaticon{font-size:200%;margin-right:.69444rem}}@media screen and (max-width: 39.9375em){.error-message h4{margin-top:.55556rem;font-size:170%}}@media screen and (max-width: 39.9375em){.error-message p{display:block;margin-top:1rem}}.error-message h4,.error-message p{color:white}.error-message--dark h4,.error-message--dark p,.error-message--dark .flaticon{color:#222}.image-card{border-radius:4px;padding-top:1rem;padding-bottom:0.75rem;margin-bottom:1rem;-webkit-transition:background-color 0.3s ease;-o-transition:background-color 0.3s ease;transition:background-color 0.3s ease}.image-card:hover{background-color:white;-webkit-box-shadow:0px 2px 8px rgba(0,0,0,0.02);box-shadow:0px 2px 8px rgba(0,0,0,0.02)}@media screen and (max-width: 39.9375em){.image-card{margin-bottom:0.25rem}}.image-card:hover .image-card__image img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.image-card__image{position:relative;overflow:hidden;background-color:#f0f0f0;border-radius:4px;-webkit-box-shadow:0px 4px 6px rgba(0,0,0,0.02);box-shadow:0px 4px 6px rgba(0,0,0,0.02);-webkit-mask-image:-webkit-radial-gradient(circle, white, black)}.image-card__image:after{display:block;padding-top:56.25%;content:""}@media screen and (max-width: 39.9375em){.image-card__image:after{padding-top:48%}}.image-card__image img{position:absolute;top:0;bottom:0;left:0;right:0;-webkit-transition:-webkit-transform 8s ease;transition:-webkit-transform 8s ease;-o-transition:transform 8s ease;transition:transform 8s ease;transition:transform 8s ease, -webkit-transform 8s ease}@media screen and (max-width: 39.9375em){.image-card__image img{top:-7.25%}}.image-card__image-title{display:inline-block;white-space:nowrap;color:white;position:absolute;z-index:2;bottom:.34722rem;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.image-card__image-title:before{content:"";position:absolute;z-index:-1;bottom:.41667rem;left:0;width:100%;height:.41667rem;background-color:#e51717}.image-card__image-gradient{position:absolute;z-index:1;top:0;bottom:0;left:0;right:0;background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,0)), color-stop(140%, #000));background-image:-o-linear-gradient(top, rgba(255,255,255,0) 0%, #000 140%);background-image:linear-gradient(-180deg, rgba(255,255,255,0) 0%, #000 140%)}.image-card__title{display:block;font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:#222;font-size:120%;line-height:1.2;margin:0.75rem 0 0}@media screen and (max-width: 39.9375em){.image-card__title{font-size:115%}}.image-card__subtitle{display:block;font-size:95%;color:#888;margin:-0.25rem 0 0}.image-card--small{font-size:90%;margin-bottom:0}.image-card--small .image-card__subtitle{margin-top:0}.section-label{display:block;margin-bottom:0.75rem;font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:80%;text-transform:uppercase;opacity:0.4}.box-label{display:inline-block;background-color:#e51717;color:white;padding:0.65rem 1.2rem;font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:110%;border-radius:4px}@media screen and (min-width: 40em) and (max-width: 63.9375em){.box-label{font-size:100%}}@media screen and (max-width: 39.9375em){.box-label{display:block;margin:0 auto;font-size:120%;text-align:center;line-height:1.4}}.box-label .flaticon{display:inline-block;-webkit-transform:translateY(2px);-ms-transform:translateY(2px);transform:translateY(2px);margin-right:.20833rem}@media screen and (max-width: 39.9375em){.box-label .flaticon{display:none}}.scripture-label{display:inline-block;font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:90%;color:#222;text-transform:uppercase}.scripture-label .flaticon{display:inline-block;margin-right:.13889rem;-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px);color:#e51717}.scripture-label+.scripture-label{margin-left:1.04167rem}.text-link{display:inline-block;font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:110%}.text-link .flaticon{display:inline-block;margin-left:.34722rem;-webkit-transform:translateY(2px);-ms-transform:translateY(2px);transform:translateY(2px);-webkit-transition:all 0.2s ease;-o-transition:all 0.2s ease;transition:all 0.2s ease}.text-link.icon-left .flaticon{margin-right:.34722rem;margin-left:0}.text-link:hover .flaticon{padding-left:.69444rem}.text-link.icon-left:hover .flaticon{padding-left:0;padding-right:.69444rem}.bar-link{display:block;padding:2.5rem 0;background-color:#f0f0f0;text-align:center;color:#222;font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:120%;-webkit-transition:all 0.2s ease;-o-transition:all 0.2s ease;transition:all 0.2s ease}.bar-link .flaticon{display:inline-block;-webkit-transform:translateY(2px);-ms-transform:translateY(2px);transform:translateY(2px)}.bar-link:hover{background-color:#e51717;color:white}.open-link{font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:110%;padding:0.5rem 0;cursor:pointer}.open-link,.open-link:visited,.open-link:focus{color:white}.open-link .flaticon{font-size:140%;color:#e51717;margin-right:.41667rem;margin-bottom:-1px;vertical-align:middle;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transition:-webkit-transform 0.2s ease;transition:-webkit-transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease;transition:transform 0.2s ease, -webkit-transform 0.2s ease}.open-link:hover{color:white}.open-link:hover .flaticon{-webkit-transform:scale(1.25);-ms-transform:scale(1.25);transform:scale(1.25)}.live-banner{position:fixed;z-index:999;left:0;bottom:0;padding:2rem;width:100%;text-align:right;font-size:110%}@media screen and (max-width: 39.9375em){.live-banner{text-align:center}}.live-banner .button{font-size:120%;vertical-align:middle;margin:0;-webkit-box-shadow:0px 4px 10px 0px rgba(0,0,0,0.4);box-shadow:0px 4px 10px 0px rgba(0,0,0,0.4)}.live-banner .button::before{position:absolute;bottom:-4rem;left:-4rem}.live-banner .button .flaticon{will-change:transform;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-animation:beacon 2s infinite;animation:beacon 2s infinite;-webkit-transform:translateY(2px);-ms-transform:translateY(2px);transform:translateY(2px)}@-webkit-keyframes beacon{0%{-webkit-transform:translateY(2px) scale(1);transform:translateY(2px) scale(1)}50%{-webkit-transform:translateY(2px) scale(1.3);transform:translateY(2px) scale(1.3)}100%{-webkit-transform:translateY(2px) scale(1);transform:translateY(2px) scale(1)}}@keyframes beacon{0%{-webkit-transform:translateY(2px) scale(1);transform:translateY(2px) scale(1)}50%{-webkit-transform:translateY(2px) scale(1.3);transform:translateY(2px) scale(1.3)}100%{-webkit-transform:translateY(2px) scale(1);transform:translateY(2px) scale(1)}}.loader{color:rgba(255,255,255,0.2);font-size:10px;margin:80px auto;position:relative;text-indent:-9999em;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation-delay:-0.16s;animation-delay:-0.16s}.loader,.loader:before,.loader:after{border-radius:50%;width:2em;height:2em;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation:load7 1.8s infinite ease-in-out;animation:load7 1.8s infinite ease-in-out}.loader:before,.loader:after{content:"";position:absolute;top:0}.loader:before{left:-3em;-webkit-animation-delay:-0.32s;animation-delay:-0.32s}.loader:after{left:3em}.loader--dark{color:rgba(0,0,0,0.1)}@-webkit-keyframes load7{0%,80%,100%{-webkit-box-shadow:0 2em 0 -1.3em;box-shadow:0 2em 0 -1.3em}40%{-webkit-box-shadow:0 2em 0 0;box-shadow:0 2em 0 0}}@keyframes load7{0%,80%,100%{-webkit-box-shadow:0 2em 0 -1.3em;box-shadow:0 2em 0 -1.3em}40%{-webkit-box-shadow:0 2em 0 0;box-shadow:0 2em 0 0}}.message__title{font-size:180%;color:white;margin:0}@media print, screen and (min-width: 40em){.message__title{font-size:240%}}.message__subtitle{display:block;color:#bababa;margin:0 0 1rem}.message__media{max-width:69.44444rem;margin:0 auto}.message__media .plyr{width:100%;margin-bottom:0}.message__actions{width:100%;text-align:center}.message__link{display:inline-block;padding:0.5rem 1rem;background-color:#222;font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:85%;border-bottom-left-radius:4px;border-bottom-right-radius:4px;-webkit-transition:background-color 0.2s ease;-o-transition:background-color 0.2s ease;transition:background-color 0.2s ease}.message__link,.message__link:visited,.message__link:hover,.message__link:focus{color:#f0f0f0}@media print, screen and (min-width: 40em){.message__link{font-size:100%;padding:0.5rem 2rem}}.message__link:hover{background-color:#e51717}@-webkit-keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:"GothamHTFBook","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;direction:ltr}.plyr:focus{outline:0 !important}.plyr,.plyr *,.plyr *::after,.plyr *::before{-webkit-box-sizing:border-box;box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr:focus{outline:0}.plyr video,.plyr audio{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type='range']{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:transparent}.plyr input[type='range']::-webkit-slider-runnable-track{height:8px;background:transparent;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type='range']::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;-webkit-transition:background .2s ease, border .2s ease, -webkit-transform .2s ease;transition:background .2s ease, border .2s ease, -webkit-transform .2s ease;transition:background .2s ease, border .2s ease, transform .2s ease;transition:background .2s ease, border .2s ease, transform .2s ease, -webkit-transform .2s ease;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.15),0 0 0 1px rgba(0,0,0,0.15);box-shadow:0 1px 1px rgba(0,0,0,0.15),0 0 0 1px rgba(0,0,0,0.15);-webkit-box-sizing:border-box;box-sizing:border-box}.plyr input[type='range']::-moz-range-track{height:8px;background:transparent;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type='range']::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;-moz-transition:background .2s ease, border .2s ease, transform .2s ease;transition:background .2s ease, border .2s ease, transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,0.15),0 0 0 1px rgba(0,0,0,0.15);box-sizing:border-box}.plyr input[type='range']::-ms-track{height:8px;background:transparent;border:0;color:transparent}.plyr input[type='range']::-ms-fill-upper{height:8px;background:transparent;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type='range']::-ms-fill-lower{height:8px;background:transparent;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#e51717}.plyr input[type='range']::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;-ms-transition:background .2s ease, border .2s ease, transform .2s ease;transition:background .2s ease, border .2s ease, transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,0.15),0 0 0 1px rgba(0,0,0,0.15);box-sizing:border-box;margin-top:0}.plyr input[type='range']::-ms-tooltip{display:none}.plyr input[type='range']:focus{outline:0}.plyr input[type='range']::-moz-focus-outer{border:0}.plyr input[type='range'].tab-focus:focus{outline-offset:3px}.plyr input[type='range']:active::-webkit-slider-thumb{background:#e51717;border-color:#fff;-webkit-transform:scale(1.25);transform:scale(1.25)}.plyr input[type='range']:active::-moz-range-thumb{background:#e51717;border-color:#fff;transform:scale(1.25)}.plyr input[type='range']:active::-ms-thumb{background:#e51717;border-color:#fff;-ms-transform:scale(1.25);transform:scale(1.25)}.plyr--video input[type='range'].tab-focus:focus{outline:1px dotted rgba(255,255,255,0.5)}.plyr--audio input[type='range'].tab-focus:focus{outline:1px dotted rgba(255,255,255,0.5)}.plyr__sr-only{clip:rect(1px, 1px, 1px, 1px);overflow:hidden;position:absolute !important;padding:0 !important;border:0 !important;height:1px !important;width:1px !important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit}.plyr__video-embed{padding-bottom:56.25%;height:0;overflow:hidden;border-radius:inherit;z-index:0}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;-webkit-transform:translateY(-35.95%);-ms-transform:translateY(-35.95%);transform:translateY(-35.95%)}.plyr .plyr__video-embed iframe{pointer-events:none}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;-webkit-transform:translateY(-60px);-ms-transform:translateY(-60px);transform:translateY(-60px);-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;-o-transition:transform .3s ease;transition:transform .3s ease;transition:transform .3s ease, -webkit-transform .3s ease;color:#fff;font-size:16px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,0.7);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width: 768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}@media (min-width: 1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls>button,.plyr__controls .plyr__progress,.plyr__controls .plyr__time{margin-left:5px}.plyr__controls>button:first-child,.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr="pause"]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:transparent;border-radius:3px;cursor:pointer;-webkit-transition:background .3s ease, color .3s ease, opacity .3s ease;-o-transition:background .3s ease, color .3s ease, opacity .3s ease;transition:background .3s ease, color .3s ease, opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted,.plyr__controls .icon--captions-on{display:none}@media (min-width: 480px){.plyr__controls>button,.plyr__controls .plyr__progress,.plyr__controls .plyr__time{margin-left:10px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:10px;background:rgba(0,0,0,0.5);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;-webkit-transition:opacity .3s ease;-o-transition:opacity .3s ease;transition:opacity .3s ease}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#e51717;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:5px;background:#333;border:2px solid #303030;color:#fff;-webkit-box-shadow:0px 4px 10px rgba(0,0,0,0.08);box-shadow:0px 4px 10px rgba(0,0,0,0.08)}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover{background:#e51717;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);padding:10px;background:#e51717;border:4px solid currentColor;border-radius:100%;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.15);box-shadow:0 1px 1px rgba(0,0,0,0.15);color:#fff;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr__play-large:focus{outline:1px dotted rgba(255,255,255,0.5)}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr__controls [data-plyr='pause'],.plyr--playing .plyr__controls [data-plyr='play']{display:none}.plyr--playing .plyr__controls [data-plyr='pause']{display:inline-block}.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted,.plyr--captions-active .plyr__controls .icon--captions-on{display:block}.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg,.plyr--captions-active .plyr__controls .icon--captions-on+svg{display:none}.plyr [data-plyr='captions'],.plyr [data-plyr='fullscreen']{display:none}.plyr--captions-enabled [data-plyr='captions'],.plyr--fullscreen-enabled [data-plyr='fullscreen']{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;pointer-events:none;opacity:0;background:rgba(0,0,0,0.7);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;-webkit-transform:translate(-50%, 10px) scale(0.8);-ms-transform:translate(-50%, 10px) scale(0.8);transform:translate(-50%, 10px) scale(0.8);-webkit-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transition:opacity .2s .1s ease, -webkit-transform .2s .1s ease;transition:opacity .2s .1s ease, -webkit-transform .2s .1s ease;-o-transition:transform .2s .1s ease, opacity .2s .1s ease;transition:transform .2s .1s ease, opacity .2s .1s ease;transition:transform .2s .1s ease, opacity .2s .1s ease, -webkit-transform .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,0.7);border-left:4px solid transparent;z-index:2}.plyr button:hover .plyr__tooltip,.plyr button.tab-focus:focus .plyr__tooltip,.plyr__tooltip--visible{opacity:1;-webkit-transform:translate(-50%, 0) scale(1);-ms-transform:translate(-50%, 0) scale(1);transform:translate(-50%, 0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__controls button:first-child .plyr__tooltip{left:0;-webkit-transform:translate(0, 10px) scale(0.8);-ms-transform:translate(0, 10px) scale(0.8);transform:translate(0, 10px) scale(0.8);-webkit-transform-origin:0 100%;-ms-transform-origin:0 100%;transform-origin:0 100%}.plyr__controls button:first-child .plyr__tooltip::before{left:16px}.plyr__controls button:last-child .plyr__tooltip{right:0;-webkit-transform:translate(0, 10px) scale(0.8);-ms-transform:translate(0, 10px) scale(0.8);transform:translate(0, 10px) scale(0.8);-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}.plyr__controls button:last-child .plyr__tooltip::before{left:auto;right:16px;-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%)}.plyr__controls button:first-child:hover .plyr__tooltip,.plyr__controls button:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:first-child .plyr__tooltip--visible,.plyr__controls button:last-child:hover .plyr__tooltip,.plyr__controls button:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:last-child .plyr__tooltip--visible{-webkit-transform:translate(0, 0) scale(1);-ms-transform:translate(0, 0) scale(1);transform:translate(0, 0) scale(1)}.plyr__progress{display:none;position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1}.plyr__progress input[type="range"]{position:relative;z-index:2}.plyr__progress input[type="range"]::-webkit-slider-runnable-track{background:transparent}.plyr__progress input[type="range"]::-moz-range-track{background:transparent}.plyr__progress input[type="range"]::-ms-fill-upper{background:transparent}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:transparent}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#e51717;background:transparent;-webkit-transition:none;-o-transition:none;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;-webkit-transition:none;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;-moz-transition:none;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{-webkit-transition:width .2s ease;transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{-moz-transition:width .2s ease;transition:width .2s ease}.plyr__progress--buffer::-ms-fill{-ms-transition:width .2s ease;transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,0.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,0.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(240,238,246,0.25)}.plyr--audio .plyr__progress--buffer{color:rgba(240,238,246,0.25)}.plyr--loading .plyr__progress--buffer{-webkit-animation:plyr-progress 1s linear infinite;animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:-o-linear-gradient(135deg, rgba(0,0,0,0.15) 25%, transparent 25%, transparent 50%, rgba(0,0,0,0.15) 50%, rgba(0,0,0,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(0,0,0,0.15) 25%, transparent 25%, transparent 50%, rgba(0,0,0,0.15) 50%, rgba(0,0,0,0.15) 75%, transparent 75%, transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,0.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(240,238,246,0.25)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width: 768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type="range"]{position:relative;z-index:2}@media (min-width: 480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width: 768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr='mute']{display:none !important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0 !important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.share-nav{list-style-type:none;padding:1rem 0;margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:white;border-radius:4px;-webkit-box-shadow:0px 2px 8px rgba(0,0,0,0.02);box-shadow:0px 2px 8px rgba(0,0,0,0.02)}.share-nav__item{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;border-right:2px solid rgba(0,0,0,0.04)}.share-nav__item:last-child{border-right:none}.share-nav__link{display:block;width:100%;padding:0.4rem 0;text-align:center;cursor:pointer}.share-nav__link svg{vertical-align:middle;width:2.77778rem;height:2.77778rem}@media screen and (max-width: 39.9375em){.share-nav__link svg{width:2.43056rem;height:2.43056rem}}.share-nav__link svg *{-webkit-transition:fill 0.2s ease;-o-transition:fill 0.2s ease;transition:fill 0.2s ease;fill:#444}.share-nav__link:hover svg *{fill:#e51717}.site-search{display:none;margin-left:auto}@media screen and (min-width: 44.375em){.site-search{display:inline-block}}.site-search__form{display:inline-block;position:relative}.site-search__icon{position:absolute;top:.76389rem;right:.69444rem;color:#999}.site-search__input{display:inline-block;position:relative;margin:0 0 0 1rem;padding:0 2.43056rem 0 .83333rem;width:5.55556rem;background-color:rgba(255,255,255,0.1);border:0;border-radius:4px;font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:94%;color:#f7f7f7;-webkit-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}.site-search__input:focus{width:11.11111rem;background-color:rgba(0,0,0,0.03)}.site-search ::-webkit-input-placeholder{font-family:"GothamHTFBook","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;opacity:0;-webkit-transition:opacity 0.3s ease;transition:opacity 0.3s ease}.site-search ::-moz-placeholder{font-family:"GothamHTFBook","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;opacity:0;-moz-transition:opacity 0.3s ease;transition:opacity 0.3s ease}.site-search :-ms-input-placeholder{font-family:"GothamHTFBook","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;opacity:0;-ms-transition:opacity 0.3s ease;transition:opacity 0.3s ease}.site-search :-moz-placeholder{font-family:"GothamHTFBook","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;opacity:0;-moz-transition:opacity 0.3s ease;transition:opacity 0.3s ease}.site-search :focus::-webkit-input-placeholder{opacity:1}.site-search :focus::-moz-placeholder{opacity:1}.site-search :focus:-ms-input-placeholder{opacity:1}.site-search :focus:-moz-placeholder{opacity:1}.swiper{width:calc(100% - 16px);height:15.27778rem;margin:.55556rem auto}@media screen and (max-width: 39.9375em){.swiper{height:11.11111rem}}.swiper__slide{background:#999;max-height:15.27778rem;width:auto}@media screen and (max-width: 39.9375em){.swiper__slide{max-height:11.11111rem}}.swiper__next,.swiper__prev{position:absolute;z-index:2;text-shadow:0px 2px 6px rgba(0,0,0,0.2);top:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);cursor:pointer}.swiper__next .flaticon,.swiper__prev .flaticon{font-size:500%;padding:3rem 1rem;color:white}@media screen and (max-width: 39.9375em){.swiper__next .flaticon,.swiper__prev .flaticon{font-size:300%}}.swiper__next{right:-3.5rem}@media screen and (min-width: 40em){.swiper__next{right:-4rem}}.swiper__prev{left:1.6rem}@media screen and (min-width: 40em){.swiper__prev{left:3rem}}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper__wrapper{-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column}.swiper__wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;-o-transition-property:-o-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper__wrapper{-webkit-transform:translate3d(0px, 0, 0);-ms-transform:translate3d(0px, 0, 0);transform:translate3d(0px, 0, 0)}.swiper-container-multirow>.swiper__wrapper{-webkit-box-lines:multiple;-moz-box-lines:multiple;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper__wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex:0 0 auto;-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper__wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:-webkit-transform, height;-o-transition-property:-o-transform;-webkit-transition-property:height, -webkit-transform;transition-property:height, -webkit-transform;-o-transition-property:transform, height;transition-property:transform, height;transition-property:transform, height, -webkit-transform}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-prev,.swiper-button-next{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:0.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:300ms;-o-transition:300ms;transition:300ms;-webkit-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-container-horizontal>.swiper-pagination-bullets{bottom:10px;left:0;width:100%}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:0.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0px, -50%, 0);-ms-transform:translate3d(0px, -50%, 0);transform:translate3d(0px, -50%, 0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 5px}.swiper-pagination-progress{background:rgba(0,0,0,0.25);position:absolute}.swiper-pagination-progress .swiper-pagination-progressbar{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progress{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progress{width:4px;height:100%;left:0;top:0}.swiper-pagination-progress.swiper-pagination-white{background:rgba(255,255,255,0.5)}.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar{background:#fff}.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar{background:#000}.swiper-container-3d{-webkit-perspective:1200px;-o-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper__wrapper,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-cube-shadow{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-o-linear-gradient(right, rgba(0,0,0,0.5), rgba(0,0,0,0));background-image:-webkit-gradient(linear, right top, left top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0)));background-image:linear-gradient(to left, rgba(0,0,0,0.5), rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-o-linear-gradient(left, rgba(0,0,0,0.5), rgba(0,0,0,0));background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0)));background-image:linear-gradient(to right, rgba(0,0,0,0.5), rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-o-linear-gradient(bottom, rgba(0,0,0,0.5), rgba(0,0,0,0));background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0)));background-image:linear-gradient(to top, rgba(0,0,0,0.5), rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-o-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0));background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0)));background-image:linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0))}.swiper-container-coverflow .swiper__wrapper,.swiper-container-flip .swiper__wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-top,.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-prev,.swiper-container-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:0.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,0.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,0.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12, end) infinite;animation:swiper-preloader-spin 1s steps(12, end) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.tab-nav{background-color:rgba(255,255,255,0.15);margin-top:4rem}.tab-nav ul{list-style-type:none;padding:0;margin:0 auto;width:100%;max-width:69.44444rem;text-align:center}.tab-nav__item{display:inline-block;position:relative;z-index:2}.tab-nav__item a,.tab-nav__item a:visited,.tab-nav__item a:focus{display:inline-block;padding:0.75rem 1.25rem;color:#cacaca;-webkit-transition:color 0.2s ease;-o-transition:color 0.2s ease;transition:color 0.2s ease}@media screen and (min-width: 51.25em){.tab-nav__item a,.tab-nav__item a:visited,.tab-nav__item a:focus{padding:1.5rem}}.tab-nav__item svg{display:inline-block;width:1.38889rem;height:1.38889rem;margin-right:.34722rem;vertical-align:middle}@media screen and (min-width: 51.25em){.tab-nav__item svg{width:2.08333rem;height:2.08333rem}}.tab-nav__item svg *{fill:#999;-webkit-transition:fill 0.2s cubic-bezier(0, 0.88, 0.25, 1);-o-transition:fill 0.2s cubic-bezier(0, 0.88, 0.25, 1);transition:fill 0.2s cubic-bezier(0, 0.88, 0.25, 1)}.tab-nav__item span{font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:90%;text-transform:uppercase;vertical-align:middle}@media screen and (min-width: 51.25em){.tab-nav__item span{font-size:110%}}.tab-nav__item:hover:not(.active) a,.tab-nav__item:hover:not(.active) a:visited,.tab-nav__item:hover:not(.active) a:focus{color:white}.tab-nav__item:hover:not(.active) svg *{fill:#e51717}.tab-nav__item.active{background-color:white;border-radius:4px;-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);margin:0 .69444rem;-webkit-box-shadow:0px 2px 4px rgba(0,0,0,0.04);box-shadow:0px 2px 4px rgba(0,0,0,0.04)}.tab-nav__item.active a,.tab-nav__item.active a:visited,.tab-nav__item.active a:focus{color:#444}.tab-nav__item.active svg *{fill:#e51717}.tab-nav__item.active span{font-size:85%}@media screen and (min-width: 51.25em){.tab-nav__item.active span{font-size:95%}}.tab-nav__item.active::before{content:"";position:absolute;z-index:2;top:92%;left:50%;width:0;height:0;border-style:solid;border-width:15px 25px 0 25px;border-color:#ffffff transparent transparent transparent;margin-left:-25px}.mobile-tab-nav{padding:2rem 0 1rem}.mobile-tab-nav button{display:block;position:relative;width:100%;margin:0 auto;padding:1rem 0;background-color:rgba(255,255,255,0.1);border-radius:0;font-size:120%;color:white}.mobile-tab-nav button svg{width:1.80556rem;height:1.80556rem}.mobile-tab-nav button svg *{fill:#e51717}.mobile-tab-nav button .dropdown-menu-icon{display:inline-block;position:absolute;top:50%;right:1rem;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.mobile-tab-nav button .dropdown-menu-icon svg{width:1.73611rem;height:1.73611rem}.mobile-tab-nav button .dropdown-menu-icon svg *{fill:rgba(255,255,255,0.5)}.mobile-tab-nav .dropdown-pane{left:50% !important;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-box-shadow:0px 2px 8px rgba(0,0,0,0.4);box-shadow:0px 2px 8px rgba(0,0,0,0.4)}.mobile-tab-nav .dropdown-pane ul{padding:0;margin:0;overflow:hidden}.mobile-tab-nav .dropdown-pane .tab-nav__item{display:block;width:auto;padding:0;margin:0}.mobile-tab-nav .dropdown-pane .tab-nav__item a,.mobile-tab-nav .dropdown-pane .tab-nav__item a:visited,.mobile-tab-nav .dropdown-pane .tab-nav__item a:focus{font-size:110%;color:#333;width:100%;padding:0.85rem 0}.mobile-tab-nav .dropdown-pane .tab-nav__item.active{display:none}.mobile-tab-nav .dropdown-pane .tab-nav__item:hover{background-color:#f0f0f0}table{border-collapse:collapse}tbody tr{border-bottom:2px solid rgba(0,0,0,0.02) !important}th{font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal !important;font-size:100%;text-transform:uppercase}td{font-size:105%}td.bold{font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:#444}.tooltip{z-index:1000 !important}.vision{position:relative;padding:6.94444rem 0;width:85%;max-width:62.5rem;margin:0 auto}@media screen and (max-width: 39.9375em){.vision{padding:2.77778rem 0}}.vision__title{display:block;padding-bottom:1rem;font-size:60%;font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:#e51717;text-transform:uppercase}@media screen and (min-width: 40.625em){.vision__title{font-size:40%;padding-bottom:2rem}}.vision__quote{border-width:10px;font-size:200%;max-width:62.5rem;line-height:1.2}@media screen and (min-width: 28.125em){.vision__quote{font-size:250%}}@media screen and (min-width: 40.625em){.vision__quote{font-size:350%}}.vision__bg-text{position:absolute;z-index:-1;top:1rem;left:1rem;font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:800%;text-transform:uppercase;line-height:1;color:rgba(0,0,0,0.02);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (max-width: 39.9375em){.vision__bg-text{display:none}}@media screen and (min-width: 58.125em){.vision__bg-text{top:2rem;left:-16rem;font-size:1500%}}.p-about__header{background-image:url(/assets/images/about-bg.jpg);padding:10rem 0 4rem;text-align:center}@media screen and (max-width: 39.9375em){.p-about__header{padding:6rem 0 3rem}}.p-about__title{font-size:450%}@media screen and (max-width: 39.9375em){.p-about__title{margin-top:0.5rem;font-size:300%}}.p-about__subtitle{font-size:280%;font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;line-height:1.4}.p-about__beliefs{max-width:48.61111rem}.p-app__side-image{background-image:url(/assets/images/devices.jpg);background-position:75% center}.p-app__badge{display:inline-block;max-height:3.125rem;margin-right:.69444rem;margin-bottom:.69444rem}.p-app .button{margin-bottom:4rem}.p-crashcourse__header{background:url(/assets/images/crash-course.jpg) no-repeat center;background-size:cover;padding:4.16667rem 0 9.72222rem}@media print, screen and (min-width: 40em){.p-crashcourse__header{padding:8.33333rem 0 15.27778rem}}.p-crashcourse__divider{border:0;max-width:100%;width:100%;height:8px;background-color:#e51717;margin:0.5rem 0 2rem}.p-crashcourse .page-header__description{color:#666;font-size:150%;max-width:48.61111rem}@media screen and (max-width: 39.9375em){.p-crashcourse .page-header__description{font-size:120%}}.p-crashcourse .uc{font-size:260%}@media screen and (min-width: 40em){.p-crashcourse .uc{font-size:400%}}.p-crashcourse__what-title{margin-bottom:2rem}@media screen and (max-width: 39.9375em){.p-crashcourse__what-title{font-size:180%}}@media screen and (max-width: 39.9375em){.p-crashcourse blockquote{margin-top:4rem}}@media screen and (max-width: 39.9375em){.p-crashcourse__locations{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%;padding-right:.69444rem;padding-left:.69444rem;max-width:91.66667%;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}}@media screen and (max-width: 39.9375em) and (min-width: 40em){.p-crashcourse__locations{padding-right:1.04167rem;padding-left:1.04167rem}}.p-crashcourse__locations ul{list-style-type:none;padding:0;margin:2rem 0 0}.p-crashcourse__locations li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:1rem 1rem 1rem 0}.p-crashcourse__locations li+li{border-top:2px solid rgba(0,0,0,0.02)}.p-crashcourse__locations .photo{min-width:11.11111rem;height:6.25rem;background-position:center;background-repeat:no-repeat;background-size:cover;border-radius:4px;float:left;margin-right:1.04167rem}@media screen and (max-width: 39.9375em){.p-crashcourse__locations .photo{min-width:6.94444rem}}.p-crashcourse__locations strong{font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:125%}.p-crashcourse__locations p{font-size:95%;margin:0}@media screen and (max-width: 39.9375em){.p-crashcourse .list-box{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%;padding-right:.69444rem;padding-left:.69444rem;max-width:91.66667%;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;margin-bottom:4rem}}@media screen and (max-width: 39.9375em) and (min-width: 40em){.p-crashcourse .list-box{padding-right:1.04167rem;padding-left:1.04167rem}}.p-college__header{background:url(/assets/images/college/hero2.jpg) no-repeat center;background-size:cover;padding:4.16667rem 0 9.72222rem}@media print, screen and (min-width: 40em){.p-college__header{padding:8.33333rem 0 15.27778rem}}.p-college__divider{border:0;max-width:100%;width:100%;height:8px;background-color:#e51717;margin:0.5rem 0 2rem}.p-college .page-header__description{color:#666;font-size:150%;max-width:48.61111rem}@media screen and (max-width: 39.9375em){.p-college .page-header__description{font-size:120%}}.p-college .uc{font-size:260%}@media screen and (min-width: 40em){.p-college .uc{font-size:400%}}.p-college__what-title{margin-bottom:2rem}@media screen and (max-width: 39.9375em){.p-college__what-title{font-size:180%}}@media screen and (max-width: 39.9375em){.p-college blockquote{margin-top:4rem}}@media screen and (max-width: 39.9375em){.p-college__locations{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%;padding-right:.69444rem;padding-left:.69444rem;max-width:91.66667%;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}}@media screen and (max-width: 39.9375em) and (min-width: 40em){.p-college__locations{padding-right:1.04167rem;padding-left:1.04167rem}}.p-college__locations ul{list-style-type:none;padding:0;margin:2rem 0 0}.p-college__locations li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:1rem 1rem 1rem 0}.p-college__locations li+li{border-top:2px solid rgba(0,0,0,0.02)}.p-college__locations .photo{min-width:11.11111rem;height:6.25rem;background-position:center;background-repeat:no-repeat;background-size:cover;border-radius:4px;float:left;margin-right:1.04167rem}@media screen and (max-width: 39.9375em){.p-college__locations .photo{min-width:6.94444rem}}.p-college__locations strong{font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:125%}.p-college__locations p{font-size:95%;margin:0}@media screen and (max-width: 39.9375em){.p-college .list-box{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%;padding-right:.69444rem;padding-left:.69444rem;max-width:91.66667%;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;margin-bottom:4rem}}@media screen and (max-width: 39.9375em) and (min-width: 40em){.p-college .list-box{padding-right:1.04167rem;padding-left:1.04167rem}}.p-easter__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:300px;background-color:#222222;background:url("/assets/images/easter-hero.jpg") no-repeat center;background-size:cover}@media all and (max-width: 500px){.p-easter__header{height:200px}}.p-easter__header .promo{width:90%;max-width:600px;margin-bottom:-10rem}.p-easter__header .promo .responsive-embed{-webkit-box-shadow:0 0 30px 10px rgba(0,0,0,0.3);box-shadow:0 0 30px 10px rgba(0,0,0,0.3)}.p-easter__details{padding:120px 10px 0;text-align:center}.p-easter__details h2{font-size:34px}.p-easter__details h3{font-size:22px;color:#111}@media all and (max-width: 800px){.p-easter__details h3{font-size:22px;margin-bottom:20px;max-width:300px;margin:0 auto 40px}}.p-easter__details p{font-size:110%;max-width:500px;margin:0 auto 3rem}.p-easter__details .times{background-color:#e7e7e7;padding:60px 0}.p-easter__details .online-links{margin-top:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media all and (max-width: 1080px){.p-easter__details .online-links{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}}.p-easter__details .online-link{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px 40px}.p-easter__details .online-link svg{display:inline-block;width:40px;margin-right:10px}.p-easter__details .online-link span{font-family:'GothamHTFMedium';color:#111;font-size:18px}.p-fasting main{display:-webkit-box;display:-ms-flexbox;display:flex;width:90%;max-width:1200px;min-height:100vh;margin:0 auto;padding:3rem 0;background-color:white}@media all and (max-width: 710px){.p-fasting main{-ms-flex-wrap:wrap;flex-wrap:wrap}}.p-fasting aside{-webkit-box-flex:0;-ms-flex:0 0 400px;flex:0 0 400px;padding:30px}@media all and (max-width: 1050px){.p-fasting aside{-webkit-box-flex:0;-ms-flex:0 0 250px;flex:0 0 250px}}@media all and (max-width: 710px){.p-fasting aside{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;padding:0 0 30px 0}}.p-fasting aside h1{line-height:1.2}.p-fasting aside strong{font-size:20px}.p-fasting>div{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:2rem 5rem 0}@media all and (max-width: 1050px){.p-fasting>div{padding:1rem 3rem 0}}@media all and (max-width: 500px){.p-fasting>div{padding:2rem 0.5rem 0}}.p-fasting section{margin-bottom:4rem}.p-fasting h2{font-size:2rem}@media all and (max-width: 500px){.p-fasting h2{font-size:1.8rem}}.p-fasting p{font-size:1.2rem}@media all and (max-width: 500px){.p-fasting p{font-size:1.1rem}}.p-fasting h3{margin-bottom:2rem;font-size:1.6rem}@media all and (max-width: 500px){.p-fasting h3{font-size:1.5rem}}.p-fasting h3+ul li{font-size:140%;margin-bottom:1rem}.p-flourish{background-color:#222}.p-flourish .hero{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-top:60px}.p-flourish .teaser{width:100%;max-width:800px;margin:0 auto -80px}.p-flourish .responsive-embed{background-color:#111;padding-bottom:43.25%;margin-bottom:0}.p-flourish .section{padding:100px 0}.p-flourish .description{color:#f0f0f0;width:90%;max-width:750px;margin:10px auto 20px}@media all and (max-width: 600px){.p-flourish .description{text-align:left !important}}.p-flourish .button{margin:1rem 0;margin-bottom:2rem;color:white;border-radius:0;font-size:120%}.p-flourish .button.primary{background-color:#b54c54}.p-flourish .button.primary:hover{background-color:#8c3a41}.p-flourish .button.white:hover{background-color:rgba(255,255,255,0.2)}.p-flourish .hashtag{display:block;font-size:36px;color:#d7c1b4;font-family:'GothamHTFLight'}.p-flourish .images{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2em 2em;width:90%;margin:20px auto 0;max-width:800px}.p-flourish .images img{width:100%}.p-give__header{background-image:url(/assets/images/photo.jpg)}.p-give__header .page-header__description{margin-bottom:2rem}.p-give__form{padding-top:2rem;background-color:white;text-align:center}@media screen and (max-width: 39.9375em){.p-give__form{padding-top:1rem;padding-bottom:4rem}}.p-give__text-to-give{position:relative;z-index:1;margin-bottom:4rem;padding:2rem 0;background-color:#f5f5f5}@media screen and (max-width: 39.9375em){.p-give__text-to-give{padding-top:4rem}}.p-give__text-to-give h4,.p-give__text-to-give p{width:90%;margin:0 auto}.p-give__text-to-give h4{margin-bottom:10px}@media screen and (max-width: 39.9375em){.p-give__text-to-give h4{font-size:22px}}.p-give__text-to-give img{width:180px;margin-top:-60px;margin-bottom:-40px}@media screen and (max-width: 39.9375em){.p-give__text-to-give img{width:120px;margin:0}}.p-give__image{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;padding-right:.69444rem;padding-left:.69444rem;margin-left:-100px}@media print, screen and (min-width: 40em){.p-give__image{padding-right:1.04167rem;padding-left:1.04167rem}}@media screen and (max-width: 39.9375em){.p-give__image{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;margin:0}}@media screen and (max-width: 39.9375em) and (min-width: 40em){.p-give__image{padding-right:1.04167rem;padding-left:1.04167rem}}.computer .p-give__image{margin-left:-400px}@media screen and (min-width: 65.625em){.computer .p-give__image{margin-left:-150px}}.computer .p-give__image img{width:41.66667rem;-webkit-transform:translateX(160px);-ms-transform:translateX(160px);transform:translateX(160px)}@media screen and (max-width: 39.9375em){.computer .p-give__image img{display:block;width:90%;-webkit-transform:translateY(30px);-ms-transform:translateY(30px);transform:translateY(30px);margin:0 auto}}@media screen and (max-width: 39.9375em){.computer .p-give__image{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;margin:0}}@media screen and (max-width: 39.9375em) and (min-width: 40em){.computer .p-give__image{padding-right:1.04167rem;padding-left:1.04167rem}}.phone .p-give__image{margin-right:0}@media screen and (min-width: 65.625em){.phone .p-give__image{margin-right:6.94444rem}}.phone .p-give__image img{width:15.27778rem;-webkit-transform:translateX(-100px);-ms-transform:translateX(-100px);transform:translateX(-100px)}@media screen and (max-width: 39.9375em){.phone .p-give__image img{display:block;width:50%;margin:-8.33333rem auto 0;-webkit-transform:none;-ms-transform:none;transform:none}}@media screen and (max-width: 39.9375em){.phone .p-give__image{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;margin:0}}@media screen and (max-width: 39.9375em) and (min-width: 40em){.phone .p-give__image{padding-right:1.04167rem;padding-left:1.04167rem}}.p-give__content{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px;padding-right:.69444rem;padding-left:.69444rem;min-width:initial;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#f5f5f5}@media print, screen and (min-width: 40em){.p-give__content{padding-right:1.04167rem;padding-left:1.04167rem}}.computer .p-give__content div{padding:5rem 5rem 5rem 10rem}@media screen and (max-width: 39.9375em){.computer .p-give__content div{text-align:center;padding:4rem 0.5rem 4rem}}.phone .p-give__content div{float:right;padding:5rem 20rem 5rem 5rem}@media screen and (max-width: 39.9375em){.phone .p-give__content div{text-align:center;padding:4rem 0.5rem 10rem}}.p-give__content p{width:90%;max-width:34.72222rem;margin:0}@media screen and (max-width: 39.9375em){.p-give__content p{margin:0 auto}}.p-give__content strong{font-size:120%}@media screen and (max-width: 39.9375em){.p-give__content strong{font-size:110%}}.p-give__content .button{margin:0}.p-give__message{margin-top:8rem}@media screen and (max-width: 39.9375em){.p-give__message{margin-top:2rem}}.p-give__message .row{max-width:69.44444rem;margin-bottom:5rem}.p-give__message-title{margin-bottom:2rem}@media screen and (min-width: 40em) and (max-width: 63.9375em){.p-give__message-title{font-size:180%}}@media screen and (max-width: 39.9375em){.p-give__message-title{font-size:140%}}.p-give__message .plyr{-webkit-box-shadow:0px 2px 6px rgba(0,0,0,0.04);box-shadow:0px 2px 6px rgba(0,0,0,0.04);margin-bottom:-1rem}@media screen and (max-width: 39.9375em){.p-give__message .plyr{margin-bottom:-4rem}}.p-give__message .text-section{width:90%;margin:0 auto}.p-give__disclaimer{width:90%;max-width:38.19444rem;margin:6rem auto;font-size:85%;text-align:center;opacity:0.6}.p-give .giving-message{margin-top:-22rem}.p-give .column,.p-give .columns{margin-bottom:2rem}@media print, screen and (min-width: 64em){.p-give .column,.p-give .columns{margin-bottom:0}}.p-home .latest-message{padding-top:0rem !important;padding-bottom:3rem}@media print, screen and (min-width: 40em){.p-home .latest-message{padding:4rem 0 4rem !important}}@media print, screen and (min-width: 64em){.p-home .latest-message{padding:6rem 0 7rem !important}}.p-home .latest-message-container{max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:95%}.p-home .latest-message-details{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%;padding-right:.69444rem;padding-left:.69444rem;max-width:91.66667%;padding-left:0 !important;padding-right:5rem !important}@media print, screen and (min-width: 40em){.p-home .latest-message-details{padding-right:1.04167rem;padding-left:1.04167rem}}@media screen and (max-width: 39.9375em){.p-home .latest-message-details{padding-top:2rem;padding-right:0 !important}}@media screen and (min-width: 64.375em){.p-home .latest-message-details{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%;padding-right:.69444rem;padding-left:.69444rem;max-width:50%}}@media screen and (min-width: 64.375em) and (min-width: 40em){.p-home .latest-message-details{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 64em){.p-home .latest-message-details{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%;padding-right:.69444rem;padding-left:.69444rem;max-width:58.33333%}}@media print, screen and (min-width: 64em) and (min-width: 40em){.p-home .latest-message-details{padding-right:1.04167rem;padding-left:1.04167rem}}.p-home .latest-message-details .w-title-line{margin-bottom:1rem;font-size:150%}.p-home .latest-message-details .button.large{margin-bottom:0}.p-home .latest-message__title{display:block;font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:200%;color:white;line-height:1.2}@media print, screen and (min-width: 40em){.p-home .latest-message__title{font-size:250%}}@media print, screen and (min-width: 64em){.p-home .latest-message__title{font-size:300%}}.p-home .latest-message__desc{color:#dadada;font-size:110%;margin:1.5rem 0}@media print, screen and (min-width: 40em){.p-home .latest-message__desc{font-size:130%}}@media print, screen and (min-width: 64em){.p-home .latest-message__desc{margin:1.5rem 0 2.5rem}}.p-home .latest-message .button{margin-right:1.38889rem}.p-home .latest-message .open-link{display:block}@media screen and (min-width: 37.5em){.p-home .latest-message .open-link{display:inline-block}}@media screen and (max-width: 39.9375em){.p-home .latest-message .open-link{margin-top:0.5rem}}.p-home .latest-message .open-link .flaticon{margin:.13889rem 0 0 .69444rem}.p-home .latest-message-artwork{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%;padding-right:.69444rem;padding-left:.69444rem;max-width:91.66667%;padding:0 !important;min-height:13.88889rem;width:100%;position:relative;margin-top:1rem}@media print, screen and (min-width: 40em){.p-home .latest-message-artwork{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 40em){.p-home .latest-message-artwork{min-height:17.36111rem;margin-top:2rem}}@media screen and (min-width: 64.375em){.p-home .latest-message-artwork{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%;padding-right:.69444rem;padding-left:.69444rem;max-width:50%;min-height:auto}}@media screen and (min-width: 64.375em) and (min-width: 40em){.p-home .latest-message-artwork{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 64em){.p-home .latest-message-artwork{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%;padding-right:.69444rem;padding-left:.69444rem;max-width:41.66667%;margin-top:0}}@media print, screen and (min-width: 64em) and (min-width: 40em){.p-home .latest-message-artwork{padding-right:1.04167rem;padding-left:1.04167rem}}.p-home .latest-message-artwork div{position:absolute;top:0;left:0;width:100%;height:100%;background-repeat:no-repeat;background-position:center;background-size:cover;border-radius:4px}.p-home .news{padding:3rem 0}@media print, screen and (min-width: 40em){.p-home .news{padding:4rem 0 6rem}}.p-home .news-1,.p-home .news-2{max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:95%;max-width:95%}.p-home .news-1 .news-item,.p-home .news-2 .news-item{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%;max-width:100%;border-radius:8px;padding:1rem !important;-webkit-transition:all 0.2s ease;-o-transition:all 0.2s ease;transition:all 0.2s ease}@media print, screen and (min-width: 40em){.p-home .news-1 .news-item,.p-home .news-2 .news-item{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 40em){.p-home .news-1 .news-item,.p-home .news-2 .news-item{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%;padding-right:.69444rem;padding-left:.69444rem;max-width:50%}}@media print, screen and (min-width: 40em) and (min-width: 40em){.p-home .news-1 .news-item,.p-home .news-2 .news-item{padding-right:1.04167rem;padding-left:1.04167rem}}.p-home .news-1 .news-item:hover,.p-home .news-2 .news-item:hover{background-color:white;-webkit-box-shadow:0px 2px 8px rgba(0,0,0,0.02);box-shadow:0px 2px 8px rgba(0,0,0,0.02)}.p-home .news-1 .news-item div:first-child,.p-home .news-2 .news-item div:first-child{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;background-repeat:no-repeat;background-size:cover;background-position:center;border-radius:4px;min-height:10.41667rem}@media print, screen and (min-width: 40em){.p-home .news-1 .news-item div:first-child,.p-home .news-2 .news-item div:first-child{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 64em){.p-home .news-1 .news-item div:first-child,.p-home .news-2 .news-item div:first-child{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%;padding-right:.69444rem;padding-left:.69444rem;max-width:50%}}@media print, screen and (min-width: 64em) and (min-width: 40em){.p-home .news-1 .news-item div:first-child,.p-home .news-2 .news-item div:first-child{padding-right:1.04167rem;padding-left:1.04167rem}}.p-home .news-1 .news-item div:nth-child(2),.p-home .news-2 .news-item div:nth-child(2){-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;padding:1.5rem 0.5rem 1rem !important}@media print, screen and (min-width: 40em){.p-home .news-1 .news-item div:nth-child(2),.p-home .news-2 .news-item div:nth-child(2){padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 64em){.p-home .news-1 .news-item div:nth-child(2),.p-home .news-2 .news-item div:nth-child(2){-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%;padding-right:.69444rem;padding-left:.69444rem;max-width:50%;padding:2rem 0 2rem 1.5rem !important}}@media print, screen and (min-width: 64em) and (min-width: 40em){.p-home .news-1 .news-item div:nth-child(2),.p-home .news-2 .news-item div:nth-child(2){padding-right:1.04167rem;padding-left:1.04167rem}}.p-home .news-3{max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:95%;max-width:95%}.p-home .news-3 .news-item{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%;max-width:100%;border-radius:8px;padding:1rem !important;-webkit-transition:all 0.2s ease;-o-transition:all 0.2s ease;transition:all 0.2s ease}@media print, screen and (min-width: 40em){.p-home .news-3 .news-item{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 40em){.p-home .news-3 .news-item{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%;padding-right:.69444rem;padding-left:.69444rem;max-width:33.33333%}}@media print, screen and (min-width: 40em) and (min-width: 40em){.p-home .news-3 .news-item{padding-right:1.04167rem;padding-left:1.04167rem}}.p-home .news-3 .news-item:hover{background-color:white;-webkit-box-shadow:0px 2px 8px rgba(0,0,0,0.02);box-shadow:0px 2px 8px rgba(0,0,0,0.02)}.p-home .news-3 .news-item div:first-child{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;background-repeat:no-repeat;background-size:cover;background-position:center;border-radius:4px;min-height:10.41667rem}@media print, screen and (min-width: 40em){.p-home .news-3 .news-item div:first-child{padding-right:1.04167rem;padding-left:1.04167rem}}.p-home .news-3 .news-item div:nth-child(2){-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;padding:1.5rem 0.5rem 1rem !important}@media print, screen and (min-width: 40em){.p-home .news-3 .news-item div:nth-child(2){padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 64em){.p-home .news-3 .news-item div:nth-child(2){padding:2rem 0 !important}}.p-home .news-4{max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:98%;max-width:98%}.p-home .news-4 .news-item{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%;max-width:100%;border-radius:8px;padding:1rem !important;-webkit-transition:all 0.2s ease;-o-transition:all 0.2s ease;transition:all 0.2s ease}@media print, screen and (min-width: 40em){.p-home .news-4 .news-item{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 40em){.p-home .news-4 .news-item{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%;padding-right:.69444rem;padding-left:.69444rem;max-width:50%}}@media print, screen and (min-width: 40em) and (min-width: 40em){.p-home .news-4 .news-item{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 64em){.p-home .news-4 .news-item{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%;padding-right:.69444rem;padding-left:.69444rem;max-width:25%}}@media print, screen and (min-width: 64em) and (min-width: 40em){.p-home .news-4 .news-item{padding-right:1.04167rem;padding-left:1.04167rem}}.p-home .news-4 .news-item:hover{background-color:white;-webkit-box-shadow:0px 2px 8px rgba(0,0,0,0.02);box-shadow:0px 2px 8px rgba(0,0,0,0.02)}.p-home .news-4 .news-item div:first-child{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;background-repeat:no-repeat;background-size:cover;background-position:center;border-radius:4px;min-height:10.41667rem}@media print, screen and (min-width: 40em){.p-home .news-4 .news-item div:first-child{padding-right:1.04167rem;padding-left:1.04167rem}}.p-home .news-4 .news-item div:nth-child(2){-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;padding:1.5rem 0.5rem 1rem !important}@media print, screen and (min-width: 40em){.p-home .news-4 .news-item div:nth-child(2){padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 64em){.p-home .news-4 .news-item div:nth-child(2){padding:2rem 0 0.5rem !important}}.p-home .text-news-item{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;text-align:center;margin-top:3rem;padding:3rem 1rem 0;border-top:2px solid rgba(0,0,0,0.02)}@media print, screen and (min-width: 40em){.p-home .text-news-item{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 40em){.p-home .text-news-item{padding:3rem 4rem 0}}.p-home .text-news-item p{font-size:140%}.p-home .news-title{font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:120%}.p-home .news-desc p{margin:0.5rem 0 0;color:#555}@media screen and (max-width: 39.9375em){.p-home .news-desc p{font-size:90%}}.p-home .locations,.p-home .groups{position:relative;text-align:center}.p-home .locations::before,.p-home .groups::before{content:"";position:absolute;z-index:-1;opacity:0.5;top:0;bottom:-5%;left:0;right:0;background-position:center;background-repeat:no-repeat;background-size:cover}.p-home .locations::before{background-image:url("https://api.mapbox.com/styles/v1/freshlifechurch/cixw6a46l00292sn0q7lg9h8x/static/-112.844096,42.713944,4.31,0.16,56.50/750x400?access_token=pk.eyJ1IjoiZnJlc2hsaWZlY2h1cmNoIiwiYSI6ImZOMEhTRUkifQ.tMs4YVHcjFKnwDrRxEssJw")}.p-home .groups::before{background-image:url(/assets/images/groups.jpg);opacity:0.4}.p-home .luskos{padding:6rem 0 4rem}@media screen and (max-width: 39.9375em){.p-home .luskos{padding-top:1rem;padding-bottom:0}}.p-home .luskos img{width:100%;border-radius:4px}@media screen and (max-width: 39.9375em){.p-home .luskos img{margin-bottom:1rem}}.p-home .crash-course{padding-top:4rem}@media screen and (max-width: 39.9375em){.p-home .crash-course{padding-top:3rem}}.p-impactconf__header{display:-webkit-box;display:-ms-flexbox;display:flex}@media all and (max-width: 700px){.p-impactconf__header{display:block}}.p-impactconf__header div{width:50%}@media all and (max-width: 700px){.p-impactconf__header div{width:100%}}.p-impactconf__header img{width:100%}.p-impactconf__details{position:relative;background-color:#171717;padding:50px 0 240px;font-family:'FreshLifeSans', sans-serif;text-align:center}.p-impactconf__details h2{margin-bottom:60px;font-size:250%;font-weight:bold;color:white}.p-impactconf__details:before{content:"";position:absolute;height:200px;top:0;width:100%;left:0;opacity:0.2;background:-webkit-gradient(linear, left top, right top, from(#fff200), color-stop(20%, #fff200), color-stop(20%, #f7941d), color-stop(40%, #f7941d), color-stop(40%, #ed2024), color-stop(60%, #ed2024), color-stop(60%, #0072bc), color-stop(80%, #0072bc), color-stop(80%, #f4f2e8), to(#f4f2e8));background:-o-linear-gradient(left, #fff200 0%, #fff200 20%, #f7941d 20%, #f7941d 40%, #ed2024 40%, #ed2024 60%, #0072bc 60%, #0072bc 80%, #f4f2e8 80%, #f4f2e8 100%);background:linear-gradient(to right, #fff200 0%, #fff200 20%, #f7941d 20%, #f7941d 40%, #ed2024 40%, #ed2024 60%, #0072bc 60%, #0072bc 80%, #f4f2e8 80%, #f4f2e8 100%)}.p-impactconf__details:after{content:"";position:absolute;height:40px;bottom:0;width:100%;left:0;opacity:0.2;background:-webkit-gradient(linear, left top, right top, from(#fff200), color-stop(20%, #fff200), color-stop(20%, #f7941d), color-stop(40%, #f7941d), color-stop(40%, #ed2024), color-stop(60%, #ed2024), color-stop(60%, #0072bc), color-stop(80%, #0072bc), color-stop(80%, #f4f2e8), to(#f4f2e8));background:-o-linear-gradient(left, #fff200 0%, #fff200 20%, #f7941d 20%, #f7941d 40%, #ed2024 40%, #ed2024 60%, #0072bc 60%, #0072bc 80%, #f4f2e8 80%, #f4f2e8 100%);background:linear-gradient(to right, #fff200 0%, #fff200 20%, #f7941d 20%, #f7941d 40%, #ed2024 40%, #ed2024 60%, #0072bc 60%, #0072bc 80%, #f4f2e8 80%, #f4f2e8 100%)}.p-impactconf__button{display:inline-block;position:relative;background-color:white;font-size:200%;padding:20px 80px;margin:0 0 120px;color:#171717;font-weight:900}@media all and (max-width: 500px){.p-impactconf__button{padding:20px 40px;font-size:180%}}.p-impactconf__button:hover{color:white;background-color:#0072bc}.p-impactconf__button:after{content:"";position:absolute;height:10px;top:100%;width:100%;left:0;background:-webkit-gradient(linear, left top, right top, from(#fff200), color-stop(20%, #fff200), color-stop(20%, #f7941d), color-stop(40%, #f7941d), color-stop(40%, #ed2024), color-stop(60%, #ed2024), color-stop(60%, #0072bc), color-stop(80%, #0072bc), color-stop(80%, #f4f2e8), to(#f4f2e8));background:-o-linear-gradient(left, #fff200 0%, #fff200 20%, #f7941d 20%, #f7941d 40%, #ed2024 40%, #ed2024 60%, #0072bc 60%, #0072bc 80%, #f4f2e8 80%, #f4f2e8 100%);background:linear-gradient(to right, #fff200 0%, #fff200 20%, #f7941d 20%, #f7941d 40%, #ed2024 40%, #ed2024 60%, #0072bc 60%, #0072bc 80%, #f4f2e8 80%, #f4f2e8 100%)}.p-impactconf__locations{display:grid;max-width:1000px;margin:0 auto;grid-template-columns:repeat(3, 1fr);grid-gap:5%}@media all and (max-width: 900px){.p-impactconf__locations{grid-template-columns:1fr 1fr}}@media all and (max-width: 500px){.p-impactconf__locations{grid-template-columns:1fr;grid-gap:40px}}.p-impactconf__locations div{color:white}.p-impactconf__locations div strong{font-weight:bold;font-size:150%;color:white}.p-impactconf__locations div p{font-size:120%;color:#cbcbcb;margin:0}.p-kickstart__header{background-image:url(/assets/images/photo.jpg);padding-bottom:3rem}.p-kickstart__title{font-size:280%;color:white;margin:0 0 1rem}@media screen and (max-width: 39.9375em){.p-kids h4{font-size:140%}.p-kids h5{font-size:120%}}.p-kids__images{margin:10px;text-align:center}.p-kids__images img{display:inline-block;width:49%}.p-kids__images img:last-child{display:none}@media screen and (min-width: 56.5625em){.p-kids__images{margin:20px}.p-kids__images img{width:calc(33%);padding:0 10px}.p-kids__images img:last-child{display:inline-block}}.p-kids__header{background-image:url("/assets/images/kids-bg.jpg");background-position:left center}.p-kids__header .page-header__description{font-size:140%;font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;max-width:34.72222rem;line-height:1.4}.p-kids ul li{font-size:105%;line-height:1.8;margin-bottom:1rem}.p-kids ul li>ul{margin:1rem 2rem}.p-kids ul li>ul li{margin-bottom:0.2rem}.p-kids__policies{padding:4rem 0 6rem}@media screen and (max-width: 39.9375em){.p-kids__policies{padding:3rem 0 4rem}}.p-kids__positions{background-color:white;padding-top:6rem}@media screen and (max-width: 39.9375em){.p-kids__positions{padding-top:4rem}}.p-kids__positions h3{text-align:center;margin-bottom:4rem}.p-kids__positions .column,.p-kids__positions .columns{margin-bottom:2rem}.p-kids__positions strong{color:#e51717;font-size:140%}.p-knowgod .plyr{position:relative;z-index:10}.p-knowgod .how-to{padding:9rem 0 4rem}@media screen and (max-width: 39.9375em){.p-knowgod .how-to{padding:6rem 0 3rem;text-align:center}.p-knowgod .how-to p{margin:0 auto 3rem}}.p-knowgod .what-now{padding:8rem 0}@media screen and (max-width: 39.9375em){.p-knowgod .what-now{padding:4rem 0}.p-knowgod .what-now .column:first-child,.p-knowgod .what-now .columns:first-child{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.p-knowgod .what-now .column:last-child,.p-knowgod .what-now .columns:last-child{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media screen and (max-width: 39.9375em){.p-knowgod blockquote{margin-bottom:4rem}}.p-knowgod .decision-box{position:relative;z-index:2;margin:-2rem auto 0;text-align:center}@media screen and (max-width: 39.9375em){.p-knowgod .decision-box{padding:1.25rem 0 0.5rem}}.p-knowgod .decision-box .button{padding:1.5rem 5rem;margin:0 0 -2.2rem;font-size:150%;-webkit-box-shadow:0px 2px 4px rgba(0,0,0,0.1);box-shadow:0px 2px 4px rgba(0,0,0,0.1)}@media screen and (max-width: 39.9375em){.p-knowgod .decision-box .button{padding:1rem 3rem;font-size:140%}}.p-knowgod .four-things{position:relative;z-index:1;padding:12rem 0;-webkit-box-shadow:0px -4px 14px rgba(0,0,0,0.02);box-shadow:0px -4px 14px rgba(0,0,0,0.02)}@media screen and (max-width: 39.9375em){.p-knowgod .four-things{padding:6rem 0 4rem}}.p-knowgod .four-things-wrapper{max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;max-width:90%}.p-knowgod .four-things-header{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;text-align:center}@media print, screen and (min-width: 40em){.p-knowgod .four-things-header{padding-right:1.04167rem;padding-left:1.04167rem}}.p-knowgod .four-things-header h6{font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:#222;font-size:140%;line-height:1.6;margin-bottom:4rem}@media print, screen and (min-width: 40em){.p-knowgod .four-things-header h6{font-size:180%;margin-bottom:5rem}}@media print, screen and (min-width: 64em){.p-knowgod .four-things-header h6{font-size:200%;margin-bottom:6rem}}.p-knowgod .four-things-header em{font-style:normal}.p-knowgod .four-things-list{max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;max-width:100%;list-style-type:none;padding:0;margin:0 0 0}@media print, screen and (min-width: 40em){.p-knowgod .four-things-list{padding-right:1.04167rem;padding-left:1.04167rem}}.p-knowgod .four-things-list__item{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;margin-bottom:3rem;text-align:center}@media print, screen and (min-width: 40em){.p-knowgod .four-things-list__item{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 40em){.p-knowgod .four-things-list__item{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%;padding-right:.69444rem;padding-left:.69444rem;max-width:50%}}@media print, screen and (min-width: 40em) and (min-width: 40em){.p-knowgod .four-things-list__item{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 64em){.p-knowgod .four-things-list__item{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%;padding-right:.69444rem;padding-left:.69444rem;max-width:25%;margin-bottom:0}}@media print, screen and (min-width: 64em) and (min-width: 40em){.p-knowgod .four-things-list__item{padding-right:1.04167rem;padding-left:1.04167rem}}.p-knowgod .four-things-list__letter{position:relative;display:inline-block;color:#e51717;font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.p-knowgod .four-things-list__letter::before{content:"";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:2.77778rem;height:2.77778rem;border:2px solid #e51717;border-radius:1.38889rem}.p-knowgod .four-things-list__title{display:block;font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:#333;font-size:120%;margin:2rem 0 0.5rem}.p-knowgod .four-things-list__desc{max-width:19.44444rem;margin:0 auto;font-size:105%}@media screen and (max-width: 39.9375em){.p-knowgod .story .row{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center !important}.p-knowgod .story .column,.p-knowgod .story .columns{margin-left:0%;-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%;padding-right:.69444rem;padding-left:.69444rem;max-width:91.66667%}}@media screen and (max-width: 39.9375em) and (min-width: 40em){.p-knowgod .story .column,.p-knowgod .story .columns{padding-right:1.04167rem;padding-left:1.04167rem}}@media screen and (max-width: 39.9375em){.p-knowgod .story p{font-size:105%;line-height:1.6}.p-knowgod .story .button{margin:1rem auto 0}}.p-launch__header{background:url(/assets/images/campus-launch-bg.jpg) no-repeat center;background-size:cover}.p-launch__header strong{color:white}.p-launch__header .page-header__description{max-width:45rem}.p-locations .campuses-header{margin-bottom:2rem}@media screen and (max-width: 39.9375em){.p-locations .campuses-header .column,.p-locations .campuses-header .columns{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;text-align:center}}@media screen and (max-width: 39.9375em) and (min-width: 40em){.p-locations .campuses-header .column,.p-locations .campuses-header .columns{padding-right:1.04167rem;padding-left:1.04167rem}}.p-locations .instructions{font-family:"GothamHTFMedium","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;opacity:0.5}.p-locations .instructions .flaticon{display:inline-block;margin-right:.34722rem;-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.p-locations .campuses{padding:5rem 0}@media screen and (max-width: 39.9375em){.p-locations .campuses{padding:3rem 0}}.p-locations .campuses>.row{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media print, screen and (min-width: 40em){.p-locations .campuses>.row{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}.p-locations .image-card{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%;padding-right:.69444rem;padding-left:.69444rem;max-width:91.66667%;text-align:center;margin-bottom:0.25rem}@media print, screen and (min-width: 40em){.p-locations .image-card{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 40em){.p-locations .image-card{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%;padding-right:.69444rem;padding-left:.69444rem;max-width:50%;margin-bottom:2rem}}@media print, screen and (min-width: 40em) and (min-width: 40em){.p-locations .image-card{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 64em){.p-locations .image-card{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%;padding-right:.69444rem;padding-left:.69444rem;max-width:33.33333%}}@media print, screen and (min-width: 64em) and (min-width: 40em){.p-locations .image-card{padding-right:1.04167rem;padding-left:1.04167rem}}.p-locations .page-section:not(.campuses){padding-bottom:2rem}.p-locations .network-sites{text-align:center;padding-top:5rem;padding-bottom:3rem}@media screen and (max-width: 39.9375em){.p-locations .network-sites{padding-bottom:1rem}}@media screen and (max-width: 39.9375em){.p-locations .network-sites__header{font-size:180%}}.p-locations .network-site{position:relative;display:inline-block;padding:3rem 4rem 2rem;margin:1rem 1rem 3rem;background-color:#f5f5f5;-webkit-box-shadow:0px 1px 4px rgba(0,0,0,0.1);box-shadow:0px 1px 4px rgba(0,0,0,0.1)}.p-locations .network-site__icon{position:absolute;top:-3.125rem;left:50%;font-size:350%;color:#e51717;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.p-locations .network-site__city{margin:0 0 -0.4rem}.p-locations .network-site__state{display:block;font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:120%;color:#999;margin-bottom:1rem}.p-message__header{padding-bottom:4rem}@media print, screen and (min-width: 40em){.p-message__header{padding-bottom:5rem}}@media print, screen and (min-width: 40em){.p-message__header{padding-bottom:6rem}}.p-message__share{width:90%;max-width:1000px;margin:-2.43056rem auto 0}@media print, screen and (min-width: 40em){.p-message__share{margin:-2.08333rem auto 0}}@media print, screen and (min-width: 64em){.p-message__share{margin:-3.47222rem auto 0}}.p-message__share .share-nav{background-color:white;padding:0.5rem 0}@media print, screen and (min-width: 40em){.p-message__share .share-nav{padding:1.5rem 1rem}}@media print, screen and (min-width: 64em){.p-message__share .share-nav{padding:1.5rem 2rem}}.p-message__details{max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:69.44444rem;margin-top:3rem;padding-bottom:2.77778rem}@media print, screen and (min-width: 40em){.p-message__details{padding-bottom:4.86111rem}}@media print, screen and (min-width: 40em){.p-message__details{padding-bottom:6.94444rem}}.p-message__details>div+div{padding-top:3rem}@media print, screen and (min-width: 40em){.p-message__details>div+div{padding-top:0;padding-left:2rem}}@media print, screen and (min-width: 64em){.p-message__details>div+div{padding-left:4rem}}.p-message__description{font-size:120%}.p-message__description+.section-label{margin-top:2rem}@media screen and (max-width: 39.9375em){.p-messages .page-header img{margin-bottom:2rem}}@media screen and (max-width: 39.9375em){.p-messages .page-header .subheader{font-size:120%}}.p-messages #latestArchiveHeader .column:nth-of-type(2) *,.p-messages #latestArchiveHeader .columns:nth-of-type(2) *{margin-left:0;color:white}@media print, screen and (min-width: 40em){.p-messages #latestArchiveHeader .column:nth-of-type(2) *,.p-messages #latestArchiveHeader .columns:nth-of-type(2) *{margin-left:1.5rem}}@media print, screen and (min-width: 64em){.p-messages #latestArchiveHeader .column:nth-of-type(2) *,.p-messages #latestArchiveHeader .columns:nth-of-type(2) *{margin-left:3rem}}.p-messages #latestArchiveHeader .column:nth-of-type(2) .subheader,.p-messages #latestArchiveHeader .columns:nth-of-type(2) .subheader{margin-bottom:0;opacity:0.5}.p-messages #latestArchiveHeader .column:nth-of-type(2) p,.p-messages #latestArchiveHeader .columns:nth-of-type(2) p{font-size:120%;color:#b5b5b5}.p-messages #archivesGrid{max-width:83.33333rem;margin-right:auto;margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.p-messages #archivesGrid>.column,.p-messages #archivesGrid>.columns{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}@media screen and (max-width: 39.9375em){.p-messages #archivesGrid{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.p-messages #archivesGrid .image-card{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%;padding-right:.69444rem;padding-left:.69444rem;max-width:91.66667%}@media print, screen and (min-width: 40em){.p-messages #archivesGrid .image-card{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 40em){.p-messages #archivesGrid .image-card{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%;padding-right:.69444rem;padding-left:.69444rem;max-width:50%}}@media print, screen and (min-width: 40em) and (min-width: 40em){.p-messages #archivesGrid .image-card{padding-right:1.04167rem;padding-left:1.04167rem}}@media print, screen and (min-width: 64em){.p-messages #archivesGrid .image-card{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%;padding-right:.69444rem;padding-left:.69444rem;max-width:33.33333%}}@media print, screen and (min-width: 64em) and (min-width: 40em){.p-messages #archivesGrid .image-card{padding-right:1.04167rem;padding-left:1.04167rem}}@-webkit-keyframes loading-opacity{0%{opacity:1}50%{opacity:0.8}100%{opacity:1}}@keyframes loading-opacity{0%{opacity:1}50%{opacity:0.8}100%{opacity:1}}@-webkit-keyframes loading-scale{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}25%{-webkit-transform:scaleX(0.6);transform:scaleX(0.6)}40%{-webkit-transform:scaleX(0.75);transform:scaleX(0.75)}80%{-webkit-transform:scaleX(0.4);transform:scaleX(0.4)}100%{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes loading-scale{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}25%{-webkit-transform:scaleX(0.6);transform:scaleX(0.6)}40%{-webkit-transform:scaleX(0.75);transform:scaleX(0.75)}80%{-webkit-transform:scaleX(0.4);transform:scaleX(0.4)}100%{-webkit-transform:scaleX(1);transform:scaleX(1)}}.p-messages #archivesGrid svg{-webkit-animation:loading-opacity 2s ease infinite;animation:loading-opacity 2s ease infinite}.p-messages #archivesGrid #Rectangle-3,.p-messages #archivesGrid #Rectangle-4{-webkit-animation:loading-scale 3s ease infinite;animation:loading-scale 3s ease infinite}.p-nightout .background{position:relative;z-index:1;background-color:#72505c}.p-nightout .background::before{content:'';position:absolute;z-index:2;right:65vw;width:100%;height:100%;background:url(/assets/images/nightout/hero.jpg) no-repeat top right;background-size:cover}@media all and (max-width: 1020px){.p-nightout .background::before{right:75vw}}@media all and (max-width: 700px){.p-nightout .background::before{display:none}}.p-nightout .wrapper{position:relative;z-index:3;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:900px;margin:0 auto;padding:80px 20px 120px}@media all and (max-width: 700px){.p-nightout .wrapper{display:block;padding:40px 40px 60px}}.p-nightout .image{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:2000px;padding-right:60px}@media all and (max-width: 700px){.p-nightout .image{width:100%;max-width:500px;margin:0 auto;padding-right:0}}.p-nightout .description{display:block;margin:40px 0;font-size:18px;line-height:1.6;color:rgba(255,255,255,0.8)}.p-nightout .description strong{display:block;color:white;margin-bottom:10px}.p-nightout .button{display:block;margin:20px 0;padding:15px;border:2px solid white;border-radius:4px;background:transparent;font-size:18px;color:white;-webkit-transition:0.2s ease-in-out;-o-transition:0.2s ease-in-out;transition:0.2s ease-in-out}.p-nightout .button:hover{background:white;color:#72505c}.p-online__side-image{background-image:url(/assets/images/watch-online.jpg)}.p-online .larger{margin:2rem 0}.p-series .series-info{padding-left:2rem}@media screen and (max-width: 39.9375em){.p-series .series-info{padding-left:20px}}@media screen and (max-width: 39.9375em){.p-series .series-title{margin-top:2rem}}.p-series .series-subtitle{margin:-1rem 0 1rem}.p-series .series-description{margin:1.5rem 0 0}@media screen and (max-width: 39.9375em){.p-series .series-description{margin-bottom:1.5rem}}@media screen and (max-width: 39.9375em){.p-series .series-parts{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.p-series .share-header{margin:0 auto 2rem}.p-series .share-header h3{color:white}@media print, screen and (min-width: 40em){.p-series .share-header{padding:1.5rem 1rem}}@media print, screen and (min-width: 64em){.p-series .share-header{padding:1.5rem 2rem}}@media screen and (max-width: 39.9375em){.p-series .button.w-icon{margin:0 auto 1rem !important;width:80%}}@media screen and (max-width: 39.9375em){.p-staff .page-header h5{font-size:120%}}@media screen and (max-width: 39.9375em){.p-staff #staff-meetings>div>div{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:.69444rem;padding-left:.69444rem;max-width:100%;text-align:center}}@media screen and (max-width: 39.9375em) and (min-width: 40em){.p-staff #staff-meetings>div>div{padding-right:1.04167rem;padding-left:1.04167rem}}.p-tv__logo{margin:0 0 2rem}@media screen and (max-width: 39.9375em){.p-tv__logo{margin:0 0 1rem}}.p-tv__logo svg{display:inline-block;width:4.86111rem;height:4.86111rem;margin-right:1.04167rem;vertical-align:middle}.p-tv__logo span{display:inline-block;font-size:400%;font-family:"GothamHTFBold","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:#333;vertical-align:middle}.p-tv .page-section__description{margin:1rem 0 0}.p-tv .side-image-section{background-color:white}.p-tv .side-image-section__image{background-image:url(/assets/images/levi-on-camera.jpg);background-position:center 15%}.p-tv .side-image-section__content{padding-top:8rem;padding-bottom:8rem}@media screen and (max-width: 39.9375em){.p-tv .side-image-section__content{padding:3rem 0}}.p-tv .side-image-section__content-wrapper{max-width:41.66667rem}.p-tv__hillsong{font-size:140%;opacity:0.5}.p-tv__hillsong img{width:9.72222rem}@media screen and (max-width: 39.9375em){.p-tv__hillsong{font-size:110%}.p-tv__hillsong img{width:6.94444rem}}.p-tv__screenings{width:90%;max-width:59.02778rem;margin:0 auto}.p-xmas .header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-top:50px;background:url("/assets/images/xmas/hero.jpg") no-repeat center;background-size:cover}.p-xmas .artwork{width:80%;max-width:600px;max-height:auto;height:100%;margin:0 auto -5%}@media all and (max-width: 720px){.p-xmas .artwork{margin-bottom:-15%}}.p-xmas .details{padding:100px 20px 80px;background:#edeae7;background:-webkit-gradient(linear, left top, left bottom, color-stop(-5%, #e3c4ae), color-stop(20%, rgba(255,255,255,0)));background:-o-linear-gradient(top, #e3c4ae -5%, rgba(255,255,255,0) 20%);background:linear-gradient(180deg, #e3c4ae -5%, rgba(255,255,255,0) 20%)}@media all and (max-width: 720px){.p-xmas .details{padding:120px 20px 60px;background:-webkit-gradient(linear, left top, left bottom, color-stop(-5%, #e3c4ae), color-stop(10%, rgba(255,255,255,0)));background:-o-linear-gradient(top, #e3c4ae -5%, rgba(255,255,255,0) 10%);background:linear-gradient(180deg, #e3c4ae -5%, rgba(255,255,255,0) 10%)}}.p-xmas .description{display:block;width:100%;max-width:850px;margin:0 auto 60px;text-align:center;font-size:150%;font-family:'GothamHTFBook';color:#474747;letter-spacing:-1px;line-height:1.6}@media all and (max-width: 720px){.p-xmas .description{font-size:140%}}.p-xmas .section-header{display:block;margin:0 auto 40px;font-family:'GothamHTFBold';font-size:28px;text-align:center}.p-xmas .locations{width:90%;max-width:1000px;margin:0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media all and (max-width: 720px){.p-xmas .locations{display:block}}.p-xmas .location{width:32%;padding:20px;margin-bottom:20px;background-color:#edeae7;border-radius:4px}@media all and (max-width: 720px){.p-xmas .location{display:block;width:100%}}.p-xmas .location h3{margin:0 0 10px;font-size:20px;color:#272727}.p-xmas .location span{display:block;color:#575757;font-size:16px;line-height:1.4}.p-xmas .location span strong{display:block;margin:10px 0 0;font-family:'GothamHTFMedium'}.p-xmas .location a{display:block;margin-top:10px;color:#272727;font-family:'GothamHTFMedium'}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiYmFzZS9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fdXRpbGl0aWVzLnNjc3MiLCJsYXlvdXQvX2Zvb3RlcnMuc2NzcyIsImxheW91dC9faGVhZGVycy5zY3NzIiwibGF5b3V0L19uYXZpZ2F0aW9ucy5zY3NzIiwibGF5b3V0L19zZWN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJjb21wb25lbnRzL19hbm5vdW5jZW1lbnQuc2NzcyIsImNvbXBvbmVudHMvX2Jpby5zY3NzIiwiY29tcG9uZW50cy9fYmxvY2txdW90ZXMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2NvZGUtc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL19jcmFzaC1jb3Vyc2Uuc2NzcyIsImNvbXBvbmVudHMvX2RpYWxvZ3Muc2NzcyIsImNvbXBvbmVudHMvX2VtYmVkcy5zY3NzIiwiY29tcG9uZW50cy9fZXJyb3ItbWVzc2FnZS5zY3NzIiwiY29tcG9uZW50cy9faW1hZ2UtY2FyZHMuc2NzcyIsImNvbXBvbmVudHMvX2xhYmVscy5zY3NzIiwiY29tcG9uZW50cy9fbGlua3Muc2NzcyIsImNvbXBvbmVudHMvX2xpdmUtYmFubmVyLnNjc3MiLCJjb21wb25lbnRzL19sb2FkZXIuc2NzcyIsImNvbXBvbmVudHMvX21lc3NhZ2Uuc2NzcyIsImNvbXBvbmVudHMvX3BseXIuc2NzcyIsImNvbXBvbmVudHMvX3NoYXJlLW5hdi5zY3NzIiwiY29tcG9uZW50cy9fc2l0ZS1zZWFyY2guc2NzcyIsImNvbXBvbmVudHMvX3N3aXBlci5zY3NzIiwiY29tcG9uZW50cy9fdGFiLW5hdi5zY3NzIiwiY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCJjb21wb25lbnRzL190b29sdGlwcy5zY3NzIiwiY29tcG9uZW50cy9fdmlzaW9uLnNjc3MiLCJwYWdlcy9fYWJvdXQuc2NzcyIsInBhZ2VzL19hcHAuc2NzcyIsInBhZ2VzL19jcmFzaGNvdXJzZS5zY3NzIiwicGFnZXMvX2Vhc3Rlci5zY3NzIiwicGFnZXMvX2Zhc3Rpbmcuc2NzcyIsInBhZ2VzL19mbG91cmlzaC5zY3NzIiwicGFnZXMvX2dpdmUuc2NzcyIsInBhZ2VzL19ob21lLnNjc3MiLCJwYWdlcy9faW1wYWN0Y29uZi5zY3NzIiwicGFnZXMvX2tpY2tzdGFydC5zY3NzIiwicGFnZXMvX2tpZHMuc2NzcyIsInBhZ2VzL19rbm93Z29kLnNjc3MiLCJwYWdlcy9fbGF1bmNoLnNjc3MiLCJwYWdlcy9fbG9jYXRpb25zLnNjc3MiLCJwYWdlcy9fbWVzc2FnZS5zY3NzIiwicGFnZXMvX21lc3NhZ2VzLnNjc3MiLCJwYWdlcy9fbmlnaHRvdXQuc2NzcyIsInBhZ2VzL19vbmxpbmUuc2NzcyIsInBhZ2VzL19zZXJpZXMuc2NzcyIsInBhZ2VzL19zdGFmZi5zY3NzIiwicGFnZXMvX3R2LnNjc3MiLCJwYWdlcy9feG1hcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJCQSwyQ0FBTyxDQUNQLG9EQUFPLENBQ1AscURBQU8sQ0FDUCxxREFBTyxDQUNQLDJDQUFPLENBQ1AsZ0RBQU8sQ0FDUCxrREFBTyxDQ1lMLGdFQUFBLENBQWlFLEtBYzdELHNCQzFDdUIsQ0RrRHJCLGdCQUFpQixDQUVuQix5QkFBMEIsQ0FDMUIsNkJBQThCLENBQy9CLEtBWUMsUUFBUyxDQUNWLHdDQVlDLGFBQWMsQ0FDZixHRXZFSCxhQVh1QyxDRm9HakMsZUFBZ0IsQ0FF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c0JJL0srQyxDSitLL0Msa0JJL0srQyxDSmdML0MsbUJJaEwrQyxDSmlMaEQsZ0JLcEtMLG9CRGJxRCxDSjhLakQsU0FDRSxrQkkvSytDLENKK0svQyxnQkkvSytDLENKK0svQyxZSS9LK0MsQ0pnTC9DLGFJaEwrQyxDSmlMaEQsZ0JLcEtMLHFCRGJxRCxDSjhLakQsU0FDRSxrQkkvSytDLENKK0svQyxzQkkvSytDLENKK0svQyxrQkkvSytDLENKZ0wvQyxtQkloTCtDLENKaUxoRCxnQktwS0wsZURicUQsQ0o4S2pELFNBQ0Usa0JJL0srQyxDSitLL0Msc0JJL0srQyxDSitLL0Msa0JJL0srQyxDSmdML0MsbUJJaEwrQyxDSmlMaEQsZ0JLcEtMLHFCRGJxRCxDSjhLakQsU0FDRSxrQkkvSytDLENKK0svQyxnQkkvSytDLENKK0svQyxZSS9LK0MsQ0pnTC9DLGFJaEwrQyxDSmlMaEQsZ0JLcEtMLHFCRGJxRCxDSjhLakQsU0FDRSxrQkkvSytDLENKK0svQyxzQkkvSytDLENKK0svQyxrQkkvSytDLENKZ0wvQyxtQkloTCtDLENKaUxoRCxnQktwS0wsZURicUQsQ0o4S2pELFNBQ0Usa0JJL0srQyxDSitLL0Msc0JJL0srQyxDSitLL0Msa0JJL0srQyxDSmdML0MsbUJJaEwrQyxDSmlMaEQsZ0JLcEtMLHFCRGJxRCxDSjhLakQsU0FDRSxrQkkvSytDLENKK0svQyxnQkkvSytDLENKK0svQyxZSS9LK0MsQ0pnTC9DLGFJaEwrQyxDSmlMaEQsZ0JLcEtMLHFCRGJxRCxDSjhLakQsVUFDRSxrQkkvSytDLENKK0svQyxzQkkvSytDLENKK0svQyxrQkkvSytDLENKZ0wvQyxtQkloTCtDLENKaUxoRCxnQktwS0wsZURicUQsQ0o4S2pELFVBQ0Usa0JJL0srQyxDSitLL0Msc0JJL0srQyxDSitLL0Msa0JJL0srQyxDSmdML0MsbUJJaEwrQyxDSmlMaEQsaUJLcEtMLHFCRGJxRCxDSjhLakQsVUFDRSxrQkkvSytDLENKK0svQyxpQkkvSytDLENKK0svQyxhSS9LK0MsQ0pnTC9DLGNJaEwrQyxDSmlMaEQsaUJLcEtMLHFCRGJxRCxDSndMaEQsZUc1SUwsMkJIZ0plLENHaEpmLGdCSGdKZSxDR2hKZixPSGdKZ0IsQ0FDWixlR2pKSiwyQkhnSmUsQ0doSmYsZ0JIZ0plLENHaEpmLE9IZ0pnQixDQUNaLGVHakpKLDJCSGdKZSxDR2hKZixnQkhnSmUsQ0doSmYsT0hnSmdCLENBQ1osZUdqSkosMkJIZ0plLENHaEpmLGdCSGdKZSxDR2hKZixPSGdKZ0IsQ0FDWixlR2pKSiwyQkhnSmUsQ0doSmYsZ0JIZ0plLENHaEpmLE9IZ0pnQixDQUNaLGVHakpKLDJCSGdKZSxDR2hKZixnQkhnSmUsQ0doSmYsT0hnSmdCLENBR1gsWUFwSEwsa0JBQVcsQ0FBWCxjQUFlLENBRWYseUNBR0Usa0JBRnNCLENBRXRCLGlCQUZzQixDQUV0QixhQUZzQixDQUd0QixjQUhzQixDQUl2QixZQVBELGtCQUFXLENBQVgsY0FBZSxDQUVmLHlDQUdFLGtCQUZzQixDQUV0QixnQkFGc0IsQ0FFdEIsWUFGc0IsQ0FHdEIsYUFIc0IsQ0FJdkIsWUFQRCxrQkFBVyxDQUFYLGNBQWUsQ0FFZix5Q0FHRSxrQkFGc0IsQ0FFdEIsc0JBRnNCLENBRXRCLGtCQUZzQixDQUd0QixtQkFIc0IsQ0FJdkIsWUFQRCxrQkFBVyxDQUFYLGNBQWUsQ0FFZix5Q0FHRSxrQkFGc0IsQ0FFdEIsZ0JBRnNCLENBRXRCLFlBRnNCLENBR3RCLGFBSHNCLENBSXZCLFlBUEQsa0JBQVcsQ0FBWCxjQUFlLENBRWYseUNBR0Usa0JBRnNCLENBRXRCLGdCQUZzQixDQUV0QixZQUZzQixDQUd0QixhQUhzQixDQUl2QixZQVBELGtCQUFXLENBQVgsY0FBZSxDQUVmLHlDQUdFLGtCQUZzQixDQUV0QixzQkFGc0IsQ0FFdEIsa0JBRnNCLENBR3RCLG1CQUhzQixDQUl2QixZQVBELGtCQUFXLENBQVgsY0FBZSxDQUVmLHlDQUdFLGtCQUZzQixDQUV0QixzQkFGc0IsQ0FFdEIsa0JBRnNCLENBR3RCLG1CQUhzQixDQUl2QixZQVBELGtCQUFXLENBQVgsY0FBZSxDQUVmLHlDQUdFLGtCQUZzQixDQUV0QixrQkFGc0IsQ0FFdEIsY0FGc0IsQ0FHdEIsZUFIc0IsQ0FJdkIsaURFekZDLGVIdUVTLENHdEVULGNIc0VTLENDb0xtQyxxREUzUDVDLHVCQUZxQyxDQUdyQyxzQkFIcUMsQ0R1SW5DLDJDRGdEQSxVQUNFLGtCSS9LK0MsQ0orSy9DLHFCSS9LK0MsQ0orSy9DLGlCSS9LK0MsQ0pnTC9DLGtCSWhMK0MsQ0ppTGhELGlCS3BLTCxjRGhCZ0MsQ0ppTDVCLFVBQ0Usa0JJL0srQyxDSitLL0Msc0JJL0srQyxDSitLL0Msa0JJL0srQyxDSmdML0MsbUJJaEwrQyxDSmlMaEQsaUJLcEtMLG9CRGJxRCxDSjhLakQsVUFDRSxrQkkvSytDLENKK0svQyxnQkkvSytDLENKK0svQyxZSS9LK0MsQ0pnTC9DLGFJaEwrQyxDSmlMaEQsaUJLcEtMLHFCRGJxRCxDSjhLakQsVUFDRSxrQkkvSytDLENKK0svQyxzQkkvSytDLENKK0svQyxrQkkvSytDLENKZ0wvQyxtQkloTCtDLENKaUxoRCxpQktwS0wsZURicUQsQ0o4S2pELFVBQ0Usa0JJL0srQyxDSitLL0Msc0JJL0srQyxDSitLL0Msa0JJL0srQyxDSmdML0MsbUJJaEwrQyxDSmlMaEQsaUJLcEtMLHFCRGJxRCxDSjhLakQsVUFDRSxrQkkvSytDLENKK0svQyxnQkkvSytDLENKK0svQyxZSS9LK0MsQ0pnTC9DLGFJaEwrQyxDSmlMaEQsaUJLcEtMLHFCRGJxRCxDSjhLakQsVUFDRSxrQkkvSytDLENKK0svQyxzQkkvSytDLENKK0svQyxrQkkvSytDLENKZ0wvQyxtQkloTCtDLENKaUxoRCxpQktwS0wsZURicUQsQ0o4S2pELFVBQ0Usa0JJL0srQyxDSitLL0Msc0JJL0srQyxDSitLL0Msa0JJL0srQyxDSmdML0MsbUJJaEwrQyxDSmlMaEQsaUJLcEtMLHFCRGJxRCxDSjhLakQsVUFDRSxrQkkvSytDLENKK0svQyxnQkkvSytDLENKK0svQyxZSS9LK0MsQ0pnTC9DLGFJaEwrQyxDSmlMaEQsaUJLcEtMLHFCRGJxRCxDSjhLakQsV0FDRSxrQkkvSytDLENKK0svQyxzQkkvSytDLENKK0svQyxrQkkvSytDLENKZ0wvQyxtQkloTCtDLENKaUxoRCxpQktwS0wsZURicUQsQ0o4S2pELFdBQ0Usa0JJL0srQyxDSitLL0Msc0JJL0srQyxDSitLL0Msa0JJL0srQyxDSmdML0MsbUJJaEwrQyxDSmlMaEQsa0JLcEtMLHFCRGJxRCxDSjhLakQsV0FDRSxrQkkvSytDLENKK0svQyxpQkkvSytDLENKK0svQyxhSS9LK0MsQ0pnTC9DLGNJaEwrQyxDSmlMaEQsa0JLcEtMLHFCRGJxRCxDSndMaEQsZ0JHNUlMLDJCSGdKZSxDR2hKZixnQkhnSmUsQ0doSmYsT0hnSmdCLENBQ1osZ0JHakpKLDJCSGdKZSxDR2hKZixnQkhnSmUsQ0doSmYsT0hnSmdCLENBQ1osZ0JHakpKLDJCSGdKZSxDR2hKZixnQkhnSmUsQ0doSmYsT0hnSmdCLENBQ1osZ0JHakpKLDJCSGdKZSxDR2hKZixnQkhnSmUsQ0doSmYsT0hnSmdCLENBQ1osZ0JHakpKLDJCSGdKZSxDR2hKZixnQkhnSmUsQ0doSmYsT0hnSmdCLENBQ1osZ0JHakpKLDJCSGdKZSxDR2hKZixnQkhnSmUsQ0doSmYsT0hnSmdCLENBR1gsYUFwSEwsa0JBQVcsQ0FBWCxjQUFlLENBRWYsMkNBR0Usa0JBRnNCLENBRXRCLGlCQUZzQixDQUV0QixhQUZzQixDQUd0QixjQUhzQixDQUl2QixhQVBELGtCQUFXLENBQVgsY0FBZSxDQUVmLDJDQUdFLGtCQUZzQixDQUV0QixnQkFGc0IsQ0FFdEIsWUFGc0IsQ0FHdEIsYUFIc0IsQ0FJdkIsYUFQRCxrQkFBVyxDQUFYLGNBQWUsQ0FFZiwyQ0FHRSxrQkFGc0IsQ0FFdEIsc0JBRnNCLENBRXRCLGtCQUZzQixDQUd0QixtQkFIc0IsQ0FJdkIsYUFQRCxrQkFBVyxDQUFYLGNBQWUsQ0FFZiwyQ0FHRSxrQkFGc0IsQ0FFdEIsZ0JBRnNCLENBRXRCLFlBRnNCLENBR3RCLGFBSHNCLENBSXZCLGFBUEQsa0JBQVcsQ0FBWCxjQUFlLENBRWYsMkNBR0Usa0JBRnNCLENBRXRCLGdCQUZzQixDQUV0QixZQUZzQixDQUd0QixhQUhzQixDQUl2QixhQVBELGtCQUFXLENBQVgsY0FBZSxDQUVmLDJDQUdFLGtCQUZzQixDQUV0QixzQkFGc0IsQ0FFdEIsa0JBRnNCLENBR3RCLG1CQUhzQixDQUl2QixhQVBELGtCQUFXLENBQVgsY0FBZSxDQUVmLDJDQUdFLGtCQUZzQixDQUV0QixzQkFGc0IsQ0FFdEIsa0JBRnNCLENBR3RCLG1CQUhzQixDQUl2QixhQVBELGtCQUFXLENBQVgsY0FBZSxDQUVmLDJDQUdFLGtCQUZzQixDQUV0QixrQkFGc0IsQ0FFdEIsY0FGc0IsQ0FHdEIsZUFIc0IsQ0FJdkIsQ0M0Q0csaUVEOEVFLGVBQ0Usa0JBL0tHLENBK0tILGdCQS9LRyxDQStLSCxZQS9LTSxDQWdMUCxDQ2hGSCwyQ0RxRkUscUJHN0pOLDZCQW5FTyxDQW1FUCw0QkFuRU8sQ0FtRVAsc0JBbkVPLENBbUVQLGtCQW5FVSxDSGdPSiw2Qkc3Sk4sNkJBbEVlLENBa0VmLDZCQWxFZSxDQWtFZiw4QkFsRWUsQ0FrRWYsMEJBbEUwQixDSCtOcEIsd0JHN0pOLDJCQWpFVSxDQWlFViw0QkFqRVUsQ0FpRVYseUJBakVVLENBaUVWLHFCQWpFZ0IsQ0g4TlYsZ0NHN0pOLDJCQWhFa0IsQ0FnRWxCLDZCQWhFa0IsQ0FnRWxCLGlDQWhFa0IsQ0FnRWxCLDZCQWhFZ0MsQ0grTnpCLHdCQUlELGtCQUFNLENBQU4saUJBQU0sQ0FBTixhQUFjLENBQ2Ysd0JBR0Msa0JBQU0sQ0FBTixpQkFBTSxDQUFOLGFBQWMsQ0FDZiwwQkFHQyxrQkFBTSxDQUFOLGlCQUFNLENBQU4sYUFBYyxDQUNmLENBSUMseURBRUksa0JBQXVCLENBQXZCLGlCQUF1QixDQUF2QixhQUEyQixDQzFHakMsMkNEd0dFLHlEQUtNLGtCQTdNRCxDQTZNQyxnQkE3TUQsQ0E2TUMsWUE3TUUsQ0ErTUwsQ0MvR0wsMkNEcUhGLG1ERTFQQSxlSHVFUyxDR3RFVCxjSHNFUyxDQ29MbUMsdURFM1A1Qyx3QkFGcUMsQ0FHckMsdUJBSHFDLENGaVFnQixDQzFIbkQsMkNEZ0RBLFNBQ0Usa0JJL0srQyxDSitLL0MscUJJL0srQyxDSitLL0MsaUJJL0srQyxDSmdML0Msa0JJaEwrQyxDSmlMaEQsZ0JLcEtMLGNEaEJnQyxDSmlMNUIsU0FDRSxrQkkvSytDLENKK0svQyxzQkkvSytDLENKK0svQyxrQkkvSytDLENKZ0wvQyxtQkloTCtDLENKaUxoRCxnQktwS0wsb0JEYnFELENKOEtqRCxTQUNFLGtCSS9LK0MsQ0orSy9DLGdCSS9LK0MsQ0orSy9DLFlJL0srQyxDSmdML0MsYUloTCtDLENKaUxoRCxnQktwS0wscUJEYnFELENKOEtqRCxTQUNFLGtCSS9LK0MsQ0orSy9DLHNCSS9LK0MsQ0orSy9DLGtCSS9LK0MsQ0pnTC9DLG1CSWhMK0MsQ0ppTGhELGdCS3BLTCxlRGJxRCxDSjhLakQsU0FDRSxrQkkvSytDLENKK0svQyxzQkkvSytDLENKK0svQyxrQkkvSytDLENKZ0wvQyxtQkloTCtDLENKaUxoRCxnQktwS0wscUJEYnFELENKOEtqRCxTQUNFLGtCSS9LK0MsQ0orSy9DLGdCSS9LK0MsQ0orSy9DLFlJL0srQyxDSmdML0MsYUloTCtDLENKaUxoRCxnQktwS0wscUJEYnFELENKOEtqRCxTQUNFLGtCSS9LK0MsQ0orSy9DLHNCSS9LK0MsQ0orSy9DLGtCSS9LK0MsQ0pnTC9DLG1CSWhMK0MsQ0ppTGhELGdCS3BLTCxlRGJxRCxDSjhLakQsU0FDRSxrQkkvSytDLENKK0svQyxzQkkvSytDLENKK0svQyxrQkkvSytDLENKZ0wvQyxtQkloTCtDLENKaUxoRCxnQktwS0wscUJEYnFELENKOEtqRCxTQUNFLGtCSS9LK0MsQ0orSy9DLGdCSS9LK0MsQ0orSy9DLFlJL0srQyxDSmdML0MsYUloTCtDLENKaUxoRCxnQktwS0wscUJEYnFELENKOEtqRCxVQUNFLGtCSS9LK0MsQ0orSy9DLHNCSS9LK0MsQ0orSy9DLGtCSS9LK0MsQ0pnTC9DLG1CSWhMK0MsQ0ppTGhELGdCS3BLTCxlRGJxRCxDSjhLakQsVUFDRSxrQkkvSytDLENKK0svQyxzQkkvSytDLENKK0svQyxrQkkvSytDLENKZ0wvQyxtQklo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QyxLQUtDLGlCQUFrQixDQUNsQixtQkFBb0IsQ0FDckIsU0FLQyxnQlYzTnFCLENVNE5yQixtQkFBb0IsQ2RpRHBCLE1jNUNBLGFWbEtpQixDVW1LakIsbUJBQW9CLENBQ3JCLGtCQVNDLDhFVnRRaUYsQ1V1UWpGLGlCVnRNc0IsQ1V1TXRCLGtCVi9PeUIsQ1VnUHpCLFVWdE1lLENVdU1mLGlDVmxMc0MsQ1V3S3hDLHNEQWFJLGFBQWMsQ0FDZCxVVmpRZSxDSnVDakIsR2N1T1Esb0JQdlA2QyxDT21RN0MsZVZuT1csQ1UyT1gsWUFBYSxDQU9iLG1CVmpQaUIsQ1VrTnJCLEdBSUksb0JQdlA2QyxDT21RN0MsZVZuT1csQ1UyT1gsWUFBYSxDQU9iLG1CVmpQaUIsQ1VrTnJCLEdBSUksb0JQdlA2QyxDT21RN0MsZVZuT1csQ1UyT1gsWUFBYSxDQU9iLG1CVmpQaUIsQ1VrTnJCLEdBSUksb0JQdlA2QyxDT21RN0MsZVZuT1csQ1UyT1gsWUFBYSxDQU9iLG1CVmpQaUIsQ1VrTnJCLEdBSUksa0JQdlA2QyxDT21RN0MsZVZuT1csQ1UyT1gsWUFBYSxDQU9iLG1CVmpQaUIsQ1VrTnJCLEdBSUksb0JQdlA2QyxDT21RN0MsZVZuT1csQ1UyT1gsWUFBYSxDQU9iLG1CVmpQaUIsQ0trQ3ZCLDJDVG5ERixHY3VPUSxvQlB2UDZDLENPbVBqRCxHQUlJLG9CUHZQNkMsQ09tUGpELEdBSUksb0JQdlA2QyxDT21QakQsR0FJSSxvQlB2UDZDLENPbVBqRCxHQUlJLG9CUHZQNkMsQ09tUGpELEdBSUksb0JQdlA2QyxDT29SaEQsQ2RuR0wsRWMwR0EsbUJBQW9CLENBQ3BCLGFWMVRjLENVMlRkLG9CVjNOeUIsQ1U2TnpCLGNBQWUsQ0FMakIsZ0JBU0ksYVZsTzJELENVeU4vRCxNQWdCSSxRQUFTLENkdEtYLEdjNEtBLFVBQVcsQ0FFWCxjVjlPVyxDVStPWCxRQUFTLENBQ1Qsc0JWOU95QixDVWdQekIsWUFBYSxDQUNiLGNBQWUsQ0FDZix1Q1ZuUGlDLENVb1BqQyxhQUFjLENBQ2YsU0FNQyxrQlZ4UTBCLENVeVExQiwyQlZ2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VUFDUSxDQUFBLGFBQ1Isb0JNNUpRLENONEpSLGlCTTVKUSxDTjRKUix3Qk01SlEsQ0FBQSxjZ0NDUCx1QmhDQVEsQ2dDQVIsb0JoQ0FRLENnQ0FSLHNCaENBUSxDQUFBLGVnQ0FSLHdCaENDUyxDZ0NEVCxxQmhDQ1MsQ2dDRFQsNkJoQ0NTLENBQUEsY2dDRFQsd0JoQ0VRLENnQ0ZSLDRCaENFUSxDQUFBLFdnQ0FQLHVCaENJSSxDZ0NKSixvQmhDSUksQ2dDSkosc0JoQ0lJLENBQUEsZ0JnQ0dKLHlCaENISSxDZ0NHSixxQmhDSEksQ0FBQSxjZ0NDTCxxQmhDQVEsQ2dDQVIsa0JoQ0FRLENnQ0FSLG9CaENBUSxDQUFBLG1CZ0NFUCx1QmhDRk8sQ2dDRVAsbUJoQ0ZPLENBQUEsY2dDQVIsd0JoQ0NRLENnQ0RSLHFCaENDUSxDZ0NEUixrQmhDQ1EsQ0FBQSxtQmdDQ1AsMEJoQ0RPLENnQ0NQLGlCaENETyxDQUFBLGVnQ0RSLHlCaENFUyxDZ0NGVCxzQmhDRVMsQ2dDRlQsbUJoQ0VTLENBQUEsb0JnQ0FSLDJCaENBUSxDZ0NBUixrQmhDQVEsQ0FBQSxlSDhNUCwyQkdqSkosQ0hpSkksZ0JHakpKLENIaUpJLE9HakpDLENnQ3BEVSxlbkNxTVgsMkJHakpKLENIaUpJLGdCR2pKSixDSGlKSSxPR2pKQyxDZ0NwRFUsZW5DcU1YLDJCR2pKSixDSGlKSSxnQkdqSkosQ0hpSkksT0dqSkMsQ2dDcERVLGVuQ3FNWCwyQkdqSkosQ0hpSkksZ0JHakpKLENIaUpJLE9HakpDLENnQ3BEVSxlbkNxTVgsMkJHakpKLENIaUpJLGdCR2pKSixDSGlKSSxPR2pKQyxDZ0NwRFUsZW5DcU1YLDJCR2pKSixDSGlKSSxnQkdqSkosQ0hpSkksT0dqSkMsQ2dDcERVLDJDbENzSTZCLGdCRCtEeEMsMkJHakpKLENIaUpJLGdCR2pKSixDSGlKSSxPR2pKQyxDZ0NwRFUsZ0JuQ3FNWCwyQkdqSkosQ0hpSkksZ0JHakpKLENIaUpJLE9HakpDLENnQ3BEVSxnQm5DcU1YLDJCR2pKSixDSGlKSSxnQkdqSkosQ0hpSkksT0dqSkMsQ2dDcERVLGdCbkNxTVgsMkJHakpKLENIaUpJLGdCR2pKSixDSGlKSSxPR2pKQyxDZ0NwRFUsZ0JuQ3FNWCwyQkdqSkosQ0hpSkksZ0JHakpKLENIaUpJLE9HakpDLENnQ3BEVSxnQm5DcU1YLDJCR2pKSixDSGlKSSxnQkdqSkosQ0hpSkksT0dqSkMsQ2dDcERVLENBQUMsMkNsQ3NJNEIsZUQrRHhDLDJCR2pKSixDSGlKSSxnQkdqSkosQ0hpSkksT0dqSkMsQ2dDcERVLGVuQ3FNWCwyQkdqSkosQ0hpSkksZ0JHakpKLENIaUpJLE9HakpDLENnQ3BEVSxlbkNxTVgsMkJHakpKLENIaUpJLGdCR2pKSixDSGlKSSxPR2pKQyxDZ0NwRFUsZW5DcU1YLDJCR2pKSixDSGlKSSxnQkdqSkosQ0hpSkksT0dqSkMsQ2dDcERVLGVuQ3FNWCwyQkdqSkosQ0hpSkksZ0JHakpKLENIaUpJLE9HakpDLENnQ3BEVSxlbkNxTVgsMkJHakpKLENIaUpJLGdCR2pKSixDSGlKSSxPR2pKQyxDZ0NwRFUsQ0FBQyxRQ3JCakIsU0FBZ0IsQ0FBRSx1Q0FFYSwwQnhDd0RyQixDQUFBLGtCd0NyRE8sQ0FBQSxnRUFIYyxTdkNnTHJCLENBQUUsaUJBQ1Ysd0JEekhRLENBQUEsV3dDaERGLEN2Q3dLSSxZQUNWLHdCRHpIUSxDQUFBLFd3Q2hERixDQUFBLFdBQ1IsMEJBRTRCLENBQUEsZ0pDTnpCLG9CQUVrQixDQUFBLDRGQUZsQix3QkFJcUIsQ0FBQSxtSUFKckIsV0FNZSxDQUFBLDZKQU5mLGF6Q21ETyxDQUFBLDBLeUNuRFAsbUNBVWdDLENBQUEsOE5BVmhDLG9CQWFTLENBQUEsaUJBQ0MsQ0FBQSxTQUNILENBQUUsc1VBSEcsVUFNRCxDQUFBLGlCQUNDLENBQUEsVUFDRCxDQUFBLFVBQ0gsQ0FBQSxPQUNELENBQUEsZ0J0QzJEQyxDQUFBLHVCc0N6REMsQ0FBQSx3QnpDMkJGLENBQUEsMkNLaUdtQyxzVW9DeEk5QixnQnRDcUVKLENBQUEsQ0FBNkMsb1pzQ25EOUMsT0FFRSxDQUFBLGdCdENpREQsQ0FBQSxZc0MvQ0UsQ0FBQSx5QkFDQyxD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Q0FBQSw0Q0FHVCxlQUNhLENBQUEsOEJDUGIsa0JBQ2lCLENBQUEseUMvRTZKMEIsNkVEK0gzQyxrQklsUVksQ0prUVosaUJJbFFZLENKa1FaLGFJbFFZLENBQUEsY0FBQSxDQUFBLHVCRlRBLENBQUEsc0JBQUEsQ0FBQSxjRVNBLENBQUEsaUI0RXBCTSxDQUFBLENBQU0sK0QvRWtKb0IsNkVEb0k1Qyx3QkUzUVksQ0FBQSx1QkFBQSxDQUFBLENBQTJCLDJCOEVOdkMsZ0ZwRnFDNkUsQ0FBQSxXb0ZuQ2xFLENBQUEscUNBRVQsb0JBQ1csQ0FBQSxzQmpGcUVILENBQUEsaUNpRm5FSyxDakZtRUwsNkJpRm5FSyxDakZtRUwseUJpRm5FSyxDQUFBLHVCQUlmLGNBQ1csQ0FBQSx5Qy9Fc0lnQyx1QitFdkkzQyxjQUlhLENBQUEsQ0FBTSw0QkFHYix1QjdFN0JJLEM2RTZCSixvQjdFN0JJLEM2RTZCSixzQjdFN0JJLENBQUEsMkNGd0prQyw0QitFM0h0QyxzQjdFL0JFLEM2RStCRixtQjdFL0JFLEM2RStCRiwwQjdFL0JFLENBQUEsQ0FBVSx5QjZFd0NsQixrQjVFWlksQzRFWVosc0I1RVpZLEM0RVlaLGtCNUVaWSxDQUFBLG1CQUFBLENBQUEsdUJGVEEsQ0FBQSxzQkFBQSxDQUFBLG1CRVNBLENBQUEsaUI0RWNFLENBQUEscUJBQ0csQ0FBQSwyQy9FK0cyQix5QitFbEg1Qyx3QjlFckJZLENBQUEsdUJBQUEsQ0FBQSxDQUEyQiwyQ0R1SUsseUIrRWxINUMsa0I1RVpZLEM0RVlaLGdCNUVaWSxDNEVZWixZNUVaWSxDQUFBLGFBQUEsQ0FBQSx1QkZUQSxDQUFBLHNCQUFBLENBQUEsYUVTQSxDQUFBLGtCNEVtQk8sQ0FBQSxDQUFJLGlFL0UyR3FCLHlCK0VsSDVDLHdCOUVyQlksQ0FBQSx1QkFBQSxDQUFBLENBQTJCLDJDRHVJSyx5QitFbEg1QyxrQjVFWlksQzRFWVosc0I1RVpZLEM0RVlaLGtCNUVaWSxDQUFBLG1CQUFBLENBQUEsdUJGVEEsQ0FBQSxzQkFBQSxDQUFBLG1CRVNBLENBQUEsQ0FBeUMsaUVI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QUEsZUFDQyxDQUFBLFdBQ0osQ0FBQSxpQkFDQSxDQUFBLGtDQUV3QixpQkFQbEMsa0JBUW1CLENBQUEsQ0FBSSxpQkFJdkIsdUJBQ1csQ0FBQSxrQkFDRyxDQUFBLDBIQUNBLENBREEsd0VBQ0EsQ0FEQSx3RUFDQSxDQUFBLGtDQUVvQixpQkFMbEMsdUJBTWEsQ0FBQSwwSEFDRyxDQURILHdFQUNHLENBREgsd0VBQ0csQ0FBQSxDQUE2RCxxQkFJN0UsYUFDVyxDQUFBLFVBQ0YsQ0FBQSxlQUNJLENBQUEsa0JBQ0gsQ0FBQSxpQkFDSSxDQUFBLGNBQ0QsQ0FBQSwyQkFDRSxDQUFBLGFBQ04sQ0FBQSxtQkFDUyxDQUFBLGVBQ0gsQ0FBQSxrQ0FFbUIscUJBWmxDLGNBYWUsQ0FBQSxDQUFJLHdCQUluQixhQUNXLENBQUEsa0JBQ0QsQ0FBQSwyQkFDSyxDQUFBLGNBQ0YsQ0FBQSxpQkFDQyxDQUFBLG1CQUdkLFNBQ1MsQ0FBQSxnQkFDSSxDQUFBLGFBQ0gsQ0FBQSxtQkFDQyxDQURELG1CQUNDLENBREQsWUFDQyxDQUFBLGtCQUNFLENBREYsY0FDRSxDQUFBLHdCQUNNLENBRE4scUJBQ00sQ0FETiw2QkFDTSxDQUFBLGtDQUVlLG1CQVJsQyxhQVNhLENBQUEsQ0FBSyxrQkFJbEIsU0FDUyxDQUFBLFlBQ0UsQ0FBQSxrQkFDTSxDQUFBLHdCQUNHLENBQUEsaUJBQ0gsQ0FBQSxrQ0FFaUIsa0JBUGxDLGFBUWEsQ0FBQSxVQUNGLENBQUEsQ0FBSSxxQkFHYixlQUNVLENBQUEsY0FDRyxDQUFBLGFBQ0osQ0FBQSx1QkFHVCxhQUNXLENBQUEsYUFDRixDQUFBLGNBQ0ksQ0FBQSxlQUNFLENBQUEsOEJBRWIsYUFDVyxDQUFBLGVBQ0QsQ0FBQSw2QkFDSyxDQUFBLG9CQUlqQixhQUNXLENBQUEsZUFDRyxDQUFBLGFBQ0wsQ0FBQSw2QkFDTSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0ICd1dGYtOCc7XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogTUFJTiBTaXRlIFN0eWxlc2hlZXRcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBUaGlzIGlzIHRoZSBtYW5pZmVzdCBvZiB0aGUgZW50aXJlIHNpdGUncyBzdHlsZXMuIFVzZSB0aGUgQGltcG9ydCBmdW5jdGlvbiB0b1xuICogaW5jbHVkZSBldmVyeSBjb21wb25lbnQgYW5kIHN0cnVjdHVyZSB5b3UgbmVlZC4gVGhpcyBzaXRlJ3MgU0NTU1xuICogZm9sbG93cyB0aGUgZ3VpZGVsaW5lcyBzcGVsbGVkIG91dCBhdDogaHR0cHM6Ly9zYXNzLWd1aWRlbGluLmVzXG4gKiBQbGVhc2UgZm9sbG93IHRob3NlIGd1aWRlbGluZXMgYXMgYmVzdCBhcyB5b3UgY2FuLlxuICpcbiAqIFRBQkxFIE9GIENPTlRFTlRTXG4gKiAgIDAxLiBCYXNlXG4gKiAgIDAyLiBMYXlvdXRcbiAqICAgMDMuIENvbXBvbmVudHNcbiAqICAgMDQuIFBhZ2VzXG4gKi9cblxuXG5cbi8qKlxuICogMDEuIEJhc2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBUaGUgYmFzZS8gZm9sZGVyIGhvbGRzIHdoYXQgd2UgbWlnaHQgY2FsbCB0aGUgYm9pbGVycGxhdGUgY29kZSBmb3IgdGhlXG4gKiBwcm9qZWN0LiBJbiBoZXJlLCB5b3UnbGwgZmluZCB0aGUgc2V0dGluZ3MgZmlsZSwgdGhlIEZvdW5kYXRpb24gZnJhbWV3b3JrLFxuICogc29tZSB0eXBvZ3JhcGhpYyBydWxlcywgYW5kIHN0YW5kYXJkIHN0eWxlcyBmb3IgY29tbW9ubHkgdXNlZCBIVE1MIGVsZW1lbnRzXG4gKi9cblxuLy8gQ3VzdG9tIGZvbnRzIG5lZWQgdG8gYmUgbG9hZGVkIGZpcnN0IHRvIGJlIHVzZWQgaW5zaWRlIHNldHRpbmdzIGZpbGVcbkBpbXBvcnQgJy4uL2ZvbnRzL2dvdGhhbS9zdHlsZXNoZWV0LmNzcyc7XG5AaW1wb3J0ICcuLi9mb250cy9mbGF0aWNvbnMvc29saWQvc3R5bGVzaGVldC5jc3MnO1xuQGltcG9ydCAnLi4vZm9udHMvZmxhdGljb25zL3N0cm9rZS9zdHlsZXNoZWV0LmNzcyc7XG5AaW1wb3J0ICcuLi9mb250cy9mbGF0aWNvbnMvc29jaWFsL3N0eWxlc2hlZXQuY3NzJztcbkBpbXBvcnQgJy4uL2ZvbnRzL2JvZG9uaS9zdHlsZXNoZWV0LmNzcyc7XG5AaW1wb3J0ICcuLi9mb250cy9yZWdpbmFibGFjay9zdHlsZXNoZWV0LmNzcyc7XG5AaW1wb3J0ICcuLi9mb250cy9mcmVzaGxpZmVzYW5zL3N0eWxlc2hlZXQuY3NzJztcblxuLy8gTm93IHRvIHRoZSBiYXNlIHNldHRpbmdzXG5AaW1wb3J0ICdiYXNlL3NldHRpbmdzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcblxuXG5AaW1wb3J0ICdiYXNlL2Jhc2UnO1xuQGltcG9ydCAnYmFzZS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Jhc2UvdXRpbGl0aWVzJztcblxuXG4gLyoqXG4gICogMDIuIExheW91dFxuICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgKiBUaGUgbGF5b3V0LyBmb2xkZXIgY29udGFpbnMgZXZlcnl0aGluZyB0aGF0IHRha2VzIHBhcnQgaW4gbGF5aW5nIG91dCB0aGVcbiAgKiBzaXRlLiBUaGlzIGZvbGRlciBjb250YWlucyBzdHlsZXNoZWV0cyBmb3IgdGhlIG1haW4gcGFydHMgb2YgdGhlIHNpdGVcbiAgKiAoaGVhZGVyLCBmb290ZXIsIG5hdmlnYXRpb24sIHNpZGViYXIsIGV0YyDigKYpXG4gICovXG5cbkBpbXBvcnQgJ2xheW91dC9mb290ZXJzJztcbkBpbXBvcnQgJ2xheW91dC9oZWFkZXJzJztcbkBpbXBvcnQgJ2xheW91dC9uYXZpZ2F0aW9ucyc7XG5AaW1wb3J0ICdsYXlvdXQvc2VjdGlvbnMnO1xuXG5cbi8qKlxuICogMDMuIENvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBGb3Igc21hbGxlciBjb21wb25lbnRzLCB0aGVyZSBpcyB0aGUgY29tcG9uZW50cy8gZm9sZGVyLiBXaGlsZSBsYXlvdXQvIGlzXG4gKiBtYWNybyAoZGVmaW5pbmcgdGhlIGdsb2JhbCB3aXJlZnJhbWUpLCBjb21wb25lbnRzLyBpcyBtb3JlIGZvY3VzZWQgb24gd2lkZ2V0cy5cbiAqIEl0IGNvbnRhaW5zIGFsbCBraW5kIG9mIHNwZWNpZmljIG1vZHVsZXMgbGlrZSBhIHNsaWRlciwgYSBsb2FkZXIsIGEgd2lkZ2V0LFxuICogYW5kIGJhc2ljYWxseSBhbnl0aGluZyBhbG9uZyB0aG9zZSBsaW5lcy4gVGhlcmUgYXJlIHVzdWFsbHkgd2hlcmUgZmlsZXMgbGl2ZVxuICogc2luY2UgdGhlIHdob2xlIHNpdGUgc2hvdWxkIGJlIG1vc3RseSBjb21wb3NlZCBvZiB0aW55IG1vZHVsZXMuXG4gKi9cblxuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hbm5vdW5jZW1lbnQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9iaW8nO1xuQGltcG9ydCAnY29tcG9uZW50cy9ibG9ja3F1b3Rlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb2RlLXNsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NyYXNoLWNvdXJzZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RpYWxvZ3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9lbWJlZHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9lcnJvci1tZXNzYWdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaW1hZ2UtY2FyZHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9saW5rcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xpdmUtYmFubmVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbG9hZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVzc2FnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BseXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zaGFyZS1uYXYnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zaXRlLXNlYXJjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXBlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYi1uYXYnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2lvbic7XG5cblxuIC8qKlxuICAqIDA0LiBQYWdlc1xuICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgKiBJZiB5b3UgaGF2ZSBwYWdlLXNwZWNpZmljIHN0eWxlcywgaXQgaXMgYmV0dGVyIHRvIHB1dCB0aGVtIGluIGEgcGFnZXMvXG4gICogZm9sZGVyLCBpbiBhIGZpbGUgbmFtZWQgYWZ0ZXIgdGhlIHBhZ2UuXG4gICovXG5cbkBpbXBvcnQgJ3BhZ2VzL2Fib3V0JztcbkBpbXBvcnQgJ3BhZ2VzL2FwcCc7XG5AaW1wb3J0ICdwYWdlcy9jcmFzaGNvdXJzZSc7XG5AaW1wb3J0ICdwYWdlcy9lYXN0ZXInO1xuQGltcG9ydCAncGFnZXMvZmFzdGluZyc7XG5AaW1wb3J0ICdwYWdlcy9mbG91cmlzaCc7XG5AaW1wb3J0ICdwYWdlcy9naXZlJztcbkBpbXBvcnQgJ3BhZ2VzL2hvbWUnO1xuQGltcG9ydCAncGFnZXMvaW1wYWN0Y29uZic7XG5AaW1wb3J0ICdwYWdlcy9raWNrc3RhcnQnO1xuQGltcG9ydCAncGFnZXMva2lkcyc7XG5AaW1wb3J0ICdwYWdlcy9rbm93Z29kJztcbkBpbXBvcnQgJ3BhZ2VzL2xhdW5jaCc7XG5AaW1wb3J0ICdwYWdlcy9sb2NhdGlvbnMnO1xuQGltcG9ydCAncGFnZXMvbWVzc2FnZSc7XG5AaW1wb3J0ICdwYWdlcy9tZXNzYWdlcyc7XG5AaW1wb3J0ICdwYWdlcy9uaWdodG91dCc7XG5AaW1wb3J0ICdwYWdlcy9vbmxpbmUnO1xuQGltcG9ydCAncGFnZXMvc2VyaWVzJztcbkBpbXBvcnQgJ3BhZ2VzL3N0YWZmJztcbkBpbXBvcnQgJ3BhZ2VzL3R2JztcbkBpbXBvcnQgJ3BhZ2VzL3htYXMnO1xuIiwiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXG5AZnVuY3Rpb24gX25vcm1hbGl6ZS1pbmNsdWRlKCRzZWN0aW9uLCAkZXhjbHVkZTogbnVsbCkge1xuICAvLyBJbml0aWFsaXplIHRoZSBnbG9iYWwgdmFyaWFibGVzIG5lZWRlZCBieSB0aGlzIGZ1bmN0aW9uLlxuICBAaWYgbm90IGdsb2JhbF92YXJpYWJsZV9leGlzdHMoX25vcm1hbGl6ZS1pbmNsdWRlKSB7XG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogKCkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiAoKSAhZ2xvYmFsO1xuICB9XG4gIC8vIFNpbmNlIHdlIGFyZSBnaXZlbiAyIHBhcmFtZXRlcnMsIHNldCB0aGUgZ2xvYmFsIHZhcmlhYmxlcy5cbiAgQGlmICRleGNsdWRlICE9IG51bGwge1xuICAgICRpbmNsdWRlOiAkc2VjdGlvbjtcbiAgICAvLyBTYXNzIGRvZXNuJ3QgaGF2ZSBzdGF0aWMgdmFyaWFibGVzLCBzbyB0aGUgd29yay1hcm91bmQgaXMgdG8gc3R1ZmYgdGhlc2VcbiAgICAvLyB2YWx1ZXMgaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSBpbiBmdXR1cmUgY2FsbHMuXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICRzZWN0aW9uIGlzIGluIHRoZSAkaW5jbHVkZSBsaXN0LlxuICBAaWYgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgJHNlY3Rpb24pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gSWYgJGluY2x1ZGUgaXMgc2V0IHRvIChhbGwpLCBtYWtlIHN1cmUgJHNlY3Rpb24gaXMgbm90IGluICRleGNsdWRlLlxuICBAZWxzZSBpZiBub3QgaW5kZXgoJF9ub3JtYWxpemUtZXhjbHVkZSwgJHNlY3Rpb24pIGFuZCBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCBhbGwpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZSgkaW5jbHVkZTogKGFsbCksICRleGNsdWRlOiAoKSkge1xuICAvLyBJbml0aWFsaXplIHRoZSBoZWxwZXIgZnVuY3Rpb24gYnkgcGFzc2luZyBpdCB0aGlzIG1peGluJ3MgcGFyYW1ldGVycy5cbiAgJGluaXQ6IF9ub3JtYWxpemUtaW5jbHVkZSgkaW5jbHVkZSwgJGV4Y2x1ZGUpO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemUge1xuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZG9jdW1lbnQpIHtcbiAgICAvKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5cbiAgICBodG1sIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLy8gQ29ycmVjdCBvbGQgYnJvd3NlciBidWcgdGhhdCBwcmV2ZW50ZWQgYWNjZXNzaWJsZSByZXNpemluZyBvZiB0ZXh0XG4gICAgICAgIC8vIHdoZW4gcm9vdCBmb250LXNpemUgaXMgc2V0IHdpdGggcHggb3IgZW0uXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNlY3Rpb25zKSB7XG4gICAgLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBuYXYsXG4gICAgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cblxuICAgICAgZGwsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICovXG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGE6YWN0aXZlLFxuICAgIGE6aG92ZXIge1xuICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGF1ZGlvLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7IC8qIDEgKi9cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cblxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi9cblxuICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuXG4gICAgaW5wdXQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBWZXJ0aWNhbCBSaHl0aG1cbi8vXG4vLyBUaGlzIGlzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBjb2RlIG5lZWRlZCB0byBjcmVhdGUgdmVydGljYWwgcmh5dGhtIGluIG91clxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxuXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcbiAgICBAZXJyb3IgXCJUaGUgbm9ybWFsaXplIHZlcnRpY2FsLXJoeXRobSBtb2R1bGUgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBAaWYgJHVuaXQgPT0gcmVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJHJlbGF0aXZlLXRvKSAqIDFlbTtcbiAgfVxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xuICAgIEBlcnJvciBcIm5vcm1hbGl6ZS1mb250LXNpemUoKSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogbm9ybWFsaXplLXJoeXRobSgkYmFzZS1saW5lLWhlaWdodCwgJHJlbGF0aXZlLXRvKTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICB9XG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XG4gICRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpO1xuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xuICAgICRsaW5lczogJGxpbmVzICsgMTtcbiAgfVxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICAgcGFkZGluZzogMDtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGb3Jtc1xuLy8gIDIwLiBMYWJlbFxuLy8gIDIxLiBNZWRpYSBPYmplY3Rcbi8vICAyMi4gTWVudVxuLy8gIDIzLiBNZXRlclxuLy8gIDI0LiBPZmYtY2FudmFzXG4vLyAgMjUuIE9yYml0XG4vLyAgMjYuIFBhZ2luYXRpb25cbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjguIFJlc3BvbnNpdmUgRW1iZWRcbi8vICAyOS4gUmV2ZWFsXG4vLyAgMzAuIFNsaWRlclxuLy8gIDMxLiBTd2l0Y2hcbi8vICAzMi4gVGFibGVcbi8vICAzMy4gVGFic1xuLy8gIDM0LiBUaHVtYm5haWxcbi8vICAzNS4gVGl0bGUgQmFyXG4vLyAgMzYuIFRvb2x0aXBcbi8vICAzNy4gVG9wIEJhclxuXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnb3RoYW0tbGlnaHQ6ICdHb3RoYW1IVEZMaWdodCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRnb3RoYW0tYm9vazogJ0dvdGhhbUhURkJvb2snLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kZ290aGFtLW1lZGl1bTogJ0dvdGhhbUhURk1lZGl1bScsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRnb3RoYW0tYm9sZDogJ0dvdGhhbUhURkJvbGQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiRnbG9iYWwtZm9udC1zaXplOiA5MCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS44O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjZTUxNzE3LFxuICBzZWNvbmRhcnk6ICM3NzcsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjZWM1ODQwLFxuKTtcbiRsaWdodC1ncmF5OiAjY2FjYWNhO1xuJG1lZGl1bS1ncmF5OiAjOTk5OTk5O1xuJGRhcmstZ3JheTogIzQ0NDQ0NDtcbiRibGFjazogIzIyMjIyMjtcbiR3aGl0ZTogI2ZlZmVmZTtcbiRvZmYtd2hpdGU6ICNmN2Y3Zjc7XG4kbGlnaHQtdGV4dDogI2JhYmFiYTtcbiRib2R5LWJhY2tncm91bmQ6ICNmYWZhZmE7XG4kYm9keS1mb250LWNvbG9yOiAjNTU1NTU1O1xuJGJvZHktZm9udC1mYW1pbHk6ICRnb3RoYW0tYm9vaztcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogNHB4O1xuJGdsb2JhbC1zaGFkb3ctbGFyZ2U6IDBweCAycHggMTBweCAtNHB4IHJnYmEoMCwwLDAsMC4xKTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogZmFsc2U7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRnb3RoYW0tYm9sZDtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiAjMjIyO1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAzNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAyNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogMTAwJTtcbiRoci1ib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsMCwwLDAuMik7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogIzIyMjtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDNyZW0gMnJlbSAzcmVtIDRyZW0pO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiA4cHggc29saWQgJHByaW1hcnktY29sb3I7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRjaXRlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogIzIyMjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiB3aGl0ZTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAwO1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAjNjY2O1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLXBhZGRpbmc6IDAuNzVlbSAxLjc1ZW0gMC44NWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjg1cmVtLFxuICBkZWZhdWx0OiAxLjA1cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2Utb3V0LCBjb2xvciAwLjE1cyBlYXNlLW91dDtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAjZjVmNWY1O1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDA7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAzcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMDtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiB3aGl0ZTtcbiRkcm9wZG93bi1ib3JkZXI6IDA7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiRkcm9wZG93bi1yYWRpdXM6IDA7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiBmYWxzZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMjBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMDgpO1xuXG4vLyAxOS4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjAuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMi4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRtZW51LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG5cbi8vIDIzLiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjQuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemU6IDI1MHB4O1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDE7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMDtcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjUuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNi4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAwO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogIzU1NTtcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3Zlcjogd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6IGZvcmVncm91bmQoJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQpO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogZmFsc2U7XG5cbi8vIDI3LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjguIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyAyOS4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDMwLiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzMS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDMyLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogbm9uZTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYygxMiAxNCAxNCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiByZ2JhKDAsMCwwLDAuMik7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiBkYXJrZW4oJGJvZHktZm9udC1jb2xvciw1JSk7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMy4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDM0LiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNS4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gMzYuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogMDtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW07XG4kdG9vbHRpcC1mb250LXNpemU6IDkwJTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC4zNXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzcuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7ICAgIFxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSBvciBicmVha3BvaW50IG5hbWUgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgZm9yIHRoaXMgcm93LiBJZiBzZXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCksIHRoZSBnbG9iYWwgY29sdW1uIGNvdW50IHdpbGwgYmUgdXNlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgYmFzaWMgc3R5bGVzIGZyb20gYmVpbmcgb3V0cHV0LiBVc2VmdWwgaWYgeW91J3JlIGNhbGxpbmcgdGhpcyBtaXhpbiBvbiB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLCBhcyBpdCBwcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIG91dHB1dC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGZsZXgtZ3JpZC1yb3coXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiYXNlOiB0cnVlLFxuICAkd3JhcDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyAkd3JhcDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMsICRiYXNlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGBmbGV4YCBwcm9wZXJ0eSBmb3IgYSBmbGV4IGdyaWQgY29sdW1uLiBJdCBhY2NlcHRzIGFsbCBvZiB0aGUgc2FtZSB2YWx1ZXMgYXMgdGhlIGJhc2ljIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgYWxvbmcgd2l0aCB0d28gZXh0cmFzOlxuLy8vICAgLSBgZXhwYW5kYCAodGhlIGRlZmF1bHQpIHdpbGwgbWFrZSB0aGUgY29sdW1uIGV4cGFuZCB0byBmaWxsIHNwYWNlLlxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi5cbkBmdW5jdGlvbiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zOiBleHBhbmQpIHtcbiAgJGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG5cbiAgQGlmICRjb2x1bW5zID09IHNocmluayB7XG4gICAgJGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICRjb2x1bW5zICE9IGV4cGFuZCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbHVtbiBmb3IgYSBmbGV4IGdyaWQuIEJ5IGRlZmF1bHQsIHRoZSBjb2x1bW4gd2lsbCBzdHJldGNoIHRvIHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBjb250YWluZXIsIGJ1dCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc2l6aW5nIGNsYXNzZXMsIG9yIGJ5IHVzaW5nIHRoZSBgdW5zdGFja2AgY2xhc3Mgb24gdGhlIHBhcmVudCBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2UgYmV0d2VlbiBjb2x1bW5zLCBhZGRlZCBhcyBhIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcuXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IGV4cGFuZCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgZmxleC1ncmlkLXNpemUoJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gZXhwYW5kIHtcbiAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gIH1cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBleHBhbmQgYW5kICRjb2x1bW5zICE9IHNocmluayB7XG4gICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgY29sdW1ucyB0byBkaXNwbGF5IG9uIGVhY2ggcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXG5AbWl4aW4gZmxleC1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gID4gI3skc2VsZWN0b3J9IHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSB3aWR0aCBmbGV4IGdyaWQgY29sdW1uLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZmxleC1ncmlkLXNpemUoJGNvbHVtbnM6IG51bGwpIHtcbiAgJGNvbHVtbnM6ICRjb2x1bW5zIG9yIGV4cGFuZDtcblxuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IGV4cGFuZCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbnNcbiAgICAvLyBGcm9tIGNvbGxhcHNlZCBjaGlsZFxuICAgICYuaXMtY29sbGFwc2UtY2hpbGQsXG4gICAgJi5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAucm93IC5jb2x1bW4ucm93LnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cblxuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGRpcmVjdGlvbiBoZWxwZXIgY2xhc3Nlc1xuICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBjaGlsZCBoZWxwZXIgY2xhc3Nlc1xuICAgICAgLiN7JC16Zi1zaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIH1cblxuICAgICAgLiN7JC16Zi1zaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIH1cblxuICAgICAgLiN7JC16Zi1zaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICBAZXh0ZW5kIC5jb2x1bW47IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbHVtbi1ndXR0ZXIoKS4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sLWd1dHRlcigpLiBncmlkLWNvbC11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBzdHJpbmcgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+4oCUPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlb2NyYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogaGVscDtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZSB0byByZW1vdmUgdGhlIGJ1bGxldHMgZnJvbSBhbiB1bm9yZGVyZWQgbGlzdFxuICAubm8tYnVsbGV0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMik7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuXG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkcHJpbWFyeS1jb2xvcixcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICBjb2xvcjogJGJ1dHRvbi1jb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KTtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICfigJMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcbiAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmdWFsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbixcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNhcmQtZm9udC1jb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbiBob3ZlcmVkIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGZvciBib3JkZXJlZCBtZW51XG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIG1hcmdpbjogJG1lbnUtbWFyZ2luO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtcyBhcmUgdGFibGUgY2VsbCB0byBhbGxvdyBmb3IgdmVydGljYWwgYWxpZ25tZW50XG4gID4gbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IGxpbmUgaGVpZ2h0IHRvIG1ha2UgdGhlIGhlaWdodCBvZiB0aGUgb3ZlcmFsbCBpdGVtIGVhc2llciB0byBjYWxjdWxhdGVcbiAgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgPiBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgfVxuXG4gID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICA+IGxpICA+IGEge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuQG1peGluIG1lbnUtc2ltcGxlIHtcbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogZ2V0LXNpZGUoJG1lbnUtaXRlbS1wYWRkaW5nLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkcGFkZGluZyBbYXV0b10gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbkBtaXhpbiBtZW51LW5lc3RlZCgkbWFyZ2luOiAkbWVudS1tYXJnaW4tbmVzdGVkKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG59XG5cbi8vLyBBZGRzIHN1cHBvcnQgZm9yIGljb25zIHRvIE1lbnUgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW3NpZGVdIC0gUG9zaXRpb25pbmcgZm9yIGljb25zLiBDYW4gYmUgYHNpZGVgIChsZWZ0LCBvciByaWdodCBvbiBSVEwpIG9yIGB0b3BgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCB0aGUgc2hhcmVkIENTUyBiZXR3ZWVuIHNpZGUtIGFuZCB0b3AtYWxpZ25lZCBpY29ucyBmcm9tIGJlaW5nIHByaW50ZWQuIFNldCB0aGlzIHRvIGBmYWxzZWAgaWYgeW91J3JlIGNhbGxpbmcgdGhlIG1peGluIG11bHRpcGxlIHRpbWVzIG9uIHRoZSBzYW1lIGVsZW1lbnQuXG5AbWl4aW4gbWVudS1pY29ucygkcG9zaXRpb246IHNpZGUsICRiYXNlOiB0cnVlKSB7XG4gIEBpZiAkYmFzZSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICArIHNwYW4ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHBvc2l0aW9uID09IHNpZGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1lbnUtaWNvbi1zcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBpY29uc1xuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucyh0b3AsICRiYXNlOiBmYWxzZSk7XG4gICAgICAvLyBNYWtlIHZlcnRpY2FsIG1lbnUgd2l0aCBpY29ucyBvbiB0b3Agd29ya1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIGEgPiBzcGFuIHtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAvLyBNZW51IHdpdGggYm9yZGVyXG4gICAgJi5tZW51LWJvcmRlcmVkIHtcbiAgICAgIGxpIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG1lbnUtYm9yZGVyO1xuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWVudSB3aXRoIGJhY2tncm91bmQgaG92ZXJcbiAgICAmLm1lbnUtaG92ZXIge1xuICAgICAgbGk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICB9XG5cbiAgLy8gQWxpZ24gY2VudGVyXG4gIC5tZW51LWNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICA+IC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG4gICYuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZS4jeyRuYW1lfSB7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG5AbWl4aW4gbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06IDEuNXJlbTtcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLCAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDEyKSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6IDApIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAmLnRvcDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG5cbiAgJi5sZWZ0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICAmLnJpZ2h0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCBsZWZ0KSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIio6Zm9jdXMgeyBvdXRsaW5lOiAwOyB9XG5cbmJvZHlbZGF0YS13aGF0aW5wdXQ9XCJrZXlib2FyZFwiXSA6Zm9jdXMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgJHByaW1hcnktY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLm5vLXNjcm9sbCB7IG92ZXJmbG93OiBoaWRkZW4haW1wb3J0YW50OyB9XG4iLCJoMSxoMixoMyxoNCxoNSxoNixcbnAsXG5hLFxuc3BhbixcbmVtLFxuc3Ryb25nLFxuYmxvY2txdW90ZSxcbmNpdGUge1xuXG4gICYuaW5saW5lIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbiAgJi51YyB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuICAmLndoaXRlIHsgY29sb3I6IHdoaXRlOyB9XG5cbiAgJi5wcmltYXJ5IHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yOyB9XG5cbiAgJi53LXNoYWRvdyB7IHRleHQtc2hhZG93OiAwcHggMnB4IHJnYmEoMCwwLDAsMC4xKTsgfVxuXG4gICYudy10aXRsZS1saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgbGVmdDogLTFyZW07XG4gICAgICB0b3A6IDcwJTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMnJlbSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgaGVpZ2h0OiByZW0tY2FsYygxMCk7IH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogNzMlO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYpO1xuICAgICAgICBsZWZ0OiAtMC4ycmVtO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMC40cmVtKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgZm9udC1zaXplOiAyMjAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZm9udC1zaXplOiAxODAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5wIHtcbiAgZm9udC1zaXplOiAxMDUlO1xuICBsaW5lLWhlaWdodDogMS44O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBsaW5lLWhlaWdodDogMS43O31cblxuICAmLmxhcmdlciB7IGZvbnQtc2l6ZTogMTIwJTsgfVxuXG4gICYudGFnbGluZSB7XG4gICAgZm9udC1zaXplOiAxNjAlO1xuICAgIG1hcmdpbjogMCAwIDJyZW07XG4gIH1cbn1cblxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1mYW1pbHk6ICRnb3RoYW0tbWVkaXVtO1xuICBjb2xvcjogIzMzMztcbn1cblxuYmxvY2txdW90ZSB7XG4gIGZvbnQtZmFtaWx5OiAkZ290aGFtLWJvbGQ7XG4gIGZvbnQtc2l6ZTogMTUwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIH1cbn1cblxub2wgeyBjb3VudGVyLXJlc2V0OiBpdGVtOyB9XG5vbCBsaSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5vbCBsaTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGNvdW50ZXIoaXRlbSkgXCIuIFwiO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBpdGVtO1xuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLW1lZGl1bTtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwJTtcbn1cblxuLmZsYXRpY29uIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4iLCIkc20tdW5pdDogMXJlbTtcbiRtZWQtdW5pdDogNHJlbTtcbiRsZy11bml0OiA2cmVtO1xuXG4ubm8tbWcgeyBtYXJnaW46IDAhaW1wb3J0YW50OyB9XG4ubm8tcGFkIHsgcGFkZGluZzogMCFpbXBvcnRhbnQ7IH1cblxuLmxnLXBhZC1sZWZ0IHsgcGFkZGluZy1sZWZ0OiAkbGctdW5pdDsgfVxuXG4ubGctbWctYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJGxnLXVuaXQ7IH1cbi5zbS1tZy1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkc20tdW5pdDsgfVxuIiwiLnNpdGUtZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC0xODBkZWcsICMyZDJkMmQgMiUsICMzMzMzMzMgMTAwJSk7XG4gIHBhZGRpbmc6IDFyZW0gNSUgNHJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KDMzMCkgeyBwYWRkaW5nOiA0cmVtIDUlO31cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMTAwKSB7IHBhZGRpbmc6IDRyZW0gMiU7IH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMjAwKSB7IHBhZGRpbmc6IDRyZW0gNSU7IH1cblxuICAuc2l0ZS1oZWFkZXJfX3RpdGxlLFxuICAuc2l0ZS1oZWFkZXJfX2xvZ28sIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg3MTApIHtcbiAgICAuc2l0ZS1oZWFkZXJfX2xvZ28ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5zaXRlLWhlYWRlcl9fdGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBmb250LXNpemU6IDEzMCU7XG4gICAgICBtYXJnaW46IDAgcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgfVxufVxuXG4uc2l0ZS1mb290ZXItdG9wLFxuLnNpdGUtZm9vdGVyLW1pZGRsZSxcbi5zaXRlLWZvb3Rlci1ib3R0b20sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc2l0ZS1mb290ZXItbWlkZGxlIHtcbiAgcGFkZGluZzogM3JlbSAwIDFyZW07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg1MjApIHtcbiAgICBwYWRkaW5nOiAzcmVtIDA7XG4gIH1cbn1cblxuLnNpdGUtZm9vdGVyLWJvdHRvbSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KDcxMCkge1xuICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDQpO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDgwKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4uc2l0ZS1mb290ZXItc29jaWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgzMzApIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzEwKSB7XG4gICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMXJlbSAwLjFyZW0gMDtcbiAgICBzdmcgeyB3aWR0aDogcmVtLWNhbGMoMzUpOyB9XG4gICAgc3ZnICoge1xuICAgICAgZmlsbDogIzY2NjtcbiAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4ycyBlYXNlO1xuICAgIH1cblxuICAgICY6aG92ZXIgc3ZnICogeyBmaWxsOiAkcHJpbWFyeS1jb2xvcjsgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1MjApIHtcbiAgICAgIHBhZGRpbmc6IDAuMXJlbSAwLjJyZW0gMDtcbiAgICAgIHN2ZyB7IHdpZHRoOiByZW0tY2FsYygzMCk7IH1cbiAgICB9XG4gIH1cbn1cblxuLnNpdGUtZm9vdGVyLW5hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9yZGVyOiAyO1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg3MTApIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KDEwODApIHtcbiAgICBvcmRlcjogMTtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICB1bCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNTApO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tbWVkaXVtO1xuICAgIGNvbG9yOiAkb2ZmLXdoaXRlO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICB9XG5cbiAgJl9fbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMC4ycmVtIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgJiwgJjpmb2N1cywgJjp2aXNpdGVkIHsgY29sb3I6ICRtZWRpdW0tZ3JheTsgfVxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGxpZ2h0ZW4oJHByaW1hcnktY29sb3IsIDQlKTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5zaXRlLWZvb3Rlci1mb3JtIHtcbiAgbWFyZ2luOiAwIGF1dG8gMXJlbTtcbiAgbWF4LXdpZHRoOiByZW0tY2FsYygzNjApO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBvcmRlcjogMTtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzEwKSB7XG4gICAgbWFyZ2luOiAwIGF1dG8gM3JlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTA4MCkge1xuICAgIG9yZGVyOiAyO1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQ6IDExMCUvMTAwJSAkZ290aGFtLW1lZGl1bTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoMTApO1xuXG4gICAgLmZsYXRpY29uIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yOyB9XG4gIH1cblxuICAmX19kZXNjIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250OiA4NSUvMTUwJSAkZ290aGFtLWJvb2s7XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1MjApIHsgZm9udC1zaXplOiA5NSU7IH1cbiAgfVxuXG4gICYtZmllbGRzIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiAgJl9fbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbS1jYWxjKDYpO1xuICAgIGxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgb3BhY2l0eTogMC4xNTtcbiAgICBmb250LXNpemU6IDEwNSU7XG4gICAgY3Vyc29yOiB0ZXh0O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJl9fZW1haWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTI1MjU7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNTApO1xuICAgIG1hcmdpbjogMCAwIDAuMnJlbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiAwcHggc29saWQgJHByaW1hcnktY29sb3I7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTI5Mjk7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAmICsgLnNpdGUtZm9vdGVyLWZvcm1fX2xhYmVsIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tbWVkaXVtO1xuICAgICAgICBmb250LXNpemU6IDg1JTtcbiAgICAgICAgdG9wOiByZW0tY2FsYygtMjUpO1xuICAgICAgICBvcGFjaXR5OiAwLjc1O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3N1Ym1pdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogcmVtLWNhbGMoNCk7XG4gICAgcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMC40NXJlbTtcbiAgICBmb250LXNpemU6IDEyMCU7XG4gIH1cblxuICAmX19kaXNjbGFpbWVyIHtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIGZvbnQtc2l6ZTogNzAlO1xuICB9XG5cbiAgJl9fbWVzc2FnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjUyNTI1O1xuICAgIG1hcmdpbjogMC41cmVtIDAgMDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICAgIC5mbGF0aWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG4gICAgfVxuXG4gICAgJi5zdWNjZXNzIC5mbGF0aWNvbiB7IGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpOyB9XG4gICAgJi53YXJuaW5nIC5mbGF0aWNvbiB7IGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpOyB9XG4gIH1cbn1cblxuLnNpdGUtZm9vdGVyX19jb3B5cmlnaHQge1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6IGRhcmtlbigkbWVkaXVtLWdyYXksIDEwJSk7XG4gIG1hcmdpbjogMnJlbSAwIDA7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIG9yZGVyOiAyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoNTIwKSB7XG4gICAgZm9udC1zaXplOiA5MCU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KDEwODApIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgIG9yZGVyOiAxO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGEsIGE6Zm9jdXMsIGE6dmlzaXRlZCB7IGNvbG9yOiBkYXJrZW4oJG1lZGl1bS1ncmF5LCAxMCUpOyB9XG59XG5cbi5zaXRlLWZvb3Rlci1jb250YWN0IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIG9yZGVyOiAxO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTA4MCkge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgb3JkZXI6IDI7XG4gIH1cbn1cblxuLnNpdGUtZm9vdGVyLWJvdHRvbV9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNzAlO1xuICBtYXJnaW46IDAuNXJlbSBhdXRvO1xuICAmLCAmOmZvY3VzLCAmOnZpc2l0ZWQgeyBjb2xvcjogJG9mZi13aGl0ZTsgfVxuICAmOmhvdmVyIHsgY29sb3I6IGxpZ2h0ZW4oJHByaW1hcnktY29sb3IsIDQlKTsgfVxuICBwYWRkaW5nOiAwLjI1cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMTEwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KDUyMCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICB9XG59XG4iLCIvKipcbiAqIFNpdGUgSGVhZGVyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGhpcyBoZWFkZXIgaXMgZ2xvYmFsIHRvIHRoZSBlbnRpcmUgc2l0ZS4gVGhlcmUgYXJlIHZhcmlvdXMgbG9va3Mgb2YgdGhlXG4gKiBoZWFkZXIgaW5jbHVkaW5nIGEgZGFyayBiYXIgLSBkZWZhdWx0LCAtLXRyYW5zcGFyZW50IChvdmVyIGhlcm8gaW1hZ2UpLCBhbmRcbiAqIC0tbGlnaHQgdGhlbWUgd2hpY2ggY29udmVydHMgYWxsIHRleHQgY29sb3JzIHRvIGRhcmtcbiAqL1xuXG4vLyBCbG9ja1xuLnNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAyJTtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC0xOTBkZWcsICMzMzMgMCUsICMyMTIxMjEgMTIwJSk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg3MTApIHsgcGFkZGluZzogMC43NSUgNSU7IH07XG5cbiAgLy8gRWxlbWVudHNcblxuICAmX19sb2dvIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDcxMCkgeyBoZWlnaHQ6IHJlbS1jYWxjKDQwKTsgfVxuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzNCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDcxMCkgeyB3aWR0aDogcmVtLWNhbGMoNDApOyB9XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgcmVtLWNhbGMoNikgMCByZW0tY2FsYygxMCk7XG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tbWVkaXVtO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgLnN0cm9uZyB7IGZvbnQtZmFtaWx5OiAkZ290aGFtLWJvbGQ7IH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMzMwKSB7IGZvbnQtc2l6ZTogMTA1JTt9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1NTApIHsgZm9udC1zaXplOiAxMTAlO31cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzEwKSB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB3aWR0aDogMDsgaGVpZ2h0OiAwO1xuICAgICAgZm9udC1zaXplOiAxMzAlO1xuICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAzNSkge1xuICAgICAgd2lkdGg6IGF1dG87IGhlaWdodDogYXV0bztcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBtYXJnaW46IDAgcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgIC5zaXRlLWhlYWRlci0tbGlnaHQtdGhlbWUgJiB7IGNvbG9yOiAjMjIyOyB9XG4gIH1cblxuICAvLyBNb2RpZmllcnNcblxuICAmLS10cmFuc3BhcmVudCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMyUgMiUgMiU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg3MTApIHsgcGFkZGluZzogMiUgNSUgMDsgfTtcbiAgfVxufVxuXG5cbi8qKlxuICogUGFnZSBIZWFkZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBUaGlzIGlzIG1vcmUgb2YgYSBzZW1hbnRpYyBjbGFzc2lmaWNhdGlvbi4gU3R5bGUgd2lzZSB5b3UgY2FuIGFkZCB0aGVcbiAqIG1vZGlmaWVyIG9mIC0taGVybyB0byBhZGQgc3R5bGVzIHJlc3BlY3RpdmUgb2YgYSBiYWNrZ3JvdW5kIGhlcm8gaW1hZ2UuXG4gKi9cblxuLy8gQmxvY2tcbi5wYWdlLWhlYWRlciB7XG5cbiAgLy8gRWxlbWVudHNcblxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxMjAlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICRsaWdodC10ZXh0O1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg1NTApO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgLmNvbHVtbiAmIHsgbWFyZ2luOiAwOyB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTEwJTtcbiAgICB9XG4gIH1cblxuICAvLyBNb2RpZmllcnNcblxuICAmLS1oZXJvIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMDApIDAgM3JlbTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg4MCk7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlcyBleHRyYSBwYWRkaW5nIGlmIG5vdCBhIHRyYW5zcGFyZW50IHNpdGUgaGVhZGVyXG4gICAgLnNpdGUtaGVhZGVyOm5vdCguc2l0ZS1oZWFkZXItLXRyYW5zcGFyZW50KSArIG1haW4gJiB7IHBhZGRpbmctdG9wOiAycmVtOyB9XG4gIH1cbn1cbiIsIi5zaXRlLW5hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzEwKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgJl9fbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTA1JTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogOTglO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi5tZW51IC5pcy1hY3RpdmUgJiB7IGNvbG9yOiAkb2ZmLXdoaXRlOyB9XG4gICAgJiwgJjpob3ZlciwgJjpmb2N1cywgJjp2aXNpdGVkIHsgY29sb3I6ICRvZmYtd2hpdGU7IH1cblxuICAgIC5zaXRlLWhlYWRlci0tbGlnaHQtdGhlbWUgJixcbiAgICAuc2l0ZS1oZWFkZXItLWxpZ2h0LXRoZW1lICY6aG92ZXIsXG4gICAgLnNpdGUtaGVhZGVyLS1saWdodC10aGVtZSAmOmZvY3VzLFxuICAgIC5zaXRlLWhlYWRlci0tbGlnaHQtdGhlbWUgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0wLjJyZW0haW1wb3J0YW50O1xuICAgICAgbGVmdDogMC45cmVtO1xuICAgICAgcmlnaHQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjhyZW0pO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB9XG4gIH1cblxuICAmX19zdWJ0ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbn1cblxuLnNpdGUtbmF2LXN1Ym1lbnUge1xuICBwYWRkaW5nOiByZW0tY2FsYyg4KSAwO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAqIDEuNTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA2cHggcmdiYSgwLDAsMCwwLjAyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE4MTgxODtcblxuICAuc2l0ZS1oZWFkZXItLWxpZ2h0LXRoZW1lICYgeyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4gICZfX2xpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDkwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gICAgJiwgJjp2aXNpdGVkLCAmOmZvY3VzIHsgY29sb3I6ICRsaWdodC1ncmF5OyB9XG5cbiAgICAuc2l0ZS1oZWFkZXItLWxpZ2h0LXRoZW1lICYsXG4gICAgLnNpdGUtaGVhZGVyLS1saWdodC10aGVtZSAmOnZpc2l0ZWQsXG4gICAgLnNpdGUtaGVhZGVyLS1saWdodC10aGVtZSAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjNDQ0O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDQpO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4wNSk7XG5cbiAgICAgIC5zaXRlLWhlYWRlci0tbGlnaHQtdGhlbWUgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4wNCk7XG4gICAgICAgIGNvbG9yOiAjMjIyO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7IHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9XG4gICAgfVxuXG4gICAgLnNpdGUtaGVhZGVyLS1kYXJrLXRleHQgJixcbiAgICAuc2l0ZS1oZWFkZXItLWRhcmstdGV4dCAmOnZpc2l0ZWQsXG4gICAgLnNpdGUtaGVhZGVyLS1kYXJrLXRleHQgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGRhcmstZ3JheTtcblxuICAgICAgJjpob3ZlciB7IGNvbG9yOiAjMjIyOyB9XG4gICAgfVxuICB9XG5cbiAgJl9fZGl2aWRlciB7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjA1KTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDYpIDA7XG5cbiAgICAuc2l0ZS1oZWFkZXItLWxpZ2h0LXRoZW1lICYgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMDUpOyB9XG4gIH1cbn1cblxuLnNpdGUtbmF2LW1vYmlsZS1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZzogMC41cmVtIDAuNXJlbSAwLjVyZW0gMS41cmVtO1xuICBmb250LWZhbWlseTogJGdvdGhhbS1ib29rO1xuICBmb250LXNpemU6IDk1JTtcbiAgY29sb3I6ICRvZmYtd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg3MTApIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogM3B4O1xuICAgIGhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgfVxuXG4gIC5mbGF0aWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg1KTtcbiAgICBmb250LXNpemU6IDE2MCU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgLmZsYXRpY29uIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yOyB9XG4gIH1cbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTM1JSk7XG4gIHJpZ2h0OiByZW0tY2FsYygwKTtcbiAgZm9udC1mYW1pbHk6ICdGbGF0aWNvbnMgU3Ryb2tlJztcbiAgZm9udC1zaXplOiA3MCU7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgY29udGVudDogXCJcXGU1YTlcIjtcbiAgb3BhY2l0eTogMC40O1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIC8qXG4gIEV2ZXJ5IHN1Ym1lbnUgaGFzIGEgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIiBjb3VwbGVkIHdpdGggdGhpcyAhaW1wb3J0YW50IHJ1bGUsXG4gIFdpdGhvdXQgaXQgd291bGQgcmVzdWx0IGluIGEgZmxhc2ggb2YgdGhlIHN1Ym1lbnUgb24gcGFnZSBsb2FkXG4gICovXG4gIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICB0cmFuc2l0aW9uOlxuICAgIG9wYWNpdHkgMC4xcyBsaW5lYXIsXG4gICAgdHJhbnNmb3JtIDAuMXMgbGluZWFyO1xuXG4gICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5cbi5tb2JpbGUtc2l0ZS1uYXYge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBkaXNwbGF5OiBub25lOyB9XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMDA7XG4gIGJvdHRvbTogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtMTkwZGVnLCAjMjIyIDAlLCAjMTUxNTE1IDEyMCUpO1xuICBib3gtc2hhZG93OiAwcHggNHB4IDMwcHggcmdiYSgwLDAsMCwwLjUpO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlO1xuXG4gICYub3BlbmVkIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDJyZW0gMi42cmVtIDAgMnJlbTtcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzUpO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNSk7XG4gICAgfVxuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gIH1cblxuICAmX19jbG9zZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LWZhbWlseTogJGdvdGhhbS1tZWRpdW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxODAlO1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMDtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYm9vaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDU1JTtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMik7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgICBjb2xvcjogI2YwZjBmMDtcbiAgICB9XG5cbiAgICAmLCAmOmhvdmVyLCAmOnZpc2l0ZWQsICY6Zm9jdXMgeyBjb2xvcjogI2YwZjBmMDsgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC42cmVtIDAgMC40cmVtO1xuICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICBjb2xvcjogI2Y1ZjVmNTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjAyKTtcblxuICAgICY6aG92ZXIgeyBjb2xvcjogJHByaW1hcnktY29sb3I7IH1cblxuICAgIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdICYsXG4gICAgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gJjp2aXNpdGVkLFxuICAgIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdICY6Zm9jdXMsXG4gICAgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gJjphY3RpdmUsXG4gICAgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gJjpob3ZlciB7IGNvbG9yOiAjZjVmNWY1OyB9XG4gIH1cblxuICBsaTpsYXN0LWNoaWxkIC5tb2JpbGUtc2l0ZS1uYXZfX2l0ZW0ge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICZfX3N1Yi1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMCAwLjc1cmVtIDAuNzVyZW07XG5cbiAgICAmOmhvdmVyIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yOyB9XG5cbiAgICBbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSAmLFxuICAgIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdICY6dmlzaXRlZCxcbiAgICBbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSAmOmZvY3VzLFxuICAgIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdICY6YWN0aXZlLFxuICAgIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdICY6aG92ZXIgeyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpOyB9XG5cbiAgICBzbWFsbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogUGFnZSBTZWN0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2ltcGxlIHNlY3Rpb24gd2l0aCBwYWRkaW5nIG9uIHRvcCBhbmQgYm90dG9tLiBBIHN0YXJ0aW5nIHBvaW50IHRvIHByb3ZpZGVcbiAqIGNvbnNpc3RlbnQgc2VjdGlvbiBwYWRkaW5nLlxuICovXG5cbi8vIEJsb2NrXG4ucGFnZS1zZWN0aW9uIHtcbiAgcGFkZGluZzogcmVtLWNhbGMoNTApIDAgcmVtLWNhbGMoNzUpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTAwKSAwO1xuICB9XG5cbiAgLy8gRWxlbWVudHNcblxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxMTAlO1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg4MDApO1xuICAgIG1hcmdpbjogMXJlbSBhdXRvO1xuICB9XG5cbiAgLy8gTW9kaWZpZXJzXG5cbiAgJi0td2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgJi0taW1hZ2Uge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cblxuICAmLS1ncmFkaWVudCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KDUwJSAxMDAlLCAjRkZGRkZGIDAlLCAjZTUxNzE3IDEwMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtOTBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMC4zMCkgMCUsIHJnYmEoMjQ3LDI0NywyNDcsMC41MCkgMTAwJSk7XG4gIH1cbn1cblxuLmNhbGxvdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDNyZW07XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICogMjtcbn1cblxuLmNhbGxvdXQtaWNvbiB7XG4gIGZvbnQtc2l6ZTogNDAwJTtcbiAgb3BhY2l0eTogMC4yNTtcbn1cblxuXG4vKipcbiAqIFNpZGUgSW1hZ2UgU2VjdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFRoaXMgc2VjdGlvbiBmZWF0dXJlcyBhIGZ1bGwgaGVpZ2h0IGltYWdlIG9uIHRoZSBzaWRlIG9mIGdlbmVyYWwgY29udGVudC5cbiAqL1xuXG4vLyBCbG9ja1xuLnNpZGUtaW1hZ2Utc2VjdGlvbiB7XG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyLCBzdHJldGNoKTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcblxuICAvLyBFbGVtZW50c1xuXG4gICZfX2ltYWdlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1xuICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoMSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKDIpO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMDApO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XG4gICAgQGluY2x1ZGUgZmxleC1vcmRlcigyKTtcbiAgICBwYWRkaW5nLXRvcDogMTFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDExcmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoMSk7XG4gICAgICBwYWRkaW5nOiA0cmVtIDA7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudC13cmFwcGVyIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoNTUwKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8qKlxuICogSGFsZiBTZWN0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQSBzaW1wbGUgNTAlIHdpZHRoIHNlY3Rpb24gd2l0aCBhIHNsaWdodCBndXR0ZXIgaW4gdGhlIG1pZGRsZS5cbiAqL1xuXG4vLyBCbG9ja1xuLmhhbGYtc2VjdGlvbnMge1xuICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuICBAaW5jbHVkZSBmbGV4LWFsaWduKGNlbnRlciwgc3RyZXRjaCk7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8vIEJsb2NrXG4uaGFsZi1zZWN0aW9uIHtcbiAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG4gIHBhZGRpbmc6IDVyZW0gMXJlbTtcbiAgbWFyZ2luOiAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoODAwKSB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcbiAgICBwYWRkaW5nOiA2cmVtIDA7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBFbGVtZW50c1xuXG4gIHAge1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoNTUwKTtcbiAgICBtYXJnaW46IDFyZW0gYXV0bztcbiAgfVxufVxuXG5cbi8qKlxuICogVGV4dCBTZWN0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQSBzaW1wbGUgc2VjdGlvbiBmb3IgYXJ0aWNsZSBvciBibG9nIGxpa2UgdGV4dFxuICovXG5cbiAvLyBCbG9ja1xuIC50ZXh0LXNlY3Rpb24ge1xuICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcbiAgIG1heC13aWR0aDogcmVtLWNhbGMoODAwKTtcbiAgIHBhZGRpbmc6IDJyZW0gMS41cmVtO1xuICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZzogM3JlbSAxcmVtOyB9XG4gICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHBhZGRpbmc6IDRyZW0gMDsgfVxuXG4gICAvLyBFbGVtZW50c1xuXG4gICAmX19oZWFkZXIge1xuICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgd2lkdGg6IDEwMCU7XG4gICAgIHBhZGRpbmc6IDJyZW0gMCAxcmVtO1xuICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgcmdiYSgwLDAsMCwwLjA0KTtcbiAgICAgbWFyZ2luOiAwIGF1dG8gMnJlbTtcblxuICAgICAmOmZpcnN0LWNoaWxkIHsgcGFkZGluZy10b3A6IDA7IH1cbiAgIH1cblxuICAgYmxvY2txdW90ZSB7XG4gICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgICBib3JkZXItd2lkdGg6IDZweDtcblxuICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICBmb250LXNpemU6IDExMCU7XG4gICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgfVxuICAgfVxuXG4gICBwIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgLnRleHQtc2VjdGlvbl9faGVhZGVyIHtcbiAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgZm9udC1zaXplOiAxODAlO1xuICAgICB9XG4gICB9XG4gfVxuIiwiLmFjY29yZGlvbiB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCByZ2JhKDAsMCwwLDAuMDUpO1xuICBmb250LWZhbWlseTogJGdvdGhhbS1tZWRpdW07XG4gIGZvbnQtc2l6ZTogMTMwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICAmOmhvdmVyIHsgY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcjsgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICdGbGF0aWNvbnMgU3Ryb2tlJztcbiAgICBmb250LXNpemU6IDkwJTtcbiAgICBzcGVhazogbm9uZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICBjb250ZW50OiAnXFxlNWEwJ1xuICB9XG59XG5cbi5hY2NvcmRpb24tY29udGVudCB7IGZvbnQtc2l6ZTogMTA1JTsgfVxuXG4uaXMtYWN0aXZlPi5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU1YTEnOyB9XG5cbi5hY2NvcmRpb24tdGl0bGU6Zm9jdXMsIC5hY2NvcmRpb24tdGl0bGU6dmlzaXRlZCB7IGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3I7IH1cbiIsIi5hbm5vdW5jZW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiNlNTE3MTc7XG4gIHBhZGRpbmc6IDEycHg7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoNjAwKSB7IHBhZGRpbmc6IDhweDsgfVxuXG4gICZfX3RleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAnR290aGFtSFRGTWVkaXVtJztcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBmb250LXNpemU6IDkwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNjAwKSB7IGZvbnQtc2l6ZTogMTAwJTsgfVxuICB9XG5cbiAgJl9fbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlO1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xuICAgIH1cbiAgfVxuXG4gICYtLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgfVxufSIsIi8qKlxuICogQmlvIENvbXBvbmVudFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFRoaXMgd2lsbCBwcm92aWRlIGEgYmlvIHNlY3Rpb24gdGhhdCBmZWF0dXJlcyBhIHBvcnRyYWl0IGltYWdlIGFuZCBhIGJsb2NrXG4gKiBmb3IgdGl0bGVzLCBhbmQgcGFyYWdyYXBoIGRlc2NyaXB0aW9ucyB3aXRoIG9wdGlvbmFsIGxpbmtzLlxuICpcbiAqIDxzZWN0aW9uIGNsYXNzPVwiYmlvXCI+XG4gKiAgIDxkaXYgY2xhc3M9XCJiaW9fX2NvbnRlbnQtYmxvY2tcIj5cbiAqICAgICAuLi4gYmlvIGNvbnRlbnQgLi4uXG4gKiAgIDwvZGl2PlxuICogICA8ZGl2IGNsYXNzPVwiYmlvX19pbWFnZS1ibG9ja1wiPlxuICogICAgIDxpbWcgY2xhc3M9XCJiaW9fX2ltYWdlXCIgc3JjPVwiXCIgYWx0PVwiXCI+XG4gKiAgIDwvZGl2PlxuICogPC9zZWN0aW9uPlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vLyBCbG9ja1xuLmJpbyB7XG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyLCB0b3ApO1xuICBwYWRkaW5nOiByZW0tY2FsYygxMCAwIDEwMCk7XG5cbiAgLy8gRWxlbWVudHNcblxuICAmX19pbWFnZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSk7XG4gICAgQGluY2x1ZGUgZmxleC1vcmRlcigxKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpOyB9XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgKiAyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgfVxuXG4gICZfX2NvbnRlbnQtYmxvY2sge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xuICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoMik7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG4iLCJibG9ja3F1b3RlIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxufVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbn1cbiIsIi5idXR0b24ge1xuICBmb250LWZhbWlseTogJGdvdGhhbS1tZWRpdW07XG5cbiAgJi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA5NSU7XG4gIH1cblxuICAmOm5vdCguaG9sbG93KS53aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwwLDAsMC4wNCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYuaG9sbG93LndoaXRlIHtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gICYuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzMzMztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3IhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYudy1pY29uIHtcbiAgICAuZmxhdGljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOjExMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG4gIH1cblxuICAmLmZ1bGwtd2lkdGgge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvKipcbiAqIENvZGUgU2xpZGVyIENvbXBvbmVudFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFRoaXMgaXMgYSBjb21wbGV4IHNlY3Rpb24gY29tcG9uZW50IHRoYXQgZmVhdHVyZXMgYSBuYXZpY2FibGUgc2xpZGVyIG9mIGNvZGVcbiAqIGl0ZW1zIGFuZCB0aGVpciBkZXNjcmlwdGlvbnMuXG4gKlxuICogPHNlY3Rpb24gY2xhc3M9XCJjb2RlLXNsaWRlclwiPlxuICogICA8ZGl2IGNsYXNzPVwiY29kZS1zbGlkZXJfX2hlYWRlclwiPlxuICogICAgIC4uLiBoZWFkZXIgdGl0bGUgLi4uXG4gKiAgICAgPHNwYW4gY2xhc3M9XCJjb2RlLXNsaWRlcl9fc3VidGl0bGVcIj4gLi4uIHN1YnRpdGxlIC4uLiA8L3NwYW4+XG4gKiAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjb2RlLXNsaWRlcl9fbGlua1wiPiAuLi4gbGluayAuLi4gPC9idXR0b24+XG4gKiAgIDwvZGl2PlxuICpcbiAqICAgPGRpdiBjbGFzcz1cImNvZGUtc2xpZGVyX19jb250ZW50XCI+XG4gKiAgICAgPGRpdiBjbGFzcz1cImNvZGUtc2xpZGVyX19zdGVwc1wiPlxuICogICAgICAgPHNwYW4gY2xhc3M9XCJjb2RlLXNsaWRlcl9fc3RlcHMtdGV4dFwiPiAuLi4gc3RlcHMgLi4uIDwvc3Bhbj5cbiAqICAgICA8L2Rpdj5cbiAqICAgICA8dWwgY2xhc3M9XCJjb2RlLXNsaWRlcl9faXRlbXNcIj5cbiAqICAgICAgIDxsaSBjbGFzcz1cImNvZGUtc2xpZGVyX19pdGVtXCI+XG4gKiAgICAgICAgIDxoMiBjbGFzcz1cImNvZGUtc2xpZGVyX19pdGVtLXRpdGxlXCI+XG4gKiAgICAgICAgICAgLi4uIGNvZGUgaXRlbSB0aXRsZSAuLi5cbiAqICAgICAgICAgPC9oMj5cbiAqICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb2RlLXNsaWRlcl9faXRlbS1zdWJ0aXRsZVwiPlxuICogICAgICAgICAgIC4uLiBjb2RlIGl0ZW0gZGVzY3JpcHRpb24gLi4uXG4gKiAgICAgICAgIDwvc3Bhbj5cbiAqICAgICAgIDwvbGk+XG4gKiAgICAgPC91bD5cbiAqICAgPC9kaXY+XG4gKiA8L3NlY3Rpb24+XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8vIEJsb2NrXG4uY29kZS1zbGlkZXIge1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IG1hcmdpbjogcmVtLWNhbGMoLTQwKSAwIDA7IH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMTEwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICAvLyBFbGVtZW50c1xuXG4gICZfX2hlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MDApO1xuICAgIHBhZGRpbmc6IDNyZW07XG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL3Bob3RvLmpwZykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMTEwKSB7XG4gICAgICBmbGV4OiAxIDAgMDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDUwMCk7XG4gICAgICBwYWRkaW5nOiA0cmVtIDAgM3JlbSA0cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGJvcmRlci10b3A6IHJlbS1jYWxjKDUwKSBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoNTApIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxMjAlO1xuICAgIGNvbG9yOiAkb2ZmLXdoaXRlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJl9fbGluayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogcmVtLWNhbGMoMjYwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTExMCkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBsZWZ0OiA1cmVtO1xuICAgICAgYm90dG9tOiAzcmVtO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoNjAwKTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKC0yNDApIGF1dG8gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIHBhZGRpbmc6IDJyZW0gMi41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICogMjtcbiAgICBib3gtc2hhZG93OiAkZ2xvYmFsLXNoYWRvdy1sYXJnZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6IDNyZW0gNXJlbSAzcmVtIDVyZW07IH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTExMCkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDYwMCk7XG4gICAgICBmbGV4OiAwIDEgMDtcbiAgICAgIHBhZGRpbmc6IDVyZW07XG4gICAgICBtYXJnaW46IDAgMyUgMCAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTIzMCkge1xuICAgICAgbWluLXdpZHRoOiByZW0tY2FsYyg3MDApO1xuICAgIH1cbiAgfVxuXG4gICZfX3N0ZXBzLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTQwJTtcbiAgICBmb250LWZhbWlseTogJGdvdGhhbS1ib2xkO1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcblxuICAgICNjdXJyZW50Q29kZUl0ZW0geyBjb2xvcjogJGRhcmstZ3JheTsgfVxuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoMjUwKTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19pdGVtIHsgZGlzcGxheTogbm9uZTsgfVxuICAmX19pdGVtOmZpcnN0LWNoaWxkIHsgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbiAgJl9faXRlbS10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgZm9udC1zaXplOiAyMDAlOyB9XG4gIH1cblxuICAmX19pdGVtLXN1YnRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJGdvdGhhbS1tZWRpdW07XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBmb250LXNpemU6IDEyMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiByZW0tY2FsYygxMCkgMDtcbiAgICBsaW5lLWhlaWdodDoxLjQ7XG4gIH1cblxuICAmX19uYXYgeyB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4gICZfX2Fycm93IHtcbiAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgZm9udC1zaXplOiAzMDAlO1xuICB9XG59XG4iLCIvKipcbiogQ3Jhc2ggQ291cnNlIFNlY3Rpb24gQ29tcG9uZW50XG4qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qIFRoaXMgaXMgYSBzcGVjaWZpYyBsYXlvdXQgZm9yIHRoZSBzZWN0aW9uIGRlc2NyaWJpbmcgY3Jhc2ggY291cnNlLiBJdCBuZWVkZWRcbiogaXQncyBvd24gY29tcG9uZW50IGJlY2F1c2Ugb2YgdGhlIHNwZWNpZmljaXR5IG9mIHRoZSBhaXJwbGFuZSBiZyBhbmQgY29udGVudC5cbipcbiogPHNlY3Rpb24gY2xhc3M9XCJjcmFzaC1jb3Vyc2VcIj5cbiogIDxkaXYgY2xhc3M9XCJjcmFzaC1jb3Vyc2VfX3dyYXBwZXJcIj5cbiogICAgLi4uIHNlY3Rpb24gY29udGVudCAuLi5cbiogIDwvZGl2PlxuKiA8L3NlY3Rpb24+XG4qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5cbi8vIEJsb2NrXG4uY3Jhc2gtY291cnNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDE1MCAwIDIwMCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9jcmFzaC1jb3Vyc2UtMDIuanBnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMzAlIDEwMCU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg2NTApIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4MCUgY2VudGVyO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogNHJlbSAwIDEycmVtO1xuICB9XG5cbiAgLy8gRWxlbWVudHNcblxuICAmX193cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg4MDApO1xuICB9XG5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luOiAwIDAgLTAuNXJlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDUwMCk7XG4gICAgbWFyZ2luOiAwIGF1dG8gMXJlbSAwO1xuICB9XG5cbiAgJl9fc3RhcnMge1xuXG4gICAgLmZsYXRpY29uIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBmb250LXNpemU6IDIwMCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAuNXJlbTtcblxuICAgICAgJjpudGgtY2hpbGQoMikgeyBmb250LXNpemU6IDI0MCU7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogRGlhbG9nIENvbXBvbmVudFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFRoaXMgY29tcG9uZW50IGRpc3BsYXlzIGEgbW9kYWwgcG9wdXAgcGFydG5lcmVkIHdpdGggdGhlIGExMXktZGlhbG9nIHNjcmlwdC5cbiAqXG4gKiA8ZGl2IGNsYXNzPVwiZGlhbG9nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gKiAgIDxkaXYgY2xhc3M9XCJkaWFsb2dfX292ZXJsYXlcIiB0YWJpbmRleD1cIi0xXCIgZGF0YS1hMTF5LWRpYWxvZy1oaWRlPjwvZGl2PlxuICogICA8ZGl2IGNsYXNzPVwiZGlhbG9nX19jb250ZW50XCIgcm9sZT1cImRpYWxvZ1wiPlxuICogICAgIDxkaXYgcm9sZT1cImRvY3VtZW50XCI+XG4gKiAgICAgIC4uLiBkaWFsb2cgY29udGVudCAuLi5cbiAqICAgICA8L2Rpdj5cbiAqICAgICA8YnV0dG9uIGNsYXNzPVwiZGlhbG9nX19jbG9zZVwiIHR5cGU9XCJidXR0b25cIiBkYXRhLWExMXktZGlhbG9nLWhpZGUgYXJpYS1sYWJlbD1cIkNsb3NlIHRoaXMgZGlhbG9nIHdpbmRvd1wiPlxuICogICAgICAgQ2xvc2UgPHNwYW4+JnRpbWVzOzwvc3Bhbj5cbiAqICAgICA8L2J1dHRvbj5cbiAqICAgPC9kaXY+XG4gKiA8L2Rpdj5cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLy8gQmxvY2tcbi5kaWFsb2cge1xuXG4gIC8vIEhpZGUgdGhlIGRpYWxvZyBpbml0aWFsbHlcbiAgJlthcmlhLWhpZGRlbj1cInRydWVcIl0geyBkaXNwbGF5OiBub25lOyB9XG5cbiAgLy8gRWxlbWVudHNcblxuICAmX19vdmVybGF5IHtcbiAgICB6LWluZGV4OiAxMDAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgIHotaW5kZXg6IDEwMDI7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB3aWR0aDogODUlO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoNzAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHdpZHRoOiA5NSU7XG4gICAgfVxuXG4gICAgZGl2OmZvY3VzIHsgYm9yZGVyOiAwOyB9XG4gIH1cblxuICAmX19jbG9zZSB7XG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYm9vaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtM3JlbTtcbiAgICByaWdodDogMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg4KTtcbiAgICAgIGZvbnQtc2l6ZTogMjUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgIH1cblxuICAgICY6aG92ZXIgc3BhbiB7XG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gTW9kaWZpZXJzXG5cbiAgLy8gYWRkIC5kaWFsb2ctLXZpZGVvIHRvIGRpc3BsYXkganVzdCB0aGUgdmlkZW9cbiAgJi0tdmlkZW8ge1xuICAgIC5kaWFsb2dfX2NvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg5NDApO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUzJSwgLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgLy8gYWRkIC5kaWFsb2ctLWxpdmUgdG8gaGF2ZSBhbiBpY29uLWNlbnRyaWMgZGlhbG9nIHdpdGggY3RhIGJ1dHRvblxuICAmLS1saXZlIHtcbiAgICAuZGlhbG9nX19jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDAwKTtcbiAgICAgIHBhZGRpbmc6IDAgM3JlbSAycmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZzogMCAxLjVyZW0gMXJlbTtcblxuICAgICAgICBoNCB7IGZvbnQtc2l6ZTogMTQwJTsgfVxuXG4gICAgICAgIHAgeyBmb250LXNpemU6IDkwJTsgfVxuICAgICAgfVxuXG4gICAgICAuYnV0dG9uOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7IH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxMDApO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKC0zMCkgYXV0byAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGFkZCAuZGlhbG9nLS1sb2NhdGlvbiBmb3IgdGhlIGxvY2F0aW9uIHBhZ2Ugc3BlY2lmaWMgdmVudWUgc2hhcmUgbG9va1xuICAmLS1sb2NhdGlvbiB7XG4gICAgLmRpYWxvZ19fY29udGVudCB7XG4gICAgICBoZWlnaHQ6IDg1JTtcbiAgICAgIG1heC1oZWlnaHQ6IDg1JTtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDgwKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgKiAyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgaGVpZ2h0OiA5MiU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDkyJTtcbiAgICAgICAgbWFyZ2luLXRvcDogNCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2W3JvbGU9XCJkb2N1bWVudFwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAqIDI7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgKiAyO1xuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNjApO1xuICAgIH1cblxuICAgICZfX2RldGFpbHMge1xuICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICBtYXJnaW46IDJyZW0gYXV0bztcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWF4LXdpZHRoOiA4MCU7IH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1heC13aWR0aDogNzAlOyB9XG4gICAgfVxuXG4gICAgLnNoYXJlLW5hdiB7XG4gICAgICBtYXJnaW46IC0yLjc1cmVtIGF1dG8gMDtcbiAgICAgIG1heC13aWR0aDogODYlO1xuXG4gICAgICBhOmZvY3VzIHsgb3V0bGluZTogMDsgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBtYXJnaW46IDJyZW0gMCAwLjVyZW07XG4gICAgfVxuICB9XG59XG4iLCIucmVzcG9uc2l2ZS1lbWJlZCB7XG4gIGlmcmFtZSB7IGJvcmRlcjogbm9uZTsgfVxufSIsIi5lcnJvci1tZXNzYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA5MCU7XG4gIG1heC13aWR0aDogcmVtLWNhbGMoNTAwKTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDRyZW0gMDtcblxuICAuZmxhdGljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDQwMCU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNDApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBmb250LXNpemU6IDIwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gIH1cblxuICBoNCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4KTtcbiAgICAgIGZvbnQtc2l6ZTogMTcwJTtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG4gIH1cblxuICBoNCwgcCB7IGNvbG9yOiB3aGl0ZTsgfVxuXG4gICYtLWRhcmsge1xuICAgIGg0LCBwLCAuZmxhdGljb24geyBjb2xvcjogIzIyMjt9XG4gIH1cbn1cbiIsIi5pbWFnZS1jYXJkIHtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA4cHggcmdiYSgwLDAsMCwwLjAyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIH1cblxuXG4gICY6aG92ZXIgJl9faW1hZ2UgaW1nIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogMHB4IDRweCA2cHggcmdiYSgwLDAsMCwwLjAyKTtcbiAgICAvKiBUaGlzIG1hc2staW1hZ2UgZml4ZXMgYSBidWcgd2hlcmUgdGhlIGJvcmRlci1yYWRpdXMgZGlzYXBwZWFycyB3aGVuXG4gICAgIHRoZSBpbnNpZGUgaW1hZ2UgaXMgc2NhbGluZyB1cCBvbiBob3Zlci4gKi9cbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgd2hpdGUsIGJsYWNrKTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogNTYuMjUlOyAvKiAxNjo5IHJhdGlvICovXG4gICAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQ4JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwOyBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDhzIGVhc2U7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAvKiB0aGlzIGlzIGEgZml4IGZvciB0aGUgc21hbGxlciBwYWQgJSBvbiB0aGUgc21hbGwgYnJlYWtwb2ludCAqL1xuICAgICAgICB0b3A6IC03LjI1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pbWFnZS10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJl9faW1hZ2UtZ3JhZGllbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwLjAwKSAwJSwgcmdiYSgwLDAsMCwxKSAxNDAlKTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJGdvdGhhbS1ib2xkO1xuICAgIGNvbG9yOiAjMjIyO1xuICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbjogMC43NXJlbSAwIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTE1JTtcbiAgICB9XG4gIH1cblxuICAmX19zdWJ0aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiA5NSU7XG4gICAgY29sb3I6ICM4ODg7XG4gICAgbWFyZ2luOiAtMC4yNXJlbSAwIDA7XG4gIH1cblxuICAmLS1zbWFsbCB7XG4gICAgZm9udC1zaXplOiA5MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5pbWFnZS1jYXJkX19zdWJ0aXRsZSB7IG1hcmdpbi10b3A6IDA7IH1cbiAgfVxufVxuIiwiLnNlY3Rpb24tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgZm9udC1mYW1pbHk6ICRnb3RoYW0tbWVkaXVtO1xuICBmb250LXNpemU6IDgwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgb3BhY2l0eTogMC40O1xufVxuXG4uYm94LWxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAwLjY1cmVtIDEuMnJlbTtcbiAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYm9sZDtcbiAgZm9udC1zaXplOiAxMTAlO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZm9udC1zaXplOiAxMjAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG5cbiAgLmZsYXRpY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnNjcmlwdHVyZS1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6JGdvdGhhbS1ib2xkO1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICMyMjI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgLmZsYXRpY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIH1cbn1cblxuLnNjcmlwdHVyZS1sYWJlbCArIC5zY3JpcHR1cmUtbGFiZWwgeyBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTUpOyB9XG4iLCIudGV4dC1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJGdvdGhhbS1tZWRpdW07XG4gIGZvbnQtc2l6ZTogMTEwJTtcblxuICAuZmxhdGljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgfVxuXG4gICYuaWNvbi1sZWZ0IC5mbGF0aWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1KTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIC5mbGF0aWNvbiB7IHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApOyB9XG4gIH1cblxuICAmLmljb24tbGVmdDpob3ZlciB7XG4gICAgLmZsYXRpY29uIHsgcGFkZGluZy1sZWZ0OiAwOyBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7IH1cbiAgfVxufVxuXG4uYmFyLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMi41cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMyMjI7XG4gIGZvbnQtZmFtaWx5OiAkZ290aGFtLW1lZGl1bTtcbiAgZm9udC1zaXplOiAxMjAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gIC5mbGF0aWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG59XG5cbi5vcGVuLWxpbmsge1xuICBmb250LWZhbWlseTogJGdvdGhhbS1tZWRpdW07XG4gIGZvbnQtc2l6ZTogMTEwJTtcbiAgcGFkZGluZzogMC41cmVtIDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmLCAmOnZpc2l0ZWQsICY6Zm9jdXMgeyBjb2xvcjogd2hpdGU7IH1cblxuICAuZmxhdGljb24ge1xuICAgIGZvbnQtc2l6ZTogMTQwJTtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAuZmxhdGljb24geyB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpOyB9XG4gIH1cbn1cbiIsIi5saXZlLWJhbm5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5O1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHBhZGRpbmc6IDJyZW07XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1zaXplOiAxMTAlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC00cmVtO1xuICAgICAgbGVmdDogLTRyZW07XG4gICAgfVxuXG4gICAgLmZsYXRpY29uIHtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYW5pbWF0aW9uOiBiZWFjb24gMnMgaW5maW5pdGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIGJlYWNvbiB7XG4gICAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpIHNjYWxlKDEpOyB9XG4gICAgICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KSBzY2FsZSgxLjMpOyB9XG4gICAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCkgc2NhbGUoMSk7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi5sb2FkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xuICBmb250LXNpemU6IDEwcHg7XG4gIG1hcmdpbjogODBweCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtaW5kZW50OiAtOTk5OWVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xuXG4gICYsICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDJlbTtcbiAgICBoZWlnaHQ6IDJlbTtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgIGFuaW1hdGlvbjogbG9hZDcgMS44cyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgfVxuXG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgbGVmdDogLTNlbTtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjMycztcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGxlZnQ6IDNlbTtcbiAgfVxuXG4gICYtLWRhcmsge1xuICAgIGNvbG9yOiByZ2JhKDAsMCwwLDAuMSk7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxvYWQ3IHtcbiAgMCUsXG4gIDgwJSxcbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAyZW0gMCAtMS4zZW07XG4gIH1cbiAgNDAlIHtcbiAgICBib3gtc2hhZG93OiAwIDJlbSAwIDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbG9hZDcge1xuICAwJSxcbiAgODAlLFxuICAxMDAlIHtcbiAgICBib3gtc2hhZG93OiAwIDJlbSAwIC0xLjNlbTtcbiAgfVxuICA0MCUge1xuICAgIGJveC1zaGFkb3c6IDAgMmVtIDAgMDtcbiAgfVxufVxuIiwiLyoqXG4gKiBNZXNzYWdlIENvbXBvbmVudFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFRoaXMgY29tcG9uZW50IGlzIGEgaGVhZGVyIGNvbXBvbmVudCB3aXRoIGEgbGFyZ2UgbWVkaWEgb2JqZWN0ICh2aWRlby9hdWRpbylcbiAqIHRoYXQgaGFzIG9wdGlvbmFsIGJ1dHRvbiBsaW5rcyBiZW5lYXRoIHRoZSBtZWRpYS5cbiAqXG4gKiA8aGVhZGVyIGNsYXNzPVwibWVzc2FnZSBwYWdlLWhlYWRlclwiPlxuICogICA8aDIgY2xhc3M9XCJtZXNzYWdlX190aXRsZVwiPiAuLi4gdGl0bGUgLi4uIDwvaDI+XG4gKiAgIDxzcGFuIGNsYXNzPVwibWVzc2FnZV9fc3VidGl0bGVcIj4gLi4uIHN1YnRpdGxlIC4uLiA8L3NwYW4+XG4gKiAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlX19tZWRpYVwiPlxuICogICAgIC4uLiBtZWRpYSBlbGVtZW50IC4uLlxuICogICA8L2Rpdj5cbiAqICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2VfX2FjdGlvbnNcIj5cbiAqICAgICA8YSBjbGFzcz1cIm1lc3NhZ2VfX2xpbmtcIiBocmVmPVwiI1wiPiAuLi4gbGluayAuLi4gPC9hPlxuICogICA8L2Rpdj5cbiAqIDwvaGVhZGVyPlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vLyBCbG9ja1xuLm1lc3NhZ2Uge1xuXG4gIC8vIEVsZW1lbnRzXG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTgwJTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZm9udC1zaXplOiAyNDAlOyB9XG4gIH1cblxuICAmX19zdWJ0aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICRsaWdodC10ZXh0O1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gIH1cblxuICAmX19tZWRpYSB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMDAwKTtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIC5wbHlyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAmX19hY3Rpb25zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgICBmb250LWZhbWlseTogJGdvdGhhbS1tZWRpdW07XG4gICAgZm9udC1zaXplOiA4NSU7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXG4gICAgJiwgJjp2aXNpdGVkLCAmOmhvdmVyLCAmOmZvY3VzIHsgY29sb3I6ICNmMGYwZjA7IH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMnJlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gISBQdWxsZWQgZnJvbSB0aGUgc291cmNlIGZpbGVzIGF0IG5vZGVfbW9kdWxlcy9wbHlyL2Rpc3Qvc2Nzcy8qLnNjc3NcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBseXIgdmFyaWFibGVzXG4vLyBodHRwczovL2dpdGh1Yi5jb20vc2Vsei9wbHlyXG4vLyBodHRwczovL3JvYm90cy50aG91Z2h0Ym90LmNvbS9zYXNzLWRlZmF1bHRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFNldHRpbmdzXG4kcGx5ci1ib3JkZXItYm94OiAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRwbHlyLXRvdWNoLWFjdGlvbjogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJHBseXItc3Itb25seS1pbXBvcnRhbnQ6ICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cbi8vIENvbG9yc1xuJHBseXItY29sb3ItbWFpbjogICAgICAgICAgICAgICAgICAgICAgICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLyBGb250IHNpemVzXG4kcGx5ci1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgJGdvdGhhbS1ib29rO1xuJHBseXItZm9udC1zaXplLXNtYWxsOiAgICAgICAgICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kcGx5ci1mb250LXNpemUtYmFzZTogICAgICAgICAgICAgICAgICAgMTZweCAhZGVmYXVsdDtcblxuLy8gQ2FwdGlvbnNcbiRwbHlyLWNhcHRpb25zLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSgjMDAwLCAuMykgIWRlZmF1bHQ7XG4kcGx5ci1jYXB0aW9ucy1jb2xvcjogICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwbHlyLWZvbnQtc2l6ZS1jYXB0aW9ucy1iYXNlOiAgICAgICAgICAkcGx5ci1mb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRwbHlyLWZvbnQtc2l6ZS1jYXB0aW9ucy1tZWRpdW06ICAgICAgICBjZWlsKCRwbHlyLWZvbnQtc2l6ZS1iYXNlICogMS41KSAhZGVmYXVsdDtcbiRwbHlyLWZvbnQtc2l6ZS1jYXB0aW9ucy1sYXJnZTogICAgICAgICAoJHBseXItZm9udC1zaXplLWJhc2UgKiAyKSAhZGVmYXVsdDtcblxuLy8gQ29udHJvbHNcbiRwbHlyLWNvbnRyb2wtaWNvbi1zaXplOiAgICAgICAgICAgICAgICAxOHB4ICFkZWZhdWx0O1xuJHBseXItY29udHJvbC1zcGFjaW5nOiAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kcGx5ci1jb250cm9sLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAqIC43KSAhZGVmYXVsdDtcbiRwbHlyLXZpZGVvLWNvbnRyb2xzLWJnOiAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJHBseXItdmlkZW8tY29udHJvbC1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGx5ci12aWRlby1jb250cm9sLWNvbG9yLWhvdmVyOiAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwbHlyLXZpZGVvLWNvbnRyb2wtYmctaG92ZXI6ICAgICAgICAgICAkcGx5ci1jb2xvci1tYWluICFkZWZhdWx0O1xuJHBseXItYXVkaW8tY29udHJvbHMtYmc6ICAgICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kcGx5ci1hdWRpby1jb250cm9scy1ib3JkZXI6ICAgICAgICAgICAgMnB4IHNvbGlkICMzMDMwMzAgIWRlZmF1bHQ7XG4kcGx5ci1hdWRpby1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwbHlyLWF1ZGlvLWNvbnRyb2wtY29sb3ItaG92ZXI6ICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBseXItYXVkaW8tY29udHJvbC1iZy1ob3ZlcjogICAgICAgICAgICRwbHlyLWNvbG9yLW1haW47XG5cbi8vIFRvb2x0aXBzXG4kcGx5ci10b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoIzAwMCwgLjMpICFkZWZhdWx0O1xuJHBseXItdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGx5ci10b29sdGlwLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAvIDIpICFkZWZhdWx0O1xuJHBseXItdG9vbHRpcC1hcnJvdy1zaXplOiAgICAgICAgICAgICAgIDRweCAhZGVmYXVsdDtcbiRwbHlyLXRvb2x0aXAtcmFkaXVzOiAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG5cbi8vIFByb2dyZXNzXG4kcGx5ci1wcm9ncmVzcy1sb2FkaW5nLXNpemU6ICAgICAgICAgICAgMjVweCAhZGVmYXVsdDtcbiRwbHlyLXByb2dyZXNzLWxvYWRpbmctYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSgjMDAwLCAuODUpICFkZWZhdWx0O1xuJHBseXItdmlkZW8tcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCNmZmYsIC43NSkgIWRlZmF1bHQ7XG4kcGx5ci12aWRlby1wcm9ncmVzcy1idWZmZXJlZC1iZzogICAgICAgJHBseXItdmlkZW8tcHJvZ3Jlc3MtYmcgIWRlZmF1bHQ7XG4kcGx5ci1hdWRpby1wcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoI0YwRUVGNiwgLjc1KSAhZGVmYXVsdDtcbiRwbHlyLWF1ZGlvLXByb2dyZXNzLWJ1ZmZlcmVkLWJnOiAgICAgICAkcGx5ci1hdWRpby1wcm9ncmVzcy1iZyAhZGVmYXVsdDtcblxuLy8gUmFuZ2Ugc2xpZGVyc1xuJHBseXItcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiRwbHlyLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICBmbG9vcigkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQgKiAyKSAhZGVmYXVsdDtcbiRwbHlyLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICBmbG9vcigkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQgKiAyKSAhZGVmYXVsdDtcbiRwbHlyLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBseXItcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgIDJweCBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwbHlyLXJhbmdlLXRodW1iLXNoYWRvdzogICAgICAgICAgICAgICAwIDFweCAxcHggdHJhbnNwYXJlbnRpemUoJHBseXItdmlkZW8tY29udHJvbHMtYmcsIC44NSksIDAgMCAwIDFweCB0cmFuc3BhcmVudGl6ZSgjMDAwLCAuODUpICFkZWZhdWx0O1xuJHBseXItcmFuZ2UtdGh1bWItYWN0aXZlLWJvcmRlci1jb2xvcjogICNmZmYgIWRlZmF1bHQ7XG4kcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgJHBseXItdmlkZW8tY29udHJvbC1iZy1ob3ZlciAhZGVmYXVsdDtcbiRwbHlyLXJhbmdlLXRodW1iLWFjdGl2ZS1zY2FsZTogICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJHBseXItdmlkZW8tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRwbHlyLXZpZGVvLXByb2dyZXNzLWJ1ZmZlcmVkLWJnICFkZWZhdWx0O1xuJHBseXItYXVkaW8tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRwbHlyLWF1ZGlvLXByb2dyZXNzLWJ1ZmZlcmVkLWJnICFkZWZhdWx0O1xuJHBseXItcmFuZ2Utc2VsZWN0ZWQtYmc6ICAgICAgICAgICAgICAgICRwbHlyLWNvbG9yLW1haW4gIWRlZmF1bHQ7XG5cbi8vIEJyZWFrcG9pbnRzXG4kcGx5ci1icC1zY3JlZW4tc206ICAgICAgICAgICAgICAgICAgICAgNDgwcHggIWRlZmF1bHQ7XG4kcGx5ci1icC1zY3JlZW4tbWQ6ICAgICAgICAgICAgICAgICAgICAgNzY4cHggIWRlZmF1bHQ7XG4kcGx5ci1icC1zY3JlZW4tbGc6ICAgICAgICAgICAgICAgICAgICAgMTAyNHB4ICFkZWZhdWx0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGx5ciBtaXhpbnNcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zZWx6L3BseXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIDxpbnB1dCB0eXBlPVwicmFuZ2VcIj4gc3R5bGluZ1xuQG1peGluIHBseXItcmFuZ2UtdHJhY2soKSB7XG4gICAgaGVpZ2h0OiAkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICgkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQgLyAyKTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbkBtaXhpbiBwbHlyLXJhbmdlLXRodW1iKCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6ICRwbHlyLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJHBseXItcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgYmFja2dyb3VuZDogJHBseXItcmFuZ2UtdGh1bWItYmc7XG4gICAgYm9yZGVyOiAkcGx5ci1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlLCBib3JkZXIgLjJzIGVhc2UsIHRyYW5zZm9ybSAuMnMgZWFzZTtcbiAgICBib3gtc2hhZG93OiAkcGx5ci1yYW5nZS10aHVtYi1zaGFkb3c7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbkBtaXhpbiBwbHlyLXJhbmdlLXRodW1iLWFjdGl2ZSgpIHtcbiAgICBiYWNrZ3JvdW5kOiAkcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoJHBseXItcmFuZ2UtdGh1bWItYWN0aXZlLXNjYWxlKTtcbn1cblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQbHlyIHN0eWxlc1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL3NlbHovcGx5clxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQW5pbWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBrZXlmcmFtZXMgcGx5ci1wcm9ncmVzcyB7XG4gICAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcGx5ci1wcm9ncmVzcy1sb2FkaW5nLXNpemUgMDsgfVxufVxuXG4vLyBTdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJhc2Vcbi5wbHlyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgZm9udC1mYW1pbHk6ICRwbHlyLWZvbnQtZmFtaWx5O1xuICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICY6Zm9jdXMgeyBvdXRsaW5lOiAwIWltcG9ydGFudDsgfVxuXG5cbiAgICBAaWYgJHBseXItYm9yZGVyLWJveCA9PSB0cnVlIHtcbiAgICAgICAgLy8gYm9yZGVyLWJveCBldmVyeXRoaW5nXG4gICAgICAgIC8vIGh0dHA6Ly9wYXVsaXJpc2guY29tLzIwMTIvYm94LXNpemluZy1ib3JkZXItYm94LWZ0dy9cbiAgICAgICAgJixcbiAgICAgICAgKixcbiAgICAgICAgKjo6YWZ0ZXIsXG4gICAgICAgICo6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwbHlyLXRvdWNoLWFjdGlvbiA9PSB0cnVlIHtcbiAgICAgIC8vIEZpeCAzMDBtcyBkZWxheVxuICAgICAgYSwgYnV0dG9uLCBpbnB1dCwgbGFiZWwge1xuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb2N1c1xuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgIC8vIE1lZGlhIGVsZW1lbnRzXG4gICAgdmlkZW8sXG4gICAgYXVkaW8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8vIFJhbmdlIGlucHV0c1xuICAgIC8vIFNwZWNpZmljaXR5IGlzIGZvciBib290c3RyYXAgY29tcGF0aWJpbGl0eVxuICAgIGlucHV0W3R5cGU9J3JhbmdlJ10ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAoJHBseXItcmFuZ2UtdGh1bWItaGVpZ2h0ICogJHBseXItcmFuZ2UtdGh1bWItYWN0aXZlLXNjYWxlKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLy8gV2ViS2l0XG4gICAgICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBseXItcmFuZ2UtdHJhY2soKTtcbiAgICAgICAgfVxuICAgICAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtKCgkcGx5ci1yYW5nZS10aHVtYi1oZWlnaHQgLSAkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQpIC8gMik7XG4gICAgICAgICAgICBAaW5jbHVkZSBwbHlyLXJhbmdlLXRodW1iKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNb3ppbGxhXG4gICAgICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGx5ci1yYW5nZS10cmFjaygpO1xuICAgICAgICB9XG4gICAgICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGx5ci1yYW5nZS10aHVtYigpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWljcm9zb2Z0XG4gICAgICAgICY6Oi1tcy10cmFjayB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBseXItcmFuZ2UtdHJhY2soKTtcbiAgICAgICAgfVxuICAgICAgICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwbHlyLXJhbmdlLXRyYWNrKCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcGx5ci1yYW5nZS1zZWxlY3RlZC1iZztcbiAgICAgICAgfVxuICAgICAgICAmOjotbXMtdGh1bWIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGx5ci1yYW5nZS10aHVtYigpO1xuICAgICAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uLCBFZGdlIHVzZXMgdGhlIC13ZWJraXQgbWFyZ2luIGFib3ZlXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgICY6Oi1tcy10b29sdGlwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1cyBzdHlsZXNcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgICAgICY6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICAgICYudGFiLWZvY3VzOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQcmVzc2VkIHN0eWxlc1xuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBseXItcmFuZ2UtdGh1bWItYWN0aXZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjotbXMtdGh1bWIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBseXItcmFuZ2UtdGh1bWItYWN0aXZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFZpZGVvIHJhbmdlIGlucHV0c1xuLnBseXItLXZpZGVvIGlucHV0W3R5cGU9J3JhbmdlJ10udGFiLWZvY3VzOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIHRyYW5zcGFyZW50aXplKCRwbHlyLXZpZGVvLWNvbnRyb2wtY29sb3IsIC41KTtcbn1cblxuLy8gQXVkaW8gcmFuZ2UgaW5wdXRzXG4ucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT0ncmFuZ2UnXS50YWItZm9jdXM6Zm9jdXMge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgdHJhbnNwYXJlbnRpemUoJHBseXItYXVkaW8tY29udHJvbC1jb2xvciwgLjUpO1xufVxuXG4vLyBTY3JlZW4gcmVhZGVyIG9ubHkgZWxlbWVudHNcbi5wbHlyX19zci1vbmx5IHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vICFpbXBvcnRhbnQgaXMgbm90IGFsd2F5cyBuZWVkZWRcbiAgICBAaWYgJHBseXItc3Itb25seS1pbXBvcnRhbnQgPT0gdHJ1ZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICB9XG59XG5cbi8vIFZpZGVvXG4ucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbn1cblxuLy8gQ29udGFpbmVyIGZvciBlbWJlZHNcbi5wbHlyX192aWRlby1lbWJlZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgLyogMTY6OSAqL1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG5cbiAgICAvLyBSZXF1aXJlIHotaW5kZXggdG8gZm9yY2UgYm9yZGVyLXJhZGl1c1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICBpZnJhbWUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBWaW1lbyBoYWNrXG4gICAgPiBkaXYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTM1Ljk1JSk7XG4gICAgfVxufVxuLy8gVG8gYWxsb3cgbW91c2UgZXZlbnRzIHRvIGJlIGNhcHR1cmVkIGlmIGZ1bGwgc3VwcG9ydFxuLnBseXIgLnBseXJfX3ZpZGVvLWVtYmVkIGlmcmFtZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8vIENhcHRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGlkZSBkZWZhdWx0IGNhcHRpb25zXG4ucGx5ciB2aWRlbzo6LXdlYmtpdC1tZWRpYS10ZXh0LXRyYWNrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5wbHlyX19jYXB0aW9ucyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAqIDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAqIDYpKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XG4gICAgY29sb3I6ICRwbHlyLWNhcHRpb25zLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJHBseXItZm9udC1zaXplLWNhcHRpb25zLWJhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBwYWRkaW5nOiBmbG9vcigkcGx5ci1jb250cm9sLXNwYWNpbmcgLyAzKSAkcGx5ci1jb250cm9sLXNwYWNpbmc7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwbHlyLWNhcHRpb25zLWJnO1xuICAgICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIH1cbiAgICBzcGFuOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHBseXItYnAtc2NyZWVuLW1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHBseXItZm9udC1zaXplLWNhcHRpb25zLW1lZGl1bTtcbiAgICB9XG59XG4ucGx5ci0tY2FwdGlvbnMtYWN0aXZlIC5wbHlyX19jYXB0aW9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4ucGx5ci0taGlkZS1jb250cm9scyAucGx5cl9fY2FwdGlvbnMge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAqIDIpKTtcbn1cbi8vIExhcmdlIGNhcHRpb25zIGluIGZ1bGwgc2NyZWVuIG9uIGxhcmdlciBzY3JlZW5zXG5AbWVkaWEgKG1pbi13aWR0aDogJHBseXItYnAtc2NyZWVuLWxnKSB7XG4gICAgLnBseXItLWZ1bGxzY3JlZW4tYWN0aXZlIC5wbHlyX19jYXB0aW9ucyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHBseXItZm9udC1zaXplLWNhcHRpb25zLWxhcmdlO1xuICAgIH1cbn1cblxuLy8gQ29udHJvbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIaWRlIG5hdGl2ZSBjb250cm9sc1xuLnBseXIgOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBQbGF5YmFjayBjb250cm9sc1xuLnBseXJfX2NvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLy8gU3BhY2luZ1xuICAgID4gYnV0dG9uLFxuICAgIC5wbHlyX19wcm9ncmVzcyxcbiAgICAucGx5cl9fdGltZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoJHBseXItY29udHJvbC1zcGFjaW5nIC8gMik7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucGx5cl9fdm9sdW1lIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgkcGx5ci1jb250cm9sLXNwYWNpbmcgLyAyKTtcbiAgICB9XG4gICAgW2RhdGEtcGx5cj1cInBhdXNlXCJdIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uc1xuICAgIGJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIElFMTFcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcGFkZGluZzogKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAqIC43KTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjNzIGVhc2UsIGNvbG9yIC4zcyBlYXNlLCBvcGFjaXR5IC4zcyBlYXNlO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6ICRwbHlyLWNvbnRyb2wtaWNvbi1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkcGx5ci1jb250cm9sLWljb24tc2l6ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGVmYXVsdCBmb2N1c1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIaWRlIHRvZ2dsZSBpY29ucyBieSBkZWZhdWx0XG4gICAgLmljb24tLWV4aXQtZnVsbHNjcmVlbixcbiAgICAuaWNvbi0tbXV0ZWQsXG4gICAgLmljb24tLWNhcHRpb25zLW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHBseXItYnAtc2NyZWVuLXNtKSB7XG4gICAgICAgID4gYnV0dG9uLFxuICAgICAgICAucGx5cl9fcHJvZ3Jlc3MsXG4gICAgICAgIC5wbHlyX190aW1lIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkcGx5ci1jb250cm9sLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBIaWRlIGNvbnRyb2xzXG4ucGx5ci0taGlkZS1jb250cm9scyAucGx5cl9fY29udHJvbHMge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8vIFZpZGVvIGNvbnRyb2xzXG4ucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2xzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcGFkZGluZzogJHBseXItY29udHJvbC1zcGFjaW5nO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRwbHlyLXZpZGVvLWNvbnRyb2xzLWJnLCAwLjUpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRwbHlyLXZpZGVvLWNvbnRyb2wtY29sb3I7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZTtcblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIC8vIEhvdmVyIGFuZCB0YWIgZm9jdXNcbiAgICAgICAgJi50YWItZm9jdXM6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHBseXItdmlkZW8tY29udHJvbC1iZy1ob3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkcGx5ci12aWRlby1jb250cm9sLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBBdWRpbyBjb250cm9sc1xuLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9scyB7XG4gICAgcGFkZGluZzogJHBseXItY29udHJvbC1zcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiAkcGx5ci1hdWRpby1jb250cm9scy1iZztcbiAgICBib3JkZXI6ICRwbHlyLWF1ZGlvLWNvbnRyb2xzLWJvcmRlcjtcbiAgICBjb2xvcjogJHBseXItYXVkaW8tY29udHJvbC1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDEwcHggcmdiYSgwLDAsMCwwLjA4KTtcblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIC8vIEhvdmVyIGFuZCB0YWIgZm9jdXNcbiAgICAgICAgJi50YWItZm9jdXM6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHBseXItYXVkaW8tY29udHJvbC1iZy1ob3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkcGx5ci1hdWRpby1jb250cm9sLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBMYXJnZSBwbGF5IGJ1dHRvbiAodmlkZW8gb25seSlcbi5wbHlyX19wbGF5LWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBwYWRkaW5nOiAkcGx5ci1jb250cm9sLXNwYWNpbmc7XG4gICAgYmFja2dyb3VuZDogJHBseXItdmlkZW8tY29udHJvbC1iZy1ob3ZlcjtcbiAgICBib3JkZXI6IDRweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAxcHggdHJhbnNwYXJlbnRpemUoIzAwMCwgLjg1KTtcbiAgICBjb2xvcjogJHBseXItdmlkZW8tY29udHJvbC1jb2xvcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG5cbiAgICBzdmcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCB0cmFuc3BhcmVudGl6ZSgkcGx5ci12aWRlby1jb250cm9sLWNvbG9yLCAuNSk7XG4gICAgfVxufVxuLnBseXIgLnBseXJfX3BsYXktbGFyZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5wbHlyLS1hdWRpbyAucGx5cl9fcGxheS1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5wbHlyLS1wbGF5aW5nIC5wbHlyX19wbGF5LWxhcmdlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gU3RhdGVzXG4ucGx5cl9fY29udHJvbHMgW2RhdGEtcGx5cj0ncGF1c2UnXSxcbi5wbHlyLS1wbGF5aW5nIC5wbHlyX19jb250cm9scyBbZGF0YS1wbHlyPSdwbGF5J10ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ucGx5ci0tcGxheWluZyAucGx5cl9fY29udHJvbHMgW2RhdGEtcGx5cj0ncGF1c2UnXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBDaGFuZ2UgaWNvbnMgb24gc3RhdGUgY2hhbmdlXG4ucGx5ci0tZnVsbHNjcmVlbi1hY3RpdmUgLmljb24tLWV4aXQtZnVsbHNjcmVlbixcbi5wbHlyLS1tdXRlZCAucGx5cl9fY29udHJvbHMgLmljb24tLW11dGVkLFxuLnBseXItLWNhcHRpb25zLWFjdGl2ZSAucGx5cl9fY29udHJvbHMgLmljb24tLWNhcHRpb25zLW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICYgKyBzdmcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gU29tZSBvcHRpb25zIGFyZSBoaWRkZW4gYnkgZGVmYXVsdFxuLnBseXIgW2RhdGEtcGx5cj0nY2FwdGlvbnMnXSxcbi5wbHlyIFtkYXRhLXBseXI9J2Z1bGxzY3JlZW4nXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5wbHlyLS1jYXB0aW9ucy1lbmFibGVkIFtkYXRhLXBseXI9J2NhcHRpb25zJ10sXG4ucGx5ci0tZnVsbHNjcmVlbi1lbmFibGVkIFtkYXRhLXBseXI9J2Z1bGxzY3JlZW4nXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBUb29sdGlwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wbHlyX190b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogKCRwbHlyLXRvb2x0aXAtcGFkZGluZyAqIDIpO1xuICAgIHBhZGRpbmc6ICRwbHlyLXRvb2x0aXAtcGFkZGluZyAoJHBseXItdG9vbHRpcC1wYWRkaW5nICogMS41KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogJHBseXItdG9vbHRpcC1iZztcbiAgICBib3JkZXItcmFkaXVzOiAkcGx5ci10b29sdGlwLXJhZGl1cztcblxuICAgIGNvbG9yOiAkcGx5ci10b29sdGlwLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJHBseXItZm9udC1zaXplLXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAxMHB4KSBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyAuMXMgZWFzZSwgb3BhY2l0eSAuMnMgLjFzIGVhc2U7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICAvLyBBcnJvd3NcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgICAgLy8gVGhlIGJhY2tncm91bmQgdHJpYW5nbGVcbiAgICAgICAgYm90dG9tOiAtJHBseXItdG9vbHRpcC1hcnJvdy1zaXplO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRwbHlyLXRvb2x0aXAtYXJyb3ctc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcDogJHBseXItdG9vbHRpcC1hcnJvdy1zaXplIHNvbGlkICRwbHlyLXRvb2x0aXAtYmc7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkcGx5ci10b29sdGlwLWFycm93LXNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxufVxuLnBseXIgYnV0dG9uOmhvdmVyIC5wbHlyX190b29sdGlwLFxuLnBseXIgYnV0dG9uLnRhYi1mb2N1czpmb2N1cyAucGx5cl9fdG9vbHRpcCxcbi5wbHlyX190b29sdGlwLS12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApIHNjYWxlKDEpO1xufVxuLnBseXIgYnV0dG9uOmhvdmVyIC5wbHlyX190b29sdGlwIHtcbiAgICB6LWluZGV4OiAzO1xufVxuXG4vLyBGaXJzdCB0b29sdGlwXG4ucGx5cl9fY29udHJvbHMgYnV0dG9uOmZpcnN0LWNoaWxkIC5wbHlyX190b29sdGlwIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpIHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAoJHBseXItY29udHJvbC1pY29uLXNpemUgLyAyKSArICRwbHlyLWNvbnRyb2wtcGFkZGluZztcbiAgICB9XG59XG5cbi8vIExhc3QgdG9vbHRpcFxuLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwIHtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KSBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6ICgkcGx5ci1jb250cm9sLWljb24tc2l6ZSAvIDIpICsgJHBseXItY29udHJvbC1wYWRkaW5nO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICB9XG59XG5cbi5wbHlyX19jb250cm9scyBidXR0b246Zmlyc3QtY2hpbGQsXG4ucGx5cl9fY29udHJvbHMgYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICY6aG92ZXIgLnBseXJfX3Rvb2x0aXAsXG4gICAgJi50YWItZm9jdXM6Zm9jdXMgLnBseXJfX3Rvb2x0aXAsXG4gICAgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi8vIFBsYXliYWNrIHByb2dyZXNzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gPHByb2dyZXNzPiBlbGVtZW50XG4ucGx5cl9fcHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDE7XG5cbiAgICBpbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlZWsgdG9vbHRpcCB0byBzaG93IHRpbWVcbiAgICAucGx5cl9fdG9vbHRpcCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxufVxuLnBseXIgLnBseXJfX3Byb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5wbHlyX19wcm9ncmVzcy0tYnVmZmVyLFxuLnBseXJfX3Byb2dyZXNzLS1wbGF5ZWQsXG4ucGx5cl9fdm9sdW1lLS1kaXNwbGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBtYXJnaW46IC0oJHBseXItcmFuZ2UtdHJhY2staGVpZ2h0IC8gMikgMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICBtaW4td2lkdGg6ICRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICB9XG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICBtaW4td2lkdGg6ICRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICB9XG4gICAgJjo6LW1zLWZpbGwge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICB9XG59XG4ucGx5cl9fcHJvZ3Jlc3MtLXBsYXllZCxcbi5wbHlyX192b2x1bWUtLWRpc3BsYXkge1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6ICRwbHlyLXJhbmdlLXNlbGVjdGVkLWJnO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgICAgbWluLXdpZHRoOiAkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgICAgIG1heC13aWR0aDogOTklO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgbWluLXdpZHRoOiAkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgICAgIG1heC13aWR0aDogOTklO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICAgICY6Oi1tcy1maWxsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4ucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlO1xuICAgIH1cbiAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlO1xuICAgIH1cbiAgICAmOjotbXMtZmlsbCB7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlO1xuICAgIH1cbn1cbi5wbHlyLS12aWRlbyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlcixcbi5wbHlyLS12aWRlbyAucGx5cl9fdm9sdW1lLS1kaXNwbGF5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcGx5ci12aWRlby1yYW5nZS10cmFjay1iZztcbn1cbi5wbHlyLS12aWRlbyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gICAgY29sb3I6ICRwbHlyLXZpZGVvLXByb2dyZXNzLWJ1ZmZlcmVkLWJnO1xufVxuLnBseXItLWF1ZGlvIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyLFxuLnBseXItLWF1ZGlvIC5wbHlyX192b2x1bWUtLWRpc3BsYXkge1xuICAgIGJhY2tncm91bmQ6ICRwbHlyLWF1ZGlvLXJhbmdlLXRyYWNrLWJnO1xufVxuLnBseXItLWF1ZGlvIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyIHtcbiAgICBjb2xvcjogJHBseXItYXVkaW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmc7XG59XG5cbi8vIExvYWRpbmcgc3RhdGVcbi5wbHlyLS1sb2FkaW5nIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyIHtcbiAgICBhbmltYXRpb246IHBseXItcHJvZ3Jlc3MgMXMgbGluZWFyIGluZmluaXRlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHBseXItcHJvZ3Jlc3MtbG9hZGluZy1zaXplICRwbHlyLXByb2dyZXNzLWxvYWRpbmctc2l6ZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAtNDVkZWcsXG4gICAgICAgICRwbHlyLXByb2dyZXNzLWxvYWRpbmctYmcgMjUlLFxuICAgICAgICB0cmFuc3BhcmVudCAyNSUsXG4gICAgICAgIHRyYW5zcGFyZW50IDUwJSxcbiAgICAgICAgJHBseXItcHJvZ3Jlc3MtbG9hZGluZy1iZyA1MCUsXG4gICAgICAgICRwbHlyLXByb2dyZXNzLWxvYWRpbmctYmcgNzUlLFxuICAgICAgICB0cmFuc3BhcmVudCA3NSUsXG4gICAgICAgIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ucGx5ci0tdmlkZW8ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBseXItdmlkZW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmc7XG59XG4ucGx5ci0tYXVkaW8ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBseXItYXVkaW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmc7XG59XG5cbi8vIFRpbWVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGx5cl9fdGltZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAkcGx5ci1mb250LXNpemUtc21hbGw7XG59XG4vLyBNZWRpYSBkdXJhdGlvbiBoaWRkZW4gb24gc21hbGwgc2NyZWVuc1xuLnBseXJfX3RpbWUgKyAucGx5cl9fdGltZSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGx5ci1icC1zY3JlZW4tbWQpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8vIEFkZCBhIHNsYXNoIGluIGJlZm9yZVxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXDIwNDQnO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwbHlyLWNvbnRyb2wtc3BhY2luZztcbiAgICB9XG59XG5cbi8vIFZvbHVtZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wbHlyX192b2x1bWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ucGx5ciAucGx5cl9fdm9sdW1lIHtcbiAgICBmbGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRwbHlyLWJwLXNjcmVlbi1zbSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiA2MHB4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHBseXItYnAtc2NyZWVuLW1kKSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgfVxufVxuXG4vLyBIaWRlIHNvdW5kIGNvbnRyb2xzIG9uIGlPU1xuLy8gSXQncyBub3Qgc3VwcG9ydGVkIHRvIGNoYW5nZSB2b2x1bWUgdXNpbmcgSmF2YVNjcmlwdDpcbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L3NhZmFyaS9kb2N1bWVudGF0aW9uL0F1ZGlvVmlkZW8vQ29uY2VwdHVhbC9Vc2luZ19IVE1MNV9BdWRpb19WaWRlby9EZXZpY2UtU3BlY2lmaWNDb25zaWRlcmF0aW9ucy9EZXZpY2UtU3BlY2lmaWNDb25zaWRlcmF0aW9ucy5odG1sXG4ucGx5ci0taXMtaW9zIC5wbHlyX192b2x1bWUsXG4ucGx5ci0taXMtaW9zIFtkYXRhLXBseXI9J211dGUnXSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBGdWxsc2NyZWVuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBseXItLWZ1bGxzY3JlZW4tYWN0aXZlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwMDAwMDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcblxuICAgIHZpZGVvIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5wbHlyX19jb250cm9scyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAvLyBWaW1lbyByZXF1aXJlcyBzb21lIGRpZmZlcmVudCBzdHlsaW5nXG4gICAgJi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG59XG4iLCIuc2hhcmUtbmF2IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nOiAxcmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogMHB4IDJweCA4cHggcmdiYSgwLDAsMCwwLjAyKTtcblxuICAmX19pdGVtIHtcbiAgICBmbGV4OiAxIDAgMDtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCByZ2JhKDAsMCwwLDAuMDQpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjRyZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoNDApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzUpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgIH1cblxuICAgICAgKiB7XG4gICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4ycyBlYXNlO1xuICAgICAgICBmaWxsOiAjNDQ0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgc3ZnICogeyBmaWxsOiAkcHJpbWFyeS1jb2xvcjsgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNpdGUtc2VhcmNoIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzEwKSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4gICZfX2Zvcm0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiByZW0tY2FsYygxMSk7XG4gICAgcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICBjb2xvcjogIzk5OTtcbiAgfVxuXG4gICZfX2lucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDM1KSAwIHJlbS1jYWxjKDEyKTtcbiAgICB3aWR0aDogcmVtLWNhbGMoODApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tbWVkaXVtO1xuICAgIGZvbnQtc2l6ZTogOTQlO1xuICAgIGNvbG9yOiAkb2ZmLXdoaXRlO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDE2MCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMDMpO1xuICAgIH1cbiAgfVxuXG4gIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IGZvbnQtZmFtaWx5OiAkZ290aGFtLWJvb2s7IG9wYWNpdHk6IDA7IHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9XG4gIDo6LW1vei1wbGFjZWhvbGRlciB7IGZvbnQtZmFtaWx5OiAkZ290aGFtLWJvb2s7IG9wYWNpdHk6IDA7IHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9XG4gIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBmb250LWZhbWlseTogJGdvdGhhbS1ib29rOyBvcGFjaXR5OiAwOyB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTsgfVxuICA6LW1vei1wbGFjZWhvbGRlciB7IGZvbnQtZmFtaWx5OiAkZ290aGFtLWJvb2s7IG9wYWNpdHk6IDA7IHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9XG4gIDpmb2N1czo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IG9wYWNpdHk6IDE7IH1cbiAgOmZvY3VzOjotbW96LXBsYWNlaG9sZGVyIHsgb3BhY2l0eTogMTsgfVxuICA6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgb3BhY2l0eTogMTsgfVxuICA6Zm9jdXM6LW1vei1wbGFjZWhvbGRlciB7IG9wYWNpdHk6IDE7IH1cbn1cbiIsIi8qKlxuICogU3dpcGVyIENvbXBvbmVudFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFRoaXMgY29tcG9uZW50IHV0aWxpemVzIHN3aXBlci5qcyAoaHR0cDovL2lkYW5nZXJvLnVzL3N3aXBlci8pIHRvIGRpc3BsYXlcbiAqIGEgc2xpZGluZyBpbWFnZSBnYWxsZXJ5IHdpdGggbmF2aWdhdGlvbi5cbiAqXG4gKiA8c2VjdGlvbiBjbGFzcz1cInN3aXBlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICogICA8ZGl2IGNsYXNzPVwic3dpcGVyX193cmFwcGVyXCI+XG4gKiAgICAgPGltZyBjbGFzcz1cInN3aXBlcl9fc2xpZGVcIiBzcmM9XCIvYXNzZXRzL2ltYWdlcy9nYWxsZXJ5LzAxLmpwZ1wiIGFsdD1cIlwiPlxuICogICAgIC4uLiBtb3JlIGltYWdlcyAuLi5cbiAqICAgPC9kaXY+XG4gKiAgIDxkaXYgY2xhc3M9XCJzd2lwZXJfX25leHRcIj5cbiAqICAgICA8aSBjbGFzcz1cImZsYXRpY29uIHN0cm9rZSByaWdodC0yXCI+PC9pPlxuICogICA8L2Rpdj5cbiAqICAgPGRpdiBjbGFzcz1cInN3aXBlcl9fcHJldlwiPlxuICogICAgIDxpIGNsYXNzPVwiZmxhdGljb24gc3Ryb2tlIGxlZnQtMlwiPjwvaT5cbiAqICAgPC9kaXY+XG4gKiA8L3NlY3Rpb24+XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8vIEJsb2NrXG4uc3dpcGVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpOyAvLyAxNnB4ID0gZG91YmxlIHRoZSBndXR0ZXIgZGVmaW5lZCBpbiBpbml0LXN3aXBlci5qc1xuICBoZWlnaHQ6IHJlbS1jYWxjKDIyMCk7XG4gIG1hcmdpbjogcmVtLWNhbGMoOCkgYXV0bzsgLy8gOHB4IHRvIG1hdGNoIHRoZSBndXR0ZXJcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDE2MCk7XG4gIH1cblxuICAvLyBFbGVtZW50c1xuXG4gICZfX3NsaWRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTk5O1xuICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDIyMCk7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDE2MCk7XG4gICAgfVxuICB9XG5cbiAgJl9fbmV4dCwgJl9fcHJldiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdGV4dC1zaGFkb3c6IDBweCAycHggNnB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLmZsYXRpY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogNTAwJTtcbiAgICAgIHBhZGRpbmc6IDNyZW0gMXJlbTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19uZXh0IHtcbiAgICByaWdodDogLTMuNXJlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDY0MCkgeyByaWdodDogLTRyZW07IH1cbiAgfVxuXG4gICZfX3ByZXYge1xuICAgIGxlZnQ6IDEuNnJlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDY0MCkgeyBsZWZ0OiAzcmVtOyB9XG4gIH1cbn1cblxuLyoqXG4gKiBWZW5kb3IgU3R5bGVzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogUHVsbGVkIGZyb20gbm9kZV9tb2R1bGVzL3N3aXBlci9kaXN0L2Nzcy9zd2lwZXIuY3NzXG4gKiBNb2RpZmllZCBmb3IgdGhlIG5ldyBjbGFzc2VzIC5zd2lwZXItY29udGFpbmVyIHRvIC5zd2lwZXJcbiAqIGFuZCAuc3dpcGVyLXdyYXBwZXIgdG8gLnN3aXBlcl9fd3JhcHBlclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uc3dpcGVyIHtcbiBtYXJnaW4tbGVmdDogYXV0bztcbiBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gcG9zaXRpb246IHJlbGF0aXZlO1xuIG92ZXJmbG93OiBoaWRkZW47XG4gLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gei1pbmRleDogMTtcbn1cbi5zd2lwZXItY29udGFpbmVyLW5vLWZsZXhib3ggLnN3aXBlci1zbGlkZSB7XG4gZmxvYXQ6IGxlZnQ7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXJfX3dyYXBwZXIge1xuIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gLW1vei1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5zd2lwZXJfX3dyYXBwZXIge1xuIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiB3aWR0aDogMTAwJTtcbiBoZWlnaHQ6IDEwMCU7XG4gei1pbmRleDogMTtcbiBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiBkaXNwbGF5OiAtbW96LWJveDtcbiBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gZGlzcGxheTogZmxleDtcbiAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1vei10cmFuc2Zvcm07XG4gLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW8tdHJhbnNmb3JtO1xuIC1tcy10cmFuc2l0aW9uLXByb3BlcnR5OiAtbXMtdHJhbnNmb3JtO1xuIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyX193cmFwcGVyIHtcbiAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCk7XG4gLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXJfX3dyYXBwZXIge1xuIC13ZWJraXQtYm94LWxpbmVzOiBtdWx0aXBsZTtcbiAtbW96LWJveC1saW5lczogbXVsdGlwbGU7XG4gLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiBmbGV4LXdyYXA6IHdyYXA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyX193cmFwcGVyIHtcbiAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gbWFyZ2luOiAwIGF1dG87XG59XG4uc3dpcGVyLXNsaWRlIHtcbiAtd2Via2l0LWZsZXgtc2hyaW5rOiAwO1xuIC1tcy1mbGV4OiAwIDAgYXV0bztcbiBmbGV4LXNocmluazogMDtcbiB3aWR0aDogMTAwJTtcbiBoZWlnaHQ6IDEwMCU7XG4gcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuIGhlaWdodDogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlcl9fd3JhcHBlciB7XG4gLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIGhlaWdodDtcbiAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtO1xuIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybTtcbiAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1zLXRyYW5zZm9ybTtcbiB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbn1cbi8qIGExMXkgKi9cbi5zd2lwZXIgLnN3aXBlci1ub3RpZmljYXRpb24ge1xuIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiBsZWZ0OiAwO1xuIHRvcDogMDtcbiBwb2ludGVyLWV2ZW50czogbm9uZTtcbiBvcGFjaXR5OiAwO1xuIHotaW5kZXg6IC0xMDAwO1xufVxuLyogSUUxMCBXaW5kb3dzIFBob25lIDggRml4ZXMgKi9cbi5zd2lwZXItd3A4LWhvcml6b250YWwge1xuIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG4uc3dpcGVyLXdwOC12ZXJ0aWNhbCB7XG4gLW1zLXRvdWNoLWFjdGlvbjogcGFuLXg7XG4gdG91Y2gtYWN0aW9uOiBwYW4teDtcbn1cbi8qIEFycm93cyAqL1xuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItYnV0dG9uLW5leHQge1xuIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiB0b3A6IDUwJTtcbiB3aWR0aDogMjdweDtcbiBoZWlnaHQ6IDQ0cHg7XG4gbWFyZ2luLXRvcDogLTIycHg7XG4gei1pbmRleDogMTA7XG4gY3Vyc29yOiBwb2ludGVyO1xuIC1tb3otYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XG4gLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiBiYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gb3BhY2l0eTogMC4zNTtcbiBjdXJzb3I6IGF1dG87XG4gcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuIGxlZnQ6IDEwcHg7XG4gcmlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUge1xuIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiByaWdodDogMTBweDtcbiBsZWZ0OiBhdXRvO1xufVxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XG4gYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi8qIFBhZ2luYXRpb24gU3R5bGVzICovXG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gLXdlYmtpdC10cmFuc2l0aW9uOiAzMDBtcztcbiAtbW96LXRyYW5zaXRpb246IDMwMG1zO1xuIC1vLXRyYW5zaXRpb246IDMwMG1zO1xuIHRyYW5zaXRpb246IDMwMG1zO1xuIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gei1pbmRleDogMTA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiBvcGFjaXR5OiAwO1xufVxuLyogQ29tbW9uIFN0eWxlcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSxcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gYm90dG9tOiAxMHB4O1xuIGxlZnQ6IDA7XG4gd2lkdGg6IDEwMCU7XG59XG4vKiBCdWxsZXRzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiB3aWR0aDogOHB4O1xuIGhlaWdodDogOHB4O1xuIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiBib3JkZXItcmFkaXVzOiAxMDAlO1xuIGJhY2tncm91bmQ6ICMwMDA7XG4gb3BhY2l0eTogMC4yO1xufVxuYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gYm9yZGVyOiBub25lO1xuIG1hcmdpbjogMDtcbiBwYWRkaW5nOiAwO1xuIGJveC1zaGFkb3c6IG5vbmU7XG4gLW1vei1hcHBlYXJhbmNlOiBub25lO1xuIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiBhcHBlYXJhbmNlOiBub25lO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiBvcGFjaXR5OiAxO1xuIGJhY2tncm91bmQ6ICMwMDdhZmY7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuIGJhY2tncm91bmQ6ICNmZmY7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuIGJhY2tncm91bmQ6ICMwMDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiByaWdodDogMTBweDtcbiB0b3A6IDUwJTtcbiAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIC01MCUpO1xuIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG4gdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiBtYXJnaW46IDVweCAwO1xuIGRpc3BsYXk6IGJsb2NrO1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuIG1hcmdpbjogMCA1cHg7XG59XG4vKiBQcm9ncmVzcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzIHtcbiBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuIGJhY2tncm91bmQ6ICMwMDdhZmY7XG4gcG9zaXRpb246IGFic29sdXRlO1xuIGxlZnQ6IDA7XG4gdG9wOiAwO1xuIHdpZHRoOiAxMDAlO1xuIGhlaWdodDogMTAwJTtcbiAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gLW8tdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiB0cmFuc2Zvcm06IHNjYWxlKDApO1xuIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gLW8tdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gLW1vei10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAtby10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyB7XG4gd2lkdGg6IDEwMCU7XG4gaGVpZ2h0OiA0cHg7XG4gbGVmdDogMDtcbiB0b3A6IDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyB7XG4gd2lkdGg6IDRweDtcbiBoZWlnaHQ6IDEwMCU7XG4gbGVmdDogMDtcbiB0b3A6IDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Muc3dpcGVyLXBhZ2luYXRpb24td2hpdGUge1xuIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcy5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuIGJhY2tncm91bmQ6ICNmZmY7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Muc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuLyogM0QgQ29udGFpbmVyICovXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gLXdlYmtpdC1wZXJzcGVjdGl2ZTogMTIwMHB4O1xuIC1tb3otcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAtby1wZXJzcGVjdGl2ZTogMTIwMHB4O1xuIHBlcnNwZWN0aXZlOiAxMjAwcHg7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyX193cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAtbW96LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gLW1zLXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gcG9zaXRpb246IGFic29sdXRlO1xuIGxlZnQ6IDA7XG4gdG9wOiAwO1xuIHdpZHRoOiAxMDAlO1xuIGhlaWdodDogMTAwJTtcbiBwb2ludGVyLWV2ZW50czogbm9uZTtcbiB6LWluZGV4OiAxMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAvKiBTYWZhcmkgNCssIENocm9tZSAqL1xuIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuIC8qIENocm9tZSAxMCssIFNhZmFyaSA1LjErLCBpT1MgNSsgKi9cbiBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAvKiBGaXJlZm94IDMuNi0xNSAqL1xuIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAvKiBPcGVyYSAxMS4xMC0xMi4wMCAqL1xuIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuIC8qIEZpcmVmb3ggMTYrLCBJRTEwLCBPcGVyYSAxMi41MCsgKi9cbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgcmlnaHQgdG9wLCBsZWZ0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuIC8qIENocm9tZSAxMCssIFNhZmFyaSA1LjErLCBpT1MgNSsgKi9cbiBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuIC8qIEZpcmVmb3ggMy42LTE1ICovXG4gYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gLyogRmlyZWZveCAxNissIElFMTAsIE9wZXJhIDEyLjUwKyAqL1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAvKiBTYWZhcmkgNCssIENocm9tZSAqL1xuIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXG4gYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuIC8qIEZpcmVmb3ggMy42LTE1ICovXG4gYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAvKiBPcGVyYSAxMS4xMC0xMi4wMCAqL1xuIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gLyogRmlyZWZveCAxNissIElFMTAsIE9wZXJhIDEyLjUwKyAqL1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAvKiBTYWZhcmkgNCssIENocm9tZSAqL1xuIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXG4gYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuIC8qIEZpcmVmb3ggMy42LTE1ICovXG4gYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAvKiBPcGVyYSAxMS4xMC0xMi4wMCAqL1xuIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gLyogRmlyZWZveCAxNissIElFMTAsIE9wZXJhIDEyLjUwKyAqL1xufVxuLyogQ292ZXJmbG93ICovXG4uc3dpcGVyLWNvbnRhaW5lci1jb3ZlcmZsb3cgLnN3aXBlcl9fd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlcl9fd3JhcHBlciB7XG4gLyogV2luZG93cyA4IElFIDEwIGZpeCAqL1xuIC1tcy1wZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuLyogQ3ViZSArIEZsaXAgKi9cbi5zd2lwZXItY29udGFpbmVyLWN1YmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIHtcbiBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gei1pbmRleDogMTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiB6LWluZGV4OiAwO1xuIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogQ3ViZSAqL1xuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIHtcbiB2aXNpYmlsaXR5OiBoaWRkZW47XG4gLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gd2lkdGg6IDEwMCU7XG4gaGVpZ2h0OiAxMDAlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRlIHtcbiAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQgKyAuc3dpcGVyLXNsaWRlIHtcbiBwb2ludGVyLWV2ZW50czogYXV0bztcbiB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiBwb3NpdGlvbjogYWJzb2x1dGU7XG4gbGVmdDogMDtcbiBib3R0b206IDBweDtcbiB3aWR0aDogMTAwJTtcbiBoZWlnaHQ6IDEwMCU7XG4gYmFja2dyb3VuZDogIzAwMDtcbiBvcGFjaXR5OiAwLjY7XG4gLXdlYmtpdC1maWx0ZXI6IGJsdXIoNTBweCk7XG4gZmlsdGVyOiBibHVyKDUwcHgpO1xuIHotaW5kZXg6IDA7XG59XG4vKiBGYWRlICovXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xuIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuIC1tcy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSB7XG4gcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiB3aWR0aDogMTAwJTtcbiBoZWlnaHQ6IDEwMCU7XG4gZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gZGlzcGxheTogLW1vei1ib3g7XG4gZGlzcGxheTogLW1zLWZsZXhib3g7XG4gZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuIGRpc3BsYXk6IGZsZXg7XG4gLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuIC1tb3otYm94LXBhY2s6IGNlbnRlcjtcbiAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuIC1tb3otYm94LWFsaWduOiBjZW50ZXI7XG4gLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gYWxpZ24taXRlbXM6IGNlbnRlcjtcbiB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2Zyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBjYW52YXMge1xuIG1heC13aWR0aDogMTAwJTtcbiBtYXgtaGVpZ2h0OiAxMDAlO1xuIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG4vKiBTY3JvbGxiYXIgKi9cbi5zd2lwZXItc2Nyb2xsYmFyIHtcbiBib3JkZXItcmFkaXVzOiAxMHB4O1xuIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gcG9zaXRpb246IGFic29sdXRlO1xuIGxlZnQ6IDElO1xuIGJvdHRvbTogM3B4O1xuIHotaW5kZXg6IDUwO1xuIGhlaWdodDogNXB4O1xuIHdpZHRoOiA5OCU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiBwb3NpdGlvbjogYWJzb2x1dGU7XG4gcmlnaHQ6IDNweDtcbiB0b3A6IDElO1xuIHotaW5kZXg6IDUwO1xuIHdpZHRoOiA1cHg7XG4gaGVpZ2h0OiA5OCU7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiBoZWlnaHQ6IDEwMCU7XG4gd2lkdGg6IDEwMCU7XG4gcG9zaXRpb246IHJlbGF0aXZlO1xuIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiBib3JkZXItcmFkaXVzOiAxMHB4O1xuIGxlZnQ6IDA7XG4gdG9wOiAwO1xufVxuLnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWcge1xuIGN1cnNvcjogbW92ZTtcbn1cbi8qIFByZWxvYWRlciAqL1xuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gd2lkdGg6IDQycHg7XG4gaGVpZ2h0OiA0MnB4O1xuIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiBsZWZ0OiA1MCU7XG4gdG9wOiA1MCU7XG4gbWFyZ2luLWxlZnQ6IC0yMXB4O1xuIG1hcmdpbi10b3A6IC0yMXB4O1xuIHotaW5kZXg6IDEwO1xuIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAtd2Via2l0LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xuIC1tb3otYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyOmFmdGVyIHtcbiBkaXNwbGF5OiBibG9jaztcbiBjb250ZW50OiBcIlwiO1xuIHdpZHRoOiAxMDAlO1xuIGhlaWdodDogMTAwJTtcbiBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjM2YzZjNmMnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG4gYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZTphZnRlciB7XG4gYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzZmZmJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gMTAwJSB7XG4gICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gfVxufVxuQGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuIDEwMCUge1xuICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiB9XG59XG4iLCIudGFiLW5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4xNSk7XG4gIG1hcmdpbi10b3A6IDRyZW07XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTAwMCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgYSwgYTp2aXNpdGVkLCBhOmZvY3VzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg4MjApIHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg4MjApIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICB9XG5cbiAgICAgICoge1xuICAgICAgICBmaWxsOiAjOTk5O1xuICAgICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAsIDAuODgsIDAuMjUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODIwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTEwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyOm5vdCguYWN0aXZlKSB7XG4gICAgICBhLCBhOnZpc2l0ZWQsIGE6Zm9jdXMgeyBjb2xvcjogd2hpdGU7IH1cbiAgICAgIHN2ZyAqIHsgZmlsbDogJHByaW1hcnktY29sb3I7IH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDEwKTtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoMCwwLDAsMC4wNCk7XG5cbiAgICAgIGEsIGE6dmlzaXRlZCwgYTpmb2N1cyB7IGNvbG9yOiAkZGFyay1ncmF5OyB9XG5cbiAgICAgIHN2ZyAqIHsgZmlsbDogJHByaW1hcnktY29sb3I7IH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogODUlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODIwKSB7XG4gICAgICAgICAgZm9udC1zaXplOiA5NSU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB0b3A6IDkyJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDE1cHggMjVweCAwIDI1cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubW9iaWxlLXRhYi1uYXYge1xuICBwYWRkaW5nOiAycmVtIDAgMXJlbTtcblxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjEpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAxMjAlO1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMjYpO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgfVxuXG4gICAgc3ZnICogeyBmaWxsOiAkcHJpbWFyeS1jb2xvcjsgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjUpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICAgIHN2ZyAqIHsgZmlsbDogcmdiYSgyNTUsMjU1LDI1NSwwLjUpOyB9XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIGxlZnQ6IDUwJSFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggOHB4IHJnYmEoMCwwLDAsMC40KTtcblxuICAgIHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC50YWItbmF2X19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBhLCBhOnZpc2l0ZWQsIGE6Zm9jdXMge1xuICAgICAgICBmb250LXNpemU6IDExMCU7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMC44NXJlbSAwO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwidGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG50Ym9keSB0ciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDAsMCwwLDAuMDIpIWltcG9ydGFudDtcbn1cblxudGgge1xuICBmb250LWZhbWlseTogJGdvdGhhbS1tZWRpdW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEwMCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbnRkIHtcbiAgZm9udC1zaXplOiAxMDUlO1xufVxuXG50ZC5ib2xkIHtcbiAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYm9sZDtcbiAgY29sb3I6ICM0NDQ7XG59XG4iLCIudG9vbHRpcCB7XG4gIHotaW5kZXg6IDEwMDAhaW1wb3J0YW50O1xufVxuIiwiLyoqXG4gKiBWaXNpb24gQ29tcG9uZW50XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGhpcyBjb21wb25lbnQgZGlzcGxheXMgYSBsYXJnZSBibG9ja3F1b3RlIHZpc2lvbi1saWtlIHN0YXRlbWVudCB3aXRoIGFuXG4gKiBvcGFxdWUgbGFyZ2UgYmFja2dyb3VuZCB0ZXh0LlxuICpcbiAqIDxzZWN0aW9uIGNsYXNzPVwidmlzaW9uXCI+XG4gKiAgIDxibG9ja3F1b3RlIGNsYXNzPVwidmlzaW9uX19xdW90ZVwiPlxuICogICAgIDxoMiBjbGFzcz1cInZpc2lvbl9fdGl0bGVcIj4gLi4uIHRpdGxlIC4uLiA8L2gyPlxuICogICAgICAuLi4gdmlzaW9uIHN0YXRlbWVudCBoZXJlIC4uLlxuICogICA8L2Jsb2NrcXVvdGU+XG4gKiAgIDxzcGFuIGNsYXNzPVwidmlzaW9uX19iZy10ZXh0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gKiAgICAgLi4uIGxhcmdlIHRleHQgLi4uXG4gKiAgIDwvc3Bhbj5cbiAqIDwvc2VjdGlvbj5cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLy8gQmxvY2tcbi52aXNpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDEwMCkgMDtcbiAgd2lkdGg6IDg1JTtcbiAgbWF4LXdpZHRoOiByZW0tY2FsYyg5MDApO1xuICBtYXJnaW46IDAgYXV0bztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgcGFkZGluZzogcmVtLWNhbGMoNDApIDA7IH1cblxuICAvLyBFbGVtZW50c1xuXG4gICZfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBmb250LXNpemU6IDYwJTtcbiAgICBmb250LWZhbWlseTogJGdvdGhhbS1ib2xkO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg2NTApIHtcbiAgICAgIGZvbnQtc2l6ZTogNDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fcXVvdGUge1xuICAgIGJvcmRlci13aWR0aDogMTBweDtcbiAgICBmb250LXNpemU6IDIwMCU7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg5MDApO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDQ1MCkgeyBmb250LXNpemU6IDI1MCU7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDY1MCkgeyBmb250LXNpemU6IDM1MCU7IH1cbiAgfVxuXG4gICZfX2JnLXRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IDFyZW07XG4gICAgbGVmdDogMXJlbTtcbiAgICBmb250LWZhbWlseTogJGdvdGhhbS1ib2xkO1xuICAgIGZvbnQtc2l6ZTogODAwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiByZ2JhKDAsMCwwLDAuMDIpO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoOTMwKSB7XG4gICAgICB0b3A6IDJyZW07XG4gICAgICBsZWZ0OiAtMTZyZW07XG4gICAgICBmb250LXNpemU6IDE1MDAlO1xuICAgIH1cbiAgfVxufVxuIiwiLnAtYWJvdXQge1xuXG4gICZfX2hlYWRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL2Fib3V0LWJnLmpwZyk7XG4gICAgcGFkZGluZzogMTByZW0gMCA0cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBwYWRkaW5nOiA2cmVtIDAgM3JlbTsgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNDUwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgZm9udC1zaXplOiAzMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDI4MCU7XG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG5cbiAgJl9fYmVsaWVmcyB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg3MDApO1xuICB9XG59XG4iLCIucC1hcHAge1xuXG4gICZfX3NpZGUtaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9kZXZpY2VzLmpwZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNzUlIGNlbnRlcjtcbiAgfVxuXG4gICZfX2JhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LWhlaWdodDogcmVtLWNhbGMoNDUpO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gIH1cbn1cbiIsIi5wLWNyYXNoY291cnNlIHtcblxuICAmX19oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9jcmFzaC1jb3Vyc2UuanBnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNjAgMCAxNDApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyMCAwIDIyMCk7XG4gICAgfVxuICB9XG5cbiAgJl9fZGl2aWRlciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBtYXJnaW46IDAuNXJlbSAwIDJyZW07XG4gIH1cblxuICAucGFnZS1oZWFkZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBmb250LXNpemU6IDE1MCU7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg3MDApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IGZvbnQtc2l6ZTogMTIwJTsgfVxuICB9XG5cbiAgLnVjIHtcbiAgICBmb250LXNpemU6IDI2MCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg2NDApIHsgZm9udC1zaXplOiA0MDAlOyB9XG4gIH1cblxuICAmX193aGF0LXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBmb250LXNpemU6IDE4MCU7IH1cbiAgfVxuXG4gIGJsb2NrcXVvdGUge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBtYXJnaW4tdG9wOiA0cmVtOyB9XG4gIH1cblxuICAmX19sb2NhdGlvbnMge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoMik7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMnJlbSAwIDA7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMXJlbSAwO1xuICAgIH1cblxuICAgIGxpICsgbGkge1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHJnYmEoMCwwLDAsMC4wMik7XG4gICAgfVxuXG4gICAgLnBob3RvIHtcbiAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTYwKTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoOTApO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDEwMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLWJvbGQ7XG4gICAgICBmb250LXNpemU6IDEyNSU7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDk1JTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAubGlzdC1ib3gge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSk7XG4gICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKDEpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICB9XG4gIH1cbn1cblxuLnAtY29sbGVnZSB7XG5cbiAgJl9faGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvY29sbGVnZS9oZXJvMi5qcGcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCAwIDE0MCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTIwIDAgMjIwKTtcbiAgICB9XG4gIH1cblxuICAmX19kaXZpZGVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIG1hcmdpbjogMC41cmVtIDAgMnJlbTtcbiAgfVxuXG4gIC5wYWdlLWhlYWRlcl9fZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGZvbnQtc2l6ZTogMTUwJTtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDcwMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgZm9udC1zaXplOiAxMjAlOyB9XG4gIH1cblxuICAudWMge1xuICAgIGZvbnQtc2l6ZTogMjYwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDY0MCkgeyBmb250LXNpemU6IDQwMCU7IH1cbiAgfVxuXG4gICZfX3doYXQtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IGZvbnQtc2l6ZTogMTgwJTsgfVxuICB9XG5cbiAgYmxvY2txdW90ZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IG1hcmdpbi10b3A6IDRyZW07IH1cbiAgfVxuXG4gICZfX2xvY2F0aW9ucyB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xuICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigyKTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAycmVtIDAgMDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAxcmVtIDA7XG4gICAgfVxuXG4gICAgbGkgKyBsaSB7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgcmdiYSgwLDAsMCwwLjAyKTtcbiAgICB9XG5cbiAgICAucGhvdG8ge1xuICAgICAgbWluLXdpZHRoOiByZW0tY2FsYygxNjApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg5MCk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE1KTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMTI1JTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogOTUlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5saXN0LWJveCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoMSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLnAtZWFzdGVyIHtcbiAgJl9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9hc3NldHMvaW1hZ2VzL2Vhc3Rlci1oZXJvLmpwZ1wiKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICB9XG5cbiAgICAucHJvbW8ge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMTByZW07XG4gICAgICAucmVzcG9uc2l2ZS1lbWJlZCB7IGJveC1zaGFkb3c6IDAgMCAzMHB4IDEwcHggcmdiYSgwLDAsMCwwLjMpOyB9XG4gICAgfVxuICB9XG5cbiAgJl9fZGV0YWlscyB7XG4gICAgcGFkZGluZzogMTIwcHggMTBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBjb2xvcjogIzExMTtcblxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxMTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDNyZW07XG4gICAgfVxuXG4gICAgLnRpbWVzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG4gICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgfVxuXG4gICAgLm9ubGluZS1saW5rcyB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm9ubGluZS1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzogMTBweCA0MHB4O1xuXG4gICAgICBzdmcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LWZhbWlseTogJ0dvdGhhbUhURk1lZGl1bSc7XG4gICAgICAgIGNvbG9yOiAjMTExO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnAtZmFzdGluZyB7XG4gIG1haW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAzcmVtIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3MTBweCkge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxuXG4gIGFzaWRlIHtcbiAgICBmbGV4OiAwIDAgNDAwcHg7XG4gICAgcGFkZGluZzogMzBweDtcblxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEwNTBweCkge1xuICAgICAgZmxleDogMCAwIDI1MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDcxMHB4KSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgMCAzMHB4IDA7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICYgPiBkaXYge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMnJlbSA1cmVtIDA7XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMDUwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gM3JlbSAwO1xuICAgIH1cblxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICBwYWRkaW5nOiAycmVtIDAuNXJlbSAwO1xuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbiAgfVxuXG4gIGgzICsgdWwgbGkge1xuICAgIGZvbnQtc2l6ZTogMTQwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG59IiwiLnAtZmxvdXJpc2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuXG4gIC5oZXJvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cblxuICAudGVhc2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIC04MHB4O1xuICB9XG5cbiAgLnJlc3BvbnNpdmUtZW1iZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTE7XG4gICAgcGFkZGluZy1ib3R0b206IDQzLjI1JTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLnNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDEwMHB4IDA7XG4gIH1cblxuICAuZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjZjBmMGYwO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgICBtYXJnaW46IDEwcHggYXV0byAyMHB4O1xuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAxMjAlO1xuXG4gICAgJi5wcmltYXJ5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiNTRjNTQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGMzYTQxO1xuICAgICAgfVxuICAgIH1cblxuICAgICYud2hpdGUsIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhhc2h0YWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBjb2xvcjogI2Q3YzFiNDtcbiAgICBmb250LWZhbWlseTogJ0dvdGhhbUhURkxpZ2h0JztcbiAgfVxuXG4gIC5pbWFnZXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICBnYXA6IDJlbSAyZW07XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXJnaW46IDIwcHggYXV0byAwO1xuICAgIG1heC13aWR0aDogODAwcHg7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59IiwiLnAtZ2l2ZSB7XG5cbiAgJl9faGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvcGhvdG8uanBnKTtcblxuICAgIC5wYWdlLWhlYWRlcl9fZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG4gIH1cblxuICAmX19mb3JtIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fdGV4dC10by1naXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgIH1cblxuICAgIGg0LCBwIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTgwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtNjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC00MHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICBtYXJnaW4tbGVmdDogLTEwMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuY29tcHV0ZXIgJiB7XG4gICAgICBtYXJnaW4tbGVmdDogLTQwMHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDEwNTApIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNTBweDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDYwMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNjBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBob25lICYge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDEwNTApIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMDApO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjIwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKC0xMjBweCkgYXV0byAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIG1pZGRsZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcblxuICAgIC5jb21wdXRlciAmIGRpdiB7XG4gICAgICBwYWRkaW5nOiA1cmVtIDVyZW0gNXJlbSAxMHJlbTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNHJlbSAwLjVyZW0gNHJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGhvbmUgJiBkaXYge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcGFkZGluZzogNXJlbSAyMHJlbSA1cmVtIDVyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDRyZW0gMC41cmVtIDEwcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNTAwKTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXNpemU6IDEyMCU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBmb250LXNpemU6IDExMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7IG1hcmdpbjogMDsgfVxuICB9XG5cbiAgJl9fbWVzc2FnZSB7XG4gICAgbWFyZ2luLXRvcDogOHJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG5cbiAgICAucm93IHtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTAwMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkgeyBmb250LXNpemU6IDE4MCU7IH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBmb250LXNpemU6IDE0MCU7IH1cbiAgICB9XG5cbiAgICAucGx5ciB7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDZweCByZ2JhKDAsMCwwLDAuMDQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTFyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtNHJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dC1zZWN0aW9uIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cblxuXG4gICZfX2Rpc2NsYWltZXIge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg1NTApO1xuICAgIG1hcmdpbjogNnJlbSBhdXRvO1xuICAgIGZvbnQtc2l6ZTogODUlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cblxuICAuZ2l2aW5nLW1lc3NhZ2Uge1xuICAgIG1hcmdpbi10b3A6IC0yMnJlbTtcbiAgfVxuXG4gIC5jb2x1bW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgfVxuXG59XG4iLCIucC1ob21lIHtcblxuICAubGF0ZXN0LW1lc3NhZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAwcmVtIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6IDRyZW0gMCA0cmVtIWltcG9ydGFudDsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgcGFkZGluZzogNnJlbSAwIDdyZW0haW1wb3J0YW50OyB9XG5cbiAgICAmLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsIHN0cmV0Y2gpO1xuICAgICAgd2lkdGg6IDk1JTtcbiAgICB9XG5cbiAgICAmLWRldGFpbHMge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogNXJlbSFpbXBvcnRhbnQ7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBwYWRkaW5nLXRvcDogMnJlbTsgcGFkZGluZy1yaWdodDogMCFpbXBvcnRhbnQ7IH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAzMCkgeyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpOyB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNyk7IH1cblxuICAgICAgLnctdGl0bGUtbGluZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTUwJTtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogJGdvdGhhbS1ib2xkO1xuICAgICAgZm9udC1zaXplOiAyMDAlO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZm9udC1zaXplOiAyNTAlOyB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGZvbnQtc2l6ZTogMzAwJTsgfVxuICAgIH1cblxuICAgICZfX2Rlc2Mge1xuICAgICAgY29sb3I6ICNkYWRhZGE7XG4gICAgICBmb250LXNpemU6IDExMCU7XG4gICAgICBtYXJnaW46IDEuNXJlbSAwO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IDEzMCU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbjogMS41cmVtIDAgMi41cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuXG4gICAgLm9wZW4tbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNjAwKSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICAgICAgLmZsYXRpY29uIHsgbWFyZ2luOiByZW0tY2FsYygyKSAwIDAgcmVtLWNhbGMoMTApOyB9XG4gICAgfVxuXG4gICAgJi1hcnR3b3JrIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xuICAgICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyMDApO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWluLWhlaWdodDogcmVtLWNhbGMoMjUwKTsgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDMwKSB7IEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7IG1pbi1oZWlnaHQ6IGF1dG87IH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig1KTsgbWFyZ2luLXRvcDogMDsgfVxuXG4gICAgICBkaXYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDsgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmV3cyB7XG4gICAgcGFkZGluZzogM3JlbSAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZzogNHJlbSAwIDZyZW07IH1cbiAgfVxuXG4gIC5uZXdzLTEsIC5uZXdzLTIge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsIHN0cmV0Y2gpO1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWF4LXdpZHRoOiA5NSU7XG5cbiAgICAubmV3cy1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obGVmdCwgc3RyZXRjaCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICogMjtcbiAgICAgIHBhZGRpbmc6IDFyZW0haW1wb3J0YW50O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTsgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAycHggOHB4IHJnYmEoMCwwLDAsMC4wMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5ld3MtaXRlbSBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMTUwKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpOyB9XG4gICAgfVxuXG4gICAgLm5ld3MtaXRlbSBkaXY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgcGFkZGluZzogMS41cmVtIDAuNXJlbSAxcmVtIWltcG9ydGFudDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xuICAgICAgICBwYWRkaW5nOiAycmVtIDAgMnJlbSAxLjVyZW0haW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uZXdzLTMge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsIHN0cmV0Y2gpO1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWF4LXdpZHRoOiA5NSU7XG5cbiAgICAubmV3cy1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obGVmdCwgc3RyZXRjaCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICogMjtcbiAgICAgIHBhZGRpbmc6IDFyZW0haW1wb3J0YW50O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTsgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAycHggOHB4IHJnYmEoMCwwLDAsMC4wMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5ld3MtaXRlbSBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMTUwKTtcbiAgICB9XG5cbiAgICAubmV3cy1pdGVtIGRpdjpudGgtY2hpbGQoMikge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG4gICAgICBwYWRkaW5nOiAxLjVyZW0gMC41cmVtIDFyZW0haW1wb3J0YW50O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMCFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5ld3MtNCB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGNlbnRlciwgc3RyZXRjaCk7XG4gICAgd2lkdGg6IDk4JTtcbiAgICBtYXgtd2lkdGg6IDk4JTtcblxuICAgIC5uZXdzLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihsZWZ0LCBzdHJldGNoKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgKiAyO1xuICAgICAgcGFkZGluZzogMXJlbSFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpOyB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMyk7IH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMnB4IDhweCByZ2JhKDAsMCwwLDAuMDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXdzLWl0ZW0gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDE1MCk7XG4gICAgfVxuXG4gICAgLm5ld3MtaXRlbSBkaXY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgcGFkZGluZzogMS41cmVtIDAuNXJlbSAxcmVtIWltcG9ydGFudDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDAgMC41cmVtIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC50ZXh0LW5ld3MtaXRlbSB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgcGFkZGluZzogM3JlbSAxcmVtIDA7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHJnYmEoMCwwLDAsMC4wMik7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiAzcmVtIDRyZW0gMDsgfVxuXG4gICAgcCB7IGZvbnQtc2l6ZTogMTQwJTsgfVxuICB9XG5cbiAgLm5ld3MtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLW1lZGl1bTtcbiAgICBmb250LXNpemU6IDEyMCU7XG4gIH1cblxuICAubmV3cy1kZXNjIHAge1xuICAgIG1hcmdpbjogMC41cmVtIDAgMDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgfVxuICB9XG5cbiAgLmxvY2F0aW9ucywgLmdyb3VwcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB0b3A6IDA7IGJvdHRvbTogLTUlO1xuICAgICAgbGVmdDogMDsgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG4gIH1cblxuICAubG9jYXRpb25zOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL2ZyZXNobGlmZWNodXJjaC9jaXh3NmE0NmwwMDI5MnNuMHE3bGc5aDh4L3N0YXRpYy8tMTEyLjg0NDA5Niw0Mi43MTM5NDQsNC4zMSwwLjE2LDU2LjUwLzc1MHg0MDA/YWNjZXNzX3Rva2VuPXBrLmV5SjFJam9pWm5KbGMyaHNhV1psWTJoMWNtTm9JaXdpWVNJNkltWk9NRWhUUlVraWZRLnRNczRZVkhjakZLbndEclJ4RXNzSncnKTsgfVxuICAuZ3JvdXBzOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvZ3JvdXBzLmpwZyk7IG9wYWNpdHk6IDAuNDsgfVxuXG4gIC5sdXNrb3Mge1xuICAgIHBhZGRpbmc6IDZyZW0gMCA0cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3Jhc2gtY291cnNlIHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgfVxuICB9XG5cbn1cbiIsIi5wLWltcGFjdGNvbmYge1xuICAmX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgZGl2IHtcbiAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX19kZXRhaWxzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MTcxNztcbiAgICBwYWRkaW5nOiA1MHB4IDAgMjQwcHg7XG4gICAgZm9udC1mYW1pbHk6ICdGcmVzaExpZmVTYW5zJywgc2Fucy1zZXJpZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgZm9udC1zaXplOiAyNTAlO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmYyMDAgMCUsICNmZmYyMDAgMjAlLCAjZjc5NDFkIDIwJSwgI2Y3OTQxZCA0MCUsICNlZDIwMjQgNDAlLCAjZWQyMDI0IDYwJSwgIzAwNzJiYyA2MCUsICMwMDcyYmMgODAlLCAjZjRmMmU4IDgwJSwgI2Y0ZjJlOCAxMDAlKTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmYyMDAgMCUsICNmZmYyMDAgMjAlLCAjZjc5NDFkIDIwJSwgI2Y3OTQxZCA0MCUsICNlZDIwMjQgNDAlLCAjZWQyMDI0IDYwJSwgIzAwNzJiYyA2MCUsICMwMDcyYmMgODAlLCAjZjRmMmU4IDgwJSwgI2Y0ZjJlOCAxMDAlKTtcbiAgICB9XG4gIH1cblxuICAmX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAyMDAlO1xuICAgIHBhZGRpbmc6IDIwcHggODBweDtcbiAgICBtYXJnaW46IDAgMCAxMjBweDtcbiAgICBjb2xvcjogIzE3MTcxNztcbiAgICBmb250LXdlaWdodDogOTAwO1xuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTgwJTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcyYmM7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmZmMjAwIDAlLCAjZmZmMjAwIDIwJSwgI2Y3OTQxZCAyMCUsICNmNzk0MWQgNDAlLCAjZWQyMDI0IDQwJSwgI2VkMjAyNCA2MCUsICMwMDcyYmMgNjAlLCAjMDA3MmJjIDgwJSwgI2Y0ZjJlOCA4MCUsICNmNGYyZTggMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgJl9fbG9jYXRpb25zIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgZ3JpZC1nYXA6IDUlO1xuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICB9XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBncmlkLWdhcDogNDBweDtcbiAgICB9XG5cbiAgICBkaXYge1xuICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxNTAlO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDEyMCU7XG4gICAgICAgIGNvbG9yOiAjY2JjYmNiO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnAta2lja3N0YXJ0IHtcblxuICAmX19oZWFkZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9waG90by5qcGcpO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjgwJTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgfVxufVxuIiwiLnAta2lkcyB7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgaDQgeyBmb250LXNpemU6IDE0MCU7IH1cbiAgICBoNSB7IGZvbnQtc2l6ZTogMTIwJTsgfVxuICB9XG5cbiAgJl9faW1hZ2VzIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA0OSU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDkwNSkge1xuICAgICAgbWFyZ2luOiAyMHB4O1xuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogY2FsYygzMyUpO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG4gICZfX2hlYWRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9raWRzLWJnLmpwZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICB9XG5cbiAgJl9faGVhZGVyIC5wYWdlLWhlYWRlcl9fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTQwJTtcbiAgICBmb250LWZhbWlseTogJGdvdGhhbS1ib2xkO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoNTAwKTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG4gIHVsIGxpIHtcbiAgICBmb250LXNpemU6IDEwNSU7XG4gICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgJiA+IHVsIHtcbiAgICAgIG1hcmdpbjogMXJlbSAycmVtO1xuXG4gICAgICBsaSB7IG1hcmdpbi1ib3R0b206IDAuMnJlbTt9XG4gICAgfVxuICB9XG5cbiAgJl9fcG9saWNpZXMge1xuICAgIHBhZGRpbmc6IDRyZW0gMCA2cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBwYWRkaW5nOiAzcmVtIDAgNHJlbTtcbiAgICB9XG4gIH1cblxuICAmX19wb3NpdGlvbnMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgIH1cblxuICAgIC5jb2x1bW4ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG4gICAgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogMTQwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wLWtub3dnb2Qge1xuXG4gIC5wbHlyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gIH1cblxuICAuaG93LXRvIHtcbiAgICBwYWRkaW5nOiA5cmVtIDAgNHJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgcGFkZGluZzogNnJlbSAwIDNyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIHAgeyBtYXJnaW46IDAgYXV0byAzcmVtOyB9XG4gICAgfVxuICB9XG5cbiAgLndoYXQtbm93IHtcbiAgICBwYWRkaW5nOiA4cmVtIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmc6IDRyZW0gMDtcblxuICAgICAgLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoMik7XG4gICAgICB9XG4gICAgICAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKDEpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgYmxvY2txdW90ZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgIH1cbiAgfVxuXG4gIC5kZWNpc2lvbi1ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1hcmdpbjogLTJyZW0gYXV0byAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgcGFkZGluZzogMS4yNXJlbSAwIDAuNXJlbTtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSA1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgLTIuMnJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMTUwJTtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoMCwwLDAsMC4xKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gM3JlbTtcbiAgICAgICAgZm9udC1zaXplOiAxNDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3VyLXRoaW5ncyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZzogMTJyZW0gMDtcbiAgICBib3gtc2hhZG93OiAwcHggLTRweCAxNHB4IHJnYmEoMCwwLDAsMC4wMik7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmc6IDZyZW0gMCA0cmVtO1xuICAgIH1cblxuICAgICYtd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgfVxuXG4gICAgJi1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIGg2IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYm9sZDtcbiAgICAgICAgY29sb3I6ICMyMjI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTQwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmb250LXNpemU6IDE4MCU7IG1hcmdpbi1ib3R0b206IDVyZW07IH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBmb250LXNpemU6IDIwMCU7IG1hcmdpbi1ib3R0b206IDZyZW07IH1cbiAgICAgIH1cblxuICAgICAgZW0geyBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgICB9XG5cbiAgICAmLWxpc3Qge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyLCB0b3ApO1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwIDAgMDtcblxuICAgICAgJl9faXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAmX19sZXR0ZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBmb250LWZhbWlseTogJGdvdGhhbS1ib2xkO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICBmb250LXNpemU6IDEyMCU7XG4gICAgICAgIG1hcmdpbjogMnJlbSAwIDAuNXJlbTtcbiAgICAgIH1cblxuICAgICAgJl9fZGVzYyB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjgwKTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMTA1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3Rvcnkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgLnJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoMCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTA1JTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIH1cbiAgICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDFyZW0gYXV0byAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnAtbGF1bmNoX19oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvY2FtcHVzLWxhdW5jaC1iZy5qcGcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgc3Ryb25nIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cblxuICAucGFnZS1oZWFkZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDQ1cmVtO1xuICB9XG59XG4iLCIucC1sb2NhdGlvbnMge1xuXG4gIC5jYW1wdXNlcy1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICAgICAgLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmluc3RydWN0aW9ucyB7XG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tbWVkaXVtO1xuICAgIG9wYWNpdHk6IDAuNTtcblxuICAgIC5mbGF0aWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG4gICAgfVxuICB9XG5cbiAgLmNhbXB1c2VzIHtcbiAgICBwYWRkaW5nOiA1cmVtIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmc6IDNyZW0gMDtcbiAgICB9XG5cbiAgICAmID4gLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGNlbnRlcik7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihsZWZ0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW1hZ2UtY2FyZCB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICB9XG5cblxuICAucGFnZS1zZWN0aW9uOm5vdCguY2FtcHVzZXMpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgfVxuXG4gIC5uZXR3b3JrLXNpdGVzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gIC5uZXR3b3JrLXNpdGVzX19oZWFkZXIge1xuICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICBmb250LXNpemU6IDE4MCU7XG4gICAgIH1cbiAgfVxuXG4gIC5uZXR3b3JrLXNpdGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogM3JlbSA0cmVtIDJyZW07XG4gICAgbWFyZ2luOiAxcmVtIDFyZW0gM3JlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMCwwLDAsMC4xKTtcblxuICAgICZfX2ljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiByZW0tY2FsYygtNDUpO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgZm9udC1zaXplOiAzNTAlO1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cblxuICAgICZfX2NpdHkge1xuICAgICAgbWFyZ2luOiAwIDAgLTAuNHJlbTtcbiAgICB9XG5cbiAgICAmX19zdGF0ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLWJvbGQ7XG4gICAgICBmb250LXNpemU6IDEyMCU7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW1cbiAgICB9XG4gIH1cbn1cbiIsIi5wLW1lc3NhZ2Uge1xuXG4gICZfX2hlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1ib3R0b206IDVyZW07IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogNnJlbTsgfVxuICB9XG5cbiAgJl9fc2hhcmUge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgbWFyZ2luOiByZW0tY2FsYygtMzUpIGF1dG8gMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbjogcmVtLWNhbGMoLTMwKSBhdXRvIDA7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IG1hcmdpbjogcmVtLWNhbGMoLTUwKSBhdXRvIDA7IH1cblxuICAgIC5zaGFyZS1uYXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZzogMS41cmVtIDFyZW07IH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgcGFkZGluZzogMS41cmVtIDJyZW07IH1cbiAgICB9XG4gIH1cblxuICAmX19kZXRhaWxzIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyLCBtaWRkbGUpO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTAwMCk7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDcwKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMDApOyB9XG5cbiAgICAmID4gZGl2ICsgZGl2IHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxMjAlO1xuXG4gICAgJiArIC5zZWN0aW9uLWxhYmVsIHsgbWFyZ2luLXRvcDogMnJlbTsgfVxuICB9XG59XG4iLCIucC1tZXNzYWdlcyB7XG5cbiAgLnBhZ2UtaGVhZGVyIHtcblxuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3ViaGVhZGVyIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBmb250LXNpemU6IDEyMCU7IH1cbiAgICB9XG4gIH1cblxuICAjbGF0ZXN0QXJjaGl2ZUhlYWRlciAuY29sdW1uOm50aC1vZi10eXBlKDIpICoge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1sZWZ0OiAxLjVyZW07IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IG1hcmdpbi1sZWZ0OiAzcmVtOyB9XG4gIH1cblxuICAjbGF0ZXN0QXJjaGl2ZUhlYWRlciAuY29sdW1uOm50aC1vZi10eXBlKDIpIC5zdWJoZWFkZXIgeyBtYXJnaW4tYm90dG9tOiAwOyBvcGFjaXR5OiAwLjU7IH1cbiAgI2xhdGVzdEFyY2hpdmVIZWFkZXIgLmNvbHVtbjpudGgtb2YtdHlwZSgyKSBwIHsgZm9udC1zaXplOjEyMCU7IGNvbG9yOiAjYjViNWI1OyB9XG5cbiAgI2FyY2hpdmVzR3JpZCB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdygxMDAwcHgpO1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoMyk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAuaW1hZ2UtY2FyZCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7IH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTsgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgbG9hZGluZy1vcGFjaXR5IHtcbiAgICAgIDAlIHsgb3BhY2l0eTogMTsgfVxuICAgICAgNTAlIHsgb3BhY2l0eTogMC44OyB9XG4gICAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgbG9hZGluZy1zY2FsZSB7XG4gICAgICAwJSB7IHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9XG4gICAgICAyNSUgeyB0cmFuc2Zvcm06IHNjYWxlWCgwLjYpOyB9XG4gICAgICA0MCUgeyB0cmFuc2Zvcm06IHNjYWxlWCgwLjc1KTsgfVxuICAgICAgODAlIHsgdHJhbnNmb3JtOiBzY2FsZVgoMC40KTsgfVxuICAgICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9XG4gICAgfVxuXG4gICAgc3ZnIHsgYW5pbWF0aW9uOiBsb2FkaW5nLW9wYWNpdHkgMnMgZWFzZSBpbmZpbml0ZTsgfVxuXG4gICAgI1JlY3RhbmdsZS0zLCAjUmVjdGFuZ2xlLTQge1xuICAgICAgYW5pbWF0aW9uOiBsb2FkaW5nLXNjYWxlIDNzIGVhc2UgaW5maW5pdGU7XG4gICAgfVxuICB9XG5cbn1cbiIsIi5wLW5pZ2h0b3V0IHtcbiAgLmJhY2tncm91bmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3MjUwNWM7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcmlnaHQ6IDY1dnc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9uaWdodG91dC9oZXJvLmpwZykgbm8tcmVwZWF0IHRvcCByaWdodDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEwMjBweCkge1xuICAgICAgICByaWdodDogNzV2dztcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDgwcHggMjBweCAxMjBweDtcblxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDQwcHggNDBweCA2MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMjAwMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcblxuICAgIHN0cm9uZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGNvbG9yOiAjNzI1MDVjO1xuICAgIH1cbiAgfVxufSIsIi5wLW9ubGluZSB7XG5cbiAgJl9fc2lkZS1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL3dhdGNoLW9ubGluZS5qcGcpO1xuICB9XG5cbiAgLmxhcmdlciB7XG4gICAgbWFyZ2luOiAycmVtIDA7XG4gIH1cbn1cbiIsIi5wLXNlcmllcyB7XG4gIC5zZXJpZXMtaW5mbyB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpO1xuICAgIH1cbiAgfVxuICAuc2VyaWVzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgbWFyZ2luLXRvcDogMnJlbTsgfVxuICB9XG5cbiAgLnNlcmllcy1zdWJ0aXRsZSB7XG4gICAgbWFyZ2luOiAtMXJlbSAwIDFyZW07XG4gIH1cblxuICAuc2VyaWVzLWRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDEuNXJlbSAwIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB9XG4gIH1cblxuICAuc2VyaWVzLXBhcnRzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyKTtcbiAgICB9XG4gIH1cblxuICAuc2hhcmUtaGVhZGVyIHtcbiAgICBtYXJnaW46IDAgYXV0byAycmVtO1xuICAgIGgzIHsgY29sb3I6IHdoaXRlOyB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiAxLjVyZW0gMXJlbTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgcGFkZGluZzogMS41cmVtIDJyZW07IH1cbiAgfVxuXG4gIC5idXR0b24udy1pY29uIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDFyZW0haW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wLXN0YWZmIHtcbiAgLnBhZ2UtaGVhZGVyIGg1IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICB9XG4gIH1cblxuICAjc3RhZmYtbWVldGluZ3MgPiBkaXYgPiBkaXYgIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLnAtdHYge1xuXG4gICZfX2xvZ28ge1xuICAgIG1hcmdpbjogMCAwIDJyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG4gICAgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg3MCk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDcwKTtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogNDAwJTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLWJvbGQ7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLnBhZ2Utc2VjdGlvbl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gIH1cblxuICAuc2lkZS1pbWFnZS1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgICZfX2ltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9sZXZpLW9uLWNhbWVyYS5qcGcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDE1JTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiA4cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDhyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nOiAzcmVtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNjAwKTtcbiAgICB9XG4gIH1cblxuICAmX19oaWxsc29uZyB7XG4gICAgZm9udC1zaXplOiAxNDAlO1xuICAgIG9wYWNpdHk6IDAuNTtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMTQwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTEwJTtcbiAgICAgIGltZyB7IHdpZHRoOiByZW0tY2FsYygxMDApOyB9XG4gICAgfVxuICB9XG5cbiAgJl9fc2NyZWVuaW5ncyB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDg1MCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cbiIsIi5wLXhtYXMge1xuICAuaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCgnL2Fzc2V0cy9pbWFnZXMveG1hcy9oZXJvLmpwZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuXG4gIC5hcnR3b3JrIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWF4LWhlaWdodDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7O1xuICAgIG1hcmdpbjogMCBhdXRvIC01JTtcblxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMTUlO1xuICAgIH1cbiAgfVxuXG4gIC5kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiAxMDBweCAyMHB4IDgwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiKDIzNywyMzQsMjMxKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZTNjNGFlIC01JSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAyMCUpO1xuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDEyMHB4IDIwcHggNjBweDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNlM2M0YWUgLTUlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwJSk7XG4gICAgfVxuICB9XG5cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTUwJTtcbiAgICBmb250LWZhbWlseTogJ0dvdGhhbUhURkJvb2snO1xuICAgIGNvbG9yOiAjNDc0NzQ3O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAgICAgZm9udC1zaXplOiAxNDAlO1xuICAgIH1cbiAgfVxuXG4gIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICBmb250LWZhbWlseTogJ0dvdGhhbUhURkJvbGQnO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAubG9jYXRpb25zIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAubG9jYXRpb24ge1xuICAgIHdpZHRoOiAzMiU7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVhZTc7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiAjMjcyNzI3O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogIzU3NTc1NztcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgICAgICBmb250LWZhbWlseTogJ0dvdGhhbUhURk1lZGl1bSc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBjb2xvcjogIzI3MjcyNztcbiAgICAgIGZvbnQtZmFtaWx5OiAnR290aGFtSFRGTWVkaXVtJztcbiAgICB9XG4gIH1cbn0iXX0= */
