@font-face{font-family:"johnnymallin";src:url("../fonts/johnnymallin-TextSemiBold.eot");src:url("../fonts/johnnymallin-TextSemiBold.eot?#iefix") format("embedded-opentype"),url("../fonts/johnnymallin-TextSemiBold.woff2") format("woff2"),url("../fonts/johnnymallin-TextSemiBold.woff") format("woff"),url("../fonts/johnnymallin-TextSemiBold.ttf") format("truetype"),url("../fonts/johnnymallin-TextSemiBold.svg#johnnymallin-TextSemiBold") format("svg");font-style:normal;font-weight:normal;text-rendering:optimizeLegibility}@font-face{font-family:"johnnymallin";src:url("../fonts/johnnymallin-TextSemBdIta.eot");src:url("../fonts/johnnymallin-TextSemBdIta.eot?#iefix") format("embedded-opentype"),url("../fonts/johnnymallin-TextSemBdIta.woff2") format("woff2"),url("../fonts/johnnymallin-TextSemBdIta.woff") format("woff"),url("../fonts/johnnymallin-TextSemBdIta.ttf") format("truetype"),url("../fonts/johnnymallin-TextSemBdIta.svg#johnnymallin-TextSemBdIta") format("svg");font-style:italic;font-weight:normal;text-rendering:optimizeLegibility}@font-face{font-family:"johnnymallin";src:url("../fonts/johnnymallin-Bold.eot");src:url("../fonts/johnnymallin-Bold.eot?#iefix") format("embedded-opentype"),url("../fonts/johnnymallin-Bold.woff2") format("woff2"),url("../fonts/johnnymallin-Bold.woff") format("woff"),url("../fonts/johnnymallin-Bold.ttf") format("truetype"),url("../fonts/johnnymallin-Bold.svg#johnnymallin-Bold") format("svg");font-style:normal;font-weight:bold;text-rendering:optimizeLegibility}.acf-block-preview,#tinymce,:root{--header-font: "johnnymallin", Helvetica, Roboto, Arial, sans-serif;--body-font: "johnnymallin", Helvetica, Roboto, Arial, sans-serif;--body-line-height: 1.4;--header-line-height: 1;--weight-normal: normal;--weight-bold: bold;--header-height: 150px;--size: 16px;--size-minus1: 0.707rem;--size-minus2: 0.875rem;--size-plus1: 1.05rem;--size-plus2: 1.1025rem;--size-plus3: 1.157625rem;--size-plus4: 1.21550625rem;--size-plus5: 1.2762815625rem;--size-plus6: 1.3400956406rem;--size-plus7: 1.4071004227rem;--size-plus8: 1.4774554438rem;--size-plus9: 1.551328216rem;--size-plus10: 1.6288946268rem;--size-plus-huge: 2.0789281794rem;--size-plus-xhuge: 2.6532977051rem;--bg: #ffffff;--white: #ffffff;--black: #000000;--grey: rgb(84, 84, 84)}@media print,screen and (min-width: 800px){.acf-block-preview,#tinymce,:root{--size: 0.9075vw;--size-plus0: 1.1vw;--size-plus1: 1.2375vw;--size-plus2: 1.3921875vw;--size-plus3: 1.5662109375vw;--size-plus4: 1.661217562vw;--size-plus5: 1.9822357178vw;--size-plus6: 2.1653080438vw;--size-plus7: 2.3652882865vw;--size-plus8: 2.8223629653vw;--size-plus9: 3.175158336vw;--size-plus10: 3.572053128vw;--size-plus-huge: 6.4369557238vw;--size-plus-xhuge: 10.3107584237vw;--size-plus0: min(1.1vw, 1.125rem);--size-plus1: min(1.2375vw, 1.265625rem);--size-plus2: min(1.3921875vw, 1.423828125rem);--size-plus3: min(1.5662109375vw, 1.6018066406rem);--size-plus4: min(1.661217562vw, 1.6989725066rem);--size-plus5: min(1.9822357178vw, 2.0272865295rem);--size-plus6: min(2.1653080438vw, 2.2145195902rem);--size-plus7: min(2.3652882865vw, 2.4190448385rem);--size-plus8: min(2.8223629653vw, 2.8865075782rem);--size-plus9: min(3.175158336vw, 3.2473210255rem);--size-plus10: min(3.572053128vw, 3.6532361537rem);--size-plus-huge: min(6.4369557238vw, 6.583250172rem);--size-plus-xhuge: min(10.3107584237vw, 10.5450938424rem)}}[data-theme=dot],[data-theme=black]{--bg: #000000;--white: #000000;--black: #ffffff;--dot: transparent}[data-theme=dot]{--dot: #860c03}/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:rgba(0,0,0,0)}abbr[title]{border-bottom:0;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}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}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[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}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}[data-whatintent=mouse] *,[data-whatintent=mouse] *:focus,[data-whatintent=touch] *,[data-whatintent=touch] *:focus,[data-whatinput=mouse] *,[data-whatinput=mouse] *:focus,[data-whatinput=touch] *,[data-whatinput=touch] *:focus{outline:none}[draggable=false]{-webkit-touch-callout:none;-webkit-user-select:none}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{box-sizing:border-box;font-size:100%}*,*::before,*::after{box-sizing:inherit}body{margin:0;padding:0;background:#fefefe;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:1.5;color:#0a0a0a;-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:0}select{box-sizing:border-box;width:100%;border-radius:0}.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;appearance:none;border:0;border-radius:0;background:rgba(0,0,0,0);line-height:1;cursor:auto}[data-whatinput=mouse] button{outline:0}pre{overflow:auto;-webkit-overflow-scrolling:touch}button,input,optgroup,select,textarea{font-family:inherit}.is-visible{display:block !important}.is-hidden{display:none !important}.grid-container{padding-right:0.9rem;padding-left:0.9rem;max-width:118.75rem;margin-left:auto;margin-right:auto}@media print,screen and (min-width: 40em){.grid-container{padding-right:2.6rem;padding-left:2.6rem}}.grid-container.fluid{padding-right:0.9rem;padding-left:0.9rem;max-width:100%;margin-left:auto;margin-right:auto}@media print,screen and (min-width: 40em){.grid-container.fluid{padding-right:2.6rem;padding-left:2.6rem}}.grid-container.full{padding-right:0;padding-left:0;max-width:100%;margin-left:auto;margin-right:auto}.grid-x{display:flex;flex-flow:row wrap}.cell{flex:0 0 auto;min-height:0;min-width:0;width:100%}.cell.auto{flex:1 1 0}.cell.shrink{flex:0 0 auto}.grid-x>.auto{width:auto}.grid-x>.shrink{width:auto}.grid-x>.small-shrink,.grid-x>.small-full,.grid-x>.small-1,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12{flex-basis:auto}@media print,screen and (min-width: 40em){.grid-x>.medium-shrink,.grid-x>.medium-full,.grid-x>.medium-1,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12{flex-basis:auto}}@media print,screen and (min-width: 64em){.grid-x>.large-shrink,.grid-x>.large-full,.grid-x>.large-1,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12{flex-basis:auto}}.grid-x>.small-12,.grid-x>.small-11,.grid-x>.small-10,.grid-x>.small-9,.grid-x>.small-8,.grid-x>.small-7,.grid-x>.small-6,.grid-x>.small-5,.grid-x>.small-4,.grid-x>.small-3,.grid-x>.small-2,.grid-x>.small-1{flex:0 0 auto}.grid-x>.small-1{width:8.3333333333%}.grid-x>.small-2{width:16.6666666667%}.grid-x>.small-3{width:25%}.grid-x>.small-4{width:33.3333333333%}.grid-x>.small-5{width:41.6666666667%}.grid-x>.small-6{width:50%}.grid-x>.small-7{width:58.3333333333%}.grid-x>.small-8{width:66.6666666667%}.grid-x>.small-9{width:75%}.grid-x>.small-10{width:83.3333333333%}.grid-x>.small-11{width:91.6666666667%}.grid-x>.small-12{width:100%}@media print,screen and (min-width: 40em){.grid-x>.medium-auto{flex:1 1 0;width:auto}.grid-x>.medium-12,.grid-x>.medium-11,.grid-x>.medium-10,.grid-x>.medium-9,.grid-x>.medium-8,.grid-x>.medium-7,.grid-x>.medium-6,.grid-x>.medium-5,.grid-x>.medium-4,.grid-x>.medium-3,.grid-x>.medium-2,.grid-x>.medium-1,.grid-x>.medium-shrink{flex:0 0 auto}.grid-x>.medium-shrink{width:auto}.grid-x>.medium-1{width:8.3333333333%}.grid-x>.medium-2{width:16.6666666667%}.grid-x>.medium-3{width:25%}.grid-x>.medium-4{width:33.3333333333%}.grid-x>.medium-5{width:41.6666666667%}.grid-x>.medium-6{width:50%}.grid-x>.medium-7{width:58.3333333333%}.grid-x>.medium-8{width:66.6666666667%}.grid-x>.medium-9{width:75%}.grid-x>.medium-10{width:83.3333333333%}.grid-x>.medium-11{width:91.6666666667%}.grid-x>.medium-12{width:100%}}@media print,screen and (min-width: 64em){.grid-x>.large-auto{flex:1 1 0;width:auto}.grid-x>.large-12,.grid-x>.large-11,.grid-x>.large-10,.grid-x>.large-9,.grid-x>.large-8,.grid-x>.large-7,.grid-x>.large-6,.grid-x>.large-5,.grid-x>.large-4,.grid-x>.large-3,.grid-x>.large-2,.grid-x>.large-1,.grid-x>.large-shrink{flex:0 0 auto}.grid-x>.large-shrink{width:auto}.grid-x>.large-1{width:8.3333333333%}.grid-x>.large-2{width:16.6666666667%}.grid-x>.large-3{width:25%}.grid-x>.large-4{width:33.3333333333%}.grid-x>.large-5{width:41.6666666667%}.grid-x>.large-6{width:50%}.grid-x>.large-7{width:58.3333333333%}.grid-x>.large-8{width:66.6666666667%}.grid-x>.large-9{width:75%}.grid-x>.large-10{width:83.3333333333%}.grid-x>.large-11{width:91.6666666667%}.grid-x>.large-12{width:100%}}.grid-margin-x:not(.grid-x)>.cell{width:auto}.grid-margin-y:not(.grid-y)>.cell{height:auto}.grid-margin-x{margin-left:-0.45rem;margin-right:-0.45rem}@media print,screen and (min-width: 40em){.grid-margin-x{margin-left:-0.9rem;margin-right:-0.9rem}}.grid-margin-x>.cell{width:calc(100% - 0.9rem);margin-left:0.45rem;margin-right:0.45rem}@media print,screen and (min-width: 40em){.grid-margin-x>.cell{width:calc(100% - 1.8rem);margin-left:0.9rem;margin-right:0.9rem}}.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.3333333333% - 0.9rem)}.grid-margin-x>.small-2{width:calc(16.6666666667% - 0.9rem)}.grid-margin-x>.small-3{width:calc(25% - 0.9rem)}.grid-margin-x>.small-4{width:calc(33.3333333333% - 0.9rem)}.grid-margin-x>.small-5{width:calc(41.6666666667% - 0.9rem)}.grid-margin-x>.small-6{width:calc(50% - 0.9rem)}.grid-margin-x>.small-7{width:calc(58.3333333333% - 0.9rem)}.grid-margin-x>.small-8{width:calc(66.6666666667% - 0.9rem)}.grid-margin-x>.small-9{width:calc(75% - 0.9rem)}.grid-margin-x>.small-10{width:calc(83.3333333333% - 0.9rem)}.grid-margin-x>.small-11{width:calc(91.6666666667% - 0.9rem)}.grid-margin-x>.small-12{width:calc(100% - 0.9rem)}@media print,screen and (min-width: 40em){.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.3333333333% - 1.8rem)}.grid-margin-x>.small-2{width:calc(16.6666666667% - 1.8rem)}.grid-margin-x>.small-3{width:calc(25% - 1.8rem)}.grid-margin-x>.small-4{width:calc(33.3333333333% - 1.8rem)}.grid-margin-x>.small-5{width:calc(41.6666666667% - 1.8rem)}.grid-margin-x>.small-6{width:calc(50% - 1.8rem)}.grid-margin-x>.small-7{width:calc(58.3333333333% - 1.8rem)}.grid-margin-x>.small-8{width:calc(66.6666666667% - 1.8rem)}.grid-margin-x>.small-9{width:calc(75% - 1.8rem)}.grid-margin-x>.small-10{width:calc(83.3333333333% - 1.8rem)}.grid-margin-x>.small-11{width:calc(91.6666666667% - 1.8rem)}.grid-margin-x>.small-12{width:calc(100% - 1.8rem)}.grid-margin-x>.medium-auto{width:auto}.grid-margin-x>.medium-shrink{width:auto}.grid-margin-x>.medium-1{width:calc(8.3333333333% - 1.8rem)}.grid-margin-x>.medium-2{width:calc(16.6666666667% - 1.8rem)}.grid-margin-x>.medium-3{width:calc(25% - 1.8rem)}.grid-margin-x>.medium-4{width:calc(33.3333333333% - 1.8rem)}.grid-margin-x>.medium-5{width:calc(41.6666666667% - 1.8rem)}.grid-margin-x>.medium-6{width:calc(50% - 1.8rem)}.grid-margin-x>.medium-7{width:calc(58.3333333333% - 1.8rem)}.grid-margin-x>.medium-8{width:calc(66.6666666667% - 1.8rem)}.grid-margin-x>.medium-9{width:calc(75% - 1.8rem)}.grid-margin-x>.medium-10{width:calc(83.3333333333% - 1.8rem)}.grid-margin-x>.medium-11{width:calc(91.6666666667% - 1.8rem)}.grid-margin-x>.medium-12{width:calc(100% - 1.8rem)}}@media print,screen and (min-width: 64em){.grid-margin-x>.large-auto{width:auto}.grid-margin-x>.large-shrink{width:auto}.grid-margin-x>.large-1{width:calc(8.3333333333% - 1.8rem)}.grid-margin-x>.large-2{width:calc(16.6666666667% - 1.8rem)}.grid-margin-x>.large-3{width:calc(25% - 1.8rem)}.grid-margin-x>.large-4{width:calc(33.3333333333% - 1.8rem)}.grid-margin-x>.large-5{width:calc(41.6666666667% - 1.8rem)}.grid-margin-x>.large-6{width:calc(50% - 1.8rem)}.grid-margin-x>.large-7{width:calc(58.3333333333% - 1.8rem)}.grid-margin-x>.large-8{width:calc(66.6666666667% - 1.8rem)}.grid-margin-x>.large-9{width:calc(75% - 1.8rem)}.grid-margin-x>.large-10{width:calc(83.3333333333% - 1.8rem)}.grid-margin-x>.large-11{width:calc(91.6666666667% - 1.8rem)}.grid-margin-x>.large-12{width:calc(100% - 1.8rem)}}.grid-padding-x .grid-padding-x{margin-right:-0.45rem;margin-left:-0.45rem}@media print,screen and (min-width: 40em){.grid-padding-x .grid-padding-x{margin-right:-0.9rem;margin-left:-0.9rem}}.grid-container:not(.full)>.grid-padding-x{margin-right:-0.45rem;margin-left:-0.45rem}@media print,screen and (min-width: 40em){.grid-container:not(.full)>.grid-padding-x{margin-right:-0.9rem;margin-left:-0.9rem}}.grid-padding-x>.cell{padding-right:0.45rem;padding-left:0.45rem}@media print,screen and (min-width: 40em){.grid-padding-x>.cell{padding-right:0.9rem;padding-left:0.9rem}}.small-up-1>.cell{width:100%}.small-up-2>.cell{width:50%}.small-up-3>.cell{width:33.3333333333%}.small-up-4>.cell{width:25%}.small-up-5>.cell{width:20%}.small-up-6>.cell{width:16.6666666667%}.small-up-7>.cell{width:14.2857142857%}.small-up-8>.cell{width:12.5%}.small-up-9>.cell{width:11.1111111111%}.small-up-10>.cell{width:10%}.small-up-11>.cell{width:9.0909090909%}.small-up-12>.cell{width:8.3333333333%}@media print,screen and (min-width: 40em){.medium-up-1>.cell{width:100%}.medium-up-2>.cell{width:50%}.medium-up-3>.cell{width:33.3333333333%}.medium-up-4>.cell{width:25%}.medium-up-5>.cell{width:20%}.medium-up-6>.cell{width:16.6666666667%}.medium-up-7>.cell{width:14.2857142857%}.medium-up-8>.cell{width:12.5%}.medium-up-9>.cell{width:11.1111111111%}.medium-up-10>.cell{width:10%}.medium-up-11>.cell{width:9.0909090909%}.medium-up-12>.cell{width:8.3333333333%}}@media print,screen and (min-width: 64em){.large-up-1>.cell{width:100%}.large-up-2>.cell{width:50%}.large-up-3>.cell{width:33.3333333333%}.large-up-4>.cell{width:25%}.large-up-5>.cell{width:20%}.large-up-6>.cell{width:16.6666666667%}.large-up-7>.cell{width:14.2857142857%}.large-up-8>.cell{width:12.5%}.large-up-9>.cell{width:11.1111111111%}.large-up-10>.cell{width:10%}.large-up-11>.cell{width:9.0909090909%}.large-up-12>.cell{width:8.3333333333%}}.grid-margin-x.small-up-1>.cell{width:calc(100% - 0.9rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 0.9rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.3333333333% - 0.9rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 0.9rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 0.9rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.6666666667% - 0.9rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.2857142857% - 0.9rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 0.9rem)}.grid-margin-x.small-up-9>.cell{width:calc(11.1111111111% - 0.9rem)}.grid-margin-x.small-up-10>.cell{width:calc(10% - 0.9rem)}.grid-margin-x.small-up-11>.cell{width:calc(9.0909090909% - 0.9rem)}.grid-margin-x.small-up-12>.cell{width:calc(8.3333333333% - 0.9rem)}@media print,screen and (min-width: 40em){.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.8rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.8rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.3333333333% - 1.8rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.8rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.8rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.6666666667% - 1.8rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.2857142857% - 1.8rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.8rem)}.grid-margin-x.small-up-9>.cell{width:calc(11.1111111111% - 1.8rem)}.grid-margin-x.small-up-10>.cell{width:calc(10% - 1.8rem)}.grid-margin-x.small-up-11>.cell{width:calc(9.0909090909% - 1.8rem)}.grid-margin-x.small-up-12>.cell{width:calc(8.3333333333% - 1.8rem)}.grid-margin-x.medium-up-1>.cell{width:calc(100% - 1.8rem)}.grid-margin-x.medium-up-2>.cell{width:calc(50% - 1.8rem)}.grid-margin-x.medium-up-3>.cell{width:calc(33.3333333333% - 1.8rem)}.grid-margin-x.medium-up-4>.cell{width:calc(25% - 1.8rem)}.grid-margin-x.medium-up-5>.cell{width:calc(20% - 1.8rem)}.grid-margin-x.medium-up-6>.cell{width:calc(16.6666666667% - 1.8rem)}.grid-margin-x.medium-up-7>.cell{width:calc(14.2857142857% - 1.8rem)}.grid-margin-x.medium-up-8>.cell{width:calc(12.5% - 1.8rem)}.grid-margin-x.medium-up-9>.cell{width:calc(11.1111111111% - 1.8rem)}.grid-margin-x.medium-up-10>.cell{width:calc(10% - 1.8rem)}.grid-margin-x.medium-up-11>.cell{width:calc(9.0909090909% - 1.8rem)}.grid-margin-x.medium-up-12>.cell{width:calc(8.3333333333% - 1.8rem)}}@media print,screen and (min-width: 64em){.grid-margin-x.large-up-1>.cell{width:calc(100% - 1.8rem)}.grid-margin-x.large-up-2>.cell{width:calc(50% - 1.8rem)}.grid-margin-x.large-up-3>.cell{width:calc(33.3333333333% - 1.8rem)}.grid-margin-x.large-up-4>.cell{width:calc(25% - 1.8rem)}.grid-margin-x.large-up-5>.cell{width:calc(20% - 1.8rem)}.grid-margin-x.large-up-6>.cell{width:calc(16.6666666667% - 1.8rem)}.grid-margin-x.large-up-7>.cell{width:calc(14.2857142857% - 1.8rem)}.grid-margin-x.large-up-8>.cell{width:calc(12.5% - 1.8rem)}.grid-margin-x.large-up-9>.cell{width:calc(11.1111111111% - 1.8rem)}.grid-margin-x.large-up-10>.cell{width:calc(10% - 1.8rem)}.grid-margin-x.large-up-11>.cell{width:calc(9.0909090909% - 1.8rem)}.grid-margin-x.large-up-12>.cell{width:calc(8.3333333333% - 1.8rem)}}.small-margin-collapse{margin-right:0;margin-left:0}.small-margin-collapse>.cell{margin-right:0;margin-left:0}.small-margin-collapse>.small-1{width:8.3333333333%}.small-margin-collapse>.small-2{width:16.6666666667%}.small-margin-collapse>.small-3{width:25%}.small-margin-collapse>.small-4{width:33.3333333333%}.small-margin-collapse>.small-5{width:41.6666666667%}.small-margin-collapse>.small-6{width:50%}.small-margin-collapse>.small-7{width:58.3333333333%}.small-margin-collapse>.small-8{width:66.6666666667%}.small-margin-collapse>.small-9{width:75%}.small-margin-collapse>.small-10{width:83.3333333333%}.small-margin-collapse>.small-11{width:91.6666666667%}.small-margin-collapse>.small-12{width:100%}@media print,screen and (min-width: 40em){.small-margin-collapse>.medium-1{width:8.3333333333%}.small-margin-collapse>.medium-2{width:16.6666666667%}.small-margin-collapse>.medium-3{width:25%}.small-margin-collapse>.medium-4{width:33.3333333333%}.small-margin-collapse>.medium-5{width:41.6666666667%}.small-margin-collapse>.medium-6{width:50%}.small-margin-collapse>.medium-7{width:58.3333333333%}.small-margin-collapse>.medium-8{width:66.6666666667%}.small-margin-collapse>.medium-9{width:75%}.small-margin-collapse>.medium-10{width:83.3333333333%}.small-margin-collapse>.medium-11{width:91.6666666667%}.small-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width: 64em){.small-margin-collapse>.large-1{width:8.3333333333%}.small-margin-collapse>.large-2{width:16.6666666667%}.small-margin-collapse>.large-3{width:25%}.small-margin-collapse>.large-4{width:33.3333333333%}.small-margin-collapse>.large-5{width:41.6666666667%}.small-margin-collapse>.large-6{width:50%}.small-margin-collapse>.large-7{width:58.3333333333%}.small-margin-collapse>.large-8{width:66.6666666667%}.small-margin-collapse>.large-9{width:75%}.small-margin-collapse>.large-10{width:83.3333333333%}.small-margin-collapse>.large-11{width:91.6666666667%}.small-margin-collapse>.large-12{width:100%}}.small-padding-collapse{margin-right:0;margin-left:0}.small-padding-collapse>.cell{padding-right:0;padding-left:0}@media print,screen and (min-width: 40em){.medium-margin-collapse{margin-right:0;margin-left:0}.medium-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print,screen and (min-width: 40em){.medium-margin-collapse>.small-1{width:8.3333333333%}.medium-margin-collapse>.small-2{width:16.6666666667%}.medium-margin-collapse>.small-3{width:25%}.medium-margin-collapse>.small-4{width:33.3333333333%}.medium-margin-collapse>.small-5{width:41.6666666667%}.medium-margin-collapse>.small-6{width:50%}.medium-margin-collapse>.small-7{width:58.3333333333%}.medium-margin-collapse>.small-8{width:66.6666666667%}.medium-margin-collapse>.small-9{width:75%}.medium-margin-collapse>.small-10{width:83.3333333333%}.medium-margin-collapse>.small-11{width:91.6666666667%}.medium-margin-collapse>.small-12{width:100%}}@media print,screen and (min-width: 40em){.medium-margin-collapse>.medium-1{width:8.3333333333%}.medium-margin-collapse>.medium-2{width:16.6666666667%}.medium-margin-collapse>.medium-3{width:25%}.medium-margin-collapse>.medium-4{width:33.3333333333%}.medium-margin-collapse>.medium-5{width:41.6666666667%}.medium-margin-collapse>.medium-6{width:50%}.medium-margin-collapse>.medium-7{width:58.3333333333%}.medium-margin-collapse>.medium-8{width:66.6666666667%}.medium-margin-collapse>.medium-9{width:75%}.medium-margin-collapse>.medium-10{width:83.3333333333%}.medium-margin-collapse>.medium-11{width:91.6666666667%}.medium-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width: 64em){.medium-margin-collapse>.large-1{width:8.3333333333%}.medium-margin-collapse>.large-2{width:16.6666666667%}.medium-margin-collapse>.large-3{width:25%}.medium-margin-collapse>.large-4{width:33.3333333333%}.medium-margin-collapse>.large-5{width:41.6666666667%}.medium-margin-collapse>.large-6{width:50%}.medium-margin-collapse>.large-7{width:58.3333333333%}.medium-margin-collapse>.large-8{width:66.6666666667%}.medium-margin-collapse>.large-9{width:75%}.medium-margin-collapse>.large-10{width:83.3333333333%}.medium-margin-collapse>.large-11{width:91.6666666667%}.medium-margin-collapse>.large-12{width:100%}}@media print,screen and (min-width: 40em){.medium-padding-collapse{margin-right:0;margin-left:0}.medium-padding-collapse>.cell{padding-right:0;padding-left:0}}@media print,screen and (min-width: 64em){.large-margin-collapse{margin-right:0;margin-left:0}.large-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print,screen and (min-width: 64em){.large-margin-collapse>.small-1{width:8.3333333333%}.large-margin-collapse>.small-2{width:16.6666666667%}.large-margin-collapse>.small-3{width:25%}.large-margin-collapse>.small-4{width:33.3333333333%}.large-margin-collapse>.small-5{width:41.6666666667%}.large-margin-collapse>.small-6{width:50%}.large-margin-collapse>.small-7{width:58.3333333333%}.large-margin-collapse>.small-8{width:66.6666666667%}.large-margin-collapse>.small-9{width:75%}.large-margin-collapse>.small-10{width:83.3333333333%}.large-margin-collapse>.small-11{width:91.6666666667%}.large-margin-collapse>.small-12{width:100%}}@media print,screen and (min-width: 64em){.large-margin-collapse>.medium-1{width:8.3333333333%}.large-margin-collapse>.medium-2{width:16.6666666667%}.large-margin-collapse>.medium-3{width:25%}.large-margin-collapse>.medium-4{width:33.3333333333%}.large-margin-collapse>.medium-5{width:41.6666666667%}.large-margin-collapse>.medium-6{width:50%}.large-margin-collapse>.medium-7{width:58.3333333333%}.large-margin-collapse>.medium-8{width:66.6666666667%}.large-margin-collapse>.medium-9{width:75%}.large-margin-collapse>.medium-10{width:83.3333333333%}.large-margin-collapse>.medium-11{width:91.6666666667%}.large-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width: 64em){.large-margin-collapse>.large-1{width:8.3333333333%}.large-margin-collapse>.large-2{width:16.6666666667%}.large-margin-collapse>.large-3{width:25%}.large-margin-collapse>.large-4{width:33.3333333333%}.large-margin-collapse>.large-5{width:41.6666666667%}.large-margin-collapse>.large-6{width:50%}.large-margin-collapse>.large-7{width:58.3333333333%}.large-margin-collapse>.large-8{width:66.6666666667%}.large-margin-collapse>.large-9{width:75%}.large-margin-collapse>.large-10{width:83.3333333333%}.large-margin-collapse>.large-11{width:91.6666666667%}.large-margin-collapse>.large-12{width:100%}}@media print,screen and (min-width: 64em){.large-padding-collapse{margin-right:0;margin-left:0}.large-padding-collapse>.cell{padding-right:0;padding-left:0}}.small-offset-0{margin-left:0%}.grid-margin-x>.small-offset-0{margin-left:calc(0% + 0.9rem / 2)}.small-offset-1{margin-left:8.3333333333%}.grid-margin-x>.small-offset-1{margin-left:calc(8.3333333333% + 0.9rem / 2)}.small-offset-2{margin-left:16.6666666667%}.grid-margin-x>.small-offset-2{margin-left:calc(16.6666666667% + 0.9rem / 2)}.small-offset-3{margin-left:25%}.grid-margin-x>.small-offset-3{margin-left:calc(25% + 0.9rem / 2)}.small-offset-4{margin-left:33.3333333333%}.grid-margin-x>.small-offset-4{margin-left:calc(33.3333333333% + 0.9rem / 2)}.small-offset-5{margin-left:41.6666666667%}.grid-margin-x>.small-offset-5{margin-left:calc(41.6666666667% + 0.9rem / 2)}.small-offset-6{margin-left:50%}.grid-margin-x>.small-offset-6{margin-left:calc(50% + 0.9rem / 2)}.small-offset-7{margin-left:58.3333333333%}.grid-margin-x>.small-offset-7{margin-left:calc(58.3333333333% + 0.9rem / 2)}.small-offset-8{margin-left:66.6666666667%}.grid-margin-x>.small-offset-8{margin-left:calc(66.6666666667% + 0.9rem / 2)}.small-offset-9{margin-left:75%}.grid-margin-x>.small-offset-9{margin-left:calc(75% + 0.9rem / 2)}.small-offset-10{margin-left:83.3333333333%}.grid-margin-x>.small-offset-10{margin-left:calc(83.3333333333% + 0.9rem / 2)}.small-offset-11{margin-left:91.6666666667%}.grid-margin-x>.small-offset-11{margin-left:calc(91.6666666667% + 0.9rem / 2)}@media print,screen and (min-width: 40em){.medium-offset-0{margin-left:0%}.grid-margin-x>.medium-offset-0{margin-left:calc(0% + 1.8rem / 2)}.medium-offset-1{margin-left:8.3333333333%}.grid-margin-x>.medium-offset-1{margin-left:calc(8.3333333333% + 1.8rem / 2)}.medium-offset-2{margin-left:16.6666666667%}.grid-margin-x>.medium-offset-2{margin-left:calc(16.6666666667% + 1.8rem / 2)}.medium-offset-3{margin-left:25%}.grid-margin-x>.medium-offset-3{margin-left:calc(25% + 1.8rem / 2)}.medium-offset-4{margin-left:33.3333333333%}.grid-margin-x>.medium-offset-4{margin-left:calc(33.3333333333% + 1.8rem / 2)}.medium-offset-5{margin-left:41.6666666667%}.grid-margin-x>.medium-offset-5{margin-left:calc(41.6666666667% + 1.8rem / 2)}.medium-offset-6{margin-left:50%}.grid-margin-x>.medium-offset-6{margin-left:calc(50% + 1.8rem / 2)}.medium-offset-7{margin-left:58.3333333333%}.grid-margin-x>.medium-offset-7{margin-left:calc(58.3333333333% + 1.8rem / 2)}.medium-offset-8{margin-left:66.6666666667%}.grid-margin-x>.medium-offset-8{margin-left:calc(66.6666666667% + 1.8rem / 2)}.medium-offset-9{margin-left:75%}.grid-margin-x>.medium-offset-9{margin-left:calc(75% + 1.8rem / 2)}.medium-offset-10{margin-left:83.3333333333%}.grid-margin-x>.medium-offset-10{margin-left:calc(83.3333333333% + 1.8rem / 2)}.medium-offset-11{margin-left:91.6666666667%}.grid-margin-x>.medium-offset-11{margin-left:calc(91.6666666667% + 1.8rem / 2)}}@media print,screen and (min-width: 64em){.large-offset-0{margin-left:0%}.grid-margin-x>.large-offset-0{margin-left:calc(0% + 1.8rem / 2)}.large-offset-1{margin-left:8.3333333333%}.grid-margin-x>.large-offset-1{margin-left:calc(8.3333333333% + 1.8rem / 2)}.large-offset-2{margin-left:16.6666666667%}.grid-margin-x>.large-offset-2{margin-left:calc(16.6666666667% + 1.8rem / 2)}.large-offset-3{margin-left:25%}.grid-margin-x>.large-offset-3{margin-left:calc(25% + 1.8rem / 2)}.large-offset-4{margin-left:33.3333333333%}.grid-margin-x>.large-offset-4{margin-left:calc(33.3333333333% + 1.8rem / 2)}.large-offset-5{margin-left:41.6666666667%}.grid-margin-x>.large-offset-5{margin-left:calc(41.6666666667% + 1.8rem / 2)}.large-offset-6{margin-left:50%}.grid-margin-x>.large-offset-6{margin-left:calc(50% + 1.8rem / 2)}.large-offset-7{margin-left:58.3333333333%}.grid-margin-x>.large-offset-7{margin-left:calc(58.3333333333% + 1.8rem / 2)}.large-offset-8{margin-left:66.6666666667%}.grid-margin-x>.large-offset-8{margin-left:calc(66.6666666667% + 1.8rem / 2)}.large-offset-9{margin-left:75%}.grid-margin-x>.large-offset-9{margin-left:calc(75% + 1.8rem / 2)}.large-offset-10{margin-left:83.3333333333%}.grid-margin-x>.large-offset-10{margin-left:calc(83.3333333333% + 1.8rem / 2)}.large-offset-11{margin-left:91.6666666667%}.grid-margin-x>.large-offset-11{margin-left:calc(91.6666666667% + 1.8rem / 2)}}.grid-y{display:flex;flex-flow:column nowrap}.grid-y>.cell{height:auto;max-height:none}.grid-y>.auto{height:auto}.grid-y>.shrink{height:auto}.grid-y>.small-shrink,.grid-y>.small-full,.grid-y>.small-1,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12{flex-basis:auto}@media print,screen and (min-width: 40em){.grid-y>.medium-shrink,.grid-y>.medium-full,.grid-y>.medium-1,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12{flex-basis:auto}}@media print,screen and (min-width: 64em){.grid-y>.large-shrink,.grid-y>.large-full,.grid-y>.large-1,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12{flex-basis:auto}}.grid-y>.small-12,.grid-y>.small-11,.grid-y>.small-10,.grid-y>.small-9,.grid-y>.small-8,.grid-y>.small-7,.grid-y>.small-6,.grid-y>.small-5,.grid-y>.small-4,.grid-y>.small-3,.grid-y>.small-2,.grid-y>.small-1{flex:0 0 auto}.grid-y>.small-1{height:8.3333333333%}.grid-y>.small-2{height:16.6666666667%}.grid-y>.small-3{height:25%}.grid-y>.small-4{height:33.3333333333%}.grid-y>.small-5{height:41.6666666667%}.grid-y>.small-6{height:50%}.grid-y>.small-7{height:58.3333333333%}.grid-y>.small-8{height:66.6666666667%}.grid-y>.small-9{height:75%}.grid-y>.small-10{height:83.3333333333%}.grid-y>.small-11{height:91.6666666667%}.grid-y>.small-12{height:100%}@media print,screen and (min-width: 40em){.grid-y>.medium-auto{flex:1 1 0;height:auto}.grid-y>.medium-12,.grid-y>.medium-11,.grid-y>.medium-10,.grid-y>.medium-9,.grid-y>.medium-8,.grid-y>.medium-7,.grid-y>.medium-6,.grid-y>.medium-5,.grid-y>.medium-4,.grid-y>.medium-3,.grid-y>.medium-2,.grid-y>.medium-1,.grid-y>.medium-shrink{flex:0 0 auto}.grid-y>.medium-shrink{height:auto}.grid-y>.medium-1{height:8.3333333333%}.grid-y>.medium-2{height:16.6666666667%}.grid-y>.medium-3{height:25%}.grid-y>.medium-4{height:33.3333333333%}.grid-y>.medium-5{height:41.6666666667%}.grid-y>.medium-6{height:50%}.grid-y>.medium-7{height:58.3333333333%}.grid-y>.medium-8{height:66.6666666667%}.grid-y>.medium-9{height:75%}.grid-y>.medium-10{height:83.3333333333%}.grid-y>.medium-11{height:91.6666666667%}.grid-y>.medium-12{height:100%}}@media print,screen and (min-width: 64em){.grid-y>.large-auto{flex:1 1 0;height:auto}.grid-y>.large-12,.grid-y>.large-11,.grid-y>.large-10,.grid-y>.large-9,.grid-y>.large-8,.grid-y>.large-7,.grid-y>.large-6,.grid-y>.large-5,.grid-y>.large-4,.grid-y>.large-3,.grid-y>.large-2,.grid-y>.large-1,.grid-y>.large-shrink{flex:0 0 auto}.grid-y>.large-shrink{height:auto}.grid-y>.large-1{height:8.3333333333%}.grid-y>.large-2{height:16.6666666667%}.grid-y>.large-3{height:25%}.grid-y>.large-4{height:33.3333333333%}.grid-y>.large-5{height:41.6666666667%}.grid-y>.large-6{height:50%}.grid-y>.large-7{height:58.3333333333%}.grid-y>.large-8{height:66.6666666667%}.grid-y>.large-9{height:75%}.grid-y>.large-10{height:83.3333333333%}.grid-y>.large-11{height:91.6666666667%}.grid-y>.large-12{height:100%}}.grid-padding-y .grid-padding-y{margin-top:-0.45rem;margin-bottom:-0.45rem}@media print,screen and (min-width: 40em){.grid-padding-y .grid-padding-y{margin-top:-0.9rem;margin-bottom:-0.9rem}}.grid-padding-y>.cell{padding-top:0.45rem;padding-bottom:0.45rem}@media print,screen and (min-width: 40em){.grid-padding-y>.cell{padding-top:0.9rem;padding-bottom:0.9rem}}.grid-margin-y{margin-top:-0.45rem;margin-bottom:-0.45rem}@media print,screen and (min-width: 40em){.grid-margin-y{margin-top:-0.9rem;margin-bottom:-0.9rem}}.grid-margin-y>.cell{height:calc(100% - 0.9rem);margin-top:0.45rem;margin-bottom:0.45rem}@media print,screen and (min-width: 40em){.grid-margin-y>.cell{height:calc(100% - 1.8rem);margin-top:0.9rem;margin-bottom:0.9rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.3333333333% - 0.9rem)}.grid-margin-y>.small-2{height:calc(16.6666666667% - 0.9rem)}.grid-margin-y>.small-3{height:calc(25% - 0.9rem)}.grid-margin-y>.small-4{height:calc(33.3333333333% - 0.9rem)}.grid-margin-y>.small-5{height:calc(41.6666666667% - 0.9rem)}.grid-margin-y>.small-6{height:calc(50% - 0.9rem)}.grid-margin-y>.small-7{height:calc(58.3333333333% - 0.9rem)}.grid-margin-y>.small-8{height:calc(66.6666666667% - 0.9rem)}.grid-margin-y>.small-9{height:calc(75% - 0.9rem)}.grid-margin-y>.small-10{height:calc(83.3333333333% - 0.9rem)}.grid-margin-y>.small-11{height:calc(91.6666666667% - 0.9rem)}.grid-margin-y>.small-12{height:calc(100% - 0.9rem)}@media print,screen and (min-width: 40em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.3333333333% - 1.8rem)}.grid-margin-y>.small-2{height:calc(16.6666666667% - 1.8rem)}.grid-margin-y>.small-3{height:calc(25% - 1.8rem)}.grid-margin-y>.small-4{height:calc(33.3333333333% - 1.8rem)}.grid-margin-y>.small-5{height:calc(41.6666666667% - 1.8rem)}.grid-margin-y>.small-6{height:calc(50% - 1.8rem)}.grid-margin-y>.small-7{height:calc(58.3333333333% - 1.8rem)}.grid-margin-y>.small-8{height:calc(66.6666666667% - 1.8rem)}.grid-margin-y>.small-9{height:calc(75% - 1.8rem)}.grid-margin-y>.small-10{height:calc(83.3333333333% - 1.8rem)}.grid-margin-y>.small-11{height:calc(91.6666666667% - 1.8rem)}.grid-margin-y>.small-12{height:calc(100% - 1.8rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.3333333333% - 1.8rem)}.grid-margin-y>.medium-2{height:calc(16.6666666667% - 1.8rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.8rem)}.grid-margin-y>.medium-4{height:calc(33.3333333333% - 1.8rem)}.grid-margin-y>.medium-5{height:calc(41.6666666667% - 1.8rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.8rem)}.grid-margin-y>.medium-7{height:calc(58.3333333333% - 1.8rem)}.grid-margin-y>.medium-8{height:calc(66.6666666667% - 1.8rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.8rem)}.grid-margin-y>.medium-10{height:calc(83.3333333333% - 1.8rem)}.grid-margin-y>.medium-11{height:calc(91.6666666667% - 1.8rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.8rem)}}@media print,screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.3333333333% - 1.8rem)}.grid-margin-y>.large-2{height:calc(16.6666666667% - 1.8rem)}.grid-margin-y>.large-3{height:calc(25% - 1.8rem)}.grid-margin-y>.large-4{height:calc(33.3333333333% - 1.8rem)}.grid-margin-y>.large-5{height:calc(41.6666666667% - 1.8rem)}.grid-margin-y>.large-6{height:calc(50% - 1.8rem)}.grid-margin-y>.large-7{height:calc(58.3333333333% - 1.8rem)}.grid-margin-y>.large-8{height:calc(66.6666666667% - 1.8rem)}.grid-margin-y>.large-9{height:calc(75% - 1.8rem)}.grid-margin-y>.large-10{height:calc(83.3333333333% - 1.8rem)}.grid-margin-y>.large-11{height:calc(91.6666666667% - 1.8rem)}.grid-margin-y>.large-12{height:calc(100% - 1.8rem)}}.grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;width:100vw}.cell .grid-frame{width:100%}.cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.cell-block-container{display:flex;flex-direction:column;max-height:100%}.cell-block-container>.grid-x{max-height:100%;flex-wrap:nowrap}@media print,screen and (min-width: 40em){.medium-grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;width:100vw}.cell .medium-grid-frame{width:100%}.medium-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.medium-cell-block-container{display:flex;flex-direction:column;max-height:100%}.medium-cell-block-container>.grid-x{max-height:100%;flex-wrap:nowrap}.medium-cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}@media print,screen and (min-width: 64em){.large-grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;width:100vw}.cell .large-grid-frame{width:100%}.large-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.large-cell-block-container{display:flex;flex-direction:column;max-height:100%}.large-cell-block-container>.grid-x{max-height:100%;flex-wrap:nowrap}.large-cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}.grid-y.grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;height:100vh;width:auto}@media print,screen and (min-width: 40em){.grid-y.medium-grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;height:100vh;width:auto}}@media print,screen and (min-width: 64em){.grid-y.large-grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;height:100vh;width:auto}}.cell .grid-y.grid-frame{height:100%}@media print,screen and (min-width: 40em){.cell .grid-y.medium-grid-frame{height:100%}}@media print,screen and (min-width: 64em){.cell .grid-y.large-grid-frame{height:100%}}.grid-margin-y{margin-top:-0.45rem;margin-bottom:-0.45rem}@media print,screen and (min-width: 40em){.grid-margin-y{margin-top:-0.9rem;margin-bottom:-0.9rem}}.grid-margin-y>.cell{height:calc(100% - 0.9rem);margin-top:0.45rem;margin-bottom:0.45rem}@media print,screen and (min-width: 40em){.grid-margin-y>.cell{height:calc(100% - 1.8rem);margin-top:0.9rem;margin-bottom:0.9rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.3333333333% - 0.9rem)}.grid-margin-y>.small-2{height:calc(16.6666666667% - 0.9rem)}.grid-margin-y>.small-3{height:calc(25% - 0.9rem)}.grid-margin-y>.small-4{height:calc(33.3333333333% - 0.9rem)}.grid-margin-y>.small-5{height:calc(41.6666666667% - 0.9rem)}.grid-margin-y>.small-6{height:calc(50% - 0.9rem)}.grid-margin-y>.small-7{height:calc(58.3333333333% - 0.9rem)}.grid-margin-y>.small-8{height:calc(66.6666666667% - 0.9rem)}.grid-margin-y>.small-9{height:calc(75% - 0.9rem)}.grid-margin-y>.small-10{height:calc(83.3333333333% - 0.9rem)}.grid-margin-y>.small-11{height:calc(91.6666666667% - 0.9rem)}.grid-margin-y>.small-12{height:calc(100% - 0.9rem)}@media print,screen and (min-width: 40em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.3333333333% - 1.8rem)}.grid-margin-y>.small-2{height:calc(16.6666666667% - 1.8rem)}.grid-margin-y>.small-3{height:calc(25% - 1.8rem)}.grid-margin-y>.small-4{height:calc(33.3333333333% - 1.8rem)}.grid-margin-y>.small-5{height:calc(41.6666666667% - 1.8rem)}.grid-margin-y>.small-6{height:calc(50% - 1.8rem)}.grid-margin-y>.small-7{height:calc(58.3333333333% - 1.8rem)}.grid-margin-y>.small-8{height:calc(66.6666666667% - 1.8rem)}.grid-margin-y>.small-9{height:calc(75% - 1.8rem)}.grid-margin-y>.small-10{height:calc(83.3333333333% - 1.8rem)}.grid-margin-y>.small-11{height:calc(91.6666666667% - 1.8rem)}.grid-margin-y>.small-12{height:calc(100% - 1.8rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.3333333333% - 1.8rem)}.grid-margin-y>.medium-2{height:calc(16.6666666667% - 1.8rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.8rem)}.grid-margin-y>.medium-4{height:calc(33.3333333333% - 1.8rem)}.grid-margin-y>.medium-5{height:calc(41.6666666667% - 1.8rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.8rem)}.grid-margin-y>.medium-7{height:calc(58.3333333333% - 1.8rem)}.grid-margin-y>.medium-8{height:calc(66.6666666667% - 1.8rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.8rem)}.grid-margin-y>.medium-10{height:calc(83.3333333333% - 1.8rem)}.grid-margin-y>.medium-11{height:calc(91.6666666667% - 1.8rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.8rem)}}@media print,screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.3333333333% - 1.8rem)}.grid-margin-y>.large-2{height:calc(16.6666666667% - 1.8rem)}.grid-margin-y>.large-3{height:calc(25% - 1.8rem)}.grid-margin-y>.large-4{height:calc(33.3333333333% - 1.8rem)}.grid-margin-y>.large-5{height:calc(41.6666666667% - 1.8rem)}.grid-margin-y>.large-6{height:calc(50% - 1.8rem)}.grid-margin-y>.large-7{height:calc(58.3333333333% - 1.8rem)}.grid-margin-y>.large-8{height:calc(66.6666666667% - 1.8rem)}.grid-margin-y>.large-9{height:calc(75% - 1.8rem)}.grid-margin-y>.large-10{height:calc(83.3333333333% - 1.8rem)}.grid-margin-y>.large-11{height:calc(91.6666666667% - 1.8rem)}.grid-margin-y>.large-12{height:calc(100% - 1.8rem)}}.grid-frame.grid-margin-y{height:calc(100vh + 0.9rem)}@media print,screen and (min-width: 40em){.grid-frame.grid-margin-y{height:calc(100vh + 1.8rem)}}@media print,screen and (min-width: 64em){.grid-frame.grid-margin-y{height:calc(100vh + 1.8rem)}}@media print,screen and (min-width: 40em){.grid-margin-y.medium-grid-frame{height:calc(100vh + 1.8rem)}}@media print,screen and (min-width: 64em){.grid-margin-y.large-grid-frame{height:calc(100vh + 1.8rem)}}.align-left{justify-content:flex-start}.align-right{justify-content:flex-end}.align-center{justify-content:center}.align-justify{justify-content:space-between}.align-spaced{justify-content:space-around}.align-left.vertical.menu>li>a{justify-content:flex-start}.align-right.vertical.menu>li>a{justify-content:flex-end}.align-center.vertical.menu>li>a{justify-content:center}.align-top{align-items:flex-start}.align-self-top{align-self:flex-start}.align-bottom{align-items:flex-end}.align-self-bottom{align-self:flex-end}.align-middle{align-items:center}.align-self-middle{align-self:center}.align-stretch{align-items:stretch}.align-self-stretch{align-self:stretch}.align-center-middle{justify-content:center;align-items:center;align-content:center}.small-order-1{order:1}.small-order-2{order:2}.small-order-3{order:3}.small-order-4{order:4}.small-order-5{order:5}.small-order-6{order:6}@media print,screen and (min-width: 40em){.medium-order-1{order:1}.medium-order-2{order:2}.medium-order-3{order:3}.medium-order-4{order:4}.medium-order-5{order:5}.medium-order-6{order:6}}@media print,screen and (min-width: 64em){.large-order-1{order:1}.large-order-2{order:2}.large-order-3{order:3}.large-order-4{order:4}.large-order-5{order:5}.large-order-6{order:6}}.flex-container{display:flex}.flex-child-auto{flex:1 1 auto}.flex-child-grow{flex:1 0 auto}.flex-child-shrink{flex:0 1 auto}.flex-dir-row{flex-direction:row}.flex-dir-row-reverse{flex-direction:row-reverse}.flex-dir-column{flex-direction:column}.flex-dir-column-reverse{flex-direction:column-reverse}@media print,screen and (min-width: 40em){.medium-flex-container{display:flex}.medium-flex-child-auto{flex:1 1 auto}.medium-flex-child-grow{flex:1 0 auto}.medium-flex-child-shrink{flex:0 1 auto}.medium-flex-dir-row{flex-direction:row}.medium-flex-dir-row-reverse{flex-direction:row-reverse}.medium-flex-dir-column{flex-direction:column}.medium-flex-dir-column-reverse{flex-direction:column-reverse}}@media print,screen and (min-width: 64em){.large-flex-container{display:flex}.large-flex-child-auto{flex:1 1 auto}.large-flex-child-grow{flex:1 0 auto}.large-flex-child-shrink{flex:0 1 auto}.large-flex-dir-row{flex-direction:row}.large-flex-dir-row-reverse{flex-direction:row-reverse}.large-flex-dir-column{flex-direction:column}.large-flex-dir-column-reverse{flex-direction:column-reverse}}.hide{display:none !important}.invisible{visibility:hidden}.visible{visibility:visible}@media print,screen and (max-width: 39.99875em){.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.99875em){.show-for-medium{display:none !important}}@media print,screen and (min-width: 40em)and (max-width: 63.99875em){.hide-for-medium-only{display:none !important}}@media screen and (max-width: 39.99875em),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.99875em){.show-for-large{display:none !important}}@media print,screen and (min-width: 64em)and (max-width: 74.99875em){.hide-for-large-only{display:none !important}}@media screen and (max-width: 63.99875em),screen and (min-width: 75em){.show-for-large-only{display:none !important}}.show-for-sr,.show-on-focus{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.show-on-focus:active,.show-on-focus:focus{position:static !important;width:auto !important;height:auto !important;overflow:visible !important;clip:auto !important;white-space:normal !important}.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}}.show-for-dark-mode{display:none}.hide-for-dark-mode{display:block}@media screen and (prefers-color-scheme: dark){.show-for-dark-mode{display:block !important}.hide-for-dark-mode{display:none !important}}.show-for-ie{display:none}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.show-for-ie{display:block !important}.hide-for-ie{display:none !important}}.show-for-sticky{display:none}.is-stuck .show-for-sticky{display:block}.is-stuck .hide-for-sticky{display:none}/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */.pswp{--pswp-bg: #fff;--pswp-placeholder-bg: transparent;--pswp-root-z-index: 100000;--pswp-preloader-color: rgba(79, 79, 79, 0.4);--pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);--pswp-icon-color: #fff;--pswp-icon-color-secondary: #fff;--pswp-icon-stroke-color: #fff;--pswp-icon-stroke-width: 0px;--pswp-error-text-color: var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none;object-fit:cover}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none !important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;mix-blend-mode:exclusion;height:50px;margin:1.8rem;margin:0;overflow:hidden;cursor:pointer;background:none;border:0;box-shadow:none;opacity:.25;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;background:none;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:0;left:0;width:100%;height:auto;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;mix-blend-mode:difference;background-color:rgba(0,0,0,0);pointer-events:none !important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{opacity:1;top:.625rem;right:.625rem}.pswp__button--arrow{position:absolute;top:0;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:none;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0px}.pswp__button--arrow--next{right:0px}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scale(-1, 1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise 600ms linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}.pswp__embed-container{display:flex;flex-direction:row;align-items:center;justify-content:center;padding:3.6rem}.pswp__embed-container .flex-video{line-height:0;background:var(--black);overflow:hidden}.pswp__embed-container .flex-video iframe{height:calc(100% + 1px);width:calc(100% + 1px);transform:translate(-50%, -50%);top:50%;left:50%}.pswp__custom-caption{position:absolute;padding:1.8rem;bottom:0;top:auto;left:0;width:100%}html,body{overscroll-behavior:none;overscroll-behavior-x:none}.grid-container{max-width:100%}.--disablemotion,.--disablemotion *{transition:none !important}.--disablemotion .shoot-ticker{display:none !important}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}*,*:active,*:focus,*:visited{outline:none !important}::-moz-selection{background:var(--mediumgrey)}::selection{background:var(--mediumgrey)}::-moz-focus-inner{border:0;padding:0}.screen-reader,.frm_screen_reader,.hide,.visuallyHidden,.visually-hidden{display:none !important}.--zoom,.zoom{cursor:pointer}.--zoom img,.--zoom video,.zoom img,.zoom video{transition:all ease 2s}strong,b{font-weight:var(--weight-bold)}.flex-height{position:relative;width:100%;height:100vh;height:calc(100vh - var(--menuheight)*1)}.flex-height.full{height:100vh}.flex-height.half{height:50vh}.flex-height.fill-height{height:100%}.flex-height.--left video,.flex-height.--left iframe,.flex-height.--left img{object-position:left center}.flex-height.--right video,.flex-height.--right iframe,.flex-height.--right img{object-position:right center}.flex-height video,.flex-height iframe,.flex-height img{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;object-fit:contain}@media print,screen and (min-width: 800px){.flex-height.cover video,.flex-height.cover iframe,.flex-height.cover img,.flex-height.fit video,.flex-height.fit iframe,.flex-height.fit img{object-fit:cover}}.flex-height.contain video,.flex-height.contain iframe,.flex-height.contain img{object-fit:contain}.flex-height.contain.--top video,.flex-height.contain.--top iframe,.flex-height.contain.--top img{object-position:top}.flex-height.contain.--middle video,.flex-height.contain.--middle iframe,.flex-height.contain.--middle img{object-position:center}.flex-height.contain.--bottom video,.flex-height.contain.--bottom iframe,.flex-height.contain.--bottom img{object-position:bottom}.flex-row img,.flex-row video{width:100%;height:auto}.media-row{flex-direction:row;flex-wrap:nowrap;display:flex;gap:0 .9rem}@media print,screen and (min-width: 800px){.media-row{gap:0 1.875rem}}.flex-video,.flex-image{position:relative;width:100%;height:0px;overflow:hidden;display:inline-block;padding-bottom:56.25%;z-index:1}.flex-video.embed-reveal,.flex-image.embed-reveal{cursor:pointer}.flex-video .ls-blur-up-img,.flex-image .ls-blur-up-img{filter:blur(10px);transition:filter .3s ease-out;height:100%;width:100%;z-index:4;transition:opacity ease 200ms}.flex-video .ls-blur-up-img.ls-blur-up-loaded,.flex-image .ls-blur-up-img.ls-blur-up-loaded{opacity:0}.flex-video video,.flex-video iframe,.flex-video img,.flex-image video,.flex-image iframe,.flex-image img{position:absolute;top:0;left:0;width:100%;height:auto;z-index:1}.flex-video iframe,.flex-image iframe{z-index:3}.flex-video svg,.flex-image svg{position:absolute;top:50%;left:50%;z-index:2;transform:translate(-50%, -50%);width:162px;height:162px}.flex-video iframe,.flex-image iframe{height:100%}.flex-video.square,.flex-image.square{padding-bottom:100%}.flex-video.zoom,.flex-image.zoom{cursor:pointer}.flex-video.zoom img,.flex-video.zoom video,.flex-image.zoom img,.flex-image.zoom video{transition:all ease 2s}.flex-video.zoom:hover img,.flex-video.zoom:hover video,.flex-image.zoom:hover img,.flex-image.zoom:hover video{transform:scale(1.125)}.flex-video.round,.flex-image.round{border-radius:100%;overflow:hidden}.flex-video.shrink img,.flex-image.shrink img{height:100%;object-fit:contain}.flex-video.fit img,.flex-video.fit video,.flex-video.cover img,.flex-video.cover video,.flex-image.fit img,.flex-image.fit video,.flex-image.cover img,.flex-image.cover video{height:100%;object-fit:cover}.flex-video.border,.flex-image.border{border:.625rem solid var(--black)}.flex-video.border.green,.flex-image.border.green{border-color:var(--green)}.flex-video.border.cream,.flex-image.border.cream{border-color:var(--cream)}.flex-video.border.blue,.flex-image.border.blue{border-color:var(--black)}.flex-video .title,.flex-image .title{position:absolute;top:0;height:100%;left:0;z-index:3;width:100%;background-color:rgba(0,0,0,.25);color:var(--white);transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1);font-size:var(--size-plus6);text-transform:uppercase;font-weight:var(--weight-normal);font-family:var(--header-font);font-weight:var(--weight-normal);line-height:1.125;display:flex;justify-content:center;align-items:center;transition:all ease 500ms;opacity:0}.flex-video .title span,.flex-image .title span{transition:all ease 500ms;opacity:0;transform:translateY(0.45em)}.flex-video:hover .title,.flex-image:hover .title{opacity:1}.flex-video:hover .title span,.flex-image:hover .title span{opacity:1;transform:translateY(0)}.flex-video .hover,.flex-image .hover{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;opacity:0;transition:opacity ease 500ms}.flex-video:hover .hover,.flex-image:hover .hover{opacity:1}@media print,screen and (min-width: 800px){.small-only{display:none !important}}@media print,screen and (max-width: 800px){.medium-up{display:none !important}}@media print,screen and (max-width: 85em){.large-up{display:none !important}}ul,ol,p{font-size:1rem;text-align:left;margin-top:0;margin-bottom:1.25em;white-space:normal}@media print,screen and (min-width: 800px){ul,ol,p{font-size:var(--size-plus1)}}ul b,ul strong,ol b,ol strong,p b,p strong{font-weight:var(--weight-bold)}ul.lead,ol.lead,p.lead{font-size:var(--size-plus2);text-transform:uppercase;font-family:var(--header-font);max-width:30ch;font-weight:bold}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}@media print,screen and (min-width: 800px){.--sticky{position:sticky;top:0}}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin:0 0 .9rem 0;font-family:var(--header-font);font-weight:var(--weight-bold);line-height:var(--header-line-height);color:var(--black)}.h1.--nm,.h2.--nm,.h3.--nm,.h4.--nm,.h5.--nm,.h6.--nm,h1.--nm,h2.--nm,h3.--nm,h4.--nm,h5.--nm,h6.--nm{margin:-0.45rem 0 -1.35rem}.h1.subheader,.h2.subheader,.h3.subheader,.h4.subheader,.h5.subheader,.h6.subheader,h1.subheader,h2.subheader,h3.subheader,h4.subheader,h5.subheader,h6.subheader{font-size:1rem;margin:.9rem 0;font-weight:var(--weight-bold)}.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-size:66.6%}.h4,.h5,.h6,h4,h5,h6{text-transform:uppercase}h1,.h1{margin-top:0;font-weight:var(--weight-light);font-size:var(--size-plus5)}h2,.h2{font-weight:var(--weight-light);font-size:var(--size-plus4)}h3,.h3{font-size:var(--size-plus3)}h5,.h5,h4,.h4{font-size:var(--size-plus2);color:var(--brand);text-transform:uppercase}h5,.h5{font-size:var(--size-plus1);font-size:var(--size)}small,.text_small{font-size:var(--size-minus2)}a{color:var(--black);text-decoration:none;transition:background-color 150ms ease,color 150ms ease}a:hover{color:var(--darkgrey)}html{font-size:100%}body{background-color:var(--bg);font-family:var(--body-font);font-weight:var(--weight-normal);line-height:var(--body-line-height);color:var(--black)}@media screen and (min-width: 800px){body{padding-bottom:0}}body.--lock{overflow:hidden}ul,ol,p{font-family:var(--body-font);font-weight:var(--weight-normal);line-height:var(--body-line-height);font-size:1rem;margin-bottom:1.25em}@media print,screen and (min-width: 800px){ul,ol,p{font-size:var(--size-plus1)}}ul.small,ol.small,p.small{font-size:var(--size)}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{text-transform:uppercase;margin:2.75rem 0 .45rem;font-family:var(--header-font);font-weight:var(--weight-normal);line-height:var(--header-line-height);color:var(--studio);margin:0 0 .9rem 0}.h1 strong,.h2 strong,.h3 strong,.h4 strong,.h5 strong,.h6 strong,h1 strong,h2 strong,h3 strong,h4 strong,h5 strong,h6 strong{color:var(--pink)}.h3,h3,.h4,.h5,.h6,h4,h5,h6{color:var(--black)}.h4,.h5,.h6,h4,h5,h6{text-transform:uppercase}h1,.h1{margin-top:0;font-size:var(--size-plus6)}h2,.h2{font-size:var(--size-plus5)}h3,.h3{font-size:var(--size-plus4)}h4,.h4{font-size:var(--size-plus3)}h5,.h5{font-size:var(--size-plus2)}h5,.h5{font-size:var(--size-plus1)}small,.text_small{font-size:var(--size-minus2)}a{color:var(--brand);text-decoration:none;transition:background-color 150ms ease,color 150ms ease}a:hover{color:var(--darkgrey)}p a{text-decoration:underline}html,body{scroll-padding-top:0}header#primary{position:fixed;top:0;left:0;width:100%;padding:.9rem 0;z-index:999;background-color:var(--bg);mix-blend-mode:exclusion;--black: #fff;background-color:rgba(0,0,0,0)}@media print,screen and (min-width: 800px){header#primary{padding:1.8rem 0}}@media print,screen and (min-width: 800px){header#primary{padding:2.35rem 0}}header#primary.headroom{will-change:transform;transition:all 500ms cubic-bezier(0.215, 0.61, 0.355, 1)}header#primary.headroom--pinned{transform:translateY(0%)}header#primary.headroom--unpinned{transform:translateY(-100%)}@media print,screen and (min-width: 800px){header#primary.headroom--top{padding:4.5rem 0}}header#primary .logo{line-height:0;display:block}header#primary .logo,header#primary .logo svg,header#primary .logo img{max-width:100%;height:auto}@media print,screen and (min-width: 800px){header#primary .logo,header#primary .logo svg,header#primary .logo img{max-width:20vw}}header#primary.noexcluse{mix-blend-mode:none;--black: #000}header#primary .cell{display:flex}header#primary button{transition:all ease 500ms}header#primary button.mixitup-control-active,header#primary button:hover{color:var(--brand)}header#primary .hamburger.open .line:nth-child(1){opacity:0;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);-o-transform:translateX(-100%);transform:translateX(-100%)}header#primary .hamburger.open .line:nth-child(3){opacity:0;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);-o-transform:translateX(100%);transform:translateX(100%)}header#primary .hamburger .line{width:50px;height:4px;background-color:var(--black);display:block;margin:8px auto;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}header#primary .hamburger:hover{cursor:pointer}@media screen and (min-width: 800px){header#primary .menu-outer{gap:3.6em}header#primary .menu-outer .menu-cell-container-outer{position:relative;padding:0}header#primary .menu-outer .menu-cell-container-outer:after{opacity:.33;content:" ";right:-1.8em;height:100%;top:-2px;background-color:var(--black);width:1px;position:absolute}header#primary .menu-outer .menu-cell-container-outer:last-of-type::after{display:none}}nav#mobile{display:none}@media screen and (max-width: 800px){nav#mobile{z-index:998;background:var(--black);display:block;position:fixed;bottom:0;height:100vh;left:0;width:100vw;padding:1.3125rem .9rem;transition:all ease 500ms;transform:translateX(100vw);pointer-events:none;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}nav#mobile,nav#mobile a{color:var(--white)}nav#mobile.active{pointer-events:auto;transform:translateX(0)}nav#mobile ul{list-style:none;padding:1.35em 0;margin:0;display:flex;flex-direction:column;gap:.9rem;flex-wrap:wrap}nav#mobile ul li{font-family:var(--header-font);font-weight:var(--weight-normal);line-height:var(--header-line-height);text-transform:uppercase;font-size:var(--size-plus2);line-height:1}nav#mobile ul li,nav#mobile ul li a{color:var(--white)}nav#mobile ul .sub-menu{padding:1.35em 0 .9em 0}nav#mobile ul .sub-menu li{font-size:var(--size-plus-huge)}nav#mobile .menu-outer .menu-cell-container-outer .menu-cell-container .menu-cell-inner .cell-text{color:var(--white);font-size:var(--size-plus10)}nav#mobile .contact{position:absolute;bottom:0;left:0;padding:.9em}nav#mobile .contact ul{gap:1.35em;flex-direction:row;align-items:center}nav#mobile .contact ul li{font-size:var(--size)}nav#mobile .contact ul li a{gap:.45em;display:flex;flex-direction:row;align-items:center}nav#mobile .contact ul li svg{height:var(--size);width:auto}}.menu-outer{display:flex;flex-direction:column;gap:.45em;flex-wrap:nowrap;align-content:center;justify-content:flex-start;position:relative;font-size:var(--size)}@media print,screen and (min-width: 800px){.menu-outer{gap:1.8em;flex-direction:row}}.menu-outer.right{justify-content:flex-end}.menu-outer .menu-cell-container-outer{font-size:var(--size);display:flex;align-items:center;background:none;transition:none;padding-bottom:.25em;padding-top:.25em;position:relative}.menu-outer .menu-cell-container-outer:first-child:before{display:none}.menu-outer .menu-cell-container-outer.current_page_parent,.menu-outer .menu-cell-container-outer.current_page_item{border-bottom:3px solid var(--black);transition:border-color 1s cubic-bezier(0.23, 1, 0.32, 1)}.menu-outer .menu-cell-container-outer .current-menu-item{pointer-events:none;opacity:.33}.menu-outer .menu-cell-container-outer>a{position:relative;z-index:2}.menu-outer .menu-cell-container-outer .sub-menu{z-index:1;position:absolute;top:0;left:-0.9em;transform:translate(0, -1.8rem);background:var(--bg);padding:2.35em 1.8em .9em 1.8em;width:calc(100% + 3.6em);display:flex;flex-direction:column;flex-wrap:nowrap;border-radius:.225em;opacity:0;transition:all 300ms cubic-bezier(0.23, 1, 0.32, 1);pointer-events:none}.menu-outer .menu-cell-container-outer .sub-menu a,.menu-outer .menu-cell-container-outer .sub-menu .menu-cell-container-outer{width:100%;text-align:center}.menu-outer .menu-cell-container-outer .sub-menu .menu-cell-container-outer:before{display:none}.menu-outer .menu-cell-container-outer .sub-menu .menu-cell-container{margin:.45em 0}.menu-outer .menu-cell-container-outer .sub-menu .menu-cell-container .menu-cell-inner .cell-text{font-size:var(--size)}.menu-outer .menu-cell-container-outer:hover .sub-menu{pointer-events:auto;opacity:1;transform:translate(0, 0)}.menu-outer .menu-cell-container-outer .menu-cell-container .menu-cell-inner{position:relative;overflow:hidden;width:100%;line-height:1}.menu-outer .menu-cell-container-outer .menu-cell-container .menu-cell-inner .cell-text{text-transform:none;position:relative;z-index:2;transition:transform 1s cubic-bezier(0.23, 1, 0.32, 1);font-size:var(--size);text-transform:uppercase;font-weight:var(--weight-normal);font-family:var(--header-font);font-weight:var(--weight-normal);color:var(--black);line-height:1.25}.menu-outer .menu-cell-container-outer .menu-cell-container .menu-cell-inner .cell-text:hover{color:var(--black)}.menu-outer .menu-cell-container-outer .menu-cell-container .menu-cell-inner .cell-text.absolute{width:100%;position:absolute;top:0;z-index:1;display:block;transform:translate(0, 110%)}.menu-outer .menu-cell-container-outer a:hover .menu-cell-container .cell-text{transform:translate(0px, -110%)}.menu-outer .menu-cell-container-outer a:hover .menu-cell-container .cell-text.absolute{transform:translate(0px, 0%)}footer{padding:.9rem .45rem}@media print,screen and (min-width: 800px){footer{padding:1.8rem 0}}@media print,screen and (min-width: 800px){footer{padding:2.35rem 0}}footer p{text-transform:uppercase;margin:0;font-size:var(--size)}footer p.small-print{opacity:.15}footer p.small{margin-top:1.8em;font-size:var(--size-minus1)}footer p a{text-decoration:none}@keyframes blink{0%,100%{opacity:0}50%{opacity:1}}[data-theme=dot] #reddot{animation:blink 2s ease infinite}#splash{cursor:wait;display:block;position:fixed;z-index:999999;top:0;left:0;width:100vw;height:100vh;background-color:var(--black);transition:none}#splash .lazyautosizes{visibility:hidden}#splash .lazyautosizes.lazyloaded{visibility:visible}#splash.animated-out{transform:translateY(-100%)}#splash.is-admin{position:relative;width:100%;height:0;padding-bottom:56.25%}#splash .logo{background-color:rgba(0,0,0,0);position:absolute;top:50%;left:50%;width:75%;overflow:visible;height:auto;transform:translate(-50%, -50%);z-index:99}#splash .logo svg{height:auto;width:100%;overflow:visible;fill:var(--white)}#splash .splash-inner iframe,#splash .splash-inner video,#splash .splash-inner img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}#splash .splash-inner .front-image-container iframe,#splash .splash-inner .front-image-container video,#splash .splash-inner .front-image-container img{opacity:0;transition:none;transition:opacity 15ms linear 15ms}#splash .splash-inner .front-image-container iframe.active,#splash .splash-inner .front-image-container video.active,#splash .splash-inner .front-image-container img.active{transition:opacity 15ms linear;opacity:1}.embed-block .grid-height,#about .grid-height{margin-top:1.8rem;margin-top:var(--header-height);margin-bottom:var(--header-height);min-height:calc(100vh - var(--header-height)*2)}@media print,screen and (min-width: 800px){.embed-block .grid-height,#about .grid-height{margin-bottom:0}}.embed-block .grid-height .media-row-layout,#about .grid-height .media-row-layout{margin-top:1.8rem;margin-bottom:1.8rem}.embed-block .grid-height h1,.embed-block .grid-height h2,.embed-block .grid-height h3,.embed-block .grid-height h4,.embed-block .grid-height h5,#about .grid-height h1,#about .grid-height h2,#about .grid-height h3,#about .grid-height h4,#about .grid-height h5{font-size:var(--size-plus1)}.embed-block .grid-height h2,#about .grid-height h2{margin:0 0 .9rem 0}.embed-block .grid-height h3,#about .grid-height h3{margin:1.8rem 0 0 0}.embed-block .gallery,#about .gallery{position:relative;height:0px;width:100%;padding-bottom:75%}.embed-block .gallery iframe,.embed-block .gallery video,.embed-block .gallery img,#about .gallery iframe,#about .gallery video,#about .gallery img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0}.embed-block .gallery iframe:first-of-type,.embed-block .gallery video:first-of-type,.embed-block .gallery img:first-of-type,#about .gallery iframe:first-of-type,#about .gallery video:first-of-type,#about .gallery img:first-of-type{opacity:1}.embed-block .sidebar p,#about .sidebar p{margin:0}.embed-block .sidebar a,#about .sidebar a{text-decoration:none;white-space:nowrap}#slideshow-container{margin-top:1.8rem;margin-bottom:1.8rem;margin-top:var(--header-height);margin-bottom:var(--header-height)}#slideshow-container .grid-layout{width:100%;display:flex;flex-direction:column;gap:.9rem;padding:.45rem 0;overflow:hidden}@media print,screen and (min-width: 800px){#slideshow-container .grid-layout{flex-direction:row;flex-wrap:wrap;align-content:flex-start;justify-content:flex-start}}#slideshow-container .grid-layout.extra-padding{gap:.9rem;padding:.9375rem 0}@media print,screen and (min-width: 800px){#slideshow-container .grid-layout{gap:1.875rem;padding:.9375rem 0}#slideshow-container .grid-layout.extra-padding{gap:3.75rem;padding:1.875rem 0}}#slideshow-container .grid-layout video,#slideshow-container .grid-layout img{z-index:1;position:relative;cursor:pointer;width:100%;height:100%;object-fit:cover}#slideshow-container .grid-layout .flex-video,#slideshow-container .grid-layout .flex-image{background-color:rgba(0,0,0,0)}#slideshow-container .grid-layout .flex-video img,#slideshow-container .grid-layout .flex-video video,#slideshow-container .grid-layout .flex-image img,#slideshow-container .grid-layout .flex-image video{position:absolute}#slideshow-container .grid-layout .grid-item{cursor:pointer;position:relative;line-height:1;display:block}#slideshow-container .grid-layout .grid-item .news-title,#slideshow-container .grid-layout .grid-item .artist-title,#slideshow-container .grid-layout .grid-item .title{line-height:1;z-index:2;position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.25);transition:all 1s cubic-bezier(0.215, 0.61, 0.355, 1);display:flex;justify-content:center;align-items:center;text-align:center}@media print,screen and (min-width: 800px){#slideshow-container .grid-layout .grid-item .news-title,#slideshow-container .grid-layout .grid-item .artist-title,#slideshow-container .grid-layout .grid-item .title{opacity:0}}@media print,screen and (min-width: 800px){#slideshow-container .grid-layout .grid-item .news-title,#slideshow-container .grid-layout .grid-item .artist-title,#slideshow-container .grid-layout .grid-item .title{background:rgba(0,0,0,.5)}}#slideshow-container .grid-layout .grid-item .news-title .title-inner,#slideshow-container .grid-layout .grid-item .artist-title .title-inner,#slideshow-container .grid-layout .grid-item .title .title-inner{white-space:nowrap;background-color:rgba(0,0,0,0);transition:all 1s cubic-bezier(0.215, 0.61, 0.355, 1) 100ms}#slideshow-container .grid-layout .grid-item .news-title .title-inner h2,#slideshow-container .grid-layout .grid-item .news-title .title-inner h3,#slideshow-container .grid-layout .grid-item .news-title .title-inner h4,#slideshow-container .grid-layout .grid-item .news-title .title-inner h5,#slideshow-container .grid-layout .grid-item .artist-title .title-inner h2,#slideshow-container .grid-layout .grid-item .artist-title .title-inner h3,#slideshow-container .grid-layout .grid-item .artist-title .title-inner h4,#slideshow-container .grid-layout .grid-item .artist-title .title-inner h5,#slideshow-container .grid-layout .grid-item .title .title-inner h2,#slideshow-container .grid-layout .grid-item .title .title-inner h3,#slideshow-container .grid-layout .grid-item .title .title-inner h4,#slideshow-container .grid-layout .grid-item .title .title-inner h5{color:var(--white);margin:0}#slideshow-container .grid-layout .grid-item .news-title .title-inner h3,#slideshow-container .grid-layout .grid-item .artist-title .title-inner h3,#slideshow-container .grid-layout .grid-item .title .title-inner h3{line-height:.725;font-size:var(--size-plus8)}#slideshow-container .grid-layout .grid-item .news-title .title-inner hr,#slideshow-container .grid-layout .grid-item .artist-title .title-inner hr,#slideshow-container .grid-layout .grid-item .title .title-inner hr{background:var(--white)}#slideshow-container .grid-layout .grid-item .news-title .title-inner h5,#slideshow-container .grid-layout .grid-item .artist-title .title-inner h5,#slideshow-container .grid-layout .grid-item .title .title-inner h5{margin-top:1.35rem;opacity:.66}@media print,screen and (min-width: 800px){#slideshow-container .grid-layout .grid-item .news-title .title-inner,#slideshow-container .grid-layout .grid-item .artist-title .title-inner,#slideshow-container .grid-layout .grid-item .title .title-inner{transform:translateY(50%);opacity:0}}#slideshow-container .grid-layout .grid-item .bg{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);transition:all 1s cubic-bezier(0.215, 0.61, 0.355, 1);z-index:2;opacity:0}.social-menu ul{display:flex;list-style:none;gap:.9em;padding:0;margin:0}.social-menu ul svg{fill:var(--black)}.social-menu ul a{display:block;transition:all ease 1s}.social-menu ul a:hover{transform:translateY(-0.125em)}.block-grid{margin-top:1.8rem;margin-bottom:1.8rem;margin-top:var(--header-height);margin-bottom:var(--header-height)}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiaHR0cHM6Ly9kZXYubmVlZHRoaW5raW5nLmNvbS93aWxkL2FwcC90aGVtZXMvbmVlZC9hc3NldHMvc2NzcyIsInNvdXJjZXMiOlsiZmlsZTovLy92YXIvd3d3L2h0bWwvam9obm55bWFsbGluL2FwcC90aGVtZXMvc3RpcnRpbmdhbGUvYXNzZXRzL3Njc3MvdGhlbWUuc2NzcyIsImZpbGU6Ly8vdmFyL3d3dy9odG1sL2pvaG5ueW1hbGxpbi9hcHAvdGhlbWVzL3N0aXJ0aW5nYWxlL2Fzc2V0cy9zY3NzL2ZvdW5kYXRpb24vdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiZmlsZTovLy92YXIvd3d3L2h0bWwvam9obm55bWFsbGluL2FwcC90aGVtZXMvc3RpcnRpbmdhbGUvYXNzZXRzL3Njc3MvZm91bmRhdGlvbi9fZ2xvYmFsLnNjc3MiLCJmaWxlOi8vL3Zhci93d3cvaHRtbC9qb2hubnltYWxsaW4vYXBwL3RoZW1lcy9zdGlydGluZ2FsZS9hc3NldHMvc2Nzcy9mb3VuZGF0aW9uL3V0aWwvX3VuaXQuc2NzcyIsImZpbGU6Ly8vdmFyL3d3dy9odG1sL2pvaG5ueW1hbGxpbi9hcHAvdGhlbWVzL3N0aXJ0aW5nYWxlL2Fzc2V0cy9zY3NzL2ZvdW5kYXRpb24vdXRpbC9fbWl4aW5zLnNjc3MiLCJmaWxlOi8vL3Zhci93d3cvaHRtbC9qb2hubnltYWxsaW4vYXBwL3RoZW1lcy9zdGlydGluZ2FsZS9hc3NldHMvc2Nzcy9mb3VuZGF0aW9uL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsImZpbGU6Ly8vdmFyL3d3dy9odG1sL2pvaG5ueW1hbGxpbi9hcHAvdGhlbWVzL3N0aXJ0aW5nYWxlL2Fzc2V0cy9zY3NzL2ZvdW5kYXRpb24veHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiZmlsZTovLy92YXIvd3d3L2h0bWwvam9obm55bWFsbGluL2FwcC90aGVtZXMvc3RpcnRpbmdhbGUvYXNzZXRzL3Njc3MvZm91bmRhdGlvbi94eS1ncmlkL19ncmlkLnNjc3MiLCJmaWxlOi8vL3Zhci93d3cvaHRtbC9qb2hubnltYWxsaW4vYXBwL3RoZW1lcy9zdGlydGluZ2FsZS9hc3NldHMvc2Nzcy9mb3VuZGF0aW9uL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsImZpbGU6Ly8vdmFyL3d3dy9odG1sL2pvaG5ueW1hbGxpbi9hcHAvdGhlbWVzL3N0aXJ0aW5nYWxlL2Fzc2V0cy9zY3NzL2ZvdW5kYXRpb24veHktZ3JpZC9fY2VsbC5zY3NzIiwiZmlsZTovLy92YXIvd3d3L2h0bWwvam9obm55bWFsbGluL2FwcC90aGVtZXMvc3RpcnRpbmdhbGUvYXNzZXRzL3Njc3MvZm91bmRhdGlvbi94eS1ncmlkL19sYXlvdXQuc2NzcyIsImZpbGU6Ly8vdmFyL3d3dy9odG1sL2pvaG5ueW1hbGxpbi9hcHAvdGhlbWVzL3N0aXJ0aW5nYWxlL2Fzc2V0cy9zY3NzL2ZvdW5kYXRpb24veHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsImZpbGU6Ly8vdmFyL3d3dy9odG1sL2pvaG5ueW1hbGxpbi9hcHAvdGhlbWVzL3N0aXJ0aW5nYWxlL2Fzc2V0cy9zY3NzL2ZvdW5kYXRpb24veHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsImZpbGU6Ly8vdmFyL3d3dy9odG1sL2pvaG5ueW1hbGxpbi9hcHAvdGhlbWVzL3N0aXJ0aW5nYWxlL2Fzc2V0cy9zY3NzL2ZvdW5kYXRpb24veHktZ3JpZC9fZnJhbWUuc2NzcyIsImZpbGU6Ly8vdmFyL3d3dy9odG1sL2pvaG5ueW1hbGxpbi9hcHAvdGhlbWVzL3N0aXJ0aW5nYWxlL2Fzc2V0cy9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZmxleC5zY3NzIiwiZmlsZTovLy92YXIvd3d3L2h0bWwvam9obm55bWFsbGluL2FwcC90aGVtZXMvc3RpcnRpbmdhbGUvYXNzZXRzL3Njc3MvZm91bmRhdGlvbi91dGlsL19mbGV4LnNjc3MiLCJmaWxlOi8vL3Zhci93d3cvaHRtbC9qb2hubnltYWxsaW4vYXBwL3RoZW1lcy9zdGlydGluZ2FsZS9hc3NldHMvc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsImZpbGU6Ly8vdmFyL3d3dy9odG1sL2pvaG5ueW1hbGxpbi9hcHAvdGhlbWVzL3N0aXJ0aW5nYWxlL2Fzc2V0cy9zY3NzL3Bob3Rvc3dpcGUuc2NzcyIsImZpbGU6Ly8vdmFyL3d3dy9odG1sL2pvaG5ueW1hbGxpbi9hcHAvdGhlbWVzL3N0aXJ0aW5nYWxlL2Fzc2V0cy9zY3NzL2FwcC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLFdBQ0MsMkJBQ0Esa0RBQ0EsSUFDQyxzV0FLRCxrQkFDQSxtQkFDQSxrQ0FJRCxXQUNDLDJCQUNBLGtEQUNBLElBQ0Msc1dBS0Qsa0JBQ0EsbUJBQ0Esa0NBSUQsV0FDQywyQkFDQSwwQ0FDQSxJQUNDLHNUQUtELGtCQUNBLGlCQUNBLGtDQUdELGtDQUlDLG9FQUNBLGtFQUNBLHdCQUNBLHdCQUNBLHdCQUNBLG9CQUNBLHVCQUVBLGFBQ0Esd0JBQ0Esd0JBQ0Esc0JBQ0Esd0JBQ0EsMEJBQ0EsNEJBQ0EsOEJBQ0EsOEJBQ0EsOEJBQ0EsOEJBQ0EsNkJBQ0EsK0JBQ0Esa0NBQ0EsbUNBZ0NBLGNBQ0EsaUJBQ0EsaUJBQ0Esd0JBbENBLDJDQTNCRCxrQ0E0QkUsaUJBQ0Esb0JBQ0EsdUJBQ0EsMEJBQ0EsNkJBQ0EsNEJBQ0EsNkJBQ0EsNkJBQ0EsNkJBQ0EsNkJBQ0EsNEJBQ0EsNkJBQ0EsaUNBQ0EsbUNBQ0EsbUNBQ0EseUNBQ0EsK0NBQ0EsbURBQ0Esa0RBQ0EsbURBQ0EsbURBQ0EsbURBQ0EsbURBQ0Esa0RBQ0EsbURBQ0Esc0RBQ0EsMkRBU0Ysb0NBRUMsY0FDQSxpQkFDQSxpQkFDQSxtQkFHRCxpQkFDQyxlQ3hIQyw0RUFRQSxLQUNFLGlCQUNBLDhCQVFGLEtBQ0UsU0FNRixHQUNFLGNBQ0EsZUFTRixHQUNFLHVCQUNBLFNBQ0EsaUJBTUYsSUFDRSxnQ0FDQSxjQVFGLEVBQ0UsK0JBTUYsWUFDRSxnQkFDQSxpQ0FLRixTQUVFLG1CQU1GLGNBR0UsZ0NBQ0EsY0FLRixNQUNFLGNBTUYsUUFFRSxjQUNBLGNBQ0Esa0JBQ0Esd0JBR0YsSUFDRSxlQUdGLElBQ0UsV0FRRixJQUNFLGtCQVNGLHNDQUtFLG9CQUNBLGVBQ0EsaUJBQ0EsU0FNRixhQUVFLGlCQU1GLGNBRUUsb0JBS0YsZ0RBSUUsMEJBS0Ysd0hBSUUsa0JBQ0EsVUFLRiw0R0FJRSw4QkFLRixTQUNFLDJCQVFGLE9BQ0Usc0JBQ0EsY0FDQSxjQUNBLGVBQ0EsVUFDQSxtQkFLRixTQUNFLHdCQUtGLFNBQ0UsY0FNRiw2QkFFRSxzQkFDQSxVQUtGLGtGQUVFLFlBTUYsY0FDRSw2QkFDQSxvQkFLRix5Q0FDRSx3QkFNRiw2QkFDRSwwQkFDQSxhQVFGLFFBQ0UsY0FLRixRQUNFLGtCQVFGLFNBQ0UsYUFLRixTQUNFLGFBUUEsb09BQ0UsYUFLSixrQkFDRSwyQkFDQSx5QkN2SkYsZUFDRSx3RUFHRixLQUNFLHNCQUNBLFVDMUllLEtEOElqQixxQkFHRSxtQkFJRixLQUNFLFNBQ0EsVUFVQSxXQXhISSxRQTBISixZQTlHZSxtREErR2YsWUF2Rm1CLE9Bd0ZuQixZQTFKZ0IsSUEySmhCLE1BaklJLFFBb0lGLG1DQUNBLGtDQUlKLElBRUUscUJBQ0Esc0JBR0EsZUFDQSxZQUNBLCtCQUlGLFNBQ0UsWUFDQSxnQkFDQSxjQXhHWSxFQTRHZCxPQUNFLHNCQUNBLFdBQ0EsY0EvR1ksRUFzSFosNkdBR0UsMEJBS0osT0FFRSxVQUNBLGdCQUNBLFNBQ0EsY0FuSVksRUFvSVoseUJBQ0EsY0FDQSxPQS9HbUIsS0VpRnJCLDhCQUNFLFVGaUNGLElBQ0UsY0FDQSxpQ0FJRixzQ0FLRSxvQkFJRixZQUNFLHlCQUdGLFdBQ0Usd0JHblBGLGdCQ29CTSx5Q0NkTixVTENhLDJCS0NiLGtCQytKTSwwQ0h2S04sZ0JDb0JNLDBDRGpCSixzQkNpQkkseUNDZE4sVUZGK0IsS0VHL0IsaUJBQ0Esa0JDK0pNLDBDSHBLSixzQkNpQkksMENEYkoscUJDc0JFLCtCQ3ZCSixVRkUrQixLRUQvQixpQkFDQSxrQkZLQSxRRVNBLGFBQ0EsbUJGTkEsTUlxR0EsY0FJRSxhQUNBLFlBc0NBLE1BVE0sS0pwSU4sV0lrR0YsV0o5RkUsYUk4RkYsY0p4RkUsY0ltSUEsTUFUTSxLSnRITixnQkkrSEEsTUFUTSxLSnRHSix5UEFDRSxnQkdvSEEsMENIckhGLHVRQUNFLGlCR29IQSwwQ0hySEYseVBBQ0UsaUJBYUosK01Jc0RGLGNKdkNJLGlCSWtGRixNQVRNLGNKekVKLGlCSWtGRixNQVRNLGVKekVKLGlCSWtGRixNQVRNLElKekVKLGlCSWtGRixNQVRNLGVKekVKLGlCSWtGRixNQVRNLGVKekVKLGlCSWtGRixNQVRNLElKekVKLGlCSWtGRixNQVRNLGVKekVKLGlCSWtGRixNQVRNLGVKekVKLGlCSWtGRixNQVRNLElKekVKLGtCSWtGRixNQVRNLGVKekVKLGtCSWtGRixNQVRNLGVKekVKLGtCSWtGRixNQVRNLEtEZUYsMENINUdGLHFCSTJESixXQTJDRSxNQVRNLEtKeEZOLGtQSXNERixjSmhESSx1QkkyRkYsTUFUTSxLSnpFSixrQklrRkYsTUFUTSxjSnpFSixrQklrRkYsTUFUTSxlSnpFSixrQklrRkYsTUFUTSxJSnpFSixrQklrRkYsTUFUTSxlSnpFSixrQklrRkYsTUFUTSxlSnpFSixrQklrRkYsTUFUTSxJSnpFSixrQklrRkYsTUFUTSxlSnpFSixrQklrRkYsTUFUTSxlSnpFSixrQklrRkYsTUFUTSxJSnpFSixtQklrRkYsTUFUTSxlSnpFSixtQklrRkYsTUFUTSxlSnpFSixtQklrRkYsTUFUTSxNRGVGLDBDSDVHRixvQkkyREosV0EyQ0UsTUFUTSxLSnhGTixxT0lzREYsY0poREksc0JJMkZGLE1BVE0sS0p6RUosaUJJa0ZGLE1BVE0sY0p6RUosaUJJa0ZGLE1BVE0sZUp6RUosaUJJa0ZGLE1BVE0sSUp6RUosaUJJa0ZGLE1BVE0sZUp6RUosaUJJa0ZGLE1BVE0sZUp6RUosaUJJa0ZGLE1BVE0sSUp6RUosaUJJa0ZGLE1BVE0sZUp6RUosaUJJa0ZGLE1BVE0sZUp6RUosaUJJa0ZGLE1BVE0sSUp6RUosa0JJa0ZGLE1BVE0sZUp6RUosa0JJa0ZGLE1BVE0sZUp6RUosa0JJa0ZGLE1BVE0sTUpqRVIsa0NBQ0UsV0FJRixrQ0FDRSxZQThCRixlQ3ZHTSwyQ0VtSkEsMENINUNOLGVDdkdNLDBDRDJHSixxQklrQ0EsTUFUTSxvQkgzSEoseUNFMElFLDBDSGpDQSxxQkkyQkosTUFUTSxvQkgzSEosd0NEc0VKLHFCSThERSxNQVRNLEtKakRSLHVCSTBERSxNQVRNLEtKekNOLHdCSWtEQSxNQVRNLDZCSnpDTix3QklrREEsTUFUTSw4Qkp6Q04sd0JJa0RBLE1BVE0sbUJKekNOLHdCSWtEQSxNQVRNLDhCSnpDTix3QklrREEsTUFUTSw4Qkp6Q04sd0JJa0RBLE1BVE0sbUJKekNOLHdCSWtEQSxNQVRNLDhCSnpDTix3QklrREEsTUFUTSw4Qkp6Q04sd0JJa0RBLE1BVE0sbUJKekNOLHlCSWtEQSxNQVRNLDhCSnpDTix5QklrREEsTUFUTSw4Qkp6Q04seUJJa0RBLE1BVE0sb0JEZUYsMENIcEVOLHFCSThERSxNQVRNLEtKakRSLHVCSTBERSxNQVRNLEtKekNOLHdCSWtEQSxNQVRNLDZCSnpDTix3QklrREEsTUFUTSw4Qkp6Q04sd0JJa0RBLE1BVE0sbUJKekNOLHdCSWtEQSxNQVRNLDhCSnpDTix3QklrREEsTUFUTSw4Qkp6Q04sd0JJa0RBLE1BVE0sbUJKekNOLHdCSWtEQSxNQVRNLDhCSnpDTix3QklrREEsTUFUTSw4Qkp6Q04sd0JJa0RBLE1BVE0sbUJKekNOLHlCSWtEQSxNQVRNLDhCSnpDTix5QklrREEsTUFUTSw4Qkp6Q04seUJJa0RBLE1BVE0sb0JKckRSLDRCSThERSxNQVRNLEtKakRSLDhCSTBERSxNQVRNLEtKekNOLHlCSWtEQSxNQVRNLDZCSnpDTix5QklrREEsTUFUTSw4Qkp6Q04seUJJa0RBLE1BVE0sbUJKekNOLHlCSWtEQSxNQVRNLDhCSnpDTix5QklrREEsTUFUTSw4Qkp6Q04seUJJa0RBLE1BVE0sbUJKekNOLHlCSWtEQSxNQVRNLDhCSnpDTix5QklrREEsTUFUTSw4Qkp6Q04seUJJa0RBLE1BVE0sbUJKekNOLDBCSWtEQSxNQVRNLDhCSnpDTiwwQklrREEsTUFUTSw4Qkp6Q04sMEJJa0RBLE1BVE0scUJEZUYsMENIcEVOLDJCSThERSxNQVRNLEtKakRSLDZCSTBERSxNQVRNLEtKekNOLHdCSWtEQSxNQVRNLDZCSnpDTix3QklrREEsTUFUTSw4Qkp6Q04sd0JJa0RBLE1BVE0sbUJKekNOLHdCSWtEQSxNQVRNLDhCSnpDTix3QklrREEsTUFUTSw4Qkp6Q04sd0JJa0RBLE1BVE0sbUJKekNOLHdCSWtEQSxNQVRNLDhCSnpDTix3QklrREEsTUFUTSw4Qkp6Q04sd0JJa0RBLE1BVE0sbUJKekNOLHlCSWtEQSxNQVRNLDhCSnpDTix5QklrREEsTUFUTSw4Qkp6Q04seUJJa0RBLE1BVE0scUJKVU4sZ0NDOUlJLDJDRW1KQSwwQ0hMSixnQ0M5SUksMENEb0pKLDJDQ3BKSSwyQ0VtSkEsMENIQ0osMkNDcEpJLDBDRHlKSixzQkN6SkksMkNFbUpBLDBDSE1KLHNCQ3pKSSw0REc2SUosTUFUTSxLQ3BJUixrQkQ2SUUsTUFUTSxJQ3BJUixrQkQ2SUUsTUFUTSxlQ3BJUixrQkQ2SUUsTUFUTSxJQ3BJUixrQkQ2SUUsTUFUTSxJQ3BJUixrQkQ2SUUsTUFUTSxlQ3BJUixrQkQ2SUUsTUFUTSxlQ3BJUixrQkQ2SUUsTUFUTSxNQ3BJUixrQkQ2SUUsTUFUTSxlQ3BJUixtQkQ2SUUsTUFUTSxJQ3BJUixtQkQ2SUUsTUFUTSxjQ3BJUixtQkQ2SUUsTUFUTSxjRGVGLDBDRW5KTixtQkQ2SUUsTUFUTSxLQ3BJUixtQkQ2SUUsTUFUTSxJQ3BJUixtQkQ2SUUsTUFUTSxlQ3BJUixtQkQ2SUUsTUFUTSxJQ3BJUixtQkQ2SUUsTUFUTSxJQ3BJUixtQkQ2SUUsTUFUTSxlQ3BJUixtQkQ2SUUsTUFUTSxlQ3BJUixtQkQ2SUUsTUFUTSxNQ3BJUixtQkQ2SUUsTUFUTSxlQ3BJUixvQkQ2SUUsTUFUTSxJQ3BJUixvQkQ2SUUsTUFUTSxjQ3BJUixvQkQ2SUUsTUFUTSxlRGVGLDBDRW5KTixrQkQ2SUUsTUFUTSxLQ3BJUixrQkQ2SUUsTUFUTSxJQ3BJUixrQkQ2SUUsTUFUTSxlQ3BJUixrQkQ2SUUsTUFUTSxJQ3BJUixrQkQ2SUUsTUFUTSxJQ3BJUixrQkQ2SUUsTUFUTSxlQ3BJUixrQkQ2SUUsTUFUTSxlQ3BJUixrQkQ2SUUsTUFUTSxNQ3BJUixrQkQ2SUUsTUFUTSxlQ3BJUixtQkQ2SUUsTUFUTSxJQ3BJUixtQkQ2SUUsTUFUTSxjQ3BJUixtQkQ2SUUsTUFUTSxlQ3BJUixnQ0Q2SUUsTUFUTSxvQkNwSVIsZ0NENklFLE1BVE0sbUJDcElSLGdDRDZJRSxNQVRNLDhCQ3BJUixnQ0Q2SUUsTUFUTSxtQkNwSVIsZ0NENklFLE1BVE0sbUJDcElSLGdDRDZJRSxNQVRNLDhCQ3BJUixnQ0Q2SUUsTUFUTSw4QkNwSVIsZ0NENklFLE1BVE0scUJDcElSLGdDRDZJRSxNQVRNLDhCQ3BJUixpQ0Q2SUUsTUFUTSxtQkNwSVIsaUNENklFLE1BVE0sNkJDcElSLGlDRDZJRSxNQVRNLDZCRGVGLDBDRW5KTixnQ0Q2SUUsTUFUTSxvQkNwSVIsZ0NENklFLE1BVE0sbUJDcElSLGdDRDZJRSxNQVRNLDhCQ3BJUixnQ0Q2SUUsTUFUTSxtQkNwSVIsZ0NENklFLE1BVE0sbUJDcElSLGdDRDZJRSxNQVRNLDhCQ3BJUixnQ0Q2SUUsTUFUTSw4QkNwSVIsZ0NENklFLE1BVE0scUJDcElSLGdDRDZJRSxNQVRNLDhCQ3BJUixpQ0Q2SUUsTUFUTSxtQkNwSVIsaUNENklFLE1BVE0sNkJDcElSLGlDRDZJRSxNQVRNLDZCQ3BJUixpQ0Q2SUUsTUFUTSxvQkNwSVIsaUNENklFLE1BVE0sbUJDcElSLGlDRDZJRSxNQVRNLDhCQ3BJUixpQ0Q2SUUsTUFUTSxtQkNwSVIsaUNENklFLE1BVE0sbUJDcElSLGlDRDZJRSxNQVRNLDhCQ3BJUixpQ0Q2SUUsTUFUTSw4QkNwSVIsaUNENklFLE1BVE0scUJDcElSLGlDRDZJRSxNQVRNLDhCQ3BJUixrQ0Q2SUUsTUFUTSxtQkNwSVIsa0NENklFLE1BVE0sNkJDcElSLGtDRDZJRSxNQVRNLDhCRGVGLDBDRW5KTixnQ0Q2SUUsTUFUTSxvQkNwSVIsZ0NENklFLE1BVE0sbUJDcElSLGdDRDZJRSxNQVRNLDhCQ3BJUixnQ0Q2SUUsTUFUTSxtQkNwSVIsZ0NENklFLE1BVE0sbUJDcElSLGdDRDZJRSxNQVRNLDhCQ3BJUixnQ0Q2SUUsTUFUTSw4QkNwSVIsZ0NENklFLE1BVE0scUJDcElSLGdDRDZJRSxNQVRNLDhCQ3BJUixpQ0Q2SUUsTUFUTSxtQkNwSVIsaUNENklFLE1BVE0sNkJDcElSLGlDRDZJRSxNQVRNLDhCSm1FSix1Qk05TUUsNkJBR0YsNkJBRUksNkJBc0JFLGdDRnlIUixNQVRNLGNFaEhFLGdDRnlIUixNQVRNLGVFaEhFLGdDRnlIUixNQVRNLElFaEhFLGdDRnlIUixNQVRNLGVFaEhFLGdDRnlIUixNQVRNLGVFaEhFLGdDRnlIUixNQVRNLElFaEhFLGdDRnlIUixNQVRNLGVFaEhFLGdDRnlIUixNQVRNLGVFaEhFLGdDRnlIUixNQVRNLElFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLEtEZUYsMENHL0hJLGlDRnlIUixNQVRNLGNFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLElFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLElFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLElFaEhFLGtDRnlIUixNQVRNLGVFaEhFLGtDRnlIUixNQVRNLGVFaEhFLGtDRnlIUixNQVRNLE1EZUYsMENHL0hJLGdDRnlIUixNQVRNLGNFaEhFLGdDRnlIUixNQVRNLGVFaEhFLGdDRnlIUixNQVRNLElFaEhFLGdDRnlIUixNQVRNLGVFaEhFLGdDRnlIUixNQVRNLGVFaEhFLGdDRnlIUixNQVRNLElFaEhFLGdDRnlIUixNQVRNLGVFaEhFLGdDRnlIUixNQVRNLGVFaEhFLGdDRnlIUixNQVRNLElFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLE1KeUVKLHdCTTdLRSw2QkFHRiw4QkFFSSwrQkg4R0YsMENIb0RGLHdCTTlNRSw2QkFHRiw4QkFFSSw4QkhxSkYsMENHeElJLGlDRmtJUixNQVRNLGNFekhFLGlDRmtJUixNQVRNLGVFekhFLGlDRmtJUixNQVRNLElFekhFLGlDRmtJUixNQVRNLGVFekhFLGlDRmtJUixNQVRNLGVFekhFLGlDRmtJUixNQVRNLElFekhFLGlDRmtJUixNQVRNLGVFekhFLGlDRmtJUixNQVRNLGVFekhFLGlDRmtJUixNQVRNLElFekhFLGtDRmtJUixNQVRNLGVFekhFLGtDRmtJUixNQVRNLGVFekhFLGtDRmtJUixNQVRNLE1EZUYsMENHL0hJLGtDRnlIUixNQVRNLGNFaEhFLGtDRnlIUixNQVRNLGVFaEhFLGtDRnlIUixNQVRNLElFaEhFLGtDRnlIUixNQVRNLGVFaEhFLGtDRnlIUixNQVRNLGVFaEhFLGtDRnlIUixNQVRNLElFaEhFLGtDRnlIUixNQVRNLGVFaEhFLGtDRnlIUixNQVRNLGVFaEhFLGtDRnlIUixNQVRNLElFaEhFLG1DRnlIUixNQVRNLGVFaEhFLG1DRnlIUixNQVRNLGVFaEhFLG1DRnlIUixNQVRNLE1EZUYsMENHL0hJLGlDRnlIUixNQVRNLGNFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLElFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLElFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLElFaEhFLGtDRnlIUixNQVRNLGVFaEhFLGtDRnlIUixNQVRNLGVFaEhFLGtDRnlIUixNQVRNLE1EZUYsMENIMERGLHlCTTdLRSw2QkFHRiwrQkFFSSxnQ0g4R0YsMENIb0RGLHVCTTlNRSw2QkFHRiw2QkFFSSw4QkhxSkYsMENHeElJLGdDRmtJUixNQVRNLGNFekhFLGdDRmtJUixNQVRNLGVFekhFLGdDRmtJUixNQVRNLElFekhFLGdDRmtJUixNQVRNLGVFekhFLGdDRmtJUixNQVRNLGVFekhFLGdDRmtJUixNQVRNLElFekhFLGdDRmtJUixNQVRNLGVFekhFLGdDRmtJUixNQVRNLGVFekhFLGdDRmtJUixNQVRNLElFekhFLGlDRmtJUixNQVRNLGVFekhFLGlDRmtJUixNQVRNLGVFekhFLGlDRmtJUixNQVRNLE1EZUYsMENHeElJLGlDRmtJUixNQVRNLGNFekhFLGlDRmtJUixNQVRNLGVFekhFLGlDRmtJUixNQVRNLElFekhFLGlDRmtJUixNQVRNLGVFekhFLGlDRmtJUixNQVRNLGVFekhFLGlDRmtJUixNQVRNLElFekhFLGlDRmtJUixNQVRNLGVFekhFLGlDRmtJUixNQVRNLGVFekhFLGlDRmtJUixNQVRNLElFekhFLGtDRmtJUixNQVRNLGVFekhFLGtDRmtJUixNQVRNLGVFekhFLGtDRmtJUixNQVRNLE1EZUYsMENHL0hJLGdDRnlIUixNQVRNLGNFaEhFLGdDRnlIUixNQVRNLGVFaEhFLGdDRnlIUixNQVRNLElFaEhFLGdDRnlIUixNQVRNLGVFaEhFLGdDRnlIUixNQVRNLGVFaEhFLGdDRnlIUixNQVRNLElFaEhFLGdDRnlIUixNQVRNLGVFaEhFLGdDRnlIUixNQVRNLGVFaEhFLGdDRnlIUixNQVRNLElFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLGVFaEhFLGlDRnlIUixNQVRNLE1EZUYsMENIMERGLHdCTTdLRSw2QkFHRiw4QkFFSSxnQ05zTEosZ0JPbk1GLGVQdU1FLCtCT3ZNRixrQ1BtTUUsZ0JPbk1GLDBCUHVNRSwrQk92TUYsNkNQbU1FLGdCT25NRiwyQlB1TUUsK0JPdk1GLDhDUG1NRSxnQk9uTUYsZ0JQdU1FLCtCT3ZNRixtQ1BtTUUsZ0JPbk1GLDJCUHVNRSwrQk92TUYsOENQbU1FLGdCT25NRiwyQlB1TUUsK0JPdk1GLDhDUG1NRSxnQk9uTUYsZ0JQdU1FLCtCT3ZNRixtQ1BtTUUsZ0JPbk1GLDJCUHVNRSwrQk92TUYsOENQbU1FLGdCT25NRiwyQlB1TUUsK0JPdk1GLDhDUG1NRSxnQk9uTUYsZ0JQdU1FLCtCT3ZNRixtQ1BtTUUsaUJPbk1GLDJCUHVNRSxnQ092TUYsOENQbU1FLGlCT25NRiwyQlB1TUUsZ0NPdk1GLDhDSjJISSwwQ0h3RUYsaUJPbk1GLGVQdU1FLGdDT3ZNRixrQ1BtTUUsaUJPbk1GLDBCUHVNRSxnQ092TUYsNkNQbU1FLGlCT25NRiwyQlB1TUUsZ0NPdk1GLDhDUG1NRSxpQk9uTUYsZ0JQdU1FLGdDT3ZNRixtQ1BtTUUsaUJPbk1GLDJCUHVNRSxnQ092TUYsOENQbU1FLGlCT25NRiwyQlB1TUUsZ0NPdk1GLDhDUG1NRSxpQk9uTUYsZ0JQdU1FLGdDT3ZNRixtQ1BtTUUsaUJPbk1GLDJCUHVNRSxnQ092TUYsOENQbU1FLGlCT25NRiwyQlB1TUUsZ0NPdk1GLDhDUG1NRSxpQk9uTUYsZ0JQdU1FLGdDT3ZNRixtQ1BtTUUsa0JPbk1GLDJCUHVNRSxpQ092TUYsOENQbU1FLGtCT25NRiwyQlB1TUUsaUNPdk1GLCtDSjJISSwwQ0h3RUYsZ0JPbk1GLGVQdU1FLCtCT3ZNRixrQ1BtTUUsZ0JPbk1GLDBCUHVNRSwrQk92TUYsNkNQbU1FLGdCT25NRiwyQlB1TUUsK0JPdk1GLDhDUG1NRSxnQk9uTUYsZ0JQdU1FLCtCT3ZNRixtQ1BtTUUsZ0JPbk1GLDJCUHVNRSwrQk92TUYsOENQbU1FLGdCT25NRiwyQlB1TUUsK0JPdk1GLDhDUG1NRSxnQk9uTUYsZ0JQdU1FLCtCT3ZNRixtQ1BtTUUsZ0JPbk1GLDJCUHVNRSwrQk92TUYsOENQbU1FLGdCT25NRiwyQlB1TUUsK0JPdk1GLDhDUG1NRSxnQk9uTUYsZ0JQdU1FLCtCT3ZNRixtQ1BtTUUsaUJPbk1GLDJCUHVNRSxnQ092TUYsOENQbU1FLGlCT25NRiwyQlB1TUUsZ0NPdk1GLCtDUHlORixRRS9PQSxhQUNBLHdCRmtQRSxjSXJJRixZQUNBLGdCSndJRSxjSTVHQSxPQVRNLEtKeUhOLGdCSWhIQSxPQVRNLEtKdUlKLHlQQUNFLGdCR3pIQSwwQ0h3SEYsdVFBQ0UsaUJHekhBLDBDSHdIRix5UEFDRSxpQkFZRiwrTUl0TEosY0pxTU0saUJJMUpKLE9BVE0sY0ptS0YsaUJJMUpKLE9BVE0sZUptS0YsaUJJMUpKLE9BVE0sSUptS0YsaUJJMUpKLE9BVE0sZUptS0YsaUJJMUpKLE9BVE0sZUptS0YsaUJJMUpKLE9BVE0sSUptS0YsaUJJMUpKLE9BVE0sZUptS0YsaUJJMUpKLE9BVE0sZUptS0YsaUJJMUpKLE9BVE0sSUptS0Ysa0JJMUpKLE9BVE0sZUptS0Ysa0JJMUpKLE9BVE0sZUptS0Ysa0JJMUpKLE9BVE0sS0RlRiwwQ0hnSUEscUJJakxOLFdBMkNFLE9BVE0sS0pvSkosa1BJdExKLGNKNExNLHVCSWpKSixPQVRNLEtKbUtGLGtCSTFKSixPQVRNLGNKbUtGLGtCSTFKSixPQVRNLGVKbUtGLGtCSTFKSixPQVRNLElKbUtGLGtCSTFKSixPQVRNLGVKbUtGLGtCSTFKSixPQVRNLGVKbUtGLGtCSTFKSixPQVRNLElKbUtGLGtCSTFKSixPQVRNLGVKbUtGLGtCSTFKSixPQVRNLGVKbUtGLGtCSTFKSixPQVRNLElKbUtGLG1CSTFKSixPQVRNLGVKbUtGLG1CSTFKSixPQVRNLGVKbUtGLG1CSTFKSixPQVRNLE1EZUYsMENIZ0lBLG9CSWpMTixXQTJDRSxPQVRNLEtKb0pKLHFPSXRMSixjSjRMTSxzQklqSkosT0FUTSxLSm1LRixpQkkxSkosT0FUTSxjSm1LRixpQkkxSkosT0FUTSxlSm1LRixpQkkxSkosT0FUTSxJSm1LRixpQkkxSkosT0FUTSxlSm1LRixpQkkxSkosT0FUTSxlSm1LRixpQkkxSkosT0FUTSxJSm1LRixpQkkxSkosT0FUTSxlSm1LRixpQkkxSkosT0FUTSxlSm1LRixpQkkxSkosT0FUTSxJSm1LRixrQkkxSkosT0FUTSxlSm1LRixrQkkxSkosT0FUTSxlSm1LRixrQkkxSkosT0FUTSxNSitLSixnQ0NuVEUsMkNFbUpBLDBDSGdLRixnQ0NuVEUsMENEd1RGLHNCQ3hURSwyQ0VtSkEsMENIcUtGLHNCQ3hURSwwQ0R1R04sZUN2R00sMkNFbUpBLDBDSDVDTixlQ3ZHTSwwQ0QyR0oscUJJa0NBLE9BVE0sb0JIM0hKLHlDRTBJRSwwQ0hqQ0EscUJJMkJKLE9BVE0sb0JIM0hKLHdDRHNFSixxQkk4REUsT0FUTSxLSmpEUix1QkkwREUsT0FUTSxLSnpDTix3QklrREEsT0FUTSw2Qkp6Q04sd0JJa0RBLE9BVE0sOEJKekNOLHdCSWtEQSxPQVRNLG1CSnpDTix3QklrREEsT0FUTSw4Qkp6Q04sd0JJa0RBLE9BVE0sOEJKekNOLHdCSWtEQSxPQVRNLG1CSnpDTix3QklrREEsT0FUTSw4Qkp6Q04sd0JJa0RBLE9BVE0sOEJKekNOLHdCSWtEQSxPQVRNLG1CSnpDTix5QklrREEsT0FUTSw4Qkp6Q04seUJJa0RBLE9BVE0sOEJKekNOLHlCSWtEQSxPQVRNLG9CRGVGLDBDSHBFTixxQkk4REUsT0FUTSxLSmpEUix1QkkwREUsT0FUTSxLSnpDTix3QklrREEsT0FUTSw2Qkp6Q04sd0JJa0RBLE9BVE0sOEJKekNOLHdCSWtEQSxPQVRNLG1CSnpDTix3QklrREEsT0FUTSw4Qkp6Q04sd0JJa0RBLE9BVE0sOEJKekNOLHdCSWtEQSxPQVRNLG1CSnpDTix3QklrREEsT0FUTSw4Qkp6Q04sd0JJa0RBLE9BVE0sOEJKekNOLHdCSWtEQSxPQVRNLG1CSnpDTix5QklrREEsT0FUTSw4Qkp6Q04seUJJa0RBLE9BVE0sOEJKekNOLHlCSWtEQSxPQVRNLG9CSnJEUiw0Qkk4REUsT0FUTSxLSmpEUiw4QkkwREUsT0FUTSxLSnpDTix5QklrREEsT0FUTSw2Qkp6Q04seUJJa0RBLE9BVE0sOEJKekNOLHlCSWtEQSxPQVRNLG1CSnpDTix5QklrREEsT0FUTSw4Qkp6Q04seUJJa0RBLE9BVE0sOEJKekNOLHlCSWtEQSxPQVRNLG1CSnpDTix5QklrREEsT0FUTSw4Qkp6Q04seUJJa0RBLE9BVE0sOEJKekNOLHlCSWtEQSxPQVRNLG1CSnpDTiwwQklrREEsT0FUTSw4Qkp6Q04sMEJJa0RBLE9BVE0sOEJKekNOLDBCSWtEQSxPQVRNLHFCRGVGLDBDSHBFTiwyQkk4REUsT0FUTSxLSmpEUiw2QkkwREUsT0FUTSxLSnpDTix3QklrREEsT0FUTSw2Qkp6Q04sd0JJa0RBLE9BVE0sOEJKekNOLHdCSWtEQSxPQVRNLG1CSnpDTix3QklrREEsT0FUTSw4Qkp6Q04sd0JJa0RBLE9BVE0sOEJKekNOLHdCSWtEQSxPQVRNLG1CSnpDTix3QklrREEsT0FUTSw4Qkp6Q04sd0JJa0RBLE9BVE0sOEJKekNOLHdCSWtEQSxPQVRNLG1CSnpDTix5QklrREEsT0FUTSw4Qkp6Q04seUJJa0RBLE9BVE0sOEJKekNOLHlCSWtEQSxPQVRNLHFCSmtNUixZUXBWRSxnQkFDQSxrQkFDQSxpQkFDQSxvQkFtQ0ksWVJrVE4sa0JBQ0UsV0FHRixZUW5TRSxnQkFDQSxlQUdGLGlDQUNBLDRDUmtTQSxjUTNTRSxnQkFDQSxnQkFDQSxnQkFNRixpQ0FDQSw0Q1J1U0Esc0JRaFNBLGFBQ0Esc0JBQ0EsZ0JBRUEsOEJBQ0UsZ0JBQ0EsaUJMc0ZJLDBDSDJNSixtQlE1V0EsZ0JBQ0Esa0JBQ0EsaUJBQ0Esb0JBbUNJLFlSMFVKLHlCQUNFLFdBR0YsbUJRM1RBLGdCQUNBLGVBR0YsaUNBQ0EsNENSMFRFLDZCUW5URixhQUNBLHNCQUNBLGdCQUVBLHFDQUNFLGdCQUNBLGlCUmlUQSxxQlF2VUEsZ0JBQ0EsZ0JBQ0EsZ0JBTUYsaUNBQ0EsNkNMbUdNLDBDSDJNSixrQlE1V0EsZ0JBQ0Esa0JBQ0EsaUJBQ0Esb0JBbUNJLFlSMFVKLHdCQUNFLFdBR0Ysa0JRM1RBLGdCQUNBLGVBR0YsaUNBQ0EsNENSMFRFLDRCUW5URixhQUNBLHNCQUNBLGdCQUVBLG9DQUNFLGdCQUNBLGlCUmlUQSxvQlF2VUEsZ0JBQ0EsZ0JBQ0EsZ0JBTUYsaUNBQ0EsNkNScVVJLG1CUW5ZRixnQkFDQSxrQkFDQSxpQkFDQSxvQkFpQ0ksYVJpV0EsV0dwT0EsMENId09BLDBCUXpZSixnQkFDQSxrQkFDQSxpQkFDQSxvQkFpQ0ksYVJ1V0UsWUcxT0YsMENId09BLHlCUXpZSixnQkFDQSxrQkFDQSxpQkFDQSxvQkFpQ0ksYVJ1V0UsWUFNSix5QkFDRSxZR2pQQSwwQ0hvUEEsZ0NBQ0UsYUdyUEYsMENIb1BBLCtCQUNFLGFBalNSLGVDdkdNLDJDRW1KQSwwQ0g1Q04sZUN2R00sMENEMkdKLHFCSWtDQSxPQVRNLG9CSDNISix5Q0UwSUUsMENIakNBLHFCSTJCSixPQVRNLG9CSDNISix3Q0RzRUoscUJJOERFLE9BVE0sS0pqRFIsdUJJMERFLE9BVE0sS0p6Q04sd0JJa0RBLE9BVE0sNkJKekNOLHdCSWtEQSxPQVRNLDhCSnpDTix3QklrREEsT0FUTSxtQkp6Q04sd0JJa0RBLE9BVE0sOEJKekNOLHdCSWtEQSxPQVRNLDhCSnpDTix3QklrREEsT0FUTSxtQkp6Q04sd0JJa0RBLE9BVE0sOEJKekNOLHdCSWtEQSxPQVRNLDhCSnpDTix3QklrREEsT0FUTSxtQkp6Q04seUJJa0RBLE9BVE0sOEJKekNOLHlCSWtEQSxPQVRNLDhCSnpDTix5QklrREEsT0FUTSxvQkRlRiwwQ0hwRU4scUJJOERFLE9BVE0sS0pqRFIsdUJJMERFLE9BVE0sS0p6Q04sd0JJa0RBLE9BVE0sNkJKekNOLHdCSWtEQSxPQVRNLDhCSnpDTix3QklrREEsT0FUTSxtQkp6Q04sd0JJa0RBLE9BVE0sOEJKekNOLHdCSWtEQSxPQVRNLDhCSnpDTix3QklrREEsT0FUTSxtQkp6Q04sd0JJa0RBLE9BVE0sOEJKekNOLHdCSWtEQSxPQVRNLDhCSnpDTix3QklrREEsT0FUTSxtQkp6Q04seUJJa0RBLE9BVE0sOEJKekNOLHlCSWtEQSxPQVRNLDhCSnpDTix5QklrREEsT0FUTSxvQkpyRFIsNEJJOERFLE9BVE0sS0pqRFIsOEJJMERFLE9BVE0sS0p6Q04seUJJa0RBLE9BVE0sNkJKekNOLHlCSWtEQSxPQVRNLDhCSnpDTix5QklrREEsT0FUTSxtQkp6Q04seUJJa0RBLE9BVE0sOEJKekNOLHlCSWtEQSxPQVRNLDhCSnpDTix5QklrREEsT0FUTSxtQkp6Q04seUJJa0RBLE9BVE0sOEJKekNOLHlCSWtEQSxPQVRNLDhCSnpDTix5QklrREEsT0FUTSxtQkp6Q04sMEJJa0RBLE9BVE0sOEJKekNOLDBCSWtEQSxPQVRNLDhCSnpDTiwwQklrREEsT0FUTSxxQkRlRiwwQ0hwRU4sMkJJOERFLE9BVE0sS0pqRFIsNkJJMERFLE9BVE0sS0p6Q04sd0JJa0RBLE9BVE0sNkJKekNOLHdCSWtEQSxPQVRNLDhCSnpDTix3QklrREEsT0FUTSxtQkp6Q04sd0JJa0RBLE9BVE0sOEJKekNOLHdCSWtEQSxPQVRNLDhCSnpDTix3QklrREEsT0FUTSxtQkp6Q04sd0JJa0RBLE9BVE0sOEJKekNOLHdCSWtEQSxPQVRNLDhCSnpDTix3QklrREEsT0FUTSxtQkp6Q04seUJJa0RBLE9BVE0sOEJKekNOLHlCSWtEQSxPQVRNLDhCSnpDTix5QklrREEsT0FUTSxxQkoyUU4sMEJRdFlJLDRCTDBJQSwwQ0g0UEosMEJRdFlJLDZCTDBJQSwwQ0g0UEosMEJRdFlJLDZCTDBJQSwwQ0hnUUYsaUNRMVlFLDZCTDBJQSwwQ0hnUUYsZ0NRMVlFLDZCQ2lDSixZQ25CRixnQkFoQlEsV0RtQ04sYUNuQkYsZ0JBaEJRLFNEbUNOLGNDbkJGLGdCQWhCUSxPRG1DTixlQ25CRixnQkFoQlEsY0RtQ04sY0NuQkYsZ0JBaEJRLGFENENGLCtCQzVCTixnQkFoQlEsV0Q0Q0YsZ0NDNUJOLGdCQWhCUSxTRDRDRixpQ0M1Qk4sZ0JBaEJRLE9EcUROLFdDcENGLFlBUlEsV0RnRE4sZ0JDeEJGLFdBUFEsV0QyQk4sY0NwQ0YsWUFSUSxTRGdETixtQkN4QkYsV0FQUSxTRDJCTixjQ3BDRixZQVJRLE9EZ0ROLG1CQ3hCRixXQVBRLE9EMkJOLGVDcENGLFlBUlEsUURnRE4sb0JDeEJGLFdBUFEsUURxQ1IscUJDL0NBLGdCQWhCUSxPQWlCUixZQVJRLE9Ed0ROLHFCQU1FLGVDaENKLE1EK0JlLEVBQ1gsZUNoQ0osTUQrQmUsRUFDWCxlQ2hDSixNRCtCZSxFQUNYLGVDaENKLE1EK0JlLEVBQ1gsZUNoQ0osTUQrQmUsRUFDWCxlQ2hDSixNRCtCZSxFTnNFVCwwQ01yRUYsZ0JDaENKLE1EK0JlLEVBQ1gsZ0JDaENKLE1EK0JlLEVBQ1gsZ0JDaENKLE1EK0JlLEVBQ1gsZ0JDaENKLE1EK0JlLEVBQ1gsZ0JDaENKLE1EK0JlLEVBQ1gsZ0JDaENKLE1EK0JlLEdOc0VULDBDTXJFRixlQ2hDSixNRCtCZSxFQUNYLGVDaENKLE1EK0JlLEVBQ1gsZUNoQ0osTUQrQmUsRUFDWCxlQ2hDSixNRCtCZSxFQUNYLGVDaENKLE1EK0JlLEVBQ1gsZUNoQ0osTUQrQmUsR0E1RmYsZ0JDWUEsYURSQSxpQkFDRSxjQUdGLGlCQUNFLGNBR0YsbUJBQ0UsY0FJQSxjQ3NERixlQXBFbUIsSURjakIsc0JDc0RGLGVBcEVtQixZRGNqQixpQkNzREYsZUFwRW1CLE9EY2pCLHlCQ3NERixlQXBFbUIsZVArSmIsMENNdklFLHVCQ2ZSLGFEbUJRLHdCQUNFLGNBR0Ysd0JBQ0UsY0FHRiwwQkFDRSxjQUlBLHFCQzJCVixlQXBFbUIsSUR5Q1QsNkJDMkJWLGVBcEVtQixZRHlDVCx3QkMyQlYsZUFwRW1CLE9EeUNULGdDQzJCVixlQXBFbUIsZ0JQK0piLDBDTXZJRSxzQkNmUixhRG1CUSx1QkFDRSxjQUdGLHVCQUNFLGNBR0YseUJBQ0UsY0FJQSxvQkMyQlYsZUFwRW1CLElEeUNULDRCQzJCVixlQXBFbUIsWUR5Q1QsdUJDMkJWLGVBcEVtQixPRHlDVCwrQkMyQlYsZUFwRW1CLGdCQzRDbkIsTUFDRSx3QkFHRixXQUNFLGtCQUVGLFNBQ0UsbUJSMkdJLGdEUTVGSixxQkE3QkEseUJBbkJBLGdFQW9EQSxxQkFuREUseUJSMklFLDBDUXJHRixpQkE1QkYseUJSc0lJLDBDUXRHRixpQkFwRUYseUJScUtJLHFFUTVGSixzQkE3QkEseUJBbkJBLHVFQW9EQSxzQkFuREUseUJSMklFLDBDUXJHRixnQkE1QkYseUJSc0lJLDBDUXRHRixnQkFwRUYseUJScUtJLHFFUTVGSixxQkE3QkEseUJBbkJBLHVFQW9EQSxxQkFuREUseUJBMERKLDRCWnNIQSw2QkFDQSxxQkFDQSxzQkFDQSxxQkFDQSwyQkFDQSxpQ0FDQSw4QkFDQSxvQll0SEUsMkNaZ0lGLDJCQUNBLHNCQUNBLHVCQUNBLDRCQUNBLHFCQUNBLDhCWTlIQSx1Q0FFRSx5QlJzRUksMkNReEVOLHVDQUtJLDBCUm1FRSwwQ1F4RU4sdUNBU0kseUJBSUosdUNBRUUsd0JSeURJLDJDUTNETix1Q0FLSSx5QlJzREUsMENRM0ROLHVDQVNJLDBCQUtKLG9CQUNFLGFBRUYsb0JBQ0UsY0FFRiwrQ0FDRSxvQkFDRSx5QkFFRixvQkFDRSx5QkFLSixhQUNFLGFBRUYscUVBQ0UsYUFDRSx5QkFFRixhQUNFLHlCQUtKLGlCQUNFLGFBRUYsMkJBQ0UsY0FFRiwyQkFDRSxhQy9LSiw2REFFQSxNQUNFLGdCQUNBLG1DQUVBLDRCQUVBLDhDQUNBLDJEQUtBLHdCQUNBLGtDQUNBLCtCQUNBLDhCQUVBLGdEQU9GLE1BQ0UsZUFDQSxNQUNBLE9BQ0EsV0FDQSxZQUNBLGlDQUNBLGFBQ0Esa0JBQ0EsVUFDQSxhQUNBLDBCQUNBLDBDQUtGLFlBQ0UsVUFHRixRQUNFLHNCQUdGLFVBQ0UsZUFDQSxpQkFHRixZQUNFLGNBR0YsZ0JBRUUsd0JBQ0Esb0JBR0YsVUFDRSxhQUNBLDBCQUdGLHlCQUVFLGdCQUdGLHFHQU9FLGtCQUNBLE1BQ0EsT0FDQSxXQUNBLFlBR0YsNEJBRUUsV0FDQSxZQWdDRix5REFJRSx5QkFDQSxzQkFDQSxxQkFDQSxpQkFHRixZQUVFLFVBQ0EsZ0JBR0YsY0FDRSx3QkFJRixlQUNFLG9CQUVGLGlCQUNFLG9CQWFGLDJCQUNFLGFBRUYsaUJBQ0UsWUFDQSxjQUNBLGNBQ0EsbUNBUUYsMkJBQ0UsYUFDQSxvQkFDQSxpRkFDQSxXQUNBLG9CQUlGLHVDQUNFLFVBQ0Esb0JBSUYsY0FDRSxrQkFDQSxjQUNBLFdBQ0EseUJBQ0EsWUFDQSxjQUNBLFNBQ0EsZ0JBQ0EsZUFDQSxnQkFDQSxTQUNBLGdCQUNBLFlBQ0Esd0JBQ0EsMkJBR0YsNkRBR0UsZ0JBRUEsZ0JBQ0EsU0FDQSxnQkFDQSxVQUdGLHVCQUNFLFdBQ0EsWUFHRixXQUNFLDRCQUNBLHVDQUdGLFdBQ0Usa0JBQ0EsTUFDQSxPQUNBLFdBQ0EsWUFDQSxnQkFDQSxvQkFHRixrQkFDRSxxQ0FDQSwyQ0FDQSxVQUdGLGlCQUNFLFVBUUYsK0NBRUUsc0NBR0YsZUFDRSxrQkFDQSxPQUNBLE1BQ0EsV0FDQSxZQUNBLGFBQ0EsbUJBQ0EseUJBQ0EsV0FDQSwwQkFDQSwrQkFFQSwrQkFFRixpQkFDRSxvQkFHQSxvQkFRRixxQkFDRSxVQUNBLFlBQ0EsY0FVRixxQkFDRSxrQkFDQSxNQUNBLFdBQ0EsYUFDQSxRQUNBLGlCQUdGLDhCQUNFLGFBQ0EsZUFHRixnQ0FDRSxRQUNBLGlCQUNBLFdBQ0EsWUFDQSxnQkFDQSxnQkFHRixzQ0FDRSxhQUlGLGtDQUNFLGtCQUlGLHNDQUNFLG1CQUdGLDJCQUNFLFdBQ0EsU0FHRiwyQkFDRSxVQUVGLHNDQUNFLFVBQ0EsV0FFQSx1QkFRRixvQkFDRSxhQUdGLHdDQUNFLGNBSUYsdUNBQ0UsYUFRRixpQkFDRSxrQkFDQSxnQkFDQSxXQUNBLFlBQ0Esa0JBR0YsNEJBQ0UsVUFDQSw4QkFDQSwrQ0FHRixvQ0FDRSxZQUdGLDBCQUNFLEdBQ0UsdUJBRUYsS0FDRSwwQkFTSixlQUNFLFlBQ0EsZ0JBQ0EseUJBQ0EsZUFDQSxpQkFDQSw2QkFDQSx5REFDQSxZQUdGLGdDQUNFLGFBR0YsdUJBQ0UsYUFDQSxtQkFDQSxtQkFDQSx1QkFDQSxlQUNBLG1DQUNFLGNBQ0Esd0JBQ0EsZ0JBQ0EsMENBQ0Usd0JBQ0EsdUJBQ0EsZ0NBQ0EsUUFDQSxTQUtOLHNCQUNFLGtCQUNBLGVBQ0EsU0FDQSxTQUNBLE9BQ0EsV0MvYkYsVUFFQyx5QkFDQSwyQkFHRCxnQkFDQyxlQUtBLG9DQUVDLDJCQUVELCtCQUNDLHdCQUlGLHFCQUdDLDhCQUNBLHNCQUVELDZCQUlDLHdCQUdELGlCQUNDLDZCQUVELFlBQ0MsNkJBR0QsbUJBQ0MsU0FDQSxVQUdELHlFQUtDLHdCQUdELGNBRUMsZUFDQSxnREFFQyx1QkFJRixTQUVDLCtCQUdELGFBQ0Msa0JBQ0EsV0FDQSxhQUNBLHlDQUNBLGtCQUNDLGFBRUQsa0JBQ0MsWUFFRCx5QkFDQyxZQUdBLDZFQUdDLDRCQUlELGdGQUdDLDZCQUdGLHdEQUdDLGtCQUNBLE1BQ0EsT0FDQSxXQUNBLFlBQ0EsVUFDQSxtQkFPQywyQ0FIRCw4SUFJRSxrQkFLRixnRkFHQyxtQkFHQSxrR0FHQyxvQkFJRCwyR0FHQyx1QkFJRCwyR0FHQyx1QkFNSCw4QkFFQyxXQUNBLFlBTUYsV0FDQyxtQkFDQSxpQkFDQSxhQUNBLFlBRUEsMkNBTkQsV0FPRSxnQkFNRix3QkFFQyxrQkFDQSxXQUNBLFdBQ0EsZ0JBQ0EscUJBQ0Esc0JBQ0EsVUFDQSxrREFDQyxlQUVELHdEQUNDLGtCQUNBLCtCQUNBLFlBQ0EsV0FDQSxVQUNBLDhCQUNBLDRGQUNDLFVBR0YsMEdBR0Msa0JBQ0EsTUFDQSxPQUNBLFdBQ0EsWUFDQSxVQUVELHNDQUNDLFVBRUQsZ0NBQ0Msa0JBQ0EsUUFDQSxTQUNBLFVBQ0EsZ0NBQ0EsWUFDQSxhQUVELHNDQUNDLFlBRUQsc0NBQ0Msb0JBRUQsa0NBQ0MsZUFDQSx3RkFFQyx1QkFHQSxnSEFFQyx1QkFJSCxvQ0FDQyxtQkFDQSxnQkFFRCw4Q0FDQyxZQUNBLG1CQUlBLGdMQUVDLFlBQ0EsaUJBR0Ysc0NBQ0Msa0NBQ0Esa0RBQ0MsMEJBRUQsa0RBQ0MsMEJBRUQsZ0RBQ0MsMEJBR0Ysc0NBQ0Msa0JBQ0EsTUFDQSxZQUNBLE9BQ0EsVUFDQSxXQUNBLGlDQUNBLG1CQUNBLHVEQUNBLDRCQUNBLHlCQUNBLGlDQUNBLCtCQUNBLGlDQUNBLGtCQUNBLGFBQ0EsdUJBQ0EsbUJBQ0EsMEJBQ0EsVUFDQSxnREFDQywwQkFDQSxVQUNBLDZCQUdGLGtEQUNDLFVBQ0EsNERBQ0MsVUFDQSx3QkFJRixzQ0FDQyxrQkFDQSxNQUNBLE9BQ0EsV0FDQSxZQUNBLFVBQ0EsVUFDQSw4QkFFRCxrREFDQyxVQUlGLDJDQUNDLFlBQ0MseUJBR0YsMkNBQ0MsV0FDQyx5QkFHRiwwQ0FDQyxVQUNDLHlCQU1GLFFBR0MsZUFJQSxnQkFDQSxhQUNBLHFCQUNBLG1CQU5BLDJDQUpELFFBS0UsNkJBTUQsMkNBRUMsK0JBRUQsdUJBQ0MsNEJBQ0EseUJBQ0EsK0JBQ0EsZUFDQSxpQkFJRixXQUNDLGdCQUVELFlBQ0MsaUJBRUQsYUFDQyxrQkFJQSwyQ0FERCxVQUVFLGdCQUNBLE9BSUYsMENBWUMsbUJBQ0EsK0JBQ0EsK0JBQ0Esc0NBQ0EsbUJBQ0Esc0dBQ0MsMkJBRUQsa0tBQ0MsZUFDQSxlQUNBLCtCQUVELGtIQUNDLGdCQUlGLHFCQU1DLHlCQUdELE9BRUMsYUFDQSxnQ0FDQSw0QkFHRCxPQUVDLGdDQUNBLDRCQUdELE9BRUMsNEJBR0QsY0FJQyw0QkFDQSxtQkFDQSx5QkFHRCxPQUVDLDRCQUNBLHNCQUdELGtCQUVDLDZCQUdELEVBQ0MsbUJBQ0EscUJBQ0EsV0FDQyw2Q0FFRCxRQUNDLHNCQU1GLEtBQ0MsZUFHRCxLQUNDLDJCQUNBLDZCQUNBLGlDQUNBLG9DQUNBLG1CQUVBLHFDQVBELEtBUUUsa0JBRUQsWUFDQyxnQkFJRixRQUdDLDZCQUNBLGlDQUNBLG9DQUNBLGVBSUEscUJBSEEsMkNBUEQsUUFRRSw2QkFPRCwwQkFDQyxzQkFJRixXQUNDLGdCQUVELFlBQ0MsaUJBRUQsYUFDQyxrQkFHRCwwQ0FZQyx5QkFDQSx3QkFDQSwrQkFDQSxpQ0FDQSxzQ0FDQSxvQkFDQSxtQkFDQSw4SEFDQyxrQkFHRiw0QkFRQyxtQkFFRCxxQkFNQyx5QkFHRCxPQUVDLGFBQ0EsNEJBR0QsT0FFQyw0QkFHRCxPQUVDLDRCQUdELE9BRUMsNEJBR0QsT0FFQyw0QkFFRCxPQUVDLDRCQUdELGtCQUVDLDZCQUdELEVBQ0MsbUJBQ0EscUJBQ0EsV0FDQyw2Q0FFRCxRQUNDLHNCQUlGLElBQ0MsMEJBS0QsVUFFQyxxQkFHRCxlQUNDLGVBQ0EsTUFDQSxPQUNBLFdBQ0EsZ0JBT0EsWUFDQSwyQkErQkEseUJBQ0EsY0FDQSwrQkF4Q0EsMkNBTkQsZUFPRSxrQkFFRCwyQ0FURCxlQVVFLG1CQUtELHdCQUNDLHNCQUNBLHlEQUVELGdDQUNDLHlCQUVELGtDQUNDLDRCQUdBLDJDQURELDZCQUVFLGtCQUlGLHFCQUNDLGNBQ0EsY0FDQSx1RUFHQyxlQUNBLFlBQ0EsMkNBTEQsdUVBTUUsZ0JBT0gseUJBQ0Msb0JBQ0EsY0FFRCxxQkFDQyxhQUVELHNCQUNDLDBCQUNBLHlFQUVDLG1CQUtELGtEQUNDLFVBQ0Esb0NBQ0EsZ0NBQ0EsK0JBQ0EsNEJBR0Qsa0RBQ0MsVUFDQSxtQ0FDQSwrQkFDQSw4QkFDQSwyQkFFRCxnQ0FDQyxXQUNBLFdBQ0EsOEJBQ0EsY0FDQSxnQkFDQSx1Q0FDQSxrQ0FDQSwrQkFHRCxnQ0FDQyxlQUdGLHFDQUNDLDJCQUNDLFVBQ0Esc0RBQ0Msa0JBQ0EsVUFDQSw0REFDQyxZQUNBLFlBQ0EsYUFDQSxZQUNBLFNBQ0EsOEJBQ0EsVUFDQSxrQkFHQSwwRUFDQyxjQVNOLFdBQ0MsYUFDQSxxQ0FGRCxXQUdFLFlBQ0Esd0JBS0EsY0FDQSxlQUNBLFNBQ0EsYUFDQSxPQUNBLFlBQ0Esd0JBQ0EsMEJBQ0EsNEJBQ0Esb0JBQ0EsYUFDQSxzQkFDQSx1QkFDQSx1QkFqQkEsd0JBRUMsbUJBZ0JELGtCQUNDLG9CQUNBLHdCQUVELGNBQ0MsZ0JBQ0EsaUJBQ0EsU0FDQSxhQUNBLHNCQUNBLFVBQ0EsZUFDQSxpQkFDQywrQkFDQSxpQ0FDQSxzQ0FDQSx5QkFDQSw0QkFDQSxjQUNBLG9DQUVDLG1CQUdGLHdCQUNDLHdCQUNBLDJCQUNDLGdDQUlILG1HQUNDLG1CQUNBLDZCQUVELG9CQUNDLGtCQUNBLFNBQ0EsT0FDQSxhQUNBLHVCQUNDLFdBQ0EsbUJBQ0EsbUJBQ0EsMEJBQ0Msc0JBQ0EsNEJBQ0MsVUFDQSxhQUNBLG1CQUNBLG1CQUVELDhCQUNDLG1CQUNBLFlBUU4sWUFDQyxhQUNBLHNCQUNBLFVBT0EsaUJBQ0EscUJBQ0EsMkJBSUEsa0JBQ0Esc0JBWkEsMkNBTEQsWUFNRSxVQUNBLG9CQU1ELGtCQUNDLHlCQUlELHVDQUNDLHNCQUNBLGFBQ0EsbUJBU0EsZ0JBQ0EsZ0JBQ0EscUJBQ0Esa0JBV0Esa0JBcEJDLDBEQUNDLGFBU0Ysb0hBRUMscUNBQ0EsMERBRUQsMERBQ0Msb0JBQ0EsWUFJRCx5Q0FDQyxrQkFDQSxVQUdELGlEQUNDLFVBQ0Esa0JBQ0EsTUFDQSxZQUNBLGdDQUNBLHFCQUNBLGdDQUNBLHlCQUNBLGFBQ0Esc0JBQ0EsaUJBQ0EscUJBQ0EsVUFDQSxvREFDQSxvQkFDQSwrSEFFQyxXQUNBLGtCQUdBLG1GQUNDLGFBR0Ysc0VBQ0MsZUFFQyxrR0FDQyxzQkFNSCx1REFDQyxvQkFDQSxVQUNBLDBCQUtELDZFQUNDLGtCQUNBLGdCQUNBLFdBQ0EsY0FDQSx3RkFDQyxvQkFDQSxrQkFDQSxVQUNBLHVEQUNBLHNCQUNBLHlCQUNBLGlDQUNBLCtCQUNBLGlDQUVBLG1CQUNBLGlCQUNBLDhGQUNDLG1CQUVELGlHQUNDLFdBQ0Esa0JBQ0EsTUFDQSxVQUNBLGNBQ0EsNkJBTUgsK0VBQ0MsZ0NBQ0Esd0ZBQ0MsNkJBT0wsT0FDQyxxQkFDQSwyQ0FGRCxPQUdFLGtCQUVELDJDQUxELE9BTUUsbUJBRUQsU0FDQyx5QkFDQSxTQUNBLHNCQUNBLHFCQUNDLFlBRUQsZUFDQyxpQkFDQSw2QkFFRCxXQUNDLHFCQUtILGlCQUNDLFFBRUMsVUFFRCxJQUNDLFdBSUYseUJBQ0MsaUNBR0QsUUFDQyxZQUNBLGNBQ0EsZUFDQSxlQUNBLE1BQ0EsT0FDQSxZQUNBLGFBQ0EsOEJBQ0EsZ0JBRUEsdUJBQ0Msa0JBQ0Esa0NBQ0MsbUJBR0YscUJBQ0MsNEJBRUQsaUJBQ0Msa0JBQ0EsV0FDQSxTQUNBLHNCQUVELGNBRUMsK0JBQ0Esa0JBQ0EsUUFDQSxTQUNBLFVBQ0EsaUJBQ0EsWUFDQSxnQ0FDQSxXQUNBLGtCQUNDLFlBQ0EsV0FDQSxpQkFDQSxrQkFJRCxtRkFHQyxrQkFDQSxNQUNBLE9BQ0EsV0FDQSxZQUNBLGlCQUdBLHdKQUdDLFVBQ0EsZ0JBRUEsb0NBQ0EsNktBQ0MsK0JBRUEsVUFRSiw4Q0FDQyxrQkFFQSxnQ0FDQSxtQ0FJQSxnREFIQSwyQ0FMRCw4Q0FNRSxpQkFHRCxrRkFDQyxrQkFDQSxxQkFFRCxvUUFLQyw0QkFFRCxvREFDQyxtQkFFRCxvREFDQyxvQkFHRixzQ0FFQyxrQkFDQSxXQUNBLFdBQ0EsbUJBQ0Esb0pBR0Msa0JBQ0EsTUFDQSxPQUNBLFdBQ0EsWUFDQSxpQkFDQSxVQUNBLHdPQUNDLFVBS0YsMENBQ0MsU0FFRCwwQ0FDQyxxQkFDQSxtQkFLSCxxQkFDQyxrQkFDQSxxQkFDQSxnQ0FDQSxtQ0FDQSxrQ0FDQyxXQUNBLGFBQ0Esc0JBUUEsVUFDQSxpQkFDQSxnQkFUQSwyQ0FKRCxrQ0FLRSxtQkFFQSxlQUNBLHlCQUNBLDRCQUtELGdEQUNDLFVBQ0EsbUJBRUQsMkNBbEJELGtDQW1CRSxhQUNBLG1CQUNBLGdEQUNDLFlBQ0Esb0JBR0YsOEVBRUMsVUFDQSxrQkFDQSxlQUNBLFdBQ0EsWUFDQSxpQkFFRCw0RkFHQywrQkFDQSw0TUFFQyxrQkFHRiw2Q0FDQyxlQUNBLGtCQUNBLGNBQ0EsY0FDQSx3S0FNQyxjQUNBLFVBQ0Esa0JBQ0EsTUFDQSxPQUNBLFdBQ0EsWUFDQSwyQkFJQSxzREFDQSxhQUNBLHVCQUNBLG1CQUNBLGtCQWxCQSwyQ0FIRCx3S0FJRSxXQVVELDJDQWRELHdLQWVFLDJCQU9ELCtNQUNDLG1CQW1CQSwrQkFLQSw0REF2QkEsZzJCQUlDLG1CQUNBLFNBRUQsd05BQ0MsaUJBQ0EsNEJBRUQsd05BQ0Msd0JBRUQsd05BQ0MsbUJBQ0EsWUFHRCwyQ0FyQkQsK01Bc0JFLDBCQUNBLFdBS0gsaURBQ0Msa0JBQ0EsTUFDQSxPQUNBLFdBQ0EsWUFDQSwwQkFDQSxzREFDQSxVQUNBLFVBT0gsZ0JBQ0MsYUFDQSxnQkFDQSxTQUNBLFVBQ0EsU0FDQSxvQkFDQyxrQkFFRCxrQkFDQyxjQUNBLHVCQUNBLHdCQUNDLCtCQU1KLFlBQ0Msa0JBQ0EscUJBQ0EsZ0NBQ0EiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlIFwic2FzczptYXRoXCI7XG5cbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIENTUyBWQVJTXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8qIFdlYmZvbnQ6IGpvaG5ueW1hbGxpbi1UZXh0U2VtaUJvbGQgKi9cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogXCJqb2hubnltYWxsaW5cIjtcblx0c3JjOiB1cmwoXCIuLi9mb250cy9qb2hubnltYWxsaW4tVGV4dFNlbWlCb2xkLmVvdFwiKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuXHRzcmM6XG5cdFx0dXJsKFwiLi4vZm9udHMvam9obm55bWFsbGluLVRleHRTZW1pQm9sZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuXHRcdC8qIElFNi1JRTggKi8gdXJsKFwiLi4vZm9udHMvam9obm55bWFsbGluLVRleHRTZW1pQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcblx0XHQvKiBNb2Rlcm4gQnJvd3NlcnMgKi8gdXJsKFwiLi4vZm9udHMvam9obm55bWFsbGluLVRleHRTZW1pQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG5cdFx0LyogTW9kZXJuIEJyb3dzZXJzICovIHVybChcIi4uL2ZvbnRzL2pvaG5ueW1hbGxpbi1UZXh0U2VtaUJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxuXHRcdC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovIHVybChcIi4uL2ZvbnRzL2pvaG5ueW1hbGxpbi1UZXh0U2VtaUJvbGQuc3ZnI2pvaG5ueW1hbGxpbi1UZXh0U2VtaUJvbGRcIikgZm9ybWF0KFwic3ZnXCIpOyAvKiBMZWdhY3kgaU9TICovXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0dGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cblxuLyogV2ViZm9udDogam9obm55bWFsbGluLVRleHRTZW1CZEl0YSAqL1xuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBcImpvaG5ueW1hbGxpblwiO1xuXHRzcmM6IHVybChcIi4uL2ZvbnRzL2pvaG5ueW1hbGxpbi1UZXh0U2VtQmRJdGEuZW90XCIpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG5cdHNyYzpcblx0XHR1cmwoXCIuLi9mb250cy9qb2hubnltYWxsaW4tVGV4dFNlbUJkSXRhLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG5cdFx0LyogSUU2LUlFOCAqLyB1cmwoXCIuLi9mb250cy9qb2hubnltYWxsaW4tVGV4dFNlbUJkSXRhLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuXHRcdC8qIE1vZGVybiBCcm93c2VycyAqLyB1cmwoXCIuLi9mb250cy9qb2hubnltYWxsaW4tVGV4dFNlbUJkSXRhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcblx0XHQvKiBNb2Rlcm4gQnJvd3NlcnMgKi8gdXJsKFwiLi4vZm9udHMvam9obm55bWFsbGluLVRleHRTZW1CZEl0YS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG5cdFx0LyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi8gdXJsKFwiLi4vZm9udHMvam9obm55bWFsbGluLVRleHRTZW1CZEl0YS5zdmcjam9obm55bWFsbGluLVRleHRTZW1CZEl0YVwiKSBmb3JtYXQoXCJzdmdcIik7IC8qIExlZ2FjeSBpT1MgKi9cblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG4vKiBXZWJmb250OiBqb2hubnltYWxsaW4tQm9sZCAqL1xuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBcImpvaG5ueW1hbGxpblwiO1xuXHRzcmM6IHVybChcIi4uL2ZvbnRzL2pvaG5ueW1hbGxpbi1Cb2xkLmVvdFwiKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuXHRzcmM6XG5cdFx0dXJsKFwiLi4vZm9udHMvam9obm55bWFsbGluLUJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcblx0XHQvKiBJRTYtSUU4ICovIHVybChcIi4uL2ZvbnRzL2pvaG5ueW1hbGxpbi1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuXHRcdC8qIE1vZGVybiBCcm93c2VycyAqLyB1cmwoXCIuLi9mb250cy9qb2hubnltYWxsaW4tQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG5cdFx0LyogTW9kZXJuIEJyb3dzZXJzICovIHVybChcIi4uL2ZvbnRzL2pvaG5ueW1hbGxpbi1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcblx0XHQvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqLyB1cmwoXCIuLi9mb250cy9qb2hubnltYWxsaW4tQm9sZC5zdmcjam9obm55bWFsbGluLUJvbGRcIikgZm9ybWF0KFwic3ZnXCIpOyAvKiBMZWdhY3kgaU9TICovXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbi5hY2YtYmxvY2stcHJldmlldyxcbiN0aW55bWNlLFxuOnJvb3Qge1xuXHQvLyBGT05UU1xuXHQtLWhlYWRlci1mb250OiBcImpvaG5ueW1hbGxpblwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdC0tYm9keS1mb250OiBcImpvaG5ueW1hbGxpblwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdC0tYm9keS1saW5lLWhlaWdodDogMS40O1xuXHQtLWhlYWRlci1saW5lLWhlaWdodDogMTtcblx0LS13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG5cdC0td2VpZ2h0LWJvbGQ6IGJvbGQ7XG5cdC0taGVhZGVyLWhlaWdodDogMTUwcHg7XG5cdC8vIFRZUEUgU0NBTEUgKE1BSk9SIFRISVJEKVxuXHQtLXNpemU6IDE2cHg7XG5cdC0tc2l6ZS1taW51czE6IDAuNzA3cmVtO1xuXHQtLXNpemUtbWludXMyOiAwLjg3NXJlbTtcblx0LS1zaXplLXBsdXMxOiAjeyRiYXNlICogbWF0aC5wb3coJG1zY2FsZSwgMSl9O1xuXHQtLXNpemUtcGx1czI6ICN7JGJhc2UgKiBtYXRoLnBvdygkbXNjYWxlLCAyKX07XG5cdC0tc2l6ZS1wbHVzMzogI3skYmFzZSAqIG1hdGgucG93KCRtc2NhbGUsIDMpfTtcblx0LS1zaXplLXBsdXM0OiAjeyRiYXNlICogbWF0aC5wb3coJG1zY2FsZSwgNCl9O1xuXHQtLXNpemUtcGx1czU6ICN7JGJhc2UgKiBtYXRoLnBvdygkbXNjYWxlLCA1KX07XG5cdC0tc2l6ZS1wbHVzNjogI3skYmFzZSAqIG1hdGgucG93KCRtc2NhbGUsIDYpfTtcblx0LS1zaXplLXBsdXM3OiAjeyRiYXNlICogbWF0aC5wb3coJG1zY2FsZSwgNyl9O1xuXHQtLXNpemUtcGx1czg6ICN7JGJhc2UgKiBtYXRoLnBvdygkbXNjYWxlLCA4KX07XG5cdC0tc2l6ZS1wbHVzOTogI3skYmFzZSAqIG1hdGgucG93KCRtc2NhbGUsIDkpfTtcblx0LS1zaXplLXBsdXMxMDogI3skYmFzZSAqIG1hdGgucG93KCRtc2NhbGUsIDEwKX07XG5cdC0tc2l6ZS1wbHVzLWh1Z2U6ICN7JGJhc2UgKiBtYXRoLnBvdygkbXNjYWxlLCAxNSl9O1xuXHQtLXNpemUtcGx1cy14aHVnZTogI3skYmFzZSAqIG1hdGgucG93KCRtc2NhbGUsIDIwKX07XG5cdEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcblx0XHQtLXNpemU6ICN7JGJhc2V2dyAqIDAuODI1fTtcblx0XHQtLXNpemUtcGx1czA6ICN7JGJhc2V2dyAqIG1hdGgucG93KCRzY2FsZSwgMCl9O1xuXHRcdC0tc2l6ZS1wbHVzMTogI3skYmFzZXZ3ICogbWF0aC5wb3coJHNjYWxlLCAxKX07XG5cdFx0LS1zaXplLXBsdXMyOiAjeyRiYXNldncgKiBtYXRoLnBvdygkc2NhbGUsIDIpfTtcblx0XHQtLXNpemUtcGx1czM6ICN7JGJhc2V2dyAqIG1hdGgucG93KCRzY2FsZSwgMyl9O1xuXHRcdC0tc2l6ZS1wbHVzNDogI3skYmFzZXZ3ICogbWF0aC5wb3coJHNjYWxlLCAzLjUpfTtcblx0XHQtLXNpemUtcGx1czU6ICN7JGJhc2V2dyAqIG1hdGgucG93KCRzY2FsZSwgNSl9O1xuXHRcdC0tc2l6ZS1wbHVzNjogI3skYmFzZXZ3ICogbWF0aC5wb3coJHNjYWxlLCA1Ljc1KX07XG5cdFx0LS1zaXplLXBsdXM3OiAjeyRiYXNldncgKiBtYXRoLnBvdygkc2NhbGUsIDYuNSl9O1xuXHRcdC0tc2l6ZS1wbHVzODogI3skYmFzZXZ3ICogbWF0aC5wb3coJHNjYWxlLCA4KX07XG5cdFx0LS1zaXplLXBsdXM5OiAjeyRiYXNldncgKiBtYXRoLnBvdygkc2NhbGUsIDkpfTtcblx0XHQtLXNpemUtcGx1czEwOiAjeyRiYXNldncgKiBtYXRoLnBvdygkc2NhbGUsIDEwKX07XG5cdFx0LS1zaXplLXBsdXMtaHVnZTogI3skYmFzZXZ3ICogbWF0aC5wb3coJHNjYWxlLCAxNSl9O1xuXHRcdC0tc2l6ZS1wbHVzLXhodWdlOiAjeyRiYXNldncgKiBtYXRoLnBvdygkc2NhbGUsIDE5KX07XG5cdFx0LS1zaXplLXBsdXMwOiBtaW4oI3skYmFzZXZ3ICogbWF0aC5wb3coJHNjYWxlLCAwKX0sICN7JGJhc2UgKiBtYXRoLnBvdygkc2NhbGUsIDEpfSk7XG5cdFx0LS1zaXplLXBsdXMxOiBtaW4oI3skYmFzZXZ3ICogbWF0aC5wb3coJHNjYWxlLCAxKX0sICN7JGJhc2UgKiBtYXRoLnBvdygkc2NhbGUsIDIpfSk7XG5cdFx0LS1zaXplLXBsdXMyOiBtaW4oI3skYmFzZXZ3ICogbWF0aC5wb3coJHNjYWxlLCAyKX0sICN7JGJhc2UgKiBtYXRoLnBvdygkc2NhbGUsIDMpfSk7XG5cdFx0LS1zaXplLXBsdXMzOiBtaW4oI3skYmFzZXZ3ICogbWF0aC5wb3coJHNjYWxlLCAzKX0sICN7JGJhc2UgKiBtYXRoLnBvdygkc2NhbGUsIDQpfSk7XG5cdFx0LS1zaXplLXBsdXM0OiBtaW4oI3skYmFzZXZ3ICogbWF0aC5wb3coJHNjYWxlLCAzLjUpfSwgI3skYmFzZSAqIG1hdGgucG93KCRzY2FsZSwgNC41KX0pO1xuXHRcdC0tc2l6ZS1wbHVzNTogbWluKCN7JGJhc2V2dyAqIG1hdGgucG93KCRzY2FsZSwgNSl9LCAjeyRiYXNlICogbWF0aC5wb3coJHNjYWxlLCA2KX0pO1xuXHRcdC0tc2l6ZS1wbHVzNjogbWluKCN7JGJhc2V2dyAqIG1hdGgucG93KCRzY2FsZSwgNS43NSl9LCAjeyRiYXNlICogbWF0aC5wb3coJHNjYWxlLCA2Ljc1KX0pO1xuXHRcdC0tc2l6ZS1wbHVzNzogbWluKCN7JGJhc2V2dyAqIG1hdGgucG93KCRzY2FsZSwgNi41KX0sICN7JGJhc2UgKiBtYXRoLnBvdygkc2NhbGUsIDcuNSl9KTtcblx0XHQtLXNpemUtcGx1czg6IG1pbigjeyRiYXNldncgKiBtYXRoLnBvdygkc2NhbGUsIDgpfSwgI3skYmFzZSAqIG1hdGgucG93KCRzY2FsZSwgOSl9KTtcblx0XHQtLXNpemUtcGx1czk6IG1pbigjeyRiYXNldncgKiBtYXRoLnBvdygkc2NhbGUsIDkpfSwgI3skYmFzZSAqIG1hdGgucG93KCRzY2FsZSwgMTApfSk7XG5cdFx0LS1zaXplLXBsdXMxMDogbWluKCN7JGJhc2V2dyAqIG1hdGgucG93KCRzY2FsZSwgMTApfSwgI3skYmFzZSAqIG1hdGgucG93KCRzY2FsZSwgMTEpfSk7XG5cdFx0LS1zaXplLXBsdXMtaHVnZTogbWluKCN7JGJhc2V2dyAqIG1hdGgucG93KCRzY2FsZSwgMTUpfSwgI3skYmFzZSAqIG1hdGgucG93KCRzY2FsZSwgMTYpfSk7XG5cdFx0LS1zaXplLXBsdXMteGh1Z2U6IG1pbigjeyRiYXNldncgKiBtYXRoLnBvdygkc2NhbGUsIDE5KX0sICN7JGJhc2UgKiBtYXRoLnBvdygkc2NhbGUsIDIwKX0pO1xuXHR9XG5cblx0Ly8gLy8gQ09MT1VSIFNDSEVNRVxuXHQtLWJnOiAjZmZmZmZmO1xuXHQtLXdoaXRlOiAjZmZmZmZmO1xuXHQtLWJsYWNrOiAjMDAwMDAwO1xuXHQtLWdyZXk6IHJnYig4NCwgODQsIDg0KTtcbn1cbltkYXRhLXRoZW1lPVwiZG90XCJdLFxuW2RhdGEtdGhlbWU9XCJibGFja1wiXSB7XG5cdC0tYmc6ICMwMDAwMDA7IC8qIEludmVydGVkIGZyb20gd2hpdGUgKi9cblx0LS13aGl0ZTogIzAwMDAwMDsgLyogV2hpdGUgdG8gYmxhY2sgKi9cblx0LS1ibGFjazogI2ZmZmZmZjsgLyogQmxhY2sgdG8gd2hpdGUgKi9cblx0LS1kb3Q6IHRyYW5zcGFyZW50O1xufVxuXG5bZGF0YS10aGVtZT1cImRvdFwiXSB7XG5cdC0tZG90OiAjODYwYzAzO1xufVxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGUgb3V0bGluZSB3aGVuIGludGVudCBpcyBjbGVhcmx5IG1vdXNlIGFuZCB0b3VjaFxuICBbZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0sXG4gIFtkYXRhLXdoYXRpbnRlbnQ9XCJ0b3VjaFwiXSxcbiAgW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0sXG4gIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIHtcbiAgICAqLCAqOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZSBpT1MgY2FsbG91dHMgd2hlbiBkcmFnZ2FibGUgaXMgZmFsc2VcbiAgW2RyYWdnYWJsZT1mYWxzZV0ge1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgXCJ1dGlsL3V0aWxcIjtcblxuJHh5LWdyaWQ6IHRydWU7XG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxOTAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgXCJwcmltYXJ5XCI6ICMxNzc5YmEsXG4gIFwic2Vjb25kYXJ5XCI6ICM3Njc2NzYsXG4gIFwic3VjY2Vzc1wiOiAjM2FkYjc2LFxuICBcIndhcm5pbmdcIjogI2ZmYWUwMCxcbiAgXCJhbGVydFwiOiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBzYWZlIHBhZGRpbmcgb24gdGhlIGJvZHkgZm9yIG5vbi1yZWN0YW5ndWxhciBkZXZpY2VzIChpLmUuIHBob25lcyB3aXRoIG5vdGNoZXMpXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktc2FmZS1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6IFwiI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9XCI7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpZiAoJGJvZHktc2FmZS1wYWRkaW5nKSB7XG4gICAgICAvLyB1c2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYWNjb3VudCBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRpc3BsYXlzIGUuZy4gcGhvbmVzIHdpdGggbm90Y2hlc1xuICAgICAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbiAgICAgIHBhZGRpbmctbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiR1bml0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuIGRpdmlkZSgkbnVtLCAkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogZGl2aWRlKCRiYXNlLCAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEBpZiAkdW5pdC13YXJuaW5ncyB7XG4gICAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgfVxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogZGl2aWRlKHN0cmlwLXVuaXQoJHZhbHVlKSwgc3RyaXAtdW5pdCgkYmFzZSkpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiBkaXZpZGUoJGJhc2UsIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBkaXZpZGUoc3RyaXAtdW5pdCgkdmFsdWUpLCBzdHJpcC11bml0KCRiYXNlKSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuIGRpdmlkZSgkdmFsdWUsIHN0cmlwLXVuaXQoJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kLXpmLWJwLXZhbHVlOiBudWxsO1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogZGl2aWRlKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSwgJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiAjeyRyZ2J9XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoMSwgJGkpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZSBvciAoJG1lZGlhLXF1ZXJpZXMgPT0gJ2Zvci1saXN0cycgYW5kICQtYnJlYWtwb2ludHMtaXMtYS1saXN0KSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJGJwLXZhbHVlOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgICBAaWYgJGJwLXZhbHVlICE9IG51bGwge1xuICAgICAgICAkbmFtZTogJGJwLXZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIjtcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIGFsbCBwcmlvciBicmVha3BvaW50cy5cbiAgICAgIC8vIEFzIHRoZWlyIGd1dHRlciBpcyBkZWZpbmVkIHdpdGggdGhlaXIgd2lkdGgvaGVpZ2h0LCBldmVuIGJyZWFrcG9pbnQgd2l0aG91dCBhIG5ldyBtYXJnaW4gbXVzdCBiZVxuICAgICAgLy8gZ2VuZXJhdGVkIHRvIG5vdCBoYXZpbmcgdGhlaXIgd2lkdGgvaGVpZ2h0IG92ZXJyaWRlZCBieSByZS1hZGp1c3RlZCBzbWFsbGVyIGJyZWFrcG9pbnRzLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgLy8gICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIjtcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogMC41O1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAqIDAuNTtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1zaXplOiBudWxsO1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIFwic21hbGxcIjogMCxcbiAgXCJtZWRpdW1cIjogNjQwcHgsXG4gIFwibGFyZ2VcIjogMTAyNHB4LFxuICBcInhsYXJnZVwiOiAxMjAwcHgsXG4gIFwieHhsYXJnZVwiOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBcImhpZHBpLTFcIjogMSxcbiAgXCJoaWRwaS0xLTVcIjogMS41LFxuICBcImhpZHBpLTJcIjogMixcbiAgXCJyZXRpbmFcIjogMixcbiAgXCJoaWRwaS0zXCI6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gZGl2aWRlKDEsICRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0LW51bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dC1udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0LW51bWJlcikge1xuICAgICAgJG5leHQtbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0LW51bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZC1rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmQta2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZC1rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDA7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIEByZXR1cm4gMSAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnIG9yICRzaXplID09ICdmdWxsJyBvciB6Zi1pcy1mcmFjdGlvbigkc2l6ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiB0cnVlKSkge1xuICAgIEByZXR1cm4gMCAwIGF1dG87XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLy8gQ2FsY3VsYXRlIHRoZSBzaXplIG9mIGEgY2VsbCBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAgYCRndXR0ZXJzYC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxNYXB9IFRoZSBjZWxsIGd1dHRlciBzaXplIG9yIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwLlxuQGZ1bmN0aW9uIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gIC8vIEZvciBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgbWFwIGAkZ3V0dGVyc2AuXG4gIEBpZiAoJGJyZWFrcG9pbnQgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAkZ3V0dGVycztcbiAgfVxuXG4gIC8vIFVzZSB0aGUgY29udGV4dHVhbCBicmVha3BvaW50IGJ5IGRlZmF1bHQuXG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50KTtcblxuICBAaWYgKCRicmVha3BvaW50KSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXplcm8tYnJlYWtwb2ludCkgb3IgMDtcbiAgfVxufVxuXG4vLy8gUmV0dXJucyB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8zYC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFNpemUgb2YgdGhlIGNlbGwgKGluIHBlcmNlbnQpLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJHNpemUsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1ucyk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgZm9yIGEgY2VsbCBzaXplLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGFueSBmcmFjdGlvbiBsaWtlIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIGEgbWFwIG9mIHNpemVzIGFkYXB0ZWQgdG8gcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ3xNYXB9IFRoZSBjZWxsIHNpemluZyBwcm9wZXJ0eSB2YWx1ZSwgb3IgYSByZXNwb25zaXZlIG1hcCBvZiB0aGVtLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZS1jc3MoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRtYXJnaW4tZ3V0dGVyOiAwO1xuXG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nIG9yICRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgQHJldHVybiBhdXRvO1xuICB9XG5cbiAgLy8gRm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMsIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRtYXJnaW4tZ3V0dGVyOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgICBAaWYgKCRtYXJnaW4tZ3V0dGVyID09IG51bGwpIHtcbiAgICAgIEBlcnJvciAneHktY2VsbC1zaXplOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIHNpemUgKG51bWJlcilcbiAgJHNpemUtcmF3OiBpZigkc2l6ZSA9PSAnZnVsbCcsIDEwMCUsIHh5LWNlbGwtc2l6ZSgkc2l6ZSkpO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBDU1Mgc2l6ZSBpbmNsdWRpbmcgZ3V0dGVycyAoc3RyaW5nKVxuICAvLyBJZiB0aGUgY2VsbCBoYXMgcmVzcG9uc2l2ZSBtYXJnaW4gZ3V0dGVycywgcmV0dXJuIGEgcmVzcG9uc2l2ZSBtYXAgb2Ygc2l6ZXMuXG4gIEBpZiB0eXBlLW9mKCRtYXJnaW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiAoKTtcblxuICAgIEBlYWNoICRicCwgJG1nIGluICRtYXJnaW4tZ3V0dGVyIHtcbiAgICAgICRtZ2M6IHJlbS1jYWxjKCRtZyk7XG4gICAgICBAaWYgJG1nYyA9PSAwIHtcbiAgICAgICAgJG1nYzogMHJlbTtcbiAgICAgIH1cbiAgICAgICRzaXplLWNzczogaWYoJG1nID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAjeyRtZ30pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgJG1nYzogcmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpO1xuICAgIEBpZiAkbWdjID09IDAge1xuICAgICAgJG1nYzogMHJlbTtcbiAgICB9XG4gICAgJGNzcy1zaXplOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3skbWdjfSkpO1xuICAgIEByZXR1cm4gJGNzcy1zaXplO1xuICB9XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICAkYmFzZTogeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBmbGV4OiAjeyRiYXNlfTtcblxuICAvLyBTZXQgYmFzZSBzdHlsZXMgZm9yIFwiZnVsbFwiIG9ubHlcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vLyBTZXRzIHNpemluZyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHNpemVzIGFkYXB0ZWQgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplczogeHktY2VsbC1zaXplLWNzcygkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG5cbiAgQGlmICh0eXBlLW9mKCRzaXplcykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkc2l6ZXMpIHtcbiAgICAgICN7JGRpcmVjdGlvbn06ICQtemYtYnAtdmFsdWU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAjeyRkaXJlY3Rpb259OiAkc2l6ZXM7XG4gIH1cbn1cblxuLy8vIFNldHMgZ3V0dGVycyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIERpcmVjdGlvbiBvZiB0aGUgZ3V0dGVycyB0byBvdXRwdXQuIFNlZSBgJGd1dHRlci1wb3NpdGlvbmAuXG5AbWl4aW4geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIC8vIEdldCB0aGUgZGVmYXVsdCBndXR0ZXIgcG9zaXRpb24gYWNjb3JkaW5nIHRvIGNlbGwgZGlyZWN0aW9uXG4gIEBpZigkZ3V0dGVyLXBvc2l0aW9uID09IG51bGwpIHtcbiAgICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciB3aWR0aCBmb3IgdGhpcyBicmVha3BvaW50XG4gICRndXR0ZXItd2lkdGg6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICBAaWYgKCRndXR0ZXItd2lkdGggPT0gbnVsbCkge1xuICAgIEBlcnJvciAneHktY2VsbC1ndXR0ZXJzOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gIH1cblxuICBAaWYgKCRndXR0ZXItdHlwZSBhbmQgJGd1dHRlci10eXBlICE9IG5vbmUpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItd2lkdGgsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAvLyBEZWZhdWx0IGZvciAkZ3V0dGVyLW91dHB1dFxuICBAaWYgKCRndXR0ZXItb3V0cHV0ICE9IG51bGwpIHtcbiAgICBAd2FybiAneHktY2VsbDogJGd1dHRlci1vdXRwdXQgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuICAgIEBpZiAoJGd1dHRlci1vdXRwdXQgPT0gZmFsc2UpIHtcbiAgICAgICRvdXRwdXQ6IHNsLXJlbW92ZSgkb3V0cHV0LCBndXR0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGJhc2UpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIHNpemUpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGd1dHRlcnMpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gYHh5LWNlbGwtc3RhdGljKClgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC5cbi8vLyBVc2UgYHh5LWNlbGwoKWAgaW5zdGVhZCB3aXRoIGAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKWAgdG8gbm90IGdlbmVyYXRlIHRoZSBjZWxsIGJhc2UuXG4vLy8gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCB2Ni42LjBcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLiBBbHdheXMgYHRydWVgIGZvciBtYXJnaW4gZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEB3YXJuICd4eS1jZWxsLXN0YXRpYygpIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIFwieHktY2VsbCgpXCIgaW5zdGVhZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgJC1ndXR0ZXItb3V0cHV0OiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIHRydWUsICRndXR0ZXItb3V0cHV0KTtcbiAgJC1ndXR0ZXItbWFyZ2luOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsICRndXR0ZXIsIDApO1xuXG4gIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICQtZ3V0dGVyLW1hcmdpbiwgJHZlcnRpY2FsKTtcbiAgQGlmICgkLWd1dHRlci1vdXRwdXQpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBjb3JyZWN0bHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZShkaXZpZGUoMSwgJG4pKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCwgJG91dHB1dCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtaW4tYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gTWluaW11bSBicmVha3BvaW50IGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBmb3Igd2hpY2ggdG8gY29sbGFwc2UgdGhlIGd1dHRlci5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSB0byBvZmZzZXQgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd9IFRoZSBjZWxsIG9mZnNldCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRzaXplOiB4eS1jZWxsLXNpemUoJG4pO1xuXG4gICRvZmZzZXQ6ICRzaXplO1xuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSk7XG4gICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgIH1cbiAgICAkb2Zmc2V0OiBpZigkZ3V0dGVyID09IDAsICRzaXplLCBjYWxjKCN7JHNpemV9ICsgI3skZ3V0dGVyfSAvIDIpKTtcbiAgfVxuICBAcmV0dXJuICRvZmZzZXQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJGJyZWFrcG9pbnQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy4gSWYgYSBsaXN0IGlzIGdpdmVuLCBtZWRpYS1xdWVyaWVzIHdpbGwgYmUgZ2VuZXJhdGVkLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oJGJyZWFrcG9pbnQsICRtZWRpYS1xdWVyaWVzOiAnZm9yLWxpc3RzJykge1xuICAgICRvZmZzZXQ6IHh5LWNlbGwtb2Zmc2V0KCRuLCAkZ3V0dGVycywgJGd1dHRlci10eXBlKTtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skb2Zmc2V0fTtcbiAgfVxufVxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICAgICBAaWYgJGd1dHRlciA9PSAwIHtcbiAgICAgICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgICAgICB9XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAgICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAgICAgJGd1dHRlcjogMHJlbTtcbiAgICAgICAgfVxuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWp1c3RpZnkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICYubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbikge1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAwLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gMC4wMDEyNTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgLnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBEYXJrIE1vZGUgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5oaWRlLWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSUUxMCsgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItaWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAuc2hvdy1mb3ItaWUge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhpZGUtZm9yLWllIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBTdGlja3kgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5pcy1zdHVjayAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuaXMtc3R1Y2sgLmhpZGUtZm9yLXN0aWNreSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLyohIFBob3RvU3dpcGUgbWFpbiBDU1MgYnkgRG15dHJvIFNlbWVub3YgfCBwaG90b3N3aXBlLmNvbSAqL1xuXG4ucHN3cCB7XG4gIC0tcHN3cC1iZzogI2ZmZjtcbiAgLS1wc3dwLXBsYWNlaG9sZGVyLWJnOiB0cmFuc3BhcmVudDtcblxuICAtLXBzd3Atcm9vdC16LWluZGV4OiAxMDAwMDA7XG5cbiAgLS1wc3dwLXByZWxvYWRlci1jb2xvcjogcmdiYSg3OSwgNzksIDc5LCAwLjQpO1xuICAtLXBzd3AtcHJlbG9hZGVyLWNvbG9yLXNlY29uZGFyeTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuXG4gIC8qIGRlZmluZWQgdmlhIGpzOlxuICAtLXBzd3AtdHJhbnNpdGlvbi1kdXJhdGlvbjogMzMzbXM7ICovXG5cbiAgLS1wc3dwLWljb24tY29sb3I6ICNmZmY7XG4gIC0tcHN3cC1pY29uLWNvbG9yLXNlY29uZGFyeTogI2ZmZjtcbiAgLS1wc3dwLWljb24tc3Ryb2tlLWNvbG9yOiAjZmZmO1xuICAtLXBzd3AtaWNvbi1zdHJva2Utd2lkdGg6IDBweDtcblxuICAtLXBzd3AtZXJyb3ItdGV4dC1jb2xvcjogdmFyKC0tcHN3cC1pY29uLWNvbG9yKTtcbn1cblxuLypcblx0U3R5bGVzIGZvciBiYXNpYyBQaG90b1N3aXBlIChwc3dwKSBmdW5jdGlvbmFsaXR5IChzbGlkaW5nIGFyZWEsIG9wZW4vY2xvc2UgdHJhbnNpdGlvbnMpXG4qL1xuXG4ucHN3cCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiB2YXIoLS1wc3dwLXJvb3Qtei1pbmRleCk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgb3V0bGluZTogMDtcbiAgb3BhY2l0eTogMC4wMDM7XG4gIGNvbnRhaW46IGxheW91dCBzdHlsZSBzaXplO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi8qIFByZXZlbnRzIGZvY3VzIG91dGxpbmUgb24gdGhlIHJvb3QgZWxlbWVudCxcbiAgKGl0IG1heSBiZSBmb2N1c2VkIGluaXRpYWxseSkgKi9cbi5wc3dwOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnBzd3AgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5wc3dwIGltZyB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5wc3dwLS1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wc3dwLFxuLnBzd3BfX2JnIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbn1cblxuLnBzd3BfX2JnIHtcbiAgb3BhY2l0eTogMC4wMDU7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBzd3AtYmcpO1xufVxuXG4ucHN3cCxcbi5wc3dwX19zY3JvbGwtd3JhcCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wc3dwX19zY3JvbGwtd3JhcCxcbi5wc3dwX19iZyxcbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9faXRlbSxcbi5wc3dwX19jb250ZW50LFxuLnBzd3BfX2ltZyxcbi5wc3dwX196b29tLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnBzd3BfX2ltZyxcbi5wc3dwX196b29tLXdyYXAge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyAucHN3cC0tY2xpY2stdG8tem9vbS5wc3dwLS16b29tLWFsbG93ZWQgLnBzd3BfX2ltZyB7XG4vLyAgIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuLy8gICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbi8vICAgY3Vyc29yOiB6b29tLWluO1xuLy8gfVxuXG4vLyAucHN3cC0tY2xpY2stdG8tem9vbS5wc3dwLS16b29tZWQtaW4gLnBzd3BfX2ltZyB7XG4vLyAgIGN1cnNvcjogbW92ZTtcbi8vICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4vLyAgIGN1cnNvcjogLW1vei1ncmFiO1xuLy8gICBjdXJzb3I6IGdyYWI7XG4vLyB9XG5cbi8vIC5wc3dwLS1jbGljay10by16b29tLnBzd3AtLXpvb21lZC1pbiAucHN3cF9faW1nOmFjdGl2ZSB7XG4vLyAgIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbi8vICAgY3Vyc29yOiAtbW96LWdyYWJiaW5nO1xuLy8gICBjdXJzb3I6IGdyYWJiaW5nO1xuLy8gfVxuXG4vKiA6YWN0aXZlIHRvIG92ZXJyaWRlIGdyYWJiaW5nIGN1cnNvciAqL1xuLy8gLnBzd3AtLW5vLW1vdXNlLWRyYWcucHN3cC0tem9vbWVkLWluIC5wc3dwX19pbWcsXG4vLyAucHN3cC0tbm8tbW91c2UtZHJhZy5wc3dwLS16b29tZWQtaW4gLnBzd3BfX2ltZzphY3RpdmUsXG4vLyAucHN3cF9faW1nIHtcbi8vICAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuLy8gICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4vLyAgIGN1cnNvcjogem9vbS1vdXQ7XG4vLyB9XG5cbi8qIFByZXZlbnQgc2VsZWN0aW9uIGFuZCB0YXAgaGlnaGxpZ2h0cyAqL1xuLnBzd3BfX2NvbnRhaW5lcixcbi5wc3dwX19pbWcsXG4ucHN3cF9fYnV0dG9uLFxuLnBzd3BfX2NvdW50ZXIge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ucHN3cF9faXRlbSB7XG4gIC8qIHotaW5kZXggZm9yIGZhZGUgdHJhbnNpdGlvbiAqL1xuICB6LWluZGV4OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHN3cF9faGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBBbGxvdyB0byBjbGljayB0aHJvdWdoIHBzd3BfX2NvbnRlbnQgZWxlbWVudCwgYnV0IG5vdCBpdHMgY2hpbGRyZW4gKi9cbi5wc3dwX19jb250ZW50IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucHN3cF9fY29udGVudCA+ICoge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLypcblxuICBQaG90b1N3aXBlIFVJXG5cbiovXG5cbi8qXG5cdEVycm9yIG1lc3NhZ2UgYXBwZWFycyB3aGVuIGltYWdlIGlzIG5vdCBsb2FkZWRcblx0KEpTIG9wdGlvbiBlcnJvck1zZyBjb250cm9scyBtYXJrdXApXG4qL1xuLnBzd3BfX2Vycm9yLW1zZy1jb250YWluZXIge1xuICBkaXNwbGF5OiBncmlkO1xufVxuLnBzd3BfX2Vycm9yLW1zZyB7XG4gIG1hcmdpbjogYXV0bztcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogdmFyKC0tcHN3cC1lcnJvci10ZXh0LWNvbG9yKTtcbn1cblxuLypcbmNsYXNzIHBzd3BfX2hpZGUtb24tY2xvc2UgaXMgYXBwbGllZCB0byBlbGVtZW50cyB0aGF0XG5zaG91bGQgaGlkZSAoZm9yIGV4YW1wbGUgZmFkZSBvdXQpIHdoZW4gUGhvdG9Td2lwZSBpcyBjbG9zZWRcbmFuZCBzaG93IChmb3IgZXhhbXBsZSBmYWRlIGluKSB3aGVuIFBob3RvU3dpcGUgaXMgb3BlbmVkXG4gKi9cbi5wc3dwIC5wc3dwX19oaWRlLW9uLWNsb3NlIHtcbiAgb3BhY2l0eTogMC4wMDU7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXBzd3AtdHJhbnNpdGlvbi1kdXJhdGlvbikgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gIHotaW5kZXg6IDEwOyAvKiBhbHdheXMgb3ZlcmxhcCBzbGlkZSBjb250ZW50ICovXG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBoaWRkZW4gZWxlbWVudHMgc2hvdWxkIG5vdCBiZSBjbGlja2FibGUgKi9cbn1cblxuLyogY2xhc3MgcHN3cC0tdWktdmlzaWJsZSBpcyBhZGRlZCB3aGVuIG9wZW5pbmcgb3IgY2xvc2luZyB0cmFuc2l0aW9uIHN0YXJ0cyAqL1xuLnBzd3AtLXVpLXZpc2libGUgLnBzd3BfX2hpZGUtb24tY2xvc2Uge1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLyogPGJ1dHRvbj4gc3R5bGVzLCBpbmNsdWRpbmcgY3NzIHJlc2V0ICovXG4ucHN3cF9fYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDUwcHg7XG4gIG1peC1ibGVuZC1tb2RlOiBleGNsdXNpb247XG4gIGhlaWdodDogNTBweDtcbiAgbWFyZ2luOiAxLjhyZW07XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG4ucHN3cF9fYnV0dG9uOmhvdmVyLFxuLnBzd3BfX2J1dHRvbjphY3RpdmUsXG4ucHN3cF9fYnV0dG9uOmZvY3VzIHtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgLy8gcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucHN3cF9fYnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zO1xuICBjdXJzb3I6IGF1dG87XG59XG5cbi5wc3dwX19pY24ge1xuICBmaWxsOiB2YXIoLS1wc3dwLWljb24tY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcHN3cC1pY29uLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi5wc3dwX19pY24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5wc3dwX19pY24tc2hhZG93IHtcbiAgc3Ryb2tlOiB2YXIoLS1wc3dwLWljb24tc3Ryb2tlLWNvbG9yKTtcbiAgc3Ryb2tlLXdpZHRoOiB2YXIoLS1wc3dwLWljb24tc3Ryb2tlLXdpZHRoKTtcbiAgZmlsbDogbm9uZTtcbn1cblxuLnBzd3BfX2ljbjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qXG5cdGRpdiBlbGVtZW50IHRoYXQgbWF0Y2hlcyBzaXplIG9mIGxhcmdlIGltYWdlLFxuXHRsYXJnZSBpbWFnZSBsb2FkcyBvbiB0b3Agb2YgaXQsXG5cdHVzZWQgd2hlbiBtc3JjIGlzIG5vdCBwcm92aWRlZFxuKi9cbmRpdi5wc3dwX19pbWctLXBsYWNlaG9sZGVyLFxuLnBzd3BfX2ltZy0td2l0aC1iZyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBzd3AtcGxhY2Vob2xkZXItYmcpO1xufVxuXG4ucHN3cF9fdG9wLWJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB6LWluZGV4OiAxMDtcbiAgbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiBhbGxvdyBldmVudHMgdG8gcGFzcyB0aHJvdWdoIHRvcCBiYXIgaXRzZWxmICovXG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59XG4ucHN3cF9fdG9wLWJhciA+ICoge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgLyogdGhpcyBtYWtlcyB0cmFuc2l0aW9uIHNpZ25pZmljYW50bHkgbW9yZSBzbW9vdGgsXG4gICAgIGV2ZW4gdGhvdWdoIGlubmVyIGVsZW1lbnRzIGFyZSBub3QgYW5pbWF0ZWQgKi9cbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi8qXG5cbiAgQ2xvc2UgYnV0dG9uXG5cbiovXG4ucHN3cF9fYnV0dG9uLS1jbG9zZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRvcDogMC42MjVyZW07XG4gIHJpZ2h0OiAwLjYyNXJlbTtcbiAgc3ZnIHtcbiAgfVxufVxuXG4vKlxuXG4gIEFycm93IGJ1dHRvbnNcblxuKi9cbi5wc3dwX19idXR0b24tLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA3NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTUwcHg7XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93OmRpc2FibGVkIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdyAucHN3cF9faWNuIHtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0zMHB4O1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4ucHN3cC0tb25lLXNsaWRlIC5wc3dwX19idXR0b24tLWFycm93IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogaGlkZSBhcnJvd3Mgb24gdG91Y2ggc2NyZWVucyAqL1xuLnBzd3AtLXRvdWNoIC5wc3dwX19idXR0b24tLWFycm93IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBzaG93IGFycm93cyBvbmx5IGFmdGVyIG1vdXNlIHdhcyB1c2VkICovXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXByZXYge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMHB4O1xufVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbmV4dCB7XG4gIHJpZ2h0OiAwcHg7XG59XG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbmV4dCAucHN3cF9faWNuIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDE0cHg7XG4gIC8qIGZsaXAgaG9yaXpvbnRhbGx5ICovXG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xufVxuXG4vKlxuXG4gIFpvb20gYnV0dG9uXG5cbiovXG4ucHN3cF9fYnV0dG9uLS16b29tIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBzd3AtLXpvb20tYWxsb3dlZCAucHN3cF9fYnV0dG9uLS16b29tIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFwiK1wiID0+IFwiLVwiICovXG4ucHN3cC0tem9vbWVkLWluIC5wc3dwX196b29tLWljbi1iYXItdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG5cbiAgTG9hZGluZyBpbmRpY2F0b3JcblxuKi9cbi5wc3dwX19wcmVsb2FkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnBzd3BfX3ByZWxvYWRlciAucHN3cF9faWNuIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBwc3dwLWNsb2Nrd2lzZSA2MDBtcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSAucHN3cF9faWNuIHtcbiAgb3BhY2l0eTogMC44NTtcbn1cblxuQGtleWZyYW1lcyBwc3dwLWNsb2Nrd2lzZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbi8qXG5cbiAgXCIxIG9mIDEwXCIgY291bnRlclxuXG4qL1xuLnBzd3BfX2NvdW50ZXIge1xuICBoZWlnaHQ6IDMwcHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGNvbG9yOiB2YXIoLS1wc3dwLWljb24tY29sb3IpO1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAzcHggdmFyKC0tcHN3cC1pY29uLWNvbG9yLXNlY29uZGFyeSk7XG4gIG9wYWNpdHk6IDAuODU7XG59XG5cbi5wc3dwLS1vbmUtc2xpZGUgLnBzd3BfX2NvdW50ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHN3cF9fZW1iZWQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDMuNnJlbTtcbiAgLmZsZXgtdmlkZW8ge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJsYWNrKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGlmcmFtZSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMXB4KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgfVxuICB9XG59XG5cbi5wc3dwX19jdXN0b20tY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZzogMS44cmVtO1xuICBib3R0b206IDA7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE3NDc0OTMwL2Rpc2FibGUtY2hyb21lLXR3by1maW5nZXJzLWJhY2stZm9yd2FyZC1zd2lwZVxuaHRtbCxcbmJvZHkge1xuXHRvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xuXHRvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IG5vbmU7XG59XG5cbi5ncmlkLWNvbnRhaW5lciB7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8gRElTQUJMRSBNT1RJT05cbi4tLWRpc2FibGVtb3Rpb24ge1xuXHQmLFxuXHQqIHtcblx0XHR0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblx0LnNob290LXRpY2tlciB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG5cdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbiosXG4qOmFjdGl2ZSxcbio6Zm9jdXMsXG4qOnZpc2l0ZWQge1xuXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1tZWRpdW1ncmV5KTtcbn1cbjo6c2VsZWN0aW9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0tbWVkaXVtZ3JleSk7XG59XG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdGJvcmRlcjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuLnNjcmVlbi1yZWFkZXIsXG4uZnJtX3NjcmVlbl9yZWFkZXIsXG4uaGlkZSxcbi52aXN1YWxseUhpZGRlbixcbi52aXN1YWxseS1oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi4tLXpvb20sXG4uem9vbSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0aW1nLFxuXHR2aWRlbyB7XG5cdFx0dHJhbnNpdGlvbjogYWxsIGVhc2UgMnM7XG5cdH1cbn1cblxuc3Ryb25nLFxuYiB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS13ZWlnaHQtYm9sZCk7XG59XG5cbi5mbGV4LWhlaWdodCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwdmg7XG5cdGhlaWdodDogY2FsYygxMDB2aCAtIGNhbGModmFyKC0tbWVudWhlaWdodCkgKiAxKSk7XG5cdCYuZnVsbCB7XG5cdFx0aGVpZ2h0OiAxMDB2aDtcblx0fVxuXHQmLmhhbGYge1xuXHRcdGhlaWdodDogNTB2aDtcblx0fVxuXHQmLmZpbGwtaGVpZ2h0IHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdH1cblx0Ji4tLWxlZnQge1xuXHRcdHZpZGVvLFxuXHRcdGlmcmFtZSxcblx0XHRpbWcge1xuXHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcblx0XHR9XG5cdH1cblx0Ji4tLXJpZ2h0IHtcblx0XHR2aWRlbyxcblx0XHRpZnJhbWUsXG5cdFx0aW1nIHtcblx0XHRcdG9iamVjdC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuXHRcdH1cblx0fVxuXHR2aWRlbyxcblx0aWZyYW1lLFxuXHRpbWcge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRvYmplY3QtZml0OiBjb250YWluO1xuXHR9XG5cdCYuY292ZXIsXG5cdCYuZml0IHtcblx0XHR2aWRlbyxcblx0XHRpZnJhbWUsXG5cdFx0aW1nIHtcblx0XHRcdEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcblx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYuY29udGFpbiB7XG5cdFx0dmlkZW8sXG5cdFx0aWZyYW1lLFxuXHRcdGltZyB7XG5cdFx0XHRvYmplY3QtZml0OiBjb250YWluO1xuXHRcdH1cblx0XHQmLi0tdG9wIHtcblx0XHRcdHZpZGVvLFxuXHRcdFx0aWZyYW1lLFxuXHRcdFx0aW1nIHtcblx0XHRcdFx0b2JqZWN0LXBvc2l0aW9uOiB0b3A7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuLS1taWRkbGUge1xuXHRcdFx0dmlkZW8sXG5cdFx0XHRpZnJhbWUsXG5cdFx0XHRpbWcge1xuXHRcdFx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji4tLWJvdHRvbSB7XG5cdFx0XHR2aWRlbyxcblx0XHRcdGlmcmFtZSxcblx0XHRcdGltZyB7XG5cdFx0XHRcdG9iamVjdC1wb3NpdGlvbjogYm90dG9tO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLmZsZXgtcm93IHtcblx0aW1nLFxuXHR2aWRlbyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG59XG5cbi8vIE1FRElBIFJPV1xuXG4ubWVkaWEtcm93IHtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleC13cmFwOiBub3dyYXA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMCAwLjlyZW07XG5cblx0QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpdW0tYnJlYWtwb2ludCkge1xuXHRcdGdhcDogMCAxLjg3NXJlbTtcblx0fVxufVxuXG4vLyBSRVNQT05TSVZFIE1FRElBXG5cbi5mbGV4LXZpZGVvLFxuLmZsZXgtaW1hZ2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDBweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuXHR6LWluZGV4OiAxO1xuXHQmLmVtYmVkLXJldmVhbCB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG5cdC5scy1ibHVyLXVwLWltZyB7XG5cdFx0ZmlsdGVyOiBibHVyKDEwcHgpO1xuXHRcdHRyYW5zaXRpb246IGZpbHRlciAwLjNzIGVhc2Utb3V0O1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR6LWluZGV4OiA0O1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZSAyMDBtcztcblx0XHQmLmxzLWJsdXItdXAtbG9hZGVkIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXHR9XG5cdHZpZGVvLFxuXHRpZnJhbWUsXG5cdGltZyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cdGlmcmFtZSB7XG5cdFx0ei1pbmRleDogMztcblx0fVxuXHRzdmcge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0ei1pbmRleDogMjtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHR3aWR0aDogMTYycHg7XG5cdFx0aGVpZ2h0OiAxNjJweDtcblx0fVxuXHRpZnJhbWUge1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxuXHQmLnNxdWFyZSB7XG5cdFx0cGFkZGluZy1ib3R0b206IDEwMCU7XG5cdH1cblx0Ji56b29tIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0aW1nLFxuXHRcdHZpZGVvIHtcblx0XHRcdHRyYW5zaXRpb246IGFsbCBlYXNlIDJzO1xuXHRcdH1cblx0XHQmOmhvdmVyIHtcblx0XHRcdGltZyxcblx0XHRcdHZpZGVvIHtcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjEyNSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYucm91bmQge1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxuXHQmLnNocmluayBpbWcge1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRvYmplY3QtZml0OiBjb250YWluO1xuXHR9XG5cdCYuZml0LFxuXHQmLmNvdmVyIHtcblx0XHRpbWcsXG5cdFx0dmlkZW8ge1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0fVxuXHR9XG5cdCYuYm9yZGVyIHtcblx0XHRib3JkZXI6IDAuNjI1cmVtIHNvbGlkIHZhcigtLWJsYWNrKTtcblx0XHQmLmdyZWVuIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tZ3JlZW4pO1xuXHRcdH1cblx0XHQmLmNyZWFtIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY3JlYW0pO1xuXHRcdH1cblx0XHQmLmJsdWUge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1ibGFjayk7XG5cdFx0fVxuXHR9XG5cdC50aXRsZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bGVmdDogMDtcblx0XHR6LWluZGV4OiAzO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG5cdFx0Y29sb3I6IHZhcigtLXdoaXRlKTtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1wbHVzNik7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXdlaWdodDogdmFyKC0td2VpZ2h0LW5vcm1hbCk7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWhlYWRlci1mb250KTtcblx0XHRmb250LXdlaWdodDogdmFyKC0td2VpZ2h0LW5vcm1hbCk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMTI1O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR0cmFuc2l0aW9uOiBhbGwgZWFzZSA1MDBtcztcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHNwYW4ge1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIGVhc2UgNTAwbXM7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuNDVlbSk7XG5cdFx0fVxuXHR9XG5cdCY6aG92ZXIgLnRpdGxlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHNwYW4ge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cdH1cblxuXHQuaG92ZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0ei1pbmRleDogMjtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZSA1MDBtcztcblx0fVxuXHQmOmhvdmVyIC5ob3ZlciB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG5cdC5zbWFsbC1vbmx5IHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcblx0Lm1lZGl1bS11cCB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlLWJyZWFrcG9pbnQpIHtcblx0LmxhcmdlLXVwIHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLy8gQkFTRSBURVhUXG5cbnVsLFxub2wsXG5wIHtcblx0Zm9udC1zaXplOiAxcmVtO1xuXHRAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1zaXplLXBsdXMxKTtcblx0fVxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAxLjI1ZW07XG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdGIsXG5cdHN0cm9uZyB7XG5cdFx0Zm9udC13ZWlnaHQ6IHZhcigtLXdlaWdodC1ib2xkKTtcblx0fVxuXHQmLmxlYWQge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1wbHVzMik7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LWZhbWlseTogdmFyKC0taGVhZGVyLWZvbnQpO1xuXHRcdG1heC13aWR0aDogMzBjaDtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxufVxuXG4udGV4dC1sZWZ0IHtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cbi50ZXh0LXJpZ2h0IHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG4udGV4dC1jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi4tLXN0aWNreSB7XG5cdEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcblx0XHRwb3NpdGlvbjogc3RpY2t5O1xuXHRcdHRvcDogMDtcblx0fVxufVxuXG4uaDEsXG4uaDIsXG4uaDMsXG4uaDQsXG4uaDUsXG4uaDYsXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRtYXJnaW46IDAgMCAwLjlyZW0gMDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWhlYWRlci1mb250KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLXdlaWdodC1ib2xkKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWhlYWRlci1saW5lLWhlaWdodCk7XG5cdGNvbG9yOiB2YXIoLS1ibGFjayk7XG5cdCYuLS1ubSB7XG5cdFx0bWFyZ2luOiAtMC40NXJlbSAwIC0xLjM1cmVtO1xuXHR9XG5cdCYuc3ViaGVhZGVyIHtcblx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0bWFyZ2luOiAwLjlyZW0gMDtcblx0XHRmb250LXdlaWdodDogdmFyKC0td2VpZ2h0LWJvbGQpO1xuXHR9XG5cdHNtYWxsIHtcblx0XHRmb250LXNpemU6IDY2LjYlO1xuXHR9XG59XG5cbi5oNCxcbi5oNSxcbi5oNixcbmg0LFxuaDUsXG5oNiB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmgxLFxuLmgxIHtcblx0bWFyZ2luLXRvcDogMDtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLXdlaWdodC1saWdodCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1wbHVzNSk7XG59XG5cbmgyLFxuLmgyIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLXdlaWdodC1saWdodCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1wbHVzNCk7XG59XG5cbmgzLFxuLmgzIHtcblx0Zm9udC1zaXplOiB2YXIoLS1zaXplLXBsdXMzKTtcbn1cblxuaDUsXG4uaDUsXG5oNCxcbi5oNCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1wbHVzMik7XG5cdGNvbG9yOiB2YXIoLS1icmFuZCk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmg1LFxuLmg1IHtcblx0Zm9udC1zaXplOiB2YXIoLS1zaXplLXBsdXMxKTtcblx0Zm9udC1zaXplOiB2YXIoLS1zaXplKTtcbn1cblxuc21hbGwsXG4udGV4dF9zbWFsbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1taW51czIpO1xufVxuXG5hIHtcblx0Y29sb3I6IHZhcigtLWJsYWNrKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOlxuXHRcdGJhY2tncm91bmQtY29sb3IgMTUwbXMgZWFzZSxcblx0XHRjb2xvciAxNTBtcyBlYXNlO1xuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogdmFyKC0tZGFya2dyZXkpO1xuXHR9XG59XG5cbi8vIEJBU0UgRk9STUFUVElOR1xuXG5odG1sIHtcblx0Zm9udC1zaXplOiAxMDAlO1xufVxuXG5ib2R5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmcpO1xuXHRmb250LWZhbWlseTogdmFyKC0tYm9keS1mb250KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLXdlaWdodC1ub3JtYWwpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tYm9keS1saW5lLWhlaWdodCk7XG5cdGNvbG9yOiB2YXIoLS1ibGFjayk7XG5cdC8vIG1pbi1oZWlnaHQ6IDEwMHZoO1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxuXHQmLi0tbG9jayB7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxufVxuXG51bCxcbm9sLFxucCB7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1ib2R5LWZvbnQpO1xuXHRmb250LXdlaWdodDogdmFyKC0td2VpZ2h0LW5vcm1hbCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1ib2R5LWxpbmUtaGVpZ2h0KTtcblx0Zm9udC1zaXplOiAxcmVtO1xuXHRAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1zaXplLXBsdXMxKTtcblx0fVxuXHRtYXJnaW4tYm90dG9tOiAxLjI1ZW07XG5cdHN0cm9uZyxcblx0ZW0ge1xuXHRcdC8vIGNvbG9yOiB2YXIoLS1icmFuZCk7XG5cdH1cblx0Ji5zbWFsbCB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1zaXplKTtcblx0fVxufVxuXG4udGV4dC1sZWZ0IHtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cbi50ZXh0LXJpZ2h0IHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG4udGV4dC1jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oMSxcbi5oMixcbi5oMyxcbi5oNCxcbi5oNSxcbi5oNixcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdG1hcmdpbjogMi43NXJlbSAwIDAuNDVyZW07XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1oZWFkZXItZm9udCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS13ZWlnaHQtbm9ybWFsKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWhlYWRlci1saW5lLWhlaWdodCk7XG5cdGNvbG9yOiB2YXIoLS1zdHVkaW8pO1xuXHRtYXJnaW46IDAgMCAwLjlyZW0gMDtcblx0c3Ryb25nIHtcblx0XHRjb2xvcjogdmFyKC0tcGluayk7XG5cdH1cbn1cbi5oMyxcbmgzLFxuLmg0LFxuLmg1LFxuLmg2LFxuaDQsXG5oNSxcbmg2IHtcblx0Y29sb3I6IHZhcigtLWJsYWNrKTtcbn1cbi5oNCxcbi5oNSxcbi5oNixcbmg0LFxuaDUsXG5oNiB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmgxLFxuLmgxIHtcblx0bWFyZ2luLXRvcDogMDtcblx0Zm9udC1zaXplOiB2YXIoLS1zaXplLXBsdXM2KTtcbn1cblxuaDIsXG4uaDIge1xuXHRmb250LXNpemU6IHZhcigtLXNpemUtcGx1czUpO1xufVxuXG5oMyxcbi5oMyB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1wbHVzNCk7XG59XG5cbmg0LFxuLmg0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1zaXplLXBsdXMzKTtcbn1cblxuaDUsXG4uaDUge1xuXHRmb250LXNpemU6IHZhcigtLXNpemUtcGx1czIpO1xufVxuaDUsXG4uaDUge1xuXHRmb250LXNpemU6IHZhcigtLXNpemUtcGx1czEpO1xufVxuXG5zbWFsbCxcbi50ZXh0X3NtYWxsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1zaXplLW1pbnVzMik7XG59XG5cbmEge1xuXHRjb2xvcjogdmFyKC0tYnJhbmQpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246XG5cdFx0YmFja2dyb3VuZC1jb2xvciAxNTBtcyBlYXNlLFxuXHRcdGNvbG9yIDE1MG1zIGVhc2U7XG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiB2YXIoLS1kYXJrZ3JleSk7XG5cdH1cbn1cblxucCBhIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8vIEhFQURFUlxuXG5odG1sLFxuYm9keSB7XG5cdHNjcm9sbC1wYWRkaW5nLXRvcDogMDtcbn1cblxuaGVhZGVyI3ByaW1hcnkge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDAuOXJlbSAwO1xuXHRAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG5cdFx0cGFkZGluZzogMS44cmVtIDA7XG5cdH1cblx0QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpdW0tYnJlYWtwb2ludCkge1xuXHRcdHBhZGRpbmc6IDIuMzVyZW0gMDtcblx0fVxuXHR6LWluZGV4OiA5OTk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnKTtcblxuXHQmLmhlYWRyb29tIHtcblx0XHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb246IGFsbCA1MDBtcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0fVxuXHQmLmhlYWRyb29tLS1waW5uZWQge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG5cdH1cblx0Ji5oZWFkcm9vbS0tdW5waW5uZWQge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cdH1cblx0Ji5oZWFkcm9vbS0tdG9wIHtcblx0XHRAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG5cdFx0XHRwYWRkaW5nOiA0LjVyZW0gMDtcblx0XHR9XG5cdH1cblxuXHQubG9nbyB7XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Jixcblx0XHRzdmcsXG5cdFx0aW1nIHtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiAyMHZ3O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRtaXgtYmxlbmQtbW9kZTogZXhjbHVzaW9uO1xuXHQtLWJsYWNrOiAjZmZmO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ji5ub2V4Y2x1c2Uge1xuXHRcdG1peC1ibGVuZC1tb2RlOiBub25lO1xuXHRcdC0tYmxhY2s6ICMwMDA7XG5cdH1cblx0LmNlbGwge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cblx0YnV0dG9uIHtcblx0XHR0cmFuc2l0aW9uOiBhbGwgZWFzZSA1MDBtcztcblx0XHQmLm1peGl0dXAtY29udHJvbC1hY3RpdmUsXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogdmFyKC0tYnJhbmQpO1xuXHRcdH1cblx0fVxuXG5cdC5oYW1idXJnZXIge1xuXHRcdCYub3BlbiAubGluZTpudGgtY2hpbGQoMSkge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0XHRcdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHRcdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdFx0fVxuXG5cdFx0Ji5vcGVuIC5saW5lOm50aC1jaGlsZCgzKSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cdFx0XHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXHRcdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXHRcdH1cblx0XHQubGluZSB7XG5cdFx0XHR3aWR0aDogNTBweDtcblx0XHRcdGhlaWdodDogNHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmxhY2spO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW46IDhweCBhdXRvO1xuXHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcblx0XHRcdC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHR9XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpdW0tYnJlYWtwb2ludCkge1xuXHRcdC5tZW51LW91dGVyIHtcblx0XHRcdGdhcDogMy42ZW07XG5cdFx0XHQubWVudS1jZWxsLWNvbnRhaW5lci1vdXRlciB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMC4zMztcblx0XHRcdFx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRcdFx0XHRyaWdodDogLTEuOGVtO1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHR0b3A6IC0ycHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmxhY2spO1xuXHRcdFx0XHRcdHdpZHRoOiAxcHg7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBNT0JJTEUgTkFWXG5uYXYjbW9iaWxlIHtcblx0ZGlzcGxheTogbm9uZTtcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG5cdFx0ei1pbmRleDogOTk4O1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJsYWNrKTtcblx0XHQmLFxuXHRcdGEge1xuXHRcdFx0Y29sb3I6IHZhcigtLXdoaXRlKTtcblx0XHR9XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdGJvdHRvbTogMDtcblx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMHZ3O1xuXHRcdHBhZGRpbmc6IDEuMzEyNXJlbSAwLjlyZW07XG5cdFx0dHJhbnNpdGlvbjogYWxsIGVhc2UgNTAwbXM7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHZ3KTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0Ji5hY3RpdmUge1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0fVxuXHRcdHVsIHtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRwYWRkaW5nOiAxLjM1ZW0gMDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0Z2FwOiAwLjlyZW07XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1oZWFkZXItZm9udCk7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS13ZWlnaHQtbm9ybWFsKTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IHZhcigtLWhlYWRlci1saW5lLWhlaWdodCk7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1wbHVzMik7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHQmLFxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRjb2xvcjogdmFyKC0td2hpdGUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuc3ViLW1lbnUge1xuXHRcdFx0XHRwYWRkaW5nOiAxLjM1ZW0gMCAwLjllbSAwO1xuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiB2YXIoLS1zaXplLXBsdXMtaHVnZSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Lm1lbnUtb3V0ZXIgLm1lbnUtY2VsbC1jb250YWluZXItb3V0ZXIgLm1lbnUtY2VsbC1jb250YWluZXIgLm1lbnUtY2VsbC1pbm5lciAuY2VsbC10ZXh0IHtcblx0XHRcdGNvbG9yOiB2YXIoLS13aGl0ZSk7XG5cdFx0XHRmb250LXNpemU6IHZhcigtLXNpemUtcGx1czEwKTtcblx0XHR9XG5cdFx0LmNvbnRhY3Qge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHBhZGRpbmc6IDAuOWVtO1xuXHRcdFx0dWwge1xuXHRcdFx0XHRnYXA6IDEuMzVlbTtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogdmFyKC0tc2l6ZSk7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRnYXA6IDAuNDVlbTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0XHRcdGhlaWdodDogdmFyKC0tc2l6ZSk7XG5cdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLm1lbnUtb3V0ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNDVlbTtcblxuXHRAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG5cdFx0Z2FwOiAxLjhlbTtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHR9XG5cblx0ZmxleC13cmFwOiBub3dyYXA7XG5cdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHQmLnJpZ2h0IHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHR9XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Zm9udC1zaXplOiB2YXIoLS1zaXplKTtcblx0Lm1lbnUtY2VsbC1jb250YWluZXItb3V0ZXIge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tc2l6ZSk7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdC8vIGhlaWdodDogdmFyKC0tc2l6ZS1wbHVzMik7XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gbWFyZ2luOjAgMC40NWVtO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0XHRwYWRkaW5nLWJvdHRvbTogMC4yNWVtO1xuXHRcdHBhZGRpbmctdG9wOiAwLjI1ZW07XG5cdFx0Ji5jdXJyZW50X3BhZ2VfcGFyZW50LFxuXHRcdCYuY3VycmVudF9wYWdlX2l0ZW0ge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHZhcigtLWJsYWNrKTtcblx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG5cdFx0fVxuXHRcdC5jdXJyZW50LW1lbnUtaXRlbSB7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdG9wYWNpdHk6IDAuMzM7XG5cdFx0XHQvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmxhY2spO1xuXHRcdH1cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0PiBhIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6IDI7XG5cdFx0fVxuXG5cdFx0LnN1Yi1tZW51IHtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAtMC45ZW07XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMS44cmVtKTtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWJnKTtcblx0XHRcdHBhZGRpbmc6IDIuMzVlbSAxLjhlbSAwLjllbSAxLjhlbTtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAzLjZlbSk7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMC4yMjVlbTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRhLFxuXHRcdFx0Lm1lbnUtY2VsbC1jb250YWluZXItb3V0ZXIge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXHRcdFx0Lm1lbnUtY2VsbC1jb250YWluZXItb3V0ZXIge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Lm1lbnUtY2VsbC1jb250YWluZXIge1xuXHRcdFx0XHRtYXJnaW46IDAuNDVlbSAwO1xuXHRcdFx0XHQubWVudS1jZWxsLWlubmVyIHtcblx0XHRcdFx0XHQuY2VsbC10ZXh0IHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogdmFyKC0tc2l6ZSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6aG92ZXIge1xuXHRcdFx0LnN1Yi1tZW51IHtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5tZW51LWNlbGwtY29udGFpbmVyIHtcblx0XHRcdC5tZW51LWNlbGwtaW5uZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0LmNlbGwtdGV4dCB7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHotaW5kZXg6IDI7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcblx0XHRcdFx0XHRmb250LXNpemU6IHZhcigtLXNpemUpO1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IHZhcigtLXdlaWdodC1ub3JtYWwpO1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1oZWFkZXItZm9udCk7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IHZhcigtLXdlaWdodC1ub3JtYWwpO1xuXHRcdFx0XHRcdC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1oZWFkZXItbGluZS1oZWlnaHQpO1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1ibGFjayk7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMjU7XG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRjb2xvcjogdmFyKC0tYmxhY2spO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmLmFic29sdXRlIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdFx0ei1pbmRleDogMTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTEwJSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGE6aG92ZXIge1xuXHRcdFx0Lm1lbnUtY2VsbC1jb250YWluZXIgLmNlbGwtdGV4dCB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTExMCUpO1xuXHRcdFx0XHQmLmFic29sdXRlIHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDAlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5mb290ZXIge1xuXHRwYWRkaW5nOiAwLjlyZW0gMC40NXJlbTtcblx0QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpdW0tYnJlYWtwb2ludCkge1xuXHRcdHBhZGRpbmc6IDEuOHJlbSAwO1xuXHR9XG5cdEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcblx0XHRwYWRkaW5nOiAyLjM1cmVtIDA7XG5cdH1cblx0cCB7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1zaXplKTtcblx0XHQmLnNtYWxsLXByaW50IHtcblx0XHRcdG9wYWNpdHk6IDAuMTU7XG5cdFx0fVxuXHRcdCYuc21hbGwge1xuXHRcdFx0bWFyZ2luLXRvcDogMS44ZW07XG5cdFx0XHRmb250LXNpemU6IHZhcigtLXNpemUtbWludXMxKTtcblx0XHR9XG5cdFx0YSB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbkBrZXlmcmFtZXMgYmxpbmsge1xuXHQwJSxcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHQ1MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuW2RhdGEtdGhlbWU9XCJkb3RcIl0gI3JlZGRvdCB7XG5cdGFuaW1hdGlvbjogYmxpbmsgMnMgZWFzZSBpbmZpbml0ZTtcbn1cblxuI3NwbGFzaCB7XG5cdGN1cnNvcjogd2FpdDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0ei1pbmRleDogOTk5OTk5O1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDB2dztcblx0aGVpZ2h0OiAxMDB2aDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmxhY2spO1xuXHR0cmFuc2l0aW9uOiBub25lO1xuXHQvLyB0cmFuc2l0aW9uOiBhbGwgZWFzZSAxcztcblx0LmxhenlhdXRvc2l6ZXMge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQmLmxhenlsb2FkZWQge1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR9XG5cdH1cblx0Ji5hbmltYXRlZC1vdXQge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cdH1cblx0Ji5pcy1hZG1pbiB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuXHR9XG5cdC5sb2dvIHtcblx0XHQvLyBtaXgtYmxlbmQtbW9kZTogZXhjbHVzaW9uO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0d2lkdGg6IDc1JTtcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0ei1pbmRleDogOTk7XG5cdFx0c3ZnIHtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdFx0XHRmaWxsOiB2YXIoLS13aGl0ZSk7XG5cdFx0fVxuXHR9XG5cdC5zcGxhc2gtaW5uZXIge1xuXHRcdGlmcmFtZSxcblx0XHR2aWRlbyxcblx0XHRpbWcge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0fVxuXHRcdC5mcm9udC1pbWFnZS1jb250YWluZXIge1xuXHRcdFx0aWZyYW1lLFxuXHRcdFx0dmlkZW8sXG5cdFx0XHRpbWcge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHRcdFx0XHQvLyB0cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zIGVhc2UtaW4tb3V0IDUwMG1zO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyIDE1bXM7XG5cdFx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyO1xuXHRcdFx0XHRcdC8vIHRyYW5zaXRpb246IG9wYWNpdHkgNTAwbXMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLmVtYmVkLWJsb2NrLFxuI2Fib3V0IHtcblx0LmdyaWQtaGVpZ2h0IHtcblx0XHRtYXJnaW4tdG9wOiAxLjhyZW07XG5cdFx0Ly8gbWFyZ2luLWJvdHRvbTogMS44cmVtO1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuXHRcdEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHRcdG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSBjYWxjKCh2YXIoLS1oZWFkZXItaGVpZ2h0KSAqIDIpKSk7XG5cdFx0Lm1lZGlhLXJvdy1sYXlvdXQge1xuXHRcdFx0bWFyZ2luLXRvcDogMS44cmVtO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMS44cmVtO1xuXHRcdH1cblx0XHRoMSxcblx0XHRoMixcblx0XHRoMyxcblx0XHRoNCxcblx0XHRoNSB7XG5cdFx0XHRmb250LXNpemU6IHZhcigtLXNpemUtcGx1czEpO1xuXHRcdH1cblx0XHRoMiB7XG5cdFx0XHRtYXJnaW46IDAgMCAwLjlyZW0gMDtcblx0XHR9XG5cdFx0aDMge1xuXHRcdFx0bWFyZ2luOiAxLjhyZW0gMCAwIDA7XG5cdFx0fVxuXHR9XG5cdC5nYWxsZXJ5IHtcblx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibGFjayk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogMHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmctYm90dG9tOiA3NSU7XG5cdFx0aWZyYW1lLFxuXHRcdHZpZGVvLFxuXHRcdGltZyB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuc2lkZWJhciB7XG5cdFx0cCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHRcdGEge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHR9XG5cdH1cbn1cblxuI3NsaWRlc2hvdy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxLjhyZW07XG5cdG1hcmdpbi1ib3R0b206IDEuOHJlbTtcblx0bWFyZ2luLXRvcDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuXHQuZ3JpZC1sYXlvdXQge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdH1cblx0XHRnYXA6IDAuOXJlbTtcblx0XHRwYWRkaW5nOiAwLjQ1cmVtIDA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQmLmV4dHJhLXBhZGRpbmcge1xuXHRcdFx0Z2FwOiAwLjlyZW07XG5cdFx0XHRwYWRkaW5nOiAwLjkzNzVyZW0gMDtcblx0XHR9XG5cdFx0QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpdW0tYnJlYWtwb2ludCkge1xuXHRcdFx0Z2FwOiAxLjg3NXJlbTtcblx0XHRcdHBhZGRpbmc6IDAuOTM3NXJlbSAwO1xuXHRcdFx0Ji5leHRyYS1wYWRkaW5nIHtcblx0XHRcdFx0Z2FwOiAzLjc1cmVtO1xuXHRcdFx0XHRwYWRkaW5nOiAxLjg3NXJlbSAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHR2aWRlbyxcblx0XHRpbWcge1xuXHRcdFx0ei1pbmRleDogMTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0fVxuXHRcdC5mbGV4LXZpZGVvLFxuXHRcdC5mbGV4LWltYWdlIHtcblx0XHRcdC8vIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsYWNrKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0aW1nLFxuXHRcdFx0dmlkZW8ge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5ncmlkLWl0ZW0ge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdC5uZXdzLXRpdGxlLFxuXHRcdFx0LmFydGlzdC10aXRsZSxcblx0XHRcdC50aXRsZSB7XG5cdFx0XHRcdEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaXVtLWJyZWFrcG9pbnQpIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcblx0XHRcdFx0QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpdW0tYnJlYWtwb2ludCkge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcblx0XHRcdFx0fVxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdC50aXRsZS1pbm5lciB7XG5cdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0XHRoMixcblx0XHRcdFx0XHRoMyxcblx0XHRcdFx0XHRoNCxcblx0XHRcdFx0XHRoNSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogdmFyKC0td2hpdGUpO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMC43MjU7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHZhcigtLXNpemUtcGx1czgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRociB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGg1IHtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDEuMzVyZW07XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjY2O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGl1bS1icmVha3BvaW50KSB7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAxcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSAxMDBtcztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LmJnIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDFzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXHRcdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uc29jaWFsLW1lbnUge1xuXHR1bCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdGdhcDogMC45ZW07XG5cdFx0cGFkZGluZzogMDtcblx0XHRtYXJnaW46IDA7XG5cdFx0c3ZnIHtcblx0XHRcdGZpbGw6IHZhcigtLWJsYWNrKTtcblx0XHR9XG5cdFx0YSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHRyYW5zaXRpb246IGFsbCBlYXNlIDFzO1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4xMjVlbSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5ibG9jay1ncmlkIHtcblx0bWFyZ2luLXRvcDogMS44cmVtO1xuXHRtYXJnaW4tYm90dG9tOiAxLjhyZW07XG5cdG1hcmdpbi10b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbn1cbiJdfQ== */