.recep-related{margin:80px 0}.recep-related:last-child{margin-bottom:0}.recep-related h4{font-size:24px;font-size:1.5rem;font-weight:600;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-align:center;color:#000;text-transform:uppercase;position:relative;margin:0 0 45px;padding:0}.recep-related h4 span{background:#fff;position:relative;z-index:2;display:inline-block;padding:0 20px}.recep-related h4::after{content:'';height:2px;position:absolute;left:0;right:0;background:#000;bottom:14px;z-index:1}.recipe-slide{display:block;cursor:pointer;position:relative;text-decoration:none;overflow:hidden;vertical-align:top}.recipe-slide:hover{text-decoration:none}.recipe-slide-bg{display:block;width:100%;position:relative;z-index:1}@media (min-width: 768px){.recipe-slide-bg{height:567px;-o-object-fit:cover;object-fit:cover}}.recipe-slide-text{position:absolute;right:20px;bottom:60px;width:437px;background:rgba(217,217,217,0.6);color:#1d0201;z-index:2;padding:22px 25px 16px 29px;font-size:18px;line-height:30px;text-align:right;display:none}@media (min-width: 768px){.recipe-slide-text{display:block}}@media (min-width: 1280px){.recipe-slide-text{right:73px;bottom:50px}}.recipe-slider{font-family:"Lora",serif;margin:25px -15px}@media (min-width: 768px){.recipe-slider{margin-bottom:30px}}.recipe-slider:not(.slick-initialized){display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden}.recipe-slider:not(.slick-initialized) .recipe-slide{-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%;max-width:100%}.recipe-slider .slick-dots{position:absolute;left:0;bottom:20px;z-index:3;padding:0;width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media (min-width: 768px){.recipe-slider .slick-dots{bottom:27px}}.recipe-slider .slick-dots>li>button{width:10px;height:10px;background:#fff;-webkit-transition:background 0.2s ease;transition:background 0.2s ease}@media (min-width: 768px){.recipe-slider .slick-dots>li>button{width:15px;height:15px}}.recipe-slider .slick-dots>li>button:hover{background:#f42f29}.recipe-slider .slick-dots>li>button::before{display:none}.recipe-slider .slick-dots .slick-active>button{background:#f42f29}.recep-container .breadcrumbs-list{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.recep-container .recep-title h1{font-size:28px;font-size:1.75rem;font-weight:600;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-align:center;text-transform:uppercase;color:#161719;margin:0;padding:0}@media (min-width: 1024px){.recep-container .recep-title h1{font-size:30px;font-size:1.875rem}}.recep-container .recep-title .stats{display:none;margin-top:20px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media (min-width: 1024px){.recep-container .recep-title .stats{display:-webkit-box;display:-ms-flexbox;display:flex}}.recep-container .recep-title .stats .stats-item{font-size:20px;font-size:1.25rem;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-align:left;color:#1d0201;text-transform:uppercase;margin-right:20px;position:relative}.recep-container .recep-title .stats .stats-item:last-child{margin-right:0}.recep-container .recep-title .stats .stats-item:last-child::after{display:none}.recep-container .recep-title .stats .stats-item::after{content:'|';position:absolute;right:-13px;font-weight:bold}.recep-container .recep-title-block{font-size:40px;font-size:2.5rem;font-weight:600;font-stretch:normal;line-height:normal;letter-spacing:normal;text-align:center;color:#1d0201;position:relative}.recep-container .recep-title-block span{background:#fff;position:relative;z-index:2;display:inline-block;padding:0 20px}.recep-container .recep-title-block::after{content:'';height:2px;position:absolute;left:0;right:0;background:#000;bottom:20px;z-index:1}.recep-container .recep-ingredients{margin:40px 0}.recep-container .recep-ingredients .recep-ingredients-wrap{margin-top:40px;display:block}@media (min-width: 1024px){.recep-container .recep-ingredients .recep-ingredients-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}}.recep-container .recep-ingredients .recep-ingredients-wrap .description{font-size:16px;font-size:1rem;font-family:"Lora",serif;width:100%;font-weight:normal;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-align:left;color:#000}.recep-container .recep-ingredients .recep-ingredients-wrap .description ul,.recep-container .recep-ingredients .recep-ingredients-wrap .description ol,.recep-container .recep-ingredients .recep-ingredients-wrap .description p{font-size:16px;font-size:1rem;font-family:"Lora",serif;margin:0 0 15px}.recep-container .recep-ingredients .recep-ingredients-wrap .description li{font-family:"Lora",serif;margin-bottom:10px;list-style:disc;list-style-position:inside}.recep-container .recep-ingredients .recep-ingredients-wrap .description a{font-weight:bold;color:#af0d09;text-decoration:none}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-products-notes{width:100%;-ms-flex-negative:0;flex-shrink:0;margin-top:36px}@media (min-width: 768px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-products-notes{margin-top:40px}}@media (min-width: 1024px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-products-notes{width:65%;margin:0 0 0 30px}}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-products-notes .recep-notes{font-family:"Lora",serif;font-size:16px;font-size:1rem;padding:25px;background-color:rgba(189,168,113,0.4);font-weight:normal;font-stretch:normal;font-style:italic;line-height:1.88;letter-spacing:normal;text-align:left;color:#000}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-products-notes .recep-notes .recep-notes-title{font-size:26px;font-size:1.625rem;font-family:"Lora",serif;font-weight:600;font-stretch:normal;font-style:italic;line-height:0.94;letter-spacing:normal;text-align:center;color:#000;margin-bottom:25px}@media (min-width: 1024px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-products-notes .recep-notes .recep-notes-title{font-size:32px;font-size:2rem}}@media (min-width: 1280px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin:-12px -7px}}@media (min-width: 1280px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%;padding:12px 7px;-webkit-box-sizing:border-box;box-sizing:border-box}}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item+.recep-related-product-item{margin-top:36px}@media (min-width: 768px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item+.recep-related-product-item{margin-top:40px}}@media (min-width: 1280px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item+.recep-related-product-item{margin:0}}@media (min-width: 1280px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item .product{-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%;max-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item .product-tile{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin:0}@media (min-width: 1280px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item .product-tile{-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%;max-width:100%}}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item .product-tile .image-container{-webkit-box-flex:0;-ms-flex:0 0 130px;flex:0 0 130px;max-width:130px;margin:0 14px 0 0;-ms-flex-item-align:start;align-self:flex-start}@media (min-width: 544px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item .product-tile .image-container{-webkit-box-flex:0;-ms-flex:0 0 180px;flex:0 0 180px;max-width:180px;margin:0 20px 0 0}}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item .product-tile .tile-body{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item .product-tile .tile-body .pdp-link{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;height:auto}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item .product-tile .tile-body .pdp-link a{display:block;-webkit-line-clamp:unset;font-size:16px;font-size:1rem;line-height:1.375em}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item .product-tile .tile-body .sales{white-space:nowrap}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item .product-tile .tile-body .tile-cart-button{width:100%}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item .product-tile .tile-body .tile-cart-button .button{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}@media (min-width: 544px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item .product-tile .tile-body .tile-cart-button .button{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;width:auto;min-width:180px}}@media (min-width: 1024px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item .product-tile .tile-body .tile-cart-button .button{min-width:0}}@media (min-width: 1280px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products .recep-related-product-item .product-tile .tile-body .tile-cart-button .button{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products-wrapper{margin-bottom:36px;overflow:hidden;max-height:320px}@media (min-width: 544px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products-wrapper{max-height:396px}}@media (min-width: 768px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products-wrapper{margin-bottom:44px;max-height:400px}}@media (min-width: 1280px){.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products-wrapper{max-height:384px}}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products-wrapper .recep-related-products-overflow{overflow:hidden}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products-wrapper .recep-related-products-scroll{max-height:inherit}.recep-container .recep-ingredients .recep-ingredients-wrap .recep-related-products-wrapper .recep-related-products-scroll.simplebar-scrollable-y{padding-right:10px}.recep-container .recep-ingredients-add-all-to-cart{padding-top:5px}.recep-container .recep-prep{margin:40px 0}.recep-container .recep-prep .recep-prep-wrap{margin-top:40px}.recep-container .recep-prep .recep-prep-wrap ol{font-size:16px;font-size:1rem;font-family:"Lora",serif;counter-reset:ol;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.88;letter-spacing:normal;text-align:left;color:#000;margin:0}@media (min-width: 1024px){.recep-container .recep-prep .recep-prep-wrap ol{-webkit-columns:2;-moz-columns:2;columns:2}}.recep-container .recep-prep .recep-prep-wrap ol li{list-style:none;margin-bottom:20px;padding-left:50px;position:relative}@media (min-width: 1024px){.recep-container .recep-prep .recep-prep-wrap ol li{padding-left:102px;overflow:hidden;-webkit-column-break-inside:avoid;page-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid;break-inside:avoid-column;min-height:33px}}.recep-container .recep-prep .recep-prep-wrap ol li::after{font-size:20px;font-size:1.25rem;font-family:"Lora",serif;font-weight:bold;font-stretch:normal;font-style:normal;line-height:1.5;letter-spacing:normal;text-align:center;color:#fcfcfc;content:counter(ol);counter-increment:ol;position:absolute;left:0;top:0;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;width:33px;height:33px;background-color:#1d0201;border-radius:50%}@media (min-width: 1024px){.recep-container .recep-prep .recep-prep-wrap ol li::after{left:25px}}.recep-container .recep-prep .recep-prep-wrap p{margin:30px 0 0}.recep-image{margin:70px 0}.recep-image img{display:block;width:100%}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jYXJ0cmlkZ2VzL2FwcF9jdXN0b21fZGFydGFnbmFuL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL2NvbXBvbmVudHMvX3JlbGF0ZWRfY29udGVudC5zY3NzIiwid2VicGFjazovLy8uL2NhcnRyaWRnZXMvYXBwX2N1c3RvbV9kYXJ0YWduYW4vY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvY29tcG9uZW50cy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2FydHJpZGdlcy9hcHBfY3VzdG9tX2RhcnRhZ25hbi9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9jb21wb25lbnRzL19yZWNpcGUtc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jYXJ0cmlkZ2VzL2FwcF9jdXN0b21fZGFydGFnbmFuL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jYXJ0cmlkZ2VzL2FwcF9jdXN0b21fZGFydGFnbmFuL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL2NvbnRlbnQvcmVjZXBpZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jYXJ0cmlkZ2VzL2FwcF9jdXN0b21fZGFydGFnbmFuL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL2NvbXBvbmVudHMvX2Z1bmN0aW9ucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQ0ksYUFBYyxDQURsQiwwQkFJUSxlQUFnQixDQUp4QixrQkNpRlksZUFDQSxpQkR6RUosZ0JBQ0Esb0JBQ0Esa0JBQ0EsbUJBQ0Esc0JBQ0Esa0JBQ0EsV0FDQSx5QkFDQSxrQkFDQSxnQkFDQSxTQUFVLENBbkJsQix1QkFzQlksZ0JBQ0Esa0JBQ0EsVUFDQSxxQkFDQSxjQUFlLENBMUIz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NkJBOFVRLGFBQWMsQ0E5VXRCLDhDQWlWWSxlQUFnQixDQWpWNUIsaURKMEVZLGVBQ0EsZUkwUUkseUJBQ0EsaUJBQ0EsbUJBQ0Esb0JBQ0Esa0JBQ0EsaUJBQ0Esc0JBQ0EsZ0JBQ0EsV0FDQSxRQUFTLENBa0RaLDJCQWhaYixpREFpV29CLDBDQUFVLENBK0NqQixDQWhaYixvREFxV29CLGdCQUNBLG1CQUNBLGtCQUNBLGlCQUFrQixDQXVDckIsMkJBL1lqQixvREEyV3dCLG1CQUNBLGdCQUNBLGtDQUNBLHdCQUNBLGtEQUNBLDBCQUNBLGVBQWdCLENBOEJ2QixDQS9ZakIsMkRKMEVZLGVBQ0Esa0JJMlNZLHlCQUNBLGlCQUNBLG9CQUNBLGtCQUNBLGdCQUNBLHNCQUNBLGtCQUNBLGNBQ0Esb0JBQ0EscUJBQ0Esa0JBQ0EsT0FDQSxNQUNBLHFEQUNBLGtFQUNBLG9FQUNBLFdBQ0EsWUFDQSx5QkFDQSxpQkFBa0IsQ0FLckIsMkJBOVlyQiwyREE0WTRCLFNBQVUsQ0FFakIsQ0E5WXJCLGdEQW1aZ0IsZUFBZ0IsQ0FDbkIsYUFNVCxhQUFjLENBRGxCLGlCQUlRLGNBQ0EsVUFBVyIsImZpbGUiOiJkZWZhdWx0L2Nzcy9jb250ZW50L3JlY2VwaWVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5yZWNlcC1yZWxhdGVkIHtcbiAgICBtYXJnaW46IDgwcHggMDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjRweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1zZW1pYm9sZDtcbiAgICAgICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMCAwIDQ1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgIGJvdHRvbTogMTRweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIE1JWElOU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQSB1c2VmdWwgbWl4aW4gdG8gb3V0cHV0IGEgbGlzdCBvZiBDU1Mgc3R5bGVzIHBhc3NlZCBpbiBhcyBhIG1hcFxuLy9cbi8vIEV4YW1wbGU6XG4vL1xuLy9cdC8vc2V0IGEgbWFwIHZhcmlhYmxlXG4vL1x0JHByaW1hcnktbmF2OiAoXG4vLyAgICAgIHBhZGRpbmctdG9wOiAuMmVtLFxuLy8gICAgICBtYXJnaW4tdG9wOiAuMmVtLFxuLy8gICAgICBsaW5lLWhlaWdodDogMS4zLFxuLy9cdCk7XG4vL1xuLy9cdC8vbm93IG91dHB1dCB3aXRoIHRoZSBtaXhpblxuLy9cdEBpbmNsdWRlIG91dHB1dC1zdHlsZXMoJHByaW1hcnktbmF2KTtcbi8vXG4vLyBDb21waWxlcyB0bzpcbi8vXG4vL1x0Ly9PdXRwdXR0ZWQgQ1NTOlxuLy9cdC5wcmltYXJ5LW5hdiB7XG4vLyAgICAgIHBhZGRpbmctdG9wOiAuMmVtO1xuLy8gICAgICBtYXJnaW4tdG9wOiAuMmVtO1xuLy8gICAgICBsaW5lLWhlaWdodDogMS4zO1xuLy9cdH1cblxuQG1peGluIG91dHB1dC1zdHlsZXMoJG1hcCkge1xuICAgIEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICB9XG59XG5cbkBtaXhpbiBncmFkaWVudCgkc3RhcnQtY29sb3IsICRlbmQtY29sb3IsICRvcmllbnRhdGlvbikge1xuICAgIGJhY2tncm91bmQ6ICRzdGFydC1jb2xvcjtcbiAgICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcbiAgICAgICAgLy8gdmVydGljYWxcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yIDAlLCAkZW5kLWNvbG9yIDEwMCUpO1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuY3Rpb24tbmFtZS1jYXNlICovXG4gICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyRzdGFydC1jb2xvcicsIGVuZENvbG9yc3RyPSckZW5kLWNvbG9yJywgR3JhZGllbnRUeXBlPTApO1xuICAgIH0gQGVsc2UgaWYgJG9yaWVudGF0aW9uID09IGhvcml6b250YWwge1xuICAgICAgICAvLyBob3Jpem9udGFsXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yIDAlLCAkZW5kLWNvbG9yIDEwMCUpO1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuY3Rpb24tbmFtZS1jYXNlICovXG4gICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyRzdGFydC1jb2xvcicsIGVuZENvbG9yc3RyPSckZW5kLWNvbG9yJywgR3JhZGllbnRUeXBlPTEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyByYWRpYWxcbiAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAkc3RhcnQtY29sb3IgMCUsICRlbmQtY29sb3IgMTAwJSk7XG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jdGlvbi1uYW1lLWNhc2UgKi9cbiAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJHN0YXJ0LWNvbG9yJywgZW5kQ29sb3JzdHI9JyRlbmQtY29sb3InLCBHcmFkaWVudFR5cGU9MSk7XG4gICAgfVxufVxuXG4vLyBMaW5lIEhlaWdodCBTaXplclxuLy8gZXg6ICBAaW5jbHVkZSBsaW5lLWhlaWdodCgxNHB4KTsgIC8vc2V0cyBhIGxpbmUgaGVpZ2h0IHNpemUgaW4gcmVtcyB3aXRoIGEgZmFsbGJhY2sgaW4gcHhzXG5cbkBtaXhpbiBsaW5lLWhlaWdodCgkc2l6ZSkge1xuICAgIGxpbmUtaGVpZ2h0OiAkc2l6ZTtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgPT0gXCJweFwiIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgkc2l6ZSk7XG4gICAgfVxufVxuXG4vLyBMZXR0ZXIgU3BhY2luZyBTaXplclxuLy8gZXg6ICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygxNHB4KTsgIC8vc2V0cyBhIGxldHRlciBzcGFjaW5nIHNpemUgaW4gcmVtcyB3aXRoIGEgZmFsbGJhY2sgaW4gcHhzXG5cbkBtaXhpbiBsZXR0ZXItc3BhY2luZygkc2l6ZSkge1xuICAgIGxldHRlci1zcGFjaW5nOiAkc2l6ZTtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgPT0gXCJweFwiIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbSgkc2l6ZSk7XG4gICAgfVxufVxuXG4vLyBGb250IFNpemVyXG4vLyBleDogQGluY2x1ZGUgZm9udC1zaXplKDE0cHgpOyAgLy9zZXRzIGEgZm9udCBzaXplIGluIHJlbXMgd2l0aCBhIGZhbGxiYWNrIGluIHB4c1xuLy8gZXgyOiBAaW5jbHVkZSBmb250LXNpemUoMTVweCwgMjBweCwgMC40cHgpOyAvLyBzZXRzIGEgZm9udCBzaXplICgxNXB4KSBpbiByZW1zLCBhIGxpbmUtaGVpZ2h0ICgyMHB4KSBhcyBhIHVuaXRsZXNzIHZhbHVlLCBhbmQgYSBsZXR0ZXItc3BhY2luZyAoMC40cHgpIGluIHJlbXMuXG4vLyBleDM6IEBpbmNsdWRlIGZvbnQtc2l6ZSgxNHB4LCAkYnJlYWtwb2ludDogJG1lZGl1bS1icmVha3BvaW50KTsgIC8vc2V0cyBhIHNjYWxpbmcgZm9udCBzaXplIGluIHZ3J3Mgd2l0aCBhIGZpeGVkIGZhbGxiYWNrIGluIHB4c1xuXG5AbWl4aW4gZm9udC1zaXplKCRzaXplOiBudWxsLCAkbGluZWhlaWdodDogbnVsbCwgJGxldHRlcnNwYWNpbmc6IG51bGwsICRicmVha3BvaW50OiBudWxsKSB7XG4gICAgQGlmICRzaXplICE9IFwiXCIgYW5kICRzaXplICE9IG51bGwge1xuICAgICAgICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRzaXplO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oJHNpemUpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIC8vIEdldCBhIGZvbnQgc2l6ZSBpbiBWV3MgdGhhdCB3aWxsIG1hdGNoIHRoZSBnaXZlbiBwaXhlbCBmb250LXNpemUgaW4gdGhlIGdpdmVuIHZpZXdwb3J0LlxuICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRldncoJHNpemUsICRicmVha3BvaW50KTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGxpbmVoZWlnaHQgIT0gXCJcIiBhbmQgJGxpbmVoZWlnaHQgIT0gbnVsbCBhbmQgdW5pdCgkc2l6ZSkgPT0gdW5pdCgkbGluZWhlaWdodCkge1xuICAgICAgICAgICAgJGNhbGN1bGF0ZWQtbGluZS1oZWlnaHQ6IChzdHJpcC11bml0cygkbGluZWhlaWdodCkgLyBzdHJpcC11bml0cygkc2l6ZSkpICogMWVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoJGNhbGN1bGF0ZWQtbGluZS1oZWlnaHQpO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkbGV0dGVyc3BhY2luZyAhPSBcIlwiIGFuZCAkbGV0dGVyc3BhY2luZyAhPSBudWxsIHtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyc3BhY2luZztcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiByZW0oJGxldHRlcnNwYWNpbmcpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gU2Vjb25kYXJ5IEZvbnQgRmFtaWx5IG1peGluc1xuLy9cblxuLy8gdXNhZ2UgZXhhbXBsZXNcbi8vIGV4MTogQGluY2x1ZGUgZm9udC1hbHQtcmVnKCk7XG4vLyBleDI6IEBpbmNsdWRlIGZvbnQtYWx0LXJlZygxNnB4KTtcbi8vIGV4MzogQGluY2x1ZGUgZm9udC1hbHQtcmVnKDE0cHgsIDIycHgpO1xuXG5AbWl4aW4gZm9udC1hbHQoJGZvbnRzaXplOiBcIlwiLCAkbGluZWhlaWdodDogXCJcIiwgJGxldHRlcnNwYWNpbmc6IFwiXCIpIHtcbiAgICBmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtcmVndWxhcjtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnRzaXplLCAkbGluZWhlaWdodCwgJGxldHRlcnNwYWNpbmcpO1xufVxuXG4vLyB1c2FnZSBleGFtcGxlc1xuLy8gZXgxOiBAaW5jbHVkZSBmb250LWFsdC1tZWRpdW0oKTtcbi8vIGV4MjogQGluY2x1ZGUgZm9udC1hbHQtbWVkaXVtKDE2cHgpO1xuLy8gZXgzOiBAaW5jbHVkZSBmb250LWFsdC1tZWRpdW0oMTRweCwgMjJweCk7XG5cbkBtaXhpbiBmb250LWFsdC1tZWRpdW0oJGZvbnRzaXplOiBcIlwiLCAkbGluZWhlaWdodDogXCJcIiwgJGxldHRlcnNwYWNpbmc6IFwiXCIpIHtcbiAgICBmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtbWVkaXVtO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udHNpemUsICRsaW5laGVpZ2h0LCAkbGV0dGVyc3BhY2luZyk7XG59XG5cbi8vIHVzYWdlIGV4YW1wbGVzXG4vLyBleDE6IEBpbmNsdWRlIGZvbnQtYWx0LWJvbGQoKTtcbi8vIGV4MjogQGluY2x1ZGUgZm9udC1hbHQtYm9sZCgxNnB4KTtcbi8vIGV4MzogQGluY2x1ZGUgZm9udC1hbHQtYm9sZCgxNHB4LCAyMnB4KTtcblxuQG1peGluIGZvbnQtYWx0LWJvbGQoJGZvbnRzaXplOiBcIlwiLCAkbGluZWhlaWdodDogXCJcIiwgJGxldHRlcnNwYWNpbmc6IFwiXCIpIHtcbiAgICBmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtZG9sZDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnRzaXplLCAkbGluZWhlaWdodCwgJGxldHRlcnNwYWNpbmcpO1xufVxuXG4vLyBJbm5lciBwYWdlIGNvbnRlbnQgd2lkdGhcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBjb250ZW50LXdpZHRoKCkge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRjb250ZW50LXdpZHRoLWd1dHRlcnMqMn0pO1xuICAgIG1heC13aWR0aDogJG1heC1jb250ZW50LWJyZWFrcG9pbnQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRjb250ZW50LXdpZHRoLWd1dHRlcnMyKjJ9KTtcbiAgICB9XG59XG5cbi8vIENsZWFyZml4XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuLy8gVmlzdWFsbHkgSGlkZGVuIEVsZW1lbnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xufVxuXG4vLyBPdmVycmlkZSBhIGJ1dHRvbidzIGhlaWdodCAoaW5jbHVkaW5nIGJvcmRlcnMpLiBPcHRpb25hbGx5IGNoYW5nZSB0aGUgc2lkZSBwYWRkaW5ncy5cbi8vIGV4MTogQGluY2x1ZGUgc2V0QnV0dG9uSGVpZ2h0KDUwcHgpO1xuLy8gZXgyOiBAaW5jbHVkZSBzZXRCdXR0b25IZWlnaHQoNTBweCwgMzVweCk7XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gc2V0QnV0dG9uSGVpZ2h0ICgkaGVpZ2h0OiBudWxsLCAkc2lkZXM6ICRidG4tc2lkZS1wYWRkaW5nKSB7XG4gICAgQGlmICgkaGVpZ2h0IGFuZCB1bml0KCRoZWlnaHQpID09IFwicHhcIikge1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtOyAvLyB0aGlzIHZhbHVlIGFsbG93cyB0aGUgbWF0aCBiZWxvdyB0byB3b3JrLi4uXG4gICAgICAgIHBhZGRpbmc6IHJlbSgoJGhlaWdodCAtICRidG4tYm9yZGVyLXdpZHRoKjIgLSAkYnRuLWZvbnQtc2l6ZSkgLyAyKSAkc2lkZXM7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbSgkaGVpZ2h0KTtcbiAgICB9XG59XG5cbi8vIFBsYXNlaG9sZGVyIGZvciB0ZXh0IGlucHV0c1xuLy8gZXg6ICBAaW5jbHVkZSBwbGFjZWhsZGVyKCR3aGl0ZSk7ICAvL3NldHMgYSBwbGFjZWhvbGRlciBhdHRyaWJ1dGUgZm9yIHRleHQgaW5wdXRcblxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcikge1xuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cblxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cblxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG59XG5cbi8vIE5lZ2F0aXZlIG1hcmdpbiB0byBcInNsaWRlXCIgdW5kZXIgdGhlIGhlYWRlciBpZiBuZWNlc3NhcnkgKGhvbWVwYWdlLCBQTFAsIGFueSBwYWdlIHdpdGggaGVybyBiYW5uZXIgZXRjKVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGhlYWRlck5lZ2F0aXZlTWFyZ2luIHtcbiAgICBtYXJnaW4tdG9wOiAtNzhweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTk0cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTMwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKGxnLCB4bCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjdWxhdGV2dygtMTMwcHgsIDE4MDBweCk7XG4gICAgfVxufVxuXG4vLyBTdHlsZXMgdG8gYXZvaWQgbWFyZ2lucyBvbiBmaXJzdCBhbmQgbGFzdCBlbGVtZW50XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gY2xlYXJNYXJnaW5zIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cbiIsIi5yZWNpcGUtc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4ucmVjaXBlLXNsaWRlLWJnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgaGVpZ2h0OiA1NjdweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxufVxuXG4ucmVjaXBlLXNsaWRlLXRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjBweDtcbiAgICBib3R0b206IDYwcHg7XG4gICAgd2lkdGg6IDQzN3B4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGdyYXktMTEsIDAuNik7XG4gICAgY29sb3I6ICRwcmltYXJ5LTkwMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6IDIycHggMjVweCAxNnB4IDI5cHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoYnhsKSB7XG4gICAgICAgIHJpZ2h0OiA3M3B4O1xuICAgICAgICBib3R0b206IDUwcHg7XG4gICAgfVxufVxuXG4ucmVjaXBlLXNsaWRlciB7XG4gICAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4gICAgbWFyZ2luOiAyNXB4IC0xNXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgICY6bm90KC5zbGljay1pbml0aWFsaXplZCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5yZWNpcGUtc2xpZGUge1xuICAgICAgICAgICAgZmxleDogMSAwIDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stZG90cyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgYm90dG9tOiAyN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRob3ZlcjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktNDAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktNDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb2xvcnNcbiR3aGl0ZTogI2ZmZjtcbiRibGFjazogIzAwMDtcbiRzYW5kOiAgI2JkYTg3MTtcbiRkYXJrOiAjMDYwNzE5O1xuJGRhcmstMjogIzUyNTI1MjtcbiRkYXJrLTM6ICM0MzQzNDM7XG4kZGFyay00OiAjMTkxZDIzO1xuJGRhcmstNTogIzE2MTcxOTtcbiRkYXJrLTY6ICMyOTI5Mjk7XG4kZGFyay03OiAjMjk0ODI3O1xuXG4kcGluazogI2ViMGMwMDtcblxuJGdyZWVuOiAjMDA4NzQwO1xuJGdyZWVuLTI6ICMwMDY0MDA7XG5cbi8vIDUwIHNoYWRlcyBvZiBncmF5XG4kZ3JheTogI2M2YzViOTtcbiRncmF5LTI6ICNmNWY1ZjU7XG4kZ3JheS0zOiAjZDNkM2QzO1xuJGdyYXktNDogI2U4ZThlMztcbiRncmF5LTU6ICNmYWZhZmE7XG4kZ3JheS02OiAjY2NjO1xuJGdyYXktNzogIzc2NzY3NjtcbiRncmF5LTg6ICM2NjY7XG4kZ3JheS05OiAjYjNiNWNjO1xuJGdyYXktMTA6ICNmN2Y4Zjk7XG4kZ3JheS0xMTogI2Q5ZDlkOTtcbiRncmF5LTEyOiAjOGY4ZjhmO1xuJGdyYXktMTM6ICNlM2U1ZTU7XG4kZ3JheS0xNDogIzU1NTtcbiRncmF5LTE1OiAjYjNiNWNjO1xuJGdyYXktMTY6ICM1ZTYzNjY7XG4kZ3JheS0xNzogI2ViZWJlYjtcbiRncmF5LTE4OiAjNTQ1MzUzO1xuJGdyYXktMTk6ICNmY2ZjZmE7XG4kZ3JheS0yMDogI2M4YmVhNjtcbiRncmF5LTIxOiAjNjg2ODY4O1xuJGdyYXktMjI6ICNmYmZhZmE7XG5cbiRkYXJrLWdyYXk6ICRncmF5O1xuXG4kYmx1ZTogIzE3NzFiNDtcbiRyZWQtMjogI2M5MGEwMDtcblxuLy8gbWFpbiBjb2xvcnMgcGFsZXR0ZVxuJHByaW1hcnktNTA6ICAgICNmZWVjZWM7XG4kcHJpbWFyeS0xMDA6ICAgI2ZjYmRiYjtcbiRwcmltYXJ5LTIwMDogICAjZjk4ZDhhO1xuJHByaW1hcnktMzAwOiAgICNmNzVlNWE7XG4kcHJpbWFyeS00MDA6ICAgI2Y0MmYyOTtcbiRwcmltYXJ5LTUwMDogICAjZGYxMTBiO1xuJHByaW1hcnktNjAwOiAgICNhZjBkMDk7XG4kcHJpbWFyeS03MDA6ICAgIzdlMGEwNjtcbiRwcmltYXJ5LTgwMDogICAjNGUwNjA0O1xuJHByaW1hcnktOTAwOiAgICMxZDAyMDE7XG5cbiRncmF5c2NhbGUtNTA6ICAgICNmY2ZjZmM7XG4kZ3JheXNjYWxlLTEwMDogICAjZjNmMmYyO1xuJGdyYXlzY2FsZS0yMDA6ICAgI2RiZDdkNztcbiRncmF5c2NhbGUtMzAwOiAgICNjM2JjYmM7XG4kZ3JheXNjYWxlLTQwMDogICAjYWFhMWExO1xuJGdyYXlzY2FsZS01MDA6ICAgIzkyODY4NjtcbiRncmF5c2NhbGUtNjAwOiAgICM3OTZkNmQ7XG4kZ3JheXNjYWxlLTcwMDogICAjNWU1NTU1O1xuJGdyYXlzY2FsZS04MDA6ICAgIzQzM2MzYztcbiRncmF5c2NhbGUtOTAwOiAgICMyOTI1MjU7XG5cbiRzdWNjZXNzLTUwOiAgICAjZTVmZmZjO1xuJHN1Y2Nlc3MtMTAwOiAgICNiM2ZmZjY7XG4kc3VjY2Vzcy0yMDA6ICAgIzRjZmZlYTtcbiRzdWNjZXNzLTMwMDogICAjMDBlNWNhO1xuJHN1Y2Nlc3MtNDAwOiAgICMwMGIyOWQ7XG4kc3VjY2Vzcy01MDA6ICAgIzAwN2Q2ZTtcbiRzdWNjZXNzLTYwMDogICAjMDA2NjVhO1xuJHN1Y2Nlc3MtNzAwOiAgICMwMDRkNDM7XG4kc3VjY2Vzcy04MDA6ICAgIzAwMzMyZDtcbiRzdWNjZXNzLTkwMDogICAjMDAxYTE2O1xuXG4kd2FybmluZy01MDogICAgI2ZmZjVlNTtcbiR3YXJuaW5nLTEwMDogICAjZmZlYmNjO1xuJHdhcm5pbmctMjAwOiAgICNmZmQ3OTk7XG4kd2FybmluZy0zMDA6ICAgI2ZmYzM2NjtcbiR3YXJuaW5nLTQwMDogICAjZmZhZjMzO1xuJHdhcm5pbmctNTAwOiAgICNmZDk5MDA7XG4kd2FybmluZy02MDA6ICAgI2NjN2MwMDtcbiR3YXJuaW5nLTcwMDogICAjOTk1ZDAwO1xuJHdhcm5pbmctODAwOiAgICM2NjNlMDA7XG4kd2FybmluZy05MDA6ICAgIzMzMWYwMDtcblxuJGRhbmdlci01MDogICAgI2ZjZjNmMztcbiRkYW5nZXItMTAwOiAgICNmN2RlZGY7XG4kZGFuZ2VyLTIwMDogICAjZjNjOWNhO1xuJGRhbmdlci0zMDA6ICAgI2VjYWNhZTtcbiRkYW5nZXItNDAwOiAgICNkZjcyNzU7XG4kZGFuZ2VyLTUwMDogICAjZDU0NzRjO1xuJGRhbmdlci02MDA6ICAgI2JmMmMzMTtcbiRkYW5nZXItNzAwOiAgICM5NTIyMjY7XG4kZGFuZ2VyLTgwMDogICAjNmMxOTFjO1xuJGRhbmdlci05MDA6ICAgIzQyMGYxMTtcblxuJGxnLXJlZDogI2M5MTgxZTtcbiRsZy1kYXJrOiAjMDAwMDAwMWE7XG4kbGctZGFyay0yOiAjMjIyO1xuXG4kYnJlYWRjcnVtYnMtbGl0ZTogJGdyYXktMTU7XG4kYnJlYWRjcnVtYnMtZGFyazogJGdyYXktODtcblxuJHByaW1hcnk6ICRwcmltYXJ5LTUwMDtcbiRyZWQ6ICRwcmltYXJ5LTYwMDtcbiRzdWNjZXNzOiAkc3VjY2Vzcy01MDA7XG4kZGFuZ2VyOiAkZGFuZ2VyLTUwMDtcbiRhY2NlbnQ6ICRzYW5kO1xuJGRpc2FibGVkOiAkZ3JheTtcblxuLy8gQnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgeHM6IDAsXG4gICAgeHNtOiA0MjBweCxcbiAgICBzbTogNTQ0cHgsXG4gICAgbWQ6IDc2OHB4LFxuICAgIGxnOiAxMDI0cHgsXG4gICAgYnhsOiAxMjgwcHgsXG4gICAgeGw6IDE0NDBweCxcbiAgICB4eGw6IDE4MDBweFxuKTtcblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gICAgeGw6IDEyMDBweFxuKTtcblxuJGNvbnRlbnQtd2lkdGgtZ3V0dGVyczogMjBweDtcbiRjb250ZW50LXdpZHRoLWd1dHRlcnMyOiA3NXB4O1xuJG1heC1jb250ZW50LWJyZWFrcG9pbnQ6IDEyMDBweDtcblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiA0MHB4O1xuXG4vLyBGb250c1xuXG4kc2Fucy1zZXJpZjogJ01vbnRzZXJyYXQnLCAnRGVqYVZ1IFNhbnMnLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuJHNlcmlmOiAnTG9yYScsIHNlcmlmO1xuJG1vbWVudHNTYW5zOiAnTW9tZW50cyBTYW5zJywgc2Fucy1zZXJpZjtcbiRyb2JvdG86ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xuJHJva2tpdHQ6ICdSb2traXR0Jywgc2VyaWY7XG5cbiRiYXNlLWZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiRzZWNvbmRhcnktZm9udC1mYW1pbHk6ICRzZXJpZjtcblxuJGZvbnQtcmVndWxhcjogNDAwO1xuJGZvbnQtbWVkaXVtOiA1MDA7XG4kZm9udC1zZW1pYm9sZDogNjAwO1xuJGZvbnQtYm9sZDogNzAwO1xuJGZvbnQtZXh0cmFib2xkOiA4MDA7XG5cbiRsaW5rLWNvbG9yOiAkZGFyaztcbiRsaW5rLWRlY29yOiB1bmRlcmxpbmU7XG4kbGluay1ob3Zlci1jb2xvcjogJHByaW1hcnktNDAwO1xuJGxpbmstaG92ZXItZGVjb3I6IHVuZGVybGluZTtcbiRsaW5rLWdyYXllZC1vdXQtY29sb3I6ICRkaXNhYmxlZDtcbiRsaW5rLWFsdC1jb2xvcjogJGRhcms7XG4kbGluay1hbHQtZGVjb3I6IG5vbmU7XG4kbGluay1hbHQtaG92ZXItY29sb3I6ICRkYXJrO1xuJGxpbmstYWx0LWhvdmVyLWRlY29yOiB1bmRlcmxpbmU7XG5cbiRidG4taGVpZ2h0OiAnJztcblxuJG91dGxpbmU6ICcnO1xuXG4kYm9keS1iZzogJHdoaXRlO1xuJGJvZHktbGV0dGVyLXNwYWNpbmc6ICcnO1xuXG4kaG92ZXI6IDAuMnMgZWFzZTtcblxuJGxnLXhzbWFsbDogNTc2cHg7XG4kbGcteHNtYWxsLWRvd246IDU3NXB4O1xuJGxnLXNtYWxsOiA3NjhweDtcbiRsZy1taWRkbGU6IDk5MnB4O1xuJGxnLW1pZGRsZS1kb3duOiA5OTFweDtcbiRsZy1sYXJnZTogMTIwMHB4O1xuXG4kbGctbGluazogcmdiKDIwMSwgMjQsIDMwKTtcbiRsZy1yZWQ6ICNiZTMyMzY7XG4kbGctYmxhY2s6ICMyYTJkMzA7XG4iLCJAaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvbWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL21peGluc1wiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvcmVsYXRlZF9jb250ZW50XCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9yZWNpcGUtc2xpZGVyXCI7XG5cbi5yZWNlcC1jb250YWluZXIge1xuICAgIC5icmVhZGNydW1icy1saXN0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnJlY2VwLXRpdGxlIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI4cHgpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXNlbWlib2xkO1xuICAgICAgICAgICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmstNTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMzBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3RhdHMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdGF0cy1pdGVtIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjBweCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LW1lZGl1bTtcbiAgICAgICAgICAgICAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LTkwMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ3wnO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTNweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlY2VwLXRpdGxlLWJsb2NrIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDQwcHgpO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtc2VtaWJvbGQ7XG4gICAgICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS05MDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWNlcC1pbmdyZWRpZW50cyB7XG4gICAgICAgIG1hcmdpbjogNDBweCAwO1xuXG4gICAgICAgIC5yZWNlcC1pbmdyZWRpZW50cy13cmFwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAgICAgICAgIHVsLFxuICAgICAgICAgICAgICAgIG9sLFxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNlcmlmO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktNjAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmVjZXAtcHJvZHVjdHMtbm90ZXMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDM2cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjUlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDMwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnJlY2VwLW5vdGVzIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4OSwgMTY4LCAxMTMsIDAuNCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg4O1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAgICAgICAgICAgICAgIC5yZWNlcC1ub3Rlcy10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjZweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNlcmlmO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXNlbWlib2xkO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMC45NDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzMnB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJlY2VwLXJlbGF0ZWQtcHJvZHVjdHMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoYnhsKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogLTEycHggLTdweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucmVjZXAtcmVsYXRlZC1wcm9kdWN0LWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGJ4bCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgKyAucmVjZXAtcmVsYXRlZC1wcm9kdWN0LWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzZweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoYnhsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChieGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGJ4bCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDEzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDE0cHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAxODBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnRpbGUtYm9keSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wZHAtbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCwgMjJweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2FsZXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aWxlLWNhcnQtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGJ4bCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yZWNlcC1yZWxhdGVkLXByb2R1Y3RzLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMjBweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzk2cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0NHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGJ4bCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzODRweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucmVjZXAtcmVsYXRlZC1wcm9kdWN0cy1vdmVyZmxvdyB7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnJlY2VwLXJlbGF0ZWQtcHJvZHVjdHMtc2Nyb2xsIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogaW5oZXJpdDtcblxuICAgICAgICAgICAgICAgICAgICAmLnNpbXBsZWJhci1zY3JvbGxhYmxlLXkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWNlcC1pbmdyZWRpZW50cy1hZGQtYWxsLXRvLWNhcnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIH1cblxuICAgIC5yZWNlcC1wcmVwIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDA7XG5cbiAgICAgICAgLnJlY2VwLXByZXAtd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgICAgICAgICBvbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgICAgICAgICAgICAgY291bnRlci1yZXNldDogb2w7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODg7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zOiAyO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMzNweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXlzY2FsZS01MDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIob2wpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG9sO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LTkwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5yZWNlcC1pbWFnZSB7XG4gICAgbWFyZ2luOiA3MHB4IDA7XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuIiwiLy8vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLy8gR0xPQkFMIEZVTkNUSU9OU1xuLy8vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vL1x0c3RyaXAtdW5pdHMgLSBTdHJpcCB1bml0IG9mZiBvZiBhIG51bWJlciB2YWx1ZSwgcmV0dXJuIGp1c3QgdGhlIG51bWJlclxuLy8vXHRAcGFyYW0ge251bWJlcn0gJHZhbHVlIC0gYSB1bml0IHZhbHVlIHRvIHN0cmlwXG4vLy9cdEByZXR1cm4ge251bWJlcn0gYSB1bml0bGVzcyBudW1iZXIgdmFsdWVcblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWx1ZSkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKTtcbn1cblxuLy8vXHRjYWxjdWxhdGVSZW0gLSBDYWxjdWxhdGVzIGEgcHJvcGVyIHJlbSB2YWx1ZSAodXN1YWxseSBhIGZvbnQtc2l6ZSkgZ2l2ZW4gYSBwaXhlbCB2YWx1ZS5cbi8vL1x0QHBhcmFtIHtudW1iZXJ9ICRzaXplIC0gYSBwaXhlbCB8fCB2ZXJiYWwgYXR0cmlidXRlOiBhdXRvLCBpbml0aWFsLCBldGNldGVyYS5cbi8vL1x0QHJldHVybiB7bnVtYmVyfSBhIHJlbSB2YWx1ZSBiYXNlZCBvbiBhIGRlZmF1bHQgYnJvd3NlciBmb250IHNpemUgb2YgMTZweFxuLy8vXHRAYWxpYXMgcmVtKClcblxuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xuICAgIEBpZiB0eXBlLW9mKCRzaXplKSA9PSBzdHJpbmcgb3IgJHNpemUgPT0gMCBvciB1bml0KCRzaXplKSA9PSBcInJlbVwiIHtcbiAgICAgICAgQHJldHVybiAkc2l6ZTtcbiAgICB9XG4gICAgQGlmIHVuaXQoJHNpemUpICE9IFwicHhcIiB7XG4gICAgICAgIEBlcnJvciBcIlRoZSBjYWxjdWxhdGVSZW0gZnVuY3Rpb24gZXhwZWN0cyBhIHBpeGVsIHx8IHZlcmJhbCBhdHRyaWJ1dGU6IGF1dG8sIGluaXRpYWwsIGV0Y2V0ZXJhLlwiO1xuICAgIH1cbiAgICAkcmVtU2l6ZTogJHNpemUgLyAxNnB4O1xuICAgIEByZXR1cm4gJHJlbVNpemUgKiAxcmVtO1xufVxuXG5AZnVuY3Rpb24gcmVtKCRzaXplKSB7XG4gICAgQHJldHVybiBjYWxjdWxhdGVSZW0oJHNpemUpO1xufVxuXG4vLy9cdGNhbGN1bGF0ZUVtIC0gQ2FsY3VsYXRlcyBhbiBlbSB2YWx1ZSBnaXZlbiBhIHB4IHZhbHVlIC0gbWFpbmx5IHVzZWQgaW4gbWVkaWEgcXVlcmllcy5cbi8vLyBAcGFyYW0ge251bWJlcn0gJHNpemUgLSBhIHBpeGVsIHx8IHZlcmJhbCBhdHRyaWJ1dGUgYXV0bywgaW5pdGlhbCwgZXRjZXRlcmEuXG4vLy9cdEByZXR1cm4ge251bWJlcn0gYW4gZW0gdmFsdWUgYmFzZWQgb24gYSBmb250IHNpemUgb2YgMTZweFxuXG5AZnVuY3Rpb24gY2FsY3VsYXRlRW0oJHNpemUpIHtcbiAgICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gc3RyaW5nIG9yICRzaXplID09IDAgb3IgdW5pdCgkc2l6ZSkgPT0gXCJlbVwiIHtcbiAgICAgICAgQHJldHVybiAkc2l6ZTtcbiAgICB9XG4gICAgQGlmIHVuaXQoJHNpemUpICE9IFwicHhcIiB7XG4gICAgICAgIEBlcnJvciBcIlRoZSBjYWxjdWxhdGVFbSBmdW5jdGlvbiBleHBlY3RzIGEgcGl4ZWwgfHwgdmVyYmFsIGF0dHJpYnV0ZTogYXV0bywgaW5pdGlhbCwgZXRjZXRlcmEuXCI7XG4gICAgfVxuICAgICRlbVNpemU6ICRzaXplIC8gMTZweDtcbiAgICBAcmV0dXJuICRlbVNpemUgKiAxZW07XG59XG5cbi8vL1x0Y2FsY3VsYXRldncgLSBHaXZlbiBhIHRhcmdldCBmb250LXNpemUgKGluIHB4KSBhbmQgYSB0YXJnZXQgdmlld3BvcnQgd2lkdGggKGluIHB4KSxcbi8vL1x0Y2FsY3VsYXRlcyBhIHZ3IChzY2FsaW5nKSB2YWx1ZSB0aGF0IHdpbGwgZXF1YWwgdGhlIHB4IHNpemUgYXQgZXhhY3RseSB0aGUgZ2l2ZW4gc2NyZWVuXG4vLy9cdHdpZHRoLlxuLy8vXHRAcGFyYW0ge251bWJlcn0gJHB4c2l6ZSAtIGEgdGFyZ2V0IGZvbnQgc2l6ZSBpbiBwaXhlbHNcbi8vL1x0QHBhcmFtIHtudW1iZXJ9ICRzY3JlZW53aWR0aCAtIGEgdGFyZ2V0IHZpZXdwb3J0IHNpemUgaW4gcGl4ZWxzXG4vLy9cdEByZXR1cm4ge251bWJlcn0gYSB2dyB2YWx1ZSB0aGF0IHdpbGwgZXF1YWwgdGhlIHRhcmdldGVkIHB4IHZhbHVlIGF0IHRoZSB0YXJnZXRlZCB2aWV3cG9ydC5cblxuQGZ1bmN0aW9uIGNhbGN1bGF0ZXZ3KCRweHNpemUsICRzY3JlZW53aWR0aCkge1xuICAgICR2d3VuaXQ6ICRzY3JlZW53aWR0aCAvIDEwMDtcbiAgICBAcmV0dXJuICRweHNpemUgLyAkdnd1bml0ICogMXZ3O1xufVxuXG4vLy9cdGNhbGN1bGF0ZVBlcmMgLSBDYWxjdWxhdGVzIGEgcHJvcGVyICUgdmFsdWUgYXQgYSBzcGVjaWZpZWQgdmlld3BvcnQsIGdpdmVuIGEgdGFyZ2V0XG4vLy9cdGZvbnQtc2l6ZSAoaW4gcHgpIGFuZCB2aWV3cG9ydCB3aWR0aCAoaW4gcHgpLlxuLy8vXHRAcGFyYW0ge251bWJlcn0gJHB4c2l6ZSAtIGEgdGFyZ2V0IGZvbnQgc2l6ZSBpbiBwaXhlbHNcbi8vL1x0QHBhcmFtIHtudW1iZXJ9ICRzY3JlZW53aWR0aCAtIGEgdGFyZ2V0IHZpZXdwb3J0IHNpemUgaW4gcGl4ZWxzXG4vLy9cdEByZXR1cm4ge251bWJlcn0gYSBwZXJjZW50YWdlIHZhbHVlIHRoYXQgd2lsbCBlcXVhbCB0aGUgdGFyZ2V0ZWQgcHggdmFsdWUgYXQgdGhlIHRhcmdldGVkIHZpZXdwb3J0LlxuXG5AZnVuY3Rpb24gY2FsY3VsYXRlUGVyYygkcHhzaXplLCAkc2NyZWVud2lkdGgpIHtcbiAgICBAcmV0dXJuICRweHNpemUgLyAkc2NyZWVud2lkdGggKiAxMDAlO1xufVxuXG5AZnVuY3Rpb24gbWFwLWhhcy1uZXN0ZWQta2V5cygkbWFwLCAka2V5cy4uLikge1xuICAgIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICAgICBAaWYgdHlwZS1vZigkbWFwKSAhPSBcIm1hcFwiIHtcbiAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgfVxuICAgIEByZXR1cm4gdHJ1ZTtcbn1cblxuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuICAgIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICAgICBAaWYgdHlwZS1vZigkbWFwKSA9PSBcIm1hcFwiIHtcbiAgICAgICAgICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiAkbWFwO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/