@skyux/data-manager 11.0.0-alpha.8 → 11.0.0-beta.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/documentation.json +913 -637
- package/esm2022/index.mjs +1 -1
- package/esm2022/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker-impl.service.mjs +3 -3
- package/esm2022/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.component.mjs +9 -12
- package/esm2022/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.service.mjs +3 -3
- package/esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-left-item.component.mjs +3 -3
- package/esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-primary-item.component.mjs +3 -3
- package/esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-right-item.component.mjs +3 -3
- package/esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-section.component.mjs +3 -3
- package/esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar.component.mjs +12 -15
- package/esm2022/lib/modules/data-manager/data-manager.component.mjs +7 -9
- package/esm2022/lib/modules/data-manager/data-manager.module.mjs +6 -7
- package/esm2022/lib/modules/data-manager/data-manager.service.mjs +3 -3
- package/esm2022/lib/modules/data-manager/data-view.component.mjs +25 -8
- package/esm2022/lib/modules/data-manager/models/data-view-column-widths.mjs +2 -0
- package/esm2022/lib/modules/data-manager/models/data-view-state-options.mjs +1 -1
- package/esm2022/lib/modules/data-manager/models/data-view-state.mjs +7 -1
- package/esm2022/lib/modules/shared/sky-data-manager-resources.module.mjs +4 -4
- package/fesm2022/skyux-data-manager.mjs +80 -61
- package/fesm2022/skyux-data-manager.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/modules/data-manager/models/data-view-column-widths.d.ts +14 -0
- package/lib/modules/data-manager/models/data-view-state-options.d.ts +5 -0
- package/lib/modules/data-manager/models/data-view-state.d.ts +5 -0
- package/package.json +13 -13
package/esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar.component.mjs
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
2
1
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, isStandalone, } from '@angular/core';
|
3
2
|
import { FormsModule } from '@angular/forms';
|
4
3
|
import { SkyLogService } from '@skyux/core';
|
@@ -17,14 +16,13 @@ import { SkyDataManagerColumnPickerService } from '../data-manager-column-picker
|
|
17
16
|
import { SkyDataManagerFilterModalContext } from '../data-manager-filter-context';
|
18
17
|
import { SkyDataManagerService } from '../data-manager.service';
|
19
18
|
import * as i0 from "@angular/core";
|
20
|
-
import * as i1 from "@angular/
|
21
|
-
import * as i2 from "@
|
22
|
-
import * as i3 from "@skyux/
|
23
|
-
import * as i4 from "@skyux/
|
24
|
-
import * as i5 from "@skyux/
|
25
|
-
import * as i6 from "@skyux/
|
26
|
-
import * as i7 from "@skyux/
|
27
|
-
import * as i8 from "@skyux/layout";
|
19
|
+
import * as i1 from "@angular/forms";
|
20
|
+
import * as i2 from "@skyux/forms";
|
21
|
+
import * as i3 from "@skyux/i18n";
|
22
|
+
import * as i4 from "@skyux/icon";
|
23
|
+
import * as i5 from "@skyux/lists";
|
24
|
+
import * as i6 from "@skyux/lookup";
|
25
|
+
import * as i7 from "@skyux/layout";
|
28
26
|
/**
|
29
27
|
* Renders a `sky-toolbar` with the contents specified by the active view's `SkyDataViewConfig`
|
30
28
|
* and the `SkyDataManagerToolbarLeftItemsComponent`, `SkyDataManagerToolbarRightItemsComponent`,
|
@@ -206,13 +204,12 @@ export class SkyDataManagerToolbarComponent {
|
|
206
204
|
this.#dataManagerService.updateDataState(this.dataState, this.#_source);
|
207
205
|
}
|
208
206
|
}
|
209
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
210
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
207
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SkyDataManagerToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
208
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: SkyDataManagerToolbarComponent, isStandalone: true, selector: "sky-data-manager-toolbar", ngImport: i0, template: "<div class=\"sky-data-manager-toolbar\">\n <sky-toolbar [listDescriptor]=\"dataManagerConfig?.listDescriptor\">\n <sky-toolbar-section>\n <ng-content select=\"sky-data-manager-toolbar-primary-item\" />\n\n @if (activeView?.filterButtonEnabled) {\n <sky-toolbar-item>\n <sky-filter-button\n [showButtonText]=\"activeView?.showFilterButtonText\"\n (filterButtonClick)=\"filterButtonClicked()\"\n />\n </sky-toolbar-item>\n }\n\n @if (activeView?.sortEnabled) {\n <sky-toolbar-item>\n <sky-sort [showButtonText]=\"activeView?.showSortButtonText\">\n @for (item of dataManagerConfig?.sortOptions; track item) {\n <sky-sort-item\n [active]=\"!!(dataState?.activeSortOption?.id === item.id)\"\n (itemSelect)=\"sortSelected(item)\"\n >\n {{ item.label }}\n </sky-sort-item>\n }\n </sky-sort>\n </sky-toolbar-item>\n }\n\n @if (activeView?.columnPickerEnabled) {\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-default sky-col-picker-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n dataManagerConfig?.listDescriptor\n ? ('skyux_data_manager_columns_button_aria_label'\n | skyLibResources: dataManagerConfig?.listDescriptor)\n : ('skyux_data_manager_columns_button_title' | skyLibResources)\n \"\n [attr.title]=\"\n 'skyux_data_manager_columns_button_title' | skyLibResources\n \"\n (click)=\"openColumnPicker()\"\n >\n <sky-icon icon=\"columns\" />\n <span class=\"sky-column-selector-action-btn-text\">\n {{ 'skyux_data_manager_columns_button_title' | skyLibResources }}\n </span>\n </button>\n </sky-toolbar-item>\n }\n\n <ng-content select=\"sky-data-manager-toolbar-left-item\" />\n\n @if (activeView?.searchEnabled) {\n <sky-toolbar-item>\n <sky-search\n [expandMode]=\"activeView?.searchExpandMode\"\n [placeholderText]=\"activeView?.searchPlaceholderText\"\n [searchText]=\"dataState?.searchText\"\n (searchApply)=\"searchApplied($event)\"\n />\n </sky-toolbar-item>\n }\n\n <sky-toolbar-view-actions>\n <ng-content select=\"sky-data-manager-toolbar-right-item\" />\n @if (activeView && views && views.length > 1) {\n <sky-radio-group\n class=\"sky-switch-icon-group\"\n [ariaLabel]=\"'data view switcher'\"\n [(ngModel)]=\"activeView.id\"\n >\n @for (view of views; track view.id) {\n <sky-radio\n [attr.aria-label]=\"view.name\"\n [icon]=\"view.icon\"\n [value]=\"view.id\"\n [label]=\"view.name\"\n (change)=\"onViewChange(view.id)\"\n />\n }\n </sky-radio-group>\n }\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n <ng-content select=\"sky-data-manager-toolbar-section\" />\n </sky-toolbar>\n\n @if (activeView?.multiselectToolbarEnabled) {\n <sky-toolbar class=\"sky-data-manager-multiselect-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-data-manager-select-all-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n dataManagerConfig?.listDescriptor\n ? ('skyux_data_manager_select_all_button_aria_label'\n | skyLibResources: dataManagerConfig?.listDescriptor)\n : undefined\n \"\n (click)=\"selectAll()\"\n >\n {{ 'skyux_data_manager_select_all_button_title' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-data-manager-clear-all-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n dataManagerConfig?.listDescriptor\n ? ('skyux_data_manager_clear_all_button_aria_label'\n | skyLibResources: dataManagerConfig?.listDescriptor)\n : undefined\n \"\n (click)=\"clearAll()\"\n >\n {{ 'skyux_data_manager_clear_all_button_title' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [checked]=\"onlyShowSelected\"\n [label]=\"\n dataManagerConfig?.listDescriptor\n ? ('skyux_data_manager_show_selected_option_aria_label'\n | skyLibResources: dataManagerConfig?.listDescriptor)\n : undefined\n \"\n (change)=\"onOnlyShowSelected($event)\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_data_manager_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n }\n</div>\n", styles: [":host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}@media (min-width: 768px){:host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}}:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SkyCheckboxModule }, { kind: "component", type: i2.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "helpPopoverContent", "helpPopoverTitle", "icon", "checkboxType", "checked", "indeterminate", "required", "labelText", "labelHidden", "hintText", "stacked", "helpKey"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i2.λ4, selector: "sky-checkbox-label" }, { kind: "ngmodule", type: SkyDataManagerResourcesModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i4.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyFilterModule }, { kind: "component", type: i5.λ1, selector: "sky-filter-button", inputs: ["filterButtonId", "ariaControls", "ariaExpanded", "ariaLabel", "active", "disabled", "showButtonText"], outputs: ["filterButtonClick"] }, { kind: "ngmodule", type: SkyRadioModule }, { kind: "component", type: i2.λ13, selector: "sky-radio", inputs: ["checked", "disabled", "id", "label", "labelledBy", "name", "tabindex", "value", "helpPopoverContent", "helpPopoverTitle", "icon", "radioType", "labelText", "labelHidden", "hintText", "helpKey"], outputs: ["change", "checkedChange", "disabledChange"] }, { kind: "component", type: i2.λ11, selector: "sky-radio-group", inputs: ["ariaLabelledBy", "ariaLabel", "disabled", "headingLevel", "headingStyle", "name", "required", "stacked", "value", "tabIndex", "headingText", "headingHidden", "hintText", "helpPopoverContent", "helpPopoverTitle", "helpKey"] }, { kind: "ngmodule", type: SkySearchModule }, { kind: "component", type: i6.SkySearchComponent, selector: "sky-search", inputs: ["ariaLabel", "ariaLabelledBy", "searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { kind: "ngmodule", type: SkySortModule }, { kind: "component", type: i5.λ14, selector: "sky-sort", inputs: ["ariaLabel", "showButtonText"] }, { kind: "component", type: i5.λ13, selector: "sky-sort-item", inputs: ["active"], outputs: ["itemSelect"] }, { kind: "ngmodule", type: SkyToolbarModule }, { kind: "component", type: i7.λ37, selector: "sky-toolbar", inputs: ["listDescriptor"] }, { kind: "component", type: i7.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i7.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i7.λ40, selector: "sky-toolbar-view-actions" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
211
209
|
}
|
212
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
210
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SkyDataManagerToolbarComponent, decorators: [{
|
213
211
|
type: Component,
|
214
212
|
args: [{ standalone: true, selector: 'sky-data-manager-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
215
|
-
CommonModule,
|
216
213
|
FormsModule,
|
217
214
|
SkyCheckboxModule,
|
218
215
|
SkyDataManagerResourcesModule,
|
@@ -222,6 +219,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
222
219
|
SkySearchModule,
|
223
220
|
SkySortModule,
|
224
221
|
SkyToolbarModule,
|
225
|
-
], template: "<div class=\"sky-data-manager-toolbar\">\n <sky-toolbar [listDescriptor]=\"dataManagerConfig?.listDescriptor\">\n <sky-toolbar-section>\n <ng-content select=\"sky-data-manager-toolbar-primary-item\" />\n\n <sky-toolbar-item
|
222
|
+
], template: "<div class=\"sky-data-manager-toolbar\">\n <sky-toolbar [listDescriptor]=\"dataManagerConfig?.listDescriptor\">\n <sky-toolbar-section>\n <ng-content select=\"sky-data-manager-toolbar-primary-item\" />\n\n @if (activeView?.filterButtonEnabled) {\n <sky-toolbar-item>\n <sky-filter-button\n [showButtonText]=\"activeView?.showFilterButtonText\"\n (filterButtonClick)=\"filterButtonClicked()\"\n />\n </sky-toolbar-item>\n }\n\n @if (activeView?.sortEnabled) {\n <sky-toolbar-item>\n <sky-sort [showButtonText]=\"activeView?.showSortButtonText\">\n @for (item of dataManagerConfig?.sortOptions; track item) {\n <sky-sort-item\n [active]=\"!!(dataState?.activeSortOption?.id === item.id)\"\n (itemSelect)=\"sortSelected(item)\"\n >\n {{ item.label }}\n </sky-sort-item>\n }\n </sky-sort>\n </sky-toolbar-item>\n }\n\n @if (activeView?.columnPickerEnabled) {\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-default sky-col-picker-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n dataManagerConfig?.listDescriptor\n ? ('skyux_data_manager_columns_button_aria_label'\n | skyLibResources: dataManagerConfig?.listDescriptor)\n : ('skyux_data_manager_columns_button_title' | skyLibResources)\n \"\n [attr.title]=\"\n 'skyux_data_manager_columns_button_title' | skyLibResources\n \"\n (click)=\"openColumnPicker()\"\n >\n <sky-icon icon=\"columns\" />\n <span class=\"sky-column-selector-action-btn-text\">\n {{ 'skyux_data_manager_columns_button_title' | skyLibResources }}\n </span>\n </button>\n </sky-toolbar-item>\n }\n\n <ng-content select=\"sky-data-manager-toolbar-left-item\" />\n\n @if (activeView?.searchEnabled) {\n <sky-toolbar-item>\n <sky-search\n [expandMode]=\"activeView?.searchExpandMode\"\n [placeholderText]=\"activeView?.searchPlaceholderText\"\n [searchText]=\"dataState?.searchText\"\n (searchApply)=\"searchApplied($event)\"\n />\n </sky-toolbar-item>\n }\n\n <sky-toolbar-view-actions>\n <ng-content select=\"sky-data-manager-toolbar-right-item\" />\n @if (activeView && views && views.length > 1) {\n <sky-radio-group\n class=\"sky-switch-icon-group\"\n [ariaLabel]=\"'data view switcher'\"\n [(ngModel)]=\"activeView.id\"\n >\n @for (view of views; track view.id) {\n <sky-radio\n [attr.aria-label]=\"view.name\"\n [icon]=\"view.icon\"\n [value]=\"view.id\"\n [label]=\"view.name\"\n (change)=\"onViewChange(view.id)\"\n />\n }\n </sky-radio-group>\n }\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n <ng-content select=\"sky-data-manager-toolbar-section\" />\n </sky-toolbar>\n\n @if (activeView?.multiselectToolbarEnabled) {\n <sky-toolbar class=\"sky-data-manager-multiselect-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-data-manager-select-all-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n dataManagerConfig?.listDescriptor\n ? ('skyux_data_manager_select_all_button_aria_label'\n | skyLibResources: dataManagerConfig?.listDescriptor)\n : undefined\n \"\n (click)=\"selectAll()\"\n >\n {{ 'skyux_data_manager_select_all_button_title' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-data-manager-clear-all-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n dataManagerConfig?.listDescriptor\n ? ('skyux_data_manager_clear_all_button_aria_label'\n | skyLibResources: dataManagerConfig?.listDescriptor)\n : undefined\n \"\n (click)=\"clearAll()\"\n >\n {{ 'skyux_data_manager_clear_all_button_title' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [checked]=\"onlyShowSelected\"\n [label]=\"\n dataManagerConfig?.listDescriptor\n ? ('skyux_data_manager_show_selected_option_aria_label'\n | skyLibResources: dataManagerConfig?.listDescriptor)\n : undefined\n \"\n (change)=\"onOnlyShowSelected($event)\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_data_manager_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n }\n</div>\n", styles: [":host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}@media (min-width: 768px){:host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}}:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}\n"] }]
|
226
223
|
}] });
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci10b29sYmFyL2RhdGEtbWFuYWdlci10b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUdULE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixjQUFjLEdBQ2YsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBR0wscUJBQXFCLEVBQ3JCLGVBQWUsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FB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ZixhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBpbmplY3QsXG4gIGlzU3RhbmRhbG9uZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUxvZ1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQge1xuICBTa3lDaGVja2JveENoYW5nZSxcbiAgU2t5Q2hlY2tib3hNb2R1bGUsXG4gIFNreVJhZGlvTW9kdWxlLFxufSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pY29uJztcbmltcG9ydCB7IFNreVRvb2xiYXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGF5b3V0JztcbmltcG9ydCB7IFNreUZpbHRlck1vZHVsZSwgU2t5U29ydE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9saXN0cyc7XG5pbXBvcnQgeyBTa3lTZWFyY2hNb2R1bGUgfSBmcm9tICdAc2t5dXgvbG9va3VwJztcbmltcG9ydCB7XG4gIFNreU1vZGFsQ2xvc2VBcmdzLFxuICBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UsXG4gIFNreU1vZGFsTGVnYWN5U2VydmljZSxcbiAgU2t5TW9kYWxTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9za3ktZGF0YS1tYW5hZ2VyLXJlc291cmNlcy5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb250ZXh0IH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItY29udGV4dCc7XG5pbXBvcnQgeyBTS1lfREFUQV9NQU5BR0VSX0NPTFVNTl9QSUNLRVJfUFJPVklERVJTIH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU2VydmljZSB9IGZyb20gJy4uL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJGaWx0ZXJNb2RhbENvbnRleHQgfSBmcm9tICcuLi9kYXRhLW1hbmFnZXItZmlsdGVyLWNvbnRleHQnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItb3B0aW9uJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEtbWFuYWdlci1jb25maWcnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTb3J0T3B0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEtbWFuYWdlci1zb3J0LW9wdGlvbic7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN0YXRlIH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZSc7XG5pbXBvcnQgeyBTa3lEYXRhVmlld0NvbmZpZyB9IGZyb20gJy4uL21vZGVscy9kYXRhLXZpZXctY29uZmlnJztcblxuLyoqXG4gKiBSZW5kZXJzIGEgYHNreS10b29sYmFyYCB3aXRoIHRoZSBjb250ZW50cyBzcGVjaWZpZWQgYnkgdGhlIGFjdGl2ZSB2aWV3J3MgYFNreURhdGFWaWV3Q29uZmlnYFxuICogYW5kIHRoZSBgU2t5RGF0YU1hbmFnZXJUb29sYmFyTGVmdEl0ZW1zQ29tcG9uZW50YCwgYFNreURhdGFNYW5hZ2VyVG9vbGJhclJpZ2h0SXRlbXNDb21wb25lbnRgLFxuICogYW5kIGBTa3lEYXRhTWFuYWdlclRvb2xiYXJTZWN0aW9uQ29tcG9uZW50YCB3cmFwcGVycy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc2t5LWRhdGEtbWFuYWdlci10b29sYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbWFuYWdlci10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgU2t5Q2hlY2tib3hNb2R1bGUsXG4gICAgU2t5RGF0YU1hbmFnZXJSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBTa3lGaWx0ZXJNb2R1bGUsXG4gICAgU2t5UmFkaW9Nb2R1bGUsXG4gICAgU2t5U2VhcmNoTW9kdWxlLFxuICAgIFNreVNvcnRNb2R1bGUsXG4gICAgU2t5VG9vbGJhck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgZ2V0IGFjdGl2ZVZpZXcoKTogU2t5RGF0YVZpZXdDb25maWcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfYWN0aXZlVmlldztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYWN0aXZlVmlldyh2YWx1ZTogU2t5RGF0YVZpZXdDb25maWcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfYWN0aXZlVmlldyA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhTWFuYWdlckNvbmZpZygpOiBTa3lEYXRhTWFuYWdlckNvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19kYXRhTWFuYWdlckNvbmZpZztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGF0YU1hbmFnZXJDb25maWcodmFsdWU6IFNreURhdGFNYW5hZ2VyQ29uZmlnIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2RhdGFNYW5hZ2VyQ29uZmlnID0gdmFsdWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFTdGF0ZSgpOiBTa3lEYXRhTWFuYWdlclN0YXRlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2RhdGFTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGF0YVN0YXRlKHZhbHVlOiBTa3lEYXRhTWFuYWdlclN0YXRlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2RhdGFTdGF0ZSA9IHZhbHVlO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnVwZGF0ZURhdGFTdGF0ZSh2YWx1ZSwgdGhpcy4jX3NvdXJjZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCB2aWV3cygpOiBTa3lEYXRhVmlld0NvbmZpZ1tdIHtcbiAgICByZXR1cm4gdGhpcy4jX3ZpZXdzO1xuICB9XG5cbiAgcHVibGljIHNldCB2aWV3cyh2YWx1ZTogU2t5RGF0YVZpZXdDb25maWdbXSkge1xuICAgIHRoaXMuI192aWV3cyA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIG9ubHlTaG93U2VsZWN0ZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgcmVhZG9ubHkgI2xvZ2dlciA9IGluamVjdChTa3lMb2dTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvLyB0aGUgc291cmNlIHRvIHByb3ZpZGUgZm9yIGRhdGEgc3RhdGUgY2hhbmdlc1xuICAjX3NvdXJjZSA9ICd0b29sYmFyJztcbiAgI19hY3RpdmVWaWV3OiBTa3lEYXRhVmlld0NvbmZpZyB8IHVuZGVmaW5lZDtcbiAgI19kYXRhTWFuYWdlckNvbmZpZzogU2t5RGF0YU1hbmFnZXJDb25maWcgfCB1bmRlZmluZWQ7XG4gICNfZGF0YVN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlIHwgdW5kZWZpbmVkO1xuICAjX3ZpZXdzOiBTa3lEYXRhVmlld0NvbmZpZ1tdID0gW107XG5cbiAgcmVhZG9ubHkgI2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcmVhZG9ubHkgI2NvbHVtblBpY2tlclNlcnZpY2UgPSBpbmplY3QoU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2RhdGFNYW5hZ2VyU2VydmljZSA9IGluamVjdChTa3lEYXRhTWFuYWdlclNlcnZpY2UpO1xuICByZWFkb25seSAjbW9kYWxTZXJ2aWNlID0gaW5qZWN0KFNreU1vZGFsU2VydmljZSk7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZVxuICAgICAgLmdldEFjdGl2ZVZpZXdJZFVwZGF0ZXMoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoYWN0aXZlVmlld0lkKSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChhY3RpdmVWaWV3SWQpIHtcbiAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcgPSB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UuZ2V0Vmlld0J5SWQoYWN0aXZlVmlld0lkKTtcbiAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXREYXRhVmlld3NVcGRhdGVzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZpZXdzKSA9PiB7XG4gICAgICAgIHRoaXMudmlld3MgPSB2aWV3cztcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlVmlldykge1xuICAgICAgICAgIHRoaXMuYWN0aXZlVmlldyA9IHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS5nZXRWaWV3QnlJZChcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlVmlldy5pZCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXREYXRhU3RhdGVVcGRhdGVzKHRoaXMuI19zb3VyY2UpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhU3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy4jX2RhdGFTdGF0ZSA9IGRhdGFTdGF0ZTtcbiAgICAgICAgdGhpcy5vbmx5U2hvd1NlbGVjdGVkID0gZGF0YVN0YXRlLm9ubHlTaG93U2VsZWN0ZWQ7XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXREYXRhTWFuYWdlckNvbmZpZ1VwZGF0ZXMoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoY29uZmlnKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YU1hbmFnZXJDb25maWcgPSBjb25maWc7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgc29ydFNlbGVjdGVkKHNvcnRPcHRpb246IFNreURhdGFNYW5hZ2VyU29ydE9wdGlvbik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGFTdGF0ZSkge1xuICAgICAgdGhpcy5kYXRhU3RhdGUuYWN0aXZlU29ydE9wdGlvbiA9IHNvcnRPcHRpb247XG4gICAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UudXBkYXRlRGF0YVN0YXRlKHRoaXMuZGF0YVN0YXRlLCB0aGlzLiNfc291cmNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25WaWV3Q2hhbmdlKHZpZXdJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnVwZGF0ZUFjdGl2ZVZpZXdJZCh2aWV3SWQpO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaEFwcGxpZWQodGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YVN0YXRlKSB7XG4gICAgICB0aGlzLmRhdGFTdGF0ZS5zZWFyY2hUZXh0ID0gdGV4dDtcbiAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS51cGRhdGVEYXRhU3RhdGUodGhpcy5kYXRhU3RhdGUsIHRoaXMuI19zb3VyY2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXJCdXR0b25DbGlja2VkKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgU2t5RGF0YU1hbmFnZXJGaWx0ZXJNb2RhbENvbnRleHQoKTtcbiAgICBjb25zdCBmaWx0ZXJNb2RhbCA9XG4gICAgICB0aGlzLmRhdGFNYW5hZ2VyQ29uZmlnICYmIHRoaXMuZGF0YU1hbmFnZXJDb25maWcuZmlsdGVyTW9kYWxDb21wb25lbnQ7XG5cbiAgICBjb250ZXh0LmZpbHRlckRhdGEgPSB0aGlzLmRhdGFTdGF0ZT8uZmlsdGVyRGF0YTtcblxuICAgIGNvbnN0IG9wdGlvbnM6IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSA9IHtcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IFNreURhdGFNYW5hZ2VyRmlsdGVyTW9kYWxDb250ZXh0LCB1c2VWYWx1ZTogY29udGV4dCB9LFxuICAgICAgXSxcbiAgICAgIHNpemU6ICdsYXJnZScsXG4gICAgfTtcblxuICAgIGlmIChmaWx0ZXJNb2RhbCkge1xuICAgICAgaWYgKFxuICAgICAgICAhKHRoaXMuI21vZGFsU2VydmljZSBpbnN0YW5jZW9mIFNreU1vZGFsTGVnYWN5U2VydmljZSkgJiZcbiAgICAgICAgIWlzU3RhbmRhbG9uZShmaWx0ZXJNb2RhbClcbiAgICAgICkge1xuICAgICAgICB0aGlzLiNsb2dnZXJcbiAgICAgICAgICA/LmRlcHJlY2F0ZWQoXG4gICAgICAgICAgICAnU2t5RGF0YU1hbmFnZXJDb25maWcuZmlsdGVyTW9kYWxDb21wb25lbnQgbm90IHN0YW5kYWxvbmUnLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogOSxcbiAgICAgICAgICAgICAgcmVwbGFjZW1lbnRSZWNvbW1lbmRhdGlvbjogYFRoZSBTa3lEYXRhTWFuYWdlckNvbmZpZy5maWx0ZXJNb2RhbENvbXBvbmVudCBtdXN0IGJlIGEgc3RhbmRhbG9uZSBjb21wb25lbnQgaW4gb3JkZXIgdG8gcmVjZWl2ZSB0aGUgcmlnaHQgZGVwZW5kZW5jeSBpbmplY3RvciBjb250ZXh0LmAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIClcbiAgICAgICAgICAudGhlbigpO1xuICAgICAgfVxuICAgICAgY29uc3QgbW9kYWxJbnN0YW5jZSA9IHRoaXMuI21vZGFsU2VydmljZS5vcGVuKGZpbHRlck1vZGFsLCBvcHRpb25zKTtcblxuICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKChyZXN1bHQ6IFNreU1vZGFsQ2xvc2VBcmdzKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmRhdGFTdGF0ZSAmJiByZXN1bHQucmVhc29uID09PSAnc2F2ZScpIHtcbiAgICAgICAgICB0aGlzLmRhdGFTdGF0ZS5maWx0ZXJEYXRhID0gcmVzdWx0LmRhdGE7XG4gICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnVwZGF0ZURhdGFTdGF0ZShcbiAgICAgICAgICAgIHRoaXMuZGF0YVN0YXRlLFxuICAgICAgICAgICAgdGhpcy4jX3NvdXJjZSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3BlbkNvbHVtblBpY2tlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU3RhdGUgJiYgdGhpcy5hY3RpdmVWaWV3ICYmIHRoaXMuYWN0aXZlVmlldy5jb2x1bW5PcHRpb25zKSB7XG4gICAgICBjb25zdCB2aWV3U3RhdGUgPSB0aGlzLmRhdGFTdGF0ZS5nZXRWaWV3U3RhdGVCeUlkKHRoaXMuYWN0aXZlVmlldy5pZCk7XG4gICAgICBpZiAodmlld1N0YXRlKSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb250ZXh0KFxuICAgICAgICAgIHRoaXMuYWN0aXZlVmlldy5jb2x1bW5PcHRpb25zLFxuICAgICAgICAgIHZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHMsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlVmlldy5jb2x1bW5QaWNrZXJTb3J0U3RyYXRlZ3kpIHtcbiAgICAgICAgICBjb250ZXh0LmNvbHVtblBpY2tlclNvcnRTdHJhdGVneSA9XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcuY29sdW1uUGlja2VyU29ydFN0cmF0ZWd5O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uczogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlID0ge1xuICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgU0tZX0RBVEFfTUFOQUdFUl9DT0xVTU5fUElDS0VSX1BST1ZJREVSUyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcHJvdmlkZTogU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb250ZXh0LFxuICAgICAgICAgICAgICB1c2VWYWx1ZTogY29udGV4dCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBtb2RhbEluc3RhbmNlID0gdGhpcy4jbW9kYWxTZXJ2aWNlLm9wZW4oXG4gICAgICAgICAgdGhpcy4jY29sdW1uUGlja2VyU2VydmljZS5nZXRDb21wb25lbnRUeXBlKCksXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgKTtcblxuICAgICAgICBtb2RhbEluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKHJlc3VsdDogU2t5TW9kYWxDbG9zZUFyZ3MpID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LnJlYXNvbiA9PT0gJ3NhdmUnKSB7XG4gICAgICAgICAgICBjb25zdCBkaXNwbGF5ZWRDb2x1bW5JZHMgPSByZXN1bHQuZGF0YS5tYXAoXG4gICAgICAgICAgICAgIChjb2w6IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyT3B0aW9uKSA9PiBjb2wuaWQsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB2aWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzID0gZGlzcGxheWVkQ29sdW1uSWRzO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVN0YXRlICYmIHRoaXMuYWN0aXZlVmlldykge1xuICAgICAgICAgICAgICB0aGlzLmRhdGFTdGF0ZSA9IHRoaXMuZGF0YVN0YXRlLmFkZE9yVXBkYXRlVmlldyhcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcuaWQsXG4gICAgICAgICAgICAgICAgdmlld1N0YXRlLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXc/Lm9uU2VsZWN0QWxsQ2xpY2spIHtcbiAgICAgIHRoaXMuYWN0aXZlVmlldy5vblNlbGVjdEFsbENsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldz8ub25DbGVhckFsbENsaWNrKSB7XG4gICAgICB0aGlzLmFjdGl2ZVZpZXcub25DbGVhckFsbENsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uT25seVNob3dTZWxlY3RlZChldmVudDogU2t5Q2hlY2tib3hDaGFuZ2UpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU3RhdGUpIHtcbiAgICAgIHRoaXMuZGF0YVN0YXRlLm9ubHlTaG93U2VsZWN0ZWQgPSAhIWV2ZW50LmNoZWNrZWQ7XG4gICAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UudXBkYXRlRGF0YVN0YXRlKHRoaXMuZGF0YVN0YXRlLCB0aGlzLiNfc291cmNlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXJcIj5cbiAgPHNreS10b29sYmFyIFtsaXN0RGVzY3JpcHRvcl09XCJkYXRhTWFuYWdlckNvbmZpZz8ubGlzdERlc2NyaXB0b3JcIj5cbiAgICA8c2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1kYXRhLW1hbmFnZXItdG9vbGJhci1wcmltYXJ5LWl0ZW1cIiAvPlxuXG4gICAgICA8c2t5LXRvb2xiYXItaXRlbSAqbmdJZj1cImFjdGl2ZVZpZXc/LmZpbHRlckJ1dHRvbkVuYWJsZWRcIj5cbiAgICAgICAgPHNreS1maWx0ZXItYnV0dG9uXG4gICAgICAgICAgW3Nob3dCdXR0b25UZXh0XT1cImFjdGl2ZVZpZXc/LnNob3dGaWx0ZXJCdXR0b25UZXh0XCJcbiAgICAgICAgICAoZmlsdGVyQnV0dG9uQ2xpY2spPVwiZmlsdGVyQnV0dG9uQ2xpY2tlZCgpXCJcbiAgICAgICAgPlxuICAgICAgICA8L3NreS1maWx0ZXItYnV0dG9uPlxuICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuXG4gICAgICA8c2t5LXRvb2xiYXItaXRlbSAqbmdJZj1cImFjdGl2ZVZpZXc/LnNvcnRFbmFibGVkXCI+XG4gICAgICAgIDxza3ktc29ydCBbc2hvd0J1dHRvblRleHRdPVwiYWN0aXZlVmlldz8uc2hvd1NvcnRCdXR0b25UZXh0XCI+XG4gICAgICAgICAgPHNreS1zb3J0LWl0ZW1cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFNYW5hZ2VyQ29uZmlnPy5zb3J0T3B0aW9uc1wiXG4gICAgICAgICAgICBbYWN0aXZlXT1cIiEhKGRhdGFTdGF0ZT8uYWN0aXZlU29ydE9wdGlvbj8uaWQgPT09IGl0ZW0uaWQpXCJcbiAgICAgICAgICAgIChpdGVtU2VsZWN0KT1cInNvcnRTZWxlY3RlZChpdGVtKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgIDwvc2t5LXNvcnQtaXRlbT5cbiAgICAgICAgPC9za3ktc29ydD5cbiAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cblxuICAgICAgPHNreS10b29sYmFyLWl0ZW0gKm5nSWY9XCJhY3RpdmVWaWV3Py5jb2x1bW5QaWNrZXJFbmFibGVkXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1jb2wtcGlja2VyLWJ0blwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgIGRhdGFNYW5hZ2VyQ29uZmlnPy5saXN0RGVzY3JpcHRvclxuICAgICAgICAgICAgICA/ICgnc2t5dXhfZGF0YV9tYW5hZ2VyX2NvbHVtbnNfYnV0dG9uX2FyaWFfbGFiZWwnXG4gICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGRhdGFNYW5hZ2VyQ29uZmlnPy5saXN0RGVzY3JpcHRvcilcbiAgICAgICAgICAgICAgOiAoJ3NreXV4X2RhdGFfbWFuYWdlcl9jb2x1bW5zX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgICAgXCJcbiAgICAgICAgICBbYXR0ci50aXRsZV09XCJcbiAgICAgICAgICAgICdza3l1eF9kYXRhX21hbmFnZXJfY29sdW1uc19idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgXCJcbiAgICAgICAgICAoY2xpY2spPVwib3BlbkNvbHVtblBpY2tlcigpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvbiBpY29uPVwiY29sdW1uc1wiIC8+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza3ktY29sdW1uLXNlbGVjdG9yLWFjdGlvbi1idG4tdGV4dFwiPlxuICAgICAgICAgICAge3sgJ3NreXV4X2RhdGFfbWFuYWdlcl9jb2x1bW5zX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItbGVmdC1pdGVtXCIgLz5cblxuICAgICAgPHNreS10b29sYmFyLWl0ZW0gKm5nSWY9XCJhY3RpdmVWaWV3Py5zZWFyY2hFbmFibGVkXCI+XG4gICAgICAgIDxza3ktc2VhcmNoXG4gICAgICAgICAgW2V4cGFuZE1vZGVdPVwiYWN0aXZlVmlldz8uc2VhcmNoRXhwYW5kTW9kZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyVGV4dF09XCJhY3RpdmVWaWV3Py5zZWFyY2hQbGFjZWhvbGRlclRleHRcIlxuICAgICAgICAgIFtzZWFyY2hUZXh0XT1cImRhdGFTdGF0ZT8uc2VhcmNoVGV4dFwiXG4gICAgICAgICAgKHNlYXJjaEFwcGx5KT1cInNlYXJjaEFwcGxpZWQoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9za3ktc2VhcmNoPlxuICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuXG4gICAgICA8c2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItcmlnaHQtaXRlbVwiIC8+XG4gICAgICAgIDxza3ktcmFkaW8tZ3JvdXBcbiAgICAgICAgICAqbmdJZj1cImFjdGl2ZVZpZXcgJiYgdmlld3MgJiYgdmlld3MubGVuZ3RoID4gMVwiXG4gICAgICAgICAgW2FyaWFMYWJlbF09XCInZGF0YSB2aWV3IHN3aXRjaGVyJ1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJhY3RpdmVWaWV3LmlkXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1zd2l0Y2gtaWNvbi1ncm91cFwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LXJhZGlvXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgdmlldyBvZiB2aWV3c1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInZpZXcubmFtZVwiXG4gICAgICAgICAgICBbaWNvbl09XCJ2aWV3Lmljb25cIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZpZXcuaWRcIlxuICAgICAgICAgICAgW2xhYmVsXT1cInZpZXcubmFtZVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uVmlld0NoYW5nZSh2aWV3LmlkKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvc2t5LXJhZGlvPlxuICAgICAgICA8L3NreS1yYWRpby1ncm91cD5cbiAgICAgIDwvc2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgIDwvc2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItc2VjdGlvblwiIC8+XG4gIDwvc2t5LXRvb2xiYXI+XG5cbiAgPHNreS10b29sYmFyXG4gICAgKm5nSWY9XCJhY3RpdmVWaWV3Py5tdWx0aXNlbGVjdFRvb2xiYXJFbmFibGVkXCJcbiAgICBjbGFzcz1cInNreS1kYXRhLW1hbmFnZXItbXVsdGlzZWxlY3QtdG9vbGJhclwiXG4gID5cbiAgICA8c2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktZGF0YS1tYW5hZ2VyLXNlbGVjdC1hbGwtYnRuXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgZGF0YU1hbmFnZXJDb25maWc/Lmxpc3REZXNjcmlwdG9yXG4gICAgICAgICAgICAgID8gKCdza3l1eF9kYXRhX21hbmFnZXJfc2VsZWN0X2FsbF9idXR0b25fYXJpYV9sYWJlbCdcbiAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlczogZGF0YU1hbmFnZXJDb25maWc/Lmxpc3REZXNjcmlwdG9yKVxuICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgIFwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEFsbCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdza3l1eF9kYXRhX21hbmFnZXJfc2VsZWN0X2FsbF9idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1kYXRhLW1hbmFnZXItY2xlYXItYWxsLWJ0blwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgIGRhdGFNYW5hZ2VyQ29uZmlnPy5saXN0RGVzY3JpcHRvclxuICAgICAgICAgICAgICA/ICgnc2t5dXhfZGF0YV9tYW5hZ2VyX2NsZWFyX2FsbF9idXR0b25fYXJpYV9sYWJlbCdcbiAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlczogZGF0YU1hbmFnZXJDb25maWc/Lmxpc3REZXNjcmlwdG9yKVxuICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgIFwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFyQWxsKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ3NreXV4X2RhdGFfbWFuYWdlcl9jbGVhcl9hbGxfYnV0dG9uX3RpdGxlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgIDxza3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gICAgICAgIDxza3ktY2hlY2tib3hcbiAgICAgICAgICBbY2hlY2tlZF09XCJvbmx5U2hvd1NlbGVjdGVkXCJcbiAgICAgICAgICBbbGFiZWxdPVwiXG4gICAgICAgICAgICBkYXRhTWFuYWdlckNvbmZpZz8ubGlzdERlc2NyaXB0b3JcbiAgICAgICAgICAgICAgPyAoJ3NreXV4X2RhdGFfbWFuYWdlcl9zaG93X3NlbGVjdGVkX29wdGlvbl9hcmlhX2xhYmVsJ1xuICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBkYXRhTWFuYWdlckNvbmZpZz8ubGlzdERlc2NyaXB0b3IpXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgXCJcbiAgICAgICAgICAoY2hhbmdlKT1cIm9uT25seVNob3dTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktY2hlY2tib3gtbGFiZWw+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAnc2t5dXhfZGF0YV9tYW5hZ2VyX3Nob3dfc2VsZWN0ZWRfb3B0aW9uX3RpdGxlJyB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L3NreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgPC9za3ktY2hlY2tib3g+XG4gICAgICA8L3NreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICA8L3NreS10b29sYmFyLXNlY3Rpb24+XG4gIDwvc2t5LXRvb2xiYXI+XG48L2Rpdj5cbiJdfQ==
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci10b29sYmFyL2RhdGEtbWFuYWdlci10b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBR1QsTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLGNBQWMsR0FDZixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFHTCxxQkFBcUIsRUFDckIsZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8s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ZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIGluamVjdCxcbiAgaXNTdGFuZGFsb25lLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2t5TG9nU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7XG4gIFNreUNoZWNrYm94Q2hhbmdlLFxuICBTa3lDaGVja2JveE1vZHVsZSxcbiAgU2t5UmFkaW9Nb2R1bGUsXG59IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnQHNreXV4L2ljb24nO1xuaW1wb3J0IHsgU2t5VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bza3l1eC9sYXlvdXQnO1xuaW1wb3J0IHsgU2t5RmlsdGVyTW9kdWxlLCBTa3lTb3J0TW9kdWxlIH0gZnJvbSAnQHNreXV4L2xpc3RzJztcbmltcG9ydCB7IFNreVNlYXJjaE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9sb29rdXAnO1xuaW1wb3J0IHtcbiAgU2t5TW9kYWxDbG9zZUFyZ3MsXG4gIFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSxcbiAgU2t5TW9kYWxMZWdhY3lTZXJ2aWNlLFxuICBTa3lNb2RhbFNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyUmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NreS1kYXRhLW1hbmFnZXItcmVzb3VyY2VzLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlckNvbnRleHQgfSBmcm9tICcuLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci1jb250ZXh0JztcbmltcG9ydCB7IFNLWV9EQVRBX01BTkFHRVJfQ09MVU1OX1BJQ0tFUl9QUk9WSURFUlMgfSBmcm9tICcuLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci1wcm92aWRlcnMnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckZpbHRlck1vZGFsQ29udGV4dCB9IGZyb20gJy4uL2RhdGEtbWFuYWdlci1maWx0ZXItY29udGV4dCc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9kYXRhLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlck9wdGlvbiB9IGZyb20gJy4uL21vZGVscy9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci1vcHRpb24nO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXNvcnQtb3B0aW9uJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3RhdGUgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXN0YXRlJztcbmltcG9ydCB7IFNreURhdGFWaWV3Q29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEtdmlldy1jb25maWcnO1xuXG4vKipcbiAqIFJlbmRlcnMgYSBgc2t5LXRvb2xiYXJgIHdpdGggdGhlIGNvbnRlbnRzIHNwZWNpZmllZCBieSB0aGUgYWN0aXZlIHZpZXcncyBgU2t5RGF0YVZpZXdDb25maWdgXG4gKiBhbmQgdGhlIGBTa3lEYXRhTWFuYWdlclRvb2xiYXJMZWZ0SXRlbXNDb21wb25lbnRgLCBgU2t5RGF0YU1hbmFnZXJUb29sYmFyUmlnaHRJdGVtc0NvbXBvbmVudGAsXG4gKiBhbmQgYFNreURhdGFNYW5hZ2VyVG9vbGJhclNlY3Rpb25Db21wb25lbnRgIHdyYXBwZXJzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLW1hbmFnZXItdG9vbGJhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIFNreUNoZWNrYm94TW9kdWxlLFxuICAgIFNreURhdGFNYW5hZ2VyUmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5RmlsdGVyTW9kdWxlLFxuICAgIFNreVJhZGlvTW9kdWxlLFxuICAgIFNreVNlYXJjaE1vZHVsZSxcbiAgICBTa3lTb3J0TW9kdWxlLFxuICAgIFNreVRvb2xiYXJNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURhdGFNYW5hZ2VyVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgcHVibGljIGdldCBhY3RpdmVWaWV3KCk6IFNreURhdGFWaWV3Q29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2FjdGl2ZVZpZXc7XG4gIH1cblxuICBwdWJsaWMgc2V0IGFjdGl2ZVZpZXcodmFsdWU6IFNreURhdGFWaWV3Q29uZmlnIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2FjdGl2ZVZpZXcgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YU1hbmFnZXJDb25maWcoKTogU2t5RGF0YU1hbmFnZXJDb25maWcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfZGF0YU1hbmFnZXJDb25maWc7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRhdGFNYW5hZ2VyQ29uZmlnKHZhbHVlOiBTa3lEYXRhTWFuYWdlckNvbmZpZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kYXRhTWFuYWdlckNvbmZpZyA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhU3RhdGUoKTogU2t5RGF0YU1hbmFnZXJTdGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19kYXRhU3RhdGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRhdGFTdGF0ZSh2YWx1ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kYXRhU3RhdGUgPSB2YWx1ZTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS51cGRhdGVEYXRhU3RhdGUodmFsdWUsIHRoaXMuI19zb3VyY2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmlld3MoKTogU2t5RGF0YVZpZXdDb25maWdbXSB7XG4gICAgcmV0dXJuIHRoaXMuI192aWV3cztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmlld3ModmFsdWU6IFNreURhdGFWaWV3Q29uZmlnW10pIHtcbiAgICB0aGlzLiNfdmlld3MgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBvbmx5U2hvd1NlbGVjdGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIHJlYWRvbmx5ICNsb2dnZXIgPSBpbmplY3QoU2t5TG9nU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLy8gdGhlIHNvdXJjZSB0byBwcm92aWRlIGZvciBkYXRhIHN0YXRlIGNoYW5nZXNcbiAgI19zb3VyY2UgPSAndG9vbGJhcic7XG4gICNfYWN0aXZlVmlldzogU2t5RGF0YVZpZXdDb25maWcgfCB1bmRlZmluZWQ7XG4gICNfZGF0YU1hbmFnZXJDb25maWc6IFNreURhdGFNYW5hZ2VyQ29uZmlnIHwgdW5kZWZpbmVkO1xuICAjX2RhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSB8IHVuZGVmaW5lZDtcbiAgI192aWV3czogU2t5RGF0YVZpZXdDb25maWdbXSA9IFtdO1xuXG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHJlYWRvbmx5ICNjb2x1bW5QaWNrZXJTZXJ2aWNlID0gaW5qZWN0KFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNkYXRhTWFuYWdlclNlcnZpY2UgPSBpbmplY3QoU2t5RGF0YU1hbmFnZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI21vZGFsU2VydmljZSA9IGluamVjdChTa3lNb2RhbFNlcnZpY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXRBY3RpdmVWaWV3SWRVcGRhdGVzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFjdGl2ZVZpZXdJZCkgPT4ge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoYWN0aXZlVmlld0lkKSB7XG4gICAgICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLmdldFZpZXdCeUlkKGFjdGl2ZVZpZXdJZCk7XG4gICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVZpZXdzVXBkYXRlcygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCh2aWV3cykgPT4ge1xuICAgICAgICB0aGlzLnZpZXdzID0gdmlld3M7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcpIHtcbiAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcgPSB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UuZ2V0Vmlld0J5SWQoXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcuaWQsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVN0YXRlVXBkYXRlcyh0aGlzLiNfc291cmNlKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZGF0YVN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuI19kYXRhU3RhdGUgPSBkYXRhU3RhdGU7XG4gICAgICAgIHRoaXMub25seVNob3dTZWxlY3RlZCA9IGRhdGFTdGF0ZS5vbmx5U2hvd1NlbGVjdGVkO1xuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YU1hbmFnZXJDb25maWdVcGRhdGVzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xuICAgICAgICB0aGlzLmRhdGFNYW5hZ2VyQ29uZmlnID0gY29uZmlnO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNvcnRTZWxlY3RlZChzb3J0T3B0aW9uOiBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU3RhdGUpIHtcbiAgICAgIHRoaXMuZGF0YVN0YXRlLmFjdGl2ZVNvcnRPcHRpb24gPSBzb3J0T3B0aW9uO1xuICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnVwZGF0ZURhdGFTdGF0ZSh0aGlzLmRhdGFTdGF0ZSwgdGhpcy4jX3NvdXJjZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uVmlld0NoYW5nZSh2aWV3SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS51cGRhdGVBY3RpdmVWaWV3SWQodmlld0lkKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hBcHBsaWVkKHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGFTdGF0ZSkge1xuICAgICAgdGhpcy5kYXRhU3RhdGUuc2VhcmNoVGV4dCA9IHRleHQ7XG4gICAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UudXBkYXRlRGF0YVN0YXRlKHRoaXMuZGF0YVN0YXRlLCB0aGlzLiNfc291cmNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyQnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZXh0ID0gbmV3IFNreURhdGFNYW5hZ2VyRmlsdGVyTW9kYWxDb250ZXh0KCk7XG4gICAgY29uc3QgZmlsdGVyTW9kYWwgPVxuICAgICAgdGhpcy5kYXRhTWFuYWdlckNvbmZpZyAmJiB0aGlzLmRhdGFNYW5hZ2VyQ29uZmlnLmZpbHRlck1vZGFsQ29tcG9uZW50O1xuXG4gICAgY29udGV4dC5maWx0ZXJEYXRhID0gdGhpcy5kYXRhU3RhdGU/LmZpbHRlckRhdGE7XG5cbiAgICBjb25zdCBvcHRpb25zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSB7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBTa3lEYXRhTWFuYWdlckZpbHRlck1vZGFsQ29udGV4dCwgdXNlVmFsdWU6IGNvbnRleHQgfSxcbiAgICAgIF0sXG4gICAgICBzaXplOiAnbGFyZ2UnLFxuICAgIH07XG5cbiAgICBpZiAoZmlsdGVyTW9kYWwpIHtcbiAgICAgIGlmIChcbiAgICAgICAgISh0aGlzLiNtb2RhbFNlcnZpY2UgaW5zdGFuY2VvZiBTa3lNb2RhbExlZ2FjeVNlcnZpY2UpICYmXG4gICAgICAgICFpc1N0YW5kYWxvbmUoZmlsdGVyTW9kYWwpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy4jbG9nZ2VyXG4gICAgICAgICAgPy5kZXByZWNhdGVkKFxuICAgICAgICAgICAgJ1NreURhdGFNYW5hZ2VyQ29uZmlnLmZpbHRlck1vZGFsQ29tcG9uZW50IG5vdCBzdGFuZGFsb25lJyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZGVwcmVjYXRpb25NYWpvclZlcnNpb246IDksXG4gICAgICAgICAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246IGBUaGUgU2t5RGF0YU1hbmFnZXJDb25maWcuZmlsdGVyTW9kYWxDb21wb25lbnQgbXVzdCBiZSBhIHN0YW5kYWxvbmUgY29tcG9uZW50IGluIG9yZGVyIHRvIHJlY2VpdmUgdGhlIHJpZ2h0IGRlcGVuZGVuY3kgaW5qZWN0b3IgY29udGV4dC5gLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnRoZW4oKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1vZGFsSW5zdGFuY2UgPSB0aGlzLiNtb2RhbFNlcnZpY2Uub3BlbihmaWx0ZXJNb2RhbCwgb3B0aW9ucyk7XG5cbiAgICAgIG1vZGFsSW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgocmVzdWx0OiBTa3lNb2RhbENsb3NlQXJncykgPT4ge1xuICAgICAgICBpZiAodGhpcy5kYXRhU3RhdGUgJiYgcmVzdWx0LnJlYXNvbiA9PT0gJ3NhdmUnKSB7XG4gICAgICAgICAgdGhpcy5kYXRhU3RhdGUuZmlsdGVyRGF0YSA9IHJlc3VsdC5kYXRhO1xuICAgICAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS51cGRhdGVEYXRhU3RhdGUoXG4gICAgICAgICAgICB0aGlzLmRhdGFTdGF0ZSxcbiAgICAgICAgICAgIHRoaXMuI19zb3VyY2UsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW5Db2x1bW5QaWNrZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YVN0YXRlICYmIHRoaXMuYWN0aXZlVmlldyAmJiB0aGlzLmFjdGl2ZVZpZXcuY29sdW1uT3B0aW9ucykge1xuICAgICAgY29uc3Qgdmlld1N0YXRlID0gdGhpcy5kYXRhU3RhdGUuZ2V0Vmlld1N0YXRlQnlJZCh0aGlzLmFjdGl2ZVZpZXcuaWQpO1xuICAgICAgaWYgKHZpZXdTdGF0ZSkge1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gbmV3IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29udGV4dChcbiAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcuY29sdW1uT3B0aW9ucyxcbiAgICAgICAgICB2aWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcuY29sdW1uUGlja2VyU29ydFN0cmF0ZWd5KSB7XG4gICAgICAgICAgY29udGV4dC5jb2x1bW5QaWNrZXJTb3J0U3RyYXRlZ3kgPVxuICAgICAgICAgICAgdGhpcy5hY3RpdmVWaWV3LmNvbHVtblBpY2tlclNvcnRTdHJhdGVneTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wdGlvbnM6IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSA9IHtcbiAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgIFNLWV9EQVRBX01BTkFHRVJfQ09MVU1OX1BJQ0tFUl9QUk9WSURFUlMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHByb3ZpZGU6IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29udGV4dCxcbiAgICAgICAgICAgICAgdXNlVmFsdWU6IGNvbnRleHQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgbW9kYWxJbnN0YW5jZSA9IHRoaXMuI21vZGFsU2VydmljZS5vcGVuKFxuICAgICAgICAgIHRoaXMuI2NvbHVtblBpY2tlclNlcnZpY2UuZ2V0Q29tcG9uZW50VHlwZSgpLFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICk7XG5cbiAgICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKChyZXN1bHQ6IFNreU1vZGFsQ2xvc2VBcmdzKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3VsdC5yZWFzb24gPT09ICdzYXZlJykge1xuICAgICAgICAgICAgY29uc3QgZGlzcGxheWVkQ29sdW1uSWRzID0gcmVzdWx0LmRhdGEubWFwKFxuICAgICAgICAgICAgICAoY29sOiBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlck9wdGlvbikgPT4gY29sLmlkLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgdmlld1N0YXRlLmRpc3BsYXllZENvbHVtbklkcyA9IGRpc3BsYXllZENvbHVtbklkcztcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGFTdGF0ZSAmJiB0aGlzLmFjdGl2ZVZpZXcpIHtcbiAgICAgICAgICAgICAgdGhpcy5kYXRhU3RhdGUgPSB0aGlzLmRhdGFTdGF0ZS5hZGRPclVwZGF0ZVZpZXcoXG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVWaWV3LmlkLFxuICAgICAgICAgICAgICAgIHZpZXdTdGF0ZSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3Py5vblNlbGVjdEFsbENsaWNrKSB7XG4gICAgICB0aGlzLmFjdGl2ZVZpZXcub25TZWxlY3RBbGxDbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXc/Lm9uQ2xlYXJBbGxDbGljaykge1xuICAgICAgdGhpcy5hY3RpdmVWaWV3Lm9uQ2xlYXJBbGxDbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk9ubHlTaG93U2VsZWN0ZWQoZXZlbnQ6IFNreUNoZWNrYm94Q2hhbmdlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YVN0YXRlKSB7XG4gICAgICB0aGlzLmRhdGFTdGF0ZS5vbmx5U2hvd1NlbGVjdGVkID0gISFldmVudC5jaGVja2VkO1xuICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnVwZGF0ZURhdGFTdGF0ZSh0aGlzLmRhdGFTdGF0ZSwgdGhpcy4jX3NvdXJjZSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWRhdGEtbWFuYWdlci10b29sYmFyXCI+XG4gIDxza3ktdG9vbGJhciBbbGlzdERlc2NyaXB0b3JdPVwiZGF0YU1hbmFnZXJDb25maWc/Lmxpc3REZXNjcmlwdG9yXCI+XG4gICAgPHNreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItcHJpbWFyeS1pdGVtXCIgLz5cblxuICAgICAgQGlmIChhY3RpdmVWaWV3Py5maWx0ZXJCdXR0b25FbmFibGVkKSB7XG4gICAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgIDxza3ktZmlsdGVyLWJ1dHRvblxuICAgICAgICAgICAgW3Nob3dCdXR0b25UZXh0XT1cImFjdGl2ZVZpZXc/LnNob3dGaWx0ZXJCdXR0b25UZXh0XCJcbiAgICAgICAgICAgIChmaWx0ZXJCdXR0b25DbGljayk9XCJmaWx0ZXJCdXR0b25DbGlja2VkKClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgIH1cblxuICAgICAgQGlmIChhY3RpdmVWaWV3Py5zb3J0RW5hYmxlZCkge1xuICAgICAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICA8c2t5LXNvcnQgW3Nob3dCdXR0b25UZXh0XT1cImFjdGl2ZVZpZXc/LnNob3dTb3J0QnV0dG9uVGV4dFwiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBkYXRhTWFuYWdlckNvbmZpZz8uc29ydE9wdGlvbnM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgPHNreS1zb3J0LWl0ZW1cbiAgICAgICAgICAgICAgICBbYWN0aXZlXT1cIiEhKGRhdGFTdGF0ZT8uYWN0aXZlU29ydE9wdGlvbj8uaWQgPT09IGl0ZW0uaWQpXCJcbiAgICAgICAgICAgICAgICAoaXRlbVNlbGVjdCk9XCJzb3J0U2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgICA8L3NreS1zb3J0LWl0ZW0+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9za3ktc29ydD5cbiAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgfVxuXG4gICAgICBAaWYgKGFjdGl2ZVZpZXc/LmNvbHVtblBpY2tlckVuYWJsZWQpIHtcbiAgICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktY29sLXBpY2tlci1idG5cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICBkYXRhTWFuYWdlckNvbmZpZz8ubGlzdERlc2NyaXB0b3JcbiAgICAgICAgICAgICAgICA/ICgnc2t5dXhfZGF0YV9tYW5hZ2VyX2NvbHVtbnNfYnV0dG9uX2FyaWFfbGFiZWwnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlczogZGF0YU1hbmFnZXJDb25maWc/Lmxpc3REZXNjcmlwdG9yKVxuICAgICAgICAgICAgICAgIDogKCdza3l1eF9kYXRhX21hbmFnZXJfY29sdW1uc19idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIlxuICAgICAgICAgICAgICAnc2t5dXhfZGF0YV9tYW5hZ2VyX2NvbHVtbnNfYnV0dG9uX3RpdGxlJyB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvcGVuQ29sdW1uUGlja2VyKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxza3ktaWNvbiBpY29uPVwiY29sdW1uc1wiIC8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNreS1jb2x1bW4tc2VsZWN0b3ItYWN0aW9uLWJ0bi10ZXh0XCI+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF9kYXRhX21hbmFnZXJfY29sdW1uc19idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgIH1cblxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWRhdGEtbWFuYWdlci10b29sYmFyLWxlZnQtaXRlbVwiIC8+XG5cbiAgICAgIEBpZiAoYWN0aXZlVmlldz8uc2VhcmNoRW5hYmxlZCkge1xuICAgICAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICA8c2t5LXNlYXJjaFxuICAgICAgICAgICAgW2V4cGFuZE1vZGVdPVwiYWN0aXZlVmlldz8uc2VhcmNoRXhwYW5kTW9kZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJUZXh0XT1cImFjdGl2ZVZpZXc/LnNlYXJjaFBsYWNlaG9sZGVyVGV4dFwiXG4gICAgICAgICAgICBbc2VhcmNoVGV4dF09XCJkYXRhU3RhdGU/LnNlYXJjaFRleHRcIlxuICAgICAgICAgICAgKHNlYXJjaEFwcGx5KT1cInNlYXJjaEFwcGxpZWQoJGV2ZW50KVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgfVxuXG4gICAgICA8c2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItcmlnaHQtaXRlbVwiIC8+XG4gICAgICAgIEBpZiAoYWN0aXZlVmlldyAmJiB2aWV3cyAmJiB2aWV3cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgPHNreS1yYWRpby1ncm91cFxuICAgICAgICAgICAgY2xhc3M9XCJza3ktc3dpdGNoLWljb24tZ3JvdXBcIlxuICAgICAgICAgICAgW2FyaWFMYWJlbF09XCInZGF0YSB2aWV3IHN3aXRjaGVyJ1wiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImFjdGl2ZVZpZXcuaWRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEBmb3IgKHZpZXcgb2Ygdmlld3M7IHRyYWNrIHZpZXcuaWQpIHtcbiAgICAgICAgICAgICAgPHNreS1yYWRpb1xuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidmlldy5uYW1lXCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJ2aWV3Lmljb25cIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ2aWV3LmlkXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwidmlldy5uYW1lXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uVmlld0NoYW5nZSh2aWV3LmlkKVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9za3ktcmFkaW8tZ3JvdXA+XG4gICAgICAgIH1cbiAgICAgIDwvc2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgIDwvc2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItc2VjdGlvblwiIC8+XG4gIDwvc2t5LXRvb2xiYXI+XG5cbiAgQGlmIChhY3RpdmVWaWV3Py5tdWx0aXNlbGVjdFRvb2xiYXJFbmFibGVkKSB7XG4gICAgPHNreS10b29sYmFyIGNsYXNzPVwic2t5LWRhdGEtbWFuYWdlci1tdWx0aXNlbGVjdC10b29sYmFyXCI+XG4gICAgICA8c2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktZGF0YS1tYW5hZ2VyLXNlbGVjdC1hbGwtYnRuXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgZGF0YU1hbmFnZXJDb25maWc/Lmxpc3REZXNjcmlwdG9yXG4gICAgICAgICAgICAgICAgPyAoJ3NreXV4X2RhdGFfbWFuYWdlcl9zZWxlY3RfYWxsX2J1dHRvbl9hcmlhX2xhYmVsJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGRhdGFNYW5hZ2VyQ29uZmlnPy5saXN0RGVzY3JpcHRvcilcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RBbGwoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ3NreXV4X2RhdGFfbWFuYWdlcl9zZWxlY3RfYWxsX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1kYXRhLW1hbmFnZXItY2xlYXItYWxsLWJ0blwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgIGRhdGFNYW5hZ2VyQ29uZmlnPy5saXN0RGVzY3JpcHRvclxuICAgICAgICAgICAgICAgID8gKCdza3l1eF9kYXRhX21hbmFnZXJfY2xlYXJfYWxsX2J1dHRvbl9hcmlhX2xhYmVsJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGRhdGFNYW5hZ2VyQ29uZmlnPy5saXN0RGVzY3JpcHRvcilcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhckFsbCgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnc2t5dXhfZGF0YV9tYW5hZ2VyX2NsZWFyX2FsbF9idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgPHNreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgICAgICA8c2t5LWNoZWNrYm94XG4gICAgICAgICAgICBbY2hlY2tlZF09XCJvbmx5U2hvd1NlbGVjdGVkXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJcbiAgICAgICAgICAgICAgZGF0YU1hbmFnZXJDb25maWc/Lmxpc3REZXNjcmlwdG9yXG4gICAgICAgICAgICAgICAgPyAoJ3NreXV4X2RhdGFfbWFuYWdlcl9zaG93X3NlbGVjdGVkX29wdGlvbl9hcmlhX2xhYmVsJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGRhdGFNYW5hZ2VyQ29uZmlnPy5saXN0RGVzY3JpcHRvcilcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25Pbmx5U2hvd1NlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxza3ktY2hlY2tib3gtbGFiZWw+XG4gICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ3NreXV4X2RhdGFfbWFuYWdlcl9zaG93X3NlbGVjdGVkX29wdGlvbl90aXRsZSdcbiAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L3NreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgICA8L3NreS1jaGVja2JveD5cbiAgICAgICAgPC9za3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gICAgICA8L3NreS10b29sYmFyLXNlY3Rpb24+XG4gICAgPC9za3ktdG9vbGJhcj5cbiAgfVxuPC9kaXY+XG4iXX0=
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
2
1
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, } from '@angular/core';
|
3
2
|
import { SkyLiveAnnouncerService, SkyViewkeeperModule } from '@skyux/core';
|
4
3
|
import { SkyLibResourcesService } from '@skyux/i18n';
|
@@ -7,9 +6,8 @@ import { Subject } from 'rxjs';
|
|
7
6
|
import { take, takeUntil } from 'rxjs/operators';
|
8
7
|
import { SkyDataManagerService } from './data-manager.service';
|
9
8
|
import * as i0 from "@angular/core";
|
10
|
-
import * as i1 from "@
|
11
|
-
import * as i2 from "@skyux/
|
12
|
-
import * as i3 from "@skyux/core";
|
9
|
+
import * as i1 from "@skyux/layout";
|
10
|
+
import * as i2 from "@skyux/core";
|
13
11
|
const VIEWKEEPER_CLASSES_DEFAULT = ['.sky-data-manager-toolbar'];
|
14
12
|
/**
|
15
13
|
* The top-level data manager component. Provide `SkyDataManagerService` at this level.
|
@@ -110,11 +108,11 @@ export class SkyDataManagerComponent {
|
|
110
108
|
this.#liveAnnouncer.announce(internationalizedString);
|
111
109
|
});
|
112
110
|
}
|
113
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
114
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SkyDataManagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
112
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: SkyDataManagerComponent, isStandalone: true, selector: "sky-data-manager", ngImport: i0, template: "@if (isInitialized) {\n <div\n #dataManager\n class=\"sky-data-manager\"\n [skyBackToTop]=\"backToTopOptions\"\n [skyBackToTopMessageStream]=\"backToTopController\"\n [skyViewkeeper]=\"currentViewkeeperClasses\"\n >\n <ng-content />\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: SkyBackToTopModule }, { kind: "directive", type: i1.λ7, selector: "[skyBackToTop]", inputs: ["skyBackToTop", "skyBackToTopMessageStream"] }, { kind: "ngmodule", type: SkyViewkeeperModule }, { kind: "directive", type: i2.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
115
113
|
}
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SkyDataManagerComponent, decorators: [{
|
117
115
|
type: Component,
|
118
|
-
args: [{ standalone: true, selector: 'sky-data-manager', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
116
|
+
args: [{ standalone: true, selector: 'sky-data-manager', changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyBackToTopModule, SkyViewkeeperModule], template: "@if (isInitialized) {\n <div\n #dataManager\n class=\"sky-data-manager\"\n [skyBackToTop]=\"backToTopOptions\"\n [skyBackToTopMessageStream]=\"backToTopController\"\n [skyViewkeeper]=\"currentViewkeeperClasses\"\n >\n <ng-content />\n </div>\n}\n" }]
|
119
117
|
}] });
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUdULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsa0JBQWtCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFJL0QsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFFakU7O0dBRUc7QUFRSCxNQUFNLE9BQU8sdUJBQXVCO0lBUHBDO1FBNkJTLHdCQUFtQixHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO1FBRXpELHFCQUFnQixHQUFHO1lBQ3hCLFlBQVksRUFBRSxJQUFJ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QUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBL0dVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDRFQ3BDcEMsNFBBVUEsMkNEd0JZLFlBQVksa0lBQUUsa0JBQWtCLHFKQUFFLG1CQUFtQjs7MkZBRXBELHVCQUF1QjtrQkFQbkMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sa0JBQWtCLG1CQUVYLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TGl2ZUFubm91bmNlclNlcnZpY2UsIFNreVZpZXdrZWVwZXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHtcbiAgU2t5QmFja1RvVG9wTWVzc2FnZSxcbiAgU2t5QmFja1RvVG9wTWVzc2FnZVR5cGUsXG4gIFNreUJhY2tUb1RvcE1vZHVsZSxcbn0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi9kYXRhLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN0YXRlIH0gZnJvbSAnLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXN0YXRlJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3VtbWFyeSB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdW1tYXJ5JztcblxuY29uc3QgVklFV0tFRVBFUl9DTEFTU0VTX0RFRkFVTFQgPSBbJy5za3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXInXTtcblxuLyoqXG4gKiBUaGUgdG9wLWxldmVsIGRhdGEgbWFuYWdlciBjb21wb25lbnQuIFByb3ZpZGUgYFNreURhdGFNYW5hZ2VyU2VydmljZWAgYXQgdGhpcyBsZXZlbC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc2t5LWRhdGEtbWFuYWdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLW1hbmFnZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2t5QmFja1RvVG9wTW9kdWxlLCBTa3lWaWV3a2VlcGVyTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHB1YmxpYyBnZXQgY3VycmVudFZpZXdrZWVwZXJDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy4jX2N1cnJlbnRWaWV3a2VlcGVyQ2xhc3NlcztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgY3VycmVudFZpZXdrZWVwZXJDbGFzc2VzKHZhbHVlOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19jdXJyZW50Vmlld2tlZXBlckNsYXNzZXMgPSBbXG4gICAgICAuLi5WSUVXS0VFUEVSX0NMQVNTRVNfREVGQVVMVCxcbiAgICAgIC4uLih2YWx1ZSB8fCBbXSksXG4gICAgXTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rpb24ubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzSW5pdGlhbGl6ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19pc0luaXRpYWxpemVkO1xuICB9XG5cbiAgcHVibGljIHNldCBpc0luaXRpYWxpemVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jX2lzSW5pdGlhbGl6ZWQgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rpb24ubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgYmFja1RvVG9wQ29udHJvbGxlciA9IG5ldyBTdWJqZWN0PFNreUJhY2tUb1RvcE1lc3NhZ2U+KCk7XG5cbiAgcHVibGljIGJhY2tUb1RvcE9wdGlvbnMgPSB7XG4gICAgYnV0dG9uSGlkZGVuOiB0cnVlLFxuICB9O1xuXG4gICNhY3RpdmVWaWV3SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI2FsbFZpZXdrZWVwZXJDbGFzc2VzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7fTtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjc291cmNlSWQgPSAnZGF0YU1hbmFnZXJDb21wb25lbnQnO1xuICAjZGF0YVN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlIHwgdW5kZWZpbmVkO1xuXG4gICNfaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICAjX2N1cnJlbnRWaWV3a2VlcGVyQ2xhc3NlcyA9IFZJRVdLRUVQRVJfQ0xBU1NFU19ERUZBVUxUO1xuXG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3Rpb24gPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICByZWFkb25seSAjZGF0YU1hbmFnZXJTZXJ2aWNlID0gaW5qZWN0KFNreURhdGFNYW5hZ2VyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNsaXZlQW5ub3VuY2VyID0gaW5qZWN0KFNreUxpdmVBbm5vdW5jZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI3Jlc291cmNlU3ZjID0gaW5qZWN0KFNreUxpYlJlc291cmNlc1NlcnZpY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXREYXRhU3RhdGVVcGRhdGVzKHRoaXMuI3NvdXJjZUlkKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy5pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy4jZGF0YVN0YXRlID0gc3RhdGU7XG4gICAgICB9KTtcblxuICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZVxuICAgICAgLmdldERhdGFTdW1tYXJ5VXBkYXRlcyh0aGlzLiNzb3VyY2VJZClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN1bW1hcnk6IFNreURhdGFNYW5hZ2VyU3VtbWFyeSkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtc1NlbGVjdGVkID0gdGhpcy4jZGF0YVN0YXRlPy5zZWxlY3RlZElkcz8ubGVuZ3RoIHx8IDA7XG4gICAgICAgIGNvbnN0IHJlc291cmNlU3RyaW5nID0gYHNreXV4X2RhdGFfbWFuYWdlcl9zdGF0dXNfdXBkYXRlXyR7XG4gICAgICAgICAgdGhpcy4jZGF0YVN0YXRlPy5vbmx5U2hvd1NlbGVjdGVkXG4gICAgICAgICAgICA/ICdvbmx5X3NlbGVjdGVkJ1xuICAgICAgICAgICAgOiBpdGVtc1NlbGVjdGVkXG4gICAgICAgICAgICAgID8gJ3dpdGhfc2VsZWN0aW9ucydcbiAgICAgICAgICAgICAgOiAnd2l0aG91dF9zZWxlY3Rpb25zJ1xuICAgICAgICB9YDtcblxuICAgICAgICB0aGlzLiNhbm5vdW5jZVN0YXRlKFxuICAgICAgICAgIHJlc291cmNlU3RyaW5nLFxuICAgICAgICAgIHN1bW1hcnkuaXRlbXNNYXRjaGluZyxcbiAgICAgICAgICBzdW1tYXJ5LnRvdGFsSXRlbXMsXG4gICAgICAgICAgaXRlbXNTZWxlY3RlZCxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnZpZXdrZWVwZXJDbGFzc2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChjbGFzc2VzKSA9PiB7XG4gICAgICAgIHRoaXMuI2FsbFZpZXdrZWVwZXJDbGFzc2VzID0gY2xhc3NlcztcbiAgICAgICAgdGhpcy5jdXJyZW50Vmlld2tlZXBlckNsYXNzZXMgPSB0aGlzLiNhY3RpdmVWaWV3SWRcbiAgICAgICAgICA/IGNsYXNzZXNbdGhpcy4jYWN0aXZlVmlld0lkXVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXRBY3RpdmVWaWV3SWRVcGRhdGVzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFjdGl2ZVZpZXdJZCkgPT4ge1xuICAgICAgICB0aGlzLiNhY3RpdmVWaWV3SWQgPSBhY3RpdmVWaWV3SWQ7XG4gICAgICAgIHRoaXMuYmFja1RvVG9wQ29udHJvbGxlci5uZXh0KHtcbiAgICAgICAgICB0eXBlOiBTa3lCYWNrVG9Ub3BNZXNzYWdlVHlwZS5CYWNrVG9Ub3AsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmN1cnJlbnRWaWV3a2VlcGVyQ2xhc3NlcyA9XG4gICAgICAgICAgdGhpcy4jYWxsVmlld2tlZXBlckNsYXNzZXNbdGhpcy4jYWN0aXZlVmlld0lkXTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gICNhbm5vdW5jZVN0YXRlKFxuICAgIHJlc291cmNlU3RyaW5nOiBzdHJpbmcsXG4gICAgaXRlbXNNYXRjaGluZzogbnVtYmVyLFxuICAgIHRvdGFsSXRlbXM6IG51bWJlcixcbiAgICBpdGVtc1NlbGVjdGVkOiBudW1iZXIsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuI3Jlc291cmNlU3ZjXG4gICAgICAuZ2V0U3RyaW5nKHJlc291cmNlU3RyaW5nLCBpdGVtc01hdGNoaW5nLCB0b3RhbEl0ZW1zLCBpdGVtc1NlbGVjdGVkKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKGludGVybmF0aW9uYWxpemVkU3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuI2xpdmVBbm5vdW5jZXIuYW5ub3VuY2UoaW50ZXJuYXRpb25hbGl6ZWRTdHJpbmcpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJpc0luaXRpYWxpemVkXCJcbiAgY2xhc3M9XCJza3ktZGF0YS1tYW5hZ2VyXCJcbiAgW3NreUJhY2tUb1RvcF09XCJiYWNrVG9Ub3BPcHRpb25zXCJcbiAgW3NreUJhY2tUb1RvcE1lc3NhZ2VTdHJlYW1dPVwiYmFja1RvVG9wQ29udHJvbGxlclwiXG4gIFtza3lWaWV3a2VlcGVyXT1cImN1cnJlbnRWaWV3a2VlcGVyQ2xhc3Nlc1wiXG4gICNkYXRhTWFuYWdlclxuPlxuICA8bmctY29udGVudCAvPlxuPC9kaXY+XG4iXX0=
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBR1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixrQkFBa0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBSS9ELE1BQU0sMEJBQTBCLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBRWpFOztHQUVHO0FBUUgsTUFBTSxPQUFPLHVCQUF1QjtJQVBwQztRQTZCUyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztRQUV6RCxxQkFBZ0IsR0FBRztZQUN4QixZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFDO1FBR0YsMEJBQXFCLEdBQTZCLEVBQUUsQ0FBQztRQUNy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VSx1QkFBdUI7a0dBQXZCLHVCQUF1Qiw0RUNuQ3BDLDZRQVdBLDJDRHNCWSxrQkFBa0IscUpBQUUsbUJBQW1COzsyRkFFdEMsdUJBQXVCO2tCQVBuQyxTQUFTO2lDQUNJLElBQUksWUFDTixrQkFBa0IsbUJBRVgsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGtCQUFrQixFQUFFLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TGl2ZUFubm91bmNlclNlcnZpY2UsIFNreVZpZXdrZWVwZXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHtcbiAgU2t5QmFja1RvVG9wTWVzc2FnZSxcbiAgU2t5QmFja1RvVG9wTWVzc2FnZVR5cGUsXG4gIFNreUJhY2tUb1RvcE1vZHVsZSxcbn0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi9kYXRhLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN0YXRlIH0gZnJvbSAnLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXN0YXRlJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3VtbWFyeSB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdW1tYXJ5JztcblxuY29uc3QgVklFV0tFRVBFUl9DTEFTU0VTX0RFRkFVTFQgPSBbJy5za3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXInXTtcblxuLyoqXG4gKiBUaGUgdG9wLWxldmVsIGRhdGEgbWFuYWdlciBjb21wb25lbnQuIFByb3ZpZGUgYFNreURhdGFNYW5hZ2VyU2VydmljZWAgYXQgdGhpcyBsZXZlbC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc2t5LWRhdGEtbWFuYWdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLW1hbmFnZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1NreUJhY2tUb1RvcE1vZHVsZSwgU2t5Vmlld2tlZXBlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURhdGFNYW5hZ2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgZ2V0IGN1cnJlbnRWaWV3a2VlcGVyQ2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuI19jdXJyZW50Vmlld2tlZXBlckNsYXNzZXM7XG4gIH1cblxuICBwdWJsaWMgc2V0IGN1cnJlbnRWaWV3a2VlcGVyQ2xhc3Nlcyh2YWx1ZTogc3RyaW5nW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfY3VycmVudFZpZXdrZWVwZXJDbGFzc2VzID0gW1xuICAgICAgLi4uVklFV0tFRVBFUl9DTEFTU0VTX0RFRkFVTFQsXG4gICAgICAuLi4odmFsdWUgfHwgW10pLFxuICAgIF07XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0aW9uLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXNJbml0aWFsaXplZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaXNJbml0aWFsaXplZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI19pc0luaXRpYWxpemVkID0gdmFsdWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0aW9uLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGJhY2tUb1RvcENvbnRyb2xsZXIgPSBuZXcgU3ViamVjdDxTa3lCYWNrVG9Ub3BNZXNzYWdlPigpO1xuXG4gIHB1YmxpYyBiYWNrVG9Ub3BPcHRpb25zID0ge1xuICAgIGJ1dHRvbkhpZGRlbjogdHJ1ZSxcbiAgfTtcblxuICAjYWN0aXZlVmlld0lkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICNhbGxWaWV3a2VlcGVyQ2xhc3NlczogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge307XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI3NvdXJjZUlkID0gJ2RhdGFNYW5hZ2VyQ29tcG9uZW50JztcbiAgI2RhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSB8IHVuZGVmaW5lZDtcblxuICAjX2lzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgI19jdXJyZW50Vmlld2tlZXBlckNsYXNzZXMgPSBWSUVXS0VFUEVSX0NMQVNTRVNfREVGQVVMVDtcblxuICByZWFkb25seSAjY2hhbmdlRGV0ZWN0aW9uID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcmVhZG9ubHkgI2RhdGFNYW5hZ2VyU2VydmljZSA9IGluamVjdChTa3lEYXRhTWFuYWdlclNlcnZpY2UpO1xuICByZWFkb25seSAjbGl2ZUFubm91bmNlciA9IGluamVjdChTa3lMaXZlQW5ub3VuY2VyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNyZXNvdXJjZVN2YyA9IGluamVjdChTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVN0YXRlVXBkYXRlcyh0aGlzLiNzb3VyY2VJZClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHRoaXMuI2RhdGFTdGF0ZSA9IHN0YXRlO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXREYXRhU3VtbWFyeVVwZGF0ZXModGhpcy4jc291cmNlSWQpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChzdW1tYXJ5OiBTa3lEYXRhTWFuYWdlclN1bW1hcnkpID0+IHtcbiAgICAgICAgY29uc3QgaXRlbXNTZWxlY3RlZCA9IHRoaXMuI2RhdGFTdGF0ZT8uc2VsZWN0ZWRJZHM/Lmxlbmd0aCB8fCAwO1xuICAgICAgICBjb25zdCByZXNvdXJjZVN0cmluZyA9IGBza3l1eF9kYXRhX21hbmFnZXJfc3RhdHVzX3VwZGF0ZV8ke1xuICAgICAgICAgIHRoaXMuI2RhdGFTdGF0ZT8ub25seVNob3dTZWxlY3RlZFxuICAgICAgICAgICAgPyAnb25seV9zZWxlY3RlZCdcbiAgICAgICAgICAgIDogaXRlbXNTZWxlY3RlZFxuICAgICAgICAgICAgICA/ICd3aXRoX3NlbGVjdGlvbnMnXG4gICAgICAgICAgICAgIDogJ3dpdGhvdXRfc2VsZWN0aW9ucydcbiAgICAgICAgfWA7XG5cbiAgICAgICAgdGhpcy4jYW5ub3VuY2VTdGF0ZShcbiAgICAgICAgICByZXNvdXJjZVN0cmluZyxcbiAgICAgICAgICBzdW1tYXJ5Lml0ZW1zTWF0Y2hpbmcsXG4gICAgICAgICAgc3VtbWFyeS50b3RhbEl0ZW1zLFxuICAgICAgICAgIGl0ZW1zU2VsZWN0ZWQsXG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS52aWV3a2VlcGVyQ2xhc3Nlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoY2xhc3NlcykgPT4ge1xuICAgICAgICB0aGlzLiNhbGxWaWV3a2VlcGVyQ2xhc3NlcyA9IGNsYXNzZXM7XG4gICAgICAgIHRoaXMuY3VycmVudFZpZXdrZWVwZXJDbGFzc2VzID0gdGhpcy4jYWN0aXZlVmlld0lkXG4gICAgICAgICAgPyBjbGFzc2VzW3RoaXMuI2FjdGl2ZVZpZXdJZF1cbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0QWN0aXZlVmlld0lkVXBkYXRlcygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChhY3RpdmVWaWV3SWQpID0+IHtcbiAgICAgICAgdGhpcy4jYWN0aXZlVmlld0lkID0gYWN0aXZlVmlld0lkO1xuICAgICAgICB0aGlzLmJhY2tUb1RvcENvbnRyb2xsZXIubmV4dCh7XG4gICAgICAgICAgdHlwZTogU2t5QmFja1RvVG9wTWVzc2FnZVR5cGUuQmFja1RvVG9wLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jdXJyZW50Vmlld2tlZXBlckNsYXNzZXMgPVxuICAgICAgICAgIHRoaXMuI2FsbFZpZXdrZWVwZXJDbGFzc2VzW3RoaXMuI2FjdGl2ZVZpZXdJZF07XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAjYW5ub3VuY2VTdGF0ZShcbiAgICByZXNvdXJjZVN0cmluZzogc3RyaW5nLFxuICAgIGl0ZW1zTWF0Y2hpbmc6IG51bWJlcixcbiAgICB0b3RhbEl0ZW1zOiBudW1iZXIsXG4gICAgaXRlbXNTZWxlY3RlZDogbnVtYmVyLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLiNyZXNvdXJjZVN2Y1xuICAgICAgLmdldFN0cmluZyhyZXNvdXJjZVN0cmluZywgaXRlbXNNYXRjaGluZywgdG90YWxJdGVtcywgaXRlbXNTZWxlY3RlZClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChpbnRlcm5hdGlvbmFsaXplZFN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLiNsaXZlQW5ub3VuY2VyLmFubm91bmNlKGludGVybmF0aW9uYWxpemVkU3RyaW5nKTtcbiAgICAgIH0pO1xuICB9XG59XG4iLCJAaWYgKGlzSW5pdGlhbGl6ZWQpIHtcbiAgPGRpdlxuICAgICNkYXRhTWFuYWdlclxuICAgIGNsYXNzPVwic2t5LWRhdGEtbWFuYWdlclwiXG4gICAgW3NreUJhY2tUb1RvcF09XCJiYWNrVG9Ub3BPcHRpb25zXCJcbiAgICBbc2t5QmFja1RvVG9wTWVzc2FnZVN0cmVhbV09XCJiYWNrVG9Ub3BDb250cm9sbGVyXCJcbiAgICBbc2t5Vmlld2tlZXBlcl09XCJjdXJyZW50Vmlld2tlZXBlckNsYXNzZXNcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgPC9kaXY+XG59XG4iXX0=
|
@@ -9,8 +9,8 @@ import { SkyDataManagerComponent } from './data-manager.component';
|
|
9
9
|
import { SkyDataViewComponent } from './data-view.component';
|
10
10
|
import * as i0 from "@angular/core";
|
11
11
|
export class SkyDataManagerModule {
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SkyDataManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
13
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.3", ngImport: i0, type: SkyDataManagerModule, imports: [SkyDataManagerComponent,
|
14
14
|
SkyDataManagerToolbarComponent,
|
15
15
|
SkyDataManagerToolbarLeftItemComponent,
|
16
16
|
SkyDataManagerToolbarPrimaryItemComponent,
|
@@ -23,14 +23,13 @@ export class SkyDataManagerModule {
|
|
23
23
|
SkyDataManagerToolbarRightItemComponent,
|
24
24
|
SkyDataManagerToolbarSectionComponent,
|
25
25
|
SkyDataViewComponent] }); }
|
26
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.
|
26
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SkyDataManagerModule, providers: [SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS], imports: [SkyDataManagerComponent,
|
27
27
|
SkyDataManagerToolbarComponent,
|
28
28
|
SkyDataManagerToolbarLeftItemComponent,
|
29
29
|
SkyDataManagerToolbarPrimaryItemComponent,
|
30
|
-
SkyDataManagerToolbarSectionComponent
|
31
|
-
SkyDataViewComponent] }); }
|
30
|
+
SkyDataManagerToolbarSectionComponent] }); }
|
32
31
|
}
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SkyDataManagerModule, decorators: [{
|
34
33
|
type: NgModule,
|
35
34
|
args: [{
|
36
35
|
imports: [
|
@@ -54,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
54
53
|
providers: [SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS],
|
55
54
|
}]
|
56
55
|
}] });
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDN0gsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDekgsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDL0gsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDM0gsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdEgsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDdkcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBdUI3RCxNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixZQW5CN0IsdUJBQXVCO1lBQ3ZCLDhCQUE4QjtZQUM5QixzQ0FBc0M7WUFDdEMseUNBQXlDO1lBQ3pDLHVDQUF1QztZQUN2QyxxQ0FBcUM7WUFDckMsb0JBQW9CLGFBR3BCLHVCQUF1QjtZQUN2Qiw4QkFBOEI7WUFDOUIsc0NBQXNDO1lBQ3RDLHlDQUF5QztZQUN6Qyx1Q0FBdUM7WUFDdkMscUNBQXFDO1lBQ3JDLG9CQUFvQjsrR0FJWCxvQkFBb0IsYUFGcEIsQ0FBQyx3Q0FBd0MsQ0FBQyxZQWpCbkQsdUJBQXVCO1lBQ3ZCLDhCQUE4QjtZQUM5QixzQ0FBc0M7WUFDdEMseUNBQXlDO1lBRXpDLHFDQUFxQzs7MkZBYzVCLG9CQUFvQjtrQkFyQmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLHVCQUF1Qjt3QkFDdkIsOEJBQThCO3dCQUM5QixzQ0FBc0M7d0JBQ3RDLHlDQUF5Qzt3QkFDekMsdUNBQXVDO3dCQUN2QyxxQ0FBcUM7d0JBQ3JDLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHVCQUF1Qjt3QkFDdkIsOEJBQThCO3dCQUM5QixzQ0FBc0M7d0JBQ3RDLHlDQUF5Qzt3QkFDekMsdUNBQXVDO3dCQUN2QyxxQ0FBcUM7d0JBQ3JDLG9CQUFvQjtxQkFDckI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsd0NBQXdDLENBQUM7aUJBQ3REIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU0tZX0RBVEFfTUFOQUdFUl9DT0xVTU5fUElDS0VSX1BST1ZJREVSUyB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyVG9vbGJhckxlZnRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci1sZWZ0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyVG9vbGJhclByaW1hcnlJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci1wcmltYXJ5LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyVG9vbGJhclJpZ2h0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItcmlnaHQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJUb29sYmFyU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtbWFuYWdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0YVZpZXdDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtdmlldy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgU2t5RGF0YU1hbmFnZXJDb21wb25lbnQsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhckxlZnRJdGVtQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhclByaW1hcnlJdGVtQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhclJpZ2h0SXRlbUNvbXBvbmVudCxcbiAgICBTa3lEYXRhTWFuYWdlclRvb2xiYXJTZWN0aW9uQ29tcG9uZW50LFxuICAgIFNreURhdGFWaWV3Q29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU2t5RGF0YU1hbmFnZXJDb21wb25lbnQsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhckxlZnRJdGVtQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhclByaW1hcnlJdGVtQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhclJpZ2h0SXRlbUNvbXBvbmVudCxcbiAgICBTa3lEYXRhTWFuYWdlclRvb2xiYXJTZWN0aW9uQ29tcG9uZW50LFxuICAgIFNreURhdGFWaWV3Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtTS1lfREFUQV9NQU5BR0VSX0NPTFVNTl9QSUNLRVJfUFJPVklERVJTXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJNb2R1bGUge31cbiJdfQ==
|
@@ -301,10 +301,10 @@ export class SkyDataManagerService {
|
|
301
301
|
return JSON.stringify(filteredState1) === JSON.stringify(filteredState2);
|
302
302
|
};
|
303
303
|
}
|
304
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
305
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.
|
304
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SkyDataManagerService, deps: [{ token: i1.SkyUIConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
305
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SkyDataManagerService }); }
|
306
306
|
}
|
307
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
307
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SkyDataManagerService, decorators: [{
|
308
308
|
type: Injectable
|
309
309
|
}], ctorParameters: () => [{ type: i1.SkyUIConfigService }] });
|
310
310
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyL3NyYy9saWIvbW9kdWxlcy9kYXRhLW1hbmFnZXIvZGF0YS1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUd0RCxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUNILElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUl4QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQU0vRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBRTVEOzs7Ozs7O0dBT0c7QUFFSCxNQUFNLE9BQU8scUJBQXFCO0lBTXZCLGFBQWEsQ0FBZ0M7SUFDN0Msa0JBQWtCLENBQWlEO0lBQ25FLE1BQU0sQ0FBZ0Q7SUFDdEQsZ0JBQWdCLENBQW1EO0lBQ25FLFlBQVksQ0FBOEM7SUFFbkUsY0FBYyxDQUFzQjtJQUNwQyxjQUFjLENBQXVCO0lBQ3JDLFdBQVcsQ0FBNEI7SUFDdkMsZ0JBQWdCLENBQXFCO0lBRXJDLFlBQVksZUFBbUM7UUFoQi9DOztXQUVHO1FBQ0ksc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQTJCLEVBQUUsQ0FBQyxDQUFDO1FBRXBFLGtCQUFhLEdBQUcsSUFBSSxhQUFhLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDN0MsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBQXVCLEVBQUUsQ0FBQyxDQUFD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Q2pDLENBQUM7SUFFRCwwQkFBMEIsQ0FDeEIsVUFBNEQ7UUFFNUQsT0FBTyxDQUNMLE1BQTJCLEVBQzNCLE1BQTJCLEVBQ2xCLEVBQUU7WUFDWCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQ3BELE1BQU0sRUFDTixVQUFVLENBQ1gsQ0FBQztZQUNGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FDcEQsTUFBTSxFQUNOLFVBQVUsQ0FDWCxDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0UsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0ExWFUscUJBQXFCO2tIQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVVJQ29uZmlnU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIHRha2UsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1jb25maWcnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJJbml0QXJncyB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1pbml0LWFyZ3MnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZSB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN0YXRlQ2hhbmdlIH0gZnJvbSAnLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXN0YXRlLWNoYW5nZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN0YXRlT3B0aW9ucyB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZS1vcHRpb25zJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3RhdGVVcGRhdGVGaWx0ZXJBcmdzIH0gZnJvbSAnLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXN0YXRlLXVwZGF0ZS1maWx0ZXItYXJncyc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN1bW1hcnkgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItc3VtbWFyeSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN1bW1hcnlDaGFuZ2UgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItc3VtbWFyeS1jaGFuZ2UnO1xuaW1wb3J0IHsgU2t5RGF0YVZpZXdDb25maWcgfSBmcm9tICcuL21vZGVscy9kYXRhLXZpZXctY29uZmlnJztcbmltcG9ydCB7IFNreURhdGFWaWV3U3RhdGUgfSBmcm9tICcuL21vZGVscy9kYXRhLXZpZXctc3RhdGUnO1xuXG4vKipcbiAqIFRoZSBkYXRhIG1hbmFnZXIgc2VydmljZSBwcm92aWRlcyB3YXlzIGZvciBkYXRhIHZpZXdzLCB0b29sYmFyIGl0ZW1zLCBhbmQgbW9yZSB0byBzdGF5IHVwIHRvIGRhdGVcbiAqIHdpdGggdGhlIGFjdGl2ZSB2aWV3IElELCBkYXRhIG1hbmFnZXIgY29uZmlnLCByZWdpc3RlcmVkIHZpZXdzIGFuZCB0aGVpciBjb25maWdzLCBhbmQgZGF0YSBzdGF0ZS5cbiAqIFRoZXJlIGFyZSBtZXRob2RzIHRvIGdldCBjdXJyZW50IHZhbHVlcywgdXBkYXRlIHZhbHVlcywgYW5kIGdldCBzdWJzY3JpcHRpb25zIHRvIHRoZSBjaGFuZ2luZyB2YWx1ZXMuPGJyLz4gPGJyLz5cbiAqIFByb3ZpZGUgdGhpcyBzZXJ2aWNlIGF0IHRoZSBjb21wb25lbnQgbGV2ZWwgZm9yIGVhY2ggaW5zdGFuY2Ugb2YgYSBkYXRhIG1hbmFnZXIuIERvIG5vdFxuICogcHJvdmlkZSBpdCBhdCB0aGUgbW9kdWxlIGxldmVsIG9yIGluIGBhcHAtZXh0cmFzYC4gVGhpcyBhbGxvd3MgbXVsdGlwbGUgZGF0YVxuICogbWFuYWdlcnMgdG8gYmUgdXNlZCBhbmQgc2VsZi1jb250YWluZWQuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lEYXRhTWFuYWdlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgdmlld2tlZXBlckNsYXNzZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4oe30pO1xuXG4gIHJlYWRvbmx5ICNhY3RpdmVWaWV3SWQgPSBuZXcgUmVwbGF5U3ViamVjdDxzdHJpbmc+KDEpO1xuICByZWFkb25seSAjZGF0YU1hbmFnZXJDb25maWcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNreURhdGFNYW5hZ2VyQ29uZmlnPih7fSk7XG4gIHJlYWRvbmx5ICN2aWV3cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2t5RGF0YVZpZXdDb25maWdbXT4oW10pO1xuICByZWFkb25seSAjZGF0YVN0YXRlQ2hhbmdlID0gbmV3IFJlcGxheVN1YmplY3Q8U2t5RGF0YU1hbmFnZXJTdGF0ZUNoYW5nZT4oMSk7XG4gIHJlYWRvbmx5ICNkYXRhU3VtbWFyeSA9IG5ldyBTdWJqZWN0PFNreURhdGFNYW5hZ2VyU3VtbWFyeUNoYW5nZT4oKTtcblxuICAjaXNJbml0aWFsaXplZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjaW5pdFNvdXJjZSA9ICdkYXRhTWFuYWdlclNlcnZpY2VJbml0JztcbiAgI3VpQ29uZmlnU2VydmljZTogU2t5VUlDb25maWdTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKHVpQ29uZmlnU2VydmljZTogU2t5VUlDb25maWdTZXJ2aWNlKSB7XG4gICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlID0gdWlDb25maWdTZXJ2aWNlO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI2FjdGl2ZVZpZXdJZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI2RhdGFNYW5hZ2VyQ29uZmlnLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jdmlld3MuY29tcGxldGUoKTtcbiAgICB0aGlzLiNkYXRhU3RhdGVDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGRhdGEgbWFuYWdlciB3aXRoIHRoZSBnaXZlbiBzZXR0aW5ncyBhbmQgc2V0cyBgaXNJbml0aWFsaXplZGAgdG8gYHRydWVgLlxuICAgKiBUaGlzIG11c3QgYmUgY2FsbGVkIGZvciB0aGUgZGF0YSBtYW5hZ2VyIHRvIHJlbmRlci5cbiAgICogQHBhcmFtIGFyZ3MgVGhlIGluaXRpYWwgYWN0aXZlIHZpZXcgSUQsIGRhdGEgbWFuYWdlciBjb25maWcsIGFuZCBzdGF0ZSB0byB1c2UgZm9yIHRoZSBkYXRhIG1hbmFnZXIuXG4gICAqIElmIGEgc2V0dGluZ3Mga2V5IGlzIHByb3ZpZGVkLCBpdCBjaGVja3MgZm9yIGEgc2F2ZWQgZGF0YSBzdGF0ZSBpbiB0aGUgU0tZIFVJIGNvbmZpZyBzZXJ2aWNlIGJlZm9yZSB1c2luZyB0aGUgZGVmYXVsdCBkYXRhIHN0YXRlXG4gICAqIGFuZCBzYXZlcyBhbnkgc3RhdGUgY2hhbmdlcyB0byB0aGUgc2VydmljZS5cbiAgICovXG4gIHB1YmxpYyBpbml0RGF0YU1hbmFnZXIoYXJnczogU2t5RGF0YU1hbmFnZXJJbml0QXJncyk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNpc0luaXRpYWxpemVkKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1RoaXMgZGF0YSBtYW5hZ2VyIGluc3RhbmNlIGhhcyBhbHJlYWR5IGJlZW4gaW5pdGlhbGl6ZWQuJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy4jaXNJbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICBjb25zdCBkZWZhdWx0RGF0YVN0YXRlID0gYXJncy5kZWZhdWx0RGF0YVN0YXRlO1xuICAgIGNvbnN0IHNldHRpbmdzS2V5ID0gYXJncy5zZXR0aW5nc0tleTtcblxuICAgIHRoaXMudXBkYXRlQWN0aXZlVmlld0lkKGFyZ3MuYWN0aXZlVmlld0lkKTtcbiAgICB0aGlzLnVwZGF0ZURhdGFNYW5hZ2VyQ29uZmlnKGFyZ3MuZGF0YU1hbmFnZXJDb25maWcpO1xuXG4gICAgaWYgKHNldHRpbmdzS2V5KSB7XG4gICAgICB0aGlzLiN1aUNvbmZpZ1NlcnZpY2VcbiAgICAgICAgLmdldENvbmZpZyhzZXR0aW5nc0tleSwgZGVmYXVsdERhdGFTdGF0ZS5nZXRTdGF0ZU9wdGlvbnMoKSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoY29uZmlnOiBTa3lEYXRhTWFuYWdlclN0YXRlT3B0aW9ucykgPT4ge1xuICAgICAgICAgIHRoaXMudXBkYXRlRGF0YVN0YXRlKFxuICAgICAgICAgICAgbmV3IFNreURhdGFNYW5hZ2VyU3RhdGUoY29uZmlnKSxcbiAgICAgICAgICAgIHRoaXMuI2luaXRTb3VyY2UsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlRGF0YVN0YXRlKGRlZmF1bHREYXRhU3RhdGUsIHRoaXMuI2luaXRTb3VyY2UpO1xuICAgIH1cblxuICAgIGlmIChzZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy5nZXREYXRhU3RhdGVVcGRhdGVzKHRoaXMuI2luaXRTb3VyY2UpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUpID0+IHtcbiAgICAgICAgICB0aGlzLiN1aUNvbmZpZ1NlcnZpY2VcbiAgICAgICAgICAgIC5zZXRDb25maWcoc2V0dGluZ3NLZXksIHN0YXRlLmdldFN0YXRlT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICAgICAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignQ291bGQgbm90IHNhdmUgZGF0YSBtYW5hZ2VyIHNldHRpbmdzLicpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnIpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIGEgdmlldyB3aXRoaW4gdGhlIGRhdGEgbWFuYWdlci4gVGhpcyBtdXN0IGJlIGNhbGxlZCBmb3IgZWFjaCB2aWV3IGZvciB0aGUgdmlld3MgdG8gYXBwZWFyIHdpdGhpbiB0aGUgZGF0YSBtYW5hZ2VyLlxuICAgKiBAcGFyYW0gdmlld0NvbmZpZyBUaGUgU2t5RGF0YVZpZXdDb25maWcgc2V0dGluZ3MgZm9yIHRoZSB2aWV3IGJlaW5nIHJlZ2lzdGVyZWQuXG4gICAqL1xuICBwdWJsaWMgaW5pdERhdGFWaWV3KHZpZXdDb25maWc6IFNreURhdGFWaWV3Q29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFZpZXdzID0gdGhpcy4jdmlld3MudmFsdWU7XG5cbiAgICBpZiAodGhpcy5nZXRWaWV3QnlJZCh2aWV3Q29uZmlnLmlkKSkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgQSBkYXRhIG1hbmFnZXIgdmlldyB3aXRoIHRoZSBpZCAke3ZpZXdDb25maWcuaWR9IGhhcyBhbHJlYWR5IGJlZW4gaW5pdGlhbGl6ZWQuYCxcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY3VycmVudFZpZXdzLnB1c2godmlld0NvbmZpZyk7XG4gICAgdGhpcy4jdmlld3MubmV4dChjdXJyZW50Vmlld3MpO1xuXG4gICAgLy8gV2hlbiB0aGUgaW5pdGlhbCBhY3RpdmVWaWV3SWQgaXMgc2V0IHRoZXJlIGFyZSBubyB2aWV3cyByZWdpc3RlcmVkLiBXZSBoYXZlIHRvIHJlLWVtaXRcbiAgICAvLyB0aGUgYWN0aXZlSWQgc28gdGhlIG5ld2x5IHJlZ2lzdGVyZWQgdmlldyBpcyBub3RpZmllZCB0aGF0IGl0IGlzIGFjdGl2ZS5cbiAgICB0aGlzLiNhY3RpdmVWaWV3SWQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGlkKSA9PiB7XG4gICAgICB0aGlzLiNhY3RpdmVWaWV3SWQubmV4dChpZCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNkYXRhU3RhdGVDaGFuZ2VcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YVN0YXRlID0gY2hhbmdlLmRhdGFTdGF0ZTtcbiAgICAgICAgY29uc3QgY3VycmVudFZpZXdTdGF0ZSA9IGRhdGFTdGF0ZS5nZXRWaWV3U3RhdGVCeUlkKHZpZXdDb25maWcuaWQpO1xuXG4gICAgICAgIGlmICghY3VycmVudFZpZXdTdGF0ZSkge1xuICAgICAgICAgIGNvbnN0IG5ld1ZpZXdTdGF0ZSA9IG5ldyBTa3lEYXRhVmlld1N0YXRlKHsgdmlld0lkOiB2aWV3Q29uZmlnLmlkIH0pO1xuXG4gICAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIHZpZXcgc3RhdGUncyBhdmFpbGFibGUgY29sdW1ucyBtYXRjaCB3aXRoIHRoZSB2aWV3IGNvbmZpZy4gQWxzbyxcbiAgICAgICAgICAvLyBhZGQgY29sdW1ucyB0byB0aGUgYGRpc3BsYXllZENvbHVtbklkc2AgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgYGluaXRpYWxIaWRlYFxuICAgICAgICAgIGlmICh2aWV3Q29uZmlnLmNvbHVtbk9wdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbHVtbklkcyA9IHZpZXdDb25maWcuY29sdW1uT3B0aW9ucy5tYXAoKGNvbHVtbk9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbHVtbk9wdGlvbnMuaWQ7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGRpc3BsYXllZENvbHVtbklkcyA9IHZpZXdDb25maWcuY29sdW1uT3B0aW9uc1xuICAgICAgICAgICAgICAuZmlsdGVyKChjb2x1bW5PcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWNvbHVtbk9wdGlvbi5pbml0aWFsSGlkZTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLm1hcCgoY29sdW1uT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbHVtbk9wdGlvbi5pZDtcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIG5ld1ZpZXdTdGF0ZS5jb2x1bW5JZHMgPSBjb2x1bW5JZHM7XG4gICAgICAgICAgICBuZXdWaWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzID0gZGlzcGxheWVkQ29sdW1uSWRzO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBuZXdEYXRhU3RhdGUgPSBkYXRhU3RhdGUuYWRkT3JVcGRhdGVWaWV3KFxuICAgICAgICAgICAgdmlld0NvbmZpZy5pZCxcbiAgICAgICAgICAgIG5ld1ZpZXdTdGF0ZSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy51cGRhdGVEYXRhU3RhdGUobmV3RGF0YVN0YXRlLCB0aGlzLiNpbml0U291cmNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBjdXJyZW50QXZhaWxhYmxlQ29sdW1uSWRzID1cbiAgICAgICAgICAgIHZpZXdDb25maWcuY29sdW1uT3B0aW9ucz8ubWFwKChjb2x1bW5PcHRpb25zKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBjb2x1bW5PcHRpb25zLmlkO1xuICAgICAgICAgICAgfSkgfHwgW107XG5cbiAgICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgdmlldyBzdGF0ZSdzIGF2YWlsYWJsZSBjb2x1bW5zIG1hdGNoIHdpdGggdGhlIHZpZXcgY29uZmlnLiBBbHNvLFxuICAgICAgICAgIC8vIGFkZCBuZXcgY29sdW1ucyB0byB0aGUgYGRpc3BsYXllZENvbHVtbklkc2AgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgYGluaXRpYWxIaWRlYC5cbiAgICAgICAgICAvLyBXZSBvbmx5IGFkZCBjb2x1bW5zIHRvIGBkaXNwbGF5ZWRDb2x1bW5zSWRzYCBpZiB3ZSBoYWQgcHJldmlvdXNseSB0cmFja2VkXG4gICAgICAgICAgLy8gYGNvbHVtbklkc2AgdG8gYXZvaWQgYnJlYWtpbmcgY2hhbmdlcy5cbiAgICAgICAgICBpZiAoY3VycmVudFZpZXdTdGF0ZS5jb2x1bW5JZHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IG5ld0NvbHVtbklkcyA9IGN1cnJlbnRBdmFpbGFibGVDb2x1bW5JZHM/LmZpbHRlcihcbiAgICAgICAgICAgICAgKGlkKSA9PiBjdXJyZW50Vmlld1N0YXRlLmNvbHVtbklkcy5pbmRleE9mKGlkKSA8IDAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbmV3Q29sdW1uSWRzID0gbmV3Q29sdW1uSWRzPy5maWx0ZXIoKGNvbHVtbklkKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB2aWV3Q29uZmlnLmNvbHVtbk9wdGlvbnM/LmZpbmQoXG4gICAgICAgICAgICAgICAgKGNvbHVtbk9wdGlvbikgPT5cbiAgICAgICAgICAgICAgICAgIGNvbHVtbk9wdGlvbi5pZCA9PT0gY29sdW1uSWQgJiYgIWNvbHVtbk9wdGlvbi5pbml0aWFsSGlkZSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBBZGQgdGhlIGNvbHVtbiBJRHMgdGhhdCBub3cgZXhpc3QgdG8gdGhlIGRhdGEgbWFuYWdlciBzdGF0ZSBib3RoIGFzIGF2YWlsYWJsZVxuICAgICAgICAgICAgLy8gYW5kIGFzIHNob3duLlxuICAgICAgICAgICAgY3VycmVudFZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHMgPVxuICAgICAgICAgICAgICBjdXJyZW50Vmlld1N0YXRlLmRpc3BsYXllZENvbHVtbklkcy5jb25jYXQobmV3Q29sdW1uSWRzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gQWRkIHRoZSBjb2x1bW4gSURzIHRoYXQgbm93IGV4aXN0IHRvIHRoZSBkYXRhIG1hbmFnZXIgc3RhdGUgYm90aCBhcyBhdmFpbGFibGVcbiAgICAgICAgICAvLyBhbmQgYXMgc2hvd24uXG4gICAgICAgICAgY3VycmVudFZpZXdTdGF0ZS5jb2x1bW5JZHMgPSBjdXJyZW50QXZhaWxhYmxlQ29sdW1uSWRzO1xuXG4gICAgICAgICAgY29uc3QgbmV3RGF0YVN0YXRlID0gZGF0YVN0YXRlLmFkZE9yVXBkYXRlVmlldyhcbiAgICAgICAgICAgIHZpZXdDb25maWcuaWQsXG4gICAgICAgICAgICBjdXJyZW50Vmlld1N0YXRlLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZURhdGFTdGF0ZShuZXdEYXRhU3RhdGUsIHRoaXMuI2luaXRTb3VyY2UpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIG9mIGRhdGEgc3RhdGUgY2hhbmdlcyB0aGF0IHZpZXdzIGFuZCBvdGhlciBkYXRhIG1hbmFnZXIgZW50aXRpZXMgY2FuIHN1YnNjcmliZSB0by5cbiAgICogSXQgZXhjbHVkZXMgdXBkYXRlcyBvcmlnaW5hdGluZyBmcm9tIHRoZSBwcm92aWRlZCBzb3VyY2UuIFRoaXMgYWxsb3dzIHN1YnNjcmliZXJzIHRvIG9ubHkgcmVzcG9uZCB0b1xuICAgKiBjaGFuZ2VzIHRoZXkgZGlkIG5vdCBjcmVhdGUgYW5kIGhlbHBzIHByZXZlbnQgaW5maW5pdGUgbG9vcHMgb2YgdXBkYXRlcyBhbmQgcmVzcG9uc2VzLlxuICAgKiBAcGFyYW0gc291cmNlSWQgVGhlIElEIG9mIHRoZSBlbnRpdHkgc3Vic2NyaWJpbmcgdG8gZGF0YSBzdGF0ZSB1cGRhdGVzLiBUaGlzIGNhbiBiZSBhbnkgdmFsdWUgeW91IGNob29zZVxuICAgKiBidXQgc2hvdWxkIGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGRhdGEgbWFuYWdlciBpbnN0YW5jZSBhbmQgc2hvdWxkIGFsc28gYmUgdXNlZCB3aGVuIHRoYXQgZW50aXR5IHVwZGF0ZXMgdGhlIHN0YXRlLlxuICAgKi9cbiAgcHVibGljIGdldERhdGFTdGF0ZVVwZGF0ZXMoXG4gICAgc291cmNlSWQ6IHN0cmluZyxcbiAgICB1cGRhdGVGaWx0ZXI/OiBTa3lEYXRhTWFuYWdlclN0YXRlVXBkYXRlRmlsdGVyQXJncyxcbiAgKTogT2JzZXJ2YWJsZTxTa3lEYXRhTWFuYWdlclN0YXRlPiB7XG4gICAgLy8gZmlsdGVyIG91dCBldmVudHMgZnJvbSB0aGUgcHJvdmlkZWQgc291cmNlIGFuZCBlbWl0IGp1c3QgdGhlIGRhdGFTdGF0ZVxuICAgIGlmICh1cGRhdGVGaWx0ZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLiNkYXRhU3RhdGVDaGFuZ2UucGlwZShcbiAgICAgICAgZmlsdGVyKChzdGF0ZUNoYW5nZSkgPT4gc291cmNlSWQgIT09IHN0YXRlQ2hhbmdlLnNvdXJjZSksXG4gICAgICAgIG1hcCgoc3RhdGVDaGFuZ2UpID0+IHN0YXRlQ2hhbmdlLmRhdGFTdGF0ZSksXG4gICAgICAgIHVwZGF0ZUZpbHRlci5jb21wYXJhdG9yXG4gICAgICAgICAgPyBkaXN0aW5jdFVudGlsQ2hhbmdlZCh1cGRhdGVGaWx0ZXIuY29tcGFyYXRvcilcbiAgICAgICAgICA6IGRpc3RpbmN0VW50aWxDaGFuZ2VkKFxuICAgICAgICAgICAgICB0aGlzLiNnZXREZWZhdWx0U3RhdGVDb21wYXJhdG9yKFxuICAgICAgICAgICAgICAgIHVwZGF0ZUZpbHRlci5wcm9wZXJ0aWVzIGFzIChrZXlvZiBTa3lEYXRhTWFuYWdlclN0YXRlT3B0aW9ucylbXSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy4jZGF0YVN0YXRlQ2hhbmdlLnBpcGUoXG4gICAgICAgIGZpbHRlcigoc3RhdGVDaGFuZ2UpID0+IHNvdXJjZUlkICE9PSBzdGF0ZUNoYW5nZS5zb3VyY2UpLFxuICAgICAgICBtYXAoKHN0YXRlQ2hhbmdlKSA9PiBzdGF0ZUNoYW5nZS5kYXRhU3RhdGUpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZGF0YSBzdGF0ZSBhbmQgZW1pdHMgYSBuZXcgdmFsdWUgdG8gZW50aXRpZXMgc3Vic2NyaWJlZCB0byBkYXRhIHN0YXRlIGNoYW5nZXMuXG4gICAqIEBwYXJhbSBzdGF0ZSBUaGUgbmV3IGBTa3lEYXRhTWFuYWdlclN0YXRlYCB2YWx1ZS5cbiAgICogQHBhcmFtIHNvdXJjZUlkIFRoZSBJRCBvZiB0aGUgZW50aXR5IHVwZGF0aW5nIHRoZSBzdGF0ZS4gVGhpcyBjYW4gYmUgYW55IHZhbHVlIHlvdSBjaG9vc2UsXG4gICAqIGJ1dCBzaG91bGQgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZGF0YSBtYW5hZ2VyIGluc3RhbmNlIGFuZCBzaG91bGQgYWxzbyBiZSB1c2VkIHdoZW4gdGhhdCBlbnRpdHlcbiAgICogc3Vic2NyaWJlcyB0byBzdGF0ZSBjaGFuZ2VzIGZyb20gYGdldERhdGFTdGF0ZVVwZGF0ZXNgLlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZURhdGFTdGF0ZShzdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSwgc291cmNlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1N0YXRlID0gbmV3IFNreURhdGFNYW5hZ2VyU3RhdGUoc3RhdGUuZ2V0U3RhdGVPcHRpb25zKCkpO1xuICAgIGNvbnN0IG5ld1N0YXRlQ2hhbmdlID0gbmV3IFNreURhdGFNYW5hZ2VyU3RhdGVDaGFuZ2UobmV3U3RhdGUsIHNvdXJjZUlkKTtcblxuICAgIHRoaXMuI2RhdGFTdGF0ZUNoYW5nZS5uZXh0KG5ld1N0YXRlQ2hhbmdlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgb2YgZGF0YSBzdW1tYXJ5IGNoYW5nZXMgdGhhdCB2aWV3cyBhbmQgb3RoZXIgZGF0YSBtYW5hZ2VyIGVudGl0aWVzIGNhbiBzdWJzY3JpYmUgdG8uXG4gICAqIEl0IGV4Y2x1ZGVzIHVwZGF0ZXMgb3JpZ2luYXRpbmcgZnJvbSB0aGUgcHJvdmlkZWQgc291cmNlLiBUaGlzIGFsbG93cyBzdWJzY3JpYmVycyB0byBvbmx5IHJlc3BvbmQgdG9cbiAgICogY2hhbmdlcyB0aGV5IGRpZCBub3QgY3JlYXRlIGFuZCBoZWxwcyBwcmV2ZW50IGluZmluaXRlIGxvb3BzIG9mIHVwZGF0ZXMgYW5kIHJlc3BvbnNlcy5cbiAgICogQHBhcmFtIHNvdXJjZUlkIFRoZSBJRCBvZiB0aGUgZW50aXR5IHN1YnNjcmliaW5nIHRvIGRhdGEgc3VtbWFyeSB1cGRhdGVzLiBUaGlzIGNhbiBiZSBhbnkgdmFsdWUgeW91IGNob29zZVxuICAgKiBidXQgc2hvdWxkIGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGRhdGEgbWFuYWdlciBpbnN0YW5jZSBhbmQgc2hvdWxkIGFsc28gYmUgdXNlZCB3aGVuIHRoYXQgZW50aXR5IHVwZGF0ZXMgdGhlIHN1bW1hcnkuXG4gICAqL1xuICBwdWJsaWMgZ2V0RGF0YVN1bW1hcnlVcGRhdGVzKFxuICAgIHNvdXJjZUlkOiBzdHJpbmcsXG4gICk6IE9ic2VydmFibGU8U2t5RGF0YU1hbmFnZXJTdW1tYXJ5PiB7XG4gICAgcmV0dXJuIHRoaXMuI2RhdGFTdW1tYXJ5LnBpcGUoXG4gICAgICBmaWx0ZXIoKHN1bW1hcnlDaGFuZ2UpID0+IHNvdXJjZUlkICE9PSBzdW1tYXJ5Q2hhbmdlLnNvdXJjZSksXG4gICAgICBtYXAoKHN1bW1hcnlDaGFuZ2UpID0+IHN1bW1hcnlDaGFuZ2UuZGF0YVN1bW1hcnkpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZGF0YSBzdW1tYXJ5IGFuZCBlbWl0cyBhIG5ldyB2YWx1ZSB0byBlbnRpdGllcyBzdWJzY3JpYmVkIHRvIGRhdGEgc3VtbWFyeSBjaGFuZ2VzLlxuICAgKiBAcGFyYW0gc3VtbWFyeSBUaGUgbmV3IGBTa3lEYXRhTWFuYWdlclN1bW1hcnlgIHZhbHVlLlxuICAgKiBAcGFyYW0gc291cmNlSWQgVGhlIElEIG9mIHRoZSBlbnRpdHkgdXBkYXRpbmcgdGhlIHN1bW1hcnkuIFRoaXMgY2FuIGJlIGFueSB2YWx1ZSB5b3UgY2hvb3NlLFxuICAgKiBidXQgc2hvdWxkIGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGRhdGEgbWFuYWdlciBpbnN0YW5jZSBhbmQgc2hvdWxkIGFsc28gYmUgdXNlZCB3aGVuIHRoYXQgZW50aXR5XG4gICAqIHN1YnNjcmliZXMgdG8gc3VtbWFyeSBjaGFuZ2VzIGZyb20gYGdldERhdGFTdW1tYXJ5VXBkYXRlc2AuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlRGF0YVN1bW1hcnkoXG4gICAgc3VtbWFyeTogU2t5RGF0YU1hbmFnZXJTdW1tYXJ5LFxuICAgIHNvdXJjZUlkOiBzdHJpbmcsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuI2RhdGFTdW1tYXJ5Lm5leHQoeyBkYXRhU3VtbWFyeTogc3VtbWFyeSwgc291cmNlOiBzb3VyY2VJZCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGBTa3lEYXRhTWFuYWdlckNvbmZpZ2AuXG4gICAqL1xuICBwdWJsaWMgZ2V0Q3VycmVudERhdGFNYW5hZ2VyQ29uZmlnKCk6IFNreURhdGFNYW5hZ2VyQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy4jZGF0YU1hbmFnZXJDb25maWcudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIG9mIGRhdGEgbWFuYWdlciBjb25maWcgY2hhbmdlcyB0aGF0IHZpZXdzIGFuZCBvdGhlciBkYXRhIG1hbmFnZXIgZW50aXRpZXMgY2FuIHN1YnNjcmliZSB0by5cbiAgICovXG4gIHB1YmxpYyBnZXREYXRhTWFuYWdlckNvbmZpZ1VwZGF0ZXMoKTogT2JzZXJ2YWJsZTxTa3lEYXRhTWFuYWdlckNvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLiNkYXRhTWFuYWdlckNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBkYXRhIG1hbmFnZXIgY29uZmlnIGFuZCBlbWl0cyBhIG5ldyB2YWx1ZSB0byBlbnRpdGllcyBzdWJzY3JpYmVkIHRvIGRhdGEgY29uZmlnIGNoYW5nZXMuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgbmV3IGBTa3lEYXRhTWFuYWdlckNvbmZpZ2AgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlRGF0YU1hbmFnZXJDb25maWcodmFsdWU6IFNreURhdGFNYW5hZ2VyQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy4jZGF0YU1hbmFnZXJDb25maWcubmV4dCh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIG9mIGRhdGEgdmlldyBjb25maWcgY2hhbmdlcyB0aGF0IHZpZXdzIGFuZCBvdGhlciBkYXRhIG1hbmFnZXIgZW50aXRpZXMgY2FuIHN1YnNjcmliZSB0by5cbiAgICovXG4gIHB1YmxpYyBnZXREYXRhVmlld3NVcGRhdGVzKCk6IE9ic2VydmFibGU8U2t5RGF0YVZpZXdDb25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLiN2aWV3cztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgb2YgdGhlIGFjdGl2ZSB2aWV3IElEIHRoYXQgdmlld3MgYW5kIG90aGVyIGRhdGEgbWFuYWdlciBlbnRpdGllcyBjYW4gc3Vic2NyaWJlIHRvLlxuICAgKi9cbiAgcHVibGljIGdldEFjdGl2ZVZpZXdJZFVwZGF0ZXMoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy4jYWN0aXZlVmlld0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGFjdGl2ZSB2aWV3IElELiBUaGUgZGF0YSBtYW5hZ2VyIGNoYW5nZXMgdGhlIGRpc3BsYXllZCB2aWV3LlxuICAgKiBAcGFyYW0gaWQgVGhlIG5ldyBhY3RpdmUgdmlldyBJRC5cbiAgICovXG4gIHB1YmxpYyB1cGRhdGVBY3RpdmVWaWV3SWQoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI2FjdGl2ZVZpZXdJZC5uZXh0KGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBgU2t5RGF0YVZpZXdDb25maWdgIGZvciB0aGUgZ2l2ZW4gdmlldyBJRC5cbiAgICogQHBhcmFtIHZpZXdJZCBUaGUgSUQgb2YgdGhlIHZpZXcgY29uZmlnIHRvIGdldC5cbiAgICovXG4gIHB1YmxpYyBnZXRWaWV3QnlJZCh2aWV3SWQ6IHN0cmluZyk6IFNreURhdGFWaWV3Q29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjdXJyZW50Vmlld3M6IFNreURhdGFWaWV3Q29uZmlnW10gPSB0aGlzLiN2aWV3cy52YWx1ZTtcbiAgICBjb25zdCB2aWV3Q29uZmlnOiBTa3lEYXRhVmlld0NvbmZpZyB8IHVuZGVmaW5lZCA9IGN1cnJlbnRWaWV3cy5maW5kKFxuICAgICAgKHZpZXcpID0+IHZpZXcuaWQgPT09IHZpZXdJZCxcbiAgICApO1xuXG4gICAgcmV0dXJuIHZpZXdDb25maWc7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZ2l2ZW4gdmlldyBjb25maWcuIFRoZSByZWdpc3RlcmVkIHZpZXcgd2l0aCB0aGUgc2FtZSBJRCBpcyB1cGRhdGVkIHRvIHRoZVxuICAgKiBwcm92aWRlZCBjb25maWcsIHNvIGluY2x1ZGUgYWxsIHByb3BlcnRpZXMgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZXkgY2hhbmdlZC4gSWYgdGhlXG4gICAqIHZpZXcgd2FzIG5vdCBpbml0aWFsaXplZCBhbHJlYWR5LCBubyB1cGRhdGUgaGFwcGVucy5cbiAgICogQHBhcmFtIHZpZXcgVGhlIG5ldyBgU2t5RGF0YVZpZXdDb25maWdgIGNvbnRhaW5pbmcgYWxsIHByb3BlcnRpZXMuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlVmlld0NvbmZpZyh2aWV3OiBTa3lEYXRhVmlld0NvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRWaWV3czogU2t5RGF0YVZpZXdDb25maWdbXSA9IHRoaXMuI3ZpZXdzLnZhbHVlO1xuICAgIGNvbnN0IGV4aXN0aW5nVmlld0luZGV4ID0gY3VycmVudFZpZXdzLmZpbmRJbmRleChcbiAgICAgIChjdXJyZW50VmlldykgPT4gY3VycmVudFZpZXcuaWQgPT09IHZpZXcuaWQsXG4gICAgKTtcblxuICAgIGlmIChleGlzdGluZ1ZpZXdJbmRleCA9PT0gLTEpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0EgdmlldyB3aXRoIHRoZSBpZCB7aWR9IGRvZXMgbm90IGV4aXN0LicsIHZpZXcuaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyZW50Vmlld3NbZXhpc3RpbmdWaWV3SW5kZXhdID0gdmlldztcbiAgICAgIHRoaXMuI3ZpZXdzLm5leHQoY3VycmVudFZpZXdzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2V0Vmlld2tlZXBlckNsYXNzZXModmlld0lkOiBzdHJpbmcsIGNsYXNzZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgY29uc3Qgdmlld2tlZXBlckNsYXNzZXMgPSB0aGlzLnZpZXdrZWVwZXJDbGFzc2VzLnZhbHVlO1xuICAgIHZpZXdrZWVwZXJDbGFzc2VzW3ZpZXdJZF0gPSBjbGFzc2VzO1xuXG4gICAgdGhpcy52aWV3a2VlcGVyQ2xhc3Nlcy5uZXh0KHZpZXdrZWVwZXJDbGFzc2VzKTtcbiAgfVxuXG4gICNmaWx0ZXJEYXRhU3RhdGVQcm9wZXJ0aWVzKFxuICAgIHN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlLFxuICAgIHByb3BlcnRpZXM6IChrZXlvZiBTa3lEYXRhTWFuYWdlclN0YXRlT3B0aW9ucylbXSB8IHVuZGVmaW5lZCxcbiAgKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIGNvbnN0IHN0YXRlUHJvcGVydGllcyA9IHN0YXRlLmdldFN0YXRlT3B0aW9ucygpO1xuICAgIGNvbnN0IGZpbHRlcmVkU3RhdGVQcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuXG4gICAgaWYgKHByb3BlcnRpZXMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xuICAgICAgICBpZiAocHJvcGVydHkgaW4gc3RhdGVQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgZmlsdGVyZWRTdGF0ZVByb3BlcnRpZXNbcHJvcGVydHldID0gc3RhdGVQcm9wZXJ0aWVzW3Byb3BlcnR5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmaWx0ZXJlZFN0YXRlUHJvcGVydGllcztcbiAgfVxuXG4gICNnZXREZWZhdWx0U3RhdGVDb21wYXJhdG9yKFxuICAgIHByb3BlcnRpZXM6IChrZXlvZiBTa3lEYXRhTWFuYWdlclN0YXRlT3B0aW9ucylbXSB8IHVuZGVmaW5lZCxcbiAgKTogKHN0YXRlMTogU2t5RGF0YU1hbmFnZXJTdGF0ZSwgc3RhdGUyOiBTa3lEYXRhTWFuYWdlclN0YXRlKSA9PiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgc3RhdGUxOiBTa3lEYXRhTWFuYWdlclN0YXRlLFxuICAgICAgc3RhdGUyOiBTa3lEYXRhTWFuYWdlclN0YXRlLFxuICAgICk6IGJvb2xlYW4gPT4ge1xuICAgICAgY29uc3QgZmlsdGVyZWRTdGF0ZTEgPSB0aGlzLiNmaWx0ZXJEYXRhU3RhdGVQcm9wZXJ0aWVzKFxuICAgICAgICBzdGF0ZTEsXG4gICAgICAgIHByb3BlcnRpZXMsXG4gICAgICApO1xuICAgICAgY29uc3QgZmlsdGVyZWRTdGF0ZTIgPSB0aGlzLiNmaWx0ZXJEYXRhU3RhdGVQcm9wZXJ0aWVzKFxuICAgICAgICBzdGF0ZTIsXG4gICAgICAgIHByb3BlcnRpZXMsXG4gICAgICApO1xuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZpbHRlcmVkU3RhdGUxKSA9PT0gSlNPTi5zdHJpbmdpZnkoZmlsdGVyZWRTdGF0ZTIpO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
|