#catalog-body.catalog-body--loading{opacity:.55;pointer-events:none;transition:opacity .15s ease}.ps-category-switcher{position:sticky;top:var(--catalog-sticky-top, 0px);z-index:900;margin:0 0 1.25rem;background:#fff;transition:padding .15s ease,box-shadow .15s ease}.ps-category-switcher.ps-cs--no-stick{position:static}.ps-category-switcher__header{margin:0 0 .5rem;font-size:1.05rem;line-height:1.3;font-weight:700}.ps-category-switcher__header .ps-category-switcher__change{color:var(--ps-cs-text-color, #e11)}.ps-category-switcher__header .ps-category-switcher__showing{color:#666;font-weight:400;font-size:.85em}.ps-category-switcher__strip{display:flex;gap:.5rem;align-items:stretch;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:.25rem;background:#fff;scroll-marker-group:after}.ps-category-switcher__strip::-webkit-scrollbar{display:none}.ps-category-switcher__strip::scroll-marker-group{display:flex;justify-content:center;gap:6px;padding-top:.4rem}.ps-category-switcher__strip.ps-hscroll[data-hs=start]{mask-image:linear-gradient(to right, #000 82%, transparent 100%)}.ps-category-switcher__strip.ps-hscroll[data-hs=end]{mask-image:linear-gradient(to right, transparent 0%, #000 18%)}.ps-category-switcher__strip.ps-hscroll[data-hs=middle]{mask-image:linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%)}.ps-category-switcher__strip.ps-hscroll[data-hs=none]{mask-image:none}.ps-category-switcher__item{flex:0 0 auto;width:8.5rem;scroll-snap-align:start;display:flex;text-decoration:none;color:inherit}.ps-category-switcher__item.is-current .ps-category-switcher__card{border-color:var(--ps-color-primary, #001877);box-shadow:0 0 0 2px var(--ps-color-primary, #001877) inset}.ps-category-switcher__item.is-current .ps-category-switcher__label{color:var(--ps-color-primary, #001877)}.ps-category-switcher__item::scroll-marker{content:"";width:8px;height:8px;border-radius:50%;background:#cfd6dc;border:none}.ps-category-switcher__item::scroll-marker:target-current{background:var(--ps-color-primary, #001877)}.ps-category-switcher__card{flex:1;display:flex;flex-direction:column;height:152px;padding:.4rem;border:1px solid #e4e4e4;border-radius:.25rem;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,height .15s ease}.ps-category-switcher__card:hover{border-color:var(--ps-color-primary, #001877)}.ps-category-switcher__pic{flex:0 0 92px;width:100%;height:92px;display:flex;align-items:center;justify-content:center;overflow:hidden}.ps-category-switcher__pic img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.ps-category-switcher__label{flex:0 0 auto;margin-top:.3rem;font-size:.72rem;line-height:1.15;font-weight:600;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ps-category-switcher.is-stuck{margin-bottom:0;padding:2px 0;border-bottom:1px solid #d7d7d7;box-shadow:0 2px 6px rgba(0,0,0,.08);background:#fff}.ps-category-switcher.is-stuck .ps-category-switcher__header{display:none}.ps-category-switcher.is-stuck .ps-category-switcher__item{width:auto}.ps-category-switcher.is-stuck .ps-category-switcher__card{height:54px;flex-direction:row;align-items:center;padding:2px 6px}.ps-category-switcher.is-stuck .ps-category-switcher__pic{flex:0 0 auto;width:calc(54px - 10px);height:calc(54px - 10px)}.ps-category-switcher.is-stuck .ps-category-switcher__label{display:none}@media(min-width: 768px){.ps-category-switcher__strip{scroll-snap-type:none;scroll-marker-group:none;overflow-x:auto;mask-image:none}.ps-category-switcher__item{flex:1 1 0;width:auto;min-width:7.5rem;scroll-snap-align:none}.ps-category-switcher.is-stuck{padding:4px 0}.ps-category-switcher.is-stuck .ps-category-switcher__item{min-width:6rem}.ps-category-switcher.is-stuck .ps-category-switcher__card{height:66px;flex-direction:column;padding:.25rem}.ps-category-switcher.is-stuck .ps-category-switcher__pic{flex:0 0 auto;height:calc(66px - 14px);min-height:0}.ps-category-switcher.is-stuck .ps-category-switcher__label{display:none}}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2Nzcy9jb21wb25lbnQtY2F0ZWdvcnktc3dpdGNoZXItc3RpY2t5LjgxYjFmZGU3Y2VmNjA4YTZiZWU4LmNzcyIsIm1hcHBpbmdzIjoiQUE2QkEsb0NBQ0UsWUFDQSxvQkFDQSw2QkFVRixzQkFDRSxnQkFDQSxtQ0FLQSxZQUNBLG1CQUNBLGdCQUNBLGtEQUpBLHNEQU1BLDhCQUNFLGlCQUNBLGtCQUNBLGdCQUNBLGdCQU1BLGdHQUNBLDZEQUNFLFdBQ0EsZ0JBQ0EsZ0JBTUosNkJBQ0UsYUFDQSxVQUNBLG9CQUNBLGdCQUNBLGtCQUNBLHVCQUNBLGlDQUNBLDZCQUNBLHFCQUNBLHNCQUNBLGdCQUtBLDBCQUhBLDZEQUtBLGtEQUNFLGFBQ0EsdUJBQ0EsUUFDQSxrQkFNRix3SEFDQSxvSEFDQSxtSkFDQSxzRUFHRiw0QkFDRSxjQUNBLFlBdkVVLENBd0VWLHdCQUNBLGFBQ0EscUJBQ0EsY0FFQSxtRUFDRSw2Q0M1RmtCLENENkZsQiw0REFFRiwwR0MvRm9CLENEa0dwQiwyQ0FDRSxXQUNBLFVBQ0EsV0FDQSxrQkFDQSxtQkFDQSxZQUVGLHFHQzFHb0IsQ0Q2R3RCLDRCQUNFLE9BQ0EsYUFDQSxzQkFDQSxZQXRHUSxDQXVHUixjQUNBLHlCQUNBLHFCQUNBLGdCQUNBLHNFQUVBLCtFQ3hIb0IsQ0QySHRCLDJCQUNFLGNBQ0EsV0FDQSxXQWxITyxDQXVIUCxhQUNBLG1CQUNBLHVCQUNBLGdCQUVBLCtCQUNFLGVBQ0EsZ0JBQ0EsV0FDQSxZQUNBLG1CQUlKLDZCQUNFLGNBQ0EsaUJBQ0EsaUJBQ0EsaUJBQ0EsZ0JBQ0Esa0JBQ0Esb0JBQ0EscUJBQ0EsNEJBQ0EsZ0JBSUYsK0JBQ0UsZ0JBQ0EsY0FDQSxnQ0FDQSxxQ0FDQSxnQkFFQSwwRUFFQSxzRUFFQSwyREFDRSxXQTVKYyxDQTZKZCxtQkFDQSxtQkFDQSxnQkFHRiwwREFDRSxjQUNBLHdCQUNBLHlCQUdGLHlFRXJKdUIseUJGNEp2Qiw2QkFDRSxzQkFDQSx5QkFDQSxnQkFDQSxnQkFHRiw0QkFHRSxXQUNBLFdBQ0EsaUJBQ0EsdUJBSUYsK0JBQ0UsY0FFQSwwRUFFQSwyREFDRSxXQXhNSyxDQXlNTCxzQkFDQSxlQUdGLDBEQUNFLGNBQ0EseUJBQ0EsYUFHRiwwRSIsInNvdXJjZXMiOlsid2VicGFjazovL2JlYWNoc2lkZWF1dG9wYXJ0cy8uLi8uLi8uLi9hdXRvLXByZXNzL3Jlc291cmNlcy9jb21wb25lbnRzL2NhdGVnb3J5LXN3aXRjaGVyL3N0aWNreS9pbmRleC5zY3NzIiwid2VicGFjazovL2JlYWNoc2lkZWF1dG9wYXJ0cy8uLi8uLi8uLi9hdXRvLXByZXNzL3Jlc291cmNlcy9zdHlsZXMvdmFyaWFudHMvX2NvbG9ycy5zY3NzIiwid2VicGFjazovL2JlYWNoc2lkZWF1dG9wYXJ0cy8uLi8uLi8uLi9hdXRvLXByZXNzL3Jlc291cmNlcy9jb21wb25lbnRzL19jYXRhbG9nL19nbG9iYWxzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ0FURUdPUlktU1dJVENIRVIg4oCUIHZhcmlhbnQgXCJzdGlja3lcIlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVzcG9uc2l2ZSBieSBkZXNpZ246XG4vL1xuLy8gICDigKIgREVTS1RPUCAobWQgYW5kIHVwKTogdGhlIGNhdGVnb3JpZXMgc3ByZWFkIEVER0UtVE8tRURHRSBhY3Jvc3MgdGhlIGZ1bGxcbi8vICAgICB3aWR0aCBvZiB0aGUgcm93IChlYWNoIGNhcmQgZmxleGVzIHRvIHNoYXJlIHRoZSB3aWR0aCBlcXVhbGx5KS4gV2hlbiB0aGVcbi8vICAgICBiYXIgcGlucyB0byB0aGUgdG9wIChgLmlzLXN0dWNrYCkgdGhlIGNhcmRzIHN0YXkgZXhhY3RseSB3aGVyZSB0aGV5IGFyZSBhbmRcbi8vICAgICBqdXN0IFNIUklOSyBhIGxpdHRsZSDigJQgdGhlIGltYWdlIGdldHMgc2hvcnRlciwgdGhlIGxhYmVsIGRpc2FwcGVhcnMg4oCUIGJ1dFxuLy8gICAgIHRoZXkgc3RpbGwgc3BhbiB0aGUgZnVsbCBicm93c2VyIHdpZHRoIChIb3VzdG9uLXN0eWxlKS4gTm8gbGVmdC1qdXN0aWZpZWRcbi8vICAgICBjb2xsYXBzZS4gSWYgYSB2ZWhpY2xlIGV2ZXIgaGFzIHRvbyBtYW55IGNhdGVnb3JpZXMgdG8gZml0IGF0IGEgc2FuZSBtaW5cbi8vICAgICB3aWR0aCwgdGhlIHJvdyBmYWxscyBiYWNrIHRvIGEgaG9yaXpvbnRhbCBzY3JvbGwuXG4vL1xuLy8gICDigKIgTU9CSUxFIChiZWxvdyBtZCk6IGEgaG9yaXpvbnRhbCwgbW9tZW50dW0sIHNjcm9sbC1zbmFwIHJhaWwgb2YgZml4ZWQtd2lkdGhcbi8vICAgICBjYXJkcyB3aXRoIGFuIEVER0UgRkFERSAoZHJpdmVuIGJ5IGAucHMtaHNjcm9sbGAg4oaSIGBkYXRhLWhzYCwgc2VlXG4vLyAgICAgX2NhdGFsb2cvaHNjcm9sbC5qcykgYW5kIG5hdGl2ZSBDU1MgcGFnaW5hdGlvbiBkb3RzIChgOjpzY3JvbGwtbWFya2VyYCxcbi8vICAgICBDaHJvbWl1bSAxMzUrOyBzaWxlbnRseSBhYnNlbnQg4oCUIGFuZCBoYXJtbGVzcyDigJQgZWxzZXdoZXJlKS4gV2hlbiBwaW5uZWQgaXRcbi8vICAgICBjb2xsYXBzZXMgdG8gYSBjb21wYWN0IHNjcm9sbGFibGUgdGh1bWJuYWlsIHJvdyAobm8gbGFiZWxzKS5cbi8vXG4vLyBOYXRpdmUgYHBvc2l0aW9uOiBzdGlja3lgOyB0aGUgdG9wIG9mZnNldCBpcyBzZXQgaW5saW5lIGJ5IHN0aWNreS1zdGFjay5qcyBzb1xuLy8gdGhlIGJhciBwaW5zIGJlbG93IHRoZSBzaXRlJ3MgZml4ZWQgaGVhZGVyIHN0YWNrLiBCYWNrZ3JvdW5kIGlzIG9wYXF1ZSB3aGl0ZSBzb1xuLy8gcGFnZSBjb250ZW50IHNjcm9sbGluZyB1bmRlcm5lYXRoIG5ldmVyIGJsZWVkcyB0aHJvdWdoIHRoZSBwaW5uZWQgYmFyLlxuLy9cbi8vIERlcHM6ICRjb2xvcl9wcmltYXJ5ICsgQm9vdHN0cmFwIGJyZWFrcG9pbnQgbWl4aW5zIGZyb20gX2NhdGFsb2cvX2dsb2JhbHMuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvX2NhdGFsb2cvZ2xvYmFscyc7XG5cbi8vIEFKQVggcGFydGlhbC1yZWxvYWQgbG9hZGluZyBzdGF0ZSBmb3IgdGhlIHdob2xlIGNhdGFsb2cgYm9keSAoZGltICsgbG9jaykuXG4jY2F0YWxvZy1ib2R5LmNhdGFsb2ctYm9keS0tbG9hZGluZyB7XG4gIG9wYWNpdHk6IDAuNTU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7XG59XG5cbiRjcy1hY2NlbnQ6ICRjb2xvcl9wcmltYXJ5O1xuJGNzLWNhcmQtaDogMTUycHg7ICAgICAgLy8gZnVsbCBjYXJkIGhlaWdodCAobm9ybWFsIHN0YXRlKVxuJGNzLXBpYy1oOiA5MnB4OyAgICAgICAgLy8gaW1hZ2UgYXJlYSAobm9ybWFsIHN0YXRlKSDigJQgcGljdHVyZSBhbHdheXMgc2hvd24gaW4gZnVsbFxuJGNzLXN0dWNrLWg6IDY2cHg7ICAgICAgLy8gc3R1Y2sgY2FyZCBoZWlnaHQgKGRlc2t0b3A6IFwic2hyaW5rIGEgbGl0dGxlXCIpXG4kY3MtbW9iaWxlLXc6IDguNXJlbTsgICAvLyBmaXhlZCBjYXJkIHdpZHRoIG9uIHRoZSBtb2JpbGUgcmFpbFxuJGNzLW1vYmlsZS1zdHVjay1oOiA1NHB4O1xuXG4ucHMtY2F0ZWdvcnktc3dpdGNoZXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IHZhcigtLWNhdGFsb2ctc3RpY2t5LXRvcCwgMHB4KTtcblxuICAvLyBzdGljayA9IGZhbHNlIOKGkiBub3JtYWwgaW4tZmxvdyByYWlsLiBUaGUgYmxhZGUgYWxzbyBkcm9wcyBgY2F0YWxvZy1zdGlja3lgXG4gIC8vIHNvIHN0aWNreS1zdGFjay5qcyBuZXZlciByZWdpc3RlcnMgaXQgKG5vIGlzLXN0dWNrLCBubyB0b3Agb2Zmc2V0KS5cbiAgJi5wcy1jcy0tbm8tc3RpY2sgeyBwb3NpdGlvbjogc3RhdGljOyB9XG4gIHotaW5kZXg6IDkwMDtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTsgICAgICAgICAgICAgIC8vIHNwYWNpbmcgYmVmb3JlIHRoZSBuYXJyb3ctZG93biB3aWRnZXRcbiAgYmFja2dyb3VuZDogI2ZmZjsgICAgICAgICAgICAgICAgIC8vIG9wYXF1ZSDigJQgbm8gYmxlZWQtdGhyb3VnaCB3aGVuIHBpbm5lZFxuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuMTVzIGVhc2UsIGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcblxuICAmX19oZWFkZXIge1xuICAgIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgICBmb250LXNpemU6IDEuMDVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgLy8gQ2FsbC1vdXQgY29sb3IgcmlkZXMgYSBjdXN0b20gcHJvcGVydHkgc28gdGhlIGJsb2NrJ3MgXCJDYWxsLU91dCBUZXh0XG4gICAgLy8gQ29sb3JcIiBzZXR0aW5nIChpbmxpbmUgLS1wcy1jcy10ZXh0LWNvbG9yIG9uIHRoZSByb290IOKAlCBjaHJvbWVsZXNzXG4gICAgLy8gY29tcG9uZW50LCBibG9jayB0b2tlbnMgY2FuJ3QgcmVhY2ggaXQpIGNhbiByZXN0eWxlIGl0LiBEZWZhdWx0IHN0YXlzXG4gICAgLy8gdGhlIGhpc3RvcmljYWwgcmVkLlxuICAgIC5wcy1jYXRlZ29yeS1zd2l0Y2hlcl9fY2hhbmdlIHsgY29sb3I6IHZhcigtLXBzLWNzLXRleHQtY29sb3IsICNlMTEpOyB9XG4gICAgLnBzLWNhdGVnb3J5LXN3aXRjaGVyX19zaG93aW5nIHtcbiAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBUaGUgcmFpbCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gTW9iaWxlLWZpcnN0OiBob3Jpem9udGFsIG1vbWVudHVtIHNjcm9sbC1zbmFwIHJhaWwgd2l0aCBhbiBlZGdlIGZhZGUgKyBkb3RzLlxuICAmX19zdHJpcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBwcm94aW1pdHk7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAgICAgICAgICAgICAvLyBoaWRlIGJhcjsgdGhlIGZhZGUgaXMgdGhlIGFmZm9yZGFuY2VcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAvLyBOYXRpdmUgQ1NTIGNhcm91c2VsIHBhZ2luYXRpb24gZG90cyAoQ2hyb21pdW0gMTM1KzsgYWJzZW50IGVsc2V3aGVyZSkuXG4gICAgc2Nyb2xsLW1hcmtlci1ncm91cDogYWZ0ZXI7XG5cbiAgICAmOjpzY3JvbGwtbWFya2VyLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogNnB4O1xuICAgICAgcGFkZGluZy10b3A6IDAuNHJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBFZGdlIGZhZGUgKHJldXNhYmxlIC5wcy1oc2Nyb2xsIGNvbnRyYWN0KTogbWFzayB3aGljaGV2ZXIgc2lkZSBoYXMgbW9yZS5cbiAgJl9fc3RyaXAucHMtaHNjcm9sbCB7XG4gICAgJltkYXRhLWhzPSdzdGFydCddICB7IG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzAwMCA4MiUsIHRyYW5zcGFyZW50IDEwMCUpOyB9XG4gICAgJltkYXRhLWhzPSdlbmQnXSAgICB7IG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCUsICMwMDAgMTglKTsgfVxuICAgICZbZGF0YS1ocz0nbWlkZGxlJ10geyBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAlLCAjMDAwIDEyJSwgIzAwMCA4OCUsIHRyYW5zcGFyZW50IDEwMCUpOyB9XG4gICAgJltkYXRhLWhzPSdub25lJ10gICB7IG1hc2staW1hZ2U6IG5vbmU7IH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAkY3MtbW9iaWxlLXc7ICAgICAgICAgICAgICAgLy8gZml4ZWQtd2lkdGggY2FyZHMgb24gdGhlIG1vYmlsZSByYWlsXG4gICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgJi5pcy1jdXJyZW50IC5wcy1jYXRlZ29yeS1zd2l0Y2hlcl9fY2FyZCB7XG4gICAgICBib3JkZXItY29sb3I6ICRjcy1hY2NlbnQ7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJGNzLWFjY2VudCBpbnNldDtcbiAgICB9XG4gICAgJi5pcy1jdXJyZW50IC5wcy1jYXRlZ29yeS1zd2l0Y2hlcl9fbGFiZWwgeyBjb2xvcjogJGNzLWFjY2VudDsgfVxuXG4gICAgLy8gbmF0aXZlIHBhZ2luYXRpb24gZG90IGZvciB0aGlzIGNhcmRcbiAgICAmOjpzY3JvbGwtbWFya2VyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDhweDtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogI2NmZDZkYztcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgJjo6c2Nyb2xsLW1hcmtlcjp0YXJnZXQtY3VycmVudCB7IGJhY2tncm91bmQ6ICRjcy1hY2NlbnQ7IH1cbiAgfVxuXG4gICZfX2NhcmQge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAgICAgICAgICAgIC8vIGltYWdlIG9uIHRvcCwgbGFiZWwgdW5kZXJuZWF0aFxuICAgIGhlaWdodDogJGNzLWNhcmQtaDtcbiAgICBwYWRkaW5nOiAwLjRyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTRlNDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2UsIGhlaWdodCAwLjE1cyBlYXNlO1xuXG4gICAgJjpob3ZlciB7IGJvcmRlci1jb2xvcjogJGNzLWFjY2VudDsgfVxuICB9XG5cbiAgJl9fcGljIHtcbiAgICBmbGV4OiAwIDAgJGNzLXBpYy1oOyAgICAgICAgICAgICAgIC8vIEZJWEVEIGhlaWdodCDihpIgdGhlIHBpY3R1cmUgaXMgbmV2ZXIgY3JvcHBlZFxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJGNzLXBpYy1oO1xuICAgIC8vIEZsZXgtY2VudGVyIChOT1QgZ3JpZCk6IGEgZ3JpZCBhdXRvLXJvdyBpcyBjaXJjdWxhciB3aXRoIGEgcGVyY2VudGFnZS1oZWlnaHRcbiAgICAvLyBjaGlsZCwgc28gdGhlIHJvdyBncm93cyB0byB0aGUgaW1hZ2UncyBpbnRyaW5zaWMgc2l6ZSBhbmQgdGhlIHBpY3R1cmUgZ2V0c1xuICAgIC8vIGNsaXBwZWQuIEZsZXhib3ggcmVzb2x2ZXMgbWF4LWhlaWdodDoxMDAlIGFnYWluc3QgdGhlIHBpYydzIERFRklOSVRFIGhlaWdodCxcbiAgICAvLyBzbyB0aGUgd2hvbGUgaW1hZ2UgYWx3YXlzIGZpdHMsIGxldHRlcmJveGVkLlxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7ICAgICAgICAgICAgICAgIC8vIGNsYW1wcyB0byB0aGUgcGljIGJveCDihpIgd2hvbGUgaW1hZ2Ugc2hvd25cbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG4gIH1cblxuICAmX19sYWJlbCB7XG4gICAgZmxleDogMCAwIGF1dG87ICAgICAgICAgICAgICAgICAgICAvLyBzaXRzIGluIGl0cyBvd24gYXJlYSBCRUxPVyB0aGUgcGljdHVyZVxuICAgIG1hcmdpbi10b3A6IDAuM3JlbTtcbiAgICBmb250LXNpemU6IDAuNzJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyOyAgICAgICAgICAgICAvLyBjbGFtcCBsb25nIG5hbWVzIHRvIHR3byBsaW5lc1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIOKUgOKUgCBTdHVjayAvIGNvbGxhcHNlZCBzdGF0ZSDigJQgTU9CSUxFIChjb21wYWN0IHNjcm9sbGFibGUgdGh1bWJuYWlsIHJvdykg4pSA4pSA4pSA4pSA4pSAXG4gICYuaXMtc3R1Y2sge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMnB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkN2Q3ZDc7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgIC5wcy1jYXRlZ29yeS1zd2l0Y2hlcl9faGVhZGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLnBzLWNhdGVnb3J5LXN3aXRjaGVyX19pdGVtIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC5wcy1jYXRlZ29yeS1zd2l0Y2hlcl9fY2FyZCB7XG4gICAgICBoZWlnaHQ6ICRjcy1tb2JpbGUtc3R1Y2staDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzogMnB4IDZweDtcbiAgICB9XG5cbiAgICAucHMtY2F0ZWdvcnktc3dpdGNoZXJfX3BpYyB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKCN7JGNzLW1vYmlsZS1zdHVjay1ofSAtIDEwcHgpO1xuICAgICAgaGVpZ2h0OiBjYWxjKCN7JGNzLW1vYmlsZS1zdHVjay1ofSAtIDEwcHgpO1xuICAgIH1cblxuICAgIC5wcy1jYXRlZ29yeS1zd2l0Y2hlcl9fbGFiZWwgeyBkaXNwbGF5OiBub25lOyB9XG4gIH1cblxuICAvLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgLy8gREVTS1RPUCAobWQgYW5kIHVwKTogZnVsbC13aWR0aCBkaXN0cmlidXRpb24sIG5vIGxlZnQtanVzdGlmaWVkIGNvbGxhcHNlLlxuICAvLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICZfX3N0cmlwIHtcbiAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IG5vbmU7XG4gICAgICBzY3JvbGwtbWFya2VyLWdyb3VwOiBub25lOyAgICAgICAvLyBubyBkb3RzIG9uIGRlc2t0b3Ag4oCUIGV2ZXJ5dGhpbmcncyB2aXNpYmxlXG4gICAgICBvdmVyZmxvdy14OiBhdXRvOyAgICAgICAgICAgICAgICAvLyBmYWxsYmFjayBvbmx5IGlmIHRoZXJlIGFyZSB0b28gbWFueVxuICAgICAgbWFzay1pbWFnZTogbm9uZTsgICAgICAgICAgICAgICAgLy8gbm8gZWRnZSBmYWRlIG9uIGRlc2t0b3BcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIC8vIGdyb3cgdG8gc2hhcmUgdGhlIGZ1bGwgd2lkdGggZXF1YWxseTsgbWluLXdpZHRoIGtlZXBzIGNhcmRzIHNhbmUgYW5kLCBpZlxuICAgICAgLy8gdGhlcmUgYXJlIHRvbyBtYW55IHRvIGZpdCwgdHJpZ2dlcnMgdGhlIGhvcml6b250YWwtc2Nyb2xsIGZhbGxiYWNrLlxuICAgICAgZmxleDogMSAxIDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogNy41cmVtO1xuICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gU3R1Y2s6IGNhcmRzIHN0YXkgaW4gcGxhY2UgJiBmdWxsIHdpZHRoLCBqdXN0IFNIUklOSyAoSG91c3Rvbi1zdHlsZSkuXG4gICAgJi5pcy1zdHVjayB7XG4gICAgICBwYWRkaW5nOiA0cHggMDtcblxuICAgICAgLnBzLWNhdGVnb3J5LXN3aXRjaGVyX19pdGVtIHsgbWluLXdpZHRoOiA2cmVtOyB9XG5cbiAgICAgIC5wcy1jYXRlZ29yeS1zd2l0Y2hlcl9fY2FyZCB7XG4gICAgICAgIGhlaWdodDogJGNzLXN0dWNrLWg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47ICAgICAgICAvLyBrZWVwIGltYWdlLW9uLXRvcDsgZG8gTk9UIHJlZmxvdyB0byBhIHJvd1xuICAgICAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgICAgfVxuXG4gICAgICAucHMtY2F0ZWdvcnktc3dpdGNoZXJfX3BpYyB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvOyAgICAgICAgICAgICAgICAvLyBkZWZpbml0ZSBoZWlnaHQgc28gYGNvbnRhaW5gIGxldHRlcmJveGVzXG4gICAgICAgIGhlaWdodDogY2FsYygjeyRjcy1zdHVjay1ofSAtIDE0cHgpOyAgLy8gZmlsbCB0aGUgc2hvcnRlciBjYXJkOyBpbWFnZSBzaHJpbmtzIGluIHBsYWNlXG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC5wcy1jYXRlZ29yeS1zd2l0Y2hlcl9fbGFiZWwgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVGhlbWUgcGFsZXR0ZSDigJQgVE9LRU4tQkFDS0VEIChSb3VuZCAxNCwgQ09MT1JTX1RPS0VOU19SRUNPTkNJTElBVElPTi5tZCkuXG4vL1xuLy8gRXZlcnkgJGNvbG9yXyogdmFyIHJlc29sdmVzIHRvIGEgVGhlbWUgQnVpbGRlciBnbG9iYWwgZGVzaWduIHRva2VuXG4vLyAodmFyKC0tcHMtY29sb3ItKiwgPGJyYW5kIGhleCBmYWxsYmFjaz4pKS4gUmVuZGVyaW5nIGlzIElERU5USUNBTCB0byB0aGUgb2xkXG4vLyBzdGF0aWMgcGFsZXR0ZSB1bnRpbCB0aGUgYmFja2VuZCB0aGVtZSBlZGl0b3IgcHVibGlzaGVzIGEgdG9rZW4gdmFsdWUg4oCUIHRoZW5cbi8vIHRoYXQgdmFsdWUgd2lucyBhY3Jvc3MgdGhlIGVudGlyZSBjb21waWxlZCBzdHlsZXNoZWV0IChnbG9iYWwgc2hlZXQgQU5EIGV2ZXJ5XG4vLyBjb21wb25lbnQgYnVuZGxlLCBzaW5jZSB0aGV5IGFsbCBpbXBvcnQgdGhpcyBmaWxlIHZpYSBfY2F0YWxvZy9nbG9iYWxzKS5cbi8vXG4vLyBSVUxFUzpcbi8vICAtIFNhc3MgY29sb3IgZnVuY3Rpb25zIChsaWdodGVuL2Rhcmtlbi9yZ2JhL21peCkgQ0FOTk9UIG9wZXJhdGUgb24gdmFyKCkuXG4vLyAgICBVc2UgdGhlICpfaGV4IGxpdGVyYWxzIGZvciB0aG9zZSDigJQgQm9vdHN0cmFwJ3MgJHRoZW1lLWNvbG9ycyBtYXRoIGRvZXNcbi8vICAgIChvdmVycmlkZXMvX3ZhcmlhYmxlcy5zY3NzKSwgYW5kIHNvIGRvZXMgdGhlIHNpdGUtc2VhcmNoIG1vZGFsIGdyYWRpZW50LlxuLy8gIC0gRGVyaXZlZCBzaGFkZXMgYXJlIE5PVCBjb21wdXRlZCBmcm9tIHRoZSBiYXNlOiBlYWNoIGlzIGl0cyBvd24gdG9rZW4gd2l0aFxuLy8gICAgaXRzIG93biBmYWxsYmFjayAodGhlIGxlZ2FjeSB2YWx1ZXMgd2VyZSBuZXZlciBhbGdvcml0aG1pYyB0aW50cykuXG4vLyAgLSBUaGUgSklTLWZvc3NpbCB2YXJzICgkY29sb3JfamlzKikgYW5kIHRoZSAkY29sb3JfcHJpbWFyeV9saWdodGVzdCBhbGlhc1xuLy8gICAgd2VyZSByZXRpcmVkIGhlcmUgKHplcm8gY2FsbGVycyBhZnRlciB0aGUgUm91bmQgMTMgc3dlZXApLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8g4pSA4pSAIFJhdyBicmFuZCBsaXRlcmFscyDigJQgT05MWSBmb3IgU2FzcyBjb2xvciBtYXRoIChCb290c3RyYXAgdGhlbWUgY29sb3JzLFxuLy8gICAgbGlnaHRlbigpL3JnYmEoKSBjYWxsIHNpdGVzKS4gRXZlcnl0aGluZyBlbHNlIHVzZXMgdGhlIHRva2VuLWJhY2tlZCB2YXJzLlxuJGNvbG9yX3ByaW1hcnlfaGV4OiAgICMwMDE4Nzc7XG4kY29sb3Jfc2Vjb25kYXJ5X2hleDogIzA5MDkxNztcblxuLy8g4pSA4pSAIFByaW1hcnkgKGJyYW5kKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiRjb2xvcl9wcmltYXJ5OiAgICAgICAgIHZhcigtLXBzLWNvbG9yLXByaW1hcnksICN7JGNvbG9yX3ByaW1hcnlfaGV4fSk7XG4kY29sb3JfcHJpbWFyeV9saWdodDogICB2YXIoLS1wcy1jb2xvci1wcmltYXJ5LWxpZ2h0LCAjZjk5ZDFhKTsgICAvLyBvcmFuZ2UgYWNjZW50IChub3QgYSB0aW50KVxuJGNvbG9yX3ByaW1hcnlfZGFyazogICAgdmFyKC0tcHMtY29sb3ItcHJpbWFyeS1kYXJrLCAjNGI4NGMwKTsgICAgLy8gbGlnaHRlciBibHVlIChsZWdhY3kgbmFtaW5nKVxuJGNvbG9yX3ByaW1hcnlfZGFya2VyOiAgdmFyKC0tcHMtY29sb3ItcHJpbWFyeS1ob3ZlciwgI3skY29sb3JfcHJpbWFyeV9oZXh9KTsgLy8gbGVnYWN5IHNlbGYtYWxpYXMg4oaSIGhvdmVyIHRva2VuXG5cbi8vIOKUgOKUgCBTZWNvbmRhcnkgKGRhcmsgYmFuZHMgLyBiYWNrZ3JvdW5kcykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4kY29sb3Jfc2Vjb25kYXJ5OiAgICAgICAgIHZhcigtLXBzLWNvbG9yLXNlY29uZGFyeSwgI3skY29sb3Jfc2Vjb25kYXJ5X2hleH0pO1xuJGNvbG9yX3NlY29uZGFyeV9kYXJrZXI6ICB2YXIoLS1wcy1jb2xvci1zZWNvbmRhcnktZGFya2VyLCAjMDAwMDAwKTtcbiRjb2xvcl9zZWNvbmRhcnlfZGFyazogICAgdmFyKC0tcHMtY29sb3Itc2Vjb25kYXJ5LWRhcmssICMxNDE2MTgpO1xuJGNvbG9yX3NlY29uZGFyeV9saWdodDogICB2YXIoLS1wcy1jb2xvci10ZXh0LTIsICM1NzU3NTcpO1xuJGNvbG9yX3NlY29uZGFyeV9saWdodGVyOiB2YXIoLS1wcy1jb2xvci10ZXh0LTMsICM3YzdjN2MpO1xuXG4vLyDilIDilIAgTmV1dHJhbHMgLyBzdXJmYWNlcyAvIGJvcmRlcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4kY29sb3JfbmV1dHJhbDogICB2YXIoLS1wcy1jb2xvci1uZXV0cmFsLCAjZmZmZmZmKTtcbiRjb2xvcl9uZXV0cmFsXzE6IHZhcigtLXBzLWNvbG9yLXN1cmZhY2UtYWx0LCAjZjBmMGYwKTtcbiRjb2xvcl9uZXV0cmFsXzI6IHZhcigtLXBzLWNvbG9yLWJvcmRlci0yLCAjYTdhN2E3KTtcbiRjb2xvcl9uZXV0cmFsXzM6IHZhcigtLXBzLWNvbG9yLWJvcmRlciwgI2RiZGJkYik7XG4kY29sb3ItbmV1dHJhbF80OiB2YXIoLS1wcy1jb2xvci1zdXJmYWNlLWFsdCwgI2VmZWZlZik7XG5cbi8vIOKUgOKUgCBTZW1hbnRpYyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiRjb2xvcl9yZWQ6ICAgICAgICB2YXIoLS1wcy1jb2xvci1kYW5nZXIsICNmZjFlMDApO1xuJGNvbG9yX3RleHRfbGlnaHQ6IHZhcigtLXBzLWNvbG9yLXRleHQtaW52ZXJzZSwgI2ZmZmZmZik7XG5cbi8vIFByZWNvbXB1dGVkIHRyYW5zbHVjZW50IG92ZXJsYXkg4oCUIGEgZmlyc3QtY2xhc3MgdG9rZW4gKFNhc3MgY2FuJ3QgcmdiYSgpIGFcbi8vIHZhcigpOyB0aGUgbGVnYWN5IHZhbHVlIHdhcyByZ2JhKCRjb2xvcl9zZWNvbmRhcnlfZGFya2VyLCAuOCkgPSByZ2JhIGJsYWNrKS5cbiRvdmVybGF5LWRhcms6IHZhcigtLXBzLWNvbG9yLW92ZXJsYXktZGFyaywgcmdiYSgwLCAwLCAwLCAwLjgpKTtcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENBVEFMT0cg4oCUIGdsb2JhbHMgYnJpZGdlIGZvciByZWxvY2F0ZWQgbGVnYWN5IHN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVGhlIHJlbG9jYXRlZCBsZWdhY3kgc3R5bGVzIChwcm9kdWN0LXRvb2xiYXIsIGxlZ2FjeSBwcm9kdWN0IGNhcmQsIGFuZCBsYXRlclxuLy8gZmFjZXRzL2RldGFpbCkgcmVmZXJlbmNlIHlvdXIgZnJhbWV3b3JrJ3MgdGhlbWUgQ09MT1IgdmFyaWFibGVzIHBsdXMgYSBmZXdcbi8vIHV0aWxpdGllcyAocmVtYygpLCBtZWRpYS1icmVha3BvaW50LWRvd24vdXAsICVjaGV2cm9uIHBsYWNlaG9sZGVycykuIEJlY2F1c2Vcbi8vIGVhY2ggY29tcG9uZW50IGNvbXBpbGVzIGFzIGl0cyBvd24gV2VicGFjayBidW5kbGUsIGVhY2ggbXVzdCBzZWUgdGhlc2UuXG4vL1xuLy8gVGhlc2UgZGVmaW5pdGlvbnMgYXJlIHNlbGYtY29udGFpbmVkIHNvIHRoZSBjb21wb25lbnRzIGNvbXBpbGUgb24gdGhlaXIgb3duLlxuLy8gVGhleSBsaXZlIE9OTFkgaW5zaWRlIHRoZXNlIGNvbXBvbmVudCBidW5kbGVzIGFuZCBkbyBub3QgYWZmZWN0IHlvdXIgZ2xvYmFsXG4vLyBidWlsZCAoc2VwYXJhdGUgY29tcGlsYXRpb24gdW5pdHMpLiBJZiB5b3UnZCByYXRoZXIgdXNlIHlvdXIgZnJhbWV3b3JrJ3Ncbi8vIHZlcnNpb25zLCBpbXBvcnQgdGhlbSBoZXJlIOKAlCB5b3VyIHZhbHVlcyB0aGVuIHRha2UgcHJlY2VkZW5jZSBmb3IgdGhlIGNvbG9yc1xuLy8gKHdoaWNoIHVzZSAhZGVmYXVsdCksIGFuZCB5b3UgY2FuIGRlbGV0ZSB0aGUgbWF0Y2hpbmcgdXRpbGl0eSBkZWZpbml0aW9ucy5cbi8vXG4vLyAgID4+PiBPUFRJT05BTDogQGltcG9ydCAnLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcyc7ICAgLy8geW91ciByZWFsIHRoZW1lIHZhcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGltcG9ydCBcInN0eWxlcy92YXJpYW50cy9jb2xvcnNcIjtcblxuLy8g4pSA4pSAIFRoZW1lIGNvbG9yczogc2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBpcyBzdHlsZXMvdmFyaWFudHMvX2NvbG9ycy5zY3NzXG4vLyAgICAoaW1wb3J0ZWQgYWJvdmU7IHRva2VuLWJhY2tlZCBzaW5jZSBSb3VuZCAxNCDigJQgZXZlcnkgJGNvbG9yXyogcmVzb2x2ZXMgdG9cbi8vICAgIHZhcigtLXBzLWNvbG9yLSosIDxicmFuZCBoZXg+KSkuIFRoZSBvbGQgZHVwbGljYXRlICMzMDVDREUgcGFsZXR0ZSB0aGF0XG4vLyAgICBsaXZlZCBoZXJlIHdhcyBkZWFkIHdlaWdodCAodGhlIGltcG9ydCdzIG5vbi0hZGVmYXVsdCBkZWZpbml0aW9ucyBhbHdheXNcbi8vICAgIHdvbikgYW5kIHdhcyByZW1vdmVkIHBlciBDT0xPUlNfVE9LRU5TX1JFQ09OQ0lMSUFUSU9OLm1kIFBoYXNlIDIuXG4vLyAgICBPbmx5IHRoZSB2YXJzIHZhcmlhbnRzL2NvbG9ycyBkb2VzIE5PVCBkZWZpbmUgcmVtYWluLCB0b2tlbi1tYXBwZWQgb250b1xuLy8gICAgdGhlIHByaW1hcnkgYWNjZW50IHBlciB0aGUgcmVjb25jaWxpYXRpb24gdGFibGU6XG4kaGVhZGVyLW1haW4tdGV4dC1jb2xvcjogIHZhcigtLXBzLWNvbG9yLXByaW1hcnksICMzMDVDREUpICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJGhlYWRlci1iYXNlLWNvbG9yOiAgICAgICB2YXIoLS1wcy1jb2xvci1wcmltYXJ5LCAjMzA1Q0RFKSAhZGVmYXVsdDsgICAvLyBjaGVja2VkLWNoZWNrYm94IGZpbGwgKGJyYW5kKVxuJGJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICB2YXIoLS1wcy1jb2xvci1wcmltYXJ5LCAjMzA1Q0RFKSAhZGVmYXVsdDsgICAvLyBkZWZhdWx0IGNvbnRyb2wgYWNjZW50XG5cbi8vIOKUgOKUgCByZW1jKCk6IHB4IOKGkiByZW0gKGUuZy4gcmVtYygxMikgLT4gLjc1cmVtOyByZW1jKDUsMTUpIC0+IC4zMTI1cmVtIC45Mzc1cmVtKVxuQGZ1bmN0aW9uIHJlbWMoJHZhbHVlcy4uLikge1xuICAkcmVzdWx0OiAoKTtcbiAgQGVhY2ggJHYgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2ID09IDAge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIDApO1xuICAgIH0gQGVsc2UgaWYgdW5pdGxlc3MoJHYpIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAoJHYgLyAxNikgKiAxcmVtKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdik7IC8vIGFscmVhZHkgaGFzIGEgdW5pdCDigJQgcGFzcyB0aHJvdWdoXG4gICAgfVxuICB9XG4gIEBpZiBsZW5ndGgoJHJlc3VsdCkgPT0gMSB7IEByZXR1cm4gbnRoKCRyZXN1bHQsIDEpOyB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8g4pSA4pSAIEJvb3RzdHJhcC00LXN0eWxlIGJyZWFrcG9pbnQgbWl4aW5zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJGdyaWQtYnJlYWtwb2ludHM6ICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gX2JwLW1pbigkbmFtZSkgeyBAcmV0dXJuIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRuYW1lKTsgfVxuQGZ1bmN0aW9uIF9icC1uZXh0KCRuYW1lKSB7XG4gICRuYW1lczogbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkaTogaW5kZXgoJG5hbWVzLCAkbmFtZSk7XG4gIEBpZiAkaSBhbmQgJGkgPCBsZW5ndGgoJG5hbWVzKSB7IEByZXR1cm4gbnRoKCRuYW1lcywgJGkgKyAxKTsgfVxuICBAcmV0dXJuIG51bGw7XG59XG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSkge1xuICAkbWluOiBfYnAtbWluKCRuYW1lKTtcbiAgQGlmICRtaW4gYW5kICRtaW4gIT0gMCB7IEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7IEBjb250ZW50OyB9IH1cbiAgQGVsc2UgeyBAY29udGVudDsgfVxufVxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSkge1xuICAkbmV4dDogX2JwLW5leHQoJG5hbWUpO1xuICBAaWYgJG5leHQge1xuICAgICRtYXg6IF9icC1taW4oJG5leHQpIC0gMC4wMnB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2UgeyBAY29udGVudDsgfVxufVxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSkge1xuICAkbWluOiBfYnAtbWluKCRuYW1lKTtcbiAgJG5leHQ6IF9icC1uZXh0KCRuYW1lKTtcbiAgQGlmICRuZXh0IHtcbiAgICAkbWF4OiBfYnAtbWluKCRuZXh0KSAtIDAuMDJweDtcbiAgICBAaWYgJG1pbiBhbmQgJG1pbiAhPSAwIHsgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7IEBjb250ZW50OyB9IH1cbiAgICBAZWxzZSB7IEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7IEBjb250ZW50OyB9IH1cbiAgfSBAZWxzZSBpZiAkbWluIGFuZCAkbWluICE9IDAge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2UgeyBAY29udGVudDsgfVxufVxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlcikge1xuICAkbWluOiBfYnAtbWluKCRsb3dlcik7XG4gICRuZXh0OiBfYnAtbmV4dCgkdXBwZXIpO1xuICAkbWF4OiBpZigkbmV4dCwgX2JwLW1pbigkbmV4dCkgLSAwLjAycHgsIG51bGwpO1xuICBAaWYgJG1pbiBhbmQgJG1pbiAhPSAwIGFuZCAkbWF4IHsgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7IEBjb250ZW50OyB9IH1cbiAgQGVsc2UgaWYgJG1heCB7IEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7IEBjb250ZW50OyB9IH1cbiAgQGVsc2UgaWYgJG1pbiBhbmQgJG1pbiAhPSAwIHsgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHsgQGNvbnRlbnQ7IH0gfVxuICBAZWxzZSB7IEBjb250ZW50OyB9XG59XG5cbi8vIOKUgOKUgCBDaGV2cm9uIHBsYWNlaG9sZGVycyAodXNlZCBieSBsYXRlciBwaGFzZXM7IGhhcm1sZXNzIHRvIGtlZXApIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJWNoZXZyb24ge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuMTVlbSAwLjE1ZW0gMCAwO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDAuNjVlbTtcbiAgbGVmdDogMC4xNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMC4xNWVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogMC42NWVtO1xufVxuJWNoZXZyb24tcmlnaHQgIHsgbGVmdDogMDsgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4lY2hldnJvbi1ib3R0b20geyBsZWZ0OiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4lY2hldnJvbi1sZWZ0ICAgeyBsZWZ0OiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/