@elderbyte/ngx-starter 17.11.0-beta5 → 17.11.0-beta6

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 (32) hide show
  1. package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +6 -6
  2. package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +1 -1
  3. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +10 -10
  4. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +14 -29
  5. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +4 -4
  6. package/esm2022/lib/components/select/elder-select.module.mjs +8 -8
  7. package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +15 -11
  8. package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +144 -0
  9. package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +20 -6
  10. package/esm2022/lib/components/select/filter/include-exclude-model-filter-adapter.mjs +63 -0
  11. package/esm2022/lib/components/select/filter/include-exclude-selection-model.mjs +22 -12
  12. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +7 -2
  13. package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +117 -43
  14. package/fesm2022/elderbyte-ngx-starter.mjs +674 -616
  15. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  16. package/lib/components/forms/search/domain/input/search-input-state.d.ts +3 -3
  17. package/lib/components/forms/search/domain/input/search-input.d.ts +2 -6
  18. package/lib/components/forms/search/elder-search-context.directive.d.ts +3 -3
  19. package/lib/components/forms/search/elder-search-input.directive.d.ts +7 -11
  20. package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +2 -1
  21. package/lib/components/select/elder-select.module.d.ts +3 -3
  22. package/lib/components/select/filter/elder-chip-filter-style-resolver.d.ts +1 -1
  23. package/lib/components/select/filter/{elder-chips-filter.directive.d.ts → elder-chips-include-exclude.directive.d.ts} +12 -8
  24. package/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.d.ts +6 -0
  25. package/lib/components/select/filter/include-exclude-model-filter-adapter.d.ts +29 -0
  26. package/lib/components/select/filter/include-exclude-selection-model.d.ts +6 -1
  27. package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +2 -0
  28. package/lib/components/select/multi/elder-search-include-exclude.directive.d.ts +57 -17
  29. package/package.json +1 -1
  30. package/esm2022/lib/components/forms/search/filter/include-exclude-input-converter.mjs +0 -137
  31. package/esm2022/lib/components/select/filter/elder-chips-filter.directive.mjs +0 -102
  32. package/lib/components/forms/search/filter/include-exclude-input-converter.d.ts +0 -62
@@ -55,7 +55,7 @@ export class ElderSearchBoxComponent {
55
55
  this.queryKey = 'query';
56
56
  this._dense = false;
57
57
  this.autocomplete = 'off';
58
- this.userFilters$ = searchContextDirective.userDefinedAttributes$.pipe(
58
+ this.touchedSearchInputs$ = searchContextDirective.touchedSearchInputs$.pipe(
59
59
  // tap(attrs => this.logger.error('Attrs', attrs))
60
60
  );
61
61
  }
@@ -93,11 +93,11 @@ export class ElderSearchBoxComponent {
93
93
  this.searchContextDirective.reset();
94
94
  }
95
95
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderSearchBoxComponent, deps: [{ token: i1.ElderSearchContextDirective }], target: i0.ɵɵFactoryTarget.Component }); }
96
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ElderSearchBoxComponent, isStandalone: true, selector: "elder-search-box", inputs: { autoPanel: "autoPanel", name: "name", queryKey: "queryKey", placeholder: "placeholder", label: "label", hint: "hint", autocomplete: "autocomplete", appearance: "appearance", dense: "dense" }, host: { classAttribute: "elder-form-field-host" }, queries: [{ propertyName: "advancedSearch", first: true, predicate: ElderSearchPanelComponent, descendants: true }], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true }], exportAs: ["elderSearchBox"], ngImport: i0, template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n *ngIf=\"overlayState$ | async as overlayState\"\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto\" subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\">\n\n <button matPrefix mat-icon-button type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\" (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input matInput type=\"text\" [name]=\"name\" [placeholder]=\"placeholder\" #search cdkFocusInitial\n ngModel\n elderSearchInput [elderSearchInputKey]=\"queryKey\" #searchInput=\"elderSearchInput\"\n [autocomplete]=\"(autoPanel && overlayState.hasOverlay) ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"autoPanel && overlayState.hasOverlay && (searchInput?.state$ | async)?.pristine\"\n >\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n\n <div class=\"layout-row\" matSuffix *ngIf=\"userFilters$ | async as userDefinedFilters\">\n\n <button mat-icon-button type=\"button\"\n *ngIf=\"userDefinedFilters.length > 0\"\n (click)=\"clearSearch($event)\"\n name=\"clear\" aria-label=\"Clear\">\n <mat-icon>close</mat-icon>\n </button>\n\n <button mat-icon-button type=\"button\"\n *ngIf=\"overlayState.hasOverlay\" name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\" (click)=\"blurFocus($event)\">\n <mat-icon\n [matBadge]=\"userDefinedFilters.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"userDefinedFilters.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"userDefinedFilters.length > 0 ? 'accent' : undefined\"\n >\n filter_list\n </mat-icon>\n </button>\n </div>\n </mat-form-field>\n</div>\n\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n\n <!-- Project the users search inputs here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-raised-button type=\"button\" name=\"clear\"\n (click)=\"clearSearch($event)\">{{'context.reset' | translate}}\n </button>\n\n <button mat-raised-button type=\"button\" name=\"ok\" color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\">Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-box-field{margin-top:4px;margin-bottom:4px}.elder-search-panel-container{min-width:250px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderSearchInputDirective, selector: "[elderSearchInput]", inputs: ["elderSearchInputTransform", "elderSearchInput", "dataSource", "elderSearchInputFallback", "valueAsId", "elderSearchInputKey"], exportAs: ["elderSearchInput"] }, { kind: "directive", type: ElderOverlayOriginDirective, selector: "[elderOverlayOrigin]", inputs: ["elderOverlayOrigin"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: ElderDialogPanelComponent, selector: "elder-dialog-panel" }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ElderSearchBoxComponent, isStandalone: true, selector: "elder-search-box", inputs: { autoPanel: "autoPanel", name: "name", queryKey: "queryKey", placeholder: "placeholder", label: "label", hint: "hint", autocomplete: "autocomplete", appearance: "appearance", dense: "dense" }, host: { classAttribute: "elder-form-field-host" }, queries: [{ propertyName: "advancedSearch", first: true, predicate: ElderSearchPanelComponent, descendants: true }], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true }], exportAs: ["elderSearchBox"], ngImport: i0, template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n *ngIf=\"overlayState$ | async as overlayState\"\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto\" subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\">\n\n <button matPrefix mat-icon-button type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\" (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input matInput type=\"text\" [name]=\"name\" [placeholder]=\"placeholder\" #search cdkFocusInitial\n ngModel\n elderSearchInput [elderSearchInputKey]=\"queryKey\" #searchInput=\"elderSearchInput\"\n [autocomplete]=\"(autoPanel && overlayState.hasOverlay) ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"autoPanel && overlayState.hasOverlay && (searchInput?.state$ | async)?.pristine\"\n >\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n\n <div class=\"layout-row\" matSuffix *ngIf=\"touchedSearchInputs$ | async as touchedInputs\">\n\n <button mat-icon-button type=\"button\"\n *ngIf=\"touchedInputs.length > 0\"\n (click)=\"clearSearch($event)\"\n name=\"clear\" aria-label=\"Clear\">\n <mat-icon>close</mat-icon>\n </button>\n\n <button mat-icon-button type=\"button\"\n *ngIf=\"overlayState.hasOverlay\" name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\" (click)=\"blurFocus($event)\">\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n >\n filter_list\n </mat-icon>\n </button>\n </div>\n </mat-form-field>\n</div>\n\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n\n <!-- Project the users search inputs here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-raised-button type=\"button\" name=\"clear\"\n (click)=\"clearSearch($event)\">{{'context.reset' | translate}}\n </button>\n\n <button mat-raised-button type=\"button\" name=\"ok\" color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\">Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-box-field{margin-top:4px;margin-bottom:4px}.elder-search-panel-container{min-width:250px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderSearchInputDirective, selector: "[elderSearchInput]", inputs: ["elderSearchInputTransform", "elderSearchInput", "elderSearchInputFallback", "valueAsId", "elderSearchInputKey"], exportAs: ["elderSearchInput"] }, { kind: "directive", type: ElderOverlayOriginDirective, selector: "[elderOverlayOrigin]", inputs: ["elderOverlayOrigin"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: ElderDialogPanelComponent, selector: "elder-dialog-panel" }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
97
97
  }
98
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderSearchBoxComponent, decorators: [{
99
99
  type: Component,
100
- args: [{ selector: 'elder-search-box', exportAs: 'elderSearchBox', host: { 'class': 'elder-form-field-host' }, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, MatFormField, ElderFormFieldDenseDirective, MatIconButton, MatPrefix, ElderOverlayTriggerDirective, MatIcon, MatInput, FormsModule, ElderSearchInputDirective, ElderOverlayOriginDirective, MatHint, MatSuffix, MatBadge, ElderOverlayComponent, ElderDialogPanelComponent, MatButton, AsyncPipe, TranslateModule], template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n *ngIf=\"overlayState$ | async as overlayState\"\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto\" subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\">\n\n <button matPrefix mat-icon-button type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\" (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input matInput type=\"text\" [name]=\"name\" [placeholder]=\"placeholder\" #search cdkFocusInitial\n ngModel\n elderSearchInput [elderSearchInputKey]=\"queryKey\" #searchInput=\"elderSearchInput\"\n [autocomplete]=\"(autoPanel && overlayState.hasOverlay) ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"autoPanel && overlayState.hasOverlay && (searchInput?.state$ | async)?.pristine\"\n >\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n\n <div class=\"layout-row\" matSuffix *ngIf=\"userFilters$ | async as userDefinedFilters\">\n\n <button mat-icon-button type=\"button\"\n *ngIf=\"userDefinedFilters.length > 0\"\n (click)=\"clearSearch($event)\"\n name=\"clear\" aria-label=\"Clear\">\n <mat-icon>close</mat-icon>\n </button>\n\n <button mat-icon-button type=\"button\"\n *ngIf=\"overlayState.hasOverlay\" name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\" (click)=\"blurFocus($event)\">\n <mat-icon\n [matBadge]=\"userDefinedFilters.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"userDefinedFilters.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"userDefinedFilters.length > 0 ? 'accent' : undefined\"\n >\n filter_list\n </mat-icon>\n </button>\n </div>\n </mat-form-field>\n</div>\n\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n\n <!-- Project the users search inputs here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-raised-button type=\"button\" name=\"clear\"\n (click)=\"clearSearch($event)\">{{'context.reset' | translate}}\n </button>\n\n <button mat-raised-button type=\"button\" name=\"ok\" color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\">Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-box-field{margin-top:4px;margin-bottom:4px}.elder-search-panel-container{min-width:250px}\n"] }]
100
+ args: [{ selector: 'elder-search-box', exportAs: 'elderSearchBox', host: { 'class': 'elder-form-field-host' }, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, MatFormField, ElderFormFieldDenseDirective, MatIconButton, MatPrefix, ElderOverlayTriggerDirective, MatIcon, MatInput, FormsModule, ElderSearchInputDirective, ElderOverlayOriginDirective, MatHint, MatSuffix, MatBadge, ElderOverlayComponent, ElderDialogPanelComponent, MatButton, AsyncPipe, TranslateModule], template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n *ngIf=\"overlayState$ | async as overlayState\"\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto\" subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\">\n\n <button matPrefix mat-icon-button type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\" (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input matInput type=\"text\" [name]=\"name\" [placeholder]=\"placeholder\" #search cdkFocusInitial\n ngModel\n elderSearchInput [elderSearchInputKey]=\"queryKey\" #searchInput=\"elderSearchInput\"\n [autocomplete]=\"(autoPanel && overlayState.hasOverlay) ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"autoPanel && overlayState.hasOverlay && (searchInput?.state$ | async)?.pristine\"\n >\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n\n <div class=\"layout-row\" matSuffix *ngIf=\"touchedSearchInputs$ | async as touchedInputs\">\n\n <button mat-icon-button type=\"button\"\n *ngIf=\"touchedInputs.length > 0\"\n (click)=\"clearSearch($event)\"\n name=\"clear\" aria-label=\"Clear\">\n <mat-icon>close</mat-icon>\n </button>\n\n <button mat-icon-button type=\"button\"\n *ngIf=\"overlayState.hasOverlay\" name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\" (click)=\"blurFocus($event)\">\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n >\n filter_list\n </mat-icon>\n </button>\n </div>\n </mat-form-field>\n</div>\n\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n\n <!-- Project the users search inputs here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-raised-button type=\"button\" name=\"clear\"\n (click)=\"clearSearch($event)\">{{'context.reset' | translate}}\n </button>\n\n <button mat-raised-button type=\"button\" name=\"ok\" color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\">Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-box-field{margin-top:4px;margin-bottom:4px}.elder-search-panel-container{min-width:250px}\n"] }]
101
101
  }], ctorParameters: () => [{ type: i1.ElderSearchContextDirective }], propDecorators: { search: [{
102
102
  type: ViewChild,
103
103
  args: ['search']
@@ -123,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
123
123
  }], dense: [{
124
124
  type: Input
125
125
  }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3NlYXJjaC9zZWFyY2gtYm94L2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvc2VhcmNoLWJveC9lbGRlci1zZWFyY2gtYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDYSx1QkFBdUIsRUFDekMsU0FBUyxFQUFFLFlBQVksRUFDWCxLQUFLLEVBQ2pCLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFDLGVBQWUsRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFlLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUF5QixZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNqSCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDMUcsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8s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bUJBQUUseUJBQXlCLHdPQUFFLDJCQUEyQixpR0FBRSxPQUFPLDhFQUFFLFNBQVMscUhBQUUsUUFBUSxrTkFBRSxxQkFBcUIsOFJBQUUseUJBQXlCLCtEQUFFLFNBQVMsNEtBQUUsU0FBUyw2Q0FBRSxlQUFlOzs0RkFFeFQsdUJBQXVCO2tCQVhuQyxTQUFTOytCQUNJLGtCQUFrQixZQUNsQixnQkFBZ0IsUUFJcEIsRUFBQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUMsbUJBQ3ZCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSw0QkFBNEIsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLDRCQUE0QixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFLDJCQUEyQixFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsZUFBZSxDQUFDO2dHQWUvUyxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBRXNCLGNBQWM7c0JBQXRELFlBQVk7dUJBQUMseUJBQXlCO2dCQWNoQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBTUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQXlDSyxLQUFLO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlfSBmcm9tICcuLi9lbGRlci1zZWFyY2gtY29udGV4dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50fSBmcm9tICcuL2VsZGVyLXNlYXJjaC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSwgTWF0Rm9ybUZpZWxkLCBNYXRQcmVmaXgsIE1hdEhpbnQsIE1hdFN1ZmZpeH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0VsZGVyRGlhbG9nUGFuZWxDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL3BhbmVscy9lbGRlci1kaWFsb2ctcGFuZWwvZWxkZXItZGlhbG9nLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge0VsZGVyT3ZlcmxheUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vb3ZlcmxheXMvZWxkZXItb3ZlcmxheS5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRCYWRnZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuaW1wb3J0IHtFbGRlck92ZXJsYXlPcmlnaW5EaXJlY3RpdmV9IGZyb20gJy4uLy4uLy4uL292ZXJsYXlzL2VsZGVyLW92ZXJsYXktb3JpZ2luLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyU2VhcmNoSW5wdXREaXJlY3RpdmV9IGZyb20gJy4uL2VsZGVyLXNlYXJjaC1pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHtNYXRJY29ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7RWxkZXJPdmVybGF5VHJpZ2dlckRpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vLi4vb3ZlcmxheXMvZWxkZXItb3ZlcmxheS10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hdEljb25CdXR0b24sIE1hdEJ1dHRvbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7RWxkZXJGb3JtRmllbGREZW5zZURpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9lbGRlci1mb3JtLWZpZWxkLWRlbnNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge05nSWYsIEFzeW5jUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuXG5leHBvcnQgY2xhc3MgT3ZlcmxheVN0YXRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGhhc092ZXJsYXk6IGJvb2xlYW5cbiAgKSB7IH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlbGRlci1zZWFyY2gtYm94JyxcbiAgICBleHBvcnRBczogJ2VsZGVyU2VhcmNoQm94JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItc2VhcmNoLWJveC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZWxkZXItc2VhcmNoLWJveC5jb21wb25lbnQuc2NzcyddLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICAgIGhvc3Q6IHsnY2xhc3MnOiAnZWxkZXItZm9ybS1maWVsZC1ob3N0J30sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTWF0Rm9ybUZpZWxkLCBFbGRlckZvcm1GaWVsZERlbnNlRGlyZWN0aXZlLCBNYXRJY29uQnV0dG9uLCBNYXRQcmVmaXgsIEVsZGVyT3ZlcmxheVRyaWdnZXJEaXJlY3RpdmUsIE1hdEljb24sIE1hdElucHV0LCBGb3Jtc01vZHVsZSwgRWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZSwgRWxkZXJPdmVybGF5T3JpZ2luRGlyZWN0aXZlLCBNYXRIaW50LCBNYXRTdWZmaXgsIE1hdEJhZGdlLCBFbGRlck92ZXJsYXlDb21wb25lbnQsIEVsZGVyRGlhbG9nUGFuZWxDb21wb25lbnQsIE1hdEJ1dHRvbiwgQXN5bmNQaXBlLCBUcmFuc2xhdGVNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VhcmNoQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8vIFRoZSBzZWFyY2ggZXhwcmVzc2lvbiBpbnB1dCBFbGVtZW50XG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaCcpIHNlYXJjaDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkKEVsZGVyU2VhcmNoUGFuZWxDb21wb25lbnQpIGFkdmFuY2VkU2VhcmNoOiBFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50O1xuXG4gIHB1YmxpYyByZWFkb25seSBvdmVybGF5U3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPdmVybGF5U3RhdGU+KG5ldyBPdmVybGF5U3RhdGUoZmFsc2UpKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogRGlzcGxheSB0aGUgc2VhcmNoIHBhbmVsIGltbWVkaWF0ZWx5IHdoZW4gdGhlIHVzZXIgZW50ZXJzIHRoZSBzZWFyY2ggYm94LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGF1dG9QYW5lbCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG5hbWUgPSAnc2VhcmNoRXhwcmVzc2lvbic7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHF1ZXJ5S2V5ID0gJ3F1ZXJ5JztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGludDogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2RlbnNlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGF1dG9jb21wbGV0ZSA9ICdvZmYnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlO1xuXG4gIHB1YmxpYyByZWFkb25seSB1c2VyRmlsdGVycyQ6IE9ic2VydmFibGU8YW55W10+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBzZWFyY2hDb250ZXh0RGlyZWN0aXZlOiBFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmUsXG4gICkge1xuICAgIHRoaXMudXNlckZpbHRlcnMkID0gc2VhcmNoQ29udGV4dERpcmVjdGl2ZS51c2VyRGVmaW5lZEF0dHJpYnV0ZXMkLnBpcGUoXG4gICAgICAvLyB0YXAoYXR0cnMgPT4gdGhpcy5sb2dnZXIuZXJyb3IoJ0F0dHJzJywgYXR0cnMpKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVN0YXRlJC5uZXh0KG5ldyBPdmVybGF5U3RhdGUoISF0aGlzLmFkdmFuY2VkU2VhcmNoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlbnNlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5fZGVuc2UgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gIHB1YmxpYyBnZXQgZGVuc2UoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kZW5zZTsgfVxuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGJsdXJGb2N1cyhldmVudDogYW55KTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNlYXJjaC5uYXRpdmVFbGVtZW50LmJsdXIoKSwgMCk7XG4gIH1cblxuICAvKipcbiAgICogT2NjdXJzIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHRoZSBjbGVhciBzZWFyY2ggYnV0dG9uXG4gICAqL1xuICBwdWJsaWMgY2xlYXJTZWFyY2goZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoQ29udGV4dERpcmVjdGl2ZS5yZXNldCgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0cmV0Y2gtY2VudGVyIGZ1bGwgZmxleFwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICAqbmdJZj1cIm92ZXJsYXlTdGF0ZSQgfCBhc3luYyBhcyBvdmVybGF5U3RhdGVcIlxuICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgIGNsYXNzPVwiZWxkZXItc2VhcmNoLWJveC1maWVsZCBmbGV4LWF1dG9cIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCJcbiAgICBbZWxkZXJEZW5zZV09XCJkZW5zZVwiPlxuXG4gICAgPGJ1dHRvbiBtYXRQcmVmaXggbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2VsZGVyT3ZlcmxheVRyaWdnZXJdPVwic2VhcmNoUGFuZWxcIiAoY2xpY2spPVwiYmx1ckZvY3VzKCRldmVudClcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgW25hbWVdPVwibmFtZVwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiICNzZWFyY2ggY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgIG5nTW9kZWxcbiAgICAgICAgICAgZWxkZXJTZWFyY2hJbnB1dCBbZWxkZXJTZWFyY2hJbnB1dEtleV09XCJxdWVyeUtleVwiICNzZWFyY2hJbnB1dD1cImVsZGVyU2VhcmNoSW5wdXRcIlxuICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIihhdXRvUGFuZWwgJiYgb3ZlcmxheVN0YXRlLmhhc092ZXJsYXkpID8gJ29mZicgOiBhdXRvY29tcGxldGVcIlxuICAgICAgICAgICBbZWxkZXJPdmVybGF5T3JpZ2luXT1cInNlYXJjaFBhbmVsXCJcbiAgICAgICAgICAgW2VsZGVyT3ZlcmxheVRyaWdnZXJdPVwic2VhcmNoUGFuZWxcIlxuICAgICAgICAgICBbZWxkZXJPdmVybGF5VHJpZ2dlclR5cGVdPVwiJ2ZvY3VzJ1wiXG4gICAgICAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyRW5hYmxlZF09XCJhdXRvUGFuZWwgJiYgb3ZlcmxheVN0YXRlLmhhc092ZXJsYXkgJiYgKHNlYXJjaElucHV0Py5zdGF0ZSQgfCBhc3luYyk/LnByaXN0aW5lXCJcbiAgICA+XG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiaGludFwiPnt7aGludH19PC9tYXQtaGludD5cblxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93XCIgbWF0U3VmZml4ICpuZ0lmPVwidXNlckZpbHRlcnMkIHwgYXN5bmMgYXMgdXNlckRlZmluZWRGaWx0ZXJzXCI+XG5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAqbmdJZj1cInVzZXJEZWZpbmVkRmlsdGVycy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VhcmNoKCRldmVudClcIlxuICAgICAgICAgICAgICBuYW1lPVwiY2xlYXJcIiBhcmlhLWxhYmVsPVwiQ2xlYXJcIj5cbiAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJvdmVybGF5U3RhdGUuaGFzT3ZlcmxheVwiIG5hbWU9XCJvcGVuUGFuZWxcIlxuICAgICAgICAgICAgICBbZWxkZXJPdmVybGF5VHJpZ2dlcl09XCJzZWFyY2hQYW5lbFwiIChjbGljayk9XCJibHVyRm9jdXMoJGV2ZW50KVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICBbbWF0QmFkZ2VdPVwidXNlckRlZmluZWRGaWx0ZXJzLmxlbmd0aFwiXG4gICAgICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgICAgIFttYXRCYWRnZU92ZXJsYXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW21hdEJhZGdlSGlkZGVuXT1cInVzZXJEZWZpbmVkRmlsdGVycy5sZW5ndGggPT09IDBcIlxuICAgICAgICAgIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgIFtjb2xvcl09XCJ1c2VyRGVmaW5lZEZpbHRlcnMubGVuZ3RoID4gMCA/ICdhY2NlbnQnIDogdW5kZWZpbmVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIGZpbHRlcl9saXN0XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuXG5cbjwhLS0gT3ZlcmxheSBQYW5lbCBmb3IgYWR2YW5jZWQgc2VhcmNoIC0tPlxuPGVsZGVyLW92ZXJsYXkgI3NlYXJjaFBhbmVsPVwiZWxkZXJPdmVybGF5XCI+XG4gIDxlbGRlci1kaWFsb2ctcGFuZWwgY2xhc3M9XCJlbGRlci1zZWFyY2gtcGFuZWwtY29udGFpbmVyXCI+XG5cbiAgICA8IS0tIFByb2plY3QgdGhlIHVzZXJzIHNlYXJjaCBpbnB1dHMgaGVyZSAtLT5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJlbGRlci1zZWFyY2gtcGFuZWxcIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1iZXR3ZWVuLWNlbnRlclwiPlxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbmFtZT1cImNsZWFyXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VhcmNoKCRldmVudClcIj57eydjb250ZXh0LnJlc2V0JyB8IHRyYW5zbGF0ZX19XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbmFtZT1cIm9rXCIgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlYXJjaFBhbmVsLmNsb3NlT3ZlcmxheSgpXCI+T2tcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2VsZGVyLWRpYWxvZy1wYW5lbD5cbjwvZWxkZXItb3ZlcmxheT5cbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3NlYXJjaC9zZWFyY2gtYm94L2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvc2VhcmNoLWJveC9lbGRlci1zZWFyY2gtYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDYSx1QkFBdUIsRUFDekMsU0FBUyxFQUFFLFlBQVksRUFDWCxLQUFLLEVBQ2pCLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFDLGVBQWUsRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFlLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUF5QixZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNqSCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDMUcsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8s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LCttQkFBRSx5QkFBeUIsME5BQUUsMkJBQTJCLGlHQUFFLE9BQU8sOEVBQUUsU0FBUyxxSEFBRSxRQUFRLGtOQUFFLHFCQUFxQiw4UkFBRSx5QkFBeUIsK0RBQUUsU0FBUyw0S0FBRSxTQUFTLDZDQUFFLGVBQWU7OzRGQUV4VCx1QkFBdUI7a0JBWG5DLFNBQVM7K0JBQ0ksa0JBQWtCLFlBQ2xCLGdCQUFnQixRQUlwQixFQUFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBQyxtQkFDdkIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLDRCQUE0QixFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsNEJBQTRCLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUUsMkJBQTJCLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLENBQUM7Z0dBZS9TLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFFc0IsY0FBYztzQkFBdEQsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBY2hDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFNQyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBeUNLLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmV9IGZyb20gJy4uL2VsZGVyLXNlYXJjaC1jb250ZXh0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyU2VhcmNoUGFuZWxDb21wb25lbnR9IGZyb20gJy4vZWxkZXItc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRBcHBlYXJhbmNlLCBNYXRGb3JtRmllbGQsIE1hdFByZWZpeCwgTWF0SGludCwgTWF0U3VmZml4fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RWxkZXJEaWFsb2dQYW5lbENvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vcGFuZWxzL2VsZGVyLWRpYWxvZy1wYW5lbC9lbGRlci1kaWFsb2ctcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJPdmVybGF5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LmNvbXBvbmVudCc7XG5pbXBvcnQge01hdEJhZGdlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5pbXBvcnQge0VsZGVyT3ZlcmxheU9yaWdpbkRpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vLi4vb3ZlcmxheXMvZWxkZXItb3ZlcmxheS1vcmlnaW4uZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZX0gZnJvbSAnLi4vZWxkZXItc2VhcmNoLWlucHV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdElucHV0fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdEljb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtFbGRlck92ZXJsYXlUcmlnZ2VyRGlyZWN0aXZlfSBmcm9tICcuLi8uLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7TWF0SWNvbkJ1dHRvbiwgTWF0QnV0dG9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtFbGRlckZvcm1GaWVsZERlbnNlRGlyZWN0aXZlfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2VsZGVyLWZvcm0tZmllbGQtZGVuc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7TmdJZiwgQXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U2VhcmNoSW5wdXRTdGF0ZX0gZnJvbSAnLi4vZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dC1zdGF0ZSc7XG5cblxuZXhwb3J0IGNsYXNzIE92ZXJsYXlTdGF0ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBoYXNPdmVybGF5OiBib29sZWFuXG4gICkgeyB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWxkZXItc2VhcmNoLWJveCcsXG4gICAgZXhwb3J0QXM6ICdlbGRlclNlYXJjaEJveCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50LnNjc3MnXSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgICBob3N0OiB7J2NsYXNzJzogJ2VsZGVyLWZvcm0tZmllbGQtaG9zdCd9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE1hdEZvcm1GaWVsZCwgRWxkZXJGb3JtRmllbGREZW5zZURpcmVjdGl2ZSwgTWF0SWNvbkJ1dHRvbiwgTWF0UHJlZml4LCBFbGRlck92ZXJsYXlUcmlnZ2VyRGlyZWN0aXZlLCBNYXRJY29uLCBNYXRJbnB1dCwgRm9ybXNNb2R1bGUsIEVsZGVyU2VhcmNoSW5wdXREaXJlY3RpdmUsIEVsZGVyT3ZlcmxheU9yaWdpbkRpcmVjdGl2ZSwgTWF0SGludCwgTWF0U3VmZml4LCBNYXRCYWRnZSwgRWxkZXJPdmVybGF5Q29tcG9uZW50LCBFbGRlckRpYWxvZ1BhbmVsQ29tcG9uZW50LCBNYXRCdXR0b24sIEFzeW5jUGlwZSwgVHJhbnNsYXRlTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNlYXJjaEJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvLyBUaGUgc2VhcmNoIGV4cHJlc3Npb24gaW5wdXQgRWxlbWVudFxuICBAVmlld0NoaWxkKCdzZWFyY2gnKSBzZWFyY2g6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZChFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50KSBhZHZhbmNlZFNlYXJjaDogRWxkZXJTZWFyY2hQYW5lbENvbXBvbmVudDtcblxuICBwdWJsaWMgcmVhZG9ubHkgb3ZlcmxheVN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T3ZlcmxheVN0YXRlPihuZXcgT3ZlcmxheVN0YXRlKGZhbHNlKSk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIERpc3BsYXkgdGhlIHNlYXJjaCBwYW5lbCBpbW1lZGlhdGVseSB3aGVuIHRoZSB1c2VyIGVudGVycyB0aGUgc2VhcmNoIGJveC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhdXRvUGFuZWwgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuYW1lID0gJ3NlYXJjaEV4cHJlc3Npb24nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBxdWVyeUtleSA9ICdxdWVyeSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhpbnQ6IHN0cmluZztcblxuICBwcml2YXRlIF9kZW5zZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhdXRvY29tcGxldGUgPSAnb2ZmJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdG91Y2hlZFNlYXJjaElucHV0cyQ6IE9ic2VydmFibGU8U2VhcmNoSW5wdXRTdGF0ZVtdPjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoQ29udGV4dERpcmVjdGl2ZTogRWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlLFxuICApIHtcbiAgICB0aGlzLnRvdWNoZWRTZWFyY2hJbnB1dHMkID0gc2VhcmNoQ29udGV4dERpcmVjdGl2ZS50b3VjaGVkU2VhcmNoSW5wdXRzJC5waXBlKFxuICAgICAgLy8gdGFwKGF0dHJzID0+IHRoaXMubG9nZ2VyLmVycm9yKCdBdHRycycsIGF0dHJzKSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXlTdGF0ZSQubmV4dChuZXcgT3ZlcmxheVN0YXRlKCEhdGhpcy5hZHZhbmNlZFNlYXJjaCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZW5zZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2RlbnNlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICBwdWJsaWMgZ2V0IGRlbnNlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZGVuc2U7IH1cblxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBibHVyRm9jdXMoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZWFyY2gubmF0aXZlRWxlbWVudC5ibHVyKCksIDApO1xuICB9XG5cbiAgLyoqXG4gICAqIE9jY3VycyB3aGVuIHRoZSB1c2VyIGNsaWNrcyB0aGUgY2xlYXIgc2VhcmNoIGJ1dHRvblxuICAgKi9cbiAgcHVibGljIGNsZWFyU2VhcmNoKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaENvbnRleHREaXJlY3RpdmUucmVzZXQoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdHJldGNoLWNlbnRlciBmdWxsIGZsZXhcIj5cbiAgPG1hdC1mb3JtLWZpZWxkXG4gICAgKm5nSWY9XCJvdmVybGF5U3RhdGUkIHwgYXN5bmMgYXMgb3ZlcmxheVN0YXRlXCJcbiAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICBjbGFzcz1cImVsZGVyLXNlYXJjaC1ib3gtZmllbGQgZmxleC1hdXRvXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiXG4gICAgW2VsZGVyRGVuc2VdPVwiZGVuc2VcIj5cblxuICAgIDxidXR0b24gbWF0UHJlZml4IG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyXT1cInNlYXJjaFBhbmVsXCIgKGNsaWNrKT1cImJsdXJGb2N1cygkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFtuYW1lXT1cIm5hbWVcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiAjc2VhcmNoIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICBuZ01vZGVsXG4gICAgICAgICAgIGVsZGVyU2VhcmNoSW5wdXQgW2VsZGVyU2VhcmNoSW5wdXRLZXldPVwicXVlcnlLZXlcIiAjc2VhcmNoSW5wdXQ9XCJlbGRlclNlYXJjaElucHV0XCJcbiAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCIoYXV0b1BhbmVsICYmIG92ZXJsYXlTdGF0ZS5oYXNPdmVybGF5KSA/ICdvZmYnIDogYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgW2VsZGVyT3ZlcmxheU9yaWdpbl09XCJzZWFyY2hQYW5lbFwiXG4gICAgICAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyXT1cInNlYXJjaFBhbmVsXCJcbiAgICAgICAgICAgW2VsZGVyT3ZlcmxheVRyaWdnZXJUeXBlXT1cIidmb2N1cydcIlxuICAgICAgICAgICBbZWxkZXJPdmVybGF5VHJpZ2dlckVuYWJsZWRdPVwiYXV0b1BhbmVsICYmIG92ZXJsYXlTdGF0ZS5oYXNPdmVybGF5ICYmIChzZWFyY2hJbnB1dD8uc3RhdGUkIHwgYXN5bmMpPy5wcmlzdGluZVwiXG4gICAgPlxuICAgIDxtYXQtaGludCAqbmdJZj1cImhpbnRcIj57e2hpbnR9fTwvbWF0LWhpbnQ+XG5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvd1wiIG1hdFN1ZmZpeCAqbmdJZj1cInRvdWNoZWRTZWFyY2hJbnB1dHMkIHwgYXN5bmMgYXMgdG91Y2hlZElucHV0c1wiPlxuXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJ0b3VjaGVkSW5wdXRzLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTZWFyY2goJGV2ZW50KVwiXG4gICAgICAgICAgICAgIG5hbWU9XCJjbGVhclwiIGFyaWEtbGFiZWw9XCJDbGVhclwiPlxuICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAqbmdJZj1cIm92ZXJsYXlTdGF0ZS5oYXNPdmVybGF5XCIgbmFtZT1cIm9wZW5QYW5lbFwiXG4gICAgICAgICAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyXT1cInNlYXJjaFBhbmVsXCIgKGNsaWNrKT1cImJsdXJGb2N1cygkZXZlbnQpXCI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgIFttYXRCYWRnZV09XCJ0b3VjaGVkSW5wdXRzLmxlbmd0aFwiXG4gICAgICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgICAgIFttYXRCYWRnZU92ZXJsYXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW21hdEJhZGdlSGlkZGVuXT1cInRvdWNoZWRJbnB1dHMubGVuZ3RoID09PSAwXCJcbiAgICAgICAgICBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICBbY29sb3JdPVwidG91Y2hlZElucHV0cy5sZW5ndGggPiAwID8gJ2FjY2VudCcgOiB1bmRlZmluZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgZmlsdGVyX2xpc3RcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG5cblxuPCEtLSBPdmVybGF5IFBhbmVsIGZvciBhZHZhbmNlZCBzZWFyY2ggLS0+XG48ZWxkZXItb3ZlcmxheSAjc2VhcmNoUGFuZWw9XCJlbGRlck92ZXJsYXlcIj5cbiAgPGVsZGVyLWRpYWxvZy1wYW5lbCBjbGFzcz1cImVsZGVyLXNlYXJjaC1wYW5lbC1jb250YWluZXJcIj5cblxuICAgIDwhLS0gUHJvamVjdCB0aGUgdXNlcnMgc2VhcmNoIGlucHV0cyBoZXJlIC0tPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImVsZGVyLXNlYXJjaC1wYW5lbFwiPjwvbmctY29udGVudD5cblxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLWJldHdlZW4tY2VudGVyXCI+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiBuYW1lPVwiY2xlYXJcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTZWFyY2goJGV2ZW50KVwiPnt7J2NvbnRleHQucmVzZXQnIHwgdHJhbnNsYXRlfX1cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiBuYW1lPVwib2tcIiBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic2VhcmNoUGFuZWwuY2xvc2VPdmVybGF5KClcIj5Pa1xuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZWxkZXItZGlhbG9nLXBhbmVsPlxuPC9lbGRlci1vdmVybGF5PlxuIl19
@@ -36,7 +36,7 @@ import { ElderMultiSelectChipOptionsComponent } from './multi/elder-multi-select
36
36
  import { ElderSelectOptionComponent } from './multi/elder-chip-select-option/elder-select-option.component';
37
37
  import { ElderMultiSelectAllInitialDirective } from './multi/elder-mutli-select-all-directive';
38
38
  import { ElderAutoSelectSuggestFirstDirective } from './auto/elder-auto-select-suggest-first.directive';
39
- import { ElderChipsFilterDirective } from './filter/elder-chips-filter.directive';
39
+ import { ElderChipsIncludeExcludeDirective } from './filter/elder-chips-include-exclude.directive';
40
40
  import { ElderFilterChipTemplateComponent } from './filter/elder-filter-chip-template/elder-filter-chip-template.component';
41
41
  import { ElderSearchIncludeExcludeDirective } from './multi/elder-search-include-exclude.directive';
42
42
  import * as i0 from "@angular/core";
@@ -55,7 +55,7 @@ export { ElderAutoSelectFirstDirective } from './auto/elder-auto-select-first.di
55
55
  export { ElderClearSelectDirective } from './single/elder-clear-select.directive';
56
56
  export { ElderMultiSelectAllInitialDirective } from './multi/elder-mutli-select-all-directive';
57
57
  export { ElderAutoSelectSuggestFirstDirective } from './auto/elder-auto-select-suggest-first.directive';
58
- export { ElderChipsFilterDirective } from './filter/elder-chips-filter.directive';
58
+ export { ElderChipsIncludeExcludeDirective } from './filter/elder-chips-include-exclude.directive';
59
59
  export { ElderFilterChipTemplateComponent } from './filter/elder-filter-chip-template/elder-filter-chip-template.component';
60
60
  export * from './filter/include-exclude-selection-model';
61
61
  export { ElderSearchIncludeExcludeDirective } from './multi/elder-search-include-exclude.directive';
@@ -91,7 +91,7 @@ export class ElderSelectModule {
91
91
  ElderSelectOptionComponent,
92
92
  ElderMultiSelectAllInitialDirective,
93
93
  ElderAutoSelectSuggestFirstDirective,
94
- ElderChipsFilterDirective,
94
+ ElderChipsIncludeExcludeDirective,
95
95
  ElderFilterChipTemplateComponent,
96
96
  ElderSearchIncludeExcludeDirective], exports: [ElderSelectComponent,
97
97
  ElderSelectValueDirective,
@@ -108,7 +108,7 @@ export class ElderSelectModule {
108
108
  ElderSelectOptionComponent,
109
109
  ElderMultiSelectAllInitialDirective,
110
110
  ElderAutoSelectSuggestFirstDirective,
111
- ElderChipsFilterDirective,
111
+ ElderChipsIncludeExcludeDirective,
112
112
  ElderFilterChipTemplateComponent,
113
113
  ElderSearchIncludeExcludeDirective] }); }
114
114
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderSelectModule, imports: [CommonModule, FormsModule, ReactiveFormsModule,
@@ -164,7 +164,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
164
164
  ElderSelectOptionComponent,
165
165
  ElderMultiSelectAllInitialDirective,
166
166
  ElderAutoSelectSuggestFirstDirective,
167
- ElderChipsFilterDirective,
167
+ ElderChipsIncludeExcludeDirective,
168
168
  ElderFilterChipTemplateComponent,
169
169
  ElderSearchIncludeExcludeDirective
170
170
  ],
@@ -184,10 +184,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
184
184
  ElderSelectOptionComponent,
185
185
  ElderMultiSelectAllInitialDirective,
186
186
  ElderAutoSelectSuggestFirstDirective,
187
- ElderChipsFilterDirective,
187
+ ElderChipsIncludeExcludeDirective,
188
188
  ElderFilterChipTemplateComponent,
189
- ElderSearchIncludeExcludeDirective,
189
+ ElderSearchIncludeExcludeDirective
190
190
  ]
191
191
  }]
192
192
  }] });
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L2VsZGVyLXNlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUMxSCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsZ0JBQWdCLEVB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LDRCQUE0Qjt3QkFDNUIsMENBQTBDO3dCQUMxQyx5QkFBeUI7d0JBQ3pCLDhCQUE4Qjt3QkFDOUIsd0JBQXdCO3dCQUN4Qiw4QkFBOEI7d0JBQzlCLDZCQUE2Qjt3QkFDN0IseUJBQXlCO3dCQUN6QiwrQkFBK0I7d0JBQy9CLG9DQUFvQzt3QkFDcEMsMEJBQTBCO3dCQUMxQixtQ0FBbUM7d0JBQ25DLG9DQUFvQzt3QkFDcEMseUJBQXlCO3dCQUN6QixnQ0FBZ0M7d0JBQ2hDLGtDQUFrQztxQkFDckM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixpQ0FBaUM7d0JBQ2pDLDRCQUE0Qjt3QkFDNUIsMENBQTBDO3dCQUMxQyw4QkFBOEI7d0JBQzlCLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3dCQUM5Qiw2QkFBNkI7d0JBQzdCLHlCQUF5Qjt3QkFDekIsK0JBQStCO3dCQUMvQixvQ0FBb0M7d0JBQ3BDLDBCQUEwQjt3QkFDMUIsbUNBQW1DO3dCQUNuQyxvQ0FBb0M7d0JBQ3BDLHlCQUF5Qjt3QkFDekIsZ0NBQWdDO3dCQUNoQyxrQ0FBa0M7cUJBRXJDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FzeW5jUGlwZSwgQ29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtFbGRlclNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi9zaW5nbGUvZWxkZXItc2VsZWN0L2VsZGVyLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0U2VsZWN0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnR9IGZyb20gJy4vcG9wdXAvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7TWF0RGlhbG9nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmV9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlfSBmcm9tICcuLi9mb3Jtcy9kaXJlY3RpdmVzL2VsZGVyLWZvcm1zLWRpcmVjdGl2ZXMubW9kdWxlJztcbmltcG9ydCB7TWF0SW5wdXRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtNYXRUb29sYmFyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcbmltcG9ydCB7TWF0UHJvZ3Jlc3NCYXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQge0VsZGVyVGFibGVNb2R1bGV9IGZyb20gJy4uL2RhdGEtdmlldy90YWJsZS9lbGRlci10YWJsZS5tb2R1bGUnO1xuaW1wb3J0IHtNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHtFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlfSBmcm9tICcuLi9pbmZpbml0ZXNjcm9sbC9lbGRlci1pbmZpbml0ZS1zY3JvbGwubW9kdWxlJztcbmltcG9ydCB7RWxkZXJTZWxlY3RPblRhYkRpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWxlY3Qtb24tdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyQXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tICcuLi9pbnB1dC9hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlLm1vZHVsZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItc2VsZWN0LXZhbHVlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudH0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdENoaXBzTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQge0VsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSwgRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlLCBFbGRlclNlbGVjdEN1c3RvbUlucHV0RGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLXNlbGVjdC1jaGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyQXV0b1NlbGVjdEZpcnN0RGlyZWN0aXZlfSBmcm9tICcuL2F1dG8vZWxkZXItYXV0by1zZWxlY3QtZmlyc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJQaXBlc01vZHVsZX0gZnJvbSAnLi4vLi4vcGlwZXMvZWxkZXItcGlwZXMubW9kdWxlJztcbmltcG9ydCB7RWxkZXJDbGVhclNlbGVjdERpcmVjdGl2ZX0gZnJvbSAnLi9zaW5nbGUvZWxkZXItY2xlYXItc2VsZWN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hdFRvb2x0aXBNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHtFbGRlclRoZW1lTW9kdWxlfSBmcm9tICcuLi90aGVtZS9lbGRlci10aGVtZS5tb2R1bGUnO1xuaW1wb3J0IHtFbGRlclNlbGVjdGlvblBvcHVwVHJpZ2dlckFkYXB0ZXJEaXJlY3RpdmV9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLXRyaWdnZXItYWRhcHRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlckNoaXBzTW9kdWxlfSBmcm9tICcuLi9jaGlwcy9lbGRlci1jaGlwcy5tb2R1bGUnO1xuaW1wb3J0IHtDZGtEcmFnLCBDZGtEcm9wTGlzdH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwT3B0aW9uc0NvbXBvbmVudH0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcC1vcHRpb25zL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwLW9wdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJTZWxlY3RPcHRpb25Db21wb25lbnR9IGZyb20gJy4vbXVsdGkvZWxkZXItY2hpcC1zZWxlY3Qtb3B0aW9uL2VsZGVyLXNlbGVjdC1vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJNdWx0aVNlbGVjdEFsbEluaXRpYWxEaXJlY3RpdmV9IGZyb20gJy4vbXVsdGkvZWxkZXItbXV0bGktc2VsZWN0LWFsbC1kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlckF1dG9TZWxlY3RTdWdnZXN0Rmlyc3REaXJlY3RpdmV9IGZyb20gJy4vYXV0by9lbGRlci1hdXRvLXNlbGVjdC1zdWdnZXN0LWZpcnN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyQ2hpcHNGaWx0ZXJEaXJlY3RpdmV9IGZyb20gJy4vZmlsdGVyL2VsZGVyLWNoaXBzLWZpbHRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlckZpbHRlckNoaXBUZW1wbGF0ZUNvbXBvbmVudH0gZnJvbSAnLi9maWx0ZXIvZWxkZXItZmlsdGVyLWNoaXAtdGVtcGxhdGUvZWxkZXItZmlsdGVyLWNoaXAtdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJTZWFyY2hJbmNsdWRlRXhjbHVkZURpcmVjdGl2ZX0gZnJvbSAnLi9tdWx0aS9lbGRlci1zZWFyY2gtaW5jbHVkZS1leGNsdWRlLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB7RWxkZXJTZWxlY3RWYWx1ZURpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWxlY3QtdmFsdWUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItc2VsZWN0LWNoaXAuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxkZXJTZWxlY3RPblRhYkRpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWxlY3Qtb24tdGFiLmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL3NpbmdsZS9lbGRlci1zZWxlY3QvZWxkZXItc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQge1xuICBUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnQsIElTZWxlY3Rpb25Nb2RlbERpYWxvZ09wdGlvbnNcbn0gZnJvbSAnLi9wb3B1cC90ZW1wbGF0ZWQtc2VsZWN0aW9uLWRpYWxvZy90ZW1wbGF0ZWQtc2VsZWN0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0IHtTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlfSBmcm9tICcuL3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlclNlbGVjdGlvblBvcHVwVHJpZ2dlckFkYXB0ZXJEaXJlY3RpdmV9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLXRyaWdnZXItYWRhcHRlci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlck11bHRpU2VsZWN0QmFzZX0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtYmFzZSc7XG5leHBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudH0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudCc7XG5leHBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwT3B0aW9uc0NvbXBvbmVudH0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcC1vcHRpb25zL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwLW9wdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCB7RWxkZXJTZWxlY3RPcHRpb25Db21wb25lbnR9IGZyb20gJy4vbXVsdGkvZWxkZXItY2hpcC1zZWxlY3Qtb3B0aW9uL2VsZGVyLXNlbGVjdC1vcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7RWxkZXJBdXRvU2VsZWN0Rmlyc3REaXJlY3RpdmV9IGZyb20gJy4vYXV0by9lbGRlci1hdXRvLXNlbGVjdC1maXJzdC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlckNsZWFyU2VsZWN0RGlyZWN0aXZlfSBmcm9tICcuL3NpbmdsZS9lbGRlci1jbGVhci1zZWxlY3QuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxkZXJNdWx0aVNlbGVjdEFsbEluaXRpYWxEaXJlY3RpdmV9IGZyb20gJy4vbXVsdGkvZWxkZXItbXV0bGktc2VsZWN0LWFsbC1kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlckF1dG9TZWxlY3RTdWdnZXN0Rmlyc3REaXJlY3RpdmV9IGZyb20gJy4vYXV0by9lbGRlci1hdXRvLXNlbGVjdC1zdWdnZXN0LWZpcnN0LmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyQ2hpcHNGaWx0ZXJEaXJlY3RpdmV9IGZyb20gJy4vZmlsdGVyL2VsZGVyLWNoaXBzLWZpbHRlci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlckZpbHRlckNoaXBUZW1wbGF0ZUNvbXBvbmVudH0gZnJvbSAnLi9maWx0ZXIvZWxkZXItZmlsdGVyLWNoaXAtdGVtcGxhdGUvZWxkZXItZmlsdGVyLWNoaXAtdGVtcGxhdGUuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXIvaW5jbHVkZS1leGNsdWRlLXNlbGVjdGlvbi1tb2RlbCc7XG5leHBvcnQge0VsZGVyU2VhcmNoSW5jbHVkZUV4Y2x1ZGVEaXJlY3RpdmV9IGZyb20gJy4vbXVsdGkvZWxkZXItc2VhcmNoLWluY2x1ZGUtZXhjbHVkZS5kaXJlY3RpdmUnO1xuXG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLCBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgICAgIE1hdFRvb2xiYXJNb2R1bGUsIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgICAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsIE1hdENoaXBzTW9kdWxlLFxuICAgICAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgICAgICBDZGtEcm9wTGlzdCwgQ2RrRHJhZyxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBFbGRlckZvcm1zRGlyZWN0aXZlc01vZHVsZSwgRWxkZXJUYWJsZU1vZHVsZSwgRWxkZXJJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICAgICAgRWxkZXJBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgICAgIEVsZGVyUGlwZXNNb2R1bGUsIEVsZGVyVGhlbWVNb2R1bGUsIEVsZGVyQ2hpcHNNb2R1bGUsIEFzeW5jUGlwZSwgQXN5bmNQaXBlLFxuICAgICAgICBFbGRlclNlbGVjdENvbXBvbmVudCxcbiAgICAgICAgRWxkZXJTZWxlY3RWYWx1ZURpcmVjdGl2ZSxcbiAgICAgICAgVGVtcGxhdGVkU2VsZWN0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlLFxuICAgICAgICBFbGRlclNlbGVjdGlvblBvcHVwVHJpZ2dlckFkYXB0ZXJEaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyU2VsZWN0T25UYWJEaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudCxcbiAgICAgICAgRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlLFxuICAgICAgICBFbGRlclNlbGVjdENoaXBBdmF0YXJEaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyQXV0b1NlbGVjdEZpcnN0RGlyZWN0aXZlLFxuICAgICAgICBFbGRlckNsZWFyU2VsZWN0RGlyZWN0aXZlLFxuICAgICAgICBFbGRlclNlbGVjdEN1c3RvbUlucHV0RGlyZWN0aXZlLFxuICAgICAgICBFbGRlck11bHRpU2VsZWN0Q2hpcE9wdGlvbnNDb21wb25lbnQsXG4gICAgICAgIEVsZGVyU2VsZWN0T3B0aW9uQ29tcG9uZW50LFxuICAgICAgICBFbGRlck11bHRpU2VsZWN0QWxsSW5pdGlhbERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJBdXRvU2VsZWN0U3VnZ2VzdEZpcnN0RGlyZWN0aXZlLFxuICAgICAgICBFbGRlckNoaXBzRmlsdGVyRGlyZWN0aXZlLFxuICAgICAgICBFbGRlckZpbHRlckNoaXBUZW1wbGF0ZUNvbXBvbmVudCxcbiAgICAgICAgRWxkZXJTZWFyY2hJbmNsdWRlRXhjbHVkZURpcmVjdGl2ZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBFbGRlclNlbGVjdENvbXBvbmVudCxcbiAgICAgICAgRWxkZXJTZWxlY3RWYWx1ZURpcmVjdGl2ZSxcbiAgICAgICAgVGVtcGxhdGVkU2VsZWN0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlLFxuICAgICAgICBFbGRlclNlbGVjdGlvblBvcHVwVHJpZ2dlckFkYXB0ZXJEaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudCxcbiAgICAgICAgRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlLFxuICAgICAgICBFbGRlclNlbGVjdENoaXBBdmF0YXJEaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyQXV0b1NlbGVjdEZpcnN0RGlyZWN0aXZlLFxuICAgICAgICBFbGRlckNsZWFyU2VsZWN0RGlyZWN0aXZlLFxuICAgICAgICBFbGRlclNlbGVjdEN1c3RvbUlucHV0RGlyZWN0aXZlLFxuICAgICAgICBFbGRlck11bHRpU2VsZWN0Q2hpcE9wdGlvbnNDb21wb25lbnQsXG4gICAgICAgIEVsZGVyU2VsZWN0T3B0aW9uQ29tcG9uZW50LFxuICAgICAgICBFbGRlck11bHRpU2VsZWN0QWxsSW5pdGlhbERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJBdXRvU2VsZWN0U3VnZ2VzdEZpcnN0RGlyZWN0aXZlLFxuICAgICAgICBFbGRlckNoaXBzRmlsdGVyRGlyZWN0aXZlLFxuICAgICAgICBFbGRlckZpbHRlckNoaXBUZW1wbGF0ZUNvbXBvbmVudCxcbiAgICAgICAgRWxkZXJTZWFyY2hJbmNsdWRlRXhjbHVkZURpcmVjdGl2ZSxcblxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTZWxlY3RNb2R1bGUge1xufVxuIl19
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L2VsZGVyLXNlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUMxSCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN4RixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUNuSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLDhCQUE4QixFQUFFLHdCQUF3QixFQUFFLCtCQUErQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDeEksT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDdkYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFDLDBDQUEwQyxFQUFDLE1BQU0seURBQXlELENBQUM7QUFDbkgsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsb0NBQW9DLEVBQUMsTUFBTSxtRkFBbUYsQ0FBQztBQUN2SSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUMxRyxPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RixPQUFPLEVBQUMsb0NBQW9DLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN0RyxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUNqRyxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSwwRUFBMEUsQ0FBQztBQUMxSCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQzs7QUFFbEcsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQ0wsaUNBQWlDLEVBQ2xDLE1BQU0seUVBQXlFLENBQUM7QUFDakYsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDckYsT0FBTyxFQUFDLDBDQUEwQyxFQUFDLE1BQU0seURBQXlELENBQUM7QUFDbkgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0scUVBQXFFLENBQUM7QUFDbkgsT0FBTyxFQUFDLG9DQUFvQyxFQUFDLE1BQU0sbUZBQW1GLENBQUM7QUFDdkksT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDMUcsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFDLG1DQUFtQyxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDN0YsT0FBTyxFQUFDLG9DQUFvQyxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDdEcsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDakcsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sMEVBQTBFLENBQUM7QUFFMUgsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQTREbEcsTUFBTSxPQUFPLGlCQUFpQjsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsWUF2RDFCLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CO1lBQzlDLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWUsRUFBRSxlQUFlO1lBQ2hDLGNBQWMsRUFBRSxxQkFBcUI7WUFDckMsZ0JBQWdCLEVBQUUsb0JBQW9CO1lBQ3RDLHdCQUF3QixFQUFFLGNBQWM7WUFDeEMsZ0JBQWdCO1lBQ2hCLFdBQVcsRUFBRSxPQUFPO1lBQ3BCLGVBQWU7WUFDZiwwQkFBMEIsRUFBRSxnQkFBZ0IsRUFBRSx5QkFBeUI7WUFDdkUsdUJBQXVCO1lBQ3ZCLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxTQUFTO1lBQzFFLG9CQUFvQjtZQUNwQix5QkFBeUI7WUFDekIsaUNBQWlDO1lBQ2pDLDRCQUE0QjtZQUM1QiwwQ0FBMEM7WUFDMUMseUJBQXlCO1lBQ3pCLDhCQUE4QjtZQUM5Qix3QkFBd0I7WUFDeEIsOEJBQThCO1lBQzlCLDZCQUE2QjtZQUM3Qix5QkFBeUI7WUFDekIsK0JBQStCO1lBQy9CLG9DQUFvQztZQUNwQywwQkFBMEI7WUFDMUIsbUNBQW1DO1lBQ25DLG9DQUFvQztZQUNwQyxpQ0FBaUM7WUFDakMsZ0NBQWdDO1lBQ2hDLGtDQUFrQyxhQUdsQyxvQkFBb0I7WUFDcEIseUJBQXlCO1lBQ3pCLGlDQUFpQztZQUNqQyw0QkFBNEI7WUFDNUIsMENBQTBDO1lBQzFDLDhCQUE4QjtZQUM5Qix3QkFBd0I7WUFDeEIsOEJBQThCO1lBQzlCLDZCQUE2QjtZQUM3Qix5QkFBeUI7WUFDekIsK0JBQStCO1lBQy9CLG9DQUFvQztZQUNwQywwQkFBMEI7WUFDMUIsbUNBQW1DO1lBQ25DLG9DQUFvQztZQUNwQyxpQ0FBaUM7WUFDakMsZ0NBQWdDO1lBQ2hDLGtDQUFrQztnSEFHekIsaUJBQWlCLFlBdkQxQixZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQjtZQUM5QyxrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlLEVBQUUsZUFBZTtZQUNoQyxjQUFjLEVBQUUscUJBQXFCO1lBQ3JDLGdCQUFnQixFQUFFLG9CQUFvQjtZQUN0Qyx3QkFBd0IsRUFBRSxjQUFjO1lBQ3hDLGdCQUFnQjtZQUVoQixlQUFlO1lBQ2YsMEJBQTBCLEVBQUUsZ0JBQWdCLEVBQUUseUJBQXlCO1lBQ3ZFLHVCQUF1QjtZQUN2QixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDcEQsb0JBQW9CO1lBRXBCLGlDQUFpQztZQUlqQyw4QkFBOEI7WUFNOUIsb0NBQW9DO1lBS3BDLGdDQUFnQzs7NEZBd0J2QixpQkFBaUI7a0JBekQ3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQjt3QkFDOUMsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZSxFQUFFLGVBQWU7d0JBQ2hDLGNBQWMsRUFBRSxxQkFBcUI7d0JBQ3JDLGdCQUFnQixFQUFFLG9CQUFvQjt3QkFDdEMsd0JBQXdCLEVBQUUsY0FBYzt3QkFDeEMsZ0JBQWdCO3dCQUNoQixXQUFXLEVBQUUsT0FBTzt3QkFDcEIsZUFBZTt3QkFDZiwwQkFBMEIsRUFBRSxnQkFBZ0IsRUFBRSx5QkFBeUI7d0JBQ3ZFLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFNBQVM7d0JBQzFFLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixpQ0FBaUM7d0JBQ2pDLDRCQUE0Qjt3QkFDNUIsMENBQTBDO3dCQUMxQyx5QkFBeUI7d0JBQ3pCLDhCQUE4Qjt3QkFDOUIsd0JBQXdCO3dCQUN4Qiw4QkFBOEI7d0JBQzlCLDZCQUE2Qjt3QkFDN0IseUJBQXlCO3dCQUN6QiwrQkFBK0I7d0JBQy9CLG9DQUFvQzt3QkFDcEMsMEJBQTBCO3dCQUMxQixtQ0FBbUM7d0JBQ25DLG9DQUFvQzt3QkFDcEMsaUNBQWlDO3dCQUNqQyxnQ0FBZ0M7d0JBQ2hDLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixpQ0FBaUM7d0JBQ2pDLDRCQUE0Qjt3QkFDNUIsMENBQTBDO3dCQUMxQyw4QkFBOEI7d0JBQzlCLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3dCQUM5Qiw2QkFBNkI7d0JBQzdCLHlCQUF5Qjt3QkFDekIsK0JBQStCO3dCQUMvQixvQ0FBb0M7d0JBQ3BDLDBCQUEwQjt3QkFDMUIsbUNBQW1DO3dCQUNuQyxvQ0FBb0M7d0JBQ3BDLGlDQUFpQzt3QkFDakMsZ0NBQWdDO3dCQUNoQyxrQ0FBa0M7cUJBQ25DO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FzeW5jUGlwZSwgQ29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtFbGRlclNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi9zaW5nbGUvZWxkZXItc2VsZWN0L2VsZGVyLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0U2VsZWN0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnR9IGZyb20gJy4vcG9wdXAvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7TWF0RGlhbG9nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmV9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlfSBmcm9tICcuLi9mb3Jtcy9kaXJlY3RpdmVzL2VsZGVyLWZvcm1zLWRpcmVjdGl2ZXMubW9kdWxlJztcbmltcG9ydCB7TWF0SW5wdXRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtNYXRUb29sYmFyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcbmltcG9ydCB7TWF0UHJvZ3Jlc3NCYXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQge0VsZGVyVGFibGVNb2R1bGV9IGZyb20gJy4uL2RhdGEtdmlldy90YWJsZS9lbGRlci10YWJsZS5tb2R1bGUnO1xuaW1wb3J0IHtNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHtFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlfSBmcm9tICcuLi9pbmZpbml0ZXNjcm9sbC9lbGRlci1pbmZpbml0ZS1zY3JvbGwubW9kdWxlJztcbmltcG9ydCB7RWxkZXJTZWxlY3RPblRhYkRpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWxlY3Qtb24tdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyQXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tICcuLi9pbnB1dC9hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlLm1vZHVsZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItc2VsZWN0LXZhbHVlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudH0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdENoaXBzTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQge0VsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSwgRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlLCBFbGRlclNlbGVjdEN1c3RvbUlucHV0RGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLXNlbGVjdC1jaGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyQXV0b1NlbGVjdEZpcnN0RGlyZWN0aXZlfSBmcm9tICcuL2F1dG8vZWxkZXItYXV0by1zZWxlY3QtZmlyc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJQaXBlc01vZHVsZX0gZnJvbSAnLi4vLi4vcGlwZXMvZWxkZXItcGlwZXMubW9kdWxlJztcbmltcG9ydCB7RWxkZXJDbGVhclNlbGVjdERpcmVjdGl2ZX0gZnJvbSAnLi9zaW5nbGUvZWxkZXItY2xlYXItc2VsZWN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hdFRvb2x0aXBNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHtFbGRlclRoZW1lTW9kdWxlfSBmcm9tICcuLi90aGVtZS9lbGRlci10aGVtZS5tb2R1bGUnO1xuaW1wb3J0IHtFbGRlclNlbGVjdGlvblBvcHVwVHJpZ2dlckFkYXB0ZXJEaXJlY3RpdmV9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLXRyaWdnZXItYWRhcHRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlckNoaXBzTW9kdWxlfSBmcm9tICcuLi9jaGlwcy9lbGRlci1jaGlwcy5tb2R1bGUnO1xuaW1wb3J0IHtDZGtEcmFnLCBDZGtEcm9wTGlzdH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwT3B0aW9uc0NvbXBvbmVudH0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcC1vcHRpb25zL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwLW9wdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJTZWxlY3RPcHRpb25Db21wb25lbnR9IGZyb20gJy4vbXVsdGkvZWxkZXItY2hpcC1zZWxlY3Qtb3B0aW9uL2VsZGVyLXNlbGVjdC1vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJNdWx0aVNlbGVjdEFsbEluaXRpYWxEaXJlY3RpdmV9IGZyb20gJy4vbXVsdGkvZWxkZXItbXV0bGktc2VsZWN0LWFsbC1kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlckF1dG9TZWxlY3RTdWdnZXN0Rmlyc3REaXJlY3RpdmV9IGZyb20gJy4vYXV0by9lbGRlci1hdXRvLXNlbGVjdC1zdWdnZXN0LWZpcnN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyQ2hpcHNJbmNsdWRlRXhjbHVkZURpcmVjdGl2ZX0gZnJvbSAnLi9maWx0ZXIvZWxkZXItY2hpcHMtaW5jbHVkZS1leGNsdWRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyRmlsdGVyQ2hpcFRlbXBsYXRlQ29tcG9uZW50fSBmcm9tICcuL2ZpbHRlci9lbGRlci1maWx0ZXItY2hpcC10ZW1wbGF0ZS9lbGRlci1maWx0ZXItY2hpcC10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtFbGRlclNlYXJjaEluY2x1ZGVFeGNsdWRlRGlyZWN0aXZlfSBmcm9tICcuL211bHRpL2VsZGVyLXNlYXJjaC1pbmNsdWRlLWV4Y2x1ZGUuZGlyZWN0aXZlJztcblxuZXhwb3J0IHtFbGRlclNlbGVjdFZhbHVlRGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLXNlbGVjdC12YWx1ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1zZWxlY3QtY2hpcC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlclNlbGVjdE9uVGFiRGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLXNlbGVjdC1vbi10YWIuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxkZXJTZWxlY3RDb21wb25lbnR9IGZyb20gJy4vc2luZ2xlL2VsZGVyLXNlbGVjdC9lbGRlci1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB7XG4gIFRlbXBsYXRlZFNlbGVjdGlvbkRpYWxvZ0NvbXBvbmVudCwgSVNlbGVjdGlvbk1vZGVsRGlhbG9nT3B0aW9uc1xufSBmcm9tICcuL3BvcHVwL3RlbXBsYXRlZC1zZWxlY3Rpb24tZGlhbG9nL3RlbXBsYXRlZC1zZWxlY3Rpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQge1NlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmV9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyU2VsZWN0aW9uUG9wdXBUcmlnZ2VyQWRhcHRlckRpcmVjdGl2ZX0gZnJvbSAnLi9wb3B1cC9zZWxlY3Rpb24tbW9kZWwtcG9wdXAtdHJpZ2dlci1hZGFwdGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyTXVsdGlTZWxlY3RCYXNlfSBmcm9tICcuL211bHRpL2VsZGVyLW11bHRpLXNlbGVjdC1iYXNlJztcbmV4cG9ydCB7RWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50fSBmcm9tICcuL211bHRpL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMuY29tcG9uZW50JztcbmV4cG9ydCB7RWxkZXJNdWx0aVNlbGVjdENoaXBPcHRpb25zQ29tcG9uZW50fSBmcm9tICcuL211bHRpL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwLW9wdGlvbnMvZWxkZXItbXVsdGktc2VsZWN0LWNoaXAtb3B0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0IHtFbGRlclNlbGVjdE9wdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9tdWx0aS9lbGRlci1jaGlwLXNlbGVjdC1vcHRpb24vZWxkZXItc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtFbGRlckF1dG9TZWxlY3RGaXJzdERpcmVjdGl2ZX0gZnJvbSAnLi9hdXRvL2VsZGVyLWF1dG8tc2VsZWN0LWZpcnN0LmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyQ2xlYXJTZWxlY3REaXJlY3RpdmV9IGZyb20gJy4vc2luZ2xlL2VsZGVyLWNsZWFyLXNlbGVjdC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlck11bHRpU2VsZWN0QWxsSW5pdGlhbERpcmVjdGl2ZX0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdXRsaS1zZWxlY3QtYWxsLWRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyQXV0b1NlbGVjdFN1Z2dlc3RGaXJzdERpcmVjdGl2ZX0gZnJvbSAnLi9hdXRvL2VsZGVyLWF1dG8tc2VsZWN0LXN1Z2dlc3QtZmlyc3QuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxkZXJDaGlwc0luY2x1ZGVFeGNsdWRlRGlyZWN0aXZlfSBmcm9tICcuL2ZpbHRlci9lbGRlci1jaGlwcy1pbmNsdWRlLWV4Y2x1ZGUuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxkZXJGaWx0ZXJDaGlwVGVtcGxhdGVDb21wb25lbnR9IGZyb20gJy4vZmlsdGVyL2VsZGVyLWZpbHRlci1jaGlwLXRlbXBsYXRlL2VsZGVyLWZpbHRlci1jaGlwLXRlbXBsYXRlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyL2luY2x1ZGUtZXhjbHVkZS1zZWxlY3Rpb24tbW9kZWwnO1xuZXhwb3J0IHtFbGRlclNlYXJjaEluY2x1ZGVFeGNsdWRlRGlyZWN0aXZlfSBmcm9tICcuL211bHRpL2VsZGVyLXNlYXJjaC1pbmNsdWRlLWV4Y2x1ZGUuZGlyZWN0aXZlJztcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRUb29sYmFyTW9kdWxlLCBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsIE1hdENoaXBzTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgQ2RrRHJvcExpc3QsIENka0RyYWcsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEVsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlLCBFbGRlclRhYmxlTW9kdWxlLCBFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIEVsZGVyQXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIEVsZGVyUGlwZXNNb2R1bGUsIEVsZGVyVGhlbWVNb2R1bGUsIEVsZGVyQ2hpcHNNb2R1bGUsIEFzeW5jUGlwZSwgQXN5bmNQaXBlLFxuICAgIEVsZGVyU2VsZWN0Q29tcG9uZW50LFxuICAgIEVsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmUsXG4gICAgVGVtcGxhdGVkU2VsZWN0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgIFNlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmUsXG4gICAgRWxkZXJTZWxlY3Rpb25Qb3B1cFRyaWdnZXJBZGFwdGVyRGlyZWN0aXZlLFxuICAgIEVsZGVyU2VsZWN0T25UYWJEaXJlY3RpdmUsXG4gICAgRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50LFxuICAgIEVsZGVyU2VsZWN0Q2hpcERpcmVjdGl2ZSxcbiAgICBFbGRlclNlbGVjdENoaXBBdmF0YXJEaXJlY3RpdmUsXG4gICAgRWxkZXJBdXRvU2VsZWN0Rmlyc3REaXJlY3RpdmUsXG4gICAgRWxkZXJDbGVhclNlbGVjdERpcmVjdGl2ZSxcbiAgICBFbGRlclNlbGVjdEN1c3RvbUlucHV0RGlyZWN0aXZlLFxuICAgIEVsZGVyTXVsdGlTZWxlY3RDaGlwT3B0aW9uc0NvbXBvbmVudCxcbiAgICBFbGRlclNlbGVjdE9wdGlvbkNvbXBvbmVudCxcbiAgICBFbGRlck11bHRpU2VsZWN0QWxsSW5pdGlhbERpcmVjdGl2ZSxcbiAgICBFbGRlckF1dG9TZWxlY3RTdWdnZXN0Rmlyc3REaXJlY3RpdmUsXG4gICAgRWxkZXJDaGlwc0luY2x1ZGVFeGNsdWRlRGlyZWN0aXZlLFxuICAgIEVsZGVyRmlsdGVyQ2hpcFRlbXBsYXRlQ29tcG9uZW50LFxuICAgIEVsZGVyU2VhcmNoSW5jbHVkZUV4Y2x1ZGVEaXJlY3RpdmVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVsZGVyU2VsZWN0Q29tcG9uZW50LFxuICAgIEVsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmUsXG4gICAgVGVtcGxhdGVkU2VsZWN0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgIFNlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmUsXG4gICAgRWxkZXJTZWxlY3Rpb25Qb3B1cFRyaWdnZXJBZGFwdGVyRGlyZWN0aXZlLFxuICAgIEVsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudCxcbiAgICBFbGRlclNlbGVjdENoaXBEaXJlY3RpdmUsXG4gICAgRWxkZXJTZWxlY3RDaGlwQXZhdGFyRGlyZWN0aXZlLFxuICAgIEVsZGVyQXV0b1NlbGVjdEZpcnN0RGlyZWN0aXZlLFxuICAgIEVsZGVyQ2xlYXJTZWxlY3REaXJlY3RpdmUsXG4gICAgRWxkZXJTZWxlY3RDdXN0b21JbnB1dERpcmVjdGl2ZSxcbiAgICBFbGRlck11bHRpU2VsZWN0Q2hpcE9wdGlvbnNDb21wb25lbnQsXG4gICAgRWxkZXJTZWxlY3RPcHRpb25Db21wb25lbnQsXG4gICAgRWxkZXJNdWx0aVNlbGVjdEFsbEluaXRpYWxEaXJlY3RpdmUsXG4gICAgRWxkZXJBdXRvU2VsZWN0U3VnZ2VzdEZpcnN0RGlyZWN0aXZlLFxuICAgIEVsZGVyQ2hpcHNJbmNsdWRlRXhjbHVkZURpcmVjdGl2ZSxcbiAgICBFbGRlckZpbHRlckNoaXBUZW1wbGF0ZUNvbXBvbmVudCxcbiAgICBFbGRlclNlYXJjaEluY2x1ZGVFeGNsdWRlRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTZWxlY3RNb2R1bGUge1xufVxuIl19
@@ -53,18 +53,22 @@ export default class ElderChipFilterStyleResolver {
53
53
  return this.neutralChipSpec;
54
54
  }
55
55
  }
56
+ return this.neutralChipSpec;
56
57
  }
57
- resolveAvatar(filterEntity) {
58
- switch (filterEntity.mode) {
59
- case IncludeExcludeValue.NEUTRAL:
60
- return 'radio_button_unchecked';
61
- case IncludeExcludeValue.INCLUDE:
62
- return 'task_alt';
63
- case IncludeExcludeValue.EXCLUDE:
64
- return 'block';
65
- default:
66
- return 'circle';
58
+ resolveAvatarIcon(filterEntity) {
59
+ if (filterEntity) {
60
+ switch (filterEntity.mode) {
61
+ case IncludeExcludeValue.NEUTRAL:
62
+ return 'radio_button_unchecked';
63
+ case IncludeExcludeValue.INCLUDE:
64
+ return 'task_alt';
65
+ case IncludeExcludeValue.EXCLUDE:
66
+ return 'block';
67
+ default:
68
+ return 'circle';
69
+ }
67
70
  }
71
+ return 'help_outline';
68
72
  }
69
73
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItY2hpcC1maWx0ZXItc3R5bGUtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9maWx0ZXIvZWxkZXItY2hpcC1maWx0ZXItc3R5bGUtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFzQixtQkFBbUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRTNGLE1BQU0sQ0FBQyxPQUFPLE9BQU8sNEJBQTRCO0lBQWpEO1FBRUU7Ozs7b0ZBSTRFO1FBRTNELG9CQUFlLEdBQW1CO1lBQ2pELFNBQVMsRUFBRSxFQUFFO1lBQ2IsU0FBUyxFQUFFLElBQUk7WUFDZixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLEtBQUs7YUFDWjtZQUNELFlBQVksRUFBRSxFQUFFO1NBQ2pCLENBQUM7UUFFZSxxQkFBZ0IsR0FBbUI7WUFDbEQsU0FBUyxFQUFFO2dCQUNULFVBQVUsRUFBRSxRQUFRO2FBQ3JCO1lBQ0QsU0FBUyxFQUFFLElBQUk7WUFDZixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLEtBQUs7YUFDWjtZQUNELFlBQVksRUFBRSxFQUFFO1NBQ2pCLENBQUM7UUFFZSxxQkFBZ0IsR0FBbUI7WUFDbEQsU0FBUyxFQUFFO2dCQUNULFVBQVUsRUFBRSxNQUFNO2FBQ25CO1lBQ0QsU0FBUyxFQUFFLElBQUk7WUFDZixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLEtBQUs7YUFDWjtZQUNELFlBQVksRUFBRSxFQUFFO1NBQ2pCLENBQUM7SUFvQ0osQ0FBQztJQWxDQzs7OztnRkFJNEU7SUFHckUsZUFBZSxDQUFDLFlBQWlDO1FBQ3RELElBQUksWUFBWSxFQUFFO1lBQ2hCLFFBQVEsWUFBWSxDQUFDLElBQUksRUFBRTtnQkFDekIsS0FBSyxtQkFBbUIsQ0FBQyxPQUFPO29CQUM5QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7Z0JBQzlCLEtBQUssbUJBQW1CLENBQUMsT0FBTztvQkFDOUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7Z0JBQy9CLEtBQUssbUJBQW1CLENBQUMsT0FBTztvQkFDOUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7Z0JBQy9CO29CQUNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQzthQUMvQjtTQUNGO0lBQ0gsQ0FBQztJQUVNLGFBQWEsQ0FBQyxZQUFpQztRQUNwRCxRQUFRLFlBQVksQ0FBQyxJQUFJLEVBQUU7WUFDekIsS0FBSyxtQkFBbUIsQ0FBQyxPQUFPO2dCQUM5QixPQUFPLHdCQUF3QixDQUFDO1lBQ2xDLEtBQUssbUJBQW1CLENBQUMsT0FBTztnQkFDOUIsT0FBTyxVQUFVLENBQUM7WUFDcEIsS0FBSyxtQkFBbUIsQ0FBQyxPQUFPO2dCQUM5QixPQUFPLE9BQU8sQ0FBQztZQUNqQjtnQkFDRSxPQUFPLFFBQVEsQ0FBQztTQUNuQjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2VsZWN0Q2hpcFNwZWN9IGZyb20gJy4uL211bHRpL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy9zZWxlY3QtY2hpcC1zcGVjJztcbmltcG9ydCB7SW5jbHVkZUV4Y2x1ZGVTdGF0ZSwgSW5jbHVkZUV4Y2x1ZGVWYWx1ZX0gZnJvbSAnLi9pbmNsdWRlLWV4Y2x1ZGUtc2VsZWN0aW9uLW1vZGVsJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRWxkZXJDaGlwRmlsdGVyU3R5bGVSZXNvbHZlciB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBuZXV0cmFsQ2hpcFNwZWM6IFNlbGVjdENoaXBTcGVjID0ge1xuICAgIGNvbG9yU3BlYzoge30sXG4gICAgcmVtb3ZhYmxlOiB0cnVlLFxuICAgIGF2YXRhclNwZWM6IHtcbiAgICAgIGhpZGU6IGZhbHNlXG4gICAgfSxcbiAgICB0cmFpbGluZ1NwZWM6IHt9XG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbmNsdWRlZENoaXBTcGVjOiBTZWxlY3RDaGlwU3BlYyA9IHtcbiAgICBjb2xvclNwZWM6IHtcbiAgICAgIHRoZW1lQ29sb3I6ICdhY2NlbnQnXG4gICAgfSxcbiAgICByZW1vdmFibGU6IHRydWUsXG4gICAgYXZhdGFyU3BlYzoge1xuICAgICAgaGlkZTogZmFsc2VcbiAgICB9LFxuICAgIHRyYWlsaW5nU3BlYzoge31cbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGV4Y2x1ZGVkQ2hpcFNwZWM6IFNlbGVjdENoaXBTcGVjID0ge1xuICAgIGNvbG9yU3BlYzoge1xuICAgICAgdGhlbWVDb2xvcjogJ3dhcm4nXG4gICAgfSxcbiAgICByZW1vdmFibGU6IHRydWUsXG4gICAgYXZhdGFyU3BlYzoge1xuICAgICAgaGlkZTogZmFsc2VcbiAgICB9LFxuICAgIHRyYWlsaW5nU3BlYzoge31cbiAgfTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4gIHB1YmxpYyByZXNvbHZlQ2hpcFNwZWMoZmlsdGVyRW50aXR5OiBJbmNsdWRlRXhjbHVkZVN0YXRlKTogU2VsZWN0Q2hpcFNwZWMge1xuICAgIGlmIChmaWx0ZXJFbnRpdHkpIHtcbiAgICAgIHN3aXRjaCAoZmlsdGVyRW50aXR5Lm1vZGUpIHtcbiAgICAgICAgY2FzZSBJbmNsdWRlRXhjbHVkZVZhbHVlLk5FVVRSQUw6XG4gICAgICAgICAgcmV0dXJuIHRoaXMubmV1dHJhbENoaXBTcGVjO1xuICAgICAgICBjYXNlIEluY2x1ZGVFeGNsdWRlVmFsdWUuSU5DTFVERTpcbiAgICAgICAgICByZXR1cm4gdGhpcy5pbmNsdWRlZENoaXBTcGVjO1xuICAgICAgICBjYXNlIEluY2x1ZGVFeGNsdWRlVmFsdWUuRVhDTFVERTpcbiAgICAgICAgICByZXR1cm4gdGhpcy5leGNsdWRlZENoaXBTcGVjO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiB0aGlzLm5ldXRyYWxDaGlwU3BlYztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZUF2YXRhcihmaWx0ZXJFbnRpdHk6IEluY2x1ZGVFeGNsdWRlU3RhdGUpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoZmlsdGVyRW50aXR5Lm1vZGUpIHtcbiAgICAgIGNhc2UgSW5jbHVkZUV4Y2x1ZGVWYWx1ZS5ORVVUUkFMOlxuICAgICAgICByZXR1cm4gJ3JhZGlvX2J1dHRvbl91bmNoZWNrZWQnO1xuICAgICAgY2FzZSBJbmNsdWRlRXhjbHVkZVZhbHVlLklOQ0xVREU6XG4gICAgICAgIHJldHVybiAndGFza19hbHQnO1xuICAgICAgY2FzZSBJbmNsdWRlRXhjbHVkZVZhbHVlLkVYQ0xVREU6XG4gICAgICAgIHJldHVybiAnYmxvY2snO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdjaXJjbGUnO1xuICAgIH1cbiAgfVxufVxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItY2hpcC1maWx0ZXItc3R5bGUtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9maWx0ZXIvZWxkZXItY2hpcC1maWx0ZXItc3R5bGUtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFzQixtQkFBbUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRTNGLE1BQU0sQ0FBQyxPQUFPLE9BQU8sNEJBQTRCO0lBQWpEO1FBRUU7Ozs7b0ZBSTRFO1FBRTNELG9CQUFlLEdBQW1CO1lBQ2pELFNBQVMsRUFBRSxFQUFFO1lBQ2IsU0FBUyxFQUFFLElBQUk7WUFDZixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLEtBQUs7YUFDWjtZQUNELFlBQVksRUFBRSxFQUFFO1NBQ2pCLENBQUM7UUFFZSxxQkFBZ0IsR0FBbUI7WUFDbEQsU0FBUyxFQUFFO2dCQUNULFVBQVUsRUFBRSxRQUFRO2FBQ3JCO1lBQ0QsU0FBUyxFQUFFLElBQUk7WUFDZixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLEtBQUs7YUFDWjtZQUNELFlBQVksRUFBRSxFQUFFO1NBQ2pCLENBQUM7UUFFZSxxQkFBZ0IsR0FBbUI7WUFDbEQsU0FBUyxFQUFFO2dCQUNULFVBQVUsRUFBRSxNQUFNO2FBQ25CO1lBQ0QsU0FBUyxFQUFFLElBQUk7WUFDZixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLEtBQUs7YUFDWjtZQUNELFlBQVksRUFBRSxFQUFFO1NBQ2pCLENBQUM7SUF3Q0osQ0FBQztJQXRDQzs7OztnRkFJNEU7SUFHckUsZUFBZSxDQUFDLFlBQWlDO1FBQ3RELElBQUksWUFBWSxFQUFFO1lBQ2hCLFFBQVEsWUFBWSxDQUFDLElBQUksRUFBRTtnQkFDekIsS0FBSyxtQkFBbUIsQ0FBQyxPQUFPO29CQUM5QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7Z0JBQzlCLEtBQUssbUJBQW1CLENBQUMsT0FBTztvQkFDOUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7Z0JBQy9CLEtBQUssbUJBQW1CLENBQUMsT0FBTztvQkFDOUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7Z0JBQy9CO29CQUNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQzthQUMvQjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxZQUFpQztRQUN4RCxJQUFJLFlBQVksRUFBRTtZQUNoQixRQUFRLFlBQVksQ0FBQyxJQUFJLEVBQUU7Z0JBQ3pCLEtBQUssbUJBQW1CLENBQUMsT0FBTztvQkFDOUIsT0FBTyx3QkFBd0IsQ0FBQztnQkFDbEMsS0FBSyxtQkFBbUIsQ0FBQyxPQUFPO29CQUM5QixPQUFPLFVBQVUsQ0FBQztnQkFDcEIsS0FBSyxtQkFBbUIsQ0FBQyxPQUFPO29CQUM5QixPQUFPLE9BQU8sQ0FBQztnQkFDakI7b0JBQ0UsT0FBTyxRQUFRLENBQUM7YUFDbkI7U0FDRjtRQUNELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2VsZWN0Q2hpcFNwZWN9IGZyb20gJy4uL211bHRpL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy9zZWxlY3QtY2hpcC1zcGVjJztcbmltcG9ydCB7SW5jbHVkZUV4Y2x1ZGVTdGF0ZSwgSW5jbHVkZUV4Y2x1ZGVWYWx1ZX0gZnJvbSAnLi9pbmNsdWRlLWV4Y2x1ZGUtc2VsZWN0aW9uLW1vZGVsJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRWxkZXJDaGlwRmlsdGVyU3R5bGVSZXNvbHZlciB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBuZXV0cmFsQ2hpcFNwZWM6IFNlbGVjdENoaXBTcGVjID0ge1xuICAgIGNvbG9yU3BlYzoge30sXG4gICAgcmVtb3ZhYmxlOiB0cnVlLFxuICAgIGF2YXRhclNwZWM6IHtcbiAgICAgIGhpZGU6IGZhbHNlXG4gICAgfSxcbiAgICB0cmFpbGluZ1NwZWM6IHt9XG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbmNsdWRlZENoaXBTcGVjOiBTZWxlY3RDaGlwU3BlYyA9IHtcbiAgICBjb2xvclNwZWM6IHtcbiAgICAgIHRoZW1lQ29sb3I6ICdhY2NlbnQnXG4gICAgfSxcbiAgICByZW1vdmFibGU6IHRydWUsXG4gICAgYXZhdGFyU3BlYzoge1xuICAgICAgaGlkZTogZmFsc2VcbiAgICB9LFxuICAgIHRyYWlsaW5nU3BlYzoge31cbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGV4Y2x1ZGVkQ2hpcFNwZWM6IFNlbGVjdENoaXBTcGVjID0ge1xuICAgIGNvbG9yU3BlYzoge1xuICAgICAgdGhlbWVDb2xvcjogJ3dhcm4nXG4gICAgfSxcbiAgICByZW1vdmFibGU6IHRydWUsXG4gICAgYXZhdGFyU3BlYzoge1xuICAgICAgaGlkZTogZmFsc2VcbiAgICB9LFxuICAgIHRyYWlsaW5nU3BlYzoge31cbiAgfTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4gIHB1YmxpYyByZXNvbHZlQ2hpcFNwZWMoZmlsdGVyRW50aXR5OiBJbmNsdWRlRXhjbHVkZVN0YXRlKTogU2VsZWN0Q2hpcFNwZWMge1xuICAgIGlmIChmaWx0ZXJFbnRpdHkpIHtcbiAgICAgIHN3aXRjaCAoZmlsdGVyRW50aXR5Lm1vZGUpIHtcbiAgICAgICAgY2FzZSBJbmNsdWRlRXhjbHVkZVZhbHVlLk5FVVRSQUw6XG4gICAgICAgICAgcmV0dXJuIHRoaXMubmV1dHJhbENoaXBTcGVjO1xuICAgICAgICBjYXNlIEluY2x1ZGVFeGNsdWRlVmFsdWUuSU5DTFVERTpcbiAgICAgICAgICByZXR1cm4gdGhpcy5pbmNsdWRlZENoaXBTcGVjO1xuICAgICAgICBjYXNlIEluY2x1ZGVFeGNsdWRlVmFsdWUuRVhDTFVERTpcbiAgICAgICAgICByZXR1cm4gdGhpcy5leGNsdWRlZENoaXBTcGVjO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiB0aGlzLm5ldXRyYWxDaGlwU3BlYztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubmV1dHJhbENoaXBTcGVjO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmVBdmF0YXJJY29uKGZpbHRlckVudGl0eTogSW5jbHVkZUV4Y2x1ZGVTdGF0ZSk6IHN0cmluZyB7XG4gICAgaWYgKGZpbHRlckVudGl0eSkge1xuICAgICAgc3dpdGNoIChmaWx0ZXJFbnRpdHkubW9kZSkge1xuICAgICAgICBjYXNlIEluY2x1ZGVFeGNsdWRlVmFsdWUuTkVVVFJBTDpcbiAgICAgICAgICByZXR1cm4gJ3JhZGlvX2J1dHRvbl91bmNoZWNrZWQnO1xuICAgICAgICBjYXNlIEluY2x1ZGVFeGNsdWRlVmFsdWUuSU5DTFVERTpcbiAgICAgICAgICByZXR1cm4gJ3Rhc2tfYWx0JztcbiAgICAgICAgY2FzZSBJbmNsdWRlRXhjbHVkZVZhbHVlLkVYQ0xVREU6XG4gICAgICAgICAgcmV0dXJuICdibG9jayc7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuICdjaXJjbGUnO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gJ2hlbHBfb3V0bGluZSc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,144 @@
1
+ import { Directive, Input, Optional, SkipSelf } from '@angular/core';
2
+ import { ElderFilterChipTemplateComponent } from './elder-filter-chip-template/elder-filter-chip-template.component';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { debounceTime, filter, first } from 'rxjs/operators';
5
+ import ElderChipFilterStyleResolver from './elder-chip-filter-style-resolver';
6
+ import { LoggerFactory } from '@elderbyte/ts-logger';
7
+ import { IncludeExcludeSelectionModel, IncludeExcludeValue } from './include-exclude-selection-model';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../multi/elder-multi-select-chips/elder-multi-select-chips.component";
10
+ import * as i2 from "./include-exclude-selection-model";
11
+ /**
12
+ * Adds the ability to toggle select chips of a ElderMultiSelectChipsComponent by
13
+ * binding it to a IncludeExcludeSelectionModel.
14
+ */
15
+ export class ElderChipsIncludeExcludeDirective {
16
+ /***************************************************************************
17
+ * *
18
+ * Constructor *
19
+ * *
20
+ **************************************************************************/
21
+ constructor(elderMultiSelectChips, selectionModel, vcr, destroyRef) {
22
+ this.elderMultiSelectChips = elderMultiSelectChips;
23
+ this.selectionModel = selectionModel;
24
+ this.vcr = vcr;
25
+ this.destroyRef = destroyRef;
26
+ /***************************************************************************
27
+ * *
28
+ * Fields *
29
+ * *
30
+ **************************************************************************/
31
+ this.log = LoggerFactory.getLogger(this.constructor.name);
32
+ this.chipStyleResolver = new ElderChipFilterStyleResolver();
33
+ this.setupFilterChips();
34
+ this.setupElderMultiSelectChipsListeners();
35
+ selectionModel.selection$.pipe(takeUntilDestroyed(), debounceTime(10)).subscribe({
36
+ next: states => this.refreshChips(states)
37
+ });
38
+ }
39
+ /***************************************************************************
40
+ * *
41
+ * Properties *
42
+ * *
43
+ **************************************************************************/
44
+ set cycleStrategy(strategy) {
45
+ this.selectionModel.strategy = strategy;
46
+ }
47
+ /***************************************************************************
48
+ * *
49
+ * Private methods *
50
+ * *
51
+ **************************************************************************/
52
+ setupFilterChips() {
53
+ const chipTemplate = this.createFilterChipTemplate();
54
+ this.elderMultiSelectChips.chipSpecFn = (entity) => this.resolveChipSpec(entity);
55
+ chipTemplate.avatarRef$.pipe(takeUntilDestroyed(this.destroyRef), filter((avatarRef) => !!avatarRef), first()).subscribe((avatarRef) => {
56
+ this.elderMultiSelectChips.chipAvatarTemplate = avatarRef;
57
+ });
58
+ }
59
+ createFilterChipTemplate() {
60
+ const ref = this.vcr.createComponent(ElderFilterChipTemplateComponent);
61
+ ref.setInput('avatarResolverFn', (id) => this.resolveAvatarIcon(id));
62
+ return ref.instance;
63
+ }
64
+ setupElderMultiSelectChipsListeners() {
65
+ this.elderMultiSelectChips.currentClicked
66
+ .pipe(takeUntilDestroyed(this.destroyRef))
67
+ .subscribe((entity) => this.handleChipClick(entity));
68
+ this.elderMultiSelectChips.entityIdsUpdated.pipe(// Updated is a user event when entries are modified
69
+ takeUntilDestroyed(this.destroyRef), filter(entityIds => !!entityIds)).subscribe(entityIds => {
70
+ this.selectionModel.initTo(entityIds);
71
+ });
72
+ }
73
+ resolveChipSpec(entity) {
74
+ return this.chipStyleResolver.resolveChipSpec(this.findFilterEntityByEntity(entity));
75
+ }
76
+ resolveAvatarIcon(id) {
77
+ return this.chipStyleResolver.resolveAvatarIcon(this.findFilterEntityById(id));
78
+ }
79
+ handleChipClick(entity) {
80
+ const entityId = this.elderMultiSelectChips.getEntityId(entity);
81
+ const newState = this.selectionModel.cycleExisting(entityId);
82
+ if (!newState) {
83
+ this.log.warn('The entity id "' + entityId + '" is not in the selection');
84
+ }
85
+ }
86
+ refreshChips(selected) {
87
+ if (this.ensureChipsNoChanges(selected)) {
88
+ this.elderMultiSelectChips.refresh();
89
+ }
90
+ }
91
+ ensureChipsNoChanges(selected) {
92
+ const requiredIds = selected
93
+ .filter(s => s.mode != IncludeExcludeValue.NEUTRAL)
94
+ .map(s => s.id);
95
+ const currentIds = this.elderMultiSelectChips.entityIds ?? [];
96
+ const currentIdSet = new Set(currentIds);
97
+ const missingIds = requiredIds
98
+ .filter(required => !currentIdSet.has(required));
99
+ if (missingIds.length > 0) {
100
+ this.elderMultiSelectChips.entityIds = [...currentIds, ...missingIds];
101
+ return false;
102
+ }
103
+ else {
104
+ return true;
105
+ }
106
+ }
107
+ findFilterEntityByEntity(entity) {
108
+ const searchedId = this.elderMultiSelectChips.getEntityId(entity);
109
+ return this.findFilterEntityById(searchedId);
110
+ }
111
+ findFilterEntityById(id) {
112
+ return this.selectionModel.findStateById(id);
113
+ }
114
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderChipsIncludeExcludeDirective, deps: [{ token: i1.ElderMultiSelectChipsComponent }, { token: i2.IncludeExcludeSelectionModel }, { token: i0.ViewContainerRef }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
115
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: ElderChipsIncludeExcludeDirective, isStandalone: true, selector: "[elderChipsIncludeExclude]", inputs: { cycleStrategy: "cycleStrategy" }, providers: [
116
+ {
117
+ provide: IncludeExcludeSelectionModel,
118
+ useFactory: (existing) => {
119
+ return existing ?? new IncludeExcludeSelectionModel('FULL_CYCLE');
120
+ },
121
+ deps: [[new Optional(), new SkipSelf(), IncludeExcludeSelectionModel]]
122
+ }
123
+ ], exportAs: ["elderChipsIncludeExclude"], ngImport: i0 }); }
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderChipsIncludeExcludeDirective, decorators: [{
126
+ type: Directive,
127
+ args: [{
128
+ selector: '[elderChipsIncludeExclude]',
129
+ exportAs: 'elderChipsIncludeExclude',
130
+ standalone: true,
131
+ providers: [
132
+ {
133
+ provide: IncludeExcludeSelectionModel,
134
+ useFactory: (existing) => {
135
+ return existing ?? new IncludeExcludeSelectionModel('FULL_CYCLE');
136
+ },
137
+ deps: [[new Optional(), new SkipSelf(), IncludeExcludeSelectionModel]]
138
+ }
139
+ ]
140
+ }]
141
+ }], ctorParameters: () => [{ type: i1.ElderMultiSelectChipsComponent }, { type: i2.IncludeExcludeSelectionModel }, { type: i0.ViewContainerRef }, { type: i0.DestroyRef }], propDecorators: { cycleStrategy: [{
142
+ type: Input
143
+ }] } });
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItY2hpcHMtaW5jbHVkZS1leGNsdWRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L2ZpbHRlci9lbGRlci1jaGlwcy1pbmNsdWRlLWV4Y2x1ZGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBR2pHLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQ25ILE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sNEJBQTRCLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFFTCw0QkFBNEIsRUFFNUIsbUJBQW1CLEVBQ3BCLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFFM0M7OztHQUdHO0FBZUgsTUFBTSxPQUFPLGlDQUFpQztJQVk1Qzs7OztnRkFJNEU7SUFFNUUsWUFDa0IscUJBQXFELEVBQ3JELGNBQTRDLEVBQzVDLEdBQXFCLEVBQ3BCLFVBQXNCO1FBSHZCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBZ0M7UUFDckQsbUJBQWMsR0FBZCxjQUFjLENBQThCO1FBQzVDLFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQ3BCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFwQnpDOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFD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RjtpQkFDRjtzTUEyQ1ksYUFBYTtzQkFEdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGVzdHJveVJlZiwgRGlyZWN0aXZlLCBJbnB1dCwgT3B0aW9uYWwsIFNraXBTZWxmLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50fSBmcm9tICcuLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQge1NlbGVjdENoaXBTcGVjfSBmcm9tICcuLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMvc2VsZWN0LWNoaXAtc3BlYyc7XG5pbXBvcnQge0VsZGVyRmlsdGVyQ2hpcFRlbXBsYXRlQ29tcG9uZW50fSBmcm9tICcuL2VsZGVyLWZpbHRlci1jaGlwLXRlbXBsYXRlL2VsZGVyLWZpbHRlci1jaGlwLXRlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGZpbHRlciwgZmlyc3R9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBFbGRlckNoaXBGaWx0ZXJTdHlsZVJlc29sdmVyIGZyb20gJy4vZWxkZXItY2hpcC1maWx0ZXItc3R5bGUtcmVzb2x2ZXInO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge1xuICBJbmNsdWRlRXhjbHVkZUN5Y2xlU3RyYXRlZ3ksXG4gIEluY2x1ZGVFeGNsdWRlU2VsZWN0aW9uTW9kZWwsXG4gIEluY2x1ZGVFeGNsdWRlU3RhdGUsXG4gIEluY2x1ZGVFeGNsdWRlVmFsdWVcbn0gZnJvbSAnLi9pbmNsdWRlLWV4Y2x1ZGUtc2VsZWN0aW9uLW1vZGVsJztcblxuLyoqXG4gKiBBZGRzIHRoZSBhYmlsaXR5IHRvIHRvZ2dsZSBzZWxlY3QgY2hpcHMgb2YgYSBFbGRlck11bHRpU2VsZWN0Q2hpcHNDb21wb25lbnQgYnlcbiAqIGJpbmRpbmcgaXQgdG8gYSBJbmNsdWRlRXhjbHVkZVNlbGVjdGlvbk1vZGVsLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJDaGlwc0luY2x1ZGVFeGNsdWRlXScsXG4gIGV4cG9ydEFzOiAnZWxkZXJDaGlwc0luY2x1ZGVFeGNsdWRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogSW5jbHVkZUV4Y2x1ZGVTZWxlY3Rpb25Nb2RlbCxcbiAgICAgIHVzZUZhY3Rvcnk6IChleGlzdGluZzogSW5jbHVkZUV4Y2x1ZGVTZWxlY3Rpb25Nb2RlbCkgPT4ge1xuICAgICAgICByZXR1cm4gZXhpc3RpbmcgPz8gbmV3IEluY2x1ZGVFeGNsdWRlU2VsZWN0aW9uTW9kZWwoJ0ZVTExfQ1lDTEUnKTtcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgSW5jbHVkZUV4Y2x1ZGVTZWxlY3Rpb25Nb2RlbF1dXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQ2hpcHNJbmNsdWRlRXhjbHVkZURpcmVjdGl2ZTxUID0gYW55PiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2hpcFN0eWxlUmVzb2x2ZXIgPSBuZXcgRWxkZXJDaGlwRmlsdGVyU3R5bGVSZXNvbHZlcigpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBlbGRlck11bHRpU2VsZWN0Q2hpcHM6IEVsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0aW9uTW9kZWw6IEluY2x1ZGVFeGNsdWRlU2VsZWN0aW9uTW9kZWwsXG4gICAgcHVibGljIHJlYWRvbmx5IHZjcjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWZcbiAgKSB7XG4gICAgdGhpcy5zZXR1cEZpbHRlckNoaXBzKCk7XG4gICAgdGhpcy5zZXR1cEVsZGVyTXVsdGlTZWxlY3RDaGlwc0xpc3RlbmVycygpO1xuXG4gICAgc2VsZWN0aW9uTW9kZWwuc2VsZWN0aW9uJC5waXBlKFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICBkZWJvdW5jZVRpbWUoMTApXG4gICAgKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogc3RhdGVzID0+IHRoaXMucmVmcmVzaENoaXBzKHN0YXRlcylcbiAgICB9KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY3ljbGVTdHJhdGVneShzdHJhdGVneTogSW5jbHVkZUV4Y2x1ZGVDeWNsZVN0cmF0ZWd5KSB7XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5zdHJhdGVneSA9IHN0cmF0ZWd5O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBzZXR1cEZpbHRlckNoaXBzKCkge1xuXG4gICAgY29uc3QgY2hpcFRlbXBsYXRlID0gdGhpcy5jcmVhdGVGaWx0ZXJDaGlwVGVtcGxhdGUoKTtcbiAgICB0aGlzLmVsZGVyTXVsdGlTZWxlY3RDaGlwcy5jaGlwU3BlY0ZuID0gKGVudGl0eTogVCkgPT4gdGhpcy5yZXNvbHZlQ2hpcFNwZWMoZW50aXR5KTtcblxuICAgIGNoaXBUZW1wbGF0ZS5hdmF0YXJSZWYkLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgIGZpbHRlcigoYXZhdGFyUmVmKSA9PiAhIWF2YXRhclJlZiksXG4gICAgICBmaXJzdCgpXG4gICAgKS5zdWJzY3JpYmUoKGF2YXRhclJlZikgPT4ge1xuICAgICAgdGhpcy5lbGRlck11bHRpU2VsZWN0Q2hpcHMuY2hpcEF2YXRhclRlbXBsYXRlID0gYXZhdGFyUmVmO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGaWx0ZXJDaGlwVGVtcGxhdGUoKTogRWxkZXJGaWx0ZXJDaGlwVGVtcGxhdGVDb21wb25lbnQge1xuICAgIGNvbnN0IHJlZiA9IHRoaXMudmNyLmNyZWF0ZUNvbXBvbmVudChFbGRlckZpbHRlckNoaXBUZW1wbGF0ZUNvbXBvbmVudCk7XG4gICAgcmVmLnNldElucHV0KCdhdmF0YXJSZXNvbHZlckZuJywgKGlkOiBzdHJpbmcpID0+IHRoaXMucmVzb2x2ZUF2YXRhckljb24oaWQpKTtcbiAgICByZXR1cm4gcmVmLmluc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEVsZGVyTXVsdGlTZWxlY3RDaGlwc0xpc3RlbmVycygpIHtcbiAgICB0aGlzLmVsZGVyTXVsdGlTZWxlY3RDaGlwcy5jdXJyZW50Q2xpY2tlZFxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKChlbnRpdHkpID0+IHRoaXMuaGFuZGxlQ2hpcENsaWNrKGVudGl0eSkpO1xuXG4gICAgdGhpcy5lbGRlck11bHRpU2VsZWN0Q2hpcHMuZW50aXR5SWRzVXBkYXRlZC5waXBlKCAvLyBVcGRhdGVkIGlzIGEgdXNlciBldmVudCB3aGVuIGVudHJpZXMgYXJlIG1vZGlmaWVkXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgIGZpbHRlcihlbnRpdHlJZHMgPT4gISFlbnRpdHlJZHMpXG4gICAgKS5zdWJzY3JpYmUoZW50aXR5SWRzID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuaW5pdFRvKGVudGl0eUlkcyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVDaGlwU3BlYyhlbnRpdHk6IFQpOiBTZWxlY3RDaGlwU3BlYyB7XG4gICAgcmV0dXJuIHRoaXMuY2hpcFN0eWxlUmVzb2x2ZXIucmVzb2x2ZUNoaXBTcGVjKFxuICAgICAgdGhpcy5maW5kRmlsdGVyRW50aXR5QnlFbnRpdHkoZW50aXR5KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVBdmF0YXJJY29uKGlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNoaXBTdHlsZVJlc29sdmVyLnJlc29sdmVBdmF0YXJJY29uKFxuICAgICAgdGhpcy5maW5kRmlsdGVyRW50aXR5QnlJZChpZClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDaGlwQ2xpY2soZW50aXR5OiBUKSB7XG4gICAgY29uc3QgZW50aXR5SWQgPSB0aGlzLmVsZGVyTXVsdGlTZWxlY3RDaGlwcy5nZXRFbnRpdHlJZChlbnRpdHkpO1xuICAgIGNvbnN0IG5ld1N0YXRlID0gdGhpcy5zZWxlY3Rpb25Nb2RlbC5jeWNsZUV4aXN0aW5nKGVudGl0eUlkKTtcbiAgICBpZiAoIW5ld1N0YXRlKSB7XG4gICAgICB0aGlzLmxvZy53YXJuKCdUaGUgZW50aXR5IGlkIFwiJyArIGVudGl0eUlkICsgJ1wiIGlzIG5vdCBpbiB0aGUgc2VsZWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoQ2hpcHMoXG4gICAgc2VsZWN0ZWQ6IEluY2x1ZGVFeGNsdWRlU3RhdGVbXVxuICApOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lbnN1cmVDaGlwc05vQ2hhbmdlcyhzZWxlY3RlZCkpIHtcbiAgICAgIHRoaXMuZWxkZXJNdWx0aVNlbGVjdENoaXBzLnJlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVuc3VyZUNoaXBzTm9DaGFuZ2VzKFxuICAgIHNlbGVjdGVkOiBJbmNsdWRlRXhjbHVkZVN0YXRlW11cbiAgKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVxdWlyZWRJZHMgPSBzZWxlY3RlZFxuICAgICAgLmZpbHRlcihzID0+IHMubW9kZSAhPSBJbmNsdWRlRXhjbHVkZVZhbHVlLk5FVVRSQUwpXG4gICAgICAubWFwKHMgPT4gcy5pZCk7XG5cbiAgICBjb25zdCBjdXJyZW50SWRzID0gdGhpcy5lbGRlck11bHRpU2VsZWN0Q2hpcHMuZW50aXR5SWRzID8/IFtdO1xuICAgIGNvbnN0IGN1cnJlbnRJZFNldCA9IG5ldyBTZXQ8c3RyaW5nPihjdXJyZW50SWRzKTtcblxuICAgIGNvbnN0IG1pc3NpbmdJZHMgPSByZXF1aXJlZElkc1xuICAgICAgLmZpbHRlcihyZXF1aXJlZCA9PiAhY3VycmVudElkU2V0LmhhcyhyZXF1aXJlZCkpO1xuXG4gICAgaWYgKG1pc3NpbmdJZHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5lbGRlck11bHRpU2VsZWN0Q2hpcHMuZW50aXR5SWRzID0gWy4uLmN1cnJlbnRJZHMsIC4uLm1pc3NpbmdJZHNdO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbmRGaWx0ZXJFbnRpdHlCeUVudGl0eShlbnRpdHk6IFQpOiBJbmNsdWRlRXhjbHVkZVN0YXRlIHtcbiAgICBjb25zdCBzZWFyY2hlZElkID0gdGhpcy5lbGRlck11bHRpU2VsZWN0Q2hpcHMuZ2V0RW50aXR5SWQoZW50aXR5KTtcbiAgICByZXR1cm4gdGhpcy5maW5kRmlsdGVyRW50aXR5QnlJZChzZWFyY2hlZElkKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEZpbHRlckVudGl0eUJ5SWQoaWQ6IHN0cmluZyk6IEluY2x1ZGVFeGNsdWRlU3RhdGUge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbk1vZGVsLmZpbmRTdGF0ZUJ5SWQoaWQpO1xuICB9XG59XG4iXX0=