.nav--wrap{width:100%;max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px;box-sizing:border-box;padding-top:20px}@media(min-width: 768px){.nav--wrap{padding-top:20px}}.nav--wrap a{text-decoration:none}.nav--layout{display:flex;justify-content:space-between}@media(min-width: 1200px){.nav--layout{display:block}}.nav--home svg{width:100px;height:auto}@media(min-width: 768px){.nav--home svg{width:180px}}.nav--logo{width:100%;display:none}@media(min-width: 1200px){.nav--logo{width:auto;display:block}}.nav--logo__mobile{display:block;width:100%}@media(min-width: 1200px){.nav--logo__mobile{width:auto;display:none}}.nav--menu{width:100%;height:100%;background:#fff;position:fixed;top:0;left:0;display:flex;justify-content:center;padding:4rem 1rem;opacity:0;pointer-events:none;z-index:-1;transition:opacity 250ms ease-in-out}@media(min-width: 1200px){.nav--menu{position:relative;background:transparent;height:auto;width:100%;padding:0;display:block;opacity:1;pointer-events:auto;z-index:1}}.nav--menu.show{opacity:1;pointer-events:auto;z-index:100}.nav--close{cursor:pointer;position:absolute;top:1rem;right:1rem;width:1.5rem;height:1.5rem}@media(min-width: 1200px){.nav--close{display:none}}.nav--close svg{fill:#222;width:1.5rem;height:1.5rem}.nav--hamburger{cursor:pointer}@media(min-width: 1200px){.nav--hamburger{display:none}}.nav--hamburger svg{fill:#222;width:2rem;height:2rem}@media(min-width: 1200px){.nav--sup{display:flex;align-items:center;justify-content:space-between}}.nav--content{display:flex;border-left:1px solid #222}@media(min-width: 1200px){.nav--content{display:block;border-left:0}}.nav--top{padding-top:6px;min-width:110px}@media(min-width: 1200px){.nav--top{display:flex;justify-content:flex-end;border-right:0;padding:0;min-width:auto}}@media(min-width: 1200px){.nav--pages{display:flex;gap:1rem;margin-right:1rem}}.nav--pagesItem{display:block;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:11px;margin-bottom:1rem}@media(min-width: 1200px){.nav--pagesItem{margin-bottom:0}}.nav--lang{display:block;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:11px}@media(min-width: 1200px){.nav--lang .desktop{display:flex;padding-left:1rem;border-left:1px solid #222}}.nav--products{padding-left:1rem}@media(min-width: 1200px){.nav--products{padding-bottom:10px;padding-top:10px;padding-left:0;padding-right:0;margin-top:1rem;border-top:1px solid rgba(34,34,34,.25);border-bottom:1px solid rgba(34,34,34,.25);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px 1rem}}.nav--productsItem{display:block;color:#222}@media(min-width: 1200px){.nav--productsItem{color:#222;font-size:20px;text-transform:uppercase;margin-bottom:0}}.nav--productsItem+.nav--productsItem{margin-top:1rem}@media(min-width: 1200px){.nav--productsItem+.nav--productsItem{margin-top:0}}.grid--nav__living .nav--home path{fill:#b0a89d}.grid--nav__living .nav--menu{color:#b0a89d}@media(min-width: 1200px){.grid--nav__living .nav--products{border-top:1px solid #b0a89d;border-bottom:1px solid #b0a89d}}.grid--nav__living .nav--productsItem{color:#b0a89d}.grid--nav__living .nav--productsItem__current{color:#222}.grid--nav__living .nav--lang .desktop{border-left:1px solid #b0a89d}.grid--nav__shade .nav--home path{fill:#ff9663}.grid--nav__shade .nav--menu{color:#ff9663}@media(min-width: 1200px){.grid--nav__shade .nav--products{border-top:1px solid #ff9663;border-bottom:1px solid #ff9663}}.grid--nav__shade .nav--productsItem{color:#ff9663}.grid--nav__shade .nav--productsItem__current{color:#222}.grid--nav__shade .nav--lang .desktop{border-left:1px solid #ff9663}.grid--nav__rugs .nav--home path{fill:#9fa0a1}.grid--nav__rugs .nav--menu{color:#9fa0a1}@media(min-width: 1200px){.grid--nav__rugs .nav--products{border-top:1px solid #9fa0a1;border-bottom:1px solid #9fa0a1}}.grid--nav__rugs .nav--productsItem{color:#9fa0a1}.grid--nav__rugs .nav--productsItem__current{color:#222}.grid--nav__rugs .nav--lang .desktop{border-left:1px solid #9fa0a1}.btn--wrap{margin:0;padding:0;line-height:1;font-size:13px;letter-spacing:1px;font-weight:700;text-transform:uppercase;text-decoration:none;display:inline-block;position:relative;padding-bottom:8px;border:none;background:transparent}.btn--wrap:after{content:"";position:absolute;width:100%;transform:scaleX(1);height:3px;bottom:0px;left:0;background-color:#222;transform-origin:bottom left}.btn--wrap:hover:after{animation:bordino 250ms ease-in-out}@keyframes bordino{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}.footerNav--wrap{width:100%;max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px;box-sizing:border-box;padding-top:20px;margin-bottom:20px;box-sizing:border-box}@media(min-width: 768px){.footerNav--wrap{padding-top:70px}}.footerNav--wrap a{text-decoration:none}@media(min-width: 768px){.footerNav--layout{display:flex;justify-content:space-between}}.footerNav--pages{font-weight:700;text-transform:uppercase;letter-spacing:1px;display:flex;align-items:flex-end;border-bottom:1px solid rgba(34,34,34,.25);font-size:9px;justify-content:space-between;padding-bottom:5px}@media(min-width: 500px){.footerNav--pages{justify-content:flex-start}}@media(min-width: 768px){.footerNav--pages{font-size:11px;padding-bottom:15px;width:calc(50% - 10px)}}@media(min-width: 500px){.footerNav--pagesItem+.footerNav--pagesItem{margin-left:25px}}@media(min-width: 768px){.footerNav--pagesItem__contacts{flex:1;text-align:right}}.footerNav--products{border-bottom:1px solid rgba(34,34,34,.25);text-transform:uppercase;display:flex;font-size:14px;padding-bottom:5px;margin-bottom:8px}@media(min-width: 768px){.footerNav--products{justify-content:space-between;font-size:14px;padding-bottom:10px;width:calc(50% - 10px);margin-bottom:0px}}.footerNav--productsLayout{width:100%;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}@media(min-width: 768px){.footerEnd--wrap{display:flex}}.footerEnd--sx{background-image:url("/assets/img/raytent/footer_bg.jpg");background-repeat:no-repeat;background-size:cover;background-position:100% 50%}@media(min-width: 768px){.footerEnd--sx{width:calc(50% - 10px)}}.footerEnd--dx{position:relative;padding:20px 20px;box-sizing:border-box}@media(min-width: 768px){.footerEnd--dx{padding:100px 40px 50px 40px;width:calc(1200px / 2 - 10px)}}.footerEnd--social{display:flex;margin-bottom:20px}@media(min-width: 768px){.footerEnd--social{position:absolute;top:110px;right:20px}}@media(min-width: 1201px){.footerEnd--social{right:0}}.footerEnd--icon{margin-right:6px}@media(min-width: 768px){.footerEnd--icon{margin-right:0;margin-left:6px}}.footerEnd--icon svg{width:24px;height:24px}.footerEnd--recapiti{margin-bottom:20px;line-height:1.5;max-width:600px;font-size:13px}@media(min-width: 768px){.footerEnd--recapiti{font-size:14px;margin-bottom:35px}}.footerEnd--legal{max-width:600px;font-size:13px}@media(min-width: 768px){.footerEnd--legal{font-size:14px}}.footerEnd--logo{height:auto;vertical-align:bottom;margin-left:5px;width:115px}@media(min-width: 768px){.footerEnd--logo{width:150px}}.footer--wrap__living .footerNav--products{border-bottom:1px solid #b0a89d;color:#b0a89d}.footer--wrap__living .footerNav--pages{border-bottom:1px solid #b0a89d;color:#b0a89d}.footer--wrap__living .footerEnd--dx{background-color:#b0a89d}.footer--wrap__shade .footerNav--products{border-bottom:1px solid #ff9663;color:#ff9663}.footer--wrap__shade .footerNav--pages{border-bottom:1px solid #ff9663;color:#ff9663}.footer--wrap__shade .footerEnd--dx{background-color:#ff9663}.footer--wrap__rugs .footerNav--products{border-bottom:1px solid #9fa0a1;color:#9fa0a1}.footer--wrap__rugs .footerNav--pages{border-bottom:1px solid #9fa0a1;color:#9fa0a1}.footer--wrap__rugs .footerEnd--dx{background-color:#9fa0a1}.credits--wrap{text-align:center;font-size:12px;letter-spacing:1px}.credits--wrap a{display:block;padding:20px 0 20px 0;text-decoration:none;text-transform:uppercase;font-weight:700}.cookie--wrap{background:#222;align-items:stretch;position:fixed;z-index:9999;bottom:0;left:50%;transform:translateX(-50%) translateY(100%);color:#eee;font-size:15px;line-height:1.4;width:100%}.cookie--wrap a{color:inherit}.cookie--wrap a:hover{color:#fff}@media(min-width: 768px){.cookie--wrap{width:90%;max-width:900px;display:flex}}.cookie--wrap__on{transform:translateX(-50%)}.cookie--body{padding:20px;flex:1}.cookie--chiudi{background:#f7f5f0;color:#333;display:flex;flex-direction:column;justify-content:center;padding:20px;cursor:pointer}.cookie--btn{text-transform:uppercase;font-weight:bold}*{box-sizing:border-box}body{margin:0;padding:0;font-family:"Avenir","Helvetica Neue","Helvetica",sans-serif;color:#222;font-size:17px}a{color:inherit}p,h1,h2,h3,h4,h5,h6{margin:0;padding:0;font-weight:normal}p{text-align:justify;hyphens:auto}figure img{max-width:100%;height:auto}p+p{margin-top:1rem}.grid--base{width:100%;max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px;box-sizing:border-box;padding:80px 0}.grid--base h1{text-align:center;margin-bottom:2rem;font-family:"PP Editorial New","Georgia",serif;font-size:56px}.grid--base h2,.grid--base h3,.grid--base h4,.grid--base h5,.grid--base h6{margin:1rem 0;font-weight:700}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJheXRlbnQvX25hdi5zY3NzIiwicmF5dGVudC9fdXRpbGl0eS5zY3NzIiwiX2luY2x1ZGVfbWVkaWEuc2NzcyIsInJheXRlbnQvX2J0bi5zY3NzIiwicmF5dGVudC9fZm9vdGVyLnNjc3MiLCJyYXl0ZW50L2Jhc2Uuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxXQ2tCQyxXQUNBLFVBRnFCLE9BR3JCLGNBRUEsa0JBQ0EsbUJBRUEsc0JEdkJHLGlCRTRpQkEseUJGOWlCSixXQUtRLGtCQUdKLGFBQ0kscUJBSVIsYUFDSSxhQUNBLDhCRStoQkEsMEJGamlCSixhQUtRLGVBS0osZUFDSSxZQUNBLFlFcWhCSix5QkZ2aEJBLGVBS1EsYUFLWixXQUNJLFdBQ0EsYUUyZ0JBLDBCRjdnQkosV0FLUSxXQUNBLGVBSVIsbUJBQ0ksY0FDQSxXRWlnQkEsMEJGbmdCSixtQkFLUSxXQUNBLGNBSVIsV0FDSSxXQUNBLFlBQ0EsZ0JBQ0EsZUFDQSxNQUNBLE9BQ0EsYUFDQSx1QkFDQSxrQkFDQSxVQUNBLG9CQUNBLFdBQ0EscUNFNGVBLDBCRnpmSixXQWdCUSxrQkFDQSx1QkFDQSxZQUNBLFdBQ0EsVUFDQSxjQUNBLFVBQ0Esb0JBQ0EsV0FHSixnQkFDSSxVQUNBLG9CQUNBLFlBSVIsWUFDSSxlQUNBLGtCQUNBLFNBQ0EsV0FDQSxhQUNBLGNFaWRBLDBCRnZkSixZQVNRLGNBR0osZ0JBQ0ksVUFDQSxhQUNBLGNBSVIsZ0JBQ0ksZUVtY0EsMEJGcGNKLGdCQUlRLGNBR0osb0JBQ0ksVUFDQSxXQUNBLFlFMGJKLDBCRnRiSixVQUVRLGFBQ0EsbUJBQ0EsK0JBSVIsY0FDSSxhQUNBLDJCRTRhQSwwQkY5YUosY0FLUSxjQUNBLGVBSVIsVUFDSSxnQkFDQSxnQkVrYUEsMEJGcGFKLFVBS1EsYUFDQSx5QkFDQSxlQUNBLFVBQ0EsZ0JFMlpKLDBCRnZaSixZQUVRLGFBQ0EsU0FDQSxtQkFJUixnQkFDSSxjQUNBLGdCQUNBLHlCQUNBLG1CQUNBLGVBQ0EsbUJFeVlB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LG1CQUNBLFdBQ0EsYUFDQSxzQkFDQSx1QkFDQSxhQUNBLGVBSUosYUFDSSx5QkFDQSxpQkMvUkosRUFDSSxzQkFHSixLQUNJLFNBQ0EsVUFDQSxZSkhNLGlESUlOLFdBQ0EsZUFHSixFQUNJLGNBR0osb0JBQ0ksU0FDQSxVQUNBLG1CQUdKLEVBQ0ksbUJBQ0EsYUFJQSxXQUNJLGVBQ0EsWUFJUixJQUNJLGdCQUdKLFlKdkJDLFdBQ0EsVUFGcUIsT0FHckIsY0FFQSxrQkFDQSxtQkFFQSxzQklrQkcsZUFFQSxlQUNJLGtCQUNBLG1CQUNBLFlKdkNTLG1DSXdDVCxlQUlKLDJFQUNJLGNBQ0EiLCJmaWxlIjoicmF5dGVudC9iYXNlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ191dGlsaXR5JyBhcyB1O1xuXG4ubmF2LS13cmFwIHtcbiAgICBAaW5jbHVkZSB1LmdhYmJlcigpO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4ubmF2LS1sYXlvdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj0xMjAwcHgnKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLm5hdi0taG9tZSB7XG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgdS5tZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogMTgwcHg7IFxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2LS1sb2dvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj0xMjAwcHgnKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5uYXYtLWxvZ29fX21vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSB1Lm1lZGlhKCc+PTEyMDBweCcpIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4ubmF2LS1tZW51IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA0cmVtIDFyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2UtaW4tb3V0O1xuXG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj0xMjAwcHgnKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmLnNob3cge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgIH1cbn1cblxuLm5hdi0tY2xvc2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcmVtO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG5cbiAgICBAaW5jbHVkZSB1Lm1lZGlhKCc+PTEyMDBweCcpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgICBmaWxsOiAjMjIyO1xuICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICB9XG59XG5cbi5uYXYtLWhhbWJ1cmdlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj0xMjAwcHgnKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgICAgZmlsbDogIzIyMjtcbiAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgIGhlaWdodDogMnJlbTtcbiAgICB9XG59XG5cbi5uYXYtLXN1cCB7XG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj0xMjAwcHgnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG59XG5cbi5uYXYtLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMjIyO1xuXG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj0xMjAwcHgnKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG59XG5cbi5uYXYtLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDZweDtcbiAgICBtaW4td2lkdGg6IDExMHB4O1xuXG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj0xMjAwcHgnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIH1cbn1cblxuLm5hdi0tcGFnZXMge1xuICAgIEBpbmNsdWRlIHUubWVkaWEoJz49MTIwMHB4Jykge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB9XG59XG5cbi5uYXYtLXBhZ2VzSXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICBAaW5jbHVkZSB1Lm1lZGlhKCc+PTEyMDBweCcpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5uYXYtLWxhbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcblxuICAgIC5kZXNrdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgdS5tZWRpYSgnPj0xMjAwcHgnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMjIyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2LS1wcm9kdWN0cyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuXG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj0xMjAwcHgnKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgjMjIyLCAwLjI1KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoIzIyMiwgMC4yNSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDVweCAxcmVtO1xuICAgIH1cbn1cblxuLm5hdi0tcHJvZHVjdHNJdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogIzIyMjtcblxuICAgIEBpbmNsdWRlIHUubWVkaWEoJz49MTIwMHB4Jykge1xuICAgICAgICBjb2xvcjogIzIyMjtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLm5hdi0tcHJvZHVjdHNJdGVtICsgLm5hdi0tcHJvZHVjdHNJdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj0xMjAwcHgnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG4vLyAubmF2LS1wcm9kdWN0c0l0ZW0gKyAubmF2LS1wcm9kdWN0c0l0ZW0ge1xuLy8gICAgIEBpbmNsdWRlIHUubWVkaWEoJz49NTAwcHgnKSB7XG4vLyAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuLy8gICAgIH1cbi8vIH1cblxuXG5cbi8qIHZhcmlhbnRpICovXG5cbi5ncmlkLS1uYXZfX2xpdmluZyB7XG4gICAgLm5hdi0taG9tZSB7IHBhdGggeyBmaWxsOiB1LiRsaXZpbmdDb2xvcjsgfSB9XG4gICAgLm5hdi0tbWVudSB7IGNvbG9yOiB1LiRsaXZpbmdDb2xvcjsgIH1cbiAgICAubmF2LS1wcm9kdWN0cyB7IEBpbmNsdWRlIHUubWVkaWEoJz49MTIwMHB4JykgeyBib3JkZXItdG9wOiAxcHggc29saWQgdS4kbGl2aW5nQ29sb3I7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB1LiRsaXZpbmdDb2xvcjsgfSB9XG4gICAgLm5hdi0tcHJvZHVjdHNJdGVtIHsgY29sb3I6IHUuJGxpdmluZ0NvbG9yOyB9XG4gICAgLm5hdi0tcHJvZHVjdHNJdGVtX19jdXJyZW50IHsgY29sb3I6IzIyMjsgfVxuICAgIC5uYXYtLWxhbmcgLmRlc2t0b3AgeyBib3JkZXItbGVmdDogMXB4IHNvbGlkIHUuJGxpdmluZ0NvbG9yOzsgfVxufVxuXG4uZ3JpZC0tbmF2X19zaGFkZSB7XG4gICAgLm5hdi0taG9tZSB7IHBhdGggeyBmaWxsOiB1LiRzaGFkZUNvbG9yOyB9IH1cbiAgICAubmF2LS1tZW51IHsgY29sb3I6IHUuJHNoYWRlQ29sb3I7ICB9XG4gICAgLm5hdi0tcHJvZHVjdHMgeyBAaW5jbHVkZSB1Lm1lZGlhKCc+PTEyMDBweCcpIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHUuJHNoYWRlQ29sb3I7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB1LiRzaGFkZUNvbG9yOyB9IH1cbiAgICAubmF2LS1wcm9kdWN0c0l0ZW0geyBjb2xvcjogdS4kc2hhZGVDb2xvcjsgfVxuICAgIC5uYXYtLXByb2R1Y3RzSXRlbV9fY3VycmVudCB7IGNvbG9yOiMyMjI7IH1cbiAgICAubmF2LS1sYW5nIC5kZXNrdG9wIHsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB1LiRzaGFkZUNvbG9yOzsgfVxufVxuXG4uZ3JpZC0tbmF2X19ydWdzIHtcbiAgICAubmF2LS1ob21lIHsgcGF0aCB7IGZpbGw6IHUuJHJ1Z3NDb2xvcjsgfSB9XG4gICAgLm5hdi0tbWVudSB7IGNvbG9yOiB1LiRydWdzQ29sb3I7ICB9XG4gICAgLm5hdi0tcHJvZHVjdHMgeyBAaW5jbHVkZSB1Lm1lZGlhKCc+PTEyMDBweCcpIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHUuJHJ1Z3NDb2xvcjsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHUuJHJ1Z3NDb2xvcjsgfSB9XG4gICAgLm5hdi0tcHJvZHVjdHNJdGVtIHsgY29sb3I6IHUuJHJ1Z3NDb2xvcjsgfVxuICAgIC5uYXYtLXByb2R1Y3RzSXRlbV9fY3VycmVudCB7IGNvbG9yOiMyMjI7IH1cbiAgICAubmF2LS1sYW5nIC5kZXNrdG9wIHsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB1LiRydWdzQ29sb3I7OyB9XG59XG4iLCJAaW1wb3J0ICcuLi9faW5jbHVkZV9tZWRpYSc7XHJcblxyXG4kc21hcnRwaG9uZV92OiAzMjBweDtcclxuJHNtYXJ0cGhvbmVfaDogNDgwcHg7XHJcbiR0YWJsZXRfdiAgICA6IDc2OHB4O1xyXG4kdGFibGV0X2ggICAgOiAxMDI0cHg7XHJcbiRsYXB0b3AgICAgICA6IDEyODBweDtcclxuJGRlc2t0b3AgICAgIDogMTU3MHB4O1xyXG5cclxuJGF2ZW5pciA6ICdBdmVuaXInLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcclxuJGRpZG90OiAnRGlkb3QnLCAnR2VvcmdpYScsIHNlcmlmO1xyXG4kcHBlZGl0b3JpYWxuZXc6ICdQUCBFZGl0b3JpYWwgTmV3JywgJ0dlb3JnaWEnLCBzZXJpZjtcclxuXHJcbkBtaXhpbiBhbnRpYWxpYXMoKSB7XHJcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBnYWJiZXIoJGxhcmdoOiAxMjAwcHgpIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXgtd2lkdGg6ICRsYXJnaDtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHJcblx0cGFkZGluZy1sZWZ0OiAyMHB4O1xyXG5cdHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcblxyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbkBtaXhpbiB0aXRvbGV0dG8ge1xyXG5cdGZvbnQtd2VpZ2h0ICAgOiA3MDA7XHJcblx0Zm9udC1zaXplICAgICA6IDE1cHg7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDFweDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4kbGl2aW5nQ29sb3I6ICNCMEE4OUQ7XHJcbiRzaGFkZUNvbG9yIDogI0ZGOTY2MztcclxuJHJ1Z3NDb2xvcjogIzlGQTBBMTtcclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2Vcbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnICAgIDogMzIwcHgsXG4gICd0YWJsZXQnICAgOiA3NjhweCxcbiAgJ2Rlc2t0b3AnICA6IDEwMjRweCxcbiAgJ2Rlc2t0b3BtZCc6IDEyMDBweCxcbiAgJ2Rlc2t0b3BoZCc6IDE0MDBweCxcbiAgJ3N1cGVyaGQnICA6IDE2MDBweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlICdfdXRpbGl0eScgYXMgdTtcblxuLmJ0bi0td3JhcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplICAgICAgOiAxM3B4O1xuICAgIGxldHRlci1zcGFjaW5nIDogMXB4O1xuICAgIGZvbnQtd2VpZ2h0ICAgIDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtIDogdXBwZXJjYXNlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgICB9XG59XG5cbi5idG4tLXdyYXAge1xuICAgICY6aG92ZXIge1xuICAgICAgICAmOmFmdGVyIHsgICAgICAgICAgICBcbiAgICAgICAgICAgIGFuaW1hdGlvbjogYm9yZGlubyAyNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyBib3JkaW5vIHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZVgoMCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH1cbiAgfVxuIiwiQHVzZSAnX3V0aWxpdHknIGFzIHU7XG5cbi5mb290ZXJOYXYtLXdyYXAge1xuICAgIEBpbmNsdWRlIHUuZ2FiYmVyKCk7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4uZm9vdGVyTmF2LS1sYXlvdXQge1xuICAgIEBpbmNsdWRlIHUubWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxufVxuXG5cbi5mb290ZXJOYXYtLXBhZ2VzIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgjMjIyLCAwLjI1KTtcblxuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuXG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj01MDBweCcpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHUubWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICB9XG59XG5cbi5mb290ZXJOYXYtLXBhZ2VzSXRlbSArIC5mb290ZXJOYXYtLXBhZ2VzSXRlbSB7XG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj01MDBweCcpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgfVxuXG59XG5cbi5mb290ZXJOYXYtLXBhZ2VzSXRlbV9fY29udGFjdHMge1xuXG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuLmZvb3Rlck5hdi0tcHJvZHVjdHMge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCMyMjIsIDAuMjUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgICBAaW5jbHVkZSB1Lm1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIH1cbn1cblxuLmZvb3Rlck5hdi0tcHJvZHVjdHNMYXlvdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi8qIGVuZCAgKi9cblxuLmZvb3RlckVuZC0td3JhcCB7XG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC8vIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG59XG5cbi5mb290ZXJFbmQtLXN4IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1nL3JheXRlbnQvZm9vdGVyX2JnLmpwZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcblxuICAgIEBpbmNsdWRlIHUubWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICB9XG59XG5cbi5mb290ZXJFbmQtLWR4IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMjBweCAyMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBAaW5jbHVkZSB1Lm1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZzogMTAwcHggNDBweCA1MHB4IDQwcHg7XG4gICAgICAgIC8vIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICB3aWR0aDogY2FsYygxMjAwcHggLyAyIC0gMTBweCk7XG4gICAgfVxufVxuXG4uZm9vdGVyRW5kLS1zb2NpYWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIEBpbmNsdWRlIHUubWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTEwcHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHUubWVkaWEoJz4xMjAwcHgnKSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLmZvb3RlckVuZC0taWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG5cbiAgICBAaW5jbHVkZSB1Lm1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgfVxufVxuXG4uZm9vdGVyRW5kLS1yZWNhcGl0aSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1heC13aWR0aDogNjAwcHg7XG5cbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICB9XG59XG5cbi5mb290ZXJFbmQtLWxlZ2FsIHtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBAaW5jbHVkZSB1Lm1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbn1cblxuLmZvb3RlckVuZC0tbG9nbyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcblxuICAgIHdpZHRoOiAxMTVweDtcbiAgICBAaW5jbHVkZSB1Lm1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgIH1cbn1cblxuXG4vLyB2YXJpYWNlXG5cbi5mb290ZXItLXdyYXBfX2xpdmluZyB7XG4gICAgLmZvb3Rlck5hdi0tcHJvZHVjdHMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSh1LiRsaXZpbmdDb2xvciwgMSk7XG4gICAgICAgIGNvbG9yOiB1LiRsaXZpbmdDb2xvcjtcbiAgICB9XG4gICAgLmZvb3Rlck5hdi0tcGFnZXMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSh1LiRsaXZpbmdDb2xvciwgMSk7XG4gICAgICAgIGNvbG9yOiB1LiRsaXZpbmdDb2xvcjtcbiAgICB9XG4gICAgLmZvb3RlckVuZC0tZHgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1LiRsaXZpbmdDb2xvcjtcbiAgICB9XG59XG5cbi5mb290ZXItLXdyYXBfX3NoYWRlIHtcbiAgICAuZm9vdGVyTmF2LS1wcm9kdWN0cyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKHUuJHNoYWRlQ29sb3IsIDEpO1xuICAgICAgICBjb2xvcjogdS4kc2hhZGVDb2xvcjtcbiAgICB9XG4gICAgLmZvb3Rlck5hdi0tcGFnZXMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSh1LiRzaGFkZUNvbG9yLCAxKTtcbiAgICAgICAgY29sb3I6IHUuJHNoYWRlQ29sb3I7XG4gICAgfVxuICAgIC5mb290ZXJFbmQtLWR4IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdS4kc2hhZGVDb2xvcjtcbiAgICB9XG59XG5cbi5mb290ZXItLXdyYXBfX3J1Z3Mge1xuICAgIC5mb290ZXJOYXYtLXByb2R1Y3RzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEodS4kcnVnc0NvbG9yLCAxKTtcbiAgICAgICAgY29sb3I6IHUuJHJ1Z3NDb2xvcjtcbiAgICB9XG4gICAgLmZvb3Rlck5hdi0tcGFnZXMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSh1LiRydWdzQ29sb3IsIDEpO1xuICAgICAgICBjb2xvcjogdS4kcnVnc0NvbG9yO1xuICAgIH1cbiAgICAuZm9vdGVyRW5kLS1keCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHUuJHJ1Z3NDb2xvcjtcbiAgICB9XG59XG5cbi5jcmVkaXRzLS13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG59XG5cblxuLy8gY29va2llXG5cbi5jb29raWUtLXdyYXAge1xuICAgIGJhY2tncm91bmQ6ICMyMjI7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxMDAlKTtcbiAgICBjb2xvcjogI2VlZTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHR9XG4gICAgfVxuXG4gICAgLy9tXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgdS5tZWRpYSgnPj10YWJsZXQnKVxuICAgIHtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG59XG5cbi5jb29raWUtLXdyYXBfX29uIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi5jb29raWUtLWJvZHkge1xuICAgIHBhZGRpbmc6IDIwcHg7XG5cdGZsZXg6IDE7XG59XG5cbi5jb29raWUtLWNoaXVkaSB7XG4gICAgYmFja2dyb3VuZDogI2Y3ZjVmMDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgXG59XG5cbi5jb29raWUtLWJ0biB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cbiIsIkB1c2UgJ191dGlsaXR5JyBhcyB1O1xuQGltcG9ydCAnX25hdic7XG5AaW1wb3J0ICdfYnRuJztcbkBpbXBvcnQgJ19mb290ZXInO1xuXG4qIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LWZhbWlseTogdS4kYXZlbmlyO1xuICAgIGNvbG9yOiAjMjIyMjIyO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbn1cblxuYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbnAsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbnAge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgaHlwaGVuczogYXV0bztcbn1cblxuZmlndXJlIHtcbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG59XG5cbnAgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4uZ3JpZC0tYmFzZSB7XG4gICAgQGluY2x1ZGUgdS5nYWJiZXIoKTtcbiAgICBwYWRkaW5nOiA4MHB4IDA7XG5cbiAgICBoMSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHUuJHBwZWRpdG9yaWFsbmV3O1xuICAgICAgICBmb250LXNpemU6IDU2cHg7XG4gICAgICAgIFxuICAgIH1cblxuICAgIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxufVxuIl19 */
