@fundamental-ngx/platform 0.43.0-rc.9 → 0.43.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.
- package/esm2020/dynamic-page/dynamic-page.component.mjs +1 -1
- package/esm2020/form/combobox/combobox/combobox.component.mjs +1 -1
- package/esm2020/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +2 -2
- package/esm2020/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +1 -1
- package/esm2020/form/multi-input/multi-input.component.mjs +7 -4
- package/esm2020/form/step-input/number/number-step-input.component.mjs +1 -1
- package/esm2020/settings-generator/settings-generator-content/settings-generator-content.component.mjs +1 -1
- package/esm2020/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +4 -3
- package/esm2020/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +1 -1
- package/esm2020/smart-filter-bar/smart-filter-bar.component.mjs +3 -3
- package/esm2020/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +3 -3
- package/esm2020/table/components/table-header-row/table-header-row.component.mjs +8 -4
- package/esm2020/table/components/table-p13-dialog/sorting/sorting.component.mjs +3 -3
- package/esm2020/table/components/table-row/table-row.component.mjs +4 -3
- package/esm2020/table/table.component.mjs +29 -11
- package/esm2020/table-helpers/constants/index.mjs +3 -2
- package/esm2020/table-helpers/directives/table-scrollable.directive.mjs +9 -1
- package/esm2020/table-helpers/directives/table-virtual-scroll.directive.mjs +6 -2
- package/esm2020/table-helpers/interfaces/table-state.interface.mjs +1 -1
- package/esm2020/table-helpers/services/table-scroll-dispatcher.service.mjs +1 -1
- package/esm2020/table-helpers/services/table.service.mjs +3 -2
- package/esm2020/upload-collection/upload-collection/upload-collection.component.mjs +1 -1
- package/esm2020/value-help-dialog/components/define-tab/define-tab.component.mjs +1 -1
- package/esm2020/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-dynamic-page.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-form.mjs +9 -7
- package/fesm2015/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-settings-generator.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-smart-filter-bar.mjs +5 -5
- package/fesm2015/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table-helpers.mjs +14 -3
- package/fesm2015/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table.mjs +41 -19
- package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-upload-collection.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-dynamic-page.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-form.mjs +10 -7
- package/fesm2020/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-settings-generator.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-smart-filter-bar.mjs +5 -5
- package/fesm2020/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table-helpers.mjs +17 -3
- package/fesm2020/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table.mjs +41 -19
- package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-upload-collection.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/form/multi-input/multi-input.component.d.ts +3 -1
- package/fundamental-ngx-platform-v0.43.0.tgz +0 -0
- package/package.json +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/table/components/table-header-row/table-header-row.component.d.ts +3 -1
- package/table/table.component.d.ts +7 -1
- package/table-helpers/directives/table-scrollable.directive.d.ts +2 -0
- package/table-helpers/interfaces/table-state.interface.d.ts +1 -0
- package/table-helpers/services/table-scroll-dispatcher.service.d.ts +2 -0
- package/fundamental-ngx-platform-v0.43.0-rc.9.tgz +0 -0
|
@@ -17,7 +17,8 @@ export const DEFAULT_TABLE_STATE = {
|
|
|
17
17
|
columnKeys: [],
|
|
18
18
|
freezeToColumn: null,
|
|
19
19
|
freezeToEndColumn: null,
|
|
20
|
-
searchInput: DEFAULT_TABLE_SEARCH_INPUT
|
|
20
|
+
searchInput: DEFAULT_TABLE_SEARCH_INPUT,
|
|
21
|
+
scrollTopPosition: 0
|
|
21
22
|
};
|
|
22
23
|
export const DEFAULT_HIGHLIGHTING_KEY = 'semantic';
|
|
23
24
|
export const EDITABLE_ROW_SEMANTIC_STATE = 'information';
|
|
@@ -33,4 +34,4 @@ export const ROW_HEIGHT = new Map([
|
|
|
33
34
|
[ContentDensityMode.COMPACT, 32],
|
|
34
35
|
[ContentDensityMode.CONDENSED, 24]
|
|
35
36
|
]);
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUtaGVscGVycy9jb25zdGFudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFM0UsY0FBYyxVQUFVLENBQUM7QUFFekIsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQTZCO0lBQ3hELFFBQVEsRUFBRSxDQUFDO0lBQ1gsV0FBVyxFQUFFLENBQUM7Q0FDakIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUEwQjtJQUM3RCxJQUFJLEVBQUUsRUFBRTtJQUNSLFFBQVEsRUFBRSxFQUFFO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUF5QjtJQUNyRCxNQUFNLEVBQUUsRUFBRTtJQUNWLFFBQVEsRUFBRSxFQUFFO0lBQ1osT0FBTyxFQUFFLEVBQUU7SUFDWCxJQUFJLEVBQUUsa0JBQWtCO0lBQ3hCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsVUFBVSxFQUFFLEVBQUU7SUFDZCxjQUFjLEVBQUUsSUFBSTtJQUNwQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLFdBQVcsRUFBRSwwQkFBMEI7SUFDdkMsaUJBQWlCLEVBQUUsQ0FBQztDQUN2QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsVUFBVSxDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLGFBQWEsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxDQUFDLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQTRDLElBQUksR0FBRyxDQUE2QjtJQUMvRyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7SUFDN0IsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQ2hDLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztDQUNyQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUE0QyxJQUFJLEdBQUcsQ0FBNkI7SUFDbkcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQzdCLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztJQUNoQyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7Q0FDckMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NlYXJjaC1maWVsZCc7XG5cbmltcG9ydCB7IENvbGxlY3Rpb25QYWdlLCBUYWJsZVN0YXRlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU1vZGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcblxuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9UQUJMRV9QQUdFOiBSZWFkb25seTxDb2xsZWN0aW9uUGFnZT4gPSB7XG4gICAgcGFnZVNpemU6IDAsXG4gICAgY3VycmVudFBhZ2U6IDFcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1RBQkxFX1NFQVJDSF9JTlBVVDogUmVhZG9ubHk8U2VhcmNoSW5wdXQ+ID0ge1xuICAgIHRleHQ6ICcnLFxuICAgIGNhdGVnb3J5OiAnJ1xufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEFCTEVfU1RBVEU6IFJlYWRvbmx5PFRhYmxlU3RhdGU+ID0ge1xuICAgIHNvcnRCeTogW10sXG4gICAgZmlsdGVyQnk6IFtdLFxuICAgIGdyb3VwQnk6IFtdLFxuICAgIHBhZ2U6IERFRkFVTFRfVEFCTEVfUEFHRSxcbiAgICBjb2x1bW5zOiBbXSxcbiAgICBjb2x1bW5LZXlzOiBbXSxcbiAgICBmcmVlemVUb0NvbHVtbjogbnVsbCxcbiAgICBmcmVlemVUb0VuZENvbHVtbjogbnVsbCxcbiAgICBzZWFyY2hJbnB1dDogREVGQVVMVF9UQUJMRV9TRUFSQ0hfSU5QVVQsXG4gICAgc2Nyb2xsVG9wUG9zaXRpb246IDBcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0hJR0hMSUdIVElOR19LRVkgPSAnc2VtYW50aWMnO1xuXG5leHBvcnQgY29uc3QgRURJVEFCTEVfUk9XX1NFTUFOVElDX1NUQVRFID0gJ2luZm9ybWF0aW9uJztcblxuZXhwb3J0IGNvbnN0IFNFTUFOVElDX0hJR0hMSUdIVElOR19DT0xVTU5fV0lEVEggPSA2O1xuXG5leHBvcnQgY29uc3QgU0VMRUNUSU9OX0NPTFVNTl9XSURUSDogUmVhZG9ubHlNYXA8Q29udGVudERlbnNpdHlNb2RlLCBudW1iZXI+ID0gbmV3IE1hcDxDb250ZW50RGVuc2l0eU1vZGUsIG51bWJlcj4oW1xuICAgIFtDb250ZW50RGVuc2l0eU1vZGUuQ09aWSwgNDRdLFxuICAgIFtDb250ZW50RGVuc2l0eU1vZGUuQ09NUEFDVCwgMzJdLFxuICAgIFtDb250ZW50RGVuc2l0eU1vZGUuQ09OREVOU0VELCAzMl1cbl0pO1xuXG5leHBvcnQgY29uc3QgVEFCTEVfQ09MVU1OX01JTl9XSURUSCA9IDUwO1xuXG5leHBvcnQgY29uc3QgUk9XX0hFSUdIVDogUmVhZG9ubHlNYXA8Q29udGVudERlbnNpdHlNb2RlLCBudW1iZXI+ID0gbmV3IE1hcDxDb250ZW50RGVuc2l0eU1vZGUsIG51bWJlcj4oW1xuICAgIFtDb250ZW50RGVuc2l0eU1vZGUuQ09aWSwgNDRdLFxuICAgIFtDb250ZW50RGVuc2l0eU1vZGUuQ09NUEFDVCwgMzJdLFxuICAgIFtDb250ZW50RGVuc2l0eU1vZGUuQ09OREVOU0VELCAyNF1cbl0pO1xuIl19
|
|
@@ -134,6 +134,14 @@ export class TableScrollableDirective {
|
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
+
/** Set Scroll Position during component initialization. */
|
|
138
|
+
initializeScrollTop(scrollTop) {
|
|
139
|
+
this.ngZone.runOutsideAngular(() => {
|
|
140
|
+
setTimeout(() => {
|
|
141
|
+
this.setScrollTop(scrollTop, false);
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
}
|
|
137
145
|
}
|
|
138
146
|
TableScrollableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableScrollableDirective, deps: [{ token: i0.ElementRef }, { token: i1.TableScrollDispatcherService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
139
147
|
TableScrollableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: TableScrollableDirective, isStandalone: true, selector: "[fdpTableScrollable]", providers: [
|
|
@@ -152,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
152
160
|
]
|
|
153
161
|
}]
|
|
154
162
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.TableScrollDispatcherService }, { type: i0.NgZone }]; } });
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUtaGVscGVycy9kaXJlY3RpdmVzL3RhYmxlLXNjcm9sbGFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBcUIsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsZ0JBQWdCLEVBRWhCLDRCQUE0QixFQUMvQixNQUFNLDZDQUE2QyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQVksU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUUzQzs7Ozs7OztHQU9HO0FBVUgsTUFBTSxPQUFPLHdCQUF3QjtJQThDakMsY0FBYztJQUNkLFlBQ1csVUFBbUMsRUFDaEMsZ0JBQThDLEVBQzlDLE1BQWM7UUFGakIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE4QjtRQUM5QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBakQ1QixjQUFjO1FBQ04sZUFBVSxHQUFHLEtBQUssQ0FBQztRQUUzQixjQUFjO1FBQ04sbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFFM0IsY0FBYztRQUNOLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLGNBQWM7UUFDRyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXhE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QUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxFQUNoRTt3QkFDRSxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssQ0FBQzt3QkFDckUsTUFBTSxPQUFPLEdBQUcsS0FBSzs0QkFDakIsQ0FBQyxDQUFDLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQzVFLENBQUMsQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQzt3QkFDMUUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztxQkFDekQ7aUJBQ0o7YUFDSjtTQUNKO0lBQ0wsQ0FBQzs7cUhBN0pRLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLG1FQUx0QjtRQUNQLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsRUFBRTtRQUN0RixnQkFBZ0I7S0FDbkI7MkZBRVEsd0JBQXdCO2tCQVRwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUMsRUFBRTt3QkFDdEYsZ0JBQWdCO3FCQUNuQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgZm9yd2FyZFJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cm95ZWRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBUQUJMRV9TQ1JPTExBQkxFLFxuICAgIFRhYmxlU2Nyb2xsYWJsZSxcbiAgICBUYWJsZVNjcm9sbERpc3BhdGNoZXJTZXJ2aWNlXG59IGZyb20gJy4uL3NlcnZpY2VzL3RhYmxlLXNjcm9sbC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIsIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBzaGFyZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICogVGFibGUgU2Nyb2xsYWJsZS5cbiAqIFRoYXQgZGlyZWN0aXZlIHNob3VsZCBiZSBhc3NpZ25lZCB0byB0YWJsZSBzY3JvbGxhYmxlIGFyZWEuXG4gKiBJdCByZWdpc3RlcnMgaXRzZWxmIGluIHRhYmxlIHNjcm9sbCBkaXNwYXRjaGVyXG4gKiBhbmQgbm90aWZ5IG9uY2UgZWxlbWVudCBzY3JvbGxlZC5cbiAqXG4gKiBGb3IgaW50ZXJuYWwgdXNhZ2UuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkcFRhYmxlU2Nyb2xsYWJsZV0nLFxuICAgIGV4cG9ydEFzOiAndGFibGVTY3JvbGxhYmxlJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IFRBQkxFX1NDUk9MTEFCTEUsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRhYmxlU2Nyb2xsYWJsZURpcmVjdGl2ZSkgfSxcbiAgICAgICAgRGVzdHJveWVkU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVTY3JvbGxhYmxlRGlyZWN0aXZlIGltcGxlbWVudHMgVGFibGVTY3JvbGxhYmxlLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9za2lwRXZlbnQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcHJldlNjcm9sbFRvcCA9IDA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3ByZXZTY3JvbGxMZWZ0ID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveWVkJCA9IGluamVjdChEZXN0cm95ZWRTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgLyoqIFNjcm9sbCBldmVudHMgc3RyZWFtICovXG4gICAgcHJpdmF0ZSBfZWxlbWVudFNjcm9sbFN0cmVhbTogT2JzZXJ2YWJsZTxFdmVudD4gPSBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEV2ZW50PikgPT4ge1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgICAgICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnc2Nyb2xsJykuc3Vic2NyaWJlKG9ic2VydmVyKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gKCkgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfSkucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9za2lwRXZlbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9za2lwRXZlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQkKSxcbiAgICAgICAgc2hhcmUoKVxuICAgICk7XG5cbiAgICAvKiogVmVydGljYWwgc2Nyb2xsIHN0cmVhbSAqL1xuICAgIHByaXZhdGUgX2VsZW1lbnRWZXJ0aWNhbFNjcm9sbFN0cmVhbTogT2JzZXJ2YWJsZTxFdmVudD4gPSB0aGlzLl9lbGVtZW50U2Nyb2xsU3RyZWFtLnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLl9wcmV2U2Nyb2xsVG9wICE9PSB0aGlzLmdldFNjcm9sbFRvcCgpKSxcbiAgICAgICAgdGFwKCgpID0+ICh0aGlzLl9wcmV2U2Nyb2xsVG9wID0gdGhpcy5nZXRTY3JvbGxUb3AoKSkpXG4gICAgKTtcblxuICAgIC8qKiBIb3Jpem9udGFsIHNjcm9sbCBzdHJlYW0gKi9cbiAgICBwcml2YXRlIF9lbGVtZW50SG9yaXpvbnRhbFNjcm9sbFN0cmVhbTogT2JzZXJ2YWJsZTxFdmVudD4gPSB0aGlzLl9lbGVtZW50U2Nyb2xsU3RyZWFtLnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLl9wcmV2U2Nyb2xsTGVmdCAhPT0gdGhpcy5nZXRTY3JvbGxMZWZ0KCkpLFxuICAgICAgICB0YXAoKCkgPT4gKHRoaXMuX3ByZXZTY3JvbGxMZWZ0ID0gdGhpcy5nZXRTY3JvbGxMZWZ0KCkpKVxuICAgICk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByb3RlY3RlZCBzY3JvbGxEaXNwYXRjaGVyOiBUYWJsZVNjcm9sbERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgbmdab25lOiBOZ1pvbmVcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjcm9sbERpc3BhdGNoZXIucmVnaXN0ZXIodGhpcyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zY3JvbGxEaXNwYXRjaGVyLmRlcmVnaXN0ZXIodGhpcyk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybnMgb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHdoZW4gYSBzY3JvbGwgZXZlbnQgaXMgZmlyZWQgb24gdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBnZXRTY3JvbGxTdHJlYW0oKTogT2JzZXJ2YWJsZTxFdmVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFNjcm9sbFN0cmVhbTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiBhIHZlcnRpY2FsIHNjcm9sbCBldmVudCBpcyBoYXBwZW5lZCBvbiB0aGUgaG9zdCBlbGVtZW50LiAqL1xuICAgIGdldFZlcnRpY2FsU2Nyb2xsU3RyZWFtKCk6IE9ic2VydmFibGU8RXZlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRWZXJ0aWNhbFNjcm9sbFN0cmVhbTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiBhIGhvcml6b250YWwgc2Nyb2xsIGV2ZW50IGlzIGhhcHBlbmVkIG9uIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0SG9yaXpvbnRhbFNjcm9sbFN0cmVhbSgpOiBPYnNlcnZhYmxlPEV2ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50SG9yaXpvbnRhbFNjcm9sbFN0cmVhbTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBzY3JvbGxUb3AgcG9zaXRpb24gb2YgdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBnZXRTY3JvbGxUb3AoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Py5zY3JvbGxUb3A7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybnMgc2Nyb2xsTGVmdCBwb3NpdGlvbiBvZiB0aGUgaG9zdCBlbGVtZW50LiAqL1xuICAgIGdldFNjcm9sbExlZnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Py5zY3JvbGxMZWZ0O1xuICAgIH1cblxuICAgIC8qKiBTZXQgc2Nyb2xsVG9wIHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgc2V0U2Nyb2xsVG9wKHNjcm9sbFRvcDogbnVtYmVyLCBlbWl0RXZlbnQgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgfHwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID09PSBzY3JvbGxUb3ApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9za2lwRXZlbnQgPSAhZW1pdEV2ZW50O1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSBzY3JvbGxUb3A7XG4gICAgfVxuXG4gICAgLyoqIFNldCBzY3JvbGxMZWZ0IHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgc2V0U2Nyb2xsTGVmdChzY3JvbGxMZWZ0OiBudW1iZXIsIGVtaXRFdmVudCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID09PSBzY3JvbGxMZWZ0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2tpcEV2ZW50ID0gIWVtaXRFdmVudDtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHNjcm9sbExlZnQ7XG4gICAgfVxuXG4gICAgLyoqIFNjcm9sbHMgdG8gb3ZlcmxhcHBlZCBjZWxsLiAqL1xuICAgIHNjcm9sbFRvT3ZlcmxhcHBlZENlbGwocnRsOiBib29sZWFuLCBmcmVlemFibGVDb2x1bW5zU2l6ZTogbnVtYmVyLCBmcmVlemFibGVFbmRDb2x1bW5TaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFibGVTY3JvbGxhYmxlRWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgaXNSdGwgPSBydGw7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGZyZWV6YWJsZUNvbHVtbnNTaXplIHx8IGZyZWV6YWJsZUVuZENvbHVtblNpemUpICYmXG4gICAgICAgICAgICB0YWJsZVNjcm9sbGFibGVFbC5zY3JvbGxXaWR0aCA+IHRhYmxlU2Nyb2xsYWJsZUVsLmNsaWVudFdpZHRoXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgYWN0aXZlRWwgPSB0aGlzLl9kb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGFjdGl2ZUVsICYmXG4gICAgICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlRWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC10YWJsZV9fY2VsbC0tZml4ZWQnKSB8fFxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVFbC5jbGFzc0xpc3QuY29udGFpbnMoJ2ZkLXRhYmxlX19jZWxsLS1maXhlZC1lbmQnKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGlmIChmcmVlemFibGVDb2x1bW5zU2l6ZSAmJiAhZnJlZXphYmxlRW5kQ29sdW1uU2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICBhY3RpdmVFbC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcsIGlubGluZTogJ2VuZCcgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghZnJlZXphYmxlQ29sdW1uc1NpemUgJiYgZnJlZXphYmxlRW5kQ29sdW1uU2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICBhY3RpdmVFbC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcsIGlubGluZTogJ2NlbnRlcicgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChmcmVlemFibGVDb2x1bW5zU2l6ZSAmJiBmcmVlemFibGVFbmRDb2x1bW5TaXplKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIHRvIHNlZSBpZiBhbm90aGVyIGVsZW1lbnQgb2JzdHJ1Y3RzIHRoZSBhY3RpdmUgZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVFbExlZnQgPSBhY3RpdmVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVFbFRvcCA9IGFjdGl2ZUVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdG9wRWxlbWVudEZyb21MZWZ0ID0gdGhpcy5fZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChhY3RpdmVFbExlZnQsIGFjdGl2ZUVsVG9wKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgdGhlIGFjdGl2ZUVsIGlzIG92ZXJsYXBwZWRcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wRWxlbWVudEZyb21MZWZ0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhYWN0aXZlRWwuaXNTYW1lTm9kZSh0b3BFbGVtZW50RnJvbUxlZnQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3BFbGVtZW50RnJvbUxlZnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC10YWJsZV9fY2VsbC0tZml4ZWQtZW5kJylcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0b3BFbGVtZW50WCA9IHRvcEVsZW1lbnRGcm9tTGVmdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVmdFZhbCA9IGlzUnRsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAoYWN0aXZlRWxMZWZ0ICsgYWN0aXZlRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggLSB0b3BFbGVtZW50WCkgKiAtMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogYWN0aXZlRWxMZWZ0ICsgYWN0aXZlRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggLSB0b3BFbGVtZW50WDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlU2Nyb2xsYWJsZUVsLnNjcm9sbEJ5KHsgdG9wOiAwLCBsZWZ0OiBsZWZ0VmFsIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wRWxlbWVudEZyb21MZWZ0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhYWN0aXZlRWwuaXNTYW1lTm9kZSh0b3BFbGVtZW50RnJvbUxlZnQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3BFbGVtZW50RnJvbUxlZnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC10YWJsZV9fY2VsbC0tZml4ZWQnKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvcEVsZW1lbnRYID0gdG9wRWxlbWVudEZyb21MZWZ0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVmdFZhbCA9IGlzUnRsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAoYWN0aXZlRWxMZWZ0IC0gYWN0aXZlRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggLSB0b3BFbGVtZW50WCkgKiAtMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogYWN0aXZlRWxMZWZ0IC0gYWN0aXZlRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggLSB0b3BFbGVtZW50WDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlU2Nyb2xsYWJsZUVsLnNjcm9sbEJ5KHsgdG9wOiAwLCBsZWZ0OiBsZWZ0VmFsIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUtaGVscGVycy9kaXJlY3RpdmVzL3RhYmxlLXNjcm9sbGFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBcUIsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsZ0JBQWdCLEVBRWhCLDRCQUE0QixFQUMvQixNQUFNLDZDQUE2QyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQVksU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUUzQzs7Ozs7OztHQU9HO0FBVUgsTUFBTSxPQUFPLHdCQUF3QjtJQThDakMsY0FBYztJQUNkLFlBQ1csVUFBbUMsRUFDaEMsZ0JBQThDLEVBQzlDLE1BQWM7UUFGakIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE4QjtRQUM5QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBakQ1QixjQUFjO1FBQ04sZUFBVSxHQUFHLEtBQUssQ0FBQztRQUUzQixjQUFjO1FBQ04sbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFFM0IsY0FBYztRQUNOLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLGNBQWM7UUFDRyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXhE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RSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxFQUFFO3dCQUN0RixnQkFBZ0I7cUJBQ25CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBmb3J3YXJkUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3Ryb3llZFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQge1xuICAgIFRBQkxFX1NDUk9MTEFCTEUsXG4gICAgVGFibGVTY3JvbGxhYmxlLFxuICAgIFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2Vcbn0gZnJvbSAnLi4vc2VydmljZXMvdGFibGUtc2Nyb2xsLWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBPYnNlcnZlciwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHNoYXJlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiBUYWJsZSBTY3JvbGxhYmxlLlxuICogVGhhdCBkaXJlY3RpdmUgc2hvdWxkIGJlIGFzc2lnbmVkIHRvIHRhYmxlIHNjcm9sbGFibGUgYXJlYS5cbiAqIEl0IHJlZ2lzdGVycyBpdHNlbGYgaW4gdGFibGUgc2Nyb2xsIGRpc3BhdGNoZXJcbiAqIGFuZCBub3RpZnkgb25jZSBlbGVtZW50IHNjcm9sbGVkLlxuICpcbiAqIEZvciBpbnRlcm5hbCB1c2FnZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRwVGFibGVTY3JvbGxhYmxlXScsXG4gICAgZXhwb3J0QXM6ICd0YWJsZVNjcm9sbGFibGUnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogVEFCTEVfU0NST0xMQUJMRSwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGFibGVTY3JvbGxhYmxlRGlyZWN0aXZlKSB9LFxuICAgICAgICBEZXN0cm95ZWRTZXJ2aWNlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVNjcm9sbGFibGVEaXJlY3RpdmUgaW1wbGVtZW50cyBUYWJsZVNjcm9sbGFibGUsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NraXBFdmVudCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9wcmV2U2Nyb2xsVG9wID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcHJldlNjcm9sbExlZnQgPSAwO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ZWQkID0gaW5qZWN0KERlc3Ryb3llZFNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgICAvKiogU2Nyb2xsIGV2ZW50cyBzdHJlYW0gKi9cbiAgICBwcml2YXRlIF9lbGVtZW50U2Nyb2xsU3RyZWFtOiBPYnNlcnZhYmxlPEV2ZW50PiA9IG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcjogT2JzZXJ2ZXI8RXZlbnQ+KSA9PiB7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICAgICAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzY3JvbGwnKS5zdWJzY3JpYmUob2JzZXJ2ZXIpXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiAoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9KS5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3NraXBFdmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NraXBFdmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCQpLFxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIC8qKiBWZXJ0aWNhbCBzY3JvbGwgc3RyZWFtICovXG4gICAgcHJpdmF0ZSBfZWxlbWVudFZlcnRpY2FsU2Nyb2xsU3RyZWFtOiBPYnNlcnZhYmxlPEV2ZW50PiA9IHRoaXMuX2VsZW1lbnRTY3JvbGxTdHJlYW0ucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuX3ByZXZTY3JvbGxUb3AgIT09IHRoaXMuZ2V0U2Nyb2xsVG9wKCkpLFxuICAgICAgICB0YXAoKCkgPT4gKHRoaXMuX3ByZXZTY3JvbGxUb3AgPSB0aGlzLmdldFNjcm9sbFRvcCgpKSlcbiAgICApO1xuXG4gICAgLyoqIEhvcml6b250YWwgc2Nyb2xsIHN0cmVhbSAqL1xuICAgIHByaXZhdGUgX2VsZW1lbnRIb3Jpem9udGFsU2Nyb2xsU3RyZWFtOiBPYnNlcnZhYmxlPEV2ZW50PiA9IHRoaXMuX2VsZW1lbnRTY3JvbGxTdHJlYW0ucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuX3ByZXZTY3JvbGxMZWZ0ICE9PSB0aGlzLmdldFNjcm9sbExlZnQoKSksXG4gICAgICAgIHRhcCgoKSA9PiAodGhpcy5fcHJldlNjcm9sbExlZnQgPSB0aGlzLmdldFNjcm9sbExlZnQoKSkpXG4gICAgKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJvdGVjdGVkIHNjcm9sbERpc3BhdGNoZXI6IFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBuZ1pvbmU6IE5nWm9uZVxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2Nyb2xsRGlzcGF0Y2hlci5yZWdpc3Rlcih0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjcm9sbERpc3BhdGNoZXIuZGVyZWdpc3Rlcih0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiBhIHNjcm9sbCBldmVudCBpcyBmaXJlZCBvbiB0aGUgaG9zdCBlbGVtZW50LiAqL1xuICAgIGdldFNjcm9sbFN0cmVhbSgpOiBPYnNlcnZhYmxlPEV2ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50U2Nyb2xsU3RyZWFtO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGEgdmVydGljYWwgc2Nyb2xsIGV2ZW50IGlzIGhhcHBlbmVkIG9uIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0VmVydGljYWxTY3JvbGxTdHJlYW0oKTogT2JzZXJ2YWJsZTxFdmVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFZlcnRpY2FsU2Nyb2xsU3RyZWFtO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGEgaG9yaXpvbnRhbCBzY3JvbGwgZXZlbnQgaXMgaGFwcGVuZWQgb24gdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBnZXRIb3Jpem9udGFsU2Nyb2xsU3RyZWFtKCk6IE9ic2VydmFibGU8RXZlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRIb3Jpem9udGFsU2Nyb2xsU3RyZWFtO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIHNjcm9sbFRvcCBwb3NpdGlvbiBvZiB0aGUgaG9zdCBlbGVtZW50LiAqL1xuICAgIGdldFNjcm9sbFRvcCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ/LnNjcm9sbFRvcDtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBzY3JvbGxMZWZ0IHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0U2Nyb2xsTGVmdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ/LnNjcm9sbExlZnQ7XG4gICAgfVxuXG4gICAgLyoqIFNldCBzY3JvbGxUb3AgcG9zaXRpb24gb2YgdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBzZXRTY3JvbGxUb3Aoc2Nyb2xsVG9wOiBudW1iZXIsIGVtaXRFdmVudCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPT09IHNjcm9sbFRvcCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NraXBFdmVudCA9ICFlbWl0RXZlbnQ7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IHNjcm9sbFRvcDtcbiAgICB9XG5cbiAgICAvKiogU2V0IHNjcm9sbExlZnQgcG9zaXRpb24gb2YgdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBzZXRTY3JvbGxMZWZ0KHNjcm9sbExlZnQ6IG51bWJlciwgZW1pdEV2ZW50ID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IHx8IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPT09IHNjcm9sbExlZnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9za2lwRXZlbnQgPSAhZW1pdEV2ZW50O1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gc2Nyb2xsTGVmdDtcbiAgICB9XG5cbiAgICAvKiogU2Nyb2xscyB0byBvdmVybGFwcGVkIGNlbGwuICovXG4gICAgc2Nyb2xsVG9PdmVybGFwcGVkQ2VsbChydGw6IGJvb2xlYW4sIGZyZWV6YWJsZUNvbHVtbnNTaXplOiBudW1iZXIsIGZyZWV6YWJsZUVuZENvbHVtblNpemU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWJsZVNjcm9sbGFibGVFbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBpc1J0bCA9IHJ0bDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoZnJlZXphYmxlQ29sdW1uc1NpemUgfHwgZnJlZXphYmxlRW5kQ29sdW1uU2l6ZSkgJiZcbiAgICAgICAgICAgIHRhYmxlU2Nyb2xsYWJsZUVsLnNjcm9sbFdpZHRoID4gdGFibGVTY3JvbGxhYmxlRWwuY2xpZW50V2lkdGhcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVFbCA9IHRoaXMuX2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgYWN0aXZlRWwgJiZcbiAgICAgICAgICAgICAgICAhKFxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVFbC5jbGFzc0xpc3QuY29udGFpbnMoJ2ZkLXRhYmxlX19jZWxsLS1maXhlZCcpIHx8XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUVsLmNsYXNzTGlzdC5jb250YWlucygnZmQtdGFibGVfX2NlbGwtLWZpeGVkLWVuZCcpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZyZWV6YWJsZUNvbHVtbnNTaXplICYmICFmcmVlemFibGVFbmRDb2x1bW5TaXplKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUVsLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JywgaW5saW5lOiAnZW5kJyB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFmcmVlemFibGVDb2x1bW5zU2l6ZSAmJiBmcmVlemFibGVFbmRDb2x1bW5TaXplKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUVsLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JywgaW5saW5lOiAnY2VudGVyJyB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZyZWV6YWJsZUNvbHVtbnNTaXplICYmIGZyZWV6YWJsZUVuZENvbHVtblNpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgdG8gc2VlIGlmIGFub3RoZXIgZWxlbWVudCBvYnN0cnVjdHMgdGhlIGFjdGl2ZSBlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUVsTGVmdCA9IGFjdGl2ZUVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUVsVG9wID0gYWN0aXZlRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0b3BFbGVtZW50RnJvbUxlZnQgPSB0aGlzLl9kb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGFjdGl2ZUVsTGVmdCwgYWN0aXZlRWxUb3ApO1xuICAgICAgICAgICAgICAgICAgICAvLyBpZiB0aGUgYWN0aXZlRWwgaXMgb3ZlcmxhcHBlZFxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3BFbGVtZW50RnJvbUxlZnQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFhY3RpdmVFbC5pc1NhbWVOb2RlKHRvcEVsZW1lbnRGcm9tTGVmdCkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcEVsZW1lbnRGcm9tTGVmdC5jbGFzc0xpc3QuY29udGFpbnMoJ2ZkLXRhYmxlX19jZWxsLS1maXhlZC1lbmQnKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvcEVsZW1lbnRYID0gdG9wRWxlbWVudEZyb21MZWZ0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsZWZ0VmFsID0gaXNSdGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IChhY3RpdmVFbExlZnQgKyBhY3RpdmVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAtIHRvcEVsZW1lbnRYKSAqIC0xXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBhY3RpdmVFbExlZnQgKyBhY3RpdmVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAtIHRvcEVsZW1lbnRYO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVTY3JvbGxhYmxlRWwuc2Nyb2xsQnkoeyB0b3A6IDAsIGxlZnQ6IGxlZnRWYWwgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3BFbGVtZW50RnJvbUxlZnQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFhY3RpdmVFbC5pc1NhbWVOb2RlKHRvcEVsZW1lbnRGcm9tTGVmdCkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcEVsZW1lbnRGcm9tTGVmdC5jbGFzc0xpc3QuY29udGFpbnMoJ2ZkLXRhYmxlX19jZWxsLS1maXhlZCcpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdG9wRWxlbWVudFggPSB0b3BFbGVtZW50RnJvbUxlZnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsZWZ0VmFsID0gaXNSdGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IChhY3RpdmVFbExlZnQgLSBhY3RpdmVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAtIHRvcEVsZW1lbnRYKSAqIC0xXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBhY3RpdmVFbExlZnQgLSBhY3RpdmVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAtIHRvcEVsZW1lbnRYO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVTY3JvbGxhYmxlRWwuc2Nyb2xsQnkoeyB0b3A6IDAsIGxlZnQ6IGxlZnRWYWwgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2V0IFNjcm9sbCBQb3NpdGlvbiBkdXJpbmcgY29tcG9uZW50IGluaXRpYWxpemF0aW9uLiAqL1xuICAgIGluaXRpYWxpemVTY3JvbGxUb3Aoc2Nyb2xsVG9wOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTY3JvbGxUb3Aoc2Nyb2xsVG9wLCBmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -82,8 +82,12 @@ export class TableVirtualScrollDirective extends TableVirtualScroll {
|
|
|
82
82
|
this._tableScrollDispatcher
|
|
83
83
|
.verticallyScrolled()
|
|
84
84
|
.pipe(filter(() => this.virtualScroll && !!this.bodyHeight), takeUntil(this._destroy$))
|
|
85
|
-
.subscribe(() => {
|
|
85
|
+
.subscribe((scrollable) => {
|
|
86
86
|
this.calculateVirtualScrollRows();
|
|
87
|
+
this._table.setTableState({
|
|
88
|
+
...this._table.getTableState(),
|
|
89
|
+
scrollTopPosition: scrollable.getScrollTop()
|
|
90
|
+
});
|
|
87
91
|
});
|
|
88
92
|
}
|
|
89
93
|
}
|
|
@@ -118,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
118
122
|
}], rowHeight: [{
|
|
119
123
|
type: Input
|
|
120
124
|
}] } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlydHVhbC1zY3JvbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlLWhlbHBlcnMvZGlyZWN0aXZlcy90YWJsZS12aXJ0dWFsLXNjcm9sbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBZTNGLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxrQkFBa0I7SUFabkU7O1FBYUk7O1dBRUc7UUFFSCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV0Qix3RUFBd0U7UUFFeEUsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFNakI7OztXQUdHO1FBRUgsY0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFFLENBQUM7UUFFckQsY0FBYztRQUNkLDZCQUF3QixHQUFHLENBQUMsQ0FBQztRQUU3QixjQUFjO1FBQ2QsNEJBQXVCLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFLekQsY0FBYztRQUNOLHdCQUFtQixHQUFHLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRS9GLGNBQWM7UUFDRywyQkFBc0IsR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUUvRSxjQUFjO1FBQ0csY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBMkV6RDtJQXpFRyxjQUFjO0lBQ2QsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRTtZQUM5QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFO1lBQ3BHLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1NBQ3JDO0lBQ0wsQ0FBQztJQUVELDRCQUE0QjtJQUM1QixRQUFRLENBQUMsS0FBWTtRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCwwQkFBMEI7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3pDLE9BQU87U0FDVjtRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRXJDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7UUFDbEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDMUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFN0QsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMxRSxjQUFjLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFFN0MsSUFBSSxnQkFBZ0IsR0FDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3hHLGdCQUFnQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRS9FLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQyxDQUFDO1FBRTlELG9EQUFvRDtRQUNwRCxNQUFNLFFBQVEsR0FDVixjQUFjLEtBQUssSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWM7WUFDMUQsZ0JBQWdCLEtBQUssSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQjtZQUM5RCxjQUFjLEtBQUssSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWM7WUFDMUQsaUdBQWlHO1lBQ2pHLGNBQWMsS0FBSyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekMsSUFBSSxRQUFRLEVBQUU7WUFDVixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFDaEYsSUFBSSxDQUFDLHdCQUF3QixHQUFHLGNBQWMsR0FBRyxTQUFTLEdBQUcsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1FBQzFGLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQ3pCLGNBQWMsRUFDZCxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxNQUFNLENBQzlFLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxxQkFBcUI7UUFDakIsSUFBSSxDQUFDLHNCQUFzQjthQUN0QixrQkFBa0IsRUFBRTthQUNwQixJQUFJLENBQ0QsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFDckQsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDNUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDOzt3SEFoSFEsMkJBQTJCOzRHQUEzQiwyQkFBMkIsaU1BUnpCO1FBQ1AsZ0JBQWdCO1FBQ2hCO1lBQ0ksT0FBTyxFQUFFLGtDQUFrQztZQUMzQyxXQUFXLEVBQUUsMkJBQTJCO1NBQzNDO0tBQ0o7MkZBRVEsMkJBQTJCO2tCQVp2QyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDUCxnQkFBZ0I7d0JBQ2hCOzRCQUNJLE9BQU8sRUFBRSxrQ0FBa0M7NEJBQzNDLFdBQVcsNkJBQTZCO3lCQUMzQztxQkFDSjtpQkFDSjs4QkFNRyxhQUFhO3NCQURaLEtBQUs7Z0JBS04sV0FBVztzQkFEVixLQUFLO2dCQUtOLFVBQVU7c0JBRFQsS0FBSztnQkFRTixTQUFTO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJveWVkU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZEUF9UQUJMRV9WSVJUVUFMX1NDUk9MTF9ESVJFQ1RJVkUsIFJPV19IRUlHSFQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGFibGVWaXJ0dWFsU2Nyb2xsIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90YWJsZS1zY3JvbGwtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSAnLi4vdGFibGUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZmRwLXRhYmxlW3ZpcnR1YWxTY3JvbGxdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBEZXN0cm95ZWRTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRFBfVEFCTEVfVklSVFVBTF9TQ1JPTExfRElSRUNUSVZFLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFRhYmxlVmlydHVhbFNjcm9sbERpcmVjdGl2ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVZpcnR1YWxTY3JvbGxEaXJlY3RpdmUgZXh0ZW5kcyBUYWJsZVZpcnR1YWxTY3JvbGwgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIC8qKiBXaGV0aGVyIHRvIHNob3cgb25seSB2aXNpYmxlIHJvd3MgaW4gbWF0dGVyIG9mIHBlcmZvcm1hbmNlXG4gICAgICogZmFsc2UgYnkgZGVmYXVsdCwgd2hlbiB0cnVlIHNldHRpbmcgYm9keUhlaWdodCBhbmQgcm93SGVpZ2h0IGlzIHJlcXVpcmVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmlydHVhbFNjcm9sbCA9IGZhbHNlO1xuXG4gICAgLyoqIENhY2hlIHNpemUgZm9yIHRoZSB2aXJ0dWFsU2Nyb2xsLCBkZWZhdWx0IGlzIDQwIGluIGVhY2ggZGlyZWN0aW9uICovXG4gICAgQElucHV0KClcbiAgICByZW5kZXJBaGVhZCA9IDQwO1xuXG4gICAgLyoqIEJvZHkgaGVpZ2h0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYm9keUhlaWdodDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogSGVpZ2h0IG9mIHRoZSByb3csIHJlcXVpcmVkIGZvciB0aGUgdmlydHVhbFNjcm9sbCxcbiAgICAgKiBkZWZhdWx0IGlzIDQ0cHggaW4gY296eSwgMzJweCBpbiBjb21wYWN0IGFuZCAyNHB4IGluIGNvbmRlbnNlZCAoc2V0IGF1dG9tYXRpY2FsbHkpXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICByb3dIZWlnaHQgPSBST1dfSEVJR0hULmdldChDb250ZW50RGVuc2l0eU1vZGUuQ09aWSkhO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB2aXJ0dWFsU2Nyb2xsVG90YWxIZWlnaHQgPSAwO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB2aXJ0dWFsU2Nyb2xsVHJhbnNmb3JtJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdGFibGU6IFRhYmxlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92aXJ0dWFsU2Nyb2xsQ2FjaGUgPSB7IHN0YXJ0Tm9kZUluZGV4OiAtMSwgdmlzaWJsZU5vZGVDb3VudDogLTEsIHRvdGFsTm9kZUNvdW50OiAtMSB9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJsZVNjcm9sbERpc3BhdGNoZXIgPSBpbmplY3QoVGFibGVTY3JvbGxEaXNwYXRjaGVyU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gaW5qZWN0KERlc3Ryb3llZFNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fdGFibGUudGFibGVTY3JvbGxhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudmlydHVhbFNjcm9sbCAmJiAoY2hhbmdlc1sncm93SGVpZ2h0J10gfHwgY2hhbmdlc1sndmlydHVhbFNjcm9sbCddIHx8IGNoYW5nZXNbJ3JlbmRlckFoZWFkJ10pKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVZpcnR1YWxTY3JvbGxSb3dzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2V0cyB0YWJsZSByZWZlcmVuY2UuICovXG4gICAgc2V0VGFibGUodGFibGU6IFRhYmxlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlID0gdGFibGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyByb3dzIGluIHZpZXdwb3J0LlxuICAgICAqL1xuICAgIGNhbGN1bGF0ZVZpcnR1YWxTY3JvbGxSb3dzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudmlydHVhbFNjcm9sbCB8fCAhdGhpcy5ib2R5SGVpZ2h0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByb3dIZWlnaHQgPSB0aGlzLnJvd0hlaWdodCArIDE7XG5cbiAgICAgICAgY29uc3Qgcm93c1Zpc2libGUgPSB0aGlzLl90YWJsZS5fdGFibGVSb3dzVmlzaWJsZTtcbiAgICAgICAgY29uc3Qgcm93c0luVmlld1BvcnQgPSB0aGlzLl90YWJsZS5nZXRSb3dzSW5WaWV3cG9ydCgpO1xuICAgICAgICBjb25zdCB0b3RhbE5vZGVDb3VudCA9IHJvd3NWaXNpYmxlLmxlbmd0aDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gdGhpcy5fdGFibGUudGFibGVTY3JvbGxhYmxlLmdldFNjcm9sbFRvcCgpO1xuXG4gICAgICAgIGxldCBzdGFydE5vZGVJbmRleCA9IE1hdGguZmxvb3Ioc2Nyb2xsVG9wIC8gcm93SGVpZ2h0KSAtIHRoaXMucmVuZGVyQWhlYWQ7XG4gICAgICAgIHN0YXJ0Tm9kZUluZGV4ID0gTWF0aC5tYXgoMCwgc3RhcnROb2RlSW5kZXgpO1xuXG4gICAgICAgIGxldCB2aXNpYmxlTm9kZUNvdW50ID1cbiAgICAgICAgICAgIE1hdGguY2VpbCh0aGlzLl90YWJsZS50YWJsZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCAvIHJvd0hlaWdodCkgKyAyICogdGhpcy5yZW5kZXJBaGVhZDtcbiAgICAgICAgdmlzaWJsZU5vZGVDb3VudCA9IE1hdGgubWluKHRvdGFsTm9kZUNvdW50IC0gc3RhcnROb2RlSW5kZXgsIHZpc2libGVOb2RlQ291bnQpO1xuXG4gICAgICAgIHRoaXMudmlydHVhbFNjcm9sbFRyYW5zZm9ybSQubmV4dChzdGFydE5vZGVJbmRleCAqIHJvd0hlaWdodCk7XG5cbiAgICAgICAgLy8gU2ltcGxlIGNhY2hpbmcgdG8gYXZvaWQgdW5uZWNlc3NhcnkgcmUtcmVuZGVyaW5nc1xuICAgICAgICBjb25zdCBpc0NhY2hlZCA9XG4gICAgICAgICAgICBzdGFydE5vZGVJbmRleCA9PT0gdGhpcy5fdmlydHVhbFNjcm9sbENhY2hlLnN0YXJ0Tm9kZUluZGV4ICYmXG4gICAgICAgICAgICB2aXNpYmxlTm9kZUNvdW50ID09PSB0aGlzLl92aXJ0dWFsU2Nyb2xsQ2FjaGUudmlzaWJsZU5vZGVDb3VudCAmJlxuICAgICAgICAgICAgdG90YWxOb2RlQ291bnQgPT09IHRoaXMuX3ZpcnR1YWxTY3JvbGxDYWNoZS50b3RhbE5vZGVDb3VudCAmJlxuICAgICAgICAgICAgLy8gT24gcm93cyBjaGFuZ2UsIGV2ZW4gaWYgdGhlIHRvdGFsIG51bWJlciBvZiByb3dzIGlzIHRoZSBzYW1lLCB0aGUgcm93IG9iamVjdCB3aWxsIGJlIGRpZmZlcmVudFxuICAgICAgICAgICAgc3RhcnROb2RlSW5kZXggPT09IHJvd3NJblZpZXdQb3J0WzBdO1xuXG4gICAgICAgIGlmIChpc0NhY2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fdmlydHVhbFNjcm9sbENhY2hlID0geyBzdGFydE5vZGVJbmRleCwgdmlzaWJsZU5vZGVDb3VudCwgdG90YWxOb2RlQ291bnQgfTtcbiAgICAgICAgdGhpcy52aXJ0dWFsU2Nyb2xsVG90YWxIZWlnaHQgPSB0b3RhbE5vZGVDb3VudCAqIHJvd0hlaWdodCAtIHZpc2libGVOb2RlQ291bnQgKiByb3dIZWlnaHQ7XG4gICAgICAgIHRoaXMuX3RhYmxlLnNldFJvd3NJblZpZXdwb3J0KFxuICAgICAgICAgICAgc3RhcnROb2RlSW5kZXgsXG4gICAgICAgICAgICByb3dzVmlzaWJsZS5zbGljZShzdGFydE5vZGVJbmRleCwgc3RhcnROb2RlSW5kZXggKyB2aXNpYmxlTm9kZUNvdW50KS5sZW5ndGhcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXNlcyBzY3JvbGwgbGlzdGVuZXIuXG4gICAgICovXG4gICAgbGlzdGVuT25WaXJ0dWFsU2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZVNjcm9sbERpc3BhdGNoZXJcbiAgICAgICAgICAgIC52ZXJ0aWNhbGx5U2Nyb2xsZWQoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMudmlydHVhbFNjcm9sbCAmJiAhIXRoaXMuYm9keUhlaWdodCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVWaXJ0dWFsU2Nyb2xsUm93cygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlydHVhbC1zY3JvbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlLWhlbHBlcnMvZGlyZWN0aXZlcy90YWJsZS12aXJ0dWFsLXNjcm9sbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBZTNGLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxrQkFBa0I7SUFabkU7O1FBYUk7O1dBRUc7UUFFSCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV0Qix3RUFBd0U7UUFFeEUsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFNakI7OztXQUdHO1FBRUgsY0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFFLENBQUM7UUFFckQsY0FBYztRQUNkLDZCQUF3QixHQUFHLENBQUMsQ0FBQztRQUU3QixjQUFjO1FBQ2QsNEJBQXVCLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFLekQsY0FBYztRQUNO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ImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cm95ZWRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlNb2RlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRkRQX1RBQkxFX1ZJUlRVQUxfU0NST0xMX0RJUkVDVElWRSwgUk9XX0hFSUdIVCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUYWJsZVZpcnR1YWxTY3JvbGwgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgVGFibGVTY3JvbGxEaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RhYmxlLXNjcm9sbC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tICcuLi90YWJsZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdmZHAtdGFibGVbdmlydHVhbFNjcm9sbF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIERlc3Ryb3llZFNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEUF9UQUJMRV9WSVJUVUFMX1NDUk9MTF9ESVJFQ1RJVkUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogVGFibGVWaXJ0dWFsU2Nyb2xsRGlyZWN0aXZlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlVmlydHVhbFNjcm9sbERpcmVjdGl2ZSBleHRlbmRzIFRhYmxlVmlydHVhbFNjcm9sbCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgLyoqIFdoZXRoZXIgdG8gc2hvdyBvbmx5IHZpc2libGUgcm93cyBpbiBtYXR0ZXIgb2YgcGVyZm9ybWFuY2VcbiAgICAgKiBmYWxzZSBieSBkZWZhdWx0LCB3aGVuIHRydWUgc2V0dGluZyBib2R5SGVpZ2h0IGFuZCByb3dIZWlnaHQgaXMgcmVxdWlyZWQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB2aXJ0dWFsU2Nyb2xsID0gZmFsc2U7XG5cbiAgICAvKiogQ2FjaGUgc2l6ZSBmb3IgdGhlIHZpcnR1YWxTY3JvbGwsIGRlZmF1bHQgaXMgNDAgaW4gZWFjaCBkaXJlY3Rpb24gKi9cbiAgICBASW5wdXQoKVxuICAgIHJlbmRlckFoZWFkID0gNDA7XG5cbiAgICAvKiogQm9keSBoZWlnaHQuICovXG4gICAgQElucHV0KClcbiAgICBib2R5SGVpZ2h0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBIZWlnaHQgb2YgdGhlIHJvdywgcmVxdWlyZWQgZm9yIHRoZSB2aXJ0dWFsU2Nyb2xsLFxuICAgICAqIGRlZmF1bHQgaXMgNDRweCBpbiBjb3p5LCAzMnB4IGluIGNvbXBhY3QgYW5kIDI0cHggaW4gY29uZGVuc2VkIChzZXQgYXV0b21hdGljYWxseSlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHJvd0hlaWdodCA9IFJPV19IRUlHSFQuZ2V0KENvbnRlbnREZW5zaXR5TW9kZS5DT1pZKSE7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHZpcnR1YWxTY3JvbGxUb3RhbEhlaWdodCA9IDA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHZpcnR1YWxTY3JvbGxUcmFuc2Zvcm0kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90YWJsZTogVGFibGU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3ZpcnR1YWxTY3JvbGxDYWNoZSA9IHsgc3RhcnROb2RlSW5kZXg6IC0xLCB2aXNpYmxlTm9kZUNvdW50OiAtMSwgdG90YWxOb2RlQ291bnQ6IC0xIH07XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxlU2Nyb2xsRGlzcGF0Y2hlciA9IGluamVjdChUYWJsZVNjcm9sbERpc3BhdGNoZXJTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBpbmplY3QoRGVzdHJveWVkU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl90YWJsZS50YWJsZVNjcm9sbGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy52aXJ0dWFsU2Nyb2xsICYmIChjaGFuZ2VzWydyb3dIZWlnaHQnXSB8fCBjaGFuZ2VzWyd2aXJ0dWFsU2Nyb2xsJ10gfHwgY2hhbmdlc1sncmVuZGVyQWhlYWQnXSkpIHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlVmlydHVhbFNjcm9sbFJvd3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBTZXRzIHRhYmxlIHJlZmVyZW5jZS4gKi9cbiAgICBzZXRUYWJsZSh0YWJsZTogVGFibGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUgPSB0YWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHJvd3MgaW4gdmlld3BvcnQuXG4gICAgICovXG4gICAgY2FsY3VsYXRlVmlydHVhbFNjcm9sbFJvd3MoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy52aXJ0dWFsU2Nyb2xsIHx8ICF0aGlzLmJvZHlIZWlnaHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJvd0hlaWdodCA9IHRoaXMucm93SGVpZ2h0ICsgMTtcblxuICAgICAgICBjb25zdCByb3dzVmlzaWJsZSA9IHRoaXMuX3RhYmxlLl90YWJsZVJvd3NWaXNpYmxlO1xuICAgICAgICBjb25zdCByb3dzSW5WaWV3UG9ydCA9IHRoaXMuX3RhYmxlLmdldFJvd3NJblZpZXdwb3J0KCk7XG4gICAgICAgIGNvbnN0IHRvdGFsTm9kZUNvdW50ID0gcm93c1Zpc2libGUubGVuZ3RoO1xuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLl90YWJsZS50YWJsZVNjcm9sbGFibGUuZ2V0U2Nyb2xsVG9wKCk7XG5cbiAgICAgICAgbGV0IHN0YXJ0Tm9kZUluZGV4ID0gTWF0aC5mbG9vcihzY3JvbGxUb3AgLyByb3dIZWlnaHQpIC0gdGhpcy5yZW5kZXJBaGVhZDtcbiAgICAgICAgc3RhcnROb2RlSW5kZXggPSBNYXRoLm1heCgwLCBzdGFydE5vZGVJbmRleCk7XG5cbiAgICAgICAgbGV0IHZpc2libGVOb2RlQ291bnQgPVxuICAgICAgICAgICAgTWF0aC5jZWlsKHRoaXMuX3RhYmxlLnRhYmxlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IC8gcm93SGVpZ2h0KSArIDIgKiB0aGlzLnJlbmRlckFoZWFkO1xuICAgICAgICB2aXNpYmxlTm9kZUNvdW50ID0gTWF0aC5taW4odG90YWxOb2RlQ291bnQgLSBzdGFydE5vZGVJbmRleCwgdmlzaWJsZU5vZGVDb3VudCk7XG5cbiAgICAgICAgdGhpcy52aXJ0dWFsU2Nyb2xsVHJhbnNmb3JtJC5uZXh0KHN0YXJ0Tm9kZUluZGV4ICogcm93SGVpZ2h0KTtcblxuICAgICAgICAvLyBTaW1wbGUgY2FjaGluZyB0byBhdm9pZCB1bm5lY2Vzc2FyeSByZS1yZW5kZXJpbmdzXG4gICAgICAgIGNvbnN0IGlzQ2FjaGVkID1cbiAgICAgICAgICAgIHN0YXJ0Tm9kZUluZGV4ID09PSB0aGlzLl92aXJ0dWFsU2Nyb2xsQ2FjaGUuc3RhcnROb2RlSW5kZXggJiZcbiAgICAgICAgICAgIHZpc2libGVOb2RlQ291bnQgPT09IHRoaXMuX3ZpcnR1YWxTY3JvbGxDYWNoZS52aXNpYmxlTm9kZUNvdW50ICYmXG4gICAgICAgICAgICB0b3RhbE5vZGVDb3VudCA9PT0gdGhpcy5fdmlydHVhbFNjcm9sbENhY2hlLnRvdGFsTm9kZUNvdW50ICYmXG4gICAgICAgICAgICAvLyBPbiByb3dzIGNoYW5nZSwgZXZlbiBpZiB0aGUgdG90YWwgbnVtYmVyIG9mIHJvd3MgaXMgdGhlIHNhbWUsIHRoZSByb3cgb2JqZWN0IHdpbGwgYmUgZGlmZmVyZW50XG4gICAgICAgICAgICBzdGFydE5vZGVJbmRleCA9PT0gcm93c0luVmlld1BvcnRbMF07XG5cbiAgICAgICAgaWYgKGlzQ2FjaGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl92aXJ0dWFsU2Nyb2xsQ2FjaGUgPSB7IHN0YXJ0Tm9kZUluZGV4LCB2aXNpYmxlTm9kZUNvdW50LCB0b3RhbE5vZGVDb3VudCB9O1xuICAgICAgICB0aGlzLnZpcnR1YWxTY3JvbGxUb3RhbEhlaWdodCA9IHRvdGFsTm9kZUNvdW50ICogcm93SGVpZ2h0IC0gdmlzaWJsZU5vZGVDb3VudCAqIHJvd0hlaWdodDtcbiAgICAgICAgdGhpcy5fdGFibGUuc2V0Um93c0luVmlld3BvcnQoXG4gICAgICAgICAgICBzdGFydE5vZGVJbmRleCxcbiAgICAgICAgICAgIHJvd3NWaXNpYmxlLnNsaWNlKHN0YXJ0Tm9kZUluZGV4LCBzdGFydE5vZGVJbmRleCArIHZpc2libGVOb2RlQ291bnQpLmxlbmd0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpc2VzIHNjcm9sbCBsaXN0ZW5lci5cbiAgICAgKi9cbiAgICBsaXN0ZW5PblZpcnR1YWxTY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlU2Nyb2xsRGlzcGF0Y2hlclxuICAgICAgICAgICAgLnZlcnRpY2FsbHlTY3JvbGxlZCgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy52aXJ0dWFsU2Nyb2xsICYmICEhdGhpcy5ib2R5SGVpZ2h0KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzY3JvbGxhYmxlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVWaXJ0dWFsU2Nyb2xsUm93cygpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RhYmxlLnNldFRhYmxlU3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLl90YWJsZS5nZXRUYWJsZVN0YXRlKCksXG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbFRvcFBvc2l0aW9uOiBzY3JvbGxhYmxlLmdldFNjcm9sbFRvcCgpXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc3RhdGUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlLWhlbHBlcnMvaW50ZXJmYWNlcy90YWJsZS1zdGF0ZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25TdGF0ZSB9IGZyb20gJy4vY29sbGVjdGlvbi1zdGF0ZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlU3RhdGUgZXh0ZW5kcyBDb2xsZWN0aW9uU3RhdGUge1xuICAgIGNvbHVtbnM6IHN0cmluZ1tdO1xuICAgIGNvbHVtbktleXM6IHN0cmluZ1tdO1xuICAgIGZyZWV6ZVRvQ29sdW1uOiBzdHJpbmcgfCBudWxsO1xuICAgIGZyZWV6ZVRvRW5kQ29sdW1uOiBzdHJpbmcgfCBudWxsO1xuICAgIHNjcm9sbFRvcFBvc2l0aW9uOiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -54,4 +54,4 @@ TableScrollDispatcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "
|
|
|
54
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableScrollDispatcherService, decorators: [{
|
|
55
55
|
type: Injectable
|
|
56
56
|
}] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsLWRpc3BhdGNoZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi90YWJsZS1oZWxwZXJzL3NlcnZpY2VzL3RhYmxlLXNjcm9sbC1kaXNwYXRjaGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxjQUFjLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFjLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBa0N6RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBa0Isa0JBQWtCLENBQUMsQ0FBQztBQUd4RixNQUFNLE9BQU8sNEJBQTRCO0lBRHpDO1FBRUksY0FBYztRQUNOLG1CQUFjLEdBQTZCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDakUsY0FBYztRQUNOLDJCQUFzQixHQUE2QixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3pFLGNBQWM7UUFDTiw2QkFBd0IsR0FBNkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMzRSxjQUFjO1FBQ04sZ0NBQTJCLEdBQXVDLElBQUksR0FBRyxFQUFFLENBQUM7S0E4Q3ZGO0lBNUNHLGNBQWM7SUFDZCxRQUFRLENBQUMsVUFBMkI7UUFDaEMsSUFBSSxJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2xELE9BQU87U0FDVjtRQUVELE1BQU0sR0FBRyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RixHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoSCxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU1RyxJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsY0FBYztJQUNkLFVBQVUsQ0FBQyxVQUEyQjtRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNuRCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsK0JBQStCO0lBQy9CLG9CQUFvQjtRQUNoQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQsNkJBQTZCO0lBQzdCLGtCQUFrQjtRQUNkLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVztRQUNQLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUU1RyxJQUFJLENBQUMsMkJBQTJCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0MsQ0FBQzs7eUhBckRRLDRCQUE0Qjs2SEFBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVNjcm9sbGFibGUge1xuICAgIC8qKiBSZXR1cm5zIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGEgc2Nyb2xsIGV2ZW50IGlzIGZpcmVkIG9uIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0U2Nyb2xsU3RyZWFtKCk6IE9ic2VydmFibGU8RXZlbnQ+O1xuXG4gICAgLyoqIFJldHVybnMgb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHdoZW4gYSB2ZXJ0aWNhbCBzY3JvbGwgZXZlbnQgaXMgaGFwcGVuZWQgb24gdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBnZXRWZXJ0aWNhbFNjcm9sbFN0cmVhbSgpOiBPYnNlcnZhYmxlPEV2ZW50PjtcblxuICAgIC8qKiBSZXR1cm5zIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGEgaG9yaXpvbnRhbCBzY3JvbGwgZXZlbnQgaXMgaGFwcGVuZWQgb24gdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBnZXRIb3Jpem9udGFsU2Nyb2xsU3RyZWFtKCk6IE9ic2VydmFibGU8RXZlbnQ+O1xuXG4gICAgLyoqIFJldHVybnMgc2Nyb2xsVG9wIHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0U2Nyb2xsVG9wKCk6IG51bWJlcjtcblxuICAgIC8qKiBSZXR1cm5zIHNjcm9sbExlZnQgcG9zaXRpb24gb2YgdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBnZXRTY3JvbGxMZWZ0KCk6IG51bWJlcjtcblxuICAgIC8qKiBTZXQgc2Nyb2xsVG9wIHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgc2V0U2Nyb2xsVG9wKHNjcm9sbFRvcDogbnVtYmVyLCBlbWl0RXZlbnQ6IGJvb2xlYW4pOiB2b2lkO1xuXG4gICAgLyoqIFNldCBzY3JvbGxMZWZ0IHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgc2V0U2Nyb2xsTGVmdChzY3JvbGxMZWZ0OiBudW1iZXIsIGVtaXRFdmVudDogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKiogR2V0IHNjcm9sbGFibGUgRWxlbWVudFJlZiBvZi4gKi9cbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKiBTY3JvbGxzIHRvIG92ZXJsYXBwZWQgY2VsbC4gKi9cbiAgICBzY3JvbGxUb092ZXJsYXBwZWRDZWxsKHJ0bDogYm9vbGVhbiwgZnJlZXphYmxlQ29sdW1uc1NpemU6IG51bWJlciwgZnJlZXphYmxlRW5kQ29sdW1uU2l6ZTogbnVtYmVyKTogdm9pZDtcblxuICAgIC8qKiBTZXQgU2Nyb2xsIFBvc2l0aW9uIGR1cmluZyBjb21wb25lbnQgaW5pdGlhbGl6YXRpb24uICovXG4gICAgaW5pdGlhbGl6ZVNjcm9sbFRvcChzY3JvbGxUb3A6IG51bWJlcik6IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9TQ1JPTExBQkxFID0gbmV3IEluamVjdGlvblRva2VuPFRhYmxlU2Nyb2xsYWJsZT4oJ1RhYmxlIFNjcm9sbGFibGUnKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2Nyb2xsU3ViamVjdDogU3ViamVjdDxUYWJsZVNjcm9sbGFibGU+ID0gbmV3IFN1YmplY3QoKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3ZlcnRpY2FsU2Nyb2xsU3ViamVjdDogU3ViamVjdDxUYWJsZVNjcm9sbGFibGU+ID0gbmV3IFN1YmplY3QoKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hvcml6b250YWxTY3JvbGxTdWJqZWN0OiBTdWJqZWN0PFRhYmxlU2Nyb2xsYWJsZT4gPSBuZXcgU3ViamVjdCgpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2Nyb2xsYWJsZVN1YnNjcmlwdGlvbnNNYXA6IE1hcDxUYWJsZVNjcm9sbGFibGUsIFN1YnNjcmlwdGlvbj4gPSBuZXcgTWFwKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyKHNjcm9sbGFibGU6IFRhYmxlU2Nyb2xsYWJsZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc2Nyb2xsYWJsZVN1YnNjcmlwdGlvbnNNYXAuaGFzKHNjcm9sbGFibGUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIHN1Yi5hZGQoc2Nyb2xsYWJsZS5nZXRTY3JvbGxTdHJlYW0oKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fc2Nyb2xsU3ViamVjdC5uZXh0KHNjcm9sbGFibGUpKSk7XG4gICAgICAgIHN1Yi5hZGQoc2Nyb2xsYWJsZS5nZXRIb3Jpem9udGFsU2Nyb2xsU3RyZWFtKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2hvcml6b250YWxTY3JvbGxTdWJqZWN0Lm5leHQoc2Nyb2xsYWJsZSkpKTtcbiAgICAgICAgc3ViLmFkZChzY3JvbGxhYmxlLmdldFZlcnRpY2FsU2Nyb2xsU3RyZWFtKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3ZlcnRpY2FsU2Nyb2xsU3ViamVjdC5uZXh0KHNjcm9sbGFibGUpKSk7XG5cbiAgICAgICAgdGhpcy5fc2Nyb2xsYWJsZVN1YnNjcmlwdGlvbnNNYXAuc2V0KHNjcm9sbGFibGUsIHN1Yik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBkZXJlZ2lzdGVyKHNjcm9sbGFibGU6IFRhYmxlU2Nyb2xsYWJsZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3Njcm9sbGFibGVTdWJzY3JpcHRpb25zTWFwLmhhcyhzY3JvbGxhYmxlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc2Nyb2xsYWJsZVN1YnNjcmlwdGlvbnNNYXAuZ2V0KHNjcm9sbGFibGUpPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBTY3JvbGwgc3RyZWFtICovXG4gICAgc2Nyb2xsZWQoKTogT2JzZXJ2YWJsZTxUYWJsZVNjcm9sbGFibGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Njcm9sbFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqIEhvcml6b250YWwgc2Nyb2xsIHN0cmVhbSAqL1xuICAgIGhvcml6b250YWxseVNjcm9sbGVkKCk6IE9ic2VydmFibGU8VGFibGVTY3JvbGxhYmxlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ob3Jpem9udGFsU2Nyb2xsU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKiogVmVydGljYWwgc2Nyb2xsIHN0cmVhbSAqL1xuICAgIHZlcnRpY2FsbHlTY3JvbGxlZCgpOiBPYnNlcnZhYmxlPFRhYmxlU2Nyb2xsYWJsZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmVydGljYWxTY3JvbGxTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIEFycmF5LmZyb20odGhpcy5fc2Nyb2xsYWJsZVN1YnNjcmlwdGlvbnNNYXAudmFsdWVzKCkpLmZvckVhY2goKHN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuXG4gICAgICAgIHRoaXMuX3Njcm9sbGFibGVTdWJzY3JpcHRpb25zTWFwLmNsZWFyKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -266,7 +266,8 @@ export class TableService {
|
|
|
266
266
|
page: {
|
|
267
267
|
pageSize: 0,
|
|
268
268
|
currentPage: 1
|
|
269
|
-
}
|
|
269
|
+
},
|
|
270
|
+
scrollTopPosition: 0
|
|
270
271
|
};
|
|
271
272
|
}
|
|
272
273
|
/**
|
|
@@ -332,4 +333,4 @@ function setCurrentPageToState(state, currentPage) {
|
|
|
332
333
|
const newPageState = { ...state.page, currentPage };
|
|
333
334
|
return { ...state, page: newPageState };
|
|
334
335
|
}
|
|
335
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi90YWJsZS1oZWxwZXJzL3NlcnZpY2VzL3RhYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEtBQUssTUFBTSxpQkFBaUIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQWdDbkQsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFSSwwQkFBMEI7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hFLGNBQWM7UUFDTCwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNsRSxjQUFjO1FBQ0wsb0NBQStCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDL0UsY0FBYztRQUNMLDhCQUF5QixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLGNBQWM7UUFDTCxzQ0FBaUMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRSw4QkFBOEI7UUFDckIsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDbEUsOEJBQThCO1FBQzlCLHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUN6Qiw4QkFBOEI7UUFDckIsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDbEUsOEJBQThCO1FBQzlCLDBCQUFxQixHQUFHLENB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QUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQzs7eUdBOVhRLFlBQVk7NkdBQVosWUFBWTsyRkFBWixZQUFZO2tCQUR4QixVQUFVOztBQWtZWCxTQUFTLHFCQUFxQixDQUFDLEtBQWlCLEVBQUUsV0FBbUI7SUFDakUsTUFBTSxZQUFZLEdBQW1CLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3BFLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlYXJjaElucHV0IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zZWFyY2gtZmllbGQnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNraXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBERUZBVUxUX1RBQkxFX1NUQVRFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuaW1wb3J0IHsgQ29sbGVjdGlvbkZpbHRlciwgQ29sbGVjdGlvbkdyb3VwLCBDb2xsZWN0aW9uUGFnZSwgQ29sbGVjdGlvblNvcnQsIFRhYmxlU3RhdGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgQ29sdW1uc0NoYW5nZSxcbiAgICBGaWx0ZXJDaGFuZ2UsXG4gICAgRnJlZXplQ2hhbmdlLFxuICAgIEdyb3VwQ2hhbmdlLFxuICAgIFBhZ2VDaGFuZ2UsXG4gICAgU2VhcmNoQ2hhbmdlLFxuICAgIFNvcnRDaGFuZ2Vcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vdGFibGUtY29sdW1uJztcblxuZXhwb3J0IHR5cGUgVGFibGVTdGF0ZUNoYW5nZSA9XG4gICAgfCBUYWJsZVN0YXRlUHJvcGVydHk8J3NvcnQnLCBTb3J0Q2hhbmdlPlxuICAgIHwgVGFibGVTdGF0ZVByb3BlcnR5PCdwYWdlJywgUGFnZUNoYW5nZT5cbiAgICB8IFRhYmxlU3RhdGVQcm9wZXJ0eTwnZmlsdGVyJywgRmlsdGVyQ2hhbmdlPlxuICAgIHwgVGFibGVTdGF0ZVByb3BlcnR5PCdncm91cCcsIEdyb3VwQ2hhbmdlPlxuICAgIHwgVGFibGVTdGF0ZVByb3BlcnR5PCdmcmVlemUnLCBGcmVlemVDaGFuZ2U+XG4gICAgfCBUYWJsZVN0YXRlUHJvcGVydHk8J2NvbHVtbnMnLCBDb2x1bW5zQ2hhbmdlPlxuICAgIHwgVGFibGVTdGF0ZVByb3BlcnR5PCdzZWFyY2gnLCBTZWFyY2hDaGFuZ2U+O1xuXG5leHBvcnQgdHlwZSBUYWJsZVN0YXRlUHJvcGVydHk8XG4gICAgVCA9ICdzb3J0JyB8ICdwYWdlJyB8ICdmaWx0ZXInIHwgJ2dyb3VwJyB8ICdmcmVlemUnIHwgJ2NvbHVtbnMnIHwgJ3NlYXJjaCcsXG4gICAgUCA9IFNvcnRDaGFuZ2UgfCBQYWdlQ2hhbmdlIHwgRmlsdGVyQ2hhbmdlIHwgR3JvdXBDaGFuZ2UgfCBGcmVlemVDaGFuZ2UgfCBDb2x1bW5zQ2hhbmdlXG4+ID0ge1xuICAgIHR5cGU6IFQ7XG4gICAgc3RhdGU6IFA7XG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFibGVTZXJ2aWNlIHtcbiAgICAvKiogVGFibGUgc3RhdGUgc3RyZWFtLiAqL1xuICAgIHJlYWRvbmx5IHRhYmxlU3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChERUZBVUxUX1RBQkxFX1NUQVRFKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF9zZW1hbnRpY0hpZ2hsaWdodGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX2lzRmlsdGVyaW5nRnJvbUhlYWRlckRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX2lzU2hvd25OYXZpZ2F0aW9uQ29sdW1uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX3NlbWFudGljSGlnaGxpZ2h0aW5nQ29sdW1uV2lkdGgkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcbiAgICAvKiogVmlzaWJsZSBjb2x1bW5zIHN0cmVhbS4gKi9cbiAgICByZWFkb25seSB2aXNpYmxlQ29sdW1ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhYmxlQ29sdW1uW10+KFtdKTtcbiAgICAvKiogVmlzaWJsZSBjb2x1bW5zIGxlbmd0aC4gKi9cbiAgICB2aXNpYmxlQ29sdW1uc0xlbmd0aCA9IDA7XG4gICAgLyoqIFBvcHBpbmcgY29sdW1ucyBzdHJlYW0uICovXG4gICAgcmVhZG9ubHkgcG9wcGluZ0NvbHVtbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUYWJsZUNvbHVtbltdPihbXSk7XG4gICAgLyoqIFBvcHBpbmcgY29sdW1ucyBsZW5ndGguICovXG4gICAgX3BvcHBpbmdDb2x1bW5zTGVuZ3RoID0gMDtcbiAgICAvKiogVGFibGUgY29sdW1ucyBzdHJlYW0uICovXG4gICAgcmVhZG9ubHkgdGFibGVDb2x1bW5zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFibGVDb2x1bW5bXT4oW10pO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgdGFibGVTdGF0ZUNoYW5nZXMkID0gdGhpcy50YWJsZVN0YXRlJC5waXBlKHNraXAoMSkpO1xuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuIHNlYXJjaCBzdGF0ZSBjaGFuZ2VzLiAqL1xuICAgIHJlYWRvbmx5IHNlYXJjaENoYW5nZSQgPSBuZXcgU3ViamVjdDxTZWFyY2hDaGFuZ2U+KCk7XG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gc29ydCBzdGF0ZSBjaGFuZ2VzLiAqL1xuICAgIHJlYWRvbmx5IHNvcnRDaGFuZ2UkID0gbmV3IFN1YmplY3Q8U29ydENoYW5nZT4oKTtcbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiBmaWx0ZXIgc3RhdGUgY2hhbmdlcy4gKi9cbiAgICByZWFkb25seSBmaWx0ZXJDaGFuZ2UkID0gbmV3IFN1YmplY3Q8RmlsdGVyQ2hhbmdlPigpO1xuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuIGdyb3VwIHN0YXRlIGNoYW5nZXMuICovXG4gICAgcmVhZG9ubHkgZ3JvdXBDaGFuZ2UkID0gbmV3IFN1YmplY3Q8R3JvdXBDaGFuZ2U+KCk7XG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gZnJlZXplIHN0YXRlIGNoYW5nZXMuICovXG4gICAgcmVhZG9ubHkgZnJlZXplQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PEZyZWV6ZUNoYW5nZT4oKTtcbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiBjb2x1bW5zIHN0YXRlIGNoYW5nZXMuICovXG4gICAgcmVhZG9ubHkgY29sdW1uc0NoYW5nZSQgPSBuZXcgU3ViamVjdDxDb2x1bW5zQ2hhbmdlPigpO1xuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuIHBhZ2Ugc3RhdGUgY2hhbmdlcy4gKi9cbiAgICByZWFkb25seSBwYWdlQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PFBhZ2VDaGFuZ2U+KCk7XG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gbmV3IGZldGNoIG9mIGRhdGEgaXMgbmVlZGVkLiAqL1xuICAgIHJlYWRvbmx5IG5lZWRGZXRjaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgc3RhdGVDaGFuZ2UkID0gbmV3IFN1YmplY3Q8VGFibGVTdGF0ZUNoYW5nZT4oKTtcbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiBsb2FkaW5nIHN0YXRlIGNoYW5nZXMuICovXG4gICAgcmVhZG9ubHkgdGFibGVMb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIC8qKiBMaXN0ZW4gZm9yIHNvZnQgY2hhbmdlcyBpbiB0YWJsZSBzdWJjb21wb25lbnRzIChtb3N0bHkgdGFibGUgY29sdW1uKSAqL1xuICAgIHJlYWRvbmx5IG1hcmtGb3JDaGVjayQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIC8qKiBMaXN0ZW4gZm9yIGltbWVkaWF0ZSBjaGFuZ2VzIGluIHRhYmxlIHN1YmNvbXBvbmVudHMgKG1vc3RseSB0YWJsZSBjb2x1bW4pICovXG4gICAgcmVhZG9ubHkgZGV0ZWN0Q2hhbmdlcyQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIC8qKiBTb3J0IHJ1bGVzIHN0cmVhbS4gKi9cbiAgICByZWFkb25seSBzb3J0UnVsZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXA8c3RyaW5nLCBDb2xsZWN0aW9uU29ydD4+KG5ldyBNYXAoKSk7XG4gICAgLyoqXG4gICAgICogRmlsdGVyIFJ1bGVzIE1hcCBzdHJlYW0uIFdoZXJlIGtleSBpcyBjb2x1bW4ga2V5LCBhbmQgdmFsdWUgaXMgdGhlIGFzc29jaWF0ZWQgZmlsdGVyIHJ1bGVzLlxuICAgICAqIE1hbnkgZmlsdGVycyBjYW4gYmUgYXBwbGllZCB0byBvbmUgY29sdW1uLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGZpbHRlclJ1bGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFwPHN0cmluZywgQ29sbGVjdGlvbkZpbHRlcltdPj4obmV3IE1hcCgpKTtcblxuICAgIC8qKlxuICAgICAqIEdyb3VwIFJ1bGVzIE1hcCBzdHJlYW0uIFdoZXJlIGtleSBpcyBjb2x1bW4ga2V5IGFuZCB2YWx1ZSBpcyBhc3NvY2lhdGVkIGdyb3VwIHJ1bGVcbiAgICAgKi9cbiAgICByZWFkb25seSBncm91cFJ1bGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFwPHN0cmluZywgQ29sbGVjdGlvbkdyb3VwPj4obmV3IE1hcCgpKTtcblxuICAgIC8qKiBHZXQgY3VycmVudCBzdGF0ZS9zZXR0aW5ncyBvZiB0aGUgVGFibGUuICovXG4gICAgZ2V0VGFibGVTdGF0ZSgpOiBUYWJsZVN0YXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVTdGF0ZSQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IGN1cnJlbnQgc3RhdGUvc2V0dGluZ3Mgb2YgdGhlIFRhYmxlLiAqL1xuICAgIHNldFRhYmxlU3RhdGUoc3RhdGU6IFRhYmxlU3RhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJsZVN0YXRlJC5uZXh0KHN0YXRlKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IGN1cnJlbnQgbG9hZGluZyBzdGF0ZSBvZiB0aGUgVGFibGUuICovXG4gICAgc2V0VGFibGVMb2FkaW5nKGlzTG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYmxlTG9hZGluZyQubmV4dChpc0xvYWRpbmcpO1xuICAgIH1cblxuICAgIC8qKiBOb3RpZnkgYWJvdXQgY2hhbmdlcyBpbiB0YWJsZSBzdWJjb21wb25lbnRzIChtb3N0bHkgdGFibGUgY29sdW1uKSBhbmQgZGV0ZWN0IHRoZW0gb24gbmV4dCBkZXRlY3RvciBjaGVjay4gKi9cbiAgICBtYXJrRm9yQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWFya0ZvckNoZWNrJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIE5vdGlmeSBhYm91dCBjaGFuZ2VzIGluIHRhYmxlIHN1YmNvbXBvbmVudHMgKG1vc3RseSB0YWJsZSBjb2x1bW4pIGFuZCBkZXRlY3QgdGhlbSBpbW1lZGlhdGVseS4gKi9cbiAgICBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRldGVjdENoYW5nZXMkLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogU2VhcmNoICovXG4gICAgc2VhcmNoKHNlYXJjaElucHV0OiBTZWFyY2hJbnB1dCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcblxuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBzZWFyY2hJbnB1dCB9O1xuXG4gICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZShzZXRDdXJyZW50UGFnZVRvU3RhdGUoc3RhdGUsIDEpKTtcblxuICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHNlYXJjaElucHV0LCBwcmV2aW91czogcHJldlN0YXRlLnNlYXJjaElucHV0IH07XG5cbiAgICAgICAgdGhpcy5uZWVkRmV0Y2gkLm5leHQoKTtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdzZWFyY2gnLCBzdGF0ZTogZXZ0IH0pO1xuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZSQubmV4dChldnQpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgbmV3IHNvcnQgcnVsZXMgKi9cbiAgICBzZXRTb3J0KHNvcnRSdWxlczogQ29sbGVjdGlvblNvcnRbXSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcHJldlNvcnRSdWxlcyA9IChwcmV2U3RhdGUgJiYgcHJldlN0YXRlLnNvcnRCeSkgfHwgW107XG5cbiAgICAgICAgY29uc3QgbmV3U29ydFJ1bGVzOiBDb2xsZWN0aW9uU29ydFtdID0gc29ydFJ1bGVzID8gWy4uLnNvcnRSdWxlc10gOiBbXTtcblxuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBzb3J0Qnk6IG5ld1NvcnRSdWxlcyB9O1xuXG4gICAgICAgIGlmICghZXF1YWwocHJldlNvcnRSdWxlcywgc3RhdGUuc29ydEJ5KSkge1xuICAgICAgICAgICAgdGhpcy5zZXRUYWJsZVN0YXRlKHNldEN1cnJlbnRQYWdlVG9TdGF0ZShzdGF0ZSwgMSkpO1xuICAgICAgICAgICAgdGhpcy5idWlsZFNvcnRSdWxlc01hcCgpO1xuICAgICAgICAgICAgY29uc3QgZXZ0ID0geyBjdXJyZW50OiBzdGF0ZS5zb3J0QnksIHByZXZpb3VzOiBwcmV2U29ydFJ1bGVzIH07XG5cbiAgICAgICAgICAgIHRoaXMubmVlZEZldGNoJC5uZXh0KCk7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ3NvcnQnLCBzdGF0ZTogZXZ0IH0pO1xuICAgICAgICAgICAgdGhpcy5zb3J0Q2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQWRkIHNvcnQgcnVsZXMgdG8gdGhlIGV4aXN0aW5nIG9uZXMgKi9cbiAgICBhZGRTb3J0KHNvcnRSdWxlczogQ29sbGVjdGlvblNvcnRbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcHJldlNvcnRSdWxlcyA9IChwcmV2U3RhdGUgJiYgcHJldlN0YXRlLnNvcnRCeSkgfHwgW107XG5cbiAgICAgICAgY29uc3QgbmV3U29ydFJ1bGVzOiBDb2xsZWN0aW9uU29ydFtdID0gW1xuICAgICAgICAgICAgLi4ucHJldlNvcnRSdWxlcy5maWx0ZXIoKGV4aXN0aW5nKSA9PiAhc29ydFJ1bGVzLmZpbmQoKHsgZmllbGQgfSkgPT4gZmllbGQgPT09IGV4aXN0aW5nLmZpZWxkKSksXG4gICAgICAgICAgICAuLi5zb3J0UnVsZXNcbiAgICAgICAgXTtcblxuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBzb3J0Qnk6IG5ld1NvcnRSdWxlcyB9O1xuXG4gICAgICAgIGlmICghZXF1YWwocHJldlNvcnRSdWxlcywgc3RhdGUuc29ydEJ5KSkge1xuICAgICAgICAgICAgdGhpcy5zZXRUYWJsZVN0YXRlKHNldEN1cnJlbnRQYWdlVG9TdGF0ZShzdGF0ZSwgMSkpO1xuICAgICAgICAgICAgY29uc3QgZXZ0ID0geyBjdXJyZW50OiBzdGF0ZS5zb3J0QnksIHByZXZpb3VzOiBwcmV2U29ydFJ1bGVzIH07XG4gICAgICAgICAgICB0aGlzLmJ1aWxkU29ydFJ1bGVzTWFwKCk7XG5cbiAgICAgICAgICAgIHRoaXMubmVlZEZldGNoJC5uZXh0KCk7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ3NvcnQnLCBzdGF0ZTogZXZ0IH0pO1xuICAgICAgICAgICAgdGhpcy5zb3J0Q2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2V0IG5ldyBzb3J0IHJ1bGVzICovXG4gICAgc2V0RmlsdGVycyhmaWx0ZXJSdWxlczogQ29sbGVjdGlvbkZpbHRlcltdIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwcmV2RmlsdGVyUnVsZXMgPSAocHJldlN0YXRlICYmIHByZXZTdGF0ZS5maWx0ZXJCeSkgfHwgW107XG5cbiAgICAgICAgY29uc3QgbmV3RmlsdGVyUnVsZXM6IENvbGxlY3Rpb25GaWx0ZXJbXSA9IGZpbHRlclJ1bGVzID8gWy4uLmZpbHRlclJ1bGVzXSA6IFtdO1xuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBmaWx0ZXJCeTogbmV3RmlsdGVyUnVsZXMgfTtcblxuICAgICAgICBpZiAoIWVxdWFsKHByZXZGaWx0ZXJSdWxlcywgc3RhdGUuZmlsdGVyQnkpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc2V0Q3VycmVudFBhZ2VUb1N0YXRlKHN0YXRlLCAxKSk7XG4gICAgICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHN0YXRlLmZpbHRlckJ5LCBwcmV2aW91czogcHJldkZpbHRlclJ1bGVzIH07XG5cbiAgICAgICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJSdWxlc01hcCgpO1xuICAgICAgICAgICAgdGhpcy5uZWVkRmV0Y2gkLm5leHQoKTtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UkLm5leHQoeyB0eXBlOiAnZmlsdGVyJywgc3RhdGU6IGV2dCB9KTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQWRkIGZpbHRlciBydWxlcyB0byB0aGUgZXhpc3Rpbmcgb25lcyAqL1xuICAgIGFkZEZpbHRlcnMocnVsZXNUb0FkZDogQ29sbGVjdGlvbkZpbHRlcltdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwcmV2RmlsdGVyUnVsZXMgPSAocHJldlN0YXRlICYmIHByZXZTdGF0ZS5maWx0ZXJCeSkgfHwgW107XG5cbiAgICAgICAgY29uc3QgbmV3RmlsdGVyUnVsZXM6IENvbGxlY3Rpb25GaWx0ZXJbXSA9IFtcbiAgICAgICAgICAgIC4uLnByZXZGaWx0ZXJSdWxlcy5maWx0ZXIoKGV4aXN0aW5nKSA9PiAhcnVsZXNUb0FkZC5maW5kKCh7IGZpZWxkIH0pID0+IGZpZWxkID09PSBleGlzdGluZy5maWVsZCkpLFxuICAgICAgICAgICAgLi4ucnVsZXNUb0FkZFxuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIGZpbHRlckJ5OiBuZXdGaWx0ZXJSdWxlcyB9O1xuXG4gICAgICAgIGlmICghZXF1YWwocHJldkZpbHRlclJ1bGVzLCBzdGF0ZS5maWx0ZXJCeSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZShzZXRDdXJyZW50UGFnZVRvU3RhdGUoc3RhdGUsIDEpKTtcbiAgICAgICAgICAgIGNvbnN0IGV2dCA9IHsgY3VycmVudDogc3RhdGUuZmlsdGVyQnksIHByZXZpb3VzOiBwcmV2RmlsdGVyUnVsZXMgfTtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJSdWxlc01hcCgpO1xuXG4gICAgICAgICAgICB0aGlzLm5lZWRGZXRjaCQubmV4dCgpO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdmaWx0ZXInLCBzdGF0ZTogZXZ0IH0pO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UkLm5leHQoZXZ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZW1vdmVzIGZpbHRlcnMgZm9yIHRoZSBwcm92aWRlZCBmaWVsZHMgKi9cbiAgICByZW1vdmVGaWx0ZXJzKGZpZWxkczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldlN0YXRlID0gdGhpcy5nZXRUYWJsZVN0YXRlKCk7XG4gICAgICAgIGNvbnN0IHByZXZGaWx0ZXJSdWxlcyA9IChwcmV2U3RhdGUgJiYgcHJldlN0YXRlLmZpbHRlckJ5KSB8fCBbXTtcblxuICAgICAgICBjb25zdCBuZXdGaWx0ZXJSdWxlczogQ29sbGVjdGlvbkZpbHRlcltdID0gcHJldkZpbHRlclJ1bGVzLmZpbHRlcihcbiAgICAgICAgICAgIChleGlzdGluZykgPT4gIWZpZWxkcy5pbmNsdWRlcyhleGlzdGluZy5maWVsZClcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBmaWx0ZXJCeTogbmV3RmlsdGVyUnVsZXMgfTtcblxuICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc2V0Q3VycmVudFBhZ2VUb1N0YXRlKHN0YXRlLCAxKSk7XG4gICAgICAgIGNvbnN0IGV2dCA9IHsgY3VycmVudDogc3RhdGUuZmlsdGVyQnksIHByZXZpb3VzOiBwcmV2RmlsdGVyUnVsZXMgfTtcbiAgICAgICAgdGhpcy5idWlsZEZpbHRlclJ1bGVzTWFwKCk7XG5cbiAgICAgICAgdGhpcy5uZWVkRmV0Y2gkLm5leHQoKTtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdmaWx0ZXInLCBzdGF0ZTogZXZ0IH0pO1xuICAgICAgICB0aGlzLmZpbHRlckNoYW5nZSQubmV4dChldnQpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgZ3JvdXAgcnVsZXMgKi9cbiAgICBzZXRHcm91cHMoZ3JvdXBzOiBDb2xsZWN0aW9uR3JvdXBbXSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcHJldkdyb3VwcyA9IChwcmV2U3RhdGUgJiYgcHJldlN0YXRlLmdyb3VwQnkpIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IG5ld0dyb3VwczogQ29sbGVjdGlvbkdyb3VwW10gPSBncm91cHMgPyBbLi4uZ3JvdXBzXSA6IFtdO1xuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBncm91cEJ5OiBuZXdHcm91cHMgfTtcblxuICAgICAgICBpZiAoIWVxdWFsKHByZXZHcm91cHMsIHN0YXRlLmdyb3VwQnkpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc3RhdGUpO1xuICAgICAgICAgICAgY29uc3QgZXZ0ID0geyBjdXJyZW50OiBzdGF0ZS5ncm91cEJ5LCBwcmV2aW91czogcHJldkdyb3VwcyB9O1xuICAgICAgICAgICAgdGhpcy5idWlsZEdyb3VwUnVsZXNNYXAoKTtcblxuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdncm91cCcsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgICAgICB0aGlzLmdyb3VwQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQWRkIGdyb3VwIHJ1bGVzIHRvIHRoZSBleGlzdGluZyBvbmVzICovXG4gICAgYWRkR3JvdXBzKGdyb3Vwc1RvQWRkOiBDb2xsZWN0aW9uR3JvdXBbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcHJldkdyb3VwcyA9IChwcmV2U3RhdGUgJiYgcHJldlN0YXRlLmdyb3VwQnkpIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IG5ld0dyb3VwczogQ29sbGVjdGlvbkdyb3VwW10gPSBbXG4gICAgICAgICAgICAuLi5wcmV2R3JvdXBzLmZpbHRlcigoZXhpc3RpbmcpID0+ICFncm91cHNUb0FkZC5maW5kKCh7IGZpZWxkIH0pID0+IGZpZWxkID09PSBleGlzdGluZy5maWVsZCkpLFxuICAgICAgICAgICAgLi4uZ3JvdXBzVG9BZGRcbiAgICAgICAgXTtcblxuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBncm91cEJ5OiBuZXdHcm91cHMgfTtcblxuICAgICAgICBpZiAoIWVxdWFsKHByZXZHcm91cHMsIHN0YXRlLmdyb3VwQnkpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc3RhdGUpO1xuICAgICAgICAgICAgdGhpcy5idWlsZEdyb3VwUnVsZXNNYXAoKTtcblxuICAgICAgICAgICAgY29uc3QgZXZ0ID0geyBjdXJyZW50OiBzdGF0ZS5ncm91cEJ5LCBwcmV2aW91czogcHJldkdyb3VwcyB9O1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdncm91cCcsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgICAgICB0aGlzLmdyb3VwQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogRnJlZXplIHRhYmxlIHRvIGNvbHVtbiAqL1xuICAgIGZyZWV6ZVRvKGNvbHVtbk5hbWU6IHN0cmluZyB8IG51bGwsIGVuZD86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldlN0YXRlID0gdGhpcy5nZXRUYWJsZVN0YXRlKCk7XG5cbiAgICAgICAgaWYgKCFlbmQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZSh7IC4uLnByZXZTdGF0ZSwgZnJlZXplVG9Db2x1bW46IGNvbHVtbk5hbWUgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoeyAuLi5wcmV2U3RhdGUsIGZyZWV6ZVRvRW5kQ29sdW1uOiBjb2x1bW5OYW1lIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXZ0ID0ge1xuICAgICAgICAgICAgY3VycmVudDogY29sdW1uTmFtZSxcbiAgICAgICAgICAgIHByZXZpb3VzOiBlbmQgPyBwcmV2U3RhdGUuZnJlZXplVG9FbmRDb2x1bW4gOiBwcmV2U3RhdGUuZnJlZXplVG9Db2x1bW5cbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ2ZyZWV6ZScsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgIHRoaXMuZnJlZXplQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgfVxuXG4gICAgLyoqIFNldCB0YWJsZSBjb2x1bW5zICovXG4gICAgc2V0Q29sdW1ucyhjb2x1bW5zOiBzdHJpbmdbXSwga2V5czogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldlN0YXRlID0gdGhpcy5nZXRUYWJsZVN0YXRlKCk7XG4gICAgICAgIGNvbnN0IHByZXZDb2x1bW5zID0gKHByZXZTdGF0ZSAmJiBwcmV2U3RhdGUuY29sdW1ucykgfHwgW107XG5cbiAgICAgICAgY29uc3QgbmV3Q29sdW1ucyA9IFsuLi5jb2x1bW5zXTtcbiAgICAgICAgY29uc3QgbmV3Q29sdW1uS2V5cyA9IFsuLi5rZXlzXTtcbiAgICAgICAgY29uc3Qgc3RhdGU6IFRhYmxlU3RhdGUgPSB7IC4uLnByZXZTdGF0ZSwgY29sdW1uczogbmV3Q29sdW1ucywgY29sdW1uS2V5czogbmV3Q29sdW1uS2V5cyB9O1xuXG4gICAgICAgIGlmICghZXF1YWwocHJldkNvbHVtbnMsIHN0YXRlLmNvbHVtbnMpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc3RhdGUpO1xuXG4gICAgICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHN0YXRlLmNvbHVtbnMsIHByZXZpb3VzOiBwcmV2Q29sdW1ucyB9O1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdjb2x1bW5zJywgc3RhdGU6IGV2dCB9KTtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uc0NoYW5nZSQubmV4dChldnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFNldCBwYWdlICovXG4gICAgc2V0Q3VycmVudFBhZ2UoY3VycmVudFBhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcHJldlBhZ2VTdGF0ZSA9IHByZXZTdGF0ZS5wYWdlO1xuXG4gICAgICAgIGlmIChwcmV2UGFnZVN0YXRlLmN1cnJlbnRQYWdlID09PSBjdXJyZW50UGFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RhdGU6IFRhYmxlU3RhdGUgPSBzZXRDdXJyZW50UGFnZVRvU3RhdGUocHJldlN0YXRlLCBjdXJyZW50UGFnZSk7XG5cbiAgICAgICAgdGhpcy5zZXRUYWJsZVN0YXRlKHN0YXRlKTtcbiAgICAgICAgY29uc3QgZXZ0ID0geyBjdXJyZW50OiBzdGF0ZS5wYWdlLCBwcmV2aW91czogcHJldlBhZ2VTdGF0ZSB9O1xuXG4gICAgICAgIHRoaXMubmVlZEZldGNoJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UkLm5leHQoeyB0eXBlOiAncGFnZScsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZSQubmV4dChldnQpO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIGRlZmF1bHQgdGFibGUgc3RhdGUuICovXG4gICAgZ2V0RGVmYXVsdFN0YXRlKCk6IFRhYmxlU3RhdGUge1xuICAgICAgICBjb25zdCB0YWJsZVN0YXRlID0gdGhpcy5nZXRUYWJsZVN0YXRlKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb2x1bW5LZXlzOiB0YWJsZVN0YXRlLmNvbHVtbktleXMsXG4gICAgICAgICAgICBzb3J0Qnk6IFtdLFxuICAgICAgICAgICAgZmlsdGVyQnk6IFtdLFxuICAgICAgICAgICAgZ3JvdXBCeTogW10sXG4gICAgICAgICAgICBjb2x1bW5zOiB0YWJsZVN0YXRlLmNvbHVtbnMsXG4gICAgICAgICAgICBzZWFyY2hJbnB1dDoge1xuICAgICAgICAgICAgICAgIGNhdGVnb3J5OiBudWxsLFxuICAgICAgICAgICAgICAgIHRleHQ6ICcnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZnJlZXplVG9Db2x1bW46IG51bGwsXG4gICAgICAgICAgICBmcmVlemVUb0VuZENvbHVtbjogbnVsbCxcbiAgICAgICAgICAgIHBhZ2U6IHtcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZTogMCxcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFnZTogMVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNoYXJlcyB2aXNpYmxlIGNvbHVtbnMgYXJyYXkgYWNyb3NzIGxpc3RlbmVycy5cbiAgICAgKiBAcGFyYW0gY29sdW1ucyBWaXNpYmxlIGNvbHVtbnMgdG8gc2hhcmUuXG4gICAgICovXG4gICAgc2V0VmlzaWJsZUNvbHVtbnMoY29sdW1uczogVGFibGVDb2x1bW5bXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZpc2libGVDb2x1bW5zJC5uZXh0KGNvbHVtbnMpO1xuICAgICAgICB0aGlzLnZpc2libGVDb2x1bW5zTGVuZ3RoID0gY29sdW1ucy5sZW5ndGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hhcmVzIHBvcHBpbmcgY29sdW1ucyBhcnJheSBhY3Jvc3MgbGlzdGVuZXJzLlxuICAgICAqIEBwYXJhbSBjb2x1bW5zIFBvcHBpbmcgY29sdW1ucyB0byBzaGFyZS5cbiAgICAgKi9cbiAgICBzZXRQb3BwaW5nQ29sdW1ucyhjb2x1bW5zOiBUYWJsZUNvbHVtbltdKTogdm9pZCB7XG4gICAgICAgIHRoaXMucG9wcGluZ0NvbHVtbnMkLm5leHQoY29sdW1ucyk7XG4gICAgICAgIHRoaXMuX3BvcHBpbmdDb2x1bW5zTGVuZ3RoID0gY29sdW1ucy5sZW5ndGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0cyBncm91cGluZyBydWxlcyBiYXNlZCBvbiB0aGUgdGFibGUgc3RhdGUuXG4gICAgICogQHBhcmFtIHN0YXRlIFRhYmxlIHN0YXRlLlxuICAgICAqL1xuICAgIGJ1aWxkR3JvdXBSdWxlc01hcChzdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGdyb3VwTWFwID0gbmV3IE1hcChzdGF0ZS5ncm91cEJ5Lm1hcCgocnVsZSkgPT4gW3J1bGUuZmllbGQsIHJ1bGVdKSk7XG4gICAgICAgIHRoaXMuZ3JvdXBSdWxlcyQubmV4dChncm91cE1hcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0cyBzb3J0aW5nIHJ1bGVzIGJhc2VkIG9uIHRoZSB0YWJsZSBzdGF0ZS5cbiAgICAgKiBAcGFyYW0gc3RhdGUgVGFibGUgc3RhdGVcbiAgICAgKi9cbiAgICBidWlsZFNvcnRSdWxlc01hcChzdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc29ydFJ1bGVzJC5uZXh0KG5ldyBNYXAoc3RhdGUuc29ydEJ5LmZpbHRlcigocnVsZSkgPT4gcnVsZS5maWVsZCkubWFwKChydWxlKSA9PiBbcnVsZS5maWVsZCEsIHJ1bGVdKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgZmlsdGVyIHJ1bGVzIGJhc2VkIG9uIHRoZSB0YWJsZSBzdGF0ZS5cbiAgICAgKiBAcGFyYW0gc3RhdGUgVGFibGUgc3RhdGUuXG4gICAgICovXG4gICAgYnVpbGRGaWx0ZXJSdWxlc01hcChzdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsdGVyUnVsZXMkLm5leHQoXG4gICAgICAgICAgICBzdGF0ZS5maWx0ZXJCeS5yZWR1Y2UoKGhhc2gsIHJ1bGUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBydWxlLmZpZWxkO1xuICAgICAgICAgICAgICAgIGlmICghaGFzaC5oYXMoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICBoYXNoLnNldChrZXksIFtdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaGFzaC5nZXQoa2V5KT8ucHVzaChydWxlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaGFzaDtcbiAgICAgICAgICAgIH0sIG5ldyBNYXA8c3RyaW5nLCBDb2xsZWN0aW9uRmlsdGVyW10+KCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0cyBiYXNlIHRhYmxlIGNvbmZpZy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RUYWJsZU1ldGFkYXRhKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkR3JvdXBSdWxlc01hcCgpO1xuICAgICAgICB0aGlzLmJ1aWxkU29ydFJ1bGVzTWFwKCk7XG4gICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJSdWxlc01hcCgpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gc2V0Q3VycmVudFBhZ2VUb1N0YXRlKHN0YXRlOiBUYWJsZVN0YXRlLCBjdXJyZW50UGFnZTogbnVtYmVyKTogVGFibGVTdGF0ZSB7XG4gICAgY29uc3QgbmV3UGFnZVN0YXRlOiBDb2xsZWN0aW9uUGFnZSA9IHsgLi4uc3RhdGUucGFnZSwgY3VycmVudFBhZ2UgfTtcbiAgICByZXR1cm4geyAuLi5zdGF0ZSwgcGFnZTogbmV3UGFnZVN0YXRlIH07XG59XG4iXX0=
|
|
336
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi90YWJsZS1oZWxwZXJzL3NlcnZpY2VzL3RhYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEtBQUssTUFBTSxpQkFBaUIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQWdDbkQsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFSSwwQkFBMEI7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hFLGNBQWM7UUFDTCwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNsRSxjQUFjO1FBQ0wsb0NBQStCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDL0UsY0FBYztRQUNMLDhCQUF5QixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLGNBQWM7UUFDTCxzQ0FBaUMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRSw4QkFBOEI7UUFDckIsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDbEUsOEJBQThCO1FBQzlCLHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUN6Qiw4QkFBOEI7UUFDckIsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDbEUsOEJBQThCO1FBQzlCLDBCQUFxQixHQUFHLENB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QUNsQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMvQixDQUFDOzt5R0EvWFEsWUFBWTs2R0FBWixZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLFVBQVU7O0FBbVlYLFNBQVMscUJBQXFCLENBQUMsS0FBaUIsRUFBRSxXQUFtQjtJQUNqRSxNQUFNLFlBQVksR0FBbUIsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDcEUsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NlYXJjaC1maWVsZCc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2tpcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERFRkFVTFRfVEFCTEVfU1RBVEUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5pbXBvcnQgeyBDb2xsZWN0aW9uRmlsdGVyLCBDb2xsZWN0aW9uR3JvdXAsIENvbGxlY3Rpb25QYWdlLCBDb2xsZWN0aW9uU29ydCwgVGFibGVTdGF0ZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgICBDb2x1bW5zQ2hhbmdlLFxuICAgIEZpbHRlckNoYW5nZSxcbiAgICBGcmVlemVDaGFuZ2UsXG4gICAgR3JvdXBDaGFuZ2UsXG4gICAgUGFnZUNoYW5nZSxcbiAgICBTZWFyY2hDaGFuZ2UsXG4gICAgU29ydENoYW5nZVxufSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tICcuLi90YWJsZS1jb2x1bW4nO1xuXG5leHBvcnQgdHlwZSBUYWJsZVN0YXRlQ2hhbmdlID1cbiAgICB8IFRhYmxlU3RhdGVQcm9wZXJ0eTwnc29ydCcsIFNvcnRDaGFuZ2U+XG4gICAgfCBUYWJsZVN0YXRlUHJvcGVydHk8J3BhZ2UnLCBQYWdlQ2hhbmdlPlxuICAgIHwgVGFibGVTdGF0ZVByb3BlcnR5PCdmaWx0ZXInLCBGaWx0ZXJDaGFuZ2U+XG4gICAgfCBUYWJsZVN0YXRlUHJvcGVydHk8J2dyb3VwJywgR3JvdXBDaGFuZ2U+XG4gICAgfCBUYWJsZVN0YXRlUHJvcGVydHk8J2ZyZWV6ZScsIEZyZWV6ZUNoYW5nZT5cbiAgICB8IFRhYmxlU3RhdGVQcm9wZXJ0eTwnY29sdW1ucycsIENvbHVtbnNDaGFuZ2U+XG4gICAgfCBUYWJsZVN0YXRlUHJvcGVydHk8J3NlYXJjaCcsIFNlYXJjaENoYW5nZT47XG5cbmV4cG9ydCB0eXBlIFRhYmxlU3RhdGVQcm9wZXJ0eTxcbiAgICBUID0gJ3NvcnQnIHwgJ3BhZ2UnIHwgJ2ZpbHRlcicgfCAnZ3JvdXAnIHwgJ2ZyZWV6ZScgfCAnY29sdW1ucycgfCAnc2VhcmNoJyxcbiAgICBQID0gU29ydENoYW5nZSB8IFBhZ2VDaGFuZ2UgfCBGaWx0ZXJDaGFuZ2UgfCBHcm91cENoYW5nZSB8IEZyZWV6ZUNoYW5nZSB8IENvbHVtbnNDaGFuZ2Vcbj4gPSB7XG4gICAgdHlwZTogVDtcbiAgICBzdGF0ZTogUDtcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYWJsZVNlcnZpY2Uge1xuICAgIC8qKiBUYWJsZSBzdGF0ZSBzdHJlYW0uICovXG4gICAgcmVhZG9ubHkgdGFibGVTdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KERFRkFVTFRfVEFCTEVfU1RBVEUpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX3NlbWFudGljSGlnaGxpZ2h0aW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfaXNGaWx0ZXJpbmdGcm9tSGVhZGVyRGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfaXNTaG93bk5hdmlnYXRpb25Db2x1bW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfc2VtYW50aWNIaWdobGlnaHRpbmdDb2x1bW5XaWR0aCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDApO1xuICAgIC8qKiBWaXNpYmxlIGNvbHVtbnMgc3RyZWFtLiAqL1xuICAgIHJlYWRvbmx5IHZpc2libGVDb2x1bW5zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFibGVDb2x1bW5bXT4oW10pO1xuICAgIC8qKiBWaXNpYmxlIGNvbHVtbnMgbGVuZ3RoLiAqL1xuICAgIHZpc2libGVDb2x1bW5zTGVuZ3RoID0gMDtcbiAgICAvKiogUG9wcGluZyBjb2x1bW5zIHN0cmVhbS4gKi9cbiAgICByZWFkb25seSBwb3BwaW5nQ29sdW1ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhYmxlQ29sdW1uW10+KFtdKTtcbiAgICAvKiogUG9wcGluZyBjb2x1bW5zIGxlbmd0aC4gKi9cbiAgICBfcG9wcGluZ0NvbHVtbnNMZW5ndGggPSAwO1xuICAgIC8qKiBUYWJsZSBjb2x1bW5zIHN0cmVhbS4gKi9cbiAgICByZWFkb25seSB0YWJsZUNvbHVtbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUYWJsZUNvbHVtbltdPihbXSk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSB0YWJsZVN0YXRlQ2hhbmdlcyQgPSB0aGlzLnRhYmxlU3RhdGUkLnBpcGUoc2tpcCgxKSk7XG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gc2VhcmNoIHN0YXRlIGNoYW5nZXMuICovXG4gICAgcmVhZG9ubHkgc2VhcmNoQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PFNlYXJjaENoYW5nZT4oKTtcbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiBzb3J0IHN0YXRlIGNoYW5nZXMuICovXG4gICAgcmVhZG9ubHkgc29ydENoYW5nZSQgPSBuZXcgU3ViamVjdDxTb3J0Q2hhbmdlPigpO1xuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuIGZpbHRlciBzdGF0ZSBjaGFuZ2VzLiAqL1xuICAgIHJlYWRvbmx5IGZpbHRlckNoYW5nZSQgPSBuZXcgU3ViamVjdDxGaWx0ZXJDaGFuZ2U+KCk7XG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gZ3JvdXAgc3RhdGUgY2hhbmdlcy4gKi9cbiAgICByZWFkb25seSBncm91cENoYW5nZSQgPSBuZXcgU3ViamVjdDxHcm91cENoYW5nZT4oKTtcbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiBmcmVlemUgc3RhdGUgY2hhbmdlcy4gKi9cbiAgICByZWFkb25seSBmcmVlemVDaGFuZ2UkID0gbmV3IFN1YmplY3Q8RnJlZXplQ2hhbmdlPigpO1xuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuIGNvbHVtbnMgc3RhdGUgY2hhbmdlcy4gKi9cbiAgICByZWFkb25seSBjb2x1bW5zQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PENvbHVtbnNDaGFuZ2U+KCk7XG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gcGFnZSBzdGF0ZSBjaGFuZ2VzLiAqL1xuICAgIHJlYWRvbmx5IHBhZ2VDaGFuZ2UkID0gbmV3IFN1YmplY3Q8UGFnZUNoYW5nZT4oKTtcbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiBuZXcgZmV0Y2ggb2YgZGF0YSBpcyBuZWVkZWQuICovXG4gICAgcmVhZG9ubHkgbmVlZEZldGNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBzdGF0ZUNoYW5nZSQgPSBuZXcgU3ViamVjdDxUYWJsZVN0YXRlQ2hhbmdlPigpO1xuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuIGxvYWRpbmcgc3RhdGUgY2hhbmdlcy4gKi9cbiAgICByZWFkb25seSB0YWJsZUxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgLyoqIExpc3RlbiBmb3Igc29mdCBjaGFuZ2VzIGluIHRhYmxlIHN1YmNvbXBvbmVudHMgKG1vc3RseSB0YWJsZSBjb2x1bW4pICovXG4gICAgcmVhZG9ubHkgbWFya0ZvckNoZWNrJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgLyoqIExpc3RlbiBmb3IgaW1tZWRpYXRlIGNoYW5nZXMgaW4gdGFibGUgc3ViY29tcG9uZW50cyAobW9zdGx5IHRhYmxlIGNvbHVtbikgKi9cbiAgICByZWFkb25seSBkZXRlY3RDaGFuZ2VzJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgLyoqIFNvcnQgcnVsZXMgc3RyZWFtLiAqL1xuICAgIHJlYWRvbmx5IHNvcnRSdWxlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1hcDxzdHJpbmcsIENvbGxlY3Rpb25Tb3J0Pj4obmV3IE1hcCgpKTtcbiAgICAvKipcbiAgICAgKiBGaWx0ZXIgUnVsZXMgTWFwIHN0cmVhbS4gV2hlcmUga2V5IGlzIGNvbHVtbiBrZXksIGFuZCB2YWx1ZSBpcyB0aGUgYXNzb2NpYXRlZCBmaWx0ZXIgcnVsZXMuXG4gICAgICogTWFueSBmaWx0ZXJzIGNhbiBiZSBhcHBsaWVkIHRvIG9uZSBjb2x1bW4uXG4gICAgICovXG4gICAgcmVhZG9ubHkgZmlsdGVyUnVsZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXA8c3RyaW5nLCBDb2xsZWN0aW9uRmlsdGVyW10+PihuZXcgTWFwKCkpO1xuXG4gICAgLyoqXG4gICAgICogR3JvdXAgUnVsZXMgTWFwIHN0cmVhbS4gV2hlcmUga2V5IGlzIGNvbHVtbiBrZXkgYW5kIHZhbHVlIGlzIGFzc29jaWF0ZWQgZ3JvdXAgcnVsZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGdyb3VwUnVsZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXA8c3RyaW5nLCBDb2xsZWN0aW9uR3JvdXA+PihuZXcgTWFwKCkpO1xuXG4gICAgLyoqIEdldCBjdXJyZW50IHN0YXRlL3NldHRpbmdzIG9mIHRoZSBUYWJsZS4gKi9cbiAgICBnZXRUYWJsZVN0YXRlKCk6IFRhYmxlU3RhdGUge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZVN0YXRlJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgY3VycmVudCBzdGF0ZS9zZXR0aW5ncyBvZiB0aGUgVGFibGUuICovXG4gICAgc2V0VGFibGVTdGF0ZShzdGF0ZTogVGFibGVTdGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYmxlU3RhdGUkLm5leHQoc3RhdGUpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgY3VycmVudCBsb2FkaW5nIHN0YXRlIG9mIHRoZSBUYWJsZS4gKi9cbiAgICBzZXRUYWJsZUxvYWRpbmcoaXNMb2FkaW5nOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFibGVMb2FkaW5nJC5uZXh0KGlzTG9hZGluZyk7XG4gICAgfVxuXG4gICAgLyoqIE5vdGlmeSBhYm91dCBjaGFuZ2VzIGluIHRhYmxlIHN1YmNvbXBvbmVudHMgKG1vc3RseSB0YWJsZSBjb2x1bW4pIGFuZCBkZXRlY3QgdGhlbSBvbiBuZXh0IGRldGVjdG9yIGNoZWNrLiAqL1xuICAgIG1hcmtGb3JDaGVjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tYXJrRm9yQ2hlY2skLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogTm90aWZ5IGFib3V0IGNoYW5nZXMgaW4gdGFibGUgc3ViY29tcG9uZW50cyAobW9zdGx5IHRhYmxlIGNvbHVtbikgYW5kIGRldGVjdCB0aGVtIGltbWVkaWF0ZWx5LiAqL1xuICAgIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcyQubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBTZWFyY2ggKi9cbiAgICBzZWFyY2goc2VhcmNoSW5wdXQ6IFNlYXJjaElucHV0KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuXG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIHNlYXJjaElucHV0IH07XG5cbiAgICAgICAgdGhpcy5zZXRUYWJsZVN0YXRlKHNldEN1cnJlbnRQYWdlVG9TdGF0ZShzdGF0ZSwgMSkpO1xuXG4gICAgICAgIGNvbnN0IGV2dCA9IHsgY3VycmVudDogc2VhcmNoSW5wdXQsIHByZXZpb3VzOiBwcmV2U3RhdGUuc2VhcmNoSW5wdXQgfTtcblxuICAgICAgICB0aGlzLm5lZWRGZXRjaCQubmV4dCgpO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ3NlYXJjaCcsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgfVxuXG4gICAgLyoqIFNldCBuZXcgc29ydCBydWxlcyAqL1xuICAgIHNldFNvcnQoc29ydFJ1bGVzOiBDb2xsZWN0aW9uU29ydFtdIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwcmV2U29ydFJ1bGVzID0gKHByZXZTdGF0ZSAmJiBwcmV2U3RhdGUuc29ydEJ5KSB8fCBbXTtcblxuICAgICAgICBjb25zdCBuZXdTb3J0UnVsZXM6IENvbGxlY3Rpb25Tb3J0W10gPSBzb3J0UnVsZXMgPyBbLi4uc29ydFJ1bGVzXSA6IFtdO1xuXG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIHNvcnRCeTogbmV3U29ydFJ1bGVzIH07XG5cbiAgICAgICAgaWYgKCFlcXVhbChwcmV2U29ydFJ1bGVzLCBzdGF0ZS5zb3J0QnkpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc2V0Q3VycmVudFBhZ2VUb1N0YXRlKHN0YXRlLCAxKSk7XG4gICAgICAgICAgICB0aGlzLmJ1aWxkU29ydFJ1bGVzTWFwKCk7XG4gICAgICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHN0YXRlLnNvcnRCeSwgcHJldmlvdXM6IHByZXZTb3J0UnVsZXMgfTtcblxuICAgICAgICAgICAgdGhpcy5uZWVkRmV0Y2gkLm5leHQoKTtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UkLm5leHQoeyB0eXBlOiAnc29ydCcsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgICAgICB0aGlzLnNvcnRDaGFuZ2UkLm5leHQoZXZ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBBZGQgc29ydCBydWxlcyB0byB0aGUgZXhpc3Rpbmcgb25lcyAqL1xuICAgIGFkZFNvcnQoc29ydFJ1bGVzOiBDb2xsZWN0aW9uU29ydFtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwcmV2U29ydFJ1bGVzID0gKHByZXZTdGF0ZSAmJiBwcmV2U3RhdGUuc29ydEJ5KSB8fCBbXTtcblxuICAgICAgICBjb25zdCBuZXdTb3J0UnVsZXM6IENvbGxlY3Rpb25Tb3J0W10gPSBbXG4gICAgICAgICAgICAuLi5wcmV2U29ydFJ1bGVzLmZpbHRlcigoZXhpc3RpbmcpID0+ICFzb3J0UnVsZXMuZmluZCgoeyBmaWVsZCB9KSA9PiBmaWVsZCA9PT0gZXhpc3RpbmcuZmllbGQpKSxcbiAgICAgICAgICAgIC4uLnNvcnRSdWxlc1xuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIHNvcnRCeTogbmV3U29ydFJ1bGVzIH07XG5cbiAgICAgICAgaWYgKCFlcXVhbChwcmV2U29ydFJ1bGVzLCBzdGF0ZS5zb3J0QnkpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc2V0Q3VycmVudFBhZ2VUb1N0YXRlKHN0YXRlLCAxKSk7XG4gICAgICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHN0YXRlLnNvcnRCeSwgcHJldmlvdXM6IHByZXZTb3J0UnVsZXMgfTtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRTb3J0UnVsZXNNYXAoKTtcblxuICAgICAgICAgICAgdGhpcy5uZWVkRmV0Y2gkLm5leHQoKTtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UkLm5leHQoeyB0eXBlOiAnc29ydCcsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgICAgICB0aGlzLnNvcnRDaGFuZ2UkLm5leHQoZXZ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBTZXQgbmV3IHNvcnQgcnVsZXMgKi9cbiAgICBzZXRGaWx0ZXJzKGZpbHRlclJ1bGVzOiBDb2xsZWN0aW9uRmlsdGVyW10gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldlN0YXRlID0gdGhpcy5nZXRUYWJsZVN0YXRlKCk7XG4gICAgICAgIGNvbnN0IHByZXZGaWx0ZXJSdWxlcyA9IChwcmV2U3RhdGUgJiYgcHJldlN0YXRlLmZpbHRlckJ5KSB8fCBbXTtcblxuICAgICAgICBjb25zdCBuZXdGaWx0ZXJSdWxlczogQ29sbGVjdGlvbkZpbHRlcltdID0gZmlsdGVyUnVsZXMgPyBbLi4uZmlsdGVyUnVsZXNdIDogW107XG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIGZpbHRlckJ5OiBuZXdGaWx0ZXJSdWxlcyB9O1xuXG4gICAgICAgIGlmICghZXF1YWwocHJldkZpbHRlclJ1bGVzLCBzdGF0ZS5maWx0ZXJCeSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZShzZXRDdXJyZW50UGFnZVRvU3RhdGUoc3RhdGUsIDEpKTtcbiAgICAgICAgICAgIGNvbnN0IGV2dCA9IHsgY3VycmVudDogc3RhdGUuZmlsdGVyQnksIHByZXZpb3VzOiBwcmV2RmlsdGVyUnVsZXMgfTtcblxuICAgICAgICAgICAgdGhpcy5idWlsZEZpbHRlclJ1bGVzTWFwKCk7XG4gICAgICAgICAgICB0aGlzLm5lZWRGZXRjaCQubmV4dCgpO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdmaWx0ZXInLCBzdGF0ZTogZXZ0IH0pO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UkLm5leHQoZXZ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBBZGQgZmlsdGVyIHJ1bGVzIHRvIHRoZSBleGlzdGluZyBvbmVzICovXG4gICAgYWRkRmlsdGVycyhydWxlc1RvQWRkOiBDb2xsZWN0aW9uRmlsdGVyW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldlN0YXRlID0gdGhpcy5nZXRUYWJsZVN0YXRlKCk7XG4gICAgICAgIGNvbnN0IHByZXZGaWx0ZXJSdWxlcyA9IChwcmV2U3RhdGUgJiYgcHJldlN0YXRlLmZpbHRlckJ5KSB8fCBbXTtcblxuICAgICAgICBjb25zdCBuZXdGaWx0ZXJSdWxlczogQ29sbGVjdGlvbkZpbHRlcltdID0gW1xuICAgICAgICAgICAgLi4ucHJldkZpbHRlclJ1bGVzLmZpbHRlcigoZXhpc3RpbmcpID0+ICFydWxlc1RvQWRkLmZpbmQoKHsgZmllbGQgfSkgPT4gZmllbGQgPT09IGV4aXN0aW5nLmZpZWxkKSksXG4gICAgICAgICAgICAuLi5ydWxlc1RvQWRkXG4gICAgICAgIF07XG5cbiAgICAgICAgY29uc3Qgc3RhdGU6IFRhYmxlU3RhdGUgPSB7IC4uLnByZXZTdGF0ZSwgZmlsdGVyQnk6IG5ld0ZpbHRlclJ1bGVzIH07XG5cbiAgICAgICAgaWYgKCFlcXVhbChwcmV2RmlsdGVyUnVsZXMsIHN0YXRlLmZpbHRlckJ5KSkge1xuICAgICAgICAgICAgdGhpcy5zZXRUYWJsZVN0YXRlKHNldEN1cnJlbnRQYWdlVG9TdGF0ZShzdGF0ZSwgMSkpO1xuICAgICAgICAgICAgY29uc3QgZXZ0ID0geyBjdXJyZW50OiBzdGF0ZS5maWx0ZXJCeSwgcHJldmlvdXM6IHByZXZGaWx0ZXJSdWxlcyB9O1xuICAgICAgICAgICAgdGhpcy5idWlsZEZpbHRlclJ1bGVzTWFwKCk7XG5cbiAgICAgICAgICAgIHRoaXMubmVlZEZldGNoJC5uZXh0KCk7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ2ZpbHRlcicsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckNoYW5nZSQubmV4dChldnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJlbW92ZXMgZmlsdGVycyBmb3IgdGhlIHByb3ZpZGVkIGZpZWxkcyAqL1xuICAgIHJlbW92ZUZpbHRlcnMoZmllbGRzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcHJldkZpbHRlclJ1bGVzID0gKHByZXZTdGF0ZSAmJiBwcmV2U3RhdGUuZmlsdGVyQnkpIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IG5ld0ZpbHRlclJ1bGVzOiBDb2xsZWN0aW9uRmlsdGVyW10gPSBwcmV2RmlsdGVyUnVsZXMuZmlsdGVyKFxuICAgICAgICAgICAgKGV4aXN0aW5nKSA9PiAhZmllbGRzLmluY2x1ZGVzKGV4aXN0aW5nLmZpZWxkKVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIGZpbHRlckJ5OiBuZXdGaWx0ZXJSdWxlcyB9O1xuXG4gICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZShzZXRDdXJyZW50UGFnZVRvU3RhdGUoc3RhdGUsIDEpKTtcbiAgICAgICAgY29uc3QgZXZ0ID0geyBjdXJyZW50OiBzdGF0ZS5maWx0ZXJCeSwgcHJldmlvdXM6IHByZXZGaWx0ZXJSdWxlcyB9O1xuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyUnVsZXNNYXAoKTtcblxuICAgICAgICB0aGlzLm5lZWRGZXRjaCQubmV4dCgpO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ2ZpbHRlcicsIHN0YXRlOiBldnQgfSk7XG4gICAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgfVxuXG4gICAgLyoqIFNldCBncm91cCBydWxlcyAqL1xuICAgIHNldEdyb3Vwcyhncm91cHM6IENvbGxlY3Rpb25Hcm91cFtdIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwcmV2R3JvdXBzID0gKHByZXZTdGF0ZSAmJiBwcmV2U3RhdGUuZ3JvdXBCeSkgfHwgW107XG5cbiAgICAgICAgY29uc3QgbmV3R3JvdXBzOiBDb2xsZWN0aW9uR3JvdXBbXSA9IGdyb3VwcyA/IFsuLi5ncm91cHNdIDogW107XG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIGdyb3VwQnk6IG5ld0dyb3VwcyB9O1xuXG4gICAgICAgIGlmICghZXF1YWwocHJldkdyb3Vwcywgc3RhdGUuZ3JvdXBCeSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZShzdGF0ZSk7XG4gICAgICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHN0YXRlLmdyb3VwQnksIHByZXZpb3VzOiBwcmV2R3JvdXBzIH07XG4gICAgICAgICAgICB0aGlzLmJ1aWxkR3JvdXBSdWxlc01hcCgpO1xuXG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ2dyb3VwJywgc3RhdGU6IGV2dCB9KTtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBDaGFuZ2UkLm5leHQoZXZ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBBZGQgZ3JvdXAgcnVsZXMgdG8gdGhlIGV4aXN0aW5nIG9uZXMgKi9cbiAgICBhZGRHcm91cHMoZ3JvdXBzVG9BZGQ6IENvbGxlY3Rpb25Hcm91cFtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwcmV2R3JvdXBzID0gKHByZXZTdGF0ZSAmJiBwcmV2U3RhdGUuZ3JvdXBCeSkgfHwgW107XG5cbiAgICAgICAgY29uc3QgbmV3R3JvdXBzOiBDb2xsZWN0aW9uR3JvdXBbXSA9IFtcbiAgICAgICAgICAgIC4uLnByZXZHcm91cHMuZmlsdGVyKChleGlzdGluZykgPT4gIWdyb3Vwc1RvQWRkLmZpbmQoKHsgZmllbGQgfSkgPT4gZmllbGQgPT09IGV4aXN0aW5nLmZpZWxkKSksXG4gICAgICAgICAgICAuLi5ncm91cHNUb0FkZFxuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IHN0YXRlOiBUYWJsZVN0YXRlID0geyAuLi5wcmV2U3RhdGUsIGdyb3VwQnk6IG5ld0dyb3VwcyB9O1xuXG4gICAgICAgIGlmICghZXF1YWwocHJldkdyb3Vwcywgc3RhdGUuZ3JvdXBCeSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZShzdGF0ZSk7XG4gICAgICAgICAgICB0aGlzLmJ1aWxkR3JvdXBSdWxlc01hcCgpO1xuXG4gICAgICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHN0YXRlLmdyb3VwQnksIHByZXZpb3VzOiBwcmV2R3JvdXBzIH07XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ2dyb3VwJywgc3RhdGU6IGV2dCB9KTtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBDaGFuZ2UkLm5leHQoZXZ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBGcmVlemUgdGFibGUgdG8gY29sdW1uICovXG4gICAgZnJlZXplVG8oY29sdW1uTmFtZTogc3RyaW5nIHwgbnVsbCwgZW5kPzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcblxuICAgICAgICBpZiAoIWVuZCkge1xuICAgICAgICAgICAgdGhpcy5zZXRUYWJsZVN0YXRlKHsgLi4ucHJldlN0YXRlLCBmcmVlemVUb0NvbHVtbjogY29sdW1uTmFtZSB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZSh7IC4uLnByZXZTdGF0ZSwgZnJlZXplVG9FbmRDb2x1bW46IGNvbHVtbk5hbWUgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBldnQgPSB7XG4gICAgICAgICAgICBjdXJyZW50OiBjb2x1bW5OYW1lLFxuICAgICAgICAgICAgcHJldmlvdXM6IGVuZCA/IHByZXZTdGF0ZS5mcmVlemVUb0VuZENvbHVtbiA6IHByZXZTdGF0ZS5mcmVlemVUb0NvbHVtblxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UkLm5leHQoeyB0eXBlOiAnZnJlZXplJywgc3RhdGU6IGV2dCB9KTtcbiAgICAgICAgdGhpcy5mcmVlemVDaGFuZ2UkLm5leHQoZXZ0KTtcbiAgICB9XG5cbiAgICAvKiogU2V0IHRhYmxlIGNvbHVtbnMgKi9cbiAgICBzZXRDb2x1bW5zKGNvbHVtbnM6IHN0cmluZ1tdLCBrZXlzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcHJldkNvbHVtbnMgPSAocHJldlN0YXRlICYmIHByZXZTdGF0ZS5jb2x1bW5zKSB8fCBbXTtcblxuICAgICAgICBjb25zdCBuZXdDb2x1bW5zID0gWy4uLmNvbHVtbnNdO1xuICAgICAgICBjb25zdCBuZXdDb2x1bW5LZXlzID0gWy4uLmtleXNdO1xuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHsgLi4ucHJldlN0YXRlLCBjb2x1bW5zOiBuZXdDb2x1bW5zLCBjb2x1bW5LZXlzOiBuZXdDb2x1bW5LZXlzIH07XG5cbiAgICAgICAgaWYgKCFlcXVhbChwcmV2Q29sdW1ucywgc3RhdGUuY29sdW1ucykpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVTdGF0ZShzdGF0ZSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGV2dCA9IHsgY3VycmVudDogc3RhdGUuY29sdW1ucywgcHJldmlvdXM6IHByZXZDb2x1bW5zIH07XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlJC5uZXh0KHsgdHlwZTogJ2NvbHVtbnMnLCBzdGF0ZTogZXZ0IH0pO1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5zQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2V0IHBhZ2UgKi9cbiAgICBzZXRDdXJyZW50UGFnZShjdXJyZW50UGFnZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwcmV2UGFnZVN0YXRlID0gcHJldlN0YXRlLnBhZ2U7XG5cbiAgICAgICAgaWYgKHByZXZQYWdlU3RhdGUuY3VycmVudFBhZ2UgPT09IGN1cnJlbnRQYWdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGF0ZTogVGFibGVTdGF0ZSA9IHNldEN1cnJlbnRQYWdlVG9TdGF0ZShwcmV2U3RhdGUsIGN1cnJlbnRQYWdlKTtcblxuICAgICAgICB0aGlzLnNldFRhYmxlU3RhdGUoc3RhdGUpO1xuICAgICAgICBjb25zdCBldnQgPSB7IGN1cnJlbnQ6IHN0YXRlLnBhZ2UsIHByZXZpb3VzOiBwcmV2UGFnZVN0YXRlIH07XG5cbiAgICAgICAgdGhpcy5uZWVkRmV0Y2gkLm5leHQoKTtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZSQubmV4dCh7IHR5cGU6ICdwYWdlJywgc3RhdGU6IGV2dCB9KTtcbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlJC5uZXh0KGV2dCk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybnMgZGVmYXVsdCB0YWJsZSBzdGF0ZS4gKi9cbiAgICBnZXREZWZhdWx0U3RhdGUoKTogVGFibGVTdGF0ZSB7XG4gICAgICAgIGNvbnN0IHRhYmxlU3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbHVtbktleXM6IHRhYmxlU3RhdGUuY29sdW1uS2V5cyxcbiAgICAgICAgICAgIHNvcnRCeTogW10sXG4gICAgICAgICAgICBmaWx0ZXJCeTogW10sXG4gICAgICAgICAgICBncm91cEJ5OiBbXSxcbiAgICAgICAgICAgIGNvbHVtbnM6IHRhYmxlU3RhdGUuY29sdW1ucyxcbiAgICAgICAgICAgIHNlYXJjaElucHV0OiB7XG4gICAgICAgICAgICAgICAgY2F0ZWdvcnk6IG51bGwsXG4gICAgICAgICAgICAgICAgdGV4dDogJydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmcmVlemVUb0NvbHVtbjogbnVsbCxcbiAgICAgICAgICAgIGZyZWV6ZVRvRW5kQ29sdW1uOiBudWxsLFxuICAgICAgICAgICAgcGFnZToge1xuICAgICAgICAgICAgICAgIHBhZ2VTaXplOiAwLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRQYWdlOiAxXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2Nyb2xsVG9wUG9zaXRpb246IDBcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaGFyZXMgdmlzaWJsZSBjb2x1bW5zIGFycmF5IGFjcm9zcyBsaXN0ZW5lcnMuXG4gICAgICogQHBhcmFtIGNvbHVtbnMgVmlzaWJsZSBjb2x1bW5zIHRvIHNoYXJlLlxuICAgICAqL1xuICAgIHNldFZpc2libGVDb2x1bW5zKGNvbHVtbnM6IFRhYmxlQ29sdW1uW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy52aXNpYmxlQ29sdW1ucyQubmV4dChjb2x1bW5zKTtcbiAgICAgICAgdGhpcy52aXNpYmxlQ29sdW1uc0xlbmd0aCA9IGNvbHVtbnMubGVuZ3RoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNoYXJlcyBwb3BwaW5nIGNvbHVtbnMgYXJyYXkgYWNyb3NzIGxpc3RlbmVycy5cbiAgICAgKiBAcGFyYW0gY29sdW1ucyBQb3BwaW5nIGNvbHVtbnMgdG8gc2hhcmUuXG4gICAgICovXG4gICAgc2V0UG9wcGluZ0NvbHVtbnMoY29sdW1uczogVGFibGVDb2x1bW5bXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnBvcHBpbmdDb2x1bW5zJC5uZXh0KGNvbHVtbnMpO1xuICAgICAgICB0aGlzLl9wb3BwaW5nQ29sdW1uc0xlbmd0aCA9IGNvbHVtbnMubGVuZ3RoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgZ3JvdXBpbmcgcnVsZXMgYmFzZWQgb24gdGhlIHRhYmxlIHN0YXRlLlxuICAgICAqIEBwYXJhbSBzdGF0ZSBUYWJsZSBzdGF0ZS5cbiAgICAgKi9cbiAgICBidWlsZEdyb3VwUnVsZXNNYXAoc3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKSk6IHZvaWQge1xuICAgICAgICBjb25zdCBncm91cE1hcCA9IG5ldyBNYXAoc3RhdGUuZ3JvdXBCeS5tYXAoKHJ1bGUpID0+IFtydWxlLmZpZWxkLCBydWxlXSkpO1xuICAgICAgICB0aGlzLmdyb3VwUnVsZXMkLm5leHQoZ3JvdXBNYXApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgc29ydGluZyBydWxlcyBiYXNlZCBvbiB0aGUgdGFibGUgc3RhdGUuXG4gICAgICogQHBhcmFtIHN0YXRlIFRhYmxlIHN0YXRlXG4gICAgICovXG4gICAgYnVpbGRTb3J0UnVsZXNNYXAoc3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNvcnRSdWxlcyQubmV4dChuZXcgTWFwKHN0YXRlLnNvcnRCeS5maWx0ZXIoKHJ1bGUpID0+IHJ1bGUuZmllbGQpLm1hcCgocnVsZSkgPT4gW3J1bGUuZmllbGQhLCBydWxlXSkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RzIGZpbHRlciBydWxlcyBiYXNlZCBvbiB0aGUgdGFibGUgc3RhdGUuXG4gICAgICogQHBhcmFtIHN0YXRlIFRhYmxlIHN0YXRlLlxuICAgICAqL1xuICAgIGJ1aWxkRmlsdGVyUnVsZXNNYXAoc3RhdGUgPSB0aGlzLmdldFRhYmxlU3RhdGUoKSk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlclJ1bGVzJC5uZXh0KFxuICAgICAgICAgICAgc3RhdGUuZmlsdGVyQnkucmVkdWNlKChoYXNoLCBydWxlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gcnVsZS5maWVsZDtcbiAgICAgICAgICAgICAgICBpZiAoIWhhc2guaGFzKGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFzaC5zZXQoa2V5LCBbXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGhhc2guZ2V0KGtleSk/LnB1c2gocnVsZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGhhc2g7XG4gICAgICAgICAgICB9LCBuZXcgTWFwPHN0cmluZywgQ29sbGVjdGlvbkZpbHRlcltdPigpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgYmFzZSB0YWJsZSBjb25maWcuXG4gICAgICovXG4gICAgY29uc3RydWN0VGFibGVNZXRhZGF0YSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZEdyb3VwUnVsZXNNYXAoKTtcbiAgICAgICAgdGhpcy5idWlsZFNvcnRSdWxlc01hcCgpO1xuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyUnVsZXNNYXAoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHNldEN1cnJlbnRQYWdlVG9TdGF0ZShzdGF0ZTogVGFibGVTdGF0ZSwgY3VycmVudFBhZ2U6IG51bWJlcik6IFRhYmxlU3RhdGUge1xuICAgIGNvbnN0IG5ld1BhZ2VTdGF0ZTogQ29sbGVjdGlvblBhZ2UgPSB7IC4uLnN0YXRlLnBhZ2UsIGN1cnJlbnRQYWdlIH07XG4gICAgcmV0dXJuIHsgLi4uc3RhdGUsIHBhZ2U6IG5ld1BhZ2VTdGF0ZSB9O1xufVxuIl19
|