@skyux/lookup 10.6.2 → 10.8.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.
Files changed (27) hide show
  1. package/documentation.json +1003 -989
  2. package/esm2022/lib/modules/autocomplete/autocomplete-adapter.service.mjs +3 -3
  3. package/esm2022/lib/modules/autocomplete/autocomplete-input.directive.mjs +3 -3
  4. package/esm2022/lib/modules/autocomplete/autocomplete-search-async-disabled.pipe.mjs +3 -3
  5. package/esm2022/lib/modules/autocomplete/autocomplete.component.mjs +3 -3
  6. package/esm2022/lib/modules/autocomplete/autocomplete.module.mjs +4 -4
  7. package/esm2022/lib/modules/country-field/country-field.component.mjs +3 -3
  8. package/esm2022/lib/modules/country-field/country-field.module.mjs +4 -4
  9. package/esm2022/lib/modules/lookup/lookup-adapter.service.mjs +3 -3
  10. package/esm2022/lib/modules/lookup/lookup-autocomplete-adapter.mjs +3 -3
  11. package/esm2022/lib/modules/lookup/lookup-show-more-modal.component.mjs +4 -4
  12. package/esm2022/lib/modules/lookup/lookup.component.mjs +3 -3
  13. package/esm2022/lib/modules/lookup/lookup.module.mjs +4 -4
  14. package/esm2022/lib/modules/search/search-adapter.service.mjs +3 -3
  15. package/esm2022/lib/modules/search/search.component.mjs +3 -3
  16. package/esm2022/lib/modules/search/search.module.mjs +4 -4
  17. package/esm2022/lib/modules/selection-modal/selection-modal-item-selected.pipe.mjs +3 -3
  18. package/esm2022/lib/modules/selection-modal/selection-modal.component.mjs +4 -4
  19. package/esm2022/lib/modules/selection-modal/selection-modal.module.mjs +4 -4
  20. package/esm2022/lib/modules/selection-modal/selection-modal.service.mjs +3 -3
  21. package/esm2022/lib/modules/shared/sky-lookup-resources.module.mjs +4 -4
  22. package/esm2022/testing/country-field/country-field-testing.module.mjs +4 -4
  23. package/esm2022/testing/search/search-testing.module.mjs +4 -4
  24. package/fesm2022/skyux-lookup-testing.mjs +8 -8
  25. package/fesm2022/skyux-lookup.mjs +66 -66
  26. package/fesm2022/skyux-lookup.mjs.map +1 -1
  27. package/package.json +16 -16
@@ -8,15 +8,15 @@ import { SkyLookupResourcesModule } from '../shared/sky-lookup-resources.module'
8
8
  import { SkyCountryFieldComponent } from './country-field.component';
9
9
  import * as i0 from "@angular/core";
10
10
  export class SkyCountryFieldModule {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyCountryFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: SkyCountryFieldModule, declarations: [SkyCountryFieldComponent], imports: [CommonModule,
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyCountryFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: SkyCountryFieldModule, declarations: [SkyCountryFieldComponent], imports: [CommonModule,
13
13
  FormsModule,
14
14
  ReactiveFormsModule,
15
15
  SkyAutocompleteModule,
16
16
  SkyIconModule,
17
17
  SkyLookupResourcesModule,
18
18
  SkyThemeModule], exports: [SkyCountryFieldComponent] }); }
19
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyCountryFieldModule, imports: [CommonModule,
19
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyCountryFieldModule, imports: [CommonModule,
20
20
  FormsModule,
21
21
  ReactiveFormsModule,
22
22
  SkyAutocompleteModule,
@@ -24,7 +24,7 @@ export class SkyCountryFieldModule {
24
24
  SkyLookupResourcesModule,
25
25
  SkyThemeModule] }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyCountryFieldModule, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyCountryFieldModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  declarations: [SkyCountryFieldComponent],
@@ -12,10 +12,10 @@ export class SkyLookupAdapterService {
12
12
  inputEl.focus();
13
13
  }
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyLookupAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyLookupAdapterService }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyLookupAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyLookupAdapterService }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyLookupAdapterService, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyLookupAdapterService, decorators: [{
19
19
  type: Injectable
20
20
  }] });
21
21
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL2xvb2t1cC9sb29rdXAtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXZEOztHQUVHO0FBRUgsTUFBTSxPQUFPLHVCQUF1QjtJQUMzQixVQUFVLENBQUMsS0FBaUI7UUFDakMsTUFBTSxPQUFPLEdBQ1gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUV6RCxrQkFBa0I7UUFDbEIsMEJBQTBCO1FBQzFCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7OEdBVlUsdUJBQXVCO2tIQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lMb29rdXBBZGFwdGVyU2VydmljZSB7XG4gIHB1YmxpYyBmb2N1c0lucHV0KGVsUmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRFbDogSFRNTEVsZW1lbnQgPVxuICAgICAgZWxSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LWxvb2t1cC1pbnB1dCcpO1xuXG4gICAgLyogU2FuaXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoaW5wdXRFbCkge1xuICAgICAgaW5wdXRFbC5mb2N1cygpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -87,10 +87,10 @@ export class SkyLookupAutocompleteAdapter {
87
87
  });
88
88
  }
89
89
  }
90
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyLookupAutocompleteAdapter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
91
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: SkyLookupAutocompleteAdapter, inputs: { debounceTime: "debounceTime", descriptorProperty: "descriptorProperty", propertiesToSearch: "propertiesToSearch", search: "search", searchResultTemplate: "searchResultTemplate", searchTextMinimumCharacters: "searchTextMinimumCharacters", searchFilters: "searchFilters", searchResultsLimit: "searchResultsLimit" }, outputs: { searchAsync: "searchAsync" }, ngImport: i0 }); }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyLookupAutocompleteAdapter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
91
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: SkyLookupAutocompleteAdapter, inputs: { debounceTime: "debounceTime", descriptorProperty: "descriptorProperty", propertiesToSearch: "propertiesToSearch", search: "search", searchResultTemplate: "searchResultTemplate", searchTextMinimumCharacters: "searchTextMinimumCharacters", searchFilters: "searchFilters", searchResultsLimit: "searchResultsLimit" }, outputs: { searchAsync: "searchAsync" }, ngImport: i0 }); }
92
92
  }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyLookupAutocompleteAdapter, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyLookupAutocompleteAdapter, decorators: [{
94
94
  type: Directive
95
95
  }], propDecorators: { debounceTime: [{
96
96
  type: Input
@@ -286,10 +286,10 @@ export class SkyLookupShowMoreModalComponent {
286
286
  this.#liveAnnouncerSvc.announce(resourcesString);
287
287
  });
288
288
  }
289
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyLookupShowMoreModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
290
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: SkyLookupShowMoreModalComponent, isStandalone: true, selector: "sky-lookup-show-more-modal", ngImport: i0, template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content\n [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\n <sky-toolbar\n [listDescriptor]=\"context.userConfig.selectionDescriptor\"\n class=\"sky-lookup-show-more-modal-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n [attr.aria-label]=\"\n 'skyux_lookup_show_more_add_button_aria_label'\n | skyLibResources: context.userConfig.selectionDescriptor\n \"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon icon=\"add\" />\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-multiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_lookup_show_more_select_all_button_aria_label'\n | skyLibResources: context.userConfig.selectionDescriptor\n \"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_lookup_show_more_clear_all_button_aria_label'\n | skyLibResources: context.userConfig.selectionDescriptor\n \"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n [label]=\"\n 'skyux_lookup_show_more_show_selected_option_aria_label'\n | skyLibResources: context.userConfig.selectionDescriptor\n \"\n (change)=\"updateDataState()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_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 </div>\n <div\n *ngIf=\"displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [selectable]=\"context.selectMode === 'multiple'\"\n [(isSelected)]=\"item.selected\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n repeaterItemTemplate ?? defaultItemTemplate;\n context: { item: item.value }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll\n [enabled]=\"itemsHaveMore\"\n [loading]=\"itemsLoading\"\n (scrollEnd)=\"addItems()\"\n >\n </sky-infinite-scroll>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary sky-margin-inline-compact sky-lookup-show-more-modal-save\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_lookup_show_more_select_context'\n | skyLibResources: context.userConfig.selectionDescriptor\n \"\n (click)=\"modalInstance.save(selectedItems)\"\n >\n {{ 'skyux_lookup_show_more_select' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-close\"\n type=\"button\"\n (click)=\"modalInstance.close()\"\n >\n {{ 'skyux_lookup_show_more_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n\n<ng-template let-item=\"item\" #defaultItemTemplate>\n {{ item[context.descriptorProperty] }}\n</ng-template>\n\n<ng-template #defaultTitle>\n {{\n 'skyux_lookup_show_more_modal_title'\n | skyLibResources: context.userConfig.selectionDescriptor\n }}\n</ng-template>\n", styles: [".sky-lookup-show-more-no-results{padding:20px 0}:host-context(.sky-theme-modern) .sky-lookup-show-more-no-results{padding:30px 0}.sky-theme-modern .sky-lookup-show-more-no-results{padding:30px 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SkyCheckboxModule }, { kind: "component", type: i2.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required", "labelText", "labelHidden"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i2.λ4, selector: "sky-checkbox-label" }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i3.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyInfiniteScrollModule }, { kind: "component", type: i4.λ6, selector: "sky-infinite-scroll", inputs: ["enabled", "loading"], outputs: ["scrollEnd"] }, { kind: "ngmodule", type: SkyLookupResourcesModule }, { kind: "pipe", type: i5.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyModalModule }, { kind: "component", type: i6.λ5, selector: "sky-modal", inputs: ["formErrors", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i6.λ2, selector: "sky-modal-content" }, { kind: "component", type: i6.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i6.λ4, selector: "sky-modal-header" }, { kind: "ngmodule", type: SkyRepeaterModule }, { kind: "component", type: i4.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i4.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i4.λ8, selector: "sky-repeater-item-content" }, { kind: "ngmodule", type: SkySearchModule }, { kind: "component", type: i7.SkySearchComponent, selector: "sky-search", inputs: ["ariaLabel", "ariaLabelledBy", "searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "ngmodule", type: SkyToolbarModule }, { kind: "component", type: i8.λ37, selector: "sky-toolbar", inputs: ["listDescriptor"] }, { kind: "component", type: i8.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i8.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i8.λ40, selector: "sky-toolbar-view-actions" }, { kind: "ngmodule", type: SkyViewkeeperModule }, { kind: "directive", type: i9.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
289
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyLookupShowMoreModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
290
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: SkyLookupShowMoreModalComponent, isStandalone: true, selector: "sky-lookup-show-more-modal", ngImport: i0, template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content\n [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\n <sky-toolbar\n [listDescriptor]=\"context.userConfig.selectionDescriptor\"\n class=\"sky-lookup-show-more-modal-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n [attr.aria-label]=\"\n 'skyux_lookup_show_more_add_button_aria_label'\n | skyLibResources: context.userConfig.selectionDescriptor\n \"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon icon=\"add\" />\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-multiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_lookup_show_more_select_all_button_aria_label'\n | skyLibResources: context.userConfig.selectionDescriptor\n \"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_lookup_show_more_clear_all_button_aria_label'\n | skyLibResources: context.userConfig.selectionDescriptor\n \"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n [label]=\"\n 'skyux_lookup_show_more_show_selected_option_aria_label'\n | skyLibResources: context.userConfig.selectionDescriptor\n \"\n (change)=\"updateDataState()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_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 </div>\n <div\n *ngIf=\"displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [selectable]=\"context.selectMode === 'multiple'\"\n [(isSelected)]=\"item.selected\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n repeaterItemTemplate ?? defaultItemTemplate;\n context: { item: item.value }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll\n [enabled]=\"itemsHaveMore\"\n [loading]=\"itemsLoading\"\n (scrollEnd)=\"addItems()\"\n >\n </sky-infinite-scroll>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary sky-margin-inline-compact sky-lookup-show-more-modal-save\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_lookup_show_more_select_context'\n | skyLibResources: context.userConfig.selectionDescriptor\n \"\n (click)=\"modalInstance.save(selectedItems)\"\n >\n {{ 'skyux_lookup_show_more_select' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-close\"\n type=\"button\"\n (click)=\"modalInstance.close()\"\n >\n {{ 'skyux_lookup_show_more_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n\n<ng-template let-item=\"item\" #defaultItemTemplate>\n {{ item[context.descriptorProperty] }}\n</ng-template>\n\n<ng-template #defaultTitle>\n {{\n 'skyux_lookup_show_more_modal_title'\n | skyLibResources: context.userConfig.selectionDescriptor\n }}\n</ng-template>\n", styles: [".sky-lookup-show-more-no-results{padding:20px 0}:host-context(.sky-theme-modern) .sky-lookup-show-more-no-results{padding:30px 0}.sky-theme-modern .sky-lookup-show-more-no-results{padding:30px 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i2.λ4, selector: "sky-checkbox-label" }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i3.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyInfiniteScrollModule }, { kind: "component", type: i4.λ6, selector: "sky-infinite-scroll", inputs: ["enabled", "loading"], outputs: ["scrollEnd"] }, { kind: "ngmodule", type: SkyLookupResourcesModule }, { kind: "pipe", type: i5.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyModalModule }, { kind: "component", type: i6.λ5, selector: "sky-modal", inputs: ["formErrors", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i6.λ2, selector: "sky-modal-content" }, { kind: "component", type: i6.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i6.λ4, selector: "sky-modal-header" }, { kind: "ngmodule", type: SkyRepeaterModule }, { kind: "component", type: i4.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i4.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i4.λ8, selector: "sky-repeater-item-content" }, { kind: "ngmodule", type: SkySearchModule }, { kind: "component", type: i7.SkySearchComponent, selector: "sky-search", inputs: ["ariaLabel", "ariaLabelledBy", "searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "ngmodule", type: SkyToolbarModule }, { kind: "component", type: i8.λ37, selector: "sky-toolbar", inputs: ["listDescriptor"] }, { kind: "component", type: i8.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i8.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i8.λ40, selector: "sky-toolbar-view-actions" }, { kind: "ngmodule", type: SkyViewkeeperModule }, { kind: "directive", type: i9.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
291
291
  }
292
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyLookupShowMoreModalComponent, decorators: [{
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyLookupShowMoreModalComponent, decorators: [{
293
293
  type: Component,
294
294
  args: [{ standalone: true, selector: 'sky-lookup-show-more-modal', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
295
295
  CommonModule,
@@ -305,4 +305,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
305
305
  SkyViewkeeperModule,
306
306
  ], template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content\n [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\n <sky-toolbar\n [listDescriptor]=\"context.userConfig.selectionDescriptor\"\n class=\"sky-lookup-show-more-modal-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n [attr.aria-label]=\"\n 'skyux_lookup_show_more_add_button_aria_label'\n | skyLibResources: context.userConfig.selectionDescriptor\n \"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon icon=\"add\" />\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-multiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_lookup_show_more_select_all_button_aria_label'\n | skyLibResources: context.userConfig.selectionDescriptor\n \"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_lookup_show_more_clear_all_button_aria_label'\n | skyLibResources: context.userConfig.selectionDescriptor\n \"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n [label]=\"\n 'skyux_lookup_show_more_show_selected_option_aria_label'\n | skyLibResources: context.userConfig.selectionDescriptor\n \"\n (change)=\"updateDataState()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_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 </div>\n <div\n *ngIf=\"displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [selectable]=\"context.selectMode === 'multiple'\"\n [(isSelected)]=\"item.selected\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n repeaterItemTemplate ?? defaultItemTemplate;\n context: { item: item.value }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll\n [enabled]=\"itemsHaveMore\"\n [loading]=\"itemsLoading\"\n (scrollEnd)=\"addItems()\"\n >\n </sky-infinite-scroll>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary sky-margin-inline-compact sky-lookup-show-more-modal-save\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_lookup_show_more_select_context'\n | skyLibResources: context.userConfig.selectionDescriptor\n \"\n (click)=\"modalInstance.save(selectedItems)\"\n >\n {{ 'skyux_lookup_show_more_select' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-close\"\n type=\"button\"\n (click)=\"modalInstance.close()\"\n >\n {{ 'skyux_lookup_show_more_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n\n<ng-template let-item=\"item\" #defaultItemTemplate>\n {{ item[context.descriptorProperty] }}\n</ng-template>\n\n<ng-template #defaultTitle>\n {{\n 'skyux_lookup_show_more_modal_title'\n | skyLibResources: context.userConfig.selectionDescriptor\n }}\n</ng-template>\n", styles: [".sky-lookup-show-more-no-results{padding:20px 0}:host-context(.sky-theme-modern) .sky-lookup-show-more-no-results{padding:30px 0}.sky-theme-modern .sky-lookup-show-more-no-results{padding:30px 0}\n"] }]
307
307
  }], ctorParameters: () => [] });
308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9sb29rdXAvbG9va3VwLXNob3ctbW9yZS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9sb29rdXAvbG9va3VwLXNob3ctbW9yZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUdULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsWUFBWSxFQUNaLHVCQUF1QixFQUN2QixtQkFBbUIsR0FDcEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsT0FBTyxFQUFF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QyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FqV1UsK0JBQStCO2tHQUEvQiwrQkFBK0Isc0ZDdEQ1QyxpeExBc0tBLDhQRDdISSxZQUFZLG9nQkFDWixpQkFBaUIsa1pBQ2pCLGFBQWEsdUpBQ2IsdUJBQXVCLDJKQUN2Qix3QkFBd0IsdUdBQ3hCLGNBQWMsc1hBQ2QsaUJBQWlCLG9rQkFDakIsZUFBZSx1UkFDZixjQUFjLDhCQUNkLGdCQUFnQiw0VUFDaEIsbUJBQW1COzsyRkFHViwrQkFBK0I7a0JBcEIzQyxTQUFTO2lDQUNJLElBQUksWUFDTiw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixtQkFBbUI7cUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIFRlbXBsYXRlUmVmLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5SWRTZXJ2aWNlLFxuICBTa3lMaXZlQW5ub3VuY2VyU2VydmljZSxcbiAgU2t5Vmlld2tlZXBlck1vZHVsZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5pbXBvcnQgeyBTa3lUb29sYmFyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5pbXBvcnQgeyBTa3lJbmZpbml0ZVNjcm9sbE1vZHVsZSwgU2t5UmVwZWF0ZXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGlzdHMnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSwgU2t5TW9kYWxNb2R1bGUgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lTZWFyY2hNb2R1bGUgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lMb29rdXBSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWxvb2t1cC1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5TG9va3VwU2hvd01vcmVOYXRpdmVQaWNrZXJDb250ZXh0IH0gZnJvbSAnLi90eXBlcy9sb29rdXAtc2hvdy1tb3JlLW5hdGl2ZS1waWNrZXItY29udGV4dCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBJbnRlcm5hbCBjb21wb25lbnQgdG8gaW1wbGVtZW50IHRoZSBuYXRpdmUgcGlja2VyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb29rdXAtc2hvdy1tb3JlLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbG9va3VwLXNob3ctbW9yZS1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lDaGVja2JveE1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIFNreUxvb2t1cFJlc291cmNlc01vZHVsZSxcbiAgICBTa3lNb2RhbE1vZHVsZSxcbiAgICBTa3lSZXBlYXRlck1vZHVsZSxcbiAgICBTa3lTZWFyY2hNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gICAgU2t5VG9vbGJhck1vZHVsZSxcbiAgICBTa3lWaWV3a2VlcGVyTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMb29rdXBTaG93TW9yZU1vZGFsQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgdGhlIGJ1dHRvbiB0byBhZGQgbmV3IG9wdGlvbnMgdG8gdGhlIGxpc3QuXG4gICAqL1xuICBwdWJsaWMgYWRkQ2xpY2sgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGFzc29jaWF0ZSB0aGlzIG1vZGFsIHdpdGggaXRzIG93bmluZyBsb29rdXAgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgcHVibGljIGl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIHB1YmxpYyBpdGVtc0xvYWRpbmcgPSBmYWxzZTtcblxuICBwdWJsaWMgZGF0YU1hbmFnZXJDb25maWcgPSB7XG4gICAgc29ydE9wdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdheicsXG4gICAgICAgIGxhYmVsOiAnQWxwaGFiZXRpY2FsIChBIC0gWiknLFxuICAgICAgICBkZXNjZW5kaW5nOiBmYWxzZSxcbiAgICAgICAgcHJvcGVydHlOYW1lOiAnbmFtZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ3phJyxcbiAgICAgICAgbGFiZWw6ICdBbHBoYWJldGljYWwgKFogLSBBKScsXG4gICAgICAgIGRlc2NlbmRpbmc6IHRydWUsXG4gICAgICAgIHByb3BlcnR5TmFtZTogJ25hbWUnLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xuXG4gIHB1YmxpYyBkaXNwbGF5ZWRJdGVtczogYW55W10gPSBbXTtcblxuICBwdWJsaWMgaXRlbXNIYXZlTW9yZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBvbmx5U2hvd1NlbGVjdGVkID0gZmFsc2U7XG5cbiAgcHVibGljIHJlcGVhdGVySXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgcHVibGljIHNlbGVjdGVkSXRlbXM6IHsgaW5kZXg6IG51bWJlcjsgaXRlbURhdGE6IGFueSB9W10gPSBbXTtcblxuICAjaXRlbUluZGV4ID0gMDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBtb2RhbEluc3RhbmNlID0gaW5qZWN0KFNreU1vZGFsSW5zdGFuY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGV4dCA9IGluamVjdChTa3lMb29rdXBTaG93TW9yZU5hdGl2ZVBpY2tlckNvbnRleHQpO1xuICByZWFkb25seSAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICByZWFkb25seSAjaWRTdmMgPSBpbmplY3QoU2t5SWRTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2xpdmVBbm5vdW5jZXJTdmMgPSBpbmplY3QoU2t5TGl2ZUFubm91bmNlclNlcnZpY2UpO1xuICByZWFkb25seSAjcmVzb3VyY2VzU3ZjID0gaW5qZWN0KFNreUxpYlJlc291cmNlc1NlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaWQgPSB0aGlzLiNpZFN2Yy5nZW5lcmF0ZUlkKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVwZWF0ZXJJdGVtVGVtcGxhdGUgPSB0aGlzLmNvbnRleHQudXNlckNvbmZpZy5pdGVtVGVtcGxhdGUgfHwgbnVsbDtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSB0aGlzLmNvbnRleHQuaW5pdGlhbFNlYXJjaDtcbiAgICB0aGlzLmFkZEl0ZW1zKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGFkZEJ1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5hZGRDbGljay5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgYWRkSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtc0xvYWRpbmcgPSB0cnVlO1xuICAgIGlmICghdGhpcy5pdGVtcyB8fCB0aGlzLml0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtczogYW55W10gPSB0aGlzLnNlbGVjdGVkSXRlbXMuc2xpY2UoKTtcblxuICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuY29udGV4dC5pdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB2YWx1ZTogaXRlbSxcbiAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzSW5pdGlhbFZhbHVlOiBib29sZWFuID1cbiAgICAgICAgICB0aGlzLmNvbnRleHQuaW5pdGlhbFZhbHVlID09PSBpdGVtLnZhbHVlO1xuXG4gICAgICAgIGNvbnN0IGluaXRpYWxJc0FycmF5OiBib29sZWFuID0gQXJyYXkuaXNBcnJheShcbiAgICAgICAgICB0aGlzLmNvbnRleHQuaW5pdGlhbFZhbHVlLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBpbml0aWFsVmFsdWVDb250YWluc0l0ZW06IGJvb2xlYW4gPVxuICAgICAgICAgIHRoaXMuY29udGV4dC5pbml0aWFsVmFsdWUuZmluZEluZGV4KFxuICAgICAgICAgICAgKGluaXRpYWxJdGVtOiBhbnkpID0+IGluaXRpYWxJdGVtID09PSBpdGVtLnZhbHVlLFxuICAgICAgICAgICkgPj0gMDtcblxuICAgICAgICBpZiAoaXNJbml0aWFsVmFsdWUgfHwgKGluaXRpYWxJc0FycmF5ICYmIGluaXRpYWxWYWx1ZUNvbnRhaW5zSXRlbSkpIHtcbiAgICAgICAgICBpdGVtLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICBjb25zdCBpdGVtSW5kZXggPSB0aGlzLml0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgICAgICAgIChzZWxlY3RlZEl0ZW0pID0+IHNlbGVjdGVkSXRlbS5pbmRleCA9PT0gaXRlbUluZGV4LFxuICAgICAgICAgICAgKSA8IDBcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXMucHVzaCh7IGluZGV4OiBpdGVtSW5kZXgsIGl0ZW1EYXRhOiBpdGVtLnZhbHVlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHNlbGVjdGVkSXRlbXM7XG4gICAgICB0aGlzLnVwZGF0ZURhdGFTdGF0ZSgpO1xuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLy8gaWYgb25seVNob3dTZWxlY3RlZCBpcyBjaGVja2VkLCB0aGVuIG9ubHkgaXRlcmF0ZSB0aHJvdWdoIHRoZSBpbml0aWFsIHNlbGVjdGlvblxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5vbmx5U2hvd1NlbGVjdGVkXG4gICAgICA/IHRoaXMuaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnNlbGVjdGVkKVxuICAgICAgOiB0aGlzLml0ZW1zO1xuXG4gICAgdGhpcy4jaXRlbUluZGV4ID0gdGhpcy4jaXRlbUluZGV4ICsgMTA7XG4gICAgdGhpcy5zZWFyY2hJdGVtcyhpdGVtcykudGhlbigoc2VhcmNoZWRJdGVtcykgPT4ge1xuICAgICAgdGhpcy5kaXNwbGF5ZWRJdGVtcyA9IHNlYXJjaGVkSXRlbXMuc2xpY2UoMCwgdGhpcy4jaXRlbUluZGV4KTtcblxuICAgICAgaWYgKHRoaXMuI2l0ZW1JbmRleCA+IHNlYXJjaGVkSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuaXRlbXNIYXZlTW9yZSA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pdGVtc0hhdmVNb3JlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaXRlbXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuI2Fubm91bmNlU2VsZWN0aW9uU3RhdGUoXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGgsXG4gICAgICAgIHRoaXMuZGlzcGxheWVkSXRlbXMubGVuZ3RoLFxuICAgICAgKTtcblxuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5ZWRJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpZiAoaXRlbS5zZWxlY3RlZCkge1xuICAgICAgICBpdGVtLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy51cGRhdGVEYXRhU3RhdGUoKTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBpdGVtQ2xpY2soc2VsZWN0ZWRJdGVtOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb250ZXh0LnNlbGVjdE1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICB0aGlzLm9uSXRlbVNlbGVjdCghc2VsZWN0ZWRJdGVtLnNlbGVjdGVkLCBzZWxlY3RlZEl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZW1TZWxlY3QobmV3U2VsZWN0U3RhdGU6IGJvb2xlYW4sIGl0ZW1Ub1NlbGVjdDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zO1xuXG4gICAgaWYgKHRoaXMuY29udGV4dC5zZWxlY3RNb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgLyogU2FuaXR5IGNoZWNrIC0gc2luZ2xlIHNlbGVjdCBtb2RlIHNob3VsZCBvbmx5IGFsb3cgZm9yIGEgYHRydWVgIHNlbGVjdCBzdGF0ZSAqL1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChuZXdTZWxlY3RTdGF0ZSkge1xuICAgICAgICBpdGVtVG9TZWxlY3Quc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgaWYgKGl0ZW0udmFsdWUgIT09IGl0ZW1Ub1NlbGVjdC52YWx1ZSkge1xuICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGlmIChpdGVtLnZhbHVlICE9PSBpdGVtVG9TZWxlY3QudmFsdWUpIHtcbiAgICAgICAgICAgIGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBpdGVtSW5kZXggPSBpdGVtcy5maW5kSW5kZXgoXG4gICAgICAgICAgKGl0ZW0pID0+IGl0ZW0udmFsdWUgPT09IGl0ZW1Ub1NlbGVjdC52YWx1ZSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW1xuICAgICAgICAgIHsgaW5kZXg6IGl0ZW1JbmRleCwgaXRlbURhdGE6IGl0ZW1zW2l0ZW1JbmRleF0udmFsdWUgfSxcbiAgICAgICAgXTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtczogeyBpbmRleDogbnVtYmVyOyBpdGVtRGF0YTogYW55IH1bXSA9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcztcbiAgICAgIGNvbnN0IGFsbEl0ZW1zSW5kZXggPSBpdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSBpdGVtVG9TZWxlY3QudmFsdWUsXG4gICAgICApO1xuICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtc0luZGV4ID0gc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChzZWxlY3RlZEl0ZW0pID0+IHNlbGVjdGVkSXRlbS5pbmRleCA9PT0gYWxsSXRlbXNJbmRleCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChuZXdTZWxlY3RTdGF0ZSAmJiBzZWxlY3RlZEl0ZW1zSW5kZXggPT09IC0xKSB7XG4gICAgICAgIHNlbGVjdGVkSXRlbXMucHVzaCh7XG4gICAgICAgICAgaW5kZXg6IGFsbEl0ZW1zSW5kZXgsXG4gICAgICAgICAgaXRlbURhdGE6IGl0ZW1zW2FsbEl0ZW1zSW5kZXhdLnZhbHVlLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoIW5ld1NlbGVjdFN0YXRlICYmIHNlbGVjdGVkSXRlbXNJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgc2VsZWN0ZWRJdGVtcy5zcGxpY2Uoc2VsZWN0ZWRJdGVtc0luZGV4LCAxKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gc2VsZWN0ZWRJdGVtcztcbiAgICB9XG4gICAgdGhpcy51cGRhdGVEYXRhU3RhdGUoKTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hBcHBsaWVkKHNlYXJjaFRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuc2VhcmNoVGV4dCAhPT0gc2VhcmNoVGV4dCkge1xuICAgICAgdGhpcy4jaXRlbUluZGV4ID0gMTA7XG4gICAgICB0aGlzLm1vZGFsSW5zdGFuY2Uuc2Nyb2xsQ29udGVudFRvVG9wKCk7XG4gICAgfVxuICAgIHRoaXMuc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQ7XG4gICAgdGhpcy5pdGVtc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcblxuICAgIC8vIFdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgdGhlIHNjcm9sbCBldmVudCBtYWtlcyBpdCBhbGwgdGhlIHdheSB0aHJvdWdoIHRoZSBpbmZpbml0ZSBzY3JvbGwgd29ya2Zsb3cgYmVmb3JlIHVwZGF0aW5nIHRoZSBkYXRhIHN0YXRlLlxuICAgIC8vIFdpdGhvdXQgdGhpcywgdGhlIGluZmluaXRlIHNjcm9sbCBjYW4gYWRkIGl0ZW1zIGltcHJvcGVybHkgYmVjYXVzZSBpdCBjYW4gc2VlIHRoZSBhYm92ZSBzY3JvbGwgYWZ0ZXIgdGhlIGl0ZW1zIGZpbmlzaCBzZWFyY2hpbmcuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZURhdGFTdGF0ZSgpO1xuICAgIH0sIDEwMCk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoSXRlbXMoaXRlbXM6IGFueVtdKTogUHJvbWlzZTxhbnlbXT4ge1xuICAgIGNvbnN0IHNlYXJjaFRleHQgPSB0aGlzLnNlYXJjaFRleHQ7XG5cbiAgICBpZiAoc2VhcmNoVGV4dCkge1xuICAgICAgY29uc3QgcmVzdWx0VmFsdWVzID0gdGhpcy5jb250ZXh0LnNlYXJjaChcbiAgICAgICAgc2VhcmNoVGV4dCxcbiAgICAgICAgaXRlbXMubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW0udmFsdWU7XG4gICAgICAgIH0pLFxuICAgICAgICB7IGNvbnRleHQ6ICdtb2RhbCcgfSxcbiAgICAgICk7XG5cbiAgICAgIGlmIChyZXN1bHRWYWx1ZXMgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBpdGVtcy5maWx0ZXIoXG4gICAgICAgICAgKGl0ZW0pID0+IHJlc3VsdFZhbHVlcy5pbmRleE9mKGl0ZW0udmFsdWUpID49IDAsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzdWx0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiByZXN1bHRWYWx1ZXMudGhlbigodmFsdWVzKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gaXRlbXMuZmlsdGVyKFxuICAgICAgICAgICAgKGl0ZW0pID0+IHZhbHVlcy5pbmRleE9mKGl0ZW0udmFsdWUpID49IDAsXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGl0ZW1zKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtcztcblxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXM6IHsgaW5kZXg6IG51bWJlcjsgaXRlbURhdGE6IGFueSB9W10gPVxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zO1xuXG4gICAgdGhpcy5kaXNwbGF5ZWRJdGVtcy5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcbiAgICAgIGlmICghaXRlbS5zZWxlY3RlZCkge1xuICAgICAgICBpdGVtLnNlbGVjdGVkID0gdHJ1ZTtcblxuICAgICAgICBjb25zdCBpbmRleCA9IGl0ZW1zLmluZGV4T2YoaXRlbSk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHNlbGVjdGVkSXRlbXMuZmluZEluZGV4KFxuICAgICAgICAgICAgKHNlbGVjdGVkSXRlbSkgPT4gc2VsZWN0ZWRJdGVtLmluZGV4ID09PSBpbmRleCxcbiAgICAgICAgICApIDwgMFxuICAgICAgICApIHtcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgaXRlbURhdGE6IGl0ZW1zW2luZGV4XS52YWx1ZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gc2VsZWN0ZWRJdGVtcztcbiAgICB0aGlzLnVwZGF0ZURhdGFTdGF0ZSgpO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZURhdGFTdGF0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXM7XG5cbiAgICBjb25zdCBzZWxlY3RlZEl0ZW1zOiB7IGluZGV4OiBudW1iZXI7IGl0ZW1EYXRhOiBhbnkgfVtdID1cbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcztcbiAgICBpdGVtcz8uZm9yRWFjaCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBpdGVtLnNlbGVjdGVkID1cbiAgICAgICAgc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgICAgKHNlbGVjdGVkSXRlbSkgPT4gc2VsZWN0ZWRJdGVtLmluZGV4ID09PSBpbmRleCxcbiAgICAgICAgKSAhPT0gLTE7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlYXJjaEl0ZW1zKGl0ZW1zKS50aGVuKChzZWFyY2hlZEl0ZW1zKSA9PiB7XG4gICAgICBpZiAodGhpcy5vbmx5U2hvd1NlbGVjdGVkKSB7XG4gICAgICAgIHNlYXJjaGVkSXRlbXMgPSBzZWFyY2hlZEl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5zZWxlY3RlZCk7XG4gICAgICB9XG4gICAgICB0aGlzLmRpc3BsYXllZEl0ZW1zID0gc2VhcmNoZWRJdGVtcy5zbGljZSgwLCB0aGlzLiNpdGVtSW5kZXgpO1xuXG4gICAgICBpZiAodGhpcy4jaXRlbUluZGV4ID4gc2VhcmNoZWRJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5pdGVtc0hhdmVNb3JlID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLml0ZW1zSGF2ZU1vcmUgPSB0cnVlO1xuICAgICAgfVxuICAgICAgdGhpcy5pdGVtc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgdGhpcy4jYW5ub3VuY2VTZWxlY3Rpb25TdGF0ZShcbiAgICAgICAgc2VsZWN0ZWRJdGVtcy5sZW5ndGgsXG4gICAgICAgIHRoaXMuZGlzcGxheWVkSXRlbXMubGVuZ3RoLFxuICAgICAgKTtcblxuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlSXRlbURhdGEoZGF0YTogYW55W10pOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHQuaXRlbXMgPSBkYXRhO1xuICAgIHRoaXMuaXRlbXMgPSBbXTtcbiAgICB0aGlzLiNpdGVtSW5kZXggPSAxMDtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoc2VsZWN0ZWRJdGVtKSA9PiB7XG4gICAgICB0aGlzLmNvbnRleHQuaXRlbXMuZm9yRWFjaCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RlZEl0ZW0uaXRlbURhdGEgPT09IGl0ZW0pIHtcbiAgICAgICAgICBzZWxlY3RlZEl0ZW0uaW5kZXggPSBpbmRleDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZEl0ZW1zKCk7XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNhbm5vdW5jZVNlbGVjdGlvblN0YXRlKFxuICAgIHNlbGVjdGVkSXRlbUNvdW50OiBudW1iZXIsXG4gICAgZGlzcGxheWVkSXRlbUNvdW50OiBudW1iZXIsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuI3Jlc291cmNlc1N2Y1xuICAgICAgLmdldFN0cmluZyhcbiAgICAgICAgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfZGlzcGxheWVkX2l0ZW1zX3VwZGF0ZWQnLFxuICAgICAgICBzZWxlY3RlZEl0ZW1Db3VudC50b1N0cmluZygpLFxuICAgICAgICBkaXNwbGF5ZWRJdGVtQ291bnQudG9TdHJpbmcoKSxcbiAgICAgIClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZXNTdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy4jbGl2ZUFubm91bmNlclN2Yy5hbm5vdW5jZShyZXNvdXJjZXNTdHJpbmcpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxza3ktbW9kYWxcbiAgY2xhc3M9XCJza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbFwiXG4gIFthdHRyLmlkXT1cImlkXCJcbiAgW25nQ2xhc3NdPVwiJ3NreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLScgKyBjb250ZXh0LnNlbGVjdE1vZGVcIlxuPlxuICA8c2t5LW1vZGFsLWhlYWRlcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGV4dC51c2VyQ29uZmlnPy50aXRsZTsgZWxzZSBkZWZhdWx0VGl0bGVcIj5cbiAgICAgIHt7IGNvbnRleHQudXNlckNvbmZpZy50aXRsZSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3NreS1tb2RhbC1oZWFkZXI+XG4gIDxza3ktbW9kYWwtY29udGVudFxuICAgIFtza3lWaWV3a2VlcGVyXT1cIlsnLnNreS1sb29rdXAtc2hvdy1tb3JlLXRvb2xiYXItd3JhcHBlciddXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktbG9va3VwLXNob3ctbW9yZS10b29sYmFyLXdyYXBwZXJcIj5cbiAgICAgIDxza3ktdG9vbGJhclxuICAgICAgICBbbGlzdERlc2NyaXB0b3JdPVwiY29udGV4dC51c2VyQ29uZmlnLnNlbGVjdGlvbkRlc2NyaXB0b3JcIlxuICAgICAgICBjbGFzcz1cInNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLXRvb2xiYXJcIlxuICAgICAgPlxuICAgICAgICA8c2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgICAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICAgIDxza3ktc2VhcmNoXG4gICAgICAgICAgICAgIFtkZWJvdW5jZVRpbWVdPVwiMjUwXCJcbiAgICAgICAgICAgICAgW3NlYXJjaFRleHRdPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAgIChzZWFyY2hBcHBseSk9XCJzZWFyY2hBcHBsaWVkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9za3ktc2VhcmNoPlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICA8c2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cImNvbnRleHQuc2hvd0FkZEJ1dHRvblwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfYWRkX2J1dHRvbl9hcmlhX2xhYmVsJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGNvbnRleHQudXNlckNvbmZpZy5zZWxlY3Rpb25EZXNjcmlwdG9yXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLWFkZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhZGRCdXR0b25DbGlja2VkKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2t5LWljb24gaWNvbj1cImFkZFwiIC8+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX2FkZCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICA8L3NreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICA8L3NreS10b29sYmFyPlxuICAgICAgPHNreS10b29sYmFyXG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5zZWxlY3RNb2RlID09PSAnbXVsdGlwbGUnXCJcbiAgICAgICAgY2xhc3M9XCJza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1tdWx0aXNlbGVjdC10b29sYmFyXCJcbiAgICAgID5cbiAgICAgICAgPHNreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtc2VsZWN0LWFsbC1idG5cIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zZWxlY3RfYWxsX2J1dHRvbl9hcmlhX2xhYmVsJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGNvbnRleHQudXNlckNvbmZpZy5zZWxlY3Rpb25EZXNjcmlwdG9yXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RBbGwoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfc2VsZWN0X2FsbF9idXR0b25fdGl0bGUnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLWNsZWFyLWFsbC1idG5cIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9jbGVhcl9hbGxfYnV0dG9uX2FyaWFfbGFiZWwnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlczogY29udGV4dC51c2VyQ29uZmlnLnNlbGVjdGlvbkRlc2NyaXB0b3JcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyQWxsKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICdza3l1eF9sb29rdXBfc2hvd19tb3JlX2NsZWFyX2FsbF9idXR0b25fdGl0bGUnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgIDxza3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gICAgICAgICAgICA8c2t5LWNoZWNrYm94XG4gICAgICAgICAgICAgIFsoY2hlY2tlZCldPVwib25seVNob3dTZWxlY3RlZFwiXG4gICAgICAgICAgICAgIFtsYWJlbF09XCJcbiAgICAgICAgICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zaG93X3NlbGVjdGVkX29wdGlvbl9hcmlhX2xhYmVsJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGNvbnRleHQudXNlckNvbmZpZy5zZWxlY3Rpb25EZXNjcmlwdG9yXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwidXBkYXRlRGF0YVN0YXRlKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2t5LWNoZWNrYm94LWxhYmVsPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zaG93X3NlbGVjdGVkX29wdGlvbl90aXRsZSdcbiAgICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8L3NreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgICAgIDwvc2t5LWNoZWNrYm94PlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICA8L3NreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICA8L3NreS10b29sYmFyPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiZGlzcGxheWVkSXRlbXMubGVuZ3RoID09PSAwXCJcbiAgICAgIGNsYXNzPVwic2t5LWZvbnQtZGVlbXBoYXNpemVkIHNreS1sb29rdXAtc2hvdy1tb3JlLW5vLXJlc3VsdHNcIlxuICAgID5cbiAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX25vX3Jlc3VsdHMnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9kaXY+XG4gICAgPHNreS1yZXBlYXRlciBjbGFzcz1cInNreS1sb29rdXAtc2hvdy1tb3JlLXJlcGVhdGVyXCIgZXhwYW5kTW9kZT1cIm5vbmVcIj5cbiAgICAgIDxza3ktcmVwZWF0ZXItaXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkaXNwbGF5ZWRJdGVtc1wiXG4gICAgICAgIFtzZWxlY3RhYmxlXT1cImNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ211bHRpcGxlJ1wiXG4gICAgICAgIFsoaXNTZWxlY3RlZCldPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgIChjbGljayk9XCJpdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwiaXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgKGlzU2VsZWN0ZWRDaGFuZ2UpPVwib25JdGVtU2VsZWN0KCRldmVudCwgaXRlbSlcIlxuICAgICAgPlxuICAgICAgICA8c2t5LXJlcGVhdGVyLWl0ZW0tY29udGVudD5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICByZXBlYXRlckl0ZW1UZW1wbGF0ZSA/PyBkZWZhdWx0SXRlbVRlbXBsYXRlO1xuICAgICAgICAgICAgICBjb250ZXh0OiB7IGl0ZW06IGl0ZW0udmFsdWUgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvc2t5LXJlcGVhdGVyLWl0ZW0tY29udGVudD5cbiAgICAgIDwvc2t5LXJlcGVhdGVyLWl0ZW0+XG4gICAgPC9za3ktcmVwZWF0ZXI+XG4gICAgPHNreS1pbmZpbml0ZS1zY3JvbGxcbiAgICAgIFtlbmFibGVkXT1cIml0ZW1zSGF2ZU1vcmVcIlxuICAgICAgW2xvYWRpbmddPVwiaXRlbXNMb2FkaW5nXCJcbiAgICAgIChzY3JvbGxFbmQpPVwiYWRkSXRlbXMoKVwiXG4gICAgPlxuICAgIDwvc2t5LWluZmluaXRlLXNjcm9sbD5cbiAgPC9za3ktbW9kYWwtY29udGVudD5cbiAgPHNreS1tb2RhbC1mb290ZXI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tcHJpbWFyeSBza3ktbWFyZ2luLWlubGluZS1jb21wYWN0IHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLXNhdmVcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zZWxlY3RfY29udGV4dCdcbiAgICAgICAgICB8IHNreUxpYlJlc291cmNlczogY29udGV4dC51c2VyQ29uZmlnLnNlbGVjdGlvbkRlc2NyaXB0b3JcbiAgICAgIFwiXG4gICAgICAoY2xpY2spPVwibW9kYWxJbnN0YW5jZS5zYXZlKHNlbGVjdGVkSXRlbXMpXCJcbiAgICA+XG4gICAgICB7eyAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zZWxlY3QnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1jbG9zZVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJtb2RhbEluc3RhbmNlLmNsb3NlKClcIlxuICAgID5cbiAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX2NhbmNlbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9za3ktbW9kYWwtZm9vdGVyPlxuPC9za3ktbW9kYWw+XG5cbjxuZy10ZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIiAjZGVmYXVsdEl0ZW1UZW1wbGF0ZT5cbiAge3sgaXRlbVtjb250ZXh0LmRlc2NyaXB0b3JQcm9wZXJ0eV0gfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRpdGxlPlxuICB7e1xuICAgICdza3l1eF9sb29rdXBfc2hvd19tb3JlX21vZGFsX3RpdGxlJ1xuICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGNvbnRleHQudXNlckNvbmZpZy5zZWxlY3Rpb25EZXNjcmlwdG9yXG4gIH19XG48L25nLXRlbXBsYXRlPlxuIl19
308
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9sb29rdXAvbG9va3VwLXNob3ctbW9yZS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9sb29rdXAvbG9va3VwLXNob3ctbW9yZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUdULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsWUFBWSxFQUNaLHVCQUF1QixFQUN2QixtQkFBbUIsR0FDcEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsT0FBTyxFQUFF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QyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FqV1UsK0JBQStCO2tHQUEvQiwrQkFBK0Isc0ZDdEQ1QyxpeExBc0tBLDhQRDdISSxZQUFZLG9nQkFDWixpQkFBaUIsd2NBQ2pCLGFBQWEsdUpBQ2IsdUJBQXVCLDJKQUN2Qix3QkFBd0IsdUdBQ3hCLGNBQWMsc1hBQ2QsaUJBQWlCLG9rQkFDakIsZUFBZSx1UkFDZixjQUFjLDhCQUNkLGdCQUFnQiw0VUFDaEIsbUJBQW1COzsyRkFHViwrQkFBK0I7a0JBcEIzQyxTQUFTO2lDQUNJLElBQUksWUFDTiw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixtQkFBbUI7cUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIFRlbXBsYXRlUmVmLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5SWRTZXJ2aWNlLFxuICBTa3lMaXZlQW5ub3VuY2VyU2VydmljZSxcbiAgU2t5Vmlld2tlZXBlck1vZHVsZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5pbXBvcnQgeyBTa3lUb29sYmFyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5pbXBvcnQgeyBTa3lJbmZpbml0ZVNjcm9sbE1vZHVsZSwgU2t5UmVwZWF0ZXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGlzdHMnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSwgU2t5TW9kYWxNb2R1bGUgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lTZWFyY2hNb2R1bGUgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lMb29rdXBSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWxvb2t1cC1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5TG9va3VwU2hvd01vcmVOYXRpdmVQaWNrZXJDb250ZXh0IH0gZnJvbSAnLi90eXBlcy9sb29rdXAtc2hvdy1tb3JlLW5hdGl2ZS1waWNrZXItY29udGV4dCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBJbnRlcm5hbCBjb21wb25lbnQgdG8gaW1wbGVtZW50IHRoZSBuYXRpdmUgcGlja2VyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb29rdXAtc2hvdy1tb3JlLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbG9va3VwLXNob3ctbW9yZS1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lDaGVja2JveE1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIFNreUxvb2t1cFJlc291cmNlc01vZHVsZSxcbiAgICBTa3lNb2RhbE1vZHVsZSxcbiAgICBTa3lSZXBlYXRlck1vZHVsZSxcbiAgICBTa3lTZWFyY2hNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gICAgU2t5VG9vbGJhck1vZHVsZSxcbiAgICBTa3lWaWV3a2VlcGVyTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMb29rdXBTaG93TW9yZU1vZGFsQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgdGhlIGJ1dHRvbiB0byBhZGQgbmV3IG9wdGlvbnMgdG8gdGhlIGxpc3QuXG4gICAqL1xuICBwdWJsaWMgYWRkQ2xpY2sgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGFzc29jaWF0ZSB0aGlzIG1vZGFsIHdpdGggaXRzIG93bmluZyBsb29rdXAgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgcHVibGljIGl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIHB1YmxpYyBpdGVtc0xvYWRpbmcgPSBmYWxzZTtcblxuICBwdWJsaWMgZGF0YU1hbmFnZXJDb25maWcgPSB7XG4gICAgc29ydE9wdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdheicsXG4gICAgICAgIGxhYmVsOiAnQWxwaGFiZXRpY2FsIChBIC0gWiknLFxuICAgICAgICBkZXNjZW5kaW5nOiBmYWxzZSxcbiAgICAgICAgcHJvcGVydHlOYW1lOiAnbmFtZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ3phJyxcbiAgICAgICAgbGFiZWw6ICdBbHBoYWJldGljYWwgKFogLSBBKScsXG4gICAgICAgIGRlc2NlbmRpbmc6IHRydWUsXG4gICAgICAgIHByb3BlcnR5TmFtZTogJ25hbWUnLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xuXG4gIHB1YmxpYyBkaXNwbGF5ZWRJdGVtczogYW55W10gPSBbXTtcblxuICBwdWJsaWMgaXRlbXNIYXZlTW9yZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBvbmx5U2hvd1NlbGVjdGVkID0gZmFsc2U7XG5cbiAgcHVibGljIHJlcGVhdGVySXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgcHVibGljIHNlbGVjdGVkSXRlbXM6IHsgaW5kZXg6IG51bWJlcjsgaXRlbURhdGE6IGFueSB9W10gPSBbXTtcblxuICAjaXRlbUluZGV4ID0gMDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBtb2RhbEluc3RhbmNlID0gaW5qZWN0KFNreU1vZGFsSW5zdGFuY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGV4dCA9IGluamVjdChTa3lMb29rdXBTaG93TW9yZU5hdGl2ZVBpY2tlckNvbnRleHQpO1xuICByZWFkb25seSAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICByZWFkb25seSAjaWRTdmMgPSBpbmplY3QoU2t5SWRTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2xpdmVBbm5vdW5jZXJTdmMgPSBpbmplY3QoU2t5TGl2ZUFubm91bmNlclNlcnZpY2UpO1xuICByZWFkb25seSAjcmVzb3VyY2VzU3ZjID0gaW5qZWN0KFNreUxpYlJlc291cmNlc1NlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaWQgPSB0aGlzLiNpZFN2Yy5nZW5lcmF0ZUlkKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVwZWF0ZXJJdGVtVGVtcGxhdGUgPSB0aGlzLmNvbnRleHQudXNlckNvbmZpZy5pdGVtVGVtcGxhdGUgfHwgbnVsbDtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSB0aGlzLmNvbnRleHQuaW5pdGlhbFNlYXJjaDtcbiAgICB0aGlzLmFkZEl0ZW1zKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGFkZEJ1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5hZGRDbGljay5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgYWRkSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtc0xvYWRpbmcgPSB0cnVlO1xuICAgIGlmICghdGhpcy5pdGVtcyB8fCB0aGlzLml0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtczogYW55W10gPSB0aGlzLnNlbGVjdGVkSXRlbXMuc2xpY2UoKTtcblxuICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuY29udGV4dC5pdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB2YWx1ZTogaXRlbSxcbiAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzSW5pdGlhbFZhbHVlOiBib29sZWFuID1cbiAgICAgICAgICB0aGlzLmNvbnRleHQuaW5pdGlhbFZhbHVlID09PSBpdGVtLnZhbHVlO1xuXG4gICAgICAgIGNvbnN0IGluaXRpYWxJc0FycmF5OiBib29sZWFuID0gQXJyYXkuaXNBcnJheShcbiAgICAgICAgICB0aGlzLmNvbnRleHQuaW5pdGlhbFZhbHVlLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBpbml0aWFsVmFsdWVDb250YWluc0l0ZW06IGJvb2xlYW4gPVxuICAgICAgICAgIHRoaXMuY29udGV4dC5pbml0aWFsVmFsdWUuZmluZEluZGV4KFxuICAgICAgICAgICAgKGluaXRpYWxJdGVtOiBhbnkpID0+IGluaXRpYWxJdGVtID09PSBpdGVtLnZhbHVlLFxuICAgICAgICAgICkgPj0gMDtcblxuICAgICAgICBpZiAoaXNJbml0aWFsVmFsdWUgfHwgKGluaXRpYWxJc0FycmF5ICYmIGluaXRpYWxWYWx1ZUNvbnRhaW5zSXRlbSkpIHtcbiAgICAgICAgICBpdGVtLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICBjb25zdCBpdGVtSW5kZXggPSB0aGlzLml0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgICAgICAgIChzZWxlY3RlZEl0ZW0pID0+IHNlbGVjdGVkSXRlbS5pbmRleCA9PT0gaXRlbUluZGV4LFxuICAgICAgICAgICAgKSA8IDBcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXMucHVzaCh7IGluZGV4OiBpdGVtSW5kZXgsIGl0ZW1EYXRhOiBpdGVtLnZhbHVlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHNlbGVjdGVkSXRlbXM7XG4gICAgICB0aGlzLnVwZGF0ZURhdGFTdGF0ZSgpO1xuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLy8gaWYgb25seVNob3dTZWxlY3RlZCBpcyBjaGVja2VkLCB0aGVuIG9ubHkgaXRlcmF0ZSB0aHJvdWdoIHRoZSBpbml0aWFsIHNlbGVjdGlvblxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5vbmx5U2hvd1NlbGVjdGVkXG4gICAgICA/IHRoaXMuaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnNlbGVjdGVkKVxuICAgICAgOiB0aGlzLml0ZW1zO1xuXG4gICAgdGhpcy4jaXRlbUluZGV4ID0gdGhpcy4jaXRlbUluZGV4ICsgMTA7XG4gICAgdGhpcy5zZWFyY2hJdGVtcyhpdGVtcykudGhlbigoc2VhcmNoZWRJdGVtcykgPT4ge1xuICAgICAgdGhpcy5kaXNwbGF5ZWRJdGVtcyA9IHNlYXJjaGVkSXRlbXMuc2xpY2UoMCwgdGhpcy4jaXRlbUluZGV4KTtcblxuICAgICAgaWYgKHRoaXMuI2l0ZW1JbmRleCA+IHNlYXJjaGVkSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuaXRlbXNIYXZlTW9yZSA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pdGVtc0hhdmVNb3JlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaXRlbXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuI2Fubm91bmNlU2VsZWN0aW9uU3RhdGUoXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGgsXG4gICAgICAgIHRoaXMuZGlzcGxheWVkSXRlbXMubGVuZ3RoLFxuICAgICAgKTtcblxuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5ZWRJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpZiAoaXRlbS5zZWxlY3RlZCkge1xuICAgICAgICBpdGVtLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy51cGRhdGVEYXRhU3RhdGUoKTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBpdGVtQ2xpY2soc2VsZWN0ZWRJdGVtOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb250ZXh0LnNlbGVjdE1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICB0aGlzLm9uSXRlbVNlbGVjdCghc2VsZWN0ZWRJdGVtLnNlbGVjdGVkLCBzZWxlY3RlZEl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZW1TZWxlY3QobmV3U2VsZWN0U3RhdGU6IGJvb2xlYW4sIGl0ZW1Ub1NlbGVjdDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zO1xuXG4gICAgaWYgKHRoaXMuY29udGV4dC5zZWxlY3RNb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgLyogU2FuaXR5IGNoZWNrIC0gc2luZ2xlIHNlbGVjdCBtb2RlIHNob3VsZCBvbmx5IGFsb3cgZm9yIGEgYHRydWVgIHNlbGVjdCBzdGF0ZSAqL1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChuZXdTZWxlY3RTdGF0ZSkge1xuICAgICAgICBpdGVtVG9TZWxlY3Quc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgaWYgKGl0ZW0udmFsdWUgIT09IGl0ZW1Ub1NlbGVjdC52YWx1ZSkge1xuICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGlmIChpdGVtLnZhbHVlICE9PSBpdGVtVG9TZWxlY3QudmFsdWUpIHtcbiAgICAgICAgICAgIGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBpdGVtSW5kZXggPSBpdGVtcy5maW5kSW5kZXgoXG4gICAgICAgICAgKGl0ZW0pID0+IGl0ZW0udmFsdWUgPT09IGl0ZW1Ub1NlbGVjdC52YWx1ZSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW1xuICAgICAgICAgIHsgaW5kZXg6IGl0ZW1JbmRleCwgaXRlbURhdGE6IGl0ZW1zW2l0ZW1JbmRleF0udmFsdWUgfSxcbiAgICAgICAgXTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtczogeyBpbmRleDogbnVtYmVyOyBpdGVtRGF0YTogYW55IH1bXSA9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcztcbiAgICAgIGNvbnN0IGFsbEl0ZW1zSW5kZXggPSBpdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSBpdGVtVG9TZWxlY3QudmFsdWUsXG4gICAgICApO1xuICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtc0luZGV4ID0gc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChzZWxlY3RlZEl0ZW0pID0+IHNlbGVjdGVkSXRlbS5pbmRleCA9PT0gYWxsSXRlbXNJbmRleCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChuZXdTZWxlY3RTdGF0ZSAmJiBzZWxlY3RlZEl0ZW1zSW5kZXggPT09IC0xKSB7XG4gICAgICAgIHNlbGVjdGVkSXRlbXMucHVzaCh7XG4gICAgICAgICAgaW5kZXg6IGFsbEl0ZW1zSW5kZXgsXG4gICAgICAgICAgaXRlbURhdGE6IGl0ZW1zW2FsbEl0ZW1zSW5kZXhdLnZhbHVlLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoIW5ld1NlbGVjdFN0YXRlICYmIHNlbGVjdGVkSXRlbXNJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgc2VsZWN0ZWRJdGVtcy5zcGxpY2Uoc2VsZWN0ZWRJdGVtc0luZGV4LCAxKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gc2VsZWN0ZWRJdGVtcztcbiAgICB9XG4gICAgdGhpcy51cGRhdGVEYXRhU3RhdGUoKTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hBcHBsaWVkKHNlYXJjaFRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuc2VhcmNoVGV4dCAhPT0gc2VhcmNoVGV4dCkge1xuICAgICAgdGhpcy4jaXRlbUluZGV4ID0gMTA7XG4gICAgICB0aGlzLm1vZGFsSW5zdGFuY2Uuc2Nyb2xsQ29udGVudFRvVG9wKCk7XG4gICAgfVxuICAgIHRoaXMuc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQ7XG4gICAgdGhpcy5pdGVtc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcblxuICAgIC8vIFdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgdGhlIHNjcm9sbCBldmVudCBtYWtlcyBpdCBhbGwgdGhlIHdheSB0aHJvdWdoIHRoZSBpbmZpbml0ZSBzY3JvbGwgd29ya2Zsb3cgYmVmb3JlIHVwZGF0aW5nIHRoZSBkYXRhIHN0YXRlLlxuICAgIC8vIFdpdGhvdXQgdGhpcywgdGhlIGluZmluaXRlIHNjcm9sbCBjYW4gYWRkIGl0ZW1zIGltcHJvcGVybHkgYmVjYXVzZSBpdCBjYW4gc2VlIHRoZSBhYm92ZSBzY3JvbGwgYWZ0ZXIgdGhlIGl0ZW1zIGZpbmlzaCBzZWFyY2hpbmcuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZURhdGFTdGF0ZSgpO1xuICAgIH0sIDEwMCk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoSXRlbXMoaXRlbXM6IGFueVtdKTogUHJvbWlzZTxhbnlbXT4ge1xuICAgIGNvbnN0IHNlYXJjaFRleHQgPSB0aGlzLnNlYXJjaFRleHQ7XG5cbiAgICBpZiAoc2VhcmNoVGV4dCkge1xuICAgICAgY29uc3QgcmVzdWx0VmFsdWVzID0gdGhpcy5jb250ZXh0LnNlYXJjaChcbiAgICAgICAgc2VhcmNoVGV4dCxcbiAgICAgICAgaXRlbXMubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW0udmFsdWU7XG4gICAgICAgIH0pLFxuICAgICAgICB7IGNvbnRleHQ6ICdtb2RhbCcgfSxcbiAgICAgICk7XG5cbiAgICAgIGlmIChyZXN1bHRWYWx1ZXMgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBpdGVtcy5maWx0ZXIoXG4gICAgICAgICAgKGl0ZW0pID0+IHJlc3VsdFZhbHVlcy5pbmRleE9mKGl0ZW0udmFsdWUpID49IDAsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzdWx0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiByZXN1bHRWYWx1ZXMudGhlbigodmFsdWVzKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gaXRlbXMuZmlsdGVyKFxuICAgICAgICAgICAgKGl0ZW0pID0+IHZhbHVlcy5pbmRleE9mKGl0ZW0udmFsdWUpID49IDAsXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGl0ZW1zKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtcztcblxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXM6IHsgaW5kZXg6IG51bWJlcjsgaXRlbURhdGE6IGFueSB9W10gPVxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zO1xuXG4gICAgdGhpcy5kaXNwbGF5ZWRJdGVtcy5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcbiAgICAgIGlmICghaXRlbS5zZWxlY3RlZCkge1xuICAgICAgICBpdGVtLnNlbGVjdGVkID0gdHJ1ZTtcblxuICAgICAgICBjb25zdCBpbmRleCA9IGl0ZW1zLmluZGV4T2YoaXRlbSk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHNlbGVjdGVkSXRlbXMuZmluZEluZGV4KFxuICAgICAgICAgICAgKHNlbGVjdGVkSXRlbSkgPT4gc2VsZWN0ZWRJdGVtLmluZGV4ID09PSBpbmRleCxcbiAgICAgICAgICApIDwgMFxuICAgICAgICApIHtcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgaXRlbURhdGE6IGl0ZW1zW2luZGV4XS52YWx1ZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gc2VsZWN0ZWRJdGVtcztcbiAgICB0aGlzLnVwZGF0ZURhdGFTdGF0ZSgpO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZURhdGFTdGF0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXM7XG5cbiAgICBjb25zdCBzZWxlY3RlZEl0ZW1zOiB7IGluZGV4OiBudW1iZXI7IGl0ZW1EYXRhOiBhbnkgfVtdID1cbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcztcbiAgICBpdGVtcz8uZm9yRWFjaCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBpdGVtLnNlbGVjdGVkID1cbiAgICAgICAgc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgICAgKHNlbGVjdGVkSXRlbSkgPT4gc2VsZWN0ZWRJdGVtLmluZGV4ID09PSBpbmRleCxcbiAgICAgICAgKSAhPT0gLTE7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlYXJjaEl0ZW1zKGl0ZW1zKS50aGVuKChzZWFyY2hlZEl0ZW1zKSA9PiB7XG4gICAgICBpZiAodGhpcy5vbmx5U2hvd1NlbGVjdGVkKSB7XG4gICAgICAgIHNlYXJjaGVkSXRlbXMgPSBzZWFyY2hlZEl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5zZWxlY3RlZCk7XG4gICAgICB9XG4gICAgICB0aGlzLmRpc3BsYXllZEl0ZW1zID0gc2VhcmNoZWRJdGVtcy5zbGljZSgwLCB0aGlzLiNpdGVtSW5kZXgpO1xuXG4gICAgICBpZiAodGhpcy4jaXRlbUluZGV4ID4gc2VhcmNoZWRJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5pdGVtc0hhdmVNb3JlID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLml0ZW1zSGF2ZU1vcmUgPSB0cnVlO1xuICAgICAgfVxuICAgICAgdGhpcy5pdGVtc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgdGhpcy4jYW5ub3VuY2VTZWxlY3Rpb25TdGF0ZShcbiAgICAgICAgc2VsZWN0ZWRJdGVtcy5sZW5ndGgsXG4gICAgICAgIHRoaXMuZGlzcGxheWVkSXRlbXMubGVuZ3RoLFxuICAgICAgKTtcblxuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlSXRlbURhdGEoZGF0YTogYW55W10pOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHQuaXRlbXMgPSBkYXRhO1xuICAgIHRoaXMuaXRlbXMgPSBbXTtcbiAgICB0aGlzLiNpdGVtSW5kZXggPSAxMDtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoc2VsZWN0ZWRJdGVtKSA9PiB7XG4gICAgICB0aGlzLmNvbnRleHQuaXRlbXMuZm9yRWFjaCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RlZEl0ZW0uaXRlbURhdGEgPT09IGl0ZW0pIHtcbiAgICAgICAgICBzZWxlY3RlZEl0ZW0uaW5kZXggPSBpbmRleDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZEl0ZW1zKCk7XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNhbm5vdW5jZVNlbGVjdGlvblN0YXRlKFxuICAgIHNlbGVjdGVkSXRlbUNvdW50OiBudW1iZXIsXG4gICAgZGlzcGxheWVkSXRlbUNvdW50OiBudW1iZXIsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuI3Jlc291cmNlc1N2Y1xuICAgICAgLmdldFN0cmluZyhcbiAgICAgICAgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfZGlzcGxheWVkX2l0ZW1zX3VwZGF0ZWQnLFxuICAgICAgICBzZWxlY3RlZEl0ZW1Db3VudC50b1N0cmluZygpLFxuICAgICAgICBkaXNwbGF5ZWRJdGVtQ291bnQudG9TdHJpbmcoKSxcbiAgICAgIClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZXNTdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy4jbGl2ZUFubm91bmNlclN2Yy5hbm5vdW5jZShyZXNvdXJjZXNTdHJpbmcpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxza3ktbW9kYWxcbiAgY2xhc3M9XCJza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbFwiXG4gIFthdHRyLmlkXT1cImlkXCJcbiAgW25nQ2xhc3NdPVwiJ3NreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLScgKyBjb250ZXh0LnNlbGVjdE1vZGVcIlxuPlxuICA8c2t5LW1vZGFsLWhlYWRlcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGV4dC51c2VyQ29uZmlnPy50aXRsZTsgZWxzZSBkZWZhdWx0VGl0bGVcIj5cbiAgICAgIHt7IGNvbnRleHQudXNlckNvbmZpZy50aXRsZSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3NreS1tb2RhbC1oZWFkZXI+XG4gIDxza3ktbW9kYWwtY29udGVudFxuICAgIFtza3lWaWV3a2VlcGVyXT1cIlsnLnNreS1sb29rdXAtc2hvdy1tb3JlLXRvb2xiYXItd3JhcHBlciddXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktbG9va3VwLXNob3ctbW9yZS10b29sYmFyLXdyYXBwZXJcIj5cbiAgICAgIDxza3ktdG9vbGJhclxuICAgICAgICBbbGlzdERlc2NyaXB0b3JdPVwiY29udGV4dC51c2VyQ29uZmlnLnNlbGVjdGlvbkRlc2NyaXB0b3JcIlxuICAgICAgICBjbGFzcz1cInNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLXRvb2xiYXJcIlxuICAgICAgPlxuICAgICAgICA8c2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgICAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICAgIDxza3ktc2VhcmNoXG4gICAgICAgICAgICAgIFtkZWJvdW5jZVRpbWVdPVwiMjUwXCJcbiAgICAgICAgICAgICAgW3NlYXJjaFRleHRdPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAgIChzZWFyY2hBcHBseSk9XCJzZWFyY2hBcHBsaWVkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9za3ktc2VhcmNoPlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICA8c2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cImNvbnRleHQuc2hvd0FkZEJ1dHRvblwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfYWRkX2J1dHRvbl9hcmlhX2xhYmVsJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGNvbnRleHQudXNlckNvbmZpZy5zZWxlY3Rpb25EZXNjcmlwdG9yXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLWFkZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhZGRCdXR0b25DbGlja2VkKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2t5LWljb24gaWNvbj1cImFkZFwiIC8+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX2FkZCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICA8L3NreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICA8L3NreS10b29sYmFyPlxuICAgICAgPHNreS10b29sYmFyXG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5zZWxlY3RNb2RlID09PSAnbXVsdGlwbGUnXCJcbiAgICAgICAgY2xhc3M9XCJza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1tdWx0aXNlbGVjdC10b29sYmFyXCJcbiAgICAgID5cbiAgICAgICAgPHNreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtc2VsZWN0LWFsbC1idG5cIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zZWxlY3RfYWxsX2J1dHRvbl9hcmlhX2xhYmVsJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGNvbnRleHQudXNlckNvbmZpZy5zZWxlY3Rpb25EZXNjcmlwdG9yXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RBbGwoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfc2VsZWN0X2FsbF9idXR0b25fdGl0bGUnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLWNsZWFyLWFsbC1idG5cIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9jbGVhcl9hbGxfYnV0dG9uX2FyaWFfbGFiZWwnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlczogY29udGV4dC51c2VyQ29uZmlnLnNlbGVjdGlvbkRlc2NyaXB0b3JcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyQWxsKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICdza3l1eF9sb29rdXBfc2hvd19tb3JlX2NsZWFyX2FsbF9idXR0b25fdGl0bGUnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgIDxza3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gICAgICAgICAgICA8c2t5LWNoZWNrYm94XG4gICAgICAgICAgICAgIFsoY2hlY2tlZCldPVwib25seVNob3dTZWxlY3RlZFwiXG4gICAgICAgICAgICAgIFtsYWJlbF09XCJcbiAgICAgICAgICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zaG93X3NlbGVjdGVkX29wdGlvbl9hcmlhX2xhYmVsJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGNvbnRleHQudXNlckNvbmZpZy5zZWxlY3Rpb25EZXNjcmlwdG9yXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwidXBkYXRlRGF0YVN0YXRlKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2t5LWNoZWNrYm94LWxhYmVsPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zaG93X3NlbGVjdGVkX29wdGlvbl90aXRsZSdcbiAgICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8L3NreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgICAgIDwvc2t5LWNoZWNrYm94PlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICA8L3NreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICA8L3NreS10b29sYmFyPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiZGlzcGxheWVkSXRlbXMubGVuZ3RoID09PSAwXCJcbiAgICAgIGNsYXNzPVwic2t5LWZvbnQtZGVlbXBoYXNpemVkIHNreS1sb29rdXAtc2hvdy1tb3JlLW5vLXJlc3VsdHNcIlxuICAgID5cbiAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX25vX3Jlc3VsdHMnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9kaXY+XG4gICAgPHNreS1yZXBlYXRlciBjbGFzcz1cInNreS1sb29rdXAtc2hvdy1tb3JlLXJlcGVhdGVyXCIgZXhwYW5kTW9kZT1cIm5vbmVcIj5cbiAgICAgIDxza3ktcmVwZWF0ZXItaXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkaXNwbGF5ZWRJdGVtc1wiXG4gICAgICAgIFtzZWxlY3RhYmxlXT1cImNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ211bHRpcGxlJ1wiXG4gICAgICAgIFsoaXNTZWxlY3RlZCldPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgIChjbGljayk9XCJpdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwiaXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgKGlzU2VsZWN0ZWRDaGFuZ2UpPVwib25JdGVtU2VsZWN0KCRldmVudCwgaXRlbSlcIlxuICAgICAgPlxuICAgICAgICA8c2t5LXJlcGVhdGVyLWl0ZW0tY29udGVudD5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICByZXBlYXRlckl0ZW1UZW1wbGF0ZSA/PyBkZWZhdWx0SXRlbVRlbXBsYXRlO1xuICAgICAgICAgICAgICBjb250ZXh0OiB7IGl0ZW06IGl0ZW0udmFsdWUgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvc2t5LXJlcGVhdGVyLWl0ZW0tY29udGVudD5cbiAgICAgIDwvc2t5LXJlcGVhdGVyLWl0ZW0+XG4gICAgPC9za3ktcmVwZWF0ZXI+XG4gICAgPHNreS1pbmZpbml0ZS1zY3JvbGxcbiAgICAgIFtlbmFibGVkXT1cIml0ZW1zSGF2ZU1vcmVcIlxuICAgICAgW2xvYWRpbmddPVwiaXRlbXNMb2FkaW5nXCJcbiAgICAgIChzY3JvbGxFbmQpPVwiYWRkSXRlbXMoKVwiXG4gICAgPlxuICAgIDwvc2t5LWluZmluaXRlLXNjcm9sbD5cbiAgPC9za3ktbW9kYWwtY29udGVudD5cbiAgPHNreS1tb2RhbC1mb290ZXI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tcHJpbWFyeSBza3ktbWFyZ2luLWlubGluZS1jb21wYWN0IHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLXNhdmVcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zZWxlY3RfY29udGV4dCdcbiAgICAgICAgICB8IHNreUxpYlJlc291cmNlczogY29udGV4dC51c2VyQ29uZmlnLnNlbGVjdGlvbkRlc2NyaXB0b3JcbiAgICAgIFwiXG4gICAgICAoY2xpY2spPVwibW9kYWxJbnN0YW5jZS5zYXZlKHNlbGVjdGVkSXRlbXMpXCJcbiAgICA+XG4gICAgICB7eyAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zZWxlY3QnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1jbG9zZVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJtb2RhbEluc3RhbmNlLmNsb3NlKClcIlxuICAgID5cbiAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX2NhbmNlbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9za3ktbW9kYWwtZm9vdGVyPlxuPC9za3ktbW9kYWw+XG5cbjxuZy10ZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIiAjZGVmYXVsdEl0ZW1UZW1wbGF0ZT5cbiAge3sgaXRlbVtjb250ZXh0LmRlc2NyaXB0b3JQcm9wZXJ0eV0gfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRpdGxlPlxuICB7e1xuICAgICdza3l1eF9sb29rdXBfc2hvd19tb3JlX21vZGFsX3RpdGxlJ1xuICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGNvbnRleHQudXNlckNvbmZpZy5zZWxlY3Rpb25EZXNjcmlwdG9yXG4gIH19XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -664,10 +664,10 @@ export class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
664
664
  #pickerModalOpen() {
665
665
  return !!(this.#openNativePicker || this.#openSelectionModal);
666
666
  }
667
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyLookupComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i2.SkyInputBoxHostService, optional: true }, { token: i3.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
668
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: SkyLookupComponent, selector: "sky-lookup", inputs: { ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", autocompleteAttribute: "autocompleteAttribute", data: "data", disabled: "disabled", enableShowMore: "enableShowMore", placeholderText: "placeholderText", idProperty: "idProperty", showAddButton: "showAddButton", showMoreConfig: "showMoreConfig", selectMode: "selectMode", wrapperClass: "wrapperClass" }, outputs: { addClick: "addClick", openChange: "openChange" }, providers: [SkyLookupAdapterService], viewQueries: [{ propertyName: "autocompleteInputDirective", first: true, predicate: SkyAutocompleteInputDirective, descendants: true, read: SkyAutocompleteInputDirective }, { propertyName: "showMoreButtonTemplateRef", first: true, predicate: ["showMoreButtonTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "inputTemplateRef", first: true, predicate: ["inputTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "lookupWrapperRef", first: true, predicate: ["lookupWrapper"], descendants: true, read: ElementRef }, { propertyName: "searchIconTemplateRef", first: true, predicate: ["searchIconTemplateRef"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!inputBoxHostSvc\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n</ng-container>\n\n<ng-template #inputTemplateRef>\n <div\n class=\"sky-lookup\"\n [ngClass]=\"{\n 'sky-lookup-focused': isInputFocused,\n 'sky-lookup-disabled': disabled,\n 'sky-lookup-single': selectMode === 'single'\n }\"\n #lookupWrapper\n >\n <sky-autocomplete\n [ariaLabelledBy]=\"ariaLabelledBy || controlId\"\n [attr.data-sky-lookup-show-more-picker-id]=\"showMorePickerId\"\n [data]=\"data\"\n [debounceTime]=\"debounceTime\"\n [descriptorProperty]=\"descriptorProperty\"\n [enableShowMore]=\"enableShowMore\"\n [messageStream]=\"autocompleteController\"\n [propertiesToSearch]=\"propertiesToSearch\"\n [search]=\"searchOrDefault\"\n [searchAsyncDisabled]=\"searchAsync.observers.length === 0\"\n [searchFilters]=\"searchFilters\"\n [searchResultsLimit]=\"searchResultsLimit\"\n [searchResultTemplate]=\"searchResultTemplate\"\n [searchTextMinimumCharacters]=\"searchTextMinimumCharacters\"\n [showAddButton]=\"showAddButton\"\n [wrapperClass]=\"wrapperClass\"\n (addClick)=\"addButtonClicked()\"\n (searchAsync)=\"onSearchAsync($event)\"\n (selectionChange)=\"onAutocompleteSelectionChange($event)\"\n (showMoreClick)=\"onShowMoreClick($event)\"\n (openChange)=\"onAutocompleteOpenChange($event)\"\n >\n <div class=\"sky-lookup-search-flex-wrapper\">\n <div\n class=\"sky-lookup-search\"\n [ngClass]=\"{\n 'sky-field-status-active': isInputFocused && !disabled\n }\"\n >\n <sky-tokens\n *ngIf=\"selectMode === 'multiple'\"\n class=\"sky-lookup-tokens\"\n [disabled]=\"disabled\"\n [displayWith]=\"descriptorProperty\"\n [focusable]=\"false\"\n [messageStream]=\"tokensController\"\n [trackWith]=\"idProperty\"\n [tokens]=\"tokens\"\n (keyup)=\"onTokensKeyUp($event)\"\n (tokensChange)=\"onTokensChange($event)\"\n (tokensRendered)=\"onTokensRendered()\"\n (tokenSelected)=\"enableShowMore ? openPicker('') : undefined\"\n (focusIndexOverRange)=\"onTokensFocusIndexOverRange()\"\n >\n <textarea\n class=\"sky-form-control sky-lookup-input\"\n rows=\"1\"\n skyAutocomplete\n wrap=\"off\"\n [attr.aria-describedby]=\"ariaDescribedBy | async\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.id]=\"controlId\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n (keydown)=\"inputKeydown($event)\"\n (keyup)=\"inputKeyup($event)\"\n ></textarea>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\n </sky-tokens>\n <div\n *ngIf=\"selectMode === 'single'\"\n class=\"sky-lookup-single-control\"\n >\n <textarea\n class=\"sky-form-control sky-lookup-input\"\n rows=\"1\"\n skyAutocomplete\n wrap=\"off\"\n [attr.aria-describedby]=\"ariaDescribedBy | async\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.id]=\"controlId\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n ></textarea>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container *ngIf=\"!inputBoxHostSvc && enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"showMoreButtonTemplateRef\"\n ></ng-container>\n </ng-container>\n </div>\n </sky-autocomplete>\n </div>\n</ng-template>\n\n<ng-template #showMoreButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n class=\"sky-btn sky-btn-default\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ 'sky-btn-disabled': disabled }\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_lookup_search_button_show_more' | skyLibResources\n \"\n (click)=\"onSearchButtonClick()\"\n >\n <sky-icon icon=\"search\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #searchIconTemplateRef>\n <div\n class=\"sky-input-group-icon sky-input-box-icon-inset\"\n [ngClass]=\"{ 'sky-lookup-disabled': disabled }\"\n >\n <sky-icon icon=\"search\" />\n </div>\n</ng-template>\n", styles: [".sky-lookup .sky-lookup-input.sky-form-control{resize:none;border:0;box-sizing:content-box;height:1.428571429em;overflow:hidden;padding:0;background-color:transparent}.sky-lookup .sky-lookup-input.sky-form-control:focus{outline:none;box-shadow:none}.sky-lookup .sky-lookup-search-flex-wrapper{display:flex}.sky-lookup.sky-lookup-disabled .sky-lookup-search{background-color:#cdcfd2}.sky-lookup sky-tokens.sky-lookup-tokens:focus{outline:none}.sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-5px;margin-bottom:-5px}.sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-top:5px;padding-bottom:5px;padding-left:10px;flex-basis:100px}.sky-lookup .sky-lookup-single-control{display:inline-flex;padding-left:7px;width:100%}.sky-lookup-search{cursor:text;background-color:#fff;line-height:1.428571429em;padding:6px 12px 6px 3px;flex-grow:1}.sky-lookup-search:not(.sky-field-status-active){border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2}.sky-lookup-disabled .sky-lookup-search{cursor:default}.sky-lookup-focused .sky-tokens-content{flex-basis:100px}.sky-lookup-single sky-tokens.sky-lookup-tokens sky-token{display:none}sky-lookup.ng-invalid.ng-touched .sky-lookup-search{box-shadow:0 0 8px #ef404499;border:1px solid var(--sky-highlight-color-danger);outline:none}sky-input-box .sky-lookup{width:100%}sky-input-box .sky-lookup .sky-lookup-search{border:none;padding-bottom:5px;width:100%}:host-context(.sky-theme-modern) sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-6px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup{margin-top:-26px;padding-top:26px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens sky-token{z-index:1}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:0;margin-bottom:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens sky-token{padding-bottom:0;padding-top:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-bottom:0;padding-top:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content:first-child{padding-left:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup.sky-lookup-single sky-tokens.sky-lookup-tokens .sky-tokens-content{padding-left:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-search{background-color:transparent;padding:0 0 0 15px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-search.sky-field-status-active{box-shadow:none}:host-context(.sky-theme-modern) sky-input-box .sky-lookup textarea.sky-lookup-input.sky-form-control{padding-left:0;resize:none}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-single-control{padding-left:0}.sky-theme-modern sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-6px}.sky-theme-modern sky-input-box .sky-lookup{margin-top:-26px;padding-top:26px}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens sky-token{z-index:1}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:0;margin-bottom:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens sky-token{padding-bottom:0;padding-top:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-bottom:0;padding-top:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content:first-child{padding-left:0}.sky-theme-modern sky-input-box .sky-lookup.sky-lookup-single sky-tokens.sky-lookup-tokens .sky-tokens-content{padding-left:0}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-search{background-color:transparent;padding:0 0 0 15px}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-search.sky-field-status-active{box-shadow:none}.sky-theme-modern sky-input-box .sky-lookup textarea.sky-lookup-input.sky-form-control{padding-left:0;resize:none}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-single-control{padding-left:0}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.SkyAutocompleteComponent, selector: "sky-autocomplete", inputs: ["ariaLabelledBy", "data", "debounceTime", "descriptorProperty", "enableShowMore", "messageStream", "wrapperClass", "propertiesToSearch", "search", "searchResultTemplate", "searchTextMinimumCharacters", "searchFilters", "searchResultsLimit", "showAddButton", "noResultsFoundText", "searchAsyncDisabled"], outputs: ["addClick", "showMoreClick", "selectionChange", "searchAsync", "openChange"] }, { kind: "directive", type: i6.SkyAutocompleteInputDirective, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { kind: "component", type: i7.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i7.λ13, selector: "sky-tokens", inputs: ["disabled", "dismissible", "displayWith", "trackWith", "focusable", "tokens", "messageStream"], outputs: ["focusIndexOverRange", "focusIndexUnderRange", "tokenSelected", "tokensChange", "tokensRendered"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
667
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyLookupComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i2.SkyInputBoxHostService, optional: true }, { token: i3.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
668
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: SkyLookupComponent, selector: "sky-lookup", inputs: { ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", autocompleteAttribute: "autocompleteAttribute", data: "data", disabled: "disabled", enableShowMore: "enableShowMore", placeholderText: "placeholderText", idProperty: "idProperty", showAddButton: "showAddButton", showMoreConfig: "showMoreConfig", selectMode: "selectMode", wrapperClass: "wrapperClass" }, outputs: { addClick: "addClick", openChange: "openChange" }, providers: [SkyLookupAdapterService], viewQueries: [{ propertyName: "autocompleteInputDirective", first: true, predicate: SkyAutocompleteInputDirective, descendants: true, read: SkyAutocompleteInputDirective }, { propertyName: "showMoreButtonTemplateRef", first: true, predicate: ["showMoreButtonTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "inputTemplateRef", first: true, predicate: ["inputTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "lookupWrapperRef", first: true, predicate: ["lookupWrapper"], descendants: true, read: ElementRef }, { propertyName: "searchIconTemplateRef", first: true, predicate: ["searchIconTemplateRef"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!inputBoxHostSvc\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n</ng-container>\n\n<ng-template #inputTemplateRef>\n <div\n class=\"sky-lookup\"\n [ngClass]=\"{\n 'sky-lookup-focused': isInputFocused,\n 'sky-lookup-disabled': disabled,\n 'sky-lookup-single': selectMode === 'single'\n }\"\n #lookupWrapper\n >\n <sky-autocomplete\n [ariaLabelledBy]=\"ariaLabelledBy || controlId\"\n [attr.data-sky-lookup-show-more-picker-id]=\"showMorePickerId\"\n [data]=\"data\"\n [debounceTime]=\"debounceTime\"\n [descriptorProperty]=\"descriptorProperty\"\n [enableShowMore]=\"enableShowMore\"\n [messageStream]=\"autocompleteController\"\n [propertiesToSearch]=\"propertiesToSearch\"\n [search]=\"searchOrDefault\"\n [searchAsyncDisabled]=\"searchAsync.observers.length === 0\"\n [searchFilters]=\"searchFilters\"\n [searchResultsLimit]=\"searchResultsLimit\"\n [searchResultTemplate]=\"searchResultTemplate\"\n [searchTextMinimumCharacters]=\"searchTextMinimumCharacters\"\n [showAddButton]=\"showAddButton\"\n [wrapperClass]=\"wrapperClass\"\n (addClick)=\"addButtonClicked()\"\n (searchAsync)=\"onSearchAsync($event)\"\n (selectionChange)=\"onAutocompleteSelectionChange($event)\"\n (showMoreClick)=\"onShowMoreClick($event)\"\n (openChange)=\"onAutocompleteOpenChange($event)\"\n >\n <div class=\"sky-lookup-search-flex-wrapper\">\n <div\n class=\"sky-lookup-search\"\n [ngClass]=\"{\n 'sky-field-status-active': isInputFocused && !disabled\n }\"\n >\n <sky-tokens\n *ngIf=\"selectMode === 'multiple'\"\n class=\"sky-lookup-tokens\"\n [disabled]=\"disabled\"\n [displayWith]=\"descriptorProperty\"\n [focusable]=\"false\"\n [messageStream]=\"tokensController\"\n [trackWith]=\"idProperty\"\n [tokens]=\"tokens\"\n (keyup)=\"onTokensKeyUp($event)\"\n (tokensChange)=\"onTokensChange($event)\"\n (tokensRendered)=\"onTokensRendered()\"\n (tokenSelected)=\"enableShowMore ? openPicker('') : undefined\"\n (focusIndexOverRange)=\"onTokensFocusIndexOverRange()\"\n >\n <textarea\n class=\"sky-form-control sky-lookup-input\"\n rows=\"1\"\n skyAutocomplete\n wrap=\"off\"\n [attr.aria-describedby]=\"ariaDescribedBy | async\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.id]=\"controlId\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n (keydown)=\"inputKeydown($event)\"\n (keyup)=\"inputKeyup($event)\"\n ></textarea>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\n </sky-tokens>\n <div\n *ngIf=\"selectMode === 'single'\"\n class=\"sky-lookup-single-control\"\n >\n <textarea\n class=\"sky-form-control sky-lookup-input\"\n rows=\"1\"\n skyAutocomplete\n wrap=\"off\"\n [attr.aria-describedby]=\"ariaDescribedBy | async\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.id]=\"controlId\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n ></textarea>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container *ngIf=\"!inputBoxHostSvc && enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"showMoreButtonTemplateRef\"\n ></ng-container>\n </ng-container>\n </div>\n </sky-autocomplete>\n </div>\n</ng-template>\n\n<ng-template #showMoreButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n class=\"sky-btn sky-btn-default\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ 'sky-btn-disabled': disabled }\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_lookup_search_button_show_more' | skyLibResources\n \"\n (click)=\"onSearchButtonClick()\"\n >\n <sky-icon icon=\"search\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #searchIconTemplateRef>\n <div\n class=\"sky-input-group-icon sky-input-box-icon-inset\"\n [ngClass]=\"{ 'sky-lookup-disabled': disabled }\"\n >\n <sky-icon icon=\"search\" />\n </div>\n</ng-template>\n", styles: [".sky-lookup .sky-lookup-input.sky-form-control{resize:none;border:0;box-sizing:content-box;height:1.428571429em;overflow:hidden;padding:0;background-color:transparent}.sky-lookup .sky-lookup-input.sky-form-control:focus{outline:none;box-shadow:none}.sky-lookup .sky-lookup-search-flex-wrapper{display:flex}.sky-lookup.sky-lookup-disabled .sky-lookup-search{background-color:#cdcfd2}.sky-lookup sky-tokens.sky-lookup-tokens:focus{outline:none}.sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-5px;margin-bottom:-5px}.sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-top:5px;padding-bottom:5px;padding-left:10px;flex-basis:100px}.sky-lookup .sky-lookup-single-control{display:inline-flex;padding-left:7px;width:100%}.sky-lookup-search{cursor:text;background-color:#fff;line-height:1.428571429em;padding:6px 12px 6px 3px;flex-grow:1}.sky-lookup-search:not(.sky-field-status-active){border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2}.sky-lookup-disabled .sky-lookup-search{cursor:default}.sky-lookup-focused .sky-tokens-content{flex-basis:100px}.sky-lookup-single sky-tokens.sky-lookup-tokens sky-token{display:none}sky-lookup.ng-invalid.ng-touched .sky-lookup-search{box-shadow:0 0 8px #ef404499;border:1px solid var(--sky-highlight-color-danger);outline:none}sky-input-box .sky-lookup{width:100%}sky-input-box .sky-lookup .sky-lookup-search{border:none;padding-bottom:5px;width:100%}:host-context(.sky-theme-modern) sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-6px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup{margin-top:-26px;padding-top:26px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens sky-token{z-index:1}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:0;margin-bottom:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens sky-token{padding-bottom:0;padding-top:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-bottom:0;padding-top:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content:first-child{padding-left:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup.sky-lookup-single sky-tokens.sky-lookup-tokens .sky-tokens-content{padding-left:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-search{background-color:transparent;padding:0 0 0 15px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-search.sky-field-status-active{box-shadow:none}:host-context(.sky-theme-modern) sky-input-box .sky-lookup textarea.sky-lookup-input.sky-form-control{padding-left:0;resize:none}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-single-control{padding-left:0}.sky-theme-modern sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-6px}.sky-theme-modern sky-input-box .sky-lookup{margin-top:-26px;padding-top:26px}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens sky-token{z-index:1}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:0;margin-bottom:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens sky-token{padding-bottom:0;padding-top:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-bottom:0;padding-top:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content:first-child{padding-left:0}.sky-theme-modern sky-input-box .sky-lookup.sky-lookup-single sky-tokens.sky-lookup-tokens .sky-tokens-content{padding-left:0}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-search{background-color:transparent;padding:0 0 0 15px}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-search.sky-field-status-active{box-shadow:none}.sky-theme-modern sky-input-box .sky-lookup textarea.sky-lookup-input.sky-form-control{padding-left:0;resize:none}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-single-control{padding-left:0}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.SkyAutocompleteComponent, selector: "sky-autocomplete", inputs: ["ariaLabelledBy", "data", "debounceTime", "descriptorProperty", "enableShowMore", "messageStream", "wrapperClass", "propertiesToSearch", "search", "searchResultTemplate", "searchTextMinimumCharacters", "searchFilters", "searchResultsLimit", "showAddButton", "noResultsFoundText", "searchAsyncDisabled"], outputs: ["addClick", "showMoreClick", "selectionChange", "searchAsync", "openChange"] }, { kind: "directive", type: i6.SkyAutocompleteInputDirective, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { kind: "component", type: i7.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i7.λ13, selector: "sky-tokens", inputs: ["disabled", "dismissible", "displayWith", "trackWith", "focusable", "tokens", "messageStream"], outputs: ["focusIndexOverRange", "focusIndexUnderRange", "tokenSelected", "tokensChange", "tokensRendered"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
669
669
  }
670
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyLookupComponent, decorators: [{
670
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyLookupComponent, decorators: [{
671
671
  type: Component,
672
672
  args: [{ selector: 'sky-lookup', providers: [SkyLookupAdapterService], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"!inputBoxHostSvc\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n</ng-container>\n\n<ng-template #inputTemplateRef>\n <div\n class=\"sky-lookup\"\n [ngClass]=\"{\n 'sky-lookup-focused': isInputFocused,\n 'sky-lookup-disabled': disabled,\n 'sky-lookup-single': selectMode === 'single'\n }\"\n #lookupWrapper\n >\n <sky-autocomplete\n [ariaLabelledBy]=\"ariaLabelledBy || controlId\"\n [attr.data-sky-lookup-show-more-picker-id]=\"showMorePickerId\"\n [data]=\"data\"\n [debounceTime]=\"debounceTime\"\n [descriptorProperty]=\"descriptorProperty\"\n [enableShowMore]=\"enableShowMore\"\n [messageStream]=\"autocompleteController\"\n [propertiesToSearch]=\"propertiesToSearch\"\n [search]=\"searchOrDefault\"\n [searchAsyncDisabled]=\"searchAsync.observers.length === 0\"\n [searchFilters]=\"searchFilters\"\n [searchResultsLimit]=\"searchResultsLimit\"\n [searchResultTemplate]=\"searchResultTemplate\"\n [searchTextMinimumCharacters]=\"searchTextMinimumCharacters\"\n [showAddButton]=\"showAddButton\"\n [wrapperClass]=\"wrapperClass\"\n (addClick)=\"addButtonClicked()\"\n (searchAsync)=\"onSearchAsync($event)\"\n (selectionChange)=\"onAutocompleteSelectionChange($event)\"\n (showMoreClick)=\"onShowMoreClick($event)\"\n (openChange)=\"onAutocompleteOpenChange($event)\"\n >\n <div class=\"sky-lookup-search-flex-wrapper\">\n <div\n class=\"sky-lookup-search\"\n [ngClass]=\"{\n 'sky-field-status-active': isInputFocused && !disabled\n }\"\n >\n <sky-tokens\n *ngIf=\"selectMode === 'multiple'\"\n class=\"sky-lookup-tokens\"\n [disabled]=\"disabled\"\n [displayWith]=\"descriptorProperty\"\n [focusable]=\"false\"\n [messageStream]=\"tokensController\"\n [trackWith]=\"idProperty\"\n [tokens]=\"tokens\"\n (keyup)=\"onTokensKeyUp($event)\"\n (tokensChange)=\"onTokensChange($event)\"\n (tokensRendered)=\"onTokensRendered()\"\n (tokenSelected)=\"enableShowMore ? openPicker('') : undefined\"\n (focusIndexOverRange)=\"onTokensFocusIndexOverRange()\"\n >\n <textarea\n class=\"sky-form-control sky-lookup-input\"\n rows=\"1\"\n skyAutocomplete\n wrap=\"off\"\n [attr.aria-describedby]=\"ariaDescribedBy | async\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.id]=\"controlId\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n (keydown)=\"inputKeydown($event)\"\n (keyup)=\"inputKeyup($event)\"\n ></textarea>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\n </sky-tokens>\n <div\n *ngIf=\"selectMode === 'single'\"\n class=\"sky-lookup-single-control\"\n >\n <textarea\n class=\"sky-form-control sky-lookup-input\"\n rows=\"1\"\n skyAutocomplete\n wrap=\"off\"\n [attr.aria-describedby]=\"ariaDescribedBy | async\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.id]=\"controlId\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n ></textarea>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container *ngIf=\"!inputBoxHostSvc && enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"showMoreButtonTemplateRef\"\n ></ng-container>\n </ng-container>\n </div>\n </sky-autocomplete>\n </div>\n</ng-template>\n\n<ng-template #showMoreButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n class=\"sky-btn sky-btn-default\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ 'sky-btn-disabled': disabled }\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_lookup_search_button_show_more' | skyLibResources\n \"\n (click)=\"onSearchButtonClick()\"\n >\n <sky-icon icon=\"search\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #searchIconTemplateRef>\n <div\n class=\"sky-input-group-icon sky-input-box-icon-inset\"\n [ngClass]=\"{ 'sky-lookup-disabled': disabled }\"\n >\n <sky-icon icon=\"search\" />\n </div>\n</ng-template>\n", styles: [".sky-lookup .sky-lookup-input.sky-form-control{resize:none;border:0;box-sizing:content-box;height:1.428571429em;overflow:hidden;padding:0;background-color:transparent}.sky-lookup .sky-lookup-input.sky-form-control:focus{outline:none;box-shadow:none}.sky-lookup .sky-lookup-search-flex-wrapper{display:flex}.sky-lookup.sky-lookup-disabled .sky-lookup-search{background-color:#cdcfd2}.sky-lookup sky-tokens.sky-lookup-tokens:focus{outline:none}.sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-5px;margin-bottom:-5px}.sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-top:5px;padding-bottom:5px;padding-left:10px;flex-basis:100px}.sky-lookup .sky-lookup-single-control{display:inline-flex;padding-left:7px;width:100%}.sky-lookup-search{cursor:text;background-color:#fff;line-height:1.428571429em;padding:6px 12px 6px 3px;flex-grow:1}.sky-lookup-search:not(.sky-field-status-active){border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2}.sky-lookup-disabled .sky-lookup-search{cursor:default}.sky-lookup-focused .sky-tokens-content{flex-basis:100px}.sky-lookup-single sky-tokens.sky-lookup-tokens sky-token{display:none}sky-lookup.ng-invalid.ng-touched .sky-lookup-search{box-shadow:0 0 8px #ef404499;border:1px solid var(--sky-highlight-color-danger);outline:none}sky-input-box .sky-lookup{width:100%}sky-input-box .sky-lookup .sky-lookup-search{border:none;padding-bottom:5px;width:100%}:host-context(.sky-theme-modern) sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-6px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup{margin-top:-26px;padding-top:26px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens sky-token{z-index:1}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:0;margin-bottom:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens sky-token{padding-bottom:0;padding-top:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-bottom:0;padding-top:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content:first-child{padding-left:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup.sky-lookup-single sky-tokens.sky-lookup-tokens .sky-tokens-content{padding-left:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-search{background-color:transparent;padding:0 0 0 15px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-search.sky-field-status-active{box-shadow:none}:host-context(.sky-theme-modern) sky-input-box .sky-lookup textarea.sky-lookup-input.sky-form-control{padding-left:0;resize:none}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-single-control{padding-left:0}.sky-theme-modern sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-6px}.sky-theme-modern sky-input-box .sky-lookup{margin-top:-26px;padding-top:26px}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens sky-token{z-index:1}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:0;margin-bottom:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens sky-token{padding-bottom:0;padding-top:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-bottom:0;padding-top:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content:first-child{padding-left:0}.sky-theme-modern sky-input-box .sky-lookup.sky-lookup-single sky-tokens.sky-lookup-tokens .sky-tokens-content{padding-left:0}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-search{background-color:transparent;padding:0 0 0 15px}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-search.sky-field-status-active{box-shadow:none}.sky-theme-modern sky-input-box .sky-lookup textarea.sky-lookup-input.sky-form-control{padding-left:0;resize:none}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-single-control{padding-left:0}\n"] }]
673
673
  }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
@@ -7,21 +7,21 @@ import { SkyLookupResourcesModule } from '../shared/sky-lookup-resources.module'
7
7
  import { SkyLookupComponent } from './lookup.component';
8
8
  import * as i0 from "@angular/core";
9
9
  export class SkyLookupModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyLookupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: SkyLookupModule, declarations: [SkyLookupComponent], imports: [CommonModule,
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyLookupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: SkyLookupModule, declarations: [SkyLookupComponent], imports: [CommonModule,
12
12
  SkyAutocompleteModule,
13
13
  SkyIconModule,
14
14
  SkyLookupResourcesModule,
15
15
  SkyThemeModule,
16
16
  SkyTokensModule], exports: [SkyLookupComponent] }); }
17
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyLookupModule, imports: [CommonModule,
17
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyLookupModule, imports: [CommonModule,
18
18
  SkyAutocompleteModule,
19
19
  SkyIconModule,
20
20
  SkyLookupResourcesModule,
21
21
  SkyThemeModule,
22
22
  SkyTokensModule] }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyLookupModule, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyLookupModule, decorators: [{
25
25
  type: NgModule,
26
26
  args: [{
27
27
  declarations: [SkyLookupComponent],
@@ -37,10 +37,10 @@ export class SkySearchAdapterService {
37
37
  #getInputEl(searchEl) {
38
38
  return searchEl.nativeElement.querySelector('input');
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkySearchAdapterService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkySearchAdapterService }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkySearchAdapterService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkySearchAdapterService }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkySearchAdapterService, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkySearchAdapterService, decorators: [{
44
44
  type: Injectable
45
45
  }], ctorParameters: () => [{ type: i0.Renderer2 }] });
46
46
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2gtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBRWxFOztHQUVHO0FBRUgsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxTQUFTLENBQVk7SUFFckIsWUFBWSxRQUFtQjtRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQW9CO1FBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxRQUFvQjtRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxRQUFvQjtRQUM3QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3RFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDcEUsTUFBTSxRQUFRLEdBQUcsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUUzQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDaEQsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUU3QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDckIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxFQUNuQyxXQUFXLEVBQ1gsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FDM0IsQ0FBQztJQUNKLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxRQUFvQjtRQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDckIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxFQUNuQyxXQUFXLEVBQ1gsRUFBRSxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsb0JBQW9CLENBQUMsUUFBb0I7UUFDdkMsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxRQUFvQjtRQUN6QyxPQUFPLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELHFCQUFxQixDQUFDLFFBQW9CO1FBQ3hDLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQW9CO1FBQzlCLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs4R0FwRFUsdUJBQXVCO2tIQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlIHtcbiAgI3JlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgY29uc3RydWN0b3IocmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXI7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SW5wdXQoc2VhcmNoRWw6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLiNnZXRJbnB1dEVsKHNlYXJjaEVsKS5zZWxlY3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0lucHV0KHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy4jZ2V0SW5wdXRFbChzZWFyY2hFbCkuZm9jdXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydElucHV0QW5pbWF0aW9uKHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgY29uc3QgYnV0dG9uV2lkdGggPSB0aGlzLiNnZXRTZWFyY2hPcGVuQnV0dG9uRWwoc2VhcmNoRWwpLmNsaWVudFdpZHRoO1xuICAgIGNvbnN0IG9mZnNldFdpZHRoID0gdGhpcy4jZ2V0U2VhcmNoQ29udGFpbmVyRWwoc2VhcmNoRWwpLm9mZnNldExlZnQ7XG4gICAgY29uc3QgbWluV2lkdGggPSBidXR0b25XaWR0aCArIG9mZnNldFdpZHRoO1xuXG4gICAgdGhpcy4jZ2V0SW5wdXRDb250YWluZXJFbChzZWFyY2hFbCkuc3R5bGUubWluV2lkdGggPVxuICAgICAgbWluV2lkdGgudG9TdHJpbmcoKSArICdweCc7XG5cbiAgICB0aGlzLiNyZW5kZXJlci5zZXRTdHlsZShcbiAgICAgIHRoaXMuI2dldElucHV0Q29udGFpbmVyRWwoc2VhcmNoRWwpLFxuICAgICAgJ21pbi13aWR0aCcsXG4gICAgICBtaW5XaWR0aC50b1N0cmluZygpICsgJ3B4JyxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGVuZElucHV0QW5pbWF0aW9uKHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICB0aGlzLiNnZXRJbnB1dENvbnRhaW5lckVsKHNlYXJjaEVsKSxcbiAgICAgICdtaW4td2lkdGgnLFxuICAgICAgJycsXG4gICAgKTtcbiAgfVxuXG4gICNnZXRJbnB1dENvbnRhaW5lckVsKHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgcmV0dXJuIHNlYXJjaEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1zZWFyY2gtaW5wdXQtY29udGFpbmVyJyk7XG4gIH1cblxuICAjZ2V0U2VhcmNoT3BlbkJ1dHRvbkVsKHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgcmV0dXJuIHNlYXJjaEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1zZWFyY2gtYnRuLW9wZW4nKTtcbiAgfVxuXG4gICNnZXRTZWFyY2hDb250YWluZXJFbChzZWFyY2hFbDogRWxlbWVudFJlZikge1xuICAgIHJldHVybiBzZWFyY2hFbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktc2VhcmNoLWNvbnRhaW5lcicpO1xuICB9XG5cbiAgI2dldElucHV0RWwoc2VhcmNoRWw6IEVsZW1lbnRSZWYpIHtcbiAgICByZXR1cm4gc2VhcmNoRWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xuICB9XG59XG4iXX0=
@@ -238,8 +238,8 @@ export class SkySearchComponent {
238
238
  this.searchChange.emit(value);
239
239
  });
240
240
  }
241
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkySearchComponent, deps: [{ token: i1.SkyMediaQueryService }, { token: i0.ElementRef }, { token: i2.SkySearchAdapterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
242
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: SkySearchComponent, selector: "sky-search", inputs: { ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", searchText: "searchText", expandMode: "expandMode", debounceTime: "debounceTime", disabled: "disabled", placeholderText: "placeholderText" }, outputs: { searchApply: "searchApply", searchChange: "searchChange", searchClear: "searchClear" }, providers: [SkySearchAdapterService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-search-container\">\n <div class=\"sky-search-button-container\">\n <button\n class=\"sky-btn sky-btn-default sky-btn-icon sky-search-btn-open\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_open' | skyLibResources\"\n [hidden]=\"!searchButtonShown\"\n [ngClass]=\"{ 'sky-search-btn-open-applied': clearButtonShown }\"\n (click)=\"toggleSearchInput(true)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </button>\n </div>\n <div\n class=\"sky-search-dismiss-container\"\n [hidden]=\"searchButtonShown\"\n [ngClass]=\"{\n 'sky-search-dismiss-absolute': mobileSearchShown || isFullWidth\n }\"\n >\n <div class=\"sky-search-item-input\">\n <div\n class=\"sky-search-input-container\"\n [@inputState]=\"inputAnimate\"\n (@inputState.start)=\"inputAnimationStart($event)\"\n (@inputState.done)=\"inputAnimationEnd($event)\"\n [ngClass]=\"{\n 'sky-search-input-container-has-value': searchText?.trim()\n }\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <input\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n : ariaLabel ||\n ((contentInfoObs | async)?.descriptor?.type === 'text'\n ? ('skyux_search_aria_label_descriptor'\n | skyLibResources\n : (contentInfoObs | async)?.descriptor?.value)\n : ('skyux_search_label' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"\n placeholderText || ('skyux_search_placeholder' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngModel]=\"searchText\"\n (keyup)=\"enterPress($event, searchText)\"\n (ngModelChange)=\"searchTextChanged($event)\"\n skyId\n #searchInput=\"skyId\"\n />\n <span\n class=\"sky-input-group-btn sky-input-group-clear sky-input-box-btn-inset\"\n [hidden]=\"!clearButtonShown\"\n >\n <button\n aria-hidden=\"true\"\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-clear\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"clearSearchText()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"close\" size=\"sm\" />\n </button>\n </span>\n <span\n *skyThemeIf=\"'default'\"\n class=\"sky-input-group-btn sky-input-box-btn-inset\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"applySearchText(searchText)\"\n >\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplate\"\n ></ng-container>\n </button>\n </span>\n <div\n *skyThemeIf=\"'modern'\"\n aria-hidden=\"true\"\n class=\"sky-input-group-icon sky-input-box-icon-inset-left\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </div>\n </sky-input-box>\n </div>\n </div>\n <div class=\"sky-search-item-dismiss\">\n <button\n *ngIf=\"mobileSearchShown\"\n class=\"sky-btn sky-btn-secondary sky-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"'skyux_search_dismiss' | skyLibResources\"\n (click)=\"toggleSearchInput(false)\"\n >\n <sky-icon\n *skyThemeIf=\"'default'\"\n icon=\"chevron-circle-left\"\n size=\"lg\"\n />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\" />\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon icon=\"search\" size=\"lg\" />\n</ng-template>\n", styles: ["sky-search .sky-search-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0 none}sky-search .sky-search-input:focus{border:0 none;box-shadow:none;outline:none}sky-search .sky-search-input::-ms-clear{display:none}sky-search .sky-search-btn{border-left:0 none}sky-search .sky-search-btn:hover,sky-search .sky-search-btn:focus{background-color:#fff}sky-search .sky-search-btn-apply{padding-left:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-right:1px solid #cdcfd2}sky-search .sky-search-btn-clear{border-right:0 none;padding-right:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2}sky-search .sky-search-input-focused .sky-search-btn{border-color:transparent;border-top:0 none;border-bottom:0 none}sky-search .sky-search-input-focused .sky-search-btn-apply{border-right:0 none}sky-search .sky-search-input-container .sky-input-group-btn>button:focus{z-index:3}sky-search .sky-search-input-container{min-width:auto}sky-search .sky-responsive-container-xs .sky-search-input-container,sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:auto}@media (min-width: 768px){sky-search .sky-search-input-container{min-width:300px}}sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:300px}@media (max-width: 767px){sky-search .sky-search-input,sky-search .sky-search-btn-apply,sky-search .sky-search-btn-clear{font-size:15px}}sky-search .sky-search-btn-open-applied.sky-search-btn-open,sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44;border:2px solid #72bf44;padding:5px 11px}sky-search .sky-search-dismiss-container{display:flex}sky-search .sky-search-item-dismiss{flex-shrink:0;display:flex}sky-search .sky-search-item-dismiss>.sky-btn{border-color:transparent}sky-search .sky-search-item-input{flex-grow:1;display:flex}sky-search .sky-search-dismiss-absolute{align-items:center;position:absolute;background-color:#fff;inset:0;padding:5px}.sky-theme-modern sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn{width:40px}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#1c1d1f;font-size:inherit}.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{border:none;box-shadow:inset 0 0 0 2px #72bf44;padding:8px 14px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container.sky-search-input-container-has-value .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{border:none;border-radius:unset;box-shadow:inset 0 -1px #1870b8}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 10px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-group-icon .sky-icon{font-size:17.3333px;color:#1c1d1f}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group{box-shadow:none}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input{width:auto;padding:10px 10px 10px 0;margin:0}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input::placeholder{font-style:normal;color:inherit;font-weight:400}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input:focus::placeholder{color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-search-dismiss-absolute{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-group-icon .sky-icon{font-size:17.333px;color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent", "hintText"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
241
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkySearchComponent, deps: [{ token: i1.SkyMediaQueryService }, { token: i0.ElementRef }, { token: i2.SkySearchAdapterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
242
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: SkySearchComponent, selector: "sky-search", inputs: { ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", searchText: "searchText", expandMode: "expandMode", debounceTime: "debounceTime", disabled: "disabled", placeholderText: "placeholderText" }, outputs: { searchApply: "searchApply", searchChange: "searchChange", searchClear: "searchClear" }, providers: [SkySearchAdapterService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-search-container\">\n <div class=\"sky-search-button-container\">\n <button\n class=\"sky-btn sky-btn-default sky-btn-icon sky-search-btn-open\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_open' | skyLibResources\"\n [hidden]=\"!searchButtonShown\"\n [ngClass]=\"{ 'sky-search-btn-open-applied': clearButtonShown }\"\n (click)=\"toggleSearchInput(true)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </button>\n </div>\n <div\n class=\"sky-search-dismiss-container\"\n [hidden]=\"searchButtonShown\"\n [ngClass]=\"{\n 'sky-search-dismiss-absolute': mobileSearchShown || isFullWidth\n }\"\n >\n <div class=\"sky-search-item-input\">\n <div\n class=\"sky-search-input-container\"\n [@inputState]=\"inputAnimate\"\n (@inputState.start)=\"inputAnimationStart($event)\"\n (@inputState.done)=\"inputAnimationEnd($event)\"\n [ngClass]=\"{\n 'sky-search-input-container-has-value': searchText?.trim()\n }\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <input\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n : ariaLabel ||\n ((contentInfoObs | async)?.descriptor?.type === 'text'\n ? ('skyux_search_aria_label_descriptor'\n | skyLibResources\n : (contentInfoObs | async)?.descriptor?.value)\n : ('skyux_search_label' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"\n placeholderText || ('skyux_search_placeholder' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngModel]=\"searchText\"\n (keyup)=\"enterPress($event, searchText)\"\n (ngModelChange)=\"searchTextChanged($event)\"\n skyId\n #searchInput=\"skyId\"\n />\n <span\n class=\"sky-input-group-btn sky-input-group-clear sky-input-box-btn-inset\"\n [hidden]=\"!clearButtonShown\"\n >\n <button\n aria-hidden=\"true\"\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-clear\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"clearSearchText()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"close\" size=\"sm\" />\n </button>\n </span>\n <span\n *skyThemeIf=\"'default'\"\n class=\"sky-input-group-btn sky-input-box-btn-inset\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"applySearchText(searchText)\"\n >\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplate\"\n ></ng-container>\n </button>\n </span>\n <div\n *skyThemeIf=\"'modern'\"\n aria-hidden=\"true\"\n class=\"sky-input-group-icon sky-input-box-icon-inset-left\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </div>\n </sky-input-box>\n </div>\n </div>\n <div class=\"sky-search-item-dismiss\">\n <button\n *ngIf=\"mobileSearchShown\"\n class=\"sky-btn sky-btn-secondary sky-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"'skyux_search_dismiss' | skyLibResources\"\n (click)=\"toggleSearchInput(false)\"\n >\n <sky-icon\n *skyThemeIf=\"'default'\"\n icon=\"chevron-circle-left\"\n size=\"lg\"\n />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\" />\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon icon=\"search\" size=\"lg\" />\n</ng-template>\n", styles: ["sky-search .sky-search-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0 none}sky-search .sky-search-input:focus{border:0 none;box-shadow:none;outline:none}sky-search .sky-search-input::-ms-clear{display:none}sky-search .sky-search-btn{border-left:0 none}sky-search .sky-search-btn:hover,sky-search .sky-search-btn:focus{background-color:#fff}sky-search .sky-search-btn-apply{padding-left:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-right:1px solid #cdcfd2}sky-search .sky-search-btn-clear{border-right:0 none;padding-right:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2}sky-search .sky-search-input-focused .sky-search-btn{border-color:transparent;border-top:0 none;border-bottom:0 none}sky-search .sky-search-input-focused .sky-search-btn-apply{border-right:0 none}sky-search .sky-search-input-container .sky-input-group-btn>button:focus{z-index:3}sky-search .sky-search-input-container{min-width:auto}sky-search .sky-responsive-container-xs .sky-search-input-container,sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:auto}@media (min-width: 768px){sky-search .sky-search-input-container{min-width:300px}}sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:300px}@media (max-width: 767px){sky-search .sky-search-input,sky-search .sky-search-btn-apply,sky-search .sky-search-btn-clear{font-size:15px}}sky-search .sky-search-btn-open-applied.sky-search-btn-open,sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44;border:2px solid #72bf44;padding:5px 11px}sky-search .sky-search-dismiss-container{display:flex}sky-search .sky-search-item-dismiss{flex-shrink:0;display:flex}sky-search .sky-search-item-dismiss>.sky-btn{border-color:transparent}sky-search .sky-search-item-input{flex-grow:1;display:flex}sky-search .sky-search-dismiss-absolute{align-items:center;position:absolute;background-color:#fff;inset:0;padding:5px}.sky-theme-modern sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn{width:40px}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#1c1d1f;font-size:inherit}.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{border:none;box-shadow:inset 0 0 0 2px #72bf44;padding:8px 14px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container.sky-search-input-container-has-value .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{border:none;border-radius:unset;box-shadow:inset 0 -1px #1870b8}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 10px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-group-icon .sky-icon{font-size:17.3333px;color:#1c1d1f}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group{box-shadow:none}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input{width:auto;padding:10px 10px 10px 0;margin:0}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input::placeholder{font-style:normal;color:inherit;font-weight:400}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input:focus::placeholder{color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-search-dismiss-absolute{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-group-icon .sky-icon{font-size:17.333px;color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent", "hintText"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
243
243
  trigger('inputState', [
244
244
  state(INPUT_HIDDEN_STATE, style({
245
245
  opacity: 0,
@@ -253,7 +253,7 @@ export class SkySearchComponent {
253
253
  ]),
254
254
  ], encapsulation: i0.ViewEncapsulation.None }); }
255
255
  }
256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkySearchComponent, decorators: [{
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkySearchComponent, decorators: [{
257
257
  type: Component,
258
258
  args: [{ selector: 'sky-search', encapsulation: ViewEncapsulation.None, animations: [
259
259
  trigger('inputState', [