:root{--color-main: #000;--color-second: #fff;--bg-dark: #151616;--font-main: "Montserrat", sans-serif;--rubin-main: #222222;--rubin-second: #fd155f;--rubin-light: #f6f6f6;--rubin-bg-light: #ebebeb;--animate-delay: 0.5s}select[data-ss-uuid]{display:none;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.style-select{display:block;position:relative;width:100%;outline:none}.style-select,.style-select *{padding:0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left;line-height:19px;color:#A4A4A4;font-weight:300;cursor:pointer}.style-select .ss-selected-option{width:100%;background-color:#212323;padding:0 1.5625vw;height:3.125vw;line-height:3.125vw;outline:none}@media screen and (max-width: 1440px){.style-select .ss-selected-option{height:4.16667vw;line-height:4.16667vw}}@media screen and (max-width: 1280px){.style-select .ss-selected-option{height:4.6875vw;line-height:4.6875vw}}@media screen and (max-width: 1024px){.style-select .ss-selected-option{height:50px;line-height:50px;padding:0 15px}}.style-select .ss-selected-option::before{content:"";position:absolute;border:.41667vw solid transparent;border-top:.625vw solid #6E7373;margin-top:-.26042vw;top:50%;right:1.5625vw;display:block}@media screen and (max-width: 1024px){.style-select .ss-selected-option::before{border:6px solid transparent;border-top:10px solid #6E7373;margin-top:-3px;right:20px}}.style-select .ss-selected-option::after{content:'';position:absolute;right:3.64583vw;top:.57292vw;width:1px;height:2.08333vw;background-color:#6E7373}@media screen and (max-width: 1440px){.style-select .ss-selected-option::after{height:2.77778vw}}@media screen and (max-width: 1280px){.style-select .ss-selected-option::after{height:3.125vw}}@media screen and (max-width: 1024px){.style-select .ss-selected-option::after{right:50px;top:11px;height:30px}}.style-select .ss-dropdown{top:100%;left:0;position:absolute;float:left;width:100%;display:none;border-top:0 none;outline:none;z-index:4;background-color:#212323}.style-select .ss-dropdown .ss-option{width:100%;padding:.52083vw 1.04167vw;font-size:.83333vw}@media screen and (max-width: 1440px){.style-select .ss-dropdown .ss-option{padding:.69444vw 1.38889vw;font-size:.83333vw}}@media screen and (max-width: 1280px){.style-select .ss-dropdown .ss-option{padding:.78125vw 1.5625vw;font-size:.9375vw}}@media screen and (max-width: 1024px){.style-select .ss-dropdown .ss-option{padding:10px 20px;font-size:12px}}@media screen and (max-width: 1024px){.style-select .ss-dropdown .ss-option{padding:10px 20px;font-size:12px}}.style-select .ss-dropdown .ss-option.highlighted{background-color:#353737}.style-select .ss-dropdown .ss-option.disabled{color:#d0d0d0}.style-select.open{outline:none}.style-select.open .ss-dropdown{display:block}@-webkit-keyframes heart{from{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heart{from{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes send{from{background-color:#e05940}to{background-color:#d4523a}}@keyframes send{from{background-color:#e05940}to{background-color:#d4523a}}@-webkit-keyframes slideIn{from{-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}to{-webkit-transform:translateX(0px);transform:translateX(0px)}}@keyframes slideIn{from{-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}to{-webkit-transform:translateX(0px);transform:translateX(0px)}}@-webkit-keyframes slideOut{from{-webkit-transform:translateX(0px);transform:translateX(0px)}to{-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes slideOut{from{-webkit-transform:translateX(0px);transform:translateX(0px)}to{-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes slide{from{opacity:0;-webkit-transform:translate3d(-100px, 0, 50px);transform:translate3d(-100px, 0, 50px);letter-spacing:-1}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);width:100%;letter-spacing:1}}@keyframes slide{from{opacity:0;-webkit-transform:translate3d(-100px, 0, 50px);transform:translate3d(-100px, 0, 50px);letter-spacing:-1}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);width:100%;letter-spacing:1}}@-webkit-keyframes circle{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes circle{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.section.blue{background-color:#001F38}.project-step{font-size:14px}@media (min-width: 1920px){.project-step{font-size:0.733vw}}section{padding-top:130px;padding-bottom:130px}@media (max-width: 1340px){section{padding-top:-webkit-calc(50px + (130 - 50) * ((100vw - 320px) / (1340 - 320)));padding-top:calc(50px + (130 - 50) * ((100vw - 320px) / (1340 - 320)));padding-bottom:-webkit-calc(50px + (130 - 50) * ((100vw - 320px) / (1340 - 320)));padding-bottom:calc(50px + (130 - 50) * ((100vw - 320px) / (1340 - 320)))}}.container{margin:0 auto;padding:0 9.375vw}@media (min-width: 1920px){.container{max-width:none;padding:0 9.375vw}}@media screen and (max-width: 1440px){.container{padding:0 6.11111vw}}@media screen and (max-width: 1280px){.container{padding:0 6.875vw}}@media screen and (max-width: 1024px){.container{padding:0 30px}}@media screen and (max-width: 480px){.container{padding:0 15px}}.titles-block{margin-bottom:0}.section-title{display:block;margin-bottom:25px;font-weight:800;font-size:40px;line-height:1.3}@media (min-width: 1920px){.section-title{font-size:2vw}}@media (max-width: 1340px){.section-title{font-size:-webkit-calc(19px + (40 - 19) * ((100vw - 320px) / (1340 - 320)));font-size:calc(19px + (40 - 19) * ((100vw - 320px) / (1340 - 320)))}}img{display:inline-block;max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover;vertical-align:top}a{display:inline-block;text-decoration:none;-webkit-transition:0.4s;-o-transition:0.4s;transition:0.4s}.small-title{color:#6e7373}.title-link{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;border:none;color:#000}.title-link:hover{color:var(--rubin-second)}.title-link svg{margin-right:15px}.bg-dark{color:#fff;background-color:var(--bg-dark)}.bg-light{color:#000;background-color:var(--rubin-bg-light)}.bg-white{color:#000;background-color:#fff}.two-color{padding:0;background-image:-webkit-gradient(linear, left top, right top, from(#fff), color-stop(50%, var(--rubin-second)));background-image:-o-linear-gradient(left, #fff 0% 50%, var(--rubin-second) 50% 100%);background-image:linear-gradient(to right, #fff 0% 50%, var(--rubin-second) 50% 100%)}.two-color__column{display:block;margin:0;width:50%;text-align:center}.two-color .site-images{margin-top:0;margin-bottom:0}.two-color .site-images img{margin-bottom:0}@media screen and (max-width: 600px){.flex:not(.f_wrap){-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}}@media (max-width: 600px){.half-block{width:100%;margin-right:0}}.half-block.text-block{padding-top:45px}@media (max-width: 1340px){.half-block.text-block{padding-top:-webkit-calc(20px + (45 - 20) * ((100vw - 320px) / (1340 - 320)));padding-top:calc(20px + (45 - 20) * ((100vw - 320px) / (1340 - 320)))}}.video-section{background-attachment:fixed;background-position:top center;background-size:cover;background-repeat:none}.video{position:relative;z-index:1;border:15px solid var(--color-main);-webkit-border-radius:30px;border-radius:30px;overflow:hidden;background-color:#000}@media (max-width: 480px){.video{border-width:5px}}.video__player{display:block;width:100%;height:auto}@media (max-width: 600px){.video__player{border-width:5px}}.video__poster{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background-repeat:no-repeat;background-size:cover}.video__description{opacity:0}.video.videoWrap-none .video__info{display:none}.video__info{position:absolute;top:0;bottom:0;left:0;right:0;padding:2.60417vw 3.125vw;-webkit-transition:0.8s;-o-transition:0.8s;transition:0.8s}.video__info .video__play-btn{position:absolute;width:6.77083vw;height:6.77083vw;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);font-size:.83333vw;font-weight:500;background-color:#fff;-webkit-border-radius:50%;border-radius:50%;z-index:2}.site-colors{border-top:1px solid #6f7070;padding-top:90px}@media (max-width: 1340px){.site-colors{padding-top:-webkit-calc(30px + (90 - 30) * ((100vw - 320px) / (1340 - 320)));padding-top:calc(30px + (90 - 30) * ((100vw - 320px) / (1340 - 320)))}}.site-colors-item{-webkit-box-flex:33.33%;-webkit-flex:33.33%;-ms-flex:33.33%;flex:33.33%;padding:30px 40px;text-align:center;font-size:13px}@media (min-width: 1920px){.site-colors-item{font-size:.7333vw}}@media (max-width: 600px){.site-colors-item{padding:8px}}.site-images{margin-top:50px;margin-bottom:-70px;text-align:center}.site-images.mt-0{margin-top:0}@media (max-width: 1340px){.site-images{padding-top:-webkit-calc(30px + (50 - 30) * ((100vw - 320px) / (1340 - 320)));padding-top:calc(30px + (50 - 30) * ((100vw - 320px) / (1340 - 320)));margin-bottom:-30px}.site-images img{margin-bottom:20px}}@media (max-width: 600px){.site-images{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:-10px}}.site-images img{margin-bottom:70px;width:100%}@media (max-width: 1340px){.site-images img{margin-bottom:30px}}@media (max-width: 600px){.site-images img{margin-bottom:20px}}.triple-block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;margin-top:70px}.triple-block__item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:0;-webkit-flex:0 0 26%;-ms-flex:0 0 26%;flex:0 0 26%;margin-bottom:30px;text-align:center}@media (max-width: 600px){.triple-block__item{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;margin-bottom:20px}}.triple-block__item img{margin-bottom:40px;max-width:170px;max-height:170px}@media (max-width: 600px){.triple-block__item img{margin-bottom:20px}}.triple-block__item--sign{-webkit-box-flex:0;-webkit-flex:0 0 11%;-ms-flex:0 0 11%;flex:0 0 11%;padding-top:7%}.triple-block__item--sign img{max-width:20px;max-height:20px}.triple-block__subtitle{margin-bottom:10px;font-weight:600;font-size:22px;line-height:1.4}.triple-block__text{font-size:18px;line-height:1.4}.site-dev{overflow:visible}.site-design{position:relative;padding-bottom:0;background-color:#232323}.site-design::after{content:"";position:absolute;left:0;right:0;bottom:0;width:100%;height:30%;background:-webkit-gradient(linear, left top, left bottom, from(rgba(21,22,22,0)), color-stop(28.65%, rgba(21,22,22,0.5)), color-stop(48.44%, rgba(21,22,22,0.7)), color-stop(63.02%, rgba(21,22,22,0.85)), color-stop(81.77%, rgba(21,22,22,0.95)), to(#151616));background:-o-linear-gradient(top, rgba(21,22,22,0) 0%, rgba(21,22,22,0.5) 28.65%, rgba(21,22,22,0.7) 48.44%, rgba(21,22,22,0.85) 63.02%, rgba(21,22,22,0.95) 81.77%, #151616 100%);background:linear-gradient(180deg, rgba(21,22,22,0) 0%, rgba(21,22,22,0.5) 28.65%, rgba(21,22,22,0.7) 48.44%, rgba(21,22,22,0.85) 63.02%, rgba(21,22,22,0.95) 81.77%, #151616 100%)}.site-pages{background:url("/uploads/images/portfolio/rubin/bg-ruby-left.svg") no-repeat center 15vh/95%,url("/uploads/images/portfolio/rubin/bg-ruby-right.svg") no-repeat right bottom/80%,var(--rubin-bg-light)}.site-adaptive{background:url("/uploads/images/portfolio/rubin/bg-ruby-right.svg") no-repeat center 15vh/80%,var(--rubin-bg-light)}@media (max-width: 600px){.site-adaptive__images{padding-top:0}}.site-adaptive__images picture{-webkit-box-flex:0;-webkit-flex:0 0 48%;-ms-flex:0 0 48%;flex:0 0 48%;margin-bottom:20px}@media (max-width: 600px){.site-adaptive__images picture{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;margin-bottom:10px}}.site-adaptive__images--mini{padding-top:20px}@media (max-width: 600px){.site-adaptive__images--mini{padding-top:0}}.site-adaptive__images--mini picture{-webkit-box-flex:0;-webkit-flex:0 0 21%;-ms-flex:0 0 21%;flex:0 0 21%;margin-bottom:20px}@media (max-width: 600px){.site-adaptive__images--mini picture{-webkit-box-flex:0;-webkit-flex:0 0 48%;-ms-flex:0 0 48%;flex:0 0 48%;margin-bottom:10px}}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJ1YmluLnNjc3MiLCIuLi9zZXR0aW5ncy9fc3R5bGVzZWxlY3Quc2NzcyIsIi4uL3NldHRpbmdzL19taXhpbnMuc2NzcyIsIi4uL3NldHRpbmdzL19rZXlmcmFtZXMuc2NzcyIsIi4uL3BvcnRmb2xpby5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQ0Usa0JBQWEsQ0FDYixvQkFBZSxDQUNmLGtCQUFVLENBQ1YscUNBQVksQ0FFWixxQkFBYSxDQUNiLHVCQUFlLENBQ2Ysc0JBQWMsQ0FDZCx5QkFBaUIsQ0FFakIscUJBQWdCLENBQ2pCLHFCQ0dBLFlBQWEsQ0FDYixtQkFBb0IsQ0FDcEIsdUJBQVksQ0FBWixvQkFBWSxDQUFaLGVBQWdCLENBQ2hCLGNBR0EsYUFBYyxDQUNkLGlCQUFrQixDQUNsQixVQUFXLENBQ1gsWUFBYSxDQUpkLDhCQVFFLFNBQVUsQ0FDVixRQUFTLENBQ1QsNkJBQXNCLENBQXRCLHFCQUFzQixDQUN0QixlQUFnQixDQUNoQixnQkFoQ21CLENBaUNuQixhQUFjLENBQ2QsZUFBZ0IsQ0FDaEIsY0FBZSxDQWZqQixrQ0FtQkUsVUFBVyxDQUNYLHdCQW5DcUMsQ0FvQ3JDLGtCQ0YwQyxDREcxQyxjQ0gwQyxDREkxQyxtQkNKMEMsQ0RLMUMsWUFBYSxDQ2dCWCxzQ0R4Q0osa0NBMEJHLGdCQ1Z3QyxDRFd4QyxxQkNYd0MsQ0Q2RHpDLENDckNFLHNDRHhDSixrQ0E4QkcsZUNkd0MsQ0RleEMsb0JDZndDLENENkR6QyxDQ3JDRSxzQ0R4Q0osa0NBa0NHLFdBQVksQ0FDWixnQkFBaUIsQ0FDakIsY0FBZSxDQXlDaEIsQ0E3RUYsMENBeUNHLFVBQVcsQ0FDWCxpQkFBa0IsQ0FDbEIsaUNBQWlDLENBQ2pDLCtCQUFrQyxDQUNsQyxvQkMxQnlDLENEMkJ6QyxPQUFRLENBQ1IsY0M1QnlDLENENkJ6QyxhQUFjLENDUmIsc0NEeENKLDBDQW1ESSw0QkFBNkIsQ0FDN0IsNkJBQThCLENBQzlCLGVBQWdCLENBQ2hCLFVBQVcsQ0FF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LGlCQUFrQixDQUNsQixnQkFBaUIsQ0FDakIsd0JBQXlCLENBSDNCLG9CQU1JLFVBQVcsQ0FDWCxpQkFBa0IsQ0FDbEIsTUFBTyxDQUNQLE9BQVEsQ0FDUixRQUFTLENBQ1QsVUFBVyxDQUNYLFVBQVcsQ0FDWCxpUUFBWSxDQUFaLG1MQUFZLENBQVosbUxBQW1NLENBQ3BNLFlBSUQsc01BR3FCLENBQ3RCLGVBR0MsbUhBRXFCLENBQ3RCLDBCQUVELHVCQUdJLGFBQWMsQ0E4QmpCLENBakNELCtCQU9JLGtCQUFhLENBQWIsb0JBQWEsQ0FBYixnQkFBYSxDQUFiLFlBQWEsQ0FDYixrQkFBbUIsQ0FFbkIsMEJBVkosK0JBV00sa0JBQWMsQ0FBZCxxQkFBYyxDQUFkLGlCQUFjLENBQWQsYUFBYyxDQUNkLGtCQUFtQixDQUV0QixDQUVELDZCQUNFLGdCQUFpQixDQUVqQiwwQkFIRiw2QkFJSSxhQUFjLENBWWpCLENBaEJBLHFDQVFHLGtCQUFhLENBQWIsb0JBQWEsQ0FBYixnQkFBYSxDQUFiLFlBQWEsQ0FDYixrQkFBbUIsQ0FFbkIsMEJBWEgscUNBWUssa0JBQWEsQ0FBYixvQkFBYSxDQUFiLGdCQUFhLENBQWIsWUFBYSxDQUNiLGtCQUFtQixDQUV0QiIsImZpbGUiOiJydWJpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6cm9vdCB7XG4gIC0tY29sb3ItbWFpbjogIzAwMDtcbiAgLS1jb2xvci1zZWNvbmQ6ICNmZmY7XG4gIC0tYmctZGFyazogIzE1MTYxNjtcbiAgLS1mb250LW1haW46IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuXG4gIC0tcnViaW4tbWFpbjogIzIyMjIyMjtcbiAgLS1ydWJpbi1zZWNvbmQ6ICNmZDE1NWY7XG4gIC0tcnViaW4tbGlnaHQ6ICNmNmY2ZjY7XG4gIC0tcnViaW4tYmctbGlnaHQ6ICNlYmViZWI7XG4gIFxuICAtLWFuaW1hdGUtZGVsYXk6IDAuNXM7XG59XG4vKlxuLmNvbnRhaW5lciA9IDEzNDBcbtGE0L7RgNC80YPQu9CwINC00LvRjyDQsNC00LDQv9GC0LjQstC90YvRhSDRgdCy0L7QudGB0YLQsjpcbtGB0LLQvtC50YHRgtCy0L46IGNhbGMobWluU2l6ZV9weCArIChtYXhTaXplIC0gbWluU2l6ZSkgKiAoKDEwMHZ3IC0gMzIwcHgpIC8gKC5jb250YWluZXIgLSAzMjApKSk7XG7QvdCw0L/RgNC40LzQtdGAOlxuQG1lZGlhIChtYXgtd2lkdGg6IDEzNDBweCkge1xuICBmb250LXNpemU6IGNhbGMoMTBweCArICgyMCAtIDEwKSAqICgoMTAwdncgLSAzMjBweCkgLyAoMTM0MCAtIDMyMCkpKTtcbn1cbiovXG5cbkBpbXBvcnQgJy4uL3BvcnRmb2xpby5zY3NzJztcblxuLy8gQGltcG9ydCBcImZvbnRzXCI7XG4vLyBAaW1wb3J0IFwiZ2xvYmFsXCI7XG4vLyBAaW1wb3J0IFwiY29tbW9uXCI7XG5cbnNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMTMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMzBweDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTM0MHB4KSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoNTBweCArICgxMzAgLSA1MCkgKiAoKDEwMHZ3IC0gMzIwcHgpIC8gKDEzNDAgLSAzMjApKSk7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoNTBweCArICgxMzAgLSA1MCkgKiAoKDEwMHZ3IC0gMzIwcHgpIC8gKDEzNDAgLSAzMjApKSk7XG4gIH1cbn1cblxuLmNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDkuMzc1dnc7XG4gIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgcGFkZGluZzogMCA5LjM3NXZ3O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDAgNi4xMTExMXZ3O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDAgNi44NzV2dztcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgfVxufVxuXG4udGl0bGVzLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc2VjdGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXNpemU6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAgIGZvbnQtc2l6ZTogMnZ3O1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEzNDBweCkge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxOXB4ICsgKDQwIC0gMTkpICogKCgxMDB2dyAtIDMyMHB4KSAvICgxMzQwIC0gMzIwKSkpO1xuICB9XG59XG5cblxuLyog0L7QsdGJ0LjQtSDRgdGC0LjQu9C4INC00LvRjyDQoNGD0LHQuNC90LAsINC4INC/0L7QtNC+0LHQvdGL0YUg0LXQvNGDINGB0YLRgNCw0L3QuNGGINC/0L7RgNGC0YTQvtC70LjQviAqL1xuICBpbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbiAgXG4gIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogMC40cztcbiAgfVxuXG4gIC5zbWFsbC10aXRsZSB7XG4gICAgY29sb3I6ICM2ZTczNzM7XG4gIH1cblxuICAudGl0bGUtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICMwMDA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1ydWJpbi1zZWNvbmQpO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgLmJnLWRhcmsge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xuICB9XG5cbiAgLmJnLWxpZ2h0IHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWJpbi1iZy1saWdodCk7XG4gIH1cblxuICAuYmctd2hpdGUge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIH1cblxuICAudHdvLWNvbG9yIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmZiAwJSA1MCUgLCB2YXIoLS1ydWJpbi1zZWNvbmQpIDUwJSAxMDAlKTtcblxuICAgICZfX2NvbHVtbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnNpdGUtaW1hZ2VzIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICBcbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZsZXg6bm90KC5mX3dyYXApIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxuXG4gIC5oYWxmLWJsb2NrIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAmLnRleHQtYmxvY2sge1xuICAgICAgcGFkZGluZy10b3A6IDQ1cHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMzQwcHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoMjBweCArICg0NSAtIDIwKSAqICgoMTAwdncgLSAzMjBweCkgLyAoMTM0MCAtIDMyMCkpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuLnZpZGVvLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm9uZTtcbn1cblxuLnZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXI6IDE1cHggc29saWQgdmFyKC0tY29sb3ItbWFpbik7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgfVxuICBcbiAgJl9fcGxheWVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIGJvcmRlci13aWR0aDogNXB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3Bvc3RlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJi52aWRlb1dyYXAtbm9uZSAudmlkZW9fX2luZm8ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJl9faW5mbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAyLjYwNDE3dncgMy4xMjV2dztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuOHM7XG4gICAgLW8tdHJhbnNpdGlvbjogMC44cztcbiAgICB0cmFuc2l0aW9uOiAwLjhzO1xuICBcbiAgICAudmlkZW9fX3BsYXktYnRuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiA2Ljc3MDgzdnc7XG4gICAgICBoZWlnaHQ6IDYuNzcwODN2dztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBmb250LXNpemU6IC44MzMzM3Z3O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxufVxuXG4uc2l0ZS1jb2xvcnMge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzZmNzA3MDtcbiAgcGFkZGluZy10b3A6IDkwcHg7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEzNDBweCkge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDMwcHggKyAoOTAgLSAzMCkgKiAoKDEwMHZ3IC0gMzIwcHgpIC8gKDEzNDAgLSAzMjApKSk7XG4gIH1cblxuICAmLWl0ZW0ge1xuICAgIGZsZXg6IDMzLjMzJTtcbiAgICBwYWRkaW5nOiAzMHB4IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogLjczMzN2dztcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDhweDtcbiAgICB9XG4gIH1cbn1cblxuLnNpdGUtaW1hZ2VzIHtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgbWFyZ2luLWJvdHRvbTogLTcwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmLm10LTAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogMTM0MHB4KSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMzBweCArICg1MCAtIDMwKSAqICgoMTAwdncgLSAzMjBweCkgLyAoMTM0MCAtIDMyMCkpKTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMzBweDtcblxuICAgIGltZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IC0xMHB4O1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEzNDBweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG59XG5cbi50cmlwbGUtYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IDcwcHg7XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleDogMCAwIDI2JTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWF4LXdpZHRoOiAxNzBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDE3MHB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi0tc2lnbiB7XG4gICAgICBmbGV4OiAwIDAgMTElO1xuICAgICAgcGFkZGluZy10b3A6IDclO1xuXG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDIwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxuXG4gICZfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG59XG5cbi8qINGB0YLQuNC70Lgg0YLQvtC70YzQutC+INC00LvRjyBcInJ1YmluXCIgKi9cbiAgLnNpdGUtZGV2IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC5zaXRlLWRlc2lnbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzIzMjM7XG4gIFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMzAlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyMSwgMjIsIDIyLCAwKSAwJSwgcmdiYSgyMSwgMjIsIDIyLCAwLjUpIDI4LjY1JSwgcmdiYSgyMSwgMjIsIDIyLCAwLjcpIDQ4LjQ0JSwgcmdiYSgyMSwgMjIsIDIyLCAwLjg1KSA2My4wMiUsIHJnYmEoMjEsIDIyLCAyMiwgMC45NSkgODEuNzclLCAjMTUxNjE2IDEwMCUpO1xuICAgIH1cbiAgfVxuXG4gIC5zaXRlLXBhZ2VzIHtcbiAgICBiYWNrZ3JvdW5kOiBcbiAgICB1cmwoXCIvdXBsb2Fkcy9pbWFnZXMvcG9ydGZvbGlvL3J1YmluL2JnLXJ1YnktbGVmdC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciAxNXZoIC8gOTUlLFxuICAgIHVybChcIi91cGxvYWRzL2ltYWdlcy9wb3J0Zm9saW8vcnViaW4vYmctcnVieS1yaWdodC5zdmdcIikgbm8tcmVwZWF0IHJpZ2h0IGJvdHRvbSAvIDgwJSxcbiAgICB2YXIoLS1ydWJpbi1iZy1saWdodCk7XG4gIH1cblxuICAuc2l0ZS1hZGFwdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogXG4gICAgdXJsKFwiL3VwbG9hZHMvaW1hZ2VzL3BvcnRmb2xpby9ydWJpbi9iZy1ydWJ5LXJpZ2h0LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIDE1dmggLyA4MCUsXG4gICAgdmFyKC0tcnViaW4tYmctbGlnaHQpO1xuICB9XG5cbiAgLnNpdGUtYWRhcHRpdmVfX2ltYWdlcyB7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIHBpY3R1cmUge1xuICAgICAgZmxleDogMCAwIDQ4JTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1taW5pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICBcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cbiAgXG4gICAgICBwaWN0dXJlIHtcbiAgICAgICAgZmxleDogMCAwIDIxJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgIGZsZXg6IDAgMCA0OCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuLyogLS0tICovIiwiJHNzLWxpbmUtaGVpZ2h0OiAxOXB4ICFkZWZhdWx0O1xuJHNzLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJHNzLXNwYWNpbmc6IDI0cHggIWRlZmF1bHQ7XG5cbiRzcy1oaWdobGlnaHQtY29sb3I6IHJnYigyNDIsIDI0NCwgMjQ4KSAhZGVmYXVsdDtcbiRzcy1zZWxlY3RlZC1vcHRpb24tYmFja2dyb3VuZDogIzIxMjMyMztcbiRzcy1kcm9wZG93bi1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSkgIWRlZmF1bHQ7XG5cbiRzcy1zdGFuZGFyZC1ib3JkZXI6ICRzcy1ib3JkZXItd2lkdGggc29saWQgI2QwZDBkMCAhZGVmYXVsdDtcblxuJHNzLXNwYWNpbmctc21hbGw6ICRzcy1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcbiRzcy1zcGFjaW5nLXRpbnk6ICRzcy1zcGFjaW5nIC8gNCAhZGVmYXVsdDtcblxuLy8gSGlkZSByZWFsIHNlbGVjdCBib3hlcyB3aGljaCBoYXZlIHNlZW4gc3R5bGVkLlxuc2VsZWN0W2RhdGEtc3MtdXVpZF0ge1xuXHRkaXNwbGF5OiBub25lO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0YXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLnN0eWxlLXNlbGVjdCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlOyAvLyBEZWZhdWx0IHdpZHRoXG5cdG91dGxpbmU6IG5vbmU7XG5cblx0Ly8gU2V0IHJlYXNvbmFibGUgZGVmYXVsdHMgb24gdGhpcyBlbGVtZW50IGFuZCBpdHMgY2hpbGRyZW5cblx0JiwgKiB7XG5cdFx0cGFkZGluZzogMDtcblx0XHRtYXJnaW46IDA7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdGxpbmUtaGVpZ2h0OiAkc3MtbGluZS1oZWlnaHQ7XG5cdFx0Y29sb3I6ICNBNEE0QTQ7XG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cblxuXHQuc3Mtc2VsZWN0ZWQtb3B0aW9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3Mtc2VsZWN0ZWQtb3B0aW9uLWJhY2tncm91bmQ7XG5cdFx0cGFkZGluZzogMCB2dygzMHB4KTtcblx0XHRoZWlnaHQ6IHZ3KDYwcHgpO1xuXHRcdGxpbmUtaGVpZ2h0OiB2dyg2MHB4KTtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdEBpbmNsdWRlIG1lZGlhKDE0NDBweCkge1xuXHRcdFx0aGVpZ2h0OiB2dyg2MHB4LCAxNDQwKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiB2dyg2MHB4LCAxNDQwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoMTI4MHB4KSB7XG5cdFx0XHRoZWlnaHQ6IHZ3KDYwcHgsIDEyODApO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHZ3KDYwcHgsIDEyODApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYSgxMDI0cHgpIHtcblx0XHRcdGhlaWdodDogNTBweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA1MHB4O1xuXHRcdFx0cGFkZGluZzogMCAxNXB4O1xuXHRcdH1cblx0XHQvL2JvcmRlcjogJHNzLXN0YW5kYXJkLWJvcmRlcjtcblx0XHQvLyBUaGUgZG93biBhcnJvd1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym9yZGVyOiB2dyg4cHgpIHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLXRvcDogdncoMTJweCkgc29saWQgIzZFNzM3Mztcblx0XHRcdG1hcmdpbi10b3A6IHZ3KC01cHgpO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRyaWdodDogdncoMzBweCk7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoMTAyNHB4KSB7XG5cdFx0XHRcdGJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRib3JkZXItdG9wOiAxMHB4IHNvbGlkICM2RTczNzM7XG5cdFx0XHRcdG1hcmdpbi10b3A6IC0zcHg7XG5cdFx0XHRcdHJpZ2h0OiAyMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHJpZ2h0OiB2dyg3MHB4KTtcblx0XHRcdHRvcDogdncoMTFweCk7XG5cdFx0XHR3aWR0aDogMXB4O1xuXHRcdFx0aGVpZ2h0OiB2dyg0MHB4KTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM2RTczNzM7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgxNDQwcHgpIHtcblx0XHRcdFx0aGVpZ2h0OiB2dyg0MHB4LCAxNDQwKTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKDEyODBweCkge1xuXHRcdFx0XHRoZWlnaHQ6IHZ3KDQwcHgsIDEyODApO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoMTAyNHB4KSB7XG5cdFx0XHRcdHJpZ2h0OiA1MHB4O1xuXHRcdFx0XHR0b3A6IDExcHg7XG5cdFx0XHRcdGhlaWdodDogMzBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuc3MtZHJvcGRvd24ge1xuXHRcdHRvcDogMTAwJTtcblx0XHRsZWZ0OiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRmbG9hdDogbGVmdDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGJvcmRlci10b3A6IDAgbm9uZTtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdHotaW5kZXg6IDQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzIxMjMyMztcblx0XHQuc3Mtb3B0aW9uIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZzogdncoMTBweCkgdncoMjBweCk7XG5cdFx0XHRmb250LXNpemU6IHZ3KDE2cHgpO1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoMTQ0MHB4KSB7XG5cdFx0XHRcdHBhZGRpbmc6IHZ3KDEwcHgsIDE0NDApIHZ3KDIwcHgsIDE0NDApO1xuXHRcdFx0XHRmb250LXNpemU6IHZ3KDEycHgsIDE0NDApO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoMTI4MHB4KSB7XG5cdFx0XHRcdHBhZGRpbmc6IHZ3KDEwcHgsIDEyODApIHZ3KDIwcHgsIDEyODApO1xuXHRcdFx0XHRmb250LXNpemU6IHZ3KDEycHgsIDEyODApO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoMTAyNHB4KSB7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggMjBweDtcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoMTAyNHB4KSB7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggMjBweDtcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0fVxuXHRcdFx0Ly8gV2UgZG9uJ3QgdXNlIDpob3ZlciBhcyB0aGF0J3Mgb25seSBmb3IgbW91c2Vcblx0XHRcdC8vIGFuZCB3ZSB3YW50IGtleWJvYXJkIGhpZ2hsaWdodGluZyB0b29cblx0XHRcdCYuaGlnaGxpZ2h0ZWQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMzUzNzM3O1xuXHRcdFx0fVxuXHRcdFx0Ji5kaXNhYmxlZCB7XG5cdFx0XHRcdGNvbG9yOiAjZDBkMGQwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYub3BlbiB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHQuc3MtZHJvcGRvd24ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG5cbn1cbiIsIkBmdW5jdGlvbiBkZWNpbWFsLXJvdW5kICgkbnVtYmVyLCAkZGlnaXRzOiAwLCAkbW9kZTogcm91bmQpIHtcbiAgICAkbjogMTtcbiAgICAvLyAkbnVtYmVyIG11c3QgYmUgYSBudW1iZXJcbiAgICBAaWYgdHlwZS1vZigkbnVtYmVyKSAhPSBudW1iZXIge1xuICAgICAgICBAd2FybiAnI3sgJG51bWJlciB9IGlzIG5vdCBhIG51bWJlci4nO1xuICAgICAgICBAcmV0dXJuICRudW1iZXI7XG4gICAgfVxuICAgIC8vICRkaWdpdHMgbXVzdCBiZSBhIHVuaXRsZXNzIG51bWJlclxuICAgIEBpZiB0eXBlLW9mKCRkaWdpdHMpICE9IG51bWJlciB7XG4gICAgICAgIEB3YXJuICcjeyAkZGlnaXRzIH0gaXMgbm90IGEgbnVtYmVyLic7XG4gICAgICAgIEByZXR1cm4gJG51bWJlcjtcbiAgICB9IEBlbHNlIGlmIG5vdCB1bml0bGVzcygkZGlnaXRzKSB7XG4gICAgICAgIEB3YXJuICcjeyAkZGlnaXRzIH0gaGFzIGEgdW5pdC4nO1xuICAgICAgICBAcmV0dXJuICRudW1iZXI7XG4gICAgfVxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGRpZ2l0cyB7XG4gICAgICAgICRuOiAkbiAqIDEwO1xuICAgIH1cbiAgICBAaWYgJG1vZGUgPT0gcm91bmQge1xuICAgICAgICBAcmV0dXJuIHJvdW5kKCRudW1iZXIgKiAkbikgLyAkbjtcbiAgICB9IEBlbHNlIGlmICRtb2RlID09IGNlaWwge1xuICAgICAgICBAcmV0dXJuIGNlaWwoJG51bWJlciAqICRuKSAvICRuO1xuICAgIH0gQGVsc2UgaWYgJG1vZGUgPT0gZmxvb3Ige1xuICAgICAgICBAcmV0dXJuIGZsb29yKCRudW1iZXIgKiAkbikgLyAkbjtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJyN7ICRtb2RlIH0gaXMgdW5kZWZpbmVkIGtleXdvcmQuJztcbiAgICAgICAgQHJldHVybiAkbnVtYmVyO1xuICAgIH1cbn1cblxuJG1heC1icmVha3BvaW50OiAxOTIwICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gdncoJHRhcmdldCwgJGRvcDogJycpIHtcblxuICAgIEBpZiAoJGRvcCAhPSAnJykge1xuICAgICAgICAkdnctY29udGV4dDogKCRkb3AgKiAuMDEpICogMXB4O1xuICAgICAgICBAcmV0dXJuICgkdGFyZ2V0LyR2dy1jb250ZXh0KSAqIDF2dztcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgJHZ3LWNvbnRleHQ6ICgkbWF4LWJyZWFrcG9pbnQgKiAuMDEpICogMXB4O1xuICAgICAgICBAcmV0dXJuICAoJHRhcmdldC8kdnctY29udGV4dCkgKiAxdnc7XG4gICAgfVxufVxuXG5cbkBtaXhpbiBzY3JvbGxiYXIoJHRodW1iY29sb3IsICRyYW5nZWNvbG9yLCAkd2lkdGgpIHtcbiAgICBzY3JvbGxiYXItY29sb3I6ICR0aHVtYmNvbG9yICRyYW5nZWNvbG9yO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICB9XG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmFuZ2Vjb2xvcjtcbiAgICB9XG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJjb2xvcjtcbiAgICB9XG59XG5cbkBtaXhpbiBtZWRpYSgkd2lkdGgpIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkd2lkdGgpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gdndtZWRpYSgkd2lkdGgpIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAnI3skd2lkdGh9cHgnKSB7XG4gICAgICAgICRtYXgtYnJlYWtwb2ludDogJHdpZHRoICFnbG9iYWw7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgICAkbWF4LWJyZWFrcG9pbnQ6IDE5MjAgIWdsb2JhbDtcbn1cblxuQG1peGluIHNtYWxsRGVzYygpIHtcbiAgICBAaW5jbHVkZSB2d21lZGlhKDE0NDApIHtcbiAgICAgICAgQGNvbnRlbnRcbiAgICB9XG4gICAgQGluY2x1ZGUgdndtZWRpYSgxMjgwKSB7XG4gICAgICAgIEBjb250ZW50XG4gICAgfVxuICAgLypAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgICAgJG1heC1icmVha3BvaW50OiAxNDQwICFnbG9iYWw7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgICAgJG1heC1icmVha3BvaW50OiAxMjgwICFnbG9iYWw7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH0qL1xuICAgICRtYXgtYnJlYWtwb2ludDogMTkyMCAhZ2xvYmFsO1xufVxuXG5AbWl4aW4gbWVkaWFtaW4oJHdpZHRoKSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIG1lZGlhaGVpZ2h0KCRoZWlnaHQpIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogJGhlaWdodCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBtZWRpYURpZmYoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHdpZHRoKSBhbmQgKG1pbi1oZWlnaHQ6ICRoZWlnaHQpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gbWVkaWFEaWZmcygkd2lkdGgsICRoZWlnaHQpIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGgpIGFuZCAobWF4LWhlaWdodDogJGhlaWdodCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBpbmxpbmUtYmxvY2soJHZhbGlnbiwgJHBhcmVudDogaXRlbSwgJGltcG9ydGFudDogaXRlbSkge1xuICAgIEBpZiAoJHBhcmVudCA9PSAncGFyZW50Jykge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuM2VtO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIH1cbiAgICBAaWYgKCRpbXBvcnRhbnQgPT0gJ2ltcG9ydGFudCcpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgdmVydGljYWwtYWxpZ246ICR2YWxpZ247XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuQG1peGluIGZsZXgoJHNwYWNlcywgJGFsaWduKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBAaWYgKCRzcGFjZXMgIT0gJycpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkc3BhY2VzO1xuICAgIH1cbiAgICBAaWYgKCRhbGlnbiAhPSAnJykge1xuICAgICAgICBhbGlnbi1pdGVtczogJGFsaWduO1xuICAgIH1cbn0iLCJAa2V5ZnJhbWVzIGhlYXJ0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNlbmQge1xuICAgIGZyb20ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWRTZWM7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW57XG4gICAgZnJvbXt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7fVxuICAgIHRve3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO31cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dHtcbiAgICBmcm9te3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO31cbiAgICB0b3t0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKVxuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMClcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApXG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMClcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApXG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwcHgsIDAsIDUwcHgpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTE7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBjaXJjbGUge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn0iLCIkYmdHcmF5OiAjMGYxMDEwO1xuJGhlYWRlcjogIzAzMDQwNDtcbiRncmF5OiAjMTUxNjE2O1xuJHRleHQ6ICNCMUI3Qjc7XG4kcmVkOiAjZTA1OTQwO1xuJHJlZFNlYzogI2Q0NTIzYTtcbiRibHVlOiAjMDAxRjM4O1xuJGhhbGZNYXJnaW5TZXZlbjogMS44MjN2dztcblxuQGltcG9ydCAnc2V0dGluZ3MvbWl4aW5zJztcbkBpbXBvcnQgJ3NldHRpbmdzL3N0eWxlc2VsZWN0JztcbkBpbXBvcnQgJ3NldHRpbmdzL2tleWZyYW1lcyc7XG5cbi5zZWN0aW9uIHtcbiAgICAmLmJsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICB9XG59XG5cbi5wcm9qZWN0LXN0ZXAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43MzN2dztcbiAgICB9XG59XG4iXX0= */
