@skyux/flyout 11.26.0 → 11.28.0

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.
@@ -28,10 +28,10 @@ export class SkyFlyoutAdapterService {
28
28
  this.#renderer.setStyle(iframe, 'pointer-events', enable ? '' : 'none');
29
29
  }
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutAdapterService, deps: [{ token: i0.RendererFactory2 }, { token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
32
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutAdapterService }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutAdapterService, deps: [{ token: i0.RendererFactory2 }, { token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
32
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutAdapterService }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutAdapterService, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutAdapterService, decorators: [{
35
35
  type: Injectable
36
36
  }], ctorParameters: () => [{ type: i0.RendererFactory2 }, { type: i1.SkyAppWindowRef }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEdBR1gsTUFBTSxlQUFlLENBQUM7OztBQUd2Qjs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsU0FBUyxDQUFZO0lBRXJCLFVBQVUsQ0FBa0I7SUFFNUIsWUFBWSxlQUFpQyxFQUFFLFNBQTBCO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE1BQWtCO1FBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQy9DLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFeEUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQztJQUVNLHlCQUF5QixDQUFDLE1BQWU7UUFDOUMseUVBQXlFO1FBQ3pFLHNFQUFzRTtRQUN0RSxvRkFBb0Y7UUFDcEYsc0RBQXNEO1FBQ3RELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDaEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDOzhHQTVCVSx1QkFBdUI7a0hBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lBcHBXaW5kb3dSZWYgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRBZGFwdGVyU2VydmljZSB7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICN3aW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZjtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmKSB7XG4gICAgdGhpcy4jd2luZG93UmVmID0gd2luZG93UmVmO1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgYWRqdXN0SGVhZGVyRm9ySGVscChoZWFkZXI6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCB3aW5kb3dPYmogPSB0aGlzLiN3aW5kb3dSZWYubmF0aXZlV2luZG93O1xuICAgIGNvbnN0IGhlbHBXaWRnZXQgPSB3aW5kb3dPYmouZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JiLWhlbHAtaW52b2tlcicpO1xuXG4gICAgaWYgKGhlbHBXaWRnZXQpIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKGhlYWRlci5uYXRpdmVFbGVtZW50LCAnc2t5LWZseW91dC1oZWxwLXNoaW0nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlSWZyYW1lUG9pbnRlckV2ZW50cyhlbmFibGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLyBXaGVuIGlmcmFtZXMgYXJlIHByZXNlbnQgb24gdGhlIHBhZ2UsIHRoZXkgbWF5IGludGVyZmVyZSB3aXRoIGRyYWdnaW5nXG4gICAgLy8gdGVtcG9yYXJpbHkgZGlzYWJsZSBwb2ludGVyIGV2ZW50cyBpbiBpZnJhbWVzIHdoZW4gZHJhZ2dpbmcgc3RhcnRzLlxuICAgIC8vIFdoZW4gcmUtZW5hYmxpbmcgd2Ugc2V0IHRvIHRoZSBlbXB0eSBzdHJpbmcgYXMgaXQgd2lsbCByZW1vdmUgdGhlIGVsZW1lbnQgc3R5bGluZ1xuICAgIC8vIGFuZCBmYWxsIGJhY2sgdG8gYW55IGNzcyBvcmlnaW5hbGx5IGdpdmVuIHRvIGlmcmFtZVxuICAgIGNvbnN0IGlmcmFtZXMgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lmcmFtZScpKTtcbiAgICBmb3IgKGNvbnN0IGlmcmFtZSBvZiBpZnJhbWVzKSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5zZXRTdHlsZShpZnJhbWUsICdwb2ludGVyLWV2ZW50cycsIGVuYWJsZSA/ICcnIDogJ25vbmUnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEdBR1gsTUFBTSxlQUFlLENBQUM7OztBQUd2Qjs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsU0FBUyxDQUFZO0lBRXJCLFVBQVUsQ0FBa0I7SUFFNUIsWUFBWSxlQUFpQyxFQUFFLFNBQTBCO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE1BQWtCO1FBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQy9DLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFeEUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQztJQUVNLHlCQUF5QixDQUFDLE1BQWU7UUFDOUMseUVBQXlFO1FBQ3pFLHNFQUFzRTtRQUN0RSxvRkFBb0Y7UUFDcEYsc0RBQXNEO1FBQ3RELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDaEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDOytHQTVCVSx1QkFBdUI7bUhBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lBcHBXaW5kb3dSZWYgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRBZGFwdGVyU2VydmljZSB7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICN3aW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZjtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmKSB7XG4gICAgdGhpcy4jd2luZG93UmVmID0gd2luZG93UmVmO1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgYWRqdXN0SGVhZGVyRm9ySGVscChoZWFkZXI6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCB3aW5kb3dPYmogPSB0aGlzLiN3aW5kb3dSZWYubmF0aXZlV2luZG93O1xuICAgIGNvbnN0IGhlbHBXaWRnZXQgPSB3aW5kb3dPYmouZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JiLWhlbHAtaW52b2tlcicpO1xuXG4gICAgaWYgKGhlbHBXaWRnZXQpIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKGhlYWRlci5uYXRpdmVFbGVtZW50LCAnc2t5LWZseW91dC1oZWxwLXNoaW0nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlSWZyYW1lUG9pbnRlckV2ZW50cyhlbmFibGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLyBXaGVuIGlmcmFtZXMgYXJlIHByZXNlbnQgb24gdGhlIHBhZ2UsIHRoZXkgbWF5IGludGVyZmVyZSB3aXRoIGRyYWdnaW5nXG4gICAgLy8gdGVtcG9yYXJpbHkgZGlzYWJsZSBwb2ludGVyIGV2ZW50cyBpbiBpZnJhbWVzIHdoZW4gZHJhZ2dpbmcgc3RhcnRzLlxuICAgIC8vIFdoZW4gcmUtZW5hYmxpbmcgd2Ugc2V0IHRvIHRoZSBlbXB0eSBzdHJpbmcgYXMgaXQgd2lsbCByZW1vdmUgdGhlIGVsZW1lbnQgc3R5bGluZ1xuICAgIC8vIGFuZCBmYWxsIGJhY2sgdG8gYW55IGNzcyBvcmlnaW5hbGx5IGdpdmVuIHRvIGlmcmFtZVxuICAgIGNvbnN0IGlmcmFtZXMgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lmcmFtZScpKTtcbiAgICBmb3IgKGNvbnN0IGlmcmFtZSBvZiBpZnJhbWVzKSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5zZXRTdHlsZShpZnJhbWUsICdwb2ludGVyLWV2ZW50cycsIGVuYWJsZSA/ICcnIDogJ25vbmUnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -36,10 +36,10 @@ export class SkyFlyoutIteratorComponent {
36
36
  this.#_nextButtonClick.emit();
37
37
  }
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutIteratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: SkyFlyoutIteratorComponent, isStandalone: true, selector: "sky-flyout-iterator", inputs: { nextButtonDisabled: "nextButtonDisabled", previousButtonDisabled: "previousButtonDisabled" }, outputs: { previousButtonClick: "previousButtonClick", nextButtonClick: "nextButtonClick" }, ngImport: i0, template: "<div class=\"sky-flyout-iterators\">\n <button\n class=\"sky-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_flyout_iterator_previous_button' | skyLibResources\n \"\n [disabled]=\"previousButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorPreviousClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-up\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"chevron-up\" size=\"lg\" />\n </button>\n <button\n class=\"sky-btn\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_iterator_next_button' | skyLibResources\"\n [disabled]=\"nextButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorNextClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-down\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"chevron-down\" size=\"lg\" />\n </button>\n</div>\n", styles: [":host-context(.sky-theme-modern) .sky-flyout-iterators{display:inline}.sky-theme-modern .sky-flyout-iterators{display:inline}\n"], dependencies: [{ kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i1.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyFlyoutResourcesModule }, { kind: "pipe", type: i2.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }] }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutIteratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkyFlyoutIteratorComponent, isStandalone: true, selector: "sky-flyout-iterator", inputs: { nextButtonDisabled: "nextButtonDisabled", previousButtonDisabled: "previousButtonDisabled" }, outputs: { previousButtonClick: "previousButtonClick", nextButtonClick: "nextButtonClick" }, ngImport: i0, template: "<div class=\"sky-flyout-iterators\">\n <button\n class=\"sky-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_flyout_iterator_previous_button' | skyLibResources\n \"\n [disabled]=\"previousButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorPreviousClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-up\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"chevron-up\" size=\"lg\" />\n </button>\n <button\n class=\"sky-btn\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_iterator_next_button' | skyLibResources\"\n [disabled]=\"nextButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorNextClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-down\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"chevron-down\" size=\"lg\" />\n </button>\n</div>\n", styles: [":host-context(.sky-theme-modern) .sky-flyout-iterators{display:inline}.sky-theme-modern .sky-flyout-iterators{display:inline}\n"], dependencies: [{ kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i1.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyFlyoutResourcesModule }, { kind: "pipe", type: i2.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }] }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutIteratorComponent, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutIteratorComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{ standalone: true, selector: 'sky-flyout-iterator', imports: [SkyIconModule, SkyFlyoutResourcesModule, SkyThemeModule], template: "<div class=\"sky-flyout-iterators\">\n <button\n class=\"sky-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_flyout_iterator_previous_button' | skyLibResources\n \"\n [disabled]=\"previousButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorPreviousClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-up\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"chevron-up\" size=\"lg\" />\n </button>\n <button\n class=\"sky-btn\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_iterator_next_button' | skyLibResources\"\n [disabled]=\"nextButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorNextClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-down\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"chevron-down\" size=\"lg\" />\n </button>\n</div>\n", styles: [":host-context(.sky-theme-modern) .sky-flyout-iterators{display:inline}.sky-theme-modern .sky-flyout-iterators{display:inline}\n"] }]
45
45
  }], propDecorators: { nextButtonDisabled: [{
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
51
51
  }], nextButtonClick: [{
52
52
  type: Output
53
53
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWl0ZXJhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtaXRlcmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQUVqRjs7R0FFRztBQVFILE1BQU0sT0FBTywwQkFBMEI7SUFPckMsSUFDVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFckMsaUJBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUU3QyxxQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTFDLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSx1QkFBdUI7UUFDNUIsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7OEdBeENVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLG9SQ3hCdkMsc25DQWdDQSx3TERWWSxhQUFhLG1LQUFFLHdCQUF3Qix1R0FBRSxjQUFjOzsyRkFFdEQsMEJBQTBCO2tCQVB0QyxTQUFTO2lDQUNJLElBQUksWUFDTixxQkFBcUIsV0FHdEIsQ0FBQyxhQUFhLEVBQUUsd0JBQXdCLEVBQUUsY0FBYyxDQUFDOzhCQUkzRCxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsc0JBQXNCO3NCQUQ1QixLQUFLO2dCQUlLLG1CQUFtQjtzQkFEN0IsTUFBTTtnQkFNSSxlQUFlO3NCQUR6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnQHNreXV4L2ljb24nO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreUZseW91dFJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktZmx5b3V0LXJlc291cmNlcy5tb2R1bGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdza3ktZmx5b3V0LWl0ZXJhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbU2t5SWNvbk1vZHVsZSwgU2t5Rmx5b3V0UmVzb3VyY2VzTW9kdWxlLCBTa3lUaGVtZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUZseW91dEl0ZXJhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgcHVibGljIG5leHRCdXR0b25EaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcHJldmlvdXNCdXR0b25EaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBwcmV2aW91c0J1dHRvbkNsaWNrKCk6IEV2ZW50RW1pdHRlcjx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI19wcmV2aW91c0J1dHRvbkNsaWNrO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgbmV4dEJ1dHRvbkNsaWNrKCk6IEV2ZW50RW1pdHRlcjx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI19uZXh0QnV0dG9uQ2xpY2s7XG4gIH1cblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI19uZXh0QnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgI19wcmV2aW91c0J1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb25JdGVyYXRvclByZXZpb3VzQ2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXRoaXMucHJldmlvdXNCdXR0b25EaXNhYmxlZCkge1xuICAgICAgdGhpcy4jX3ByZXZpb3VzQnV0dG9uQ2xpY2suZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZXJhdG9yTmV4dENsaWNrKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKCF0aGlzLm5leHRCdXR0b25EaXNhYmxlZCkge1xuICAgICAgdGhpcy4jX25leHRCdXR0b25DbGljay5lbWl0KCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1pdGVyYXRvcnNcIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwic2t5LWJ0blwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICdza3l1eF9mbHlvdXRfaXRlcmF0b3JfcHJldmlvdXNfYnV0dG9uJyB8IHNreUxpYlJlc291cmNlc1xuICAgIFwiXG4gICAgW2Rpc2FibGVkXT1cInByZXZpb3VzQnV0dG9uRGlzYWJsZWRcIlxuICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICdza3ktYnRuLWRlZmF1bHQgc2t5LW1hcmdpbi1pbmxpbmUtY29tcGFjdCc6ICdkZWZhdWx0JyxcbiAgICAgICdza3ktYnRuLWljb24tYm9yZGVybGVzcyBza3ktbWFyZ2luLWlubGluZS1zbSc6ICdtb2Rlcm4nXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cIm9uSXRlcmF0b3JQcmV2aW91c0NsaWNrKClcIlxuICA+XG4gICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCIgaWNvbj1cImNoZXZyb24tdXBcIiAvPlxuICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCIgaWNvbj1cImNoZXZyb24tdXBcIiBzaXplPVwibGdcIiAvPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwic2t5LWJ0blwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfZmx5b3V0X2l0ZXJhdG9yX25leHRfYnV0dG9uJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgW2Rpc2FibGVkXT1cIm5leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgJ3NreS1idG4tZGVmYXVsdCBza3ktbWFyZ2luLWlubGluZS1jb21wYWN0JzogJ2RlZmF1bHQnLFxuICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzIHNreS1tYXJnaW4taW5saW5lLXNtJzogJ21vZGVybidcbiAgICB9XCJcbiAgICAoY2xpY2spPVwib25JdGVyYXRvck5leHRDbGljaygpXCJcbiAgPlxuICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJjaGV2cm9uLWRvd25cIiAvPlxuICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCIgaWNvbj1cImNoZXZyb24tZG93blwiIHNpemU9XCJsZ1wiIC8+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWl0ZXJhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtaXRlcmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQUVqRjs7R0FFRztBQVFILE1BQU0sT0FBTywwQkFBMEI7SUFPckMsSUFDVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFckMsaUJBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUU3QyxxQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTFDLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSx1QkFBdUI7UUFDNUIsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7K0dBeENVLDBCQUEwQjttR0FBMUIsMEJBQTBCLG9SQ3hCdkMsc25DQWdDQSx3TERWWSxhQUFhLG1LQUFFLHdCQUF3Qix1R0FBRSxjQUFjOzs0RkFFdEQsMEJBQTBCO2tCQVB0QyxTQUFTO2lDQUNJLElBQUksWUFDTixxQkFBcUIsV0FHdEIsQ0FBQyxhQUFhLEVBQUUsd0JBQXdCLEVBQUUsY0FBYyxDQUFDOzhCQUkzRCxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsc0JBQXNCO3NCQUQ1QixLQUFLO2dCQUlLLG1CQUFtQjtzQkFEN0IsTUFBTTtnQkFNSSxlQUFlO3NCQUR6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnQHNreXV4L2ljb24nO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreUZseW91dFJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktZmx5b3V0LXJlc291cmNlcy5tb2R1bGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdza3ktZmx5b3V0LWl0ZXJhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbU2t5SWNvbk1vZHVsZSwgU2t5Rmx5b3V0UmVzb3VyY2VzTW9kdWxlLCBTa3lUaGVtZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUZseW91dEl0ZXJhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgcHVibGljIG5leHRCdXR0b25EaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcHJldmlvdXNCdXR0b25EaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBwcmV2aW91c0J1dHRvbkNsaWNrKCk6IEV2ZW50RW1pdHRlcjx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI19wcmV2aW91c0J1dHRvbkNsaWNrO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgbmV4dEJ1dHRvbkNsaWNrKCk6IEV2ZW50RW1pdHRlcjx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI19uZXh0QnV0dG9uQ2xpY2s7XG4gIH1cblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI19uZXh0QnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgI19wcmV2aW91c0J1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb25JdGVyYXRvclByZXZpb3VzQ2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXRoaXMucHJldmlvdXNCdXR0b25EaXNhYmxlZCkge1xuICAgICAgdGhpcy4jX3ByZXZpb3VzQnV0dG9uQ2xpY2suZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZXJhdG9yTmV4dENsaWNrKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKCF0aGlzLm5leHRCdXR0b25EaXNhYmxlZCkge1xuICAgICAgdGhpcy4jX25leHRCdXR0b25DbGljay5lbWl0KCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1pdGVyYXRvcnNcIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwic2t5LWJ0blwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICdza3l1eF9mbHlvdXRfaXRlcmF0b3JfcHJldmlvdXNfYnV0dG9uJyB8IHNreUxpYlJlc291cmNlc1xuICAgIFwiXG4gICAgW2Rpc2FibGVkXT1cInByZXZpb3VzQnV0dG9uRGlzYWJsZWRcIlxuICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICdza3ktYnRuLWRlZmF1bHQgc2t5LW1hcmdpbi1pbmxpbmUtY29tcGFjdCc6ICdkZWZhdWx0JyxcbiAgICAgICdza3ktYnRuLWljb24tYm9yZGVybGVzcyBza3ktbWFyZ2luLWlubGluZS1zbSc6ICdtb2Rlcm4nXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cIm9uSXRlcmF0b3JQcmV2aW91c0NsaWNrKClcIlxuICA+XG4gICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCIgaWNvbj1cImNoZXZyb24tdXBcIiAvPlxuICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCIgaWNvbj1cImNoZXZyb24tdXBcIiBzaXplPVwibGdcIiAvPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwic2t5LWJ0blwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfZmx5b3V0X2l0ZXJhdG9yX25leHRfYnV0dG9uJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgW2Rpc2FibGVkXT1cIm5leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgJ3NreS1idG4tZGVmYXVsdCBza3ktbWFyZ2luLWlubGluZS1jb21wYWN0JzogJ2RlZmF1bHQnLFxuICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzIHNreS1tYXJnaW4taW5saW5lLXNtJzogJ21vZGVybidcbiAgICB9XCJcbiAgICAoY2xpY2spPVwib25JdGVyYXRvck5leHRDbGljaygpXCJcbiAgPlxuICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJjaGV2cm9uLWRvd25cIiAvPlxuICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCIgaWNvbj1cImNoZXZyb24tZG93blwiIHNpemU9XCJsZ1wiIC8+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -453,8 +453,8 @@ export class SkyFlyoutComponent {
453
453
  this.enableTrapFocus = true;
454
454
  });
455
455
  }
456
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
457
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SkyFlyoutComponent, isStandalone: true, selector: "sky-flyout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [SkyFlyoutAdapterService], viewQueries: [{ propertyName: "flyoutRef", first: true, predicate: ["flyoutRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "flyoutHeader", first: true, predicate: ["flyoutHeader"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n #flyoutRef\n class=\"sky-flyout\"\n skyResponsiveHost\n tabindex=\"-1\"\n [attr.role]=\"config.ariaRole ? config.ariaRole : 'dialog'\"\n [attr.aria-describedby]=\"config.ariaDescribedBy\"\n [attr.aria-label]=\"config.ariaLabel\"\n [attr.aria-labelledby]=\"config.ariaLabelledBy\"\n [attr.aria-modal]=\"\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\n \"\n [attr.hidden]=\"!instanceReady ? true : undefined\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [style.z-index]=\"zIndex$ | async\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n [cdkTrapFocus]=\"enableTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"enableTrapFocusAutoCapture\"\n (@flyoutState.done)=\"animationDone($event)\"\n>\n <div\n #flyoutHeader\n class=\"sky-flyout-header\"\n [skyThemeClass]=\"{\n 'sky-padding-squish-large': 'default'\n }\"\n [style.z-index]=\"zIndex$ | async\"\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *skyThemeIf=\"'modern'\"\n class=\"sky-btn sky-btn-icon-borderless sky-margin-inline-sm sky-flyout-header-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon icon=\"tile-drag\" size=\"lg\" />\n </button>\n\n @if (config.showIterator) {\n <sky-flyout-iterator\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n />\n }\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\" />\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\" />\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"close\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"close\" size=\"lg\" />\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\">\n <div #target></div>\n </div>\n <div\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n tabindex=\"0\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n (keydown)=\"onResizeHandleKeyDown($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n ></div>\n</div>\n\n<ng-template #permalinkTemplate>\n @if (permalink) {\n @if (permalink.url) {\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n } @else if (permalink.route) {\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n }\n }\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n @if (primaryAction && primaryAction.callback) {\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-flyout-btn-primary-action sky-margin-inline-default\"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n }\n</ng-template>\n", styles: [".sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:#fff;--sky-background-color-page-default: #fff;border-left:6px solid #0974a1}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-fullscreen .sky-flyout-header{width:100%}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:14px;position:absolute;left:-10px;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:1px solid #cdcfd2;width:inherit;background:#eeeeef;height:50px;display:flex;position:fixed;align-items:flex-start}.sky-flyout-header-content{flex-grow:1}.sky-flyout-btn-permalink:hover{text-decoration:none}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;margin-top:50px;height:calc(100% - 50px)}:host-context(.sky-theme-modern) .sky-flyout{border-left:0}:host-context(.sky-theme-modern) .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}:host-context(.sky-theme-modern) .sky-flyout-header-grab-handle{cursor:move;cursor:-webkit-grab;cursor:-moz-grab}.sky-theme-modern .sky-flyout{border-left:0}.sky-theme-modern .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}.sky-theme-modern .sky-flyout-header-grab-handle{cursor:move;cursor:-webkit-grab;cursor:-moz-grab}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout{background:#000;--sky-background-color-page-default: #000}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout-header{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout{background:#000;--sky-background-color-page-default: #000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout-header{background:#000}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: SkyResponsiveHostDirective, selector: "[skyResponsiveHost]", exportAs: ["skyResponsiveHost"] }, { kind: "ngmodule", type: SkyHrefModule }, { kind: "directive", type: i4.λ1, selector: "[skyHref]", inputs: ["skyHref", "queryParams", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i5.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: ["nextButtonDisabled", "previousButtonDisabled"], outputs: ["previousButtonClick", "nextButtonClick"] }, { kind: "ngmodule", type: SkyFlyoutResourcesModule }, { kind: "pipe", type: i6.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i7.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], animations: [
456
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
457
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyFlyoutComponent, isStandalone: true, selector: "sky-flyout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [SkyFlyoutAdapterService], viewQueries: [{ propertyName: "flyoutRef", first: true, predicate: ["flyoutRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "flyoutHeader", first: true, predicate: ["flyoutHeader"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n #flyoutRef\n class=\"sky-flyout\"\n skyResponsiveHost\n tabindex=\"-1\"\n [attr.role]=\"config.ariaRole ? config.ariaRole : 'dialog'\"\n [attr.aria-describedby]=\"config.ariaDescribedBy\"\n [attr.aria-label]=\"config.ariaLabel\"\n [attr.aria-labelledby]=\"config.ariaLabelledBy\"\n [attr.aria-modal]=\"\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\n \"\n [attr.hidden]=\"!instanceReady ? true : undefined\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [style.z-index]=\"zIndex$ | async\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n [cdkTrapFocus]=\"enableTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"enableTrapFocusAutoCapture\"\n (@flyoutState.done)=\"animationDone($event)\"\n>\n <div\n #flyoutHeader\n class=\"sky-flyout-header\"\n [skyThemeClass]=\"{\n 'sky-padding-squish-large': 'default'\n }\"\n [style.z-index]=\"zIndex$ | async\"\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *skyThemeIf=\"'modern'\"\n class=\"sky-btn sky-btn-icon-borderless sky-margin-inline-sm sky-flyout-header-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon icon=\"tile-drag\" size=\"lg\" />\n </button>\n\n @if (config.showIterator) {\n <sky-flyout-iterator\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n />\n }\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\" />\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\" />\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"close\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"close\" size=\"lg\" />\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\">\n <div #target></div>\n </div>\n <div\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n tabindex=\"0\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n (keydown)=\"onResizeHandleKeyDown($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n ></div>\n</div>\n\n<ng-template #permalinkTemplate>\n @if (permalink) {\n @if (permalink.url) {\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n } @else if (permalink.route) {\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n }\n }\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n @if (primaryAction && primaryAction.callback) {\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-flyout-btn-primary-action sky-margin-inline-default\"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n }\n</ng-template>\n", styles: [".sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:#fff;--sky-background-color-page-default: #fff;border-left:6px solid #0974a1}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-fullscreen .sky-flyout-header{width:100%}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:14px;position:absolute;left:-10px;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:1px solid #cdcfd2;width:inherit;background:#eeeeef;height:50px;display:flex;position:fixed;align-items:flex-start}.sky-flyout-header-content{flex-grow:1}.sky-flyout-btn-permalink:hover{text-decoration:none}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;margin-top:50px;height:calc(100% - 50px)}:host-context(.sky-theme-modern) .sky-flyout{border-left:0}:host-context(.sky-theme-modern) .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}:host-context(.sky-theme-modern) .sky-flyout-header-grab-handle{cursor:move;cursor:-webkit-grab;cursor:-moz-grab}.sky-theme-modern .sky-flyout{border-left:0}.sky-theme-modern .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}.sky-theme-modern .sky-flyout-header-grab-handle{cursor:move;cursor:-webkit-grab;cursor:-moz-grab}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout{background:#000;--sky-background-color-page-default: #000}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout-header{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout{background:#000;--sky-background-color-page-default: #000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout-header{background:#000}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: SkyResponsiveHostDirective, selector: "[skyResponsiveHost]", exportAs: ["skyResponsiveHost"] }, { kind: "ngmodule", type: SkyHrefModule }, { kind: "directive", type: i4.λ1, selector: "[skyHref]", inputs: ["skyHref", "queryParams", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i5.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: ["nextButtonDisabled", "previousButtonDisabled"], outputs: ["previousButtonClick", "nextButtonClick"] }, { kind: "ngmodule", type: SkyFlyoutResourcesModule }, { kind: "pipe", type: i6.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i7.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], animations: [
458
458
  trigger('flyoutState', [
459
459
  state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),
460
460
  state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),
@@ -466,7 +466,7 @@ export class SkyFlyoutComponent {
466
466
  ]),
467
467
  ], changeDetection: i0.ChangeDetectionStrategy.Default }); }
468
468
  }
469
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutComponent, decorators: [{
469
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutComponent, decorators: [{
470
470
  type: Component,
471
471
  args: [{ standalone: true, selector: 'sky-flyout', providers: [SkyFlyoutAdapterService], animations: [
472
472
  trigger('flyoutState', [
@@ -511,4 +511,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
511
511
  type: HostListener,
512
512
  args: ['window:resize', ['$event']]
513
513
  }] } });
514
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLE1BQU0sRUFJTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLGtCQUFrQixHQUNuQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVB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QUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7NEJBQ3pELEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDOzRCQUNwRSxVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztnQ0FDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQzs2QkFDYixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO3lCQUNoRCxDQUFDO3FCQUNILG1CQUVnQix1QkFBdUIsQ0FBQyxPQUFPLFdBQ3ZDO3dCQUNQLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixZQUFZO3dCQUNaLDBCQUEwQjt3QkFDMUIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4QixjQUFjO3FCQUNmO3dEQWlETSxTQUFTO3NCQUpmLFNBQVM7dUJBQUMsV0FBVyxFQUFFO3dCQUN0QixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT00sTUFBTTtzQkFKWixTQUFTO3VCQUFDLFFBQVEsRUFBRTt3QkFDbkIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT00sWUFBWTtzQkFKbEIsU0FBUzt1QkFBQyxjQUFjLEVBQUU7d0JBQ3pCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkF5Q00sY0FBYztzQkFEcEIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBbmltYXRpb25FdmVudCxcbiAgYW5pbWF0ZSxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEVudmlyb25tZW50SW5qZWN0b3IsXG4gIEhvc3RMaXN0ZW5lcixcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIFNLWV9TVEFDS0lOR19DT05URVhULFxuICBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgU2t5UmVzcG9uc2l2ZUhvc3REaXJlY3RpdmUsXG4gIFNreVVJQ29uZmlnU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaWNvbic7XG5pbXBvcnQgeyBTa3lIcmVmTW9kdWxlIH0gZnJvbSAnQHNreXV4L3JvdXRlcic7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0UmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS1mbHlvdXQtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreUZseW91dEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9mbHlvdXQtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUZseW91dEluc3RhbmNlIH0gZnJvbSAnLi9mbHlvdXQtaW5zdGFuY2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0SXRlcmF0b3JDb21wb25lbnQgfSBmcm9tICcuL2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0QWN0aW9uIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtYWN0aW9uJztcbmltcG9ydCB7IFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlciB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWJlZm9yZS1jbG9zZS1oYW5kbGVyJztcbmltcG9ydCB7IFNreUZseW91dENvbmZpZyB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb25maWdJbnRlcm5hbCB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWNvbmZpZy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UtdHlwZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRQZXJtYWxpbmsgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1wZXJtYWxpbmsnO1xuXG5jb25zdCBGTFlPVVRfT1BFTl9TVEFURSA9ICdmbHlvdXRPcGVuJztcbmNvbnN0IEZMWU9VVF9DTE9TRURfU1RBVEUgPSAnZmx5b3V0Q2xvc2VkJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NreS1mbHlvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmx5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmx5b3V0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreUZseW91dEFkYXB0ZXJTZXJ2aWNlXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2ZseW91dFN0YXRlJywgW1xuICAgICAgc3RhdGUoRkxZT1VUX09QRU5fU1RBVEUsIHN0eWxlKHsgdHJhbnNmb3JtOiAnaW5pdGlhbCcgfSkpLFxuICAgICAgc3RhdGUoRkxZT1VUX0NMT1NFRF9TVEFURSwgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksXG4gICAgICAgIGFuaW1hdGUoMjUwKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbihgKiA8PT4gKmAsIGFuaW1hdGUoJzI1MG1zIGVhc2UtaW4nKSksXG4gICAgXSksXG4gIF0sXG4gIC8vIEFsbG93IGF1dG9tYXRpYyBjaGFuZ2UgZGV0ZWN0aW9uIGZvciBjaGlsZCBjb21wb25lbnRzLlxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gIGltcG9ydHM6IFtcbiAgICBBMTF5TW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgU2t5UmVzcG9uc2l2ZUhvc3REaXJlY3RpdmUsXG4gICAgU2t5SHJlZk1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUZseW91dEl0ZXJhdG9yQ29tcG9uZW50LFxuICAgIFNreUZseW91dFJlc291cmNlc01vZHVsZSxcbiAgICBTa3lUaGVtZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgY29uZmlnOiBTa3lGbHlvdXRDb25maWdJbnRlcm5hbCA9IHtcbiAgICBkZWZhdWx0V2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoIC8gMixcbiAgICBtaW5XaWR0aDogMzIwLFxuICAgIG1heFdpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aCAvIDIsXG4gICAgcHJvdmlkZXJzOiBbXSxcbiAgfTtcbiAgcHVibGljIGVuYWJsZVRyYXBGb2N1cyA9IGZhbHNlO1xuICBwdWJsaWMgZW5hYmxlVHJhcEZvY3VzQXV0b0NhcHR1cmUgPSBmYWxzZTtcbiAgcHVibGljIGZseW91dElkID0gYHNreS1mbHlvdXQtJHsrK25leHRJZH1gO1xuICBwdWJsaWMgZmx5b3V0U3RhdGUgPSBGTFlPVVRfQ0xPU0VEX1NUQVRFO1xuICBwdWJsaWMgaXNPcGVuID0gZmFsc2U7XG4gIHB1YmxpYyBpc09wZW5pbmcgPSBmYWxzZTtcblxuICBwdWJsaWMgZmx5b3V0V2lkdGggPSAwO1xuICBwdWJsaWMgaW5zdGFuY2VSZWFkeSA9IGZhbHNlO1xuICBwdWJsaWMgaXNEcmFnZ2luZyA9IGZhbHNlO1xuICBwdWJsaWMgaXNGdWxsc2NyZWVuID0gZmFsc2U7XG4gIHB1YmxpYyByZXNpemVLZXlDb250cm9sQWN0aXZlID0gZmFsc2U7XG5cbiAgI3hDb29yZCA9IDA7XG4gICN3aW5kb3dCdWZmZXJTaXplID0gMjA7XG5cbiAgcHVibGljIGdldCBtZXNzYWdlU3RyZWFtKCk6IFN1YmplY3Q8U2t5Rmx5b3V0TWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLiNfbWVzc2FnZVN0cmVhbTtcbiAgfVxuXG4gIHB1YmxpYyBwZXJtYWxpbms6IFNreUZseW91dFBlcm1hbGluayA9IHt9O1xuXG4gIHB1YmxpYyBwZXJtYWxpbmtMYWJlbCA9ICcnO1xuXG4gIHB1YmxpYyBwcmltYXJ5QWN0aW9uOiBTa3lGbHlvdXRBY3Rpb24gPSB7fTtcblxuICBwdWJsaWMgcHJpbWFyeUFjdGlvbkxhYmVsID0gJyc7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHdpZHRoU3RlcCA9IDEwO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2ZseW91dFJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGZseW91dFJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnZmx5b3V0SGVhZGVyJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgZmx5b3V0SGVhZGVyOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCB6SW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgxMDAxKTtcblxuICAjZmx5b3V0SW5zdGFuY2U6IFNreUZseW91dEluc3RhbmNlPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfbWVzc2FnZVN0cmVhbSA9IG5ldyBTdWJqZWN0PFNreUZseW91dE1lc3NhZ2U+KCk7XG5cbiAgcmVhZG9ubHkgI2FkYXB0ZXIgPSBpbmplY3QoU2t5Rmx5b3V0QWRhcHRlclNlcnZpY2UpO1xuICByZWFkb25seSAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICByZWFkb25seSAjZHluYW1pY0NvbXBvbmVudFN2YyA9IGluamVjdChTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSk7XG4gIHJlYWRvbmx5ICNlbnZpcm9ubWVudEluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpO1xuICByZWFkb25seSAjbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHJlYWRvbmx5ICNyZXNvdXJjZXNTZXJ2aWNlID0gaW5qZWN0KFNreUxpYlJlc291cmNlc1NlcnZpY2UpO1xuICByZWFkb25seSAjdWlDb25maWdTZXJ2aWNlID0gaW5qZWN0KFNreVVJQ29uZmlnU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gQWxsIGNvbW1hbmRzIGZsb3cgdGhyb3VnaCB0aGUgbWVzc2FnZSBzdHJlYW0uXG4gICAgdGhpcy5tZXNzYWdlU3RyZWFtXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKSA9PiB7XG4gICAgICAgIHRoaXMuI2hhbmRsZUluY29taW5nTWVzc2FnZXMobWVzc2FnZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmZseW91dEhlYWRlcikge1xuICAgICAgdGhpcy4jYWRhcHRlci5hZGp1c3RIZWFkZXJGb3JIZWxwKHRoaXMuZmx5b3V0SGVhZGVyKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbldpbmRvd1Jlc2l6ZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNzZXRGdWxsc2NyZWVuKCk7XG5cbiAgICBpZiAodGhpcy5pc0Z1bGxzY3JlZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgV2luZG93O1xuXG4gICAgaWYgKHRhcmdldC5pbm5lcldpZHRoIC0gdGhpcy5mbHlvdXRXaWR0aCA8IHRoaXMuI3dpbmRvd0J1ZmZlclNpemUpIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB0YXJnZXQuaW5uZXJXaWR0aCAtIHRoaXMuI3dpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLiN4Q29vcmQgPSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy4jc2V0VXNlckRhdGEoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXR0YWNoPFQ+KFxuICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICBjb25maWc/OiBTa3lGbHlvdXRDb25maWcsXG4gICAgZW52aXJvbm1lbnRJbmplY3Rvcj86IEVudmlyb25tZW50SW5qZWN0b3IsXG4gICk6IFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgICB0aGlzLiNjbGVhblRlbXBsYXRlKCk7XG5cbiAgICAvLyBFbWl0IHRoZSBjbG9zZWQgZXZlbnQgb24gYW55IHByZXZpb3VzbHkgb3BlbmVkIGZseW91dCBpbnN0YW5jZVxuICAgIGlmICh0aGlzLiNmbHlvdXRJbnN0YW5jZSkge1xuICAgICAgdGhpcy4jbm90aWZ5Q2xvc2VkKCk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWcgPSBPYmplY3QuYXNzaWduKFxuICAgICAge1xuICAgICAgICBkZWZhdWx0V2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoIC8gMixcbiAgICAgICAgbWluV2lkdGg6IDMyMCxcbiAgICAgICAgbWF4V2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoIC8gMixcbiAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogU0tZX1NUQUNLSU5HX0NPTlRFWFQsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICB6SW5kZXg6IHRoaXMuekluZGV4JFxuICAgICAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgY29uZmlnLFxuICAgICk7XG4gICAgaWYgKGNvbmZpZz8uZGVmYXVsdFdpZHRoICYmICFjb25maWc/Lm1heFdpZHRoKSB7XG4gICAgICB0aGlzLmNvbmZpZy5tYXhXaWR0aCA9IGNvbmZpZz8uZGVmYXVsdFdpZHRoO1xuICAgIH1cblxuICAgIHRoaXMuY29uZmlnLnNob3dJdGVyYXRvciA9IHRoaXMuY29uZmlnLnNob3dJdGVyYXRvciB8fCBmYWxzZTtcbiAgICB0aGlzLmNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9XG4gICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCB8fCBmYWxzZTtcbiAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgPVxuICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkIHx8IGZhbHNlO1xuXG4gICAgdGhpcy5wZXJtYWxpbmsgPSB0aGlzLmNvbmZpZy5wZXJtYWxpbmsgPz8ge307XG4gICAgdGhpcy5wZXJtYWxpbmtMYWJlbCA9XG4gICAgICB0aGlzLmNvbmZpZy5wZXJtYWxpbmsgJiYgdGhpcy5jb25maWcucGVybWFsaW5rLmxhYmVsXG4gICAgICAgID8gdGhpcy5jb25maWcucGVybWFsaW5rLmxhYmVsXG4gICAgICAgIDogdGhpcy4jZ2V0U3RyaW5nKCdza3l1eF9mbHlvdXRfcGVybWFsaW5rX2J1dHRvbicpO1xuXG4gICAgdGhpcy5wcmltYXJ5QWN0aW9uID0gdGhpcy5jb25maWcucHJpbWFyeUFjdGlvbiA/PyB7fTtcbiAgICB0aGlzLnByaW1hcnlBY3Rpb25MYWJlbCA9XG4gICAgICB0aGlzLmNvbmZpZy5wcmltYXJ5QWN0aW9uICYmIHRoaXMuY29uZmlnLnByaW1hcnlBY3Rpb24ubGFiZWxcbiAgICAgICAgPyB0aGlzLmNvbmZpZy5wcmltYXJ5QWN0aW9uLmxhYmVsXG4gICAgICAgIDogdGhpcy4jZ2V0U3RyaW5nKCdza3l1eF9mbHlvdXRfcHJpbWFyeV9hY3Rpb25fYnV0dG9uJyk7XG5cbiAgICBlbnZpcm9ubWVudEluamVjdG9yIHx8PSB0aGlzLiNlbnZpcm9ubWVudEluamVjdG9yO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuI2R5bmFtaWNDb21wb25lbnRTdmMuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwge1xuICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogZW52aXJvbm1lbnRJbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogdGhpcy5jb25maWcucHJvdmlkZXJzLFxuICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy50YXJnZXQsXG4gICAgfSk7XG5cbiAgICAvKiBzYWZldHkgY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIWNvbXBvbmVudFJlZikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRmx5b3V0J3MgaW50ZXJuYWwgY29tcG9uZW50IGNvdWxkIG5vdCBiZSBjcmVhdGVkXCIpO1xuICAgIH1cblxuICAgIHRoaXMuI2ZseW91dEluc3RhbmNlID0gdGhpcy4jY3JlYXRlRmx5b3V0SW5zdGFuY2U8VD4oY29tcG9uZW50UmVmLmluc3RhbmNlKTtcblxuICAgIC8vIFRoaXMgaXMgdXNlZCB0byBlbnN1cmUgd2UgZG8gbm90IHJlbmRlciB0aGUgZmx5b3V0IHVudGlsIHdlIGhhdmUgYXR0YWNoZWQgdGhlIGNvbXBvbmVudC5cbiAgICAvLyBUaGlzIGFsbG93cyB0aGUgYXJpYS1sYWJlbGxlZGJ5IHRvIGZ1bmN0aW9uIGNvcnJlY3RseS5cbiAgICB0aGlzLmluc3RhbmNlUmVhZHkgPSB0cnVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgLy8gT3BlbiB0aGUgZmx5b3V0IGltbWVkaWF0ZWx5LlxuICAgIHRoaXMubWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgIHR5cGU6IFNreUZseW91dE1lc3NhZ2VUeXBlLk9wZW4sXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5jb25maWcuc2V0dGluZ3NLZXkpIHtcbiAgICAgIHRoaXMuI3VpQ29uZmlnU2VydmljZVxuICAgICAgICAuZ2V0Q29uZmlnKHRoaXMuY29uZmlnLnNldHRpbmdzS2V5KVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLmZseW91dFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLmZseW91dFdpZHRoID0gdmFsdWUuZmx5b3V0V2lkdGg7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEJhZCBkYXRhLCBvciBjb25maWcgaXMgdGhlIGRlZmF1bHQgY29uZmlnLlxuICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRoaXMuY29uZmlnLmRlZmF1bHRXaWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy4jY2hlY2tJbml0aWFsU2l6ZSgpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRoaXMuY29uZmlnLmRlZmF1bHRXaWR0aDtcbiAgICAgIHRoaXMuI2NoZWNrSW5pdGlhbFNpemUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jZmx5b3V0SW5zdGFuY2U7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaW52b2tlUHJpbWFyeUFjdGlvbigpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5wcmltYXJ5QWN0aW9uLmNhbGxiYWNrKSB7XG4gICAgICB0aGlzLnByaW1hcnlBY3Rpb24uY2FsbGJhY2soKTtcblxuICAgICAgaWYgKHRoaXMucHJpbWFyeUFjdGlvbi5jbG9zZUFmdGVySW52b2tpbmcpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0QW5pbWF0aW9uU3RhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pbnN0YW5jZVJlYWR5ICYmIHRoaXMuaXNPcGVuaW5nXG4gICAgICA/IEZMWU9VVF9PUEVOX1NUQVRFXG4gICAgICA6IEZMWU9VVF9DTE9TRURfU1RBVEU7XG4gIH1cblxuICBwdWJsaWMgYW5pbWF0aW9uRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gRkxZT1VUX09QRU5fU1RBVEUpIHtcbiAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gRkxZT1VUX0NMT1NFRF9TVEFURSkge1xuICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuI25vdGlmeUNsb3NlZCgpO1xuICAgICAgdGhpcy4jY2xlYW5UZW1wbGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkhlYWRlckdyYWJIYW5kbGVNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm9uUmVzaXplSGFuZGxlTW91c2VEb3duKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkhlYWRlckdyYWJIYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy4jaGFuZGxlUmVzaXplS2V5RG93bihldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25SZXNpemVIYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy4jaGFuZGxlUmVzaXplS2V5RG93bihldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25SZXNpemVIYW5kbGVNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgaWYgKHRoaXMuaXNGdWxsc2NyZWVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgICB0aGlzLiN4Q29vcmQgPSBldmVudC5jbGllbnRYO1xuXG4gICAgdGhpcy4jYWRhcHRlci50b2dnbGVJZnJhbWVQb2ludGVyRXZlbnRzKGZhbHNlKTtcblxuICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNlbW92ZScpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0RyYWdnaW5nO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG1vdmVFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLm9uTW91c2VNb3ZlKG1vdmVFdmVudCk7XG4gICAgICB9KTtcblxuICAgIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaXNEcmFnZ2luZztcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5vbkhhbmRsZVJlbGVhc2UoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uTW91c2VNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgLyogU2FuaXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvZmZzZXRYID0gZXZlbnQuY2xpZW50WCAtIHRoaXMuI3hDb29yZDtcbiAgICBsZXQgd2lkdGggPSB0aGlzLmZseW91dFdpZHRoO1xuXG4gICAgd2lkdGggLT0gb2Zmc2V0WDtcblxuICAgIGlmICh3aWR0aCA8IHRoaXMuY29uZmlnLm1pbldpZHRoIHx8IHdpZHRoID4gdGhpcy5jb25maWcubWF4V2lkdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggLSB3aWR0aCA8IHRoaXMuI3dpbmRvd0J1ZmZlclNpemUpIHtcbiAgICAgIHdpZHRoID0gd2luZG93LmlubmVyV2lkdGggLSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy4jeENvb3JkID0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jeENvb3JkID0gZXZlbnQuY2xpZW50WDtcbiAgICB9XG5cbiAgICB0aGlzLmZseW91dFdpZHRoID0gd2lkdGg7XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkhhbmRsZVJlbGVhc2UoKTogdm9pZCB7XG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy4jYWRhcHRlci50b2dnbGVJZnJhbWVQb2ludGVyRXZlbnRzKHRydWUpO1xuICAgICAgICB0aGlzLiNzZXRVc2VyRGF0YSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25JdGVyYXRvclByZXZpb3VzQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jZmx5b3V0SW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuI2ZseW91dEluc3RhbmNlLml0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljay5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jZmx5b3V0SW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuI2ZseW91dEluc3RhbmNlLml0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICAjY3JlYXRlRmx5b3V0SW5zdGFuY2U8VD4oY29tcG9uZW50OiBUKTogU2t5Rmx5b3V0SW5zdGFuY2U8VD4ge1xuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFNreUZseW91dEluc3RhbmNlPFQ+KGNvbXBvbmVudCk7XG5cbiAgICBpbnN0YW5jZS5ob3N0Q29udHJvbGxlclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5Rmx5b3V0TWVzc2FnZSkgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTdHJlYW0ubmV4dChtZXNzYWdlKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgI2hhbmRsZUluY29taW5nTWVzc2FnZXMobWVzc2FnZTogU2t5Rmx5b3V0TWVzc2FnZSk6IHZvaWQge1xuICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLk9wZW46XG4gICAgICAgIGlmICghdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNPcGVuaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNpbml0Rm9jdXNUcmFwKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLkNsb3NlOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgKHRoaXMuI2ZseW91dEluc3RhbmNlPy5iZWZvcmVDbG9zZSBhcyBTdWJqZWN0PGFueT4pPy5vYnNlcnZlcnNcbiAgICAgICAgICAgIC5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICBtZXNzYWdlLmRhdGE/Lmlnbm9yZUJlZm9yZUNsb3NlXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmlzT3BlbmluZyA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICh0aGlzLiNmbHlvdXRJbnN0YW5jZT8uYmVmb3JlQ2xvc2UgYXMgU3ViamVjdDxhbnk+KT8ubmV4dChcbiAgICAgICAgICAgIG5ldyBTa3lGbHlvdXRCZWZvcmVDbG9zZUhhbmRsZXIoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuaXNPcGVuaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLkVuYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbjpcbiAgICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRW5hYmxlSXRlcmF0b3JQcmV2aW91c0J1dHRvbjpcbiAgICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLkRpc2FibGVJdGVyYXRvck5leHRCdXR0b246XG4gICAgICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRGlzYWJsZUl0ZXJhdG9yUHJldmlvdXNCdXR0b246XG4gICAgICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI25vdGlmeUNsb3NlZCgpOiB2b2lkIHtcbiAgICB0aGlzLiNmbHlvdXRJbnN0YW5jZT8uY2xvc2VkLmVtaXQoKTtcbiAgICB0aGlzLiNmbHlvdXRJbnN0YW5jZT8uY2xvc2VkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAjY2xlYW5UZW1wbGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRhcmdldD8uY2xlYXIoKTtcbiAgfVxuXG4gICNzZXRGdWxsc2NyZWVuKCk6IHZvaWQge1xuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCAtIHRoaXMuI3dpbmRvd0J1ZmZlclNpemUgPCB0aGlzLmNvbmZpZy5taW5XaWR0aCkge1xuICAgICAgdGhpcy5pc0Z1bGxzY3JlZW4gPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzRnVsbHNjcmVlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gICNzZXRVc2VyRGF0YSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWcuc2V0dGluZ3NLZXkpIHtcbiAgICAgIHRoaXMuI3VpQ29uZmlnU2VydmljZVxuICAgICAgICAuc2V0Q29uZmlnKHRoaXMuY29uZmlnLnNldHRpbmdzS2V5LCB7XG4gICAgICAgICAgZmx5b3V0V2lkdGg6IHRoaXMuZmx5b3V0V2lkdGgsXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICgpID0+IHt9LFxuICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignQ291bGQgbm90IHNhdmUgZmx5b3V0IGRhdGEuJyk7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oZXJyKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gICNjaGVja0luaXRpYWxTaXplKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZseW91dFdpZHRoIDwgdGhpcy5jb25maWcubWluV2lkdGgpIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB0aGlzLmNvbmZpZy5taW5XaWR0aDtcbiAgICAgIHRoaXMuI3NldFVzZXJEYXRhKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmZseW91dFdpZHRoID4gdGhpcy5jb25maWcubWF4V2lkdGgpIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB0aGlzLmNvbmZpZy5tYXhXaWR0aDtcbiAgICAgIHRoaXMuI3NldFVzZXJEYXRhKCk7XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIGZseW91dCBkb2VzIG5vdCBsb2FkIGxhcmdlciB0aGFuIHRoZSB3aW5kb3cgYW5kIGl0cyBidWZmZXJcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggLSB0aGlzLmZseW91dFdpZHRoIDwgdGhpcy4jd2luZG93QnVmZmVyU2l6ZSkge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZTtcbiAgICAgIHRoaXMuI3hDb29yZCA9IHRoaXMuI3dpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLiNzZXRVc2VyRGF0YSgpO1xuICAgIH1cblxuICAgIHRoaXMuI3NldEZ1bGxzY3JlZW4oKTtcbiAgfVxuXG4gICNnZXRTdHJpbmcoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIFRPRE86IE5lZWQgdG8gaW1wbGVtZW50IHRoZSBhc3luYyBgZ2V0U3RyaW5nYCBtZXRob2QgaW4gYSBicmVha2luZyBjaGFuZ2UuXG4gICAgcmV0dXJuIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKHsgbG9jYWxlOiAnZW4tVVMnIH0sIGtleSk7XG4gIH1cblxuICAjaGFuZGxlUmVzaXplS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGV2ZW50LmtleSkge1xuICAgICAgY29uc3Qga2V5UHJlc3NlZCA9IGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJ2Fycm93JywgJycpO1xuICAgICAgc3dpdGNoIChrZXlQcmVzc2VkKSB7XG4gICAgICAgIGNhc2UgJ2VudGVyJzpcbiAgICAgICAgY2FzZSAnICc6XG4gICAgICAgICAgdGhpcy5yZXNpemVLZXlDb250cm9sQWN0aXZlID0gIXRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICh0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgaWYgKHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSkge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLmZseW91dFdpZHRoIDwgdGhpcy5jb25maWcubWF4V2lkdGgpIHtcbiAgICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IE1hdGgubWluKFxuICAgICAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggKyB0aGlzLndpZHRoU3RlcCxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5tYXhXaWR0aCxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgIGlmICh0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmUpIHtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICBpZiAodGhpcy5mbHlvdXRXaWR0aCA+IHRoaXMuY29uZmlnLm1pbldpZHRoKSB7XG4gICAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSBNYXRoLm1heChcbiAgICAgICAgICAgICAgICB0aGlzLmZseW91dFdpZHRoIC0gdGhpcy53aWR0aFN0ZXAsXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcubWluV2lkdGgsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEV4ZWN1dGVzIGEgZnVuY3Rpb24gd2hlbiB0aGUgem9uZSBpcyBzdGFibGUuICovXG4gICNleGVjdXRlT25TdGFibGUoZm46ICgpID0+IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNuZ1pvbmUuaXNTdGFibGUpIHtcbiAgICAgIGZuKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI25nWm9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShmbik7XG4gICAgfVxuICB9XG5cbiAgI2luaXRGb2N1c1RyYXAoKTogdm9pZCB7XG4gICAgdGhpcy5lbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZSA9IGZhbHNlO1xuICAgIHRoaXMuZW5hYmxlVHJhcEZvY3VzID0gZmFsc2U7XG4gICAgLy8gV2FpdGluZyBmb3Igem9uZSB0byBiZSBzdGFibGUgd2lsbCBhdm9pZCBFeHByZXNzaW9uQ2hhbmdlQWZ0ZXJDaGVja2VkRXJyb3IuXG4gICAgdGhpcy4jZXhlY3V0ZU9uU3RhYmxlKCgpID0+IHtcbiAgICAgIHRoaXMuZW5hYmxlVHJhcEZvY3VzQXV0b0NhcHR1cmUgPSB0cnVlO1xuICAgICAgdGhpcy5lbmFibGVUcmFwRm9jdXMgPSB0cnVlO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2XG4gICNmbHlvdXRSZWZcbiAgY2xhc3M9XCJza3ktZmx5b3V0XCJcbiAgc2t5UmVzcG9uc2l2ZUhvc3RcbiAgdGFiaW5kZXg9XCItMVwiXG4gIFthdHRyLnJvbGVdPVwiY29uZmlnLmFyaWFSb2xlID8gY29uZmlnLmFyaWFSb2xlIDogJ2RpYWxvZydcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImNvbmZpZy5hcmlhRGVzY3JpYmVkQnlcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbmZpZy5hcmlhTGFiZWxcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiY29uZmlnLmFyaWFMYWJlbGxlZEJ5XCJcbiAgW2F0dHIuYXJpYS1tb2RhbF09XCJcbiAgICBjb25maWcuYXJpYVJvbGUgPT09ICdkaWFsb2cnIHx8ICFjb25maWcuYXJpYVJvbGUgPyB0cnVlIDogZmFsc2VcbiAgXCJcbiAgW2F0dHIuaGlkZGVuXT1cIiFpbnN0YW5jZVJlYWR5ID8gdHJ1ZSA6IHVuZGVmaW5lZFwiXG4gIFtpZF09XCJmbHlvdXRJZFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2t5LWZseW91dC1oaWRkZW4nOiAhaXNPcGVuICYmICFpc09wZW5pbmcsXG4gICAgJ3NreS1mbHlvdXQtZnVsbHNjcmVlbic6IGlzRnVsbHNjcmVlblxuICB9XCJcbiAgW3N0eWxlLnotaW5kZXhdPVwiekluZGV4JCB8IGFzeW5jXCJcbiAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICdza3ktc2hhZG93JzogJ2RlZmF1bHQnLFxuICAgICdza3ktZWxldmF0aW9uLTgnOiAnbW9kZXJuJ1xuICB9XCJcbiAgW0BmbHlvdXRTdGF0ZV09XCJnZXRBbmltYXRpb25TdGF0ZSgpXCJcbiAgW3N0eWxlLndpZHRoLnB4XT1cImZseW91dFdpZHRoXCJcbiAgW2Nka1RyYXBGb2N1c109XCJlbmFibGVUcmFwRm9jdXNcIlxuICBbY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVdPVwiZW5hYmxlVHJhcEZvY3VzQXV0b0NhcHR1cmVcIlxuICAoQGZseW91dFN0YXRlLmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgkZXZlbnQpXCJcbj5cbiAgPGRpdlxuICAgICNmbHlvdXRIZWFkZXJcbiAgICBjbGFzcz1cInNreS1mbHlvdXQtaGVhZGVyXCJcbiAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAnc2t5LXBhZGRpbmctc3F1aXNoLWxhcmdlJzogJ2RlZmF1bHQnXG4gICAgfVwiXG4gICAgW3N0eWxlLnotaW5kZXhdPVwiekluZGV4JCB8IGFzeW5jXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktZmx5b3V0LWhlYWRlci1jb250ZW50XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1pY29uLWJvcmRlcmxlc3Mgc2t5LW1hcmdpbi1pbmxpbmUtc20gc2t5LWZseW91dC1oZWFkZXItZ3JhYi1oYW5kbGVcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfZmx5b3V0X3Jlc2l6ZV9oYW5kbGUnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgKGtleWRvd24pPVwib25IZWFkZXJHcmFiSGFuZGxlS2V5RG93bigkZXZlbnQpXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJvbkhlYWRlckdyYWJIYW5kbGVNb3VzZURvd24oJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktaWNvbiBpY29uPVwidGlsZS1kcmFnXCIgc2l6ZT1cImxnXCIgLz5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICBAaWYgKGNvbmZpZy5zaG93SXRlcmF0b3IpIHtcbiAgICAgICAgPHNreS1mbHlvdXQtaXRlcmF0b3JcbiAgICAgICAgICBbbmV4dEJ1dHRvbkRpc2FibGVkXT1cImNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgICAgICAgW3ByZXZpb3VzQnV0dG9uRGlzYWJsZWRdPVwiY29uZmlnLml0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZFwiXG4gICAgICAgICAgKG5leHRCdXR0b25DbGljayk9XCJvbkl0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrKClcIlxuICAgICAgICAgIChwcmV2aW91c0J1dHRvbkNsaWNrKT1cIm9uSXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrKClcIlxuICAgICAgICAvPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJza3ktZmx5b3V0LWhlYWRlci1idXR0b25zXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGVybWFsaW5rVGVtcGxhdGVcIiAvPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByaW1hcnlBY3Rpb25UZW1wbGF0ZVwiIC8+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktZmx5b3V0LWJ0bi1jbG9zZSBza3ktbGFiZWwtaWNvbi10aGVtZS1kZWZhdWx0XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2ZseW91dF9jbG9zZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1idG4tZGVmYXVsdCc6ICdkZWZhdWx0JyxcbiAgICAgICAgICAnc2t5LWJ0bi1pY29uLWJvcmRlcmxlc3MnOiAnbW9kZXJuJ1xuICAgICAgICB9XCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIiBpY29uPVwiY2xvc2VcIiAvPlxuICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiIGljb249XCJjbG9zZVwiIHNpemU9XCJsZ1wiIC8+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJza3ktZmx5b3V0LWNvbnRlbnRcIj5cbiAgICA8ZGl2ICN0YXJnZXQ+PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktZmx5b3V0LXJlc2l6ZS1oYW5kbGVcIlxuICAgIHJvbGU9XCJzZXBhcmF0b3JcIlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgdHlwZT1cInJhbmdlXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImZseW91dElkXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9mbHlvdXRfcmVzaXplX2hhbmRsZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgIFthdHRyLmFyaWEtdmFsdWVtYXhdPVwiY29uZmlnLm1heFdpZHRoXCJcbiAgICBbYXR0ci5hcmlhLXZhbHVlbWluXT1cImNvbmZpZy5taW5XaWR0aFwiXG4gICAgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJmbHlvdXRXaWR0aFwiXG4gICAgKGtleWRvd24pPVwib25SZXNpemVIYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgIChtb3VzZWRvd24pPVwib25SZXNpemVIYW5kbGVNb3VzZURvd24oJGV2ZW50KVwiXG4gID48L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3Blcm1hbGlua1RlbXBsYXRlPlxuICBAaWYgKHBlcm1hbGluaykge1xuICAgIEBpZiAocGVybWFsaW5rLnVybCkge1xuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtYnRuLXBlcm1hbGluayBza3ktbWFyZ2luLWlubGluZS1kZWZhdWx0XCJcbiAgICAgICAgW3NreUhyZWZdPVwicGVybWFsaW5rLnVybFwiXG4gICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LWJ0bi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgICAgICdza3ktYnRuLWJvcmRlcmxlc3MnOiAnbW9kZXJuJ1xuICAgICAgICB9XCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgPlxuICAgICAgICB7eyBwZXJtYWxpbmtMYWJlbCB9fVxuICAgICAgPC9hPlxuICAgIH0gQGVsc2UgaWYgKHBlcm1hbGluay5yb3V0ZSkge1xuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtYnRuLXBlcm1hbGluayBza3ktbWFyZ2luLWlubGluZS1kZWZhdWx0XCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwicGVybWFsaW5rLnJvdXRlLmNvbW1hbmRzXCJcbiAgICAgICAgW2ZyYWdtZW50XT1cInBlcm1hbGluay5yb3V0ZS5leHRyYXM/LmZyYWdtZW50XCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1idG4tYm9yZGVybGVzcyc6ICdtb2Rlcm4nXG4gICAgICAgIH1cIlxuICAgICAgICBbcXVlcnlQYXJhbXNdPVwicGVybWFsaW5rLnJvdXRlLmV4dHJhcz8ucXVlcnlQYXJhbXNcIlxuICAgICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJwZXJtYWxpbmsucm91dGUuZXh0cmFzPy5xdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgICAgW3N0YXRlXT1cInBlcm1hbGluay5yb3V0ZS5leHRyYXM/LnN0YXRlXCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgPlxuICAgICAgICB7eyBwZXJtYWxpbmtMYWJlbCB9fVxuICAgICAgPC9hPlxuICAgIH1cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwcmltYXJ5QWN0aW9uVGVtcGxhdGU+XG4gIEBpZiAocHJpbWFyeUFjdGlvbiAmJiBwcmltYXJ5QWN0aW9uLmNhbGxiYWNrKSB7XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1mbHlvdXQtYnRuLXByaW1hcnktYWN0aW9uIHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHRcIlxuICAgICAgKGNsaWNrKT1cImludm9rZVByaW1hcnlBY3Rpb24oKVwiXG4gICAgPlxuICAgICAge3sgcHJpbWFyeUFjdGlvbkxhYmVsIH19XG4gICAgPC9idXR0b24+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
514
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLE1BQU0sRUFJTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLGtCQUFrQixHQUNuQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVB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QUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7NEJBQ3pELEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDOzRCQUNwRSxVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztnQ0FDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQzs2QkFDYixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO3lCQUNoRCxDQUFDO3FCQUNILG1CQUVnQix1QkFBdUIsQ0FBQyxPQUFPLFdBQ3ZDO3dCQUNQLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixZQUFZO3dCQUNaLDBCQUEwQjt3QkFDMUIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4QixjQUFjO3FCQUNmO3dEQWlETSxTQUFTO3NCQUpmLFNBQVM7dUJBQUMsV0FBVyxFQUFFO3dCQUN0QixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT00sTUFBTTtzQkFKWixTQUFTO3VCQUFDLFFBQVEsRUFBRTt3QkFDbkIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT00sWUFBWTtzQkFKbEIsU0FBUzt1QkFBQyxjQUFjLEVBQUU7d0JBQ3pCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkF5Q00sY0FBYztzQkFEcEIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBbmltYXRpb25FdmVudCxcbiAgYW5pbWF0ZSxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEVudmlyb25tZW50SW5qZWN0b3IsXG4gIEhvc3RMaXN0ZW5lcixcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIFNLWV9TVEFDS0lOR19DT05URVhULFxuICBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgU2t5UmVzcG9uc2l2ZUhvc3REaXJlY3RpdmUsXG4gIFNreVVJQ29uZmlnU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaWNvbic7XG5pbXBvcnQgeyBTa3lIcmVmTW9kdWxlIH0gZnJvbSAnQHNreXV4L3JvdXRlcic7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0UmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS1mbHlvdXQtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreUZseW91dEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9mbHlvdXQtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUZseW91dEluc3RhbmNlIH0gZnJvbSAnLi9mbHlvdXQtaW5zdGFuY2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0SXRlcmF0b3JDb21wb25lbnQgfSBmcm9tICcuL2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0QWN0aW9uIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtYWN0aW9uJztcbmltcG9ydCB7IFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlciB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWJlZm9yZS1jbG9zZS1oYW5kbGVyJztcbmltcG9ydCB7IFNreUZseW91dENvbmZpZyB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb25maWdJbnRlcm5hbCB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWNvbmZpZy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UtdHlwZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRQZXJtYWxpbmsgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1wZXJtYWxpbmsnO1xuXG5jb25zdCBGTFlPVVRfT1BFTl9TVEFURSA9ICdmbHlvdXRPcGVuJztcbmNvbnN0IEZMWU9VVF9DTE9TRURfU1RBVEUgPSAnZmx5b3V0Q2xvc2VkJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NreS1mbHlvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmx5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmx5b3V0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreUZseW91dEFkYXB0ZXJTZXJ2aWNlXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2ZseW91dFN0YXRlJywgW1xuICAgICAgc3RhdGUoRkxZT1VUX09QRU5fU1RBVEUsIHN0eWxlKHsgdHJhbnNmb3JtOiAnaW5pdGlhbCcgfSkpLFxuICAgICAgc3RhdGUoRkxZT1VUX0NMT1NFRF9TVEFURSwgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksXG4gICAgICAgIGFuaW1hdGUoMjUwKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbihgKiA8PT4gKmAsIGFuaW1hdGUoJzI1MG1zIGVhc2UtaW4nKSksXG4gICAgXSksXG4gIF0sXG4gIC8vIEFsbG93IGF1dG9tYXRpYyBjaGFuZ2UgZGV0ZWN0aW9uIGZvciBjaGlsZCBjb21wb25lbnRzLlxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gIGltcG9ydHM6IFtcbiAgICBBMTF5TW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgU2t5UmVzcG9uc2l2ZUhvc3REaXJlY3RpdmUsXG4gICAgU2t5SHJlZk1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUZseW91dEl0ZXJhdG9yQ29tcG9uZW50LFxuICAgIFNreUZseW91dFJlc291cmNlc01vZHVsZSxcbiAgICBTa3lUaGVtZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgY29uZmlnOiBTa3lGbHlvdXRDb25maWdJbnRlcm5hbCA9IHtcbiAgICBkZWZhdWx0V2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoIC8gMixcbiAgICBtaW5XaWR0aDogMzIwLFxuICAgIG1heFdpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aCAvIDIsXG4gICAgcHJvdmlkZXJzOiBbXSxcbiAgfTtcbiAgcHVibGljIGVuYWJsZVRyYXBGb2N1cyA9IGZhbHNlO1xuICBwdWJsaWMgZW5hYmxlVHJhcEZvY3VzQXV0b0NhcHR1cmUgPSBmYWxzZTtcbiAgcHVibGljIGZseW91dElkID0gYHNreS1mbHlvdXQtJHsrK25leHRJZH1gO1xuICBwdWJsaWMgZmx5b3V0U3RhdGUgPSBGTFlPVVRfQ0xPU0VEX1NUQVRFO1xuICBwdWJsaWMgaXNPcGVuID0gZmFsc2U7XG4gIHB1YmxpYyBpc09wZW5pbmcgPSBmYWxzZTtcblxuICBwdWJsaWMgZmx5b3V0V2lkdGggPSAwO1xuICBwdWJsaWMgaW5zdGFuY2VSZWFkeSA9IGZhbHNlO1xuICBwdWJsaWMgaXNEcmFnZ2luZyA9IGZhbHNlO1xuICBwdWJsaWMgaXNGdWxsc2NyZWVuID0gZmFsc2U7XG4gIHB1YmxpYyByZXNpemVLZXlDb250cm9sQWN0aXZlID0gZmFsc2U7XG5cbiAgI3hDb29yZCA9IDA7XG4gICN3aW5kb3dCdWZmZXJTaXplID0gMjA7XG5cbiAgcHVibGljIGdldCBtZXNzYWdlU3RyZWFtKCk6IFN1YmplY3Q8U2t5Rmx5b3V0TWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLiNfbWVzc2FnZVN0cmVhbTtcbiAgfVxuXG4gIHB1YmxpYyBwZXJtYWxpbms6IFNreUZseW91dFBlcm1hbGluayA9IHt9O1xuXG4gIHB1YmxpYyBwZXJtYWxpbmtMYWJlbCA9ICcnO1xuXG4gIHB1YmxpYyBwcmltYXJ5QWN0aW9uOiBTa3lGbHlvdXRBY3Rpb24gPSB7fTtcblxuICBwdWJsaWMgcHJpbWFyeUFjdGlvbkxhYmVsID0gJyc7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHdpZHRoU3RlcCA9IDEwO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2ZseW91dFJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGZseW91dFJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnZmx5b3V0SGVhZGVyJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgZmx5b3V0SGVhZGVyOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCB6SW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgxMDAxKTtcblxuICAjZmx5b3V0SW5zdGFuY2U6IFNreUZseW91dEluc3RhbmNlPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfbWVzc2FnZVN0cmVhbSA9IG5ldyBTdWJqZWN0PFNreUZseW91dE1lc3NhZ2U+KCk7XG5cbiAgcmVhZG9ubHkgI2FkYXB0ZXIgPSBpbmplY3QoU2t5Rmx5b3V0QWRhcHRlclNlcnZpY2UpO1xuICByZWFkb25seSAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICByZWFkb25seSAjZHluYW1pY0NvbXBvbmVudFN2YyA9IGluamVjdChTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSk7XG4gIHJlYWRvbmx5ICNlbnZpcm9ubWVudEluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpO1xuICByZWFkb25seSAjbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHJlYWRvbmx5ICNyZXNvdXJjZXNTZXJ2aWNlID0gaW5qZWN0KFNreUxpYlJlc291cmNlc1NlcnZpY2UpO1xuICByZWFkb25seSAjdWlDb25maWdTZXJ2aWNlID0gaW5qZWN0KFNreVVJQ29uZmlnU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gQWxsIGNvbW1hbmRzIGZsb3cgdGhyb3VnaCB0aGUgbWVzc2FnZSBzdHJlYW0uXG4gICAgdGhpcy5tZXNzYWdlU3RyZWFtXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKSA9PiB7XG4gICAgICAgIHRoaXMuI2hhbmRsZUluY29taW5nTWVzc2FnZXMobWVzc2FnZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmZseW91dEhlYWRlcikge1xuICAgICAgdGhpcy4jYWRhcHRlci5hZGp1c3RIZWFkZXJGb3JIZWxwKHRoaXMuZmx5b3V0SGVhZGVyKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbldpbmRvd1Jlc2l6ZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNzZXRGdWxsc2NyZWVuKCk7XG5cbiAgICBpZiAodGhpcy5pc0Z1bGxzY3JlZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgV2luZG93O1xuXG4gICAgaWYgKHRhcmdldC5pbm5lcldpZHRoIC0gdGhpcy5mbHlvdXRXaWR0aCA8IHRoaXMuI3dpbmRvd0J1ZmZlclNpemUpIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB0YXJnZXQuaW5uZXJXaWR0aCAtIHRoaXMuI3dpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLiN4Q29vcmQgPSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy4jc2V0VXNlckRhdGEoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXR0YWNoPFQ+KFxuICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICBjb25maWc/OiBTa3lGbHlvdXRDb25maWcsXG4gICAgZW52aXJvbm1lbnRJbmplY3Rvcj86IEVudmlyb25tZW50SW5qZWN0b3IsXG4gICk6IFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgICB0aGlzLiNjbGVhblRlbXBsYXRlKCk7XG5cbiAgICAvLyBFbWl0IHRoZSBjbG9zZWQgZXZlbnQgb24gYW55IHByZXZpb3VzbHkgb3BlbmVkIGZseW91dCBpbnN0YW5jZVxuICAgIGlmICh0aGlzLiNmbHlvdXRJbnN0YW5jZSkge1xuICAgICAgdGhpcy4jbm90aWZ5Q2xvc2VkKCk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWcgPSBPYmplY3QuYXNzaWduKFxuICAgICAge1xuICAgICAgICBkZWZhdWx0V2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoIC8gMixcbiAgICAgICAgbWluV2lkdGg6IDMyMCxcbiAgICAgICAgbWF4V2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoIC8gMixcbiAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogU0tZX1NUQUNLSU5HX0NPTlRFWFQsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICB6SW5kZXg6IHRoaXMuekluZGV4JFxuICAgICAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgY29uZmlnLFxuICAgICk7XG4gICAgaWYgKGNvbmZpZz8uZGVmYXVsdFdpZHRoICYmICFjb25maWc/Lm1heFdpZHRoKSB7XG4gICAgICB0aGlzLmNvbmZpZy5tYXhXaWR0aCA9IGNvbmZpZz8uZGVmYXVsdFdpZHRoO1xuICAgIH1cblxuICAgIHRoaXMuY29uZmlnLnNob3dJdGVyYXRvciA9IHRoaXMuY29uZmlnLnNob3dJdGVyYXRvciB8fCBmYWxzZTtcbiAgICB0aGlzLmNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9XG4gICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCB8fCBmYWxzZTtcbiAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgPVxuICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkIHx8IGZhbHNlO1xuXG4gICAgdGhpcy5wZXJtYWxpbmsgPSB0aGlzLmNvbmZpZy5wZXJtYWxpbmsgPz8ge307XG4gICAgdGhpcy5wZXJtYWxpbmtMYWJlbCA9XG4gICAgICB0aGlzLmNvbmZpZy5wZXJtYWxpbmsgJiYgdGhpcy5jb25maWcucGVybWFsaW5rLmxhYmVsXG4gICAgICAgID8gdGhpcy5jb25maWcucGVybWFsaW5rLmxhYmVsXG4gICAgICAgIDogdGhpcy4jZ2V0U3RyaW5nKCdza3l1eF9mbHlvdXRfcGVybWFsaW5rX2J1dHRvbicpO1xuXG4gICAgdGhpcy5wcmltYXJ5QWN0aW9uID0gdGhpcy5jb25maWcucHJpbWFyeUFjdGlvbiA/PyB7fTtcbiAgICB0aGlzLnByaW1hcnlBY3Rpb25MYWJlbCA9XG4gICAgICB0aGlzLmNvbmZpZy5wcmltYXJ5QWN0aW9uICYmIHRoaXMuY29uZmlnLnByaW1hcnlBY3Rpb24ubGFiZWxcbiAgICAgICAgPyB0aGlzLmNvbmZpZy5wcmltYXJ5QWN0aW9uLmxhYmVsXG4gICAgICAgIDogdGhpcy4jZ2V0U3RyaW5nKCdza3l1eF9mbHlvdXRfcHJpbWFyeV9hY3Rpb25fYnV0dG9uJyk7XG5cbiAgICBlbnZpcm9ubWVudEluamVjdG9yIHx8PSB0aGlzLiNlbnZpcm9ubWVudEluamVjdG9yO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuI2R5bmFtaWNDb21wb25lbnRTdmMuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwge1xuICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogZW52aXJvbm1lbnRJbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogdGhpcy5jb25maWcucHJvdmlkZXJzLFxuICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy50YXJnZXQsXG4gICAgfSk7XG5cbiAgICAvKiBzYWZldHkgY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIWNvbXBvbmVudFJlZikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRmx5b3V0J3MgaW50ZXJuYWwgY29tcG9uZW50IGNvdWxkIG5vdCBiZSBjcmVhdGVkXCIpO1xuICAgIH1cblxuICAgIHRoaXMuI2ZseW91dEluc3RhbmNlID0gdGhpcy4jY3JlYXRlRmx5b3V0SW5zdGFuY2U8VD4oY29tcG9uZW50UmVmLmluc3RhbmNlKTtcblxuICAgIC8vIFRoaXMgaXMgdXNlZCB0byBlbnN1cmUgd2UgZG8gbm90IHJlbmRlciB0aGUgZmx5b3V0IHVudGlsIHdlIGhhdmUgYXR0YWNoZWQgdGhlIGNvbXBvbmVudC5cbiAgICAvLyBUaGlzIGFsbG93cyB0aGUgYXJpYS1sYWJlbGxlZGJ5IHRvIGZ1bmN0aW9uIGNvcnJlY3RseS5cbiAgICB0aGlzLmluc3RhbmNlUmVhZHkgPSB0cnVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgLy8gT3BlbiB0aGUgZmx5b3V0IGltbWVkaWF0ZWx5LlxuICAgIHRoaXMubWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgIHR5cGU6IFNreUZseW91dE1lc3NhZ2VUeXBlLk9wZW4sXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5jb25maWcuc2V0dGluZ3NLZXkpIHtcbiAgICAgIHRoaXMuI3VpQ29uZmlnU2VydmljZVxuICAgICAgICAuZ2V0Q29uZmlnKHRoaXMuY29uZmlnLnNldHRpbmdzS2V5KVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLmZseW91dFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLmZseW91dFdpZHRoID0gdmFsdWUuZmx5b3V0V2lkdGg7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEJhZCBkYXRhLCBvciBjb25maWcgaXMgdGhlIGRlZmF1bHQgY29uZmlnLlxuICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRoaXMuY29uZmlnLmRlZmF1bHRXaWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy4jY2hlY2tJbml0aWFsU2l6ZSgpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRoaXMuY29uZmlnLmRlZmF1bHRXaWR0aDtcbiAgICAgIHRoaXMuI2NoZWNrSW5pdGlhbFNpemUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jZmx5b3V0SW5zdGFuY2U7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaW52b2tlUHJpbWFyeUFjdGlvbigpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5wcmltYXJ5QWN0aW9uLmNhbGxiYWNrKSB7XG4gICAgICB0aGlzLnByaW1hcnlBY3Rpb24uY2FsbGJhY2soKTtcblxuICAgICAgaWYgKHRoaXMucHJpbWFyeUFjdGlvbi5jbG9zZUFmdGVySW52b2tpbmcpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0QW5pbWF0aW9uU3RhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pbnN0YW5jZVJlYWR5ICYmIHRoaXMuaXNPcGVuaW5nXG4gICAgICA/IEZMWU9VVF9PUEVOX1NUQVRFXG4gICAgICA6IEZMWU9VVF9DTE9TRURfU1RBVEU7XG4gIH1cblxuICBwdWJsaWMgYW5pbWF0aW9uRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gRkxZT1VUX09QRU5fU1RBVEUpIHtcbiAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gRkxZT1VUX0NMT1NFRF9TVEFURSkge1xuICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuI25vdGlmeUNsb3NlZCgpO1xuICAgICAgdGhpcy4jY2xlYW5UZW1wbGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkhlYWRlckdyYWJIYW5kbGVNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm9uUmVzaXplSGFuZGxlTW91c2VEb3duKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkhlYWRlckdyYWJIYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy4jaGFuZGxlUmVzaXplS2V5RG93bihldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25SZXNpemVIYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy4jaGFuZGxlUmVzaXplS2V5RG93bihldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25SZXNpemVIYW5kbGVNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgaWYgKHRoaXMuaXNGdWxsc2NyZWVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgICB0aGlzLiN4Q29vcmQgPSBldmVudC5jbGllbnRYO1xuXG4gICAgdGhpcy4jYWRhcHRlci50b2dnbGVJZnJhbWVQb2ludGVyRXZlbnRzKGZhbHNlKTtcblxuICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNlbW92ZScpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0RyYWdnaW5nO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG1vdmVFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLm9uTW91c2VNb3ZlKG1vdmVFdmVudCk7XG4gICAgICB9KTtcblxuICAgIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaXNEcmFnZ2luZztcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5vbkhhbmRsZVJlbGVhc2UoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uTW91c2VNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgLyogU2FuaXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvZmZzZXRYID0gZXZlbnQuY2xpZW50WCAtIHRoaXMuI3hDb29yZDtcbiAgICBsZXQgd2lkdGggPSB0aGlzLmZseW91dFdpZHRoO1xuXG4gICAgd2lkdGggLT0gb2Zmc2V0WDtcblxuICAgIGlmICh3aWR0aCA8IHRoaXMuY29uZmlnLm1pbldpZHRoIHx8IHdpZHRoID4gdGhpcy5jb25maWcubWF4V2lkdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggLSB3aWR0aCA8IHRoaXMuI3dpbmRvd0J1ZmZlclNpemUpIHtcbiAgICAgIHdpZHRoID0gd2luZG93LmlubmVyV2lkdGggLSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy4jeENvb3JkID0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jeENvb3JkID0gZXZlbnQuY2xpZW50WDtcbiAgICB9XG5cbiAgICB0aGlzLmZseW91dFdpZHRoID0gd2lkdGg7XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkhhbmRsZVJlbGVhc2UoKTogdm9pZCB7XG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy4jYWRhcHRlci50b2dnbGVJZnJhbWVQb2ludGVyRXZlbnRzKHRydWUpO1xuICAgICAgICB0aGlzLiNzZXRVc2VyRGF0YSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25JdGVyYXRvclByZXZpb3VzQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jZmx5b3V0SW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuI2ZseW91dEluc3RhbmNlLml0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljay5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jZmx5b3V0SW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuI2ZseW91dEluc3RhbmNlLml0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICAjY3JlYXRlRmx5b3V0SW5zdGFuY2U8VD4oY29tcG9uZW50OiBUKTogU2t5Rmx5b3V0SW5zdGFuY2U8VD4ge1xuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFNreUZseW91dEluc3RhbmNlPFQ+KGNvbXBvbmVudCk7XG5cbiAgICBpbnN0YW5jZS5ob3N0Q29udHJvbGxlclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5Rmx5b3V0TWVzc2FnZSkgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTdHJlYW0ubmV4dChtZXNzYWdlKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgI2hhbmRsZUluY29taW5nTWVzc2FnZXMobWVzc2FnZTogU2t5Rmx5b3V0TWVzc2FnZSk6IHZvaWQge1xuICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLk9wZW46XG4gICAgICAgIGlmICghdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNPcGVuaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNpbml0Rm9jdXNUcmFwKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLkNsb3NlOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgKHRoaXMuI2ZseW91dEluc3RhbmNlPy5iZWZvcmVDbG9zZSBhcyBTdWJqZWN0PGFueT4pPy5vYnNlcnZlcnNcbiAgICAgICAgICAgIC5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICBtZXNzYWdlLmRhdGE/Lmlnbm9yZUJlZm9yZUNsb3NlXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmlzT3BlbmluZyA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICh0aGlzLiNmbHlvdXRJbnN0YW5jZT8uYmVmb3JlQ2xvc2UgYXMgU3ViamVjdDxhbnk+KT8ubmV4dChcbiAgICAgICAgICAgIG5ldyBTa3lGbHlvdXRCZWZvcmVDbG9zZUhhbmRsZXIoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuaXNPcGVuaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLkVuYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbjpcbiAgICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRW5hYmxlSXRlcmF0b3JQcmV2aW91c0J1dHRvbjpcbiAgICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLkRpc2FibGVJdGVyYXRvck5leHRCdXR0b246XG4gICAgICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRGlzYWJsZUl0ZXJhdG9yUHJldmlvdXNCdXR0b246XG4gICAgICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI25vdGlmeUNsb3NlZCgpOiB2b2lkIHtcbiAgICB0aGlzLiNmbHlvdXRJbnN0YW5jZT8uY2xvc2VkLmVtaXQoKTtcbiAgICB0aGlzLiNmbHlvdXRJbnN0YW5jZT8uY2xvc2VkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAjY2xlYW5UZW1wbGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRhcmdldD8uY2xlYXIoKTtcbiAgfVxuXG4gICNzZXRGdWxsc2NyZWVuKCk6IHZvaWQge1xuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCAtIHRoaXMuI3dpbmRvd0J1ZmZlclNpemUgPCB0aGlzLmNvbmZpZy5taW5XaWR0aCkge1xuICAgICAgdGhpcy5pc0Z1bGxzY3JlZW4gPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzRnVsbHNjcmVlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gICNzZXRVc2VyRGF0YSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWcuc2V0dGluZ3NLZXkpIHtcbiAgICAgIHRoaXMuI3VpQ29uZmlnU2VydmljZVxuICAgICAgICAuc2V0Q29uZmlnKHRoaXMuY29uZmlnLnNldHRpbmdzS2V5LCB7XG4gICAgICAgICAgZmx5b3V0V2lkdGg6IHRoaXMuZmx5b3V0V2lkdGgsXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICgpID0+IHt9LFxuICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignQ291bGQgbm90IHNhdmUgZmx5b3V0IGRhdGEuJyk7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oZXJyKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gICNjaGVja0luaXRpYWxTaXplKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZseW91dFdpZHRoIDwgdGhpcy5jb25maWcubWluV2lkdGgpIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB0aGlzLmNvbmZpZy5taW5XaWR0aDtcbiAgICAgIHRoaXMuI3NldFVzZXJEYXRhKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmZseW91dFdpZHRoID4gdGhpcy5jb25maWcubWF4V2lkdGgpIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB0aGlzLmNvbmZpZy5tYXhXaWR0aDtcbiAgICAgIHRoaXMuI3NldFVzZXJEYXRhKCk7XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIGZseW91dCBkb2VzIG5vdCBsb2FkIGxhcmdlciB0aGFuIHRoZSB3aW5kb3cgYW5kIGl0cyBidWZmZXJcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggLSB0aGlzLmZseW91dFdpZHRoIDwgdGhpcy4jd2luZG93QnVmZmVyU2l6ZSkge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZTtcbiAgICAgIHRoaXMuI3hDb29yZCA9IHRoaXMuI3dpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLiNzZXRVc2VyRGF0YSgpO1xuICAgIH1cblxuICAgIHRoaXMuI3NldEZ1bGxzY3JlZW4oKTtcbiAgfVxuXG4gICNnZXRTdHJpbmcoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIFRPRE86IE5lZWQgdG8gaW1wbGVtZW50IHRoZSBhc3luYyBgZ2V0U3RyaW5nYCBtZXRob2QgaW4gYSBicmVha2luZyBjaGFuZ2UuXG4gICAgcmV0dXJuIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKHsgbG9jYWxlOiAnZW4tVVMnIH0sIGtleSk7XG4gIH1cblxuICAjaGFuZGxlUmVzaXplS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGV2ZW50LmtleSkge1xuICAgICAgY29uc3Qga2V5UHJlc3NlZCA9IGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJ2Fycm93JywgJycpO1xuICAgICAgc3dpdGNoIChrZXlQcmVzc2VkKSB7XG4gICAgICAgIGNhc2UgJ2VudGVyJzpcbiAgICAgICAgY2FzZSAnICc6XG4gICAgICAgICAgdGhpcy5yZXNpemVLZXlDb250cm9sQWN0aXZlID0gIXRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICh0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgaWYgKHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSkge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLmZseW91dFdpZHRoIDwgdGhpcy5jb25maWcubWF4V2lkdGgpIHtcbiAgICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IE1hdGgubWluKFxuICAgICAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggKyB0aGlzLndpZHRoU3RlcCxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5tYXhXaWR0aCxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgIGlmICh0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmUpIHtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICBpZiAodGhpcy5mbHlvdXRXaWR0aCA+IHRoaXMuY29uZmlnLm1pbldpZHRoKSB7XG4gICAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSBNYXRoLm1heChcbiAgICAgICAgICAgICAgICB0aGlzLmZseW91dFdpZHRoIC0gdGhpcy53aWR0aFN0ZXAsXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcubWluV2lkdGgsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEV4ZWN1dGVzIGEgZnVuY3Rpb24gd2hlbiB0aGUgem9uZSBpcyBzdGFibGUuICovXG4gICNleGVjdXRlT25TdGFibGUoZm46ICgpID0+IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNuZ1pvbmUuaXNTdGFibGUpIHtcbiAgICAgIGZuKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI25nWm9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShmbik7XG4gICAgfVxuICB9XG5cbiAgI2luaXRGb2N1c1RyYXAoKTogdm9pZCB7XG4gICAgdGhpcy5lbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZSA9IGZhbHNlO1xuICAgIHRoaXMuZW5hYmxlVHJhcEZvY3VzID0gZmFsc2U7XG4gICAgLy8gV2FpdGluZyBmb3Igem9uZSB0byBiZSBzdGFibGUgd2lsbCBhdm9pZCBFeHByZXNzaW9uQ2hhbmdlQWZ0ZXJDaGVja2VkRXJyb3IuXG4gICAgdGhpcy4jZXhlY3V0ZU9uU3RhYmxlKCgpID0+IHtcbiAgICAgIHRoaXMuZW5hYmxlVHJhcEZvY3VzQXV0b0NhcHR1cmUgPSB0cnVlO1xuICAgICAgdGhpcy5lbmFibGVUcmFwRm9jdXMgPSB0cnVlO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2XG4gICNmbHlvdXRSZWZcbiAgY2xhc3M9XCJza3ktZmx5b3V0XCJcbiAgc2t5UmVzcG9uc2l2ZUhvc3RcbiAgdGFiaW5kZXg9XCItMVwiXG4gIFthdHRyLnJvbGVdPVwiY29uZmlnLmFyaWFSb2xlID8gY29uZmlnLmFyaWFSb2xlIDogJ2RpYWxvZydcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImNvbmZpZy5hcmlhRGVzY3JpYmVkQnlcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbmZpZy5hcmlhTGFiZWxcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiY29uZmlnLmFyaWFMYWJlbGxlZEJ5XCJcbiAgW2F0dHIuYXJpYS1tb2RhbF09XCJcbiAgICBjb25maWcuYXJpYVJvbGUgPT09ICdkaWFsb2cnIHx8ICFjb25maWcuYXJpYVJvbGUgPyB0cnVlIDogZmFsc2VcbiAgXCJcbiAgW2F0dHIuaGlkZGVuXT1cIiFpbnN0YW5jZVJlYWR5ID8gdHJ1ZSA6IHVuZGVmaW5lZFwiXG4gIFtpZF09XCJmbHlvdXRJZFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2t5LWZseW91dC1oaWRkZW4nOiAhaXNPcGVuICYmICFpc09wZW5pbmcsXG4gICAgJ3NreS1mbHlvdXQtZnVsbHNjcmVlbic6IGlzRnVsbHNjcmVlblxuICB9XCJcbiAgW3N0eWxlLnotaW5kZXhdPVwiekluZGV4JCB8IGFzeW5jXCJcbiAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICdza3ktc2hhZG93JzogJ2RlZmF1bHQnLFxuICAgICdza3ktZWxldmF0aW9uLTgnOiAnbW9kZXJuJ1xuICB9XCJcbiAgW0BmbHlvdXRTdGF0ZV09XCJnZXRBbmltYXRpb25TdGF0ZSgpXCJcbiAgW3N0eWxlLndpZHRoLnB4XT1cImZseW91dFdpZHRoXCJcbiAgW2Nka1RyYXBGb2N1c109XCJlbmFibGVUcmFwRm9jdXNcIlxuICBbY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVdPVwiZW5hYmxlVHJhcEZvY3VzQXV0b0NhcHR1cmVcIlxuICAoQGZseW91dFN0YXRlLmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgkZXZlbnQpXCJcbj5cbiAgPGRpdlxuICAgICNmbHlvdXRIZWFkZXJcbiAgICBjbGFzcz1cInNreS1mbHlvdXQtaGVhZGVyXCJcbiAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAnc2t5LXBhZGRpbmctc3F1aXNoLWxhcmdlJzogJ2RlZmF1bHQnXG4gICAgfVwiXG4gICAgW3N0eWxlLnotaW5kZXhdPVwiekluZGV4JCB8IGFzeW5jXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktZmx5b3V0LWhlYWRlci1jb250ZW50XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1pY29uLWJvcmRlcmxlc3Mgc2t5LW1hcmdpbi1pbmxpbmUtc20gc2t5LWZseW91dC1oZWFkZXItZ3JhYi1oYW5kbGVcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfZmx5b3V0X3Jlc2l6ZV9oYW5kbGUnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgKGtleWRvd24pPVwib25IZWFkZXJHcmFiSGFuZGxlS2V5RG93bigkZXZlbnQpXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJvbkhlYWRlckdyYWJIYW5kbGVNb3VzZURvd24oJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktaWNvbiBpY29uPVwidGlsZS1kcmFnXCIgc2l6ZT1cImxnXCIgLz5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICBAaWYgKGNvbmZpZy5zaG93SXRlcmF0b3IpIHtcbiAgICAgICAgPHNreS1mbHlvdXQtaXRlcmF0b3JcbiAgICAgICAgICBbbmV4dEJ1dHRvbkRpc2FibGVkXT1cImNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgICAgICAgW3ByZXZpb3VzQnV0dG9uRGlzYWJsZWRdPVwiY29uZmlnLml0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZFwiXG4gICAgICAgICAgKG5leHRCdXR0b25DbGljayk9XCJvbkl0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrKClcIlxuICAgICAgICAgIChwcmV2aW91c0J1dHRvbkNsaWNrKT1cIm9uSXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrKClcIlxuICAgICAgICAvPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJza3ktZmx5b3V0LWhlYWRlci1idXR0b25zXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGVybWFsaW5rVGVtcGxhdGVcIiAvPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByaW1hcnlBY3Rpb25UZW1wbGF0ZVwiIC8+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktZmx5b3V0LWJ0bi1jbG9zZSBza3ktbGFiZWwtaWNvbi10aGVtZS1kZWZhdWx0XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2ZseW91dF9jbG9zZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1idG4tZGVmYXVsdCc6ICdkZWZhdWx0JyxcbiAgICAgICAgICAnc2t5LWJ0bi1pY29uLWJvcmRlcmxlc3MnOiAnbW9kZXJuJ1xuICAgICAgICB9XCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIiBpY29uPVwiY2xvc2VcIiAvPlxuICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiIGljb249XCJjbG9zZVwiIHNpemU9XCJsZ1wiIC8+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJza3ktZmx5b3V0LWNvbnRlbnRcIj5cbiAgICA8ZGl2ICN0YXJnZXQ+PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktZmx5b3V0LXJlc2l6ZS1oYW5kbGVcIlxuICAgIHJvbGU9XCJzZXBhcmF0b3JcIlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgdHlwZT1cInJhbmdlXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImZseW91dElkXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9mbHlvdXRfcmVzaXplX2hhbmRsZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgIFthdHRyLmFyaWEtdmFsdWVtYXhdPVwiY29uZmlnLm1heFdpZHRoXCJcbiAgICBbYXR0ci5hcmlhLXZhbHVlbWluXT1cImNvbmZpZy5taW5XaWR0aFwiXG4gICAgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJmbHlvdXRXaWR0aFwiXG4gICAgKGtleWRvd24pPVwib25SZXNpemVIYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgIChtb3VzZWRvd24pPVwib25SZXNpemVIYW5kbGVNb3VzZURvd24oJGV2ZW50KVwiXG4gID48L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3Blcm1hbGlua1RlbXBsYXRlPlxuICBAaWYgKHBlcm1hbGluaykge1xuICAgIEBpZiAocGVybWFsaW5rLnVybCkge1xuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtYnRuLXBlcm1hbGluayBza3ktbWFyZ2luLWlubGluZS1kZWZhdWx0XCJcbiAgICAgICAgW3NreUhyZWZdPVwicGVybWFsaW5rLnVybFwiXG4gICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LWJ0bi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgICAgICdza3ktYnRuLWJvcmRlcmxlc3MnOiAnbW9kZXJuJ1xuICAgICAgICB9XCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgPlxuICAgICAgICB7eyBwZXJtYWxpbmtMYWJlbCB9fVxuICAgICAgPC9hPlxuICAgIH0gQGVsc2UgaWYgKHBlcm1hbGluay5yb3V0ZSkge1xuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtYnRuLXBlcm1hbGluayBza3ktbWFyZ2luLWlubGluZS1kZWZhdWx0XCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwicGVybWFsaW5rLnJvdXRlLmNvbW1hbmRzXCJcbiAgICAgICAgW2ZyYWdtZW50XT1cInBlcm1hbGluay5yb3V0ZS5leHRyYXM/LmZyYWdtZW50XCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1idG4tYm9yZGVybGVzcyc6ICdtb2Rlcm4nXG4gICAgICAgIH1cIlxuICAgICAgICBbcXVlcnlQYXJhbXNdPVwicGVybWFsaW5rLnJvdXRlLmV4dHJhcz8ucXVlcnlQYXJhbXNcIlxuICAgICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJwZXJtYWxpbmsucm91dGUuZXh0cmFzPy5xdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgICAgW3N0YXRlXT1cInBlcm1hbGluay5yb3V0ZS5leHRyYXM/LnN0YXRlXCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgPlxuICAgICAgICB7eyBwZXJtYWxpbmtMYWJlbCB9fVxuICAgICAgPC9hPlxuICAgIH1cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwcmltYXJ5QWN0aW9uVGVtcGxhdGU+XG4gIEBpZiAocHJpbWFyeUFjdGlvbiAmJiBwcmltYXJ5QWN0aW9uLmNhbGxiYWNrKSB7XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1mbHlvdXQtYnRuLXByaW1hcnktYWN0aW9uIHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHRcIlxuICAgICAgKGNsaWNrKT1cImludm9rZVByaW1hcnlBY3Rpb24oKVwiXG4gICAgPlxuICAgICAge3sgcHJpbWFyeUFjdGlvbkxhYmVsIH19XG4gICAgPC9idXR0b24+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -2,15 +2,15 @@ import { NgModule } from '@angular/core';
2
2
  import { SkyFlyoutComponent } from './flyout.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class SkyFlyoutModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutModule, imports: [SkyFlyoutComponent], exports: [SkyFlyoutComponent] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutModule, imports: [SkyFlyoutComponent] }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutModule, imports: [SkyFlyoutComponent], exports: [SkyFlyoutComponent] }); }
7
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutModule, imports: [SkyFlyoutComponent] }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  imports: [SkyFlyoutComponent],
13
13
  exports: [SkyFlyoutComponent],
14
14
  }]
15
15
  }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBTXhELE1BQU0sT0FBTyxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxZQUhoQixrQkFBa0IsYUFDbEIsa0JBQWtCOytHQUVqQixlQUFlLFlBSGhCLGtCQUFrQjs7MkZBR2pCLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUZseW91dENvbXBvbmVudCB9IGZyb20gJy4vZmx5b3V0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtTa3lGbHlvdXRDb21wb25lbnRdLFxuICBleHBvcnRzOiBbU2t5Rmx5b3V0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0TW9kdWxlIHt9XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBTXhELE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxZQUhoQixrQkFBa0IsYUFDbEIsa0JBQWtCO2dIQUVqQixlQUFlLFlBSGhCLGtCQUFrQjs7NEZBR2pCLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUZseW91dENvbXBvbmVudCB9IGZyb20gJy4vZmx5b3V0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtTa3lGbHlvdXRDb21wb25lbnRdLFxuICBleHBvcnRzOiBbU2t5Rmx5b3V0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0TW9kdWxlIHt9XG4iXX0=
@@ -157,11 +157,11 @@ export class SkyFlyoutService {
157
157
  this.#ngUnsubscribe.unsubscribe();
158
158
  this.#ngUnsubscribe = new Subject();
159
159
  }
160
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
161
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutService, providedIn: 'root' }); }
160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
161
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutService, providedIn: 'root' }); }
162
162
  }
163
163
  _a = SkyFlyoutService;
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutService, decorators: [{
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutService, decorators: [{
165
165
  type: Injectable,
166
166
  args: [{
167
167
  providedIn: 'root',
@@ -179,13 +179,13 @@ export class SkyFlyoutLegacyService extends SkyFlyoutService {
179
179
  constructor(coreAdapter, windowRef, dynamicComponentService, router, ngZone) {
180
180
  super(coreAdapter, windowRef, dynamicComponentService, router, ngZone);
181
181
  }
182
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutLegacyService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentLegacyService }, { token: i2.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
183
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutLegacyService, providedIn: 'any' }); }
182
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutLegacyService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentLegacyService }, { token: i2.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
183
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutLegacyService, providedIn: 'any' }); }
184
184
  }
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutLegacyService, decorators: [{
185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutLegacyService, decorators: [{
186
186
  type: Injectable,
187
187
  args: [{
188
188
  providedIn: 'any',
189
189
  }]
190
190
  }], ctorParameters: () => [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentLegacyService }, { type: i2.Router }, { type: i0.NgZone }] });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3NyYy9saWIvbW9kdWxlcy9mbHlvdXQvZmx5b3V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxtQkFBbUIsRUFDbkIsVUFBVSxFQUlWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFRMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFbkU7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0Isa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzNCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFFeEMsWUFBWSxDQUF3QjtJQUNwQyxVQUFVLENBQWtCO0lBQzVCLHdCQUF3QixDQUE2QjtJQUNyRCxvQkFBb0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNuRCxPQUFPLENBQVM7SUFDaEIsT0FBTyxDQUFTO0lBRWhCLFlBQ0UsV0FBa0MsRUFDbEMsU0FBMEIsRUFDMUIsdUJBQW1ELEVBQ25ELE1BQWMsRUFDZCxNQUFjO1FBRWQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFD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Ozs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUE4TEQ7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQUMxRCwwQkFBMEI7SUFDMUIsWUFDRSxXQUFrQyxFQUNsQyxTQUEwQixFQUMxQix1QkFBeUQsRUFDekQsTUFBYyxFQUNkLE1BQWM7UUFFZCxLQUFLLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekUsQ0FBQzs4R0FWVSxzQkFBc0I7a0hBQXRCLHNCQUFzQixjQUZyQixLQUFLOzsyRkFFTixzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBFbnZpcm9ubWVudEluamVjdG9yLFxuICBJbmplY3RhYmxlLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgVHlwZSxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIFNreUFwcFdpbmRvd1JlZixcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICBTa3lEeW5hbWljQ29tcG9uZW50TGVnYWN5U2VydmljZSxcbiAgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0SW5zdGFuY2UgfSBmcm9tICcuL2ZseW91dC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb21wb25lbnQgfSBmcm9tICcuL2ZseW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0Q2xvc2VBcmdzIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY2xvc2UtYXJncyc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb25maWcgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1jb25maWcnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlLXR5cGUnO1xuXG4vKipcbiAqIExhdW5jaGVzIGZseW91dHMgYW5kIHByb3ZpZGVzIGEgY29tbW9uIGxvb2sgYW5kIGZlZWwuXG4gKiBUaGlzIHNlcnZpY2UgZHluYW1pY2FsbHkgZ2VuZXJhdGVzIHRoZSBmbHlvdXQgY29tcG9uZW50IGFuZCBhcHBlbmRzIGl0IGRpcmVjdGx5IHRvIHRoZVxuICogZG9jdW1lbnQncyBgYm9keWAgZWxlbWVudC4gVGhlIGBTa3lGbHlvdXRJbnN0YW5jZWAgY2xhc3Mgd2F0Y2hlcyBmb3IgYW5kIHRyaWdnZXJzIGZseW91dCBldmVudHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgaG9zdDogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG5cbiAgI3JlbW92ZUFmdGVyQ2xvc2VkID0gZmFsc2U7XG4gICNpc09wZW5pbmcgPSBmYWxzZTtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICNjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuICAjd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWY7XG4gICNkeW5hbWljQ29tcG9uZW50U2VydmljZTogU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2U7XG4gICNlbnZpcm9ubWVudEluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpO1xuICAjcm91dGVyOiBSb3V0ZXI7XG4gICNuZ1pvbmU6IE5nWm9uZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmLFxuICAgIGR5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7XG4gICAgdGhpcy4jY29yZUFkYXB0ZXIgPSBjb3JlQWRhcHRlcjtcbiAgICB0aGlzLiN3aW5kb3dSZWYgPSB3aW5kb3dSZWY7XG4gICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UgPSBkeW5hbWljQ29tcG9uZW50U2VydmljZTtcbiAgICB0aGlzLiNyb3V0ZXIgPSByb3V0ZXI7XG4gICAgdGhpcy4jbmdab25lID0gbmdab25lO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI3JlbW92ZUxpc3RlbmVycygpO1xuICAgIGlmIChTa3lGbHlvdXRTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIHRoaXMuI3JlbW92ZUhvc3RDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBmbHlvdXQuIFRoaXMgbWV0aG9kIGFsc28gcmVtb3ZlcyB0aGUgZmx5b3V0J3MgSFRNTCBlbGVtZW50cyBmcm9tIHRoZSBET00uXG4gICAqIEBwYXJhbSBhcmdzIEFyZ3VtZW50cyB1c2VkIHdoZW4gY2xvc2luZyB0aGUgZmx5b3V0LlxuICAgKi9cbiAgcHVibGljIGNsb3NlKGFyZ3M/OiBTa3lGbHlvdXRDbG9zZUFyZ3MpOiB2b2lkIHtcbiAgICBpZiAoU2t5Rmx5b3V0U2VydmljZS5ob3N0ICYmICF0aGlzLiNpc09wZW5pbmcpIHtcbiAgICAgIFNreUZseW91dFNlcnZpY2UuaG9zdC5pbnN0YW5jZS5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5DbG9zZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGlnbm9yZUJlZm9yZUNsb3NlOiBhcmdzID8gYXJncy5pZ25vcmVCZWZvcmVDbG9zZSA6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgZmx5b3V0IGFuZCBkaXNwbGF5cyB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGNvbXBvbmVudCBTcGVjaWZpZXMgdGhlIGNvbXBvbmVudCB0byByZW5kZXIuXG4gICAqIEBwYXJhbSBjb25maWcgU3BlY2lmaWVzIHRoZSBmbHlvdXQgY29uZmlndXJhdGlvbiBwYXNzZWQgdG8gdGhlIHNwZWNpZmllZCBjb21wb25lbnQncyBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIHB1YmxpYyBvcGVuPFQ+KFxuICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICBjb25maWc/OiBTa3lGbHlvdXRDb25maWcsXG4gICk6IFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgICAvLyBpc09wZW5pbmcgZmxhZyB3aWxsIHByZXZlbnQgY2xvc2UoKSBmcm9tIGZpcmluZyB3aGVuIG9wZW4oKSBpcyBhbHNvIGZpcmVkLlxuICAgIHRoaXMuI2lzT3BlbmluZyA9IHRydWU7XG4gICAgdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2lzT3BlbmluZyA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgaWYgKCFTa3lGbHlvdXRTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIFNreUZseW91dFNlcnZpY2UuaG9zdCA9IHRoaXMuI2NyZWF0ZUhvc3RDb21wb25lbnQoKTtcblxuICAgICAgdGhpcy4jcm91dGVyLmV2ZW50c1xuICAgICAgICAucGlwZSh0YWtlV2hpbGUoKCkgPT4gU2t5Rmx5b3V0U2VydmljZS5ob3N0ICE9PSB1bmRlZmluZWQpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgICAgICAgICAvLyBTYW5pdHkgY2hlY2sgLSBpZiB0aGUgaG9zdCBzdGlsbCBleGlzdHMgYWZ0ZXIgYW5pbWF0aW9ucyBzaG91bGQgaGF2ZSBjb21wbGV0ZWQgLSByZW1vdmUgaG9zdFxuICAgICAgICAgICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKFNreUZseW91dFNlcnZpY2UuaG9zdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuI3JlbW92ZUhvc3RDb21wb25lbnQoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBmbHlvdXQgPSBTa3lGbHlvdXRTZXJ2aWNlLmhvc3QuaW5zdGFuY2UuYXR0YWNoKFxuICAgICAgY29tcG9uZW50LFxuICAgICAgY29uZmlnLFxuICAgICAgdGhpcy4jZW52aXJvbm1lbnRJbmplY3RvcixcbiAgICApO1xuXG4gICAgdGhpcy4jYWRkTGlzdGVuZXJzKGZseW91dCk7XG5cbiAgICByZXR1cm4gZmx5b3V0O1xuICB9XG5cbiAgI2NyZWF0ZUhvc3RDb21wb25lbnQoKTogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4ge1xuICAgIFNreUZseW91dFNlcnZpY2UuaG9zdCA9XG4gICAgICB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVDb21wb25lbnQoU2t5Rmx5b3V0Q29tcG9uZW50KTtcbiAgICByZXR1cm4gU2t5Rmx5b3V0U2VydmljZS5ob3N0O1xuICB9XG5cbiAgI3JlbW92ZUhvc3RDb21wb25lbnQoKTogdm9pZCB7XG4gICAgaWYgKFNreUZseW91dFNlcnZpY2UuaG9zdCkge1xuICAgICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UucmVtb3ZlQ29tcG9uZW50KFNreUZseW91dFNlcnZpY2UuaG9zdCk7XG4gICAgICBTa3lGbHlvdXRTZXJ2aWNlLmhvc3QgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI2FkZExpc3RlbmVyczxUPihmbHlvdXQ6IFNreUZseW91dEluc3RhbmNlPFQ+KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoU2t5Rmx5b3V0U2VydmljZS5ob3N0KSB7XG4gICAgICBjb25zdCBmbHlvdXRJbnN0YW5jZSA9IFNreUZseW91dFNlcnZpY2UuaG9zdC5pbnN0YW5jZTtcblxuICAgICAgbGV0IGRvQ2xvc2UgPSBmYWxzZTtcblxuICAgICAgLyoqXG4gICAgICAgKiBIYW5kbGVzIHdoZW4gdG8gY2xvc2UgYSBmbHlvdXQuXG4gICAgICAgKiBOb3RlOiBXZSdyZSB1c2luZyBgbW91c2V1cGAgaW4gb3JkZXIgdG8gY2FwdHVyZSB0aGUgcGFyZW50IG9mIGNlcnRhaW4gdGFyZ2V0cyB0aGF0IHdpbGwgYmVcbiAgICAgICAqIGRlbGV0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgYmVpbmcgY2xpY2tlZC4gSWYgd2UgdXNlIGBjbGlja2AsIHRoZSBldmVudCBpcyBmaXJlZCBhZnRlciB0aGVcbiAgICAgICAqIGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBET00gbWFraW5nIGl0IGltcG9zc2libGUgdG8gY2hlY2sgdGhlIHBhcmVudCdzIHotaW5kZXhcbiAgICAgICAqIHJlbGF0aXZlIHRvIHRoZSBmbHlvdXQncyBjb250YWluZXIuXG4gICAgICAgKi9cbiAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICAgIGRvQ2xvc2UgPSBmYWxzZTtcblxuICAgICAgICAgIGlmIChTa3lGbHlvdXRTZXJ2aWNlLmhvc3Q/Lmluc3RhbmNlLmlzRHJhZ2dpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmx5b3V0SW5zdGFuY2UuZmx5b3V0UmVmPy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBpc0Fib3ZlID1cbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCA9PT0gZG9jdW1lbnQgfHwgIWV2ZW50LnRhcmdldFxuICAgICAgICAgICAgICA/IGZhbHNlXG4gICAgICAgICAgICAgIDogdGhpcy4jY29yZUFkYXB0ZXIuaXNUYXJnZXRBYm92ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQsXG4gICAgICAgICAgICAgICAgICBmbHlvdXRJbnN0YW5jZS5mbHlvdXRSZWY/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKCFpc0Fib3ZlKSB7XG4gICAgICAgICAgICBkb0Nsb3NlID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAvKipcbiAgICAgICAqIENoZWNrIGlmIHdlIHNob3VsZCBjbG9zZSB0aGUgZmx5b3V0IHNwZWNpZmljYWxseSBvbiBhIGBjbGlja2AgZXZlbnQgc28gdGhhdCB3ZSBjYW4ga2VlcFxuICAgICAgICogaXQgb3BlbiB3aGVuIGNvbnN1bWVycyBmaXJlIGFub3RoZXIgYGNsaWNrYCBldmVudCBvbiBhIHRyaWdnZXIgYnV0dG9uLiBTaW5jZSB0aGUgY29uc3VtZXJcbiAgICAgICAqIHdpbGwgbGlrZWx5IHVzZSBhIGBjbGlja2AgZXZlbnQgdG8gb3BlbiB0aGUgZmx5b3V0LCB3ZSB3YW50IHRvIHdhaXQgZm9yIHRoYXQgZXZlbnQgdG8gZmlyZVxuICAgICAgICogYmVmb3JlIGRldGVybWluaW5nIGlmIHRoZSBmbHlvdXQgc2hvdWxkIGJlIGNsb3NlZC5cbiAgICAgICAqL1xuICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGlmIChkb0Nsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy4jcmVtb3ZlQWZ0ZXJDbG9zZWQgPSBmYWxzZTtcbiAgICAgIGZseW91dEluc3RhbmNlLm1lc3NhZ2VTdHJlYW1cbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UpIHtcbiAgICAgICAgICAgIHRoaXMuI3JlbW92ZUFmdGVyQ2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuI2lzT3BlbmluZyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIGZseW91dC5jbG9zZWQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLiNyZW1vdmVMaXN0ZW5lcnMoKTtcbiAgICAgICAgaWYgKHRoaXMuI3JlbW92ZUFmdGVyQ2xvc2VkKSB7XG4gICAgICAgICAgdGhpcy4jcmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjcmVtb3ZlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCh0cnVlKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIH1cbn1cblxuLyoqXG4gKiBMYXVuY2hlcyBmbHlvdXRzIGFuZCBwcm92aWRlcyBhIGNvbW1vbiBsb29rIGFuZCBmZWVsLlxuICogVGhpcyBzZXJ2aWNlIGR5bmFtaWNhbGx5IGdlbmVyYXRlcyB0aGUgZmx5b3V0IGNvbXBvbmVudCBhbmQgYXBwZW5kcyBpdCBkaXJlY3RseSB0byB0aGVcbiAqIGRvY3VtZW50J3MgYGJvZHlgIGVsZW1lbnQuIFRoZSBgU2t5Rmx5b3V0SW5zdGFuY2VgIGNsYXNzIHdhdGNoZXMgZm9yIGFuZCB0cmlnZ2VycyBmbHlvdXQgZXZlbnRzLlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZCBVc2UgYFNreUZseW91dFNlcnZpY2VgIHRvIG9wZW4gYSBzdGFuZGFsb25lIGNvbXBvbmVudCBpbnN0ZWFkLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRMZWdhY3lTZXJ2aWNlIGV4dGVuZHMgU2t5Rmx5b3V0U2VydmljZSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYsXG4gICAgZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IFNreUR5bmFtaWNDb21wb25lbnRMZWdhY3lTZXJ2aWNlLFxuICAgIHJvdXRlcjogUm91dGVyLFxuICAgIG5nWm9uZTogTmdab25lLFxuICApIHtcbiAgICBzdXBlcihjb3JlQWRhcHRlciwgd2luZG93UmVmLCBkeW5hbWljQ29tcG9uZW50U2VydmljZSwgcm91dGVyLCBuZ1pvbmUpO1xuICB9XG59XG4iXX0=
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3NyYy9saWIvbW9kdWxlcy9mbHlvdXQvZmx5b3V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxtQkFBbUIsRUFDbkIsVUFBVSxFQUlWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFRMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFbkU7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0Isa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzNCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFFeEMsWUFBWSxDQUF3QjtJQUNwQyxVQUFVLENBQWtCO0lBQzVCLHdCQUF3QixDQUE2QjtJQUNyRCxvQkFBb0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNuRCxPQUFPLENBQVM7SUFDaEIsT0FBTyxDQUFTO0lBRWhCLFlBQ0UsV0FBa0MsRUFDbEMsU0FBMEIsRUFDMUIsdUJBQW1ELEVBQ25ELE1BQWMsRUFDZCxNQUFjO1FBRWQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFD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Ozs7NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUE4TEQ7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQUMxRCwwQkFBMEI7SUFDMUIsWUFDRSxXQUFrQyxFQUNsQyxTQUEwQixFQUMxQix1QkFBeUQsRUFDekQsTUFBYyxFQUNkLE1BQWM7UUFFZCxLQUFLLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekUsQ0FBQzsrR0FWVSxzQkFBc0I7bUhBQXRCLHNCQUFzQixjQUZyQixLQUFLOzs0RkFFTixzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBFbnZpcm9ubWVudEluamVjdG9yLFxuICBJbmplY3RhYmxlLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgVHlwZSxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIFNreUFwcFdpbmRvd1JlZixcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICBTa3lEeW5hbWljQ29tcG9uZW50TGVnYWN5U2VydmljZSxcbiAgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0SW5zdGFuY2UgfSBmcm9tICcuL2ZseW91dC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb21wb25lbnQgfSBmcm9tICcuL2ZseW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0Q2xvc2VBcmdzIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY2xvc2UtYXJncyc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb25maWcgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1jb25maWcnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlLXR5cGUnO1xuXG4vKipcbiAqIExhdW5jaGVzIGZseW91dHMgYW5kIHByb3ZpZGVzIGEgY29tbW9uIGxvb2sgYW5kIGZlZWwuXG4gKiBUaGlzIHNlcnZpY2UgZHluYW1pY2FsbHkgZ2VuZXJhdGVzIHRoZSBmbHlvdXQgY29tcG9uZW50IGFuZCBhcHBlbmRzIGl0IGRpcmVjdGx5IHRvIHRoZVxuICogZG9jdW1lbnQncyBgYm9keWAgZWxlbWVudC4gVGhlIGBTa3lGbHlvdXRJbnN0YW5jZWAgY2xhc3Mgd2F0Y2hlcyBmb3IgYW5kIHRyaWdnZXJzIGZseW91dCBldmVudHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgaG9zdDogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG5cbiAgI3JlbW92ZUFmdGVyQ2xvc2VkID0gZmFsc2U7XG4gICNpc09wZW5pbmcgPSBmYWxzZTtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICNjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuICAjd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWY7XG4gICNkeW5hbWljQ29tcG9uZW50U2VydmljZTogU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2U7XG4gICNlbnZpcm9ubWVudEluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpO1xuICAjcm91dGVyOiBSb3V0ZXI7XG4gICNuZ1pvbmU6IE5nWm9uZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmLFxuICAgIGR5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7XG4gICAgdGhpcy4jY29yZUFkYXB0ZXIgPSBjb3JlQWRhcHRlcjtcbiAgICB0aGlzLiN3aW5kb3dSZWYgPSB3aW5kb3dSZWY7XG4gICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UgPSBkeW5hbWljQ29tcG9uZW50U2VydmljZTtcbiAgICB0aGlzLiNyb3V0ZXIgPSByb3V0ZXI7XG4gICAgdGhpcy4jbmdab25lID0gbmdab25lO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI3JlbW92ZUxpc3RlbmVycygpO1xuICAgIGlmIChTa3lGbHlvdXRTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIHRoaXMuI3JlbW92ZUhvc3RDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBmbHlvdXQuIFRoaXMgbWV0aG9kIGFsc28gcmVtb3ZlcyB0aGUgZmx5b3V0J3MgSFRNTCBlbGVtZW50cyBmcm9tIHRoZSBET00uXG4gICAqIEBwYXJhbSBhcmdzIEFyZ3VtZW50cyB1c2VkIHdoZW4gY2xvc2luZyB0aGUgZmx5b3V0LlxuICAgKi9cbiAgcHVibGljIGNsb3NlKGFyZ3M/OiBTa3lGbHlvdXRDbG9zZUFyZ3MpOiB2b2lkIHtcbiAgICBpZiAoU2t5Rmx5b3V0U2VydmljZS5ob3N0ICYmICF0aGlzLiNpc09wZW5pbmcpIHtcbiAgICAgIFNreUZseW91dFNlcnZpY2UuaG9zdC5pbnN0YW5jZS5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5DbG9zZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGlnbm9yZUJlZm9yZUNsb3NlOiBhcmdzID8gYXJncy5pZ25vcmVCZWZvcmVDbG9zZSA6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgZmx5b3V0IGFuZCBkaXNwbGF5cyB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGNvbXBvbmVudCBTcGVjaWZpZXMgdGhlIGNvbXBvbmVudCB0byByZW5kZXIuXG4gICAqIEBwYXJhbSBjb25maWcgU3BlY2lmaWVzIHRoZSBmbHlvdXQgY29uZmlndXJhdGlvbiBwYXNzZWQgdG8gdGhlIHNwZWNpZmllZCBjb21wb25lbnQncyBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIHB1YmxpYyBvcGVuPFQ+KFxuICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICBjb25maWc/OiBTa3lGbHlvdXRDb25maWcsXG4gICk6IFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgICAvLyBpc09wZW5pbmcgZmxhZyB3aWxsIHByZXZlbnQgY2xvc2UoKSBmcm9tIGZpcmluZyB3aGVuIG9wZW4oKSBpcyBhbHNvIGZpcmVkLlxuICAgIHRoaXMuI2lzT3BlbmluZyA9IHRydWU7XG4gICAgdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2lzT3BlbmluZyA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgaWYgKCFTa3lGbHlvdXRTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIFNreUZseW91dFNlcnZpY2UuaG9zdCA9IHRoaXMuI2NyZWF0ZUhvc3RDb21wb25lbnQoKTtcblxuICAgICAgdGhpcy4jcm91dGVyLmV2ZW50c1xuICAgICAgICAucGlwZSh0YWtlV2hpbGUoKCkgPT4gU2t5Rmx5b3V0U2VydmljZS5ob3N0ICE9PSB1bmRlZmluZWQpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgICAgICAgICAvLyBTYW5pdHkgY2hlY2sgLSBpZiB0aGUgaG9zdCBzdGlsbCBleGlzdHMgYWZ0ZXIgYW5pbWF0aW9ucyBzaG91bGQgaGF2ZSBjb21wbGV0ZWQgLSByZW1vdmUgaG9zdFxuICAgICAgICAgICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKFNreUZseW91dFNlcnZpY2UuaG9zdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuI3JlbW92ZUhvc3RDb21wb25lbnQoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBmbHlvdXQgPSBTa3lGbHlvdXRTZXJ2aWNlLmhvc3QuaW5zdGFuY2UuYXR0YWNoKFxuICAgICAgY29tcG9uZW50LFxuICAgICAgY29uZmlnLFxuICAgICAgdGhpcy4jZW52aXJvbm1lbnRJbmplY3RvcixcbiAgICApO1xuXG4gICAgdGhpcy4jYWRkTGlzdGVuZXJzKGZseW91dCk7XG5cbiAgICByZXR1cm4gZmx5b3V0O1xuICB9XG5cbiAgI2NyZWF0ZUhvc3RDb21wb25lbnQoKTogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4ge1xuICAgIFNreUZseW91dFNlcnZpY2UuaG9zdCA9XG4gICAgICB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVDb21wb25lbnQoU2t5Rmx5b3V0Q29tcG9uZW50KTtcbiAgICByZXR1cm4gU2t5Rmx5b3V0U2VydmljZS5ob3N0O1xuICB9XG5cbiAgI3JlbW92ZUhvc3RDb21wb25lbnQoKTogdm9pZCB7XG4gICAgaWYgKFNreUZseW91dFNlcnZpY2UuaG9zdCkge1xuICAgICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UucmVtb3ZlQ29tcG9uZW50KFNreUZseW91dFNlcnZpY2UuaG9zdCk7XG4gICAgICBTa3lGbHlvdXRTZXJ2aWNlLmhvc3QgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI2FkZExpc3RlbmVyczxUPihmbHlvdXQ6IFNreUZseW91dEluc3RhbmNlPFQ+KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoU2t5Rmx5b3V0U2VydmljZS5ob3N0KSB7XG4gICAgICBjb25zdCBmbHlvdXRJbnN0YW5jZSA9IFNreUZseW91dFNlcnZpY2UuaG9zdC5pbnN0YW5jZTtcblxuICAgICAgbGV0IGRvQ2xvc2UgPSBmYWxzZTtcblxuICAgICAgLyoqXG4gICAgICAgKiBIYW5kbGVzIHdoZW4gdG8gY2xvc2UgYSBmbHlvdXQuXG4gICAgICAgKiBOb3RlOiBXZSdyZSB1c2luZyBgbW91c2V1cGAgaW4gb3JkZXIgdG8gY2FwdHVyZSB0aGUgcGFyZW50IG9mIGNlcnRhaW4gdGFyZ2V0cyB0aGF0IHdpbGwgYmVcbiAgICAgICAqIGRlbGV0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgYmVpbmcgY2xpY2tlZC4gSWYgd2UgdXNlIGBjbGlja2AsIHRoZSBldmVudCBpcyBmaXJlZCBhZnRlciB0aGVcbiAgICAgICAqIGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBET00gbWFraW5nIGl0IGltcG9zc2libGUgdG8gY2hlY2sgdGhlIHBhcmVudCdzIHotaW5kZXhcbiAgICAgICAqIHJlbGF0aXZlIHRvIHRoZSBmbHlvdXQncyBjb250YWluZXIuXG4gICAgICAgKi9cbiAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICAgIGRvQ2xvc2UgPSBmYWxzZTtcblxuICAgICAgICAgIGlmIChTa3lGbHlvdXRTZXJ2aWNlLmhvc3Q/Lmluc3RhbmNlLmlzRHJhZ2dpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmx5b3V0SW5zdGFuY2UuZmx5b3V0UmVmPy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBpc0Fib3ZlID1cbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCA9PT0gZG9jdW1lbnQgfHwgIWV2ZW50LnRhcmdldFxuICAgICAgICAgICAgICA/IGZhbHNlXG4gICAgICAgICAgICAgIDogdGhpcy4jY29yZUFkYXB0ZXIuaXNUYXJnZXRBYm92ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQsXG4gICAgICAgICAgICAgICAgICBmbHlvdXRJbnN0YW5jZS5mbHlvdXRSZWY/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKCFpc0Fib3ZlKSB7XG4gICAgICAgICAgICBkb0Nsb3NlID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAvKipcbiAgICAgICAqIENoZWNrIGlmIHdlIHNob3VsZCBjbG9zZSB0aGUgZmx5b3V0IHNwZWNpZmljYWxseSBvbiBhIGBjbGlja2AgZXZlbnQgc28gdGhhdCB3ZSBjYW4ga2VlcFxuICAgICAgICogaXQgb3BlbiB3aGVuIGNvbnN1bWVycyBmaXJlIGFub3RoZXIgYGNsaWNrYCBldmVudCBvbiBhIHRyaWdnZXIgYnV0dG9uLiBTaW5jZSB0aGUgY29uc3VtZXJcbiAgICAgICAqIHdpbGwgbGlrZWx5IHVzZSBhIGBjbGlja2AgZXZlbnQgdG8gb3BlbiB0aGUgZmx5b3V0LCB3ZSB3YW50IHRvIHdhaXQgZm9yIHRoYXQgZXZlbnQgdG8gZmlyZVxuICAgICAgICogYmVmb3JlIGRldGVybWluaW5nIGlmIHRoZSBmbHlvdXQgc2hvdWxkIGJlIGNsb3NlZC5cbiAgICAgICAqL1xuICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGlmIChkb0Nsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy4jcmVtb3ZlQWZ0ZXJDbG9zZWQgPSBmYWxzZTtcbiAgICAgIGZseW91dEluc3RhbmNlLm1lc3NhZ2VTdHJlYW1cbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UpIHtcbiAgICAgICAgICAgIHRoaXMuI3JlbW92ZUFmdGVyQ2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuI2lzT3BlbmluZyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIGZseW91dC5jbG9zZWQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLiNyZW1vdmVMaXN0ZW5lcnMoKTtcbiAgICAgICAgaWYgKHRoaXMuI3JlbW92ZUFmdGVyQ2xvc2VkKSB7XG4gICAgICAgICAgdGhpcy4jcmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjcmVtb3ZlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCh0cnVlKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIH1cbn1cblxuLyoqXG4gKiBMYXVuY2hlcyBmbHlvdXRzIGFuZCBwcm92aWRlcyBhIGNvbW1vbiBsb29rIGFuZCBmZWVsLlxuICogVGhpcyBzZXJ2aWNlIGR5bmFtaWNhbGx5IGdlbmVyYXRlcyB0aGUgZmx5b3V0IGNvbXBvbmVudCBhbmQgYXBwZW5kcyBpdCBkaXJlY3RseSB0byB0aGVcbiAqIGRvY3VtZW50J3MgYGJvZHlgIGVsZW1lbnQuIFRoZSBgU2t5Rmx5b3V0SW5zdGFuY2VgIGNsYXNzIHdhdGNoZXMgZm9yIGFuZCB0cmlnZ2VycyBmbHlvdXQgZXZlbnRzLlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZCBVc2UgYFNreUZseW91dFNlcnZpY2VgIHRvIG9wZW4gYSBzdGFuZGFsb25lIGNvbXBvbmVudCBpbnN0ZWFkLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRMZWdhY3lTZXJ2aWNlIGV4dGVuZHMgU2t5Rmx5b3V0U2VydmljZSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYsXG4gICAgZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IFNreUR5bmFtaWNDb21wb25lbnRMZWdhY3lTZXJ2aWNlLFxuICAgIHJvdXRlcjogUm91dGVyLFxuICAgIG5nWm9uZTogTmdab25lLFxuICApIHtcbiAgICBzdXBlcihjb3JlQWRhcHRlciwgd2luZG93UmVmLCBkeW5hbWljQ29tcG9uZW50U2VydmljZSwgcm91dGVyLCBuZ1pvbmUpO1xuICB9XG59XG4iXX0=
@@ -25,14 +25,14 @@ SkyLibResourcesService.addResources(RESOURCES);
25
25
  * Import into any component library module that needs to use resource strings.
26
26
  */
27
27
  export class SkyFlyoutResourcesModule {
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
29
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutResourcesModule, exports: [SkyI18nModule] }); }
30
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutResourcesModule, imports: [SkyI18nModule] }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
29
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutResourcesModule, exports: [SkyI18nModule] }); }
30
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutResourcesModule, imports: [SkyI18nModule] }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyFlyoutResourcesModule, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFlyoutResourcesModule, decorators: [{
33
33
  type: NgModule,
34
34
  args: [{
35
35
  exports: [SkyI18nModule],
36
36
  }]
37
37
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWZseW91dC1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1mbHlvdXQtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFFMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1Asa0JBQWtCLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFO1FBQy9DLHFDQUFxQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUM5RCxpQ0FBaUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7UUFDdEQsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFO1FBQ3pELGtDQUFrQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtRQUM5RCwwQkFBMEIsRUFBRTtZQUMxQixPQUFPLEVBQ0wsNE5BQTROO1NBQy9OO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsc0JBQXNCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRS9DOztHQUVHO0FBSUgsTUFBTSxPQUFPLHdCQUF3Qjs4R0FBeEIsd0JBQXdCOytHQUF4Qix3QkFBd0IsWUFGekIsYUFBYTsrR0FFWix3QkFBd0IsWUFGekIsYUFBYTs7MkZBRVosd0JBQXdCO2tCQUhwQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuXG4vKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1mbHlvdXQnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IFJlY29yZDxzdHJpbmcsIFNreUxpYlJlc291cmNlcz4gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9mbHlvdXRfY2xvc2U6IHsgbWVzc2FnZTogJ0Nsb3NlIGZseW91dCcgfSxcbiAgICBza3l1eF9mbHlvdXRfaXRlcmF0b3JfcHJldmlvdXNfYnV0dG9uOiB7IG1lc3NhZ2U6ICdQcmV2aW91cycgfSxcbiAgICBza3l1eF9mbHlvdXRfaXRlcmF0b3JfbmV4dF9idXR0b246IHsgbWVzc2FnZTogJ05leHQnIH0sXG4gICAgc2t5dXhfZmx5b3V0X3Blcm1hbGlua19idXR0b246IHsgbWVzc2FnZTogJ1ZpZXcgcmVjb3JkJyB9LFxuICAgIHNreXV4X2ZseW91dF9wcmltYXJ5X2FjdGlvbl9idXR0b246IHsgbWVzc2FnZTogJ0NyZWF0ZSBsaXN0JyB9LFxuICAgIHNreXV4X2ZseW91dF9yZXNpemVfaGFuZGxlOiB7XG4gICAgICBtZXNzYWdlOlxuICAgICAgICAnUmVzaXplIHRoZSBmbHlvdXQgd2luZG93LiBQcmVzcyB0aGUgZW50ZXIgb3Igc3BhY2Uga2V5IHRvIGFjdGl2YXRlLCB0aGVuIHVzZSBsZWZ0IGFycm93IGtleSB0byBleHBhbmQgdGhlIGZseW91dCB3aW5kb3cgYW5kIHJpZ2h0IGFycm93IGtleSB0byBzaHJpbmsgdGhlIGZseW91dCB3aW5kb3cuIFByZXNzIHRoZSBlbnRlciwgc3BhY2UsIG9yIHRhYiBrZXkgdG8gZGVhY3RpdmF0ZS4nLFxuICAgIH0sXG4gIH0sXG59O1xuXG5Ta3lMaWJSZXNvdXJjZXNTZXJ2aWNlLmFkZFJlc291cmNlcyhSRVNPVVJDRVMpO1xuXG4vKipcbiAqIEltcG9ydCBpbnRvIGFueSBjb21wb25lbnQgbGlicmFyeSBtb2R1bGUgdGhhdCBuZWVkcyB0byB1c2UgcmVzb3VyY2Ugc3RyaW5ncy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1NreUkxOG5Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRSZXNvdXJjZXNNb2R1bGUge31cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWZseW91dC1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1mbHlvdXQtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFFMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1Asa0JBQWtCLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFO1FBQy9DLHFDQUFxQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUM5RCxpQ0FBaUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7UUFDdEQsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFO1FBQ3pELGtDQUFrQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtRQUM5RCwwQkFBMEIsRUFBRTtZQUMxQixPQUFPLEVBQ0wsNE5BQTROO1NBQy9OO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsc0JBQXNCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRS9DOztHQUVHO0FBSUgsTUFBTSxPQUFPLHdCQUF3QjsrR0FBeEIsd0JBQXdCO2dIQUF4Qix3QkFBd0IsWUFGekIsYUFBYTtnSEFFWix3QkFBd0IsWUFGekIsYUFBYTs7NEZBRVosd0JBQXdCO2tCQUhwQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuXG4vKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1mbHlvdXQnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IFJlY29yZDxzdHJpbmcsIFNreUxpYlJlc291cmNlcz4gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9mbHlvdXRfY2xvc2U6IHsgbWVzc2FnZTogJ0Nsb3NlIGZseW91dCcgfSxcbiAgICBza3l1eF9mbHlvdXRfaXRlcmF0b3JfcHJldmlvdXNfYnV0dG9uOiB7IG1lc3NhZ2U6ICdQcmV2aW91cycgfSxcbiAgICBza3l1eF9mbHlvdXRfaXRlcmF0b3JfbmV4dF9idXR0b246IHsgbWVzc2FnZTogJ05leHQnIH0sXG4gICAgc2t5dXhfZmx5b3V0X3Blcm1hbGlua19idXR0b246IHsgbWVzc2FnZTogJ1ZpZXcgcmVjb3JkJyB9LFxuICAgIHNreXV4X2ZseW91dF9wcmltYXJ5X2FjdGlvbl9idXR0b246IHsgbWVzc2FnZTogJ0NyZWF0ZSBsaXN0JyB9LFxuICAgIHNreXV4X2ZseW91dF9yZXNpemVfaGFuZGxlOiB7XG4gICAgICBtZXNzYWdlOlxuICAgICAgICAnUmVzaXplIHRoZSBmbHlvdXQgd2luZG93LiBQcmVzcyB0aGUgZW50ZXIgb3Igc3BhY2Uga2V5IHRvIGFjdGl2YXRlLCB0aGVuIHVzZSBsZWZ0IGFycm93IGtleSB0byBleHBhbmQgdGhlIGZseW91dCB3aW5kb3cgYW5kIHJpZ2h0IGFycm93IGtleSB0byBzaHJpbmsgdGhlIGZseW91dCB3aW5kb3cuIFByZXNzIHRoZSBlbnRlciwgc3BhY2UsIG9yIHRhYiBrZXkgdG8gZGVhY3RpdmF0ZS4nLFxuICAgIH0sXG4gIH0sXG59O1xuXG5Ta3lMaWJSZXNvdXJjZXNTZXJ2aWNlLmFkZFJlc291cmNlcyhSRVNPVVJDRVMpO1xuXG4vKipcbiAqIEltcG9ydCBpbnRvIGFueSBjb21wb25lbnQgbGlicmFyeSBtb2R1bGUgdGhhdCBuZWVkcyB0byB1c2UgcmVzb3VyY2Ugc3RyaW5ncy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1NreUkxOG5Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRSZXNvdXJjZXNNb2R1bGUge31cbiJdfQ==