/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure{display:block}figure{margin:1em 2.5rem}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}main{display:block}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:0.0625rem dotted ButtonText}input{overflow:visible}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-0.125rem}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}fieldset{padding:0.35em 0.75em 0.625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;display:table;max-width:100%;padding:0;color:inherit;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}details{display:block}summary{display:list-item}menu{display:block}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{position:relative;margin:0;padding:0;font-size:1rem;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}[tabindex="-1"]:focus{outline:none !important}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}.cf,.clearfix{*zoom:1}.cf::before,.cf::after,.clearfix::before,.clearfix::after{content:" ";display:table}.cf::after,.clearfix::after{clear:both}img{vertical-align:middle}img[width],img[height]{max-width:none}[role="button"]{cursor:pointer}a,area,button,[role="button"],input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}[hidden]{display:none !important}@font-face{font-family:'Epilogue';src:url("fonts/Epilogue-Regular.ttf") format("truetype"),url("fonts/subset-Epilogue-Regular.woff2") format("woff2"),url("fonts/subset-Epilogue-Regular.woff") format("woff");font-weight:normal;font-style:normal}@font-face{font-family:'Epilogue';src:url("fonts/Epilogue-Bold.ttf") format("truetype"),url("fonts/subset-Epilogue-Bold.woff2") format("woff2"),url("fonts/subset-Epilogue-Bold.woff") format("woff");font-weight:bold;font-style:normal}@font-face{font-family:'Epilogue';src:url("fonts/Epilogue-ExtraBold.ttf") format("truetype"),url("fonts/subset-Epilogue-ExtraBold.woff2") format("woff2"),url("fonts/subset-Epilogue-ExtraBold.woff") format("woff");font-weight:800;font-style:normal}.font-epilogue{font-family:'Epilogue', sans-serif;font-weight:normal}.font-epilogue--bold{font-family:'Epilogue', sans-serif;font-weight:bold}.font-epilogue--extrabold{font-family:'Epilogue', sans-serif;font-weight:800}.font-epilogue--spaced{font-family:'Epilogue', sans-serif;font-weight:normal;letter-spacing:0.125rem;font-size:0.75rem;text-transform:uppercase}.font-epilogue--title{font-family:'Epilogue', sans-serif;font-weight:normal;letter-spacing:0.0625rem;font-size:1.875rem;font-weight:bold;text-transform:uppercase}html,body{width:100%}html.nav-opened,body.nav-opened{overflow:hidden}body{position:relative;background-color:#f8f6f5;font-family:'Epilogue', sans-serif;font-weight:normal;color:#1f1f1f;font-size:1rem;line-height:1.3;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.root{position:relative}.app-body{position:relative;overflow:hidden;padding-top:5rem}@media (max-width: 61.24em){.app-body{padding-top:0}}::-moz-selection{background-color:#ec5833;color:#fff}::selection{background-color:#ec5833;color:#fff}a{color:#ec5833;text-decoration:none}.is-responsive{position:absolute;top:-624.9375rem;left:-624.9375rem;display:none;z-index:10}.container{position:relative;max-width:75rem;margin-left:auto;margin-right:auto}@media (min-width: 48em){.container{padding-left:1.875rem;padding-right:1.875rem}}@media (min-width: 33.75em) and (max-width: 47.99em){.container{padding-left:1.5625rem;padding-right:1.5625rem}}@media (max-width: 33.74em){.container{padding-left:1.25rem;padding-right:1.25rem}}button[type="submit"]{position:relative;background:transparent;border:none;font-family:'Epilogue', sans-serif;font-weight:normal;font-size:1.375rem;-webkit-transition:color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);transition:color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);cursor:pointer}button[type="submit"] span,button[type="submit"]>svg{opacity:1;-webkit-transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}button[type="submit"]>svg{position:relative;bottom:0.125rem;width:1.125rem;height:1.125rem;margin-left:0.3125rem;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);transition:-webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)}button[type="submit"]:hover{color:#ec5833}button[type="submit"]:hover svg{-webkit-transform:translateX(0.625rem);transform:translateX(0.625rem)}button[type="submit"]:focus{outline:none}button[type="submit"].btn--loading span,button[type="submit"].btn--loading>svg{opacity:0}.loading-spinner{position:absolute;top:50%;left:50%;width:1.625rem;opacity:0;-webkit-transform:translate(-50%, -50%) scale(1.2);transform:translate(-50%, -50%) scale(1.2);-webkit-transition:opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),trasnform 0.3s cubic-bezier(1, 0, 0, 1);transition:opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),trasnform 0.3s cubic-bezier(1, 0, 0, 1)}.loading-spinner::before{content:"";display:block;padding-top:100%}.loading-spinner svg{position:absolute;top:0;bottom:0;left:0;right:0;width:100%;height:100%;margin:auto;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-animation:circularSpinnerRotate 2s linear infinite;animation:circularSpinnerRotate 2s linear infinite}.loading-spinner circle{fill:none;stroke:#ec5833;stroke-dasharray:1, 200;stroke-dashoffset:0;stroke-linecap:round;-webkit-animation:circularSpinnerDash 1.5s ease-in-out infinite;animation:circularSpinnerDash 1.5s ease-in-out infinite}.btn--loading .loading-spinner{opacity:1;-webkit-transform:translate(-50%, -50%) scale(1);transform:translate(-50%, -50%) scale(1)}.btn{border:none;padding:0.625rem;border-radius:0.125rem;font-family:'Epilogue', sans-serif;font-weight:normal;letter-spacing:0.125rem;font-size:0.75rem;text-transform:uppercase;line-height:1;padding-top:0.75rem;cursor:pointer;-webkit-transition:background-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:background-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.btn--orange{background-color:#ec5833;color:white}.btn--orange:hover{background-color:#fff;color:#ec5833}.header__wrapper{position:relative;max-width:75rem;margin-left:auto;margin-right:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:9.375rem;padding:1.5625rem 0}@media (min-width: 48em){.header__wrapper{padding-left:1.875rem;padding-right:1.875rem}}@media (min-width: 33.75em) and (max-width: 47.99em){.header__wrapper{padding-left:1.5625rem;padding-right:1.5625rem}}@media (max-width: 33.74em){.header__wrapper{padding-left:1.25rem;padding-right:1.25rem}}.header__burger{background:transparent;border:none;outline:none;cursor:pointer}.header__burger svg{width:1.875rem;height:1.875rem}.header__burger span{margin-left:0.625rem;text-transform:uppercase;letter-spacing:0.0625rem;position:relative;font-size:0.6875rem;font-family:'Epilogue', sans-serif;font-weight:normal;letter-spacing:0.125rem;font-size:0.75rem;text-transform:uppercase}.header__logo{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:10.9375rem}.header__logo img{width:100%;height:auto}@media (max-width: 61.24em){.header__socials.social__networks{display:none}.header__logo{left:auto;top:auto;-webkit-transform:none;transform:none;position:relative;width:7.5rem}}@media (max-width: 33.74em){.header__burger span{display:none}}.app-body,.app-footer,.app-responsive,.app-header .header__wrapper{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);transition:-webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);transition:transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);transition:transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1)}.nav-opened .app-body,.nav-opened .app-footer,.nav-opened .app-responsive,.nav-opened .app-header .header__wrapper{-webkit-transform:translateX(8.125rem);transform:translateX(8.125rem)}.app-responsive-header{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);-webkit-transition:-webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);transition:-webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);transition:transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);transition:transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1)}.nav-opened .app-responsive-header{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.app-responsive-header{position:fixed;left:0;top:0;height:100%;width:100%;max-width:48rem;z-index:10;background-color:#ec5833;font-family:'Epilogue', sans-serif;font-weight:normal;letter-spacing:0.125rem;font-size:0.75rem;text-transform:uppercase;color:#fff;padding:2.5rem 5rem}@media (max-width: 33.74em){.app-responsive-header{padding:1.25rem}}.responsive__close{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer}.responsive__close-btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:0.625rem;width:2.5rem;height:2.5rem;pointer-events:none}.responsive__close-btn span{position:absolute;width:1.5625rem;height:0.25rem;background-color:#fff;pointer-events:none}.responsive__close-btn span:first-child{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.responsive__close-btn span:last-child{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.responsive__nav-container{margin-top:4.6875rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.responsive__nav-container .header-menu{padding-left:0;margin:0;list-style:none}.responsive__nav-container .header-menu>li{position:relative;margin-bottom:0.9375rem}.responsive__nav-container .header-menu>li a{color:#fff;font-size:1.375rem;font-weight:800;letter-spacing:0.25rem}.responsive__nav-container .header-menu>li.has-children{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.responsive__nav-container .header-menu .children{padding-left:0;margin:0;list-style:none;position:absolute;top:calc(100% + 0.625rem);left:0}.responsive__nav-container .header-menu .children>li{padding-left:1.25rem}.responsive__logo{display:block;width:12.5rem}.responsive__logo img{width:100%;height:auto}.responsive__socials-container{margin-top:6.25rem;padding-top:3.125rem;border-top:solid 0.0625rem #fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.responsive__socials-container span{line-height:1;margin-right:1.25rem}.responsive__socials.social__networks{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.responsive__socials.social__networks a{color:#fff}.responsive__socials.social__networks a:hover{color:rgba(255,255,255,0.5)}@media (max-width: 47.99em){.responsive__nav-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.responsive__nav-container svg{position:absolute;right:-1.875rem;top:0}.responsive__nav-container .header-menu{margin-top:2.5rem}.responsive__nav-container .header-menu .children{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.responsive__nav-container .header-menu .children li{padding:0}.responsive__socials-container{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.responsive__socials-container span{display:none}}.has-children svg{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.has-children span,.has-children svg{pointer-events:none}.has-children>ul{display:none}.has-children.opened>ul{display:block}.has-children.opened svg{-webkit-transform:scaleY(-1);transform:scaleY(-1)}footer.app-footer{color:#fff}footer.app-footer ul{padding-left:0;margin:0;list-style:none}footer.app-footer ul>li.active{font-weight:bold}footer.app-footer a{color:#fff;-webkit-transition:color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}footer.app-footer a:hover{color:#ec5833}footer.app-footer ul.root-parent a{-webkit-transition:color 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);transition:color 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);font-family:'Epilogue', sans-serif;font-weight:normal;letter-spacing:0.125rem;font-size:0.75rem;text-transform:uppercase}.footer__row--nav,.footer__row--socials{background-color:#000}.footer__row--socials .footer__container,.footer__row--legal .footer__container{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.footer__row--nav{padding:3.125rem 0 4.6875rem}.footer__row--nav .footer__container{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.footer__row--nav ul>li{margin-bottom:0.625rem}.footer__row--nav .footer__head{margin-top:0}.footer__row--socials{padding:1.25rem 0}.footer__row--socials .footer__col{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.footer__row--socials p{text-transform:uppercase;letter-spacing:0.125rem;font-size:0.75rem;margin:0 0.9375rem 0 0;position:relative;top:0.1875rem}.footer__row--socials ul>li{margin-bottom:0}.footer__row--socials ul>li a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff;overflow:hidden;font-size:1.25rem}.footer__row--legal{background-color:#121212;padding:0.9375rem 0;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.125rem}.footer__container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.footer__col--logo img{width:9.375rem}.footer__col--logo p{margin:1.25rem 0 0 0;text-transform:uppercase;letter-spacing:0.125rem;font-size:0.75rem;line-height:1.5}.footer__logo-crous{width:4.6875rem;height:4.6875rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.footer__logo-crous svg{width:100%;height:auto}.footer__head{text-transform:uppercase}.footer__menu-legal{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.footer__next-event p{line-height:1.75}@media (max-width: 61.24em){.footer__row--nav .footer__container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center}.footer__row--nav .footer__container .footer__col{width:100%;margin-bottom:1.25rem}.footer__row--nav .footer__container .footer__col:last-child{margin-bottom:0}}@media (max-width: 47.99em){.footer__row--socials .footer__container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.footer__row--socials p{display:none}.footer__row--socials .social__networks{margin-bottom:1.25rem}.footer__row--legal{padding-top:1.875rem;text-align:center}.footer__row--legal .footer__container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.made-by-pan{display:block;width:3.33333rem;height:3.33333rem;text-align:center;text-decoration:none;overflow:hidden}.made-by-pan .logo-pan{display:inline-block;width:263.33333rem;height:3.33333rem;background-image:url("images/sprite-pan.png");background-position:0 0;background-repeat:no-repeat;background-size:263.33333rem 3.33333rem}.wysiwyg{line-height:1.75}.wysiwyg .block__content{opacity:0;-webkit-transition:opacity 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.1s cubic-bezier(0.645, 0.045, 0.355, 1)}.wysiwyg .block__content.reveal{opacity:1}.wysiwyg p{margin-top:0;margin-bottom:1.25rem;font-size:1.25rem;line-height:1.5}.wysiwyg p.aligncenter{text-align:center}.wysiwyg p.alignright{text-align:right}.wysiwyg p+ul{margin-top:-0.625rem}.wysiwyg h1,.wysiwyg .h1{margin-top:1.25rem;margin-bottom:0.625rem;line-height:1.1;font-size:2.875rem;font-weight:600}.wysiwyg h2,.wysiwyg .h2{margin-top:1.25rem;margin-bottom:0.625rem;line-height:1.1;font-size:2.375rem;font-weight:600}.wysiwyg h3,.wysiwyg .h3{margin-top:1.25rem;margin-bottom:0.625rem;line-height:1.1;font-size:2rem;font-weight:600}.wysiwyg h4,.wysiwyg .h4{margin-top:1.25rem;margin-bottom:0.625rem;line-height:1.1;font-size:1.75rem;font-weight:600}.wysiwyg h5,.wysiwyg .h5{margin-top:1.25rem;margin-bottom:0.625rem;line-height:1.1;font-size:1.5rem;font-weight:600}.wysiwyg h6,.wysiwyg .h6{margin-top:1.25rem;margin-bottom:0.625rem;line-height:1.1;font-size:1.125rem;font-weight:600}.wysiwyg h1{margin-top:3.125rem}.wysiwyg blockquote,.wysiwyg cite{position:relative}.wysiwyg ul,.wysiwyg ol{font-size:1.25rem}.wysiwyg ul{margin-top:0}.wysiwyg ul li{text-indent:0em}.wysiwyg ol{list-style:none;-webkit-padding-start:1.25rem;padding-inline-start:1.25rem}.wysiwyg ol li{counter-increment:count-me;text-indent:0}.wysiwyg ol li::before{content:counter(count-me) ". ";font-size:1em;font-weight:900}.wysiwyg hr{position:relative;z-index:1;margin-top:3.75rem;margin-bottom:3.75rem;padding:0.625rem 0;border:0}.wysiwyg hr::before{content:"";position:absolute;top:0;left:50%;width:15.625rem;height:0.0625rem;background-color:#ec5833;-webkit-transform:translate(-50%, 0%);transform:translate(-50%, 0%)}.wysiwyg img,.wysiwyg img[width],.wysiwyg img[height]{max-width:100%;height:auto;margin-bottom:1.875rem}.wysiwyg .aligncenter{display:block;margin-top:1.875rem;margin-bottom:1.875rem;margin-left:auto;margin-right:auto;text-align:center}.wysiwyg .alignleft{float:left;margin:0.3125rem 1.875rem 1.25rem;margin-left:0}.wysiwyg .alignright{float:right;margin:0.3125rem 1.875rem 1.25rem;margin-right:0}.wysiwyg .oembed--video{position:relative;padding-bottom:56.25%;margin-bottom:1.25rem}.wysiwyg .oembed--video iframe,.wysiwyg .oembed--video video{position:absolute;top:0;left:0;width:100%;height:100%}.wysiwyg iframe{max-width:100%}.wysiwyg span.text--blue{color:#364790}.wysiwyg span.text--yellow{color:#ffb656}.wysiwyg span.text--uppercase{text-transform:uppercase}.wysiwyg span.text--bigger{font-size:125%;font-weight:bold}.wysiwyg span.text--small{font-size:75%}.wysiwyg a{color:#1f1f1f;background-image:-webkit-gradient(linear, left top, left bottom, from(#1f1f1f), to(#1f1f1f));background-image:linear-gradient(180deg, #1f1f1f, #1f1f1f);background-repeat:no-repeat;background-size:100% 100%;background-position:0 1.25rem;-webkit-transition:background-position 0.2s cubic-bezier(0.86, 0, 0.07, 1),color 0.2s cubic-bezier(0.86, 0, 0.07, 1);transition:background-position 0.2s cubic-bezier(0.86, 0, 0.07, 1),color 0.2s cubic-bezier(0.86, 0, 0.07, 1)}.wysiwyg a:hover{background-position:0 0;color:#fff}@media (max-width: 47.99em){.wysiwyg blockquote::before,.wysiwyg cite::before{left:0}}@media (min-width: 33.75em) and (max-width: 47.99em){.wysiwyg h1{font-size:1.875rem}.wysiwyg blockquote,.wysiwyg cite{font-size:1.75rem}.wysiwyg hr{margin:2.5rem 0}}@media (max-width: 33.74em){.wysiwyg h1{font-size:1.5625rem}.wysiwyg blockquote,.wysiwyg cite{font-size:1.375rem}.wysiwyg hr{margin:1.25rem 0}}.form{margin:3.75rem 0 6.25rem}.form__form{height:auto;overflow:hidden}.form__success{display:none;text-align:center}.form__success h3,.form__success p{margin-top:0;margin-bottom:0}.form__field{position:relative;width:100%}.form__error{position:relative;margin-top:0.3125rem;color:#ec5833;font-size:80%}.input-field{display:block;width:100%;padding:0.625rem 0;background-color:transparent;border:0;border-bottom:0.0625rem solid #000;font-family:'Epilogue', sans-serif;font-weight:normal;color:#1f1f1f;font-size:1.125rem;vertical-align:middle}.input-field:focus{outline:0}.input-field[disabled],.input-field[readonly],fieldset[disabled] .input-field{cursor:not-allowed}.input-field::-webkit-input-placeholder{color:rgba(31,31,31,0.5)}.input-field::-moz-placeholder{color:rgba(31,31,31,0.5)}.input-field:-ms-input-placeholder{color:rgba(31,31,31,0.5)}.input-field::-ms-input-placeholder{color:rgba(31,31,31,0.5)}.input-field::placeholder{color:rgba(31,31,31,0.5)}.input-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.input-prepend,.input-append{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.input-gtfo{display:none !important}textarea.input-field{height:auto;line-height:1.3;resize:none}.input-label{position:absolute;z-index:2;top:0;color:#1f1f1f;font-size:1.25rem;cursor:pointer;-webkit-transform:translate3d(0, 0, 0) scale(1);transform:translate3d(0, 0, 0) scale(1);-webkit-transform-origin:0% 0%;transform-origin:0% 0%;-webkit-transition:color 0.3s cubic-bezier(0.23, 1, 0.32, 1),-webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);transition:color 0.3s cubic-bezier(0.23, 1, 0.32, 1),-webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);transition:color 0.3s cubic-bezier(0.23, 1, 0.32, 1),transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);transition:color 0.3s cubic-bezier(0.23, 1, 0.32, 1),transform 0.3s cubic-bezier(0.23, 1, 0.32, 1),-webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1)}.input-label.required::after{content:"*";color:#ec5833;font-weight:bold}.form__field{margin-top:2.5rem}.form__field:first-child{margin-top:0}.form__field.input--focused .input-label{color:#121212}.form__field.input--filled .input-label{color:#818181}.form__field.input--filled .input-label::after{color:#818181}.form__field.input--error .input-label{color:#ed3232 !important}.form__field--field::after{content:"";position:absolute;z-index:10;bottom:0;left:0;right:0;height:0.125rem;-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#ec5833;-webkit-transform-origin:left center;transform-origin:left center;-webkit-transition:-webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);transition:-webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1)}.form__field--field.input--focused .input-label,.form__field--field.input--filled .input-label{-webkit-transform:translate3d(0, -1.125rem, 0) scale(0.7);transform:translate3d(0, -1.125rem, 0) scale(0.7)}.form__field--field.input--focused::after{-webkit-transform:scaleX(1);transform:scaleX(1)}.form__field--field.input--error::after{background-color:#ed3232;-webkit-transform:scaleX(1);transform:scaleX(1)}.checkbox{position:relative;display:block}.checkbox--inline{display:inline-block}.checkbox--inline+.checkbox--inline{margin-left:1.25rem}.check-label{display:inline-block;padding-left:1.5625rem;cursor:pointer}.check-field{position:absolute;margin-top:0.1875rem;margin-left:-1.5625rem}.check-field:only-child{position:static}.input-checkbox{position:relative;min-height:1.375rem}.input-checkbox .checkbox__button{position:absolute;z-index:1;top:0;left:0;width:1.375rem;height:1.375rem;border:0.125rem solid #000;border-radius:0.125rem}.input-checkbox .checkbox__button::before{content:"";position:absolute;top:50%;left:50%;width:0.8125rem;height:0.8125rem;background-color:#ec5833;border-radius:0.0625rem;-webkit-transform:translate(-50%, -50%) scale(0);transform:translate(-50%, -50%) scale(0);opacity:0;-webkit-transition:opacity 0.1s cubic-bezier(0.68, -0.55, 0.265, 1.55),-webkit-transform 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);transition:opacity 0.1s cubic-bezier(0.68, -0.55, 0.265, 1.55),-webkit-transform 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);transition:opacity 0.1s cubic-bezier(0.68, -0.55, 0.265, 1.55),transform 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);transition:opacity 0.1s cubic-bezier(0.68, -0.55, 0.265, 1.55),transform 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55),-webkit-transform 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55)}.input-checkbox .checkbox__label{position:relative;display:block;padding-left:1.625rem;cursor:pointer}.input-checkbox .checkbox__desc{position:relative;top:0.25rem;display:block;padding-left:0.625rem}.input-checkbox input[type="checkbox"],.input-checkbox input[type="radio"]{position:absolute;left:0;z-index:-1;opacity:0}.input-checkbox input[type="checkbox"]:checked ~ .checkbox__button::before,.input-checkbox input[type="radio"]:checked ~ .checkbox__button::before{opacity:1;-webkit-transform:translate(-50%, -50%) scale(1);transform:translate(-50%, -50%) scale(1)}.input-checkbox input[name="consent"] ~ .checkbox__desc{top:-0.1875rem;line-height:1.2;font-size:0.9em}.is-safari .input-checkbox .checkbox__label>*,.is-ios .input-checkbox .checkbox__label>*{display:block;pointer-events:none}.contact__consent{margin:2.5rem 0}.template-single-artwork>section{position:relative;max-width:75rem;margin-left:auto;margin-right:auto}@media (min-width: 48em){.template-single-artwork>section{padding-left:1.875rem;padding-right:1.875rem}}@media (min-width: 33.75em) and (max-width: 47.99em){.template-single-artwork>section{padding-left:1.5625rem;padding-right:1.5625rem}}@media (max-width: 33.74em){.template-single-artwork>section{padding-left:1.25rem;padding-right:1.25rem}}.artwork__head{margin-bottom:5rem}.artwork__title .authors{margin:0;text-align:center;font-size:0.6875rem;font-family:'Epilogue', sans-serif;font-weight:normal;letter-spacing:0.125rem;font-size:0.75rem;text-transform:uppercase}.artwork__realisation{position:relative;max-width:50rem;margin-left:auto;margin-right:auto}@media (min-width: 48em){.artwork__realisation{padding-left:1.875rem;padding-right:1.875rem}}@media (min-width: 33.75em) and (max-width: 47.99em){.artwork__realisation{padding-left:1.5625rem;padding-right:1.5625rem}}@media (max-width: 33.74em){.artwork__realisation{padding-left:1.25rem;padding-right:1.25rem}}.artwork__realisation[data-reveal]{opacity:0;-webkit-transform:translateY(6.25rem);transform:translateY(6.25rem);-webkit-transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.artwork__realisation.reveal{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.artwork__embed-inner{position:relative;overflow:hidden}.artwork__embed-inner .embed__video,.artwork__embed-inner .embed__music,.artwork__embed-inner .embed__pdf{position:relative;z-index:1;width:100%;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.artwork__embed-inner .embed__pdf{height:33vw;min-height:28.125rem}.artwork__embed-inner .embed__video iframe{width:100%;min-height:31.25rem}.artwork__photo{position:relative;overflow:hidden}.artwork__photo .block__image{width:100%;height:auto}.artwork__technical-info{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:3.125rem;text-transform:uppercase;letter-spacing:0.0625rem;color:rgba(31,31,31,0.5);font-size:0.75rem}.artwork__technical-info span{color:#1f1f1f}.artwork__technical-info *[data-reveal]{opacity:0;-webkit-transform:translateX(1.25rem);transform:translateX(1.25rem);-webkit-transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.artwork__technical-info *[data-reveal] .award__icon{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:center top;transform-origin:center top;-webkit-transition:-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);-webkit-transition-delay:0.4s;transition-delay:0.4s}.artwork__technical-info *[data-reveal] .award__icon img{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);-webkit-transition-delay:0.8s;transition-delay:0.8s}.artwork__technical-info .reveal{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}.artwork__technical-info .reveal .award__icon{-webkit-transform:scaleY(1);transform:scaleY(1)}.artwork__technical-info .reveal .award__icon img{-webkit-transform:scale(1);transform:scale(1)}.artwork__category{width:33%}.artwork__award,.artwork__year{margin-right:2.5rem}.artwork__award{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.artwork__award .award__icon{width:1.875rem;height:3.125rem;position:relative;margin-right:0.625rem}.artwork__award .award__icon::before{content:"";width:100%;height:100%;background:#ec5833;position:absolute;left:0;top:0}.artwork__award .award__icon::after{position:absolute;content:'';display:block;width:0;height:0;border-style:solid;-moz-transform:scale(0.9999);border-width:0 0.9375rem 0.625rem 0.9375rem;border-color:transparent transparent #f8f6f5 transparent;top:2.5rem;left:0}.artwork__award .award__icon span{position:absolute;top:0.625rem;left:50%;-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0);text-align:center;color:#fff;font-weight:bold;line-height:1.5;letter-spacing:0;z-index:1}.artwork__award .award__icon img{width:0.9375rem}.artwork__content{margin-top:6.25rem;padding-bottom:1.25rem}.artwork__related{margin-top:12.5rem;margin-bottom:9.375rem}.artwork__related .related__grid{padding:0}.artwork__related .related__grid .item:nth-child(1n) a::after{display:none}.artwork__related .related__grid .grid__rect .item__inner{padding:3.75rem 2.5rem}@media (max-width: 61.24em){.artwork__head{margin-bottom:0}.artwork__embed-inner .embed__video iframe{min-height:auto;height:50vw}.artwork__technical-info{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.artwork__category{width:100%}.artwork__award{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.artwork__content{margin-top:3.125rem}.artwork__related{margin-top:3.125rem}}@media (max-width: 47.99em){.artwork__embed-inner{max-width:auto;padding:0}}.template-single-event>section{position:relative;max-width:75rem;margin-left:auto;margin-right:auto}@media (min-width: 48em){.template-single-event>section{padding-left:1.875rem;padding-right:1.875rem}}@media (min-width: 33.75em) and (max-width: 47.99em){.template-single-event>section{padding-left:1.5625rem;padding-right:1.5625rem}}@media (max-width: 33.74em){.template-single-event>section{padding-left:1.25rem;padding-right:1.25rem}}.event__photo{position:relative;max-width:75rem;margin-left:auto;margin-right:auto}@media (min-width: 48em){.event__photo{padding-left:1.875rem;padding-right:1.875rem}}@media (min-width: 33.75em) and (max-width: 47.99em){.event__photo{padding-left:1.5625rem;padding-right:1.5625rem}}@media (max-width: 33.74em){.event__photo{padding-left:1.25rem;padding-right:1.25rem}}.event__photo img{width:100%;height:auto}.event__dates--nobr br{display:none}.event__dates--singular{color:rgba(31,31,31,0.5)}.event__technical-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:3.125rem;text-transform:uppercase;letter-spacing:0.0625rem;font-size:0.75rem}.event__technical-info span{color:#1f1f1f}.event__type{width:33%;color:rgba(31,31,31,0.5) !important}.event__content{margin-top:6.25rem}@media (max-width: 61.24em){.event__technical-info{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.event__type{width:100%}}.contact__form{position:relative;max-width:50rem;margin-left:auto;margin-right:auto}@media (min-width: 48em){.contact__form{padding-left:1.875rem;padding-right:1.875rem}}@media (min-width: 33.75em) and (max-width: 47.99em){.contact__form{padding-left:1.5625rem;padding-right:1.5625rem}}@media (max-width: 33.74em){.contact__form{padding-left:1.25rem;padding-right:1.25rem}}.cookies-consent{position:fixed;z-index:1100;bottom:0.625rem;right:0.625rem;width:25rem;padding:1.25rem;background-color:#1f1f1f;border-radius:0.3125rem;-webkit-box-shadow:0 0 0.9375rem rgba(0,0,0,0.2);box-shadow:0 0 0.9375rem rgba(0,0,0,0.2);color:#fff;font-size:0.875rem;display:none;opacity:0;-webkit-transform:translateY(1.25rem);transform:translateY(1.25rem);-webkit-transition:all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);transition:all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1)}.cookies-consent .cookies__title{margin-top:0;margin-bottom:0.4375rem;font-size:1.125rem;font-weight:600}.cookies-consent .cookies__subtitle{margin-top:0;margin-bottom:0.3125rem;font-size:0.875rem;font-weight:600}.cookies-consent .cookies__content{margin-bottom:0.9375rem;line-height:1.4;font-weight:300}.cookies-consent .cookies__content p{margin-bottom:0.625rem;font-size:0.75rem}.cookies-consent .cookies__content a:not(.btn){color:#fff;background-image:-webkit-gradient(linear, left top, left bottom, from(#ec5833), to(#ec5833));background-image:linear-gradient(180deg, #ec5833, #ec5833)}.cookies-consent .cookies__manager{height:0;text-align:left;overflow:hidden;-webkit-transition:height 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);transition:height 0.3s cubic-bezier(0.215, 0.61, 0.355, 1)}.cookies-consent .cookies__manager ul{padding-left:0;margin:0;list-style:none}.cookies-consent .cookies__manager li{display:inline-block;width:49%;margin-bottom:0.3125rem}.cookies-consent .cookies__inner{position:relative}.cookies-consent .cookies__actions{margin-top:0.625rem;color:#ec5833;text-align:left}.cookies-consent .cookies__button+.cookies__button{margin-left:1.875rem}.cookies-consent.on-enter{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.cookies-consent.show-preferences .cookies__manager{height:auto}.cookies-consent .input-checkbox .checkbox__button{border-color:rgba(255,255,255,0.3)}.cookies-consent .input-checkbox input[type="checkbox"]:disabled ~ .checkbox__desc,.cookies-consent .input-checkbox input[type="radio"]:disabled ~ .checkbox__desc{opacity:0.5}@media (max-width: 33.74em){.cookies-consent{width:100%;right:0;bottom:0;text-align:center}.cookies-consent .cookies__actions{text-align:center}}.social__networks{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:0;margin:0;list-style:none}.social__networks li{margin-right:0.9375rem}.social__networks li:last-child{margin-right:0}.social__networks li a{color:#1f1f1f;font-size:1.25rem;padding:0.625rem;-webkit-transition:color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.social__networks li a:hover{color:#ec5833}.grid{position:relative;width:100%;margin-left:auto;margin-right:auto;padding-left:5%;padding-right:5%}.grid::after{content:"";position:absolute;z-index:-1;width:90%;top:0;bottom:0}.grid__listing{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-left:-5%}.grid__item{width:33.33333%;padding-bottom:10%;padding-left:5%}.grid .item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.grid .item:nth-child(10n),.grid .item:nth-child(10n-6){width:50%}.grid .item:nth-child(10n){padding-left:15%}.grid .item:nth-child(10n-6){padding-right:15%}.grid .item:nth-child(10n-9){padding-top:4%;padding-right:4%}.grid .item:nth-child(10n-8){padding-right:4%;padding-bottom:15%}.grid .item:nth-child(10n-6){padding-left:0%;padding-right:5%;padding-bottom:15%}.grid .item:nth-child(10n-5){padding-top:5%;padding-left:5%}.grid .item:nth-child(10n-3){padding-left:7%;padding-right:2%}.grid .item:nth-child(10n-2){padding-left:7%;padding-bottom:12%}.grid .item:nth-child(20n-19):not(.grid__square--pink) .item__outside-decoration{position:absolute;width:31.25rem;height:31.25rem;background-position:center;background-size:contain;background-repeat:no-repeat;background-image:url("images/shape_circle1.png");z-index:-1;left:-50%;top:50%}@media (max-width: 61.24em){.grid .item:nth-child(20n-19):not(.grid__square--pink) .item__outside-decoration{display:none}}.grid .item:nth-child(20n-18) .item__outside-decoration{position:absolute;width:6.25rem;height:9.375rem;background-position:center;background-size:contain;background-repeat:no-repeat;background-image:url("images/shape_stars.png");z-index:-1;right:-6.25rem;bottom:-50%}@media (max-width: 61.24em){.grid .item:nth-child(20n-18) .item__outside-decoration{display:none}}.grid .item:nth-child(20n-17) .item__outside-decoration{position:absolute;width:37.5rem;height:25rem;background-position:center;background-size:contain;background-repeat:no-repeat;background-image:url("images/shape_yellow.png");z-index:-1;right:calc(-75% + 6.25rem);top:-15.625rem}@media (max-width: 61.24em){.grid .item:nth-child(20n-17) .item__outside-decoration{display:none}}.grid .item:nth-child(20n-16) .item__outside-decoration{position:absolute;width:3.125rem;height:6.25rem;background-position:center;background-size:contain;background-repeat:no-repeat;background-image:url("images/shape_line1.png");z-index:-1;top:-25%;left:-50%}@media (max-width: 61.24em){.grid .item:nth-child(20n-16) .item__outside-decoration{display:none}}.grid .item:nth-child(20n-13) .item__outside-decoration{position:absolute;width:6.25rem;height:9.375rem;background-position:center;background-size:contain;background-repeat:no-repeat;background-image:url("images/shape_tree.png");z-index:-1;top:-4.6875rem;left:-2.5rem}@media (max-width: 61.24em){.grid .item:nth-child(20n-13) .item__outside-decoration{display:none}}.grid .item:nth-child(20n-12) .item__outside-decoration{position:absolute;width:15.625rem;height:15.625rem;background-position:center;background-size:contain;background-repeat:no-repeat;background-image:url("images/shape_circle3.png");z-index:-1;top:-6.25rem;right:-7.8125rem;-webkit-transition:linear;transition:linear;-webkit-animation:fullrotation linear 60s infinite;animation:fullrotation linear 60s infinite}@media (max-width: 61.24em){.grid .item:nth-child(20n-12) .item__outside-decoration{display:none}}.grid .item:nth-child(20n-11) .item__outside-decoration{position:absolute;width:12.5rem;height:12.5rem;background-position:center;background-size:contain;background-repeat:no-repeat;background-image:url("images/shape_circle2.png");z-index:-1;top:calc(100% - 6.25rem);left:calc(-100% + 6.25rem)}@media (max-width: 61.24em){.grid .item:nth-child(20n-11) .item__outside-decoration{display:none}}.grid .item:nth-child(20n-9) .item__outside-decoration{position:absolute;width:6.25rem;height:9.375rem;background-position:center;background-size:contain;background-repeat:no-repeat;background-image:url("images/shape_stars.png");z-index:-1;top:calc(100% + 6.25rem);left:25%}@media (max-width: 61.24em){.grid .item:nth-child(20n-9) .item__outside-decoration{display:none}}.grid .item:nth-child(20n-8) .item__outside-decoration{position:absolute;width:12.5rem;height:12.5rem;background-position:center;background-size:contain;background-repeat:no-repeat;background-image:url("images/shape_triangle.png");z-index:-1;bottom:-6.25rem;right:0}@media (max-width: 61.24em){.grid .item:nth-child(20n-8) .item__outside-decoration{display:none}}.grid .item:nth-child(20n-1),.grid .item:nth-child(20n){z-index:2}.grid .item:nth-child(20n-18){z-index:3}.grid .item .item__outside-decoration{-webkit-transform-origin:center;transform-origin:center;pointer-events:none}.grid .item__inner{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff;text-transform:uppercase;font-weight:bold;font-size:1.375rem}.grid .item__media{position:relative;width:100%;margin:0}.grid .item__media img{width:100%;height:auto}.grid__card .item__category,.grid__rect .item__category{position:absolute;left:-1.25rem;top:45%;-webkit-transform:rotate(-90deg) translate(-50%, 1.25rem);transform:rotate(-90deg) translate(-50%, 1.25rem);-webkit-transform-origin:left center;transform-origin:left center;opacity:0;font-family:'Epilogue', sans-serif;font-weight:normal;letter-spacing:0.125rem;font-size:0.75rem;text-transform:uppercase;color:#818181;-webkit-transition:opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1)}.grid__card a:hover .item__category,.grid__rect a:hover .item__category{opacity:1;-webkit-transform:rotate(-90deg) translate(-50%, 0);transform:rotate(-90deg) translate(-50%, 0);-webkit-transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.25s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.25s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.25s cubic-bezier(0.645, 0.045, 0.355, 1)}.grid__card .item__title,.grid__embed .item__title{position:absolute;top:calc(100% + 1.25rem);left:0;color:#1f1f1f;-webkit-transform:translateY(-0.625rem);transform:translateY(-0.625rem);opacity:0;-webkit-transition:opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1)}.grid__card a:hover .item__title,.grid__embed a:hover .item__title{-webkit-transform:translateY(0);transform:translateY(0);opacity:1;-webkit-transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.25s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.25s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.25s cubic-bezier(0.645, 0.045, 0.355, 1)}.grid__square,.grid__rect{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.grid__square .item__inner,.grid__rect .item__inner{height:auto;padding:1.25rem;background-color:#63baa7;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.grid__square .item__inner::before,.grid__rect .item__inner::before{content:"";display:block;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0;background-color:#63baa7;-webkit-transform:rotate(0deg) scale(1);transform:rotate(0deg) scale(1);-webkit-transition:-webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);transition:-webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);transition:transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);transition:transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1)}.grid__square .item__inner--background-white,.grid__rect .item__inner--background-white{background-color:transparent}.grid__square .item__inner--background-white::before,.grid__rect .item__inner--background-white::before{background-color:#fff}.grid__square .item__inner--background-white .item__title,.grid__rect .item__inner--background-white .item__title{position:relative;z-index:1}.grid__square .item__inner--background-black,.grid__rect .item__inner--background-black{background-color:transparent}.grid__square .item__inner--background-black::before,.grid__rect .item__inner--background-black::before{background-color:#000}.grid__square .item__inner--background-black .item__title,.grid__rect .item__inner--background-black .item__title{position:relative;z-index:1}.grid__square .item__inner--background-grey,.grid__rect .item__inner--background-grey{background-color:transparent}.grid__square .item__inner--background-grey::before,.grid__rect .item__inner--background-grey::before{background-color:#818181}.grid__square .item__inner--background-grey .item__title,.grid__rect .item__inner--background-grey .item__title{position:relative;z-index:1}.grid__square .item__inner--background-red,.grid__rect .item__inner--background-red{background-color:transparent}.grid__square .item__inner--background-red::before,.grid__rect .item__inner--background-red::before{background-color:#ee4537}.grid__square .item__inner--background-red .item__title,.grid__rect .item__inner--background-red .item__title{position:relative;z-index:1}.grid__square .item__inner--background-orange,.grid__rect .item__inner--background-orange{background-color:transparent}.grid__square .item__inner--background-orange::before,.grid__rect .item__inner--background-orange::before{background-color:#ec5833}.grid__square .item__inner--background-orange .item__title,.grid__rect .item__inner--background-orange .item__title{position:relative;z-index:1}.grid__square .item__inner--background-pink,.grid__rect .item__inner--background-pink{background-color:transparent}.grid__square .item__inner--background-pink::before,.grid__rect .item__inner--background-pink::before{background-color:#ffa696}.grid__square .item__inner--background-pink .item__title,.grid__rect .item__inner--background-pink .item__title{position:relative;z-index:1}.grid__square .item__inner--background-yellow,.grid__rect .item__inner--background-yellow{background-color:transparent}.grid__square .item__inner--background-yellow::before,.grid__rect .item__inner--background-yellow::before{background-color:#ffb656}.grid__square .item__inner--background-yellow .item__title,.grid__rect .item__inner--background-yellow .item__title{position:relative;z-index:1}.grid__square .item__inner--background-teal,.grid__rect .item__inner--background-teal{background-color:transparent}.grid__square .item__inner--background-teal::before,.grid__rect .item__inner--background-teal::before{background-color:#63baa7}.grid__square .item__inner--background-teal .item__title,.grid__rect .item__inner--background-teal .item__title{position:relative;z-index:1}.grid__square .item__inner--background-lightblue,.grid__rect .item__inner--background-lightblue{background-color:transparent}.grid__square .item__inner--background-lightblue::before,.grid__rect .item__inner--background-lightblue::before{background-color:#3381BE}.grid__square .item__inner--background-lightblue .item__title,.grid__rect .item__inner--background-lightblue .item__title{position:relative;z-index:1}.grid__square .item__inner--background-blue,.grid__rect .item__inner--background-blue{background-color:transparent}.grid__square .item__inner--background-blue::before,.grid__rect .item__inner--background-blue::before{background-color:#364790}.grid__square .item__inner--background-blue .item__title,.grid__rect .item__inner--background-blue .item__title{position:relative;z-index:1}.grid__square .item__inner:hover::before,.grid__rect .item__inner:hover::before{-webkit-transition:-webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);transition:-webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)}.grid__square .item__title,.grid__rect .item__title{width:100%;text-align:center}.grid__card .item__media{overflow:hidden}.grid__card .item__preview{position:absolute;left:0;top:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:0;-webkit-transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.grid__card img{-webkit-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);transition:-webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);transition:transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);transition:transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1)}.grid__card a:hover img{-webkit-transform:scale(1.1);transform:scale(1.1);-webkit-transition:-webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);transition:-webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1)}.grid__card a:hover .item__preview{opacity:1}.grid__square{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.grid__square .item__inner{width:15.625rem;height:15.625rem}.grid__square .item__inner:hover::before{-webkit-transform:rotate(15deg) scale(1);transform:rotate(15deg) scale(1)}.grid__rect .item__inner{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:3.75rem 2vw;background-color:rgba(0,0,0,0.05);font-weight:800}.grid__rect .item__inner:hover::before{-webkit-transform:rotate(5deg) scale(1);transform:rotate(5deg) scale(1)}.grid__rect .item__title{position:relative;z-index:1}.grid__rect .item__decoration{width:6.25rem;height:1.875rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:1}.grid__rect .item__decoration svg{width:100%;height:auto}.grid__rect .item__decoration--before{margin-bottom:1.25rem}.grid__rect .item__decoration--after{margin-top:1.25rem}.grid__embed{position:relative;max-width:50rem;margin-left:auto;margin-right:auto;position:relative;overflow:hidden}@media (min-width: 48em){.grid__embed{padding-left:1.875rem;padding-right:1.875rem}}@media (min-width: 33.75em) and (max-width: 47.99em){.grid__embed{padding-left:1.5625rem;padding-right:1.5625rem}}@media (max-width: 33.74em){.grid__embed{padding-left:1.25rem;padding-right:1.25rem}}.grid__embed .embed__media{position:relative;z-index:1;width:100%;height:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-bottom:56.25%}.grid__embed iframe,.grid__embed object,.grid__embed embed{position:absolute;top:0;left:0;width:100%;height:100%}.grid__empty{padding:12.5rem 0;text-align:center}.grid__card,.grid__rect,.grid__square{opacity:0;-webkit-transform:translateY(1.25rem);transform:translateY(1.25rem);-webkit-transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.grid__card.reveal,.grid__rect.reveal,.grid__square.reveal{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}@media (min-width: 33.75em) and (max-width: 61.24em){.grid .item{width:50%}.grid .item.grid__card:nth-child(2n-1){padding-left:5%;padding-right:5%}.grid .item.grid__card:nth-child(2n){padding-left:5%;padding-right:0%}}@media (max-width: 47.99em){.grid__rect .item__inner{padding-left:1.25rem;padding-right:1.25rem}}@media (max-width: 33.74em){.grid{padding:0 1.25rem}.grid__listing{margin-left:0}.grid .item:nth-child(1n){padding:0 0 6.25rem 0;width:100%}.grid .item__category{left:-0.5rem}}.heading{text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-bottom:1.25rem;margin-bottom:4.6875rem}.heading h1,.heading h2{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;margin:0;padding-bottom:0.3125rem;font-size:1.375rem;text-align:center;text-transform:uppercase;letter-spacing:0.0625rem}.heading .chars{display:inline-block}.heading__subtitle{margin:0;font-size:0.6875rem;padding:0.125rem 0;text-transform:uppercase}.heading__decoration{width:9.375rem;height:2.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.heading__decoration svg{width:100%;height:auto}.heading__decoration svg path{fill:none;stroke:black}@media (max-width: 61.24em){.heading{margin-bottom:0}}.heading[data-reveal] .heading__title,.heading[data-reveal] .heading__subtitle,.heading[data-reveal] .heading__decoration{opacity:0;-webkit-font-kerning:none;font-kerning:none;text-rendering:optimizeSpeed;-webkit-transform:translateZ(0);transform:translateZ(0);line-height:1;overflow:hidden}.heading[data-reveal] .line{line-height:1.3;overflow:hidden;margin:-0.14em 0 -0.30em}.heading.reveal .heading__title,.heading.reveal .heading__subtitle,.heading.reveal .heading__decoration{opacity:1}.pagination{position:relative;margin-top:3.75rem;margin-bottom:5rem;text-align:center}.pagination ul{position:relative;padding-left:0;margin:0;list-style:none;display:inline-block;font-size:0;line-height:1}.pagination li{position:relative;display:inline-block;font-size:1.375rem;vertical-align:middle}.pagination a{display:block;padding:0.625rem;color:inherit;font-weight:600;-webkit-transition:color 0.3s cubic-bezier(0.23, 1, 0.32, 1);transition:color 0.3s cubic-bezier(0.23, 1, 0.32, 1)}.pagination a:hover{color:#ec5833}.pagination .extend{margin-left:0.625rem;margin-right:0.625rem}.pagination .current{color:#ec5833}.svg-icons{display:none}svg.icon,svg[class^="icon-"],svg[class*=" icon-"]{display:inline-block;line-height:inherit !important;vertical-align:middle;fill:currentColor}.icon-arrow{width:.8em;height:.8em}.icon-arrow-right{width:.275em;height:.275em}.icon-chevron-down{width:.8em;height:.8em}.icon-facebook{width:.8em;height:.8em}.icon-filters{width:.8em;height:.8em}.icon-heart{width:.5325em;height:.5em}.icon-instagram{width:.8em;height:.8em}.icon-linkedin{width:.8em;height:.8em}.icon-logo_crous{width:.8em;height:.8em}.icon-menu{width:.8em;height:.8em}.icon-pinterest{width:.8em;height:.8em}.icon-soundcloud{width:.8em;height:.8em}.icon-twitter{width:.8em;height:.8em}.icon-wave{width:.8em;height:.16625em}.icon-youtube{width:.8em;height:.8em}@-webkit-keyframes homescroll{0%{-webkit-transform:translate(0%, -40%);transform:translate(0%, -40%)}100%{-webkit-transform:translate(-100%, -40%);transform:translate(-100%, -40%)}}@keyframes homescroll{0%{-webkit-transform:translate(0%, -40%);transform:translate(0%, -40%)}100%{-webkit-transform:translate(-100%, -40%);transform:translate(-100%, -40%)}}@-webkit-keyframes circularSpinnerDash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-2.1875rem}100%{stroke-dasharray:89, 200;stroke-dashoffset:-7.75rem}}@keyframes circularSpinnerDash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-2.1875rem}100%{stroke-dasharray:89, 200;stroke-dashoffset:-7.75rem}}@-webkit-keyframes circularSpinnerRotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes circularSpinnerRotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes blinkingCursor{0%{opacity:0}100%{opacity:1}}@keyframes blinkingCursor{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fullrotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fullrotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.block h2{margin-bottom:0;font-size:1.3125rem}.block-image[data-reveal],.block-gallery[data-reveal],.block-wysiwyg[data-reveal],.block-embed[data-reveal],.block-interview[data-reveal]{opacity:0;-webkit-transform:translateY(1.25rem);transform:translateY(1.25rem);-webkit-transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.block-image.reveal,.block-gallery.reveal,.block-wysiwyg.reveal,.block-embed.reveal,.block-interview.reveal{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.block-image{position:relative;overflow:hidden;margin-bottom:5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.block-image.fullwidth .block__image{width:100%;height:auto}@media (min-width: 61.25em){.block-image.align--right{margin-left:shift(1, 4)}.block-image.align--left{margin-right:shift(1, 4)}.block-image.align--center{position:relative;max-width:50rem;margin-left:auto;margin-right:auto}}@media (min-width: 61.25em) and (min-width: 48em){.block-image.align--center{padding-left:1.875rem;padding-right:1.875rem}}@media (min-width: 61.25em) and (min-width: 33.75em) and (max-width: 47.99em){.block-image.align--center{padding-left:1.5625rem;padding-right:1.5625rem}}@media (min-width: 61.25em) and (max-width: 33.74em){.block-image.align--center{padding-left:1.25rem;padding-right:1.25rem}}@media (min-width: 61.25em){.block-image.align--fullwidth{width:100%}}@media (max-width: 61.24em){.block-image .block__url{width:100%;height:auto}.block-image .block__media{margin:0}.block-image .block__media img{width:100%;height:auto}}.block-quote{position:relative;margin-bottom:5rem;padding:4.6875rem 0;padding-left:33%}.block-quote .quote__decoration{width:33%;position:absolute;top:0;left:0;opacity:0}.block-quote .quote__decoration img{position:absolute;right:3.125rem;-webkit-transform:translateY(-25%);transform:translateY(-25%);width:150%;z-index:-1}.block-quote .quote__text{font-weight:800;font-style:italic;font-size:1.3125rem;letter-spacing:0.0625rem;margin-bottom:1.25rem;opacity:0}.block-quote .quote__text::before,.block-quote .quote__text::after{display:inline-block;opacity:0;-webkit-transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.block-quote .quote__text::before{content:"\201C"}.block-quote .quote__text::after{content:"\201D"}.block-quote .quote__text .word{display:inline-block}.block-quote .quote__author{font-size:0.75rem;letter-spacing:0.125rem;text-transform:uppercase;opacity:0}.block-quote.reveal .quote__text{opacity:1}.block-quote.reveal .quote__text::before,.block-quote.reveal .quote__text::after{opacity:1}.block-quote.reveal .quote__author{opacity:1}@media (max-width: 47.99em){.block-quote{padding-left:0}.block-quote .quote__decoration{visibility:hidden}}.block-gallery{position:relative;margin-bottom:6.25rem;overflow:hidden}.block-gallery .gallery__wrapper{position:relative;width:100%;max-width:75rem;margin-left:auto;margin-right:auto}.block-gallery .gallery__slides{position:relative}.block-gallery .gallery__slide{display:none}.block-gallery .gallery__medias{position:relative;z-index:1;padding-bottom:56.25%;background-color:#ec5833;overflow:hidden}.block-gallery .slide__media,.block-gallery .slide__image{position:absolute;top:0;left:0;width:100%;height:100%}.block-gallery .slide__media{margin:0}.block-gallery .slide__image{-o-object-fit:cover;object-fit:cover}.block-gallery .active.slide__content,.block-gallery .active.slide__media{z-index:100}.block-gallery .active.slide__content{position:relative;pointer-events:visible}.block-gallery .old.slide__content,.block-gallery .old.slide__media{z-index:99}.block-gallery .slide__action{opacity:0}.block-gallery .position--top-left .slide__image{-o-object-position:top left;object-position:top left}.block-gallery .position--center-left .slide__image{-o-object-position:center left;object-position:center left}.block-gallery .position--bottom-left .slide__image{-o-object-position:bottom left;object-position:bottom left}.block-gallery .position--top-center .slide__image{-o-object-position:top center;object-position:top center}.block-gallery .position--center .slide__image{-o-object-position:center center;object-position:center center}.block-gallery .position--bottom-center .slide__image{-o-object-position:bottom center;object-position:bottom center}.block-gallery .position--top-right .slide__image{-o-object-position:top right;object-position:top right}.block-gallery .position--center-right .slide__image{-o-object-position:center right;object-position:center right}.block-gallery .position--bottom-right .slide__image{-o-object-position:bottom right;object-position:bottom right}.block-wysiwyg{margin-bottom:5rem;padding-left:33%}.block-wysiwyg.fullwidth{padding-left:0}@media (max-width: 61.24em){.block-wysiwyg{padding-left:0}}.block-spacer{display:block;font-size:0;min-height:1.25rem}@media (max-width: 61.24em){.block-spacer{display:none}}.block-interview h2{padding-left:33%}.block-interview .embed-inner{margin-bottom:0.625rem}.block-interview .embed-inner:last-child{margin-bottom:0}.block-interview,.block-embed{position:relative;max-width:50rem;margin-left:auto;margin-right:auto;margin-top:5rem;margin-bottom:5rem;position:relative;overflow:hidden}@media (min-width: 48em){.block-interview,.block-embed{padding-left:1.875rem;padding-right:1.875rem}}@media (min-width: 33.75em) and (max-width: 47.99em){.block-interview,.block-embed{padding-left:1.5625rem;padding-right:1.5625rem}}@media (max-width: 33.74em){.block-interview,.block-embed{padding-left:1.25rem;padding-right:1.25rem}}.block-interview .embed-inner,.block-embed .embed-inner{position:relative;z-index:1;width:100%;overflow:hidden}.block-interview .embed-inner.embed--video .embed__media,.block-embed .embed-inner.embed--video .embed__media{padding-bottom:56.25%;height:0;max-width:100%;height:auto;overflow:hidden}.block-interview .embed-inner.embed--video iframe,.block-interview .embed-inner.embed--video object,.block-interview .embed-inner.embed--video embed,.block-embed .embed-inner.embed--video iframe,.block-embed .embed-inner.embed--video object,.block-embed .embed-inner.embed--video embed{position:absolute;top:0;left:0;width:100%;height:100%}.template-home .heading{position:relative;z-index:10}.template-home .heading__title{line-height:1.875rem}.template-home .heading__subtitle{position:absolute;top:100%;letter-spacing:0.125rem}@media (max-width: 61.24em){.template-home .heading{margin-bottom:4.6875rem}}.home__end{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:6.25rem 0 12.5rem}.end__text{position:absolute;top:50%;-webkit-transform:translate(0, -40%);transform:translate(0, -40%);white-space:nowrap;font-size:15vw;text-transform:uppercase;font-weight:bold;letter-spacing:1vw;line-height:1;-webkit-animation:homescroll 60s linear infinite;animation:homescroll 60s linear infinite;z-index:-1}.end__text span{padding:0 1.25rem}.end__text span:nth-child(2){position:absolute;left:100%}.end__image{width:18.75rem;height:auto;-webkit-box-shadow:0 0 1.25rem rgba(0,0,0,0.15);box-shadow:0 0 1.25rem rgba(0,0,0,0.15)}.contact__decorations{position:absolute;width:100%;left:0;top:0;z-index:-1}.contact__decorations img{position:absolute}.contact__decoration--1{width:25rem;left:0;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.contact__decoration--2{width:12.5rem;right:0;-webkit-transform:translateX(50%);transform:translateX(50%)}.contact__content{position:relative;max-width:75rem;margin-left:auto;margin-right:auto;opacity:0}@media (min-width: 48em){.contact__content{padding-left:1.875rem;padding-right:1.875rem}}@media (min-width: 33.75em) and (max-width: 47.99em){.contact__content{padding-left:1.5625rem;padding-right:1.5625rem}}@media (max-width: 33.74em){.contact__content{padding-left:1.25rem;padding-right:1.25rem}}.contact__content.reveal{opacity:1}.contact__content h2{position:relative;font-size:4.375rem;margin-bottom:0.9375rem;font-weight:800}.contact__content-wrapper{opacity:0;-webkit-transform:translateY(-0.625rem);transform:translateY(-0.625rem);-webkit-transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)}.contact__content-wrapper.reveal{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.contact__cursor{position:absolute;z-index:10;top:0;left:0.3125rem;width:0.1em;background-color:#1f1f1f;-webkit-animation:blinkingCursor 1s cubic-bezier(0.645, 0.045, 0.355, 1) infinite;animation:blinkingCursor 1s cubic-bezier(0.645, 0.045, 0.355, 1) infinite}@media (min-width: 61.25em){.contact__content{padding-left:calc((75rem - 50rem) / 2 + 1.875rem)}}.template-events{position:relative;max-width:75rem;margin-left:auto;margin-right:auto;margin-bottom:12.5rem}@media (min-width: 48em){.template-events{padding-left:1.875rem;padding-right:1.875rem}}@media (min-width: 33.75em) and (max-width: 47.99em){.template-events{padding-left:1.5625rem;padding-right:1.5625rem}}@media (max-width: 33.74em){.template-events{padding-left:1.25rem;padding-right:1.25rem}}@media (min-width: 33.75em) and (max-width: 61.24em){.template-events{margin-bottom:6.25rem}}@media (max-width: 33.74em){.template-events{margin-bottom:3.125rem}}.events__listing{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.event__card{width:calc(25% - 1.875rem);margin-right:2.5rem;padding-bottom:3.125rem}.event__card:nth-child(4n){margin-right:0}.event__card:hover .event__media img{-webkit-transform:translate(-50%, -50%) scale(1.1);transform:translate(-50%, -50%) scale(1.1);-webkit-transition:-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.event__card:hover .event__title,.event__card:hover .event__dates{color:#ec5833}.event__card[data-reveal]{opacity:0;-webkit-transform:scale(0.9);transform:scale(0.9);-webkit-transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.event__card.reveal{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.event__title,.event__dates{-webkit-transition:color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.event__title{font-family:'Epilogue', sans-serif;font-weight:normal;letter-spacing:0.0625rem;font-size:1.875rem;font-weight:bold;text-transform:uppercase;color:#000}.event__dates--page{color:#000}.event__dates span{font-family:'Epilogue', sans-serif;font-weight:normal;letter-spacing:0.125rem;font-size:0.75rem;text-transform:uppercase}.event__media{position:relative;width:100%;margin:0;padding-bottom:100%;overflow:hidden}.event__media img{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%) scale(1);transform:translate(-50%, -50%) scale(1);width:100%;height:auto;-webkit-transition:-webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);transition:-webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);transition:transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);transition:transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}@media (min-width: 33.75em) and (max-width: 61.24em){.event__card{width:calc(50% - 1.875rem)}}@media (max-width: 33.74em){.event__card{width:100%}}.template-page{margin-bottom:12.5rem}.template-page .page__content{position:relative;max-width:75rem;margin-left:auto;margin-right:auto}@media (min-width: 48em){.template-page .page__content{padding-left:1.875rem;padding-right:1.875rem}}@media (min-width: 33.75em) and (max-width: 47.99em){.template-page .page__content{padding-left:1.5625rem;padding-right:1.5625rem}}@media (max-width: 33.74em){.template-page .page__content{padding-left:1.25rem;padding-right:1.25rem}}.template-archive-artworks .filters{position:relative;width:100%;margin-left:auto;margin-right:auto;padding-left:5%;padding-right:5%;margin-bottom:9.375rem;z-index:10}.template-archive-artworks .filters__menu,.template-archive-artworks .filters__container{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.template-archive-artworks .filters__menu span,.template-archive-artworks .filters__menu svg{pointer-events:none}.template-archive-artworks .filters__order{margin-right:1.25rem;color:#b4b4b4}.template-archive-artworks .filters__taxonomy{margin-right:2.5rem;background-color:transparent;border:none}.template-archive-artworks .filters__taxonomy span{font-family:'Epilogue', sans-serif;font-weight:normal;letter-spacing:0.125rem;font-size:0.75rem;text-transform:uppercase;margin-right:0.625rem}.template-archive-artworks .filters__taxonomy:last-child{margin-right:0}.template-archive-artworks .filters__taxonomy.active-filter{font-weight:bold}.template-archive-artworks .filters__taxonomy.active-filter svg{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.template-archive-artworks .filters__taxonomy:focus{outline:none}.template-archive-artworks .filters__taxonomy svg{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.template-archive-artworks .filters__container{position:absolute;bottom:0;left:5%;pointer-events:none;opacity:0;-webkit-transform:translateY(calc(100% + 1.25rem));transform:translateY(calc(100% + 1.25rem));-webkit-transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);transition:transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1)}.template-archive-artworks .filters__container.active-filter{pointer-events:all;opacity:1;-webkit-transform:translateY(100%);transform:translateY(100%)}.template-archive-artworks .filters__input{min-height:unset;padding:0.3125rem 0}.template-archive-artworks .form__field{margin-top:0;width:auto;margin-right:1.875rem}.template-archive-artworks .form__field:last-child{margin-right:0}.template-archive-artworks .checkbox__label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:0}.template-archive-artworks .checkbox__label:last-child{margin-right:0}.template-archive-artworks .checkbox__button,.template-archive-artworks .checkbox__desc{display:inline-block}.template-archive-artworks .checkbox__button,.template-archive-artworks .checkbox__button::before{border-radius:50%}.template-archive-artworks .checkbox__button{position:relative;border-width:0.0625rem;width:0.75rem;height:0.75rem}.template-archive-artworks .checkbox__button::before{background-color:#000;width:0.6875rem;height:0.6875rem}.template-archive-artworks .checkbox__desc{font-family:'Epilogue', sans-serif;font-weight:normal;letter-spacing:0.125rem;font-size:0.75rem;text-transform:uppercase;font-size:0.875rem;line-height:0.75rem;letter-spacing:0.1875rem;top:0.125rem}.template-archive-artworks .checkbox input[type="radio"]:checked ~ .checkbox__button ~ .checkbox__desc{font-weight:bold}.pull--right,.flr{float:right !important}.pull--left,.fll{float:left !important}.pull--none,.fln{float:none !important}.text--left,.tal{text-align:left !important}.text--center,.tac{text-align:center !important}.text--right,.tar{text-align:right !important}.text--justify,.taj{text-align:justify !important}.text--uppercase,.ttu{text-transform:uppercase !important}.weight--light{font-weight:300 !important}.weight--normal{font-weight:400 !important}.weight--semibold{font-weight:600 !important}.hidden{display:none}.show{display:block}.invisible{visibility:hidden}.visible{visibility:visible}.w10{width:10% !important}.w20{width:20% !important}.w25{width:25% !important}.w30{width:30% !important}.w33{width:33.333% !important}.w40{width:40% !important}.w50{width:50% !important}.w60{width:60% !important}.w66{width:66.666% !important}.w70{width:70% !important}.w75{width:75% !important}.w80{width:80% !important}.w90{width:90% !important}.w100{width:100% !important}.w50p{width:3.125rem !important}.w100p{width:6.25rem !important}.w150p{width:9.375rem !important}.w200p{width:12.5rem !important}.w300p{width:18.75rem !important}.w400p{width:25rem !important}.w500p{width:31.25rem !important}.w600p{width:37.5rem !important}.w700p{width:43.75rem !important}.w800p{width:50rem !important}.w960p{width:60rem !important}.mw960p{max-width:60rem !important}.w1140p{width:71.25rem !important}.mw1140p{max-width:71.25rem !important}.m--reset,.ma0,.nomargin{margin:0 !important}.p--reset,.pa0,.nopadding{padding:0 !important}.mx--auto{margin-left:auto;margin-right:auto}.ma5{margin:0.3125rem !important}.ma10,.mas{margin:0.625rem !important}.ma15{margin:0.9375rem !important}.ma20,.mam{margin:1.25rem !important}.ma30,.mal{margin:1.875rem !important}.ma50{margin:3.125rem !important}.pa5{padding:0.3125rem !important}.pa10,.pas{padding:0.625rem !important}.pa15{padding:0.9375rem !important}.pa20,.pam{padding:1.25rem !important}.pa30,.pal{padding:1.875rem !important}.pa50{padding:3.125rem !important}.mt0,.mtn{margin-top:0 !important}.mt5{margin-top:0.3125rem !important}.mt10,.mts{margin-top:0.625rem !important}.mt15{margin-top:0.9375rem !important}.mt20,.mtm{margin-top:1.25rem !important}.mt30,.mtl{margin-top:1.875rem !important}.mt50{margin-top:3.125rem !important}.mt100{margin-top:6.25rem !important}.mr0,.mrn{margin-right:0 !important}.mr5{margin-right:0.3125rem !important}.mr10,.mrs{margin-right:0.625rem !important}.mr15{margin-right:0.9375rem !important}.mr20,.mrm{margin-right:1.25rem !important}.mr30,.mrl{margin-right:1.875rem !important}.mr50{margin-right:3.125rem !important}.mr100{margin-right:6.25rem !important}.mb0,.mbn{margin-bottom:0 !important}.mb5{margin-bottom:0.3125rem !important}.mb10,.mbs{margin-bottom:0.625rem !important}.mb15{margin-bottom:0.9375rem !important}.mb20,.mbm{margin-bottom:1.25rem !important}.mb30,.mbl{margin-bottom:1.875rem !important}.mb50{margin-bottom:3.125rem !important}.mb100{margin-bottom:6.25rem !important}.ml0,.mln{margin-left:0 !important}.ml5{margin-left:0.3125rem !important}.ml10,.mls{margin-left:0.625rem !important}.ml15{margin-left:0.9375rem !important}.ml20,.mlm{margin-left:1.25rem !important}.ml30,.mll{margin-left:1.875rem !important}.ml50{margin-left:3.125rem !important}.ml100{margin-left:6.25rem !important}.pt0,.ptn{padding-top:0 !important}.pt5{padding-top:0.3125rem !important}.pt10,.pts{padding-top:0.625rem !important}.pt15{padding-top:0.9375rem !important}.pt20,.ptm{padding-top:1.25rem !important}.pt30,.ptl{padding-top:1.875rem !important}.pt50{padding-top:3.125rem !important}.pt100{padding-top:6.25rem !important}.pr0,.prn{padding-right:0 !important}.pr5{padding-right:0.3125rem !important}.pr10,.prs{padding-right:0.625rem !important}.pr15{padding-right:0.9375rem !important}.pr20,.prm{padding-right:1.25rem !important}.pr30,.prl{padding-right:1.875rem !important}.pr50{padding-right:3.125rem !important}.pr100{padding-right:6.25rem !important}.pb0,.pbn{padding-bottom:0 !important}.pb5{padding-bottom:0.3125rem !important}.pb10,.pbs{padding-bottom:0.625rem !important}.pb15{padding-bottom:0.9375rem !important}.pb20,.pbm{padding-bottom:1.25rem !important}.pb30,.pbl{padding-bottom:1.875rem !important}.pb50{padding-bottom:3.125rem !important}.pb100{padding-bottom:6.25rem !important}.pl0,.pln{padding-left:0 !important}.pl5{padding-left:0.3125rem !important}.pl10,.pls{padding-left:0.625rem !important}.pl15{padding-left:0.9375rem !important}.pl20,.plm{padding-left:1.25rem !important}.pl30,.pll{padding-left:1.875rem !important}.pl50{padding-left:3.125rem !important}.pl100{padding-left:6.25rem !important}.color--white{color:#fff}.color--black{color:#000}.color--grey{color:#818181}.color--red{color:#ee4537}.color--orange{color:#ec5833}.color--pink{color:#ffa696}.color--yellow{color:#ffb656}.color--teal{color:#63baa7}.color--lightblue{color:#3381BE}.color--blue{color:#364790}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uL2NsaWVudC9jbGllbnQvc3R5bGVzL3V0aWxzL19yZWJvb3Quc2NzcyIsIi4uL2NsaWVudC9jbGllbnQvc3R5bGVzL19zaGFyZWQuc2NzcyIsIi4uL2NsaWVudC9jbGllbnQvc3R5bGVzL3V0aWxzL19taXhpbnMuc2NzcyIsIi4uL2NsaWVudC9jbGllbnQvc3R5bGVzL2NvbW1vbi9fZm9udHMuc2NzcyIsIi4uL2NsaWVudC9jbGllbnQvc3R5bGVzL2NvbW1vbi9fZ2xvYmFsLnNjc3MiLCIuLi9jbGllbnQvY2xpZW50L3N0eWxlcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1tcS9fbXEuc2NzcyIsIi4uL2NsaWVudC9jbGllbnQvc3R5bGVzL2NvbW1vbi9fbGF5b3V0LnNjc3MiLCIuLi9jbGllbnQvY2xpZW50L3N0eWxlcy9jb21tb24vX2J1dHRvbnMuc2NzcyIsIi4uL2NsaWVudC9jbGllbnQvc3R5bGVzL3V0aWxzL19lYXNpbmdzLnNjc3MiLCIuLi9jbGllbnQvY2xpZW50L3N0eWxlcy9jb21tb24vX2hlYWRlci5zY3NzIiwiLi4vY2xpZW50L2NsaWVudC9zdHlsZXMvY29tbW9uL19mb290ZXIuc2NzcyIsIi4uL2NsaWVudC9jbGllbnQvc3R5bGVzL2NvbW1vbi9fd3lzaXd5Zy5zY3NzIiwiLi4vY2xpZW50L2NsaWVudC9zdHlsZXMvY29tbW9uL19mb3Jtcy5zY3NzIiwiLi4vY2xpZW50L2NsaWVudC9zdHlsZXMvYXJ0d29ya3MvX3NpbmdsZS1hcnR3b3JrLnNjc3MiLCIuLi9jbGllbnQvY2xpZW50L3N0eWxlcy9ldmVudHMvX3NpbmdsZS1ldmVudC5zY3NzIiwiLi4vY2xpZW50L2NsaWVudC9zdHlsZXMvcGFydGlhbHMvX2NvbnRhY3Quc2NzcyIsIi4uL2NsaWVudC9jbGllbnQvc3R5bGVzL3BhcnRpYWxzL19jb29raWVzY29uc2VudC5zY3NzIiwiLi4vY2xpZW50L2NsaWVudC9zdHlsZXMvcGFydGlhbHMvX3NvY2lhbHMuc2NzcyIsIi4uL2NsaWVudC9jbGllbnQvc3R5bGVzL3BhcnRpYWxzL19ncmlkLnNjc3MiLCIuLi9jbGllbnQvY2xpZW50L3N0eWxlcy9wYXJ0aWFscy9faGVhZGluZy5zY3NzIiwiLi4vY2xpZW50L2NsaWVudC9zdHlsZXMvcGFydGlhbHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL2NsaWVudC9jbGllbnQvc3R5bGVzL2luY2x1ZGVzL19zdmctaWNvbnMuc2NzcyIsIi4uL2NsaWVudC9jbGllbnQvc3R5bGVzL2luY2x1ZGVzL19hbmltYXRpb25zLnNjc3MiLCIuLi9jbGllbnQvY2xpZW50L3N0eWxlcy9ibG9ja3MvX2Jsb2Nrcy5zY3NzIiwiLi4vY2xpZW50L2NsaWVudC9zdHlsZXMvYmxvY2tzL19pbWFnZS5zY3NzIiwiLi4vY2xpZW50L2NsaWVudC9zdHlsZXMvYmxvY2tzL19xdW90ZS5zY3NzIiwiLi4vY2xpZW50L2NsaWVudC9zdHlsZXMvYmxvY2tzL19nYWxsZXJ5LnNjc3MiLCIuLi9jbGllbnQvY2xpZW50L3N0eWxlcy9sYXlvdXRzL19ob21lLnNjc3MiLCIuLi9jbGllbnQvY2xpZW50L3N0eWxlcy9sYXlvdXRzL19jb250YWN0LnNjc3MiLCIuLi9jbGllbnQvY2xpZW50L3N0eWxlcy9sYXlvdXRzL19ldmVudHMuc2NzcyIsIi4uL2NsaWVudC9jbGllbnQvc3R5bGVzL2xheW91dHMvX3BhZ2Uuc2NzcyIsIi4uL2NsaWVudC9jbGllbnQvc3R5bGVzL2xheW91dHMvX2xpc3Rpbmcuc2NzcyIsIi4uL2NsaWVudC9jbGllbnQvc3R5bGVzL3V0aWxzL19oZWxwZXJzLnNjc3MiLCIuLi9jbGllbnQvY2xpZW50L3N0eWxlcy9jb21tb24vX2hlbHBlcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyQ0UsZ0VBQUEsQ0FBaUUsS0EwQjNELGdCQUFpQixDQUVuQix5QkFBMEIsQ0FDMUIsNkJBQThCLENBQy9CLEtBWUMsUUFBUyxDQUNWLHdDQVlDLGFBQWMsQ0FDZixHQ3pFSCxhQVh1QyxDRHNHakMsZUFBZ0IsQ0FFbkIsa0JBa0ZDLGFBQWMsQ0FDZixPQVdHLGlCRXpMWSxDRjJMZixHQVFDLDhCQUF1QixDQUF2QixzQkFBdUIsQ0FDdkIsUUFBUyxDQUNULGdCQUFpQixDQUNsQixLQU9DLGFBQWMsQ0FDZixJQW1CQyxnQ0FBaUMsQ0FDakMsYUFBYyxDQUNmLEVBYUMsNEJBQTZCLENBQzdCLG9DQUFxQyxDQUN0QyxZQWFDLGtCQUFtQixDQUNuQix5QkFBMEIsQ0FDMUIsd0NBQWlCLENBQWpCLGdDQUFpQyxDQUNsQyxTQVFDLG1CQUFvQixDQUNyQixTQVFDLGtCQUFtQixDQUNwQixjQVVDLGdDQUFpQyxDQUNqQyxhQUFjLENBQ2YsSUFPQyxpQkFBa0IsQ0FDbkIsS0FPQyxxQkFBc0IsQ0FDdEIsVUFBVyxDQUNaLE1BT0MsYUFBYyxDQUNmLFFBU0MsYUFBYyxDQUNkLGFBQWMsQ0FDZCxpQkFBa0IsQ0FDbEIsdUJBQXdCLENBQ3pCLElBR0MsY0FBZSxDQUNoQixJQUdDLFVBQVcsQ0FDWixZQWFDLG9CQUFxQixDQUN0QixzQkFPQyxZQUFhLENBQ2IsUUFBUyxDQUNWLElBT0MsaUJBQWtCLENBQ25CLGVBT0MsZUFBZ0IsQ0FDakIsc0NBaUJDLHNCQUFnRSxDQUNoRSxjQUFlLENBS2IsZ0JBQWlCLENBRW5CLFFBQVMsQ0FDVixPQU9DLGdCQUFpQixDQUNsQixjQVNDLG1CQUFvQixDQUNyQiwyREFZQyx5QkFBMEIsQ0FDM0IsOEhBWUcsaUJBQWtCLENBQ2xCLFNBQVUsQ0FYZCxr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QUNmLHFCQUFzQixDQWxCOUIsY0FzQlEsYUFBYyxDQUNkLGdCQUFhLENBRWIsYUFBYyxDQUNkLGVBQWdCLENBRWhCLDREWmhCWSxDWWdCWixvRFpoQnFELENZWjdELG9CQStCWSxhaEJyQk8sQ2dCVm5CLG9CQW9DUSxvQkFBaUIsQ0FDakIscUJBQWtCLENBckMxQixxQkF5Q1EsYWhCL0JXLENnQmdDZCxXQ0xELFlBQWEsQ0FDaEIsa0RBS0csb0JBQXFCLENBQ3JCLDhCQUErQixDQUMvQixxQkFBc0IsQ0FFdEIsaUJBQWtCLENBQ3JCLFlBbEJHLFVwQlJxQyxDb0JTckMsV3BCVHFDLENvQitCckMsa0JBdkJBLFlwQlJxQyxDb0JTckMsYXBCVHFDLENvQitCckMsbUJBdkJBLFVwQlJxQyxDb0JTckMsV3BCVHFDLENvQitCckMsZUF2QkEsVXBCUnFDLENvQlNyQyxXcEJUcUMsQ29CK0JyQyxjQXZCQSxVcEJScUMsQ29CU3JDLFdwQlRxQyxDb0IrQnJDLFlBdkJBLGFwQlJxQyxDb0JTckMsV3BCVHFDLENvQitCckMsZ0JBdkJBLFVwQlJxQyxDb0JTckMsV3BCVHFDLENvQitCckMsZUF2QkEsVXBCUnFDLENvQlNyQyxXcEJUcUMsQ29CK0JyQyxpQkF2QkEsVXBCUnFDLENvQlNyQyxXcEJUcUMsQ29CK0JyQyxXQXZCQSxVcEJScUMsQ29CU3JDLFdwQlRxQyxDb0IrQnJDLGdCQXZCQSxVcEJScUMsQ29CU3JDLFdwQlRxQyxDb0IrQnJDLGlCQXZCQSxVcEJScUMsQ29CU3JDLFdwQlRxQyxDb0IrQnJDLGNBdkJBLFVwQlJxQyxDb0JTckMsV3BCVHFDLENvQitCckMsV0F2QkEsVXBCUnFDLENvQlNyQyxlcEJUcUMsQ29CK0JyQyxjQXZCQSxVcEJScUMsQ29CU3JDLFdwQlRxQyxDb0JpQ3BDLDhCQ3BERCxHQUFJLHFDQUFXLENBQVgsNkJBQThCLENBQ2xDLEtBQU0sd0NBQVcsQ0FBWCxnQ0FBaUMsQ0FBQSxDRG1EdEMsc0JDcERELEdBQUkscUNBQVcsQ0FBWCw2QkFBOEIsQ0FDbEMsS0FBTSx3Q0FBVyxDQUFYLGdD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R3ZCLG9CQUFxQixDQUFJLFVBRXhCLGdCQUFpQixDQUFFLGlCQUFrQixDQUFJLEtBRXpDLDJCQUFzQixDQUFJLFdBQzFCLDBCQUF1QixDQUFJLE1BQzNCLDJCQUF1QixDQUFJLFdBQzNCLHlCQUF1QixDQUFJLFdBQzNCLDBCQUF1QixDQUFJLE1BQzNCLDBCQUF1QixDQUFJLEtBQzNCLDRCQUF1QixDQUFJLFdBQzNCLDJCQUF3QixDQUFJLE1BQzVCLDRCQUF3QixDQUFJLFdBQzVCLDBCQUF3QixDQUFJLFdBQzVCLDJCQUF3QixDQUFJLE1BQzVCLDJCQUF3QixDQUFJLFVBRTdCLHVCQUF3QixDQUFJLEtBQzNCLCtCQUEwQixDQUFJLFdBQzlCLDhCQUEyQixDQUFJLE1BQy9CLCtCQUEyQixDQUFJLFdBQy9CLDZCQUEyQixDQUFJLFdBQy9CLDhCQUEyQixDQUFJLE1BQy9CLDhCQUEyQixDQUFJLE9BQy9CLDZCQUE0QixDQUFJLFVBRWpDLHlCQUEwQixDQUFJLEtBQzdCLGlDQUE0QixDQUFJLFdBQ2hDLGdDQUE2QixDQUFJLE1BQ2pDLGlDQUE2QixDQUFJLFdBQ2pDLCtCQUE2QixDQUFJLFdBQ2pDLGdDQUE2QixDQUFJLE1BQ2pDLGdDQUE2QixDQUFJLE9BQ2pDLCtCQUE4QixDQUFJLFVBRW5DLDBCQUEyQixDQUFJLEtBQzlCLGtDQUE2QixDQUFJLFdBQ2pDLGlDQUE4QixDQUFJLE1BQ2xDLGtDQUE4QixDQUFJLFdBQ2xDLGdDQUE4QixDQUFJLFdBQ2xDLGlDQUE4QixDQUFJLE1BQ2xDLGlDQUE4QixDQUFJLE9BQ2xDLGdDQUErQixDQUFJLFVBRXBDLHdCQUF5QixDQUFJLEtBQzVCLGdDQUEyQixDQUFJLFdBQy9CLCtCQUE0QixDQUFJLE1BQ2hDLGdDQUE0QixDQUFJLFdBQ2hDLDhCQUE0QixDQUFJLFdBQ2hDLCtCQUE0QixDQUFJLE1BQ2hDLCtCQUE0QixDQUFJLE9BQy9CLDhCQUE2QixDQUFJLFVBRW5DLHdCQUF5QixDQUFJLEtBQzVCLGdDQUEyQixDQUFJLFdBQy9CLCtCQUE0QixDQUFJLE1BQ2hDLGdDQUE0QixDQUFJLFdBQ2hDLDhCQUE0QixDQUFJLFdBQ2hDLCtCQUE0QixDQUFJLE1BQ2hDLCtCQUE0QixDQUFJLE9BQ2hDLDhCQUE2QixDQUFJLFVBRWxDLDBCQUEyQixDQUFJLEtBQzlCLGtDQUE2QixDQUFJLFdBQ2pDLGlDQUE4QixDQUFJLE1BQ2xDLGtDQUE4QixDQUFJLFdBQ2xDLGdDQUE4QixDQUFJLFdBQ2xDLGlDQUE4QixDQUFJLE1BQ2xDLGlDQUE4QixDQUFJLE9BQ2xDLGdDQUErQixDQUFJLFVBRXBDLDJCQUE0QixDQUFJLEtBQy9CLG1DQUE4QixDQUFJLFdBQ2xDLGtDQUErQixDQUFJLE1BQ25DLG1DQUErQixDQUFJLFdBQ25DLGlDQUErQixDQUFJLFdBQ25DLGtDQUErQixDQUFJLE1BQ25DLGtDQUErQixDQUFJLE9BQ25DLGlDQUFnQyxDQUFJLFVBRXJDLHlCQUEwQixDQUFJLEtBQzdCLGlDQUE0QixDQUFJLFdBQ2hDLGdDQUE2QixDQUFJLE1BQ2pDLGlDQUE2QixDQUFJLFdBQ2pDLCtCQUE2QixDQUFJLFdBQ2pDLGdDQUE2QixDQUFJLE1BQ2pDLGdDQUE2QixDQUFJLE9BQ2pDLCtCQUE4QixDQUFJLGNDMUp4QyxVN0JGTyxDNkJDWCxjQUNJLFU3QkRPLEM2QkFYLGFBQ0ksYTdCRVcsQzZCSGYsWUFDSSxhN0JLVyxDNkJOZixlQUNJLGE3Qk1XLEM2QlBmLGFBQ0ksYTdCT1csQzZCUmYsZUFDSSxhN0JRVyxDNkJUZixhQUNJLGE3QlNXLEM2QlZmLGtCQUNJLGE3QlVXLEM2QlhmLGFBQ0ksYTdCV1ciLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBAaWYgJGJhc2UtZm9udC1mYW1pbHkge1xuICAgICAgICAvKiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuICovXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICAgIH1cbiAgICAgIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweCBvciAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICB9XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6IGlmKCRiYXNlLWZvbnQtZmFtaWx5LCAkYmFzZS1mb250LWZhbWlseSwgc2Fucy1zZXJpZik7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vIFJlYm9vdCBzdHlsZXNcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIFJlc2V0IHRoZSBib3gtc2l6aW5nXG5odG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi8vIE1ha2Ugdmlld3BvcnQgcmVzcG9uc2l2ZVxuQGF0LXJvb3Qge1xuICAgIEAtbXMtdmlld3BvcnQgeyB3aWR0aDogZGV2aWNlLXdpZHRoOyB9XG59XG5cbi8vIFJlc2V0IEhUTUwsIEJvZHkgYW5kIG1vcmVcbmh0bWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbn1cblxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gUmVzZXQgZm9udHMgZm9yIHJlbGV2YW50IGVsZW1lbnRzXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8vIENsZWFyZml4IHNob3J0Y3V0c1xuLmNmLFxuLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gSW1hZ2VzXG5pbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIE5vbi1mbHVpZCBpbWFnZXMgaWYgeW91IHNwZWNpZnkgJ3dpZHRoJyBhbmQvb3IgJ2hlaWdodCcgYXR0cmlidXRlc1xuaW1nW3dpZHRoXSxcbmltZ1toZWlnaHRdIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi8vIGlPUyBmaXhcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIEF2b2lkIDMwMG1zIGNsaWNrIGRlbGF5IG9uIHRvdWNoIGRldmljZXMgdGhhdCBzdXBwb3J0IHRoZSBgdG91Y2gtYWN0aW9uYCBDU1MgcHJvcGVydHkuXG5hLFxuYXJlYSxcbmJ1dHRvbixcbltyb2xlPVwiYnV0dG9uXCJdLFxuaW5wdXQsXG5sYWJlbCxcbnNlbGVjdCxcbnN1bW1hcnksXG50ZXh0YXJlYSB7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbi8vIFRhYmxlc1xudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG5baGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vIFNoYXJlZCBzdHlsZXNcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4kZm9udC1zaXplOiAxNnB4O1xuXG4vLyBWYXJpYWJsZXMgJiBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwidXRpbHMvbWl4aW5zXCI7XG5AaW1wb3J0IFwidXRpbHMvZWFzaW5nc1wiO1xuXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbi8vIFNhc3MgTVFcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJzYXNzLW1xXCI7XG5cbi8vIE1ldGhvZHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWl4aW4gY29udGFpbmVyICgkd2lkdGg6ICRjb250YWluZXItd2lkdGgpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgLy8gUXVlcmllc1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBwYWRkaW5nKGhvcml6b250YWwsIGRlZmF1bHQpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBwYWRkaW5nKGhvcml6b250YWwsIGRlZmF1bHQpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlLCAkdW50aWw6IHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHBhZGRpbmcoaG9yaXpvbnRhbCwgdGFibGV0KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcGFkZGluZyhob3Jpem9udGFsLCB0YWJsZXQpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHBhZGRpbmcoaG9yaXpvbnRhbCwgbW9iaWxlKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcGFkZGluZyhob3Jpem9udGFsLCBtb2JpbGUpO1xuICAgIH1cbn1cblxuQG1peGluIHdyYXBwZXIoKSB7XG4gICAgLy8gUXVlcmllc1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBwYWRkaW5nKGhvcml6b250YWwsIGRlZmF1bHQpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBwYWRkaW5nKGhvcml6b250YWwsIGRlZmF1bHQpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlLCAkdW50aWw6IHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHBhZGRpbmcoaG9yaXpvbnRhbCwgdGFibGV0KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcGFkZGluZyhob3Jpem9udGFsLCB0YWJsZXQpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHBhZGRpbmcoaG9yaXpvbnRhbCwgbW9iaWxlKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcGFkZGluZyhob3Jpem9udGFsLCBtb2JpbGUpO1xuICAgIH1cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vLyBNaXhpbnNcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIENsZWFyZml4XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGNsZWFyZml4IHtcbiAgICAqem9vbToxO1xuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIgeyBjb250ZW50OiBcIiBcIjsgZGlzcGxheTogdGFibGU7IH1cbiAgICAmOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG59XG5cbi8vIFNpemVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG5AZnVuY3Rpb24gcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRmb250LXNpemUpIHtcbiAgICBAaWYgdW5pdGxlc3MoJHB4KSB7XG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xuICAgICAgICBAcmV0dXJuIHB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XG4gICAgICAgIEByZXR1cm4gJHB4O1xuICAgIH1cbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xufVxuXG5AZnVuY3Rpb24gcGFkZGluZygkZGlyZWN0aW9uLCAkYnJlYWtwb2ludCkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkY29udGVudC1wYWRkaW5nLCAkZGlyZWN0aW9uKSB7XG4gICAgICAgICRfYnBzIDogbWFwLWdldCgkY29udGVudC1wYWRkaW5nLCAkZGlyZWN0aW9uKTtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRfYnBzLCAkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgQHJldHVybiBtYXBfZ2V0KCRfYnBzLCAkYnJlYWtwb2ludCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kICN7JGJyZWFrcG9pbnR9IGtleVwiO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCAjeyRkaXJlY3Rpb259IGtleVwiO1xuICAgIH1cbn1cblxuLy8gSW1hZ2VzIGRpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gaW1hZ2UoJHR5cGU6IGZ1bGx3aWR0aCkge1xuICAgIEBpZiAkdHlwZSA9PSBmdWxsd2lkdGgge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgQGlmICR0eXBlID09IHJlc3BvbnNpdmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbn1cblxuLy8gQnV0dG9uIHJlc2V0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGJ1dHRvbigpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcblxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3V0bGluZTogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmOmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG5cbi8vIFJlc2V0IElFIGZpbHRlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcmVzZXQtZmlsdGVyKCkge1xuICAgIGZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKVwiO1xufVxuXG4vLyBSZXNldCB0ZXh0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHJlc2V0LXRleHQoKSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBsaW5lLWJyZWFrOiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbn1cblxuLy8gUmVzZXQgVWwmTGlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcmVzZXQtdWwoKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLyBIaWRlIHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gdGV4dC1oaWRlKCkge1xuICAgIGZvbnQ6IDAvMCBhO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG59XG5cbkBtaXhpbiBoaWRlLXRleHQoKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWluZGVudDogMTAxJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBUZXh0IHRydW5jYXRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBDb3ZlciBldmVyeXRoaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGZ1bGxjb3ZlcigkcG9zaXRpb246IGFic29sdXRlLCAkemluZGV4OiBmYWxzZSkge1xuICAgIEBpZiAkcG9zaXRpb24ge1xuICAgICAgICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkemluZGV4IHtcbiAgICAgICAgei1pbmRleDogJHppbmRleDtcbiAgICB9XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vLyBCb29zdCBwZXJmb3JtYW5jZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBib29zdC1wZXJmb3JtYW5jZSgkdHJhbnNsYXRlOiB0cnVlKSB7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cbiAgICBAaWYgJHRyYW5zbGF0ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG4vLyBDU1MgdHJpYW5nbGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gdHJpYW5nbGUoJGRpcmVjdGlvbiwgJHNpemVILCAkc2l6ZVYsICRjb2xvcikge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSguOTk5OSk7XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdG9wIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwICRzaXplViAkc2l6ZUggJHNpemVWO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvciB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gYm90dG9tIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc2l6ZVYgJHNpemVIIDAgJHNpemVWO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHNpemVWICRzaXplSCAkc2l6ZVYgMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIEBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc2l6ZVYgMCAkc2l6ZVYgJHNpemVIO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvcjtcbiAgICB9XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdG9wcmlnaHQge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgJHNpemVIICRzaXplViAwO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRjb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gYm90dG9tcmlnaHQge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAkc2l6ZUggJHNpemVWO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvciB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gYm90dG9tbGVmdCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHNpemVIIDAgMCAkc2l6ZVY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yO1xuICAgIH1cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB0b3BsZWZ0IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc2l6ZUggJHNpemVWIDAgMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZ3JpZC1kZWNvcmF0aW9uKCR3aWR0aCwgJGhlaWdodCwgJHVybCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaW1hZ2VzLyN7JHVybH0nKTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBAY29udGVudDtcblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vLyBGb250c1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy8gRXBpbG9ndWVcbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnRXBpbG9ndWUnO1xuICAgIHNyYzogdXJsKCdmb250cy9FcGlsb2d1ZS1SZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCdmb250cy9zdWJzZXQtRXBpbG9ndWUtUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCdmb250cy9zdWJzZXQtRXBpbG9ndWUtUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnRXBpbG9ndWUnO1xuICAgIHNyYzogdXJsKCdmb250cy9FcGlsb2d1ZS1Cb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCdmb250cy9zdWJzZXQtRXBpbG9ndWUtQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCdmb250cy9zdWJzZXQtRXBpbG9ndWUtQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0VwaWxvZ3VlJztcbiAgICBzcmM6IHVybCgnZm9udHMvRXBpbG9ndWUtRXh0cmFCb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCdmb250cy9zdWJzZXQtRXBpbG9ndWUtRXh0cmFCb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJ2ZvbnRzL3N1YnNldC1FcGlsb2d1ZS1FeHRyYUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AbWl4aW4gZm9udC1lcGlsb2d1ZSB7XG4gICAgZm9udC1mYW1pbHk6ICdFcGlsb2d1ZScsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbkBtaXhpbiBmb250LWVwaWxvZ3VlLS1ib2xkIHtcbiAgICBmb250LWZhbWlseTogJ0VwaWxvZ3VlJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cbkBtaXhpbiBmb250LWVwaWxvZ3VlLS1leHRyYWJvbGQge1xuICAgIGZvbnQtZmFtaWx5OiAnRXBpbG9ndWUnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG5cbkBtaXhpbiBmb250LWVwaWxvZ3VlLS1zcGFjZWQge1xuICAgIEBpbmNsdWRlIGZvbnQtZXBpbG9ndWU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuQG1peGluIGZvbnQtZXBpbG9ndWUtLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250LWVwaWxvZ3VlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5mb250LWVwaWxvZ3VlIHtcbiAgICBAaW5jbHVkZSBmb250LWVwaWxvZ3VlO1xuICAgICYtLWJvbGQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWVwaWxvZ3VlLS1ib2xkO1xuICAgIH1cbiAgICAmLS1leHRyYWJvbGQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWVwaWxvZ3VlLS1leHRyYWJvbGQ7XG4gICAgfVxuICAgICYtLXNwYWNlZCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZXBpbG9ndWUtLXNwYWNlZDtcbiAgICB9XG4gICAgJi0tdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWVwaWxvZ3VlLS10aXRsZTtcbiAgICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLy8gR2xvYmFsXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyBHZW5lcmFsXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaHRtbCxcbmJvZHkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vIEJsb2NrIHNjcm9sbCBvbiByZXNwb25zaXZlIG5hdlxuICAgICYubmF2LW9wZW5lZCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuXG4vLyBCb2R5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYm9keSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgZm9udC1lcGlsb2d1ZTtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4ucm9vdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYXBwLWJvZHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiBwYWRkaW5nKHZlcnRpY2FsLCBkZWZhdWx0KTtcblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogZGVza3RvcCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG59XG5cbi8vIFRleHQgc2VsZWN0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbi8vIEdsb2JhbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5hIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vIFZhcmlhYmxlc1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy8gR2VuZXJhbCBjb2xvcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kd2hpdGU6ICNGRkZGRkY7XG4kYmxhY2s6ICMwMDAwMDA7XG5cbiRkYXJrZ3JleSA6ICMxMjEyMTI7XG4kZ3JleSAgICAgOiAjODE4MTgxOyAvLyBEYW5zZSBhdmVjIHRvbiBjcm91c1xuJGxpZ2h0Z3JleTogI2Y4ZjZmNTtcblxuJHJlZCAgICAgIDogI2VlNDUzNzsgIC8vIEZpbG0gY291cnRcbiRvcmFuZ2UgICA6ICNlYzU4MzM7ICAvLyAtLS0tLS0tLS0tXG4kcGluayAgICAgOiAjZmZhNjk2OyAgLy8gQkRcbiR5ZWxsb3cgICA6ICNmZmI2NTY7ICAvLyBQaG90b1xuJHRlYWwgICAgIDogIzYzYmFhNzsgIC8vIE5vdXZlbGxlXG4kbGlnaHRibHVlOiAjMzM4MUJFOyAgLy8gUHVsc2F0aW9uc1xuJGJsdWUgICAgIDogIzM2NDc5MDsgIC8vIFRow6nDonRyZVxuXG4kY29sb3JzOiAoXG4gICAgd2hpdGUgICAgOiAkd2hpdGUsXG4gICAgYmxhY2sgICAgOiAkYmxhY2ssXG4gICAgZ3JleSAgICAgOiAkZ3JleSxcbiAgICByZWQgICAgICA6ICRyZWQsXG4gICAgb3JhbmdlICAgOiAkb3JhbmdlLFxuICAgIHBpbmsgICAgIDogJHBpbmssXG4gICAgeWVsbG93ICAgOiAkeWVsbG93LFxuICAgIHRlYWwgICAgIDogJHRlYWwsXG4gICAgbGlnaHRibHVlOiAkbGlnaHRibHVlLFxuICAgIGJsdWUgICAgIDogJGJsdWUsXG4pO1xuXG4kYm9keS1jb2xvcjogJGxpZ2h0Z3JleTtcbiR0ZXh0LWNvbG9yOiAjMWYxZjFmO1xuJGxpbmstY29sb3I6ICRvcmFuZ2U7XG4kYm9yZGVyLWNvbG9yOiAkbGlnaHRncmV5O1xuJGVycm9yLWNvbG9yOiAjZWQzMjMyO1xuXG4kYmFja2dyb3VuZC1yZXNwb25zaXZlOiAkbGlnaHRncmV5O1xuXG4vLyBIZWFkaW5nc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRoZWFkaW5nLXNpemVzOiAoXG4gICAgaDE6IDQ2cHgsXG4gICAgaDI6IDM4cHgsXG4gICAgaDM6IDMycHgsXG4gICAgaDQ6IDI4cHgsXG4gICAgaDU6IDI0cHgsXG4gICAgaDY6IDE4cHgsXG4pO1xuXG4vLyBMYXlvdXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNvbnRhaW5lci13aWR0aDogMTIwMHB4O1xuJGNvbnRhaW5lci1uYXJyb3ctd2lkdGg6IDgwMHB4O1xuJGNvbHVtbnMtdG90YWw6IDEyO1xuJGNvbHVtbnMtZ3V0dGVyOiA1JTtcblxuLy8gU2FzcyBNUVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0YWJsZXQ6IDc2OHB4O1xuJG1xLXJlc3BvbnNpdmU6IHRydWU7XG4kbXEtYnJlYWtwb2ludHM6IChcbiAgICBtb2JpbGU6ICA1NDBweCxcbiAgICB0YWJsZXQ6ICAkdGFibGV0LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICRjb250YWluZXItd2lkdGgsXG4pO1xuXG4vLyBDb250ZW50IHBhZGRpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kY29udGVudC1wYWRkaW5nOiAoXG4gICAgaG9yaXpvbnRhbDogKFxuICAgICAgICBkZWZhdWx0OiAzMHB4LFxuICAgICAgICB0YWJsZXQ6ICAyNXB4LFxuICAgICAgICBtb2JpbGU6ICAyMHB4XG4gICAgKSxcblxuICAgIHZlcnRpY2FsOiAoXG4gICAgICAgIGRlZmF1bHQ6IDgwcHgsXG4gICAgICAgIHRhYmxldDogIDUwcHgsXG4gICAgICAgIG1vYmlsZTogIDI1cHgsXG4gICAgKVxuKTtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxuICAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxuXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcbi8vL1xuLy8vIERvIG5vdCBvdmVycmlkZSB0aGlzIHZhbHVlLCBvciB0aGluZ3Mgd2lsbCBicmVha1xuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9pc3N1ZXMvMTIyXG4vLy8gQGRlcHJlY2F0ZWQgVGhpcyBzZXR0aW5nIHdpbGwgYmUgcmVtb3ZlZCBpbiBzYXNzLW1xIHY2LjAuMFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChzdWNoIGFzIHRoZSBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aC4gRm9yIGV4YW1wbGU6IChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAkbXEtc2hvdy1icmVha3BvaW50czogKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKTtcbi8vLyAgIEBpbXBvcnQgJ3BhdGgvdG8vbXEnO1xuLy8vXG4vLy8gQHR5cGUgbWFwXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGZvciBleGFtcGxlOiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBpZ25vcmUgQHBhcmFtIHtOdW1iZXJ9ICRiYXNlLWZvbnQtc2l6ZSBbJG1xLWJhc2UtZm9udC1zaXplXSAtIGA8Ym9keT5gIGZvbnQgc2l6ZSAoZGVwcmVjYXRlZClcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiAoJG1xLWJhc2UtZm9udC1zaXplICE9IDE2cHgpIHtcbiAgICAgICAgQHdhcm4gXCJPdmVycmlkaW5nICRtcS1iYXNlLWZvbnQtc2l6ZSB3aWxsIGJyZWFrIHRoaW5ncywgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvaXNzdWVzLzEyMi5cIjtcbiAgICB9XG4gICAgQGlmICgkYmFzZS1mb250LXNpemUgIT0gMTZweCkge1xuICAgICAgICBAd2FybiBcIlRoZSAkYmFzZS1mb250LXNpemUgYXJndW1lbnQgd2lsbCBiZSByZW1vdmVkIGluIHNhc3MtbXEgdjYuMC4wLCBhcyBvdmVycmlkaW5nIGl0IGJyZWFrcyB0aGluZ3MsIHNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL2lzc3Vlcy8xMjIuXCI7XG4gICAgfVxuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcbiAgICAgICAgQHJldHVybiAkcHg7XG4gICAgfVxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG5cbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIFtmYWxzZV0gLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgW2ZhbHNlXSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgW2ZhbHNlXSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSBbJG1xLW1lZGlhLXR5cGVdIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskbXEtYnJlYWtwb2ludHNdXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50IFskbXEtc3RhdGljLWJyZWFrcG9pbnRdXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgYW5kICRtZWRpYS10eXBlICE9ICdwcmludCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBlbmFibGVkLCBvdXRwdXQgcnVsZXMgaW5zaWRlIEBtZWRpYSBxdWVyaWVzXG4gICAgQGVsc2Uge1xuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRtYXgtd2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1heC13aWR0aDogI3skbWF4LXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkYW5kICAgICAgICAgICAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kICN7JGFuZH0nOyB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IG1lZGlhIHF1ZXJ5IHByZWZpeCAnYWxsIGFuZCAnXG4gICAgICAgIEBpZiAoJG1lZGlhLXR5cGUgPT0gJ2FsbCcgYW5kICRtZWRpYS1xdWVyeSAhPSAnJykge1xuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiBzdHItc2xpY2UodW5xdW90ZSgkbWVkaWEtcXVlcnkpLCA2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpYS10eXBlICsgJG1lZGlhLXF1ZXJ5fSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIFF1aWNrIHNvcnRcbi8vL1xuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxuQGZ1bmN0aW9uIF9tcS1xdWljay1zb3J0KCRsaXN0KSB7XG4gICAgJGxlc3M6ICAoKTtcbiAgICAkZXF1YWw6ICgpO1xuICAgICRsYXJnZTogKCk7XG5cbiAgICBAaWYgbGVuZ3RoKCRsaXN0KSA+IDEge1xuICAgICAgICAkc2VlZDogbnRoKCRsaXN0LCBjZWlsKGxlbmd0aCgkbGlzdCkgLyAyKSk7XG5cbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgICAgICAgICAgQGlmICgkaXRlbSA9PSAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRlcXVhbDogYXBwZW5kKCRlcXVhbCwgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsZXNzOiBhcHBlbmQoJGxlc3MsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID4gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGFyZ2U6IGFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEByZXR1cm4gam9pbihqb2luKF9tcS1xdWljay1zb3J0KCRsZXNzKSwgJGVxdWFsKSwgX21xLXF1aWNrLXNvcnQoJGxhcmdlKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFNvcnQgYSBtYXAgYnkgdmFsdWVzICh3b3JrcyB3aXRoIG51bWJlcnMgb25seSlcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TWFwfSBNYXAgc29ydGVkIGJ5IHZhbHVlXG5AZnVuY3Rpb24gX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcbiAgICAkbWFwLXNvcnRlZDogKCk7XG4gICAgJG1hcC1rZXlzOiBtYXAta2V5cygkbWFwKTtcbiAgICAkbWFwLXZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkbWFwLXZhbHVlcy1zb3J0ZWQ6IF9tcS1xdWljay1zb3J0KCRtYXAtdmFsdWVzKTtcblxuICAgIC8vIFJlb3JkZXIga2V5L3ZhbHVlIHBhaXJzIGJhc2VkIG9uIGtleSB2YWx1ZXNcbiAgICBAZWFjaCAkdmFsdWUgaW4gJG1hcC12YWx1ZXMtc29ydGVkIHtcbiAgICAgICAgJGluZGV4OiBpbmRleCgkbWFwLXZhbHVlcywgJHZhbHVlKTtcbiAgICAgICAgJGtleTogbnRoKCRtYXAta2V5cywgJGluZGV4KTtcbiAgICAgICAgJG1hcC1zb3J0ZWQ6IG1hcC1tZXJnZSgkbWFwLXNvcnRlZCwgKCRrZXk6ICR2YWx1ZSkpO1xuXG4gICAgICAgIC8vIFVuc2V0IHRoZSB2YWx1ZSBpbiAkbWFwLXZhbHVlcyB0byBwcmV2ZW50IHRoZSBsb29wXG4gICAgICAgIC8vIGZyb20gZmluZGluZyB0aGUgc2FtZSBpbmRleCB0d2ljZVxuICAgICAgICAkbWFwLXZhbHVlczogc2V0LW50aCgkbWFwLXZhbHVlcywgJGluZGV4LCAwKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRtYXAtc29ydGVkO1xufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1xLWJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xufVxuXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyBbJG1xLXNob3ctYnJlYWtwb2ludHNdIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyBbJG1xLWJyZWFrcG9pbnRzXSAtIEJyZWFrcG9pbnQgbmFtZXMgYW5kIHNpemVzXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc2hvdy1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGdsb2JhbCBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xuLy8vXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgY3VzdG9tIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xuQG1peGluIG1xLXNob3ctYnJlYWtwb2ludHMoJHNob3ctYnJlYWtwb2ludHM6ICRtcS1zaG93LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIGJvZHk6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjhFMztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgY29sb3I6ICNDMDk4NTM7XG4gICAgICAgIGZvbnQ6IHNtYWxsLWNhcHRpb247XG4gICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIGJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkIGJlIHNob3duXG4gICAgICAgIEBlYWNoICRzaG93LWJyZWFrcG9pbnQgaW4gJHNob3ctYnJlYWtwb2ludHMge1xuICAgICAgICAgICAgJHdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiN7JHNob3ctYnJlYWtwb2ludH0g4omlICN7JHdpZHRofSAoI3ttcS1weDJlbSgkd2lkdGgpfSlcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmIGxlbmd0aCgkbXEtc2hvdy1icmVha3BvaW50cykgPiAwIHtcbiAgICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vIExheW91dFxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy8gUmVzcG9uc2l2ZSBoZWxwZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaXMtcmVzcG9uc2l2ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTk5OTlweDtcbiAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICB6LWluZGV4OiAxMDtcblxuICAgIC8vXG4gICAgLy8gUXVlcmllc1xuICAgIC8vIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wLCAkdW50aWw6IHdpZGUpIHtcbiAgICAvLyAgICAgei1pbmRleDogNDtcbiAgICAvLyB9XG4gICAgLy8gQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJHVudGlsOiBkZXNrdG9wKSB7XG4gICAgLy8gICAgIHotaW5kZXg6IDM7XG4gICAgLy8gfVxuICAgIC8vIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUsICR1bnRpbDogdGFibGV0KSB7XG4gICAgLy8gICAgIHotaW5kZXg6IDI7XG4gICAgLy8gfVxuICAgIC8vIEBpbmNsdWRlIG1xKCR1bnRpbDogbW9iaWxlKSB7XG4gICAgLy8gICAgIHotaW5kZXg6IDE7XG4gICAgLy8gfVxufVxuXG4vLyBTZWN0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBzZWN0aW9uKCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8gQ29udGFpbmVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vIEJ1dHRvbnNcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIFN1Ym1pdCBidXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5idXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgQGluY2x1ZGUgZm9udC1lcGlsb2d1ZTtcbiAgICBmb250LXNpemU6IDIycHg7XG5cbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzICRlYXNlLWluLW91dC1jdWJpYztcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIHNwYW4sICYgPiBzdmcge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgJGVhc2UtaW4tb3V0LWN1YmljO1xuICAgIH1cblxuICAgICYgPiBzdmcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuXG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG5cbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgJGVhc2UtaW4tb3V0LWN1YmljO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5idG4tLWxvYWRpbmcge1xuICAgICAgICBzcGFuLCAmID4gc3ZnIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIExvYWRpbmcgc3Bpbm5lclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5sb2FkaW5nLXNwaW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDI2cHg7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMik7XG5cbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICBvcGFjaXR5IDAuM3MgJGVhc2Utb3V0LXF1YXJ0LFxuICAgICAgICB0cmFzbmZvcm0gMC4zcyAkZWFzZS1pbi1vdXQtZXhwbztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICAgIGFuaW1hdGlvbjogY2lyY3VsYXJTcGlubmVyUm90YXRlIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG5cbiAgICBjaXJjbGUge1xuICAgICAgICBmaWxsOiBub25lO1xuICAgICAgICBzdHJva2U6ICRvcmFuZ2U7XG4gICAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDEsIDIwMDtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgICAgICAgYW5pbWF0aW9uOiBjaXJjdWxhclNwaW5uZXJEYXNoIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgLmJ0bi0tbG9hZGluZyAmIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gICAgfVxufVxuXG4uYnRuIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgQGluY2x1ZGUgZm9udC1lcGlsb2d1ZS0tc3BhY2VkO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzICRlYXNlLWluLW91dC1jdWJpYyxcbiAgICAgICAgICAgICAgICBjb2xvciAwLjJzICRlYXNlLWluLW91dC1jdWJpYztcblxuICAgICYtLW9yYW5nZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vLyBFYXNpbmdzXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4kZWFzZS1pbi1xdWFkOiAgICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApO1xuJGVhc2UtaW4tY3ViaWM6ICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiRlYXNlLWluLXF1YXJ0OiAgICAgY3ViaWMtYmV6aWVyKDAuODk1LCAgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XG4kZWFzZS1pbi1xdWludDogICAgIGN1YmljLWJlemllcigwLjc1NSwgIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuJGVhc2UtaW4tc2luZTogICAgICBjdWJpYy1iZXppZXIoMC40NzAsICAwLjAwMCwgMC43NDUsIDAuNzE1KTtcbiRlYXNlLWluLWV4cG86ICAgICAgY3ViaWMtYmV6aWVyKDAuOTUwLCAgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XG4kZWFzZS1pbi1jaXJjOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xuJGVhc2UtaW4tYmFjazogICAgICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KTtcblxuJGVhc2Utb3V0LXF1YWQ6ICAgICBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRlYXNlLW91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVhcnQ6ICAgIGN1YmljLWJlemllcigwLjE2NSwgIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xuJGVhc2Utb3V0LXF1aW50OiAgICBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtZXhwbzogICAgIGN1YmljLWJlemllcigwLjE5MCwgIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xuJGVhc2Utb3V0LWNpcmM6ICAgICBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcbiRlYXNlLW91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XG5cbiRlYXNlLWluLW91dC1xdWFkOiAgY3ViaWMtYmV6aWVyKDAuNDU1LCAgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XG4kZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllcigwLjY0NSwgIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NzAsICAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKDAuODYwLCAgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtc2luZTogIGN1YmljLWJlemllcigwLjQ0NSwgIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuJGVhc2UtaW4tb3V0LWV4cG86ICBjdWJpYy1iZXppZXIoMS4wMDAsICAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1jaXJjOiAgY3ViaWMtYmV6aWVyKDAuNzg1LCAgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XG4kZWFzZS1pbi1vdXQtYmFjazogIGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xuIiwiaGVhZGVyLmFwcC1oZWFkZXIge1xuICAgIC8vXG59XG5cbi5oZWFkZXIge1xuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuXG4gICAgICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICB9XG5cbiAgICAmX19idXJnZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZXBpbG9ndWUtLXNwYWNlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICAgICAgIHdpZHRoOiAxNzVweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBtZWRpYSBxdWVyaWVzXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBkZXNrdG9wKSB7XG4gICAgICAgICZfX3NvY2lhbHMuc29jaWFsX19uZXR3b3JrcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICZfX2xvZ28ge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbW9iaWxlKSB7XG4gICAgICAgICZfX2J1cmdlciBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE9wZW5lZCBuYXZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG4uYXBwLWJvZHksXG4uYXBwLWZvb3Rlcixcbi5hcHAtcmVzcG9uc2l2ZSxcbi5hcHAtaGVhZGVyIC5oZWFkZXJfX3dyYXBwZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyAkZWFzZS1vdXQtcXVpbnQ7XG5cbiAgICAubmF2LW9wZW5lZCAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEzMHB4KTtcbiAgICB9XG59XG5cbi5hcHAtcmVzcG9uc2l2ZS1oZWFkZXIge1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgJGVhc2Utb3V0LXF1aW50O1xuXG4gICAgLm5hdi1vcGVuZWQgJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG4vLyBOYXZpZ2F0aW9uIHJlc3BvbnNpdmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG4uYXBwLXJlc3BvbnNpdmUtaGVhZGVyIHtcbiAgICAvLyBkaXNwbGF5OiBub25lOyAvLyBkZWJ1Z1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwOyB0b3A6IDA7XG5cbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAkdGFibGV0O1xuXG4gICAgei1pbmRleDogMTA7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuXG4gICAgQGluY2x1ZGUgZm9udC1lcGlsb2d1ZS0tc3BhY2VkO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBwYWRkaW5nOiA0MHB4IDgwcHg7XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cbn1cblxuLnJlc3BvbnNpdmUge1xuICAgIC8vIENsb3NlIGJ1dHRvblxuICAgICZfX2Nsb3NlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAmX19jbG9zZS1idG4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG5cbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDRweDtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5hdmlnYXRpb25cbiAgICAmX19uYXYtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNzVweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgLmhlYWRlci1tZW51IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LXVsO1xuICAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuaGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzZXQtdWw7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb2NpYWxzXG4gICAgJl9fc29jaWFscy1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkd2hpdGU7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3NvY2lhbHMuc29jaWFsX19uZXR3b3JrcyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIDAuNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgICAmX19uYXYtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5oZWFkZXItbWVudSAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgICAgICAgLmNoaWxkcmVuICB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX3NvY2lhbHMtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gT3Blbi9DbG9zZSBTdWJuYXZpZ2F0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLmhhcy1jaGlsZHJlbiB7XG4gICAgc3ZnIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzICRlYXNlLWluLW91dC1jdWJpYztcbiAgICB9XG5cbiAgICBzcGFuLHN2ZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICYgPiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICYub3BlbmVkIHtcbiAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImZvb3Rlci5hcHAtZm9vdGVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgdWwge1xuICAgICAgICBAaW5jbHVkZSByZXNldC11bDtcbiAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzICRlYXNlLWluLW91dC1jdWJpYztcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdWwucm9vdC1wYXJlbnQgYSB7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgJGVhc2UtaW4tb3V0LWN1YmljO1xuICAgICAgICBAaW5jbHVkZSBmb250LWVwaWxvZ3VlLS1zcGFjZWQ7XG4gICAgfVxufVxuXG4uZm9vdGVyIHtcbiAgICAmX19yb3cge1xuICAgICAgICAmLS1uYXYsXG4gICAgICAgICYtLXNvY2lhbHMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgICAgICYtLXNvY2lhbHMsXG4gICAgICAgICYtLWxlZ2FsIHtcbiAgICAgICAgICAgIC5mb290ZXJfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1uYXYge1xuICAgICAgICAgICAgcGFkZGluZzogNTBweCAwIDc1cHg7XG4gICAgICAgICAgICAuZm9vdGVyX19jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCA+IGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZm9vdGVyX19oZWFkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0tc29jaWFscyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG5cbiAgICAgICAgICAgIC5mb290ZXJfX2NvbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwgPiBsaSBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1sZWdhbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2dyZXk7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgJi0tbG9nbyB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDAgMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dvLWNyb3VzIHtcbiAgICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICB9XG5cbiAgICAmX19tZW51LWxlZ2FsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuXG4gICAgJl9fbmV4dC1ldmVudCB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBtZWRpYSBxdWVyaWVzXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBkZXNrdG9wKSB7XG4gICAgICAgICZfX3Jvdy0tbmF2IC5mb290ZXJfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLmZvb3Rlcl9fY29sIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgICAgJl9fcm93LS1zb2NpYWxzIHtcbiAgICAgICAgICAgIC5mb290ZXJfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc29jaWFsX19uZXR3b3JrcyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19yb3ctLWxlZ2FsIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLmZvb3Rlcl9fY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBNYWRlIGJ5IFBhbiAhXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHNwcml0ZVRvdGFsVzogNjMyMHB4O1xuJHNwcml0ZVc6IDgwcHg7XG4kc3ByaXRlSDogODBweDtcbiRzcHJpdGVSOiAxLjU7XG5cbi5tYWRlLWJ5LXBhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRzcHJpdGVXIC8gJHNwcml0ZVI7XG4gICAgaGVpZ2h0OiRzcHJpdGVIIC8gJHNwcml0ZVI7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAubG9nby1wYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAkc3ByaXRlVG90YWxXIC8gJHNwcml0ZVI7XG4gICAgICAgIGhlaWdodDogJHNwcml0ZUggLyAkc3ByaXRlUjtcblxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ltYWdlcy9zcHJpdGUtcGFuLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICAgLy8gU3ByaXRlIGRpdmlkZWQgYnkgMiAocmV0aW5hKVxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICgkc3ByaXRlVG90YWxXIC8gJHNwcml0ZVIpICgkc3ByaXRlSCAvICRzcHJpdGVSKTtcbiAgICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLy8gV1lTSVdZR1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiRmb250LXNpemU6IDIwcHg7XG4ud3lzaXd5ZyB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgLmJsb2NrX19jb250ZW50IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzICRlYXNlLWluLW91dC1jdWJpYztcblxuICAgICAgICAmLnJldmVhbCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICAmLmFsaWduY2VudGVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWxpZ25yaWdodCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGhlYWRpbmdzXG4gICAgQGVhY2ggJGgsICRzaXplIGluICRoZWFkaW5nLXNpemVzIHtcbiAgICAgICAgI3skaH0sIC4jeyRofSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cblxuICAgIC8vIGJsb2NrcXVvdGVzXG4gICAgYmxvY2txdW90ZSxcbiAgICBjaXRlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC8vIGxpc3RzXG4gICAgdWwsXG4gICAgb2wge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMGVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDIwcHg7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBjb3VudC1tZTtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAwcHg7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogY291bnRlcihjb3VudC1tZSkgXCIuIFwiO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBtaXNjXG4gICAgaHIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGltYWdlc1xuICAgIGltZyxcbiAgICBpbWdbd2lkdGhdLFxuICAgIGltZ1toZWlnaHRdIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgLmFsaWduY2VudGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuYWxpZ25sZWZ0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogNXB4IDMwcHggMjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmFsaWducmlnaHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogNXB4IDMwcHggMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8vIG9lbWJlZHNcbiAgICAub2VtYmVkLS12aWRlbyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHBlcmNlbnRhZ2UoOS8xNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgaWZyYW1lLFxuICAgICAgICB2aWRlbyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmdWxsY292ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWZyYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIGNvbG9yc1xuICAgIHNwYW4udGV4dCB7XG4gICAgICAgICYtLWJsdWUge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICB9XG4gICAgICAgICYtLXllbGxvdyB7XG4gICAgICAgICAgICBjb2xvcjogJHllbGxvdztcbiAgICAgICAgfVxuICAgICAgICAmLS11cHBlcmNhc2Uge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICAmLS1iaWdnZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMjUlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgJi0tc21hbGwge1xuICAgICAgICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCR0ZXh0LWNvbG9yLCR0ZXh0LWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAkZm9udC1zaXplO1xuXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4ycyAkZWFzZS1pbi1vdXQtcXVpbnQsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yIDAuMnMgJGVhc2UtaW4tb3V0LXF1aW50O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAwcHg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gbXFcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgICBibG9ja3F1b3RlLCBjaXRlIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUsICR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJsb2NrcXVvdGUsIGNpdGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaHIge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBtb2JpbGUpIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYmxvY2txdW90ZSwgY2l0ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIH1cblxuICAgICAgICBociB7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vLyBGb3Jtc1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy8gRmllbGRzZXRzICYgZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmZvcm0ge1xuICAgIG1hcmdpbjogNjBweCAwIDEwMHB4O1xuICAgICZfX2Zvcm0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgICZfX3N1Y2Nlc3Mge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBoMywgcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZWxkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19lcnJvciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuXG4gICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG59XG5cbi8vIEZpZWxkc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBpbnB1dC1maWVsZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7XG5cbiAgICBAaW5jbHVkZSBmb250LWVwaWxvZ3VlO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICAvL1xuICAgIH1cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSxcbiAgICAmW3JlYWRvbmx5XSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogcmdiYSgkdGV4dC1jb2xvciwgMC41KTtcbiAgICB9XG4gICAgJjo6c2VsZWN0aW9uIHtcblxuICAgIH1cbn1cbi5pbnB1dC1maWVsZCB7XG4gICAgQGluY2x1ZGUgaW5wdXQtZmllbGQ7XG59XG4uaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5pbnB1dC1wcmVwZW5kLFxuLmlucHV0LWFwcGVuZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBob25leXBvdCBmaWVsZHNcbi5pbnB1dC1ndGZvIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIHJlc2V0IGhlaWdodCBmb3IgdGV4dGFyZWFzXG50ZXh0YXJlYS5pbnB1dC1maWVsZCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICByZXNpemU6IG5vbmU7XG59XG5cbi8vIExhYmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiAwO1xuXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDAlO1xuXG4gICAgdHJhbnNpdGlvbjpcbiAgICAgICAgY29sb3IgLjNzICRlYXNlLW91dC1xdWludCxcbiAgICAgICAgdHJhbnNmb3JtIDAuM3MgJGVhc2Utb3V0LXF1aW50O1xuXG4gICAgJi5yZXF1aXJlZDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIipcIjtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cblxuLy8gR3JvdXBzIGZpZWxkc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5mb3JtX19maWVsZCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAvKiBJbnB1dCBmaWVsZCAqL1xuICAgIC8vIGZvY3VzZWRcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cbiAgICAmLmlucHV0LS1mb2N1c2VkIHtcbiAgICAgICAgLmlucHV0LWxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFya2dyZXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBmaWxsZWRcbiAgICAmLmlucHV0LS1maWxsZWQge1xuICAgICAgICAuaW5wdXQtbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGVycm9yc1xuICAgICYuaW5wdXQtLWVycm9yIHtcbiAgICAgICAgLmlucHV0LWxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZXJyb3ItY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuXG4gICAgfVxuXG4gICAgJi0tZmllbGQge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzICRlYXNlLWluLW91dC1jdWJpYztcbiAgICAgICAgfVxuICAgICAgICAvLyBmb2N1c2VkICYgZmlsbGVkXG4gICAgICAgICYuaW5wdXQtLWZvY3VzZWQsXG4gICAgICAgICYuaW5wdXQtLWZpbGxlZCB7XG4gICAgICAgICAgICAuaW5wdXQtbGFiZWwge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE4cHgsIDApIHNjYWxlKDAuNyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBmb2N1c2VkXG4gICAgICAgICYuaW5wdXQtLWZvY3VzZWQge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gZXJyb3JzXG4gICAgICAgICYuaW5wdXQtLWVycm9yIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXJyb3ItY29sb3I7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIENoZWNrYm94ZXMgJiByYWRpb3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY2hlY2tib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICYtLWlubGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgJi0taW5saW5lICsgJi0taW5saW5lIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxufVxuXG4uY2hlY2stbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNoZWNrLWZpZWxkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjVweDtcblxuICAgICY6b25seS1jaGlsZCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxufVxuXG4vLyBDdXN0b20gY2hlY2tib3hlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1jaGVja2JveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDIycHg7XG5cbiAgICAuY2hlY2tib3gge1xuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcblxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcblxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuMCk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgLjFzICRlYXNlLWluLW91dC1iYWNrLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzICRlYXNlLWluLW91dC1iYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNnB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICAgICZfX2Rlc2Mge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC8vIGNoZWNrZWRcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCB7XG4gICAgICAgICZ+LmNoZWNrYm94X19idXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4wKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGNvbnNlbnRcbiAgICBpbnB1dFtuYW1lPVwiY29uc2VudFwiXSB7XG4gICAgICAgICZ+LmNoZWNrYm94X19kZXNjIHtcbiAgICAgICAgICAgIHRvcDogLTNweDtcblxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBmdWNrIElPUyAmIFNhZmFyaVxuICAgIC5pcy1zYWZhcmkgJixcbiAgICAuaXMtaW9zICYge1xuICAgICAgICAuY2hlY2tib3hfX2xhYmVsID4gKiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29udGFjdF9fY29uc2VudCB7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLy8gU2luZ2xlIFBhZ2UgQXJ0d29ya1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnRlbXBsYXRlLXNpbmdsZS1hcnR3b3JrIHtcbiAgICAmID4gc2VjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICB9XG59XG5cbi5hcnR3b3JrIHtcbiAgICAmX19oZWFkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcGFkZGluZyh2ZXJ0aWNhbCwgZGVmYXVsdCk7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICAvLyBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYXV0aG9ycyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZXBpbG9ndWUtLXNwYWNlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JlYWxpc2F0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKCRjb250YWluZXItbmFycm93LXdpZHRoKTtcbiAgICAgICAgJltkYXRhLXJldmVhbF0ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDBweCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgJGVhc2UtaW4tb3V0LWN1YmljLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMnMgJGVhc2UtaW4tb3V0LWN1YmljLFxuICAgICAgICB9XG4gICAgICAgICYucmV2ZWFsIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbWJlZFxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgJl9fZW1iZWQtaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmVtYmVkX192aWRlbyxcbiAgICAgICAgLmVtYmVkX19tdXNpYyxcbiAgICAgICAgLmVtYmVkX19wZGYge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lbWJlZF9fcGRmIHtcbiAgICAgICAgICAgIGhlaWdodDogMzN2dztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmVtYmVkX192aWRlbyB7XG4gICAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLy8gYW5pbWF0aW9uc1xuICAgICAgICAvLyAmLmVtYmVkLS12aWRlb1tkYXRhLXJldmVhbF0ge1xuICAgICAgICAvLyAgICAgY2xpcC1wYXRoOiBpbnNldCgwIDEwMCUgMCAwKTtcbiAgICAgICAgLy8gICAgIHRyYW5zaXRpb246IGNsaXAtcGF0aCAwLjc1cyAkZWFzZS1pbi1vdXQtcXVhcnQ7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gJi5lbWJlZC0tdmlkZW8ucmV2ZWFsIHtcbiAgICAgICAgLy8gICAgIGNsaXAtcGF0aDogaW5zZXQoMCAwIDAgMCk7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAvLyBQaG90b2dyYXBoeVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG4gICAgJl9fcGhvdG8ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmJsb2NrIHtcbiAgICAgICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUZWNobmljYWwgSW5mb3JtYXRpb25zXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbiAgICAmX190ZWNobmljYWwtaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi10b3A6IHBhZGRpbmcodmVydGljYWwsIHRhYmxldCk7XG5cbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgY29sb3I6IHJnYmEoJHRleHQtY29sb3IsIDAuNSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAqW2RhdGEtcmV2ZWFsXSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzICRlYXNlLWluLW91dC1jdWJpYyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjJzICRlYXNlLWluLW91dC1jdWJpYztcbiAgICAgICAgICAgIC5hd2FyZF9faWNvbiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyAkZWFzZS1pbi1vdXQtY3ViaWM7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC40cztcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyAkZWFzZS1pbi1vdXQtY3ViaWM7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuOHM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yZXZlYWwge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgIC5hd2FyZF9faWNvbiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICB3aWR0aDogMzMlO1xuICAgIH1cbiAgICAmX19hd2FyZCxcbiAgICAmX195ZWFyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgIH1cbiAgICAmX19hd2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAuYXdhcmRfX2ljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHRvcCwgMTBweCwgMTVweCwgJGJvZHktY29sb3IpO1xuICAgICAgICAgICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcblxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9feWVhciB7XG4gICAgICAgIC8vXG4gICAgfVxuICAgICZfX3RoZW1lIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICAvLyBDb250ZW50XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC8vIFJlbGF0ZWQgYXJ0d29ya3NcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuICAgICZfX3JlbGF0ZWQge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG4gICAgICAgIC5yZWxhdGVkX19ncmlkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAuaXRlbTpudGgtY2hpbGQoMW4pIGE6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmdyaWRfX3JlY3QgLml0ZW1fX2lubmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgICAgJl9faGVhZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgICZfX2VtYmVkLWlubmVyIHtcbiAgICAgICAgICAgIC5lbWJlZF9fdmlkZW8gaWZyYW1lIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTB2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RlY2huaWNhbC1pbmZvIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgJl9fYXdhcmQge1xuICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBwYWRkaW5nKHZlcnRpY2FsLCB0YWJsZXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcmVsYXRlZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBwYWRkaW5nKHZlcnRpY2FsLCB0YWJsZXQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgICZfX2VtYmVkLWlubmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vLyBTaW5nbGUgUGFnZSBFdmVudFxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnRlbXBsYXRlLXNpbmdsZS1ldmVudCB7XG4gICAgLy8gbWFyZ2luLXRvcDogcGFkZGluZyh2ZXJ0aWNhbCwgZGVmYXVsdCk7XG4gICAgJiA+IHNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgfVxufVxuXG4uZXZlbnQge1xuICAgIC8vIFBob3RvXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbiAgICAmX19waG90byB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGF0ZXNcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuICAgICZfX2RhdGVzIHtcbiAgICAgICAgJi0tbm9iciB7XG4gICAgICAgICAgICBiciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1zaW5ndWxhciB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkdGV4dC1jb2xvciwgMC41KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRlY2huaWNhbCBJbmZvcm1hdGlvbnNcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuICAgICZfX3RlY2huaWNhbC1pbmZvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogcGFkZGluZyh2ZXJ0aWNhbCwgdGFibGV0KTtcblxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3R5cGUge1xuICAgICAgICB3aWR0aDogMzMlO1xuICAgICAgICBjb2xvcjogcmdiYSgkdGV4dC1jb2xvciwgMC41KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIENvbnRlbnRcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgICAgJl9fdGVjaG5pY2FsLWluZm8ge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgICZfX3R5cGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLy8gQ29udGFjdCBmb3JtXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uY29udGFjdCB7XG4gICAgJl9fZm9ybSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcigkY29udGFpbmVyLW5hcnJvdy13aWR0aCk7XG4gICAgfVxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vIENvb2tpZXMgY29uc2VudFxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmNvb2tpZXMtY29uc2VudCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDExMDA7XG4gICAgYm90dG9tOiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzICRlYXNlLW91dC1jdWJpYztcblxuICAgIC5jb29raWVzIHtcbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGE6bm90KC5idG4pIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICRvcmFuZ2UsICRvcmFuZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX21hbmFnZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyAkZWFzZS1vdXQtY3ViaWM7XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNldC11bDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ5JTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9faW5uZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgICZfX2FjdGlvbnMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgICAmX19idXR0b24ge1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBtb2RpZmllcnNcbiAgICAuY29va2llc19fYnV0dG9uICsgLmNvb2tpZXNfX2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIH1cblxuICAgIC8vIGFuaW1hdGlvbnNcbiAgICAmLm9uLWVudGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgICYuc2hvdy1wcmVmZXJlbmNlcyB7XG4gICAgICAgIC5jb29raWVzX19tYW5hZ2VyIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGN1c3RvbVxuICAgIC5pbnB1dC1jaGVja2JveCB7XG4gICAgICAgIC5jaGVja2JveF9fYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkd2hpdGUsIDAuMyk7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQsXG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCB7XG4gICAgICAgICAgICAmfi5jaGVja2JveF9fZGVzYyB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gcXVlcmllc1xuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbW9iaWxlKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLmNvb2tpZXNfX2FjdGlvbnMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnNvY2lhbF9fbmV0d29ya3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIHJlc2V0LXVsO1xuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyAkZWFzZS1pbi1vdXQtY3ViaWM7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vIEdyaWRcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmdyaWQge1xuICAgIC8vIGNvbnRhaW5lclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiA1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1JTtcblxuICAgIC8vIGNvbnRhaW5lciBkZWJ1Z1xuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmdiYShibGFjaywgMC41KTtcbiAgICAgICAgd2lkdGg6IDkwJTsgLy8gKDEwMCAtIDUlICogMilcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fbGlzdGluZyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTUlOyAvLyBiZWNhdXNlIG9mIDUlIHBhZGRpbmdcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJG51bWJlcjogMS8zKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1JTsgLy8gYmVjYXVzZSBvZiAtNSUgbWFyZ2luXG4gICAgfVxuXG4gICAgLml0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLy8gZGVidWdcbiAgICAgICAgLy8gJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGJsdWUsIDAuMik7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShyZWQsIDAuMik7XG4gICAgICAgIC8vIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgxMG4pLFxuICAgICAgICAmOm50aC1jaGlsZCgxMG4tNikge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIC8vIGRlYnVnXG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGdyZWVuLCAwLjIpO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDEwbikge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNSU7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMTBuLTYpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNvbWUgcmFuZG9tIHBvc2l0aW9ubmluZyAvIG9mZnNldHMgLi4uXG4gICAgICAgICY6bnRoLWNoaWxkKDEwbi05KSB7IC8vIDFcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0JTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQlO1xuXG4gICAgICAgICAgICAvLyAuaXRlbV9faW5uZXIge1xuICAgICAgICAgICAgLy8gICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDEwbi04KSB7IC8vIDJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQlO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1JTtcblxuICAgICAgICAgICAgLy8gLml0ZW1fX2lubmVyIHtcbiAgICAgICAgICAgIC8vICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgxMG4tNikgeyAvLyA0XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNSU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTUlO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDEwbi01KSB7IC8vIDVcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1JTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNSU7XG5cbiAgICAgICAgICAgIC8vIC5pdGVtX19pbm5lciB7XG4gICAgICAgICAgICAvLyAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMTBuLTMpIHsgLy8gN1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA3JTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIlO1xuXG4gICAgICAgICAgICAvLyAuaXRlbV9faW5uZXIge1xuICAgICAgICAgICAgLy8gICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgxMG4tMikgeyAvLyA4XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDclO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEyJTtcblxuICAgICAgICAgICAgLy8gLml0ZW1fX2lubmVyIHtcbiAgICAgICAgICAgIC8vICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERlY29yYXRpb25zXG4gICAgICAgICY6bnRoLWNoaWxkKDIwbiAtIDE5KTpub3QoLmdyaWRfX3NxdWFyZS0tcGluaykgLml0ZW1fX291dHNpZGUtZGVjb3JhdGlvbiB7IC8vIDFcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtZGVjb3JhdGlvbig1MDBweCwgNTAwcHgsICdzaGFwZV9jaXJjbGUxLnBuZycpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtNTAlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgyMG4gLSAxOCkgLml0ZW1fX291dHNpZGUtZGVjb3JhdGlvbiB7IC8vIDJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtZGVjb3JhdGlvbigxMDBweCwgMTUwcHgsICdzaGFwZV9zdGFycy5wbmcnKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xMDBweDtcbiAgICAgICAgICAgICAgICBib3R0b206IC01MCU7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIwbiAtIDE3KSAuaXRlbV9fb3V0c2lkZS1kZWNvcmF0aW9uIHsgLy8gM1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1kZWNvcmF0aW9uKDYwMHB4LCA0MDBweCwgJ3NoYXBlX3llbGxvdy5wbmcnKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoLTc1JSArIDEwMHB4KTtcbiAgICAgICAgICAgICAgICB0b3A6IC0yNTBweDtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMjBuIC0gMTYpIC5pdGVtX19vdXRzaWRlLWRlY29yYXRpb24geyAvLyA0XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWRlY29yYXRpb24oNTBweCwgMTAwcHgsICdzaGFwZV9saW5lMS5wbmcnKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAtMjUlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC01MCU7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIwbiAtIDEzKSAuaXRlbV9fb3V0c2lkZS1kZWNvcmF0aW9uIHsgLy8gN1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1kZWNvcmF0aW9uKDEwMHB4LCAxNTBweCwgJ3NoYXBlX3RyZWUucG5nJykge1xuICAgICAgICAgICAgICAgIHRvcDogLTc1cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogLTQwcHg7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIwbiAtIDEyKSAuaXRlbV9fb3V0c2lkZS1kZWNvcmF0aW9uIHsgLy8gOFxuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1kZWNvcmF0aW9uKDI1MHB4LCAyNTBweCwgJ3NoYXBlX2NpcmNsZTMucG5nJykge1xuICAgICAgICAgICAgICAgIHRvcDogLTEwMHB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTI1cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbGluZWFyO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogZnVsbHJvdGF0aW9uIGxpbmVhciA2MHMgaW5maW5pdGU7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIwbiAtIDExKSAuaXRlbV9fb3V0c2lkZS1kZWNvcmF0aW9uIHsgLy8gOVxuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1kZWNvcmF0aW9uKDIwMHB4LCAyMDBweCwgJ3NoYXBlX2NpcmNsZTIucG5nJykge1xuICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlIC0gMTAwcHgpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoLTEwMCUgKyAxMDBweCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIwbiAtIDkpIC5pdGVtX19vdXRzaWRlLWRlY29yYXRpb24geyAvLyAxMVxuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1kZWNvcmF0aW9uKDEwMHB4LCAxNTBweCwgJ3NoYXBlX3N0YXJzLnBuZycpIHtcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDEwMHB4KTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyNSU7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIwbiAtIDgpIC5pdGVtX19vdXRzaWRlLWRlY29yYXRpb24geyAvLyAxMlxuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1kZWNvcmF0aW9uKDIwMHB4LCAyMDBweCwgJ3NoYXBlX3RyaWFuZ2xlLnBuZycpIHtcbiAgICAgICAgICAgICAgICBib3R0b206IC0xMDBweDtcbiAgICAgICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDIwbiAtIDEpLCAgLy8gMTlcbiAgICAgICAgJjpudGgtY2hpbGQoMjBuKSB7ICAgICAvLyAyMFxuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgyMG4gLSAxOCkge1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtX19vdXRzaWRlLWRlY29yYXRpb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBbLi4uXVxuXG4gICAgICAgIC8qIHlvdSBjYW4gd3JhcCBhbGwgbGF5b3V0ICYgcG9zaXRpb25uaW5nIHN0dWZmIGludG8gbWVkaWFcbiAgICAgICAgcXVlcmllcyB0byBhZGFwdCBldmVyeXRoaW5nIGFzIG5lZWRlZCAvIHdhbnRlZCAqL1xuXG4gICAgICAgIC8vIFRNUDogdG8gc2hvdyBpdGVtIG51bWJlciBpbiBwYXR0ZXJuXG4gICAgICAgIC8vIEBmb3IgJGkgZnJvbSAxIHRvIDExIHtcbiAgICAgICAgLy8gICAgICY6bnRoLWNoaWxkKDEwbisjeyRpfSkge1xuICAgICAgICAvLyAgICAgICAgIC5pdGVtX19tZWRpYSB7XG4gICAgICAgIC8vICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skaX1cIjtcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAvLyAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAvLyAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIC8vICAgICAgICAgICAgICAgICBmb250LXNpemU6IDUycHg7XG4gICAgICAgIC8vICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KTtcbiAgICAgICAgLy8gICAgICAgICAgICAgfVxuICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuXG4gICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19tZWRpYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jYXJkLFxuICAgICZfX3JlY3Qge1xuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAmX19jYXRlZ29yeSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogNDUlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlKC01MCUsIDIwcHgpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZXBpbG9ndWUtLXNwYWNlZDtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzICRlYXNlLWluLW91dC1jdWJpYyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuNHMgJGVhc2UtaW4tb3V0LWN1YmljO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICAuaXRlbV9fY2F0ZWdvcnkge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGUoLTUwJSwgMCk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgJGVhc2UtaW4tb3V0LWN1YmljLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4ycyAkZWFzZS1pbi1vdXQtY3ViaWM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jYXJkLFxuICAgICZfX2VtYmVkIHtcbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDIwcHgpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgJGVhc2UtaW4tb3V0LWN1YmljLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC40cyAkZWFzZS1pbi1vdXQtY3ViaWM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgIC5pdGVtX190aXRsZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgJGVhc2UtaW4tb3V0LWN1YmljLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4ycyAkZWFzZS1pbi1vdXQtY3ViaWM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zcXVhcmUsXG4gICAgJl9fcmVjdCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVhbDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMDtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZWFsO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgJGVhc2Utb3V0LWN1YmljO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIEJhY2tncm91bmQgY29sb3JzXG4gICAgICAgICAgICAgICAgQGVhY2ggJGtleSwgJGNvbG9yIGluICRjb2xvcnMge1xuICAgICAgICAgICAgICAgICAgICAmLS1iYWNrZ3JvdW5kLSN7JGtleX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5pdGVtX190aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzICRlYXNlLWluLW91dC1jdWJpYztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDYXJkIC0gQXJ0d29yayB3aXRoIGltYWdlXG4gICAgJl9fY2FyZCB7XG4gICAgICAgIC5pdGVtX19tZWRpYSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5pdGVtX19wcmV2aWV3IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcblxuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyAkZWFzZS1pbi1vdXQtY3ViaWM7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgJGVhc2Utb3V0LWN1YmljO1xuICAgICAgICB9XG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgJGVhc2UtaW4tb3V0LWN1YmljO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLml0ZW1fX3ByZXZpZXcge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDFcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNxdWFyZSAtIENhdGVnb3J5XG4gICAgJl9fc3F1YXJlIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC5pdGVtX19pbm5lciB7XG4gICAgICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgICAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZykgc2NhbGUoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZWN0IC0gQXJ0d29yayB3aXRob3V0IGltYWdlXG4gICAgJl9fcmVjdCB7XG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNjBweCAydnc7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMDUpO1xuXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpIHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fZGVjb3JhdGlvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi0tYmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi0tYWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2VtYmVkIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKCRjb250YWluZXItbmFycm93LXdpZHRoKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5lbWJlZF9fbWVkaWEge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHBlcmNlbnRhZ2UoOS8xNik7XG4gICAgICAgIH1cblxuICAgICAgICBpZnJhbWUsXG4gICAgICAgIG9iamVjdCxcbiAgICAgICAgZW1iZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZnVsbGNvdmVyKGFic29sdXRlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVtcHR5IHJlc3VsdHNcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuICAgICZfX2VtcHR5IHtcbiAgICAgICAgcGFkZGluZzogMjAwcHggMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8vIFJldmVhbCBhbmltYXRpb25zXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbiAgICAmX19jYXJkLFxuICAgICZfX3JlY3QsXG4gICAgJl9fc3F1YXJlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgJGVhc2UtaW4tb3V0LWN1YmljLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4ycyAkZWFzZS1pbi1vdXQtY3ViaWM7XG4gICAgICAgICYucmV2ZWFsIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNZWRpYSBRdWVyaWVzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlLCAkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICYuZ3JpZF9fY2FyZCB7XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4tMSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1JTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgICZfX3JlY3Qge1xuICAgICAgICAgICAgLml0ZW1fX2lubmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlLCAkdW50aWw6IHRhYmxldCkge1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICZfX2xpc3Rpbmcge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxbikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMDBweCAwO1xuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NhdGVnb3J5IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vIEhlYWRpbmdcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5oZWFkaW5nIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gICAgaDEsIGgyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIG1hcmdpbjogMCAwIDVweCAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG5cbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgfVxuXG4gICAgLmNoYXJzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgcGFkZGluZzogMnB4IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgJl9fZGVjb3JhdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiBub25lO1xuICAgICAgICAgICAgICAgIHN0cm9rZTogYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBhbmltYXRpb25zXG4gICAgJltkYXRhLXJldmVhbF0ge1xuICAgICAgICAuaGVhZGluZ19fdGl0bGUsXG4gICAgICAgIC5oZWFkaW5nX19zdWJ0aXRsZSxcbiAgICAgICAgLmhlYWRpbmdfX2RlY29yYXRpb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAgICAgLy8gb3B0aW1pemUgZm9udCBhbmltYXRpb24gcmVuZGVyaW5nXG4gICAgICAgICAgICBmb250LWtlcm5pbmc6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcblxuICAgICAgICAgICAgLy8gYW5pbWF0aW9uIGZpeGVzIChsaW5lLWhlaWdodCB1cGRhdGVzKVxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLXRvcDogMC4xNWVtO1xuICAgICAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDAuMTVlbTtcbiAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAvLyBib3R0b206IC0xMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5lIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbWFyZ2luOiAtMC4xNGVtIDAgLTAuMzBlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnJldmVhbCB7XG4gICAgICAgIC5oZWFkaW5nX190aXRsZSxcbiAgICAgICAgLmhlYWRpbmdfX3N1YnRpdGxlLFxuICAgICAgICAuaGVhZGluZ19fZGVjb3JhdGlvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vIFBhZ2luYXRpb25cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5wYWdpbmF0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSByZXNldC11bDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyAkZWFzZS1vdXQtcXVpbnQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5leHRlbmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgIC5jdXJyZW50IHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgfVxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vIFNWRyBJY29uc1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy8gU3ByaXRlIFNWR1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJzdmctc3ByaXRlXCI7XG5cbi8vIE1peGlucyAmIEZ1bmN0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBmdW5jdGlvbiBzdmdpY29uLWF0dHIoJGljb24sICRhdHRyKSB7XG4gICAgJG5ld0ljb246IG1hcC1nZXQoJHN2Zy1pY29ucywgJGljb24pO1xuICAgIEBpZiAkbmV3SWNvbiA9PSBudWxsIHtcbiAgICAgICAgQHdhcm4gXCJDYW4ndCBmaW5kIGFuIGljb24gd2l0aCB0aGUgbmFtZSAjeyRpY29ufVwiO1xuICAgIH1cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG5ld0ljb24sICRhdHRyKTtcbn1cblxuQGZ1bmN0aW9uIGljb24tYXR0cigkaWNvbikge1xuICAgICRhdHRyOiAoXG4gICAgICAgIHdpZHRoOiBzdmdpY29uLWF0dHIoJGljb24sIHdpZHRoKSxcbiAgICAgICAgaGVpZ2h0OiBzdmdpY29uLWF0dHIoJGljb24sIGhlaWdodCksXG4gICAgKTtcblxuICAgIEByZXR1cm4gJGF0dHI7XG59XG5cbkBtaXhpbiBzdmdpY29uKCRpY29uLCAkdHlwZTogYWxsKSB7XG4gICAgJGljb25NYXA6IGljb24tYXR0cigkaWNvbik7XG5cbiAgICBAaWYgJHR5cGUgPT0gYWxsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIHdpZHRoOiBweDJlbShtYXAtZ2V0KCRpY29uTWFwLCB3aWR0aCkgLyAyKTtcbiAgICBoZWlnaHQ6IHB4MmVtKG1hcC1nZXQoJGljb25NYXAsIGhlaWdodCkgLyAyKTtcbn1cblxuLy8gR2VuZXJhbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zdmctaWNvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbnN2Zy5pY29uLFxuc3ZnW2NsYXNzXj1cImljb24tXCJdLFxuc3ZnW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLy8gSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZWFjaCAkbmFtZSwgJGljb24gaW4gJHN2Zy1pY29ucyB7XG4gICAgLmljb24tI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBzdmdpY29uKCRuYW1lLCBkaW1zKTtcbiAgICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLy8gQW5pbWF0aW9uc1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy8gVGV4dCBzY3JvbGxpbmcgYm90dG9tIG9mIGhvbWUgcGFnZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbkBrZXlmcmFtZXMgaG9tZXNjcm9sbCB7XG4gICAgMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAtNDAlKTt9XG4gICAgMTAwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIC00MCUpfVxufVxuXG4vLyBCdG4tLWxvYWRpbmcgc3Bpbm5lclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbkBrZXlmcmFtZXMgY2lyY3VsYXJTcGlubmVyRGFzaCB7XG4gICAgMCUge1xuICAgICAgICBzdHJva2UtZGFzaGFycmF5OiAxLCAyMDA7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBzdHJva2UtZGFzaGFycmF5OiA4OSwgMjAwO1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogLTM1cHg7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBzdHJva2UtZGFzaGFycmF5OiA4OSwgMjAwO1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogLTEyNHB4O1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBjaXJjdWxhclNwaW5uZXJSb3RhdGUge1xuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuLy8gQmxpbmtpbmcgY3Vyc29yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGtleWZyYW1lcyBibGlua2luZ0N1cnNvciB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi8vIEZ1bGwgcm90YXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5Aa2V5ZnJhbWVzIGZ1bGxyb3RhdGlvbiB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vIEJ1aWxkZXIgYmxvY2tzXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uYmxvY2sge1xuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgfVxufVxuXG4uYmxvY2staW1hZ2UsXG4uYmxvY2stZ2FsbGVyeSxcbi5ibG9jay13eXNpd3lnLFxuLmJsb2NrLWVtYmVkLFxuLmJsb2NrLWludGVydmlldyB7XG4gICAgJltkYXRhLXJldmVhbF0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgJGVhc2UtaW4tb3V0LWN1YmljLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMnMgJGVhc2UtaW4tb3V0LWN1YmljO1xuICAgIH1cblxuICAgICYucmV2ZWFsIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLy8gSW1wb3J0cyBvZiBibG9ja3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5AaW1wb3J0IFwiaW1hZ2VcIjtcbkBpbXBvcnQgXCJxdW90ZVwiO1xuQGltcG9ydCBcImdhbGxlcnlcIjtcblxuLy8gV1lTSVdZR1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbi5ibG9jay13eXNpd3lnIHtcbiAgICBtYXJnaW4tYm90dG9tOiBwYWRkaW5nKHZlcnRpY2FsLCBkZWZhdWx0KTtcbiAgICBwYWRkaW5nLWxlZnQ6IDMzJTtcbiAgICAmLmZ1bGx3aWR0aCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbn1cblxuLy8gU3BhY2VyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmJsb2NrLXNwYWNlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG5cbiAgICAvLyBxdWVyaWVzXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBkZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5ibG9jay1lbWJlZCB7XG4gICAgLy9cbn1cblxuLy8gSW50ZXJ2aWV3XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLmJsb2NrLWludGVydmlldyB7XG4gICAgaDIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMzJTtcbiAgICB9XG4gICAgLmVtYmVkLWlubmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEludGVydmlldyAmIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLmJsb2NrLWludGVydmlldyxcbi5ibG9jay1lbWJlZCB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKCRjb250YWluZXItbmFycm93LXdpZHRoKTtcbiAgICBtYXJnaW4tdG9wOiBwYWRkaW5nKHZlcnRpY2FsLCBkZWZhdWx0KTtcbiAgICBtYXJnaW4tYm90dG9tOiBwYWRkaW5nKHZlcnRpY2FsLCBkZWZhdWx0KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAuZW1iZWQtaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICYuZW1iZWQtLXZpZGVvIHtcbiAgICAgICAgICAgIC5lbWJlZF9fbWVkaWEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDkvMTYpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWZyYW1lLFxuICAgICAgICAgICAgb2JqZWN0LFxuICAgICAgICAgICAgZW1iZWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZ1bGxjb3ZlcihhYnNvbHV0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLy8gSW1hZ2UgYmxvY2tcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYmxvY2staW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IHBhZGRpbmcodmVydGljYWwsIGRlZmF1bHQpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICYuZnVsbHdpZHRoIHtcbiAgICAgICAgLmJsb2NrX19pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHF1ZXJpZXNcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICAmLmFsaWduLS1yaWdodCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogc2hpZnQoMSwgNCk7XG4gICAgICAgIH1cbiAgICAgICAgJi5hbGlnbi0tbGVmdCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNoaWZ0KDEsIDQpO1xuICAgICAgICB9XG4gICAgICAgICYuYWxpZ24tLWNlbnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoODAwcHgpO1xuICAgICAgICB9XG4gICAgICAgICYuYWxpZ24tLWZ1bGx3aWR0aCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogZGVza3RvcCkge1xuICAgICAgICAuYmxvY2tfX3VybCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICAuYmxvY2tfX21lZGlhIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiXG4vLyBRdW90ZSBibG9ja1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbi5ibG9jay1xdW90ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IHBhZGRpbmcodmVydGljYWwsIGRlZmF1bHQpO1xuICAgIHBhZGRpbmc6IDc1cHggMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMzJTtcbiAgICAucXVvdGUge1xuICAgICAgICAmX19kZWNvcmF0aW9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNSUpO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1MCU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlLCY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgJGVhc2UtaW4tb3V0LWN1YmljO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OlwiXFwyMDFDXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDpcIlxcMjAxRFwiO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAud29yZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2F1dGhvciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHJldmVhbHNcbiAgICAmLnJldmVhbCB7XG4gICAgICAgIC5xdW90ZSB7XG4gICAgICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSwmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYXV0aG9yIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gbWVkaWEgcXVlcmllc1xuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgLnF1b3RlX19kZWNvcmF0aW9uIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vLyBHYWxsZXJ5IGJsb2NrXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4kZ2FsbGVyeS1tZWRpYS1yYXRpbzogOS8xNjtcblxuLmJsb2NrLWdhbGxlcnkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmdhbGxlcnkge1xuICAgICAgICAmX193cmFwcGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLXdpZHRoO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmX19zbGlkZXMge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgICZfX3NsaWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJl9fbWVkaWFzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSgkZ2FsbGVyeS1tZWRpYS1yYXRpbyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZSB7XG4gICAgICAgICZfX21lZGlhLFxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmdWxsY292ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJl9fbWVkaWEge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gc3RhdGVzXG4gICAgLmFjdGl2ZS5zbGlkZSB7XG4gICAgICAgICZfX2NvbnRlbnQsXG4gICAgICAgICZfX21lZGlhIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgfVxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9sZC5zbGlkZSB7XG4gICAgICAgICZfX2NvbnRlbnQsXG4gICAgICAgICZfX21lZGlhIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gYW5pbWF0aW9uc1xuICAgIC5zbGlkZSB7XG4gICAgICAgICZfX2FjdGlvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gbW9kaWZpZXJzXG4gICAgJHBvc2l0aW9uaW5nczogKFxuICAgICAgICAndG9wLWxlZnQnICAgICAgICAgJ3RvcCBsZWZ0JyxcbiAgICAgICAgJ2NlbnRlci1sZWZ0JyAgICAgICdjZW50ZXIgbGVmdCcsXG4gICAgICAgICdib3R0b20tbGVmdCcgICAgICAnYm90dG9tIGxlZnQnLFxuICAgICAgICAndG9wLWNlbnRlcicgICAgICAgJ3RvcCBjZW50ZXInLFxuICAgICAgICAnY2VudGVyJyAgICAgICAgICAgJ2NlbnRlciBjZW50ZXInLFxuICAgICAgICAnYm90dG9tLWNlbnRlcicgICAgJ2JvdHRvbSBjZW50ZXInLFxuICAgICAgICAndG9wLXJpZ2h0JyAgICAgICAgJ3RvcCByaWdodCcsXG4gICAgICAgICdjZW50ZXItcmlnaHQnICAgICAnY2VudGVyIHJpZ2h0JyxcbiAgICAgICAgJ2JvdHRvbS1yaWdodCcgICAgICdib3R0b20gcmlnaHQnXG4gICAgKTtcblxuICAgIEBlYWNoICRwb3NpdGlvbiBpbiAkcG9zaXRpb25pbmdzIHtcbiAgICAgICAgJHNlbGVjdG9yOiAgbnRoKCRwb3NpdGlvbiwgMSk7XG4gICAgICAgICR2YWx1ZTogICAgIG50aCgkcG9zaXRpb24sIDIpO1xuXG4gICAgICAgIC5wb3NpdGlvbi0tI3skc2VsZWN0b3J9IC5zbGlkZV9faW1hZ2Uge1xuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLy8gSG9tZSBwYWdlXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udGVtcGxhdGUtaG9tZSB7XG4gICAgLmhlYWRpbmcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBkZXNrdG9wKSB7XG4gICAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ob21lX19lbmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBtYXJnaW46IDEwMHB4IDAgMjAwcHg7XG59XG5cbi5lbmQge1xuICAgICZfX3RleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNDAlKTtcblxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IDE1dnc7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXZ3O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICBhbmltYXRpb246IGhvbWVzY3JvbGwgNjBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAyMHB4IHJnYmEoJGJsYWNrLCAwLjE1KTtcbiAgICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLy8gQ29udGFjdCBwYWdlXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udGVtcGxhdGUtY29udGFjdCB7XG4gICAgLy9cbn1cblxuLmNvbnRhY3Qge1xuICAgICZfX2RlY29yYXRpb25zIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19kZWNvcmF0aW9uIHtcbiAgICAgICAgJi0tMSB7XG4gICAgICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG4gICAgICAgICYtLTIge1xuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAmLnJldmVhbCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICB9XG4gICAgICAgICYtd3JhcHBlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzICRlYXNlLWluLW91dC1jdWJpYyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjNzICRlYXNlLWluLW91dC1jdWJpYztcblxuICAgICAgICAgICAgJi5yZXZlYWwge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY3Vyc29yIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiA1cHg7XG4gICAgICAgIHdpZHRoOiAwLjFlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3I7XG5cbiAgICAgICAgYW5pbWF0aW9uOiBibGlua2luZ0N1cnNvciAxcyAkZWFzZS1pbi1vdXQtY3ViaWMgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoKCN7JGNvbnRhaW5lci13aWR0aH0gLSAjeyRjb250YWluZXItbmFycm93LXdpZHRofSkgLyAyICsgI3twYWRkaW5nKGhvcml6b250YWwsIGRlZmF1bHQpfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLy8gRXZlbnRzIGxheW91dFxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi50ZW1wbGF0ZS1ldmVudHMge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcblxuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSwgJHVudGlsOiBkZXNrdG9wKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cbn1cbi5ldmVudHMge1xuICAgICZfX2xpc3Rpbmcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cbn1cblxuXG4uZXZlbnQge1xuICAgICZfX2NhcmQge1xuICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAzMHB4KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcblxuICAgICAgICAmOm50aC1jaGlsZCg0bikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuZXZlbnRfX21lZGlhIGltZyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4xKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyAkZWFzZS1pbi1vdXQtY3ViaWM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZXZlbnRfX3RpdGxlLFxuICAgICAgICAgICAgLmV2ZW50X19kYXRlcyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXJldmVhbF0ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyAkZWFzZS1pbi1vdXQtY3ViaWMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4ycyAkZWFzZS1pbi1vdXQtY3ViaWM7XG4gICAgICAgIH1cblxuICAgICAgICAmLnJldmVhbCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlLFxuICAgICZfX2RhdGVzIHtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyAkZWFzZS1pbi1vdXQtY3ViaWM7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWVwaWxvZ3VlLS10aXRsZTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gICAgJl9fZGF0ZXMge1xuICAgICAgICAmLS1wYWdlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWVwaWxvZ3VlLS1zcGFjZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZWRpYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG5cbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgJGVhc2Utb3V0LXF1YWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlLCAkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgICAgJl9fY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAzMHB4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgICAmX19jYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLy8gQ29udGVudCBwYWdlIChkZWZhdWx0KVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnRlbXBsYXRlLXBhZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICAgIC5wYWdlX19jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIH1cbn1cblxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vIExpc3RpbmcgcGFnZSAoQXJ0d29ya3MgYXJjaGl2ZXMpXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnRlbXBsYXRlLWFyY2hpdmUtYXJ0d29ya3Mge1xuICAgIC8vIEZpbHRlcnNcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuICAgIC5maWx0ZXJzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1JTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNSU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xuXG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICZfX21lbnUsXG4gICAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiYWNrZ3JvdW5kLXJlc3BvbnNpdmUsIDAuOSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNZW51c1xuICAgICAgICAmX19tZW51IHtcbiAgICAgICAgICAgIHNwYW4sIHN2ZyB7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19vcmRlciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkZ3JleSwgMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGF4b25vbXkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWVwaWxvZ3VlLS1zcGFjZWQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHN0YXRlc1xuICAgICAgICAgICAgJi5hY3RpdmUtZmlsdGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY29udGVudFxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyAkZWFzZS1pbi1vdXQtY3ViaWM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDb250YWluZXJzXG4gICAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiA1JTtcblxuICAgICAgICAgICAgLy8gcGFkZGluZzogMTBweCAyMHB4IDEwcHg7XG5cbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKDEwMCUgKyAyMHB4KSk7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzICRlYXNlLW91dC1jdWJpYyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4ycyAkZWFzZS1pbi1vdXQtY3ViaWM7XG4gICAgICAgICAgICAmLmFjdGl2ZS1maWx0ZXIge1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9faW5wdXQge1xuICAgICAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvcm1cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuICAgIC5mb3JtIHtcbiAgICAgICAgJl9fZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDaGVja2JveFxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG4gICAgLmNoZWNrYm94IHtcbiAgICAgICAgJGNpcmNsZS1zaXplIDogMTJweDtcbiAgICAgICAgJGJvcmRlci13aWR0aCA6IDFweDtcbiAgICAgICAgJl9fbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbixcbiAgICAgICAgJl9fZGVzYyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmX19idXR0b24sXG4gICAgICAgICZfX2J1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGg7XG4gICAgICAgICAgICB3aWR0aDogJGNpcmNsZS1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkY2lyY2xlLXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19idXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB3aWR0aDogJGNpcmNsZS1zaXplIC0gJGJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJGNpcmNsZS1zaXplIC0gJGJvcmRlci13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Rlc2Mge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1lcGlsb2d1ZS0tc3BhY2VkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRjaXJjbGUtc2l6ZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkIH4gLmNoZWNrYm94X19idXR0b24gfiAuY2hlY2tib3hfX2Rlc2Mge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBRdWljayBmbG9hdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wdWxsLS1yaWdodCwgLmZsciAgIHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5wdWxsLS1sZWZ0LCAuZmxsICAgIHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuLnB1bGwtLW5vbmUsIC5mbG4gICAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8vIFRleHQgYWxpZ25tZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4udGV4dC0tbGVmdCwgLnRhbCAgICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LS1jZW50ZXIsIC50YWMgICB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4udGV4dC0tcmlnaHQsIC50YXIgICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4udGV4dC0tanVzdGlmeSwgLnRhaiAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtLXVwcGVyY2FzZSwgLnR0dSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4vLyBGb250IHdlaWdodHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi53ZWlnaHQtLWxpZ2h0ICAgICAgeyBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7IH1cbi53ZWlnaHQtLW5vcm1hbCAgICAgeyBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7IH1cbi53ZWlnaHQtLXNlbWlib2xkICAgeyBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7IH1cblxuLy8gQ29udGVudCB2aXNpYmlsaXR5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaGlkZGVuICAgICB7IGRpc3BsYXk6IG5vbmU7fVxuLnNob3cgICAgICAgeyBkaXNwbGF5OiBibG9jazsgfVxuLmludmlzaWJsZSAgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbi52aXNpYmxlICAgIHsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4vLyBNb3JlIHNpemVzIHBselxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vL1xuLy8gUGVyY2VudGFnZXNcbi53MTAgICAgeyB3aWR0aDogMTAlICFpbXBvcnRhbnQ7IH1cbi53MjAgICAgeyB3aWR0aDogMjAlICFpbXBvcnRhbnQ7IH1cbi53MjUgICAgeyB3aWR0aDogMjUlICFpbXBvcnRhbnQ7IH1cbi53MzAgICAgeyB3aWR0aDogMzAlICFpbXBvcnRhbnQ7IH1cbi53MzMgICAgeyB3aWR0aDogMzMuMzMzJSAhaW1wb3J0YW50OyB9XG4udzQwICAgIHsgd2lkdGg6IDQwJSAhaW1wb3J0YW50OyB9XG4udzUwICAgIHsgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG4udzYwICAgIHsgd2lkdGg6IDYwJSAhaW1wb3J0YW50OyB9XG4udzY2ICAgIHsgd2lkdGg6IDY2LjY2NiUgIWltcG9ydGFudDsgfVxuLnc3MCAgICB7IHdpZHRoOiA3MCUgIWltcG9ydGFudDsgfVxuLnc3NSAgICB7IHdpZHRoOiA3NSUgIWltcG9ydGFudDsgfVxuLnc4MCAgICB7IHdpZHRoOiA4MCUgIWltcG9ydGFudDsgfVxuLnc5MCAgICB7IHdpZHRoOiA5MCUgIWltcG9ydGFudDsgfVxuLncxMDAgICB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLy9cbi8vIFBpeGVsc1xuLnc1MHAgICAgICAgeyB3aWR0aDogNTBweCAhaW1wb3J0YW50OyB9XG4udzEwMHAgICAgICB7IHdpZHRoOiAxMDBweCAhaW1wb3J0YW50OyB9XG4udzE1MHAgICAgICB7IHdpZHRoOiAxNTBweCAhaW1wb3J0YW50OyB9XG4udzIwMHAgICAgICB7IHdpZHRoOiAyMDBweCAhaW1wb3J0YW50OyB9XG4udzMwMHAgICAgICB7IHdpZHRoOiAzMDBweCAhaW1wb3J0YW50OyB9XG4udzQwMHAgICAgICB7IHdpZHRoOiA0MDBweCAhaW1wb3J0YW50OyB9XG4udzUwMHAgICAgICB7IHdpZHRoOiA1MDBweCAhaW1wb3J0YW50OyB9XG4udzYwMHAgICAgICB7IHdpZHRoOiA2MDBweCAhaW1wb3J0YW50OyB9XG4udzcwMHAgICAgICB7IHdpZHRoOiA3MDBweCAhaW1wb3J0YW50OyB9XG4udzgwMHAgICAgICB7IHdpZHRoOiA4MDBweCAhaW1wb3J0YW50OyB9XG4udzk2MHAgICAgICB7IHdpZHRoOiA5NjBweCAhaW1wb3J0YW50OyB9XG4ubXc5NjBwICAgICB7IG1heC13aWR0aDogOTYwcHggIWltcG9ydGFudDsgfVxuLncxMTQwcCAgICAgeyB3aWR0aDogMTE0MHB4ICFpbXBvcnRhbnQ7IH1cbi5tdzExNDBwICAgIHsgbWF4LXdpZHRoOiAxMTQwcHggIWltcG9ydGFudDsgfVxuXG4vKiBTcGFjaW5nIGhlbHBlcnNcbiAgICBwLG0gPSBwYWRkaW5nLG1hcmdpblxuICAgIGEsdCxyLGIsbCA9IGFsbCx0b3AscmlnaHQsYm90dG9tLGxlZnRcbiAgICBzLG0sbCxuLDAgPSBzbWFsbCgxMHB4KSxtZWRpdW0oMjBweCksbGFyZ2UoMzBweCksIHplcm8gb3Igbm9uZSgwKVxuKi9cbi5tLS1yZXNldCxcbi5tYTAsXG4ubm9tYXJnaW4geyBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuLnAtLXJlc2V0LFxuLnBhMCxcbi5ub3BhZGRpbmcgeyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLm14LS1hdXRvICAgeyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5tYTUgICAgICAgIHsgbWFyZ2luOiA1cHggIWltcG9ydGFudDsgfVxuLm1hMTAsIC5tYXMgeyBtYXJnaW46IDEwcHggIWltcG9ydGFudDsgfVxuLm1hMTUgICAgICAgeyBtYXJnaW46IDE1cHggIWltcG9ydGFudDsgfVxuLm1hMjAsIC5tYW0geyBtYXJnaW46IDIwcHggIWltcG9ydGFudDsgfVxuLm1hMzAsIC5tYWwgeyBtYXJnaW46IDMwcHggIWltcG9ydGFudDsgfVxuLm1hNTAgICAgICAgeyBtYXJnaW46IDUwcHggIWltcG9ydGFudDsgfVxuLnBhNSAgICAgICAgeyBwYWRkaW5nOiA1cHggIWltcG9ydGFudDsgfVxuLnBhMTAsIC5wYXMgeyBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7IH1cbi5wYTE1ICAgICAgIHsgcGFkZGluZzogMTVweCAhaW1wb3J0YW50OyB9XG4ucGEyMCwgLnBhbSB7IHBhZGRpbmc6IDIwcHggIWltcG9ydGFudDsgfVxuLnBhMzAsIC5wYWwgeyBwYWRkaW5nOiAzMHB4ICFpbXBvcnRhbnQ7IH1cbi5wYTUwICAgICAgIHsgcGFkZGluZzogNTBweCAhaW1wb3J0YW50OyB9XG5cbi5tdDAsIC5tdG4geyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5tdDUgICAgICAgIHsgbWFyZ2luLXRvcDogNXB4ICFpbXBvcnRhbnQ7IH1cbi5tdDEwLCAubXRzIHsgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50OyB9XG4ubXQxNSAgICAgICB7IG1hcmdpbi10b3A6IDE1cHggIWltcG9ydGFudDsgfVxuLm10MjAsIC5tdG0geyBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7IH1cbi5tdDMwLCAubXRsIHsgbWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50OyB9XG4ubXQ1MCAgICAgICB7IG1hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudDsgfVxuLm10MTAwICAgICAgeyBtYXJnaW4tdG9wOiAxMDBweCAhaW1wb3J0YW50OyB9XG5cbi5tcjAsIC5tcm4geyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLm1yNSAgICAgICAgeyBtYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50OyB9XG4ubXIxMCwgLm1ycyB7IG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50OyB9XG4ubXIxNSAgICAgICB7IG1hcmdpbi1yaWdodDogMTVweCAhaW1wb3J0YW50OyB9XG4ubXIyMCwgLm1ybSB7IG1hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50OyB9XG4ubXIzMCwgLm1ybCB7IG1hcmdpbi1yaWdodDogMzBweCAhaW1wb3J0YW50OyB9XG4ubXI1MCAgICAgICB7IG1hcmdpbi1yaWdodDogNTBweCAhaW1wb3J0YW50OyB9XG4ubXIxMDAgICAgICB7IG1hcmdpbi1yaWdodDogMTAwcHggIWltcG9ydGFudDsgfVxuXG4ubWIwLCAubWJuIHsgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4ubWI1ICAgICAgICB7IG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50OyB9XG4ubWIxMCwgLm1icyB7IG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDsgfVxuLm1iMTUgICAgICAgeyBtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7IH1cbi5tYjIwLCAubWJtIHsgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50OyB9XG4ubWIzMCwgLm1ibCB7IG1hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudDsgfVxuLm1iNTAgICAgICAgeyBtYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7IH1cbi5tYjEwMCAgICAgIHsgbWFyZ2luLWJvdHRvbTogMTAwcHggIWltcG9ydGFudDsgfVxuXG4ubWwwLCAubWxuIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuLm1sNSAgICAgICAgeyBtYXJnaW4tbGVmdDogNXB4ICFpbXBvcnRhbnQ7IH1cbi5tbDEwLCAubWxzIHsgbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDsgfVxuLm1sMTUgICAgICAgeyBtYXJnaW4tbGVmdDogMTVweCAhaW1wb3J0YW50OyB9XG4ubWwyMCwgLm1sbSB7IG1hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7IH1cbi5tbDMwLCAubWxsIHsgbWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudDsgfVxuLm1sNTAgICAgICAgeyBtYXJnaW4tbGVmdDogNTBweCAhaW1wb3J0YW50OyB9XG4ubWwxMDAgICAgICAgeyBtYXJnaW4tbGVmdDogMTAwcHggIWltcG9ydGFudDsgfVxuXG4ucHQwLCAucHRuIHsgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuLnB0NSAgICAgICAgeyBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7IH1cbi5wdDEwLCAucHRzIHsgcGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudDsgfVxuLnB0MTUgICAgICAgeyBwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50OyB9XG4ucHQyMCwgLnB0bSB7IHBhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnQ7IH1cbi5wdDMwLCAucHRsIHsgcGFkZGluZy10b3A6IDMwcHggIWltcG9ydGFudDsgfVxuLnB0NTAgICAgICAgeyBwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50OyB9XG4ucHQxMDAgICAgICB7IHBhZGRpbmctdG9wOiAxMDBweCAhaW1wb3J0YW50OyB9XG5cbi5wcjAsIC5wcm4geyBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbi5wcjUgICAgICAgIHsgcGFkZGluZy1yaWdodDogNXB4ICFpbXBvcnRhbnQ7IH1cbi5wcjEwLCAucHJzIHsgcGFkZGluZy1yaWdodDogMTBweCAhaW1wb3J0YW50OyB9XG4ucHIxNSAgICAgICB7IHBhZGRpbmctcmlnaHQ6IDE1cHggIWltcG9ydGFudDsgfVxuLnByMjAsIC5wcm0geyBwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7IH1cbi5wcjMwLCAucHJsIHsgcGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50OyB9XG4ucHI1MCAgICAgICB7IHBhZGRpbmctcmlnaHQ6IDUwcHggIWltcG9ydGFudDsgfVxuLnByMTAwICAgICAgeyBwYWRkaW5nLXJpZ2h0OiAxMDBweCAhaW1wb3J0YW50OyB9XG5cbi5wYjAsIC5wYm4geyBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4ucGI1ICAgICAgICB7IHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDsgfVxuLnBiMTAsIC5wYnMgeyBwYWRkaW5nLWJvdHRvbTogMTBweCAhaW1wb3J0YW50OyB9XG4ucGIxNSAgICAgICB7IHBhZGRpbmctYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7IH1cbi5wYjIwLCAucGJtIHsgcGFkZGluZy1ib3R0b206IDIwcHggIWltcG9ydGFudDsgfVxuLnBiMzAsIC5wYmwgeyBwYWRkaW5nLWJvdHRvbTogMzBweCAhaW1wb3J0YW50OyB9XG4ucGI1MCAgICAgICB7IHBhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7IH1cbi5wYjEwMCAgICAgIHsgcGFkZGluZy1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnQ7IH1cblxuLnBsMCwgLnBsbiB7IHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4ucGw1ICAgICAgICB7IHBhZGRpbmctbGVmdDogNXB4ICFpbXBvcnRhbnQ7IH1cbi5wbDEwLCAucGxzIHsgcGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7IH1cbi5wbDE1ICAgICAgIHsgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7IH1cbi5wbDIwLCAucGxtIHsgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7IH1cbi5wbDMwLCAucGxsIHsgcGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7IH1cbi5wbDUwICAgICAgIHsgcGFkZGluZy1sZWZ0OiA1MHB4ICFpbXBvcnRhbnQ7IH1cbi5wbDEwMCAgICAgIHsgcGFkZGluZy1sZWZ0OiAxMDBweCAhaW1wb3J0YW50OyB9XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLy8gSGVscGVyc1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy8gQ29sb3JzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGVhY2ggJGtleSwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC5jb2xvci0tI3ska2V5fSB7XG4gICAgICAgIGNvbG9yOiAkdmFsdWU7XG4gICAgfVxufVxuIl19 */