/*!*************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/swiper/swiper-bundle.min.css ***!
  \*************************************************************************************************************************/
/**
 * Swiper 9.1.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: March 16, 2023
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper,swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide,swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;-ms-touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification,swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
/*!*********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/glightbox/dist/css/glightbox.min.css ***!
  \*********************************************************************************************************************************/
.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;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;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide:not(.current){pointer-events:none}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster{display:none}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%;margin:auto}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;position:absolute;bottom:0;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;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;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}}
/*!*************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/lite-youtube-embed/src/lite-yt-embed.css ***!
  \*************************************************************************************************************************************/
lite-youtube {
    background-color: #000;
    position: relative;
    display: block;
    contain: content;
    background-position: center center;
    background-size: cover;
    cursor: pointer;
    max-width: 720px;
}

/* gradient */
lite-youtube::before {
    content: attr(data-title);
    display: block;
    position: absolute;
    top: 0;
    /* Pixel-perfect port of YT's gradient PNG, using https://github.com/bluesmoon/pngtocss plus optimizations */
    background-image: linear-gradient(180deg, rgb(0 0 0 / 67%) 0%, rgb(0 0 0 / 54%) 14%, rgb(0 0 0 / 15%) 54%, rgb(0 0 0 / 5%) 72%, rgb(0 0 0 / 0%) 94%);
    height: 99px;
    width: 100%;
    font-family: "YouTube Noto",Roboto,Arial,Helvetica,sans-serif;
    color: hsl(0deg 0% 93.33%);
    text-shadow: 0 0 2px rgba(0,0,0,.5);
    font-size: 18px;
    padding: 25px 20px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    box-sizing: border-box;
}

lite-youtube:hover::before {
    color: white;
}

/* responsive iframe with a 16:9 aspect ratio
    thanks https://css-tricks.com/responsive-iframes/
*/
lite-youtube::after {
    content: "";
    display: block;
    padding-bottom: calc(100% / (16 / 9));
}
lite-youtube > iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: 0;
}

/* play button */
lite-youtube > .lty-playbtn {
    display: block;
    /* Make the button element cover the whole area for a large hover/click target… */
    width: 100%;
    height: 100%;
    /* …but visually it's still the same size */
    background: no-repeat center/68px 48px;
    /* YT's actual play button svg */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24 27 14v20" fill="white"/></svg>');
    position: absolute;
    cursor: pointer;
    z-index: 1;
    filter: grayscale(100%);
    transition: filter .1s cubic-bezier(0, 0, 0.2, 1);
    border: 0;
}

lite-youtube:hover > .lty-playbtn,
lite-youtube .lty-playbtn:focus {
    filter: none;
}

/* Post-click styles */
lite-youtube.lyt-activated {
    cursor: unset;
}
lite-youtube.lyt-activated::before,
lite-youtube.lyt-activated > .lty-playbtn {
    opacity: 0;
    pointer-events: none;
}

.lyt-visually-hidden {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

/*!*********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./src/styles/base.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* nunito-sans-300italic - latin */
@font-face {
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/nunito-sans-v15-latin-300.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  font-family: "Nunito Sans";
  font-display: block; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
}
@font-face {
  font-style: italic;
  font-weight: 300;
  src: url("../fonts/nunito-sans-v15-latin-300italic.woff2") format("woff2");
  font-family: "Nunito Sans";
  font-display: block;
}
/* nunito-sans-regular - latin */
@font-face {
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/nunito-sans-v15-latin-regular.woff2") format("woff2");
  font-family: "Nunito Sans";
  font-display: block;
}
/* nunito-sans-700 - latin */
@font-face {
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/nunito-sans-v15-latin-700.woff2") format("woff2");
  font-family: "Nunito Sans";
  font-display: block;
}
/* nunito-sans-900 - latin */
@font-face {
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/nunito-sans-v15-latin-900.woff2") format("woff2");
  font-family: "Nunito Sans";
  font-display: block;
}
/**
 * Foundation for Sites
 * Version 6.7.5
 * https://get.foundation
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal.large, .reveal.small, .reveal.tiny, .reveal {
    right: auto;
    left: auto;
    margin: 0 auto;
  }
}
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  -webkit-text-size-adjust: 100%;
  line-height: 1.15;
}

body {
  margin: 0;
}

h1 {
  margin: 0.67em 0;
  font-size: 2em;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-size: 1em;
  font-family: monospace, monospace;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: 0;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-size: 1em;
  font-family: monospace, monospace;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-size: 100%;
  line-height: 1.15;
  font-family: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  display: table;
  max-width: 100%;
  padding: 0;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

[data-whatintent=mouse] *, [data-whatintent=mouse] *:focus,
[data-whatintent=touch] *,
[data-whatintent=touch] *:focus,
[data-whatinput=mouse] *,
[data-whatinput=mouse] *:focus,
[data-whatinput=touch] *,
[data-whatinput=touch] *:focus {
  outline: none;
}

[draggable=false] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
}

.foundation-mq {
  font-family: "small=0em&medium=40em&tablet=48.875em&large=64em&xlarge=80em&xxlarge=103.125em&wide=120em";
}

html {
  box-sizing: border-box;
  font-size: 100%;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding: 0;
  background: #fefefe;
  color: #484848;
  font-weight: 400;
  line-height: 1.5;
  font-family: "Nunito Sans", sans-serif;
}

img {
  -ms-interpolation-mode: bicubic;
  display: inline-block;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0.25rem;
}

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0.25rem;
}

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important;
}

button {
  appearance: none;
  padding: 0;
  border: 0;
  border-radius: 0.25rem;
  background: transparent;
  line-height: 1;
  cursor: pointer;
}
[data-whatinput=mouse] button {
  outline: 0;
}

pre {
  -webkit-overflow-scrolling: touch;
  overflow: auto;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
}

.is-visible {
  display: block !important;
}

.is-hidden {
  display: none !important;
}

[type=text], [type=password], [type=date], [type=datetime], [type=datetime-local], [type=month], [type=week], [type=email], [type=number], [type=search], [type=tel], [type=time], [type=url], [type=color],
textarea {
  box-sizing: border-box;
  display: block;
  appearance: none;
  width: 100%;
  height: 2.7708333333rem;
  margin: 0 0 1rem;
  padding: 0.6666666667rem;
  border: 2px solid #cacaca;
  border-radius: 0.25rem;
  background-color: #fefefe;
  box-shadow: none;
  color: #0a0a0a;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  font-family: inherit;
  transition: border-color 0.25s ease-in-out;
}
[type=text]:focus, [type=password]:focus, [type=date]:focus, [type=datetime]:focus, [type=datetime-local]:focus, [type=month]:focus, [type=week]:focus, [type=email]:focus, [type=number]:focus, [type=search]:focus, [type=tel]:focus, [type=time]:focus, [type=url]:focus, [type=color]:focus,
textarea:focus {
  border: 2px solid #e31f28;
  outline: none;
  background-color: #fefefe;
  box-shadow: none;
  transition: border-color 0.25s ease-in-out;
}

textarea {
  max-width: 100%;
}
textarea[rows] {
  height: auto;
}

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed;
}

[type=submit],
[type=button] {
  appearance: none;
  border-radius: 0.25rem;
}

input[type=search] {
  box-sizing: border-box;
}

::placeholder {
  color: #cacaca;
}

[type=file],
[type=checkbox],
[type=radio] {
  margin: 0 0 1rem;
}

[type=checkbox] + label,
[type=radio] + label {
  display: inline-block;
  margin-right: 1rem;
  margin-bottom: 0;
  margin-left: 0.5rem;
  vertical-align: baseline;
}
[type=checkbox] + label[for],
[type=radio] + label[for] {
  cursor: pointer;
}

label > [type=checkbox],
label > [type=radio] {
  margin-right: 0.5rem;
}

[type=file] {
  width: 100%;
}

label {
  display: block;
  margin: 0;
  color: #0a0a0a;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.5;
}
label.middle {
  margin: 0 0 1rem;
  padding: 0.625rem 0;
  line-height: 1.5;
}

.help-text {
  margin-top: -0.5rem;
  color: #0a0a0a;
  font-style: italic;
  font-size: 0.8125rem;
}

.input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
  margin-bottom: 1rem;
}
.input-group > :first-child, .input-group > :first-child.input-group-button > * {
  border-radius: 0.25rem 0 0 0.25rem;
}
.input-group > :last-child, .input-group > :last-child.input-group-button > * {
  border-radius: 0 0.25rem 0.25rem 0;
}

.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label, .input-group-button, .input-group-field, .input-group-label {
  margin: 0;
  white-space: nowrap;
}

.input-group-label {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
}
.input-group-label:first-child {
  border-right: 0;
}
.input-group-label:last-child {
  border-left: 0;
}

.input-group-field {
  flex: 1 1 0px;
  min-width: 0;
  border-radius: 0;
}

.input-group-button {
  display: flex;
  flex: 0 0 auto;
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
}
.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  align-self: stretch;
  height: auto;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 1rem;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  max-width: 100%;
  margin-bottom: 0.5rem;
}

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #cacaca;
}
.fieldset legend {
  margin: 0;
  margin-left: -0.1875rem;
  padding: 0 0.1875rem;
}

select {
  appearance: none;
  height: 2.7708333333rem;
  margin: 0 0 1rem;
  padding: 0.6666666667rem;
  padding-right: 1.5rem;
  border: 2px solid #cacaca;
  border-radius: 0.25rem;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb%28138, 138, 138%29"></polygon></svg>');
  background-position: right -1rem center;
  background-size: 9px 6px;
  background-repeat: no-repeat;
  background-origin: content-box;
  background-color: #fefefe;
  color: #0a0a0a;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  font-family: inherit;
  transition: border-color 0.25s ease-in-out;
}
@media screen and (min-width: 0\0 ) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}
select:focus {
  border: 2px solid #e31f28;
  outline: none;
  background-color: #fefefe;
  box-shadow: none;
  transition: border-color 0.25s ease-in-out;
}
select:disabled {
  background-color: #e6e6e6;
  cursor: not-allowed;
}
select::-ms-expand {
  display: none;
}
select[multiple] {
  height: auto;
  background-image: none;
}
select:not([multiple]) {
  padding-top: 0;
  padding-bottom: 0;
}

.is-invalid-input:not(:focus) {
  border-color: #E00B41;
  background-color: #fbe6eb;
}
.is-invalid-input:not(:focus)::placeholder {
  color: #E00B41;
}

.is-invalid-label {
  color: #E00B41;
}

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  color: #E00B41;
  font-weight: 600;
  font-size: 0.75rem;
}
.form-error.is-visible {
  display: block;
}

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
}

em,
i {
  font-style: italic;
  line-height: inherit;
}

strong,
b {
  font-weight: 600;
  line-height: inherit;
}

small {
  font-size: 80%;
  line-height: inherit;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  color: inherit;
  font-style: normal;
  font-weight: 600;
  font-family: "Nunito Sans", sans-serif;
  text-rendering: optimizeLegibility;
}
h1 small, .h1 small,
h2 small, .h2 small,
h3 small, .h3 small,
h4 small, .h4 small,
h5 small, .h5 small,
h6 small, .h6 small {
  color: #cacaca;
  line-height: 0;
}

h1, .h1 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 2rem;
  line-height: 1.25;
}

h2, .h2 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.75rem;
  line-height: 1.25;
}

h3, .h3 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.375rem;
  line-height: 1.25;
}

h4, .h4 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.25;
}

h5, .h5 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  line-height: 1.25;
}

h6, .h6 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  line-height: 1.25;
}

@media screen and (min-width: 80em) {
  h1, .h1 {
    font-size: 2.75rem;
  }
  h2, .h2 {
    font-size: 2rem;
  }
  h3, .h3 {
    font-size: 1.625rem;
  }
  h4, .h4 {
    font-size: 1.125rem;
  }
  h5, .h5 {
    font-size: 1rem;
  }
  h6, .h6 {
    font-size: 1rem;
  }
}
a {
  color: #e31f28;
  line-height: inherit;
  text-decoration: none;
  cursor: pointer;
}
a:hover, a:focus {
  color: #0a0a0a;
}
a img {
  border: 0;
}

hr {
  max-width: 1400px;
  height: 0;
  margin: 0.625rem auto;
  clear: both;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0;
}

ul,
ol,
dl {
  margin-bottom: 1rem;
  line-height: 1.5;
  list-style-position: outside;
}

li {
  font-size: inherit;
}

ul {
  margin-left: 1.25rem;
  list-style-type: disc;
}

ol {
  margin-left: 1.25rem;
}

ul ul, ul ol, ol ul, ol ol {
  margin-bottom: 0;
  margin-left: 1.25rem;
}

dl {
  margin-bottom: 1rem;
}
dl dt {
  margin-bottom: 0.3rem;
  font-weight: 600;
}

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca;
}
blockquote, blockquote p {
  color: #8a8a8a;
  line-height: 1.5;
}

abbr, abbr[title] {
  border-bottom: 1px dotted #0a0a0a;
  text-decoration: none;
  cursor: help;
}

figure {
  margin: 0;
}

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  border-radius: 0.25rem;
  background-color: #e6e6e6;
  color: #0a0a0a;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
}

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  color: #8a8a8a;
  font-weight: 400;
  line-height: 1.25;
}

.lead {
  font-size: 125%;
  line-height: 1.5;
}

.stat {
  font-size: 2.5rem;
  line-height: 1;
}
p + .stat {
  margin-top: -1rem;
}

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none;
}

.cite-block, cite {
  display: block;
  color: #8a8a8a;
  font-size: 0.8125rem;
}
.cite-block:before, cite:before {
  content: "— ";
}

.code-inline, code {
  word-wrap: break-word;
  display: inline;
  max-width: 100%;
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  color: #0a0a0a;
  font-weight: 400;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
}

.code-block {
  display: block;
  margin-bottom: 1.5rem;
  padding: 1rem;
  overflow: auto;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  color: #0a0a0a;
  font-weight: 400;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  white-space: pre;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.text-justify {
  text-align: justify;
}

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left;
  }
  .medium-text-right {
    text-align: right;
  }
  .medium-text-center {
    text-align: center;
  }
  .medium-text-justify {
    text-align: justify;
  }
}
@media print, screen and (min-width: 48.875em) {
  .tablet-text-left {
    text-align: left;
  }
  .tablet-text-right {
    text-align: right;
  }
  .tablet-text-center {
    text-align: center;
  }
  .tablet-text-justify {
    text-align: justify;
  }
}
@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left;
  }
  .large-text-right {
    text-align: right;
  }
  .large-text-center {
    text-align: center;
  }
  .large-text-justify {
    text-align: justify;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-text-left {
    text-align: left;
  }
  .xlarge-text-right {
    text-align: right;
  }
  .xlarge-text-center {
    text-align: center;
  }
  .xlarge-text-justify {
    text-align: justify;
  }
}
@media screen and (min-width: 103.125em) {
  .xxlarge-text-left {
    text-align: left;
  }
  .xxlarge-text-right {
    text-align: right;
  }
  .xxlarge-text-center {
    text-align: center;
  }
  .xxlarge-text-justify {
    text-align: justify;
  }
}
@media screen and (min-width: 120em) {
  .wide-text-left {
    text-align: left;
  }
  .wide-text-right {
    text-align: right;
  }
  .wide-text-center {
    text-align: center;
  }
  .wide-text-justify {
    text-align: justify;
  }
}
.show-for-print {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    print-color-adjust: economy;
    text-shadow: none !important;
  }
  .show-for-print {
    display: block !important;
  }
  .hide-for-print {
    display: none !important;
  }
  table.show-for-print {
    display: table !important;
  }
  thead.show-for-print {
    display: table-header-group !important;
  }
  tbody.show-for-print {
    display: table-row-group !important;
  }
  tr.show-for-print {
    display: table-row !important;
  }
  td.show-for-print {
    display: table-cell !important;
  }
  th.show-for-print {
    display: table-cell !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .print-break-inside {
    page-break-inside: auto;
  }
}
.grid-container {
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}
.grid-container.fluid {
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}
.grid-container.full {
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0;
  padding-left: 0;
}

.grid-x {
  display: flex;
  flex-flow: row wrap;
}

.cell {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
}
.cell.auto {
  flex: 1 1 0;
}
.cell.shrink {
  flex: 0 0 auto;
}

.grid-x > .auto {
  width: auto;
}
.grid-x > .shrink {
  width: auto;
}

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  flex-basis: auto;
}

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    flex-basis: auto;
  }
}
@media print, screen and (min-width: 48.875em) {
  .grid-x > .tablet-shrink, .grid-x > .tablet-full, .grid-x > .tablet-1, .grid-x > .tablet-2, .grid-x > .tablet-3, .grid-x > .tablet-4, .grid-x > .tablet-5, .grid-x > .tablet-6, .grid-x > .tablet-7, .grid-x > .tablet-8, .grid-x > .tablet-9, .grid-x > .tablet-10, .grid-x > .tablet-11, .grid-x > .tablet-12 {
    flex-basis: auto;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    flex-basis: auto;
  }
}
@media screen and (min-width: 80em) {
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    flex-basis: auto;
  }
}
@media screen and (min-width: 103.125em) {
  .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-full, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-12 {
    flex-basis: auto;
  }
}
@media screen and (min-width: 120em) {
  .grid-x > .wide-shrink, .grid-x > .wide-full, .grid-x > .wide-1, .grid-x > .wide-2, .grid-x > .wide-3, .grid-x > .wide-4, .grid-x > .wide-5, .grid-x > .wide-6, .grid-x > .wide-7, .grid-x > .wide-8, .grid-x > .wide-9, .grid-x > .wide-10, .grid-x > .wide-11, .grid-x > .wide-12 {
    flex-basis: auto;
  }
}
.grid-x > .small-12, .grid-x > .small-11, .grid-x > .small-10, .grid-x > .small-9, .grid-x > .small-8, .grid-x > .small-7, .grid-x > .small-6, .grid-x > .small-5, .grid-x > .small-4, .grid-x > .small-3, .grid-x > .small-2, .grid-x > .small-1 {
  flex: 0 0 auto;
}

.grid-x > .small-1 {
  width: 8.3333333333%;
}

.grid-x > .small-2 {
  width: 16.6666666667%;
}

.grid-x > .small-3 {
  width: 25%;
}

.grid-x > .small-4 {
  width: 33.3333333333%;
}

.grid-x > .small-5 {
  width: 41.6666666667%;
}

.grid-x > .small-6 {
  width: 50%;
}

.grid-x > .small-7 {
  width: 58.3333333333%;
}

.grid-x > .small-8 {
  width: 66.6666666667%;
}

.grid-x > .small-9 {
  width: 75%;
}

.grid-x > .small-10 {
  width: 83.3333333333%;
}

.grid-x > .small-11 {
  width: 91.6666666667%;
}

.grid-x > .small-12 {
  width: 100%;
}

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    flex: 1 1 0;
    width: auto;
  }
  .grid-x > .medium-12, .grid-x > .medium-11, .grid-x > .medium-10, .grid-x > .medium-9, .grid-x > .medium-8, .grid-x > .medium-7, .grid-x > .medium-6, .grid-x > .medium-5, .grid-x > .medium-4, .grid-x > .medium-3, .grid-x > .medium-2, .grid-x > .medium-1, .grid-x > .medium-shrink {
    flex: 0 0 auto;
  }
  .grid-x > .medium-shrink {
    width: auto;
  }
  .grid-x > .medium-1 {
    width: 8.3333333333%;
  }
  .grid-x > .medium-2 {
    width: 16.6666666667%;
  }
  .grid-x > .medium-3 {
    width: 25%;
  }
  .grid-x > .medium-4 {
    width: 33.3333333333%;
  }
  .grid-x > .medium-5 {
    width: 41.6666666667%;
  }
  .grid-x > .medium-6 {
    width: 50%;
  }
  .grid-x > .medium-7 {
    width: 58.3333333333%;
  }
  .grid-x > .medium-8 {
    width: 66.6666666667%;
  }
  .grid-x > .medium-9 {
    width: 75%;
  }
  .grid-x > .medium-10 {
    width: 83.3333333333%;
  }
  .grid-x > .medium-11 {
    width: 91.6666666667%;
  }
  .grid-x > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 48.875em) {
  .grid-x > .tablet-auto {
    flex: 1 1 0;
    width: auto;
  }
  .grid-x > .tablet-12, .grid-x > .tablet-11, .grid-x > .tablet-10, .grid-x > .tablet-9, .grid-x > .tablet-8, .grid-x > .tablet-7, .grid-x > .tablet-6, .grid-x > .tablet-5, .grid-x > .tablet-4, .grid-x > .tablet-3, .grid-x > .tablet-2, .grid-x > .tablet-1, .grid-x > .tablet-shrink {
    flex: 0 0 auto;
  }
  .grid-x > .tablet-shrink {
    width: auto;
  }
  .grid-x > .tablet-1 {
    width: 8.3333333333%;
  }
  .grid-x > .tablet-2 {
    width: 16.6666666667%;
  }
  .grid-x > .tablet-3 {
    width: 25%;
  }
  .grid-x > .tablet-4 {
    width: 33.3333333333%;
  }
  .grid-x > .tablet-5 {
    width: 41.6666666667%;
  }
  .grid-x > .tablet-6 {
    width: 50%;
  }
  .grid-x > .tablet-7 {
    width: 58.3333333333%;
  }
  .grid-x > .tablet-8 {
    width: 66.6666666667%;
  }
  .grid-x > .tablet-9 {
    width: 75%;
  }
  .grid-x > .tablet-10 {
    width: 83.3333333333%;
  }
  .grid-x > .tablet-11 {
    width: 91.6666666667%;
  }
  .grid-x > .tablet-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    flex: 1 1 0;
    width: auto;
  }
  .grid-x > .large-12, .grid-x > .large-11, .grid-x > .large-10, .grid-x > .large-9, .grid-x > .large-8, .grid-x > .large-7, .grid-x > .large-6, .grid-x > .large-5, .grid-x > .large-4, .grid-x > .large-3, .grid-x > .large-2, .grid-x > .large-1, .grid-x > .large-shrink {
    flex: 0 0 auto;
  }
  .grid-x > .large-shrink {
    width: auto;
  }
  .grid-x > .large-1 {
    width: 8.3333333333%;
  }
  .grid-x > .large-2 {
    width: 16.6666666667%;
  }
  .grid-x > .large-3 {
    width: 25%;
  }
  .grid-x > .large-4 {
    width: 33.3333333333%;
  }
  .grid-x > .large-5 {
    width: 41.6666666667%;
  }
  .grid-x > .large-6 {
    width: 50%;
  }
  .grid-x > .large-7 {
    width: 58.3333333333%;
  }
  .grid-x > .large-8 {
    width: 66.6666666667%;
  }
  .grid-x > .large-9 {
    width: 75%;
  }
  .grid-x > .large-10 {
    width: 83.3333333333%;
  }
  .grid-x > .large-11 {
    width: 91.6666666667%;
  }
  .grid-x > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 80em) {
  .grid-x > .xlarge-auto {
    flex: 1 1 0;
    width: auto;
  }
  .grid-x > .xlarge-12, .grid-x > .xlarge-11, .grid-x > .xlarge-10, .grid-x > .xlarge-9, .grid-x > .xlarge-8, .grid-x > .xlarge-7, .grid-x > .xlarge-6, .grid-x > .xlarge-5, .grid-x > .xlarge-4, .grid-x > .xlarge-3, .grid-x > .xlarge-2, .grid-x > .xlarge-1, .grid-x > .xlarge-shrink {
    flex: 0 0 auto;
  }
  .grid-x > .xlarge-shrink {
    width: auto;
  }
  .grid-x > .xlarge-1 {
    width: 8.3333333333%;
  }
  .grid-x > .xlarge-2 {
    width: 16.6666666667%;
  }
  .grid-x > .xlarge-3 {
    width: 25%;
  }
  .grid-x > .xlarge-4 {
    width: 33.3333333333%;
  }
  .grid-x > .xlarge-5 {
    width: 41.6666666667%;
  }
  .grid-x > .xlarge-6 {
    width: 50%;
  }
  .grid-x > .xlarge-7 {
    width: 58.3333333333%;
  }
  .grid-x > .xlarge-8 {
    width: 66.6666666667%;
  }
  .grid-x > .xlarge-9 {
    width: 75%;
  }
  .grid-x > .xlarge-10 {
    width: 83.3333333333%;
  }
  .grid-x > .xlarge-11 {
    width: 91.6666666667%;
  }
  .grid-x > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 103.125em) {
  .grid-x > .xxlarge-auto {
    flex: 1 1 0;
    width: auto;
  }
  .grid-x > .xxlarge-12, .grid-x > .xxlarge-11, .grid-x > .xxlarge-10, .grid-x > .xxlarge-9, .grid-x > .xxlarge-8, .grid-x > .xxlarge-7, .grid-x > .xxlarge-6, .grid-x > .xxlarge-5, .grid-x > .xxlarge-4, .grid-x > .xxlarge-3, .grid-x > .xxlarge-2, .grid-x > .xxlarge-1, .grid-x > .xxlarge-shrink {
    flex: 0 0 auto;
  }
  .grid-x > .xxlarge-shrink {
    width: auto;
  }
  .grid-x > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .grid-x > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .grid-x > .xxlarge-3 {
    width: 25%;
  }
  .grid-x > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .grid-x > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .grid-x > .xxlarge-6 {
    width: 50%;
  }
  .grid-x > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .grid-x > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .grid-x > .xxlarge-9 {
    width: 75%;
  }
  .grid-x > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .grid-x > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .grid-x > .xxlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 120em) {
  .grid-x > .wide-auto {
    flex: 1 1 0;
    width: auto;
  }
  .grid-x > .wide-12, .grid-x > .wide-11, .grid-x > .wide-10, .grid-x > .wide-9, .grid-x > .wide-8, .grid-x > .wide-7, .grid-x > .wide-6, .grid-x > .wide-5, .grid-x > .wide-4, .grid-x > .wide-3, .grid-x > .wide-2, .grid-x > .wide-1, .grid-x > .wide-shrink {
    flex: 0 0 auto;
  }
  .grid-x > .wide-shrink {
    width: auto;
  }
  .grid-x > .wide-1 {
    width: 8.3333333333%;
  }
  .grid-x > .wide-2 {
    width: 16.6666666667%;
  }
  .grid-x > .wide-3 {
    width: 25%;
  }
  .grid-x > .wide-4 {
    width: 33.3333333333%;
  }
  .grid-x > .wide-5 {
    width: 41.6666666667%;
  }
  .grid-x > .wide-6 {
    width: 50%;
  }
  .grid-x > .wide-7 {
    width: 58.3333333333%;
  }
  .grid-x > .wide-8 {
    width: 66.6666666667%;
  }
  .grid-x > .wide-9 {
    width: 75%;
  }
  .grid-x > .wide-10 {
    width: 83.3333333333%;
  }
  .grid-x > .wide-11 {
    width: 91.6666666667%;
  }
  .grid-x > .wide-12 {
    width: 100%;
  }
}
.grid-margin-x:not(.grid-x) > .cell {
  width: auto;
}

.grid-margin-y:not(.grid-y) > .cell {
  height: auto;
}

.grid-margin-x {
  margin-right: -1.5rem;
  margin-left: -1.5rem;
}
.grid-margin-x > .cell {
  width: calc(100% - 3rem);
  margin-right: 1.5rem;
  margin-left: 1.5rem;
}
.grid-margin-x > .auto {
  width: auto;
}
.grid-margin-x > .shrink {
  width: auto;
}
.grid-margin-x > .small-1 {
  width: calc(8.3333333333% - 3rem);
}
.grid-margin-x > .small-2 {
  width: calc(16.6666666667% - 3rem);
}
.grid-margin-x > .small-3 {
  width: calc(25% - 3rem);
}
.grid-margin-x > .small-4 {
  width: calc(33.3333333333% - 3rem);
}
.grid-margin-x > .small-5 {
  width: calc(41.6666666667% - 3rem);
}
.grid-margin-x > .small-6 {
  width: calc(50% - 3rem);
}
.grid-margin-x > .small-7 {
  width: calc(58.3333333333% - 3rem);
}
.grid-margin-x > .small-8 {
  width: calc(66.6666666667% - 3rem);
}
.grid-margin-x > .small-9 {
  width: calc(75% - 3rem);
}
.grid-margin-x > .small-10 {
  width: calc(83.3333333333% - 3rem);
}
.grid-margin-x > .small-11 {
  width: calc(91.6666666667% - 3rem);
}
.grid-margin-x > .small-12 {
  width: calc(100% - 3rem);
}
@media print, screen and (min-width: 40em) {
  .grid-margin-x > .medium-auto {
    width: auto;
  }
  .grid-margin-x > .medium-shrink {
    width: auto;
  }
  .grid-margin-x > .medium-1 {
    width: calc(8.3333333333% - 3rem);
  }
  .grid-margin-x > .medium-2 {
    width: calc(16.6666666667% - 3rem);
  }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 3rem);
  }
  .grid-margin-x > .medium-4 {
    width: calc(33.3333333333% - 3rem);
  }
  .grid-margin-x > .medium-5 {
    width: calc(41.6666666667% - 3rem);
  }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 3rem);
  }
  .grid-margin-x > .medium-7 {
    width: calc(58.3333333333% - 3rem);
  }
  .grid-margin-x > .medium-8 {
    width: calc(66.6666666667% - 3rem);
  }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 3rem);
  }
  .grid-margin-x > .medium-10 {
    width: calc(83.3333333333% - 3rem);
  }
  .grid-margin-x > .medium-11 {
    width: calc(91.6666666667% - 3rem);
  }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 3rem);
  }
}
@media print, screen and (min-width: 48.875em) {
  .grid-margin-x > .tablet-auto {
    width: auto;
  }
  .grid-margin-x > .tablet-shrink {
    width: auto;
  }
  .grid-margin-x > .tablet-1 {
    width: calc(8.3333333333% - 3rem);
  }
  .grid-margin-x > .tablet-2 {
    width: calc(16.6666666667% - 3rem);
  }
  .grid-margin-x > .tablet-3 {
    width: calc(25% - 3rem);
  }
  .grid-margin-x > .tablet-4 {
    width: calc(33.3333333333% - 3rem);
  }
  .grid-margin-x > .tablet-5 {
    width: calc(41.6666666667% - 3rem);
  }
  .grid-margin-x > .tablet-6 {
    width: calc(50% - 3rem);
  }
  .grid-margin-x > .tablet-7 {
    width: calc(58.3333333333% - 3rem);
  }
  .grid-margin-x > .tablet-8 {
    width: calc(66.6666666667% - 3rem);
  }
  .grid-margin-x > .tablet-9 {
    width: calc(75% - 3rem);
  }
  .grid-margin-x > .tablet-10 {
    width: calc(83.3333333333% - 3rem);
  }
  .grid-margin-x > .tablet-11 {
    width: calc(91.6666666667% - 3rem);
  }
  .grid-margin-x > .tablet-12 {
    width: calc(100% - 3rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x > .large-auto {
    width: auto;
  }
  .grid-margin-x > .large-shrink {
    width: auto;
  }
  .grid-margin-x > .large-1 {
    width: calc(8.3333333333% - 3rem);
  }
  .grid-margin-x > .large-2 {
    width: calc(16.6666666667% - 3rem);
  }
  .grid-margin-x > .large-3 {
    width: calc(25% - 3rem);
  }
  .grid-margin-x > .large-4 {
    width: calc(33.3333333333% - 3rem);
  }
  .grid-margin-x > .large-5 {
    width: calc(41.6666666667% - 3rem);
  }
  .grid-margin-x > .large-6 {
    width: calc(50% - 3rem);
  }
  .grid-margin-x > .large-7 {
    width: calc(58.3333333333% - 3rem);
  }
  .grid-margin-x > .large-8 {
    width: calc(66.6666666667% - 3rem);
  }
  .grid-margin-x > .large-9 {
    width: calc(75% - 3rem);
  }
  .grid-margin-x > .large-10 {
    width: calc(83.3333333333% - 3rem);
  }
  .grid-margin-x > .large-11 {
    width: calc(91.6666666667% - 3rem);
  }
  .grid-margin-x > .large-12 {
    width: calc(100% - 3rem);
  }
}
@media screen and (min-width: 80em) {
  .grid-margin-x > .xlarge-auto {
    width: auto;
  }
  .grid-margin-x > .xlarge-shrink {
    width: auto;
  }
  .grid-margin-x > .xlarge-1 {
    width: calc(8.3333333333% - 3rem);
  }
  .grid-margin-x > .xlarge-2 {
    width: calc(16.6666666667% - 3rem);
  }
  .grid-margin-x > .xlarge-3 {
    width: calc(25% - 3rem);
  }
  .grid-margin-x > .xlarge-4 {
    width: calc(33.3333333333% - 3rem);
  }
  .grid-margin-x > .xlarge-5 {
    width: calc(41.6666666667% - 3rem);
  }
  .grid-margin-x > .xlarge-6 {
    width: calc(50% - 3rem);
  }
  .grid-margin-x > .xlarge-7 {
    width: calc(58.3333333333% - 3rem);
  }
  .grid-margin-x > .xlarge-8 {
    width: calc(66.6666666667% - 3rem);
  }
  .grid-margin-x > .xlarge-9 {
    width: calc(75% - 3rem);
  }
  .grid-margin-x > .xlarge-10 {
    width: calc(83.3333333333% - 3rem);
  }
  .grid-margin-x > .xlarge-11 {
    width: calc(91.6666666667% - 3rem);
  }
  .grid-margin-x > .xlarge-12 {
    width: calc(100% - 3rem);
  }
}
@media screen and (min-width: 103.125em) {
  .grid-margin-x > .xxlarge-auto {
    width: auto;
  }
  .grid-margin-x > .xxlarge-shrink {
    width: auto;
  }
  .grid-margin-x > .xxlarge-1 {
    width: calc(8.3333333333% - 3rem);
  }
  .grid-margin-x > .xxlarge-2 {
    width: calc(16.6666666667% - 3rem);
  }
  .grid-margin-x > .xxlarge-3 {
    width: calc(25% - 3rem);
  }
  .grid-margin-x > .xxlarge-4 {
    width: calc(33.3333333333% - 3rem);
  }
  .grid-margin-x > .xxlarge-5 {
    width: calc(41.6666666667% - 3rem);
  }
  .grid-margin-x > .xxlarge-6 {
    width: calc(50% - 3rem);
  }
  .grid-margin-x > .xxlarge-7 {
    width: calc(58.3333333333% - 3rem);
  }
  .grid-margin-x > .xxlarge-8 {
    width: calc(66.6666666667% - 3rem);
  }
  .grid-margin-x > .xxlarge-9 {
    width: calc(75% - 3rem);
  }
  .grid-margin-x > .xxlarge-10 {
    width: calc(83.3333333333% - 3rem);
  }
  .grid-margin-x > .xxlarge-11 {
    width: calc(91.6666666667% - 3rem);
  }
  .grid-margin-x > .xxlarge-12 {
    width: calc(100% - 3rem);
  }
}
@media screen and (min-width: 120em) {
  .grid-margin-x > .wide-auto {
    width: auto;
  }
  .grid-margin-x > .wide-shrink {
    width: auto;
  }
  .grid-margin-x > .wide-1 {
    width: calc(8.3333333333% - 3rem);
  }
  .grid-margin-x > .wide-2 {
    width: calc(16.6666666667% - 3rem);
  }
  .grid-margin-x > .wide-3 {
    width: calc(25% - 3rem);
  }
  .grid-margin-x > .wide-4 {
    width: calc(33.3333333333% - 3rem);
  }
  .grid-margin-x > .wide-5 {
    width: calc(41.6666666667% - 3rem);
  }
  .grid-margin-x > .wide-6 {
    width: calc(50% - 3rem);
  }
  .grid-margin-x > .wide-7 {
    width: calc(58.3333333333% - 3rem);
  }
  .grid-margin-x > .wide-8 {
    width: calc(66.6666666667% - 3rem);
  }
  .grid-margin-x > .wide-9 {
    width: calc(75% - 3rem);
  }
  .grid-margin-x > .wide-10 {
    width: calc(83.3333333333% - 3rem);
  }
  .grid-margin-x > .wide-11 {
    width: calc(91.6666666667% - 3rem);
  }
  .grid-margin-x > .wide-12 {
    width: calc(100% - 3rem);
  }
}

.grid-padding-x .grid-padding-x {
  margin-right: -1.5rem;
  margin-left: -1.5rem;
}
.grid-container:not(.full) > .grid-padding-x {
  margin-right: -1.5rem;
  margin-left: -1.5rem;
}
.grid-padding-x > .cell {
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}

.small-up-1 > .cell {
  width: 100%;
}

.small-up-2 > .cell {
  width: 50%;
}

.small-up-3 > .cell {
  width: 33.3333333333%;
}

.small-up-4 > .cell {
  width: 25%;
}

.small-up-5 > .cell {
  width: 20%;
}

.small-up-6 > .cell {
  width: 16.6666666667%;
}

.small-up-7 > .cell {
  width: 14.2857142857%;
}

.small-up-8 > .cell {
  width: 12.5%;
}

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%;
  }
  .medium-up-2 > .cell {
    width: 50%;
  }
  .medium-up-3 > .cell {
    width: 33.3333333333%;
  }
  .medium-up-4 > .cell {
    width: 25%;
  }
  .medium-up-5 > .cell {
    width: 20%;
  }
  .medium-up-6 > .cell {
    width: 16.6666666667%;
  }
  .medium-up-7 > .cell {
    width: 14.2857142857%;
  }
  .medium-up-8 > .cell {
    width: 12.5%;
  }
}
@media print, screen and (min-width: 48.875em) {
  .tablet-up-1 > .cell {
    width: 100%;
  }
  .tablet-up-2 > .cell {
    width: 50%;
  }
  .tablet-up-3 > .cell {
    width: 33.3333333333%;
  }
  .tablet-up-4 > .cell {
    width: 25%;
  }
  .tablet-up-5 > .cell {
    width: 20%;
  }
  .tablet-up-6 > .cell {
    width: 16.6666666667%;
  }
  .tablet-up-7 > .cell {
    width: 14.2857142857%;
  }
  .tablet-up-8 > .cell {
    width: 12.5%;
  }
}
@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%;
  }
  .large-up-2 > .cell {
    width: 50%;
  }
  .large-up-3 > .cell {
    width: 33.3333333333%;
  }
  .large-up-4 > .cell {
    width: 25%;
  }
  .large-up-5 > .cell {
    width: 20%;
  }
  .large-up-6 > .cell {
    width: 16.6666666667%;
  }
  .large-up-7 > .cell {
    width: 14.2857142857%;
  }
  .large-up-8 > .cell {
    width: 12.5%;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-up-1 > .cell {
    width: 100%;
  }
  .xlarge-up-2 > .cell {
    width: 50%;
  }
  .xlarge-up-3 > .cell {
    width: 33.3333333333%;
  }
  .xlarge-up-4 > .cell {
    width: 25%;
  }
  .xlarge-up-5 > .cell {
    width: 20%;
  }
  .xlarge-up-6 > .cell {
    width: 16.6666666667%;
  }
  .xlarge-up-7 > .cell {
    width: 14.2857142857%;
  }
  .xlarge-up-8 > .cell {
    width: 12.5%;
  }
}
@media screen and (min-width: 103.125em) {
  .xxlarge-up-1 > .cell {
    width: 100%;
  }
  .xxlarge-up-2 > .cell {
    width: 50%;
  }
  .xxlarge-up-3 > .cell {
    width: 33.3333333333%;
  }
  .xxlarge-up-4 > .cell {
    width: 25%;
  }
  .xxlarge-up-5 > .cell {
    width: 20%;
  }
  .xxlarge-up-6 > .cell {
    width: 16.6666666667%;
  }
  .xxlarge-up-7 > .cell {
    width: 14.2857142857%;
  }
  .xxlarge-up-8 > .cell {
    width: 12.5%;
  }
}
@media screen and (min-width: 120em) {
  .wide-up-1 > .cell {
    width: 100%;
  }
  .wide-up-2 > .cell {
    width: 50%;
  }
  .wide-up-3 > .cell {
    width: 33.3333333333%;
  }
  .wide-up-4 > .cell {
    width: 25%;
  }
  .wide-up-5 > .cell {
    width: 20%;
  }
  .wide-up-6 > .cell {
    width: 16.6666666667%;
  }
  .wide-up-7 > .cell {
    width: 14.2857142857%;
  }
  .wide-up-8 > .cell {
    width: 12.5%;
  }
}
.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 3rem);
}

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 3rem);
}

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.3333333333% - 3rem);
}

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 3rem);
}

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 3rem);
}

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.6666666667% - 3rem);
}

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.2857142857% - 3rem);
}

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 3rem);
}

@media print, screen and (min-width: 40em) {
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 3rem);
  }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 3rem);
  }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.3333333333% - 3rem);
  }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 3rem);
  }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 3rem);
  }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.6666666667% - 3rem);
  }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.2857142857% - 3rem);
  }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 3rem);
  }
}
@media print, screen and (min-width: 48.875em) {
  .grid-margin-x.tablet-up-1 > .cell {
    width: calc(100% - 3rem);
  }
  .grid-margin-x.tablet-up-2 > .cell {
    width: calc(50% - 3rem);
  }
  .grid-margin-x.tablet-up-3 > .cell {
    width: calc(33.3333333333% - 3rem);
  }
  .grid-margin-x.tablet-up-4 > .cell {
    width: calc(25% - 3rem);
  }
  .grid-margin-x.tablet-up-5 > .cell {
    width: calc(20% - 3rem);
  }
  .grid-margin-x.tablet-up-6 > .cell {
    width: calc(16.6666666667% - 3rem);
  }
  .grid-margin-x.tablet-up-7 > .cell {
    width: calc(14.2857142857% - 3rem);
  }
  .grid-margin-x.tablet-up-8 > .cell {
    width: calc(12.5% - 3rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 3rem);
  }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 3rem);
  }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.3333333333% - 3rem);
  }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 3rem);
  }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 3rem);
  }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.6666666667% - 3rem);
  }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.2857142857% - 3rem);
  }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 3rem);
  }
}
@media screen and (min-width: 80em) {
  .grid-margin-x.xlarge-up-1 > .cell {
    width: calc(100% - 3rem);
  }
  .grid-margin-x.xlarge-up-2 > .cell {
    width: calc(50% - 3rem);
  }
  .grid-margin-x.xlarge-up-3 > .cell {
    width: calc(33.3333333333% - 3rem);
  }
  .grid-margin-x.xlarge-up-4 > .cell {
    width: calc(25% - 3rem);
  }
  .grid-margin-x.xlarge-up-5 > .cell {
    width: calc(20% - 3rem);
  }
  .grid-margin-x.xlarge-up-6 > .cell {
    width: calc(16.6666666667% - 3rem);
  }
  .grid-margin-x.xlarge-up-7 > .cell {
    width: calc(14.2857142857% - 3rem);
  }
  .grid-margin-x.xlarge-up-8 > .cell {
    width: calc(12.5% - 3rem);
  }
}
@media screen and (min-width: 103.125em) {
  .grid-margin-x.xxlarge-up-1 > .cell {
    width: calc(100% - 3rem);
  }
  .grid-margin-x.xxlarge-up-2 > .cell {
    width: calc(50% - 3rem);
  }
  .grid-margin-x.xxlarge-up-3 > .cell {
    width: calc(33.3333333333% - 3rem);
  }
  .grid-margin-x.xxlarge-up-4 > .cell {
    width: calc(25% - 3rem);
  }
  .grid-margin-x.xxlarge-up-5 > .cell {
    width: calc(20% - 3rem);
  }
  .grid-margin-x.xxlarge-up-6 > .cell {
    width: calc(16.6666666667% - 3rem);
  }
  .grid-margin-x.xxlarge-up-7 > .cell {
    width: calc(14.2857142857% - 3rem);
  }
  .grid-margin-x.xxlarge-up-8 > .cell {
    width: calc(12.5% - 3rem);
  }
}
@media screen and (min-width: 120em) {
  .grid-margin-x.wide-up-1 > .cell {
    width: calc(100% - 3rem);
  }
  .grid-margin-x.wide-up-2 > .cell {
    width: calc(50% - 3rem);
  }
  .grid-margin-x.wide-up-3 > .cell {
    width: calc(33.3333333333% - 3rem);
  }
  .grid-margin-x.wide-up-4 > .cell {
    width: calc(25% - 3rem);
  }
  .grid-margin-x.wide-up-5 > .cell {
    width: calc(20% - 3rem);
  }
  .grid-margin-x.wide-up-6 > .cell {
    width: calc(16.6666666667% - 3rem);
  }
  .grid-margin-x.wide-up-7 > .cell {
    width: calc(14.2857142857% - 3rem);
  }
  .grid-margin-x.wide-up-8 > .cell {
    width: calc(12.5% - 3rem);
  }
}
.small-margin-collapse {
  margin-right: 0;
  margin-left: 0;
}
.small-margin-collapse > .cell {
  margin-right: 0;
  margin-left: 0;
}
.small-margin-collapse > .small-1 {
  width: 8.3333333333%;
}
.small-margin-collapse > .small-2 {
  width: 16.6666666667%;
}
.small-margin-collapse > .small-3 {
  width: 25%;
}
.small-margin-collapse > .small-4 {
  width: 33.3333333333%;
}
.small-margin-collapse > .small-5 {
  width: 41.6666666667%;
}
.small-margin-collapse > .small-6 {
  width: 50%;
}
.small-margin-collapse > .small-7 {
  width: 58.3333333333%;
}
.small-margin-collapse > .small-8 {
  width: 66.6666666667%;
}
.small-margin-collapse > .small-9 {
  width: 75%;
}
.small-margin-collapse > .small-10 {
  width: 83.3333333333%;
}
.small-margin-collapse > .small-11 {
  width: 91.6666666667%;
}
.small-margin-collapse > .small-12 {
  width: 100%;
}
@media print, screen and (min-width: 40em) {
  .small-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .medium-3 {
    width: 25%;
  }
  .small-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .medium-6 {
    width: 50%;
  }
  .small-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .medium-9 {
    width: 75%;
  }
  .small-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 48.875em) {
  .small-margin-collapse > .tablet-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .tablet-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .tablet-3 {
    width: 25%;
  }
  .small-margin-collapse > .tablet-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .tablet-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .tablet-6 {
    width: 50%;
  }
  .small-margin-collapse > .tablet-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .tablet-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .tablet-9 {
    width: 75%;
  }
  .small-margin-collapse > .tablet-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .tablet-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .tablet-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .small-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .large-3 {
    width: 25%;
  }
  .small-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .large-6 {
    width: 50%;
  }
  .small-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .large-9 {
    width: 75%;
  }
  .small-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 80em) {
  .small-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .small-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .small-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .small-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 103.125em) {
  .small-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .small-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .small-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .small-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 120em) {
  .small-margin-collapse > .wide-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .wide-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .wide-3 {
    width: 25%;
  }
  .small-margin-collapse > .wide-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .wide-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .wide-6 {
    width: 50%;
  }
  .small-margin-collapse > .wide-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .wide-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .wide-9 {
    width: 75%;
  }
  .small-margin-collapse > .wide-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .wide-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .wide-12 {
    width: 100%;
  }
}

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0;
}
.small-padding-collapse > .cell {
  padding-right: 0;
  padding-left: 0;
}

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .medium-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .small-3 {
    width: 25%;
  }
  .medium-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .small-6 {
    width: 50%;
  }
  .medium-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .small-9 {
    width: 75%;
  }
  .medium-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .medium-3 {
    width: 25%;
  }
  .medium-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .medium-6 {
    width: 50%;
  }
  .medium-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .medium-9 {
    width: 75%;
  }
  .medium-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 48.875em) {
  .medium-margin-collapse > .tablet-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .tablet-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .tablet-3 {
    width: 25%;
  }
  .medium-margin-collapse > .tablet-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .tablet-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .tablet-6 {
    width: 50%;
  }
  .medium-margin-collapse > .tablet-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .tablet-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .tablet-9 {
    width: 75%;
  }
  .medium-margin-collapse > .tablet-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .tablet-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .tablet-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .large-3 {
    width: 25%;
  }
  .medium-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .large-6 {
    width: 50%;
  }
  .medium-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .large-9 {
    width: 75%;
  }
  .medium-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 80em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .medium-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .medium-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .medium-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 103.125em) {
  .medium-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .medium-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .medium-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .medium-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 120em) {
  .medium-margin-collapse > .wide-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .wide-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .wide-3 {
    width: 25%;
  }
  .medium-margin-collapse > .wide-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .wide-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .wide-6 {
    width: 50%;
  }
  .medium-margin-collapse > .wide-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .wide-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .wide-9 {
    width: 75%;
  }
  .medium-margin-collapse > .wide-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .wide-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .wide-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .medium-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

@media print, screen and (min-width: 48.875em) {
  .tablet-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .tablet-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 48.875em) {
  .tablet-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .tablet-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .tablet-margin-collapse > .small-3 {
    width: 25%;
  }
  .tablet-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .tablet-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .tablet-margin-collapse > .small-6 {
    width: 50%;
  }
  .tablet-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .tablet-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .tablet-margin-collapse > .small-9 {
    width: 75%;
  }
  .tablet-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .tablet-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .tablet-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 48.875em) {
  .tablet-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .tablet-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .tablet-margin-collapse > .medium-3 {
    width: 25%;
  }
  .tablet-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .tablet-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .tablet-margin-collapse > .medium-6 {
    width: 50%;
  }
  .tablet-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .tablet-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .tablet-margin-collapse > .medium-9 {
    width: 75%;
  }
  .tablet-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .tablet-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .tablet-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 48.875em) {
  .tablet-margin-collapse > .tablet-1 {
    width: 8.3333333333%;
  }
  .tablet-margin-collapse > .tablet-2 {
    width: 16.6666666667%;
  }
  .tablet-margin-collapse > .tablet-3 {
    width: 25%;
  }
  .tablet-margin-collapse > .tablet-4 {
    width: 33.3333333333%;
  }
  .tablet-margin-collapse > .tablet-5 {
    width: 41.6666666667%;
  }
  .tablet-margin-collapse > .tablet-6 {
    width: 50%;
  }
  .tablet-margin-collapse > .tablet-7 {
    width: 58.3333333333%;
  }
  .tablet-margin-collapse > .tablet-8 {
    width: 66.6666666667%;
  }
  .tablet-margin-collapse > .tablet-9 {
    width: 75%;
  }
  .tablet-margin-collapse > .tablet-10 {
    width: 83.3333333333%;
  }
  .tablet-margin-collapse > .tablet-11 {
    width: 91.6666666667%;
  }
  .tablet-margin-collapse > .tablet-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .tablet-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .tablet-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .tablet-margin-collapse > .large-3 {
    width: 25%;
  }
  .tablet-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .tablet-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .tablet-margin-collapse > .large-6 {
    width: 50%;
  }
  .tablet-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .tablet-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .tablet-margin-collapse > .large-9 {
    width: 75%;
  }
  .tablet-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .tablet-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .tablet-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 80em) {
  .tablet-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .tablet-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .tablet-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .tablet-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .tablet-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .tablet-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .tablet-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .tablet-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .tablet-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .tablet-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .tablet-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .tablet-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 103.125em) {
  .tablet-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .tablet-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .tablet-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .tablet-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .tablet-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .tablet-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .tablet-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .tablet-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .tablet-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .tablet-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .tablet-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .tablet-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 120em) {
  .tablet-margin-collapse > .wide-1 {
    width: 8.3333333333%;
  }
  .tablet-margin-collapse > .wide-2 {
    width: 16.6666666667%;
  }
  .tablet-margin-collapse > .wide-3 {
    width: 25%;
  }
  .tablet-margin-collapse > .wide-4 {
    width: 33.3333333333%;
  }
  .tablet-margin-collapse > .wide-5 {
    width: 41.6666666667%;
  }
  .tablet-margin-collapse > .wide-6 {
    width: 50%;
  }
  .tablet-margin-collapse > .wide-7 {
    width: 58.3333333333%;
  }
  .tablet-margin-collapse > .wide-8 {
    width: 66.6666666667%;
  }
  .tablet-margin-collapse > .wide-9 {
    width: 75%;
  }
  .tablet-margin-collapse > .wide-10 {
    width: 83.3333333333%;
  }
  .tablet-margin-collapse > .wide-11 {
    width: 91.6666666667%;
  }
  .tablet-margin-collapse > .wide-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 48.875em) {
  .tablet-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .tablet-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .large-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .small-3 {
    width: 25%;
  }
  .large-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .small-6 {
    width: 50%;
  }
  .large-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .small-9 {
    width: 75%;
  }
  .large-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .medium-3 {
    width: 25%;
  }
  .large-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .medium-6 {
    width: 50%;
  }
  .large-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .medium-9 {
    width: 75%;
  }
  .large-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .tablet-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .tablet-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .tablet-3 {
    width: 25%;
  }
  .large-margin-collapse > .tablet-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .tablet-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .tablet-6 {
    width: 50%;
  }
  .large-margin-collapse > .tablet-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .tablet-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .tablet-9 {
    width: 75%;
  }
  .large-margin-collapse > .tablet-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .tablet-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .tablet-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .large-3 {
    width: 25%;
  }
  .large-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .large-6 {
    width: 50%;
  }
  .large-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .large-9 {
    width: 75%;
  }
  .large-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 80em) {
  .large-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .large-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .large-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .large-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 103.125em) {
  .large-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .large-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .large-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .large-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 120em) {
  .large-margin-collapse > .wide-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .wide-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .wide-3 {
    width: 25%;
  }
  .large-margin-collapse > .wide-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .wide-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .wide-6 {
    width: 50%;
  }
  .large-margin-collapse > .wide-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .wide-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .wide-9 {
    width: 75%;
  }
  .large-margin-collapse > .wide-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .wide-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .wide-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .large-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

@media screen and (min-width: 80em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xlarge-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .small-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .small-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .small-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .medium-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .medium-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .medium-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-margin-collapse > .tablet-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .tablet-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .tablet-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .tablet-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .tablet-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .tablet-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .tablet-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .tablet-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .tablet-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .tablet-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .tablet-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .tablet-12 {
    width: 100%;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .large-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .large-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .large-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 103.125em) {
  .xlarge-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 120em) {
  .xlarge-margin-collapse > .wide-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .wide-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .wide-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .wide-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .wide-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .wide-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .wide-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .wide-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .wide-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .wide-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .wide-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .wide-12 {
    width: 100%;
  }
}

@media screen and (min-width: 80em) {
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xlarge-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

@media screen and (min-width: 103.125em) {
  .xxlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xxlarge-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (min-width: 103.125em) {
  .xxlarge-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .small-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .small-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .small-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media screen and (min-width: 103.125em) {
  .xxlarge-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .medium-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .medium-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .medium-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media screen and (min-width: 103.125em) {
  .xxlarge-margin-collapse > .tablet-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .tablet-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .tablet-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .tablet-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .tablet-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .tablet-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .tablet-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .tablet-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .tablet-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .tablet-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .tablet-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .tablet-12 {
    width: 100%;
  }
}
@media screen and (min-width: 103.125em) {
  .xxlarge-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .large-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .large-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .large-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 103.125em) {
  .xxlarge-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 103.125em) {
  .xxlarge-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 120em) {
  .xxlarge-margin-collapse > .wide-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .wide-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .wide-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .wide-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .wide-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .wide-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .wide-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .wide-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .wide-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .wide-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .wide-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .wide-12 {
    width: 100%;
  }
}

@media screen and (min-width: 103.125em) {
  .xxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xxlarge-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

@media screen and (min-width: 120em) {
  .wide-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .wide-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (min-width: 120em) {
  .wide-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .wide-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .wide-margin-collapse > .small-3 {
    width: 25%;
  }
  .wide-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .wide-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .wide-margin-collapse > .small-6 {
    width: 50%;
  }
  .wide-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .wide-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .wide-margin-collapse > .small-9 {
    width: 75%;
  }
  .wide-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .wide-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .wide-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media screen and (min-width: 120em) {
  .wide-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .wide-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .wide-margin-collapse > .medium-3 {
    width: 25%;
  }
  .wide-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .wide-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .wide-margin-collapse > .medium-6 {
    width: 50%;
  }
  .wide-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .wide-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .wide-margin-collapse > .medium-9 {
    width: 75%;
  }
  .wide-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .wide-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .wide-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media screen and (min-width: 120em) {
  .wide-margin-collapse > .tablet-1 {
    width: 8.3333333333%;
  }
  .wide-margin-collapse > .tablet-2 {
    width: 16.6666666667%;
  }
  .wide-margin-collapse > .tablet-3 {
    width: 25%;
  }
  .wide-margin-collapse > .tablet-4 {
    width: 33.3333333333%;
  }
  .wide-margin-collapse > .tablet-5 {
    width: 41.6666666667%;
  }
  .wide-margin-collapse > .tablet-6 {
    width: 50%;
  }
  .wide-margin-collapse > .tablet-7 {
    width: 58.3333333333%;
  }
  .wide-margin-collapse > .tablet-8 {
    width: 66.6666666667%;
  }
  .wide-margin-collapse > .tablet-9 {
    width: 75%;
  }
  .wide-margin-collapse > .tablet-10 {
    width: 83.3333333333%;
  }
  .wide-margin-collapse > .tablet-11 {
    width: 91.6666666667%;
  }
  .wide-margin-collapse > .tablet-12 {
    width: 100%;
  }
}
@media screen and (min-width: 120em) {
  .wide-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .wide-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .wide-margin-collapse > .large-3 {
    width: 25%;
  }
  .wide-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .wide-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .wide-margin-collapse > .large-6 {
    width: 50%;
  }
  .wide-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .wide-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .wide-margin-collapse > .large-9 {
    width: 75%;
  }
  .wide-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .wide-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .wide-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 120em) {
  .wide-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .wide-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .wide-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .wide-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .wide-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .wide-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .wide-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .wide-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .wide-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .wide-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .wide-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .wide-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 120em) {
  .wide-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .wide-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .wide-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .wide-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .wide-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .wide-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .wide-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .wide-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .wide-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .wide-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .wide-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .wide-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 120em) {
  .wide-margin-collapse > .wide-1 {
    width: 8.3333333333%;
  }
  .wide-margin-collapse > .wide-2 {
    width: 16.6666666667%;
  }
  .wide-margin-collapse > .wide-3 {
    width: 25%;
  }
  .wide-margin-collapse > .wide-4 {
    width: 33.3333333333%;
  }
  .wide-margin-collapse > .wide-5 {
    width: 41.6666666667%;
  }
  .wide-margin-collapse > .wide-6 {
    width: 50%;
  }
  .wide-margin-collapse > .wide-7 {
    width: 58.3333333333%;
  }
  .wide-margin-collapse > .wide-8 {
    width: 66.6666666667%;
  }
  .wide-margin-collapse > .wide-9 {
    width: 75%;
  }
  .wide-margin-collapse > .wide-10 {
    width: 83.3333333333%;
  }
  .wide-margin-collapse > .wide-11 {
    width: 91.6666666667%;
  }
  .wide-margin-collapse > .wide-12 {
    width: 100%;
  }
}

@media screen and (min-width: 120em) {
  .wide-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .wide-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

.small-offset-0 {
  margin-left: 0%;
}

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 3rem / 2);
}

.small-offset-1 {
  margin-left: 8.3333333333%;
}

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.3333333333% + 3rem / 2);
}

.small-offset-2 {
  margin-left: 16.6666666667%;
}

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.6666666667% + 3rem / 2);
}

.small-offset-3 {
  margin-left: 25%;
}

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 3rem / 2);
}

.small-offset-4 {
  margin-left: 33.3333333333%;
}

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.3333333333% + 3rem / 2);
}

.small-offset-5 {
  margin-left: 41.6666666667%;
}

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.6666666667% + 3rem / 2);
}

.small-offset-6 {
  margin-left: 50%;
}

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 3rem / 2);
}

.small-offset-7 {
  margin-left: 58.3333333333%;
}

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.3333333333% + 3rem / 2);
}

.small-offset-8 {
  margin-left: 66.6666666667%;
}

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.6666666667% + 3rem / 2);
}

.small-offset-9 {
  margin-left: 75%;
}

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 3rem / 2);
}

.small-offset-10 {
  margin-left: 83.3333333333%;
}

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.3333333333% + 3rem / 2);
}

.small-offset-11 {
  margin-left: 91.6666666667%;
}

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.6666666667% + 3rem / 2);
}

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 3rem / 2);
  }
  .medium-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.3333333333% + 3rem / 2);
  }
  .medium-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.6666666667% + 3rem / 2);
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 3rem / 2);
  }
  .medium-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.3333333333% + 3rem / 2);
  }
  .medium-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.6666666667% + 3rem / 2);
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 3rem / 2);
  }
  .medium-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.3333333333% + 3rem / 2);
  }
  .medium-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.6666666667% + 3rem / 2);
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 3rem / 2);
  }
  .medium-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.3333333333% + 3rem / 2);
  }
  .medium-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.6666666667% + 3rem / 2);
  }
}
@media print, screen and (min-width: 48.875em) {
  .tablet-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .tablet-offset-0 {
    margin-left: calc(0% + 3rem / 2);
  }
  .tablet-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .tablet-offset-1 {
    margin-left: calc(8.3333333333% + 3rem / 2);
  }
  .tablet-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .tablet-offset-2 {
    margin-left: calc(16.6666666667% + 3rem / 2);
  }
  .tablet-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .tablet-offset-3 {
    margin-left: calc(25% + 3rem / 2);
  }
  .tablet-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .tablet-offset-4 {
    margin-left: calc(33.3333333333% + 3rem / 2);
  }
  .tablet-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .tablet-offset-5 {
    margin-left: calc(41.6666666667% + 3rem / 2);
  }
  .tablet-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .tablet-offset-6 {
    margin-left: calc(50% + 3rem / 2);
  }
  .tablet-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .tablet-offset-7 {
    margin-left: calc(58.3333333333% + 3rem / 2);
  }
  .tablet-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .tablet-offset-8 {
    margin-left: calc(66.6666666667% + 3rem / 2);
  }
  .tablet-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .tablet-offset-9 {
    margin-left: calc(75% + 3rem / 2);
  }
  .tablet-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .tablet-offset-10 {
    margin-left: calc(83.3333333333% + 3rem / 2);
  }
  .tablet-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .tablet-offset-11 {
    margin-left: calc(91.6666666667% + 3rem / 2);
  }
}
@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 3rem / 2);
  }
  .large-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.3333333333% + 3rem / 2);
  }
  .large-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.6666666667% + 3rem / 2);
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 3rem / 2);
  }
  .large-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.3333333333% + 3rem / 2);
  }
  .large-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.6666666667% + 3rem / 2);
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 3rem / 2);
  }
  .large-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.3333333333% + 3rem / 2);
  }
  .large-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.6666666667% + 3rem / 2);
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 3rem / 2);
  }
  .large-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.3333333333% + 3rem / 2);
  }
  .large-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.6666666667% + 3rem / 2);
  }
}
@media screen and (min-width: 80em) {
  .xlarge-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .xlarge-offset-0 {
    margin-left: calc(0% + 3rem / 2);
  }
  .xlarge-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .xlarge-offset-1 {
    margin-left: calc(8.3333333333% + 3rem / 2);
  }
  .xlarge-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .xlarge-offset-2 {
    margin-left: calc(16.6666666667% + 3rem / 2);
  }
  .xlarge-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .xlarge-offset-3 {
    margin-left: calc(25% + 3rem / 2);
  }
  .xlarge-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .xlarge-offset-4 {
    margin-left: calc(33.3333333333% + 3rem / 2);
  }
  .xlarge-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .xlarge-offset-5 {
    margin-left: calc(41.6666666667% + 3rem / 2);
  }
  .xlarge-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .xlarge-offset-6 {
    margin-left: calc(50% + 3rem / 2);
  }
  .xlarge-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .xlarge-offset-7 {
    margin-left: calc(58.3333333333% + 3rem / 2);
  }
  .xlarge-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .xlarge-offset-8 {
    margin-left: calc(66.6666666667% + 3rem / 2);
  }
  .xlarge-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .xlarge-offset-9 {
    margin-left: calc(75% + 3rem / 2);
  }
  .xlarge-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .xlarge-offset-10 {
    margin-left: calc(83.3333333333% + 3rem / 2);
  }
  .xlarge-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .xlarge-offset-11 {
    margin-left: calc(91.6666666667% + 3rem / 2);
  }
}
@media screen and (min-width: 103.125em) {
  .xxlarge-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .xxlarge-offset-0 {
    margin-left: calc(0% + 3rem / 2);
  }
  .xxlarge-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .xxlarge-offset-1 {
    margin-left: calc(8.3333333333% + 3rem / 2);
  }
  .xxlarge-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .xxlarge-offset-2 {
    margin-left: calc(16.6666666667% + 3rem / 2);
  }
  .xxlarge-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .xxlarge-offset-3 {
    margin-left: calc(25% + 3rem / 2);
  }
  .xxlarge-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .xxlarge-offset-4 {
    margin-left: calc(33.3333333333% + 3rem / 2);
  }
  .xxlarge-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .xxlarge-offset-5 {
    margin-left: calc(41.6666666667% + 3rem / 2);
  }
  .xxlarge-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .xxlarge-offset-6 {
    margin-left: calc(50% + 3rem / 2);
  }
  .xxlarge-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .xxlarge-offset-7 {
    margin-left: calc(58.3333333333% + 3rem / 2);
  }
  .xxlarge-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .xxlarge-offset-8 {
    margin-left: calc(66.6666666667% + 3rem / 2);
  }
  .xxlarge-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .xxlarge-offset-9 {
    margin-left: calc(75% + 3rem / 2);
  }
  .xxlarge-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .xxlarge-offset-10 {
    margin-left: calc(83.3333333333% + 3rem / 2);
  }
  .xxlarge-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .xxlarge-offset-11 {
    margin-left: calc(91.6666666667% + 3rem / 2);
  }
}
@media screen and (min-width: 120em) {
  .wide-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .wide-offset-0 {
    margin-left: calc(0% + 3rem / 2);
  }
  .wide-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .wide-offset-1 {
    margin-left: calc(8.3333333333% + 3rem / 2);
  }
  .wide-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .wide-offset-2 {
    margin-left: calc(16.6666666667% + 3rem / 2);
  }
  .wide-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .wide-offset-3 {
    margin-left: calc(25% + 3rem / 2);
  }
  .wide-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .wide-offset-4 {
    margin-left: calc(33.3333333333% + 3rem / 2);
  }
  .wide-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .wide-offset-5 {
    margin-left: calc(41.6666666667% + 3rem / 2);
  }
  .wide-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .wide-offset-6 {
    margin-left: calc(50% + 3rem / 2);
  }
  .wide-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .wide-offset-7 {
    margin-left: calc(58.3333333333% + 3rem / 2);
  }
  .wide-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .wide-offset-8 {
    margin-left: calc(66.6666666667% + 3rem / 2);
  }
  .wide-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .wide-offset-9 {
    margin-left: calc(75% + 3rem / 2);
  }
  .wide-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .wide-offset-10 {
    margin-left: calc(83.3333333333% + 3rem / 2);
  }
  .wide-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .wide-offset-11 {
    margin-left: calc(91.6666666667% + 3rem / 2);
  }
}
.grid-y {
  display: flex;
  flex-flow: column nowrap;
}
.grid-y > .cell {
  height: auto;
  max-height: none;
}
.grid-y > .auto {
  height: auto;
}
.grid-y > .shrink {
  height: auto;
}
.grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
  flex-basis: auto;
}
@media print, screen and (min-width: 40em) {
  .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
    flex-basis: auto;
  }
}
@media print, screen and (min-width: 48.875em) {
  .grid-y > .tablet-shrink, .grid-y > .tablet-full, .grid-y > .tablet-1, .grid-y > .tablet-2, .grid-y > .tablet-3, .grid-y > .tablet-4, .grid-y > .tablet-5, .grid-y > .tablet-6, .grid-y > .tablet-7, .grid-y > .tablet-8, .grid-y > .tablet-9, .grid-y > .tablet-10, .grid-y > .tablet-11, .grid-y > .tablet-12 {
    flex-basis: auto;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
    flex-basis: auto;
  }
}
@media screen and (min-width: 80em) {
  .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
    flex-basis: auto;
  }
}
@media screen and (min-width: 103.125em) {
  .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-full, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
    flex-basis: auto;
  }
}
@media screen and (min-width: 120em) {
  .grid-y > .wide-shrink, .grid-y > .wide-full, .grid-y > .wide-1, .grid-y > .wide-2, .grid-y > .wide-3, .grid-y > .wide-4, .grid-y > .wide-5, .grid-y > .wide-6, .grid-y > .wide-7, .grid-y > .wide-8, .grid-y > .wide-9, .grid-y > .wide-10, .grid-y > .wide-11, .grid-y > .wide-12 {
    flex-basis: auto;
  }
}
.grid-y > .small-12, .grid-y > .small-11, .grid-y > .small-10, .grid-y > .small-9, .grid-y > .small-8, .grid-y > .small-7, .grid-y > .small-6, .grid-y > .small-5, .grid-y > .small-4, .grid-y > .small-3, .grid-y > .small-2, .grid-y > .small-1 {
  flex: 0 0 auto;
}
.grid-y > .small-1 {
  height: 8.3333333333%;
}
.grid-y > .small-2 {
  height: 16.6666666667%;
}
.grid-y > .small-3 {
  height: 25%;
}
.grid-y > .small-4 {
  height: 33.3333333333%;
}
.grid-y > .small-5 {
  height: 41.6666666667%;
}
.grid-y > .small-6 {
  height: 50%;
}
.grid-y > .small-7 {
  height: 58.3333333333%;
}
.grid-y > .small-8 {
  height: 66.6666666667%;
}
.grid-y > .small-9 {
  height: 75%;
}
.grid-y > .small-10 {
  height: 83.3333333333%;
}
.grid-y > .small-11 {
  height: 91.6666666667%;
}
.grid-y > .small-12 {
  height: 100%;
}
@media print, screen and (min-width: 40em) {
  .grid-y > .medium-auto {
    flex: 1 1 0;
    height: auto;
  }
  .grid-y > .medium-12, .grid-y > .medium-11, .grid-y > .medium-10, .grid-y > .medium-9, .grid-y > .medium-8, .grid-y > .medium-7, .grid-y > .medium-6, .grid-y > .medium-5, .grid-y > .medium-4, .grid-y > .medium-3, .grid-y > .medium-2, .grid-y > .medium-1, .grid-y > .medium-shrink {
    flex: 0 0 auto;
  }
  .grid-y > .medium-shrink {
    height: auto;
  }
  .grid-y > .medium-1 {
    height: 8.3333333333%;
  }
  .grid-y > .medium-2 {
    height: 16.6666666667%;
  }
  .grid-y > .medium-3 {
    height: 25%;
  }
  .grid-y > .medium-4 {
    height: 33.3333333333%;
  }
  .grid-y > .medium-5 {
    height: 41.6666666667%;
  }
  .grid-y > .medium-6 {
    height: 50%;
  }
  .grid-y > .medium-7 {
    height: 58.3333333333%;
  }
  .grid-y > .medium-8 {
    height: 66.6666666667%;
  }
  .grid-y > .medium-9 {
    height: 75%;
  }
  .grid-y > .medium-10 {
    height: 83.3333333333%;
  }
  .grid-y > .medium-11 {
    height: 91.6666666667%;
  }
  .grid-y > .medium-12 {
    height: 100%;
  }
}
@media print, screen and (min-width: 48.875em) {
  .grid-y > .tablet-auto {
    flex: 1 1 0;
    height: auto;
  }
  .grid-y > .tablet-12, .grid-y > .tablet-11, .grid-y > .tablet-10, .grid-y > .tablet-9, .grid-y > .tablet-8, .grid-y > .tablet-7, .grid-y > .tablet-6, .grid-y > .tablet-5, .grid-y > .tablet-4, .grid-y > .tablet-3, .grid-y > .tablet-2, .grid-y > .tablet-1, .grid-y > .tablet-shrink {
    flex: 0 0 auto;
  }
  .grid-y > .tablet-shrink {
    height: auto;
  }
  .grid-y > .tablet-1 {
    height: 8.3333333333%;
  }
  .grid-y > .tablet-2 {
    height: 16.6666666667%;
  }
  .grid-y > .tablet-3 {
    height: 25%;
  }
  .grid-y > .tablet-4 {
    height: 33.3333333333%;
  }
  .grid-y > .tablet-5 {
    height: 41.6666666667%;
  }
  .grid-y > .tablet-6 {
    height: 50%;
  }
  .grid-y > .tablet-7 {
    height: 58.3333333333%;
  }
  .grid-y > .tablet-8 {
    height: 66.6666666667%;
  }
  .grid-y > .tablet-9 {
    height: 75%;
  }
  .grid-y > .tablet-10 {
    height: 83.3333333333%;
  }
  .grid-y > .tablet-11 {
    height: 91.6666666667%;
  }
  .grid-y > .tablet-12 {
    height: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-y > .large-auto {
    flex: 1 1 0;
    height: auto;
  }
  .grid-y > .large-12, .grid-y > .large-11, .grid-y > .large-10, .grid-y > .large-9, .grid-y > .large-8, .grid-y > .large-7, .grid-y > .large-6, .grid-y > .large-5, .grid-y > .large-4, .grid-y > .large-3, .grid-y > .large-2, .grid-y > .large-1, .grid-y > .large-shrink {
    flex: 0 0 auto;
  }
  .grid-y > .large-shrink {
    height: auto;
  }
  .grid-y > .large-1 {
    height: 8.3333333333%;
  }
  .grid-y > .large-2 {
    height: 16.6666666667%;
  }
  .grid-y > .large-3 {
    height: 25%;
  }
  .grid-y > .large-4 {
    height: 33.3333333333%;
  }
  .grid-y > .large-5 {
    height: 41.6666666667%;
  }
  .grid-y > .large-6 {
    height: 50%;
  }
  .grid-y > .large-7 {
    height: 58.3333333333%;
  }
  .grid-y > .large-8 {
    height: 66.6666666667%;
  }
  .grid-y > .large-9 {
    height: 75%;
  }
  .grid-y > .large-10 {
    height: 83.3333333333%;
  }
  .grid-y > .large-11 {
    height: 91.6666666667%;
  }
  .grid-y > .large-12 {
    height: 100%;
  }
}
@media screen and (min-width: 80em) {
  .grid-y > .xlarge-auto {
    flex: 1 1 0;
    height: auto;
  }
  .grid-y > .xlarge-12, .grid-y > .xlarge-11, .grid-y > .xlarge-10, .grid-y > .xlarge-9, .grid-y > .xlarge-8, .grid-y > .xlarge-7, .grid-y > .xlarge-6, .grid-y > .xlarge-5, .grid-y > .xlarge-4, .grid-y > .xlarge-3, .grid-y > .xlarge-2, .grid-y > .xlarge-1, .grid-y > .xlarge-shrink {
    flex: 0 0 auto;
  }
  .grid-y > .xlarge-shrink {
    height: auto;
  }
  .grid-y > .xlarge-1 {
    height: 8.3333333333%;
  }
  .grid-y > .xlarge-2 {
    height: 16.6666666667%;
  }
  .grid-y > .xlarge-3 {
    height: 25%;
  }
  .grid-y > .xlarge-4 {
    height: 33.3333333333%;
  }
  .grid-y > .xlarge-5 {
    height: 41.6666666667%;
  }
  .grid-y > .xlarge-6 {
    height: 50%;
  }
  .grid-y > .xlarge-7 {
    height: 58.3333333333%;
  }
  .grid-y > .xlarge-8 {
    height: 66.6666666667%;
  }
  .grid-y > .xlarge-9 {
    height: 75%;
  }
  .grid-y > .xlarge-10 {
    height: 83.3333333333%;
  }
  .grid-y > .xlarge-11 {
    height: 91.6666666667%;
  }
  .grid-y > .xlarge-12 {
    height: 100%;
  }
}
@media screen and (min-width: 103.125em) {
  .grid-y > .xxlarge-auto {
    flex: 1 1 0;
    height: auto;
  }
  .grid-y > .xxlarge-12, .grid-y > .xxlarge-11, .grid-y > .xxlarge-10, .grid-y > .xxlarge-9, .grid-y > .xxlarge-8, .grid-y > .xxlarge-7, .grid-y > .xxlarge-6, .grid-y > .xxlarge-5, .grid-y > .xxlarge-4, .grid-y > .xxlarge-3, .grid-y > .xxlarge-2, .grid-y > .xxlarge-1, .grid-y > .xxlarge-shrink {
    flex: 0 0 auto;
  }
  .grid-y > .xxlarge-shrink {
    height: auto;
  }
  .grid-y > .xxlarge-1 {
    height: 8.3333333333%;
  }
  .grid-y > .xxlarge-2 {
    height: 16.6666666667%;
  }
  .grid-y > .xxlarge-3 {
    height: 25%;
  }
  .grid-y > .xxlarge-4 {
    height: 33.3333333333%;
  }
  .grid-y > .xxlarge-5 {
    height: 41.6666666667%;
  }
  .grid-y > .xxlarge-6 {
    height: 50%;
  }
  .grid-y > .xxlarge-7 {
    height: 58.3333333333%;
  }
  .grid-y > .xxlarge-8 {
    height: 66.6666666667%;
  }
  .grid-y > .xxlarge-9 {
    height: 75%;
  }
  .grid-y > .xxlarge-10 {
    height: 83.3333333333%;
  }
  .grid-y > .xxlarge-11 {
    height: 91.6666666667%;
  }
  .grid-y > .xxlarge-12 {
    height: 100%;
  }
}
@media screen and (min-width: 120em) {
  .grid-y > .wide-auto {
    flex: 1 1 0;
    height: auto;
  }
  .grid-y > .wide-12, .grid-y > .wide-11, .grid-y > .wide-10, .grid-y > .wide-9, .grid-y > .wide-8, .grid-y > .wide-7, .grid-y > .wide-6, .grid-y > .wide-5, .grid-y > .wide-4, .grid-y > .wide-3, .grid-y > .wide-2, .grid-y > .wide-1, .grid-y > .wide-shrink {
    flex: 0 0 auto;
  }
  .grid-y > .wide-shrink {
    height: auto;
  }
  .grid-y > .wide-1 {
    height: 8.3333333333%;
  }
  .grid-y > .wide-2 {
    height: 16.6666666667%;
  }
  .grid-y > .wide-3 {
    height: 25%;
  }
  .grid-y > .wide-4 {
    height: 33.3333333333%;
  }
  .grid-y > .wide-5 {
    height: 41.6666666667%;
  }
  .grid-y > .wide-6 {
    height: 50%;
  }
  .grid-y > .wide-7 {
    height: 58.3333333333%;
  }
  .grid-y > .wide-8 {
    height: 66.6666666667%;
  }
  .grid-y > .wide-9 {
    height: 75%;
  }
  .grid-y > .wide-10 {
    height: 83.3333333333%;
  }
  .grid-y > .wide-11 {
    height: 91.6666666667%;
  }
  .grid-y > .wide-12 {
    height: 100%;
  }
}

.grid-padding-y .grid-padding-y {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem;
}
.grid-padding-y > .cell {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.grid-margin-y {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem;
}
.grid-margin-y > .cell {
  height: calc(100% - 3rem);
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 3rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 3rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 3rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 3rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 3rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 3rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 3rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 3rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 3rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 3rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 3rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 3rem);
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 3rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 3rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 3rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 3rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 3rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 3rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 3rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 3rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 3rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 3rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 3rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 3rem);
  }
}
@media print, screen and (min-width: 48.875em) {
  .grid-margin-y > .tablet-auto {
    height: auto;
  }
  .grid-margin-y > .tablet-shrink {
    height: auto;
  }
  .grid-margin-y > .tablet-1 {
    height: calc(8.3333333333% - 3rem);
  }
  .grid-margin-y > .tablet-2 {
    height: calc(16.6666666667% - 3rem);
  }
  .grid-margin-y > .tablet-3 {
    height: calc(25% - 3rem);
  }
  .grid-margin-y > .tablet-4 {
    height: calc(33.3333333333% - 3rem);
  }
  .grid-margin-y > .tablet-5 {
    height: calc(41.6666666667% - 3rem);
  }
  .grid-margin-y > .tablet-6 {
    height: calc(50% - 3rem);
  }
  .grid-margin-y > .tablet-7 {
    height: calc(58.3333333333% - 3rem);
  }
  .grid-margin-y > .tablet-8 {
    height: calc(66.6666666667% - 3rem);
  }
  .grid-margin-y > .tablet-9 {
    height: calc(75% - 3rem);
  }
  .grid-margin-y > .tablet-10 {
    height: calc(83.3333333333% - 3rem);
  }
  .grid-margin-y > .tablet-11 {
    height: calc(91.6666666667% - 3rem);
  }
  .grid-margin-y > .tablet-12 {
    height: calc(100% - 3rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 3rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 3rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 3rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 3rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 3rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 3rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 3rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 3rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 3rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 3rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 3rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 3rem);
  }
}
@media screen and (min-width: 80em) {
  .grid-margin-y > .xlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xlarge-1 {
    height: calc(8.3333333333% - 3rem);
  }
  .grid-margin-y > .xlarge-2 {
    height: calc(16.6666666667% - 3rem);
  }
  .grid-margin-y > .xlarge-3 {
    height: calc(25% - 3rem);
  }
  .grid-margin-y > .xlarge-4 {
    height: calc(33.3333333333% - 3rem);
  }
  .grid-margin-y > .xlarge-5 {
    height: calc(41.6666666667% - 3rem);
  }
  .grid-margin-y > .xlarge-6 {
    height: calc(50% - 3rem);
  }
  .grid-margin-y > .xlarge-7 {
    height: calc(58.3333333333% - 3rem);
  }
  .grid-margin-y > .xlarge-8 {
    height: calc(66.6666666667% - 3rem);
  }
  .grid-margin-y > .xlarge-9 {
    height: calc(75% - 3rem);
  }
  .grid-margin-y > .xlarge-10 {
    height: calc(83.3333333333% - 3rem);
  }
  .grid-margin-y > .xlarge-11 {
    height: calc(91.6666666667% - 3rem);
  }
  .grid-margin-y > .xlarge-12 {
    height: calc(100% - 3rem);
  }
}
@media screen and (min-width: 103.125em) {
  .grid-margin-y > .xxlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xxlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xxlarge-1 {
    height: calc(8.3333333333% - 3rem);
  }
  .grid-margin-y > .xxlarge-2 {
    height: calc(16.6666666667% - 3rem);
  }
  .grid-margin-y > .xxlarge-3 {
    height: calc(25% - 3rem);
  }
  .grid-margin-y > .xxlarge-4 {
    height: calc(33.3333333333% - 3rem);
  }
  .grid-margin-y > .xxlarge-5 {
    height: calc(41.6666666667% - 3rem);
  }
  .grid-margin-y > .xxlarge-6 {
    height: calc(50% - 3rem);
  }
  .grid-margin-y > .xxlarge-7 {
    height: calc(58.3333333333% - 3rem);
  }
  .grid-margin-y > .xxlarge-8 {
    height: calc(66.6666666667% - 3rem);
  }
  .grid-margin-y > .xxlarge-9 {
    height: calc(75% - 3rem);
  }
  .grid-margin-y > .xxlarge-10 {
    height: calc(83.3333333333% - 3rem);
  }
  .grid-margin-y > .xxlarge-11 {
    height: calc(91.6666666667% - 3rem);
  }
  .grid-margin-y > .xxlarge-12 {
    height: calc(100% - 3rem);
  }
}
@media screen and (min-width: 120em) {
  .grid-margin-y > .wide-auto {
    height: auto;
  }
  .grid-margin-y > .wide-shrink {
    height: auto;
  }
  .grid-margin-y > .wide-1 {
    height: calc(8.3333333333% - 3rem);
  }
  .grid-margin-y > .wide-2 {
    height: calc(16.6666666667% - 3rem);
  }
  .grid-margin-y > .wide-3 {
    height: calc(25% - 3rem);
  }
  .grid-margin-y > .wide-4 {
    height: calc(33.3333333333% - 3rem);
  }
  .grid-margin-y > .wide-5 {
    height: calc(41.6666666667% - 3rem);
  }
  .grid-margin-y > .wide-6 {
    height: calc(50% - 3rem);
  }
  .grid-margin-y > .wide-7 {
    height: calc(58.3333333333% - 3rem);
  }
  .grid-margin-y > .wide-8 {
    height: calc(66.6666666667% - 3rem);
  }
  .grid-margin-y > .wide-9 {
    height: calc(75% - 3rem);
  }
  .grid-margin-y > .wide-10 {
    height: calc(83.3333333333% - 3rem);
  }
  .grid-margin-y > .wide-11 {
    height: calc(91.6666666667% - 3rem);
  }
  .grid-margin-y > .wide-12 {
    height: calc(100% - 3rem);
  }
}

.grid-frame {
  position: relative;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100vw;
  overflow: hidden;
}

.cell .grid-frame {
  width: 100%;
}

.cell-block {
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  max-width: 100%;
  overflow-x: auto;
}

.cell-block-y {
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  min-height: 100%;
  max-height: 100%;
  overflow-y: auto;
}

.cell-block-container {
  display: flex;
  flex-direction: column;
  max-height: 100%;
}
.cell-block-container > .grid-x {
  flex-wrap: nowrap;
  max-height: 100%;
}

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
    overflow: hidden;
  }
  .cell .medium-grid-frame {
    width: 100%;
  }
  .medium-cell-block {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    max-width: 100%;
    overflow-x: auto;
  }
  .medium-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%;
  }
  .medium-cell-block-container > .grid-x {
    flex-wrap: nowrap;
    max-height: 100%;
  }
  .medium-cell-block-y {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    min-height: 100%;
    max-height: 100%;
    overflow-y: auto;
  }
}
@media print, screen and (min-width: 48.875em) {
  .tablet-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
    overflow: hidden;
  }
  .cell .tablet-grid-frame {
    width: 100%;
  }
  .tablet-cell-block {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    max-width: 100%;
    overflow-x: auto;
  }
  .tablet-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%;
  }
  .tablet-cell-block-container > .grid-x {
    flex-wrap: nowrap;
    max-height: 100%;
  }
  .tablet-cell-block-y {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    min-height: 100%;
    max-height: 100%;
    overflow-y: auto;
  }
}
@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
    overflow: hidden;
  }
  .cell .large-grid-frame {
    width: 100%;
  }
  .large-cell-block {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    max-width: 100%;
    overflow-x: auto;
  }
  .large-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%;
  }
  .large-cell-block-container > .grid-x {
    flex-wrap: nowrap;
    max-height: 100%;
  }
  .large-cell-block-y {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    min-height: 100%;
    max-height: 100%;
    overflow-y: auto;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
    overflow: hidden;
  }
  .cell .xlarge-grid-frame {
    width: 100%;
  }
  .xlarge-cell-block {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    max-width: 100%;
    overflow-x: auto;
  }
  .xlarge-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%;
  }
  .xlarge-cell-block-container > .grid-x {
    flex-wrap: nowrap;
    max-height: 100%;
  }
  .xlarge-cell-block-y {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    min-height: 100%;
    max-height: 100%;
    overflow-y: auto;
  }
}
@media screen and (min-width: 103.125em) {
  .xxlarge-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
    overflow: hidden;
  }
  .cell .xxlarge-grid-frame {
    width: 100%;
  }
  .xxlarge-cell-block {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    max-width: 100%;
    overflow-x: auto;
  }
  .xxlarge-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%;
  }
  .xxlarge-cell-block-container > .grid-x {
    flex-wrap: nowrap;
    max-height: 100%;
  }
  .xxlarge-cell-block-y {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    min-height: 100%;
    max-height: 100%;
    overflow-y: auto;
  }
}
@media screen and (min-width: 120em) {
  .wide-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
    overflow: hidden;
  }
  .cell .wide-grid-frame {
    width: 100%;
  }
  .wide-cell-block {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    max-width: 100%;
    overflow-x: auto;
  }
  .wide-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%;
  }
  .wide-cell-block-container > .grid-x {
    flex-wrap: nowrap;
    max-height: 100%;
  }
  .wide-cell-block-y {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    min-height: 100%;
    max-height: 100%;
    overflow-y: auto;
  }
}
.grid-y.grid-frame {
  position: relative;
  flex-wrap: nowrap;
  align-items: stretch;
  width: auto;
  height: 100vh;
  overflow: hidden;
}
@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: auto;
    height: 100vh;
    overflow: hidden;
  }
}
@media print, screen and (min-width: 48.875em) {
  .grid-y.tablet-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: auto;
    height: 100vh;
    overflow: hidden;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: auto;
    height: 100vh;
    overflow: hidden;
  }
}
@media screen and (min-width: 80em) {
  .grid-y.xlarge-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: auto;
    height: 100vh;
    overflow: hidden;
  }
}
@media screen and (min-width: 103.125em) {
  .grid-y.xxlarge-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: auto;
    height: 100vh;
    overflow: hidden;
  }
}
@media screen and (min-width: 120em) {
  .grid-y.wide-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: auto;
    height: 100vh;
    overflow: hidden;
  }
}

.cell .grid-y.grid-frame {
  height: 100%;
}
@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%;
  }
}
@media print, screen and (min-width: 48.875em) {
  .cell .grid-y.tablet-grid-frame {
    height: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%;
  }
}
@media screen and (min-width: 80em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%;
  }
}
@media screen and (min-width: 103.125em) {
  .cell .grid-y.xxlarge-grid-frame {
    height: 100%;
  }
}
@media screen and (min-width: 120em) {
  .cell .grid-y.wide-grid-frame {
    height: 100%;
  }
}

.grid-margin-y {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem;
}
.grid-margin-y > .cell {
  height: calc(100% - 3rem);
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 3rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 3rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 3rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 3rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 3rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 3rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 3rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 3rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 3rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 3rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 3rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 3rem);
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 3rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 3rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 3rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 3rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 3rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 3rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 3rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 3rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 3rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 3rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 3rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 3rem);
  }
}
@media print, screen and (min-width: 48.875em) {
  .grid-margin-y > .tablet-auto {
    height: auto;
  }
  .grid-margin-y > .tablet-shrink {
    height: auto;
  }
  .grid-margin-y > .tablet-1 {
    height: calc(8.3333333333% - 3rem);
  }
  .grid-margin-y > .tablet-2 {
    height: calc(16.6666666667% - 3rem);
  }
  .grid-margin-y > .tablet-3 {
    height: calc(25% - 3rem);
  }
  .grid-margin-y > .tablet-4 {
    height: calc(33.3333333333% - 3rem);
  }
  .grid-margin-y > .tablet-5 {
    height: calc(41.6666666667% - 3rem);
  }
  .grid-margin-y > .tablet-6 {
    height: calc(50% - 3rem);
  }
  .grid-margin-y > .tablet-7 {
    height: calc(58.3333333333% - 3rem);
  }
  .grid-margin-y > .tablet-8 {
    height: calc(66.6666666667% - 3rem);
  }
  .grid-margin-y > .tablet-9 {
    height: calc(75% - 3rem);
  }
  .grid-margin-y > .tablet-10 {
    height: calc(83.3333333333% - 3rem);
  }
  .grid-margin-y > .tablet-11 {
    height: calc(91.6666666667% - 3rem);
  }
  .grid-margin-y > .tablet-12 {
    height: calc(100% - 3rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 3rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 3rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 3rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 3rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 3rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 3rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 3rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 3rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 3rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 3rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 3rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 3rem);
  }
}
@media screen and (min-width: 80em) {
  .grid-margin-y > .xlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xlarge-1 {
    height: calc(8.3333333333% - 3rem);
  }
  .grid-margin-y > .xlarge-2 {
    height: calc(16.6666666667% - 3rem);
  }
  .grid-margin-y > .xlarge-3 {
    height: calc(25% - 3rem);
  }
  .grid-margin-y > .xlarge-4 {
    height: calc(33.3333333333% - 3rem);
  }
  .grid-margin-y > .xlarge-5 {
    height: calc(41.6666666667% - 3rem);
  }
  .grid-margin-y > .xlarge-6 {
    height: calc(50% - 3rem);
  }
  .grid-margin-y > .xlarge-7 {
    height: calc(58.3333333333% - 3rem);
  }
  .grid-margin-y > .xlarge-8 {
    height: calc(66.6666666667% - 3rem);
  }
  .grid-margin-y > .xlarge-9 {
    height: calc(75% - 3rem);
  }
  .grid-margin-y > .xlarge-10 {
    height: calc(83.3333333333% - 3rem);
  }
  .grid-margin-y > .xlarge-11 {
    height: calc(91.6666666667% - 3rem);
  }
  .grid-margin-y > .xlarge-12 {
    height: calc(100% - 3rem);
  }
}
@media screen and (min-width: 103.125em) {
  .grid-margin-y > .xxlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xxlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xxlarge-1 {
    height: calc(8.3333333333% - 3rem);
  }
  .grid-margin-y > .xxlarge-2 {
    height: calc(16.6666666667% - 3rem);
  }
  .grid-margin-y > .xxlarge-3 {
    height: calc(25% - 3rem);
  }
  .grid-margin-y > .xxlarge-4 {
    height: calc(33.3333333333% - 3rem);
  }
  .grid-margin-y > .xxlarge-5 {
    height: calc(41.6666666667% - 3rem);
  }
  .grid-margin-y > .xxlarge-6 {
    height: calc(50% - 3rem);
  }
  .grid-margin-y > .xxlarge-7 {
    height: calc(58.3333333333% - 3rem);
  }
  .grid-margin-y > .xxlarge-8 {
    height: calc(66.6666666667% - 3rem);
  }
  .grid-margin-y > .xxlarge-9 {
    height: calc(75% - 3rem);
  }
  .grid-margin-y > .xxlarge-10 {
    height: calc(83.3333333333% - 3rem);
  }
  .grid-margin-y > .xxlarge-11 {
    height: calc(91.6666666667% - 3rem);
  }
  .grid-margin-y > .xxlarge-12 {
    height: calc(100% - 3rem);
  }
}
@media screen and (min-width: 120em) {
  .grid-margin-y > .wide-auto {
    height: auto;
  }
  .grid-margin-y > .wide-shrink {
    height: auto;
  }
  .grid-margin-y > .wide-1 {
    height: calc(8.3333333333% - 3rem);
  }
  .grid-margin-y > .wide-2 {
    height: calc(16.6666666667% - 3rem);
  }
  .grid-margin-y > .wide-3 {
    height: calc(25% - 3rem);
  }
  .grid-margin-y > .wide-4 {
    height: calc(33.3333333333% - 3rem);
  }
  .grid-margin-y > .wide-5 {
    height: calc(41.6666666667% - 3rem);
  }
  .grid-margin-y > .wide-6 {
    height: calc(50% - 3rem);
  }
  .grid-margin-y > .wide-7 {
    height: calc(58.3333333333% - 3rem);
  }
  .grid-margin-y > .wide-8 {
    height: calc(66.6666666667% - 3rem);
  }
  .grid-margin-y > .wide-9 {
    height: calc(75% - 3rem);
  }
  .grid-margin-y > .wide-10 {
    height: calc(83.3333333333% - 3rem);
  }
  .grid-margin-y > .wide-11 {
    height: calc(91.6666666667% - 3rem);
  }
  .grid-margin-y > .wide-12 {
    height: calc(100% - 3rem);
  }
}

.grid-frame.grid-margin-y {
  height: calc(100vh + 3rem);
}
@media print, screen and (min-width: 40em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 3rem);
  }
}
@media print, screen and (min-width: 48.875em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 3rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 3rem);
  }
}
@media screen and (min-width: 80em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 3rem);
  }
}
@media screen and (min-width: 103.125em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 3rem);
  }
}
@media screen and (min-width: 120em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 3rem);
  }
}

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 3rem);
  }
}
@media print, screen and (min-width: 48.875em) {
  .grid-margin-y.tablet-grid-frame {
    height: calc(100vh + 3rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 3rem);
  }
}
@media screen and (min-width: 80em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 3rem);
  }
}
@media screen and (min-width: 103.125em) {
  .grid-margin-y.xxlarge-grid-frame {
    height: calc(100vh + 3rem);
  }
}
@media screen and (min-width: 120em) {
  .grid-margin-y.wide-grid-frame {
    height: calc(100vh + 3rem);
  }
}
.button {
  -webkit-appearance: none;
  display: inline-block;
  margin: 0;
  padding: 0.95em 1.5em;
  border: 0;
  border-radius: 0.25rem;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  font-family: inherit;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
}
[data-whatinput=mouse] .button {
  outline: 0;
}
.button.tiny {
  font-size: 0.6rem;
}
.button.small {
  font-size: 0.75rem;
}
.button.large {
  font-size: 1.25rem;
}
.button.expanded {
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}
.button, .button.disabled, .button[disabled], .button.disabled:hover, .button[disabled]:hover, .button.disabled:focus, .button[disabled]:focus {
  background-color: #e31f28;
  color: #fefefe;
}
.button:hover, .button:focus {
  background-color: #0a0a0a;
  color: #fefefe;
}
.button.primary, .button.primary.disabled, .button.primary[disabled], .button.primary.disabled:hover, .button.primary[disabled]:hover, .button.primary.disabled:focus, .button.primary[disabled]:focus {
  background-color: #e31f28;
  color: #fefefe;
}
.button.primary:hover, .button.primary:focus {
  background-color: #e94c53;
  color: #fefefe;
}
.button.secondary, .button.secondary.disabled, .button.secondary[disabled], .button.secondary.disabled:hover, .button.secondary[disabled]:hover, .button.secondary.disabled:focus, .button.secondary[disabled]:focus {
  background-color: #0a0a0a;
  color: #fefefe;
}
.button.secondary:hover, .button.secondary:focus {
  background-color: #3b3b3b;
  color: #fefefe;
}
.button.success, .button.success.disabled, .button.success[disabled], .button.success.disabled:hover, .button.success[disabled]:hover, .button.success.disabled:focus, .button.success[disabled]:focus {
  background-color: #008A05;
  color: #fefefe;
}
.button.success:hover, .button.success:focus {
  background-color: #00d408;
  color: #fefefe;
}
.button.warning, .button.warning.disabled, .button.warning[disabled], .button.warning.disabled:hover, .button.warning[disabled]:hover, .button.warning.disabled:focus, .button.warning[disabled]:focus {
  background-color: #E07912;
  color: #0a0a0a;
}
.button.warning:hover, .button.warning:focus {
  background-color: #ef9439;
  color: #0a0a0a;
}
.button.alert, .button.alert.disabled, .button.alert[disabled], .button.alert.disabled:hover, .button.alert[disabled]:hover, .button.alert.disabled:focus, .button.alert[disabled]:focus {
  background-color: #E00B41;
  color: #fefefe;
}
.button.alert:hover, .button.alert:focus {
  background-color: #f52d60;
  color: #fefefe;
}
.button.hollow, .button.hollow:hover, .button.hollow:focus, .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
  background-color: transparent;
}
.button.hollow, .button.hollow.disabled, .button.hollow[disabled], .button.hollow.disabled:hover, .button.hollow[disabled]:hover, .button.hollow.disabled:focus, .button.hollow[disabled]:focus {
  border: 1px solid #e31f28;
  color: #e31f28;
}
.button.hollow:hover, .button.hollow:focus {
  border-color: #e94c53;
  color: #e94c53;
}
.button.hollow.primary, .button.hollow.primary.disabled, .button.hollow.primary[disabled], .button.hollow.primary.disabled:hover, .button.hollow.primary[disabled]:hover, .button.hollow.primary.disabled:focus, .button.hollow.primary[disabled]:focus {
  border: 1px solid #e31f28;
  color: #e31f28;
}
.button.hollow.primary:hover, .button.hollow.primary:focus {
  border-color: #e94c53;
  color: #e94c53;
}
.button.hollow.secondary, .button.hollow.secondary.disabled, .button.hollow.secondary[disabled], .button.hollow.secondary.disabled:hover, .button.hollow.secondary[disabled]:hover, .button.hollow.secondary.disabled:focus, .button.hollow.secondary[disabled]:focus {
  border: 1px solid #0a0a0a;
  color: #0a0a0a;
}
.button.hollow.secondary:hover, .button.hollow.secondary:focus {
  border-color: #3b3b3b;
  color: #3b3b3b;
}
.button.hollow.success, .button.hollow.success.disabled, .button.hollow.success[disabled], .button.hollow.success.disabled:hover, .button.hollow.success[disabled]:hover, .button.hollow.success.disabled:focus, .button.hollow.success[disabled]:focus {
  border: 1px solid #008A05;
  color: #008A05;
}
.button.hollow.success:hover, .button.hollow.success:focus {
  border-color: #00d408;
  color: #00d408;
}
.button.hollow.warning, .button.hollow.warning.disabled, .button.hollow.warning[disabled], .button.hollow.warning.disabled:hover, .button.hollow.warning[disabled]:hover, .button.hollow.warning.disabled:focus, .button.hollow.warning[disabled]:focus {
  border: 1px solid #E07912;
  color: #E07912;
}
.button.hollow.warning:hover, .button.hollow.warning:focus {
  border-color: #ef9439;
  color: #ef9439;
}
.button.hollow.alert, .button.hollow.alert.disabled, .button.hollow.alert[disabled], .button.hollow.alert.disabled:hover, .button.hollow.alert[disabled]:hover, .button.hollow.alert.disabled:focus, .button.hollow.alert[disabled]:focus {
  border: 1px solid #E00B41;
  color: #E00B41;
}
.button.hollow.alert:hover, .button.hollow.alert:focus {
  border-color: #f52d60;
  color: #f52d60;
}
.button.clear, .button.clear:hover, .button.clear:focus, .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
  border-color: transparent;
  background-color: transparent;
}
.button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear.disabled:hover, .button.clear[disabled]:hover, .button.clear.disabled:focus, .button.clear[disabled]:focus {
  color: #e31f28;
}
.button.clear:hover, .button.clear:focus {
  color: #e94c53;
}
.button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary.disabled:hover, .button.clear.primary[disabled]:hover, .button.clear.primary.disabled:focus, .button.clear.primary[disabled]:focus {
  color: #e31f28;
}
.button.clear.primary:hover, .button.clear.primary:focus {
  color: #e94c53;
}
.button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary.disabled:hover, .button.clear.secondary[disabled]:hover, .button.clear.secondary.disabled:focus, .button.clear.secondary[disabled]:focus {
  color: #0a0a0a;
}
.button.clear.secondary:hover, .button.clear.secondary:focus {
  color: #3b3b3b;
}
.button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success.disabled:hover, .button.clear.success[disabled]:hover, .button.clear.success.disabled:focus, .button.clear.success[disabled]:focus {
  color: #008A05;
}
.button.clear.success:hover, .button.clear.success:focus {
  color: #00d408;
}
.button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning.disabled:hover, .button.clear.warning[disabled]:hover, .button.clear.warning.disabled:focus, .button.clear.warning[disabled]:focus {
  color: #E07912;
}
.button.clear.warning:hover, .button.clear.warning:focus {
  color: #ef9439;
}
.button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert.disabled:hover, .button.clear.alert[disabled]:hover, .button.clear.alert.disabled:focus, .button.clear.alert[disabled]:focus {
  color: #E00B41;
}
.button.clear.alert:hover, .button.clear.alert:focus {
  color: #f52d60;
}
.button.disabled, .button[disabled] {
  cursor: not-allowed;
  opacity: 0.25;
}
.button.dropdown::after {
  display: block;
  display: inline-block;
  position: relative;
  top: 0.4em;
  width: 0;
  height: 0;
  margin-left: 1.5em;
  float: right;
  border-width: 0.4em;
  border-bottom-width: 0;
  border-style: solid;
  border-color: #fefefe transparent transparent;
  content: "";
}
.button.dropdown.hollow::after, .button.dropdown.clear::after {
  border-top-color: #e31f28;
}
.button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
  border-top-color: #e31f28;
}
.button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
  border-top-color: #0a0a0a;
}
.button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
  border-top-color: #008A05;
}
.button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
  border-top-color: #E07912;
}
.button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
  border-top-color: #E00B41;
}
.button.arrow-only::after {
  top: -0.1em;
  margin-left: 0;
  float: none;
}

a.button:hover, a.button:focus {
  text-decoration: none;
}

table {
  width: 100%;
  margin-bottom: 1.5rem;
  border-radius: 0.25rem;
  border-collapse: collapse;
}
thead,
tbody,
tfoot {
  border: 1px solid #f1f1f1;
  background-color: #fefefe;
}

caption {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: 600;
}

thead {
  background: #f8f8f8;
  color: #484848;
}

tfoot {
  background: #f1f1f1;
  color: #484848;
}

thead tr,
tfoot tr {
  background: transparent;
}
thead th,
thead td,
tfoot th,
tfoot td {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: 600;
  text-align: left;
}

tbody th,
tbody td {
  padding: 0.5rem 0.625rem 0.625rem;
}

tbody tr:nth-child(even) {
  border-bottom: 0;
  background-color: #f1f1f1;
}

table.unstriped tbody {
  background-color: #fefefe;
}
table.unstriped tbody tr {
  border-bottom: 1px solid #f1f1f1;
  background-color: #fefefe;
}

@media print, screen and (max-width: 48.87375em) {
  table.stack thead {
    display: none;
  }
  table.stack tfoot {
    display: none;
  }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block;
  }
  table.stack td {
    border-top: 0;
  }
}

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto;
}

table.hover thead tr:hover {
  background-color: #f3f3f3;
}
table.hover tfoot tr:hover {
  background-color: #ececec;
}
table.hover tbody tr:hover {
  background-color: #f9f9f9;
}
table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec;
}

.table-scroll {
  overflow-x: auto;
}

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 0;
  padding-bottom: 75%;
  overflow: hidden;
}
.responsive-embed iframe,
.responsive-embed object,
.responsive-embed embed,
.responsive-embed video,
.flex-video iframe,
.flex-video object,
.flex-video embed,
.flex-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.responsive-embed.widescreen,
.flex-video.widescreen {
  padding-bottom: 56.25%;
}

.accordion-menu li {
  width: 100%;
}
.accordion-menu a {
  padding: 0;
}
.accordion-menu .is-accordion-submenu a {
  padding: 0;
}
.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem;
}
.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0;
}

.is-accordion-submenu-parent {
  position: relative;
}

.has-submenu-toggle > a {
  margin-right: 40px;
}

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  cursor: pointer;
}
.submenu-toggle::after {
  display: block;
  top: 0;
  bottom: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-width: 6px;
  border-bottom-width: 0;
  border-style: solid;
  border-color: #e31f28 transparent transparent;
  content: "";
}

.submenu-toggle[aria-expanded=true]::after {
  transform: scaleY(-1);
  transform-origin: 50% 50%;
}

.submenu-toggle-text {
  clip: rect(0, 0, 0, 0) !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  white-space: nowrap !important;
}

.is-off-canvas-open {
  overflow: hidden;
}

.js-off-canvas-overlay {
  visibility: hidden;
  z-index: 300000;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: rgba(10, 10, 10, 0.95);
  opacity: 0;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.js-off-canvas-overlay.is-visible {
  visibility: visible;
  opacity: 1;
}
.js-off-canvas-overlay.is-closable {
  cursor: pointer;
}
.js-off-canvas-overlay.is-overlay-absolute {
  position: absolute;
}
.js-off-canvas-overlay.is-overlay-fixed {
  position: fixed;
}

.off-canvas-wrapper {
  position: relative;
  overflow: hidden;
}

.off-canvas {
  z-index: 400000;
  position: fixed;
  backface-visibility: hidden;
  background: #e31f28;
  transition: transform 0.5s ease;
}
[data-whatinput=mouse] .off-canvas {
  outline: 0;
}
.off-canvas.is-transition-push {
  z-index: 400000;
}
.off-canvas.is-closed {
  visibility: hidden;
}
.off-canvas.is-transition-overlap {
  z-index: 500000;
}
.off-canvas.is-transition-overlap.is-open {
  box-shadow: none;
}
.off-canvas.is-open {
  transform: translate(0, 0);
}

.off-canvas-absolute {
  z-index: 400000;
  position: absolute;
  backface-visibility: hidden;
  background: #e31f28;
  transition: transform 0.5s ease;
}
[data-whatinput=mouse] .off-canvas-absolute {
  outline: 0;
}
.off-canvas-absolute.is-transition-push {
  z-index: 400000;
}
.off-canvas-absolute.is-closed {
  visibility: hidden;
}
.off-canvas-absolute.is-transition-overlap {
  z-index: 500000;
}
.off-canvas-absolute.is-transition-overlap.is-open {
  box-shadow: none;
}
.off-canvas-absolute.is-open {
  transform: translate(0, 0);
}

.position-left {
  -webkit-overflow-scrolling: touch;
  top: 0;
  left: 0;
  width: 250px;
  height: 100%;
  overflow-y: auto;
  transform: translateX(-250px);
}
.off-canvas-content .off-canvas.position-left {
  transform: translateX(-250px);
}
.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

.off-canvas-content.is-open-left.has-transition-push {
  transform: translateX(250px);
}

.position-left.is-transition-push {
  box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25);
}

.position-right {
  -webkit-overflow-scrolling: touch;
  top: 0;
  right: 0;
  width: 250px;
  height: 100%;
  overflow-y: auto;
  transform: translateX(250px);
}
.off-canvas-content .off-canvas.position-right {
  transform: translateX(250px);
}
.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

.off-canvas-content.is-open-right.has-transition-push {
  transform: translateX(-250px);
}

.position-right.is-transition-push {
  box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25);
}

.position-top {
  -webkit-overflow-scrolling: touch;
  top: 0;
  left: 0;
  width: 100%;
  height: 250px;
  overflow-x: auto;
  transform: translateY(-250px);
}
.off-canvas-content .off-canvas.position-top {
  transform: translateY(-250px);
}
.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

.off-canvas-content.is-open-top.has-transition-push {
  transform: translateY(250px);
}

.position-top.is-transition-push {
  box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25);
}

.position-bottom {
  -webkit-overflow-scrolling: touch;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 250px;
  overflow-x: auto;
  transform: translateY(250px);
}
.off-canvas-content .off-canvas.position-bottom {
  transform: translateY(250px);
}
.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

.off-canvas-content.is-open-bottom.has-transition-push {
  transform: translateY(-250px);
}

.position-bottom.is-transition-push {
  box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25);
}

.off-canvas-content {
  transform: none;
  backface-visibility: hidden;
}
.off-canvas-content.has-transition-overlap, .off-canvas-content.has-transition-push {
  transition: transform 0.5s ease;
}
.off-canvas-content.has-transition-push {
  transform: translate(0, 0);
}
.off-canvas-content .off-canvas.is-open {
  transform: translate(0, 0);
}

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-left.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-medium {
    transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-medium ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-medium {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-right.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-medium {
    transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-medium ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-medium {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-top.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-medium {
    transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-medium ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-medium {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-bottom.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-medium {
    transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-medium ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media print, screen and (min-width: 48.875em) {
  .position-left.reveal-for-tablet {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-left.reveal-for-tablet .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-tablet {
    transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-tablet ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-tablet {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-right.reveal-for-tablet .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-tablet {
    transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-tablet ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-tablet {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-top.reveal-for-tablet .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-tablet {
    transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-tablet ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-tablet {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-bottom.reveal-for-tablet .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-tablet {
    transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-tablet ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-left.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-large {
    transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-large ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-large {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-right.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-large {
    transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-large ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-large {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-top.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-large {
    transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-large ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-large {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-bottom.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-large {
    transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-large ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media screen and (min-width: 80em) {
  .position-left.reveal-for-xlarge {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-left.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-xlarge {
    transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-xlarge ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-xlarge {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-right.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-xlarge {
    transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-xlarge ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-xlarge {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-top.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-xlarge {
    transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-xlarge ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-xlarge {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-bottom.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-xlarge {
    transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media screen and (min-width: 103.125em) {
  .position-left.reveal-for-xxlarge {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-left.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-xxlarge {
    transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-xxlarge ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-xxlarge {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-right.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-xxlarge {
    transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-xxlarge ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-xxlarge {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-top.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-xxlarge {
    transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-xxlarge ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-xxlarge {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-bottom.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-xxlarge {
    transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media screen and (min-width: 120em) {
  .position-left.reveal-for-wide {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-left.reveal-for-wide .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-wide {
    transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-wide ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-wide {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-right.reveal-for-wide .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-wide {
    transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-wide ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-wide {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-top.reveal-for-wide .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-wide {
    transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-wide ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-wide {
    visibility: visible;
    z-index: 400000;
    transform: none;
    transition: none;
  }
  .position-bottom.reveal-for-wide .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-wide {
    transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-wide ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    background: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
    transform: none;
    box-shadow: none;
  }
  .off-canvas.in-canvas-for-medium .close-button {
    display: none;
  }
}
@media print, screen and (min-width: 48.875em) {
  .off-canvas.in-canvas-for-tablet {
    visibility: visible;
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    background: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-tablet.position-left, .off-canvas.in-canvas-for-tablet.position-right, .off-canvas.in-canvas-for-tablet.position-top, .off-canvas.in-canvas-for-tablet.position-bottom {
    transform: none;
    box-shadow: none;
  }
  .off-canvas.in-canvas-for-tablet .close-button {
    display: none;
  }
}
@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    background: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
    transform: none;
    box-shadow: none;
  }
  .off-canvas.in-canvas-for-large .close-button {
    display: none;
  }
}
@media screen and (min-width: 80em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    background: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
    transform: none;
    box-shadow: none;
  }
  .off-canvas.in-canvas-for-xlarge .close-button {
    display: none;
  }
}
@media screen and (min-width: 103.125em) {
  .off-canvas.in-canvas-for-xxlarge {
    visibility: visible;
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    background: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-xxlarge.position-left, .off-canvas.in-canvas-for-xxlarge.position-right, .off-canvas.in-canvas-for-xxlarge.position-top, .off-canvas.in-canvas-for-xxlarge.position-bottom {
    transform: none;
    box-shadow: none;
  }
  .off-canvas.in-canvas-for-xxlarge .close-button {
    display: none;
  }
}
@media screen and (min-width: 120em) {
  .off-canvas.in-canvas-for-wide {
    visibility: visible;
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    background: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-wide.position-left, .off-canvas.in-canvas-for-wide.position-right, .off-canvas.in-canvas-for-wide.position-top, .off-canvas.in-canvas-for-wide.position-bottom {
    transform: none;
    box-shadow: none;
  }
  .off-canvas.in-canvas-for-wide .close-button {
    display: none;
  }
}
html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: hidden;
}
html.is-reveal-open.zf-has-scroll {
  -webkit-overflow-scrolling: touch;
  overflow-y: scroll;
}
html.is-reveal-open body {
  overflow-y: hidden;
}

.reveal-overlay {
  -webkit-overflow-scrolling: touch;
  display: none;
  z-index: 2147483646;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow-y: auto;
  background-color: rgba(10, 10, 10, 0.95);
}

.reveal {
  -webkit-overflow-scrolling: touch;
  display: none;
  z-index: 2147483647;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  padding: 1.5rem;
  overflow-y: auto;
  border: 0;
  border-radius: 0.25rem;
  backface-visibility: hidden;
  background-color: #fefefe;
}
[data-whatinput=mouse] .reveal {
  outline: 0;
}
@media print, screen and (min-width: 40em) {
  .reveal {
    min-height: 0;
  }
}
.reveal .column {
  min-width: 0;
}
.reveal > :last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 40em) {
  .reveal {
    width: 600px;
    max-width: 1400px;
  }
}
.reveal.collapse {
  padding: 0;
}
@media print, screen and (min-width: 40em) {
  .reveal.tiny {
    width: 30%;
    max-width: 1400px;
  }
}
@media print, screen and (min-width: 40em) {
  .reveal.small {
    width: 50%;
    max-width: 1400px;
  }
}
@media print, screen and (min-width: 40em) {
  .reveal.large {
    width: 90%;
    max-width: 1400px;
  }
}
.reveal.full {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 100%;
  margin-left: 0;
  border: 0;
  border-radius: 0;
}
@media print, screen and (max-width: 39.99875em) {
  .reveal {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    margin-left: 0;
    border: 0;
    border-radius: 0;
  }
}
.reveal.without-overlay {
  position: fixed;
}

.align-left {
  justify-content: flex-start;
}

.align-right {
  justify-content: flex-end;
}

.align-center {
  justify-content: center;
}

.align-justify {
  justify-content: space-between;
}

.align-spaced {
  justify-content: space-around;
}

.align-left.vertical.menu > li > a {
  justify-content: flex-start;
}

.align-right.vertical.menu > li > a {
  justify-content: flex-end;
}

.align-center.vertical.menu > li > a {
  justify-content: center;
}

.align-top {
  align-items: flex-start;
}

.align-self-top {
  align-self: flex-start;
}

.align-bottom {
  align-items: flex-end;
}

.align-self-bottom {
  align-self: flex-end;
}

.align-middle {
  align-items: center;
}

.align-self-middle {
  align-self: center;
}

.align-stretch {
  align-items: stretch;
}

.align-self-stretch {
  align-self: stretch;
}

.align-center-middle {
  align-content: center;
  align-items: center;
  justify-content: center;
}

.small-order-1 {
  order: 1;
}

.small-order-2 {
  order: 2;
}

.small-order-3 {
  order: 3;
}

.small-order-4 {
  order: 4;
}

.small-order-5 {
  order: 5;
}

.small-order-6 {
  order: 6;
}

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    order: 1;
  }
  .medium-order-2 {
    order: 2;
  }
  .medium-order-3 {
    order: 3;
  }
  .medium-order-4 {
    order: 4;
  }
  .medium-order-5 {
    order: 5;
  }
  .medium-order-6 {
    order: 6;
  }
}
@media print, screen and (min-width: 48.875em) {
  .tablet-order-1 {
    order: 1;
  }
  .tablet-order-2 {
    order: 2;
  }
  .tablet-order-3 {
    order: 3;
  }
  .tablet-order-4 {
    order: 4;
  }
  .tablet-order-5 {
    order: 5;
  }
  .tablet-order-6 {
    order: 6;
  }
}
@media print, screen and (min-width: 64em) {
  .large-order-1 {
    order: 1;
  }
  .large-order-2 {
    order: 2;
  }
  .large-order-3 {
    order: 3;
  }
  .large-order-4 {
    order: 4;
  }
  .large-order-5 {
    order: 5;
  }
  .large-order-6 {
    order: 6;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-order-1 {
    order: 1;
  }
  .xlarge-order-2 {
    order: 2;
  }
  .xlarge-order-3 {
    order: 3;
  }
  .xlarge-order-4 {
    order: 4;
  }
  .xlarge-order-5 {
    order: 5;
  }
  .xlarge-order-6 {
    order: 6;
  }
}
@media screen and (min-width: 103.125em) {
  .xxlarge-order-1 {
    order: 1;
  }
  .xxlarge-order-2 {
    order: 2;
  }
  .xxlarge-order-3 {
    order: 3;
  }
  .xxlarge-order-4 {
    order: 4;
  }
  .xxlarge-order-5 {
    order: 5;
  }
  .xxlarge-order-6 {
    order: 6;
  }
}
@media screen and (min-width: 120em) {
  .wide-order-1 {
    order: 1;
  }
  .wide-order-2 {
    order: 2;
  }
  .wide-order-3 {
    order: 3;
  }
  .wide-order-4 {
    order: 4;
  }
  .wide-order-5 {
    order: 5;
  }
  .wide-order-6 {
    order: 6;
  }
}
.flex-container {
  display: flex;
}

.flex-child-auto {
  flex: 1 1 auto;
}

.flex-child-grow {
  flex: 1 0 auto;
}

.flex-child-shrink {
  flex: 0 1 auto;
}

.flex-dir-row {
  flex-direction: row;
}

.flex-dir-row-reverse {
  flex-direction: row-reverse;
}

.flex-dir-column {
  flex-direction: column;
}

.flex-dir-column-reverse {
  flex-direction: column-reverse;
}

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: flex;
  }
  .medium-flex-child-auto {
    flex: 1 1 auto;
  }
  .medium-flex-child-grow {
    flex: 1 0 auto;
  }
  .medium-flex-child-shrink {
    flex: 0 1 auto;
  }
  .medium-flex-dir-row {
    flex-direction: row;
  }
  .medium-flex-dir-row-reverse {
    flex-direction: row-reverse;
  }
  .medium-flex-dir-column {
    flex-direction: column;
  }
  .medium-flex-dir-column-reverse {
    flex-direction: column-reverse;
  }
}
@media print, screen and (min-width: 48.875em) {
  .tablet-flex-container {
    display: flex;
  }
  .tablet-flex-child-auto {
    flex: 1 1 auto;
  }
  .tablet-flex-child-grow {
    flex: 1 0 auto;
  }
  .tablet-flex-child-shrink {
    flex: 0 1 auto;
  }
  .tablet-flex-dir-row {
    flex-direction: row;
  }
  .tablet-flex-dir-row-reverse {
    flex-direction: row-reverse;
  }
  .tablet-flex-dir-column {
    flex-direction: column;
  }
  .tablet-flex-dir-column-reverse {
    flex-direction: column-reverse;
  }
}
@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: flex;
  }
  .large-flex-child-auto {
    flex: 1 1 auto;
  }
  .large-flex-child-grow {
    flex: 1 0 auto;
  }
  .large-flex-child-shrink {
    flex: 0 1 auto;
  }
  .large-flex-dir-row {
    flex-direction: row;
  }
  .large-flex-dir-row-reverse {
    flex-direction: row-reverse;
  }
  .large-flex-dir-column {
    flex-direction: column;
  }
  .large-flex-dir-column-reverse {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-flex-container {
    display: flex;
  }
  .xlarge-flex-child-auto {
    flex: 1 1 auto;
  }
  .xlarge-flex-child-grow {
    flex: 1 0 auto;
  }
  .xlarge-flex-child-shrink {
    flex: 0 1 auto;
  }
  .xlarge-flex-dir-row {
    flex-direction: row;
  }
  .xlarge-flex-dir-row-reverse {
    flex-direction: row-reverse;
  }
  .xlarge-flex-dir-column {
    flex-direction: column;
  }
  .xlarge-flex-dir-column-reverse {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 103.125em) {
  .xxlarge-flex-container {
    display: flex;
  }
  .xxlarge-flex-child-auto {
    flex: 1 1 auto;
  }
  .xxlarge-flex-child-grow {
    flex: 1 0 auto;
  }
  .xxlarge-flex-child-shrink {
    flex: 0 1 auto;
  }
  .xxlarge-flex-dir-row {
    flex-direction: row;
  }
  .xxlarge-flex-dir-row-reverse {
    flex-direction: row-reverse;
  }
  .xxlarge-flex-dir-column {
    flex-direction: column;
  }
  .xxlarge-flex-dir-column-reverse {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 120em) {
  .wide-flex-container {
    display: flex;
  }
  .wide-flex-child-auto {
    flex: 1 1 auto;
  }
  .wide-flex-child-grow {
    flex: 1 0 auto;
  }
  .wide-flex-child-shrink {
    flex: 0 1 auto;
  }
  .wide-flex-dir-row {
    flex-direction: row;
  }
  .wide-flex-dir-row-reverse {
    flex-direction: row-reverse;
  }
  .wide-flex-dir-column {
    flex-direction: column;
  }
  .wide-flex-dir-column-reverse {
    flex-direction: column-reverse;
  }
}
:root {
  --hny-primary: #e31f28;
  --hny-secondary: #0a0a0a;
  --hny-success: #008A05;
  --hny-warning: #E07912;
  --hny-alert: #E00B41;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzL2Jhc2UuY3NzIiwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7O0VBVUU7O0FBRUYsV0FBVyx3QkFBd0IsQ0FBQyw0ckVBQTRyRSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLDRCQUE0QixDQUFDLHlCQUF5QixnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLGlDQUFpQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLDZCQUE2QixDQUFDLG1GQUFtRixDQUFDLHNCQUFzQixDQUFDLDhDQUE4Qyw4QkFBOEIsQ0FBQyxtQkFBbUIsa0JBQWtCLENBQUMsaUJBQWlCLGtCQUFrQixDQUFDLDJCQUEyQixhQUFhLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyw2QkFBNkIsQ0FBQyxhQUFhLENBQUMsOEJBQThCLGlCQUFpQixDQUFDLG9EQUFvRCxXQUFXLENBQUMsbUNBQW1DLHNCQUFzQixDQUFDLG9DQUFvQyxDQUFDLHNDQUFzQyx1QkFBdUIsQ0FBQyxrQ0FBa0MsQ0FBQywwQkFBMEIsQ0FBQywyQ0FBMkMsa0JBQWtCLENBQUMsMkJBQTJCLDJCQUEyQixDQUFDLFdBQVcsa0JBQWtCLENBQUMsOE9BQThPLDJCQUEyQixDQUFDLHNMQUFzTCxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLGdDQUFnQywwQkFBMEIsQ0FBQyxxQ0FBcUMsc0VBQXNFLENBQUMsc0NBQXNDLHVFQUF1RSxDQUFDLG9DQUFvQyxxRUFBcUUsQ0FBQyx1Q0FBdUMsd0VBQXdFLENBQUMsaUNBQWlDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxvREFBb0QsWUFBWSxDQUFDLCtDQUErQyw2QkFBNkIsQ0FBQyxtREFBbUQsNEJBQTRCLENBQUMsaURBQWlELDRCQUE0QixDQUFDLHlDQUF5QyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQywrQ0FBK0MsK0JBQStCLENBQUMsdUJBQXVCLENBQUMsNkVBQTZFLHdEQUF3RCxDQUFDLDJEQUEyRCxXQUFXLENBQUMsY0FBYyxDQUFDLHlDQUF5QyxDQUFDLDJFQUEyRSx1REFBdUQsQ0FBQyx5REFBeUQsVUFBVSxDQUFDLGFBQWEsQ0FBQywwQ0FBMEMsQ0FBQyx1QkFBdUIsVUFBVSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxxQkFBcUIsQ0FBQyx3RUFBd0UsQ0FBQyxpQkFBaUIsQ0FBQyw0QkFBNEIsQ0FBQyxtTUFBbU0sa0RBQWtELENBQUMsNkJBQTZCLDZCQUE2QixDQUFDLDZCQUE2Qiw2QkFBNkIsQ0FBQyxpQ0FBaUMsR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLHdCQUF3QixDQUFDLENBQUMsOEJBQThCLGtDQUFrQyxDQUFDLHVCQUF1QixDQUFDLHVEQUF1RCxVQUFVLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyx5RUFBeUUsVUFBVSxDQUFDLGdDQUFnQyxDQUFDLHVFQUF1RSxTQUFTLENBQUMsaUNBQWlDLENBQUMsTUFBTSw2QkFBNkIsQ0FBQyx3Q0FBd0MsaUJBQWlCLENBQUMsMkNBQTJDLENBQUMsa0RBQWtELENBQUMsb0NBQW9DLENBQUMseURBQXlELENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsOERBQThELENBQUMsc0ZBQXNGLFdBQVcsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsa0ZBQWtGLFNBQVMsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsZ0dBQWdHLHNCQUFzQixDQUFDLG9EQUFvRCx3QkFBd0IsQ0FBQyx1Q0FBdUMsQ0FBQyw2QkFBNkIsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsb0RBQW9ELCtDQUErQyxDQUFDLFVBQVUsQ0FBQyxnRUFBZ0UsY0FBYyxDQUFDLG9EQUFvRCxnREFBZ0QsQ0FBQyxTQUFTLENBQUMsZ0VBQWdFLGNBQWMsQ0FBQyxvQkFBb0IsWUFBWSxDQUFDLG1CQUFtQixpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyw0QkFBNEIsQ0FBQyxVQUFVLENBQUMsNENBQTRDLFNBQVMsQ0FBQyw2RkFBNkYsc0JBQXNCLENBQUMsNEpBQTRKLDBDQUEwQyxDQUFDLHFDQUFxQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsbUNBQW1DLGVBQWUsQ0FBQyxXQUFXLENBQUMsNkRBQTZELG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLG9FQUFvRSxrQkFBa0IsQ0FBQyx5RUFBeUUsa0JBQWtCLENBQUMseUVBQXlFLG9CQUFvQixDQUFDLDhFQUE4RSxvQkFBb0IsQ0FBQyx5RUFBeUUsb0JBQW9CLENBQUMsOEVBQThFLG9CQUFvQixDQUFDLDBCQUEwQixvRkFBb0YsQ0FBQyxzRkFBc0YsQ0FBQyxvQkFBb0IsQ0FBQywrREFBK0QsQ0FBQyw4REFBOEQsQ0FBQyw0REFBNEQsQ0FBQyxnQ0FBZ0MsV0FBVyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyx1REFBdUQsY0FBYyxDQUFDLHFDQUFxQyxzQkFBc0IsQ0FBQyxpQ0FBaUMsa0RBQWtELENBQUMsbUVBQW1FLENBQUMsa0dBQWtHLHdDQUF3QyxDQUFDLHVDQUF1QyxDQUFDLE9BQU8sQ0FBQyxpQ0FBaUMsQ0FBQyxzSkFBc0oseURBQXlELENBQUMsYUFBYSxDQUFDLHNLQUFzSyxPQUFPLENBQUMsMEJBQTBCLENBQUMsU0FBUyxDQUFDLDBOQUEwTixvQkFBb0IsQ0FBQyxnQ0FBZ0MsQ0FBQywwSkFBMEosMkRBQTJELENBQUMsMEtBQTBLLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxrQkFBa0IsQ0FBQyw4TkFBOE4saUNBQWlDLENBQUMsNkxBQTZMLGtDQUFrQyxDQUFDLDRCQUE0QixxREFBcUQsQ0FBQywrQkFBK0Isd0VBQXdFLENBQUMsaUJBQWlCLENBQUMsbUVBQW1FLG1FQUFtRSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQywrRUFBK0UsMEJBQTBCLENBQUMsc1NBQXNTLFVBQVUsQ0FBQyxvREFBb0QsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNTQUFzUyxtREFBbUQsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsWUFBWSxDQUFDLGtCQUFrQix3REFBd0QsQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQywwREFBMEQsQ0FBQyx5RkFBeUYsc0JBQXNCLENBQUMsbUZBQW1GLGlCQUFpQixDQUFDLDRDQUE0QyxDQUFDLHlDQUF5QyxDQUFDLG9DQUFvQyxDQUFDLFVBQVUsQ0FBQyx1Q0FBdUMsQ0FBQyw4REFBOEQsQ0FBQywrRUFBK0UsaUJBQWlCLENBQUMsc0NBQXNDLENBQUMsdUNBQXVDLENBQUMsMkNBQTJDLENBQUMsVUFBVSxDQUFDLHNDQUFzQyxDQUFDLCtEQUErRCxDQUFDLHVCQUF1QixXQUFXLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLCtEQUErRCxDQUFDLHdEQUF3RCxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOEJBQThCLFdBQVcsQ0FBQyx1QkFBdUIsWUFBWSxDQUFDLHVCQUF1QixVQUFVLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxvRkFBb0YsY0FBYyxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsV0FBVyxDQUFDLGlCQUFpQixDQUFDLG1FQUFtRSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsa0NBQWtDLG1DQUFtQyxDQUFDLGFBQWEsQ0FBQyw2QkFBNkIsY0FBYyxDQUFDLG9DQUFvQyxjQUFjLENBQUMscUJBQXFCLENBQUMsNENBQTRDLG1DQUFtQyxDQUFDLDJCQUEyQixtQkFBbUIsQ0FBQywyQkFBMkIsQ0FBQyx5Q0FBeUMsbUJBQW1CLENBQUMseUZBQXlGLG1CQUFtQixDQUFDLGFBQWEsZ0JBQWdCLENBQUMsMkJBQTJCLG1CQUFtQixDQUFDLGtDQUFrQyxDQUFDLDBCQUEwQixDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLHlDQUF5QyxtQkFBbUIsQ0FBQyxzQ0FBc0MsdUJBQXVCLENBQUMseUZBQXlGLG1CQUFtQixDQUFDLGdKQUFnSixtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyw4SkFBOEosU0FBUyxDQUFDLGtDQUFrQyxDQUFDLDBCQUEwQixDQUFDLGlDQUFpQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyx3Q0FBd0MsVUFBVSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsYUFBYSxnQkFBZ0IsQ0FBQywyQkFBMkIsbUJBQW1CLENBQUMsa0NBQWtDLENBQUMsMEJBQTBCLENBQUMsU0FBUyxDQUFDLHlDQUF5QyxtQkFBbUIsQ0FBQyx5RkFBeUYsbUJBQW1CLENBQUMsOEpBQThKLFNBQVMsQ0FBQyxrQ0FBa0MsQ0FBQywwQkFBMEIsQ0FBQywrQkFBK0Isa0NBQWtDLENBQUMsMEJBQTBCLENBQUMsZUFBZSxDQUFDLDRDQUE0QyxDQUFDLGNBQWMsZ0JBQWdCLENBQUMsNEJBQTRCLDhCQUE4QixDQUFDLGtDQUFrQyxDQUFDLDBCQUEwQixDQUFDLGVBQWUsQzs7OztBQ1pwdmlCLHFCQUFxQixVQUFVLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyw2QkFBNkIsQ0FBQywwQkFBMEIsQ0FBQyx5QkFBeUIsQ0FBQyxxQkFBcUIsQ0FBQyxrQ0FBa0MsQ0FBQywwQkFBMEIsQ0FBQyxTQUFTLENBQUMsOEJBQThCLFlBQVksQ0FBQyxpQ0FBaUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLDhCQUE4Qiw2Q0FBNkMsQ0FBQyxxQ0FBcUMsQ0FBQyw2QkFBNkIsQ0FBQyx3REFBd0QsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLDZCQUE2QixDQUFDLDZCQUE2QixDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLHdCQUF3QixDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLG9DQUFvQyxDQUFDLDRCQUE0QixDQUFDLDZCQUE2QixVQUFVLENBQUMsaUJBQWlCLENBQUMsd0JBQXdCLENBQUMscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxxQ0FBcUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxrQ0FBa0MsU0FBUyxDQUFDLFlBQVksQ0FBQywyQ0FBMkMsVUFBVSxDQUFDLHVDQUF1QyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLDJCQUEyQixDQUFDLDRCQUE0QixDQUFDLHlCQUF5QixDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLHdEQUF3RCxVQUFVLENBQUMsbUdBQW1HLDJCQUEyQixDQUFDLDRCQUE0QixDQUFDLHlCQUF5QixDQUFDLHFCQUFxQixDQUFDLG1HQUFtRyx3QkFBd0IsQ0FBQyw2QkFBNkIsbUJBQW1CLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLGdDQUFnQyxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixtQkFBbUIsQ0FBQyxjQUFjLHdCQUF3QixDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLHdCQUF3QixDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsMkRBQTJELFVBQVUsQ0FBQywyREFBMkQsVUFBVSxDQUFDLGNBQWMsQ0FBQywyQkFBMkIsaUJBQWlCLENBQUMsMkJBQTJCLGlDQUFpQyxDQUFDLHlCQUF5QixDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxjQUFjLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxnRUFBZ0UsWUFBWSxDQUFDLDhCQUE4QixVQUFVLENBQUMsV0FBVyxDQUFDLHNCQUFzQixVQUFVLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsOEJBQThCLFlBQVksQ0FBQyx5QkFBeUIsd0JBQXdCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQywrQkFBK0Isd0JBQXdCLENBQUMsb0JBQW9CLENBQUMsZUFBZSxlQUFlLENBQUMsZUFBZSxDQUFDLDZCQUE2QixDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLGlDQUFpQyxZQUFZLENBQUMsVUFBVSxDQUFDLHlCQUF5QixpQ0FBaUMsQ0FBQyx5QkFBeUIsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsY0FBYyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLHNCQUFzQixpQ0FBaUMsQ0FBQyx5QkFBeUIsQ0FBQyxtREFBbUQsYUFBYSxDQUFDLDJCQUEyQixDQUFDLDRCQUE0QixDQUFDLHlCQUF5QixDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsMkVBQTJFLGNBQWMsQ0FBQywyRUFBMkUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0Isa0JBQWtCLENBQUMsaUNBQWlDLGVBQWUsQ0FBQyw0QkFBNEIsWUFBWSxDQUFDLHlCQUF5QixZQUFZLENBQUMsMkRBQTJELHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMseUJBQXlCLENBQUMscUNBQXFDLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLGdHQUFnRyxDQUFDLDBFQUEwRSxDQUFDLHFDQUFxQyxDQUFDLDZCQUE2QixDQUFDLG1CQUFtQixDQUFDLHFEQUFxRCxVQUFVLENBQUMsYUFBYSxDQUFDLG9EQUFvRCxhQUFhLENBQUMsc0RBQXNELFVBQVUsQ0FBQyxlQUFlLENBQUMsc0RBQXNELGFBQWEsQ0FBQywrREFBK0QsVUFBVSxDQUFDLFVBQVUsQ0FBQywwQkFBMEIsbUNBQW1DLENBQUMsMkJBQTJCLENBQUMsVUFBVSxDQUFDLHlCQUF5QixtQkFBbUIsQ0FBQyw0QkFBNEIsbUNBQW1DLENBQUMsMkJBQTJCLENBQUMsU0FBUyxDQUFDLFFBQVEsK0JBQStCLENBQUMsdUJBQXVCLENBQUMsV0FBVyxpQkFBaUIsQ0FBQyxXQUFXLGlCQUFpQixDQUFDLGdCQUFnQixzQkFBc0IsQ0FBQyxnQkFBZ0IsZUFBZSxDQUFDLFNBQVMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxvREFBb0QsQ0FBQyw0Q0FBNEMsQ0FBQyxxQkFBcUIsQ0FBQyw4QkFBOEIsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUMsNEJBQTRCLGVBQWUsQ0FBQyxzQkFBc0IsYUFBYSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsd0JBQXdCLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUMsNEJBQTRCLENBQUMseUJBQXlCLENBQUMscUJBQXFCLENBQUMsa0NBQWtDLGFBQWEsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsaURBQWlELFVBQVUsQ0FBQyw4Q0FBOEMsV0FBVyxDQUFDLGNBQWMseUJBQXlCLENBQUMscUJBQXFCLFNBQVMsQ0FBQywrRUFBK0UsbUJBQW1CLENBQUMscUNBQXFDLGVBQWUsQ0FBQyw4QkFBOEIsaUJBQWlCLENBQUMsK0JBQStCLGFBQWEsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLDhCQUE4QixlQUFlLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLCtCQUErQixlQUFlLENBQUMseUVBQXlFLGdDQUFnQyxDQUFDLGlCQUFpQixDQUFDLHdGQUF3RixTQUFTLENBQUMsd0JBQXdCLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLHlCQUF5QixVQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsNkJBQTZCLFVBQVUsQ0FBQyxXQUFXLENBQUMsK0JBQStCLFNBQVMsQ0FBQyxTQUFTLGtDQUFrQyxDQUFDLDBCQUEwQixDQUFDLFVBQVUsbUNBQW1DLENBQUMsMkJBQTJCLENBQUMsZUFBZSx3Q0FBd0MsQ0FBQyxnQ0FBZ0MsQ0FBQyxjQUFjLHVDQUF1QyxDQUFDLCtCQUErQixDQUFDLGdCQUFnQix5Q0FBeUMsQ0FBQyxpQ0FBaUMsQ0FBQyxlQUFlLHdDQUF3QyxDQUFDLGdDQUFnQyxDQUFDLFNBQVMsa0NBQWtDLENBQUMsMEJBQTBCLENBQUMsVUFBVSxtQ0FBbUMsQ0FBQywyQkFBMkIsQ0FBQyxrQ0FBa0MsR0FBRywyQkFBMkIsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLGdDQUFnQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsMEJBQTBCLEdBQUcsMkJBQTJCLENBQUMsbUJBQW1CLENBQUMsS0FBSyxnQ0FBZ0MsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLDJCQUEyQixLQUFLLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLG1CQUFtQixLQUFLLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLDRCQUE0QixLQUFLLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLG9CQUFvQixLQUFLLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLGdDQUFnQyxLQUFLLFNBQVMsQ0FBQyx1Q0FBdUMsQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLG9DQUFvQyxDQUFDLDRCQUE0QixDQUFDLFNBQVMsQ0FBQyxDQUFDLHdCQUF3QixLQUFLLFNBQVMsQ0FBQyx1Q0FBdUMsQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLG9DQUFvQyxDQUFDLDRCQUE0QixDQUFDLFNBQVMsQ0FBQyxDQUFDLGlDQUFpQyxLQUFLLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxvQ0FBb0MsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLHVDQUF1QyxDQUFDLCtCQUErQixDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLHlCQUF5QixLQUFLLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxvQ0FBb0MsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLHVDQUF1QyxDQUFDLCtCQUErQixDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLGlDQUFpQyxLQUFLLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxzQ0FBc0MsQ0FBQyw4QkFBOEIsQ0FBQyxHQUFHLG9DQUFvQyxDQUFDLDRCQUE0QixDQUFDLFNBQVMsQ0FBQyxDQUFDLHlCQUF5QixLQUFLLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxzQ0FBc0MsQ0FBQyw4QkFBOEIsQ0FBQyxHQUFHLG9DQUFvQyxDQUFDLDRCQUE0QixDQUFDLFNBQVMsQ0FBQyxDQUFDLGtDQUFrQyxLQUFLLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxvQ0FBb0MsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLHNDQUFzQyxDQUFDLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxDQUFDLDBCQUEwQixLQUFLLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxvQ0FBb0MsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLHNDQUFzQyxDQUFDLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxDQUFDLDJCQUEyQixLQUFLLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLG1CQUFtQixLQUFLLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLDRCQUE0QixLQUFLLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLG9CQUFvQixLQUFLLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLHlCQUF5Qix1Q0FBdUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyw2QkFBNkIsQ0FBQyw0QkFBNEIsQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxvRUFBb0UsMkJBQTJCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGdJQUFnSSwyQkFBMkIsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMscUVBQXFFLDJCQUEyQixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQywrREFBK0QsMkJBQTJCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGtCQUFrQixlQUFlLENBQUMsY0FBYyxDQUFDLDJCQUEyQixzQkFBc0IsQ0FBQyxjQUFjLENBQUMsbUNBQW1DLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxlQUFlLGVBQWUsQ0FBQyxpQkFBaUIsZ0JBQWdCLENBQUMsMkVBQTJFLGVBQWUsQ0FBQyxnQkFBZ0IsV0FBVyxDQUFDLFVBQVUsMEJBQTBCLENBQUMsK0JBQStCLGdEQUFnRCxDQUFDLHdDQUF3QyxDQUFDLGlHQUFpRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLHlFQUF5RSxnQ0FBZ0MsQ0FBQywyRkFBMkYsK0JBQStCLENBQUMsd0JBQXdCLE9BQU8sQ0FBQyx3QkFBd0IsT0FBTyxDQUFDLENBQUMseUJBQXlCLHlCQUF5QixVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMscUNBQXFDLFVBQVUsZUFBZSxDQUFDLEM7Ozs7QUNBcDdhO0lBQ0ksc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGtDQUFrQztJQUNsQyxzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLGdCQUFnQjtBQUNwQjs7QUFFQSxhQUFhO0FBQ2I7SUFDSSx5QkFBeUI7SUFDekIsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sNEdBQTRHO0lBQzVHLG9KQUFvSjtJQUNwSixZQUFZO0lBQ1osV0FBVztJQUNYLDZEQUE2RDtJQUM3RCwwQkFBMEI7SUFDMUIsbUNBQW1DO0lBQ25DLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQTs7Q0FFQztBQUNEO0lBQ0ksV0FBVztJQUNYLGNBQWM7SUFDZCxxQ0FBcUM7QUFDekM7QUFDQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixPQUFPO0lBQ1AsU0FBUztBQUNiOztBQUVBLGdCQUFnQjtBQUNoQjtJQUNJLGNBQWM7SUFDZCxpRkFBaUY7SUFDakYsV0FBVztJQUNYLFlBQVk7SUFDWiwyQ0FBMkM7SUFDM0Msc0NBQXNDO0lBQ3RDLGdDQUFnQztJQUNoQywyZEFBMmQ7SUFDM2Qsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixVQUFVO0lBQ1YsdUJBQXVCO0lBQ3ZCLGlEQUFpRDtJQUNqRCxTQUFTO0FBQ2I7O0FBRUE7O0lBRUksWUFBWTtBQUNoQjs7QUFFQSxzQkFBc0I7QUFDdEI7SUFDSSxhQUFhO0FBQ2pCO0FBQ0E7O0lBRUksVUFBVTtJQUNWLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLFVBQVU7RUFDWjs7Ozs7QUM5RkYsZ0JBQWdCO0FDR2hCO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEQ0Y7QUNFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURBRjtBQ0dBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEREY7QUNJQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBREZGO0FDS0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURIRjtBRTFDQTs7Ozs7RUFBQTtBQ21MUTtFQ3RJTjtJQUNFO0lBQ0E7SUFDQTtFSk1GO0FBQ0Y7QUtwREU7QUFRQTtFQUVFO0VBREE7QUxnREo7O0FLdkNFO0VBQ0U7QUwwQ0o7O0FLcENFO0VBRUU7RUFEQTtBTHdDSjs7QUs5QkU7RUFDRTtFQUNBO0VBQ0E7QUxpQ0o7O0FLM0JFO0VBRUU7RUFEQTtBTCtCSjs7QUt0QkU7RUFDRTtBTHlCSjs7QUtuQkU7RUFDRTtFQUNBO0FMc0JKOztBS2pCRTs7RUFFRTtBTG9CSjs7QUtkRTs7O0VBSUU7RUFEQTtBTGtCSjs7QUtaRTtFQUNFO0FMZUo7O0FLVEU7O0VBSUU7RUFGQTtFQUNBO0VBRUE7QUxZSjs7QUtURTtFQUNFO0FMWUo7O0FLVEU7RUFDRTtBTFlKOztBS0pFO0VBQ0U7QUxPSjs7QUtFRTs7Ozs7RUFRRTtFQUZBO0VBQ0E7RUFGQTtBTElKOztBS0tFOztFQUVFO0FMRko7O0FLUUU7O0VBRUU7QUxMSjs7QUtVRTs7OztFQUlFO0FMUEo7O0FLWUU7Ozs7RUFLRTtFQURBO0FMUko7O0FLY0U7Ozs7RUFJRTtBTFhKOztBS2dCRTtFQUNFO0FMYko7O0FLcUJFO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFIQTtFQUlBO0FMbEJKOztBS3VCRTtFQUNFO0FMcEJKOztBS3lCRTtFQUNFO0FMdEJKOztBSzRCRTs7RUFFRTtFQUNBO0FMekJKOztBSzhCRTs7RUFFRTtBTDNCSjs7QUtpQ0U7RUFDRTtFQUNBO0FMOUJKOztBS21DRTtFQUNFO0FMaENKOztBS3NDRTtFQUNFO0VBQ0E7QUxuQ0o7O0FLMkNFO0VBQ0U7QUx4Q0o7O0FLNkNFO0VBQ0U7QUwxQ0o7O0FLa0RFO0VBQ0U7QUwvQ0o7O0FLb0RFO0VBQ0U7QUxqREo7O0FLeURJOzs7Ozs7O0VBQ0U7QUxoRE47O0FLcURFO0VBQ0U7RUFDQTtBTGxESjs7QU10R0U7RUFDRTtBTnlHSjs7QU10R0U7RUFDRTtFQUNBLGVDaEZlO0FQeUxuQjs7QU1yR0U7OztFQUdFO0FOd0dKOztBTXBHRTtFQW9CSTtFQUNBO0VBcEJGO0VBQ0E7RUFVQSxtQkN4Rkk7RUQ2RkosY0MzRmM7RUR5RmQsZ0JDakZtQjtFRGtGbkIsZ0JDekdnQjtFRHVHaEIsc0NDdkZlO0FQeUxuQjs7QU12RkU7RUFRRTtFQU5BO0VBSUE7RUFDQTtFQUpBO0FONEZKOztBTW5GRTtFQUNFO0VBQ0E7RUFDQSxzQkN0R1k7QVA0TGhCOztBTWxGRTtFQUNFO0VBQ0E7RUFDQSxzQkM3R1k7QVBrTWhCOztBTTlFSTs7Ozs7O0VBR0U7QU5vRk47O0FNL0VFO0VBR0U7RUFEQTtFQUVBO0VBQ0Esc0JDaklZO0VEa0laO0VBQ0E7RUFDQSxlQzlIbUI7QVArTXZCO0FROUdFO0VBQ0U7QVJnSEo7O0FNaEZFO0VBRUU7RUFEQTtBTm9GSjs7QU0vRUU7Ozs7O0VBS0U7QU5rRko7O0FNOUVFO0VBQ0U7QU5pRko7O0FNOUVFO0VBQ0U7QU5pRko7O0FTbk5FOztFQXBDQTtFQURBO0VBd0NFO0VBdENGO0VBQ0EsdUJBTFM7RUFNVDtFQUNBLHdCRjJYYztFRXpYZCx5QkZ1WGE7RUV0WGIsc0JGR2M7RUVGZCx5QkZaTTtFRWFOLGdCRnVYYTtFRWpYYixjRnBCTTtFRWtCTixnQkZQcUI7RUVNckIsZUYyV2dCO0VFeldoQixnQkYvQmtCO0VFNEJsQixvQkYyV2tCO0VFcFdoQiwwQ0ZpWGU7QVB2SG5CO0FTdFBFOztFQUVFLHlCRnNXaUI7RUV2V2pCO0VBRUEseUJGN0JJO0VFOEJKLGdCRnVXaUI7RUVwV2YsMENGc1dhO0FQL0duQjs7QVN6T0U7RUFDRTtBVDRPSjtBUzFPSTtFQUNFO0FUNE9OOztBU3JPSTs7O0VBRUUseUJGaEVPO0VFaUVQLG1CRnlVa0I7QVBoR3hCOztBU3BPRTs7RUFFRTtFQUNBLHNCRnZEWTtBUDhSaEI7O0FTbk9FO0VBQ0U7QVRzT0o7O0FTck5FO0VBQ0UsY0YvRlU7QVB1VGQ7O0FVL1hFOzs7RUFHRTtBVmtZSjs7QVU5WEU7O0VBRUU7RUFJQSxrQkh1YVc7RUd0YVg7RUFGQTtFQUZBO0FWb1lKO0FVOVhJOztFQUNFO0FWaVlOOztBVTVYRTs7RUFFRTtBVitYSjs7QVUzWEU7RUFDRTtBVjhYSjs7QVd6WEU7RUFsQkE7RUFDQTtFQUtBLGNKb0RNO0VJdEROLGdCSmlFcUI7RUlsRXJCLG1CSjBhcUI7RUl4YXJCLGdCSnlDa0I7QVBzV3BCO0FXL1hJO0VBVEY7RUFFQTtFQURBLGdCSmlDa0I7QVAyV3BCOztBWTdaRTtFQUdFLG1CQUZhO0VBS2IsY0x3REk7RUt6REosa0JMc2FrQjtFS3ZhbEIsb0JMc2FpQjtBUE5yQjs7QWEvWkU7RUFDRTtFQUtFO0VBSkY7RUFDQSxtQk5nYVc7QVBHZjtBYTVaTTtFQUNFO0FiOFpSO0FhelpNO0VBQ0U7QWIyWlI7O0FhdFpFOzs7O0VBQ0U7RUFDQTtBYjRaSjs7QWFwWkU7RUFXSTtFQUNBO0VBQ0E7RUFYRjtFQUNBLHlCTnNZa0I7RU1yWWxCLG1CTmtCUztFTWhCVCxjTm1CSTtFTWxCSjtFQUNBO0Fid1pKO0FhM1lNO0VBQ0U7QWI2WVI7QWExWU07RUFDRTtBYjRZUjs7QWF2WUU7RUFLSTtFQUNBO0VBSkY7QWIyWUo7O0FhbllFO0VBT0k7RUFDQTtFQU5GO0VBQ0E7RUFDQTtBYnVZSjtBYTVYSTs7OztFQU9JO0VBQ0E7RUFLRjtFQUNBO0VBQ0EsZU44VVk7QVB5Q2xCOztBY2xkRTtFQUNFO0VBQ0E7RUFDQTtBZHFkSjs7QWNsZEU7RUFDRTtFQUNBO0FkcWRKOztBY2xkRTtFQXhCQSxrQlBrYWdCO0VPamFoQixnQlBnYWlCO0VPL1pqQix5QlA4WmdCO0FQZ0ZsQjtBYzVlRTtFQUVFO0VBQ0E7RUFDQSxvQlAyWmE7QVBrRmpCOztBZXhiRTtFQTNEQTtFQUpBLHVCQUZTO0VBR1Q7RUFDQSx3QlI4YmM7RVExYVo7RUFqQkYseUJSeWJhO0VReGJiLHNCUnFFYztFQ29EZDtFTzdHRTtFQUVBO0VBREE7RUFGQTtFQVZGLHlCUnNETTtFUWhETixjUitDTTtFUWpETixnQlI0RHFCO0VRN0RyQixlUjhhZ0I7RVE1YWhCLGdCUm9Da0I7RVF2Q2xCLG9CUjhha0I7RVE3WmhCLDBDUjBhZTtBUHlFbkI7QVE1WUU7RU9sRUE7SVBxRUk7RVI2WUo7QUFDRjtBZXBmRTtFQUVFLHlCUitaaUI7RVFoYWpCO0VBRUEseUJSNEJJO0VRM0JKLGdCUmdhaUI7RVE3WmYsMENSK1phO0FQcUZuQjtBZS9lRTtFQUNFLHlCUmNTO0VRYlQsbUJSdVpvQjtBUDBGeEI7QWU3ZUU7RUFDRTtBZitlSjtBZTVlRTtFQUNFO0VBQ0E7QWY4ZUo7QWU1ZUU7RUFDRTtFQUNBO0FmOGVKOztBZ0JuaEJFO0VBQ0UscUJUOEx1QjtFUzdMdkI7QWhCc2hCSjtBZ0JwaEJJO0VBQ0UsY1QwTHFCO0FQNFYzQjs7QWdCNWZJO0VBQ0UsY1RnS3FCO0FQK1YzQjs7QWdCMWZFO0VBekJBO0VBQ0E7RUFDQSxtQlRtWWE7RVMvWGIsY1QrS2tCO0VTaExsQixnQlRrQ21CO0VTbkNuQixrQlRrTHNCO0FQc1d4QjtBZ0JoZ0JJO0VBQ0U7QWhCa2dCTjs7QWlCcFhFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFO0VBQ0E7QWpCdVhKOztBaUJuWEU7RUFDRSxtQlYzRXNCO0VVNkV0QjtFQUNBLGdCVnhMZ0I7RVV5TGhCLGtDVjlFdUI7QVBtYzNCOztBaUJqWEU7O0VBRUU7RUFDQTtBakJvWEo7O0FpQmhYRTs7RUFFRSxnQlY5S2lCO0VVK0tqQjtBakJtWEo7O0FpQi9XRTtFQUNFLGNWckdjO0VVc0dkO0FqQmtYSjs7QWlCOVdFOzs7Ozs7RUFTRSxjVnpJVztFVXVJWCxrQlZ6SWdCO0VVMEloQixnQlZqTWlCO0VVK0xqQixzQ1Z2TWU7RVUyTWYsa0NWckhvQjtBUHNleEI7QWlCL1dJOzs7Ozs7RUFFRSxjVnJOUTtFVW9OUjtBakJ1WE47O0FpQjdXUTtFQXdCSTtFQU9BO0VBM0JBLGVBRGlCO0VBYWpCO0FqQm9XWjs7QWlCcFhRO0VBd0JJO0VBT0E7RUEzQkEsa0JBRGlCO0VBYWpCO0FqQjJXWjs7QWlCM1hRO0VBd0JJO0VBT0E7RUEzQkEsbUJBRGlCO0VBYWpCO0FqQmtYWjs7QWlCbFlRO0VBd0JJO0VBT0E7RUEzQkEsZUFEaUI7RUFhakI7QWpCeVhaOztBaUJ6WVE7RUF3Qkk7RUFPQTtFQTNCQSxrQkFEaUI7RUFhakI7QWpCZ1laOztBaUJoWlE7RUF3Qkk7RUFPQTtFQTNCQSxrQkFEaUI7RUFhakI7QWpCdVlaOztBRzlnQlE7RWN1SEE7SUFJSSxrQkFEaUI7RWpCeVozQjtFaUI1Wk07SUFJSSxlQURpQjtFakI0WjNCO0VpQi9aTTtJQUlJLG1CQURpQjtFakIrWjNCO0VpQmxhTTtJQUlJLG1CQURpQjtFakJrYTNCO0VpQnJhTTtJQUlJLGVBRGlCO0VqQnFhM0I7RWlCeGFNO0lBSUksZUFEaUI7RWpCd2EzQjtBQUNGO0FpQnJZRTtFQUVFLGNDL05nQjtFRDhOaEI7RUFFQSxxQlZuS3FCO0VVcUtyQjtBakJzWUo7QWlCcFlJO0VBRUUsY1Y1UUU7QVBpcEJSO0FpQi9YSTtFQUNFO0FqQmlZTjs7QWlCNVhFO0VBR0UsaUJWeFNXO0VVeVNYO0VBQ0EscUJWdExRO0VVa0xSO0VBTUE7RUFDQTtFQUNBLGdDVjNMUTtFVTRMUjtBakI2WEo7O0FpQnpYRTs7O0VBR0UsbUJWM01zQjtFVTZNdEIsZ0JWdlRnQjtFVXNUaEIsNEJWL0xrQjtBUDRqQnRCOztBaUJ4WEU7RUFDRTtBakIyWEo7O0FpQnZYRTtFQUNFLG9CVnpNZTtFVTBNZixxQlY1TWM7QVBza0JsQjs7QWlCdFhFO0VBQ0Usb0JWL01lO0FQd2tCbkI7O0FpQnBYSTtFQUVFO0VBREEsb0JWcE5vQjtBUDRrQjFCOztBaUJsWEU7RUFDRSxtQlYxTnFCO0FQK2tCekI7QWlCblhJO0VBQ0UscUJWM053QjtFVTROeEIsZ0JWaFVlO0FQcXJCckI7O0FpQmhYRTtFQUNFO0VBQ0Esc0NWak9pQjtFVWtPakIsOEJWak9nQjtBUG9sQnBCO0FpQmpYSTtFQUVFLGNWelZNO0VVd1ZOLGdCVm5XYztBUHV0QnBCOztBaUJyV0U7RUFDRSxpQ1Y3T2E7RVUrT2I7RUFEQTtBakJ5V0o7O0FpQnBXRTtFQUNFO0FqQnVXSjs7QWlCNVZFO0VBQ0U7RUFDQSwyQlZuUWdCO0VVMlFkLHNCVnBYVTtFVThXWix5QlZoWVM7RVVtWVQsY1ZoWUk7RVUrWEosNERWM1RvQjtBUDBwQnhCOztBbUI1cUJFO0VBQ0Usa0JaaUZtQjtFWWhGbkIscUJaaUZzQjtFWTdFdEIsY1p6RFE7RVl1RFIsZ0JaM0NtQjtFWTRDbkIsaUJaZWdCO0FQZ3FCcEI7O0FtQjFxQkU7RUFDRSxlWmtFYTtFWWpFYixnQloxRWdCO0FQdXZCcEI7O0FtQnpxQkU7RUFDRSxpQlptRWE7RVlsRWI7QW5CNHFCSjtBbUIxcUJJO0VBQ0U7QW5CNHFCTjs7QW1CdHFCSTtFQUNFO0VBQ0E7QW5CeXFCTjs7QW1CcnFCRTtFQWpGQTtFQUNBLGNaSlU7RVlLVixvQlpvSWU7QVBzbkJqQjtBbUJ4dkJFO0VBQ0UsYVprSWtCO0FQd25CdEI7O0FtQnRxQkU7RUFoRUE7RUFGQTtFQUNBO0VBR0EscUNaa0hhO0VZakliLHlCWmdJWTtFWS9IWix5QlpsQlc7RVlzQlgsY1puQk07RVlrQk4sZ0JaUHFCO0VZTXJCLDREWm1Ec0I7QVB5c0J4Qjs7QW1CenFCRTtFQWpFQTtFQUtBLHFCWnlHeUI7RVkxR3pCLGFaeUdtQjtFWTVHbkI7RUF0QkEseUJaZ0lZO0VZL0haLHlCWmxCVztFWXNCWCxjWm5CTTtFWWtCTixnQlpQcUI7RVlNckIsNERabURzQjtFWS9CdEI7QW5CcXZCRjs7QW9CLzFCVTtFQUNFLGdCQVJVO0FwQjAyQnRCOztBb0JuMkJVO0VBQ0UsaUJBUlU7QXBCODJCdEI7O0FvQnYyQlU7RUFDRSxrQkFSVTtBcEJrM0J0Qjs7QW9CMzJCVTtFQUNFLG1CQVJVO0FwQnMzQnRCOztBRzFzQlE7RWlCMUtFO0lBQ0UsZ0JBSFU7RXBCMjNCcEI7RW9CejNCUTtJQUNFLGlCQUhVO0VwQjgzQnBCO0VvQjUzQlE7SUFDRSxrQkFIVTtFcEJpNEJwQjtFb0IvM0JRO0lBQ0UsbUJBSFU7RXBCbzRCcEI7QUFDRjtBR3p0QlE7RWlCMUtFO0lBQ0UsZ0JBSFU7RXBCeTRCcEI7RW9CdjRCUTtJQUNFLGlCQUhVO0VwQjQ0QnBCO0VvQjE0QlE7SUFDRSxrQkFIVTtFcEIrNEJwQjtFb0I3NEJRO0lBQ0UsbUJBSFU7RXBCazVCcEI7QUFDRjtBR3Z1QlE7RWlCMUtFO0lBQ0UsZ0JBSFU7RXBCdTVCcEI7RW9CcjVCUTtJQUNFLGlCQUhVO0VwQjA1QnBCO0VvQng1QlE7SUFDRSxrQkFIVTtFcEI2NUJwQjtFb0IzNUJRO0lBQ0UsbUJBSFU7RXBCZzZCcEI7QUFDRjtBR2h2QlE7RWlCL0tFO0lBQ0UsZ0JBSFU7RXBCcTZCcEI7RW9CbjZCUTtJQUNFLGlCQUhVO0VwQnc2QnBCO0VvQnQ2QlE7SUFDRSxrQkFIVTtFcEIyNkJwQjtFb0J6NkJRO0lBQ0UsbUJBSFU7RXBCODZCcEI7QUFDRjtBRzl2QlE7RWlCL0tFO0lBQ0UsZ0JBSFU7RXBCbTdCcEI7RW9CajdCUTtJQUNFLGlCQUhVO0VwQnM3QnBCO0VvQnA3QlE7SUFDRSxrQkFIVTtFcEJ5N0JwQjtFb0J2N0JRO0lBQ0UsbUJBSFU7RXBCNDdCcEI7QUFDRjtBRzV3QlE7RWlCL0tFO0lBQ0UsZ0JBSFU7RXBCaThCcEI7RW9CLzdCUTtJQUNFLGlCQUhVO0VwQm84QnBCO0VvQmw4QlE7SUFDRSxrQkFIVTtFcEJ1OEJwQjtFb0JyOEJRO0lBQ0UsbUJBSFU7RXBCMDhCcEI7QUFDRjtBcUJqOEJFO0VBQWtCO0FyQm84QnBCOztBcUJsOEJFO0VBQ0U7SUFJSTtJQVNGO0lBUkU7SUFDQTtJQVFGO0VyQjQ3Qko7RXFCejdCRTtJQUFrQjtFckI0N0JwQjtFcUIzN0JFO0lBQWtCO0VyQjg3QnBCO0VxQjU3QkU7SUFBdUI7RXJCKzdCekI7RXFCOTdCRTtJQUF1QjtFckJpOEJ6QjtFcUJoOEJFO0lBQXVCO0VyQm04QnpCO0VxQmw4QkU7SUFBb0I7RXJCcThCdEI7RXFCcDhCRTtJQUFvQjtFckJ1OEJ0QjtFcUJ0OEJFO0lBQW9CO0VyQnk4QnRCO0VxQnQ4QkU7O0lBQ1k7RXJCeThCZDtFcUJ2OEJJO0lBQWdCO0VyQjA4QnBCO0VxQnQ4QkU7OztJQUVxQjtFckJ5OEJ2QjtFcUJ0OEJFO0lBQW9CO0VyQnk4QnRCO0VxQnQ4QkU7O0lBRUU7SUFDQTtFckJ3OEJKO0VxQnA4QkU7SUFBUTtFckJ1OEJWO0VxQnI4QkU7O0lBQ007RXJCdzhCUjtFcUJ0OEJFO0lBQU07RXJCeThCUjtFcUJ2OEJFO0lBQVE7RXJCMDhCVjtFcUJ4OEJFOzs7SUFHRTtJQUNBO0VyQjA4Qko7RXFCdDhCRTs7SUFDSztFckJ5OEJQO0VxQnQ4QkU7SUFDRTtFckJ3OEJKO0FBQ0Y7QXNCemhDRTtFQ01BLGlCaEJvRGE7RWdCbERiO0VBREE7RUNhTTtFQUFBO0F4QjRnQ1I7QXNCN2hDSTtFQ0dGLGVERitCO0VDSS9CO0VBREE7RUNhTTtFQUFBO0F4Qm1oQ1I7QXNCaGlDSTtFQ0RGLGVERStCO0VDQS9CO0VBREE7RUNzQkk7RUFBQTtBeEJpaENOOztBc0JqaUNFO0VDU0E7RUFDQTtBdkI0aENGOztBc0JsaUNFO0VHcUdBO0VBMkNFLFdBVE07RUE3Qk47RUFEQTtBekJnOEJKO0FzQnRpQ0k7RUdrR0Y7QXpCdThCRjtBc0JyaUNJO0VHOEZGO0F6QjA4QkY7O0FzQmxpQ0k7RUdtSUEsV0FUTTtBekI0NkJWO0FzQmxpQ0k7RUcrSEEsV0FUTTtBekIrNkJWOztBc0JyaENNO0VBQ0U7QXRCd2hDUjs7QUdwNkJRO0VtQnJIRjtJQUNFO0V0QjZoQ047QUFDRjtBRzE2QlE7RW1CckhGO0lBQ0U7RXRCa2lDTjtBQUNGO0FHLzZCUTtFbUJySEY7SUFDRTtFdEJ1aUNOO0FBQ0Y7QUcvNkJRO0VtQjFIRjtJQUNFO0V0QjRpQ047QUFDRjtBR3A3QlE7RW1CMUhGO0lBQ0U7RXRCaWpDTjtBQUNGO0FHejdCUTtFbUIxSEY7SUFDRTtFdEJzakNOO0FBQ0Y7QXNCMWlDSTtFR3NERjtBekJ1L0JGOztBc0I5aENNO0VHa0ZGLG9CQVRNO0F6Qnk5QlY7O0FzQmxpQ007RUdrRkYscUJBVE07QXpCNjlCVjs7QXNCdGlDTTtFR2tGRixVQVRNO0F6QmkrQlY7O0FzQjFpQ007RUdrRkYscUJBVE07QXpCcStCVjs7QXNCOWlDTTtFR2tGRixxQkFUTTtBekJ5K0JWOztBc0JsakNNO0VHa0ZGLFVBVE07QXpCNitCVjs7QXNCdGpDTTtFR2tGRixxQkFUTTtBekJpL0JWOztBc0IxakNNO0VHa0ZGLHFCQVRNO0F6QnEvQlY7O0FzQjlqQ007RUdrRkYsVUFUTTtBekJ5L0JWOztBc0Jsa0NNO0VHa0ZGLHFCQVRNO0F6QjYvQlY7O0FzQnRrQ007RUdrRkYscUJBVE07QXpCaWdDVjs7QXNCMWtDTTtFR2tGRixXQVRNO0F6QnFnQ1Y7O0FHdC9CUTtFbUI1R0Y7SUcyREo7SUEyQ0UsV0FUTTtFekIyZ0NSO0VzQm5tQ0U7SUdzREY7RXpCZ2pDQTtFc0JobUNJO0lHMkZGLFdBVE07RXpCaWhDUjtFc0IxbENJO0lHa0ZGLG9CQVRNO0V6Qm9oQ1I7RXNCN2xDSTtJR2tGRixxQkFUTTtFekJ1aENSO0VzQmhtQ0k7SUdrRkYsVUFUTTtFekIwaENSO0VzQm5tQ0k7SUdrRkYscUJBVE07RXpCNmhDUjtFc0J0bUNJO0lHa0ZGLHFCQVRNO0V6QmdpQ1I7RXNCem1DSTtJR2tGRixVQVRNO0V6Qm1pQ1I7RXNCNW1DSTtJR2tGRixxQkFUTTtFekJzaUNSO0VzQi9tQ0k7SUdrRkYscUJBVE07RXpCeWlDUjtFc0JsbkNJO0lHa0ZGLFVBVE07RXpCNGlDUjtFc0JybkNJO0lHa0ZGLHFCQVRNO0V6QitpQ1I7RXNCeG5DSTtJR2tGRixxQkFUTTtFekJrakNSO0VzQjNuQ0k7SUdrRkYsV0FUTTtFekJxakNSO0FBQ0Y7QUd2aUNRO0VtQjVHRjtJRzJESjtJQTJDRSxXQVRNO0V6QjJqQ1I7RXNCbnBDRTtJR3NERjtFekJnbUNBO0VzQmhwQ0k7SUcyRkYsV0FUTTtFekJpa0NSO0VzQjFvQ0k7SUdrRkYsb0JBVE07RXpCb2tDUjtFc0I3b0NJO0lHa0ZGLHFCQVRNO0V6QnVrQ1I7RXNCaHBDSTtJR2tGRixVQVRNO0V6QjBrQ1I7RXNCbnBDSTtJR2tGRixxQkFUTTtFekI2a0NSO0VzQnRwQ0k7SUdrRkYscUJBVE07RXpCZ2xDUjtFc0J6cENJO0lHa0ZGLFVBVE07RXpCbWxDUjtFc0I1cENJO0lHa0ZGLHFCQVRNO0V6QnNsQ1I7RXNCL3BDSTtJR2tGRixxQkFUTTtFekJ5bENSO0VzQmxxQ0k7SUdrRkYsVUFUTTtFekI0bENSO0VzQnJxQ0k7SUdrRkYscUJBVE07RXpCK2xDUjtFc0J4cUNJO0lHa0ZGLHFCQVRNO0V6QmttQ1I7RXNCM3FDSTtJR2tGRixXQVRNO0V6QnFtQ1I7QUFDRjtBR3ZsQ1E7RW1CNUdGO0lHMkRKO0lBMkNFLFdBVE07RXpCMm1DUjtFc0Juc0NFO0lHc0RGO0V6QmdwQ0E7RXNCaHNDSTtJRzJGRixXQVRNO0V6QmluQ1I7RXNCMXJDSTtJR2tGRixvQkFUTTtFekJvbkNSO0VzQjdyQ0k7SUdrRkYscUJBVE07RXpCdW5DUjtFc0Joc0NJO0lHa0ZGLFVBVE07RXpCMG5DUjtFc0Juc0NJO0lHa0ZGLHFCQVRNO0V6QjZuQ1I7RXNCdHNDSTtJR2tGRixxQkFUTTtFekJnb0NSO0VzQnpzQ0k7SUdrRkYsVUFUTTtFekJtb0NSO0VzQjVzQ0k7SUdrRkYscUJBVE07RXpCc29DUjtFc0Ivc0NJO0lHa0ZGLHFCQVRNO0V6QnlvQ1I7RXNCbHRDSTtJR2tGRixVQVRNO0V6QjRvQ1I7RXNCcnRDSTtJR2tGRixxQkFUTTtFekIrb0NSO0VzQnh0Q0k7SUdrRkYscUJBVE07RXpCa3BDUjtFc0IzdENJO0lHa0ZGLFdBVE07RXpCcXBDUjtBQUNGO0FHbG9DUTtFbUJqSEY7SUcyREo7SUEyQ0UsV0FUTTtFekIycENSO0VzQm52Q0U7SUdzREY7RXpCZ3NDQTtFc0JodkNJO0lHMkZGLFdBVE07RXpCaXFDUjtFc0IxdUNJO0lHa0ZGLG9CQVRNO0V6Qm9xQ1I7RXNCN3VDSTtJR2tGRixxQkFUTTtFekJ1cUNSO0VzQmh2Q0k7SUdrRkYsVUFUTTtFekIwcUNSO0VzQm52Q0k7SUdrRkYscUJBVE07RXpCNnFDUjtFc0J0dkNJO0lHa0ZGLHFCQVRNO0V6QmdyQ1I7RXNCenZDSTtJR2tGRixVQVRNO0V6Qm1yQ1I7RXNCNXZDSTtJR2tGRixxQkFUTTtFekJzckNSO0VzQi92Q0k7SUdrRkYscUJBVE07RXpCeXJDUjtFc0Jsd0NJO0lHa0ZGLFVBVE07RXpCNHJDUjtFc0Jyd0NJO0lHa0ZGLHFCQVRNO0V6QityQ1I7RXNCeHdDSTtJR2tGRixxQkFUTTtFekJrc0NSO0VzQjN3Q0k7SUdrRkYsV0FUTTtFekJxc0NSO0FBQ0Y7QUdsckNRO0VtQmpIRjtJRzJESjtJQTJDRSxXQVRNO0V6QjJzQ1I7RXNCbnlDRTtJR3NERjtFekJndkNBO0VzQmh5Q0k7SUcyRkYsV0FUTTtFekJpdENSO0VzQjF4Q0k7SUdrRkYsb0JBVE07RXpCb3RDUjtFc0I3eENJO0lHa0ZGLHFCQVRNO0V6QnV0Q1I7RXNCaHlDSTtJR2tGRixVQVRNO0V6QjB0Q1I7RXNCbnlDSTtJR2tGRixxQkFUTTtFekI2dENSO0VzQnR5Q0k7SUdrRkYscUJBVE07RXpCZ3VDUjtFc0J6eUNJO0lHa0ZGLFVBVE07RXpCbXVDUjtFc0I1eUNJO0lHa0ZGLHFCQVRNO0V6QnN1Q1I7RXNCL3lDSTtJR2tGRixxQkFUTTtFekJ5dUNSO0VzQmx6Q0k7SUdrRkYsVUFUTTtFekI0dUNSO0VzQnJ6Q0k7SUdrRkYscUJBVE07RXpCK3VDUjtFc0J4ekNJO0lHa0ZGLHFCQVRNO0V6Qmt2Q1I7RXNCM3pDSTtJR2tGRixXQVRNO0V6QnF2Q1I7QUFDRjtBR2x1Q1E7RW1CakhGO0lHMkRKO0lBMkNFLFdBVE07RXpCMnZDUjtFc0JuMUNFO0lHc0RGO0V6Qmd5Q0E7RXNCaDFDSTtJRzJGRixXQVRNO0V6Qml3Q1I7RXNCMTBDSTtJR2tGRixvQkFUTTtFekJvd0NSO0VzQjcwQ0k7SUdrRkYscUJBVE07RXpCdXdDUjtFc0JoMUNJO0lHa0ZGLFVBVE07RXpCMHdDUjtFc0JuMUNJO0lHa0ZGLHFCQVRNO0V6QjZ3Q1I7RXNCdDFDSTtJR2tGRixxQkFUTTtFekJneENSO0VzQnoxQ0k7SUdrRkYsVUFUTTtFekJteENSO0VzQjUxQ0k7SUdrRkYscUJBVE07RXpCc3hDUjtFc0IvMUNJO0lHa0ZGLHFCQVRNO0V6Qnl4Q1I7RXNCbDJDSTtJR2tGRixVQVRNO0V6QjR4Q1I7RXNCcjJDSTtJR2tGRixxQkFUTTtFekIreENSO0VzQngyQ0k7SUdrRkYscUJBVE07RXpCa3lDUjtFc0IzMkNJO0lHa0ZGLFdBVE07RXpCcXlDUjtBQUNGO0FzQnYyQ0U7RUFDRTtBdEJ5MkNKOztBc0JyMkNFO0VBQ0U7QXRCdzJDSjs7QXNCMTBDRTtFRXZHTTtFQUFBO0F4QnM3Q1I7QXNCMzBDSTtFR2tDQSx3QkFUTTtFRDNISjtFQUFBO0F4Qms3Q047QXNCNTJDRTtFRzhERSxXQVRNO0F6QjB6Q1Y7QXNCMzJDRTtFRzBERSxXQVRNO0F6QjZ6Q1Y7QXNCdDJDSTtFR2tEQSxpQ0FUTTtBekJnMENWO0FzQnoyQ0k7RUdrREEsa0NBVE07QXpCbTBDVjtBc0I1MkNJO0VHa0RBLHVCQVRNO0F6QnMwQ1Y7QXNCLzJDSTtFR2tEQSxrQ0FUTTtBekJ5MENWO0FzQmwzQ0k7RUdrREEsa0NBVE07QXpCNDBDVjtBc0JyM0NJO0VHa0RBLHVCQVRNO0F6QiswQ1Y7QXNCeDNDSTtFR2tEQSxrQ0FUTTtBekJrMUNWO0FzQjMzQ0k7RUdrREEsa0NBVE07QXpCcTFDVjtBc0I5M0NJO0VHa0RBLHVCQVRNO0F6QncxQ1Y7QXNCajRDSTtFR2tEQSxrQ0FUTTtBekIyMUNWO0FzQnA0Q0k7RUdrREEsa0NBVE07QXpCODFDVjtBc0J2NENJO0VHa0RBLHdCQVRNO0F6QmkyQ1Y7QUdsMUNRO0VtQnBFTjtJRzhERSxXQVRNO0V6QnEyQ1I7RXNCdDVDQTtJRzBERSxXQVRNO0V6QncyQ1I7RXNCajVDRTtJR2tEQSxpQ0FUTTtFekIyMkNSO0VzQnA1Q0U7SUdrREEsa0NBVE07RXpCODJDUjtFc0J2NUNFO0lHa0RBLHVCQVRNO0V6QmkzQ1I7RXNCMTVDRTtJR2tEQSxrQ0FUTTtFekJvM0NSO0VzQjc1Q0U7SUdrREEsa0NBVE07RXpCdTNDUjtFc0JoNkNFO0lHa0RBLHVCQVRNO0V6QjAzQ1I7RXNCbjZDRTtJR2tEQSxrQ0FUTTtFekI2M0NSO0VzQnQ2Q0U7SUdrREEsa0NBVE07RXpCZzRDUjtFc0J6NkNFO0lHa0RBLHVCQVRNO0V6Qm00Q1I7RXNCNTZDRTtJR2tEQSxrQ0FUTTtFekJzNENSO0VzQi82Q0U7SUdrREEsa0NBVE07RXpCeTRDUjtFc0JsN0NFO0lHa0RBLHdCQVRNO0V6QjQ0Q1I7QUFDRjtBRzkzQ1E7RW1CcEVOO0lHOERFLFdBVE07RXpCaTVDUjtFc0JsOENBO0lHMERFLFdBVE07RXpCbzVDUjtFc0I3N0NFO0lHa0RBLGlDQVRNO0V6QnU1Q1I7RXNCaDhDRTtJR2tEQSxrQ0FUTTtFekIwNUNSO0VzQm44Q0U7SUdrREEsdUJBVE07RXpCNjVDUjtFc0J0OENFO0lHa0RBLGtDQVRNO0V6Qmc2Q1I7RXNCejhDRTtJR2tEQSxrQ0FUTTtFekJtNkNSO0VzQjU4Q0U7SUdrREEsdUJBVE07RXpCczZDUjtFc0IvOENFO0lHa0RBLGtDQVRNO0V6Qnk2Q1I7RXNCbDlDRTtJR2tEQSxrQ0FUTTtFekI0NkNSO0VzQnI5Q0U7SUdrREEsdUJBVE07RXpCKzZDUjtFc0J4OUNFO0lHa0RBLGtDQVRNO0V6Qms3Q1I7RXNCMzlDRTtJR2tEQSxrQ0FUTTtFekJxN0NSO0VzQjk5Q0U7SUdrREEsd0JBVE07RXpCdzdDUjtBQUNGO0FHMTZDUTtFbUJwRU47SUc4REUsV0FUTTtFekI2N0NSO0VzQjkrQ0E7SUcwREUsV0FUTTtFekJnOENSO0VzQnorQ0U7SUdrREEsaUNBVE07RXpCbThDUjtFc0I1K0NFO0lHa0RBLGtDQVRNO0V6QnM4Q1I7RXNCLytDRTtJR2tEQSx1QkFUTTtFekJ5OENSO0VzQmwvQ0U7SUdrREEsa0NBVE07RXpCNDhDUjtFc0JyL0NFO0lHa0RBLGtDQVRNO0V6Qis4Q1I7RXNCeC9DRTtJR2tEQSx1QkFUTTtFekJrOUNSO0VzQjMvQ0U7SUdrREEsa0NBVE07RXpCcTlDUjtFc0I5L0NFO0lHa0RBLGtDQVRNO0V6Qnc5Q1I7RXNCamdERTtJR2tEQSx1QkFUTTtFekIyOUNSO0VzQnBnREU7SUdrREEsa0NBVE07RXpCODlDUjtFc0J2Z0RFO0lHa0RBLGtDQVRNO0V6QmkrQ1I7RXNCMWdERTtJR2tEQSx3QkFUTTtFekJvK0NSO0FBQ0Y7QUdqOUNRO0VtQnpFTjtJRzhERSxXQVRNO0V6QnkrQ1I7RXNCMWhEQTtJRzBERSxXQVRNO0V6QjQrQ1I7RXNCcmhERTtJR2tEQSxpQ0FUTTtFekIrK0NSO0VzQnhoREU7SUdrREEsa0NBVE07RXpCay9DUjtFc0IzaERFO0lHa0RBLHVCQVRNO0V6QnEvQ1I7RXNCOWhERTtJR2tEQSxrQ0FUTTtFekJ3L0NSO0VzQmppREU7SUdrREEsa0NBVE07RXpCMi9DUjtFc0JwaURFO0lHa0RBLHVCQVRNO0V6QjgvQ1I7RXNCdmlERTtJR2tEQSxrQ0FUTTtFekJpZ0RSO0VzQjFpREU7SUdrREEsa0NBVE07RXpCb2dEUjtFc0I3aURFO0lHa0RBLHVCQVRNO0V6QnVnRFI7RXNCaGpERTtJR2tEQSxrQ0FUTTtFekIwZ0RSO0VzQm5qREU7SUdrREEsa0NBVE07RXpCNmdEUjtFc0J0akRFO0lHa0RBLHdCQVRNO0V6QmdoRFI7QUFDRjtBRzcvQ1E7RW1CekVOO0lHOERFLFdBVE07RXpCcWhEUjtFc0J0a0RBO0lHMERFLFdBVE07RXpCd2hEUjtFc0Jqa0RFO0lHa0RBLGlDQVRNO0V6QjJoRFI7RXNCcGtERTtJR2tEQSxrQ0FUTTtFekI4aERSO0VzQnZrREU7SUdrREEsdUJBVE07RXpCaWlEUjtFc0Ixa0RFO0lHa0RBLGtDQVRNO0V6Qm9pRFI7RXNCN2tERTtJR2tEQSxrQ0FUTTtFekJ1aURSO0VzQmhsREU7SUdrREEsdUJBVE07RXpCMGlEUjtFc0JubERFO0lHa0RBLGtDQVRNO0V6QjZpRFI7RXNCdGxERTtJR2tEQSxrQ0FUTTtFekJnakRSO0VzQnpsREU7SUdrREEsdUJBVE07RXpCbWpEUjtFc0I1bERFO0lHa0RBLGtDQVRNO0V6QnNqRFI7RXNCL2xERTtJR2tEQSxrQ0FUTTtFekJ5akRSO0VzQmxtREU7SUdrREEsd0JBVE07RXpCNGpEUjtBQUNGO0FHemlEUTtFbUJ6RU47SUc4REUsV0FUTTtFekJpa0RSO0VzQmxuREE7SUcwREUsV0FUTTtFekJva0RSO0VzQjdtREU7SUdrREEsaUNBVE07RXpCdWtEUjtFc0JobkRFO0lHa0RBLGtDQVRNO0V6QjBrRFI7RXNCbm5ERTtJR2tEQSx1QkFUTTtFekI2a0RSO0VzQnRuREU7SUdrREEsa0NBVE07RXpCZ2xEUjtFc0J6bkRFO0lHa0RBLGtDQVRNO0V6Qm1sRFI7RXNCNW5ERTtJR2tEQSx1QkFUTTtFekJzbERSO0VzQi9uREU7SUdrREEsa0NBVE07RXpCeWxEUjtFc0Jsb0RFO0lHa0RBLGtDQVRNO0V6QjRsRFI7RXNCcm9ERTtJR2tEQSx1QkFUTTtFekIrbERSO0VzQnhvREU7SUdrREEsa0NBVE07RXpCa21EUjtFc0Izb0RFO0lHa0RBLGtDQVRNO0V6QnFtRFI7RXNCOW9ERTtJR2tEQSx3QkFUTTtFekJ3bURSO0FBQ0Y7O0FzQi9sREk7RUU5SUk7RUFBQTtBeEJrdkRSO0FzQjlsREk7RUVwSkk7RUFBQTtBeEJzdkRSO0FzQjdsREk7RUV6Skk7RUFBQTtBeEIwdkRSOztBMEIxdkRFO0VENklFLFdBVE07QXpCMG5EVjs7QTBCOXZERTtFRDZJRSxVQVRNO0F6QjhuRFY7O0EwQmx3REU7RUQ2SUUscUJBVE07QXpCa29EVjs7QTBCdHdERTtFRDZJRSxVQVRNO0F6QnNvRFY7O0EwQjF3REU7RUQ2SUUsVUFUTTtBekIwb0RWOztBMEI5d0RFO0VENklFLHFCQVRNO0F6QjhvRFY7O0EwQmx4REU7RUQ2SUUscUJBVE07QXpCa3BEVjs7QTBCdHhERTtFRDZJRSxZQVRNO0F6QnNwRFY7O0FHdm9EUTtFdUJuSk47SUQ2SUUsV0FUTTtFekIycERSO0UwQi94REE7SUQ2SUUsVUFUTTtFekI4cERSO0UwQmx5REE7SUQ2SUUscUJBVE07RXpCaXFEUjtFMEJyeURBO0lENklFLFVBVE07RXpCb3FEUjtFMEJ4eURBO0lENklFLFVBVE07RXpCdXFEUjtFMEIzeURBO0lENklFLHFCQVRNO0V6QjBxRFI7RTBCOXlEQTtJRDZJRSxxQkFUTTtFekI2cURSO0UwQmp6REE7SUQ2SUUsWUFUTTtFekJnckRSO0FBQ0Y7QUdscURRO0V1Qm5KTjtJRDZJRSxXQVRNO0V6QnFyRFI7RTBCenpEQTtJRDZJRSxVQVRNO0V6QndyRFI7RTBCNXpEQTtJRDZJRSxxQkFUTTtFekIyckRSO0UwQi96REE7SUQ2SUUsVUFUTTtFekI4ckRSO0UwQmwwREE7SUQ2SUUsVUFUTTtFekJpc0RSO0UwQnIwREE7SUQ2SUUscUJBVE07RXpCb3NEUjtFMEJ4MERBO0lENklFLHFCQVRNO0V6QnVzRFI7RTBCMzBEQTtJRDZJRSxZQVRNO0V6QjBzRFI7QUFDRjtBRzVyRFE7RXVCbkpOO0lENklFLFdBVE07RXpCK3NEUjtFMEJuMURBO0lENklFLFVBVE07RXpCa3REUjtFMEJ0MURBO0lENklFLHFCQVRNO0V6QnF0RFI7RTBCejFEQTtJRDZJRSxVQVRNO0V6Qnd0RFI7RTBCNTFEQTtJRDZJRSxVQVRNO0V6QjJ0RFI7RTBCLzFEQTtJRDZJRSxxQkFUTTtFekI4dERSO0UwQmwyREE7SUQ2SUUscUJBVE07RXpCaXVEUjtFMEJyMkRBO0lENklFLFlBVE07RXpCb3VEUjtBQUNGO0FHanREUTtFdUJ4Sk47SUQ2SUUsV0FUTTtFekJ5dURSO0UwQjcyREE7SUQ2SUUsVUFUTTtFekI0dURSO0UwQmgzREE7SUQ2SUUscUJBVE07RXpCK3VEUjtFMEJuM0RBO0lENklFLFVBVE07RXpCa3ZEUjtFMEJ0M0RBO0lENklFLFVBVE07RXpCcXZEUjtFMEJ6M0RBO0lENklFLHFCQVRNO0V6Qnd2RFI7RTBCNTNEQTtJRDZJRSxxQkFUTTtFekIydkRSO0UwQi8zREE7SUQ2SUUsWUFUTTtFekI4dkRSO0FBQ0Y7QUczdURRO0V1QnhKTjtJRDZJRSxXQVRNO0V6Qm13RFI7RTBCdjREQTtJRDZJRSxVQVRNO0V6QnN3RFI7RTBCMTREQTtJRDZJRSxxQkFUTTtFekJ5d0RSO0UwQjc0REE7SUQ2SUUsVUFUTTtFekI0d0RSO0UwQmg1REE7SUQ2SUUsVUFUTTtFekIrd0RSO0UwQm41REE7SUQ2SUUscUJBVE07RXpCa3hEUjtFMEJ0NURBO0lENklFLHFCQVRNO0V6QnF4RFI7RTBCejVEQTtJRDZJRSxZQVRNO0V6Qnd4RFI7QUFDRjtBR3J3RFE7RXVCeEpOO0lENklFLFdBVE07RXpCNnhEUjtFMEJqNkRBO0lENklFLFVBVE07RXpCZ3lEUjtFMEJwNkRBO0lENklFLHFCQVRNO0V6Qm15RFI7RTBCdjZEQTtJRDZJRSxVQVRNO0V6QnN5RFI7RTBCMTZEQTtJRDZJRSxVQVRNO0V6Qnl5RFI7RTBCNzZEQTtJRDZJRSxxQkFUTTtFekI0eURSO0UwQmg3REE7SUQ2SUUscUJBVE07RXpCK3lEUjtFMEJuN0RBO0lENklFLFlBVE07RXpCa3pEUjtBQUNGO0EwQnY3REU7RUQ2SUUsd0JBVE07QXpCc3pEVjs7QTBCMTdERTtFRDZJRSx1QkFUTTtBekIwekRWOztBMEI5N0RFO0VENklFLGtDQVRNO0F6Qjh6RFY7O0EwQmw4REU7RUQ2SUUsdUJBVE07QXpCazBEVjs7QTBCdDhERTtFRDZJRSx1QkFUTTtBekJzMERWOztBMEIxOERFO0VENklFLGtDQVRNO0F6QjAwRFY7O0EwQjk4REU7RUQ2SUUsa0NBVE07QXpCODBEVjs7QTBCbDlERTtFRDZJRSx5QkFUTTtBekJrMURWOztBR24wRFE7RXVCbkpOO0lENklFLHdCQVRNO0V6QnUxRFI7RTBCMzlEQTtJRDZJRSx1QkFUTTtFekIwMURSO0UwQjk5REE7SUQ2SUUsa0NBVE07RXpCNjFEUjtFMEJqK0RBO0lENklFLHVCQVRNO0V6QmcyRFI7RTBCcCtEQTtJRDZJRSx1QkFUTTtFekJtMkRSO0UwQnYrREE7SUQ2SUUsa0NBVE07RXpCczJEUjtFMEIxK0RBO0lENklFLGtDQVRNO0V6QnkyRFI7RTBCNytEQTtJRDZJRSx5QkFUTTtFekI0MkRSO0FBQ0Y7QUc5MURRO0V1Qm5KTjtJRDZJRSx3QkFUTTtFekJpM0RSO0UwQnIvREE7SUQ2SUUsdUJBVE07RXpCbzNEUjtFMEJ4L0RBO0lENklFLGtDQVRNO0V6QnUzRFI7RTBCMy9EQTtJRDZJRSx1QkFUTTtFekIwM0RSO0UwQjkvREE7SUQ2SUUsdUJBVE07RXpCNjNEUjtFMEJqZ0VBO0lENklFLGtDQVRNO0V6Qmc0RFI7RTBCcGdFQTtJRDZJRSxrQ0FUTTtFekJtNERSO0UwQnZnRUE7SUQ2SUUseUJBVE07RXpCczREUjtBQUNGO0FHeDNEUTtFdUJuSk47SUQ2SUUsd0JBVE07RXpCMjREUjtFMEIvZ0VBO0lENklFLHVCQVRNO0V6Qjg0RFI7RTBCbGhFQTtJRDZJRSxrQ0FUTTtFekJpNURSO0UwQnJoRUE7SUQ2SUUsdUJBVE07RXpCbzVEUjtFMEJ4aEVBO0lENklFLHVCQVRNO0V6QnU1RFI7RTBCM2hFQTtJRDZJRSxrQ0FUTTtFekIwNURSO0UwQjloRUE7SUQ2SUUsa0NBVE07RXpCNjVEUjtFMEJqaUVBO0lENklFLHlCQVRNO0V6Qmc2RFI7QUFDRjtBRzc0RFE7RXVCeEpOO0lENklFLHdCQVRNO0V6QnE2RFI7RTBCemlFQTtJRDZJRSx1QkFUTTtFekJ3NkRSO0UwQjVpRUE7SUQ2SUUsa0NBVE07RXpCMjZEUjtFMEIvaUVBO0lENklFLHVCQVRNO0V6Qjg2RFI7RTBCbGpFQTtJRDZJRSx1QkFUTTtFekJpN0RSO0UwQnJqRUE7SUQ2SUUsa0NBVE07RXpCbzdEUjtFMEJ4akVBO0lENklFLGtDQVRNO0V6QnU3RFI7RTBCM2pFQTtJRDZJRSx5QkFUTTtFekIwN0RSO0FBQ0Y7QUd2NkRRO0V1QnhKTjtJRDZJRSx3QkFUTTtFekIrN0RSO0UwQm5rRUE7SUQ2SUUsdUJBVE07RXpCazhEUjtFMEJ0a0VBO0lENklFLGtDQVRNO0V6QnE4RFI7RTBCemtFQTtJRDZJRSx1QkFUTTtFekJ3OERSO0UwQjVrRUE7SUQ2SUUsdUJBVE07RXpCMjhEUjtFMEIva0VBO0lENklFLGtDQVRNO0V6Qjg4RFI7RTBCbGxFQTtJRDZJRSxrQ0FUTTtFekJpOURSO0UwQnJsRUE7SUQ2SUUseUJBVE07RXpCbzlEUjtBQUNGO0FHajhEUTtFdUJ4Sk47SUQ2SUUsd0JBVE07RXpCeTlEUjtFMEI3bEVBO0lENklFLHVCQVRNO0V6QjQ5RFI7RTBCaG1FQTtJRDZJRSxrQ0FUTTtFekIrOURSO0UwQm5tRUE7SUQ2SUUsdUJBVE07RXpCaytEUjtFMEJ0bUVBO0lENklFLHVCQVRNO0V6QnErRFI7RTBCem1FQTtJRDZJRSxrQ0FUTTtFekJ3K0RSO0UwQjVtRUE7SUQ2SUUsa0NBVE07RXpCMitEUjtFMEIvbUVBO0lENklFLHlCQVRNO0V6QjgrRFI7QUFDRjtBc0I1NkRNO0VLOU1FO0VBQUE7QTNCOG5FUjtBMkIzbkVNO0VBRUk7RUFBQTtBM0I2bkVWO0EyQnZtRVk7RUZ5SFIsb0JBVE07QXpCMC9EVjtBMkIxbUVZO0VGeUhSLHFCQVRNO0F6QjYvRFY7QTJCN21FWTtFRnlIUixVQVRNO0F6QmdnRVY7QTJCaG5FWTtFRnlIUixxQkFUTTtBekJtZ0VWO0EyQm5uRVk7RUZ5SFIscUJBVE07QXpCc2dFVjtBMkJ0bkVZO0VGeUhSLFVBVE07QXpCeWdFVjtBMkJ6bkVZO0VGeUhSLHFCQVRNO0F6QjRnRVY7QTJCNW5FWTtFRnlIUixxQkFUTTtBekIrZ0VWO0EyQi9uRVk7RUZ5SFIsVUFUTTtBekJraEVWO0EyQmxvRVk7RUZ5SFIscUJBVE07QXpCcWhFVjtBMkJyb0VZO0VGeUhSLHFCQVRNO0F6QndoRVY7QTJCeG9FWTtFRnlIUixXQVRNO0F6QjJoRVY7QUc1Z0VRO0V3Qi9ISTtJRnlIUixvQkFUTTtFekIraEVSO0UyQi9vRVU7SUZ5SFIscUJBVE07RXpCa2lFUjtFMkJscEVVO0lGeUhSLFVBVE07RXpCcWlFUjtFMkJycEVVO0lGeUhSLHFCQVRNO0V6QndpRVI7RTJCeHBFVTtJRnlIUixxQkFUTTtFekIyaUVSO0UyQjNwRVU7SUZ5SFIsVUFUTTtFekI4aUVSO0UyQjlwRVU7SUZ5SFIscUJBVE07RXpCaWpFUjtFMkJqcUVVO0lGeUhSLHFCQVRNO0V6Qm9qRVI7RTJCcHFFVTtJRnlIUixVQVRNO0V6QnVqRVI7RTJCdnFFVTtJRnlIUixxQkFUTTtFekIwakVSO0UyQjFxRVU7SUZ5SFIscUJBVE07RXpCNmpFUjtFMkI3cUVVO0lGeUhSLFdBVE07RXpCZ2tFUjtBQUNGO0FHbGpFUTtFd0IvSEk7SUZ5SFIsb0JBVE07RXpCcWtFUjtFMkJyckVVO0lGeUhSLHFCQVRNO0V6QndrRVI7RTJCeHJFVTtJRnlIUixVQVRNO0V6QjJrRVI7RTJCM3JFVTtJRnlIUixxQkFUTTtFekI4a0VSO0UyQjlyRVU7SUZ5SFIscUJBVE07RXpCaWxFUjtFMkJqc0VVO0lGeUhSLFVBVE07RXpCb2xFUjtFMkJwc0VVO0lGeUhSLHFCQVRNO0V6QnVsRVI7RTJCdnNFVTtJRnlIUixxQkFUTTtFekIwbEVSO0UyQjFzRVU7SUZ5SFIsVUFUTTtFekI2bEVSO0UyQjdzRVU7SUZ5SFIscUJBVE07RXpCZ21FUjtFMkJodEVVO0lGeUhSLHFCQVRNO0V6Qm1tRVI7RTJCbnRFVTtJRnlIUixXQVRNO0V6QnNtRVI7QUFDRjtBR3hsRVE7RXdCL0hJO0lGeUhSLG9CQVRNO0V6QjJtRVI7RTJCM3RFVTtJRnlIUixxQkFUTTtFekI4bUVSO0UyQjl0RVU7SUZ5SFIsVUFUTTtFekJpbkVSO0UyQmp1RVU7SUZ5SFIscUJBVE07RXpCb25FUjtFMkJwdUVVO0lGeUhSLHFCQVRNO0V6QnVuRVI7RTJCdnVFVTtJRnlIUixVQVRNO0V6QjBuRVI7RTJCMXVFVTtJRnlIUixxQkFUTTtFekI2bkVSO0UyQjd1RVU7SUZ5SFIscUJBVE07RXpCZ29FUjtFMkJodkVVO0lGeUhSLFVBVE07RXpCbW9FUjtFMkJudkVVO0lGeUhSLHFCQVRNO0V6QnNvRVI7RTJCdHZFVTtJRnlIUixxQkFUTTtFekJ5b0VSO0UyQnp2RVU7SUZ5SFIsV0FUTTtFekI0b0VSO0FBQ0Y7QUd6bkVRO0V3QnBJSTtJRnlIUixvQkFUTTtFekJpcEVSO0UyQmp3RVU7SUZ5SFIscUJBVE07RXpCb3BFUjtFMkJwd0VVO0lGeUhSLFVBVE07RXpCdXBFUjtFMkJ2d0VVO0lGeUhSLHFCQVRNO0V6QjBwRVI7RTJCMXdFVTtJRnlIUixxQkFUTTtFekI2cEVSO0UyQjd3RVU7SUZ5SFIsVUFUTTtFekJncUVSO0UyQmh4RVU7SUZ5SFIscUJBVE07RXpCbXFFUjtFMkJueEVVO0lGeUhSLHFCQVRNO0V6QnNxRVI7RTJCdHhFVTtJRnlIUixVQVRNO0V6QnlxRVI7RTJCenhFVTtJRnlIUixxQkFUTTtFekI0cUVSO0UyQjV4RVU7SUZ5SFIscUJBVE07RXpCK3FFUjtFMkIveEVVO0lGeUhSLFdBVE07RXpCa3JFUjtBQUNGO0FHL3BFUTtFd0JwSUk7SUZ5SFIsb0JBVE07RXpCdXJFUjtFMkJ2eUVVO0lGeUhSLHFCQVRNO0V6QjByRVI7RTJCMXlFVTtJRnlIUixVQVRNO0V6QjZyRVI7RTJCN3lFVTtJRnlIUixxQkFUTTtFekJnc0VSO0UyQmh6RVU7SUZ5SFIscUJBVE07RXpCbXNFUjtFMkJuekVVO0lGeUhSLFVBVE07RXpCc3NFUjtFMkJ0ekVVO0lGeUhSLHFCQVRNO0V6QnlzRVI7RTJCenpFVTtJRnlIUixxQkFUTTtFekI0c0VSO0UyQjV6RVU7SUZ5SFIsVUFUTTtFekIrc0VSO0UyQi96RVU7SUZ5SFIscUJBVE07RXpCa3RFUjtFMkJsMEVVO0lGeUhSLHFCQVRNO0V6QnF0RVI7RTJCcjBFVTtJRnlIUixXQVRNO0V6Qnd0RVI7QUFDRjtBR3JzRVE7RXdCcElJO0lGeUhSLG9CQVRNO0V6QjZ0RVI7RTJCNzBFVTtJRnlIUixxQkFUTTtFekJndUVSO0UyQmgxRVU7SUZ5SFIsVUFUTTtFekJtdUVSO0UyQm4xRVU7SUZ5SFIscUJBVE07RXpCc3VFUjtFMkJ0MUVVO0lGeUhSLHFCQVRNO0V6Qnl1RVI7RTJCejFFVTtJRnlIUixVQVRNO0V6QjR1RVI7RTJCNTFFVTtJRnlIUixxQkFUTTtFekIrdUVSO0UyQi8xRVU7SUZ5SFIscUJBVE07RXpCa3ZFUjtFMkJsMkVVO0lGeUhSLFVBVE07RXpCcXZFUjtFMkJyMkVVO0lGeUhSLHFCQVRNO0V6Qnd2RVI7RTJCeDJFVTtJRnlIUixxQkFUTTtFekIydkVSO0UyQjMyRVU7SUZ5SFIsV0FUTTtFekI4dkVSO0FBQ0Y7O0FzQnRyRU07RUs3S0U7RUFBQTtBM0J3MkVSO0EyQnIyRU07RUFFSTtFQUFBO0EzQnUyRVY7O0FHenZFUTtFbUJvREY7SUs5TUU7SUFBQTtFM0J5NUVOO0UyQnQ1RUk7SUFFSTtJQUFBO0UzQnc1RVI7QUFDRjtBR3B3RVE7RXdCeElJO0lGa0lSLG9CQVRNO0V6QnV4RVI7RTJCaDVFVTtJRmtJUixxQkFUTTtFekIweEVSO0UyQm41RVU7SUZrSVIsVUFUTTtFekI2eEVSO0UyQnQ1RVU7SUZrSVIscUJBVE07RXpCZ3lFUjtFMkJ6NUVVO0lGa0lSLHFCQVRNO0V6Qm15RVI7RTJCNTVFVTtJRmtJUixVQVRNO0V6QnN5RVI7RTJCLzVFVTtJRmtJUixxQkFUTTtFekJ5eUVSO0UyQmw2RVU7SUZrSVIscUJBVE07RXpCNHlFUjtFMkJyNkVVO0lGa0lSLFVBVE07RXpCK3lFUjtFMkJ4NkVVO0lGa0lSLHFCQVRNO0V6Qmt6RVI7RTJCMzZFVTtJRmtJUixxQkFUTTtFekJxekVSO0UyQjk2RVU7SUZrSVIsV0FUTTtFekJ3ekVSO0FBQ0Y7QUcxeUVRO0V3Qi9ISTtJRnlIUixvQkFUTTtFekI2ekVSO0UyQjc2RVU7SUZ5SFIscUJBVE07RXpCZzBFUjtFMkJoN0VVO0lGeUhSLFVBVE07RXpCbTBFUjtFMkJuN0VVO0lGeUhSLHFCQVRNO0V6QnMwRVI7RTJCdDdFVTtJRnlIUixxQkFUTTtFekJ5MEVSO0UyQno3RVU7SUZ5SFIsVUFUTTtFekI0MEVSO0UyQjU3RVU7SUZ5SFIscUJBVE07RXpCKzBFUjtFMkIvN0VVO0lGeUhSLHFCQVRNO0V6QmsxRVI7RTJCbDhFVTtJRnlIUixVQVRNO0V6QnExRVI7RTJCcjhFVTtJRnlIUixxQkFUTTtFekJ3MUVSO0UyQng4RVU7SUZ5SFIscUJBVE07RXpCMjFFUjtFMkIzOEVVO0lGeUhSLFdBVE07RXpCODFFUjtBQUNGO0FHaDFFUTtFd0IvSEk7SUZ5SFIsb0JBVE07RXpCbTJFUjtFMkJuOUVVO0lGeUhSLHFCQVRNO0V6QnMyRVI7RTJCdDlFVTtJRnlIUixVQVRNO0V6QnkyRVI7RTJCejlFVTtJRnlIUixxQkFUTTtFekI0MkVSO0UyQjU5RVU7SUZ5SFIscUJBVE07RXpCKzJFUjtFMkIvOUVVO0lGeUhSLFVBVE07RXpCazNFUjtFMkJsK0VVO0lGeUhSLHFCQVRNO0V6QnEzRVI7RTJCcitFVTtJRnlIUixxQkFUTTtFekJ3M0VSO0UyQngrRVU7SUZ5SFIsVUFUTTtFekIyM0VSO0UyQjMrRVU7SUZ5SFIscUJBVE07RXpCODNFUjtFMkI5K0VVO0lGeUhSLHFCQVRNO0V6Qmk0RVI7RTJCai9FVTtJRnlIUixXQVRNO0V6Qm80RVI7QUFDRjtBR3QzRVE7RXdCL0hJO0lGeUhSLG9CQVRNO0V6Qnk0RVI7RTJCei9FVTtJRnlIUixxQkFUTTtFekI0NEVSO0UyQjUvRVU7SUZ5SFIsVUFUTTtFekIrNEVSO0UyQi8vRVU7SUZ5SFIscUJBVE07RXpCazVFUjtFMkJsZ0ZVO0lGeUhSLHFCQVRNO0V6QnE1RVI7RTJCcmdGVTtJRnlIUixVQVRNO0V6Qnc1RVI7RTJCeGdGVTtJRnlIUixxQkFUTTtFekIyNUVSO0UyQjNnRlU7SUZ5SFIscUJBVE07RXpCODVFUjtFMkI5Z0ZVO0lGeUhSLFVBVE07RXpCaTZFUjtFMkJqaEZVO0lGeUhSLHFCQVRNO0V6Qm82RVI7RTJCcGhGVTtJRnlIUixxQkFUTTtFekJ1NkVSO0UyQnZoRlU7SUZ5SFIsV0FUTTtFekIwNkVSO0FBQ0Y7QUd2NUVRO0V3QnBJSTtJRnlIUixvQkFUTTtFekIrNkVSO0UyQi9oRlU7SUZ5SFIscUJBVE07RXpCazdFUjtFMkJsaUZVO0lGeUhSLFVBVE07RXpCcTdFUjtFMkJyaUZVO0lGeUhSLHFCQVRNO0V6Qnc3RVI7RTJCeGlGVTtJRnlIUixxQkFUTTtFekIyN0VSO0UyQjNpRlU7SUZ5SFIsVUFUTTtFekI4N0VSO0UyQjlpRlU7SUZ5SFIscUJBVE07RXpCaThFUjtFMkJqakZVO0lGeUhSLHFCQVRNO0V6Qm84RVI7RTJCcGpGVTtJRnlIUixVQVRNO0V6QnU4RVI7RTJCdmpGVTtJRnlIUixxQkFUTTtFekIwOEVSO0UyQjFqRlU7SUZ5SFIscUJBVE07RXpCNjhFUjtFMkI3akZVO0lGeUhSLFdBVE07RXpCZzlFUjtBQUNGO0FHNzdFUTtFd0JwSUk7SUZ5SFIsb0JBVE07RXpCcTlFUjtFMkJya0ZVO0lGeUhSLHFCQVRNO0V6Qnc5RVI7RTJCeGtGVTtJRnlIUixVQVRNO0V6QjI5RVI7RTJCM2tGVTtJRnlIUixxQkFUTTtFekI4OUVSO0UyQjlrRlU7SUZ5SFIscUJBVE07RXpCaStFUjtFMkJqbEZVO0lGeUhSLFVBVE07RXpCbytFUjtFMkJwbEZVO0lGeUhSLHFCQVRNO0V6QnUrRVI7RTJCdmxGVTtJRnlIUixxQkFUTTtFekIwK0VSO0UyQjFsRlU7SUZ5SFIsVUFUTTtFekI2K0VSO0UyQjdsRlU7SUZ5SFIscUJBVE07RXpCZy9FUjtFMkJobUZVO0lGeUhSLHFCQVRNO0V6Qm0vRVI7RTJCbm1GVTtJRnlIUixXQVRNO0V6QnMvRVI7QUFDRjtBR24rRVE7RXdCcElJO0lGeUhSLG9CQVRNO0V6QjIvRVI7RTJCM21GVTtJRnlIUixxQkFUTTtFekI4L0VSO0UyQjltRlU7SUZ5SFIsVUFUTTtFekJpZ0ZSO0UyQmpuRlU7SUZ5SFIscUJBVE07RXpCb2dGUjtFMkJwbkZVO0lGeUhSLHFCQVRNO0V6QnVnRlI7RTJCdm5GVTtJRnlIUixVQVRNO0V6QjBnRlI7RTJCMW5GVTtJRnlIUixxQkFUTTtFekI2Z0ZSO0UyQjduRlU7SUZ5SFIscUJBVE07RXpCZ2hGUjtFMkJob0ZVO0lGeUhSLFVBVE07RXpCbWhGUjtFMkJub0ZVO0lGeUhSLHFCQVRNO0V6QnNoRlI7RTJCdG9GVTtJRnlIUixxQkFUTTtFekJ5aEZSO0UyQnpvRlU7SUZ5SFIsV0FUTTtFekI0aEZSO0FBQ0Y7O0FHOWdGUTtFbUIwREY7SUs3S0U7SUFBQTtFM0J1b0ZOO0UyQnBvRkk7SUFFSTtJQUFBO0UzQnNvRlI7QUFDRjs7QUd6aEZRO0VtQm9ERjtJSzlNRTtJQUFBO0UzQnlyRk47RTJCdHJGSTtJQUVJO0lBQUE7RTNCd3JGUjtBQUNGO0FHcGlGUTtFd0J4SUk7SUZrSVIsb0JBVE07RXpCdWpGUjtFMkJockZVO0lGa0lSLHFCQVRNO0V6QjBqRlI7RTJCbnJGVTtJRmtJUixVQVRNO0V6QjZqRlI7RTJCdHJGVTtJRmtJUixxQkFUTTtFekJna0ZSO0UyQnpyRlU7SUZrSVIscUJBVE07RXpCbWtGUjtFMkI1ckZVO0lGa0lSLFVBVE07RXpCc2tGUjtFMkIvckZVO0lGa0lSLHFCQVRNO0V6QnlrRlI7RTJCbHNGVTtJRmtJUixxQkFUTTtFekI0a0ZSO0UyQnJzRlU7SUZrSVIsVUFUTTtFekIra0ZSO0UyQnhzRlU7SUZrSVIscUJBVE07RXpCa2xGUjtFMkIzc0ZVO0lGa0lSLHFCQVRNO0V6QnFsRlI7RTJCOXNGVTtJRmtJUixXQVRNO0V6QndsRlI7QUFDRjtBRzFrRlE7RXdCeElJO0lGa0lSLG9CQVRNO0V6QjZsRlI7RTJCdHRGVTtJRmtJUixxQkFUTTtFekJnbUZSO0UyQnp0RlU7SUZrSVIsVUFUTTtFekJtbUZSO0UyQjV0RlU7SUZrSVIscUJBVE07RXpCc21GUjtFMkIvdEZVO0lGa0lSLHFCQVRNO0V6QnltRlI7RTJCbHVGVTtJRmtJUixVQVRNO0V6QjRtRlI7RTJCcnVGVTtJRmtJUixxQkFUTTtFekIrbUZSO0UyQnh1RlU7SUZrSVIscUJBVE07RXpCa25GUjtFMkIzdUZVO0lGa0lSLFVBVE07RXpCcW5GUjtFMkI5dUZVO0lGa0lSLHFCQVRNO0V6QnduRlI7RTJCanZGVTtJRmtJUixxQkFUTTtFekIybkZSO0UyQnB2RlU7SUZrSVIsV0FUTTtFekI4bkZSO0FBQ0Y7QUdobkZRO0V3Qi9ISTtJRnlIUixvQkFUTTtFekJtb0ZSO0UyQm52RlU7SUZ5SFIscUJBVE07RXpCc29GUjtFMkJ0dkZVO0lGeUhSLFVBVE07RXpCeW9GUjtFMkJ6dkZVO0lGeUhSLHFCQVRNO0V6QjRvRlI7RTJCNXZGVTtJRnlIUixxQkFUTTtFekIrb0ZSO0UyQi92RlU7SUZ5SFIsVUFUTTtFekJrcEZSO0UyQmx3RlU7SUZ5SFIscUJBVE07RXpCcXBGUjtFMkJyd0ZVO0lGeUhSLHFCQVRNO0V6QndwRlI7RTJCeHdGVTtJRnlIUixVQVRNO0V6QjJwRlI7RTJCM3dGVTtJRnlIUixxQkFUTTtFekI4cEZSO0UyQjl3RlU7SUZ5SFIscUJBVE07RXpCaXFGUjtFMkJqeEZVO0lGeUhSLFdBVE07RXpCb3FGUjtBQUNGO0FHdHBGUTtFd0IvSEk7SUZ5SFIsb0JBVE07RXpCeXFGUjtFMkJ6eEZVO0lGeUhSLHFCQVRNO0V6QjRxRlI7RTJCNXhGVTtJRnlIUixVQVRNO0V6QitxRlI7RTJCL3hGVTtJRnlIUixxQkFUTTtFekJrckZSO0UyQmx5RlU7SUZ5SFIscUJBVE07RXpCcXJGUjtFMkJyeUZVO0lGeUhSLFVBVE07RXpCd3JGUjtFMkJ4eUZVO0lGeUhSLHFCQVRNO0V6QjJyRlI7RTJCM3lGVTtJRnlIUixxQkFUTTtFekI4ckZSO0UyQjl5RlU7SUZ5SFIsVUFUTTtFekJpc0ZSO0UyQmp6RlU7SUZ5SFIscUJBVE07RXpCb3NGUjtFMkJwekZVO0lGeUhSLHFCQVRNO0V6QnVzRlI7RTJCdnpGVTtJRnlIUixXQVRNO0V6QjBzRlI7QUFDRjtBR3ZyRlE7RXdCcElJO0lGeUhSLG9CQVRNO0V6QitzRlI7RTJCL3pGVTtJRnlIUixxQkFUTTtFekJrdEZSO0UyQmwwRlU7SUZ5SFIsVUFUTTtFekJxdEZSO0UyQnIwRlU7SUZ5SFIscUJBVE07RXpCd3RGUjtFMkJ4MEZVO0lGeUhSLHFCQVRNO0V6QjJ0RlI7RTJCMzBGVTtJRnlIUixVQVRNO0V6Qjh0RlI7RTJCOTBGVTtJRnlIUixxQkFUTTtFekJpdUZSO0UyQmoxRlU7SUZ5SFIscUJBVE07RXpCb3VGUjtFMkJwMUZVO0lGeUhSLFVBVE07RXpCdXVGUjtFMkJ2MUZVO0lGeUhSLHFCQVRNO0V6QjB1RlI7RTJCMTFGVTtJRnlIUixxQkFUTTtFekI2dUZSO0UyQjcxRlU7SUZ5SFIsV0FUTTtFekJndkZSO0FBQ0Y7QUc3dEZRO0V3QnBJSTtJRnlIUixvQkFUTTtFekJxdkZSO0UyQnIyRlU7SUZ5SFIscUJBVE07RXpCd3ZGUjtFMkJ4MkZVO0lGeUhSLFVBVE07RXpCMnZGUjtFMkIzMkZVO0lGeUhSLHFCQVRNO0V6Qjh2RlI7RTJCOTJGVTtJRnlIUixxQkFUTTtFekJpd0ZSO0UyQmozRlU7SUZ5SFIsVUFUTTtFekJvd0ZSO0UyQnAzRlU7SUZ5SFIscUJBVE07RXpCdXdGUjtFMkJ2M0ZVO0lGeUhSLHFCQVRNO0V6QjB3RlI7RTJCMTNGVTtJRnlIUixVQVRNO0V6QjZ3RlI7RTJCNzNGVTtJRnlIUixxQkFUTTtFekJneEZSO0UyQmg0RlU7SUZ5SFIscUJBVE07RXpCbXhGUjtFMkJuNEZVO0lGeUhSLFdBVE07RXpCc3hGUjtBQUNGO0FHbndGUTtFd0JwSUk7SUZ5SFIsb0JBVE07RXpCMnhGUjtFMkIzNEZVO0lGeUhSLHFCQVRNO0V6Qjh4RlI7RTJCOTRGVTtJRnlIUixVQVRNO0V6Qml5RlI7RTJCajVGVTtJRnlIUixxQkFUTTtFekJveUZSO0UyQnA1RlU7SUZ5SFIscUJBVE07RXpCdXlGUjtFMkJ2NUZVO0lGeUhSLFVBVE07RXpCMHlGUjtFMkIxNUZVO0lGeUhSLHFCQVRNO0V6QjZ5RlI7RTJCNzVGVTtJRnlIUixxQkFUTTtFekJnekZSO0UyQmg2RlU7SUZ5SFIsVUFUTTtFekJtekZSO0UyQm42RlU7SUZ5SFIscUJBVE07RXpCc3pGUjtFMkJ0NkZVO0lGeUhSLHFCQVRNO0V6Qnl6RlI7RTJCejZGVTtJRnlIUixXQVRNO0V6QjR6RlI7QUFDRjs7QUc5eUZRO0VtQjBERjtJSzdLRTtJQUFBO0UzQnU2Rk47RTJCcDZGSTtJQUVJO0lBQUE7RTNCczZGUjtBQUNGOztBR3p6RlE7RW1Cb0RGO0lLOU1FO0lBQUE7RTNCeTlGTjtFMkJ0OUZJO0lBRUk7SUFBQTtFM0J3OUZSO0FBQ0Y7QUdwMEZRO0V3QnhJSTtJRmtJUixvQkFUTTtFekJ1MUZSO0UyQmg5RlU7SUZrSVIscUJBVE07RXpCMDFGUjtFMkJuOUZVO0lGa0lSLFVBVE07RXpCNjFGUjtFMkJ0OUZVO0lGa0lSLHFCQVRNO0V6QmcyRlI7RTJCejlGVTtJRmtJUixxQkFUTTtFekJtMkZSO0UyQjU5RlU7SUZrSVIsVUFUTTtFekJzMkZSO0UyQi85RlU7SUZrSVIscUJBVE07RXpCeTJGUjtFMkJsK0ZVO0lGa0lSLHFCQVRNO0V6QjQyRlI7RTJCcitGVTtJRmtJUixVQVRNO0V6QisyRlI7RTJCeCtGVTtJRmtJUixxQkFUTTtFekJrM0ZSO0UyQjMrRlU7SUZrSVIscUJBVE07RXpCcTNGUjtFMkI5K0ZVO0lGa0lSLFdBVE07RXpCdzNGUjtBQUNGO0FHMTJGUTtFd0J4SUk7SUZrSVIsb0JBVE07RXpCNjNGUjtFMkJ0L0ZVO0lGa0lSLHFCQVRNO0V6Qmc0RlI7RTJCei9GVTtJRmtJUixVQVRNO0V6Qm00RlI7RTJCNS9GVTtJRmtJUixxQkFUTTtFekJzNEZSO0UyQi8vRlU7SUZrSVIscUJBVE07RXpCeTRGUjtFMkJsZ0dVO0lGa0lSLFVBVE07RXpCNDRGUjtFMkJyZ0dVO0lGa0lSLHFCQVRNO0V6Qis0RlI7RTJCeGdHVTtJRmtJUixxQkFUTTtFekJrNUZSO0UyQjNnR1U7SUZrSVIsVUFUTTtFekJxNUZSO0UyQjlnR1U7SUZrSVIscUJBVE07RXpCdzVGUjtFMkJqaEdVO0lGa0lSLHFCQVRNO0V6QjI1RlI7RTJCcGhHVTtJRmtJUixXQVRNO0V6Qjg1RlI7QUFDRjtBR2g1RlE7RXdCeElJO0lGa0lSLG9CQVRNO0V6Qm02RlI7RTJCNWhHVTtJRmtJUixxQkFUTTtFekJzNkZSO0UyQi9oR1U7SUZrSVIsVUFUTTtFekJ5NkZSO0UyQmxpR1U7SUZrSVIscUJBVE07RXpCNDZGUjtFMkJyaUdVO0lGa0lSLHFCQVRNO0V6Qis2RlI7RTJCeGlHVTtJRmtJUixVQVRNO0V6Qms3RlI7RTJCM2lHVTtJRmtJUixxQkFUTTtFekJxN0ZSO0UyQjlpR1U7SUZrSVIscUJBVE07RXpCdzdGUjtFMkJqakdVO0lGa0lSLFVBVE07RXpCMjdGUjtFMkJwakdVO0lGa0lSLHFCQVRNO0V6Qjg3RlI7RTJCdmpHVTtJRmtJUixxQkFUTTtFekJpOEZSO0UyQjFqR1U7SUZrSVIsV0FUTTtFekJvOEZSO0FBQ0Y7QUd0N0ZRO0V3Qi9ISTtJRnlIUixvQkFUTTtFekJ5OEZSO0UyQnpqR1U7SUZ5SFIscUJBVE07RXpCNDhGUjtFMkI1akdVO0lGeUhSLFVBVE07RXpCKzhGUjtFMkIvakdVO0lGeUhSLHFCQVRNO0V6Qms5RlI7RTJCbGtHVTtJRnlIUixxQkFUTTtFekJxOUZSO0UyQnJrR1U7SUZ5SFIsVUFUTTtFekJ3OUZSO0UyQnhrR1U7SUZ5SFIscUJBVE07RXpCMjlGUjtFMkIza0dVO0lGeUhSLHFCQVRNO0V6Qjg5RlI7RTJCOWtHVTtJRnlIUixVQVRNO0V6QmkrRlI7RTJCamxHVTtJRnlIUixxQkFUTTtFekJvK0ZSO0UyQnBsR1U7SUZ5SFIscUJBVE07RXpCdStGUjtFMkJ2bEdVO0lGeUhSLFdBVE07RXpCMCtGUjtBQUNGO0FHdjlGUTtFd0JwSUk7SUZ5SFIsb0JBVE07RXpCKytGUjtFMkIvbEdVO0lGeUhSLHFCQVRNO0V6QmsvRlI7RTJCbG1HVTtJRnlIUixVQVRNO0V6QnEvRlI7RTJCcm1HVTtJRnlIUixxQkFUTTtFekJ3L0ZSO0UyQnhtR1U7SUZ5SFIscUJBVE07RXpCMi9GUjtFMkIzbUdVO0lGeUhSLFVBVE07RXpCOC9GUjtFMkI5bUdVO0lGeUhSLHFCQVRNO0V6QmlnR1I7RTJCam5HVTtJRnlIUixxQkFUTTtFekJvZ0dSO0UyQnBuR1U7SUZ5SFIsVUFUTTtFekJ1Z0dSO0UyQnZuR1U7SUZ5SFIscUJBVE07RXpCMGdHUjtFMkIxbkdVO0lGeUhSLHFCQVRNO0V6QjZnR1I7RTJCN25HVTtJRnlIUixXQVRNO0V6QmdoR1I7QUFDRjtBRzcvRlE7RXdCcElJO0lGeUhSLG9CQVRNO0V6QnFoR1I7RTJCcm9HVTtJRnlIUixxQkFUTTtFekJ3aEdSO0UyQnhvR1U7SUZ5SFIsVUFUTTtFekIyaEdSO0UyQjNvR1U7SUZ5SFIscUJBVE07RXpCOGhHUjtFMkI5b0dVO0lGeUhSLHFCQVRNO0V6QmlpR1I7RTJCanBHVTtJRnlIUixVQVRNO0V6Qm9pR1I7RTJCcHBHVTtJRnlIUixxQkFUTTtFekJ1aUdSO0UyQnZwR1U7SUZ5SFIscUJBVE07RXpCMGlHUjtFMkIxcEdVO0lGeUhSLFVBVE07RXpCNmlHUjtFMkI3cEdVO0lGeUhSLHFCQVRNO0V6QmdqR1I7RTJCaHFHVTtJRnlIUixxQkFUTTtFekJtakdSO0UyQm5xR1U7SUZ5SFIsV0FUTTtFekJzakdSO0FBQ0Y7QUduaUdRO0V3QnBJSTtJRnlIUixvQkFUTTtFekIyakdSO0UyQjNxR1U7SUZ5SFIscUJBVE07RXpCOGpHUjtFMkI5cUdVO0lGeUhSLFVBVE07RXpCaWtHUjtFMkJqckdVO0lGeUhSLHFCQVRNO0V6Qm9rR1I7RTJCcHJHVTtJRnlIUixxQkFUTTtFekJ1a0dSO0UyQnZyR1U7SUZ5SFIsVUFUTTtFekIwa0dSO0UyQjFyR1U7SUZ5SFIscUJBVE07RXpCNmtHUjtFMkI3ckdVO0lGeUhSLHFCQVRNO0V6QmdsR1I7RTJCaHNHVTtJRnlIUixVQVRNO0V6Qm1sR1I7RTJCbnNHVTtJRnlIUixxQkFUTTtFekJzbEdSO0UyQnRzR1U7SUZ5SFIscUJBVE07RXpCeWxHUjtFMkJ6c0dVO0lGeUhSLFdBVE07RXpCNGxHUjtBQUNGOztBRzlrR1E7RW1CMERGO0lLN0tFO0lBQUE7RTNCdXNHTjtFMkJwc0dJO0lBRUk7SUFBQTtFM0Jzc0dSO0FBQ0Y7O0FHcGxHUTtFbUIrQ0Y7SUs5TUU7SUFBQTtFM0J5dkdOO0UyQnR2R0k7SUFFSTtJQUFBO0UzQnd2R1I7QUFDRjtBRy9sR1E7RXdCN0lJO0lGa0lSLG9CQVRNO0V6QnVuR1I7RTJCaHZHVTtJRmtJUixxQkFUTTtFekIwbkdSO0UyQm52R1U7SUZrSVIsVUFUTTtFekI2bkdSO0UyQnR2R1U7SUZrSVIscUJBVE07RXpCZ29HUjtFMkJ6dkdVO0lGa0lSLHFCQVRNO0V6Qm1vR1I7RTJCNXZHVTtJRmtJUixVQVRNO0V6QnNvR1I7RTJCL3ZHVTtJRmtJUixxQkFUTTtFekJ5b0dSO0UyQmx3R1U7SUZrSVIscUJBVE07RXpCNG9HUjtFMkJyd0dVO0lGa0lSLFVBVE07RXpCK29HUjtFMkJ4d0dVO0lGa0lSLHFCQVRNO0V6QmtwR1I7RTJCM3dHVTtJRmtJUixxQkFUTTtFekJxcEdSO0UyQjl3R1U7SUZrSVIsV0FUTTtFekJ3cEdSO0FBQ0Y7QUdyb0dRO0V3QjdJSTtJRmtJUixvQkFUTTtFekI2cEdSO0UyQnR4R1U7SUZrSVIscUJBVE07RXpCZ3FHUjtFMkJ6eEdVO0lGa0lSLFVBVE07RXpCbXFHUjtFMkI1eEdVO0lGa0lSLHFCQVRNO0V6QnNxR1I7RTJCL3hHVTtJRmtJUixxQkFUTTtFekJ5cUdSO0UyQmx5R1U7SUZrSVIsVUFUTTtFekI0cUdSO0UyQnJ5R1U7SUZrSVIscUJBVE07RXpCK3FHUjtFMkJ4eUdVO0lGa0lSLHFCQVRNO0V6QmtyR1I7RTJCM3lHVTtJRmtJUixVQVRNO0V6QnFyR1I7RTJCOXlHVTtJRmtJUixxQkFUTTtFekJ3ckdSO0UyQmp6R1U7SUZrSVIscUJBVE07RXpCMnJHUjtFMkJwekdVO0lGa0lSLFdBVE07RXpCOHJHUjtBQUNGO0FHM3FHUTtFd0I3SUk7SUZrSVIsb0JBVE07RXpCbXNHUjtFMkI1ekdVO0lGa0lSLHFCQVRNO0V6QnNzR1I7RTJCL3pHVTtJRmtJUixVQVRNO0V6QnlzR1I7RTJCbDBHVTtJRmtJUixxQkFUTTtFekI0c0dSO0UyQnIwR1U7SUZrSVIscUJBVE07RXpCK3NHUjtFMkJ4MEdVO0lGa0lSLFVBVE07RXpCa3RHUjtFMkIzMEdVO0lGa0lSLHFCQVRNO0V6QnF0R1I7RTJCOTBHVTtJRmtJUixxQkFUTTtFekJ3dEdSO0UyQmoxR1U7SUZrSVIsVUFUTTtFekIydEdSO0UyQnAxR1U7SUZrSVIscUJBVE07RXpCOHRHUjtFMkJ2MUdVO0lGa0lSLHFCQVRNO0V6Qml1R1I7RTJCMTFHVTtJRmtJUixXQVRNO0V6Qm91R1I7QUFDRjtBR2p0R1E7RXdCN0lJO0lGa0lSLG9CQVRNO0V6Qnl1R1I7RTJCbDJHVTtJRmtJUixxQkFUTTtFekI0dUdSO0UyQnIyR1U7SUZrSVIsVUFUTTtFekIrdUdSO0UyQngyR1U7SUZrSVIscUJBVE07RXpCa3ZHUjtFMkIzMkdVO0lGa0lSLHFCQVRNO0V6QnF2R1I7RTJCOTJHVTtJRmtJUixVQVRNO0V6Qnd2R1I7RTJCajNHVTtJRmtJUixxQkFUTTtFekIydkdSO0UyQnAzR1U7SUZrSVIscUJBVE07RXpCOHZHUjtFMkJ2M0dVO0lGa0lSLFVBVE07RXpCaXdHUjtFMkIxM0dVO0lGa0lSLHFCQVRNO0V6Qm93R1I7RTJCNzNHVTtJRmtJUixxQkFUTTtFekJ1d0dSO0UyQmg0R1U7SUZrSVIsV0FUTTtFekIwd0dSO0FBQ0Y7QUd2dkdRO0V3QnBJSTtJRnlIUixvQkFUTTtFekIrd0dSO0UyQi8zR1U7SUZ5SFIscUJBVE07RXpCa3hHUjtFMkJsNEdVO0lGeUhSLFVBVE07RXpCcXhHUjtFMkJyNEdVO0lGeUhSLHFCQVRNO0V6Qnd4R1I7RTJCeDRHVTtJRnlIUixxQkFUTTtFekIyeEdSO0UyQjM0R1U7SUZ5SFIsVUFUTTtFekI4eEdSO0UyQjk0R1U7SUZ5SFIscUJBVE07RXpCaXlHUjtFMkJqNUdVO0lGeUhSLHFCQVRNO0V6Qm95R1I7RTJCcDVHVTtJRnlIUixVQVRNO0V6QnV5R1I7RTJCdjVHVTtJRnlIUixxQkFUTTtFekIweUdSO0UyQjE1R1U7SUZ5SFIscUJBVE07RXpCNnlHUjtFMkI3NUdVO0lGeUhSLFdBVE07RXpCZ3pHUjtBQUNGO0FHN3hHUTtFd0JwSUk7SUZ5SFIsb0JBVE07RXpCcXpHUjtFMkJyNkdVO0lGeUhSLHFCQVRNO0V6Qnd6R1I7RTJCeDZHVTtJRnlIUixVQVRNO0V6QjJ6R1I7RTJCMzZHVTtJRnlIUixxQkFUTTtFekI4ekdSO0UyQjk2R1U7SUZ5SFIscUJBVE07RXpCaTBHUjtFMkJqN0dVO0lGeUhSLFVBVE07RXpCbzBHUjtFMkJwN0dVO0lGeUhSLHFCQVRNO0V6QnUwR1I7RTJCdjdHVTtJRnlIUixxQkFUTTtFekIwMEdSO0UyQjE3R1U7SUZ5SFIsVUFUTTtFekI2MEdSO0UyQjc3R1U7SUZ5SFIscUJBVE07RXpCZzFHUjtFMkJoOEdVO0lGeUhSLHFCQVRNO0V6Qm0xR1I7RTJCbjhHVTtJRnlIUixXQVRNO0V6QnMxR1I7QUFDRjtBR24wR1E7RXdCcElJO0lGeUhSLG9CQVRNO0V6QjIxR1I7RTJCMzhHVTtJRnlIUixxQkFUTTtFekI4MUdSO0UyQjk4R1U7SUZ5SFIsVUFUTTtFekJpMkdSO0UyQmo5R1U7SUZ5SFIscUJBVE07RXpCbzJHUjtFMkJwOUdVO0lGeUhSLHFCQVRNO0V6QnUyR1I7RTJCdjlHVTtJRnlIUixVQVRNO0V6QjAyR1I7RTJCMTlHVTtJRnlIUixxQkFUTTtFekI2MkdSO0UyQjc5R1U7SUZ5SFIscUJBVE07RXpCZzNHUjtFMkJoK0dVO0lGeUhSLFVBVE07RXpCbTNHUjtFMkJuK0dVO0lGeUhSLHFCQVRNO0V6QnMzR1I7RTJCdCtHVTtJRnlIUixxQkFUTTtFekJ5M0dSO0UyQnorR1U7SUZ5SFIsV0FUTTtFekI0M0dSO0FBQ0Y7O0FHejJHUTtFbUJxREY7SUs3S0U7SUFBQTtFM0J1K0dOO0UyQnArR0k7SUFFSTtJQUFBO0UzQnMrR1I7QUFDRjs7QUdwM0dRO0VtQitDRjtJSzlNRTtJQUFBO0UzQnloSE47RTJCdGhISTtJQUVJO0lBQUE7RTNCd2hIUjtBQUNGO0FHLzNHUTtFd0I3SUk7SUZrSVIsb0JBVE07RXpCdTVHUjtFMkJoaEhVO0lGa0lSLHFCQVRNO0V6QjA1R1I7RTJCbmhIVTtJRmtJUixVQVRNO0V6QjY1R1I7RTJCdGhIVTtJRmtJUixxQkFUTTtFekJnNkdSO0UyQnpoSFU7SUZrSVIscUJBVE07RXpCbTZHUjtFMkI1aEhVO0lGa0lSLFVBVE07RXpCczZHUjtFMkIvaEhVO0lGa0lSLHFCQVRNO0V6Qnk2R1I7RTJCbGlIVTtJRmtJUixxQkFUTTtFekI0NkdSO0UyQnJpSFU7SUZrSVIsVUFUTTtFekIrNkdSO0UyQnhpSFU7SUZrSVIscUJBVE07RXpCazdHUjtFMkIzaUhVO0lGa0lSLHFCQVRNO0V6QnE3R1I7RTJCOWlIVTtJRmtJUixXQVRNO0V6Qnc3R1I7QUFDRjtBR3I2R1E7RXdCN0lJO0lGa0lSLG9CQVRNO0V6QjY3R1I7RTJCdGpIVTtJRmtJUixxQkFUTTtFekJnOEdSO0UyQnpqSFU7SUZrSVIsVUFUTTtFekJtOEdSO0UyQjVqSFU7SUZrSVIscUJBVE07RXpCczhHUjtFMkIvakhVO0lGa0lSLHFCQVRNO0V6Qnk4R1I7RTJCbGtIVTtJRmtJUixVQVRNO0V6QjQ4R1I7RTJCcmtIVTtJRmtJUixxQkFUTTtFekIrOEdSO0UyQnhrSFU7SUZrSVIscUJBVE07RXpCazlHUjtFMkIza0hVO0lGa0lSLFVBVE07RXpCcTlHUjtFMkI5a0hVO0lGa0lSLHFCQVRNO0V6Qnc5R1I7RTJCamxIVTtJRmtJUixxQkFUTTtFekIyOUdSO0UyQnBsSFU7SUZrSVIsV0FUTTtFekI4OUdSO0FBQ0Y7QUczOEdRO0V3QjdJSTtJRmtJUixvQkFUTTtFekJtK0dSO0UyQjVsSFU7SUZrSVIscUJBVE07RXpCcytHUjtFMkIvbEhVO0lGa0lSLFVBVE07RXpCeStHUjtFMkJsbUhVO0lGa0lSLHFCQVRNO0V6QjQrR1I7RTJCcm1IVTtJRmtJUixxQkFUTTtFekIrK0dSO0UyQnhtSFU7SUZrSVIsVUFUTTtFekJrL0dSO0UyQjNtSFU7SUZrSVIscUJBVE07RXpCcS9HUjtFMkI5bUhVO0lGa0lSLHFCQVRNO0V6QncvR1I7RTJCam5IVTtJRmtJUixVQVRNO0V6QjIvR1I7RTJCcG5IVTtJRmtJUixxQkFUTTtFekI4L0dSO0UyQnZuSFU7SUZrSVIscUJBVE07RXpCaWdIUjtFMkIxbkhVO0lGa0lSLFdBVE07RXpCb2dIUjtBQUNGO0FHai9HUTtFd0I3SUk7SUZrSVIsb0JBVE07RXpCeWdIUjtFMkJsb0hVO0lGa0lSLHFCQVRNO0V6QjRnSFI7RTJCcm9IVTtJRmtJUixVQVRNO0V6QitnSFI7RTJCeG9IVTtJRmtJUixxQkFUTTtFekJraEhSO0UyQjNvSFU7SUZrSVIscUJBVE07RXpCcWhIUjtFMkI5b0hVO0lGa0lSLFVBVE07RXpCd2hIUjtFMkJqcEhVO0lGa0lSLHFCQVRNO0V6QjJoSFI7RTJCcHBIVTtJRmtJUixxQkFUTTtFekI4aEhSO0UyQnZwSFU7SUZrSVIsVUFUTTtFekJpaUhSO0UyQjFwSFU7SUZrSVIscUJBVE07RXpCb2lIUjtFMkI3cEhVO0lGa0lSLHFCQVRNO0V6QnVpSFI7RTJCaHFIVTtJRmtJUixXQVRNO0V6QjBpSFI7QUFDRjtBR3ZoSFE7RXdCN0lJO0lGa0lSLG9CQVRNO0V6QitpSFI7RTJCeHFIVTtJRmtJUixxQkFUTTtFekJrakhSO0UyQjNxSFU7SUZrSVIsVUFUTTtFekJxakhSO0UyQjlxSFU7SUZrSVIscUJBVE07RXpCd2pIUjtFMkJqckhVO0lGa0lSLHFCQVRNO0V6QjJqSFI7RTJCcHJIVTtJRmtJUixVQVRNO0V6QjhqSFI7RTJCdnJIVTtJRmtJUixxQkFUTTtFekJpa0hSO0UyQjFySFU7SUZrSVIscUJBVE07RXpCb2tIUjtFMkI3ckhVO0lGa0lSLFVBVE07RXpCdWtIUjtFMkJoc0hVO0lGa0lSLHFCQVRNO0V6QjBrSFI7RTJCbnNIVTtJRmtJUixxQkFUTTtFekI2a0hSO0UyQnRzSFU7SUZrSVIsV0FUTTtFekJnbEhSO0FBQ0Y7QUc3akhRO0V3QnBJSTtJRnlIUixvQkFUTTtFekJxbEhSO0UyQnJzSFU7SUZ5SFIscUJBVE07RXpCd2xIUjtFMkJ4c0hVO0lGeUhSLFVBVE07RXpCMmxIUjtFMkIzc0hVO0lGeUhSLHFCQVRNO0V6QjhsSFI7RTJCOXNIVTtJRnlIUixxQkFUTTtFekJpbUhSO0UyQmp0SFU7SUZ5SFIsVUFUTTtFekJvbUhSO0UyQnB0SFU7SUZ5SFIscUJBVE07RXpCdW1IUjtFMkJ2dEhVO0lGeUhSLHFCQVRNO0V6QjBtSFI7RTJCMXRIVTtJRnlIUixVQVRNO0V6QjZtSFI7RTJCN3RIVTtJRnlIUixxQkFUTTtFekJnbkhSO0UyQmh1SFU7SUZ5SFIscUJBVE07RXpCbW5IUjtFMkJudUhVO0lGeUhSLFdBVE07RXpCc25IUjtBQUNGO0FHbm1IUTtFd0JwSUk7SUZ5SFIsb0JBVE07RXpCMm5IUjtFMkIzdUhVO0lGeUhSLHFCQVRNO0V6QjhuSFI7RTJCOXVIVTtJRnlIUixVQVRNO0V6QmlvSFI7RTJCanZIVTtJRnlIUixxQkFUTTtFekJvb0hSO0UyQnB2SFU7SUZ5SFIscUJBVE07RXpCdW9IUjtFMkJ2dkhVO0lGeUhSLFVBVE07RXpCMG9IUjtFMkIxdkhVO0lGeUhSLHFCQVRNO0V6QjZvSFI7RTJCN3ZIVTtJRnlIUixxQkFUTTtFekJncEhSO0UyQmh3SFU7SUZ5SFIsVUFUTTtFekJtcEhSO0UyQm53SFU7SUZ5SFIscUJBVE07RXpCc3BIUjtFMkJ0d0hVO0lGeUhSLHFCQVRNO0V6QnlwSFI7RTJCendIVTtJRnlIUixXQVRNO0V6QjRwSFI7QUFDRjs7QUd6b0hRO0VtQnFERjtJSzdLRTtJQUFBO0UzQnV3SE47RTJCcHdISTtJQUVJO0lBQUE7RTNCc3dIUjtBQUNGOztBR3BwSFE7RW1CK0NGO0lLOU1FO0lBQUE7RTNCeXpITjtFMkJ0ekhJO0lBRUk7SUFBQTtFM0J3ekhSO0FBQ0Y7QUcvcEhRO0V3QjdJSTtJRmtJUixvQkFUTTtFekJ1ckhSO0UyQmh6SFU7SUZrSVIscUJBVE07RXpCMHJIUjtFMkJuekhVO0lGa0lSLFVBVE07RXpCNnJIUjtFMkJ0ekhVO0lGa0lSLHFCQVRNO0V6QmdzSFI7RTJCenpIVTtJRmtJUixxQkFUTTtFekJtc0hSO0UyQjV6SFU7SUZrSVIsVUFUTTtFekJzc0hSO0UyQi96SFU7SUZrSVIscUJBVE07RXpCeXNIUjtFMkJsMEhVO0lGa0lSLHFCQVRNO0V6QjRzSFI7RTJCcjBIVTtJRmtJUixVQVRNO0V6QitzSFI7RTJCeDBIVTtJRmtJUixxQkFUTTtFekJrdEhSO0UyQjMwSFU7SUZrSVIscUJBVE07RXpCcXRIUjtFMkI5MEhVO0lGa0lSLFdBVE07RXpCd3RIUjtBQUNGO0FHcnNIUTtFd0I3SUk7SUZrSVIsb0JBVE07RXpCNnRIUjtFMkJ0MUhVO0lGa0lSLHFCQVRNO0V6Qmd1SFI7RTJCejFIVTtJRmtJUixVQVRNO0V6Qm11SFI7RTJCNTFIVTtJRmtJUixxQkFUTTtFekJzdUhSO0UyQi8xSFU7SUZrSVIscUJBVE07RXpCeXVIUjtFMkJsMkhVO0lGa0lSLFVBVE07RXpCNHVIUjtFMkJyMkhVO0lGa0lSLHFCQVRNO0V6Qit1SFI7RTJCeDJIVTtJRmtJUixxQkFUTTtFekJrdkhSO0UyQjMySFU7SUZrSVIsVUFUTTtFekJxdkhSO0UyQjkySFU7SUZrSVIscUJBVE07RXpCd3ZIUjtFMkJqM0hVO0lGa0lSLHFCQVRNO0V6QjJ2SFI7RTJCcDNIVTtJRmtJUixXQVRNO0V6Qjh2SFI7QUFDRjtBRzN1SFE7RXdCN0lJO0lGa0lSLG9CQVRNO0V6Qm13SFI7RTJCNTNIVTtJRmtJUixxQkFUTTtFekJzd0hSO0UyQi8zSFU7SUZrSVIsVUFUTTtFekJ5d0hSO0UyQmw0SFU7SUZrSVIscUJBVE07RXpCNHdIUjtFMkJyNEhVO0lGa0lSLHFCQVRNO0V6Qit3SFI7RTJCeDRIVTtJRmtJUixVQVRNO0V6Qmt4SFI7RTJCMzRIVTtJRmtJUixxQkFUTTtFekJxeEhSO0UyQjk0SFU7SUZrSVIscUJBVE07RXpCd3hIUjtFMkJqNUhVO0lGa0lSLFVBVE07RXpCMnhIUjtFMkJwNUhVO0lGa0lSLHFCQVRNO0V6Qjh4SFI7RTJCdjVIVTtJRmtJUixxQkFUTTtFekJpeUhSO0UyQjE1SFU7SUZrSVIsV0FUTTtFekJveUhSO0FBQ0Y7QUdqeEhRO0V3QjdJSTtJRmtJUixvQkFUTTtFekJ5eUhSO0UyQmw2SFU7SUZrSVIscUJBVE07RXpCNHlIUjtFMkJyNkhVO0lGa0lSLFVBVE07RXpCK3lIUjtFMkJ4NkhVO0lGa0lSLHFCQVRNO0V6Qmt6SFI7RTJCMzZIVTtJRmtJUixxQkFUTTtFekJxekhSO0UyQjk2SFU7SUZrSVIsVUFUTTtFekJ3ekhSO0UyQmo3SFU7SUZrSVIscUJBVE07RXpCMnpIUjtFMkJwN0hVO0lGa0lSLHFCQVRNO0V6Qjh6SFI7RTJCdjdIVTtJRmtJUixVQVRNO0V6QmkwSFI7RTJCMTdIVTtJRmtJUixxQkFUTTtFekJvMEhSO0UyQjc3SFU7SUZrSVIscUJBVE07RXpCdTBIUjtFMkJoOEhVO0lGa0lSLFdBVE07RXpCMDBIUjtBQUNGO0FHdnpIUTtFd0I3SUk7SUZrSVIsb0JBVE07RXpCKzBIUjtFMkJ4OEhVO0lGa0lSLHFCQVRNO0V6QmsxSFI7RTJCMzhIVTtJRmtJUixVQVRNO0V6QnExSFI7RTJCOThIVTtJRmtJUixxQkFUTTtFekJ3MUhSO0UyQmo5SFU7SUZrSVIscUJBVE07RXpCMjFIUjtFMkJwOUhVO0lGa0lSLFVBVE07RXpCODFIUjtFMkJ2OUhVO0lGa0lSLHFCQVRNO0V6QmkySFI7RTJCMTlIVTtJRmtJUixxQkFUTTtFekJvMkhSO0UyQjc5SFU7SUZrSVIsVUFUTTtFekJ1MkhSO0UyQmgrSFU7SUZrSVIscUJBVE07RXpCMDJIUjtFMkJuK0hVO0lGa0lSLHFCQVRNO0V6QjYySFI7RTJCdCtIVTtJRmtJUixXQVRNO0V6QmczSFI7QUFDRjtBRzcxSFE7RXdCN0lJO0lGa0lSLG9CQVRNO0V6QnEzSFI7RTJCOStIVTtJRmtJUixxQkFUTTtFekJ3M0hSO0UyQmovSFU7SUZrSVIsVUFUTTtFekIyM0hSO0UyQnAvSFU7SUZrSVIscUJBVE07RXpCODNIUjtFMkJ2L0hVO0lGa0lSLHFCQVRNO0V6Qmk0SFI7RTJCMS9IVTtJRmtJUixVQVRNO0V6Qm80SFI7RTJCNy9IVTtJRmtJUixxQkFUTTtFekJ1NEhSO0UyQmhnSVU7SUZrSVIscUJBVE07RXpCMDRIUjtFMkJuZ0lVO0lGa0lSLFVBVE07RXpCNjRIUjtFMkJ0Z0lVO0lGa0lSLHFCQVRNO0V6Qmc1SFI7RTJCemdJVTtJRmtJUixxQkFUTTtFekJtNUhSO0UyQjVnSVU7SUZrSVIsV0FUTTtFekJzNUhSO0FBQ0Y7QUduNEhRO0V3QnBJSTtJRnlIUixvQkFUTTtFekIyNUhSO0UyQjNnSVU7SUZ5SFIscUJBVE07RXpCODVIUjtFMkI5Z0lVO0lGeUhSLFVBVE07RXpCaTZIUjtFMkJqaElVO0lGeUhSLHFCQVRNO0V6Qm82SFI7RTJCcGhJVTtJRnlIUixxQkFUTTtFekJ1NkhSO0UyQnZoSVU7SUZ5SFIsVUFUTTtFekIwNkhSO0UyQjFoSVU7SUZ5SFIscUJBVE07RXpCNjZIUjtFMkI3aElVO0lGeUhSLHFCQVRNO0V6Qmc3SFI7RTJCaGlJVTtJRnlIUixVQVRNO0V6Qm03SFI7RTJCbmlJVTtJRnlIUixxQkFUTTtFekJzN0hSO0UyQnRpSVU7SUZ5SFIscUJBVE07RXpCeTdIUjtFMkJ6aUlVO0lGeUhSLFdBVE07RXpCNDdIUjtBQUNGOztBR3o2SFE7RW1CcURGO0lLN0tFO0lBQUE7RTNCdWlJTjtFMkJwaUlJO0lBRUk7SUFBQTtFM0JzaUlSO0FBQ0Y7O0FzQmozSE07RU1uTUY7QTVCd2pJSjs7QXNCajNITTtFTXZNRjtBNUI0aklKOztBc0J6M0hNO0VNbk1GO0E1QmdrSUo7O0FzQnozSE07RU12TUY7QTVCb2tJSjs7QXNCajRITTtFTW5NRjtBNUJ3a0lKOztBc0JqNEhNO0VNdk1GO0E1QjRrSUo7O0FzQno0SE07RU1uTUY7QTVCZ2xJSjs7QXNCejRITTtFTXZNRjtBNUJvbElKOztBc0JqNUhNO0VNbk1GO0E1QndsSUo7O0FzQmo1SE07RU12TUY7QTVCNGxJSjs7QXNCejVITTtFTW5NRjtBNUJnbUlKOztBc0J6NUhNO0VNdk1GO0E1Qm9tSUo7O0FzQmo2SE07RU1uTUY7QTVCd21JSjs7QXNCajZITTtFTXZNRjtBNUI0bUlKOztBc0J6NkhNO0VNbk1GO0E1QmduSUo7O0FzQno2SE07RU12TUY7QTVCb25JSjs7QXNCajdITTtFTW5NRjtBNUJ3bklKOztBc0JqN0hNO0VNdk1GO0E1QjRuSUo7O0FzQno3SE07RU1uTUY7QTVCZ29JSjs7QXNCejdITTtFTXZNRjtBNUJvb0lKOztBc0JqOEhNO0VNbk1GO0E1QndvSUo7O0FzQmo4SE07RU12TUY7QTVCNG9JSjs7QXNCejhITTtFTW5NRjtBNUJncElKOztBc0J6OEhNO0VNdk1GO0E1Qm9wSUo7O0FHemhJUTtFbUJ3RUY7SU1uTUY7RTVCeXBJRjtFc0JsOUhJO0lNdk1GO0U1QjRwSUY7RXNCejlISTtJTW5NRjtFNUIrcElGO0VzQng5SEk7SU12TUY7RTVCa3FJRjtFc0IvOUhJO0lNbk1GO0U1QnFxSUY7RXNCOTlISTtJTXZNRjtFNUJ3cUlGO0VzQnIrSEk7SU1uTUY7RTVCMnFJRjtFc0JwK0hJO0lNdk1GO0U1QjhxSUY7RXNCMytISTtJTW5NRjtFNUJpcklGO0VzQjErSEk7SU12TUY7RTVCb3JJRjtFc0JqL0hJO0lNbk1GO0U1QnVySUY7RXNCaC9ISTtJTXZNRjtFNUIwcklGO0VzQnYvSEk7SU1uTUY7RTVCNnJJRjtFc0J0L0hJO0lNdk1GO0U1QmdzSUY7RXNCNy9ISTtJTW5NRjtFNUJtc0lGO0VzQjUvSEk7SU12TUY7RTVCc3NJRjtFc0JuZ0lJO0lNbk1GO0U1QnlzSUY7RXNCbGdJSTtJTXZNRjtFNUI0c0lGO0VzQnpnSUk7SU1uTUY7RTVCK3NJRjtFc0J4Z0lJO0lNdk1GO0U1Qmt0SUY7RXNCL2dJSTtJTW5NRjtFNUJxdElGO0VzQjlnSUk7SU12TUY7RTVCd3RJRjtFc0JyaElJO0lNbk1GO0U1QjJ0SUY7RXNCcGhJSTtJTXZNRjtFNUI4dElGO0FBQ0Y7QUdwbUlRO0VtQndFRjtJTW5NRjtFNUJtdUlGO0VzQjVoSUk7SU12TUY7RTVCc3VJRjtFc0JuaUlJO0lNbk1GO0U1Qnl1SUY7RXNCbGlJSTtJTXZNRjtFNUI0dUlGO0VzQnppSUk7SU1uTUY7RTVCK3VJRjtFc0J4aUlJO0lNdk1GO0U1Qmt2SUY7RXNCL2lJSTtJTW5NRjtFNUJxdklGO0VzQjlpSUk7SU12TUY7RTVCd3ZJRjtFc0JyaklJO0lNbk1GO0U1QjJ2SUY7RXNCcGpJSTtJTXZNRjtFNUI4dklGO0VzQjNqSUk7SU1uTUY7RTVCaXdJRjtFc0IxaklJO0lNdk1GO0U1Qm93SUY7RXNCamtJSTtJTW5NRjtFNUJ1d0lGO0VzQmhrSUk7SU12TUY7RTVCMHdJRjtFc0J2a0lJO0lNbk1GO0U1QjZ3SUY7RXNCdGtJSTtJTXZNRjtFNUJneElGO0VzQjdrSUk7SU1uTUY7RTVCbXhJRjtFc0I1a0lJO0lNdk1GO0U1QnN4SUY7RXNCbmxJSTtJTW5NRjtFNUJ5eElGO0VzQmxsSUk7SU12TUY7RTVCNHhJRjtFc0J6bElJO0lNbk1GO0U1Qit4SUY7RXNCeGxJSTtJTXZNRjtFNUJreUlGO0VzQi9sSUk7SU1uTUY7RTVCcXlJRjtFc0I5bElJO0lNdk1GO0U1Qnd5SUY7QUFDRjtBRzlxSVE7RW1Cd0VGO0lNbk1GO0U1QjZ5SUY7RXNCdG1JSTtJTXZNRjtFNUJneklGO0VzQjdtSUk7SU1uTUY7RTVCbXpJRjtFc0I1bUlJO0lNdk1GO0U1QnN6SUY7RXNCbm5JSTtJTW5NRjtFNUJ5eklGO0VzQmxuSUk7SU12TUY7RTVCNHpJRjtFc0J6bklJO0lNbk1GO0U1Qit6SUY7RXNCeG5JSTtJTXZNRjtFNUJrMElGO0VzQi9uSUk7SU1uTUY7RTVCcTBJRjtFc0I5bklJO0lNdk1GO0U1QncwSUY7RXNCcm9JSTtJTW5NRjtFNUIyMElGO0VzQnBvSUk7SU12TUY7RTVCODBJRjtFc0Izb0lJO0lNbk1GO0U1QmkxSUY7RXNCMW9JSTtJTXZNRjtFNUJvMUlGO0VzQmpwSUk7SU1uTUY7RTVCdTFJRjtFc0JocElJO0lNdk1GO0U1QjAxSUY7RXNCdnBJSTtJTW5NRjtFNUI2MUlGO0VzQnRwSUk7SU12TUY7RTVCZzJJRjtFc0I3cElJO0lNbk1GO0U1Qm0ySUY7RXNCNXBJSTtJTXZNRjtFNUJzMklGO0VzQm5xSUk7SU1uTUY7RTVCeTJJRjtFc0JscUlJO0lNdk1GO0U1QjQySUY7RXNCenFJSTtJTW5NRjtFNUIrMklGO0VzQnhxSUk7SU12TUY7RTVCazNJRjtBQUNGO0FHbnZJUTtFbUJtRUY7SU1uTUY7RTVCdTNJRjtFc0JocklJO0lNdk1GO0U1QjAzSUY7RXNCdnJJSTtJTW5NRjtFNUI2M0lGO0VzQnRySUk7SU12TUY7RTVCZzRJRjtFc0I3cklJO0lNbk1GO0U1Qm00SUY7RXNCNXJJSTtJTXZNRjtFNUJzNElGO0VzQm5zSUk7SU1uTUY7RTVCeTRJRjtFc0Jsc0lJO0lNdk1GO0U1QjQ0SUY7RXNCenNJSTtJTW5NRjtFNUIrNElGO0VzQnhzSUk7SU12TUY7RTVCazVJRjtFc0Ivc0lJO0lNbk1GO0U1QnE1SUY7RXNCOXNJSTtJTXZNRjtFNUJ3NUlGO0VzQnJ0SUk7SU1uTUY7RTVCMjVJRjtFc0JwdElJO0lNdk1GO0U1Qjg1SUY7RXNCM3RJSTtJTW5NRjtFNUJpNklGO0VzQjF0SUk7SU12TUY7RTVCbzZJRjtFc0JqdUlJO0lNbk1GO0U1QnU2SUY7RXNCaHVJSTtJTXZNRjtFNUIwNklGO0VzQnZ1SUk7SU1uTUY7RTVCNjZJRjtFc0J0dUlJO0lNdk1GO0U1Qmc3SUY7RXNCN3VJSTtJTW5NRjtFNUJtN0lGO0VzQjV1SUk7SU12TUY7RTVCczdJRjtFc0JudklJO0lNbk1GO0U1Qnk3SUY7RXNCbHZJSTtJTXZNRjtFNUI0N0lGO0FBQ0Y7QUc3eklRO0VtQm1FRjtJTW5NRjtFNUJpOElGO0VzQjF2SUk7SU12TUY7RTVCbzhJRjtFc0Jqd0lJO0lNbk1GO0U1QnU4SUY7RXNCaHdJSTtJTXZNRjtFNUIwOElGO0VzQnZ3SUk7SU1uTUY7RTVCNjhJRjtFc0J0d0lJO0lNdk1GO0U1Qmc5SUY7RXNCN3dJSTtJTW5NRjtFNUJtOUlGO0VzQjV3SUk7SU12TUY7RTVCczlJRjtFc0JueElJO0lNbk1GO0U1Qnk5SUY7RXNCbHhJSTtJTXZNRjtFNUI0OUlGO0VzQnp4SUk7SU1uTUY7RTVCKzlJRjtFc0J4eElJO0lNdk1GO0U1QmsrSUY7RXNCL3hJSTtJTW5NRjtFNUJxK0lGO0VzQjl4SUk7SU12TUY7RTVCdytJRjtFc0JyeUlJO0lNbk1GO0U1QjIrSUY7RXNCcHlJSTtJTXZNRjtFNUI4K0lGO0VzQjN5SUk7SU1uTUY7RTVCaS9JRjtFc0IxeUlJO0lNdk1GO0U1Qm8vSUY7RXNCanpJSTtJTW5NRjtFNUJ1L0lGO0VzQmh6SUk7SU12TUY7RTVCMC9JRjtFc0J2eklJO0lNbk1GO0U1QjYvSUY7RXNCdHpJSTtJTXZNRjtFNUJnZ0pGO0VzQjd6SUk7SU1uTUY7RTVCbWdKRjtFc0I1eklJO0lNdk1GO0U1QnNnSkY7QUFDRjtBR3Y0SVE7RW1CbUVGO0lNbk1GO0U1QjJnSkY7RXNCcDBJSTtJTXZNRjtFNUI4Z0pGO0VzQjMwSUk7SU1uTUY7RTVCaWhKRjtFc0IxMElJO0lNdk1GO0U1Qm9oSkY7RXNCajFJSTtJTW5NRjtFNUJ1aEpGO0VzQmgxSUk7SU12TUY7RTVCMGhKRjtFc0J2MUlJO0lNbk1GO0U1QjZoSkY7RXNCdDFJSTtJTXZNRjtFNUJnaUpGO0VzQjcxSUk7SU1uTUY7RTVCbWlKRjtFc0I1MUlJO0lNdk1GO0U1QnNpSkY7RXNCbjJJSTtJTW5NRjtFNUJ5aUpGO0VzQmwySUk7SU12TUY7RTVCNGlKRjtFc0J6MklJO0lNbk1GO0U1QitpSkY7RXNCeDJJSTtJTXZNRjtFNUJrakpGO0VzQi8ySUk7SU1uTUY7RTVCcWpKRjtFc0I5MklJO0lNdk1GO0U1QndqSkY7RXNCcjNJSTtJTW5NRjtFNUIyakpGO0VzQnAzSUk7SU12TUY7RTVCOGpKRjtFc0IzM0lJO0lNbk1GO0U1QmlrSkY7RXNCMTNJSTtJTXZNRjtFNUJva0pGO0VzQmo0SUk7SU1uTUY7RTVCdWtKRjtFc0JoNElJO0lNdk1GO0U1QjBrSkY7RXNCdjRJSTtJTW5NRjtFNUI2a0pGO0VzQnQ0SUk7SU12TUY7RTVCZ2xKRjtBQUNGO0FzQngzSUU7RUMvT0E7RUFDQTtBdkIwbUpGO0FzQngzSUk7RUdySUY7RUFDQTtBekJnZ0pGO0FzQngzSUk7RUc1R0EsWUFUTTtBekJnL0lWO0FzQnYzSUk7RUdoSEEsWUFUTTtBekJtL0lWO0FzQjUySU07RUFDRTtBdEI4MklSO0FHditJUTtFbUJ3SEY7SUFDRTtFdEJrM0lOO0FBQ0Y7QUc1K0lRO0VtQndIRjtJQUNFO0V0QnUzSU47QUFDRjtBR2ovSVE7RW1Cd0hGO0lBQ0U7RXRCNDNJTjtBQUNGO0FHai9JUTtFbUJtSEY7SUFDRTtFdEJpNElOO0FBQ0Y7QUd0L0lRO0VtQm1IRjtJQUNFO0V0QnM0SU47QUFDRjtBRzMvSVE7RW1CbUhGO0lBQ0U7RXRCMjRJTjtBQUNGO0FzQmg0SU07RUd0TEo7QXpCeWpKRjtBc0JwM0lRO0VHMUpKLHFCQVRNO0F6QjBoSlY7QXNCdjNJUTtFRzFKSixzQkFUTTtBekI2aEpWO0FzQjEzSVE7RUcxSkosV0FUTTtBekJnaUpWO0FzQjczSVE7RUcxSkosc0JBVE07QXpCbWlKVjtBc0JoNElRO0VHMUpKLHNCQVRNO0F6QnNpSlY7QXNCbjRJUTtFRzFKSixXQVRNO0F6QnlpSlY7QXNCdDRJUTtFRzFKSixzQkFUTTtBekI0aUpWO0FzQno0SVE7RUcxSkosc0JBVE07QXpCK2lKVjtBc0I1NElRO0VHMUpKLFdBVE07QXpCa2pKVjtBc0IvNElRO0VHMUpKLHNCQVRNO0F6QnFqSlY7QXNCbDVJUTtFRzFKSixzQkFUTTtBekJ3akpWO0FzQnI1SVE7RUcxSkosWUFUTTtBekIyakpWO0FHNWlKUTtFbUJnSUE7SUdqTE47SUEyQ0UsWUFUTTtFekJna0pSO0VzQjU2SUk7SUd0TEo7RXpCcW1KQTtFc0J6NklNO0lHakpKLFlBVE07RXpCc2tKUjtFc0JuNklNO0lHMUpKLHFCQVRNO0V6QnlrSlI7RXNCdDZJTTtJRzFKSixzQkFUTTtFekI0a0pSO0VzQno2SU07SUcxSkosV0FUTTtFekIra0pSO0VzQjU2SU07SUcxSkosc0JBVE07RXpCa2xKUjtFc0IvNklNO0lHMUpKLHNCQVRNO0V6QnFsSlI7RXNCbDdJTTtJRzFKSixXQVRNO0V6QndsSlI7RXNCcjdJTTtJRzFKSixzQkFUTTtFekIybEpSO0VzQng3SU07SUcxSkosc0JBVE07RXpCOGxKUjtFc0IzN0lNO0lHMUpKLFdBVE07RXpCaW1KUjtFc0I5N0lNO0lHMUpKLHNCQVRNO0V6Qm9tSlI7RXNCajhJTTtJRzFKSixzQkFUTTtFekJ1bUpSO0VzQnA4SU07SUcxSkosWUFUTTtFekIwbUpSO0FBQ0Y7QUc1bEpRO0VtQmdJQTtJR2pMTjtJQTJDRSxZQVRNO0V6QmduSlI7RXNCNTlJSTtJR3RMSjtFekJxcEpBO0VzQno5SU07SUdqSkosWUFUTTtFekJzbkpSO0VzQm45SU07SUcxSkoscUJBVE07RXpCeW5KUjtFc0J0OUlNO0lHMUpKLHNCQVRNO0V6QjRuSlI7RXNCejlJTTtJRzFKSixXQVRNO0V6QituSlI7RXNCNTlJTTtJRzFKSixzQkFUTTtFekJrb0pSO0VzQi85SU07SUcxSkosc0JBVE07RXpCcW9KUjtFc0JsK0lNO0lHMUpKLFdBVE07RXpCd29KUjtFc0JyK0lNO0lHMUpKLHNCQVRNO0V6QjJvSlI7RXNCeCtJTTtJRzFKSixzQkFUTTtFekI4b0pSO0VzQjMrSU07SUcxSkosV0FUTTtFekJpcEpSO0VzQjkrSU07SUcxSkosc0JBVE07RXpCb3BKUjtFc0JqL0lNO0lHMUpKLHNCQVRNO0V6QnVwSlI7RXNCcC9JTTtJRzFKSixZQVRNO0V6QjBwSlI7QUFDRjtBRzVvSlE7RW1CZ0lBO0lHakxOO0lBMkNFLFlBVE07RXpCZ3FKUjtFc0I1Z0pJO0lHdExKO0V6QnFzSkE7RXNCemdKTTtJR2pKSixZQVRNO0V6QnNxSlI7RXNCbmdKTTtJRzFKSixxQkFUTTtFekJ5cUpSO0VzQnRnSk07SUcxSkosc0JBVE07RXpCNHFKUjtFc0J6Z0pNO0lHMUpKLFdBVE07RXpCK3FKUjtFc0I1Z0pNO0lHMUpKLHNCQVRNO0V6QmtySlI7RXNCL2dKTTtJRzFKSixzQkFUTTtFekJxckpSO0VzQmxoSk07SUcxSkosV0FUTTtFekJ3ckpSO0VzQnJoSk07SUcxSkosc0JBVE07RXpCMnJKUjtFc0J4aEpNO0lHMUpKLHNCQVRNO0V6QjhySlI7RXNCM2hKTTtJRzFKSixXQVRNO0V6QmlzSlI7RXNCOWhKTTtJRzFKSixzQkFUTTtFekJvc0pSO0VzQmppSk07SUcxSkosc0JBVE07RXpCdXNKUjtFc0JwaUpNO0lHMUpKLFlBVE07RXpCMHNKUjtBQUNGO0FHdnJKUTtFbUIySEE7SUdqTE47SUEyQ0UsWUFUTTtFekJndEpSO0VzQjVqSkk7SUd0TEo7RXpCcXZKQTtFc0J6akpNO0lHakpKLFlBVE07RXpCc3RKUjtFc0JuakpNO0lHMUpKLHFCQVRNO0V6Qnl0SlI7RXNCdGpKTTtJRzFKSixzQkFUTTtFekI0dEpSO0VzQnpqSk07SUcxSkosV0FUTTtFekIrdEpSO0VzQjVqSk07SUcxSkosc0JBVE07RXpCa3VKUjtFc0IvakpNO0lHMUpKLHNCQVRNO0V6QnF1SlI7RXNCbGtKTTtJRzFKSixXQVRNO0V6Qnd1SlI7RXNCcmtKTTtJRzFKSixzQkFUTTtFekIydUpSO0VzQnhrSk07SUcxSkosc0JBVE07RXpCOHVKUjtFc0Iza0pNO0lHMUpKLFdBVE07RXpCaXZKUjtFc0I5a0pNO0lHMUpKLHNCQVRNO0V6Qm92SlI7RXNCamxKTTtJRzFKSixzQkFUTTtFekJ1dkpSO0VzQnBsSk07SUcxSkosWUFUTTtFekIwdkpSO0FBQ0Y7QUd2dUpRO0VtQjJIQTtJR2pMTjtJQTJDRSxZQVRNO0V6Qmd3SlI7RXNCNW1KSTtJR3RMSjtFekJxeUpBO0VzQnptSk07SUdqSkosWUFUTTtFekJzd0pSO0VzQm5tSk07SUcxSkoscUJBVE07RXpCeXdKUjtFc0J0bUpNO0lHMUpKLHNCQVRNO0V6QjR3SlI7RXNCem1KTTtJRzFKSixXQVRNO0V6Qit3SlI7RXNCNW1KTTtJRzFKSixzQkFUTTtFekJreEpSO0VzQi9tSk07SUcxSkosc0JBVE07RXpCcXhKUjtFc0JsbkpNO0lHMUpKLFdBVE07RXpCd3hKUjtFc0JybkpNO0lHMUpKLHNCQVRNO0V6QjJ4SlI7RXNCeG5KTTtJRzFKSixzQkFUTTtFekI4eEpSO0VzQjNuSk07SUcxSkosV0FUTTtFekJpeUpSO0VzQjluSk07SUcxSkosc0JBVE07RXpCb3lKUjtFc0Jqb0pNO0lHMUpKLHNCQVRNO0V6QnV5SlI7RXNCcG9KTTtJRzFKSixZQVRNO0V6QjB5SlI7QUFDRjtBR3Z4SlE7RW1CMkhBO0lHakxOO0lBMkNFLFlBVE07RXpCZ3pKUjtFc0I1cEpJO0lHdExKO0V6QnExSkE7RXNCenBKTTtJR2pKSixZQVRNO0V6QnN6SlI7RXNCbnBKTTtJRzFKSixxQkFUTTtFekJ5ekpSO0VzQnRwSk07SUcxSkosc0JBVE07RXpCNHpKUjtFc0J6cEpNO0lHMUpKLFdBVE07RXpCK3pKUjtFc0I1cEpNO0lHMUpKLHNCQVRNO0V6QmswSlI7RXNCL3BKTTtJRzFKSixzQkFUTTtFekJxMEpSO0VzQmxxSk07SUcxSkosV0FUTTtFekJ3MEpSO0VzQnJxSk07SUcxSkosc0JBVE07RXpCMjBKUjtFc0J4cUpNO0lHMUpKLHNCQVRNO0V6QjgwSlI7RXNCM3FKTTtJRzFKSixXQVRNO0V6QmkxSlI7RXNCOXFKTTtJRzFKSixzQkFUTTtFekJvMUpSO0VzQmpySk07SUcxSkosc0JBVE07RXpCdTFKUjtFc0JwckpNO0lHMUpKLFlBVE07RXpCMDFKUjtBQUNGOztBc0I1cUpNO0VFblRFO0VBQUE7QXhCbytKUjtBc0I1cUpNO0VFeFRFO0VBQUE7QXhCdytKUjs7QXNCajRKRTtFRXZHTTtFQUFBO0F4QjYrSlI7QXNCbDRKSTtFR2tDQSx5QkFUTTtFRDNISjtFQUFBO0F4QnkrSk47QXNCbjZKRTtFRzhERSxZQVRNO0F6QmkzSlY7QXNCbDZKRTtFRzBERSxZQVRNO0F6Qm8zSlY7QXNCNzVKSTtFR2tEQSxrQ0FUTTtBekJ1M0pWO0FzQmg2Skk7RUdrREEsbUNBVE07QXpCMDNKVjtBc0JuNkpJO0VHa0RBLHdCQVRNO0F6QjYzSlY7QXNCdDZKSTtFR2tEQSxtQ0FUTTtBekJnNEpWO0FzQno2Skk7RUdrREEsbUNBVE07QXpCbTRKVjtBc0I1NkpJO0VHa0RBLHdCQVRNO0F6QnM0SlY7QXNCLzZKSTtFR2tEQSxtQ0FUTTtBekJ5NEpWO0FzQmw3Skk7RUdrREEsbUNBVE07QXpCNDRKVjtBc0JyN0pJO0VHa0RBLHdCQVRNO0F6Qis0SlY7QXNCeDdKSTtFR2tEQSxtQ0FUTTtBekJrNUpWO0FzQjM3Skk7RUdrREEsbUNBVE07QXpCcTVKVjtBc0I5N0pJO0VHa0RBLHlCQVRNO0F6Qnc1SlY7QUd6NEpRO0VtQnBFTjtJRzhERSxZQVRNO0V6QjQ1SlI7RXNCNzhKQTtJRzBERSxZQVRNO0V6Qis1SlI7RXNCeDhKRTtJR2tEQSxrQ0FUTTtFekJrNkpSO0VzQjM4SkU7SUdrREEsbUNBVE07RXpCcTZKUjtFc0I5OEpFO0lHa0RBLHdCQVRNO0V6Qnc2SlI7RXNCajlKRTtJR2tEQSxtQ0FUTTtFekIyNkpSO0VzQnA5SkU7SUdrREEsbUNBVE07RXpCODZKUjtFc0J2OUpFO0lHa0RBLHdCQVRNO0V6Qmk3SlI7RXNCMTlKRTtJR2tEQSxtQ0FUTTtFekJvN0pSO0VzQjc5SkU7SUdrREEsbUNBVE07RXpCdTdKUjtFc0JoK0pFO0lHa0RBLHdCQVRNO0V6QjA3SlI7RXNCbitKRTtJR2tEQSxtQ0FUTTtFekI2N0pSO0VzQnQrSkU7SUdrREEsbUNBVE07RXpCZzhKUjtFc0J6K0pFO0lHa0RBLHlCQVRNO0V6Qm04SlI7QUFDRjtBR3I3SlE7RW1CcEVOO0lHOERFLFlBVE07RXpCdzhKUjtFc0J6L0pBO0lHMERFLFlBVE07RXpCMjhKUjtFc0JwL0pFO0lHa0RBLGtDQVRNO0V6Qjg4SlI7RXNCdi9KRTtJR2tEQSxtQ0FUTTtFekJpOUpSO0VzQjEvSkU7SUdrREEsd0JBVE07RXpCbzlKUjtFc0I3L0pFO0lHa0RBLG1DQVRNO0V6QnU5SlI7RXNCaGdLRTtJR2tEQSxtQ0FUTTtFekIwOUpSO0VzQm5nS0U7SUdrREEsd0JBVE07RXpCNjlKUjtFc0J0Z0tFO0lHa0RBLG1DQVRNO0V6QmcrSlI7RXNCemdLRTtJR2tEQSxtQ0FUTTtFekJtK0pSO0VzQjVnS0U7SUdrREEsd0JBVE07RXpCcytKUjtFc0IvZ0tFO0lHa0RBLG1DQVRNO0V6QnkrSlI7RXNCbGhLRTtJR2tEQSxtQ0FUTTtFekI0K0pSO0VzQnJoS0U7SUdrREEseUJBVE07RXpCKytKUjtBQUNGO0FHaitKUTtFbUJwRU47SUc4REUsWUFUTTtFekJvL0pSO0VzQnJpS0E7SUcwREUsWUFUTTtFekJ1L0pSO0VzQmhpS0U7SUdrREEsa0NBVE07RXpCMC9KUjtFc0JuaUtFO0lHa0RBLG1DQVRNO0V6QjYvSlI7RXNCdGlLRTtJR2tEQSx3QkFUTTtFekJnZ0tSO0VzQnppS0U7SUdrREEsbUNBVE07RXpCbWdLUjtFc0I1aUtFO0lHa0RBLG1DQVRNO0V6QnNnS1I7RXNCL2lLRTtJR2tEQSx3QkFUTTtFekJ5Z0tSO0VzQmxqS0U7SUdrREEsbUNBVE07RXpCNGdLUjtFc0JyaktFO0lHa0RBLG1DQVRNO0V6QitnS1I7RXNCeGpLRTtJR2tEQSx3QkFUTTtFekJraEtSO0VzQjNqS0U7SUdrREEsbUNBVE07RXpCcWhLUjtFc0I5aktFO0lHa0RBLG1DQVRNO0V6QndoS1I7RXNCamtLRTtJR2tEQSx5QkFUTTtFekIyaEtSO0FBQ0Y7QUd4Z0tRO0VtQnpFTjtJRzhERSxZQVRNO0V6QmdpS1I7RXNCamxLQTtJRzBERSxZQVRNO0V6Qm1pS1I7RXNCNWtLRTtJR2tEQSxrQ0FUTTtFekJzaUtSO0VzQi9rS0U7SUdrREEsbUNBVE07RXpCeWlLUjtFc0JsbEtFO0lHa0RBLHdCQVRNO0V6QjRpS1I7RXNCcmxLRTtJR2tEQSxtQ0FUTTtFekIraUtSO0VzQnhsS0U7SUdrREEsbUNBVE07RXpCa2pLUjtFc0IzbEtFO0lHa0RBLHdCQVRNO0V6QnFqS1I7RXNCOWxLRTtJR2tEQSxtQ0FUTTtFekJ3aktSO0VzQmptS0U7SUdrREEsbUNBVE07RXpCMmpLUjtFc0JwbUtFO0lHa0RBLHdCQVRNO0V6QjhqS1I7RXNCdm1LRTtJR2tEQSxtQ0FUTTtFekJpa0tSO0VzQjFtS0U7SUdrREEsbUNBVE07RXpCb2tLUjtFc0I3bUtFO0lHa0RBLHlCQVRNO0V6QnVrS1I7QUFDRjtBR3BqS1E7RW1CekVOO0lHOERFLFlBVE07RXpCNGtLUjtFc0I3bktBO0lHMERFLFlBVE07RXpCK2tLUjtFc0J4bktFO0lHa0RBLGtDQVRNO0V6QmtsS1I7RXNCM25LRTtJR2tEQSxtQ0FUTTtFekJxbEtSO0VzQjluS0U7SUdrREEsd0JBVE07RXpCd2xLUjtFc0Jqb0tFO0lHa0RBLG1DQVRNO0V6QjJsS1I7RXNCcG9LRTtJR2tEQSxtQ0FUTTtFekI4bEtSO0VzQnZvS0U7SUdrREEsd0JBVE07RXpCaW1LUjtFc0Ixb0tFO0lHa0RBLG1DQVRNO0V6Qm9tS1I7RXNCN29LRTtJR2tEQSxtQ0FUTTtFekJ1bUtSO0VzQmhwS0U7SUdrREEsd0JBVE07RXpCMG1LUjtFc0JucEtFO0lHa0RBLG1DQVRNO0V6QjZtS1I7RXNCdHBLRTtJR2tEQSxtQ0FUTTtFekJnbktSO0VzQnpwS0U7SUdrREEseUJBVE07RXpCbW5LUjtBQUNGO0FHaG1LUTtFbUJ6RU47SUc4REUsWUFUTTtFekJ3bktSO0VzQnpxS0E7SUcwREUsWUFUTTtFekIybktSO0VzQnBxS0U7SUdrREEsa0NBVE07RXpCOG5LUjtFc0J2cUtFO0lHa0RBLG1DQVRNO0V6QmlvS1I7RXNCMXFLRTtJR2tEQSx3QkFUTTtFekJvb0tSO0VzQjdxS0U7SUdrREEsbUNBVE07RXpCdW9LUjtFc0JocktFO0lHa0RBLG1DQVRNO0V6QjBvS1I7RXNCbnJLRTtJR2tEQSx3QkFUTTtFekI2b0tSO0VzQnRyS0U7SUdrREEsbUNBVE07RXpCZ3BLUjtFc0J6cktFO0lHa0RBLG1DQVRNO0V6Qm1wS1I7RXNCNXJLRTtJR2tEQSx3QkFUTTtFekJzcEtSO0VzQi9yS0U7SUdrREEsbUNBVE07RXpCeXBLUjtFc0Jsc0tFO0lHa0RBLG1DQVRNO0V6QjRwS1I7RXNCcnNLRTtJR2tEQSx5QkFUTTtFekIrcEtSO0FBQ0Y7O0FzQjk5SkU7RU9uVkU7RUFDQTtFQUNBO0VBbUNJO0VBdENKO0E3QjB6S0o7O0FzQmwrSkU7RUFDRTtBdEJxK0pKOztBc0JsK0pFO0VPL1JBO0VBQ0E7RUFKRTtFQURBO0E3QjR3S0o7O0FzQnIrSkU7RU9uU0E7RUFDQTtFQVBFO0VBREE7RUFEQTtBN0J3eEtKOztBc0J4K0pFO0VPaFNBO0VBQ0E7RUFDQTtBN0I0d0tGO0E2QjF3S0U7RUFFRTtFQURBO0E3QjZ3S0o7O0FHdHJLUTtFbUIyTUo7SU8zV0E7SUFDQTtJQUNBO0lBbUNJO0lBdENKO0U3QmcyS0Y7RXNCaC9KRTtJQUNFO0V0QmsvSko7RXNCLytKRTtJT3ZURjtJQUNBO0lBSkU7SUFEQTtFN0JnektGO0VzQmovSkU7SU9uVEY7SUFDQTtJQUNBO0U3QnV5S0E7RTZCcnlLQTtJQUVFO0lBREE7RTdCd3lLRjtFc0J0L0pFO0lPL1RGO0lBQ0E7SUFQRTtJQURBO0lBREE7RTdCbzBLRjtBQUNGO0FHenRLUTtFbUIyTUo7SU8zV0E7SUFDQTtJQUNBO0lBbUNJO0lBdENKO0U3Qms0S0Y7RXNCbGhLRTtJQUNFO0V0Qm9oS0o7RXNCamhLRTtJT3ZURjtJQUNBO0lBSkU7SUFEQTtFN0JrMUtGO0VzQm5oS0U7SU9uVEY7SUFDQTtJQUNBO0U3QnkwS0E7RTZCdjBLQTtJQUVFO0lBREE7RTdCMDBLRjtFc0J4aEtFO0lPL1RGO0lBQ0E7SUFQRTtJQURBO0lBREE7RTdCczJLRjtBQUNGO0FHM3ZLUTtFbUIyTUo7SU8zV0E7SUFDQTtJQUNBO0lBbUNJO0lBdENKO0U3Qm82S0Y7RXNCcGpLRTtJQUNFO0V0QnNqS0o7RXNCbmpLRTtJT3ZURjtJQUNBO0lBSkU7SUFEQTtFN0JvM0tGO0VzQnJqS0U7SU9uVEY7SUFDQTtJQUNBO0U3QjIyS0E7RTZCejJLQTtJQUVFO0lBREE7RTdCNDJLRjtFc0IxaktFO0lPL1RGO0lBQ0E7SUFQRTtJQURBO0lBREE7RTdCdzRLRjtBQUNGO0FHeHhLUTtFbUJzTUo7SU8zV0E7SUFDQTtJQUNBO0lBbUNJO0lBdENKO0U3QnM4S0Y7RXNCdGxLRTtJQUNFO0V0QndsS0o7RXNCcmxLRTtJT3ZURjtJQUNBO0lBSkU7SUFEQTtFN0JzNUtGO0VzQnZsS0U7SU9uVEY7SUFDQTtJQUNBO0U3QjY0S0E7RTZCMzRLQTtJQUVFO0lBREE7RTdCODRLRjtFc0I1bEtFO0lPL1RGO0lBQ0E7SUFQRTtJQURBO0lBREE7RTdCMDZLRjtBQUNGO0FHMXpLUTtFbUJzTUo7SU8zV0E7SUFDQTtJQUNBO0lBbUNJO0lBdENKO0U3QncrS0Y7RXNCeG5LRTtJQUNFO0V0QjBuS0o7RXNCdm5LRTtJT3ZURjtJQUNBO0lBSkU7SUFEQTtFN0J3N0tGO0VzQnpuS0U7SU9uVEY7SUFDQTtJQUNBO0U3Qis2S0E7RTZCNzZLQTtJQUVFO0lBREE7RTdCZzdLRjtFc0I5bktFO0lPL1RGO0lBQ0E7SUFQRTtJQURBO0lBREE7RTdCNDhLRjtBQUNGO0FHNTFLUTtFbUJzTUo7SU8zV0E7SUFDQTtJQUNBO0lBbUNJO0lBdENKO0U3QjBnTEY7RXNCMXBLRTtJQUNFO0V0QjRwS0o7RXNCenBLRTtJT3ZURjtJQUNBO0lBSkU7SUFEQTtFN0IwOUtGO0VzQjNwS0U7SU9uVEY7SUFDQTtJQUNBO0U3Qmk5S0E7RTZCLzhLQTtJQUVFO0lBREE7RTdCazlLRjtFc0JocUtFO0lPL1RGO0lBQ0E7SUFQRTtJQURBO0lBREE7RTdCOCtLRjtBQUNGO0FzQmpxS007RU9sWUY7RUFDQTtFQUNBO0VQa1lJO0VPaldBO0VBcENKO0E3QjRpTEo7QUczNEtRO0VtQndPQTtJT3hZSjtJQUNBO0lBQ0E7SVB3WU07SU92V0Y7SUFwQ0o7RTdCcWpMRjtBQUNGO0FHcjVLUTtFbUJ3T0E7SU94WUo7SUFDQTtJQUNBO0lQd1lNO0lPdldGO0lBcENKO0U3QitqTEY7QUFDRjtBRy81S1E7RW1Cd09BO0lPeFlKO0lBQ0E7SUFDQTtJUHdZTTtJT3ZXRjtJQXBDSjtFN0J5a0xGO0FBQ0Y7QUdwNktRO0VtQm1PQTtJT3hZSjtJQUNBO0lBQ0E7SVB3WU07SU92V0Y7SUFwQ0o7RTdCbWxMRjtBQUNGO0FHOTZLUTtFbUJtT0E7SU94WUo7SUFDQTtJQUNBO0lQd1lNO0lPdldGO0lBcENKO0U3QjZsTEY7QUFDRjtBR3g3S1E7RW1CbU9BO0lPeFlKO0lBQ0E7SUFDQTtJUHdZTTtJT3ZXRjtJQXBDSjtFN0J1bUxGO0FBQ0Y7O0FzQnZ0S007RUFDRTtBdEIwdEtSO0FHMzhLUTtFbUJvUEE7SUFDRTtFdEIwdEtSO0FBQ0Y7QUdoOUtRO0VtQm9QQTtJQUNFO0V0Qit0S1I7QUFDRjtBR3I5S1E7RW1Cb1BBO0lBQ0U7RXRCb3VLUjtBQUNGO0FHcjlLUTtFbUIrT0E7SUFDRTtFdEJ5dUtSO0FBQ0Y7QUcxOUtRO0VtQitPQTtJQUNFO0V0Qjh1S1I7QUFDRjtBRy85S1E7RW1CK09BO0lBQ0U7RXRCbXZLUjtBQUNGOztBc0JyaExFO0VFdkdNO0VBQUE7QXhCaW9MUjtBc0J0aExJO0VHa0NBLHlCQVRNO0VEM0hKO0VBQUE7QXhCNm5MTjtBc0J2akxFO0VHOERFLFlBVE07QXpCcWdMVjtBc0J0akxFO0VHMERFLFlBVE07QXpCd2dMVjtBc0JqakxJO0VHa0RBLGtDQVRNO0F6QjJnTFY7QXNCcGpMSTtFR2tEQSxtQ0FUTTtBekI4Z0xWO0FzQnZqTEk7RUdrREEsd0JBVE07QXpCaWhMVjtBc0IxakxJO0VHa0RBLG1DQVRNO0F6Qm9oTFY7QXNCN2pMSTtFR2tEQSxtQ0FUTTtBekJ1aExWO0FzQmhrTEk7RUdrREEsd0JBVE07QXpCMGhMVjtBc0Jua0xJO0VHa0RBLG1DQVRNO0F6QjZoTFY7QXNCdGtMSTtFR2tEQSxtQ0FUTTtBekJnaUxWO0FzQnprTEk7RUdrREEsd0JBVE07QXpCbWlMVjtBc0I1a0xJO0VHa0RBLG1DQVRNO0F6QnNpTFY7QXNCL2tMSTtFR2tEQSxtQ0FUTTtBekJ5aUxWO0FzQmxsTEk7RUdrREEseUJBVE07QXpCNGlMVjtBRzdoTFE7RW1CcEVOO0lHOERFLFlBVE07RXpCZ2pMUjtFc0JqbUxBO0lHMERFLFlBVE07RXpCbWpMUjtFc0I1bExFO0lHa0RBLGtDQVRNO0V6QnNqTFI7RXNCL2xMRTtJR2tEQSxtQ0FUTTtFekJ5akxSO0VzQmxtTEU7SUdrREEsd0JBVE07RXpCNGpMUjtFc0JybUxFO0lHa0RBLG1DQVRNO0V6QitqTFI7RXNCeG1MRTtJR2tEQSxtQ0FUTTtFekJra0xSO0VzQjNtTEU7SUdrREEsd0JBVE07RXpCcWtMUjtFc0I5bUxFO0lHa0RBLG1DQVRNO0V6QndrTFI7RXNCam5MRTtJR2tEQSxtQ0FUTTtFekIya0xSO0VzQnBuTEU7SUdrREEsd0JBVE07RXpCOGtMUjtFc0J2bkxFO0lHa0RBLG1DQVRNO0V6QmlsTFI7RXNCMW5MRTtJR2tEQSxtQ0FUTTtFekJvbExSO0VzQjduTEU7SUdrREEseUJBVE07RXpCdWxMUjtBQUNGO0FHemtMUTtFbUJwRU47SUc4REUsWUFUTTtFekI0bExSO0VzQjdvTEE7SUcwREUsWUFUTTtFekIrbExSO0VzQnhvTEU7SUdrREEsa0NBVE07RXpCa21MUjtFc0Izb0xFO0lHa0RBLG1DQVRNO0V6QnFtTFI7RXNCOW9MRTtJR2tEQSx3QkFUTTtFekJ3bUxSO0VzQmpwTEU7SUdrREEsbUNBVE07RXpCMm1MUjtFc0JwcExFO0lHa0RBLG1DQVRNO0V6QjhtTFI7RXNCdnBMRTtJR2tEQSx3QkFUTTtFekJpbkxSO0VzQjFwTEU7SUdrREEsbUNBVE07RXpCb25MUjtFc0I3cExFO0lHa0RBLG1DQVRNO0V6QnVuTFI7RXNCaHFMRTtJR2tEQSx3QkFUTTtFekIwbkxSO0VzQm5xTEU7SUdrREEsbUNBVE07RXpCNm5MUjtFc0J0cUxFO0lHa0RBLG1DQVRNO0V6QmdvTFI7RXNCenFMRTtJR2tEQSx5QkFUTTtFekJtb0xSO0FBQ0Y7QUdybkxRO0VtQnBFTjtJRzhERSxZQVRNO0V6QndvTFI7RXNCenJMQTtJRzBERSxZQVRNO0V6QjJvTFI7RXNCcHJMRTtJR2tEQSxrQ0FUTTtFekI4b0xSO0VzQnZyTEU7SUdrREEsbUNBVE07RXpCaXBMUjtFc0IxckxFO0lHa0RBLHdCQVRNO0V6Qm9wTFI7RXNCN3JMRTtJR2tEQSxtQ0FUTTtFekJ1cExSO0VzQmhzTEU7SUdrREEsbUNBVE07RXpCMHBMUjtFc0Juc0xFO0lHa0RBLHdCQVRNO0V6QjZwTFI7RXNCdHNMRTtJR2tEQSxtQ0FUTTtFekJncUxSO0VzQnpzTEU7SUdrREEsbUNBVE07RXpCbXFMUjtFc0I1c0xFO0lHa0RBLHdCQVRNO0V6QnNxTFI7RXNCL3NMRTtJR2tEQSxtQ0FUTTtFekJ5cUxSO0VzQmx0TEU7SUdrREEsbUNBVE07RXpCNHFMUjtFc0JydExFO0lHa0RBLHlCQVRNO0V6QitxTFI7QUFDRjtBRzVwTFE7RW1CekVOO0lHOERFLFlBVE07RXpCb3JMUjtFc0JydUxBO0lHMERFLFlBVE07RXpCdXJMUjtFc0JodUxFO0lHa0RBLGtDQVRNO0V6QjByTFI7RXNCbnVMRTtJR2tEQSxtQ0FUTTtFekI2ckxSO0VzQnR1TEU7SUdrREEsd0JBVE07RXpCZ3NMUjtFc0J6dUxFO0lHa0RBLG1DQVRNO0V6Qm1zTFI7RXNCNXVMRTtJR2tEQSxtQ0FUTTtFekJzc0xSO0VzQi91TEU7SUdrREEsd0JBVE07RXpCeXNMUjtFc0JsdkxFO0lHa0RBLG1DQVRNO0V6QjRzTFI7RXNCcnZMRTtJR2tEQSxtQ0FUTTtFekIrc0xSO0VzQnh2TEU7SUdrREEsd0JBVE07RXpCa3RMUjtFc0IzdkxFO0lHa0RBLG1DQVRNO0V6QnF0TFI7RXNCOXZMRTtJR2tEQSxtQ0FUTTtFekJ3dExSO0VzQmp3TEU7SUdrREEseUJBVE07RXpCMnRMUjtBQUNGO0FHeHNMUTtFbUJ6RU47SUc4REUsWUFUTTtFekJndUxSO0VzQmp4TEE7SUcwREUsWUFUTTtFekJtdUxSO0VzQjV3TEU7SUdrREEsa0NBVE07RXpCc3VMUjtFc0Ivd0xFO0lHa0RBLG1DQVRNO0V6Qnl1TFI7RXNCbHhMRTtJR2tEQSx3QkFUTTtFekI0dUxSO0VzQnJ4TEU7SUdrREEsbUNBVE07RXpCK3VMUjtFc0J4eExFO0lHa0RBLG1DQVRNO0V6Qmt2TFI7RXNCM3hMRTtJR2tEQSx3QkFUTTtFekJxdkxSO0VzQjl4TEU7SUdrREEsbUNBVE07RXpCd3ZMUjtFc0JqeUxFO0lHa0RBLG1DQVRNO0V6QjJ2TFI7RXNCcHlMRTtJR2tEQSx3QkFUTTtFekI4dkxSO0VzQnZ5TEU7SUdrREEsbUNBVE07RXpCaXdMUjtFc0IxeUxFO0lHa0RBLG1DQVRNO0V6Qm93TFI7RXNCN3lMRTtJR2tEQSx5QkFUTTtFekJ1d0xSO0FBQ0Y7QUdwdkxRO0VtQnpFTjtJRzhERSxZQVRNO0V6QjR3TFI7RXNCN3pMQTtJRzBERSxZQVRNO0V6Qit3TFI7RXNCeHpMRTtJR2tEQSxrQ0FUTTtFekJreExSO0VzQjN6TEU7SUdrREEsbUNBVE07RXpCcXhMUjtFc0I5ekxFO0lHa0RBLHdCQVRNO0V6Qnd4TFI7RXNCajBMRTtJR2tEQSxtQ0FUTTtFekIyeExSO0VzQnAwTEU7SUdrREEsbUNBVE07RXpCOHhMUjtFc0J2MExFO0lHa0RBLHdCQVRNO0V6Qml5TFI7RXNCMTBMRTtJR2tEQSxtQ0FUTTtFekJveUxSO0VzQjcwTEU7SUdrREEsbUNBVE07RXpCdXlMUjtFc0JoMUxFO0lHa0RBLHdCQVRNO0V6QjB5TFI7RXNCbjFMRTtJR2tEQSxtQ0FUTTtFekI2eUxSO0VzQnQxTEU7SUdrREEsbUNBVE07RXpCZ3pMUjtFc0J6MUxFO0lHa0RBLHlCQVRNO0V6Qm16TFI7QUFDRjs7QXNCemlMSTtFT3RZSTtBN0JtN0xSO0FHenlMUTtFbUI0UEo7SU90WUk7RTdCdTdMTjtBQUNGO0FHOXlMUTtFbUI0UEo7SU90WUk7RTdCNDdMTjtBQUNGO0FHbnpMUTtFbUI0UEo7SU90WUk7RTdCaThMTjtBQUNGO0FHbnpMUTtFbUJ1UEo7SU90WUk7RTdCczhMTjtBQUNGO0FHeHpMUTtFbUJ1UEo7SU90WUk7RTdCMjhMTjtBQUNGO0FHN3pMUTtFbUJ1UEo7SU90WUk7RTdCZzlMTjtBQUNGOztBR3YwTFE7RW1CZ1FGO0lPMVlFO0U3QnM5TE47QUFDRjtBRzcwTFE7RW1CZ1FGO0lPMVlFO0U3QjI5TE47QUFDRjtBR2wxTFE7RW1CZ1FGO0lPMVlFO0U3QmcrTE47QUFDRjtBR2wxTFE7RW1CMlBGO0lPMVlFO0U3QnErTE47QUFDRjtBR3YxTFE7RW1CMlBGO0lPMVlFO0U3QjArTE47QUFDRjtBRzUxTFE7RW1CMlBGO0lPMVlFO0U3QisrTE47QUFDRjtBOEI3c0xFO0VBck5BO0VBckJBO0VBRUEsU3ZCNk1jO0V1Qm5NWixxQnZCa01hO0V1Qi9MZixTdkJ1TWM7RXVCdE1kLHNCdkJoQmM7RXVCb0JkLGdCdkJ4QnFCO0V1QnVCckI7RUFHQTtFQUpBLG9CdkIwTG1CO0V1QnJMbkI7RUF0QkE7RUF1QkE7RUFQQSxpRXZCaU5rQjtBUHF1THBCO0FRaDJMRTtFQUNFO0FSazJMSjtBOEIzdExNO0VBQ0UsaUJBRm1CO0E5Qit0TDNCO0E4Qjl0TE07RUFDRSxrQkFGbUI7QTlCa3VMM0I7QThCanVMTTtFQUNFLGtCQUZtQjtBOUJxdUwzQjtBOEIvdExJO0VBck5BO0VBQ0E7RUFDQTtFQUNBO0E5QnU3TEo7QThCdDNMRTtFQUlFLHlCWmhGZ0I7RVlpRmhCLGN2QnRISTtBUDIrTFI7QThCbDNMRTtFQUNFLHlCdkIzSEk7RXVCNEhKLGN2QjNISTtBUCsrTFI7QThCOTNMRTtFQUlFLHlCdkJqSWlCO0V1QmtJakIsY0FiUTtBOUIwNExaO0E4QjEzTEU7RUFDRSx5QkFibUI7RUFjbkIsY0FsQlE7QTlCODRMWjtBOEJ0NExFO0VBSUUseUJ2QmpJaUI7RXVCa0lqQixjQWJRO0E5Qms1TFo7QThCbDRMRTtFQUNFLHlCQWJtQjtFQWNuQixjQWxCUTtBOUJzNUxaO0E4Qjk0TEU7RUFJRSx5QnZCaklpQjtFdUJrSWpCLGNBYlE7QTlCMDVMWjtBOEIxNExFO0VBQ0UseUJBYm1CO0VBY25CLGNBbEJRO0E5Qjg1TFo7QThCdDVMRTtFQUlFLHlCdkJqSWlCO0V1QmtJakIsY0FiUTtBOUJrNkxaO0E4Qmw1TEU7RUFDRSx5QkFibUI7RUFjbkIsY0FsQlE7QTlCczZMWjtBOEI5NUxFO0VBSUUseUJ2QmpJaUI7RXVCa0lqQixjQWJRO0E5QjA2TFo7QThCMTVMRTtFQUNFLHlCQWJtQjtFQWNuQixjQWxCUTtBOUI4NkxaO0E4QnA1TEk7RUFDRTtBOUJzNUxOO0E4QnI0TEU7RUFJRTtFQUNBLGNackhnQjtBbEJ5L0xwQjtBOEJqNExFO0VBQ0UscUJBWlk7RUFhWixjQWJZO0E5Qmc1TGhCO0E4Qjc0TEU7RUFJRTtFQUNBLGN2QnRLaUI7QVBrak1yQjtBOEJ6NExFO0VBQ0UscUJBWlk7RUFhWixjQWJZO0E5Qnc1TGhCO0E4QnI1TEU7RUFJRTtFQUNBLGN2QnRLaUI7QVAwak1yQjtBOEJqNUxFO0VBQ0UscUJBWlk7RUFhWixjQWJZO0E5Qmc2TGhCO0E4Qjc1TEU7RUFJRTtFQUNBLGN2QnRLaUI7QVBra01yQjtBOEJ6NUxFO0VBQ0UscUJBWlk7RUFhWixjQWJZO0E5Qnc2TGhCO0E4QnI2TEU7RUFJRTtFQUNBLGN2QnRLaUI7QVAwa01yQjtBOEJqNkxFO0VBQ0UscUJBWlk7RUFhWixjQWJZO0E5Qmc3TGhCO0E4Qjc2TEU7RUFJRTtFQUNBLGN2QnRLaUI7QVBrbE1yQjtBOEJ6NkxFO0VBQ0UscUJBWlk7RUFhWixjQWJZO0E5Qnc3TGhCO0E4Qm42TEk7RUFDRTtFQUNBO0E5QnE2TE47QThCdDVMRTtFQUlFLGNadkpnQjtBbEI0aU1wQjtBOEJsNUxFO0VBQ0UsY0FYWTtBOUIrNUxoQjtBOEI1NUxFO0VBSUUsY3ZCeE1pQjtBUG1tTXJCO0E4Qng1TEU7RUFDRSxjQVhZO0E5QnE2TGhCO0E4Qmw2TEU7RUFJRSxjdkJ4TWlCO0FQeW1NckI7QThCOTVMRTtFQUNFLGNBWFk7QTlCMjZMaEI7QThCeDZMRTtFQUlFLGN2QnhNaUI7QVArbU1yQjtBOEJwNkxFO0VBQ0UsY0FYWTtBOUJpN0xoQjtBOEI5NkxFO0VBSUUsY3ZCeE1pQjtBUHFuTXJCO0E4QjE2TEU7RUFDRSxjQVhZO0E5QnU3TGhCO0E4QnA3TEU7RUFJRSxjdkJ4TWlCO0FQMm5NckI7QThCaDdMRTtFQUNFLGNBWFk7QTlCNjdMaEI7QThCdDBMSTtFQWxHRjtFQURBLGF2Qm9Dd0I7QVB5NEwxQjtBOEJoNkxFO0V0QjdQQTtFc0JrUUU7RUFIQTtFQUNBO0V0Qi9QRjtFQUNBO0VzQmtRRSxrQkFUTztFQVFQO0V0QjlQRixtQnNCb1BPO0V0Qi9PTDtFQU5GO0VBT0U7RUFKRjtBUnFxTUY7QThCMTBMUTtFQUNFLHlCWnZSVTtBbEJtbU1wQjtBOEJ2MExZO0VBQ0UseUJ2QjlVTztBUHVwTXJCO0E4QjEwTFk7RUFDRSx5QnZCOVVPO0FQMHBNckI7QThCNzBMWTtFQUNFLHlCdkI5VU87QVA2cE1yQjtBOEJoMUxZO0VBQ0UseUJ2QjlVTztBUGdxTXJCO0E4Qm4xTFk7RUFDRSx5QnZCOVVPO0FQbXFNckI7QThCNzBMSTtFQUNFO0VBRUE7RUFEQTtBOUJnMUxOOztBOEIxMExJO0VBRUU7QTlCNDBMTjs7QStCcDhMRTtFQTdHQTtFQUNBLHFCeEIxR2M7RXdCMkdkLHNCeEJuR2M7RXdCZ0dkO0EvQnlqTUY7QStCOW9NRTs7O0VBR0UseUJ4QndyQlc7RXdCdnJCWCx5QnhCN0JJO0FQNnFNUjs7QStCNW9NRTtFQUNFLGlDeEJtckJZO0V3QmxyQlosZ0J4QnhCaUI7QVB1cU1yQjs7QStCM29NRTtFQUNFLG1CeEJvckJvQjtFd0JuckJwQixjeEJ2Q2M7QVBxck1sQjs7QStCMW9NRTtFQUNFLG1CeEJnckJvQjtFd0IvcUJwQixjeEI3Q2M7QVAwck1sQjs7QStCdG9NSTs7RUFDRTtBL0Iwb01OO0ErQnRvTUk7Ozs7RUFFRSxpQ3hCd3BCVTtFd0J2cEJWLGdCeEJuRGU7RXdCb0RmO0EvQjBvTU47O0ErQnBvTUk7O0VBRUUsaUN4QjhvQlU7QVB5L0toQjs7QStCNXNNTTtFQUNFO0VBQ0EseUJ4QnN0Qm1CO0FQeS9LM0I7O0ErQmpvTU07RUFFRSx5QnhCcEZBO0FQdXRNUjtBK0Jyc01FO0VBQ0UsZ0N4QmlzQlc7RXdCaHNCWCx5QnhCcEJJO0FQMnRNUjs7QUc1bk1RO0U0QndHSjtJQUNFO0UvQndoTUo7RStCcGhNQTtJQUNFO0UvQnNoTUY7RStCbmhNQTs7O0lBR0U7RS9CcWhNRjtFK0JsaE1BO0lBQ0U7RS9Cb2hNRjtBQUNGOztBK0J0Z01FO0VBdkdBO0VBQ0E7RUFDQTtBL0Jpbk1GOztBK0IxbU1JO0VBQ0UseUJ4Qm9sQmlCO0FQeWhMdkI7QStCdm1NSTtFQUNFLHlCeEIra0JpQjtBUDBoTHZCO0ErQm5tTUk7RUFDRSx5QnhCZ2tCWTtBUHFpTGxCO0ErQjlsTU07RUFDRSx5QnhCeWpCaUI7QVB1aUx6Qjs7QStCamhNRTtFQUNFO0EvQm9oTUo7O0FnQzN5TUU7O0VBbkJBO0VBQ0E7RUFDQSxnQnpCc3RCK0I7RXlCcnRCL0I7RUFDQTtBaENtME1GO0FnQ2owTUU7Ozs7Ozs7O0VBSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEN1ME1KO0FnQzN6TU07O0VBQ0U7QWhDOHpNUjs7QWlDaHlNSTtFQU1FO0FqQzh4TU47QWlDM3hNSTtFQUlFLFUxQnFLa0I7QVBxbk14QjtBaUN2eE1JO0VBQ0UsVTFCaUtrQjtBUHduTXhCO0FpQ3R4TUk7RUNvSUE7RUFDQSxpQjNCdkl3QjtBUDR4TTVCO0FpQ3J4TU07RUMySEYsa0IzQmxJd0I7RTJCbUl4QjtBbEM2cE1KOztBaUNud01FO0VBQ0U7QWpDc3dNSjs7QWlDbndNRTtFQUNFLGtCMUJ1SWlDO0FQK25NckM7O0FpQ2x3TUU7RUFDRTtFQUNBO0VBQ0E7RUFFQSxXMUI4SGlDO0UwQjdIakMsWTFCNkhpQztFMEIzSGpDO0FqQ213TUo7QWlDMXZNSTtFekI5R0Y7RXlCaUhJO0VBQ0E7RXpCakhKO0VBQ0E7RXlCaUhJO0V6QjlHSixpQkQ2TnlCO0VDeE52QjtFQU5GO0VBT0U7RUFKRjtBUjgyTUY7O0FpQzd2TUU7RUFDRTtFQUNBO0FqQ2d3TUo7O0FpQzd2TUU7RXpCbURBO0VBTEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBREE7QVJvdE1GOztBbUN2MU1FO0VBQ0U7QW5DMDFNSjs7QW1DdDFNRTtFQWNFO0VBVkEsZTVCb2J1QjtFNEJ2YnZCO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFTQTtFQUxBLGtDNUJvYndCO0U0QmxieEI7RUFKQTtBbkMyMU1KO0FtQ2wxTUk7RUFFRTtFQURBO0FuQ3ExTU47QW1DajFNSTtFQUNFO0FuQ20xTU47QW1DaDFNSTtFQUNFO0FuQ2sxTU47QW1DLzBNSTtFQUNFO0FuQ2kxTU47O0FtQy9nTUU7RUEzVEE7RUFDQTtBbkM4ME1GOztBbUMvZ01FO0VBNVNBLGU1QjhYc0I7RTRCcllwQjtFQWVGO0VBRUEsbUJqQjVDa0I7RWlCeUNsQjtBbkM0ek1GO0FRcnhNRTtFQUNFO0FSdXhNSjtBbUNuME1FO0VBQ0UsZTVCMFhvQjtBUDI4THhCO0FtQzV6TUU7RUFDRTtBbkM4ek1KO0FtQzF6TUU7RUFDRSxlNUI0V3VCO0FQZzlMM0I7QW1DMXpNSTtFQUNFLGdCNUJvV2E7QVB3OUxuQjtBbUN2ek1FO0VBQ0U7QW5DeXpNSjs7QW1DOWhNRTtFQXZUQSxlNUI4WHNCO0U0QmxZcEI7RUFZRjtFQUVBLG1CakI1Q2tCO0VpQnlDbEI7QW5DczFNRjtBUS95TUU7RUFDRTtBUml6TUo7QW1DNzFNRTtFQUNFLGU1QjBYb0I7QVBxK0x4QjtBbUN0MU1FO0VBQ0U7QW5DdzFNSjtBbUNwMU1FO0VBQ0UsZTVCNFd1QjtBUDArTDNCO0FtQ3AxTUk7RUFDRSxnQjVCb1dhO0FQay9MbkI7QW1DajFNRTtFQUNFO0FuQ20xTUo7O0FtQ25qTUU7RUFqUkU7RUFKQTtFQUNBO0VBT0ksWUFYRTtFQUtOO0VBQ0E7RUFNSTtBbkN5ME1SO0FtQ3AwTWE7RUFJSDtBbkNtME1WO0FtQ2gwTU07RUFDRTtBbkNrME1SOztBbUM1ek1NO0VBR007QW5DNnpNWjs7QW1DbnNNSTtFM0I5VEE7QVJxZ05KOztBbUMxa01FO0VBNU9FO0VBSkE7RUFDQTtFQU9JLFlBakRFO0VBMkNOO0VBQ0E7RUFNSTtBbkMyek1SO0FtQ3R6TWE7RUFJSDtBbkNxek1WO0FtQ2x6TU07RUFDRTtBbkNvek1SOztBbUM5eU1NO0VBR007QW5DK3lNWjs7QW1DM3RNSTtFM0JoVUE7QVIraE5KOztBbUNqbU1FO0VBdk1FO0VBSkE7RUFDQTtFQUNBO0VBTUksYUF2RkU7RUFrRk47RUFNSTtBbkM2eU1SO0FtQ3h5TWE7RUFHSDtBbkN3eU1WO0FtQ3J5TU07RUFDRTtBbkN1eU1SOztBbUNqeU1NO0VBR007QW5Da3lNWjs7QW1DbnZNSTtFM0I1VEE7QVJtak5KOztBbUN4bk1FO0VBbktFO0VBSkE7RUFDQTtFQUNBO0VBTUksYUE1SEU7RUF1SE47RUFNSTtBbkNneU1SO0FtQzN4TWE7RUFHSDtBbkMyeE1WO0FtQ3h4TU07RUFDRTtBbkMweE1SOztBbUNweE1NO0VBR007QW5DcXhNWjs7QW1DM3dNSTtFM0JsVUE7QVJpbE5KOztBbUM5b01FO0VBN0dBO0VBQ0E7QW5DK3ZNRjtBbUM1dk1FO0VBRUU7QW5DNnZNSjtBbUN6dk1FO0VBQ0U7QW5DMnZNSjtBbUN2dk1FO0VBQ0U7QW5DeXZNSjs7QUdyOE1RO0VnQ2lUQTtJQXZGTjtJQUZBLGU1QmdKd0I7STRCakp4QjtJQUVBO0VuQ292TUE7RW1DN3VNQTtJQUNFO0VuQyt1TUY7RW1DM3VNQTtJQUNFO0VuQzZ1TUY7RW1DMXVNUztJQUNQO0VuQzR1TUY7RW1DeHVNQTtJQUNFO0VuQzB1TUY7RW1DcHFNTTtJQTNGTjtJQUZBLGU1QmdKd0I7STRCakp4QjtJQUVBO0VuQ3N3TUE7RW1DL3ZNQTtJQUNFO0VuQ2l3TUY7RW1DN3ZNQTtJQUNFO0VuQyt2TUY7RW1DNXZNUztJQUNQO0VuQzh2TUY7RW1DMXZNQTtJQUNFO0VuQzR2TUY7RW1DbHJNTTtJQS9GTjtJQUZBLGU1QmdKd0I7STRCakp4QjtJQUVBO0VuQ3d4TUE7RW1DanhNQTtJQUNFO0VuQ214TUY7RW1DL3dNQTtJQUNFO0VuQ2l4TUY7RW1DOXdNUztJQUNQO0VuQ2d4TUY7RW1DNXdNQTtJQUNFO0VuQzh3TUY7RW1DaHNNTTtJQW5HTjtJQUZBLGU1QmdKd0I7STRCakp4QjtJQUVBO0VuQzB5TUE7RW1DbnlNQTtJQUNFO0VuQ3F5TUY7RW1DanlNQTtJQUNFO0VuQ215TUY7RW1DaHlNUztJQUNQO0VuQ2t5TUY7RW1DOXhNQTtJQUNFO0VuQ2d5TUY7QUFDRjtBR2hoTlE7RWdDaVRBO0lBdkZOO0lBRkEsZTVCZ0p3QjtJNEJqSnhCO0lBRUE7RW5DOHpNQTtFbUN2ek1BO0lBQ0U7RW5DeXpNRjtFbUNyek1BO0lBQ0U7RW5DdXpNRjtFbUNwek1TO0lBQ1A7RW5Dc3pNRjtFbUNsek1BO0lBQ0U7RW5Db3pNRjtFbUM5dU1NO0lBM0ZOO0lBRkEsZTVCZ0p3QjtJNEJqSnhCO0lBRUE7RW5DZzFNQTtFbUN6ME1BO0lBQ0U7RW5DMjBNRjtFbUN2ME1BO0lBQ0U7RW5DeTBNRjtFbUN0ME1TO0lBQ1A7RW5DdzBNRjtFbUNwME1BO0lBQ0U7RW5DczBNRjtFbUM1dk1NO0lBL0ZOO0lBRkEsZTVCZ0p3QjtJNEJqSnhCO0lBRUE7RW5DazJNQTtFbUMzMU1BO0lBQ0U7RW5DNjFNRjtFbUN6MU1BO0lBQ0U7RW5DMjFNRjtFbUN4MU1TO0lBQ1A7RW5DMDFNRjtFbUN0MU1BO0lBQ0U7RW5DdzFNRjtFbUMxd01NO0lBbkdOO0lBRkEsZTVCZ0p3QjtJNEJqSnhCO0lBRUE7RW5DbzNNQTtFbUM3Mk1BO0lBQ0U7RW5DKzJNRjtFbUMzMk1BO0lBQ0U7RW5DNjJNRjtFbUMxMk1TO0lBQ1A7RW5DNDJNRjtFbUN4Mk1BO0lBQ0U7RW5DMDJNRjtBQUNGO0FHMWxOUTtFZ0NpVEE7SUF2Rk47SUFGQSxlNUJnSndCO0k0QmpKeEI7SUFFQTtFbkN3NE1BO0VtQ2o0TUE7SUFDRTtFbkNtNE1GO0VtQy8zTUE7SUFDRTtFbkNpNE1GO0VtQzkzTVM7SUFDUDtFbkNnNE1GO0VtQzUzTUE7SUFDRTtFbkM4M01GO0VtQ3h6TU07SUEzRk47SUFGQSxlNUJnSndCO0k0QmpKeEI7SUFFQTtFbkMwNU1BO0VtQ241TUE7SUFDRTtFbkNxNU1GO0VtQ2o1TUE7SUFDRTtFbkNtNU1GO0VtQ2g1TVM7SUFDUDtFbkNrNU1GO0VtQzk0TUE7SUFDRTtFbkNnNU1GO0VtQ3QwTU07SUEvRk47SUFGQSxlNUJnSndCO0k0QmpKeEI7SUFFQTtFbkM0Nk1BO0VtQ3I2TUE7SUFDRTtFbkN1Nk1GO0VtQ242TUE7SUFDRTtFbkNxNk1GO0VtQ2w2TVM7SUFDUDtFbkNvNk1GO0VtQ2g2TUE7SUFDRTtFbkNrNk1GO0VtQ3AxTU07SUFuR047SUFGQSxlNUJnSndCO0k0QmpKeEI7SUFFQTtFbkM4N01BO0VtQ3Y3TUE7SUFDRTtFbkN5N01GO0VtQ3I3TUE7SUFDRTtFbkN1N01GO0VtQ3A3TVM7SUFDUDtFbkNzN01GO0VtQ2w3TUE7SUFDRTtFbkNvN01GO0FBQ0Y7QUcvcE5RO0VnQzRTQTtJQXZGTjtJQUZBLGU1QmdKd0I7STRCakp4QjtJQUVBO0VuQ2s5TUE7RW1DMzhNQTtJQUNFO0VuQzY4TUY7RW1DejhNQTtJQUNFO0VuQzI4TUY7RW1DeDhNUztJQUNQO0VuQzA4TUY7RW1DdDhNQTtJQUNFO0VuQ3c4TUY7RW1DbDRNTTtJQTNGTjtJQUZBLGU1QmdKd0I7STRCakp4QjtJQUVBO0VuQ28rTUE7RW1DNzlNQTtJQUNFO0VuQys5TUY7RW1DMzlNQTtJQUNFO0VuQzY5TUY7RW1DMTlNUztJQUNQO0VuQzQ5TUY7RW1DeDlNQTtJQUNFO0VuQzA5TUY7RW1DaDVNTTtJQS9GTjtJQUZBLGU1QmdKd0I7STRCakp4QjtJQUVBO0VuQ3MvTUE7RW1DLytNQTtJQUNFO0VuQ2kvTUY7RW1DNytNQTtJQUNFO0VuQysrTUY7RW1DNStNUztJQUNQO0VuQzgrTUY7RW1DMStNQTtJQUNFO0VuQzQrTUY7RW1DOTVNTTtJQW5HTjtJQUZBLGU1QmdKd0I7STRCakp4QjtJQUVBO0VuQ3dnTkE7RW1DamdOQTtJQUNFO0VuQ21nTkY7RW1DLy9NQTtJQUNFO0VuQ2lnTkY7RW1DOS9NUztJQUNQO0VuQ2dnTkY7RW1DNS9NQTtJQUNFO0VuQzgvTUY7QUFDRjtBR3p1TlE7RWdDNFNBO0lBdkZOO0lBRkEsZTVCZ0p3QjtJNEJqSnhCO0lBRUE7RW5DNGhOQTtFbUNyaE5BO0lBQ0U7RW5DdWhORjtFbUNuaE5BO0lBQ0U7RW5DcWhORjtFbUNsaE5TO0lBQ1A7RW5Db2hORjtFbUNoaE5BO0lBQ0U7RW5Da2hORjtFbUM1OE1NO0lBM0ZOO0lBRkEsZTVCZ0p3QjtJNEJqSnhCO0lBRUE7RW5DOGlOQTtFbUN2aU5BO0lBQ0U7RW5DeWlORjtFbUNyaU5BO0lBQ0U7RW5DdWlORjtFbUNwaU5TO0lBQ1A7RW5Dc2lORjtFbUNsaU5BO0lBQ0U7RW5Db2lORjtFbUMxOU1NO0lBL0ZOO0lBRkEsZTVCZ0p3QjtJNEJqSnhCO0lBRUE7RW5DZ2tOQTtFbUN6ak5BO0lBQ0U7RW5DMmpORjtFbUN2ak5BO0lBQ0U7RW5DeWpORjtFbUN0ak5TO0lBQ1A7RW5Dd2pORjtFbUNwak5BO0lBQ0U7RW5Dc2pORjtFbUN4K01NO0lBbkdOO0lBRkEsZTVCZ0p3QjtJNEJqSnhCO0lBRUE7RW5Da2xOQTtFbUMza05BO0lBQ0U7RW5DNmtORjtFbUN6a05BO0lBQ0U7RW5DMmtORjtFbUN4a05TO0lBQ1A7RW5DMGtORjtFbUN0a05BO0lBQ0U7RW5Dd2tORjtBQUNGO0FHbnpOUTtFZ0M0U0E7SUF2Rk47SUFGQSxlNUJnSndCO0k0QmpKeEI7SUFFQTtFbkNzbU5BO0VtQy9sTkE7SUFDRTtFbkNpbU5GO0VtQzdsTkE7SUFDRTtFbkMrbE5GO0VtQzVsTlM7SUFDUDtFbkM4bE5GO0VtQzFsTkE7SUFDRTtFbkM0bE5GO0VtQ3RoTk07SUEzRk47SUFGQSxlNUJnSndCO0k0QmpKeEI7SUFFQTtFbkN3bk5BO0VtQ2puTkE7SUFDRTtFbkNtbk5GO0VtQy9tTkE7SUFDRTtFbkNpbk5GO0VtQzltTlM7SUFDUDtFbkNnbk5GO0VtQzVtTkE7SUFDRTtFbkM4bU5GO0VtQ3BpTk07SUEvRk47SUFGQSxlNUJnSndCO0k0QmpKeEI7SUFFQTtFbkMwb05BO0VtQ25vTkE7SUFDRTtFbkNxb05GO0VtQ2pvTkE7SUFDRTtFbkNtb05GO0VtQ2hvTlM7SUFDUDtFbkNrb05GO0VtQzluTkE7SUFDRTtFbkNnb05GO0VtQ2xqTk07SUFuR047SUFGQSxlNUJnSndCO0k0QmpKeEI7SUFFQTtFbkM0cE5BO0VtQ3JwTkE7SUFDRTtFbkN1cE5GO0VtQ25wTkE7SUFDRTtFbkNxcE5GO0VtQ2xwTlM7SUFDUDtFbkNvcE5GO0VtQ2hwTkE7SUFDRTtFbkNrcE5GO0FBQ0Y7QUdsNE5RO0VnQ3dVQTtJQW5GTjtJQUVBO0lBRUE7SUFIQTtJQUlBO0lBRkE7SUFHQTtFbkNpcE5BO0VtQzlvTkE7SUFLRTtJQURBO0VuQzhvTkY7RW1DMW9OQTtJQUNFO0VuQzRvTkY7QUFDRjtBR3A1TlE7RWdDd1VBO0lBbkZOO0lBRUE7SUFFQTtJQUhBO0lBSUE7SUFGQTtJQUdBO0VuQ21xTkE7RW1DaHFOQTtJQUtFO0lBREE7RW5DZ3FORjtFbUM1cE5BO0lBQ0U7RW5DOHBORjtBQUNGO0FHdDZOUTtFZ0N3VUE7SUFuRk47SUFFQTtJQUVBO0lBSEE7SUFJQTtJQUZBO0lBR0E7RW5DcXJOQTtFbUNsck5BO0lBS0U7SUFEQTtFbkNrck5GO0VtQzlxTkE7SUFDRTtFbkNnck5GO0FBQ0Y7QUduN05RO0VnQ21VQTtJQW5GTjtJQUVBO0lBRUE7SUFIQTtJQUlBO0lBRkE7SUFHQTtFbkN1c05BO0VtQ3BzTkE7SUFLRTtJQURBO0VuQ29zTkY7RW1DaHNOQTtJQUNFO0VuQ2tzTkY7QUFDRjtBR3I4TlE7RWdDbVVBO0lBbkZOO0lBRUE7SUFFQTtJQUhBO0lBSUE7SUFGQTtJQUdBO0VuQ3l0TkE7RW1DdHROQTtJQUtFO0lBREE7RW5Dc3RORjtFbUNsdE5BO0lBQ0U7RW5Db3RORjtBQUNGO0FHdjlOUTtFZ0NtVUE7SUFuRk47SUFFQTtJQUVBO0lBSEE7SUFJQTtJQUZBO0lBR0E7RW5DMnVOQTtFbUN4dU5BO0lBS0U7SUFEQTtFbkN3dU5GO0VtQ3B1TkE7SUFDRTtFbkNzdU5GO0FBQ0Y7QUk1aE9FO0VBQ0U7RUFDQTtFQUNBO0FKOGhPSjtBSTVoT0k7RUFFRTtFQURBO0FKK2hPTjtBSTNoT0k7RUFDRTtBSjZoT047O0FJeGhPRTtFQW5GQTtFQUhBO0VBRkEsbUJHbXNCYztFSHhzQmQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUtBO0VBREEsd0NHK2QwQjtBUDJwTjVCOztBSWhpT0U7RUFRRTtFQXRGRjtFQUpBO0VBcUZFO0VBQ0E7RUFDQTtFQUNBO0VBbkZGLGVHY2U7RUhzRWI7RUFsRkYsU0crcUJjO0VIOXFCZCxzQkdrQmM7RUh4QmQ7RUFPQSx5QkdHTTtBUHNuT1I7QVFqZ09FO0VBQ0U7QVJtZ09KO0FHMWhPUTtFQ3pCTjtJQXRFRTtFSjZuT0Y7QUFDRjtBSTFuT0U7RUFDRTtBSjRuT0o7QUl4bk9FO0VBQ0U7QUowbk9KO0FHcmlPUTtFQ3pCTjtJQTlDRSxZRytvQlc7SUg5b0JYLGlCR3ZDVztFUHVwT2I7QUFDRjtBSXpqT0k7RUFDRTtBSjJqT047QUc5aU9RO0VDVEo7SUE5REEsVUE4RHNDO0lBN0R0QyxpQkd2Q1c7RVBncU9iO0FBQ0Y7QUdwak9RO0VDUko7SUEvREEsVUErRHNDO0lBOUR0QyxpQkd2Q1c7RVBzcU9iO0FBQ0Y7QUcxak9RO0VDUEo7SUFoRUEsVUFnRXNDO0lBL0R0QyxpQkd2Q1c7RVA0cU9iO0FBQ0Y7QUlwa09JO0VBNURGO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QUppb09GO0FHN2tPUTtFQ3pCTjtJQXZDQTtJQUNBO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0VKK29PQTtBQUNGO0FJeGxPSTtFQUNFO0FKMGxPTjs7QW9DeHNPSTtFQ25CRiwyQkFoQlE7QXJDK3VPVjs7QW9DNXNPSTtFQ25CRix5QkFoQlE7QXJDbXZPVjs7QW9DaHRPSTtFQ25CRix1QkFoQlE7QXJDdXZPVjs7QW9DcHRPSTtFQ25CRiw4QkFoQlE7QXJDMnZPVjs7QW9DeHRPSTtFQ25CRiw2QkFoQlE7QXJDK3ZPVjs7QW9DbnRPUTtFQzVCTiwyQkFoQlE7QXJDbXdPVjs7QW9DdnRPUTtFQzVCTix5QkFoQlE7QXJDdXdPVjs7QW9DM3RPUTtFQzVCTix1QkFoQlE7QXJDMndPVjs7QW9DdHRPSTtFQ3BDRix1QkFSUTtBckNzd09WOztBb0N0dE9JO0VDeEJGLHNCQVBRO0FyQ3l2T1Y7O0FvQzl0T0k7RUNwQ0YscUJBUlE7QXJDOHdPVjs7QW9DOXRPSTtFQ3hCRixvQkFQUTtBckNpd09WOztBb0N0dU9JO0VDcENGLG1CQVJRO0FyQ3N4T1Y7O0FvQ3R1T0k7RUN4QkYsa0JBUFE7QXJDeXdPVjs7QW9DOXVPSTtFQ3BDRixvQkFSUTtBckM4eE9WOztBb0M5dU9JO0VDeEJGLG1CQVBRO0FyQ2l4T1Y7O0FvQzV1T0U7RUFFRTtFQ2hERixtQkFSUTtFQU9SLHVCQWhCUTtBckNpek9WOztBb0MxdU9NO0VDaENKLFFEK0JlO0FwQyt1T2pCOztBb0M5dU9NO0VDaENKLFFEK0JlO0FwQ212T2pCOztBb0Nsdk9NO0VDaENKLFFEK0JlO0FwQ3V2T2pCOztBb0N0dk9NO0VDaENKLFFEK0JlO0FwQzJ2T2pCOztBb0Mxdk9NO0VDaENKLFFEK0JlO0FwQyt2T2pCOztBb0M5dk9NO0VDaENKLFFEK0JlO0FwQ213T2pCOztBRzdyT1E7RWlDckVGO0lDaENKLFFEK0JlO0VwQ3d3T2Y7RW9DdndPSTtJQ2hDSixRRCtCZTtFcEMyd09mO0VvQzF3T0k7SUNoQ0osUUQrQmU7RXBDOHdPZjtFb0M3d09JO0lDaENKLFFEK0JlO0VwQ2l4T2Y7RW9DaHhPSTtJQ2hDSixRRCtCZTtFcENveE9mO0VvQ254T0k7SUNoQ0osUUQrQmU7RXBDdXhPZjtBQUNGO0FHbHRPUTtFaUNyRUY7SUNoQ0osUUQrQmU7RXBDNHhPZjtFb0MzeE9JO0lDaENKLFFEK0JlO0VwQyt4T2Y7RW9DOXhPSTtJQ2hDSixRRCtCZTtFcENreU9mO0VvQ2p5T0k7SUNoQ0osUUQrQmU7RXBDcXlPZjtFb0NweU9JO0lDaENKLFFEK0JlO0VwQ3d5T2Y7RW9DdnlPSTtJQ2hDSixRRCtCZTtFcEMyeU9mO0FBQ0Y7QUd0dU9RO0VpQ3JFRjtJQ2hDSixRRCtCZTtFcENnek9mO0VvQy95T0k7SUNoQ0osUUQrQmU7RXBDbXpPZjtFb0Nsek9JO0lDaENKLFFEK0JlO0VwQ3N6T2Y7RW9DcnpPSTtJQ2hDSixRRCtCZTtFcEN5ek9mO0VvQ3h6T0k7SUNoQ0osUUQrQmU7RXBDNHpPZjtFb0Mzek9JO0lDaENKLFFEK0JlO0VwQyt6T2Y7QUFDRjtBR3J2T1E7RWlDMUVGO0lDaENKLFFEK0JlO0VwQ28wT2Y7RW9DbjBPSTtJQ2hDSixRRCtCZTtFcEN1ME9mO0VvQ3QwT0k7SUNoQ0osUUQrQmU7RXBDMDBPZjtFb0N6ME9JO0lDaENKLFFEK0JlO0VwQzYwT2Y7RW9DNTBPSTtJQ2hDSixRRCtCZTtFcENnMU9mO0VvQy8wT0k7SUNoQ0osUUQrQmU7RXBDbTFPZjtBQUNGO0FHendPUTtFaUMxRUY7SUNoQ0osUUQrQmU7RXBDdzFPZjtFb0N2MU9JO0lDaENKLFFEK0JlO0VwQzIxT2Y7RW9DMTFPSTtJQ2hDSixRRCtCZTtFcEM4MU9mO0VvQzcxT0k7SUNoQ0osUUQrQmU7RXBDaTJPZjtFb0NoMk9JO0lDaENKLFFEK0JlO0VwQ28yT2Y7RW9DbjJPSTtJQ2hDSixRRCtCZTtFcEN1Mk9mO0FBQ0Y7QUc3eE9RO0VpQzFFRjtJQ2hDSixRRCtCZTtFcEM0Mk9mO0VvQzMyT0k7SUNoQ0osUUQrQmU7RXBDKzJPZjtFb0M5Mk9JO0lDaENKLFFEK0JlO0VwQ2szT2Y7RW9DajNPSTtJQ2hDSixRRCtCZTtFcENxM09mO0VvQ3AzT0k7SUNoQ0osUUQrQmU7RXBDdzNPZjtFb0N2M09JO0lDaENKLFFEK0JlO0VwQzIzT2Y7QUFDRjtBb0N4OU9FO0VDWUE7QXJDKzhPRjs7QW9DdjlPRTtFQUNFO0FwQzA5T0o7O0FvQ3Y5T0U7RUFDRTtBcEMwOU9KOztBb0N2OU9FO0VBQ0U7QXBDMDlPSjs7QW9DdDlPSTtFQ3NERixtQkFwRW1CO0FyQ3crT3JCOztBb0MxOU9JO0VDc0RGLDJCQXBFbUI7QXJDNCtPckI7O0FvQzk5T0k7RUNzREYsc0JBcEVtQjtBckNnL09yQjs7QW9DbCtPSTtFQ3NERiw4QkFwRW1CO0FyQ28vT3JCOztBR3IxT1E7RWlDdklFO0lDZlI7RXJDZy9PQTtFb0M3OU9RO0lBQ0U7RXBDKzlPVjtFb0M1OU9RO0lBQ0U7RXBDODlPVjtFb0MzOU9RO0lBQ0U7RXBDNjlPVjtFb0N6OU9VO0lDMkJWLG1CQXBFbUI7RXJDcWdQbkI7RW9DNTlPVTtJQzJCViwyQkFwRW1CO0VyQ3dnUG5CO0VvQy85T1U7SUMyQlYsc0JBcEVtQjtFckMyZ1BuQjtFb0NsK09VO0lDMkJWLDhCQXBFbUI7RXJDOGdQbkI7QUFDRjtBR2gzT1E7RWlDdklFO0lDZlI7RXJDMGdQQTtFb0N2L09RO0lBQ0U7RXBDeS9PVjtFb0N0L09RO0lBQ0U7RXBDdy9PVjtFb0NyL09RO0lBQ0U7RXBDdS9PVjtFb0NuL09VO0lDMkJWLG1CQXBFbUI7RXJDK2hQbkI7RW9DdC9PVTtJQzJCViwyQkFwRW1CO0VyQ2tpUG5CO0VvQ3ovT1U7SUMyQlYsc0JBcEVtQjtFckNxaVBuQjtFb0M1L09VO0lDMkJWLDhCQXBFbUI7RXJDd2lQbkI7QUFDRjtBRzE0T1E7RWlDdklFO0lDZlI7RXJDb2lQQTtFb0NqaFBRO0lBQ0U7RXBDbWhQVjtFb0NoaFBRO0lBQ0U7RXBDa2hQVjtFb0MvZ1BRO0lBQ0U7RXBDaWhQVjtFb0M3Z1BVO0lDMkJWLG1CQXBFbUI7RXJDeWpQbkI7RW9DaGhQVTtJQzJCViwyQkFwRW1CO0VyQzRqUG5CO0VvQ25oUFU7SUMyQlYsc0JBcEVtQjtFckMralBuQjtFb0N0aFBVO0lDMkJWLDhCQXBFbUI7RXJDa2tQbkI7QUFDRjtBRy81T1E7RWlDNUlFO0lDZlI7RXJDOGpQQTtFb0MzaVBRO0lBQ0U7RXBDNmlQVjtFb0MxaVBRO0lBQ0U7RXBDNGlQVjtFb0N6aVBRO0lBQ0U7RXBDMmlQVjtFb0N2aVBVO0lDMkJWLG1CQXBFbUI7RXJDbWxQbkI7RW9DMWlQVTtJQzJCViwyQkFwRW1CO0VyQ3NsUG5CO0VvQzdpUFU7SUMyQlYsc0JBcEVtQjtFckN5bFBuQjtFb0NoalBVO0lDMkJWLDhCQXBFbUI7RXJDNGxQbkI7QUFDRjtBR3o3T1E7RWlDNUlFO0lDZlI7RXJDd2xQQTtFb0Nya1BRO0lBQ0U7RXBDdWtQVjtFb0Nwa1BRO0lBQ0U7RXBDc2tQVjtFb0Nua1BRO0lBQ0U7RXBDcWtQVjtFb0Nqa1BVO0lDMkJWLG1CQXBFbUI7RXJDNm1QbkI7RW9DcGtQVTtJQzJCViwyQkFwRW1CO0VyQ2duUG5CO0VvQ3ZrUFU7SUMyQlYsc0JBcEVtQjtFckNtblBuQjtFb0Mxa1BVO0lDMkJWLDhCQXBFbUI7RXJDc25QbkI7QUFDRjtBR245T1E7RWlDNUlFO0lDZlI7RXJDa25QQTtFb0MvbFBRO0lBQ0U7RXBDaW1QVjtFb0M5bFBRO0lBQ0U7RXBDZ21QVjtFb0M3bFBRO0lBQ0U7RXBDK2xQVjtFb0MzbFBVO0lDMkJWLG1CQXBFbUI7RXJDdW9QbkI7RW9DOWxQVTtJQzJCViwyQkFwRW1CO0VyQzBvUG5CO0VvQ2ptUFU7SUMyQlYsc0JBcEVtQjtFckM2b1BuQjtFb0NwbVBVO0lDMkJWLDhCQXBFbUI7RXJDZ3BQbkI7QUFDRjtBQXJtUEE7RUFFSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBMG1QSixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaG55LXRoZW1lX2JvaWxlcnBsYXRlLy4vbm9kZV9tb2R1bGVzL3N3aXBlci9zd2lwZXItYnVuZGxlLm1pbi5jc3MiLCJ3ZWJwYWNrOi8vaG55LXRoZW1lX2JvaWxlcnBsYXRlLy4vbm9kZV9tb2R1bGVzL2dsaWdodGJveC9kaXN0L2Nzcy9nbGlnaHRib3gubWluLmNzcyIsIndlYnBhY2s6Ly9obnktdGhlbWVfYm9pbGVycGxhdGUvLi9ub2RlX21vZHVsZXMvbGl0ZS15b3V0dWJlLWVtYmVkL3NyYy9saXRlLXl0LWVtYmVkLmNzcyIsIndlYnBhY2s6Ly9obnktdGhlbWVfYm9pbGVycGxhdGUvLi9zcmMvc3R5bGVzL2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly9obnktdGhlbWVfYm9pbGVycGxhdGUvLi9zcmMvc3R5bGVzL2NvbW1vbi9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly9obnktdGhlbWVfYm9pbGVycGxhdGUvLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9obnktdGhlbWVfYm9pbGVycGxhdGUvLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIndlYnBhY2s6Ly9obnktdGhlbWVfYm9pbGVycGxhdGUvLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL3NyYy9zdHlsZXMvZm91bmRhdGlvbi9fc2V0dGluZ3Muc2NzcyIsIndlYnBhY2s6Ly9obnktdGhlbWVfYm9pbGVycGxhdGUvLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIndlYnBhY2s6Ly9obnktdGhlbWVfYm9pbGVycGxhdGUvLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCJ3ZWJwYWNrOi8vaG55LXRoZW1lX2JvaWxlcnBsYXRlLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vaG55LXRoZW1lX2JvaWxlcnBsYXRlLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly9obnktdGhlbWVfYm9pbGVycGxhdGUvLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCJ3ZWJwYWNrOi8vaG55LXRoZW1lX2JvaWxlcnBsYXRlLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vaG55LXRoZW1lX2JvaWxlcnBsYXRlLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCJ3ZWJwYWNrOi8vaG55LXRoZW1lX2JvaWxlcnBsYXRlLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vaG55LXRoZW1lX2JvaWxlcnBsYXRlLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly9obnktdGhlbWVfYm9pbGVycGxhdGUvLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCJ3ZWJwYWNrOi8vaG55LXRoZW1lX2JvaWxlcnBsYXRlLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIndlYnBhY2s6Ly9obnktdGhlbWVfYm9pbGVycGxhdGUvLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vaG55LXRoZW1lX2JvaWxlcnBsYXRlLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCJ3ZWJwYWNrOi8vaG55LXRoZW1lX2JvaWxlcnBsYXRlLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwid2VicGFjazovL2hueS10aGVtZV9ib2lsZXJwbGF0ZS8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3dpcGVyIDkuMS4xXG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICogaHR0cHM6Ly9zd2lwZXJqcy5jb21cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDIzIFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IE1hcmNoIDE2LCAyMDIzXG4gKi9cblxuQGZvbnQtZmFjZXtmb250LWZhbWlseTpzd2lwZXItaWNvbnM7c3JjOnVybCgnZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsIGQwOUdSZ0FCQUFBQUFBWmdBQkFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFHUkFBQUFCb0FBQUFjaTZxSGtVZEVSVVlBQUFXZ0FBQUFJd0FBQUNRQVlBQlhSMUJQVXdBQUJoUUFBQUF1QUFBQU51QVk3K3hIVTFWQ0FBQUZ4QUFBQUZBQUFBQm0yZlBjelU5VEx6SUFBQUhjQUFBQVNnQUFBR0JQOVY1UlkyMWhjQUFBQWtRQUFBQ0lBQUFCWXQ2RjBjQmpkblFnQUFBQ3pBQUFBQVFBQUFBRUFCRUJSR2RoYzNBQUFBV1lBQUFBQ0FBQUFBai8vd0FEWjJ4NVpnQUFBeXdBQUFETUFBQUQyTUh0cnlWb1pXRmtBQUFCYkFBQUFEQUFBQUEyRTIrZW9XaG9aV0VBQUFHY0FBQUFId0FBQUNRQzlnRHphRzEwZUFBQUFpZ0FBQUFaQUFBQXJnSmtBQkZzYjJOaEFBQUMwQUFBQUZvQUFBQmFGUUFVR0cxaGVIQUFBQUc4QUFBQUh3QUFBQ0FBY0FCQWJtRnRaUUFBQS9nQUFBRTVBQUFDWHZGZEJ3bHdiM04wQUFBRk5BQUFBR0lBQUFDRTVzNzRoWGphWTJCa1lHQUFZcGY1SHUvaitXMitNbkF6TVlEQXphWDZRakQ2LzQvL0J4ajVHQThBdVJ3TVlHa0FQeXdMMTNqYVkyQmtZR0E4OFA4QWd4NGorLzhmUURZZkExQUVCV2dEQUlCMkJPb0FlTnBqWUdSZ1lOQmg0R2RnWWdBQkVNbklBQkp6WU5BRENRQUFDV2dBc1FCNDJtTmdZZnpDT0lHQmxZR0IwWWN4allHQndSMUtmMldRWkdoaFlHQmlZR1ZtZ0FGR0JpUVFrT2Fhd3REQW9NQlF4WGpnL3dFR1BjWUREQTR3TlVBMkNDZ3dzQUFBTzRFTDZnQUFlTnBqMk0wZ3lBQUNxeGdHTldCa1oyRDQvd01BK3hrRGRnQUFBSGphWTJCZ1lHYUFZQmtHUmdZUWlBSHlHTUY4RmdZSElNM0R3TUhBQkdRck1PZ3lXRExFTTFUOS93OFVCZkVNZ0x6RS8vLy9QLzUvL2YvVi94dityNGVhQUFlTWJBeHdJVVltSU1IRWdLWUFZalVjc0RBd3NMS3hjM0J5Y2ZQdzhqRVFBL2daQkFTRmhFVkV4Y1FsSktXa1pXVGw1QlVVbFpSVlZOWFVOVFFaQmdNQUFNUitFK2dBRVFGRUFBQUFLZ0FxQUNvQU5BQStBRWdBVWdCY0FHWUFjQUI2QUlRQWpnQ1lBS0lBckFDMkFNQUF5Z0RVQU40QTZBRHlBUHdCQmdFUUFSb0JKQUV1QVRnQlFnRk1BVllCWUFGcUFYUUJmZ0dJQVpJQm5BR21BYklCemdIc0FBQjQydTJOTVE2Q1VBeUdXNTY4eDlBbmVZWWdtNE1KYmhLRmFFeElPQVZYOEFwZXdTdDRCaWM0QWZlQWlkM1ZPQml4RHhmUFlFemE1TytYZmkwNFlBRGdnaVVJVUxDdUVKSzhWaE80YlN2cGRua3RISTVRQ1l0ZGkyc2w4Wm5YYUhscVVyTkt6ZEtjVDhjamxxK3J3WlN2SVZjek5pZXpzZm5QL3V6bm1mUEZCTk9ETTJLN01UUTQ1WUVBWnFHUDgxQW1HR2NGM2lQcU9vcDByMVNQVGFUYlZrZlVlNEhYajk3d1lFK3lOd1dZeHdXdTR2MXVnV0hnbzNTMVhkWkVWcVdNN0VUMGNmbkxHeFdma2dSNDJvMlB2V3JETUJTRmovSUhMYUYwektqUmdkaVZNd1NjTlJBb1dVb0g3OFkyaWNCL3lJWTA5QW42QUgyQmR1L1VCK3l4b3BZc2hRaUV2bnZ1MGRVUmdEdDhRZUM4UER3N0ZwamkzZkVBNHovUEVKNllPQjVoS2g0ZGozRXZYaHhQcUgvU0tVWTNySjdzclo0RlpuaDFQTUF0UGh3UDZmbDJQTUpNUERnZVE0clk4WVQ2R3phbzBlQUVBNDA5RHVnZ21UbkZuT2NTQ2lFaUxNZ3hDaVRJNkNxNURaVWQzUW1wMTB2TzBMYUxUZDJjak40Zk91bWxjN2xVWWJTUWNaRmt1dFJHN2c2SktaS3kwUm1kTFk2ODBDRG5FSitVTWtwRkZlMVJON254ZFZwWHJDNGFUdG5hdXJPblllcmNaZzJZVm1MTi9kL2djemZFaW1yRS9mcy9iT3VxMjlabW44dGxvT1JhWGdaZ0dhNzh5TzkvY25YbTJCcGFHdnEyNUR2OVM0RTkrNVNJYzlQcXVwSktoWUZTU2w0NytRY3IxbVlOQUFBQWVOcHR3MGNLd2tBQUFNRFpKQThRN09VSnZrTHNQZlo2ekZWRVJQeThxSGgyWUVSKzNpL0JQODN2SUJMTHlTc29LaW1ycUtxcGEyaHA2K2pxNlJzWUdobWJtSnFaU3kwc3JheHRiTzNzSFJ5ZG5FTVU0dVI2eXg3SkpYdmVQN1dyRHljQUFBQUFBQUgvL3dBQ2VOcGpZR1JnWU9BQlloa2daZ0pDWmdaTkJrWUdMUVp0SUpzRkxNWUFBQXczQUxnQWVOb2xpekVLZ0RBUUJDY2hSYkMyc0ZFUjBZRDZxVlFpQkN2L0g5ZXpHSTZaNVhCQXc4Q0JLL201aVFRVmF1VmJYTG5Pck1adjJvTGRLRmE4UGp1cnUyaEp6R2FibU9TTHpOTXp2dXRwQjNONDJtTmdaR0JnNEdLUVl6QmhZTXhKTE1sajRHQmdBWW93L1AvUEFKSmhMTTZzU29XS2ZXQ0FBd0RBamdiUkFBQjQybU5nWUdCa0FJSWJDWm81SVBybVVuMGhHQTBBTzhFRlRRQUEnKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWx9OnJvb3R7LS1zd2lwZXItdGhlbWUtY29sb3I6IzAwN2FmZn0uc3dpcGVyLHN3aXBlci1jb250YWluZXJ7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47bGlzdC1zdHlsZTpub25lO3BhZGRpbmc6MDt6LWluZGV4OjE7ZGlzcGxheTpibG9ja30uc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItd3JhcHBlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnN3aXBlci13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDoxO2Rpc3BsYXk6ZmxleDt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS1zd2lwZXItd3JhcHBlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbixpbml0aWFsKTtib3gtc2l6aW5nOmNvbnRlbnQtYm94fS5zd2lwZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLC5zd2lwZXItd3JhcHBlcnt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMHB4LDAsMCl9LnN3aXBlci1ob3Jpem9udGFse3RvdWNoLWFjdGlvbjpwYW4teX0uc3dpcGVyLXZlcnRpY2Fse3RvdWNoLWFjdGlvbjpwYW4teH0uc3dpcGVyLXNsaWRlLHN3aXBlci1zbGlkZXtmbGV4LXNocmluazowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07ZGlzcGxheTpibG9ja30uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFua3t2aXNpYmlsaXR5OmhpZGRlbn0uc3dpcGVyLWF1dG9oZWlnaHQsLnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGV7aGVpZ2h0OmF1dG99LnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlcnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLGhlaWdodH0uc3dpcGVyLWJhY2tmYWNlLWhpZGRlbiAuc3dpcGVyLXNsaWRle3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci0zZC5zd2lwZXItY3NzLW1vZGUgLnN3aXBlci13cmFwcGVye3BlcnNwZWN0aXZlOjEyMDBweH0uc3dpcGVyLTNkIC5zd2lwZXItd3JhcHBlcnt0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2R9LnN3aXBlci0zZHtwZXJzcGVjdGl2ZToxMjAwcHh9LnN3aXBlci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZSwuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we3RyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZH0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoxMH0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93e2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTUpfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHR7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gdG9wLHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9te2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcntvdmVyZmxvdzphdXRvO3Njcm9sbGJhci13aWR0aDpub25lOy1tcy1vdmVyZmxvdy1zdHlsZTpub25lfS5zd2lwZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9LnN3aXBlci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZXtzY3JvbGwtc25hcC1hbGlnbjpzdGFydCBzdGFydH0uc3dpcGVyLWhvcml6b250YWwuc3dpcGVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcntzY3JvbGwtc25hcC10eXBlOnggbWFuZGF0b3J5fS5zd2lwZXItdmVydGljYWwuc3dpcGVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcntzY3JvbGwtc25hcC10eXBlOnkgbWFuZGF0b3J5fS5zd2lwZXItY2VudGVyZWQ+LnN3aXBlci13cmFwcGVyOjpiZWZvcmV7Y29udGVudDonJztmbGV4LXNocmluazowO29yZGVyOjk5OTl9LnN3aXBlci1jZW50ZXJlZD4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZXtzY3JvbGwtc25hcC1hbGlnbjpjZW50ZXIgY2VudGVyO3Njcm9sbC1zbmFwLXN0b3A6YWx3YXlzfS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1zdGFydDp2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSl9LnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXdyYXBwZXI6OmJlZm9yZXtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjFweDt3aWR0aDp2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWFmdGVyKX0uc3dpcGVyLWNlbnRlcmVkLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZHttYXJnaW4tYmxvY2stc3RhcnQ6dmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmUpfS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItd3JhcHBlcjo6YmVmb3Jle3dpZHRoOjEwMCU7bWluLXdpZHRoOjFweDtoZWlnaHQ6dmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcil9LnN3aXBlci1sYXp5LXByZWxvYWRlcnt3aWR0aDo0MnB4O2hlaWdodDo0MnB4O3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCU7bWFyZ2luLWxlZnQ6LTIxcHg7bWFyZ2luLXRvcDotMjFweDt6LWluZGV4OjEwO3RyYW5zZm9ybS1vcmlnaW46NTAlO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6NHB4IHNvbGlkIHZhcigtLXN3aXBlci1wcmVsb2FkZXItY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXRvcC1jb2xvcjp0cmFuc3BhcmVudH0uc3dpcGVyLXdhdGNoLXByb2dyZXNzIC5zd2lwZXItc2xpZGUtdmlzaWJsZSAuc3dpcGVyLWxhenktcHJlbG9hZGVyLC5zd2lwZXI6bm90KC5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MpIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIsc3dpcGVyLWNvbnRhaW5lcjpub3QoLnN3aXBlci13YXRjaC1wcm9ncmVzcykgLnN3aXBlci1sYXp5LXByZWxvYWRlcnthbmltYXRpb246c3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcn0uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRley0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjojZmZmfS5zd2lwZXItbGF6eS1wcmVsb2FkZXItYmxhY2t7LS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiMwMDB9QGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0xMDAle3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LnN3aXBlci12aXJ0dWFsIC5zd2lwZXItc2xpZGV7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1ob3Jpem9udGFsIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXJ7aGVpZ2h0OjFweDt3aWR0aDp2YXIoLS1zd2lwZXItdmlydHVhbC1zaXplKX0uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci12ZXJ0aWNhbCAuc3dpcGVyLXdyYXBwZXI6OmFmdGVye3dpZHRoOjFweDtoZWlnaHQ6dmFyKC0tc3dpcGVyLXZpcnR1YWwtc2l6ZSl9OnJvb3R7LS1zd2lwZXItbmF2aWdhdGlvbi1zaXplOjQ0cHh9LnN3aXBlci1idXR0b24tbmV4dCwuc3dpcGVyLWJ1dHRvbi1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi10b3Atb2Zmc2V0LDUwJSk7d2lkdGg6Y2FsYyh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKS8gNDQgKiAyNyk7aGVpZ2h0OnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO21hcmdpbi10b3A6Y2FsYygwcHggLSAodmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkvIDIpKTt6LWluZGV4OjEwO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKX0uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQsLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVke29wYWNpdHk6LjM1O2N1cnNvcjphdXRvO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWhpZGRlbiwuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24taGlkZGVue29wYWNpdHk6MDtjdXJzb3I6YXV0bztwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItbmF2aWdhdGlvbi1kaXNhYmxlZCAuc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItbmF2aWdhdGlvbi1kaXNhYmxlZCAuc3dpcGVyLWJ1dHRvbi1wcmV2e2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnN3aXBlci1idXR0b24tbmV4dDphZnRlciwuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVye2ZvbnQtZmFtaWx5OnN3aXBlci1pY29ucztmb250LXNpemU6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7dGV4dC10cmFuc2Zvcm06bm9uZSFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6MDtmb250LXZhcmlhbnQ6aW5pdGlhbDtsaW5lLWhlaWdodDoxfS5zd2lwZXItYnV0dG9uLXByZXYsLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dHtsZWZ0OnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldCwxMHB4KTtyaWdodDphdXRvfS5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlcntjb250ZW50OidwcmV2J30uc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXZ7cmlnaHQ6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2lkZXMtb2Zmc2V0LDEwcHgpO2xlZnQ6YXV0b30uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXJ7Y29udGVudDonbmV4dCd9LnN3aXBlci1idXR0b24tbG9ja3tkaXNwbGF5Om5vbmV9LnN3aXBlci1wYWdpbmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246LjNzIG9wYWNpdHk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt6LWluZGV4OjEwfS5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW57b3BhY2l0eTowfS5zd2lwZXItcGFnaW5hdGlvbi1kaXNhYmxlZD4uc3dpcGVyLXBhZ2luYXRpb24sLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWRpc2FibGVke2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwsLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSwuc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb257Ym90dG9tOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJvdHRvbSw4cHgpO3RvcDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi10b3AsYXV0byk7bGVmdDowO3dpZHRoOjEwMCV9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3tvdmVyZmxvdzpoaWRkZW47Zm9udC1zaXplOjB9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zZm9ybTpzY2FsZSguMzMpO3Bvc2l0aW9uOnJlbGF0aXZlfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmV7dHJhbnNmb3JtOnNjYWxlKDEpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbnt0cmFuc2Zvcm06c2NhbGUoMSl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2e3RyYW5zZm9ybTpzY2FsZSguNjYpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2e3RyYW5zZm9ybTpzY2FsZSguMzMpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dHt0cmFuc2Zvcm06c2NhbGUoLjY2KX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dHt0cmFuc2Zvcm06c2NhbGUoLjMzKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3dpZHRoOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC13aWR0aCx2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtc2l6ZSw4cHgpKTtoZWlnaHQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhlaWdodCx2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtc2l6ZSw4cHgpKTtkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXItcmFkaXVzOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1ib3JkZXItcmFkaXVzLDUwJSk7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtY29sb3IsIzAwMCk7b3BhY2l0eTp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtb3BhY2l0eSwgLjIpfWJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7Ym9yZGVyOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2JveC1zaGFkb3c6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2N1cnNvcjpwb2ludGVyfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQ6b25seS1jaGlsZHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZle29wYWNpdHk6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LW9wYWNpdHksIDEpO2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSl9LnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c3tyaWdodDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1yaWdodCw4cHgpO2xlZnQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tbGVmdCxhdXRvKTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsLTUwJSwwKX0uc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHttYXJnaW46dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXZlcnRpY2FsLWdhcCw2cHgpIDA7ZGlzcGxheTpibG9ja30uc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDo4cHh9LnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHtkaXNwbGF5OmlubGluZS1ibG9jazt0cmFuc2l0aW9uOi4ycyB0cmFuc2Zvcm0sLjJzIHRvcH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7bWFyZ2luOjAgdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhvcml6b250YWwtZ2FwLDRweCl9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYywuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3tsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt3aGl0ZS1zcGFjZTpub3dyYXB9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LC5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtLC4ycyBsZWZ0fS5zd2lwZXItaG9yaXpvbnRhbC5zd2lwZXItcnRsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCw6aG9zdCguc3dpcGVyLWhvcml6b250YWwuc3dpcGVyLXJ0bCkgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgcmlnaHR9LnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9ue2NvbG9yOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLWNvbG9yLGluaGVyaXQpfS5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhcntiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWJnLWNvbG9yLHJnYmEoMCwwLDAsLjI1KSk7cG9zaXRpb246YWJzb2x1dGV9LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxse2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybS1vcmlnaW46bGVmdCB0b3B9LnN3aXBlci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxse3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgdG9wfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRle3dpZHRoOjEwMCU7aGVpZ2h0OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLXNpemUsNHB4KTtsZWZ0OjA7dG9wOjB9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXJ7d2lkdGg6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItc2l6ZSw0cHgpO2hlaWdodDoxMDAlO2xlZnQ6MDt0b3A6MH0uc3dpcGVyLXBhZ2luYXRpb24tbG9ja3tkaXNwbGF5Om5vbmV9LnN3aXBlci1zY3JvbGxiYXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJvcmRlci1yYWRpdXMsMTBweCk7cG9zaXRpb246cmVsYXRpdmU7LW1zLXRvdWNoLWFjdGlvbjpub25lO2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1iZy1jb2xvcixyZ2JhKDAsMCwwLC4xKSl9LnN3aXBlci1zY3JvbGxiYXItZGlzYWJsZWQ+LnN3aXBlci1zY3JvbGxiYXIsLnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci1kaXNhYmxlZHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXNjcm9sbGJhciwuc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLWhvcml6b250YWx7cG9zaXRpb246YWJzb2x1dGU7bGVmdDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwxJSk7Ym90dG9tOnZhcigtLXN3aXBlci1zY3JvbGxiYXItYm90dG9tLDRweCk7dG9wOnZhcigtLXN3aXBlci1zY3JvbGxiYXItdG9wLGF1dG8pO3otaW5kZXg6NTA7aGVpZ2h0OnZhcigtLXN3aXBlci1zY3JvbGxiYXItc2l6ZSw0cHgpO3dpZHRoOmNhbGMoMTAwJSAtIDIgKiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwxJSkpfS5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItdmVydGljYWwsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXNjcm9sbGJhcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OnZhcigtLXN3aXBlci1zY3JvbGxiYXItbGVmdCxhdXRvKTtyaWdodDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXJpZ2h0LDRweCk7dG9wOnZhcigtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0LDElKTt6LWluZGV4OjUwO3dpZHRoOnZhcigtLXN3aXBlci1zY3JvbGxiYXItc2l6ZSw0cHgpO2hlaWdodDpjYWxjKDEwMCUgLSAyICogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsMSUpKX0uc3dpcGVyLXNjcm9sbGJhci1kcmFne2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWRyYWctYmctY29sb3IscmdiYSgwLDAsMCwuNSkpO2JvcmRlci1yYWRpdXM6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1ib3JkZXItcmFkaXVzLDEwcHgpO2xlZnQ6MDt0b3A6MH0uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZ3tjdXJzb3I6bW92ZX0uc3dpcGVyLXNjcm9sbGJhci1sb2Nre2Rpc3BsYXk6bm9uZX0uc3dpcGVyLXpvb20tY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyfS5zd2lwZXItem9vbS1jb250YWluZXI+Y2FudmFzLC5zd2lwZXItem9vbS1jb250YWluZXI+aW1nLC5zd2lwZXItem9vbS1jb250YWluZXI+c3Zne21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvbnRhaW59LnN3aXBlci1zbGlkZS16b29tZWR7Y3Vyc29yOm1vdmU7dG91Y2gtYWN0aW9uOm5vbmV9LnN3aXBlciAuc3dpcGVyLW5vdGlmaWNhdGlvbixzd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt6LWluZGV4Oi0xMDAwfS5zd2lwZXItZnJlZS1tb2RlPi5zd2lwZXItd3JhcHBlcnt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDttYXJnaW46MCBhdXRvfS5zd2lwZXItZ3JpZD4uc3dpcGVyLXdyYXBwZXJ7ZmxleC13cmFwOndyYXB9LnN3aXBlci1ncmlkLWNvbHVtbj4uc3dpcGVyLXdyYXBwZXJ7ZmxleC13cmFwOndyYXA7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zd2lwZXItZmFkZS5zd2lwZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGV7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9LnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHl9LnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWN1YmV7b3ZlcmZsb3c6dmlzaWJsZX0uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDoxO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zZm9ybS1vcmlnaW46MCAwO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItY3ViZS5zd2lwZXItcnRsIC5zd2lwZXItc2xpZGV7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9LnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQrLnN3aXBlci1zbGlkZSwuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2e3BvaW50ZXItZXZlbnRzOmF1dG87dmlzaWJpbGl0eTp2aXNpYmxlfS5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7ei1pbmRleDowOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3d7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowcHg7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvcGFjaXR5Oi42O3otaW5kZXg6MH0uc3dpcGVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdzpiZWZvcmV7Y29udGVudDonJztiYWNrZ3JvdW5kOiMwMDA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7ZmlsdGVyOmJsdXIoNTBweCl9LnN3aXBlci1mbGlwe292ZXJmbG93OnZpc2libGV9LnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3otaW5kZXg6MX0uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7ei1pbmRleDowOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1jcmVhdGl2ZSAuc3dpcGVyLXNsaWRley13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHksaGVpZ2h0fS5zd2lwZXItY2FyZHN7b3ZlcmZsb3c6dmlzaWJsZX0uc3dpcGVyLWNhcmRzIC5zd2lwZXItc2xpZGV7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47b3ZlcmZsb3c6aGlkZGVufSIsIi5nbGlnaHRib3gtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3otaW5kZXg6OTk5OTk5IWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW47LW1zLXRvdWNoLWFjdGlvbjpub25lO3RvdWNoLWFjdGlvbjpub25lOy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlOy1tb3otdGV4dC1zaXplLWFkanVzdDoxMDAlOy1tcy10ZXh0LXNpemUtYWRqdXN0OjEwMCU7dGV4dC1zaXplLWFkanVzdDoxMDAlOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47b3V0bGluZTowfS5nbGlnaHRib3gtY29udGFpbmVyLmluYWN0aXZle2Rpc3BsYXk6bm9uZX0uZ2xpZ2h0Ym94LWNvbnRhaW5lciAuZ2NvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6OTk5OTtvdmVyZmxvdzpoaWRkZW59LmdsaWdodGJveC1jb250YWluZXIgLmdzbGlkZXJ7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC40cyBlYXNlO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjRzIGVhc2U7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjRzIGVhc2U7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjRzIGVhc2UsLXdlYmtpdC10cmFuc2Zvcm0gLjRzIGVhc2U7aGVpZ2h0OjEwMCU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6LXdlYmtpdC1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX0uZ2xpZ2h0Ym94LWNvbnRhaW5lciAuZ3NsaWRle3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvcGFjaXR5OjB9LmdsaWdodGJveC1jb250YWluZXIgLmdzbGlkZS5jdXJyZW50e29wYWNpdHk6MTt6LWluZGV4Ojk5OTk5O3Bvc2l0aW9uOnJlbGF0aXZlfS5nbGlnaHRib3gtY29udGFpbmVyIC5nc2xpZGUucHJldntvcGFjaXR5OjE7ei1pbmRleDo5OTk5fS5nbGlnaHRib3gtY29udGFpbmVyIC5nc2xpZGUtaW5uZXItY29udGVudHt3aWR0aDoxMDAlfS5nbGlnaHRib3gtY29udGFpbmVyIC5naW5uZXItY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC13aWR0aDoxMDAlO21hcmdpbjphdXRvO2hlaWdodDoxMDB2aH0uZ2xpZ2h0Ym94LWNvbnRhaW5lciAuZ2lubmVyLWNvbnRhaW5lci5ndmlkZW8tY29udGFpbmVye3dpZHRoOjEwMCV9LmdsaWdodGJveC1jb250YWluZXIgLmdpbm5lci1jb250YWluZXIuZGVzYy1ib3R0b20sLmdsaWdodGJveC1jb250YWluZXIgLmdpbm5lci1jb250YWluZXIuZGVzYy10b3B7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmdsaWdodGJveC1jb250YWluZXIgLmdpbm5lci1jb250YWluZXIuZGVzYy1sZWZ0LC5nbGlnaHRib3gtY29udGFpbmVyIC5naW5uZXItY29udGFpbmVyLmRlc2MtcmlnaHR7bWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50fS5nc2xpZGUgaWZyYW1lLC5nc2xpZGUgdmlkZW97b3V0bGluZTowIWltcG9ydGFudDtib3JkZXI6bm9uZTttaW4taGVpZ2h0OjE2NXB4Oy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy10b3VjaC1hY3Rpb246YXV0bzt0b3VjaC1hY3Rpb246YXV0b30uZ3NsaWRlOm5vdCguY3VycmVudCl7cG9pbnRlci1ldmVudHM6bm9uZX0uZ3NsaWRlLWltYWdley13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5nc2xpZGUtaW1hZ2UgaW1ne21heC1oZWlnaHQ6MTAwdmg7ZGlzcGxheTpibG9jaztwYWRkaW5nOjA7ZmxvYXQ6bm9uZTtvdXRsaW5lOjA7Ym9yZGVyOm5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO21heC13aWR0aDoxMDB2dzt3aWR0aDphdXRvO2hlaWdodDphdXRvOy1vLW9iamVjdC1maXQ6Y292ZXI7b2JqZWN0LWZpdDpjb3ZlcjstbXMtdG91Y2gtYWN0aW9uOm5vbmU7dG91Y2gtYWN0aW9uOm5vbmU7bWFyZ2luOmF1dG87bWluLXdpZHRoOjIwMHB4fS5kZXNjLWJvdHRvbSAuZ3NsaWRlLWltYWdlIGltZywuZGVzYy10b3AgLmdzbGlkZS1pbWFnZSBpbWd7d2lkdGg6YXV0b30uZGVzYy1sZWZ0IC5nc2xpZGUtaW1hZ2UgaW1nLC5kZXNjLXJpZ2h0IC5nc2xpZGUtaW1hZ2UgaW1ne3dpZHRoOmF1dG87bWF4LXdpZHRoOjEwMCV9LmdzbGlkZS1pbWFnZSBpbWcuem9vbWFibGV7cG9zaXRpb246cmVsYXRpdmV9LmdzbGlkZS1pbWFnZSBpbWcuZHJhZ2dpbmd7Y3Vyc29yOi13ZWJraXQtZ3JhYmJpbmchaW1wb3J0YW50O2N1cnNvcjpncmFiYmluZyFpbXBvcnRhbnQ7LXdlYmtpdC10cmFuc2l0aW9uOm5vbmU7dHJhbnNpdGlvbjpub25lfS5nc2xpZGUtdmlkZW97cG9zaXRpb246cmVsYXRpdmU7bWF4LXdpZHRoOjEwMHZoO3dpZHRoOjEwMCUhaW1wb3J0YW50fS5nc2xpZGUtdmlkZW8gLnBseXJfX3Bvc3Rlci1lbmFibGVkLnBseXItLWxvYWRpbmcgLnBseXJfX3Bvc3RlcntkaXNwbGF5Om5vbmV9LmdzbGlkZS12aWRlbyAuZ3ZpZGVvLXdyYXBwZXJ7d2lkdGg6MTAwJTttYXJnaW46YXV0b30uZ3NsaWRlLXZpZGVvOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6cmdiYSgyNTUsMCwwLC4zNCk7ZGlzcGxheTpub25lfS5nc2xpZGUtdmlkZW8ucGxheWluZzo6YmVmb3Jle2Rpc3BsYXk6bm9uZX0uZ3NsaWRlLXZpZGVvLmZ1bGxzY3JlZW57bWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50O21pbi13aWR0aDoxMDAlO2hlaWdodDo3NXZofS5nc2xpZGUtdmlkZW8uZnVsbHNjcmVlbiB2aWRlb3ttYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJSFpbXBvcnRhbnR9LmdzbGlkZS1pbmxpbmV7YmFja2dyb3VuZDojZmZmO3RleHQtYWxpZ246bGVmdDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA0MHB4KTtvdmVyZmxvdzphdXRvO21heC13aWR0aDoxMDAlO21hcmdpbjphdXRvfS5nc2xpZGUtaW5saW5lIC5naW5saW5lZC1jb250ZW50e3BhZGRpbmc6MjBweDt3aWR0aDoxMDAlfS5nc2xpZGUtaW5saW5lIC5kcmFnZ2luZ3tjdXJzb3I6LXdlYmtpdC1ncmFiYmluZyFpbXBvcnRhbnQ7Y3Vyc29yOmdyYWJiaW5nIWltcG9ydGFudDstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9LmdpbmxpbmVkLWNvbnRlbnR7b3ZlcmZsb3c6YXV0bztkaXNwbGF5OmJsb2NrIWltcG9ydGFudDtvcGFjaXR5OjF9LmdzbGlkZS1leHRlcm5hbHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7bWluLXdpZHRoOjEwMCU7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6MDtvdmVyZmxvdzphdXRvO21heC1oZWlnaHQ6NzV2aDtoZWlnaHQ6MTAwJX0uZ3NsaWRlLW1lZGlhe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7d2lkdGg6YXV0b30uem9vbWVkIC5nc2xpZGUtbWVkaWF7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnR9LmRlc2MtYm90dG9tIC5nc2xpZGUtbWVkaWEsLmRlc2MtdG9wIC5nc2xpZGUtbWVkaWF7bWFyZ2luOjAgYXV0bzstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZ3NsaWRlLWRlc2NyaXB0aW9ue3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleDoxIDAgMTAwJTtmbGV4OjEgMCAxMDAlfS5nc2xpZGUtZGVzY3JpcHRpb24uZGVzY3JpcHRpb24tbGVmdCwuZ3NsaWRlLWRlc2NyaXB0aW9uLmRlc2NyaXB0aW9uLXJpZ2h0e21heC13aWR0aDoxMDAlfS5nc2xpZGUtZGVzY3JpcHRpb24uZGVzY3JpcHRpb24tYm90dG9tLC5nc2xpZGUtZGVzY3JpcHRpb24uZGVzY3JpcHRpb24tdG9we21hcmdpbjowIGF1dG87d2lkdGg6MTAwJX0uZ3NsaWRlLWRlc2NyaXB0aW9uIHB7bWFyZ2luLWJvdHRvbToxMnB4fS5nc2xpZGUtZGVzY3JpcHRpb24gcDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uem9vbWVkIC5nc2xpZGUtZGVzY3JpcHRpb257ZGlzcGxheTpub25lfS5nbGlnaHRib3gtYnV0dG9uLWhpZGRlbntkaXNwbGF5Om5vbmV9LmdsaWdodGJveC1tb2JpbGUgLmdsaWdodGJveC1jb250YWluZXIgLmdzbGlkZS1kZXNjcmlwdGlvbntoZWlnaHQ6YXV0byFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtwYWRkaW5nOjE5cHggMTFweDttYXgtd2lkdGg6MTAwdnchaW1wb3J0YW50Oy13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MyFpbXBvcnRhbnQ7LW1zLWZsZXgtb3JkZXI6MiFpbXBvcnRhbnQ7b3JkZXI6MiFpbXBvcnRhbnQ7bWF4LWhlaWdodDo3OHZoO292ZXJmbG93OmF1dG8haW1wb3J0YW50O2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC43NSkpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20scmdiYSgwLDAsMCwwKSAwLHJnYmEoMCwwLDAsLjc1KSAxMDAlKTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuM3MgbGluZWFyO3RyYW5zaXRpb246b3BhY2l0eSAuM3MgbGluZWFyO3BhZGRpbmctYm90dG9tOjUwcHh9LmdsaWdodGJveC1tb2JpbGUgLmdsaWdodGJveC1jb250YWluZXIgLmdzbGlkZS10aXRsZXtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxZW19LmdsaWdodGJveC1tb2JpbGUgLmdsaWdodGJveC1jb250YWluZXIgLmdzbGlkZS1kZXNje2NvbG9yOiNhMWExYTF9LmdsaWdodGJveC1tb2JpbGUgLmdsaWdodGJveC1jb250YWluZXIgLmdzbGlkZS1kZXNjIGF7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo3MDB9LmdsaWdodGJveC1tb2JpbGUgLmdsaWdodGJveC1jb250YWluZXIgLmdzbGlkZS1kZXNjICp7Y29sb3I6aW5oZXJpdH0uZ2xpZ2h0Ym94LW1vYmlsZSAuZ2xpZ2h0Ym94LWNvbnRhaW5lciAuZ3NsaWRlLWRlc2MgLmRlc2MtbW9yZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9LmdkZXNjLW9wZW4gLmdzbGlkZS1tZWRpYXstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFzZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2U7b3BhY2l0eTouNH0uZ2Rlc2Mtb3BlbiAuZ2Rlc2MtaW5uZXJ7cGFkZGluZy1ib3R0b206MzBweH0uZ2Rlc2MtY2xvc2VkIC5nc2xpZGUtbWVkaWF7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlO29wYWNpdHk6MX0uZ3Jlc2V0ey13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2U7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2V9LmdhYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZ3JlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5nbGlnaHRib3gtZGVzY3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5nbGlnaHRib3gtb3BlbntvdmVyZmxvdzpoaWRkZW59Lmdsb2FkZXJ7aGVpZ2h0OjI1cHg7d2lkdGg6MjVweDstd2Via2l0LWFuaW1hdGlvbjpsaWdodGJveExvYWRlciAuOHMgaW5maW5pdGUgbGluZWFyO2FuaW1hdGlvbjpsaWdodGJveExvYWRlciAuOHMgaW5maW5pdGUgbGluZWFyO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo1MCU7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt6LWluZGV4Ojk5OTk7bGVmdDowO3JpZ2h0OjA7bWFyZ2luOjAgYXV0bzt0b3A6NDclfS5nb3ZlcmxheXt3aWR0aDoxMDAlO2hlaWdodDpjYWxjKDEwMHZoICsgMXB4KTtwb3NpdGlvbjpmaXhlZDt0b3A6LTFweDtsZWZ0OjA7YmFja2dyb3VuZDojMDAwO3dpbGwtY2hhbmdlOm9wYWNpdHl9LmdsaWdodGJveC1tb2JpbGUgLmdvdmVybGF5e2JhY2tncm91bmQ6IzAwMH0uZ2Nsb3NlLC5nbmV4dCwuZ3ByZXZ7ei1pbmRleDo5OTk5OTtjdXJzb3I6cG9pbnRlcjt3aWR0aDoyNnB4O2hlaWdodDo0NHB4O2JvcmRlcjpub25lO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZ2Nsb3NlIHN2ZywuZ25leHQgc3ZnLC5ncHJldiBzdmd7ZGlzcGxheTpibG9jazt3aWR0aDoyNXB4O2hlaWdodDphdXRvO21hcmdpbjowO3BhZGRpbmc6MH0uZ2Nsb3NlLmRpc2FibGVkLC5nbmV4dC5kaXNhYmxlZCwuZ3ByZXYuZGlzYWJsZWR7b3BhY2l0eTouMX0uZ2Nsb3NlIC5nYXJyb3csLmduZXh0IC5nYXJyb3csLmdwcmV2IC5nYXJyb3d7c3Ryb2tlOiNmZmZ9LmdidG4uZm9jdXNlZHtvdXRsaW5lOjJweCBzb2xpZCAjMGYzZDgxfWlmcmFtZS53YWl0LWF1dG9wbGF5e29wYWNpdHk6MH0uZ2xpZ2h0Ym94LWNsb3NpbmcgLmdjbG9zZSwuZ2xpZ2h0Ym94LWNsb3NpbmcgLmduZXh0LC5nbGlnaHRib3gtY2xvc2luZyAuZ3ByZXZ7b3BhY2l0eTowIWltcG9ydGFudH0uZ2xpZ2h0Ym94LWNsZWFuIC5nc2xpZGUtZGVzY3JpcHRpb257YmFja2dyb3VuZDojZmZmfS5nbGlnaHRib3gtY2xlYW4gLmdkZXNjLWlubmVye3BhZGRpbmc6MjJweCAyMHB4fS5nbGlnaHRib3gtY2xlYW4gLmdzbGlkZS10aXRsZXtmb250LXNpemU6MWVtO2ZvbnQtd2VpZ2h0OjQwMDtmb250LWZhbWlseTphcmlhbDtjb2xvcjojMDAwO21hcmdpbi1ib3R0b206MTlweDtsaW5lLWhlaWdodDoxLjRlbX0uZ2xpZ2h0Ym94LWNsZWFuIC5nc2xpZGUtZGVzY3tmb250LXNpemU6Ljg2ZW07bWFyZ2luLWJvdHRvbTowO2ZvbnQtZmFtaWx5OmFyaWFsO2xpbmUtaGVpZ2h0OjEuNGVtfS5nbGlnaHRib3gtY2xlYW4gLmdzbGlkZS12aWRlb3tiYWNrZ3JvdW5kOiMwMDB9LmdsaWdodGJveC1jbGVhbiAuZ2Nsb3NlLC5nbGlnaHRib3gtY2xlYW4gLmduZXh0LC5nbGlnaHRib3gtY2xlYW4gLmdwcmV2e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNzUpO2JvcmRlci1yYWRpdXM6NHB4fS5nbGlnaHRib3gtY2xlYW4gLmdjbG9zZSBwYXRoLC5nbGlnaHRib3gtY2xlYW4gLmduZXh0IHBhdGgsLmdsaWdodGJveC1jbGVhbiAuZ3ByZXYgcGF0aHtmaWxsOiNmZmZ9LmdsaWdodGJveC1jbGVhbiAuZ3ByZXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0xMDAlO2xlZnQ6MzBweDt3aWR0aDo0MHB4O2hlaWdodDo1MHB4fS5nbGlnaHRib3gtY2xlYW4gLmduZXh0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMTAwJTtyaWdodDozMHB4O3dpZHRoOjQwcHg7aGVpZ2h0OjUwcHh9LmdsaWdodGJveC1jbGVhbiAuZ2Nsb3Nle3dpZHRoOjM1cHg7aGVpZ2h0OjM1cHg7dG9wOjE1cHg7cmlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZX0uZ2xpZ2h0Ym94LWNsZWFuIC5nY2xvc2Ugc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OmF1dG99LmdsaWdodGJveC1jbGVhbiAuZ2Nsb3NlOmhvdmVye29wYWNpdHk6MX0uZ2ZhZGVJbnstd2Via2l0LWFuaW1hdGlvbjpnZmFkZUluIC41cyBlYXNlO2FuaW1hdGlvbjpnZmFkZUluIC41cyBlYXNlfS5nZmFkZU91dHstd2Via2l0LWFuaW1hdGlvbjpnZmFkZU91dCAuNXMgZWFzZTthbmltYXRpb246Z2ZhZGVPdXQgLjVzIGVhc2V9LmdzbGlkZU91dExlZnR7LXdlYmtpdC1hbmltYXRpb246Z3NsaWRlT3V0TGVmdCAuM3MgZWFzZTthbmltYXRpb246Z3NsaWRlT3V0TGVmdCAuM3MgZWFzZX0uZ3NsaWRlSW5MZWZ0ey13ZWJraXQtYW5pbWF0aW9uOmdzbGlkZUluTGVmdCAuM3MgZWFzZTthbmltYXRpb246Z3NsaWRlSW5MZWZ0IC4zcyBlYXNlfS5nc2xpZGVPdXRSaWdodHstd2Via2l0LWFuaW1hdGlvbjpnc2xpZGVPdXRSaWdodCAuM3MgZWFzZTthbmltYXRpb246Z3NsaWRlT3V0UmlnaHQgLjNzIGVhc2V9LmdzbGlkZUluUmlnaHR7LXdlYmtpdC1hbmltYXRpb246Z3NsaWRlSW5SaWdodCAuM3MgZWFzZTthbmltYXRpb246Z3NsaWRlSW5SaWdodCAuM3MgZWFzZX0uZ3pvb21Jbnstd2Via2l0LWFuaW1hdGlvbjpnem9vbUluIC41cyBlYXNlO2FuaW1hdGlvbjpnem9vbUluIC41cyBlYXNlfS5nem9vbU91dHstd2Via2l0LWFuaW1hdGlvbjpnem9vbU91dCAuNXMgZWFzZTthbmltYXRpb246Z3pvb21PdXQgLjVzIGVhc2V9QC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0Ym94TG9hZGVyezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTt0cmFuc2Zvcm06cm90YXRlKDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIGxpZ2h0Ym94TG9hZGVyezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTt0cmFuc2Zvcm06cm90YXRlKDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgZ2ZhZGVJbntmcm9te29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUBrZXlmcmFtZXMgZ2ZhZGVJbntmcm9te29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUAtd2Via2l0LWtleWZyYW1lcyBnZmFkZU91dHtmcm9te29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZ2ZhZGVPdXR7ZnJvbXtvcGFjaXR5OjF9dG97b3BhY2l0eTowfX1ALXdlYmtpdC1rZXlmcmFtZXMgZ3NsaWRlSW5MZWZ0e2Zyb217b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC02MCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTYwJSwwLDApfXRve3Zpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgZ3NsaWRlSW5MZWZ0e2Zyb217b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC02MCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTYwJSwwLDApfXRve3Zpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTtvcGFjaXR5OjF9fUAtd2Via2l0LWtleWZyYW1lcyBnc2xpZGVPdXRMZWZ0e2Zyb217b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNjAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC02MCUsMCwwKTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW59fUBrZXlmcmFtZXMgZ3NsaWRlT3V0TGVmdHtmcm9te29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTYwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNjAlLDAsMCk7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVufX1ALXdlYmtpdC1rZXlmcmFtZXMgZ3NsaWRlSW5SaWdodHtmcm9te29wYWNpdHk6MDt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoNjAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDYwJSwwLDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO29wYWNpdHk6MX19QGtleWZyYW1lcyBnc2xpZGVJblJpZ2h0e2Zyb217b3BhY2l0eTowO3Zpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCg2MCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoNjAlLDAsMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7b3BhY2l0eToxfX1ALXdlYmtpdC1rZXlmcmFtZXMgZ3NsaWRlT3V0UmlnaHR7ZnJvbXtvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDYwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCg2MCUsMCwwKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZ3NsaWRlT3V0UmlnaHR7ZnJvbXtvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDYwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCg2MCUsMCwwKTtvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBnem9vbUlue2Zyb217b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpO3RyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKX10b3tvcGFjaXR5OjF9fUBrZXlmcmFtZXMgZ3pvb21Jbntmcm9te29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKTt0cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyl9dG97b3BhY2l0eToxfX1ALXdlYmtpdC1rZXlmcmFtZXMgZ3pvb21PdXR7ZnJvbXtvcGFjaXR5OjF9NTAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKTt0cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyl9dG97b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGd6b29tT3V0e2Zyb217b3BhY2l0eToxfTUwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyk7dHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpfXRve29wYWNpdHk6MH19QG1lZGlhIChtaW4td2lkdGg6NzY5cHgpey5nbGlnaHRib3gtY29udGFpbmVyIC5naW5uZXItY29udGFpbmVye3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd30uZ2xpZ2h0Ym94LWNvbnRhaW5lciAuZ2lubmVyLWNvbnRhaW5lci5kZXNjLXRvcCAuZ3NsaWRlLWRlc2NyaXB0aW9uey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTstbXMtZmxleC1vcmRlcjowO29yZGVyOjB9LmdsaWdodGJveC1jb250YWluZXIgLmdpbm5lci1jb250YWluZXIuZGVzYy10b3AgLmdzbGlkZS1pbWFnZSwuZ2xpZ2h0Ym94LWNvbnRhaW5lciAuZ2lubmVyLWNvbnRhaW5lci5kZXNjLXRvcCAuZ3NsaWRlLWltYWdlIGltZ3std2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjI7LW1zLWZsZXgtb3JkZXI6MTtvcmRlcjoxfS5nbGlnaHRib3gtY29udGFpbmVyIC5naW5uZXItY29udGFpbmVyLmRlc2MtbGVmdCAuZ3NsaWRlLWRlc2NyaXB0aW9uey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTstbXMtZmxleC1vcmRlcjowO29yZGVyOjB9LmdsaWdodGJveC1jb250YWluZXIgLmdpbm5lci1jb250YWluZXIuZGVzYy1sZWZ0IC5nc2xpZGUtaW1hZ2V7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoyOy1tcy1mbGV4LW9yZGVyOjE7b3JkZXI6MX0uZ3NsaWRlLWltYWdlIGltZ3ttYXgtaGVpZ2h0Ojk3dmg7bWF4LXdpZHRoOjEwMCV9LmdzbGlkZS1pbWFnZSBpbWcuem9vbWFibGV7Y3Vyc29yOi13ZWJraXQtem9vbS1pbjtjdXJzb3I6em9vbS1pbn0uem9vbWVkIC5nc2xpZGUtaW1hZ2UgaW1nLnpvb21hYmxle2N1cnNvcjotd2Via2l0LWdyYWI7Y3Vyc29yOmdyYWJ9LmdzbGlkZS1pbmxpbmV7bWF4LWhlaWdodDo5NXZofS5nc2xpZGUtZXh0ZXJuYWx7bWF4LWhlaWdodDoxMDB2aH0uZ3NsaWRlLWRlc2NyaXB0aW9uLmRlc2NyaXB0aW9uLWxlZnQsLmdzbGlkZS1kZXNjcmlwdGlvbi5kZXNjcmlwdGlvbi1yaWdodHttYXgtd2lkdGg6Mjc1cHh9LmdsaWdodGJveC1vcGVue2hlaWdodDphdXRvfS5nb3ZlcmxheXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjkyKX0uZ2xpZ2h0Ym94LWNsZWFuIC5nc2xpZGUtbWVkaWF7LXdlYmtpdC1ib3gtc2hhZG93OjFweCAycHggOXB4IDAgcmdiYSgwLDAsMCwuNjUpO2JveC1zaGFkb3c6MXB4IDJweCA5cHggMCByZ2JhKDAsMCwwLC42NSl9LmdsaWdodGJveC1jbGVhbiAuZGVzY3JpcHRpb24tbGVmdCAuZ2Rlc2MtaW5uZXIsLmdsaWdodGJveC1jbGVhbiAuZGVzY3JpcHRpb24tcmlnaHQgLmdkZXNjLWlubmVye3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO292ZXJmbG93LXk6YXV0b30uZ2xpZ2h0Ym94LWNsZWFuIC5nY2xvc2UsLmdsaWdodGJveC1jbGVhbiAuZ25leHQsLmdsaWdodGJveC1jbGVhbiAuZ3ByZXZ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4zMil9LmdsaWdodGJveC1jbGVhbiAuZ2Nsb3NlOmhvdmVyLC5nbGlnaHRib3gtY2xlYW4gLmduZXh0OmhvdmVyLC5nbGlnaHRib3gtY2xlYW4gLmdwcmV2OmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNyl9LmdsaWdodGJveC1jbGVhbiAuZ3ByZXZ7dG9wOjQ1JX0uZ2xpZ2h0Ym94LWNsZWFuIC5nbmV4dHt0b3A6NDUlfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmdsaWdodGJveC1jbGVhbiAuZ2Nsb3Nle29wYWNpdHk6Ljc7cmlnaHQ6MjBweH19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6NDIwcHgpey5nb3ZlcmxheXtiYWNrZ3JvdW5kOiMwMDB9fSIsImxpdGUteW91dHViZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGFpbjogY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1heC13aWR0aDogNzIwcHg7XG59XG5cbi8qIGdyYWRpZW50ICovXG5saXRlLXlvdXR1YmU6OmJlZm9yZSB7XG4gICAgY29udGVudDogYXR0cihkYXRhLXRpdGxlKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIC8qIFBpeGVsLXBlcmZlY3QgcG9ydCBvZiBZVCdzIGdyYWRpZW50IFBORywgdXNpbmcgaHR0cHM6Ly9naXRodWIuY29tL2JsdWVzbW9vbi9wbmd0b2NzcyBwbHVzIG9wdGltaXphdGlvbnMgKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2IoMCAwIDAgLyA2NyUpIDAlLCByZ2IoMCAwIDAgLyA1NCUpIDE0JSwgcmdiKDAgMCAwIC8gMTUlKSA1NCUsIHJnYigwIDAgMCAvIDUlKSA3MiUsIHJnYigwIDAgMCAvIDAlKSA5NCUpO1xuICAgIGhlaWdodDogOTlweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LWZhbWlseTogXCJZb3VUdWJlIE5vdG9cIixSb2JvdG8sQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7XG4gICAgY29sb3I6IGhzbCgwZGVnIDAlIDkzLjMzJSk7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLDAsMCwuNSk7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBhZGRpbmc6IDI1cHggMjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxubGl0ZS15b3V0dWJlOmhvdmVyOjpiZWZvcmUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLyogcmVzcG9uc2l2ZSBpZnJhbWUgd2l0aCBhIDE2OjkgYXNwZWN0IHJhdGlvXG4gICAgdGhhbmtzIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vcmVzcG9uc2l2ZS1pZnJhbWVzL1xuKi9cbmxpdGUteW91dHViZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTAwJSAvICgxNiAvIDkpKTtcbn1cbmxpdGUteW91dHViZSA+IGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG59XG5cbi8qIHBsYXkgYnV0dG9uICovXG5saXRlLXlvdXR1YmUgPiAubHR5LXBsYXlidG4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIE1ha2UgdGhlIGJ1dHRvbiBlbGVtZW50IGNvdmVyIHRoZSB3aG9sZSBhcmVhIGZvciBhIGxhcmdlIGhvdmVyL2NsaWNrIHRhcmdldOKApiAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvKiDigKZidXQgdmlzdWFsbHkgaXQncyBzdGlsbCB0aGUgc2FtZSBzaXplICovXG4gICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlci82OHB4IDQ4cHg7XG4gICAgLyogWVQncyBhY3R1YWwgcGxheSBidXR0b24gc3ZnICovXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDY4IDQ4XCI+PHBhdGggZD1cIk02Ni41MiA3Ljc0Yy0uNzgtMi45My0yLjQ5LTUuNDEtNS40Mi02LjE5QzU1Ljc5LjEzIDM0IDAgMzQgMFMxMi4yMS4xMyA2LjkgMS41NWMtMi45My43OC00LjYzIDMuMjYtNS40MiA2LjE5Qy4wNiAxMy4wNSAwIDI0IDAgMjRzLjA2IDEwLjk1IDEuNDggMTYuMjZjLjc4IDIuOTMgMi40OSA1LjQxIDUuNDIgNi4xOUMxMi4yMSA0Ny44NyAzNCA0OCAzNCA0OHMyMS43OS0uMTMgMjcuMS0xLjU1YzIuOTMtLjc4IDQuNjQtMy4yNiA1LjQyLTYuMTlDNjcuOTQgMzQuOTUgNjggMjQgNjggMjRzLS4wNi0xMC45NS0xLjQ4LTE2LjI2elwiIGZpbGw9XCJyZWRcIi8+PHBhdGggZD1cIk00NSAyNCAyNyAxNHYyMFwiIGZpbGw9XCJ3aGl0ZVwiLz48L3N2Zz4nKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIC4xcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgICBib3JkZXI6IDA7XG59XG5cbmxpdGUteW91dHViZTpob3ZlciA+IC5sdHktcGxheWJ0bixcbmxpdGUteW91dHViZSAubHR5LXBsYXlidG46Zm9jdXMge1xuICAgIGZpbHRlcjogbm9uZTtcbn1cblxuLyogUG9zdC1jbGljayBzdHlsZXMgKi9cbmxpdGUteW91dHViZS5seXQtYWN0aXZhdGVkIHtcbiAgICBjdXJzb3I6IHVuc2V0O1xufVxubGl0ZS15b3V0dWJlLmx5dC1hY3RpdmF0ZWQ6OmJlZm9yZSxcbmxpdGUteW91dHViZS5seXQtYWN0aXZhdGVkID4gLmx0eS1wbGF5YnRuIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubHl0LXZpc3VhbGx5LWhpZGRlbiB7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3aWR0aDogMXB4O1xuICB9XG4iLCJAaW1wb3J0ICdjb21tb24vZm9udHMnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9mb3VuZGF0aW9uJztcblxuLy8gR2xvYmFsIHN0eWxlc1xuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuLy8gR3JpZHMgKGNob29zZSBvbmUpXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3Nlcztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcblxuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcblxuLy8gQmFzaWMgY29tcG9uZW50c1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cbi8vIENvbnRhaW5lcnNcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuXG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuLy8gSGVscGVyc1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3Nlcztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG5cbi8vQGltcG9ydCAnbW90aW9uLXVpJztcbi8vQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuLy9AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcblxuOnJvb3R7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAtLWhueS0jeyRrZXl9IDogI3skdmFsdWV9O1xuICB9XG59XG5cbkBpbXBvcnQgJ35zd2lwZXIvc3dpcGVyLWJ1bmRsZS5taW4uY3NzJztcbkBpbXBvcnQgJ35nbGlnaHRib3gvZGlzdC9jc3MvZ2xpZ2h0Ym94Lm1pbi5jc3MnO1xuQGltcG9ydCAnfmxpdGUteW91dHViZS1lbWJlZC9zcmMvbGl0ZS15dC1lbWJlZC5jc3MnO1xuIiwiLy9AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1OdW5pdG8rU2FuczppdGFsLHdnaHRAMCwzMDA7MCw0MDA7MCw3MDA7MCw5MDA7MSwzMDA7MSw0MDAnKTtcbi8vQGltcG9ydCB1cmwoaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvbXVoOHNtdi5jc3MpO1xuXG4vKiBudW5pdG8tc2Fucy0zMDBpdGFsaWMgLSBsYXRpbiAqL1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IHVybCgnLi4vZm9udHMvbnVuaXRvLXNhbnMtdjE1LWxhdGluLTMwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTsgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xuICBmb250LWZhbWlseTogJ051bml0byBTYW5zJztcbiAgZm9udC1kaXNwbGF5OiBibG9jazsgLyogQ2hlY2sgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0Bmb250LWZhY2UvZm9udC1kaXNwbGF5IGZvciBvdGhlciBvcHRpb25zLiAqL1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IHVybCgnLi4vZm9udHMvbnVuaXRvLXNhbnMtdjE1LWxhdGluLTMwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgZm9udC1mYW1pbHk6ICdOdW5pdG8gU2Fucyc7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIG51bml0by1zYW5zLXJlZ3VsYXIgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL251bml0by1zYW5zLXYxNS1sYXRpbi1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICBmb250LWZhbWlseTogJ051bml0byBTYW5zJztcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbn1cblxuLyogbnVuaXRvLXNhbnMtNzAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLi9mb250cy9udW5pdG8tc2Fucy12MTUtbGF0aW4tNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICBmb250LWZhbWlseTogJ051bml0byBTYW5zJztcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbn1cblxuLyogbnVuaXRvLXNhbnMtOTAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIHNyYzogdXJsKCcuLi9mb250cy9udW5pdG8tc2Fucy12MTUtbGF0aW4tOTAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICBmb250LWZhbWlseTogJ051bml0byBTYW5zJztcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbn1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi43LjVcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtc2l6ZTogbnVsbDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBcInNtYWxsXCI6IDAsXG4gIFwibWVkaXVtXCI6IDY0MHB4LFxuICBcImxhcmdlXCI6IDEwMjRweCxcbiAgXCJ4bGFyZ2VcIjogMTIwMHB4LFxuICBcInh4bGFyZ2VcIjogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBIaURQSSBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgcmVzb2x1dGlvbnMuXG4vLy8gVmFsdWVzIG11c3QgcmVwcmVzZW50IHRoZSBkZXZpY2UgcGl4ZWxzIC8gd2ViIHBpeGVscyByYXRpb24gYW5kIGJlIHVuaXRsZXNzIG9yIGluIERQUFguXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgXCJoaWRwaS0xXCI6IDEsXG4gIFwiaGlkcGktMS01XCI6IDEuNSxcbiAgXCJoaWRwaS0yXCI6IDIsXG4gIFwicmV0aW5hXCI6IDIsXG4gIFwiaGlkcGktM1wiOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtIGRpdmlkZSgxLCAkc3RkLXdlYi1kcGkpLCAtemYtYnAtdG8tZW0oJGJwLW5leHQpIC0gMC4wMDEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJhdGUgdGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIG1pbiBhbmQgbWF4IGxpbWl0cy5cbiAgQGlmICRoaWRwaSB7XG4gICAgLy8gR2VuZXJhdGUgdmFsdWVzIGluIERQSSBpbnN0ZWFkIG9mIERQUFggZm9yIGFuIElFOS0xMS9PcGVyYSBtaW5pIGNvbXBhdGliaWxpdHkuXG4gICAgLy8gU2VlIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgICAkYnAtbWluLWRwaTogaWYoJGJwLW1pbiwgJGJwLW1pbiAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1taW4pO1xuICAgICRicC1tYXgtZHBpOiBpZigkYnAtbWF4LCAkYnAtbWF4ICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1heCk7XG4gICAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgsICctd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8nLCAnLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvJyksXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLWRwaSwgJGJwLW1heC1kcGksICdtaW4tcmVzb2x1dGlvbicsICdtYXgtcmVzb2x1dGlvbicpLFxuICAgICAgJywgJyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCk7XG4gIH1cbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBhbmQgYCRicmVha3BvaW50cy1oaWRwaWAgbWFwcywgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIElmIG11bHRpcGxlIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBnZW5lcmF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBlYWNoIG9mIHRoZW0gYXMgZGVzY3JpYmVkIGFib3ZlLlxuLy8vIFNpbmNlIHRoZSBjb250ZW50IGlzIGR1cGxpY2F0ZWQgZm9yIGVhY2ggYnJlYWtwb2ludCwgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggcHJvcGVydGllcyB0aGF0XG4vLy8gY2hhbmdlIGFjcm9zcyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZXMuLi4gLSBCcmVha3BvaW50IG5hbWUgb3IgcHgvcmVtL2VtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZXMuLi4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHZhbHVlcykge1xuICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRpKTtcbiAgICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsIG50aCgkdmFsdWUsIDEpKTtcbiAgICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcbiAgICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAgICRkaXI6IGlmKGxlbmd0aCgkdmFsdWUpID4gMSwgbnRoKCR2YWx1ZSwgMiksIHVwKTtcblxuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAgIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAgIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICAgIC8vIGdlbmVyYXRlIHByaW50IGlmIHRoZSBicmVha3BvaW50IGFmZmVjdHMgdGhlIHByaW50LWJyZWFrcG9pbnQgKG9yIHNtYWxsZXIpLlxuICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3VycmVudCBjb25kaXRpb24gb25seSBuZWVkcyB0byBiZSBleHRlbmRlZCBzbyAnZG93bicgYWx3YXlzIGdlbmVyYXRlcyBwcmludC5cbiAgICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgKCRicCA8PSAkcGJwIG9yICRkaXIgPT0gZG93bikge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBudW1iZXIgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgbnVtYmVyIGZvbGxvd2luZyBgJG51bWJlcmAsIGlmIGAkbnVtYmVyYCB3YXMgZm91bmQuIElmIGAkbnVtYmVyYCB3YXMgbm90IGZvdW5kLCBvciBgJG51bWJlcmAgd2FzIHRoZSBiaWdnZXN0IG51bWJlciBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQtbnVtYmVyKCRtYXAsICRudW1iZXIpIHtcblxuICAkbmV4dC1udW1iZXI6IG51bGw7XG5cbiAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSAnbnVtYmVyJyBhbmQgJHYgPiAkbnVtYmVyIGFuZCAoJG5leHQtbnVtYmVyID09IG51bGwgb3IgJHYgPCAkbmV4dC1udW1iZXIpIHtcbiAgICAgICRuZXh0LW51bWJlcjogJHY7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV4dC1udW1iZXI7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmQta2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kLWtleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmQta2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8vIFJldHVybiB0aGUgYmVzdCBicmVha3BvaW50IHRvIHVzZSBhY2NvcmRpbmcgdG8gdGhlIGNhbGxpbmcgY29udGV4dC4gSXQgcmV0dXJucyBpbiBvcmRlcjpcbi8vLyAxLiB0aGUgZ2l2ZW4gYCR2YWx1ZWAgYXJndW1lbnQgaWYgaXQgaXMgbm90IG51bGwuXG4vLy8gMi4gdGhlIGdsb2JhbCBicmVha3BvaW50IGNvbnRleHQgYCQtemYtc2l6ZWAgaWYgaXQgaXMgbm90IG51bGwgKGxpa2UgaWYgY2FsbGVkIGluc2lkZSB0aGVuIGBicmVha3BvaW50KClgIG1peGluKVxuLy8vIDMuIHRoZSBnaXZlbiBgJGRlZmF1bHRgIGFyZ3VtZW50LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgaW4gcHJpb3JpdHkgaWYgbm9uLW51bGwuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGVmYXVsdCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBieSBkZWZhdWx0IGlmIG5vIG90aGVyIHZhbHVlIGNhbiBiZSB1c2VkLlxuLy8vXG4vLy8gQHJldHVybiB7S2V5d29yZH0gVGhlIHJlc29sdmVkIGJyZWFrcG9pbnQuXG5AZnVuY3Rpb24gLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkdmFsdWU6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gIEBpZiAoJHZhbHVlICE9IG51bGwpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgIEByZXR1cm4gJC16Zi1zaXplO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRkZWZhdWx0O1xuICB9XG59XG5cbi8vLyBSZXR1cm4gbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gdGhlIGdpdmVuIG1pbiBhbmQvb3IgbWF4IGxpbWl0cy5cbi8vLyBJZiBhIGxpbWl0IGlzIGVxdWFsIHRvIGBudWxsYCBvciBgMGAsIGl0IGlzIGlnbm9yZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbiBbMF0gLSBNaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggWzBdIC0gTWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWluLW5hbWUgWydtaW4td2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbJ21heC13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gTWVkaWEgUXVlcnkgc3RyaW5nLlxuQGZ1bmN0aW9uIC16Zi1icC1qb2luKFxuICAkbWluOiAwLFxuICAkbWF4OiAwLFxuICAkbWluLW5hbWU6ICdtaW4td2lkdGgnLFxuICAkbWF4LW5hbWU6ICdtYXgtd2lkdGgnXG4pIHtcbiAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICBpZigkbWluIGFuZCAkbWluID4gMCwgJygjeyRtaW4tbmFtZX06ICN7JG1pbn0pJywgbnVsbCksXG4gICAgaWYoJG1heCBhbmQgJG1heCA+IDAsICcoI3skbWF4LW5hbWV9OiAjeyRtYXh9KScsIG51bGwpLFxuICAgICcgYW5kICcpO1xufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbi8vIFRoaXMgc2hvdWxkIGJlIGluIHRoZSBzYW1lIGJyZWFrcG9pbnQgdGhlbiBgQG1peGluIHJldmVhbC1tb2RhbC13aWR0aGBcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgLy8gRXh0ZW5kcyBtdXN0IGJlIG1hZGUgb3V0c2lkZSBvZiBicmVha3BvaW50cyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5ld2VyIFNhc3MgdmVyc2lvbnMgKGxpYnNhc3MgdjMuNSlcbiAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG5cbiAgLy8vIERpc2FibGVzIHRoZSBzY3JvbGwgd2hlbiBSZXZlYWwgaXMgc2hvd24gdG8gcHJldmVudCB0aGUgYmFja2dyb3VuZCBmcm9tIHNoaWZ0aW5nXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAmLnpmLWhhcy1zY3JvbGwge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIH1cblxuICAgIGJvZHkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGUgb3V0bGluZSB3aGVuIGludGVudCBpcyBjbGVhcmx5IG1vdXNlIGFuZCB0b3VjaFxuICBbZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0sXG4gIFtkYXRhLXdoYXRpbnRlbnQ9XCJ0b3VjaFwiXSxcbiAgW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0sXG4gIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIHtcbiAgICAqLCAqOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZSBpT1MgY2FsbG91dHMgd2hlbiBkcmFnZ2FibGUgaXMgZmFsc2VcbiAgW2RyYWdnYWJsZT1mYWxzZV0ge1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBcInByaW1hcnlcIjogIzE3NzliYSxcbiAgXCJzZWNvbmRhcnlcIjogIzc2NzY3NixcbiAgXCJzdWNjZXNzXCI6ICMzYWRiNzYsXG4gIFwid2FybmluZ1wiOiAjZmZhZTAwLFxuICBcImFsZXJ0XCI6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBzYWZlIHBhZGRpbmcgb24gdGhlIGJvZHkgZm9yIG5vbi1yZWN0YW5ndWxhciBkZXZpY2VzIChpLmUuIHBob25lcyB3aXRoIG5vdGNoZXMpXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktc2FmZS1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaWYgKCRib2R5LXNhZmUtcGFkZGluZykge1xuICAgICAgLy8gdXNpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGFjY291bnQgZm9yIG5vbi1yZWN0YW5ndWxhciBkaXNwbGF5cyBlLmcuIHBob25lcyB3aXRoIG5vdGNoZXNcbiAgICAgIHBhZGRpbmctdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbkBpbXBvcnQgJ35mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiAxNDAwcHg7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogI2UzMWYyOCxcbiAgc2Vjb25kYXJ5OiAjMGEwYTBhLFxuICBzdWNjZXNzOiAjMDA4QTA1LFxuICB3YXJuaW5nOiAjRTA3OTEyLFxuICBhbGVydDogI0UwMEI0MSxcbik7XG4kc3VidGxlLWdyYXk6ICNmMWYxZjE7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kYmxhY2s6ICMwYTBhMGE7XG4kd2hpdGU6ICNmZWZlZmU7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAjNDg0ODQ4O1xuJGJvZHktZm9udC1mYW1pbHk6ICdOdW5pdG8gU2FucycsIHNhbnMtc2VyaWY7XG4kYm9keS1zYWZlLXBhZGRpbmc6IGZhbHNlO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMS41cmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxLjVyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxLjVyZW07XG4kZ2xvYmFsLXdlaWdodC1saWdodDogMzAwO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiA0MDA7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiA2MDA7XG4kZ2xvYmFsLXdlaWdodC1oZWF2eTogNzAwO1xuJGdsb2JhbC13ZWlnaHQtdWx0cmE6IDgwMDtcbiRnbG9iYWwtcmFkaXVzOiAwLjI1cmVtO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IHBvaW50ZXI7XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuJHByaW50LWhyZWZzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIHRhYmxldDogNzgycHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTI4MHB4LFxuICB4eGxhcmdlOiAxNjUwcHgsXG4gIHdpZGU6IDE5MjBweCxcbik7XG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogM1xuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gdGFibGV0IGxhcmdlIHhsYXJnZSB4eGxhcmdlIHdpZGUpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDQ4cHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuMjU7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDFyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMzIpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjIpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTYpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTIpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTIpLFxuICApLFxuICB4bGFyZ2U6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDMyKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDI2KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3ZlcjogJGJsYWNrO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygxMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogJGhlYWRlci1saW5laGVpZ2h0O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbTtcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQic7XG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogMDtcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiBmYWxzZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRidXR0b24tcGFkZGluZzogMC45NWVtIDEuNWVtO1xuJGJ1dHRvbi1tYXJnaW46IDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLWJvcmRlcjogMDtcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAyMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IDIwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtc2l6ZXM6IChcbiAgc21hbGw6IDAuNXJlbSxcbiAgZGVmYXVsdDogMXJlbSxcbiAgbGFyZ2U6IDNyZW0sXG4pO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tei1pbmRleDogMTA7XG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW07XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDJweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAycHggc29saWQgJHByaW1hcnktY29sb3I7XG4kaW5wdXQtcGFkZGluZzogbWF0aC5kaXYoJGZvcm0tc3BhY2luZywgMS41KTtcbiRpbnB1dC1zaGFkb3c6IG5vbmU7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiBub25lO1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJG9mZmNhbnZhcy1zaGFkb3c6IG5vbmU7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDMwMDAwMDtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDQwMDAwMDtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDUwMDAwMDtcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogNDAwMDAwO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC45NSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJztcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6ICdcXDAwQkInO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNiksIDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiAwO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMDtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAyMTQ3NDgzNjQ2O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAwLjU7XG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCBtYXRoLmRpdigkdGFibGUtY29sb3Itc2NhbGUsIDIpKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDQ4cHgsXG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kLXpmLWJwLXZhbHVlOiBudWxsO1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogZGl2aWRlKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSwgJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiAjeyRyZ2J9XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoMSwgJGkpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZSBvciAoJG1lZGlhLXF1ZXJpZXMgPT0gJ2Zvci1saXN0cycgYW5kICQtYnJlYWtwb2ludHMtaXMtYS1saXN0KSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJGJwLXZhbHVlOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgICBAaWYgJGJwLXZhbHVlICE9IG51bGwge1xuICAgICAgICAkbmFtZTogJGJwLXZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nICogMC41ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgKiAwLjUgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGQtZnJvbS1oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZC1mcm9tLWhlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAlY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kICVjb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiRwcmltYXJ5LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiR3YXJuaW5nLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHN1Y2Nlc3MtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogZGl2aWRlKCRyZ2IsIDI1NSk7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgZGl2aWRlKCRyZ2IsIDEyLjkyKSwgcG93KGRpdmlkZSgkcmdiICsgMC4wNTUsIDEuMDU1KSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogZGl2aWRlKCRsdW1pbmFuY2UxLCAkbHVtaW5hbmNlMik7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogZGl2aWRlKDEsICRyYXRpbyk7XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAqIDAuMTtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gJ0NvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9JztcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICVjaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNpdGUtYmxvY2sge1xuICAgIEBleHRlbmQgJWNpdGUtYmxvY2s7XG4gIH1cblxuICAlY29kZS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1pbmxpbmU7XG4gIH1cblxuICAuY29kZS1pbmxpbmUge1xuICAgIEBleHRlbmQgJWNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgLy8gRW5zdXJlIGEgXCJibGFjay1vbi13aGl0ZVwiIHByaW50IGJ5IHJlbW92aW5nIGJhY2tncm91bmRzLFxuICAgICAgLy8gdXNpbmcgYmxhY2sgdGV4dCBldmVyeXdoZXJlIGFuZCBmb3JjaW5nIHRoZSBicm93c2VyIHRvIGVjb25vbWl6ZSBpbmsuXG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgcHJpbnQtY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBwcmV2ZW50IGFueSBlY29ub215IGJ5IHRoZSBicm93c2VyLlxuICAgICAgQGVsc2Uge1xuICAgICAgICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIjtcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIGFsbCBwcmlvciBicmVha3BvaW50cy5cbiAgICAgIC8vIEFzIHRoZWlyIGd1dHRlciBpcyBkZWZpbmVkIHdpdGggdGhlaXIgd2lkdGgvaGVpZ2h0LCBldmVuIGJyZWFrcG9pbnQgd2l0aG91dCBhIG5ldyBtYXJnaW4gbXVzdCBiZVxuICAgICAgLy8gZ2VuZXJhdGVkIHRvIG5vdCBoYXZpbmcgdGhlaXIgd2lkdGgvaGVpZ2h0IG92ZXJyaWRlZCBieSByZS1hZGp1c3RlZCBzbWFsbGVyIGJyZWFrcG9pbnRzLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgLy8gICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIjtcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAqIDAuNTtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgKiAwLjU7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDA7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIEByZXR1cm4gMSAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnIG9yICRzaXplID09ICdmdWxsJyBvciB6Zi1pcy1mcmFjdGlvbigkc2l6ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiB0cnVlKSkge1xuICAgIEByZXR1cm4gMCAwIGF1dG87XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLy8gQ2FsY3VsYXRlIHRoZSBzaXplIG9mIGEgY2VsbCBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAgYCRndXR0ZXJzYC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxNYXB9IFRoZSBjZWxsIGd1dHRlciBzaXplIG9yIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwLlxuQGZ1bmN0aW9uIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gIC8vIEZvciBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgbWFwIGAkZ3V0dGVyc2AuXG4gIEBpZiAoJGJyZWFrcG9pbnQgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAkZ3V0dGVycztcbiAgfVxuXG4gIC8vIFVzZSB0aGUgY29udGV4dHVhbCBicmVha3BvaW50IGJ5IGRlZmF1bHQuXG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50KTtcblxuICBAaWYgKCRicmVha3BvaW50KSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXplcm8tYnJlYWtwb2ludCkgb3IgMDtcbiAgfVxufVxuXG4vLy8gUmV0dXJucyB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8zYC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFNpemUgb2YgdGhlIGNlbGwgKGluIHBlcmNlbnQpLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJHNpemUsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1ucyk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgZm9yIGEgY2VsbCBzaXplLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGFueSBmcmFjdGlvbiBsaWtlIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIGEgbWFwIG9mIHNpemVzIGFkYXB0ZWQgdG8gcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ3xNYXB9IFRoZSBjZWxsIHNpemluZyBwcm9wZXJ0eSB2YWx1ZSwgb3IgYSByZXNwb25zaXZlIG1hcCBvZiB0aGVtLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZS1jc3MoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRtYXJnaW4tZ3V0dGVyOiAwO1xuXG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nIG9yICRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgQHJldHVybiBhdXRvO1xuICB9XG5cbiAgLy8gRm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMsIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRtYXJnaW4tZ3V0dGVyOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgICBAaWYgKCRtYXJnaW4tZ3V0dGVyID09IG51bGwpIHtcbiAgICAgIEBlcnJvciAneHktY2VsbC1zaXplOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIHNpemUgKG51bWJlcilcbiAgJHNpemUtcmF3OiBpZigkc2l6ZSA9PSAnZnVsbCcsIDEwMCUsIHh5LWNlbGwtc2l6ZSgkc2l6ZSkpO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBDU1Mgc2l6ZSBpbmNsdWRpbmcgZ3V0dGVycyAoc3RyaW5nKVxuICAvLyBJZiB0aGUgY2VsbCBoYXMgcmVzcG9uc2l2ZSBtYXJnaW4gZ3V0dGVycywgcmV0dXJuIGEgcmVzcG9uc2l2ZSBtYXAgb2Ygc2l6ZXMuXG4gIEBpZiB0eXBlLW9mKCRtYXJnaW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiAoKTtcblxuICAgIEBlYWNoICRicCwgJG1nIGluICRtYXJnaW4tZ3V0dGVyIHtcbiAgICAgICRtZ2M6IHJlbS1jYWxjKCRtZyk7XG4gICAgICBAaWYgJG1nYyA9PSAwIHtcbiAgICAgICAgJG1nYzogMHJlbTtcbiAgICAgIH1cbiAgICAgICRzaXplLWNzczogaWYoJG1nID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAjeyRtZ30pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgJG1nYzogcmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpO1xuICAgIEBpZiAkbWdjID09IDAge1xuICAgICAgJG1nYzogMHJlbTtcbiAgICB9XG4gICAgJGNzcy1zaXplOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3skbWdjfSkpO1xuICAgIEByZXR1cm4gJGNzcy1zaXplO1xuICB9XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICAkYmFzZTogeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBmbGV4OiAjeyRiYXNlfTtcblxuICAvLyBTZXQgYmFzZSBzdHlsZXMgZm9yIFwiZnVsbFwiIG9ubHlcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vLyBTZXRzIHNpemluZyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHNpemVzIGFkYXB0ZWQgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplczogeHktY2VsbC1zaXplLWNzcygkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG5cbiAgQGlmICh0eXBlLW9mKCRzaXplcykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkc2l6ZXMpIHtcbiAgICAgICN7JGRpcmVjdGlvbn06ICQtemYtYnAtdmFsdWU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAjeyRkaXJlY3Rpb259OiAkc2l6ZXM7XG4gIH1cbn1cblxuLy8vIFNldHMgZ3V0dGVycyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIERpcmVjdGlvbiBvZiB0aGUgZ3V0dGVycyB0byBvdXRwdXQuIFNlZSBgJGd1dHRlci1wb3NpdGlvbmAuXG5AbWl4aW4geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIC8vIEdldCB0aGUgZGVmYXVsdCBndXR0ZXIgcG9zaXRpb24gYWNjb3JkaW5nIHRvIGNlbGwgZGlyZWN0aW9uXG4gIEBpZigkZ3V0dGVyLXBvc2l0aW9uID09IG51bGwpIHtcbiAgICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciB3aWR0aCBmb3IgdGhpcyBicmVha3BvaW50XG4gICRndXR0ZXItd2lkdGg6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICBAaWYgKCRndXR0ZXItd2lkdGggPT0gbnVsbCkge1xuICAgIEBlcnJvciAneHktY2VsbC1ndXR0ZXJzOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gIH1cblxuICBAaWYgKCRndXR0ZXItdHlwZSBhbmQgJGd1dHRlci10eXBlICE9IG5vbmUpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItd2lkdGgsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAvLyBEZWZhdWx0IGZvciAkZ3V0dGVyLW91dHB1dFxuICBAaWYgKCRndXR0ZXItb3V0cHV0ICE9IG51bGwpIHtcbiAgICBAd2FybiAneHktY2VsbDogJGd1dHRlci1vdXRwdXQgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuICAgIEBpZiAoJGd1dHRlci1vdXRwdXQgPT0gZmFsc2UpIHtcbiAgICAgICRvdXRwdXQ6IHNsLXJlbW92ZSgkb3V0cHV0LCBndXR0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGJhc2UpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIHNpemUpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGd1dHRlcnMpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gYHh5LWNlbGwtc3RhdGljKClgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC5cbi8vLyBVc2UgYHh5LWNlbGwoKWAgaW5zdGVhZCB3aXRoIGAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKWAgdG8gbm90IGdlbmVyYXRlIHRoZSBjZWxsIGJhc2UuXG4vLy8gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCB2Ni42LjBcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLiBBbHdheXMgYHRydWVgIGZvciBtYXJnaW4gZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEB3YXJuICd4eS1jZWxsLXN0YXRpYygpIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIFwieHktY2VsbCgpXCIgaW5zdGVhZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgJC1ndXR0ZXItb3V0cHV0OiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIHRydWUsICRndXR0ZXItb3V0cHV0KTtcbiAgJC1ndXR0ZXItbWFyZ2luOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsICRndXR0ZXIsIDApO1xuXG4gIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICQtZ3V0dGVyLW1hcmdpbiwgJHZlcnRpY2FsKTtcbiAgQGlmICgkLWd1dHRlci1vdXRwdXQpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBjb3JyZWN0bHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZShkaXZpZGUoMSwgJG4pKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCwgJG91dHB1dCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtaW4tYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gTWluaW11bSBicmVha3BvaW50IGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBmb3Igd2hpY2ggdG8gY29sbGFwc2UgdGhlIGd1dHRlci5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSB0byBvZmZzZXQgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd9IFRoZSBjZWxsIG9mZnNldCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRzaXplOiB4eS1jZWxsLXNpemUoJG4pO1xuXG4gICRvZmZzZXQ6ICRzaXplO1xuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSk7XG4gICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgIH1cbiAgICAkb2Zmc2V0OiBpZigkZ3V0dGVyID09IDAsICRzaXplLCBjYWxjKCN7JHNpemV9ICsgI3skZ3V0dGVyfSAvIDIpKTtcbiAgfVxuICBAcmV0dXJuICRvZmZzZXQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJGJyZWFrcG9pbnQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy4gSWYgYSBsaXN0IGlzIGdpdmVuLCBtZWRpYS1xdWVyaWVzIHdpbGwgYmUgZ2VuZXJhdGVkLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oJGJyZWFrcG9pbnQsICRtZWRpYS1xdWVyaWVzOiAnZm9yLWxpc3RzJykge1xuICAgICRvZmZzZXQ6IHh5LWNlbGwtb2Zmc2V0KCRuLCAkZ3V0dGVycywgJGd1dHRlci10eXBlKTtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skb2Zmc2V0fTtcbiAgfVxufVxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICAgICBAaWYgJGd1dHRlciA9PSAwIHtcbiAgICAgICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgICAgICB9XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAgICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAgICAgJGd1dHRlcjogMHJlbTtcbiAgICAgICAgfVxuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gSWdub3JlZCBpZiBudWxsIChkZWZhdWx0KVxuLy8vIEB0eXBlIEZvbnQtV2VpZ2h0XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGJ1dHRvbnMsIHRyYW5zcGFyZW50IGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IG9yIGNsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWZpbGwtc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLiBgc29saWRgIGhhcyBubyBlZmZlY3RzLlxuQG1peGluIGJ1dHRvbi1maWxsKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGVzIG9mIGEgc29saWQvaG9sbG93L2NsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbnMgYGJ1dHRvbi1zdHlsZWAsIGBidXR0b24taG9sbG93LXN0eWxlYCBhbmQgYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIGVmZmVjdHMgb2YgdmlzdWFsIHN0eWxpbmcgcGFyYW1ldGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIC1cbkBtaXhpbiBidXR0b24tZmlsbC1zdHlsZShcbiAgJGZpbGw6ICRidXR0b24tZmlsbCxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRmaWxsID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhci1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGFuZCBib3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRib3JkZXItd2lkdGggWyRidXR0b24taG9sbG93LWJvcmRlci13aWR0aF0gLSBCb3JkZXIgd2lkdGggb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1jbGVhciB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbkBtaXhpbiBidXR0b24tY2xlYXItc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQgYW5kIHJlc2V0aW5nIHRoZSBjdXJzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IFskYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRdIC0gT3BhY2l0eSBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZFxuKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbCgkc3R5bGUpO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkc3R5bGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJHN0eWxlOiBub25lKTtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKiAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0IFtmYWxzZV0gLSBOZWVkZWQgaWYgeW91IG9ubHkgd2FudCB0byBhcHBseSB0aGlzIHRvIGEgc3BlY2lmaWMgdGFibGUuXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCBkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgKiAwLjUpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgdGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLi5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiB0b3AvYm90dG9tIGljb25zIHdpdGhpbiBhIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYWxpZ25tZW50IFtjZW50ZXJdIC0gQWxpZ25tZW50IG9mIHRoZSBpY29uXG5AbWl4aW4gbWVudS1pY29uLWFsaWdubWVudCgkYWxpZ25tZW50OiBjZW50ZXIpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5pY29uLXRvcCxcbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIGxpIGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZSwgKCRtZW51LWl0ZW0tY29sb3ItYWN0aXZlLCAkbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmUpKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWVudSBpY29uIHBvc2l0aW9uXG4gICAgLy8gSW5jbHVkZXMgc3BlY2lmaWNpdHkgdG8gbmVzdGVkIGljb25zIHdpdGggYSBkaWZmZXJlbnQgcG9zaXRpb25cbiAgICAmLFxuICAgICYubmVzdGVkIHtcbiAgICAgIC8vIEljb24gTGVmdFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gUmlnaHRcbiAgICAgICYuaWNvbi1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gVG9wXG4gICAgICAmLmljb24tdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gQm90dG9tXG4gICAgICAmLmljb24tYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gQmluZCB0byBoYXMtdHJhbnNpdGlvbi1YIGNsYXNzIHRvIHByZXZlbnQgdHJhbnNpdGlvbiBmb3IgdHJhbnNmb3JtOm5vbmVcbiAgJi5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLFxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4gICRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4gICRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgLy8gQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAvLyAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAmLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pIHtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/