@skyux/data-manager 11.43.1 → 11.45.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.
@@ -154,7 +154,7 @@ export class SkyDataManagerColumnPickerComponent {
154
154
  return formattedColumnOptions;
155
155
  }
156
156
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyDataManagerColumnPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
157
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyDataManagerColumnPickerComponent, isStandalone: true, selector: "sky-data-manager-column-picker", providers: [SkyDataManagerService], ngImport: i0, template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_data_manager_column_picker_title' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content class=\"sky-data-manager-column-picker-content\">\n <sky-data-manager>\n <sky-data-manager-toolbar />\n\n <sky-data-view [viewId]=\"viewConfig.id\">\n <sky-repeater expandMode=\"none\">\n @for (column of displayedColumnData; track column) {\n <sky-repeater-item\n [selectable]=\"true\"\n [(isSelected)]=\"column.isSelected\"\n (isSelectedChange)=\"onIsSelectedChange()\"\n >\n <sky-repeater-item-title>\n {{ column.label }}\n </sky-repeater-item-title>\n <sky-repeater-item-content>\n {{ column.description }}\n </sky-repeater-item-content>\n </sky-repeater-item>\n }\n </sky-repeater>\n </sky-data-view>\n </sky-data-manager>\n </sky-modal-content>\n <sky-modal-footer>\n @if (!isAnyDisplayedColumnSelected) {\n <div class=\"sky-data-manager-column-picker-footer-stacked-indicator\">\n <sky-status-indicator descriptionType=\"error\" indicatorType=\"danger\">\n {{\n 'skyux_data_manager_select_column_status_indicator_title'\n | skyLibResources\n }}\n </sky-status-indicator>\n </div>\n }\n <button\n sky-cmp-id=\"apply-changes\"\n class=\"sky-btn sky-btn-primary\"\n type=\"button\"\n [disabled]=\"!isAnyDisplayedColumnSelected\"\n (click)=\"applyChanges()\"\n >\n {{ 'skyux_data_manager_apply_changes_button_title' | skyLibResources }}\n </button>\n <button\n sky-cmp-id=\"cancel\"\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"cancelChanges()\"\n >\n {{ 'skyux_data_manager_cancel_button_title' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-data-manager-column-picker-content sky-repeater-item-content{margin-top:5px}.sky-data-manager-column-picker-footer-stacked-indicator{margin:0 5px 10px 0}\n"], dependencies: [{ kind: "component", type: SkyDataManagerComponent, selector: "sky-data-manager" }, { kind: "ngmodule", type: SkyDataManagerResourcesModule }, { kind: "pipe", type: i1.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "component", type: SkyDataManagerToolbarComponent, selector: "sky-data-manager-toolbar" }, { kind: "component", type: SkyDataViewComponent, selector: "sky-data-view", inputs: ["viewId"] }, { kind: "ngmodule", type: SkyModalModule }, { kind: "component", type: i2.λ5, selector: "sky-modal", inputs: ["formErrors", "headingText", "helpKey", "helpPopoverContent", "helpPopoverTitle", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i2.λ2, selector: "sky-modal-content" }, { kind: "component", type: i2.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i2.λ4, selector: "sky-modal-header" }, { kind: "ngmodule", type: SkyRepeaterModule }, { kind: "component", type: i3.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i3.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i3.λ8, selector: "sky-repeater-item-content" }, { kind: "component", type: i3.λ12, selector: "sky-repeater-item-title" }, { kind: "ngmodule", type: SkyStatusIndicatorModule }, { kind: "component", type: i4.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription", "helpPopoverContent", "helpPopoverTitle", "helpKey"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
157
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyDataManagerColumnPickerComponent, isStandalone: true, selector: "sky-data-manager-column-picker", providers: [SkyDataManagerService], ngImport: i0, template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_data_manager_column_picker_title' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content class=\"sky-data-manager-column-picker-content\">\n <sky-data-manager>\n <sky-data-manager-toolbar />\n\n <sky-data-view [viewId]=\"viewConfig.id\">\n <sky-repeater expandMode=\"none\">\n @for (column of displayedColumnData; track column) {\n <sky-repeater-item\n [selectable]=\"true\"\n [(isSelected)]=\"column.isSelected\"\n (isSelectedChange)=\"onIsSelectedChange()\"\n >\n <sky-repeater-item-title>\n {{ column.label }}\n </sky-repeater-item-title>\n <sky-repeater-item-content>\n {{ column.description }}\n </sky-repeater-item-content>\n </sky-repeater-item>\n }\n </sky-repeater>\n </sky-data-view>\n </sky-data-manager>\n </sky-modal-content>\n <sky-modal-footer>\n @if (!isAnyDisplayedColumnSelected) {\n <div class=\"sky-data-manager-column-picker-footer-stacked-indicator\">\n <sky-status-indicator descriptionType=\"error\" indicatorType=\"danger\">\n {{\n 'skyux_data_manager_select_column_status_indicator_title'\n | skyLibResources\n }}\n </sky-status-indicator>\n </div>\n }\n <button\n sky-cmp-id=\"apply-changes\"\n class=\"sky-btn sky-btn-primary\"\n type=\"button\"\n [disabled]=\"!isAnyDisplayedColumnSelected\"\n (click)=\"applyChanges()\"\n >\n {{ 'skyux_data_manager_apply_changes_button_title' | skyLibResources }}\n </button>\n <button\n sky-cmp-id=\"cancel\"\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"cancelChanges()\"\n >\n {{ 'skyux_data_manager_cancel_button_title' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-data-manager-column-picker-content sky-repeater-item-content{margin-top:5px}.sky-data-manager-column-picker-footer-stacked-indicator{margin:0 5px 10px 0}\n"], dependencies: [{ kind: "component", type: SkyDataManagerComponent, selector: "sky-data-manager" }, { kind: "ngmodule", type: SkyDataManagerResourcesModule }, { kind: "pipe", type: i1.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "component", type: SkyDataManagerToolbarComponent, selector: "sky-data-manager-toolbar" }, { kind: "component", type: SkyDataViewComponent, selector: "sky-data-view", inputs: ["viewId"] }, { kind: "ngmodule", type: SkyModalModule }, { kind: "component", type: i2.λ5, selector: "sky-modal", inputs: ["formErrors", "headingText", "helpKey", "helpPopoverContent", "helpPopoverTitle", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy", "layout"] }, { kind: "component", type: i2.λ2, selector: "sky-modal-content" }, { kind: "component", type: i2.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i2.λ4, selector: "sky-modal-header" }, { kind: "ngmodule", type: SkyRepeaterModule }, { kind: "component", type: i3.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i3.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i3.λ8, selector: "sky-repeater-item-content" }, { kind: "component", type: i3.λ12, selector: "sky-repeater-item-title" }, { kind: "ngmodule", type: SkyStatusIndicatorModule }, { kind: "component", type: i4.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription", "helpPopoverContent", "helpPopoverTitle", "helpKey"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
158
158
  }
159
159
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyDataManagerColumnPickerComponent, decorators: [{
160
160
  type: Component,
@@ -168,4 +168,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
168
168
  SkyStatusIndicatorModule,
169
169
  ], template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_data_manager_column_picker_title' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content class=\"sky-data-manager-column-picker-content\">\n <sky-data-manager>\n <sky-data-manager-toolbar />\n\n <sky-data-view [viewId]=\"viewConfig.id\">\n <sky-repeater expandMode=\"none\">\n @for (column of displayedColumnData; track column) {\n <sky-repeater-item\n [selectable]=\"true\"\n [(isSelected)]=\"column.isSelected\"\n (isSelectedChange)=\"onIsSelectedChange()\"\n >\n <sky-repeater-item-title>\n {{ column.label }}\n </sky-repeater-item-title>\n <sky-repeater-item-content>\n {{ column.description }}\n </sky-repeater-item-content>\n </sky-repeater-item>\n }\n </sky-repeater>\n </sky-data-view>\n </sky-data-manager>\n </sky-modal-content>\n <sky-modal-footer>\n @if (!isAnyDisplayedColumnSelected) {\n <div class=\"sky-data-manager-column-picker-footer-stacked-indicator\">\n <sky-status-indicator descriptionType=\"error\" indicatorType=\"danger\">\n {{\n 'skyux_data_manager_select_column_status_indicator_title'\n | skyLibResources\n }}\n </sky-status-indicator>\n </div>\n }\n <button\n sky-cmp-id=\"apply-changes\"\n class=\"sky-btn sky-btn-primary\"\n type=\"button\"\n [disabled]=\"!isAnyDisplayedColumnSelected\"\n (click)=\"applyChanges()\"\n >\n {{ 'skyux_data_manager_apply_changes_button_title' | skyLibResources }}\n </button>\n <button\n sky-cmp-id=\"cancel\"\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"cancelChanges()\"\n >\n {{ 'skyux_data_manager_cancel_button_title' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-data-manager-column-picker-content sky-repeater-item-content{margin-top:5px}.sky-data-manager-column-picker-footer-stacked-indicator{margin:0 5px 10px 0}\n"] }]
170
170
  }] });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFHVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDL0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDeEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FB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QUFzQixHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FDcEQsdUJBQXVCLENBQ3hCLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDOytHQTlLVSxtQ0FBbUM7bUdBQW5DLG1DQUFtQyw2RUFabkMsQ0FBQyxxQkFBcUIsQ0FBQywwQkN6Q3BDLHc4REEwREEsME5EZEksdUJBQXVCLDREQUN2Qiw2QkFBNkIsd0dBQzdCLDhCQUE4QixxRUFDOUIsb0JBQW9CLDZFQUNwQixjQUFjLDBiQUNkLGlCQUFpQiw4b0JBQ2pCLHdCQUF3Qjs7NEZBR2YsbUNBQW1DO2tCQWpCL0MsU0FBUztpQ0FDSSxJQUFJLFlBQ04sZ0NBQWdDLGFBRy9CLENBQUMscUJBQXFCLENBQUMsbUJBQ2pCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLDhCQUE4Qjt3QkFDOUIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsd0JBQXdCO3FCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5U3RhdHVzSW5kaWNhdG9yTW9kdWxlIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMnO1xuaW1wb3J0IHsgU2t5UmVwZWF0ZXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGlzdHMnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSwgU2t5TW9kYWxNb2R1bGUgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9za3ktZGF0YS1tYW5hZ2VyLXJlc291cmNlcy5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9kYXRhLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lEYXRhVmlld0NvbXBvbmVudCB9IGZyb20gJy4uL2RhdGEtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItb3B0aW9uJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU29ydFN0cmF0ZWd5IH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLXNvcnQtc3RyYXRlZ3knO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZSB9IGZyb20gJy4uL21vZGVscy9kYXRhLW1hbmFnZXItc3RhdGUnO1xuaW1wb3J0IHsgU2t5RGF0YVZpZXdDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS12aWV3LWNvbmZpZyc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29udGV4dCB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItY29udGV4dCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmludGVyZmFjZSBDb2x1bW4gZXh0ZW5kcyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlck9wdGlvbiB7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NreS1kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreURhdGFNYW5hZ2VyU2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgU2t5RGF0YU1hbmFnZXJDb21wb25lbnQsXG4gICAgU2t5RGF0YU1hbmFnZXJSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50LFxuICAgIFNreURhdGFWaWV3Q29tcG9uZW50LFxuICAgIFNreU1vZGFsTW9kdWxlLFxuICAgIFNreVJlcGVhdGVyTW9kdWxlLFxuICAgIFNreVN0YXR1c0luZGljYXRvck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHB1YmxpYyBnZXQgZGF0YVN0YXRlKCk6IFNreURhdGFNYW5hZ2VyU3RhdGUge1xuICAgIHJldHVybiB0aGlzLiNfZGF0YVN0YXRlO1xuICB9XG5cbiAgcHVibGljIHNldCBkYXRhU3RhdGUodmFsdWU6IFNreURhdGFNYW5hZ2VyU3RhdGUpIHtcbiAgICB0aGlzLiNfZGF0YVN0YXRlID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVEYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgY29sdW1uRGF0YTogQ29sdW1uW10gPSBbXTtcbiAgcHVibGljIGRpc3BsYXllZENvbHVtbkRhdGE6IENvbHVtbltdID0gW107XG4gIHB1YmxpYyB2aWV3Q29uZmlnOiBTa3lEYXRhVmlld0NvbmZpZyA9IHtcbiAgICBpZDogJ2NvbHVtblBpY2tlcicsXG4gICAgbmFtZTogJ0NvbHVtbiBQaWNrZXInLFxuICAgIHNlYXJjaEVuYWJsZWQ6IHRydWUsXG4gICAgc2VhcmNoRXhwYW5kTW9kZTogJ2ZpdCcsXG4gICAgbXVsdGlzZWxlY3RUb29sYmFyRW5hYmxlZDogdHJ1ZSxcbiAgICBvblNlbGVjdEFsbENsaWNrOiB0aGlzLnNlbGVjdEFsbC5iaW5kKHRoaXMpLFxuICAgIG9uQ2xlYXJBbGxDbGljazogdGhpcy5jbGVhckFsbC5iaW5kKHRoaXMpLFxuICB9O1xuXG4gIHB1YmxpYyBpc0FueURpc3BsYXllZENvbHVtblNlbGVjdGVkID0gZmFsc2U7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfZGF0YVN0YXRlID0gbmV3IFNreURhdGFNYW5hZ2VyU3RhdGUoe30pO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb250ZXh0ID0gaW5qZWN0KFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29udGV4dCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBkYXRhTWFuYWdlclNlcnZpY2UgPSBpbmplY3QoU2t5RGF0YU1hbmFnZXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGluc3RhbmNlID0gaW5qZWN0KFNreU1vZGFsSW5zdGFuY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFNYW5hZ2VyU2VydmljZS5pbml0RGF0YU1hbmFnZXIoe1xuICAgICAgYWN0aXZlVmlld0lkOiB0aGlzLnZpZXdDb25maWcuaWQsXG4gICAgICBkYXRhTWFuYWdlckNvbmZpZzoge30sXG4gICAgICBkZWZhdWx0RGF0YVN0YXRlOiB0aGlzLmRhdGFTdGF0ZSxcbiAgICB9KTtcbiAgICB0aGlzLmRhdGFNYW5hZ2VyU2VydmljZS5pbml0RGF0YVZpZXcodGhpcy52aWV3Q29uZmlnKTtcblxuICAgIHRoaXMuY29sdW1uRGF0YSA9IHRoaXMuI2Zvcm1hdENvbHVtbk9wdGlvbnMoKTtcblxuICAgIHRoaXMuZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVN0YXRlVXBkYXRlcygnY29sdW1uUGlja2VyJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YVN0YXRlID0gc3RhdGU7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbkRhdGEgPSB0aGlzLnNlYXJjaENvbHVtbnMoXG4gICAgICB0aGlzLmNvbHVtbkRhdGEuZmlsdGVyKChjb2wpID0+ICFjb2wuYWx3YXlzRGlzcGxheWVkKSxcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuZGF0YVN0YXRlLm9ubHlTaG93U2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1uRGF0YSA9IHRoaXMuZGlzcGxheWVkQ29sdW1uRGF0YS5maWx0ZXIoXG4gICAgICAgIChjb2wpID0+IGNvbC5pc1NlbGVjdGVkLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmlzQW55RGlzcGxheWVkQ29sdW1uU2VsZWN0ZWQgPSB0aGlzLmRpc3BsYXllZENvbHVtbkRhdGEuc29tZShcbiAgICAgIChjb2wpID0+IGNvbC5pc1NlbGVjdGVkLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoQ29sdW1ucyhjb2x1bW5zOiBDb2x1bW5bXSk6IENvbHVtbltdIHtcbiAgICBsZXQgc2VhcmNoZWRDb2x1bW5zID0gY29sdW1ucztcbiAgICBjb25zdCBzZWFyY2hUZXh0ID1cbiAgICAgIHRoaXMuZGF0YVN0YXRlICYmIHRoaXMuZGF0YVN0YXRlLnNlYXJjaFRleHQ/LnRvVXBwZXJDYXNlKCk7XG5cbiAgICBpZiAoc2VhcmNoVGV4dCkge1xuICAgICAgc2VhcmNoZWRDb2x1bW5zID0gY29sdW1ucy5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBpdGVtKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sIHByb3BlcnR5KSAmJlxuICAgICAgICAgICAgKHByb3BlcnR5ID09PSAnbGFiZWwnIHx8IHByb3BlcnR5ID09PSAnZGVzY3JpcHRpb24nKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgcHJvcGVydHlUZXh0ID0gaXRlbVtwcm9wZXJ0eV0/LnRvVXBwZXJDYXNlKCk7XG4gICAgICAgICAgICBpZiAocHJvcGVydHlUZXh0ICYmIHByb3BlcnR5VGV4dC5pbmRleE9mKHNlYXJjaFRleHQpID4gLTEpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBzZWFyY2hlZENvbHVtbnM7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1uRGF0YS5mb3JFYWNoKChjb2x1bW4pID0+IChjb2x1bW4uaXNTZWxlY3RlZCA9IHRydWUpKTtcbiAgICB0aGlzLnVwZGF0ZURhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbkRhdGEuZm9yRWFjaCgoY29sdW1uKSA9PiAoY29sdW1uLmlzU2VsZWN0ZWQgPSBmYWxzZSkpO1xuICAgIHRoaXMudXBkYXRlRGF0YSgpO1xuICB9XG5cbiAgcHVibGljIG9uSXNTZWxlY3RlZENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZURhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuaW5zdGFuY2UuY2FuY2VsKCk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZChpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY29udGV4dC5kaXNwbGF5ZWRDb2x1bW5JZHMuZmluZEluZGV4KChjb2xJZCkgPT4gY29sSWQgPT09IGlkKSAhPT0gLTFcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFwcGx5Q2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmluc3RhbmNlLnNhdmUoXG4gICAgICB0aGlzLmNvbHVtbkRhdGEuZmlsdGVyKChjb2wpID0+IGNvbC5pc1NlbGVjdGVkIHx8IGNvbC5hbHdheXNEaXNwbGF5ZWQpLFxuICAgICk7XG4gIH1cblxuICAjZm9ybWF0Q29sdW1uT3B0aW9ucygpOiBDb2x1bW5bXSB7XG4gICAgY29uc3QgYWxsQ29sdW1uT3B0aW9ucyA9IHRoaXMuY29udGV4dC5jb2x1bW5PcHRpb25zO1xuICAgIGNvbnN0IHZpc2libGVDb2x1bW5JZHMgPSB0aGlzLmNvbnRleHQuZGlzcGxheWVkQ29sdW1uSWRzO1xuICAgIGxldCBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zOiBDb2x1bW5bXSA9IFtdO1xuICAgIGNvbnN0IHVuc2VsZWN0ZWRDb2x1bW5PcHRpb25zOiBDb2x1bW5bXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBjb2x1bW5PcHRpb24gb2YgYWxsQ29sdW1uT3B0aW9ucykge1xuICAgICAgLy8gZm9ybWF0IHRoZSBjb2x1bW4gd2l0aCB0aGUgcHJvcGVydGllcyB0aGUgY29sdW1uIHBpY2tlciBuZWVkc1xuICAgICAgY29uc3QgY29sSW5kZXggPSB2aXNpYmxlQ29sdW1uSWRzLmluZGV4T2YoY29sdW1uT3B0aW9uLmlkKTtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZENvbHVtbjogQ29sdW1uID0ge1xuICAgICAgICBhbHdheXNEaXNwbGF5ZWQ6IGNvbHVtbk9wdGlvbi5hbHdheXNEaXNwbGF5ZWQsXG4gICAgICAgIGlkOiBjb2x1bW5PcHRpb24uaWQsXG4gICAgICAgIGxhYmVsOiBjb2x1bW5PcHRpb24ubGFiZWwsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBjb2x1bW5PcHRpb24uZGVzY3JpcHRpb24sXG4gICAgICAgIGlzU2VsZWN0ZWQ6IGNvbEluZGV4ICE9PSAtMSxcbiAgICAgIH07XG5cbiAgICAgIC8vIGlmIGNvbHVtbiBwaWNrZXIgc29ydGluZyBpcyBjdXJyZW50bHkgZW5hYmxlZCBzb3J0IGNvbHVtbnMgYnkgb3JkZXIgZGlzcGxheWVkIHRoZW4gYWxwaGFiZXRpY2FsXG4gICAgICAvLyBlbHNlIGRpc3BsYXkgY29sdW1uIGluIG9yZGVyIHRoZXkgd2VyZSBzcGVjaWZpZWQgaW4gdGhlIGNvbHVtbk9wdGlvbnNcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5jb250ZXh0LmNvbHVtblBpY2tlclNvcnRTdHJhdGVneSA9PT1cbiAgICAgICAgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJTb3J0U3RyYXRlZ3kuU2VsZWN0ZWRUaGVuQWxwaGFiZXRpY2FsXG4gICAgICApIHtcbiAgICAgICAgaWYgKGZvcm1hdHRlZENvbHVtbi5pc1NlbGVjdGVkKSB7XG4gICAgICAgICAgZm9ybWF0dGVkQ29sdW1uT3B0aW9uc1tjb2xJbmRleF0gPSBmb3JtYXR0ZWRDb2x1bW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdW5zZWxlY3RlZENvbHVtbk9wdGlvbnMucHVzaChmb3JtYXR0ZWRDb2x1bW4pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zLnB1c2goZm9ybWF0dGVkQ29sdW1uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpZiBjb2x1bW4gcGlja2VyIHNvcnRpbmcgaXMgZW5hYmxlZCwgc29ydCB0aGUgY29sdW1ucyB0aGF0IGFyZSBub3QgY3VycmVudGx5IGRpc3BsYXllZFxuICAgIC8vIGFuZCBhZGQgdGhlbSBhZnRlciB0aGUgY3VycmVudGx5IGRpc3BsYXllZCBvcHRpb25zXG4gICAgaWYgKFxuICAgICAgdGhpcy5jb250ZXh0LmNvbHVtblBpY2tlclNvcnRTdHJhdGVneSA9PT1cbiAgICAgIFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU29ydFN0cmF0ZWd5LlNlbGVjdGVkVGhlbkFscGhhYmV0aWNhbFxuICAgICkge1xuICAgICAgdW5zZWxlY3RlZENvbHVtbk9wdGlvbnMuc29ydCgoY29sMSwgY29sMikgPT5cbiAgICAgICAgY29sMS5sYWJlbC5sb2NhbGVDb21wYXJlKGNvbDIubGFiZWwpLFxuICAgICAgKTtcbiAgICAgIGZvcm1hdHRlZENvbHVtbk9wdGlvbnMgPSBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zLmNvbmNhdChcbiAgICAgICAgdW5zZWxlY3RlZENvbHVtbk9wdGlvbnMsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zO1xuICB9XG59XG4iLCI8c2t5LW1vZGFsPlxuICA8c2t5LW1vZGFsLWhlYWRlcj5cbiAgICB7eyAnc2t5dXhfZGF0YV9tYW5hZ2VyX2NvbHVtbl9waWNrZXJfdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gIDwvc2t5LW1vZGFsLWhlYWRlcj5cbiAgPHNreS1tb2RhbC1jb250ZW50IGNsYXNzPVwic2t5LWRhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLWNvbnRlbnRcIj5cbiAgICA8c2t5LWRhdGEtbWFuYWdlcj5cbiAgICAgIDxza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXIgLz5cblxuICAgICAgPHNreS1kYXRhLXZpZXcgW3ZpZXdJZF09XCJ2aWV3Q29uZmlnLmlkXCI+XG4gICAgICAgIDxza3ktcmVwZWF0ZXIgZXhwYW5kTW9kZT1cIm5vbmVcIj5cbiAgICAgICAgICBAZm9yIChjb2x1bW4gb2YgZGlzcGxheWVkQ29sdW1uRGF0YTsgdHJhY2sgY29sdW1uKSB7XG4gICAgICAgICAgICA8c2t5LXJlcGVhdGVyLWl0ZW1cbiAgICAgICAgICAgICAgW3NlbGVjdGFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFsoaXNTZWxlY3RlZCldPVwiY29sdW1uLmlzU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAoaXNTZWxlY3RlZENoYW5nZSk9XCJvbklzU2VsZWN0ZWRDaGFuZ2UoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxza3ktcmVwZWF0ZXItaXRlbS10aXRsZT5cbiAgICAgICAgICAgICAgICB7eyBjb2x1bW4ubGFiZWwgfX1cbiAgICAgICAgICAgICAgPC9za3ktcmVwZWF0ZXItaXRlbS10aXRsZT5cbiAgICAgICAgICAgICAgPHNreS1yZXBlYXRlci1pdGVtLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAge3sgY29sdW1uLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICAgIDwvc2t5LXJlcGVhdGVyLWl0ZW0tY29udGVudD5cbiAgICAgICAgICAgIDwvc2t5LXJlcGVhdGVyLWl0ZW0+XG4gICAgICAgICAgfVxuICAgICAgICA8L3NreS1yZXBlYXRlcj5cbiAgICAgIDwvc2t5LWRhdGEtdmlldz5cbiAgICA8L3NreS1kYXRhLW1hbmFnZXI+XG4gIDwvc2t5LW1vZGFsLWNvbnRlbnQ+XG4gIDxza3ktbW9kYWwtZm9vdGVyPlxuICAgIEBpZiAoIWlzQW55RGlzcGxheWVkQ29sdW1uU2VsZWN0ZWQpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJza3ktZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItZm9vdGVyLXN0YWNrZWQtaW5kaWNhdG9yXCI+XG4gICAgICAgIDxza3ktc3RhdHVzLWluZGljYXRvciBkZXNjcmlwdGlvblR5cGU9XCJlcnJvclwiIGluZGljYXRvclR5cGU9XCJkYW5nZXJcIj5cbiAgICAgICAgICB7e1xuICAgICAgICAgICAgJ3NreXV4X2RhdGFfbWFuYWdlcl9zZWxlY3RfY29sdW1uX3N0YXR1c19pbmRpY2F0b3JfdGl0bGUnXG4gICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgfX1cbiAgICAgICAgPC9za3ktc3RhdHVzLWluZGljYXRvcj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8YnV0dG9uXG4gICAgICBza3ktY21wLWlkPVwiYXBwbHktY2hhbmdlc1wiXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1wcmltYXJ5XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2Rpc2FibGVkXT1cIiFpc0FueURpc3BsYXllZENvbHVtblNlbGVjdGVkXCJcbiAgICAgIChjbGljayk9XCJhcHBseUNoYW5nZXMoKVwiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X2RhdGFfbWFuYWdlcl9hcHBseV9jaGFuZ2VzX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBza3ktY21wLWlkPVwiY2FuY2VsXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmtcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAoY2xpY2spPVwiY2FuY2VsQ2hhbmdlcygpXCJcbiAgICA+XG4gICAgICB7eyAnc2t5dXhfZGF0YV9tYW5hZ2VyX2NhbmNlbF9idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9idXR0b24+XG4gIDwvc2t5LW1vZGFsLWZvb3Rlcj5cbjwvc2t5LW1vZGFsPlxuIl19
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFHVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDL0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDeEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUQsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDNUcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHbkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQVN6Rjs7R0FFRztBQWtCSCxNQUFNLE9BQU8sbUNBQW1DO0lBakJoRDtRQTJCUyxlQUFVLEdBQWEsRUFBRSxDQUFDO1FBQzFCLHdCQUFtQixHQUFhLEVBQUUsQ0FBQztRQUNuQyxlQUFVLEdBQXNCO1lBQ3JDLEVBQUUsRUFBRSxjQUFjO1lBQ2xCLElBQUksRUFBRSxlQUFlO1lBQ3JCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIseUJBQXlCLEVBQUUsSUFBSTtZQUMvQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDM0MsZUFBZSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUMxQyxDQUFDO1FBRUssaUNBQTRCLEdBQUcsS0FBSyxDQUFDO1FBRTVDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVyQyxnQkFBVyxHQUFHLElBQUksbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFMUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQ2pELHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ25ELGFBQVEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQWlKeEQ7SUE5S0MsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxTQUFTLENBQUMsS0FBMEI7UUFDN0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFnQkQsY0FBYyxDQUF1QjtJQUVyQyxXQUFXLENBQStCO0lBTW5DLFFBQVE7UUFDYixJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDO1lBQ3RDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDaEMsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUztTQUNqQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRTlDLElBQUksQ0FBQyxrQkFBa0I7YUFDcEIsbUJBQW1CLENBQUMsY0FBYyxDQUFDO2FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FDdEQsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUN4RCxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FDeEIsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDL0QsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQ3hCLENBQUM7SUFDSixDQUFDO0lBRU0sYUFBYSxDQUFDLE9BQWlCO1FBQ3BDLElBQUksZUFBZSxHQUFHLE9BQU8sQ0FBQztRQUM5QixNQUFNLFVBQVUsR0FDZCxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBRTdELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixlQUFlLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN4QyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO29CQUM1QixJQUNFLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDO3dCQUNwRCxDQUFDLFFBQVEsS0FBSyxPQUFPLElBQUksUUFBUSxLQUFLLGFBQWEsQ0FBQyxFQUNwRCxDQUFDO3dCQUNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQzt3QkFDbkQsSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDOzRCQUMxRCxPQUFPLElBQUksQ0FBQzt3QkFDZCxDQUFDO29CQUNILENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxFQUFVO1FBQzFCLE9BQU8sQ0FDTCxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUMxRSxDQUFDO0lBQ0osQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FDdkUsQ0FBQztJQUNKLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUNwRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7UUFDekQsSUFBSSxzQkFBc0IsR0FBYSxFQUFFLENBQUM7UUFDMUMsTUFBTSx1QkFBdUIsR0FBYSxFQUFFLENBQUM7UUFFN0MsS0FBSyxNQUFNLFlBQVksSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQzVDLGdFQUFnRTtZQUNoRSxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNELE1BQU0sZUFBZSxHQUFXO2dCQUM5QixlQUFlLEVBQUUsWUFBWSxDQUFDLGVBQWU7Z0JBQzdDLEVBQUUsRUFBRSxZQUFZLENBQUMsRUFBRTtnQkFDbkIsS0FBSyxFQUFFLFlBQVksQ0FBQyxLQUFLO2dCQUN6QixXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVc7Z0JBQ3JDLFVBQVUsRUFBRSxRQUFRLEtBQUssQ0FBQyxDQUFDO2FBQzVCLENBQUM7WUFFRixrR0FBa0c7WUFDbEcsd0VBQXdFO1lBQ3hFLElBQ0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0I7Z0JBQ3JDLHNDQUFzQyxDQUFDLHdCQUF3QixFQUMvRCxDQUFDO2dCQUNELElBQUksZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUMvQixzQkFBc0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxlQUFlLENBQUM7Z0JBQ3JELENBQUM7cUJBQU0sQ0FBQztvQkFDTix1QkFBdUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ2hELENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sc0JBQXNCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQy9DLENBQUM7UUFDSCxDQUFDO1FBRUQseUZBQXlGO1FBQ3pGLHFEQUFxRDtRQUNyRCxJQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCO1lBQ3JDLHNDQUFzQyxDQUFDLHdCQUF3QixFQUMvRCxDQUFDO1lBQ0QsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDckMsQ0FBQztZQUNGLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FDcEQsdUJBQXVCLENBQ3hCLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDOytHQTlLVSxtQ0FBbUM7bUdBQW5DLG1DQUFtQyw2RUFabkMsQ0FBQyxxQkFBcUIsQ0FBQywwQkN6Q3BDLHc4REEwREEsME5EZEksdUJBQXVCLDREQUN2Qiw2QkFBNkIsd0dBQzdCLDhCQUE4QixxRUFDOUIsb0JBQW9CLDZFQUNwQixjQUFjLG9jQUNkLGlCQUFpQiw4b0JBQ2pCLHdCQUF3Qjs7NEZBR2YsbUNBQW1DO2tCQWpCL0MsU0FBUztpQ0FDSSxJQUFJLFlBQ04sZ0NBQWdDLGFBRy9CLENBQUMscUJBQXFCLENBQUMsbUJBQ2pCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLDhCQUE4Qjt3QkFDOUIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsd0JBQXdCO3FCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5U3RhdHVzSW5kaWNhdG9yTW9kdWxlIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMnO1xuaW1wb3J0IHsgU2t5UmVwZWF0ZXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGlzdHMnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSwgU2t5TW9kYWxNb2R1bGUgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9za3ktZGF0YS1tYW5hZ2VyLXJlc291cmNlcy5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9kYXRhLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lEYXRhVmlld0NvbXBvbmVudCB9IGZyb20gJy4uL2RhdGEtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItb3B0aW9uJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU29ydFN0cmF0ZWd5IH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLXNvcnQtc3RyYXRlZ3knO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZSB9IGZyb20gJy4uL21vZGVscy9kYXRhLW1hbmFnZXItc3RhdGUnO1xuaW1wb3J0IHsgU2t5RGF0YVZpZXdDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS12aWV3LWNvbmZpZyc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29udGV4dCB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItY29udGV4dCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmludGVyZmFjZSBDb2x1bW4gZXh0ZW5kcyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlck9wdGlvbiB7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NreS1kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreURhdGFNYW5hZ2VyU2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgU2t5RGF0YU1hbmFnZXJDb21wb25lbnQsXG4gICAgU2t5RGF0YU1hbmFnZXJSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50LFxuICAgIFNreURhdGFWaWV3Q29tcG9uZW50LFxuICAgIFNreU1vZGFsTW9kdWxlLFxuICAgIFNreVJlcGVhdGVyTW9kdWxlLFxuICAgIFNreVN0YXR1c0luZGljYXRvck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHB1YmxpYyBnZXQgZGF0YVN0YXRlKCk6IFNreURhdGFNYW5hZ2VyU3RhdGUge1xuICAgIHJldHVybiB0aGlzLiNfZGF0YVN0YXRlO1xuICB9XG5cbiAgcHVibGljIHNldCBkYXRhU3RhdGUodmFsdWU6IFNreURhdGFNYW5hZ2VyU3RhdGUpIHtcbiAgICB0aGlzLiNfZGF0YVN0YXRlID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVEYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgY29sdW1uRGF0YTogQ29sdW1uW10gPSBbXTtcbiAgcHVibGljIGRpc3BsYXllZENvbHVtbkRhdGE6IENvbHVtbltdID0gW107XG4gIHB1YmxpYyB2aWV3Q29uZmlnOiBTa3lEYXRhVmlld0NvbmZpZyA9IHtcbiAgICBpZDogJ2NvbHVtblBpY2tlcicsXG4gICAgbmFtZTogJ0NvbHVtbiBQaWNrZXInLFxuICAgIHNlYXJjaEVuYWJsZWQ6IHRydWUsXG4gICAgc2VhcmNoRXhwYW5kTW9kZTogJ2ZpdCcsXG4gICAgbXVsdGlzZWxlY3RUb29sYmFyRW5hYmxlZDogdHJ1ZSxcbiAgICBvblNlbGVjdEFsbENsaWNrOiB0aGlzLnNlbGVjdEFsbC5iaW5kKHRoaXMpLFxuICAgIG9uQ2xlYXJBbGxDbGljazogdGhpcy5jbGVhckFsbC5iaW5kKHRoaXMpLFxuICB9O1xuXG4gIHB1YmxpYyBpc0FueURpc3BsYXllZENvbHVtblNlbGVjdGVkID0gZmFsc2U7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfZGF0YVN0YXRlID0gbmV3IFNreURhdGFNYW5hZ2VyU3RhdGUoe30pO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb250ZXh0ID0gaW5qZWN0KFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29udGV4dCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBkYXRhTWFuYWdlclNlcnZpY2UgPSBpbmplY3QoU2t5RGF0YU1hbmFnZXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGluc3RhbmNlID0gaW5qZWN0KFNreU1vZGFsSW5zdGFuY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFNYW5hZ2VyU2VydmljZS5pbml0RGF0YU1hbmFnZXIoe1xuICAgICAgYWN0aXZlVmlld0lkOiB0aGlzLnZpZXdDb25maWcuaWQsXG4gICAgICBkYXRhTWFuYWdlckNvbmZpZzoge30sXG4gICAgICBkZWZhdWx0RGF0YVN0YXRlOiB0aGlzLmRhdGFTdGF0ZSxcbiAgICB9KTtcbiAgICB0aGlzLmRhdGFNYW5hZ2VyU2VydmljZS5pbml0RGF0YVZpZXcodGhpcy52aWV3Q29uZmlnKTtcblxuICAgIHRoaXMuY29sdW1uRGF0YSA9IHRoaXMuI2Zvcm1hdENvbHVtbk9wdGlvbnMoKTtcblxuICAgIHRoaXMuZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVN0YXRlVXBkYXRlcygnY29sdW1uUGlja2VyJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YVN0YXRlID0gc3RhdGU7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbkRhdGEgPSB0aGlzLnNlYXJjaENvbHVtbnMoXG4gICAgICB0aGlzLmNvbHVtbkRhdGEuZmlsdGVyKChjb2wpID0+ICFjb2wuYWx3YXlzRGlzcGxheWVkKSxcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuZGF0YVN0YXRlLm9ubHlTaG93U2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1uRGF0YSA9IHRoaXMuZGlzcGxheWVkQ29sdW1uRGF0YS5maWx0ZXIoXG4gICAgICAgIChjb2wpID0+IGNvbC5pc1NlbGVjdGVkLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmlzQW55RGlzcGxheWVkQ29sdW1uU2VsZWN0ZWQgPSB0aGlzLmRpc3BsYXllZENvbHVtbkRhdGEuc29tZShcbiAgICAgIChjb2wpID0+IGNvbC5pc1NlbGVjdGVkLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoQ29sdW1ucyhjb2x1bW5zOiBDb2x1bW5bXSk6IENvbHVtbltdIHtcbiAgICBsZXQgc2VhcmNoZWRDb2x1bW5zID0gY29sdW1ucztcbiAgICBjb25zdCBzZWFyY2hUZXh0ID1cbiAgICAgIHRoaXMuZGF0YVN0YXRlICYmIHRoaXMuZGF0YVN0YXRlLnNlYXJjaFRleHQ/LnRvVXBwZXJDYXNlKCk7XG5cbiAgICBpZiAoc2VhcmNoVGV4dCkge1xuICAgICAgc2VhcmNoZWRDb2x1bW5zID0gY29sdW1ucy5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBpdGVtKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sIHByb3BlcnR5KSAmJlxuICAgICAgICAgICAgKHByb3BlcnR5ID09PSAnbGFiZWwnIHx8IHByb3BlcnR5ID09PSAnZGVzY3JpcHRpb24nKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgcHJvcGVydHlUZXh0ID0gaXRlbVtwcm9wZXJ0eV0/LnRvVXBwZXJDYXNlKCk7XG4gICAgICAgICAgICBpZiAocHJvcGVydHlUZXh0ICYmIHByb3BlcnR5VGV4dC5pbmRleE9mKHNlYXJjaFRleHQpID4gLTEpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBzZWFyY2hlZENvbHVtbnM7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1uRGF0YS5mb3JFYWNoKChjb2x1bW4pID0+IChjb2x1bW4uaXNTZWxlY3RlZCA9IHRydWUpKTtcbiAgICB0aGlzLnVwZGF0ZURhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbkRhdGEuZm9yRWFjaCgoY29sdW1uKSA9PiAoY29sdW1uLmlzU2VsZWN0ZWQgPSBmYWxzZSkpO1xuICAgIHRoaXMudXBkYXRlRGF0YSgpO1xuICB9XG5cbiAgcHVibGljIG9uSXNTZWxlY3RlZENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZURhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuaW5zdGFuY2UuY2FuY2VsKCk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZChpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY29udGV4dC5kaXNwbGF5ZWRDb2x1bW5JZHMuZmluZEluZGV4KChjb2xJZCkgPT4gY29sSWQgPT09IGlkKSAhPT0gLTFcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFwcGx5Q2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmluc3RhbmNlLnNhdmUoXG4gICAgICB0aGlzLmNvbHVtbkRhdGEuZmlsdGVyKChjb2wpID0+IGNvbC5pc1NlbGVjdGVkIHx8IGNvbC5hbHdheXNEaXNwbGF5ZWQpLFxuICAgICk7XG4gIH1cblxuICAjZm9ybWF0Q29sdW1uT3B0aW9ucygpOiBDb2x1bW5bXSB7XG4gICAgY29uc3QgYWxsQ29sdW1uT3B0aW9ucyA9IHRoaXMuY29udGV4dC5jb2x1bW5PcHRpb25zO1xuICAgIGNvbnN0IHZpc2libGVDb2x1bW5JZHMgPSB0aGlzLmNvbnRleHQuZGlzcGxheWVkQ29sdW1uSWRzO1xuICAgIGxldCBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zOiBDb2x1bW5bXSA9IFtdO1xuICAgIGNvbnN0IHVuc2VsZWN0ZWRDb2x1bW5PcHRpb25zOiBDb2x1bW5bXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBjb2x1bW5PcHRpb24gb2YgYWxsQ29sdW1uT3B0aW9ucykge1xuICAgICAgLy8gZm9ybWF0IHRoZSBjb2x1bW4gd2l0aCB0aGUgcHJvcGVydGllcyB0aGUgY29sdW1uIHBpY2tlciBuZWVkc1xuICAgICAgY29uc3QgY29sSW5kZXggPSB2aXNpYmxlQ29sdW1uSWRzLmluZGV4T2YoY29sdW1uT3B0aW9uLmlkKTtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZENvbHVtbjogQ29sdW1uID0ge1xuICAgICAgICBhbHdheXNEaXNwbGF5ZWQ6IGNvbHVtbk9wdGlvbi5hbHdheXNEaXNwbGF5ZWQsXG4gICAgICAgIGlkOiBjb2x1bW5PcHRpb24uaWQsXG4gICAgICAgIGxhYmVsOiBjb2x1bW5PcHRpb24ubGFiZWwsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBjb2x1bW5PcHRpb24uZGVzY3JpcHRpb24sXG4gICAgICAgIGlzU2VsZWN0ZWQ6IGNvbEluZGV4ICE9PSAtMSxcbiAgICAgIH07XG5cbiAgICAgIC8vIGlmIGNvbHVtbiBwaWNrZXIgc29ydGluZyBpcyBjdXJyZW50bHkgZW5hYmxlZCBzb3J0IGNvbHVtbnMgYnkgb3JkZXIgZGlzcGxheWVkIHRoZW4gYWxwaGFiZXRpY2FsXG4gICAgICAvLyBlbHNlIGRpc3BsYXkgY29sdW1uIGluIG9yZGVyIHRoZXkgd2VyZSBzcGVjaWZpZWQgaW4gdGhlIGNvbHVtbk9wdGlvbnNcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5jb250ZXh0LmNvbHVtblBpY2tlclNvcnRTdHJhdGVneSA9PT1cbiAgICAgICAgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJTb3J0U3RyYXRlZ3kuU2VsZWN0ZWRUaGVuQWxwaGFiZXRpY2FsXG4gICAgICApIHtcbiAgICAgICAgaWYgKGZvcm1hdHRlZENvbHVtbi5pc1NlbGVjdGVkKSB7XG4gICAgICAgICAgZm9ybWF0dGVkQ29sdW1uT3B0aW9uc1tjb2xJbmRleF0gPSBmb3JtYXR0ZWRDb2x1bW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdW5zZWxlY3RlZENvbHVtbk9wdGlvbnMucHVzaChmb3JtYXR0ZWRDb2x1bW4pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zLnB1c2goZm9ybWF0dGVkQ29sdW1uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpZiBjb2x1bW4gcGlja2VyIHNvcnRpbmcgaXMgZW5hYmxlZCwgc29ydCB0aGUgY29sdW1ucyB0aGF0IGFyZSBub3QgY3VycmVudGx5IGRpc3BsYXllZFxuICAgIC8vIGFuZCBhZGQgdGhlbSBhZnRlciB0aGUgY3VycmVudGx5IGRpc3BsYXllZCBvcHRpb25zXG4gICAgaWYgKFxuICAgICAgdGhpcy5jb250ZXh0LmNvbHVtblBpY2tlclNvcnRTdHJhdGVneSA9PT1cbiAgICAgIFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU29ydFN0cmF0ZWd5LlNlbGVjdGVkVGhlbkFscGhhYmV0aWNhbFxuICAgICkge1xuICAgICAgdW5zZWxlY3RlZENvbHVtbk9wdGlvbnMuc29ydCgoY29sMSwgY29sMikgPT5cbiAgICAgICAgY29sMS5sYWJlbC5sb2NhbGVDb21wYXJlKGNvbDIubGFiZWwpLFxuICAgICAgKTtcbiAgICAgIGZvcm1hdHRlZENvbHVtbk9wdGlvbnMgPSBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zLmNvbmNhdChcbiAgICAgICAgdW5zZWxlY3RlZENvbHVtbk9wdGlvbnMsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zO1xuICB9XG59XG4iLCI8c2t5LW1vZGFsPlxuICA8c2t5LW1vZGFsLWhlYWRlcj5cbiAgICB7eyAnc2t5dXhfZGF0YV9tYW5hZ2VyX2NvbHVtbl9waWNrZXJfdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gIDwvc2t5LW1vZGFsLWhlYWRlcj5cbiAgPHNreS1tb2RhbC1jb250ZW50IGNsYXNzPVwic2t5LWRhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLWNvbnRlbnRcIj5cbiAgICA8c2t5LWRhdGEtbWFuYWdlcj5cbiAgICAgIDxza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXIgLz5cblxuICAgICAgPHNreS1kYXRhLXZpZXcgW3ZpZXdJZF09XCJ2aWV3Q29uZmlnLmlkXCI+XG4gICAgICAgIDxza3ktcmVwZWF0ZXIgZXhwYW5kTW9kZT1cIm5vbmVcIj5cbiAgICAgICAgICBAZm9yIChjb2x1bW4gb2YgZGlzcGxheWVkQ29sdW1uRGF0YTsgdHJhY2sgY29sdW1uKSB7XG4gICAgICAgICAgICA8c2t5LXJlcGVhdGVyLWl0ZW1cbiAgICAgICAgICAgICAgW3NlbGVjdGFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFsoaXNTZWxlY3RlZCldPVwiY29sdW1uLmlzU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAoaXNTZWxlY3RlZENoYW5nZSk9XCJvbklzU2VsZWN0ZWRDaGFuZ2UoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxza3ktcmVwZWF0ZXItaXRlbS10aXRsZT5cbiAgICAgICAgICAgICAgICB7eyBjb2x1bW4ubGFiZWwgfX1cbiAgICAgICAgICAgICAgPC9za3ktcmVwZWF0ZXItaXRlbS10aXRsZT5cbiAgICAgICAgICAgICAgPHNreS1yZXBlYXRlci1pdGVtLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAge3sgY29sdW1uLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICAgIDwvc2t5LXJlcGVhdGVyLWl0ZW0tY29udGVudD5cbiAgICAgICAgICAgIDwvc2t5LXJlcGVhdGVyLWl0ZW0+XG4gICAgICAgICAgfVxuICAgICAgICA8L3NreS1yZXBlYXRlcj5cbiAgICAgIDwvc2t5LWRhdGEtdmlldz5cbiAgICA8L3NreS1kYXRhLW1hbmFnZXI+XG4gIDwvc2t5LW1vZGFsLWNvbnRlbnQ+XG4gIDxza3ktbW9kYWwtZm9vdGVyPlxuICAgIEBpZiAoIWlzQW55RGlzcGxheWVkQ29sdW1uU2VsZWN0ZWQpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJza3ktZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItZm9vdGVyLXN0YWNrZWQtaW5kaWNhdG9yXCI+XG4gICAgICAgIDxza3ktc3RhdHVzLWluZGljYXRvciBkZXNjcmlwdGlvblR5cGU9XCJlcnJvclwiIGluZGljYXRvclR5cGU9XCJkYW5nZXJcIj5cbiAgICAgICAgICB7e1xuICAgICAgICAgICAgJ3NreXV4X2RhdGFfbWFuYWdlcl9zZWxlY3RfY29sdW1uX3N0YXR1c19pbmRpY2F0b3JfdGl0bGUnXG4gICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgfX1cbiAgICAgICAgPC9za3ktc3RhdHVzLWluZGljYXRvcj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8YnV0dG9uXG4gICAgICBza3ktY21wLWlkPVwiYXBwbHktY2hhbmdlc1wiXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1wcmltYXJ5XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2Rpc2FibGVkXT1cIiFpc0FueURpc3BsYXllZENvbHVtblNlbGVjdGVkXCJcbiAgICAgIChjbGljayk9XCJhcHBseUNoYW5nZXMoKVwiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X2RhdGFfbWFuYWdlcl9hcHBseV9jaGFuZ2VzX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBza3ktY21wLWlkPVwiY2FuY2VsXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmtcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAoY2xpY2spPVwiY2FuY2VsQ2hhbmdlcygpXCJcbiAgICA+XG4gICAgICB7eyAnc2t5dXhfZGF0YV9tYW5hZ2VyX2NhbmNlbF9idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9idXR0b24+XG4gIDwvc2t5LW1vZGFsLWZvb3Rlcj5cbjwvc2t5LW1vZGFsPlxuIl19
@@ -1109,7 +1109,7 @@ class SkyDataManagerColumnPickerComponent {
1109
1109
  return formattedColumnOptions;
1110
1110
  }
1111
1111
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyDataManagerColumnPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1112
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyDataManagerColumnPickerComponent, isStandalone: true, selector: "sky-data-manager-column-picker", providers: [SkyDataManagerService], ngImport: i0, template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_data_manager_column_picker_title' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content class=\"sky-data-manager-column-picker-content\">\n <sky-data-manager>\n <sky-data-manager-toolbar />\n\n <sky-data-view [viewId]=\"viewConfig.id\">\n <sky-repeater expandMode=\"none\">\n @for (column of displayedColumnData; track column) {\n <sky-repeater-item\n [selectable]=\"true\"\n [(isSelected)]=\"column.isSelected\"\n (isSelectedChange)=\"onIsSelectedChange()\"\n >\n <sky-repeater-item-title>\n {{ column.label }}\n </sky-repeater-item-title>\n <sky-repeater-item-content>\n {{ column.description }}\n </sky-repeater-item-content>\n </sky-repeater-item>\n }\n </sky-repeater>\n </sky-data-view>\n </sky-data-manager>\n </sky-modal-content>\n <sky-modal-footer>\n @if (!isAnyDisplayedColumnSelected) {\n <div class=\"sky-data-manager-column-picker-footer-stacked-indicator\">\n <sky-status-indicator descriptionType=\"error\" indicatorType=\"danger\">\n {{\n 'skyux_data_manager_select_column_status_indicator_title'\n | skyLibResources\n }}\n </sky-status-indicator>\n </div>\n }\n <button\n sky-cmp-id=\"apply-changes\"\n class=\"sky-btn sky-btn-primary\"\n type=\"button\"\n [disabled]=\"!isAnyDisplayedColumnSelected\"\n (click)=\"applyChanges()\"\n >\n {{ 'skyux_data_manager_apply_changes_button_title' | skyLibResources }}\n </button>\n <button\n sky-cmp-id=\"cancel\"\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"cancelChanges()\"\n >\n {{ 'skyux_data_manager_cancel_button_title' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-data-manager-column-picker-content sky-repeater-item-content{margin-top:5px}.sky-data-manager-column-picker-footer-stacked-indicator{margin:0 5px 10px 0}\n"], dependencies: [{ kind: "component", type: SkyDataManagerComponent, selector: "sky-data-manager" }, { kind: "ngmodule", type: SkyDataManagerResourcesModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "component", type: SkyDataManagerToolbarComponent, selector: "sky-data-manager-toolbar" }, { kind: "component", type: SkyDataViewComponent, selector: "sky-data-view", inputs: ["viewId"] }, { kind: "ngmodule", type: SkyModalModule }, { kind: "component", type: i2$2.λ5, selector: "sky-modal", inputs: ["formErrors", "headingText", "helpKey", "helpPopoverContent", "helpPopoverTitle", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i2$2.λ2, selector: "sky-modal-content" }, { kind: "component", type: i2$2.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i2$2.λ4, selector: "sky-modal-header" }, { kind: "ngmodule", type: SkyRepeaterModule }, { kind: "component", type: i3$1.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i3$1.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i3$1.λ8, selector: "sky-repeater-item-content" }, { kind: "component", type: i3$1.λ12, selector: "sky-repeater-item-title" }, { kind: "ngmodule", type: SkyStatusIndicatorModule }, { kind: "component", type: i2$1.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription", "helpPopoverContent", "helpPopoverTitle", "helpKey"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyDataManagerColumnPickerComponent, isStandalone: true, selector: "sky-data-manager-column-picker", providers: [SkyDataManagerService], ngImport: i0, template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_data_manager_column_picker_title' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content class=\"sky-data-manager-column-picker-content\">\n <sky-data-manager>\n <sky-data-manager-toolbar />\n\n <sky-data-view [viewId]=\"viewConfig.id\">\n <sky-repeater expandMode=\"none\">\n @for (column of displayedColumnData; track column) {\n <sky-repeater-item\n [selectable]=\"true\"\n [(isSelected)]=\"column.isSelected\"\n (isSelectedChange)=\"onIsSelectedChange()\"\n >\n <sky-repeater-item-title>\n {{ column.label }}\n </sky-repeater-item-title>\n <sky-repeater-item-content>\n {{ column.description }}\n </sky-repeater-item-content>\n </sky-repeater-item>\n }\n </sky-repeater>\n </sky-data-view>\n </sky-data-manager>\n </sky-modal-content>\n <sky-modal-footer>\n @if (!isAnyDisplayedColumnSelected) {\n <div class=\"sky-data-manager-column-picker-footer-stacked-indicator\">\n <sky-status-indicator descriptionType=\"error\" indicatorType=\"danger\">\n {{\n 'skyux_data_manager_select_column_status_indicator_title'\n | skyLibResources\n }}\n </sky-status-indicator>\n </div>\n }\n <button\n sky-cmp-id=\"apply-changes\"\n class=\"sky-btn sky-btn-primary\"\n type=\"button\"\n [disabled]=\"!isAnyDisplayedColumnSelected\"\n (click)=\"applyChanges()\"\n >\n {{ 'skyux_data_manager_apply_changes_button_title' | skyLibResources }}\n </button>\n <button\n sky-cmp-id=\"cancel\"\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"cancelChanges()\"\n >\n {{ 'skyux_data_manager_cancel_button_title' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-data-manager-column-picker-content sky-repeater-item-content{margin-top:5px}.sky-data-manager-column-picker-footer-stacked-indicator{margin:0 5px 10px 0}\n"], dependencies: [{ kind: "component", type: SkyDataManagerComponent, selector: "sky-data-manager" }, { kind: "ngmodule", type: SkyDataManagerResourcesModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "component", type: SkyDataManagerToolbarComponent, selector: "sky-data-manager-toolbar" }, { kind: "component", type: SkyDataViewComponent, selector: "sky-data-view", inputs: ["viewId"] }, { kind: "ngmodule", type: SkyModalModule }, { kind: "component", type: i2$2.λ5, selector: "sky-modal", inputs: ["formErrors", "headingText", "helpKey", "helpPopoverContent", "helpPopoverTitle", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy", "layout"] }, { kind: "component", type: i2$2.λ2, selector: "sky-modal-content" }, { kind: "component", type: i2$2.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i2$2.λ4, selector: "sky-modal-header" }, { kind: "ngmodule", type: SkyRepeaterModule }, { kind: "component", type: i3$1.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i3$1.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i3$1.λ8, selector: "sky-repeater-item-content" }, { kind: "component", type: i3$1.λ12, selector: "sky-repeater-item-title" }, { kind: "ngmodule", type: SkyStatusIndicatorModule }, { kind: "component", type: i2$1.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription", "helpPopoverContent", "helpPopoverTitle", "helpKey"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1113
1113
  }
1114
1114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyDataManagerColumnPickerComponent, decorators: [{
1115
1115
  type: Component,