valtech-components 2.0.550 → 2.0.551

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,7 +35,27 @@ export class DocsNavLinksComponent {
35
35
  onNavigate(event, route) {
36
36
  event.preventDefault();
37
37
  this.navigate.emit(route);
38
- this.router.navigate(route);
38
+ this.router.navigate(route).then(() => {
39
+ // Scroll to top after navigation
40
+ this.scrollToTop();
41
+ });
42
+ }
43
+ scrollToTop() {
44
+ // Try scrolling different containers for maximum compatibility
45
+ // 1. Try ion-content first
46
+ const ionContent = document.querySelector('ion-content');
47
+ if (ionContent) {
48
+ ionContent.scrollToTop?.(0);
49
+ }
50
+ // 2. Scroll the main scrollable element (docs shell)
51
+ const mainScroll = document.querySelector('.docs-main-scroll');
52
+ if (mainScroll) {
53
+ mainScroll.scrollTop = 0;
54
+ }
55
+ // 3. Fallback to window/document scroll
56
+ window.scrollTo({ top: 0, behavior: 'instant' });
57
+ document.documentElement.scrollTop = 0;
58
+ document.body.scrollTop = 0;
39
59
  }
40
60
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsNavLinksComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
41
61
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DocsNavLinksComponent, isStandalone: true, selector: "val-docs-nav-links", inputs: { props: "props" }, outputs: { navigate: "navigate" }, ngImport: i0, template: `
@@ -132,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
132
152
  }], navigate: [{
133
153
  type: Output
134
154
  }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1uYXYtbGlua3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kb2NzLW5hdi1saW5rcy9kb2NzLW5hdi1saW5rcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUd2RSxRQUFRLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7QUFFcEQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUF1S0gsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUp6QixVQUFLLEdBQXlCLEVBQUUsQ0FBQztRQUVoQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztJQUViLENBQUM7SUFFdEMsT0FBTyxDQUFDLEtBQWU7UUFDckIsNENBQTRDO1FBQzVDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDbEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFZLEVBQUUsS0FBZTtRQUN0QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzsrR0FqQlUscUJBQXFCO21HQUFyQixxQkFBcUIsNklBbEt0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENULDY1REEzQ1MsWUFBWSwrQkFBRSxPQUFPOzs0RkFtS3BCLHFCQUFxQjtrQkF0S2pDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDVDsyRUF5SFEsS0FBSztzQkFBYixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGFycm93QmFja091dGxpbmUsIGFycm93Rm9yd2FyZE91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBEb2NzTmF2TGlua3NNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5hZGRJY29ucyh7IGFycm93QmFja091dGxpbmUsIGFycm93Rm9yd2FyZE91dGxpbmUgfSk7XG5cbi8qKlxuICogdmFsLWRvY3MtbmF2LWxpbmtzXG4gKlxuICogTmF2aWdhdGlvbiBsaW5rcyBmb3IgcHJldmlvdXMvbmV4dCBwYWdlIG5hdmlnYXRpb24gaW4gZG9jdW1lbnRhdGlvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHZhbC1kb2NzLW5hdi1saW5rc1xuICogICBbcHJvcHNdPVwie1xuICogICAgIHByZXZpb3VzOiB7IGxhYmVsOiAnUHJldmlvdXMnLCB0aXRsZTogJ0dldHRpbmcgU3RhcnRlZCcsIHJvdXRlOiBbJy9kb2NzJywgJ2dldHRpbmctc3RhcnRlZCddIH0sXG4gKiAgICAgbmV4dDogeyBsYWJlbDogJ05leHQnLCB0aXRsZTogJ0NvbXBvbmVudHMnLCByb3V0ZTogWycvZG9jcycsICdjb21wb25lbnRzJ10gfVxuICogICB9XCJcbiAqID48L3ZhbC1kb2NzLW5hdi1saW5rcz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZG9jcy1uYXYtbGlua3MnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmF2IGNsYXNzPVwiZG9jcy1uYXYtbGlua3NcIiBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIiBhcmlhLWxhYmVsPVwiUGFnZSBuYXZpZ2F0aW9uXCI+XG4gICAgICA8IS0tIFByZXZpb3VzIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19pdGVtIGRvY3MtbmF2LWxpbmtzX19pdGVtLS1wcmV2XCJcbiAgICAgICAgW2NsYXNzLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1lbXB0eV09XCIhcHJvcHMucHJldmlvdXNcIlxuICAgICAgPlxuICAgICAgICBAaWYgKHByb3BzLnByZXZpb3VzKSB7XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX2xpbmtcIlxuICAgICAgICAgICAgW2hyZWZdPVwiZ2V0SHJlZihwcm9wcy5wcmV2aW91cy5yb3V0ZSlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2aWdhdGUoJGV2ZW50LCBwcm9wcy5wcmV2aW91cy5yb3V0ZSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiYXJyb3ctYmFjay1vdXRsaW5lXCIgY2xhc3M9XCJkb2NzLW5hdi1saW5rc19faWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX3RleHRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb2NzLW5hdi1saW5rc19fbGFiZWxcIj57eyBwcm9wcy5wcmV2aW91cy5sYWJlbCB8fCAnUHJldmlvdXMnIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX190aXRsZVwiPnt7IHByb3BzLnByZXZpb3VzLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBOZXh0IC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19pdGVtIGRvY3MtbmF2LWxpbmtzX19pdGVtLS1uZXh0XCJcbiAgICAgICAgW2NsYXNzLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1lbXB0eV09XCIhcHJvcHMubmV4dFwiXG4gICAgICA+XG4gICAgICAgIEBpZiAocHJvcHMubmV4dCkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19saW5rXCJcbiAgICAgICAgICAgIFtocmVmXT1cImdldEhyZWYocHJvcHMubmV4dC5yb3V0ZSlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2aWdhdGUoJGV2ZW50LCBwcm9wcy5uZXh0LnJvdXRlKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX190ZXh0XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX2xhYmVsXCI+e3sgcHJvcHMubmV4dC5sYWJlbCB8fCAnTmV4dCcgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX3RpdGxlXCI+e3sgcHJvcHMubmV4dC50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJhcnJvdy1mb3J3YXJkLW91dGxpbmVcIiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmF2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgLmRvY3MtbmF2LWxpbmtzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0taW9uLWJvcmRlci1jb2xvciwgI2UwZTBlMCk7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1lbXB0eSB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1uZXh0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5kb2NzLW5hdi1saW5rc19faXRlbS0tbmV4dCAuZG9jcy1uYXYtbGlua3NfX2xpbmsge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAuZG9jcy1uYXYtbGlua3NfX2l0ZW0tLW5leHQgLmRvY3MtbmF2LWxpbmtzX190ZXh0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAuZG9jcy1uYXYtbGlua3NfX2xpbmsge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuNzVyZW07XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taW9uLWJvcmRlci1jb2xvciwgI2UwZTBlMCk7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19saW5rOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gICAgICBib3JkZXItY29sb3I6ICMxYTFhMWE7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19saW5rOmhvdmVyIC5kb2NzLW5hdi1saW5rc19fdGl0bGUge1xuICAgICAgY29sb3I6ICMxYTFhMWE7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19saW5rOmhvdmVyIC5kb2NzLW5hdi1saW5rc19faWNvbiB7XG4gICAgICBjb2xvcjogIzFhMWExYTtcbiAgICB9XG5cbiAgICAuZG9jcy1uYXYtbGlua3NfX2ljb24ge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM2NjYpO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX190ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAwLjI1cmVtO1xuICAgIH1cblxuICAgIC5kb2NzLW5hdi1saW5rc19fbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzY2Nik7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMWExYTFhKTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICB9XG5cbiAgICAvKiBNb2JpbGUgcmVzcG9uc2l2ZSAqL1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgLmRvY3MtbmF2LWxpbmtzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1uZXh0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1uZXh0IC5kb2NzLW5hdi1saW5rc19fbGluayB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1uYXYtbGlua3NfX2l0ZW0tLW5leHQgLmRvY3MtbmF2LWxpbmtzX190ZXh0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogRGFyayBtb2RlICovXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtbmF2LWxpbmtzX19saW5rLFxuICAgIDpob3N0LWNvbnRleHQoW2NvbG9yLXNjaGVtZT0nZGFyayddKSAuZG9jcy1uYXYtbGlua3NfX2xpbmsge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM2EzYTNhO1xuICAgIH1cblxuICAgIDpob3N0LWNvbnRleHQoLmRhcmspIC5kb2NzLW5hdi1saW5rc19fbGluazpob3ZlcixcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9J2RhcmsnXSkgLmRvY3MtbmF2LWxpbmtzX19saW5rOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgfVxuXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtbmF2LWxpbmtzX190aXRsZSxcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9J2RhcmsnXSkgLmRvY3MtbmF2LWxpbmtzX190aXRsZSB7XG4gICAgICBjb2xvcjogI2Y0ZjVmODtcbiAgICB9XG4gIGBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb2NzTmF2TGlua3NDb21wb25lbnQge1xuICBASW5wdXQoKSBwcm9wczogRG9jc05hdkxpbmtzTWV0YWRhdGEgPSB7fTtcblxuICBAT3V0cHV0KCkgbmF2aWdhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XG5cbiAgZ2V0SHJlZihyb3V0ZTogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIC8vIEhhbmRsZSByb3V0ZXMgdGhhdCBhbHJlYWR5IHN0YXJ0IHdpdGggJy8nXG4gICAgY29uc3QgcGF0aCA9IHJvdXRlLmpvaW4oJy8nKTtcbiAgICByZXR1cm4gcGF0aC5zdGFydHNXaXRoKCcvJykgPyBwYXRoIDogJy8nICsgcGF0aDtcbiAgfVxuXG4gIG9uTmF2aWdhdGUoZXZlbnQ6IEV2ZW50LCByb3V0ZTogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMubmF2aWdhdGUuZW1pdChyb3V0ZSk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocm91dGUpO1xuICB9XG59XG4iXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1uYXYtbGlua3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kb2NzLW5hdi1saW5rcy9kb2NzLW5hdi1saW5rcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUd2RSxRQUFRLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7QUFFcEQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUF1S0gsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUp6QixVQUFLLEdBQXlCLEVBQUUsQ0FBQztRQUVoQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztJQUViLENBQUM7SUFFdEMsT0FBTyxDQUFDLEtBQWU7UUFDckIsNENBQTRDO1FBQzVDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDbEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFZLEVBQUUsS0FBZTtRQUN0QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNwQyxpQ0FBaUM7WUFDakMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFdBQVc7UUFDakIsK0RBQStEO1FBQy9ELDJCQUEyQjtRQUMzQixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3pELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZCxVQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFFRCxxREFBcUQ7UUFDckQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9ELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixVQUFVLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBRUQsd0NBQXdDO1FBQ3hDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUN2QyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQzsrR0F4Q1UscUJBQXFCO21HQUFyQixxQkFBcUIsNklBbEt0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENULDY1REEzQ1MsWUFBWSwrQkFBRSxPQUFPOzs0RkFtS3BCLHFCQUFxQjtrQkF0S2pDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDVDsyRUF5SFEsS0FBSztzQkFBYixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGFycm93QmFja091dGxpbmUsIGFycm93Rm9yd2FyZE91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBEb2NzTmF2TGlua3NNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5hZGRJY29ucyh7IGFycm93QmFja091dGxpbmUsIGFycm93Rm9yd2FyZE91dGxpbmUgfSk7XG5cbi8qKlxuICogdmFsLWRvY3MtbmF2LWxpbmtzXG4gKlxuICogTmF2aWdhdGlvbiBsaW5rcyBmb3IgcHJldmlvdXMvbmV4dCBwYWdlIG5hdmlnYXRpb24gaW4gZG9jdW1lbnRhdGlvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHZhbC1kb2NzLW5hdi1saW5rc1xuICogICBbcHJvcHNdPVwie1xuICogICAgIHByZXZpb3VzOiB7IGxhYmVsOiAnUHJldmlvdXMnLCB0aXRsZTogJ0dldHRpbmcgU3RhcnRlZCcsIHJvdXRlOiBbJy9kb2NzJywgJ2dldHRpbmctc3RhcnRlZCddIH0sXG4gKiAgICAgbmV4dDogeyBsYWJlbDogJ05leHQnLCB0aXRsZTogJ0NvbXBvbmVudHMnLCByb3V0ZTogWycvZG9jcycsICdjb21wb25lbnRzJ10gfVxuICogICB9XCJcbiAqID48L3ZhbC1kb2NzLW5hdi1saW5rcz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZG9jcy1uYXYtbGlua3MnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmF2IGNsYXNzPVwiZG9jcy1uYXYtbGlua3NcIiBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIiBhcmlhLWxhYmVsPVwiUGFnZSBuYXZpZ2F0aW9uXCI+XG4gICAgICA8IS0tIFByZXZpb3VzIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19pdGVtIGRvY3MtbmF2LWxpbmtzX19pdGVtLS1wcmV2XCJcbiAgICAgICAgW2NsYXNzLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1lbXB0eV09XCIhcHJvcHMucHJldmlvdXNcIlxuICAgICAgPlxuICAgICAgICBAaWYgKHByb3BzLnByZXZpb3VzKSB7XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX2xpbmtcIlxuICAgICAgICAgICAgW2hyZWZdPVwiZ2V0SHJlZihwcm9wcy5wcmV2aW91cy5yb3V0ZSlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2aWdhdGUoJGV2ZW50LCBwcm9wcy5wcmV2aW91cy5yb3V0ZSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiYXJyb3ctYmFjay1vdXRsaW5lXCIgY2xhc3M9XCJkb2NzLW5hdi1saW5rc19faWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX3RleHRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb2NzLW5hdi1saW5rc19fbGFiZWxcIj57eyBwcm9wcy5wcmV2aW91cy5sYWJlbCB8fCAnUHJldmlvdXMnIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX190aXRsZVwiPnt7IHByb3BzLnByZXZpb3VzLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBOZXh0IC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19pdGVtIGRvY3MtbmF2LWxpbmtzX19pdGVtLS1uZXh0XCJcbiAgICAgICAgW2NsYXNzLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1lbXB0eV09XCIhcHJvcHMubmV4dFwiXG4gICAgICA+XG4gICAgICAgIEBpZiAocHJvcHMubmV4dCkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19saW5rXCJcbiAgICAgICAgICAgIFtocmVmXT1cImdldEhyZWYocHJvcHMubmV4dC5yb3V0ZSlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2aWdhdGUoJGV2ZW50LCBwcm9wcy5uZXh0LnJvdXRlKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX190ZXh0XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX2xhYmVsXCI+e3sgcHJvcHMubmV4dC5sYWJlbCB8fCAnTmV4dCcgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX3RpdGxlXCI+e3sgcHJvcHMubmV4dC50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJhcnJvdy1mb3J3YXJkLW91dGxpbmVcIiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmF2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgLmRvY3MtbmF2LWxpbmtzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0taW9uLWJvcmRlci1jb2xvciwgI2UwZTBlMCk7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1lbXB0eSB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1uZXh0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5kb2NzLW5hdi1saW5rc19faXRlbS0tbmV4dCAuZG9jcy1uYXYtbGlua3NfX2xpbmsge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAuZG9jcy1uYXYtbGlua3NfX2l0ZW0tLW5leHQgLmRvY3MtbmF2LWxpbmtzX190ZXh0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAuZG9jcy1uYXYtbGlua3NfX2xpbmsge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuNzVyZW07XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taW9uLWJvcmRlci1jb2xvciwgI2UwZTBlMCk7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19saW5rOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gICAgICBib3JkZXItY29sb3I6ICMxYTFhMWE7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19saW5rOmhvdmVyIC5kb2NzLW5hdi1saW5rc19fdGl0bGUge1xuICAgICAgY29sb3I6ICMxYTFhMWE7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19saW5rOmhvdmVyIC5kb2NzLW5hdi1saW5rc19faWNvbiB7XG4gICAgICBjb2xvcjogIzFhMWExYTtcbiAgICB9XG5cbiAgICAuZG9jcy1uYXYtbGlua3NfX2ljb24ge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM2NjYpO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX190ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAwLjI1cmVtO1xuICAgIH1cblxuICAgIC5kb2NzLW5hdi1saW5rc19fbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzY2Nik7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMWExYTFhKTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICB9XG5cbiAgICAvKiBNb2JpbGUgcmVzcG9uc2l2ZSAqL1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgLmRvY3MtbmF2LWxpbmtzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1uZXh0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1uZXh0IC5kb2NzLW5hdi1saW5rc19fbGluayB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1uYXYtbGlua3NfX2l0ZW0tLW5leHQgLmRvY3MtbmF2LWxpbmtzX190ZXh0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogRGFyayBtb2RlICovXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtbmF2LWxpbmtzX19saW5rLFxuICAgIDpob3N0LWNvbnRleHQoW2NvbG9yLXNjaGVtZT0nZGFyayddKSAuZG9jcy1uYXYtbGlua3NfX2xpbmsge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM2EzYTNhO1xuICAgIH1cblxuICAgIDpob3N0LWNvbnRleHQoLmRhcmspIC5kb2NzLW5hdi1saW5rc19fbGluazpob3ZlcixcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9J2RhcmsnXSkgLmRvY3MtbmF2LWxpbmtzX19saW5rOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgfVxuXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtbmF2LWxpbmtzX190aXRsZSxcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9J2RhcmsnXSkgLmRvY3MtbmF2LWxpbmtzX190aXRsZSB7XG4gICAgICBjb2xvcjogI2Y0ZjVmODtcbiAgICB9XG4gIGBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb2NzTmF2TGlua3NDb21wb25lbnQge1xuICBASW5wdXQoKSBwcm9wczogRG9jc05hdkxpbmtzTWV0YWRhdGEgPSB7fTtcblxuICBAT3V0cHV0KCkgbmF2aWdhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XG5cbiAgZ2V0SHJlZihyb3V0ZTogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIC8vIEhhbmRsZSByb3V0ZXMgdGhhdCBhbHJlYWR5IHN0YXJ0IHdpdGggJy8nXG4gICAgY29uc3QgcGF0aCA9IHJvdXRlLmpvaW4oJy8nKTtcbiAgICByZXR1cm4gcGF0aC5zdGFydHNXaXRoKCcvJykgPyBwYXRoIDogJy8nICsgcGF0aDtcbiAgfVxuXG4gIG9uTmF2aWdhdGUoZXZlbnQ6IEV2ZW50LCByb3V0ZTogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMubmF2aWdhdGUuZW1pdChyb3V0ZSk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocm91dGUpLnRoZW4oKCkgPT4ge1xuICAgICAgLy8gU2Nyb2xsIHRvIHRvcCBhZnRlciBuYXZpZ2F0aW9uXG4gICAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbFRvVG9wKCk6IHZvaWQge1xuICAgIC8vIFRyeSBzY3JvbGxpbmcgZGlmZmVyZW50IGNvbnRhaW5lcnMgZm9yIG1heGltdW0gY29tcGF0aWJpbGl0eVxuICAgIC8vIDEuIFRyeSBpb24tY29udGVudCBmaXJzdFxuICAgIGNvbnN0IGlvbkNvbnRlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpb24tY29udGVudCcpO1xuICAgIGlmIChpb25Db250ZW50KSB7XG4gICAgICAoaW9uQ29udGVudCBhcyBhbnkpLnNjcm9sbFRvVG9wPy4oMCk7XG4gICAgfVxuXG4gICAgLy8gMi4gU2Nyb2xsIHRoZSBtYWluIHNjcm9sbGFibGUgZWxlbWVudCAoZG9jcyBzaGVsbClcbiAgICBjb25zdCBtYWluU2Nyb2xsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmRvY3MtbWFpbi1zY3JvbGwnKTtcbiAgICBpZiAobWFpblNjcm9sbCkge1xuICAgICAgbWFpblNjcm9sbC5zY3JvbGxUb3AgPSAwO1xuICAgIH1cblxuICAgIC8vIDMuIEZhbGxiYWNrIHRvIHdpbmRvdy9kb2N1bWVudCBzY3JvbGxcbiAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiAnaW5zdGFudCcgfSk7XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA9IDA7XG4gICAgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgPSAwO1xuICB9XG59XG4iXX0=
@@ -262,7 +262,7 @@ export class DocsTocComponent {
262
262
  }
263
263
  </ul>
264
264
  </nav>
265
- `, isInline: true, styles: [".docs-toc{--toc-text-color: var(--ion-color-medium, #666);--toc-active-color: #1a1a1a;--toc-hover-color: var(--ion-text-color, #1a1a1a);--toc-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-toc__title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--toc-text-color);margin:0 0 1rem}.docs-toc__list{list-style:none;margin:0;padding:0;border-left:1px solid var(--toc-border-color)}.docs-toc__item{position:relative;margin:0}.docs-toc__item:before{content:\"\";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:transparent;transition:background .2s ease}.docs-toc__item--active:before{background:var(--toc-active-color)}.docs-toc__item--active .docs-toc__link{color:var(--toc-active-color);font-weight:500}.docs-toc__item--level-1 .docs-toc__link{padding-left:.75rem}.docs-toc__item--level-2 .docs-toc__link{padding-left:1.5rem;font-size:.75rem}.docs-toc__item--level-3 .docs-toc__link{padding-left:2.25rem;font-size:.6875rem}.docs-toc__link{display:block;padding:.375rem .75rem;font-size:.8125rem;line-height:1.4;color:var(--toc-text-color);text-decoration:none;transition:color .15s ease;word-break:break-word;border-radius:4px}.docs-toc__link:hover{color:var(--toc-hover-color)}.docs-toc__link:focus-visible{outline:2px solid var(--toc-active-color);outline-offset:2px}:host-context(.dark) .docs-toc,:host-context([color-scheme=dark]) .docs-toc{--toc-text-color: #a0a0a0;--toc-hover-color: #f4f5f8;--toc-border-color: #3a3a3a}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
265
+ `, isInline: true, styles: [".docs-toc{--toc-text-color: var(--ion-color-medium, #666);--toc-active-color: #1a1a1a;--toc-hover-color: var(--ion-text-color, #1a1a1a);--toc-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-toc__title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--toc-text-color);margin:0 0 1rem}.docs-toc__list{list-style:none;margin:0;padding:0;border-left:1px solid var(--toc-border-color)}.docs-toc__item{position:relative;margin:0}.docs-toc__item:before{content:\"\";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:transparent;transition:background .2s ease}.docs-toc__item--active:before{background:var(--toc-active-color)}.docs-toc__item--active .docs-toc__link{color:var(--toc-active-color);font-weight:500}.docs-toc__item--level-1 .docs-toc__link{padding-left:.75rem}.docs-toc__item--level-2 .docs-toc__link{padding-left:1.5rem;font-size:.75rem}.docs-toc__item--level-3 .docs-toc__link{padding-left:2.25rem;font-size:.6875rem}.docs-toc__link{display:block;padding:.375rem .75rem;font-size:.8125rem;line-height:1.4;color:var(--toc-text-color);text-decoration:none;transition:color .15s ease;word-break:break-word;border-radius:4px}.docs-toc__link:hover{color:var(--toc-hover-color)}.docs-toc__link:focus-visible{outline:2px solid var(--toc-active-color);outline-offset:2px}:host-context(.dark) .docs-toc,:host-context([color-scheme=dark]) .docs-toc{--toc-text-color: #a0a0a0;--toc-active-color: #f4f5f8;--toc-hover-color: #f4f5f8;--toc-border-color: #3a3a3a}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
266
266
  }
267
267
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsTocComponent, decorators: [{
268
268
  type: Component,
@@ -298,10 +298,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
298
298
  }
299
299
  </ul>
300
300
  </nav>
301
- `, styles: [".docs-toc{--toc-text-color: var(--ion-color-medium, #666);--toc-active-color: #1a1a1a;--toc-hover-color: var(--ion-text-color, #1a1a1a);--toc-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-toc__title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--toc-text-color);margin:0 0 1rem}.docs-toc__list{list-style:none;margin:0;padding:0;border-left:1px solid var(--toc-border-color)}.docs-toc__item{position:relative;margin:0}.docs-toc__item:before{content:\"\";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:transparent;transition:background .2s ease}.docs-toc__item--active:before{background:var(--toc-active-color)}.docs-toc__item--active .docs-toc__link{color:var(--toc-active-color);font-weight:500}.docs-toc__item--level-1 .docs-toc__link{padding-left:.75rem}.docs-toc__item--level-2 .docs-toc__link{padding-left:1.5rem;font-size:.75rem}.docs-toc__item--level-3 .docs-toc__link{padding-left:2.25rem;font-size:.6875rem}.docs-toc__link{display:block;padding:.375rem .75rem;font-size:.8125rem;line-height:1.4;color:var(--toc-text-color);text-decoration:none;transition:color .15s ease;word-break:break-word;border-radius:4px}.docs-toc__link:hover{color:var(--toc-hover-color)}.docs-toc__link:focus-visible{outline:2px solid var(--toc-active-color);outline-offset:2px}:host-context(.dark) .docs-toc,:host-context([color-scheme=dark]) .docs-toc{--toc-text-color: #a0a0a0;--toc-hover-color: #f4f5f8;--toc-border-color: #3a3a3a}\n"] }]
301
+ `, styles: [".docs-toc{--toc-text-color: var(--ion-color-medium, #666);--toc-active-color: #1a1a1a;--toc-hover-color: var(--ion-text-color, #1a1a1a);--toc-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-toc__title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--toc-text-color);margin:0 0 1rem}.docs-toc__list{list-style:none;margin:0;padding:0;border-left:1px solid var(--toc-border-color)}.docs-toc__item{position:relative;margin:0}.docs-toc__item:before{content:\"\";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:transparent;transition:background .2s ease}.docs-toc__item--active:before{background:var(--toc-active-color)}.docs-toc__item--active .docs-toc__link{color:var(--toc-active-color);font-weight:500}.docs-toc__item--level-1 .docs-toc__link{padding-left:.75rem}.docs-toc__item--level-2 .docs-toc__link{padding-left:1.5rem;font-size:.75rem}.docs-toc__item--level-3 .docs-toc__link{padding-left:2.25rem;font-size:.6875rem}.docs-toc__link{display:block;padding:.375rem .75rem;font-size:.8125rem;line-height:1.4;color:var(--toc-text-color);text-decoration:none;transition:color .15s ease;word-break:break-word;border-radius:4px}.docs-toc__link:hover{color:var(--toc-hover-color)}.docs-toc__link:focus-visible{outline:2px solid var(--toc-active-color);outline-offset:2px}:host-context(.dark) .docs-toc,:host-context([color-scheme=dark]) .docs-toc{--toc-text-color: #a0a0a0;--toc-active-color: #f4f5f8;--toc-hover-color: #f4f5f8;--toc-border-color: #3a3a3a}\n"] }]
302
302
  }], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { props: [{
303
303
  type: Input
304
304
  }], sectionChange: [{
305
305
  type: Output
306
306
  }] } });
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy10b2MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9kb2NzLXRvYy9kb2NzLXRvYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBT1osTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOztBQUd2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQXdDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBYTNCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWnpCLFVBQUssR0FBb0IsRUFBRSxDQUFDO1FBRTNCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVyRCxpQkFBaUI7UUFDUCxhQUFRLEdBQUcsTUFBTSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLGNBQVMsR0FBRyxNQUFNLENBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRXhDLG9CQUFlLEdBQWtCLEVBQUUsQ0FBQztRQUNwQyxrQkFBYSxHQUF3QixJQUFJLENBQUM7UUFDMUMsVUFBSyxHQUFrQixJQUFJLENBQUM7UUE4RjVCLG9CQUFlLEdBQWdDLElBQUksQ0FBQztJQTVGdkIsQ0FBQztJQUV0QyxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxlQUFlO1FBQ2IsK0JBQStCO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ2pDLENBQUM7WUFDRCxJQUFJLENBQUMsY0FB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QztRQUM1QyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFckIsa0VBQWtFO1FBQ2xFLCtEQUErRDtRQUMvRCxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUUvRCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdEIsZ0RBQWdEO1FBQ2hELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ3RFLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7K0dBdk9VLGdCQUFnQjttR0FBaEIsZ0JBQWdCLHNLQW5DakI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NULG9sREFqQ1MsWUFBWTs7NEZBb0NYLGdCQUFnQjtrQkF2QzVCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDVDsyRUFJUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgTmdab25lLFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9jc1RvY01ldGFkYXRhLCBEb2NzVG9jSXRlbSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIHZhbC1kb2NzLXRvY1xuICpcbiAqIEEgdGFibGUgb2YgY29udGVudHMgY29tcG9uZW50IHdpdGggc2Nyb2xsIHNweSBmdW5jdGlvbmFsaXR5LlxuICogQXV0b21hdGljYWxseSBoaWdobGlnaHRzIHRoZSBjdXJyZW50IHNlY3Rpb24gYmFzZWQgb24gc2Nyb2xsIHBvc2l0aW9uLlxuICpcbiAqIEBleGFtcGxlIE1hbnVhbCBpdGVtc1xuICogYGBgaHRtbFxuICogPHZhbC1kb2NzLXRvY1xuICogICBbcHJvcHNdPVwie1xuICogICAgIHRpdGxlOiAnT24gdGhpcyBwYWdlJyxcbiAqICAgICBpdGVtczogW1xuICogICAgICAgeyBpZDogJ292ZXJ2aWV3JywgbGFiZWw6ICdPdmVydmlldycsIGxldmVsOiAxIH0sXG4gKiAgICAgICB7IGlkOiAnaW5zdGFsbGF0aW9uJywgbGFiZWw6ICdJbnN0YWxsYXRpb24nLCBsZXZlbDogMSB9LFxuICogICAgICAgeyBpZDogJ25wbScsIGxhYmVsOiAnVXNpbmcgbnBtJywgbGV2ZWw6IDIgfSxcbiAqICAgICAgIHsgaWQ6ICd5YXJuJywgbGFiZWw6ICdVc2luZyB5YXJuJywgbGV2ZWw6IDIgfVxuICogICAgIF1cbiAqICAgfVwiXG4gKiA+PC92YWwtZG9jcy10b2M+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBBdXRvLWdlbmVyYXRlZCBmcm9tIGhlYWRpbmdzXG4gKiBgYGBodG1sXG4gKiA8dmFsLWRvY3MtdG9jXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgYXV0b0dlbmVyYXRlOiB0cnVlLFxuICogICAgIGNvbnRhaW5lclNlbGVjdG9yOiAnLmFydGljbGUtY29udGVudCcsXG4gKiAgICAgaGVhZGluZ0xldmVsczogWzIsIDNdXG4gKiAgIH1cIlxuICogPjwvdmFsLWRvY3MtdG9jPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kb2NzLXRvYycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuYXZcbiAgICAgIGNsYXNzPVwiZG9jcy10b2NcIlxuICAgICAgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCJcbiAgICAgIHJvbGU9XCJuYXZpZ2F0aW9uXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJUYWJsZSBvZiBjb250ZW50c1wiXG4gICAgPlxuICAgICAgQGlmICghcHJvcHMuaGlkZVRpdGxlKSB7XG4gICAgICAgIDxoNCBjbGFzcz1cImRvY3MtdG9jX190aXRsZVwiPnt7IHByb3BzLnRpdGxlIHx8ICdDb250ZW50cycgfX08L2g0PlxuICAgICAgfVxuXG4gICAgICA8dWwgY2xhc3M9XCJkb2NzLXRvY19fbGlzdFwiPlxuICAgICAgICBAZm9yIChpdGVtIG9mIGZsYXRJdGVtcygpOyB0cmFjayBpdGVtLmlkKSB7XG4gICAgICAgICAgPGxpXG4gICAgICAgICAgICBjbGFzcz1cImRvY3MtdG9jX19pdGVtXCJcbiAgICAgICAgICAgIFtjbGFzcy5kb2NzLXRvY19faXRlbS0tbGV2ZWwtMV09XCJpdGVtLmxldmVsID09PSAxXCJcbiAgICAgICAgICAgIFtjbGFzcy5kb2NzLXRvY19faXRlbS0tbGV2ZWwtMl09XCJpdGVtLmxldmVsID09PSAyXCJcbiAgICAgICAgICAgIFtjbGFzcy5kb2NzLXRvY19faXRlbS0tbGV2ZWwtM109XCJpdGVtLmxldmVsID09PSAzXCJcbiAgICAgICAgICAgIFtjbGFzcy5kb2NzLXRvY19faXRlbS0tYWN0aXZlXT1cImFjdGl2ZUlkKCkgPT09IGl0ZW0uaWRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy10b2NfX2xpbmtcIlxuICAgICAgICAgICAgICBbaHJlZl09XCInIycgKyBpdGVtLmlkXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImFjdGl2ZUlkKCkgPT09IGl0ZW0uaWQgPyAnbG9jYXRpb24nIDogbnVsbFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzY3JvbGxUb1NlY3Rpb24oJGV2ZW50LCBpdGVtLmlkKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICA8L3VsPlxuICAgIDwvbmF2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kb2NzLXRvYy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEb2NzVG9jQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzOiBEb2NzVG9jTWV0YWRhdGEgPSB7fTtcblxuICBAT3V0cHV0KCkgc2VjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8vIFJlYWN0aXZlIHN0YXRlXG4gIHByb3RlY3RlZCBhY3RpdmVJZCA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgcHJvdGVjdGVkIGZsYXRJdGVtcyA9IHNpZ25hbDxEb2NzVG9jSXRlbVtdPihbXSk7XG5cbiAgcHJpdmF0ZSBoZWFkaW5nRWxlbWVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcbiAgcHJpdmF0ZSBzY3JvbGxIYW5kbGVyOiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSByYWZJZDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUZsYXRJdGVtcygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIERlbGF5IHRvIGVuc3VyZSBET00gaXMgcmVhZHlcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnByb3BzLmF1dG9HZW5lcmF0ZSkge1xuICAgICAgICB0aGlzLmdlbmVyYXRlVG9jRnJvbUhlYWRpbmdzKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldHVwU2Nyb2xsU3B5KCk7XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sncHJvcHMnXSkge1xuICAgICAgdGhpcy51cGRhdGVGbGF0SXRlbXMoKTtcbiAgICAgIGlmICh0aGlzLnByb3BzLmF1dG9HZW5lcmF0ZSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZ2VuZXJhdGVUb2NGcm9tSGVhZGluZ3MoKSwgMTAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lTY3JvbGxTcHkoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRmxhdEl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLml0ZW1zKSB7XG4gICAgICB0aGlzLmZsYXRJdGVtcy5zZXQodGhpcy5mbGF0dGVuSXRlbXModGhpcy5wcm9wcy5pdGVtcykpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmxhdHRlbkl0ZW1zKGl0ZW1zOiBEb2NzVG9jSXRlbVtdKTogRG9jc1RvY0l0ZW1bXSB7XG4gICAgY29uc3QgcmVzdWx0OiBEb2NzVG9jSXRlbVtdID0gW107XG4gICAgY29uc3QgZmxhdHRlbiA9IChpdGVtTGlzdDogRG9jc1RvY0l0ZW1bXSkgPT4ge1xuICAgICAgaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XG4gICAgICAgIGlmIChpdGVtLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICBmbGF0dGVuKGl0ZW0uY2hpbGRyZW4pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9O1xuICAgIGZsYXR0ZW4oaXRlbXMpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlVG9jRnJvbUhlYWRpbmdzKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gdGhpcy5wcm9wcy5jb250YWluZXJTZWxlY3RvciB8fCAnLmRvY3MtbGF5b3V0X19jb250ZW50JztcbiAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcblxuICAgIGlmICghY29udGFpbmVyKSB7XG4gICAgICBjb25zb2xlLndhcm4oYFtkb2NzLXRvY10gQ29udGFpbmVyIG5vdCBmb3VuZDogJHtzZWxlY3Rvcn1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsZXZlbHMgPSB0aGlzLnByb3BzLmhlYWRpbmdMZXZlbHMgfHwgWzIsIDNdO1xuICAgIGNvbnN0IGhlYWRpbmdTZWxlY3RvciA9IGxldmVscy5tYXAobCA9PiBgaCR7bH1gKS5qb2luKCcsICcpO1xuICAgIGNvbnN0IGhlYWRpbmdzID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoaGVhZGluZ1NlbGVjdG9yKTtcblxuICAgIGNvbnN0IGl0ZW1zOiBEb2NzVG9jSXRlbVtdID0gW107XG4gICAgaGVhZGluZ3MuZm9yRWFjaCgoaGVhZGluZzogRWxlbWVudCkgPT4ge1xuICAgICAgY29uc3QgZWwgPSBoZWFkaW5nIGFzIEhUTUxFbGVtZW50O1xuICAgICAgLy8gR2VuZXJhdGUgSUQgaWYgbm90IHByZXNlbnRcbiAgICAgIGlmICghZWwuaWQpIHtcbiAgICAgICAgZWwuaWQgPSB0aGlzLmdlbmVyYXRlSWQoZWwudGV4dENvbnRlbnQgfHwgJycpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsZXZlbCA9IHBhcnNlSW50KGVsLnRhZ05hbWVbMV0sIDEwKTtcbiAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICBpZDogZWwuaWQsXG4gICAgICAgIGxhYmVsOiBlbC50ZXh0Q29udGVudD8udHJpbSgpIHx8ICcnLFxuICAgICAgICBsZXZlbDogbGV2ZWwgLSAxLCAvLyBoMiA9IGxldmVsIDEsIGgzID0gbGV2ZWwgMlxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZsYXRJdGVtcy5zZXQoaXRlbXMpO1xuICAgIC8vIFJlLXNldHVwIHNjcm9sbCBzcHkgd2l0aCBuZXcgaXRlbXNcbiAgICB0aGlzLnNldHVwU2Nyb2xsU3B5KCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlSWQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGV4dFxuICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgIC50cmltKClcbiAgICAgIC5yZXBsYWNlKC9bXlxcd1xccy1dL2csICcnKVxuICAgICAgLnJlcGxhY2UoL1xccysvZywgJy0nKVxuICAgICAgLnN1YnN0cmluZygwLCA1MCk7XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbENvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBXaW5kb3cgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHNldHVwU2Nyb2xsU3B5KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveVNjcm9sbFNweSgpO1xuXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmZsYXRJdGVtcygpO1xuICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHJldHVybjtcblxuICAgIC8vIENvbGxlY3QgaGVhZGluZyBlbGVtZW50c1xuICAgIHRoaXMuaGVhZGluZ0VsZW1lbnRzID0gaXRlbXNcbiAgICAgIC5tYXAoaXRlbSA9PiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtLmlkKSlcbiAgICAgIC5maWx0ZXIoKGVsKTogZWwgaXMgSFRNTEVsZW1lbnQgPT4gZWwgIT09IG51bGwpO1xuXG4gICAgaWYgKHRoaXMuaGVhZGluZ0VsZW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc29sZS53YXJuKCdbZG9jcy10b2NdIE5vIGhlYWRpbmcgZWxlbWVudHMgZm91bmQgZm9yIElEczonLCBpdGVtcy5tYXAoaSA9PiBpLmlkKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRmluZCB0aGUgc2Nyb2xsIGNvbnRhaW5lciAtIGNoZWNrIGZvciBpb24tY29udGVudCBmaXJzdCwgdGhlbiB1c2Ugd2luZG93XG4gICAgdGhpcy5zY3JvbGxDb250YWluZXIgPSB0aGlzLmZpbmRTY3JvbGxDb250YWluZXIoKTtcblxuICAgIC8vIFNldCBpbml0aWFsIGFjdGl2ZSBpdGVtXG4gICAgdGhpcy51cGRhdGVBY3RpdmVIZWFkaW5nKCk7XG5cbiAgICAvLyBVc2Ugc2Nyb2xsIGV2ZW50IHdpdGggcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGZvciBwZXJmb3JtYW5jZVxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMucmFmSWQpIHtcbiAgICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnJhZklkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJhZklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUhlYWRpbmcoKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuXG4gICAgICAvLyBMaXN0ZW4gb24gYm90aCB3aW5kb3cgYW5kIHRoZSBzY3JvbGwgY29udGFpbmVyIGZvciBtYXhpbXVtIGNvbXBhdGliaWxpdHlcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnNjcm9sbEhhbmRsZXIsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuc2Nyb2xsSGFuZGxlciwgeyBwYXNzaXZlOiB0cnVlLCBjYXB0dXJlOiB0cnVlIH0pO1xuXG4gICAgICAvLyBBbHNvIGxpc3RlbiBvbiBpb24tY29udGVudCBpZiBwcmVzZW50XG4gICAgICBjb25zdCBpb25Db250ZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW9uLWNvbnRlbnQnKTtcbiAgICAgIGlmIChpb25Db250ZW50KSB7XG4gICAgICAgIGlvbkNvbnRlbnQuYWRkRXZlbnRMaXN0ZW5lcignaW9uU2Nyb2xsJywgdGhpcy5zY3JvbGxIYW5kbGVyIGFzIEV2ZW50TGlzdGVuZXIsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFNjcm9sbENvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB8IFdpbmRvdyB7XG4gICAgLy8gQ2hlY2sgZm9yIGlvbi1jb250ZW50J3Mgc2Nyb2xsIGVsZW1lbnRcbiAgICBjb25zdCBpb25Db250ZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW9uLWNvbnRlbnQnKTtcbiAgICBpZiAoaW9uQ29udGVudCkge1xuICAgICAgLy8gaW9uLWNvbnRlbnQgaGFzIGEgc2hhZG93IERPTSB3aXRoIHRoZSBhY3R1YWwgc2Nyb2xsYWJsZSBlbGVtZW50XG4gICAgICBjb25zdCBzY3JvbGxFbCA9IChpb25Db250ZW50IGFzIGFueSkuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcignLmlubmVyLXNjcm9sbCcpO1xuICAgICAgaWYgKHNjcm9sbEVsKSByZXR1cm4gc2Nyb2xsRWw7XG4gICAgfVxuICAgIHJldHVybiB3aW5kb3c7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFjdGl2ZUhlYWRpbmcoKTogdm9pZCB7XG4gICAgY29uc3Qgb2Zmc2V0VG9wID0gdGhpcy5wcm9wcy5vZmZzZXRUb3AgPz8gMTAwO1xuXG4gICAgLy8gRmluZCB0aGUgaGVhZGluZyBjbG9zZXN0IHRvIG9yIGFib3ZlIHRoZSB0cmlnZ2VyIHBvaW50IChvZmZzZXQgZnJvbSB0b3Agb2Ygdmlld3BvcnQpXG4gICAgLy8gVXNpbmcgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIHdoaWNoIGlzIHJlbGF0aXZlIHRvIHZpZXdwb3J0IC0gd29ya3MgcmVnYXJkbGVzcyBvZiBzY3JvbGwgY29udGFpbmVyXG4gICAgbGV0IGFjdGl2ZUhlYWRpbmc6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBmb3IgKGNvbnN0IGhlYWRpbmcgb2YgdGhpcy5oZWFkaW5nRWxlbWVudHMpIHtcbiAgICAgIGNvbnN0IHJlY3QgPSBoZWFkaW5nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAvLyBJZiBoZWFkaW5nJ3MgdG9wIGlzIGF0IG9yIGFib3ZlIHRoZSB0cmlnZ2VyIHBvaW50IChvZmZzZXQgcGl4ZWxzIGZyb20gdmlld3BvcnQgdG9wKVxuICAgICAgaWYgKHJlY3QudG9wIDw9IG9mZnNldFRvcCArIDEwKSB7XG4gICAgICAgIGFjdGl2ZUhlYWRpbmcgPSBoZWFkaW5nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2luY2UgaGVhZGluZ3MgYXJlIGluIERPTSBvcmRlciwgc3RvcCBvbmNlIHdlIGZpbmQgb25lIGJlbG93IHRoZSB0cmlnZ2VyXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIG5vIGhlYWRpbmcgaXMgYWJvdmUgdGhlIHRyaWdnZXIgcG9pbnQsIHVzZSB0aGUgZmlyc3Qgb25lXG4gICAgaWYgKCFhY3RpdmVIZWFkaW5nICYmIHRoaXMuaGVhZGluZ0VsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGFjdGl2ZUhlYWRpbmcgPSB0aGlzLmhlYWRpbmdFbGVtZW50c1swXTtcbiAgICB9XG5cbiAgICBpZiAoYWN0aXZlSGVhZGluZyAmJiBhY3RpdmVIZWFkaW5nLmlkICE9PSB0aGlzLmFjdGl2ZUlkKCkpIHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZlSWQuc2V0KGFjdGl2ZUhlYWRpbmchLmlkKTtcbiAgICAgICAgdGhpcy5zZWN0aW9uQ2hhbmdlLmVtaXQoYWN0aXZlSGVhZGluZyEuaWQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95U2Nyb2xsU3B5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnNjcm9sbEhhbmRsZXIpO1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zY3JvbGxIYW5kbGVyLCB7IGNhcHR1cmU6IHRydWUgfSBhcyBFdmVudExpc3RlbmVyT3B0aW9ucyk7XG5cbiAgICAgIGNvbnN0IGlvbkNvbnRlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpb24tY29udGVudCcpO1xuICAgICAgaWYgKGlvbkNvbnRlbnQpIHtcbiAgICAgICAgaW9uQ29udGVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdpb25TY3JvbGwnLCB0aGlzLnNjcm9sbEhhbmRsZXIgYXMgRXZlbnRMaXN0ZW5lcik7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9IG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLnJhZklkKSB7XG4gICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnJhZklkKTtcbiAgICAgIHRoaXMucmFmSWQgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLmhlYWRpbmdFbGVtZW50cyA9IFtdO1xuICAgIHRoaXMuc2Nyb2xsQ29udGFpbmVyID0gbnVsbDtcbiAgfVxuXG4gIHNjcm9sbFRvU2VjdGlvbihldmVudDogRXZlbnQsIGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybjtcblxuICAgIC8vIFVzZSBuYXRpdmUgc2Nyb2xsSW50b1ZpZXcgLSBtb3N0IHJlbGlhYmxlIGFjcm9zcyBhbGwgY29udGFpbmVyc1xuICAgIC8vIFJlcXVpcmVzIENTUyBzY3JvbGwtbWFyZ2luLXRvcCBvbiB0YXJnZXQgZWxlbWVudHMgZm9yIG9mZnNldFxuICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnc3RhcnQnIH0pO1xuXG4gICAgLy8gVXBkYXRlIGFjdGl2ZSBpbW1lZGlhdGVseSBmb3IgYmV0dGVyIFVYXG4gICAgdGhpcy5hY3RpdmVJZC5zZXQoaWQpO1xuXG4gICAgLy8gVXBkYXRlIFVSTCBoYXNoIHdoaWxlIHByZXNlcnZpbmcgY3VycmVudCBwYXRoXG4gICAgY29uc3QgY3VycmVudFBhdGggPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgKyB3aW5kb3cubG9jYXRpb24uc2VhcmNoO1xuICAgIGhpc3RvcnkucHVzaFN0YXRlKG51bGwsICcnLCBgJHtjdXJyZW50UGF0aH0jJHtpZH1gKTtcbiAgfVxufVxuIl19
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy10b2MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9kb2NzLXRvYy9kb2NzLXRvYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBT1osTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOztBQUd2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQXdDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBYTNCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWnpCLFVBQUssR0FBb0IsRUFBRSxDQUFDO1FBRTNCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVyRCxpQkFBaUI7UUFDUCxhQUFRLEdBQUcsTUFBTSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLGNBQVMsR0FBRyxNQUFNLENBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRXhDLG9CQUFlLEdBQWtCLEVBQUUsQ0FBQztRQUNwQyxrQkFBYSxHQUF3QixJQUFJLENBQUM7UUFDMUMsVUFBSyxHQUFrQixJQUFJLENBQUM7UUE4RjVCLG9CQUFlLEdBQWdDLElBQUksQ0FBQztJQTVGdkIsQ0FBQztJQUV0QyxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxlQUFlO1FBQ2IsK0JBQStCO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ2pDLENBQUM7WUFDRCxJQUFJLENBQUMsY0FB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QztRQUM1QyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFckIsa0VBQWtFO1FBQ2xFLCtEQUErRDtRQUMvRCxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUUvRCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdEIsZ0RBQWdEO1FBQ2hELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ3RFLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7K0dBdk9VLGdCQUFnQjttR0FBaEIsZ0JBQWdCLHNLQW5DakI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NULGduREFqQ1MsWUFBWTs7NEZBb0NYLGdCQUFnQjtrQkF2QzVCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDVDsyRUFJUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgTmdab25lLFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9jc1RvY01ldGFkYXRhLCBEb2NzVG9jSXRlbSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIHZhbC1kb2NzLXRvY1xuICpcbiAqIEEgdGFibGUgb2YgY29udGVudHMgY29tcG9uZW50IHdpdGggc2Nyb2xsIHNweSBmdW5jdGlvbmFsaXR5LlxuICogQXV0b21hdGljYWxseSBoaWdobGlnaHRzIHRoZSBjdXJyZW50IHNlY3Rpb24gYmFzZWQgb24gc2Nyb2xsIHBvc2l0aW9uLlxuICpcbiAqIEBleGFtcGxlIE1hbnVhbCBpdGVtc1xuICogYGBgaHRtbFxuICogPHZhbC1kb2NzLXRvY1xuICogICBbcHJvcHNdPVwie1xuICogICAgIHRpdGxlOiAnT24gdGhpcyBwYWdlJyxcbiAqICAgICBpdGVtczogW1xuICogICAgICAgeyBpZDogJ292ZXJ2aWV3JywgbGFiZWw6ICdPdmVydmlldycsIGxldmVsOiAxIH0sXG4gKiAgICAgICB7IGlkOiAnaW5zdGFsbGF0aW9uJywgbGFiZWw6ICdJbnN0YWxsYXRpb24nLCBsZXZlbDogMSB9LFxuICogICAgICAgeyBpZDogJ25wbScsIGxhYmVsOiAnVXNpbmcgbnBtJywgbGV2ZWw6IDIgfSxcbiAqICAgICAgIHsgaWQ6ICd5YXJuJywgbGFiZWw6ICdVc2luZyB5YXJuJywgbGV2ZWw6IDIgfVxuICogICAgIF1cbiAqICAgfVwiXG4gKiA+PC92YWwtZG9jcy10b2M+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBBdXRvLWdlbmVyYXRlZCBmcm9tIGhlYWRpbmdzXG4gKiBgYGBodG1sXG4gKiA8dmFsLWRvY3MtdG9jXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgYXV0b0dlbmVyYXRlOiB0cnVlLFxuICogICAgIGNvbnRhaW5lclNlbGVjdG9yOiAnLmFydGljbGUtY29udGVudCcsXG4gKiAgICAgaGVhZGluZ0xldmVsczogWzIsIDNdXG4gKiAgIH1cIlxuICogPjwvdmFsLWRvY3MtdG9jPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kb2NzLXRvYycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuYXZcbiAgICAgIGNsYXNzPVwiZG9jcy10b2NcIlxuICAgICAgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCJcbiAgICAgIHJvbGU9XCJuYXZpZ2F0aW9uXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJUYWJsZSBvZiBjb250ZW50c1wiXG4gICAgPlxuICAgICAgQGlmICghcHJvcHMuaGlkZVRpdGxlKSB7XG4gICAgICAgIDxoNCBjbGFzcz1cImRvY3MtdG9jX190aXRsZVwiPnt7IHByb3BzLnRpdGxlIHx8ICdDb250ZW50cycgfX08L2g0PlxuICAgICAgfVxuXG4gICAgICA8dWwgY2xhc3M9XCJkb2NzLXRvY19fbGlzdFwiPlxuICAgICAgICBAZm9yIChpdGVtIG9mIGZsYXRJdGVtcygpOyB0cmFjayBpdGVtLmlkKSB7XG4gICAgICAgICAgPGxpXG4gICAgICAgICAgICBjbGFzcz1cImRvY3MtdG9jX19pdGVtXCJcbiAgICAgICAgICAgIFtjbGFzcy5kb2NzLXRvY19faXRlbS0tbGV2ZWwtMV09XCJpdGVtLmxldmVsID09PSAxXCJcbiAgICAgICAgICAgIFtjbGFzcy5kb2NzLXRvY19faXRlbS0tbGV2ZWwtMl09XCJpdGVtLmxldmVsID09PSAyXCJcbiAgICAgICAgICAgIFtjbGFzcy5kb2NzLXRvY19faXRlbS0tbGV2ZWwtM109XCJpdGVtLmxldmVsID09PSAzXCJcbiAgICAgICAgICAgIFtjbGFzcy5kb2NzLXRvY19faXRlbS0tYWN0aXZlXT1cImFjdGl2ZUlkKCkgPT09IGl0ZW0uaWRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy10b2NfX2xpbmtcIlxuICAgICAgICAgICAgICBbaHJlZl09XCInIycgKyBpdGVtLmlkXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImFjdGl2ZUlkKCkgPT09IGl0ZW0uaWQgPyAnbG9jYXRpb24nIDogbnVsbFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzY3JvbGxUb1NlY3Rpb24oJGV2ZW50LCBpdGVtLmlkKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICA8L3VsPlxuICAgIDwvbmF2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kb2NzLXRvYy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEb2NzVG9jQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzOiBEb2NzVG9jTWV0YWRhdGEgPSB7fTtcblxuICBAT3V0cHV0KCkgc2VjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8vIFJlYWN0aXZlIHN0YXRlXG4gIHByb3RlY3RlZCBhY3RpdmVJZCA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgcHJvdGVjdGVkIGZsYXRJdGVtcyA9IHNpZ25hbDxEb2NzVG9jSXRlbVtdPihbXSk7XG5cbiAgcHJpdmF0ZSBoZWFkaW5nRWxlbWVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcbiAgcHJpdmF0ZSBzY3JvbGxIYW5kbGVyOiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSByYWZJZDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUZsYXRJdGVtcygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIERlbGF5IHRvIGVuc3VyZSBET00gaXMgcmVhZHlcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnByb3BzLmF1dG9HZW5lcmF0ZSkge1xuICAgICAgICB0aGlzLmdlbmVyYXRlVG9jRnJvbUhlYWRpbmdzKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldHVwU2Nyb2xsU3B5KCk7XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sncHJvcHMnXSkge1xuICAgICAgdGhpcy51cGRhdGVGbGF0SXRlbXMoKTtcbiAgICAgIGlmICh0aGlzLnByb3BzLmF1dG9HZW5lcmF0ZSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZ2VuZXJhdGVUb2NGcm9tSGVhZGluZ3MoKSwgMTAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lTY3JvbGxTcHkoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRmxhdEl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLml0ZW1zKSB7XG4gICAgICB0aGlzLmZsYXRJdGVtcy5zZXQodGhpcy5mbGF0dGVuSXRlbXModGhpcy5wcm9wcy5pdGVtcykpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmxhdHRlbkl0ZW1zKGl0ZW1zOiBEb2NzVG9jSXRlbVtdKTogRG9jc1RvY0l0ZW1bXSB7XG4gICAgY29uc3QgcmVzdWx0OiBEb2NzVG9jSXRlbVtdID0gW107XG4gICAgY29uc3QgZmxhdHRlbiA9IChpdGVtTGlzdDogRG9jc1RvY0l0ZW1bXSkgPT4ge1xuICAgICAgaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XG4gICAgICAgIGlmIChpdGVtLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICBmbGF0dGVuKGl0ZW0uY2hpbGRyZW4pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9O1xuICAgIGZsYXR0ZW4oaXRlbXMpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlVG9jRnJvbUhlYWRpbmdzKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gdGhpcy5wcm9wcy5jb250YWluZXJTZWxlY3RvciB8fCAnLmRvY3MtbGF5b3V0X19jb250ZW50JztcbiAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcblxuICAgIGlmICghY29udGFpbmVyKSB7XG4gICAgICBjb25zb2xlLndhcm4oYFtkb2NzLXRvY10gQ29udGFpbmVyIG5vdCBmb3VuZDogJHtzZWxlY3Rvcn1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsZXZlbHMgPSB0aGlzLnByb3BzLmhlYWRpbmdMZXZlbHMgfHwgWzIsIDNdO1xuICAgIGNvbnN0IGhlYWRpbmdTZWxlY3RvciA9IGxldmVscy5tYXAobCA9PiBgaCR7bH1gKS5qb2luKCcsICcpO1xuICAgIGNvbnN0IGhlYWRpbmdzID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoaGVhZGluZ1NlbGVjdG9yKTtcblxuICAgIGNvbnN0IGl0ZW1zOiBEb2NzVG9jSXRlbVtdID0gW107XG4gICAgaGVhZGluZ3MuZm9yRWFjaCgoaGVhZGluZzogRWxlbWVudCkgPT4ge1xuICAgICAgY29uc3QgZWwgPSBoZWFkaW5nIGFzIEhUTUxFbGVtZW50O1xuICAgICAgLy8gR2VuZXJhdGUgSUQgaWYgbm90IHByZXNlbnRcbiAgICAgIGlmICghZWwuaWQpIHtcbiAgICAgICAgZWwuaWQgPSB0aGlzLmdlbmVyYXRlSWQoZWwudGV4dENvbnRlbnQgfHwgJycpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsZXZlbCA9IHBhcnNlSW50KGVsLnRhZ05hbWVbMV0sIDEwKTtcbiAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICBpZDogZWwuaWQsXG4gICAgICAgIGxhYmVsOiBlbC50ZXh0Q29udGVudD8udHJpbSgpIHx8ICcnLFxuICAgICAgICBsZXZlbDogbGV2ZWwgLSAxLCAvLyBoMiA9IGxldmVsIDEsIGgzID0gbGV2ZWwgMlxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZsYXRJdGVtcy5zZXQoaXRlbXMpO1xuICAgIC8vIFJlLXNldHVwIHNjcm9sbCBzcHkgd2l0aCBuZXcgaXRlbXNcbiAgICB0aGlzLnNldHVwU2Nyb2xsU3B5KCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlSWQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGV4dFxuICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgIC50cmltKClcbiAgICAgIC5yZXBsYWNlKC9bXlxcd1xccy1dL2csICcnKVxuICAgICAgLnJlcGxhY2UoL1xccysvZywgJy0nKVxuICAgICAgLnN1YnN0cmluZygwLCA1MCk7XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbENvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBXaW5kb3cgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHNldHVwU2Nyb2xsU3B5KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveVNjcm9sbFNweSgpO1xuXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmZsYXRJdGVtcygpO1xuICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHJldHVybjtcblxuICAgIC8vIENvbGxlY3QgaGVhZGluZyBlbGVtZW50c1xuICAgIHRoaXMuaGVhZGluZ0VsZW1lbnRzID0gaXRlbXNcbiAgICAgIC5tYXAoaXRlbSA9PiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtLmlkKSlcbiAgICAgIC5maWx0ZXIoKGVsKTogZWwgaXMgSFRNTEVsZW1lbnQgPT4gZWwgIT09IG51bGwpO1xuXG4gICAgaWYgKHRoaXMuaGVhZGluZ0VsZW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc29sZS53YXJuKCdbZG9jcy10b2NdIE5vIGhlYWRpbmcgZWxlbWVudHMgZm91bmQgZm9yIElEczonLCBpdGVtcy5tYXAoaSA9PiBpLmlkKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRmluZCB0aGUgc2Nyb2xsIGNvbnRhaW5lciAtIGNoZWNrIGZvciBpb24tY29udGVudCBmaXJzdCwgdGhlbiB1c2Ugd2luZG93XG4gICAgdGhpcy5zY3JvbGxDb250YWluZXIgPSB0aGlzLmZpbmRTY3JvbGxDb250YWluZXIoKTtcblxuICAgIC8vIFNldCBpbml0aWFsIGFjdGl2ZSBpdGVtXG4gICAgdGhpcy51cGRhdGVBY3RpdmVIZWFkaW5nKCk7XG5cbiAgICAvLyBVc2Ugc2Nyb2xsIGV2ZW50IHdpdGggcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGZvciBwZXJmb3JtYW5jZVxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMucmFmSWQpIHtcbiAgICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnJhZklkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJhZklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUhlYWRpbmcoKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuXG4gICAgICAvLyBMaXN0ZW4gb24gYm90aCB3aW5kb3cgYW5kIHRoZSBzY3JvbGwgY29udGFpbmVyIGZvciBtYXhpbXVtIGNvbXBhdGliaWxpdHlcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnNjcm9sbEhhbmRsZXIsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuc2Nyb2xsSGFuZGxlciwgeyBwYXNzaXZlOiB0cnVlLCBjYXB0dXJlOiB0cnVlIH0pO1xuXG4gICAgICAvLyBBbHNvIGxpc3RlbiBvbiBpb24tY29udGVudCBpZiBwcmVzZW50XG4gICAgICBjb25zdCBpb25Db250ZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW9uLWNvbnRlbnQnKTtcbiAgICAgIGlmIChpb25Db250ZW50KSB7XG4gICAgICAgIGlvbkNvbnRlbnQuYWRkRXZlbnRMaXN0ZW5lcignaW9uU2Nyb2xsJywgdGhpcy5zY3JvbGxIYW5kbGVyIGFzIEV2ZW50TGlzdGVuZXIsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFNjcm9sbENvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB8IFdpbmRvdyB7XG4gICAgLy8gQ2hlY2sgZm9yIGlvbi1jb250ZW50J3Mgc2Nyb2xsIGVsZW1lbnRcbiAgICBjb25zdCBpb25Db250ZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW9uLWNvbnRlbnQnKTtcbiAgICBpZiAoaW9uQ29udGVudCkge1xuICAgICAgLy8gaW9uLWNvbnRlbnQgaGFzIGEgc2hhZG93IERPTSB3aXRoIHRoZSBhY3R1YWwgc2Nyb2xsYWJsZSBlbGVtZW50XG4gICAgICBjb25zdCBzY3JvbGxFbCA9IChpb25Db250ZW50IGFzIGFueSkuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcignLmlubmVyLXNjcm9sbCcpO1xuICAgICAgaWYgKHNjcm9sbEVsKSByZXR1cm4gc2Nyb2xsRWw7XG4gICAgfVxuICAgIHJldHVybiB3aW5kb3c7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFjdGl2ZUhlYWRpbmcoKTogdm9pZCB7XG4gICAgY29uc3Qgb2Zmc2V0VG9wID0gdGhpcy5wcm9wcy5vZmZzZXRUb3AgPz8gMTAwO1xuXG4gICAgLy8gRmluZCB0aGUgaGVhZGluZyBjbG9zZXN0IHRvIG9yIGFib3ZlIHRoZSB0cmlnZ2VyIHBvaW50IChvZmZzZXQgZnJvbSB0b3Agb2Ygdmlld3BvcnQpXG4gICAgLy8gVXNpbmcgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIHdoaWNoIGlzIHJlbGF0aXZlIHRvIHZpZXdwb3J0IC0gd29ya3MgcmVnYXJkbGVzcyBvZiBzY3JvbGwgY29udGFpbmVyXG4gICAgbGV0IGFjdGl2ZUhlYWRpbmc6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBmb3IgKGNvbnN0IGhlYWRpbmcgb2YgdGhpcy5oZWFkaW5nRWxlbWVudHMpIHtcbiAgICAgIGNvbnN0IHJlY3QgPSBoZWFkaW5nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAvLyBJZiBoZWFkaW5nJ3MgdG9wIGlzIGF0IG9yIGFib3ZlIHRoZSB0cmlnZ2VyIHBvaW50IChvZmZzZXQgcGl4ZWxzIGZyb20gdmlld3BvcnQgdG9wKVxuICAgICAgaWYgKHJlY3QudG9wIDw9IG9mZnNldFRvcCArIDEwKSB7XG4gICAgICAgIGFjdGl2ZUhlYWRpbmcgPSBoZWFkaW5nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2luY2UgaGVhZGluZ3MgYXJlIGluIERPTSBvcmRlciwgc3RvcCBvbmNlIHdlIGZpbmQgb25lIGJlbG93IHRoZSB0cmlnZ2VyXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIG5vIGhlYWRpbmcgaXMgYWJvdmUgdGhlIHRyaWdnZXIgcG9pbnQsIHVzZSB0aGUgZmlyc3Qgb25lXG4gICAgaWYgKCFhY3RpdmVIZWFkaW5nICYmIHRoaXMuaGVhZGluZ0VsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGFjdGl2ZUhlYWRpbmcgPSB0aGlzLmhlYWRpbmdFbGVtZW50c1swXTtcbiAgICB9XG5cbiAgICBpZiAoYWN0aXZlSGVhZGluZyAmJiBhY3RpdmVIZWFkaW5nLmlkICE9PSB0aGlzLmFjdGl2ZUlkKCkpIHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZlSWQuc2V0KGFjdGl2ZUhlYWRpbmchLmlkKTtcbiAgICAgICAgdGhpcy5zZWN0aW9uQ2hhbmdlLmVtaXQoYWN0aXZlSGVhZGluZyEuaWQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95U2Nyb2xsU3B5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnNjcm9sbEhhbmRsZXIpO1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zY3JvbGxIYW5kbGVyLCB7IGNhcHR1cmU6IHRydWUgfSBhcyBFdmVudExpc3RlbmVyT3B0aW9ucyk7XG5cbiAgICAgIGNvbnN0IGlvbkNvbnRlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpb24tY29udGVudCcpO1xuICAgICAgaWYgKGlvbkNvbnRlbnQpIHtcbiAgICAgICAgaW9uQ29udGVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdpb25TY3JvbGwnLCB0aGlzLnNjcm9sbEhhbmRsZXIgYXMgRXZlbnRMaXN0ZW5lcik7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9IG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLnJhZklkKSB7XG4gICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnJhZklkKTtcbiAgICAgIHRoaXMucmFmSWQgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLmhlYWRpbmdFbGVtZW50cyA9IFtdO1xuICAgIHRoaXMuc2Nyb2xsQ29udGFpbmVyID0gbnVsbDtcbiAgfVxuXG4gIHNjcm9sbFRvU2VjdGlvbihldmVudDogRXZlbnQsIGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybjtcblxuICAgIC8vIFVzZSBuYXRpdmUgc2Nyb2xsSW50b1ZpZXcgLSBtb3N0IHJlbGlhYmxlIGFjcm9zcyBhbGwgY29udGFpbmVyc1xuICAgIC8vIFJlcXVpcmVzIENTUyBzY3JvbGwtbWFyZ2luLXRvcCBvbiB0YXJnZXQgZWxlbWVudHMgZm9yIG9mZnNldFxuICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnc3RhcnQnIH0pO1xuXG4gICAgLy8gVXBkYXRlIGFjdGl2ZSBpbW1lZGlhdGVseSBmb3IgYmV0dGVyIFVYXG4gICAgdGhpcy5hY3RpdmVJZC5zZXQoaWQpO1xuXG4gICAgLy8gVXBkYXRlIFVSTCBoYXNoIHdoaWxlIHByZXNlcnZpbmcgY3VycmVudCBwYXRoXG4gICAgY29uc3QgY3VycmVudFBhdGggPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgKyB3aW5kb3cubG9jYXRpb24uc2VhcmNoO1xuICAgIGhpc3RvcnkucHVzaFN0YXRlKG51bGwsICcnLCBgJHtjdXJyZW50UGF0aH0jJHtpZH1gKTtcbiAgfVxufVxuIl19
@@ -33076,7 +33076,7 @@ class DocsTocComponent {
33076
33076
  }
33077
33077
  </ul>
33078
33078
  </nav>
33079
- `, isInline: true, styles: [".docs-toc{--toc-text-color: var(--ion-color-medium, #666);--toc-active-color: #1a1a1a;--toc-hover-color: var(--ion-text-color, #1a1a1a);--toc-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-toc__title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--toc-text-color);margin:0 0 1rem}.docs-toc__list{list-style:none;margin:0;padding:0;border-left:1px solid var(--toc-border-color)}.docs-toc__item{position:relative;margin:0}.docs-toc__item:before{content:\"\";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:transparent;transition:background .2s ease}.docs-toc__item--active:before{background:var(--toc-active-color)}.docs-toc__item--active .docs-toc__link{color:var(--toc-active-color);font-weight:500}.docs-toc__item--level-1 .docs-toc__link{padding-left:.75rem}.docs-toc__item--level-2 .docs-toc__link{padding-left:1.5rem;font-size:.75rem}.docs-toc__item--level-3 .docs-toc__link{padding-left:2.25rem;font-size:.6875rem}.docs-toc__link{display:block;padding:.375rem .75rem;font-size:.8125rem;line-height:1.4;color:var(--toc-text-color);text-decoration:none;transition:color .15s ease;word-break:break-word;border-radius:4px}.docs-toc__link:hover{color:var(--toc-hover-color)}.docs-toc__link:focus-visible{outline:2px solid var(--toc-active-color);outline-offset:2px}:host-context(.dark) .docs-toc,:host-context([color-scheme=dark]) .docs-toc{--toc-text-color: #a0a0a0;--toc-hover-color: #f4f5f8;--toc-border-color: #3a3a3a}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
33079
+ `, isInline: true, styles: [".docs-toc{--toc-text-color: var(--ion-color-medium, #666);--toc-active-color: #1a1a1a;--toc-hover-color: var(--ion-text-color, #1a1a1a);--toc-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-toc__title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--toc-text-color);margin:0 0 1rem}.docs-toc__list{list-style:none;margin:0;padding:0;border-left:1px solid var(--toc-border-color)}.docs-toc__item{position:relative;margin:0}.docs-toc__item:before{content:\"\";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:transparent;transition:background .2s ease}.docs-toc__item--active:before{background:var(--toc-active-color)}.docs-toc__item--active .docs-toc__link{color:var(--toc-active-color);font-weight:500}.docs-toc__item--level-1 .docs-toc__link{padding-left:.75rem}.docs-toc__item--level-2 .docs-toc__link{padding-left:1.5rem;font-size:.75rem}.docs-toc__item--level-3 .docs-toc__link{padding-left:2.25rem;font-size:.6875rem}.docs-toc__link{display:block;padding:.375rem .75rem;font-size:.8125rem;line-height:1.4;color:var(--toc-text-color);text-decoration:none;transition:color .15s ease;word-break:break-word;border-radius:4px}.docs-toc__link:hover{color:var(--toc-hover-color)}.docs-toc__link:focus-visible{outline:2px solid var(--toc-active-color);outline-offset:2px}:host-context(.dark) .docs-toc,:host-context([color-scheme=dark]) .docs-toc{--toc-text-color: #a0a0a0;--toc-active-color: #f4f5f8;--toc-hover-color: #f4f5f8;--toc-border-color: #3a3a3a}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
33080
33080
  }
33081
33081
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsTocComponent, decorators: [{
33082
33082
  type: Component,
@@ -33112,7 +33112,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
33112
33112
  }
33113
33113
  </ul>
33114
33114
  </nav>
33115
- `, styles: [".docs-toc{--toc-text-color: var(--ion-color-medium, #666);--toc-active-color: #1a1a1a;--toc-hover-color: var(--ion-text-color, #1a1a1a);--toc-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-toc__title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--toc-text-color);margin:0 0 1rem}.docs-toc__list{list-style:none;margin:0;padding:0;border-left:1px solid var(--toc-border-color)}.docs-toc__item{position:relative;margin:0}.docs-toc__item:before{content:\"\";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:transparent;transition:background .2s ease}.docs-toc__item--active:before{background:var(--toc-active-color)}.docs-toc__item--active .docs-toc__link{color:var(--toc-active-color);font-weight:500}.docs-toc__item--level-1 .docs-toc__link{padding-left:.75rem}.docs-toc__item--level-2 .docs-toc__link{padding-left:1.5rem;font-size:.75rem}.docs-toc__item--level-3 .docs-toc__link{padding-left:2.25rem;font-size:.6875rem}.docs-toc__link{display:block;padding:.375rem .75rem;font-size:.8125rem;line-height:1.4;color:var(--toc-text-color);text-decoration:none;transition:color .15s ease;word-break:break-word;border-radius:4px}.docs-toc__link:hover{color:var(--toc-hover-color)}.docs-toc__link:focus-visible{outline:2px solid var(--toc-active-color);outline-offset:2px}:host-context(.dark) .docs-toc,:host-context([color-scheme=dark]) .docs-toc{--toc-text-color: #a0a0a0;--toc-hover-color: #f4f5f8;--toc-border-color: #3a3a3a}\n"] }]
33115
+ `, styles: [".docs-toc{--toc-text-color: var(--ion-color-medium, #666);--toc-active-color: #1a1a1a;--toc-hover-color: var(--ion-text-color, #1a1a1a);--toc-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-toc__title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--toc-text-color);margin:0 0 1rem}.docs-toc__list{list-style:none;margin:0;padding:0;border-left:1px solid var(--toc-border-color)}.docs-toc__item{position:relative;margin:0}.docs-toc__item:before{content:\"\";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:transparent;transition:background .2s ease}.docs-toc__item--active:before{background:var(--toc-active-color)}.docs-toc__item--active .docs-toc__link{color:var(--toc-active-color);font-weight:500}.docs-toc__item--level-1 .docs-toc__link{padding-left:.75rem}.docs-toc__item--level-2 .docs-toc__link{padding-left:1.5rem;font-size:.75rem}.docs-toc__item--level-3 .docs-toc__link{padding-left:2.25rem;font-size:.6875rem}.docs-toc__link{display:block;padding:.375rem .75rem;font-size:.8125rem;line-height:1.4;color:var(--toc-text-color);text-decoration:none;transition:color .15s ease;word-break:break-word;border-radius:4px}.docs-toc__link:hover{color:var(--toc-hover-color)}.docs-toc__link:focus-visible{outline:2px solid var(--toc-active-color);outline-offset:2px}:host-context(.dark) .docs-toc,:host-context([color-scheme=dark]) .docs-toc{--toc-text-color: #a0a0a0;--toc-active-color: #f4f5f8;--toc-hover-color: #f4f5f8;--toc-border-color: #3a3a3a}\n"] }]
33116
33116
  }], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { props: [{
33117
33117
  type: Input
33118
33118
  }], sectionChange: [{
@@ -33149,7 +33149,27 @@ class DocsNavLinksComponent {
33149
33149
  onNavigate(event, route) {
33150
33150
  event.preventDefault();
33151
33151
  this.navigate.emit(route);
33152
- this.router.navigate(route);
33152
+ this.router.navigate(route).then(() => {
33153
+ // Scroll to top after navigation
33154
+ this.scrollToTop();
33155
+ });
33156
+ }
33157
+ scrollToTop() {
33158
+ // Try scrolling different containers for maximum compatibility
33159
+ // 1. Try ion-content first
33160
+ const ionContent = document.querySelector('ion-content');
33161
+ if (ionContent) {
33162
+ ionContent.scrollToTop?.(0);
33163
+ }
33164
+ // 2. Scroll the main scrollable element (docs shell)
33165
+ const mainScroll = document.querySelector('.docs-main-scroll');
33166
+ if (mainScroll) {
33167
+ mainScroll.scrollTop = 0;
33168
+ }
33169
+ // 3. Fallback to window/document scroll
33170
+ window.scrollTo({ top: 0, behavior: 'instant' });
33171
+ document.documentElement.scrollTop = 0;
33172
+ document.body.scrollTop = 0;
33153
33173
  }
33154
33174
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsNavLinksComponent, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
33155
33175
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DocsNavLinksComponent, isStandalone: true, selector: "val-docs-nav-links", inputs: { props: "props" }, outputs: { navigate: "navigate" }, ngImport: i0, template: `