@skyux/lookup 9.0.0-alpha.5 → 9.0.0-alpha.7

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 (37) hide show
  1. package/documentation.json +12866 -5835
  2. package/esm2022/lib/modules/autocomplete/autocomplete-adapter.service.mjs +3 -3
  3. package/esm2022/lib/modules/autocomplete/autocomplete-input.directive.mjs +10 -7
  4. package/esm2022/lib/modules/autocomplete/autocomplete-search-async-disabled.pipe.mjs +3 -3
  5. package/esm2022/lib/modules/autocomplete/autocomplete.component.mjs +55 -22
  6. package/esm2022/lib/modules/autocomplete/autocomplete.module.mjs +4 -4
  7. package/esm2022/lib/modules/country-field/country-field.component.mjs +5 -5
  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 +3 -3
  12. package/esm2022/lib/modules/lookup/lookup.component.mjs +50 -40
  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 +10 -6
  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 +3 -3
  19. package/esm2022/lib/modules/selection-modal/selection-modal.module.mjs +5 -7
  20. package/esm2022/lib/modules/selection-modal/selection-modal.service.mjs +8 -5
  21. package/esm2022/lib/modules/shared/sky-lookup-resources.module.mjs +4 -4
  22. package/esm2022/testing/autocomplete/autocomplete-harness.mjs +2 -2
  23. package/esm2022/testing/autocomplete/autocomplete-input-harness.mjs +4 -4
  24. package/esm2022/testing/country-field/country-field-testing.module.mjs +4 -4
  25. package/esm2022/testing/search/search-harness.mjs +13 -1
  26. package/esm2022/testing/search/search-testing.module.mjs +4 -4
  27. package/fesm2022/skyux-lookup-testing.mjs +24 -12
  28. package/fesm2022/skyux-lookup-testing.mjs.map +1 -1
  29. package/fesm2022/skyux-lookup.mjs +292 -241
  30. package/fesm2022/skyux-lookup.mjs.map +1 -1
  31. package/lib/modules/autocomplete/autocomplete-input.directive.d.ts +4 -1
  32. package/lib/modules/autocomplete/autocomplete.component.d.ts +6 -3
  33. package/lib/modules/lookup/lookup.component.d.ts +3 -8
  34. package/lib/modules/search/search.component.d.ts +16 -1
  35. package/package.json +18 -18
  36. package/testing/autocomplete/autocomplete-input-harness.d.ts +2 -2
  37. package/testing/search/search-harness.d.ts +8 -0
@@ -16,8 +16,8 @@ import { SkyLookupShowMoreModalComponent } from './lookup-show-more-modal.compon
16
16
  import { SkyLookupComponent } from './lookup.component';
17
17
  import * as i0 from "@angular/core";
18
18
  export class SkyLookupModule {
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyLookupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyLookupModule, declarations: [SkyLookupComponent, SkyLookupShowMoreModalComponent], imports: [CommonModule,
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupModule, declarations: [SkyLookupComponent, SkyLookupShowMoreModalComponent], imports: [CommonModule,
21
21
  FormsModule,
22
22
  SkyAutocompleteModule,
23
23
  SkyCheckboxModule,
@@ -33,7 +33,7 @@ export class SkyLookupModule {
33
33
  SkyToolbarModule,
34
34
  SkyViewkeeperModule,
35
35
  SkyWaitModule], exports: [SkyLookupComponent] }); }
36
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyLookupModule, imports: [CommonModule,
36
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupModule, imports: [CommonModule,
37
37
  FormsModule,
38
38
  SkyAutocompleteModule,
39
39
  SkyCheckboxModule,
@@ -50,7 +50,7 @@ export class SkyLookupModule {
50
50
  SkyViewkeeperModule,
51
51
  SkyWaitModule] }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyLookupModule, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupModule, decorators: [{
54
54
  type: NgModule,
55
55
  args: [{
56
56
  declarations: [SkyLookupComponent, SkyLookupShowMoreModalComponent],
@@ -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: "16.1.7", ngImport: i0, type: SkySearchAdapterService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySearchAdapterService }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySearchAdapterService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySearchAdapterService }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySearchAdapterService, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySearchAdapterService, decorators: [{
44
44
  type: Injectable
45
45
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; } });
46
46
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2gtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBRWxFOztHQUVHO0FBRUgsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxTQUFTLENBQVk7SUFFckIsWUFBWSxRQUFtQjtRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQW9CO1FBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxRQUFvQjtRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxRQUFvQjtRQUM3QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3RFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDcEUsTUFBTSxRQUFRLEdBQUcsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUUzQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDaEQsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUU3QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDckIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxFQUNuQyxXQUFXLEVBQ1gsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FDM0IsQ0FBQztJQUNKLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxRQUFvQjtRQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDckIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxFQUNuQyxXQUFXLEVBQ1gsRUFBRSxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsb0JBQW9CLENBQUMsUUFBb0I7UUFDdkMsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxRQUFvQjtRQUN6QyxPQUFPLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELHFCQUFxQixDQUFDLFFBQW9CO1FBQ3hDLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQW9CO1FBQzlCLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs4R0FwRFUsdUJBQXVCO2tIQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlIHtcbiAgI3JlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgY29uc3RydWN0b3IocmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXI7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SW5wdXQoc2VhcmNoRWw6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLiNnZXRJbnB1dEVsKHNlYXJjaEVsKS5zZWxlY3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0lucHV0KHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy4jZ2V0SW5wdXRFbChzZWFyY2hFbCkuZm9jdXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydElucHV0QW5pbWF0aW9uKHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgY29uc3QgYnV0dG9uV2lkdGggPSB0aGlzLiNnZXRTZWFyY2hPcGVuQnV0dG9uRWwoc2VhcmNoRWwpLmNsaWVudFdpZHRoO1xuICAgIGNvbnN0IG9mZnNldFdpZHRoID0gdGhpcy4jZ2V0U2VhcmNoQ29udGFpbmVyRWwoc2VhcmNoRWwpLm9mZnNldExlZnQ7XG4gICAgY29uc3QgbWluV2lkdGggPSBidXR0b25XaWR0aCArIG9mZnNldFdpZHRoO1xuXG4gICAgdGhpcy4jZ2V0SW5wdXRDb250YWluZXJFbChzZWFyY2hFbCkuc3R5bGUubWluV2lkdGggPVxuICAgICAgbWluV2lkdGgudG9TdHJpbmcoKSArICdweCc7XG5cbiAgICB0aGlzLiNyZW5kZXJlci5zZXRTdHlsZShcbiAgICAgIHRoaXMuI2dldElucHV0Q29udGFpbmVyRWwoc2VhcmNoRWwpLFxuICAgICAgJ21pbi13aWR0aCcsXG4gICAgICBtaW5XaWR0aC50b1N0cmluZygpICsgJ3B4J1xuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZW5kSW5wdXRBbmltYXRpb24oc2VhcmNoRWw6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLiNyZW5kZXJlci5zZXRTdHlsZShcbiAgICAgIHRoaXMuI2dldElucHV0Q29udGFpbmVyRWwoc2VhcmNoRWwpLFxuICAgICAgJ21pbi13aWR0aCcsXG4gICAgICAnJ1xuICAgICk7XG4gIH1cblxuICAjZ2V0SW5wdXRDb250YWluZXJFbChzZWFyY2hFbDogRWxlbWVudFJlZikge1xuICAgIHJldHVybiBzZWFyY2hFbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktc2VhcmNoLWlucHV0LWNvbnRhaW5lcicpO1xuICB9XG5cbiAgI2dldFNlYXJjaE9wZW5CdXR0b25FbChzZWFyY2hFbDogRWxlbWVudFJlZikge1xuICAgIHJldHVybiBzZWFyY2hFbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktc2VhcmNoLWJ0bi1vcGVuJyk7XG4gIH1cblxuICAjZ2V0U2VhcmNoQ29udGFpbmVyRWwoc2VhcmNoRWw6IEVsZW1lbnRSZWYpIHtcbiAgICByZXR1cm4gc2VhcmNoRWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LXNlYXJjaC1jb250YWluZXInKTtcbiAgfVxuXG4gICNnZXRJbnB1dEVsKHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgcmV0dXJuIHNlYXJjaEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcbiAgfVxufVxuIl19
@@ -235,8 +235,8 @@ export class SkySearchComponent {
235
235
  this.searchChange.emit(value);
236
236
  });
237
237
  }
238
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySearchComponent, deps: [{ token: i1.SkyMediaQueryService }, { token: i0.ElementRef }, { token: i2.SkySearchAdapterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
239
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkySearchComponent, selector: "sky-search", inputs: { 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]=\"'skyux_search_label' | skyLibResources\"\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\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"sm\"\n ></sky-icon>\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 *skyThemeIf=\"'default'\" icon=\"chevron-circle-left\" size=\"lg\">\n </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"double-chevron-left\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"search\" size=\"lg\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"search\"\n iconType=\"skyux\"\n size=\"lg\"\n ></sky-icon>\n</ng-template>\n", styles: ["sky-search .sky-search-container .sky-form-group{margin-bottom:0}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"] }, { 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: i8.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
238
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySearchComponent, deps: [{ token: i1.SkyMediaQueryService }, { token: i0.ElementRef }, { token: i2.SkySearchAdapterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
239
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.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 ?? '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\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"sm\"\n ></sky-icon>\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 *skyThemeIf=\"'default'\" icon=\"chevron-circle-left\" size=\"lg\">\n </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"double-chevron-left\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"search\" size=\"lg\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"search\"\n iconType=\"skyux\"\n size=\"lg\"\n ></sky-icon>\n</ng-template>\n", styles: ["sky-search .sky-search-container .sky-form-group{margin-bottom:0}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"] }, { 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: i8.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
240
240
  trigger('inputState', [
241
241
  state(INPUT_HIDDEN_STATE, style({
242
242
  opacity: 0,
@@ -250,7 +250,7 @@ export class SkySearchComponent {
250
250
  ]),
251
251
  ], encapsulation: i0.ViewEncapsulation.None }); }
252
252
  }
253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySearchComponent, decorators: [{
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySearchComponent, decorators: [{
254
254
  type: Component,
255
255
  args: [{ selector: 'sky-search', encapsulation: ViewEncapsulation.None, animations: [
256
256
  trigger('inputState', [
@@ -264,8 +264,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
264
264
  })),
265
265
  transition('* <=> *', animate('150ms')),
266
266
  ]),
267
- ], providers: [SkySearchAdapterService], 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]=\"'skyux_search_label' | skyLibResources\"\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\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"sm\"\n ></sky-icon>\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 *skyThemeIf=\"'default'\" icon=\"chevron-circle-left\" size=\"lg\">\n </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"double-chevron-left\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"search\" size=\"lg\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"search\"\n iconType=\"skyux\"\n size=\"lg\"\n ></sky-icon>\n</ng-template>\n", styles: ["sky-search .sky-search-container .sky-form-group{margin-bottom:0}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"] }]
268
- }], ctorParameters: function () { return [{ type: i1.SkyMediaQueryService }, { type: i0.ElementRef }, { type: i2.SkySearchAdapterService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { searchApply: [{
267
+ ], providers: [SkySearchAdapterService], 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 ?? '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\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"sm\"\n ></sky-icon>\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 *skyThemeIf=\"'default'\" icon=\"chevron-circle-left\" size=\"lg\">\n </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"double-chevron-left\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"search\" size=\"lg\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"search\"\n iconType=\"skyux\"\n size=\"lg\"\n ></sky-icon>\n</ng-template>\n", styles: ["sky-search .sky-search-container .sky-form-group{margin-bottom:0}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"] }]
268
+ }], ctorParameters: function () { return [{ type: i1.SkyMediaQueryService }, { type: i0.ElementRef }, { type: i2.SkySearchAdapterService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { ariaLabel: [{
269
+ type: Input
270
+ }], ariaLabelledBy: [{
271
+ type: Input
272
+ }], searchApply: [{
269
273
  type: Output
270
274
  }], searchChange: [{
271
275
  type: Output
@@ -282,4 +286,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
282
286
  }], placeholderText: [{
283
287
  type: Input
284
288
  }] } });
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBd0IsTUFBTSxhQUFhLENBQUM7QUFFeEUsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7O0FBRW5FLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDO0FBQ3ZDLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDO0FBQ3pDLE1BQU0sc0JBQXNCLEdBQUcsWUFBWSxDQUFDO0FBQzVDLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQztBQUM5QixNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztBQTRCaEMsTUFBTSxPQUFPLGtCQUFrQjtJQXlCN0I7Ozs7OztPQU1HO0lBQ0gsSUFDVyxVQUFVLENBQUMsS0FBeUI7UUFDN0MsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFL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QVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3lCQUN4QyxDQUFDO3FCQUNILGFBQ1UsQ0FBQyx1QkFBdUIsQ0FBQzswTUFPN0IsV0FBVztzQkFEakIsTUFBTTtnQkFPQSxZQUFZO3NCQURsQixNQUFNO2dCQU9BLFdBQVc7c0JBRGpCLE1BQU07Z0JBT0EsVUFBVTtzQkFEaEIsS0FBSztnQkFXSyxVQUFVO3NCQURwQixLQUFLO2dCQWNLLFlBQVk7c0JBRHRCLEtBQUs7Z0JBZUssUUFBUTtzQkFEbEIsS0FBSztnQkFlQyxlQUFlO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0aW9uRXZlbnQsXG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreU1lZGlhQnJlYWtwb2ludHMsIFNreU1lZGlhUXVlcnlTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZWFyY2gtYWRhcHRlci5zZXJ2aWNlJztcblxuY29uc3QgSU5QVVRfU0hPV05fU1RBVEUgPSAnaW5wdXRTaG93bic7XG5jb25zdCBJTlBVVF9ISURERU5fU1RBVEUgPSAnaW5wdXRIaWRkZW4nO1xuY29uc3QgRVhQQU5EX01PREVfUkVTUE9OU0lWRSA9ICdyZXNwb25zaXZlJztcbmNvbnN0IEVYUEFORF9NT0RFX0ZJVCA9ICdmaXQnO1xuY29uc3QgRVhQQU5EX01PREVfTk9ORSA9ICdub25lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXNlYXJjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2lucHV0U3RhdGUnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgSU5QVVRfSElEREVOX1NUQVRFLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICBzdGF0ZShcbiAgICAgICAgSU5QVVRfU0hPV05fU1RBVEUsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgdHJhbnNpdGlvbignKiA8PT4gKicsIGFuaW1hdGUoJzE1MG1zJykpLFxuICAgIF0pLFxuICBdLFxuICBwcm92aWRlcnM6IFtTa3lTZWFyY2hBZGFwdGVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBPbkNoYW5nZXMge1xuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgc2VhcmNoIHRleHQgaXMgYXBwbGllZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VhcmNoQXBwbHkgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgc2VhcmNoIHRleHQgaXMgY2hhbmdlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlYXJjaCB0ZXh0IGlzIGNsZWFyZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlYXJjaENsZWFyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHNlYXJjaCBjcml0ZXJpYSBmb3IgdGhlIGlucHV0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlYXJjaFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGV4cGFuZCBtb2RlIGZvciB0aGUgc2VhcmNoIGlucHV0LiBUaGUgdmFsaWQgb3B0aW9uc1xuICAgKiBpbmNsdWRlIGBcInJlc3BvbnNpdmVcImAgdG8gY29sbGFwc2UgdGhlIHNlYXJjaCBpbnB1dCBpbnRvIGEgYnV0dG9uIG9uXG4gICAqIG1vYmlsZSBkZXZpY2VzLCBgXCJub25lXCJgIHRvICpub3QqIGNvbGxhcHNlIHRoZSBzZWFyY2ggaW5wdXQgb24gbW9iaWxlXG4gICAqIGRldmljZXMsIGFuZCBgXCJmaXRcImAgdG8gZXh0ZW5kIHRoZSBzZWFyY2ggaW5wdXQgdG8gZml0IHRoZSB3aWR0aCBvZiBpdHMgY29udGFpbmVyLlxuICAgKiBAZGVmYXVsdCBcInJlc3BvbnNpdmVcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBleHBhbmRNb2RlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZXhwYW5kTW9kZSA9IHZhbHVlID8/IEVYUEFORF9NT0RFX1JFU1BPTlNJVkU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGV4cGFuZE1vZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX2V4cGFuZE1vZGU7XG4gIH1cblxuICAvKipcbiAgICogSG93IG1hbnkgbWlsbGlzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIHNlYXJjaGluZyBhZnRlciB1c2VycyBlbnRlciB0ZXh0IGluIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAqIEBkZWZhdWx0IDBcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGVib3VuY2VUaW1lKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGVib3VuY2VUaW1lID0gdmFsdWUgPz8gMDtcbiAgICB0aGlzLiNzZXR1cFNlYXJjaENoYW5nZWRFdmVudCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBkZWJvdW5jZVRpbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jX2RlYm91bmNlVGltZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIGZpbHRlciBidXR0b24uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rpc2FibGVkID0gdmFsdWUgPz8gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogUGxhY2Vob2xkZXIgdGV4dCB0byBkaXNwbGF5IGluIHRoZSBzZWFyY2ggaW5wdXQgdW50aWwgdXNlcnNcbiAgICogZW50ZXIgc2VhcmNoIGNyaXRlcmlhLlxuICAgKiBAZGVmYXVsdCBcIkZpbmQgaW4gdGhpcyBsaXN0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwbGFjZWhvbGRlclRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgYnJlYWtwb2ludFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBjbGVhckJ1dHRvblNob3duID0gZmFsc2U7XG5cbiAgcHVibGljIGRpc21pc3NCdXR0b25TaG93biA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpbnB1dEFuaW1hdGU6IHN0cmluZyA9IElOUFVUX1NIT1dOX1NUQVRFO1xuXG4gIHB1YmxpYyBpc0NvbGxhcHNpYmxlID0gdHJ1ZTtcblxuICBwdWJsaWMgaXNGdWxsV2lkdGggPSBmYWxzZTtcblxuICBwdWJsaWMgbW9iaWxlU2VhcmNoU2hvd24gPSBmYWxzZTtcblxuICBwdWJsaWMgc2VhcmNoQnV0dG9uU2hvd24gPSBmYWxzZTtcblxuICAjY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICAjZWxSZWY6IEVsZW1lbnRSZWY7XG5cbiAgI21lZGlhUXVlcnlTZXJ2aWNlOiBTa3lNZWRpYVF1ZXJ5U2VydmljZTtcblxuICAjc2VhcmNoQWRhcHRlcjogU2t5U2VhcmNoQWRhcHRlclNlcnZpY2U7XG5cbiAgI3NlYXJjaFVwZGF0ZWQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgI3NlYXJjaFVwZGF0ZWRTdWI6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICAjX2RlYm91bmNlVGltZSA9IDA7XG5cbiAgI19kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICNfZXhwYW5kTW9kZSA9IEVYUEFORF9NT0RFX1JFU1BPTlNJVkU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbWVkaWFRdWVyeVNlcnZpY2U6IFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHNlYXJjaEFkYXB0ZXI6IFNreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlLFxuICAgIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UgPSBtZWRpYVF1ZXJ5U2VydmljZTtcbiAgICB0aGlzLiNlbFJlZiA9IGVsUmVmO1xuICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIgPSBzZWFyY2hBZGFwdGVyO1xuICAgIHRoaXMuI2NoYW5nZVJlZiA9IGNoYW5nZVJlZjtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgdGhpcy5icmVha3BvaW50U3Vic2NyaXB0aW9uID0gdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2Uuc3Vic2NyaWJlKFxuICAgICAgICAoYXJnczogU2t5TWVkaWFCcmVha3BvaW50cykgPT4ge1xuICAgICAgICAgIHRoaXMuI21lZGlhUXVlcnlDYWxsYmFjayhhcmdzKTtcbiAgICAgICAgICB0aGlzLiNjaGFuZ2VSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuI3NldHVwU2VhcmNoQ2hhbmdlZEV2ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLiNleHBhbmRNb2RlQmluZGluZ0NoYW5nZWQoY2hhbmdlcykpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5leHBhbmRNb2RlKSB7XG4gICAgICAgIGNhc2UgRVhQQU5EX01PREVfTk9ORTpcbiAgICAgICAgICB0aGlzLmlzQ29sbGFwc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzRnVsbFdpZHRoID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgRVhQQU5EX01PREVfRklUOlxuICAgICAgICAgIHRoaXMuaXNDb2xsYXBzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNGdWxsV2lkdGggPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRoaXMuaXNDb2xsYXBzaWJsZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5pc0Z1bGxXaWR0aCA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLiNzZWFyY2hCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzKSkge1xuICAgICAgdGhpcy5jbGVhckJ1dHRvblNob3duID0gISEodGhpcy5zZWFyY2hUZXh0ICYmIHRoaXMuc2VhcmNoVGV4dCAhPT0gJycpO1xuICAgICAgaWYgKHRoaXMuI3Nob3VsZE9wZW5JbnB1dCgpKSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfU0hPV05fU1RBVEU7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuI2NoYW5nZVJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJTZWFyY2hUZXh0KCkge1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xuICAgIHRoaXMuY2xlYXJCdXR0b25TaG93biA9IGZhbHNlO1xuXG4gICAgdGhpcy4jc2VhcmNoQWRhcHRlci5mb2N1c0lucHV0KHRoaXMuI2VsUmVmKTtcbiAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHRoaXMuc2VhcmNoVGV4dCk7XG5cbiAgICB0aGlzLnNlYXJjaEFwcGx5LmVtaXQodGhpcy5zZWFyY2hUZXh0KTtcblxuICAgIHRoaXMuc2VhcmNoQ2xlYXIuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGVudGVyUHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHNlYXJjaFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmIChldmVudC5jb2RlID09PSAnRW50ZXInIHx8IGV2ZW50LmNvZGUgPT09ICdOdW1wYWRFbnRlcicpIHtcbiAgICAgIHRoaXMuYXBwbHlTZWFyY2hUZXh0KHNlYXJjaFRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhcHBseVNlYXJjaFRleHQoc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgLy8gRG91YmxlIGNoZWNrIHRoYXQgc2VhcmNoIHRleHQgaXMgZGVmaW5lZCBiZWZvcmUgYXR0ZW1wdGluZyB0byB0cmltIG9mZiB3aGl0ZXNwYWNlXG4gICAgaWYgKHNlYXJjaFRleHQpIHtcbiAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnRyaW0oKTtcbiAgICB9XG5cbiAgICBpZiAoc2VhcmNoVGV4dCAhPT0gdGhpcy5zZWFyY2hUZXh0KSB7XG4gICAgICB0aGlzLnNlYXJjaFRleHQgPSBzZWFyY2hUZXh0O1xuICAgIH1cbiAgICB0aGlzLmNsZWFyQnV0dG9uU2hvd24gPSAhIShzZWFyY2hUZXh0ICYmIHNlYXJjaFRleHQgIT09ICcnKTtcbiAgICBpZiAoc2VhcmNoVGV4dCAmJiBzZWFyY2hUZXh0ICE9PSAnJykge1xuICAgICAgdGhpcy4jc2VhcmNoQWRhcHRlci5zZWxlY3RJbnB1dCh0aGlzLiNlbFJlZik7XG4gICAgfVxuXG4gICAgdGhpcy5zZWFyY2hBcHBseS5lbWl0KHNlYXJjaFRleHQpO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaFRleHRDaGFuZ2VkKHNlYXJjaFRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQ7XG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZC5uZXh0KHNlYXJjaFRleHQpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVNlYXJjaElucHV0KHNob3dJbnB1dDogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICBpZiAoc2hvd0lucHV0KSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfU0hPV05fU1RBVEU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX0hJRERFTl9TVEFURTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5wdXRBbmltYXRpb25TdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICBpZiAodGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgdGhpcy4jc2VhcmNoQWRhcHRlci5zdGFydElucHV0QW5pbWF0aW9uKHRoaXMuI2VsUmVmKTtcblxuICAgICAgaWYgKFxuICAgICAgICBldmVudC50b1N0YXRlID09PSBJTlBVVF9TSE9XTl9TVEFURSAmJlxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5tb2JpbGVTZWFyY2hTaG93biA9IHRydWU7XG4gICAgICAgIHRoaXMuc2VhcmNoQnV0dG9uU2hvd24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5wdXRBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIuZW5kSW5wdXRBbmltYXRpb24odGhpcy4jZWxSZWYpO1xuXG4gICAgICB0aGlzLnNlYXJjaEJ1dHRvblNob3duID1cbiAgICAgICAgZXZlbnQudG9TdGF0ZSA9PT0gSU5QVVRfSElEREVOX1NUQVRFICYmXG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHM7XG5cbiAgICAgIGlmIChcbiAgICAgICAgKGV2ZW50LnRvU3RhdGUgPT09IElOUFVUX0hJRERFTl9TVEFURSAmJlxuICAgICAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHMpIHx8XG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgIT09IFNreU1lZGlhQnJlYWtwb2ludHMueHNcbiAgICAgICkge1xuICAgICAgICB0aGlzLm1vYmlsZVNlYXJjaFNob3duID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmJyZWFrcG9pbnRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkU3ViPy51bnN1YnNjcmliZSgpO1xuICB9XG4gICNzZWFyY2hCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGNoYW5nZXNbJ3NlYXJjaFRleHQnXSAmJlxuICAgICAgY2hhbmdlc1snc2VhcmNoVGV4dCddLnByZXZpb3VzVmFsdWUgIT09IGNoYW5nZXNbJ3NlYXJjaFRleHQnXS5jdXJyZW50VmFsdWVcbiAgICApO1xuICB9XG5cbiAgI2V4cGFuZE1vZGVCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGNoYW5nZXNbJ2V4cGFuZE1vZGUnXSAmJlxuICAgICAgY2hhbmdlc1snZXhwYW5kTW9kZSddLnByZXZpb3VzVmFsdWUgIT09IGNoYW5nZXNbJ2V4cGFuZE1vZGUnXS5jdXJyZW50VmFsdWVcbiAgICApO1xuICB9XG5cbiAgI3Nob3VsZE9wZW5JbnB1dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5zZWFyY2hUZXh0ICE9PSAnJyAmJlxuICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cyAmJlxuICAgICAgdGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKVxuICAgICk7XG4gIH1cblxuICAjbWVkaWFRdWVyeUNhbGxiYWNrKGFyZ3M6IFNreU1lZGlhQnJlYWtwb2ludHMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgaWYgKGFyZ3MgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHMpIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9ISURERU5fU1RBVEU7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaW5wdXRBbmltYXRlICE9PSBJTlBVVF9TSE9XTl9TVEFURSkge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX1NIT1dOX1NUQVRFO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2JpbGVTZWFyY2hTaG93biA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLiNjaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjc2VhcmNoU2hvdWxkQ29sbGFwc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmlzQ29sbGFwc2libGUgfHwgdGhpcy5pc0NvbGxhcHNpYmxlID09PSB1bmRlZmluZWQpICYmXG4gICAgICB0aGlzLmlzRnVsbFdpZHRoICE9PSB0cnVlXG4gICAgKTtcbiAgfVxuXG4gICNzZXR1cFNlYXJjaENoYW5nZWRFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkU3ViPy51bnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZFN1YiA9IHRoaXMuI3NlYXJjaFVwZGF0ZWRcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LXNlYXJjaC1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cInNreS1zZWFyY2gtYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWJ0bi1pY29uIHNreS1zZWFyY2gtYnRuLW9wZW5cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9zZWFyY2hfb3BlbicgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgW2hpZGRlbl09XCIhc2VhcmNoQnV0dG9uU2hvd25cIlxuICAgICAgW25nQ2xhc3NdPVwieyAnc2t5LXNlYXJjaC1idG4tb3Blbi1hcHBsaWVkJzogY2xlYXJCdXR0b25TaG93biB9XCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVTZWFyY2hJbnB1dCh0cnVlKVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaEljb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LXNlYXJjaC1kaXNtaXNzLWNvbnRhaW5lclwiXG4gICAgW2hpZGRlbl09XCJzZWFyY2hCdXR0b25TaG93blwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1zZWFyY2gtZGlzbWlzcy1hYnNvbHV0ZSc6IG1vYmlsZVNlYXJjaFNob3duIHx8IGlzRnVsbFdpZHRoXG4gICAgfVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXNlYXJjaC1pdGVtLWlucHV0XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2t5LXNlYXJjaC1pbnB1dC1jb250YWluZXJcIlxuICAgICAgICBbQGlucHV0U3RhdGVdPVwiaW5wdXRBbmltYXRlXCJcbiAgICAgICAgKEBpbnB1dFN0YXRlLnN0YXJ0KT1cImlucHV0QW5pbWF0aW9uU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgIChAaW5wdXRTdGF0ZS5kb25lKT1cImlucHV0QW5pbWF0aW9uRW5kKCRldmVudClcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1zZWFyY2gtaW5wdXQtY29udGFpbmVyLWhhcy12YWx1ZSc6IHNlYXJjaFRleHQ/LnRyaW0oKVxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pbnB1dC1ib3ggW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2wgc2t5LXNlYXJjaC1pbnB1dCBza3ktcm91bmRlZC1jb3JuZXJzXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X3NlYXJjaF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dCB8fCAoJ3NreXV4X3NlYXJjaF9wbGFjZWhvbGRlcicgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgKGtleXVwKT1cImVudGVyUHJlc3MoJGV2ZW50LCBzZWFyY2hUZXh0KVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2hUZXh0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIHNreUlkXG4gICAgICAgICAgICAjc2VhcmNoSW5wdXQ9XCJza3lJZFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtYnRuIHNreS1pbnB1dC1ncm91cC1jbGVhciBza3ktaW5wdXQtYm94LWJ0bi1pbnNldFwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cIiFjbGVhckJ1dHRvblNob3duXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LXNlYXJjaC1idG4gc2t5LXNlYXJjaC1idG4tY2xlYXJcIlxuICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaFRleHQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJ0aW1lc1wiPjwvc2t5LWljb24+XG4gICAgICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICAgICAgICAgIGljb249XCJjbG9zZVwiXG4gICAgICAgICAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgPjwvc2t5LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWlucHV0LWdyb3VwLWJ0biBza3ktaW5wdXQtYm94LWJ0bi1pbnNldFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1zZWFyY2gtYnRuIHNreS1zZWFyY2gtYnRuLWFwcGx5XCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X3NlYXJjaF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiYXBwbHlTZWFyY2hUZXh0KHNlYXJjaFRleHQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoSWNvblRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWlucHV0LWdyb3VwLWljb24gc2t5LWlucHV0LWJveC1pY29uLWluc2V0LWxlZnRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hJY29uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNreS1zZWFyY2gtaXRlbS1kaXNtaXNzXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwibW9iaWxlU2VhcmNoU2hvd25cIlxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1zZWNvbmRhcnkgc2t5LXNlYXJjaC1idG4tZGlzbWlzc1wiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci50aXRsZV09XCInc2t5dXhfc2VhcmNoX2Rpc21pc3MnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlYXJjaElucHV0KGZhbHNlKVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJjaGV2cm9uLWNpcmNsZS1sZWZ0XCIgc2l6ZT1cImxnXCI+XG4gICAgICAgIDwvc2t5LWljb24+XG4gICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICAgIGljb249XCJkb3VibGUtY2hldnJvbi1sZWZ0XCJcbiAgICAgICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgICAgPlxuICAgICAgICA8L3NreS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc2VhcmNoSWNvblRlbXBsYXRlPlxuICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIiBpY29uPVwic2VhcmNoXCIgc2l6ZT1cImxnXCI+PC9za3ktaWNvbj5cbiAgPHNreS1pY29uXG4gICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgaWNvbj1cInNlYXJjaFwiXG4gICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgc2l6ZT1cImxnXCJcbiAgPjwvc2t5LWljb24+XG48L25nLXRlbXBsYXRlPlxuIl19
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBd0IsTUFBTSxhQUFhLENBQUM7QUFFeEUsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7O0FBRW5FLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDO0FBQ3ZDLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDO0FBQ3pDLE1BQU0sc0JBQXNCLEdBQUcsWUFBWSxDQUFDO0FBQzVDLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQztBQUM5QixNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztBQTRCaEMsTUFBTSxPQUFPLGtCQUFrQjtJQTRDN0I7Ozs7OztPQU1HO0lBQ0gsSUFDVyxVQUFVLENBQUMsS0FBeUI7UUFDN0MsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFL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QVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3lCQUN4QyxDQUFDO3FCQUNILGFBQ1UsQ0FBQyx1QkFBdUIsQ0FBQzswTUFVN0IsU0FBUztzQkFEZixLQUFLO2dCQVdDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsV0FBVztzQkFEakIsTUFBTTtnQkFPQSxZQUFZO3NCQURsQixNQUFNO2dCQU9BLFdBQVc7c0JBRGpCLE1BQU07Z0JBT0EsVUFBVTtzQkFEaEIsS0FBSztnQkFXSyxVQUFVO3NCQURwQixLQUFLO2dCQWNLLFlBQVk7c0JBRHRCLEtBQUs7Z0JBZUssUUFBUTtzQkFEbEIsS0FBSztnQkFlQyxlQUFlO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0aW9uRXZlbnQsXG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreU1lZGlhQnJlYWtwb2ludHMsIFNreU1lZGlhUXVlcnlTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZWFyY2gtYWRhcHRlci5zZXJ2aWNlJztcblxuY29uc3QgSU5QVVRfU0hPV05fU1RBVEUgPSAnaW5wdXRTaG93bic7XG5jb25zdCBJTlBVVF9ISURERU5fU1RBVEUgPSAnaW5wdXRIaWRkZW4nO1xuY29uc3QgRVhQQU5EX01PREVfUkVTUE9OU0lWRSA9ICdyZXNwb25zaXZlJztcbmNvbnN0IEVYUEFORF9NT0RFX0ZJVCA9ICdmaXQnO1xuY29uc3QgRVhQQU5EX01PREVfTk9ORSA9ICdub25lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXNlYXJjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2lucHV0U3RhdGUnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgSU5QVVRfSElEREVOX1NUQVRFLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICBzdGF0ZShcbiAgICAgICAgSU5QVVRfU0hPV05fU1RBVEUsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgdHJhbnNpdGlvbignKiA8PT4gKicsIGFuaW1hdGUoJzE1MG1zJykpLFxuICAgIF0pLFxuICBdLFxuICBwcm92aWRlcnM6IFtTa3lTZWFyY2hBZGFwdGVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBPbkNoYW5nZXMge1xuICAvKipcbiAgICogVGhlIEFSSUEgbGFiZWwgZm9yIHRoZSBzZWFyY2guIFRoaXMgc2V0cyB0aGUgc2VhcmNoJ3MgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSB0byBwcm92aWRlIGEgdGV4dCBlcXVpdmFsZW50IGZvciBzY3JlZW4gcmVhZGVyc1xuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBJZiB0aGUgYm94IGluY2x1ZGVzIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBhcmlhTGFiZWxsZWRCeWAgaW5zdGVhZC5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbCkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXJpYUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBIVE1MIGVsZW1lbnQgSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBsYWJlbHNcbiAgICogdGhlIHNlYXJjaC4gVGhpcyBzZXRzIHRoZSBzZWFyY2gncyBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGUgdG8gcHJvdmlkZSBhIHRleHQgZXF1aXZhbGVudCBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogSWYgdGhlIGJveCBkb2VzIG5vdCBpbmNsdWRlIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBhcmlhTGFiZWxgIGluc3RlYWQuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbGxlZGJ5KS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcmlhTGFiZWxsZWRCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBhcHBsaWVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hBcHBseSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgc2VhcmNoIHRleHQgaXMgY2xlYXJlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VhcmNoQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgc2VhcmNoIGNyaXRlcmlhIGZvciB0aGUgaW5wdXQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgZXhwYW5kIG1vZGUgZm9yIHRoZSBzZWFyY2ggaW5wdXQuIFRoZSB2YWxpZCBvcHRpb25zXG4gICAqIGluY2x1ZGUgYFwicmVzcG9uc2l2ZVwiYCB0byBjb2xsYXBzZSB0aGUgc2VhcmNoIGlucHV0IGludG8gYSBidXR0b24gb25cbiAgICogbW9iaWxlIGRldmljZXMsIGBcIm5vbmVcImAgdG8gKm5vdCogY29sbGFwc2UgdGhlIHNlYXJjaCBpbnB1dCBvbiBtb2JpbGVcbiAgICogZGV2aWNlcywgYW5kIGBcImZpdFwiYCB0byBleHRlbmQgdGhlIHNlYXJjaCBpbnB1dCB0byBmaXQgdGhlIHdpZHRoIG9mIGl0cyBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IFwicmVzcG9uc2l2ZVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGV4cGFuZE1vZGUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19leHBhbmRNb2RlID0gdmFsdWUgPz8gRVhQQU5EX01PREVfUkVTUE9OU0lWRTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhwYW5kTW9kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfZXhwYW5kTW9kZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb3cgbWFueSBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgc2VhcmNoaW5nIGFmdGVyIHVzZXJzIGVudGVyIHRleHQgaW4gdGhlIHNlYXJjaCBpbnB1dC5cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZWJvdW5jZVRpbWUodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kZWJvdW5jZVRpbWUgPSB2YWx1ZSA/PyAwO1xuICAgIHRoaXMuI3NldHVwU2VhcmNoQ2hhbmdlZEV2ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlYm91bmNlVGltZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfZGVib3VuY2VUaW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgZmlsdGVyIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzYWJsZWQgPSB2YWx1ZSA/PyBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIHNlYXJjaCBpbnB1dCB1bnRpbCB1c2Vyc1xuICAgKiBlbnRlciBzZWFyY2ggY3JpdGVyaWEuXG4gICAqIEBkZWZhdWx0IFwiRmluZCBpbiB0aGlzIGxpc3RcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBsYWNlaG9sZGVyVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBicmVha3BvaW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGNsZWFyQnV0dG9uU2hvd24gPSBmYWxzZTtcblxuICBwdWJsaWMgZGlzbWlzc0J1dHRvblNob3duID0gZmFsc2U7XG5cbiAgcHVibGljIGlucHV0QW5pbWF0ZTogc3RyaW5nID0gSU5QVVRfU0hPV05fU1RBVEU7XG5cbiAgcHVibGljIGlzQ29sbGFwc2libGUgPSB0cnVlO1xuXG4gIHB1YmxpYyBpc0Z1bGxXaWR0aCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBtb2JpbGVTZWFyY2hTaG93biA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzZWFyY2hCdXR0b25TaG93biA9IGZhbHNlO1xuXG4gICNjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gICNlbFJlZjogRWxlbWVudFJlZjtcblxuICAjbWVkaWFRdWVyeVNlcnZpY2U6IFNreU1lZGlhUXVlcnlTZXJ2aWNlO1xuXG4gICNzZWFyY2hBZGFwdGVyOiBTa3lTZWFyY2hBZGFwdGVyU2VydmljZTtcblxuICAjc2VhcmNoVXBkYXRlZCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAjc2VhcmNoVXBkYXRlZFN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICNfZGVib3VuY2VUaW1lID0gMDtcblxuICAjX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgI19leHBhbmRNb2RlID0gRVhQQU5EX01PREVfUkVTUE9OU0lWRTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBtZWRpYVF1ZXJ5U2VydmljZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgc2VhcmNoQWRhcHRlcjogU2t5U2VhcmNoQWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZSA9IG1lZGlhUXVlcnlTZXJ2aWNlO1xuICAgIHRoaXMuI2VsUmVmID0gZWxSZWY7XG4gICAgdGhpcy4jc2VhcmNoQWRhcHRlciA9IHNlYXJjaEFkYXB0ZXI7XG4gICAgdGhpcy4jY2hhbmdlUmVmID0gY2hhbmdlUmVmO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICB0aGlzLmJyZWFrcG9pbnRTdWJzY3JpcHRpb24gPSB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5zdWJzY3JpYmUoXG4gICAgICAgIChhcmdzOiBTa3lNZWRpYUJyZWFrcG9pbnRzKSA9PiB7XG4gICAgICAgICAgdGhpcy4jbWVkaWFRdWVyeUNhbGxiYWNrKGFyZ3MpO1xuICAgICAgICAgIHRoaXMuI2NoYW5nZVJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy4jc2V0dXBTZWFyY2hDaGFuZ2VkRXZlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMuI2V4cGFuZE1vZGVCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzKSkge1xuICAgICAgc3dpdGNoICh0aGlzLmV4cGFuZE1vZGUpIHtcbiAgICAgICAgY2FzZSBFWFBBTkRfTU9ERV9OT05FOlxuICAgICAgICAgIHRoaXMuaXNDb2xsYXBzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNGdWxsV2lkdGggPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBFWFBBTkRfTU9ERV9GSVQ6XG4gICAgICAgICAgdGhpcy5pc0NvbGxhcHNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5pc0Z1bGxXaWR0aCA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhpcy5pc0NvbGxhcHNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmlzRnVsbFdpZHRoID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI3NlYXJjaEJpbmRpbmdDaGFuZ2VkKGNoYW5nZXMpKSB7XG4gICAgICB0aGlzLmNsZWFyQnV0dG9uU2hvd24gPSAhISh0aGlzLnNlYXJjaFRleHQgJiYgdGhpcy5zZWFyY2hUZXh0ICE9PSAnJyk7XG4gICAgICBpZiAodGhpcy4jc2hvdWxkT3BlbklucHV0KCkpIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9TSE9XTl9TVEFURTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy4jY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlYXJjaFRleHQoKSB7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gICAgdGhpcy5jbGVhckJ1dHRvblNob3duID0gZmFsc2U7XG5cbiAgICB0aGlzLiNzZWFyY2hBZGFwdGVyLmZvY3VzSW5wdXQodGhpcy4jZWxSZWYpO1xuICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQodGhpcy5zZWFyY2hUZXh0KTtcblxuICAgIHRoaXMuc2VhcmNoQXBwbHkuZW1pdCh0aGlzLnNlYXJjaFRleHQpO1xuXG4gICAgdGhpcy5zZWFyY2hDbGVhci5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgZW50ZXJQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCwgc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFbnRlcicgfHwgZXZlbnQuY29kZSA9PT0gJ051bXBhZEVudGVyJykge1xuICAgICAgdGhpcy5hcHBseVNlYXJjaFRleHQoc2VhcmNoVGV4dCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFwcGx5U2VhcmNoVGV4dChzZWFyY2hUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAvLyBEb3VibGUgY2hlY2sgdGhhdCBzZWFyY2ggdGV4dCBpcyBkZWZpbmVkIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHRyaW0gb2ZmIHdoaXRlc3BhY2VcbiAgICBpZiAoc2VhcmNoVGV4dCkge1xuICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQudHJpbSgpO1xuICAgIH1cblxuICAgIGlmIChzZWFyY2hUZXh0ICE9PSB0aGlzLnNlYXJjaFRleHQpIHtcbiAgICAgIHRoaXMuc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQ7XG4gICAgfVxuICAgIHRoaXMuY2xlYXJCdXR0b25TaG93biA9ICEhKHNlYXJjaFRleHQgJiYgc2VhcmNoVGV4dCAhPT0gJycpO1xuICAgIGlmIChzZWFyY2hUZXh0ICYmIHNlYXJjaFRleHQgIT09ICcnKSB7XG4gICAgICB0aGlzLiNzZWFyY2hBZGFwdGVyLnNlbGVjdElucHV0KHRoaXMuI2VsUmVmKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaEFwcGx5LmVtaXQoc2VhcmNoVGV4dCk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoVGV4dENoYW5nZWQoc2VhcmNoVGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gc2VhcmNoVGV4dDtcbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkLm5leHQoc2VhcmNoVGV4dCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU2VhcmNoSW5wdXQoc2hvd0lucHV0OiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIGlmIChzaG93SW5wdXQpIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9TSE9XTl9TVEFURTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfSElEREVOX1NUQVRFO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbnB1dEFuaW1hdGlvblN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICB0aGlzLiNzZWFyY2hBZGFwdGVyLnN0YXJ0SW5wdXRBbmltYXRpb24odGhpcy4jZWxSZWYpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGV2ZW50LnRvU3RhdGUgPT09IElOUFVUX1NIT1dOX1NUQVRFICYmXG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHNcbiAgICAgICkge1xuICAgICAgICB0aGlzLm1vYmlsZVNlYXJjaFNob3duID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZWFyY2hCdXR0b25TaG93biA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbnB1dEFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICBpZiAodGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgdGhpcy4jc2VhcmNoQWRhcHRlci5lbmRJbnB1dEFuaW1hdGlvbih0aGlzLiNlbFJlZik7XG5cbiAgICAgIHRoaXMuc2VhcmNoQnV0dG9uU2hvd24gPVxuICAgICAgICBldmVudC50b1N0YXRlID09PSBJTlBVVF9ISURERU5fU1RBVEUgJiZcbiAgICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cztcblxuICAgICAgaWYgKFxuICAgICAgICAoZXZlbnQudG9TdGF0ZSA9PT0gSU5QVVRfSElEREVOX1NUQVRFICYmXG4gICAgICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cykgfHxcbiAgICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCAhPT0gU2t5TWVkaWFCcmVha3BvaW50cy54c1xuICAgICAgKSB7XG4gICAgICAgIHRoaXMubW9iaWxlU2VhcmNoU2hvd24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5icmVha3BvaW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWRTdWI/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgI3NlYXJjaEJpbmRpbmdDaGFuZ2VkKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICByZXR1cm4gKFxuICAgICAgY2hhbmdlc1snc2VhcmNoVGV4dCddICYmXG4gICAgICBjaGFuZ2VzWydzZWFyY2hUZXh0J10ucHJldmlvdXNWYWx1ZSAhPT0gY2hhbmdlc1snc2VhcmNoVGV4dCddLmN1cnJlbnRWYWx1ZVxuICAgICk7XG4gIH1cblxuICAjZXhwYW5kTW9kZUJpbmRpbmdDaGFuZ2VkKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICByZXR1cm4gKFxuICAgICAgY2hhbmdlc1snZXhwYW5kTW9kZSddICYmXG4gICAgICBjaGFuZ2VzWydleHBhbmRNb2RlJ10ucHJldmlvdXNWYWx1ZSAhPT0gY2hhbmdlc1snZXhwYW5kTW9kZSddLmN1cnJlbnRWYWx1ZVxuICAgICk7XG4gIH1cblxuICAjc2hvdWxkT3BlbklucHV0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNlYXJjaFRleHQgIT09ICcnICYmXG4gICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzICYmXG4gICAgICB0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpXG4gICAgKTtcbiAgfVxuXG4gICNtZWRpYVF1ZXJ5Q2FsbGJhY2soYXJnczogU2t5TWVkaWFCcmVha3BvaW50cyk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICBpZiAoYXJncyA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cykge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX0hJRERFTl9TVEFURTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pbnB1dEFuaW1hdGUgIT09IElOUFVUX1NIT1dOX1NUQVRFKSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfU0hPV05fU1RBVEU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm1vYmlsZVNlYXJjaFNob3duID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNzZWFyY2hTaG91bGRDb2xsYXBzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMuaXNDb2xsYXBzaWJsZSB8fCB0aGlzLmlzQ29sbGFwc2libGUgPT09IHVuZGVmaW5lZCkgJiZcbiAgICAgIHRoaXMuaXNGdWxsV2lkdGggIT09IHRydWVcbiAgICApO1xuICB9XG5cbiAgI3NldHVwU2VhcmNoQ2hhbmdlZEV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWRTdWI/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkU3ViID0gdGhpcy4jc2VhcmNoVXBkYXRlZFxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwic2t5LXNlYXJjaC1idXR0b24tY29udGFpbmVyXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLWljb24gc2t5LXNlYXJjaC1idG4tb3BlblwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X3NlYXJjaF9vcGVuJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICBbaGlkZGVuXT1cIiFzZWFyY2hCdXR0b25TaG93blwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdza3ktc2VhcmNoLWJ0bi1vcGVuLWFwcGxpZWQnOiBjbGVhckJ1dHRvblNob3duIH1cIlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlYXJjaElucHV0KHRydWUpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoSWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktc2VhcmNoLWRpc21pc3MtY29udGFpbmVyXCJcbiAgICBbaGlkZGVuXT1cInNlYXJjaEJ1dHRvblNob3duXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LXNlYXJjaC1kaXNtaXNzLWFic29sdXRlJzogbW9iaWxlU2VhcmNoU2hvd24gfHwgaXNGdWxsV2lkdGhcbiAgICB9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWl0ZW0taW5wdXRcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJza3ktc2VhcmNoLWlucHV0LWNvbnRhaW5lclwiXG4gICAgICAgIFtAaW5wdXRTdGF0ZV09XCJpbnB1dEFuaW1hdGVcIlxuICAgICAgICAoQGlucHV0U3RhdGUuc3RhcnQpPVwiaW5wdXRBbmltYXRpb25TdGFydCgkZXZlbnQpXCJcbiAgICAgICAgKEBpbnB1dFN0YXRlLmRvbmUpPVwiaW5wdXRBbmltYXRpb25FbmQoJGV2ZW50KVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LXNlYXJjaC1pbnB1dC1jb250YWluZXItaGFzLXZhbHVlJzogc2VhcmNoVGV4dD8udHJpbSgpXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA8c2t5LWlucHV0LWJveCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbCBza3ktc2VhcmNoLWlucHV0IHNreS1yb3VuZGVkLWNvcm5lcnNcIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsbGVkQnlcbiAgICAgICAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIDogKGFyaWFMYWJlbCA/PyAnc2t5dXhfc2VhcmNoX2xhYmVsJyB8IHNreUxpYlJlc291cmNlcylcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dCB8fCAoJ3NreXV4X3NlYXJjaF9wbGFjZWhvbGRlcicgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgKGtleXVwKT1cImVudGVyUHJlc3MoJGV2ZW50LCBzZWFyY2hUZXh0KVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2hUZXh0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIHNreUlkXG4gICAgICAgICAgICAjc2VhcmNoSW5wdXQ9XCJza3lJZFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtYnRuIHNreS1pbnB1dC1ncm91cC1jbGVhciBza3ktaW5wdXQtYm94LWJ0bi1pbnNldFwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cIiFjbGVhckJ1dHRvblNob3duXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LXNlYXJjaC1idG4gc2t5LXNlYXJjaC1idG4tY2xlYXJcIlxuICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaFRleHQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJ0aW1lc1wiPjwvc2t5LWljb24+XG4gICAgICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICAgICAgICAgIGljb249XCJjbG9zZVwiXG4gICAgICAgICAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgPjwvc2t5LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWlucHV0LWdyb3VwLWJ0biBza3ktaW5wdXQtYm94LWJ0bi1pbnNldFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1zZWFyY2gtYnRuIHNreS1zZWFyY2gtYnRuLWFwcGx5XCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X3NlYXJjaF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiYXBwbHlTZWFyY2hUZXh0KHNlYXJjaFRleHQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoSWNvblRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWlucHV0LWdyb3VwLWljb24gc2t5LWlucHV0LWJveC1pY29uLWluc2V0LWxlZnRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hJY29uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNreS1zZWFyY2gtaXRlbS1kaXNtaXNzXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwibW9iaWxlU2VhcmNoU2hvd25cIlxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1zZWNvbmRhcnkgc2t5LXNlYXJjaC1idG4tZGlzbWlzc1wiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci50aXRsZV09XCInc2t5dXhfc2VhcmNoX2Rpc21pc3MnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlYXJjaElucHV0KGZhbHNlKVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJjaGV2cm9uLWNpcmNsZS1sZWZ0XCIgc2l6ZT1cImxnXCI+XG4gICAgICAgIDwvc2t5LWljb24+XG4gICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICAgIGljb249XCJkb3VibGUtY2hldnJvbi1sZWZ0XCJcbiAgICAgICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgICAgPlxuICAgICAgICA8L3NreS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc2VhcmNoSWNvblRlbXBsYXRlPlxuICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIiBpY29uPVwic2VhcmNoXCIgc2l6ZT1cImxnXCI+PC9za3ktaWNvbj5cbiAgPHNreS1pY29uXG4gICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgaWNvbj1cInNlYXJjaFwiXG4gICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgc2l6ZT1cImxnXCJcbiAgPjwvc2t5LWljb24+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -9,15 +9,15 @@ import { SkyLookupResourcesModule } from '../shared/sky-lookup-resources.module'
9
9
  import { SkySearchComponent } from './search.component';
10
10
  import * as i0 from "@angular/core";
11
11
  export class SkySearchModule {
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkySearchModule, declarations: [SkySearchComponent], imports: [CommonModule,
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: SkySearchModule, declarations: [SkySearchComponent], imports: [CommonModule,
14
14
  SkyInputBoxModule,
15
15
  SkyLookupResourcesModule,
16
16
  FormsModule,
17
17
  SkyIconModule,
18
18
  SkyThemeModule,
19
19
  SkyIdModule], exports: [SkySearchComponent] }); }
20
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySearchModule, imports: [CommonModule,
20
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySearchModule, imports: [CommonModule,
21
21
  SkyInputBoxModule,
22
22
  SkyLookupResourcesModule,
23
23
  FormsModule,
@@ -25,7 +25,7 @@ export class SkySearchModule {
25
25
  SkyThemeModule,
26
26
  SkyIdModule] }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySearchModule, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySearchModule, decorators: [{
29
29
  type: NgModule,
30
30
  args: [{
31
31
  declarations: [SkySearchComponent],
@@ -7,10 +7,10 @@ export class SkySelectionModalItemSelectedPipe {
7
7
  transform(id, selectedIdMap) {
8
8
  return selectedIdMap.has(id);
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySelectionModalItemSelectedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
11
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkySelectionModalItemSelectedPipe, name: "skySelectionModalItemSelected" }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalItemSelectedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
11
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalItemSelectedPipe, name: "skySelectionModalItemSelected" }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySelectionModalItemSelectedPipe, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalItemSelectedPipe, decorators: [{
14
14
  type: Pipe,
15
15
  args: [{
16
16
  name: 'skySelectionModalItemSelected',
@@ -191,10 +191,10 @@ export class SkySelectionModalComponent {
191
191
  this.isSearching = false;
192
192
  }
193
193
  }
194
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySelectionModalComponent, deps: [{ token: i1.SkyModalInstance }, { token: i2.SkySelectionModalContext }, { token: i0.ChangeDetectorRef }, { token: i3.SkyIdService }], target: i0.ɵɵFactoryTarget.Component }); }
195
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkySelectionModalComponent, selector: "sky-selection-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 <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\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 type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\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 (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 (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 (change)=\"updateDisplayedItems()\"\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=\"!isSearching && 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 [isSelected]=\"\n item[context.idProperty]\n | skySelectionModalItemSelected : selectedIdMap\n \"\n [selectable]=\"context.selectMode === 'multiple'\"\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 }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll\n [enabled]=\"hasMoreItems\"\n [loading]=\"isLoadingMore\"\n (scrollEnd)=\"infiniteScrollEnd()\"\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 [disabled]=\"isSearching\"\n (click)=\"save()\"\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 <ng-container *ngIf=\"context.selectMode === 'single'\">\n {{ 'skyux_lookup_show_more_modal_title_single' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"context.selectMode === 'multiple'\">\n {{ 'skyux_lookup_show_more_modal_title_multiple' | skyLibResources }}\n </ng-container>\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: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i5.λ4, selector: "sky-checkbox-label" }, { kind: "component", type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i7.λ6, selector: "sky-infinite-scroll", inputs: ["enabled", "loading"], outputs: ["scrollEnd"] }, { kind: "component", type: i1.λ5, selector: "sky-modal", inputs: ["formErrors", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i1.λ2, selector: "sky-modal-content" }, { kind: "component", type: i1.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i1.λ4, selector: "sky-modal-header" }, { kind: "component", type: i7.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i7.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i7.λ8, selector: "sky-repeater-item-content" }, { kind: "component", type: i8.SkySearchComponent, selector: "sky-search", inputs: ["searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { kind: "directive", type: i9.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "component", type: i10.λ37, selector: "sky-toolbar" }, { kind: "component", type: i10.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i10.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i10.λ40, selector: "sky-toolbar-view-actions" }, { kind: "directive", type: i3.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }, { kind: "component", type: i6.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "pipe", type: i11.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: i12.SkySelectionModalItemSelectedPipe, name: "skySelectionModalItemSelected" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
194
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalComponent, deps: [{ token: i1.SkyModalInstance }, { token: i2.SkySelectionModalContext }, { token: i0.ChangeDetectorRef }, { token: i3.SkyIdService }], target: i0.ɵɵFactoryTarget.Component }); }
195
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkySelectionModalComponent, selector: "sky-selection-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 <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\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 type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\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 (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 (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 (change)=\"updateDisplayedItems()\"\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=\"!isSearching && 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 [isSelected]=\"\n item[context.idProperty]\n | skySelectionModalItemSelected : selectedIdMap\n \"\n [selectable]=\"context.selectMode === 'multiple'\"\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 }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll\n [enabled]=\"hasMoreItems\"\n [loading]=\"isLoadingMore\"\n (scrollEnd)=\"infiniteScrollEnd()\"\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 [disabled]=\"isSearching\"\n (click)=\"save()\"\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 <ng-container *ngIf=\"context.selectMode === 'single'\">\n {{ 'skyux_lookup_show_more_modal_title_single' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"context.selectMode === 'multiple'\">\n {{ 'skyux_lookup_show_more_modal_title_multiple' | skyLibResources }}\n </ng-container>\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: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i5.λ4, selector: "sky-checkbox-label" }, { kind: "component", type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i7.λ6, selector: "sky-infinite-scroll", inputs: ["enabled", "loading"], outputs: ["scrollEnd"] }, { kind: "component", type: i1.λ5, selector: "sky-modal", inputs: ["formErrors", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i1.λ2, selector: "sky-modal-content" }, { kind: "component", type: i1.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i1.λ4, selector: "sky-modal-header" }, { kind: "component", type: i7.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i7.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i7.λ8, selector: "sky-repeater-item-content" }, { kind: "component", type: i8.SkySearchComponent, selector: "sky-search", inputs: ["ariaLabel", "ariaLabelledBy", "searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { kind: "directive", type: i9.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "component", type: i10.λ37, selector: "sky-toolbar" }, { kind: "component", type: i10.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i10.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i10.λ40, selector: "sky-toolbar-view-actions" }, { kind: "directive", type: i3.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }, { kind: "component", type: i6.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "pipe", type: i11.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: i12.SkySelectionModalItemSelectedPipe, name: "skySelectionModalItemSelected" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
196
196
  }
197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySelectionModalComponent, decorators: [{
197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalComponent, decorators: [{
198
198
  type: Component,
199
199
  args: [{ selector: 'sky-selection-modal', changeDetection: ChangeDetectionStrategy.OnPush, 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 <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\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 type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\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 (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 (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 (change)=\"updateDisplayedItems()\"\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=\"!isSearching && 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 [isSelected]=\"\n item[context.idProperty]\n | skySelectionModalItemSelected : selectedIdMap\n \"\n [selectable]=\"context.selectMode === 'multiple'\"\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 }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll\n [enabled]=\"hasMoreItems\"\n [loading]=\"isLoadingMore\"\n (scrollEnd)=\"infiniteScrollEnd()\"\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 [disabled]=\"isSearching\"\n (click)=\"save()\"\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 <ng-container *ngIf=\"context.selectMode === 'single'\">\n {{ 'skyux_lookup_show_more_modal_title_single' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"context.selectMode === 'multiple'\">\n {{ 'skyux_lookup_show_more_modal_title_multiple' | skyLibResources }}\n </ng-container>\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"] }]
200
200
  }], ctorParameters: function () { return [{ type: i1.SkyModalInstance }, { type: i2.SkySelectionModalContext }, { type: i0.ChangeDetectorRef }, { type: i3.SkyIdService }]; } });
@@ -11,11 +11,10 @@ import { SkySearchModule } from '../search/search.module';
11
11
  import { SkyLookupResourcesModule } from '../shared/sky-lookup-resources.module';
12
12
  import { SkySelectionModalItemSelectedPipe } from './selection-modal-item-selected.pipe';
13
13
  import { SkySelectionModalComponent } from './selection-modal.component';
14
- import { SkySelectionModalService } from './selection-modal.service';
15
14
  import * as i0 from "@angular/core";
16
15
  export class SkySelectionModalModule {
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySelectionModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkySelectionModalModule, declarations: [SkySelectionModalComponent, SkySelectionModalItemSelectedPipe], imports: [CommonModule,
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule, declarations: [SkySelectionModalComponent, SkySelectionModalItemSelectedPipe], imports: [CommonModule,
19
18
  SkyCheckboxModule,
20
19
  SkyIconModule,
21
20
  SkyInfiniteScrollModule,
@@ -27,7 +26,7 @@ export class SkySelectionModalModule {
27
26
  SkyToolbarModule,
28
27
  SkyViewkeeperModule,
29
28
  SkyWaitModule] }); }
30
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySelectionModalModule, providers: [SkySelectionModalService], imports: [CommonModule,
29
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule, imports: [CommonModule,
31
30
  SkyCheckboxModule,
32
31
  SkyIconModule,
33
32
  SkyInfiniteScrollModule,
@@ -40,7 +39,7 @@ export class SkySelectionModalModule {
40
39
  SkyViewkeeperModule,
41
40
  SkyWaitModule] }); }
42
41
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySelectionModalModule, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule, decorators: [{
44
43
  type: NgModule,
45
44
  args: [{
46
45
  declarations: [SkySelectionModalComponent, SkySelectionModalItemSelectedPipe],
@@ -58,7 +57,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
58
57
  SkyViewkeeperModule,
59
58
  SkyWaitModule,
60
59
  ],
61
- providers: [SkySelectionModalService],
62
60
  }]
63
61
  }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1tb2RhbC9zZWxlY3Rpb24tbW9kYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFakYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBb0JyRSxNQUFNLE9BQU8sdUJBQXVCOzhHQUF2Qix1QkFBdUI7K0dBQXZCLHVCQUF1QixpQkFqQm5CLDBCQUEwQixFQUFFLGlDQUFpQyxhQUUxRSxZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYix1QkFBdUI7WUFDdkIsd0JBQXdCO1lBQ3hCLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLGFBQWE7K0dBSUosdUJBQXVCLGFBRnZCLENBQUMsd0JBQXdCLENBQUMsWUFibkMsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixhQUFhO1lBQ2IsdUJBQXVCO1lBQ3ZCLHdCQUF3QjtZQUN4QixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixhQUFhOzsyRkFJSix1QkFBdUI7a0JBbEJuQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDBCQUEwQixFQUFFLGlDQUFpQyxDQUFDO29CQUM3RSxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLGFBQWE7cUJBQ2Q7b0JBQ0QsU0FBUyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lWaWV3a2VlcGVyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSwgU2t5V2FpdE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcbmltcG9ydCB7IFNreVRvb2xiYXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGF5b3V0JztcbmltcG9ydCB7IFNreUluZmluaXRlU2Nyb2xsTW9kdWxlLCBTa3lSZXBlYXRlck1vZHVsZSB9IGZyb20gJ0Bza3l1eC9saXN0cyc7XG5pbXBvcnQgeyBTa3lNb2RhbE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lTZWFyY2hNb2R1bGUgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lMb29rdXBSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWxvb2t1cC1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxJdGVtU2VsZWN0ZWRQaXBlIH0gZnJvbSAnLi9zZWxlY3Rpb24tbW9kYWwtaXRlbS1zZWxlY3RlZC5waXBlJztcbmltcG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Rpb24tbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsU2VydmljZSB9IGZyb20gJy4vc2VsZWN0aW9uLW1vZGFsLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lTZWxlY3Rpb25Nb2RhbENvbXBvbmVudCwgU2t5U2VsZWN0aW9uTW9kYWxJdGVtU2VsZWN0ZWRQaXBlXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lDaGVja2JveE1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIFNreUxvb2t1cFJlc291cmNlc01vZHVsZSxcbiAgICBTa3lNb2RhbE1vZHVsZSxcbiAgICBTa3lSZXBlYXRlck1vZHVsZSxcbiAgICBTa3lTZWFyY2hNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gICAgU2t5VG9vbGJhck1vZHVsZSxcbiAgICBTa3lWaWV3a2VlcGVyTW9kdWxlLFxuICAgIFNreVdhaXRNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1NreVNlbGVjdGlvbk1vZGFsU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVNlbGVjdGlvbk1vZGFsTW9kdWxlIHt9XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1tb2RhbC9zZWxlY3Rpb24tbW9kYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFakYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBbUJ6RSxNQUFNLE9BQU8sdUJBQXVCOzhHQUF2Qix1QkFBdUI7K0dBQXZCLHVCQUF1QixpQkFoQm5CLDBCQUEwQixFQUFFLGlDQUFpQyxhQUUxRSxZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYix1QkFBdUI7WUFDdkIsd0JBQXdCO1lBQ3hCLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLGFBQWE7K0dBR0osdUJBQXVCLFlBZGhDLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLHVCQUF1QjtZQUN2Qix3QkFBd0I7WUFDeEIsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsYUFBYTs7MkZBR0osdUJBQXVCO2tCQWpCbkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxpQ0FBaUMsQ0FBQztvQkFDN0UsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4QixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixhQUFhO3FCQUNkO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lWaWV3a2VlcGVyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSwgU2t5V2FpdE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcbmltcG9ydCB7IFNreVRvb2xiYXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGF5b3V0JztcbmltcG9ydCB7IFNreUluZmluaXRlU2Nyb2xsTW9kdWxlLCBTa3lSZXBlYXRlck1vZHVsZSB9IGZyb20gJ0Bza3l1eC9saXN0cyc7XG5pbXBvcnQgeyBTa3lNb2RhbE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lTZWFyY2hNb2R1bGUgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lMb29rdXBSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWxvb2t1cC1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxJdGVtU2VsZWN0ZWRQaXBlIH0gZnJvbSAnLi9zZWxlY3Rpb24tbW9kYWwtaXRlbS1zZWxlY3RlZC5waXBlJztcbmltcG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Rpb24tbW9kYWwuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5U2VsZWN0aW9uTW9kYWxDb21wb25lbnQsIFNreVNlbGVjdGlvbk1vZGFsSXRlbVNlbGVjdGVkUGlwZV0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5Q2hlY2tib3hNb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBTa3lJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBTa3lMb29rdXBSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5TW9kYWxNb2R1bGUsXG4gICAgU2t5UmVwZWF0ZXJNb2R1bGUsXG4gICAgU2t5U2VhcmNoTW9kdWxlLFxuICAgIFNreVRoZW1lTW9kdWxlLFxuICAgIFNreVRvb2xiYXJNb2R1bGUsXG4gICAgU2t5Vmlld2tlZXBlck1vZHVsZSxcbiAgICBTa3lXYWl0TW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Nb2RhbE1vZHVsZSB7fVxuIl19
@@ -77,10 +77,13 @@ export class SkySelectionModalService {
77
77
  });
78
78
  return instance;
79
79
  }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySelectionModalService, deps: [{ token: i1.SkyModalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
81
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySelectionModalService }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalService, deps: [{ token: i1.SkyModalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
81
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalService, providedIn: 'any' }); }
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkySelectionModalService, decorators: [{
84
- type: Injectable
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalService, decorators: [{
84
+ type: Injectable,
85
+ args: [{
86
+ providedIn: 'any',
87
+ }]
85
88
  }], ctorParameters: function () { return [{ type: i1.SkyModalService }]; } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9zZWxlY3Rpb24tbW9kYWwvc2VsZWN0aW9uLW1vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQUc3RTs7R0FFRztBQUVILE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsU0FBUyxDQUFrQjtJQUUzQixZQUFZLFFBQXlCO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxJQUFJLENBQUMsSUFBK0I7UUFDekMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUVoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLHdCQUF3QixDQUMxQyxJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLGFBQWEsSUFBSSxFQUFFLEVBQ3hCLFlBQVksSUFBSSxFQUFFLEVBQ2xCLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3RCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtnQkFDekIsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVO2dCQUNqQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCO2FBQzlDLENBQWlELENBQUM7UUFDckQsQ0FBQyxFQUNELElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLGFBQWEsSUFBSSxLQUFLLEVBQzNCO1lBQ0UsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUNGLENBQUM7UUFFRixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUNwRSxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLHdCQUF3QjtvQkFDakMsUUFBUSxFQUFFLE9BQU87aUJBQ2xCO2FBQ0Y7WUFDRCxJQUFJLEVBQUUsT0FBTztZQUNiLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLHlCQUF5QixDQUM1QyxhQUFhLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUNuQyxDQUFDO1FBRUYsUUFBUSxDQUFDLFNBQVM7YUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNyQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqQixhQUFhLENBQUMsaUJBQWdELENBQUMsT0FBTyxDQUNyRSxJQUFJLENBQ0wsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUwsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUNoRCxJQUFJLFNBQXFDLENBQUM7WUFFMUMsUUFBUSxjQUFjLENBQUMsTUFBTSxFQUFFO2dCQUM3QixLQUFLLE1BQU07b0JBQ1QsU0FBUyxHQUFHO3dCQUNWLE1BQU0sRUFBRSxNQUFNO3dCQUNkLGFBQWEsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDcEMsQ0FBQyxJQUEyQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUMvQztxQkFDRixDQUFDO29CQUNGLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLFNBQVMsR0FBRyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztvQkFDakMsTUFBTTtnQkFDUjtvQkFDRSxTQUFTLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7YUFDbkM7WUFFRCxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxjQUFjLEdBQ2xCLGFBQWEsQ0FBQyxpQkFBK0MsQ0FBQztRQUVoRSxjQUFjLENBQUMsUUFBUTthQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNyQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixNQUFNLE9BQU8sR0FBdUM7b0JBQ2xELFNBQVMsQ0FBQyxJQUFJO3dCQUNaLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNwQyxDQUFDO2lCQUNGLENBQUM7Z0JBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs4R0FqR1Usd0JBQXdCO2tIQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lNb2RhbFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVTZWFyY2hBc3luY1Jlc3VsdCB9IGZyb20gJy4uL2F1dG9jb21wbGV0ZS90eXBlcy9hdXRvY29tcGxldGUtc2VhcmNoLWFzeW5jLXJlc3VsdCc7XG5cbmltcG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Rpb24tbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsQWRkQ2xpY2tFdmVudEFyZ3MgfSBmcm9tICcuL3R5cGVzL3NlbGVjdGlvbi1tb2RhbC1hZGQtY2xpY2stZXZlbnQtYXJncyc7XG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbENsb3NlQXJncyB9IGZyb20gJy4vdHlwZXMvc2VsZWN0aW9uLW1vZGFsLWNsb3NlLWFyZ3MnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxDb250ZXh0IH0gZnJvbSAnLi90eXBlcy9zZWxlY3Rpb24tbW9kYWwtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbEluc3RhbmNlIH0gZnJvbSAnLi90eXBlcy9zZWxlY3Rpb24tbW9kYWwtaW5zdGFuY2UnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxPcGVuQXJncyB9IGZyb20gJy4vdHlwZXMvc2VsZWN0aW9uLW1vZGFsLW9wZW4tYXJncyc7XG5cbi8qKlxuICogRGlzcGxheXMgYSBtb2RhbCBmb3Igc2VsZWN0aW5nIG9uZSBvciBtb3JlIHZhbHVlcy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVNlbGVjdGlvbk1vZGFsU2VydmljZSB7XG4gICNtb2RhbFN2YzogU2t5TW9kYWxTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKG1vZGFsU3ZjOiBTa3lNb2RhbFNlcnZpY2UpIHtcbiAgICB0aGlzLiNtb2RhbFN2YyA9IG1vZGFsU3ZjO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBzZWxlY3Rpb24gbW9kYWwuXG4gICAqIEBwYXJhbSBhcmdzIFBhcmFtZXRlcnMgZm9yIHRoZSBzZWxlY3Rpb24gbW9kYWwuXG4gICAqL1xuICBwdWJsaWMgb3BlbihhcmdzOiBTa3lTZWxlY3Rpb25Nb2RhbE9wZW5BcmdzKTogU2t5U2VsZWN0aW9uTW9kYWxJbnN0YW5jZSB7XG4gICAgY29uc3QgaW5pdGlhbFZhbHVlID0gYXJncy52YWx1ZTtcblxuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgU2t5U2VsZWN0aW9uTW9kYWxDb250ZXh0KFxuICAgICAgYXJncy5kZXNjcmlwdG9yUHJvcGVydHksXG4gICAgICBhcmdzLmlkUHJvcGVydHksXG4gICAgICBhcmdzLmluaXRpYWxTZWFyY2ggfHwgJycsXG4gICAgICBpbml0aWFsVmFsdWUgfHwgW10sXG4gICAgICAoc2VhcmNoQXJncykgPT4ge1xuICAgICAgICByZXR1cm4gYXJncy5zZWFyY2hBc3luYyh7XG4gICAgICAgICAgb2Zmc2V0OiBzZWFyY2hBcmdzLm9mZnNldCxcbiAgICAgICAgICBzZWFyY2hUZXh0OiBzZWFyY2hBcmdzLnNlYXJjaFRleHQsXG4gICAgICAgICAgY29udGludWF0aW9uRGF0YTogc2VhcmNoQXJncy5jb250aW51YXRpb25EYXRhLFxuICAgICAgICB9KSBhcyBPYnNlcnZhYmxlPFNreUF1dG9jb21wbGV0ZVNlYXJjaEFzeW5jUmVzdWx0PjtcbiAgICAgIH0sXG4gICAgICBhcmdzLnNlbGVjdE1vZGUsXG4gICAgICBhcmdzLnNob3dBZGRCdXR0b24gfHwgZmFsc2UsXG4gICAgICB7XG4gICAgICAgIGl0ZW1UZW1wbGF0ZTogYXJncy5pdGVtVGVtcGxhdGUsXG4gICAgICAgIHRpdGxlOiBhcmdzLnRpdGxlLFxuICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCBtb2RhbEluc3RhbmNlID0gdGhpcy4jbW9kYWxTdmMub3BlbihTa3lTZWxlY3Rpb25Nb2RhbENvbXBvbmVudCwge1xuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBTa3lTZWxlY3Rpb25Nb2RhbENvbnRleHQsXG4gICAgICAgICAgdXNlVmFsdWU6IGNvbnRleHQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgc2l6ZTogJ2xhcmdlJyxcbiAgICAgIHdyYXBwZXJDbGFzczogYXJncy53cmFwcGVyQ2xhc3MsXG4gICAgfSk7XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBTa3lTZWxlY3Rpb25Nb2RhbEluc3RhbmNlKFxuICAgICAgbW9kYWxJbnN0YW5jZS5jb21wb25lbnRJbnN0YW5jZS5pZFxuICAgICk7XG5cbiAgICBpbnN0YW5jZS5pdGVtQWRkZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbChtb2RhbEluc3RhbmNlLmNsb3NlZCkpXG4gICAgICAuc3Vic2NyaWJlKChpdGVtKSA9PiB7XG4gICAgICAgIChtb2RhbEluc3RhbmNlLmNvbXBvbmVudEluc3RhbmNlIGFzIFNreVNlbGVjdGlvbk1vZGFsQ29tcG9uZW50KS5hZGRJdGVtKFxuICAgICAgICAgIGl0ZW1cbiAgICAgICAgKTtcbiAgICAgIH0pO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKChtb2RhbENsb3NlQXJncykgPT4ge1xuICAgICAgbGV0IGNsb3NlQXJnczogU2t5U2VsZWN0aW9uTW9kYWxDbG9zZUFyZ3M7XG5cbiAgICAgIHN3aXRjaCAobW9kYWxDbG9zZUFyZ3MucmVhc29uKSB7XG4gICAgICAgIGNhc2UgJ3NhdmUnOlxuICAgICAgICAgIGNsb3NlQXJncyA9IHtcbiAgICAgICAgICAgIHJlYXNvbjogJ3NhdmUnLFxuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtczogbW9kYWxDbG9zZUFyZ3MuZGF0YS5tYXAoXG4gICAgICAgICAgICAgIChpdGVtOiB7IGl0ZW1EYXRhOiB1bmtub3duIH0pID0+IGl0ZW0uaXRlbURhdGFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnY2FuY2VsJzpcbiAgICAgICAgICBjbG9zZUFyZ3MgPSB7IHJlYXNvbjogJ2NhbmNlbCcgfTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBjbG9zZUFyZ3MgPSB7IHJlYXNvbjogJ2Nsb3NlJyB9O1xuICAgICAgfVxuXG4gICAgICBpbnN0YW5jZS5jbG9zZShjbG9zZUFyZ3MpO1xuICAgIH0pO1xuXG4gICAgY29uc3Qgc2VsZWN0aW9uTW9kYWwgPVxuICAgICAgbW9kYWxJbnN0YW5jZS5jb21wb25lbnRJbnN0YW5jZSBhcyBTa3lTZWxlY3Rpb25Nb2RhbENvbXBvbmVudDtcblxuICAgIHNlbGVjdGlvbk1vZGFsLmFkZENsaWNrXG4gICAgICAucGlwZSh0YWtlVW50aWwobW9kYWxJbnN0YW5jZS5jbG9zZWQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmIChhcmdzLmFkZENsaWNrKSB7XG4gICAgICAgICAgY29uc3QgYWRkQXJnczogU2t5U2VsZWN0aW9uTW9kYWxBZGRDbGlja0V2ZW50QXJncyA9IHtcbiAgICAgICAgICAgIGl0ZW1BZGRlZChhcmdzKSB7XG4gICAgICAgICAgICAgIHNlbGVjdGlvbk1vZGFsLmFkZEl0ZW0oYXJncy5pdGVtKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGFyZ3MuYWRkQ2xpY2soYWRkQXJncyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG59XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9zZWxlY3Rpb24tbW9kYWwvc2VsZWN0aW9uLW1vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQUc3RTs7R0FFRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsU0FBUyxDQUFrQjtJQUUzQixZQUFZLFFBQXlCO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxJQUFJLENBQUMsSUFBK0I7UUFDekMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUVoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLHdCQUF3QixDQUMxQyxJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLGFBQWEsSUFBSSxFQUFFLEVBQ3hCLFlBQVksSUFBSSxFQUFFLEVBQ2xCLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3RCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtnQkFDekIsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVO2dCQUNqQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCO2FBQzlDLENBQWlELENBQUM7UUFDckQsQ0FBQyxFQUNELElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLGFBQWEsSUFBSSxLQUFLLEVBQzNCO1lBQ0UsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUNGLENBQUM7UUFFRixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUNwRSxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLHdCQUF3QjtvQkFDakMsUUFBUSxFQUFFLE9BQU87aUJBQ2xCO2FBQ0Y7WUFDRCxJQUFJLEVBQUUsT0FBTztZQUNiLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLHlCQUF5QixDQUM1QyxhQUFhLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUNuQyxDQUFDO1FBRUYsUUFBUSxDQUFDLFNBQVM7YUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNyQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqQixhQUFhLENBQUMsaUJBQWdELENBQUMsT0FBTyxDQUNyRSxJQUFJLENBQ0wsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUwsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUNoRCxJQUFJLFNBQXFDLENBQUM7WUFFMUMsUUFBUSxjQUFjLENBQUMsTUFBTSxFQUFFO2dCQUM3QixLQUFLLE1BQU07b0JBQ1QsU0FBUyxHQUFHO3dCQUNWLE1BQU0sRUFBRSxNQUFNO3dCQUNkLGFBQWEsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDcEMsQ0FBQyxJQUEyQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUMvQztxQkFDRixDQUFDO29CQUNGLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLFNBQVMsR0FBRyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztvQkFDakMsTUFBTTtnQkFDUjtvQkFDRSxTQUFTLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7YUFDbkM7WUFFRCxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxjQUFjLEdBQ2xCLGFBQWEsQ0FBQyxpQkFBK0MsQ0FBQztRQUVoRSxjQUFjLENBQUMsUUFBUTthQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNyQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixNQUFNLE9BQU8sR0FBdUM7b0JBQ2xELFNBQVMsQ0FBQyxJQUFJO3dCQUNaLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNwQyxDQUFDO2lCQUNGLENBQUM7Z0JBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs4R0FqR1Usd0JBQXdCO2tIQUF4Qix3QkFBd0IsY0FGdkIsS0FBSzs7MkZBRU4sd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxLQUFLO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreU1vZGFsU2VydmljZSB9IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZVNlYXJjaEFzeW5jUmVzdWx0IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlL3R5cGVzL2F1dG9jb21wbGV0ZS1zZWFyY2gtYXN5bmMtcmVzdWx0JztcblxuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdGlvbi1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxBZGRDbGlja0V2ZW50QXJncyB9IGZyb20gJy4vdHlwZXMvc2VsZWN0aW9uLW1vZGFsLWFkZC1jbGljay1ldmVudC1hcmdzJztcbmltcG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsQ2xvc2VBcmdzIH0gZnJvbSAnLi90eXBlcy9zZWxlY3Rpb24tbW9kYWwtY2xvc2UtYXJncyc7XG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbENvbnRleHQgfSBmcm9tICcuL3R5cGVzL3NlbGVjdGlvbi1tb2RhbC1jb250ZXh0JztcbmltcG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsSW5zdGFuY2UgfSBmcm9tICcuL3R5cGVzL3NlbGVjdGlvbi1tb2RhbC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbE9wZW5BcmdzIH0gZnJvbSAnLi90eXBlcy9zZWxlY3Rpb24tbW9kYWwtb3Blbi1hcmdzJztcblxuLyoqXG4gKiBEaXNwbGF5cyBhIG1vZGFsIGZvciBzZWxlY3Rpbmcgb25lIG9yIG1vcmUgdmFsdWVzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Nb2RhbFNlcnZpY2Uge1xuICAjbW9kYWxTdmM6IFNreU1vZGFsU2VydmljZTtcblxuICBjb25zdHJ1Y3Rvcihtb2RhbFN2YzogU2t5TW9kYWxTZXJ2aWNlKSB7XG4gICAgdGhpcy4jbW9kYWxTdmMgPSBtb2RhbFN2YztcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgc2VsZWN0aW9uIG1vZGFsLlxuICAgKiBAcGFyYW0gYXJncyBQYXJhbWV0ZXJzIGZvciB0aGUgc2VsZWN0aW9uIG1vZGFsLlxuICAgKi9cbiAgcHVibGljIG9wZW4oYXJnczogU2t5U2VsZWN0aW9uTW9kYWxPcGVuQXJncyk6IFNreVNlbGVjdGlvbk1vZGFsSW5zdGFuY2Uge1xuICAgIGNvbnN0IGluaXRpYWxWYWx1ZSA9IGFyZ3MudmFsdWU7XG5cbiAgICBjb25zdCBjb250ZXh0ID0gbmV3IFNreVNlbGVjdGlvbk1vZGFsQ29udGV4dChcbiAgICAgIGFyZ3MuZGVzY3JpcHRvclByb3BlcnR5LFxuICAgICAgYXJncy5pZFByb3BlcnR5LFxuICAgICAgYXJncy5pbml0aWFsU2VhcmNoIHx8ICcnLFxuICAgICAgaW5pdGlhbFZhbHVlIHx8IFtdLFxuICAgICAgKHNlYXJjaEFyZ3MpID0+IHtcbiAgICAgICAgcmV0dXJuIGFyZ3Muc2VhcmNoQXN5bmMoe1xuICAgICAgICAgIG9mZnNldDogc2VhcmNoQXJncy5vZmZzZXQsXG4gICAgICAgICAgc2VhcmNoVGV4dDogc2VhcmNoQXJncy5zZWFyY2hUZXh0LFxuICAgICAgICAgIGNvbnRpbnVhdGlvbkRhdGE6IHNlYXJjaEFyZ3MuY29udGludWF0aW9uRGF0YSxcbiAgICAgICAgfSkgYXMgT2JzZXJ2YWJsZTxTa3lBdXRvY29tcGxldGVTZWFyY2hBc3luY1Jlc3VsdD47XG4gICAgICB9LFxuICAgICAgYXJncy5zZWxlY3RNb2RlLFxuICAgICAgYXJncy5zaG93QWRkQnV0dG9uIHx8IGZhbHNlLFxuICAgICAge1xuICAgICAgICBpdGVtVGVtcGxhdGU6IGFyZ3MuaXRlbVRlbXBsYXRlLFxuICAgICAgICB0aXRsZTogYXJncy50aXRsZSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgY29uc3QgbW9kYWxJbnN0YW5jZSA9IHRoaXMuI21vZGFsU3ZjLm9wZW4oU2t5U2VsZWN0aW9uTW9kYWxDb21wb25lbnQsIHtcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU2t5U2VsZWN0aW9uTW9kYWxDb250ZXh0LFxuICAgICAgICAgIHVzZVZhbHVlOiBjb250ZXh0LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHNpemU6ICdsYXJnZScsXG4gICAgICB3cmFwcGVyQ2xhc3M6IGFyZ3Mud3JhcHBlckNsYXNzLFxuICAgIH0pO1xuXG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgU2t5U2VsZWN0aW9uTW9kYWxJbnN0YW5jZShcbiAgICAgIG1vZGFsSW5zdGFuY2UuY29tcG9uZW50SW5zdGFuY2UuaWRcbiAgICApO1xuXG4gICAgaW5zdGFuY2UuaXRlbUFkZGVkXG4gICAgICAucGlwZSh0YWtlVW50aWwobW9kYWxJbnN0YW5jZS5jbG9zZWQpKVxuICAgICAgLnN1YnNjcmliZSgoaXRlbSkgPT4ge1xuICAgICAgICAobW9kYWxJbnN0YW5jZS5jb21wb25lbnRJbnN0YW5jZSBhcyBTa3lTZWxlY3Rpb25Nb2RhbENvbXBvbmVudCkuYWRkSXRlbShcbiAgICAgICAgICBpdGVtXG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgIG1vZGFsSW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgobW9kYWxDbG9zZUFyZ3MpID0+IHtcbiAgICAgIGxldCBjbG9zZUFyZ3M6IFNreVNlbGVjdGlvbk1vZGFsQ2xvc2VBcmdzO1xuXG4gICAgICBzd2l0Y2ggKG1vZGFsQ2xvc2VBcmdzLnJlYXNvbikge1xuICAgICAgICBjYXNlICdzYXZlJzpcbiAgICAgICAgICBjbG9zZUFyZ3MgPSB7XG4gICAgICAgICAgICByZWFzb246ICdzYXZlJyxcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXM6IG1vZGFsQ2xvc2VBcmdzLmRhdGEubWFwKFxuICAgICAgICAgICAgICAoaXRlbTogeyBpdGVtRGF0YTogdW5rbm93biB9KSA9PiBpdGVtLml0ZW1EYXRhXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2NhbmNlbCc6XG4gICAgICAgICAgY2xvc2VBcmdzID0geyByZWFzb246ICdjYW5jZWwnIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgY2xvc2VBcmdzID0geyByZWFzb246ICdjbG9zZScgfTtcbiAgICAgIH1cblxuICAgICAgaW5zdGFuY2UuY2xvc2UoY2xvc2VBcmdzKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHNlbGVjdGlvbk1vZGFsID1cbiAgICAgIG1vZGFsSW5zdGFuY2UuY29tcG9uZW50SW5zdGFuY2UgYXMgU2t5U2VsZWN0aW9uTW9kYWxDb21wb25lbnQ7XG5cbiAgICBzZWxlY3Rpb25Nb2RhbC5hZGRDbGlja1xuICAgICAgLnBpcGUodGFrZVVudGlsKG1vZGFsSW5zdGFuY2UuY2xvc2VkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAoYXJncy5hZGRDbGljaykge1xuICAgICAgICAgIGNvbnN0IGFkZEFyZ3M6IFNreVNlbGVjdGlvbk1vZGFsQWRkQ2xpY2tFdmVudEFyZ3MgPSB7XG4gICAgICAgICAgICBpdGVtQWRkZWQoYXJncykge1xuICAgICAgICAgICAgICBzZWxlY3Rpb25Nb2RhbC5hZGRJdGVtKGFyZ3MuaXRlbSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBhcmdzLmFkZENsaWNrKGFkZEFyZ3MpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfVxufVxuIl19