@wlcm/angular 18.2.8 → 18.2.10

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 (94) hide show
  1. package/button/esm2022/lib/button.module.mjs +4 -4
  2. package/button/esm2022/lib/components/button/button.component.mjs +3 -3
  3. package/button/fesm2022/wlcm-angular-button.mjs +7 -7
  4. package/core/esm2022/lib/components/default-loader/default-loader.component.mjs +3 -3
  5. package/core/esm2022/lib/components/icons/calendar-icon/calendar-icon.component.mjs +3 -3
  6. package/core/esm2022/lib/components/icons/chevron-down-icon/chevron-down-icon.component.mjs +3 -3
  7. package/core/esm2022/lib/components/icons/close-icon/close-icon.component.mjs +3 -3
  8. package/core/esm2022/lib/components/icons/search-icon/search-icon.component.mjs +3 -3
  9. package/core/esm2022/lib/components/loader/loader.component.mjs +3 -3
  10. package/core/esm2022/lib/directives/icon.directive.mjs +3 -3
  11. package/core/esm2022/lib/services/scroll-detection.api.mjs +3 -3
  12. package/core/fesm2022/wlcm-angular-core.mjs +24 -24
  13. package/datepicker/esm2022/lib/components/calendar-header/calendar-header.component.mjs +3 -3
  14. package/datepicker/esm2022/lib/components/range/date-range-calendar-header/date-range-calendar-header.component.mjs +3 -3
  15. package/datepicker/esm2022/lib/components/range/date-range-picker/date-range-picker.component.mjs +3 -3
  16. package/datepicker/esm2022/lib/components/range/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.mjs +3 -3
  17. package/datepicker/esm2022/lib/components/range/date-range-picker-input/date-range-picker-input.component.mjs +3 -3
  18. package/datepicker/esm2022/lib/components/single/datepicker-input-container/datepicker-input-container.component.mjs +3 -3
  19. package/datepicker/esm2022/lib/components/single/datepicker-panel/datepicker-panel.component.mjs +3 -3
  20. package/datepicker/esm2022/lib/datepicker.module.mjs +4 -4
  21. package/datepicker/esm2022/lib/directives/calendar.directive.mjs +3 -3
  22. package/datepicker/esm2022/lib/directives/datepicker-input.base.mjs +3 -3
  23. package/datepicker/esm2022/lib/directives/datepicker-trigger.base.mjs +3 -3
  24. package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-end.directive.mjs +3 -3
  25. package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-start.directive.mjs +3 -3
  26. package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input.base.mjs +3 -3
  27. package/datepicker/esm2022/lib/directives/ragne/left-calendar.directive.mjs +3 -3
  28. package/datepicker/esm2022/lib/directives/ragne/right-calendar.directive.mjs +3 -3
  29. package/datepicker/esm2022/lib/directives/single/datepicker-input.directive.mjs +3 -3
  30. package/datepicker/esm2022/lib/models/date-picker.models.mjs +3 -3
  31. package/datepicker/esm2022/lib/models/range/data-range-calendar.models.mjs +3 -3
  32. package/datepicker/fesm2022/wlcm-angular-datepicker.mjs +58 -58
  33. package/datepicker/fesm2022/wlcm-angular-datepicker.mjs.map +1 -1
  34. package/filters/esm2022/lib/components/filters-group/filters-group.component.mjs +3 -3
  35. package/filters/esm2022/lib/directives/filter.directive.mjs +3 -3
  36. package/filters/esm2022/lib/filters.module.mjs +4 -4
  37. package/filters/esm2022/lib/models/filters-group.models.mjs +3 -3
  38. package/filters/fesm2022/wlcm-angular-filters.mjs +13 -13
  39. package/forms/esm2022/lib/forms/components/autocomplete/autocomplete.component.mjs +6 -6
  40. package/forms/esm2022/lib/forms/components/checkbox/checkbox.component.mjs +5 -5
  41. package/forms/esm2022/lib/forms/components/checkbox-group/checkbox-group.component.mjs +3 -3
  42. package/forms/esm2022/lib/forms/components/error/error.component.mjs +3 -3
  43. package/forms/esm2022/lib/forms/components/form-field/form-field.component.mjs +3 -3
  44. package/forms/esm2022/lib/forms/components/label/label.component.mjs +3 -3
  45. package/forms/esm2022/lib/forms/components/partials/autocomplete-suffix/autocomplete-suffix.component.mjs +3 -3
  46. package/forms/esm2022/lib/forms/components/select/select.component.mjs +45 -15
  47. package/forms/esm2022/lib/forms/directives/autocomplete.directive.mjs +3 -3
  48. package/forms/esm2022/lib/forms/directives/form-field-custom-container.directive.mjs +3 -3
  49. package/forms/esm2022/lib/forms/directives/form-field-hint.directive.mjs +3 -3
  50. package/forms/esm2022/lib/forms/directives/form-field-prefix.directive.mjs +3 -3
  51. package/forms/esm2022/lib/forms/directives/form-field-suffix.directive.mjs +3 -3
  52. package/forms/esm2022/lib/forms/directives/input.directive.mjs +3 -3
  53. package/forms/esm2022/lib/forms/directives/select-input-binder.directive.mjs +3 -3
  54. package/forms/esm2022/lib/forms/forms.module.mjs +4 -4
  55. package/forms/esm2022/lib/forms/models/autocomplete.models.mjs +3 -3
  56. package/forms/esm2022/lib/forms/pipes/errors-mapper.pipe.mjs +3 -3
  57. package/forms/esm2022/lib/forms/services/form-state-handler.service.mjs +3 -3
  58. package/forms/esm2022/lib/forms/services/places.api.mjs +6 -6
  59. package/forms/fesm2022/wlcm-angular-forms.mjs +107 -77
  60. package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -1
  61. package/forms/lib/forms/components/autocomplete/autocomplete.component.d.ts +1 -0
  62. package/forms/lib/forms/components/select/select.component.d.ts +5 -0
  63. package/forms/lib/forms/services/places.api.d.ts +1 -0
  64. package/package.json +1 -1
  65. package/phone-input/esm2022/lib/components/country-code-select/country-code-select.component.mjs +3 -3
  66. package/phone-input/esm2022/lib/components/phone-input-container/phone-input-container.component.mjs +3 -3
  67. package/phone-input/esm2022/lib/directives/phone-input.directive.mjs +3 -3
  68. package/phone-input/esm2022/lib/phone-input.module.mjs +4 -4
  69. package/phone-input/esm2022/lib/pipes/phone-code.pipe.mjs +3 -3
  70. package/phone-input/fesm2022/wlcm-angular-phone-input.mjs +16 -16
  71. package/search-field/esm2022/lib/components/search-field/search-field.component.mjs +3 -3
  72. package/search-field/esm2022/lib/search-field.module.mjs +4 -4
  73. package/search-field/fesm2022/wlcm-angular-search-field.mjs +7 -7
  74. package/stepper/esm2022/lib/components/step/step.component.mjs +3 -3
  75. package/stepper/esm2022/lib/components/step-header/step-header.component.mjs +3 -3
  76. package/stepper/esm2022/lib/components/stepper/stepper.component.mjs +3 -3
  77. package/stepper/esm2022/lib/components/stepper-header/stepper-header.component.mjs +3 -3
  78. package/stepper/esm2022/lib/directives/load-on-active-step.directive.mjs +3 -3
  79. package/stepper/esm2022/lib/models/step.models.mjs +3 -3
  80. package/stepper/esm2022/lib/models/stepper.models.mjs +3 -3
  81. package/stepper/esm2022/lib/stepper.module.mjs +4 -4
  82. package/stepper/fesm2022/wlcm-angular-stepper.mjs +25 -25
  83. package/table/esm2022/lib/components/table/table.component.mjs +3 -3
  84. package/table/esm2022/lib/components/table-head/table-head.component.mjs +3 -3
  85. package/table/esm2022/lib/components/table-head-actions/table-head-actions.component.mjs +3 -3
  86. package/table/esm2022/lib/components/table-head-data/table-head-data.component.mjs +3 -3
  87. package/table/esm2022/lib/components/table-row/table-row.component.mjs +3 -3
  88. package/table/esm2022/lib/components/table-row-actions/table-row-actions.component.mjs +3 -3
  89. package/table/esm2022/lib/components/table-row-data/table-row-data.component.mjs +3 -3
  90. package/table/esm2022/lib/components/table-row-spacer/table-row-spacer.component.mjs +3 -3
  91. package/table/esm2022/lib/directives/scrollable-table-container.directive.mjs +3 -3
  92. package/table/esm2022/lib/pipes/table-row-injector.pipe.mjs +3 -3
  93. package/table/esm2022/lib/table.module.mjs +4 -4
  94. package/table/fesm2022/wlcm-angular-table.mjs +34 -34
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { CommonModule } from '@angular/common';
3
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, Inject, Input, NgZone, Optional, ViewChild, computed, effect, forwardRef, inject, input, output, signal, viewChildren, } from '@angular/core';
3
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, Inject, Input, NgZone, Optional, ViewChild, computed, forwardRef, inject, input, output, signal, viewChildren, } from '@angular/core';
4
4
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms';
5
5
  import { MAT_SELECT_CONFIG, MatOption, MatSelect, MatSelectModule } from '@angular/material/select';
6
6
  import { DEFAULT_QUERY_PARAMS, ScrollDetectionApi, WlcmIconDirective, WlcmIconName, } from '@wlcm/angular/core';
@@ -9,6 +9,7 @@ import { WlcmSelectInputBinderDirective } from '../../directives/select-input-bi
9
9
  import { BehaviorSubject, EMPTY, Observable, Subject, first, of, switchMap, takeUntil } from 'rxjs';
10
10
  import { WLCM_SELECT_CONFIG } from '../../constants/select.constants';
11
11
  import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
12
+ import { toObservable } from '@angular/core/rxjs-interop';
12
13
  import { CdkOverlayOrigin } from '@angular/cdk/overlay';
13
14
  import { mergeWith } from 'lodash-es';
14
15
  import * as i0 from "@angular/core";
@@ -55,9 +56,15 @@ let WlcmSelectComponent = class WlcmSelectComponent {
55
56
  this.WlcmIconName = WlcmIconName;
56
57
  this._paginatedData = null;
57
58
  this._previousValue = null;
59
+ this._optionsCache = new Set();
58
60
  this.computedOptions = computed(() => {
59
- return this.paginated() ? this.paginatedOptions() : this.options();
61
+ const options = this.paginated() ? this.paginatedOptions() : this.options();
62
+ if (this.isOptionDisabled() && options.length > 0) {
63
+ this.updateOptionsStatus();
64
+ }
65
+ return options;
60
66
  });
67
+ this.prefilledOptions = signal([]);
61
68
  this.matOptions = viewChildren(MatOption);
62
69
  this._focusStream$ = new BehaviorSubject(EMPTY);
63
70
  this._blurStream$ = new BehaviorSubject(EMPTY);
@@ -72,14 +79,11 @@ let WlcmSelectComponent = class WlcmSelectComponent {
72
79
  if (this.parentFormMember) {
73
80
  this.handleStateChange();
74
81
  }
75
- effect(() => {
76
- if (this.paginated())
82
+ toObservable(this.paginated)
83
+ .pipe(untilDestroyed(this))
84
+ .subscribe((paginated) => {
85
+ if (paginated)
77
86
  this.loadPaginatedOptions();
78
- }, { allowSignalWrites: true });
79
- effect(() => {
80
- if (this.isOptionDisabled() && this.computedOptions().length > 0) {
81
- this.updateOptionsStatus();
82
- }
83
87
  });
84
88
  }
85
89
  ngAfterViewInit() {
@@ -135,6 +139,8 @@ let WlcmSelectComponent = class WlcmSelectComponent {
135
139
  });
136
140
  }
137
141
  writeValue(value) {
142
+ if (this.paginated())
143
+ this.prefillOptions(value);
138
144
  this.updateValue(value);
139
145
  }
140
146
  registerOnChange(callback) {
@@ -159,6 +165,8 @@ let WlcmSelectComponent = class WlcmSelectComponent {
159
165
  this.fetchPaginatedOptions({ ...this.queryParams, page: 1 })
160
166
  .pipe(untilDestroyed(this), first())
161
167
  .subscribe((paginatedData) => {
168
+ this._optionsCache.clear();
169
+ this.cacheOptions(paginatedData.data);
162
170
  this._paginatedData = paginatedData;
163
171
  this.paginatedOptions.set(paginatedData.data);
164
172
  });
@@ -170,10 +178,32 @@ let WlcmSelectComponent = class WlcmSelectComponent {
170
178
  this.fetchPaginatedOptions({ ...this.queryParams })
171
179
  .pipe(untilDestroyed(this), first())
172
180
  .subscribe((paginatedData) => {
181
+ this.cacheOptions(paginatedData.data);
173
182
  this._paginatedData = paginatedData;
174
183
  this.paginatedOptions.update((options) => [...options, ...paginatedData.data]);
175
184
  });
176
185
  }
186
+ cacheOptions(options) {
187
+ options.forEach((option) => this._optionsCache.add(option.value));
188
+ this.syncPrefilledOptions();
189
+ }
190
+ syncPrefilledOptions() {
191
+ if (this.prefilledOptions().length === 0)
192
+ return;
193
+ this.prefilledOptions.update((options) => {
194
+ return options.filter((option) => !this._optionsCache.has(option.value));
195
+ });
196
+ }
197
+ prefillOptions(value) {
198
+ let prefilledOptions = [];
199
+ if (value instanceof Array) {
200
+ prefilledOptions = value.filter((option) => option instanceof Object);
201
+ }
202
+ else if (value instanceof Object) {
203
+ prefilledOptions = [value];
204
+ }
205
+ this.prefilledOptions.set(prefilledOptions);
206
+ }
177
207
  handleScrollDown() {
178
208
  const element = document.querySelector('.mat-mdc-select-panel');
179
209
  this.zone.runOutsideAngular(() => {
@@ -188,8 +218,8 @@ let WlcmSelectComponent = class WlcmSelectComponent {
188
218
  this.changeDetectorRef.markForCheck();
189
219
  });
190
220
  }
191
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmSelectComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.ScrollDetectionApi }, { token: WLCM_FORM_FIELD }, { token: WLCM_FORM_CONTROL, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
192
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: WlcmSelectComponent, isStandalone: true, selector: "wlcm-select", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, fetchPaginatedOptions: { classPropertyName: "fetchPaginatedOptions", publicName: "fetchPaginatedOptions", isSignal: false, isRequired: false, transformFunction: null }, canSelect: { classPropertyName: "canSelect", publicName: "canSelect", isSignal: false, isRequired: false, transformFunction: null }, queryParams: { classPropertyName: "queryParams", publicName: "queryParams", isSignal: false, isRequired: false, transformFunction: null }, paginated: { classPropertyName: "paginated", publicName: "paginated", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, selectOptionFormat: { classPropertyName: "selectOptionFormat", publicName: "selectOptionFormat", isSignal: true, isRequired: false, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null }, triggerTemplate: { classPropertyName: "triggerTemplate", publicName: "triggerTemplate", isSignal: true, isRequired: false, transformFunction: null }, isOptionDisabled: { classPropertyName: "isOptionDisabled", publicName: "isOptionDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectionChange: "selectionChange", opened: "opened", closed: "closed" }, host: { listeners: { "click": "openPanel()" } }, providers: [
221
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmSelectComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.ScrollDetectionApi }, { token: WLCM_FORM_FIELD }, { token: WLCM_FORM_CONTROL, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
222
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: WlcmSelectComponent, isStandalone: true, selector: "wlcm-select", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, fetchPaginatedOptions: { classPropertyName: "fetchPaginatedOptions", publicName: "fetchPaginatedOptions", isSignal: false, isRequired: false, transformFunction: null }, canSelect: { classPropertyName: "canSelect", publicName: "canSelect", isSignal: false, isRequired: false, transformFunction: null }, queryParams: { classPropertyName: "queryParams", publicName: "queryParams", isSignal: false, isRequired: false, transformFunction: null }, paginated: { classPropertyName: "paginated", publicName: "paginated", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, selectOptionFormat: { classPropertyName: "selectOptionFormat", publicName: "selectOptionFormat", isSignal: true, isRequired: false, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null }, triggerTemplate: { classPropertyName: "triggerTemplate", publicName: "triggerTemplate", isSignal: true, isRequired: false, transformFunction: null }, isOptionDisabled: { classPropertyName: "isOptionDisabled", publicName: "isOptionDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectionChange: "selectionChange", opened: "opened", closed: "closed" }, host: { listeners: { "click": "openPanel()" } }, providers: [
193
223
  WLCM_FORM_CONTROL_PROVIDER,
194
224
  {
195
225
  provide: MAT_SELECT_CONFIG,
@@ -200,7 +230,7 @@ let WlcmSelectComponent = class WlcmSelectComponent {
200
230
  },
201
231
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmSelectComponent), multi: true },
202
232
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmSelectComponent), multi: true },
203
- ], viewQueries: [{ propertyName: "matOptions", predicate: MatOption, descendants: true, isSignal: true }, { propertyName: "matSelect", first: true, predicate: MatSelect, descendants: true }], hostDirectives: [{ directive: i2.WlcmSelectInputBinderDirective }], ngImport: i0, template: "<mat-select\n #selectComponent\n [value]=\"value()\"\n [disabled]=\"disabled()\"\n [multiple]=\"multiple\"\n [disableRipple]=\"true\"\n [placeholder]=\"placeholder\"\n [hideSingleSelectionIndicator]=\"true\"\n [ngClass]=\"{ focused: selectComponent.focused }\"\n (selectionChange)=\"select($event)\"\n [compareWith]=\"compareWith\"\n (opened)=\"panelOpened()\"\n (closed)=\"panelClosed()\"\n>\n @if (triggerTemplate()) {\n <mat-select-trigger>\n <ng-container\n *ngTemplateOutlet=\"\n triggerTemplate()!;\n context: $any({ $implicit: selectComponent.selected })\n \"\n ></ng-container>\n </mat-select-trigger>\n }\n\n <mat-option\n *ngFor=\"let option of computedOptions()\"\n [value]=\"selectOptionFormat() === 'CompleteOption' ? option : option.value\"\n >\n @if (optionTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"\n optionTemplate();\n context: $any({ $implicit: option })\n \"\n ></ng-container>\n } @else {\n {{ option.viewValue }}\n }\n </mat-option>\n</mat-select>\n\n<div class=\"wlcm-select-arrow\">\n <ng-container\n [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"\n [wlcmIconStopPropagation]=\"false\"\n ></ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: WlcmIconDirective, selector: "[wlcmIcon]", inputs: ["wlcmIcon", "wlcmIconStopPropagation"], outputs: ["wlcmIconClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
233
+ ], viewQueries: [{ propertyName: "matOptions", predicate: MatOption, descendants: true, isSignal: true }, { propertyName: "matSelect", first: true, predicate: MatSelect, descendants: true }], hostDirectives: [{ directive: i2.WlcmSelectInputBinderDirective }], ngImport: i0, template: "<mat-select\n #selectComponent\n [value]=\"value()\"\n [disabled]=\"disabled()\"\n [multiple]=\"multiple\"\n [disableRipple]=\"true\"\n [placeholder]=\"placeholder\"\n [hideSingleSelectionIndicator]=\"true\"\n [ngClass]=\"{ focused: selectComponent.focused }\"\n (selectionChange)=\"select($event)\"\n [compareWith]=\"compareWith\"\n (opened)=\"panelOpened()\"\n (closed)=\"panelClosed()\"\n>\n @if (triggerTemplate()) {\n <mat-select-trigger>\n <ng-container\n *ngTemplateOutlet=\"\n triggerTemplate()!;\n context: $any({ $implicit: selectComponent.selected })\n \"\n ></ng-container>\n </mat-select-trigger>\n }\n\n <mat-option\n *ngFor=\"let option of prefilledOptions()\"\n [value]=\"selectOptionFormat() === 'CompleteOption' ? option : option.value\"\n >\n <ng-container\n [ngTemplateOutlet]=\"wlcmSelectOptionContent\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\"\n ></ng-container>\n </mat-option>\n\n <mat-option\n *ngFor=\"let option of computedOptions()\"\n [value]=\"selectOptionFormat() === 'CompleteOption' ? option : option.value\"\n >\n <ng-container\n [ngTemplateOutlet]=\"wlcmSelectOptionContent\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\"\n ></ng-container>\n </mat-option>\n</mat-select>\n\n<div class=\"wlcm-select-arrow\">\n <ng-container\n [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"\n [wlcmIconStopPropagation]=\"false\"\n ></ng-container>\n</div>\n\n<ng-template #wlcmSelectOptionContent let-option>\n @if (optionTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"optionTemplate(); context: $any({ $implicit: option })\"\n ></ng-container>\n } @else {\n {{ option.viewValue }}\n }\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: WlcmIconDirective, selector: "[wlcmIcon]", inputs: ["wlcmIcon", "wlcmIconStopPropagation"], outputs: ["wlcmIconClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
204
234
  };
205
235
  WlcmSelectComponent = __decorate([
206
236
  UntilDestroy(),
@@ -209,7 +239,7 @@ WlcmSelectComponent = __decorate([
209
239
  ScrollDetectionApi, Object, Object])
210
240
  ], WlcmSelectComponent);
211
241
  export { WlcmSelectComponent };
212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmSelectComponent, decorators: [{
242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmSelectComponent, decorators: [{
213
243
  type: Component,
214
244
  args: [{ selector: 'wlcm-select', standalone: true, imports: [CommonModule, MatSelectModule, ReactiveFormsModule, WlcmIconDirective, WlcmSelectInputBinderDirective], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [WlcmSelectInputBinderDirective], providers: [
215
245
  WLCM_FORM_CONTROL_PROVIDER,
@@ -222,7 +252,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
222
252
  },
223
253
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmSelectComponent), multi: true },
224
254
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmSelectComponent), multi: true },
225
- ], template: "<mat-select\n #selectComponent\n [value]=\"value()\"\n [disabled]=\"disabled()\"\n [multiple]=\"multiple\"\n [disableRipple]=\"true\"\n [placeholder]=\"placeholder\"\n [hideSingleSelectionIndicator]=\"true\"\n [ngClass]=\"{ focused: selectComponent.focused }\"\n (selectionChange)=\"select($event)\"\n [compareWith]=\"compareWith\"\n (opened)=\"panelOpened()\"\n (closed)=\"panelClosed()\"\n>\n @if (triggerTemplate()) {\n <mat-select-trigger>\n <ng-container\n *ngTemplateOutlet=\"\n triggerTemplate()!;\n context: $any({ $implicit: selectComponent.selected })\n \"\n ></ng-container>\n </mat-select-trigger>\n }\n\n <mat-option\n *ngFor=\"let option of computedOptions()\"\n [value]=\"selectOptionFormat() === 'CompleteOption' ? option : option.value\"\n >\n @if (optionTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"\n optionTemplate();\n context: $any({ $implicit: option })\n \"\n ></ng-container>\n } @else {\n {{ option.viewValue }}\n }\n </mat-option>\n</mat-select>\n\n<div class=\"wlcm-select-arrow\">\n <ng-container\n [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"\n [wlcmIconStopPropagation]=\"false\"\n ></ng-container>\n</div>\n" }]
255
+ ], template: "<mat-select\n #selectComponent\n [value]=\"value()\"\n [disabled]=\"disabled()\"\n [multiple]=\"multiple\"\n [disableRipple]=\"true\"\n [placeholder]=\"placeholder\"\n [hideSingleSelectionIndicator]=\"true\"\n [ngClass]=\"{ focused: selectComponent.focused }\"\n (selectionChange)=\"select($event)\"\n [compareWith]=\"compareWith\"\n (opened)=\"panelOpened()\"\n (closed)=\"panelClosed()\"\n>\n @if (triggerTemplate()) {\n <mat-select-trigger>\n <ng-container\n *ngTemplateOutlet=\"\n triggerTemplate()!;\n context: $any({ $implicit: selectComponent.selected })\n \"\n ></ng-container>\n </mat-select-trigger>\n }\n\n <mat-option\n *ngFor=\"let option of prefilledOptions()\"\n [value]=\"selectOptionFormat() === 'CompleteOption' ? option : option.value\"\n >\n <ng-container\n [ngTemplateOutlet]=\"wlcmSelectOptionContent\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\"\n ></ng-container>\n </mat-option>\n\n <mat-option\n *ngFor=\"let option of computedOptions()\"\n [value]=\"selectOptionFormat() === 'CompleteOption' ? option : option.value\"\n >\n <ng-container\n [ngTemplateOutlet]=\"wlcmSelectOptionContent\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\"\n ></ng-container>\n </mat-option>\n</mat-select>\n\n<div class=\"wlcm-select-arrow\">\n <ng-container\n [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"\n [wlcmIconStopPropagation]=\"false\"\n ></ng-container>\n</div>\n\n<ng-template #wlcmSelectOptionContent let-option>\n @if (optionTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"optionTemplate(); context: $any({ $implicit: option })\"\n ></ng-container>\n } @else {\n {{ option.viewValue }}\n }\n</ng-template>\n" }]
226
256
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1.ScrollDetectionApi }, { type: undefined, decorators: [{
227
257
  type: Inject,
228
258
  args: [WLCM_FORM_FIELD]
@@ -248,4 +278,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
248
278
  type: HostListener,
249
279
  args: ['click']
250
280
  }] } });
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZm9ybXMvc3JjL2xpYi9mb3Jtcy9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9mb3Jtcy9zcmMvbGliL2Zvcm1zL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sUUFBUSxFQUlSLFNBQVMsRUFFVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLG1CQUFtQixHQUdwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFtQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNySCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsWUFBWSxHQUdiLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLDBCQUEwQixFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRWhHLE9BQU8sRUFBRSxlQUFlLEVBQUUsS0FBSyxF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QVM7dUJBQUMsU0FBUztnQkFFRyxTQUFTO3NCQUEvQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgSW5wdXRTaWduYWwsXG4gIE5nWm9uZSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dEVtaXR0ZXJSZWYsXG4gIFNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgV3JpdGFibGVTaWduYWwsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1BVF9TRUxFQ1RfQ09ORklHLCBNYXRPcHRpb24sIE1hdFNlbGVjdCwgTWF0U2VsZWN0Q2hhbmdlLCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9RVUVSWV9QQVJBTVMsXG4gIFNjcm9sbERldGVjdGlvbkFwaSxcbiAgV2xjbUljb25EaXJlY3RpdmUsXG4gIFdsY21JY29uTmFtZSxcbiAgV2xjbU9wdGlvbixcbiAgV2xjbVNlbGVjdE9wdGlvbkZvcm1hdCxcbn0gZnJvbSAnQHdsY20vYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdMQ01fRk9STV9DT05UUk9MLCBXTENNX0ZPUk1fQ09OVFJPTF9QUk9WSURFUiwgV0xDTV9GT1JNX0ZJRUxEIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFdsY21TZWxlY3RJbnB1dEJpbmRlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc2VsZWN0LWlucHV0LWJpbmRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgV2xjbUZvcm1Db250cm9sLCBXbGNtRm9ybUZpZWxkLCBXbGNtRm9ybUZpZWxkSW5wdXQgfSBmcm9tICcuLi8uLi9tb2RlbHMvX2luZGV4JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmliZXIsIGZpcnN0LCBvZiwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElzT3B0aW9uRGlzYWJsZWRGbiwgV2xjbUNhblNlbGVjdEZuLCBXbGNtU2VsZWN0Q29uZmlnLCBXbGNtU2VsZWN0VmFsdWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0Lm1vZGVscyc7XG5pbXBvcnQgeyBXTENNX1NFTEVDVF9DT05GSUcgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvc2VsZWN0LmNvbnN0YW50cyc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IFdsY21RdWVyeVBhcmFtcywgV2xjbVBhZ2luYXRlZERhdGEgfSBmcm9tICdAd2xjbS9jb21tb24nO1xuaW1wb3J0IHsgQ2RrT3ZlcmxheU9yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IG1lcmdlV2l0aCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbnR5cGUgT3B0aW9uVGVtcGxhdGVDb250ZXh0ID0gVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IFdsY21PcHRpb24gfT47XG5cbmNvbnN0IFBBTkVMX0NMQVNTOiBzdHJpbmcgPSAnd2xjbS1zZWxlY3QtcGFuZWwnO1xuXG5jb25zdCBERUZBVUxUX0NPTkZJRzogV2xjbVNlbGVjdENvbmZpZyA9IHsgb3ZlcmxheVBhbmVsQ2xhc3M6IFtQQU5FTF9DTEFTU10gfTtcblxuY29uc3QgbWVyZ2VDb25maWcgPSAoY29uZmlnOiBXbGNtU2VsZWN0Q29uZmlnKTogV2xjbVNlbGVjdENvbmZpZyA9PiB7XG4gIGNvbnN0IGN1c3RvbWl6ZXIgPSAoX2RlZmF1bHQ6IFdsY21TZWxlY3RDb25maWcsIF9uZXc6IFdsY21TZWxlY3RDb25maWcpOiBBcnJheTx1bmtub3duPiB8IHZvaWQgPT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KF9kZWZhdWx0KSkgcmV0dXJuIF9kZWZhdWx0LmNvbmNhdChfbmV3KTtcbiAgfTtcblxuICByZXR1cm4gbWVyZ2VXaXRoKHsgLi4uREVGQVVMVF9DT05GSUcgfSwgY29uZmlnLCBjdXN0b21pemVyKTtcbn07XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2xjbS1zZWxlY3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRTZWxlY3RNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFdsY21JY29uRGlyZWN0aXZlLCBXbGNtU2VsZWN0SW5wdXRCaW5kZXJEaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW1dsY21TZWxlY3RJbnB1dEJpbmRlckRpcmVjdGl2ZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIFdMQ01fRk9STV9DT05UUk9MX1BST1ZJREVSLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1BVF9TRUxFQ1RfQ09ORklHLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xuICAgICAgICBjb25zdCB3bGNtQ29uZmlnOiBXbGNtU2VsZWN0Q29uZmlnID0gaW5qZWN0KFdMQ01fU0VMRUNUX0NPTkZJRywgeyBvcHRpb25hbDogdHJ1ZSB9KSA/PyB7fTtcblxuICAgICAgICByZXR1cm4gbWVyZ2VDb25maWcod2xjbUNvbmZpZyk7XG4gICAgICB9LFxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBXbGNtU2VsZWN0Q29tcG9uZW50KSwgbXVsdGk6IHRydWUgfSxcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBXbGNtU2VsZWN0Q29tcG9uZW50KSwgbXVsdGk6IHRydWUgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgV2xjbVNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIFdsY21Gb3JtRmllbGRJbnB1dCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciB7XG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdOb3Qgc2VsZWN0ZWQnO1xuXG4gIEBJbnB1dCgpIGZldGNoUGFnaW5hdGVkT3B0aW9ucz86IChwYXJhbXM6IFdsY21RdWVyeVBhcmFtcykgPT4gT2JzZXJ2YWJsZTxXbGNtUGFnaW5hdGVkRGF0YTxXbGNtT3B0aW9uPj47XG5cbiAgQElucHV0KCkgY2FuU2VsZWN0OiBXbGNtQ2FuU2VsZWN0Rm4gPSAoXzogV2xjbVNlbGVjdFZhbHVlKSA9PiB0cnVlO1xuXG4gIEBJbnB1dCgpIHF1ZXJ5UGFyYW1zOiBXbGNtUXVlcnlQYXJhbXMgPSBERUZBVUxUX1FVRVJZX1BBUkFNUztcblxuICBwYWdpbmF0ZWQ6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQoZmFsc2UpO1xuXG4gIG9wdGlvbnM6IElucHV0U2lnbmFsPFdsY21PcHRpb25bXT4gPSBpbnB1dDxXbGNtT3B0aW9uW10+KFtdKTtcblxuICBwYWdpbmF0ZWRPcHRpb25zOiBXcml0YWJsZVNpZ25hbDxXbGNtT3B0aW9uW10+ID0gc2lnbmFsKFtdKTtcblxuICBzZWxlY3RPcHRpb25Gb3JtYXQ6IElucHV0U2lnbmFsPFdsY21TZWxlY3RPcHRpb25Gb3JtYXQ+ID0gaW5wdXQ8V2xjbVNlbGVjdE9wdGlvbkZvcm1hdD4oJ1ZhbHVlT25seScpO1xuXG4gIG9wdGlvblRlbXBsYXRlOiBJbnB1dFNpZ25hbDxUZW1wbGF0ZVJlZjxPcHRpb25UZW1wbGF0ZUNvbnRleHQ+IHwgbnVsbD4gPVxuICAgIGlucHV0PFRlbXBsYXRlUmVmPE9wdGlvblRlbXBsYXRlQ29udGV4dD4gfCBudWxsPihudWxsKTtcblxuICB0cmlnZ2VyVGVtcGxhdGU6IElucHV0U2lnbmFsPFRlbXBsYXRlUmVmPE1hdE9wdGlvbiB8IE1hdE9wdGlvbltdPiB8IHVuZGVmaW5lZD4gPSBpbnB1dCgpO1xuXG4gIGlzT3B0aW9uRGlzYWJsZWQ6IElucHV0U2lnbmFsPElzT3B0aW9uRGlzYWJsZWRGbj4gPSBpbnB1dDxJc09wdGlvbkRpc2FibGVkRm4+KCgpID0+IGZhbHNlKTtcblxuICBzZWxlY3Rpb25DaGFuZ2U6IE91dHB1dEVtaXR0ZXJSZWY8TWF0U2VsZWN0Q2hhbmdlPiA9IG91dHB1dCgpO1xuXG4gIG9wZW5lZDogT3V0cHV0RW1pdHRlclJlZjx2b2lkPiA9IG91dHB1dCgpO1xuXG4gIGNsb3NlZDogT3V0cHV0RW1pdHRlclJlZjx2b2lkPiA9IG91dHB1dCgpO1xuXG4gIHJlYWRvbmx5IHZhbHVlOiBXcml0YWJsZVNpZ25hbDxXbGNtU2VsZWN0VmFsdWUgfCBudWxsPiA9IHNpZ25hbChudWxsKTtcblxuICByZWFkb25seSBkaXNhYmxlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IFdsY21JY29uTmFtZSA9IFdsY21JY29uTmFtZTtcblxuICBwcml2YXRlIF9jaGFuZ2VkPzogKHZhbHVlOiBXbGNtT3B0aW9uKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgX3RvdWNoZWQ/OiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgX3ZhbGlkYXRvckNoYW5nZWQ/OiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgX3BhZ2luYXRlZERhdGE6IFdsY21QYWdpbmF0ZWREYXRhPFdsY21PcHRpb24+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfcHJldmlvdXNWYWx1ZTogV2xjbVNlbGVjdFZhbHVlIHwgbnVsbCA9IG51bGw7XG5cbiAgY29tcHV0ZWRPcHRpb25zOiBTaWduYWw8V2xjbU9wdGlvbltdPiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5wYWdpbmF0ZWQoKSA/IHRoaXMucGFnaW5hdGVkT3B0aW9ucygpIDogdGhpcy5vcHRpb25zKCk7XG4gIH0pO1xuXG4gIEBWaWV3Q2hpbGQoTWF0U2VsZWN0KSBtYXRTZWxlY3QhOiBNYXRTZWxlY3Q7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKSBvcGVuUGFuZWwoKTogdm9pZCB7XG4gICAgdGhpcy5tYXRTZWxlY3Qub3BlbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG1hdE9wdGlvbnM6IFNpZ25hbDxSZWFkb25seUFycmF5PE1hdE9wdGlvbj4+ID0gdmlld0NoaWxkcmVuKE1hdE9wdGlvbik7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZm9jdXNTdHJlYW0kOiBCZWhhdmlvclN1YmplY3Q8T2JzZXJ2YWJsZTx2b2lkPj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KEVNUFRZIGFzIE9ic2VydmFibGU8dm9pZD4pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2JsdXJTdHJlYW0kOiBCZWhhdmlvclN1YmplY3Q8T2JzZXJ2YWJsZTx2b2lkPj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KEVNUFRZIGFzIE9ic2VydmFibGU8dm9pZD4pO1xuXG4gIGZvY3VzJDogT2JzZXJ2YWJsZTx1bmtub3duPiA9IHRoaXMuX2ZvY3VzU3RyZWFtJC5waXBlKHN3aXRjaE1hcCgoc3RyZWFtOiBPYnNlcnZhYmxlPHVua25vd24+KSA9PiBzdHJlYW0pKTtcblxuICBibHVyJDogT2JzZXJ2YWJsZTx1bmtub3duPiA9IHRoaXMuX2JsdXJTdHJlYW0kLnBpcGUoc3dpdGNoTWFwKChzdHJlYW06IE9ic2VydmFibGU8dW5rbm93bj4pID0+IHN0cmVhbSkpO1xuXG4gIHByaXZhdGUgc2VsZWN0ZWQkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHNjcm9sbERldGVjdGlvbkFwaTogU2Nyb2xsRGV0ZWN0aW9uQXBpLFxuICAgIEBJbmplY3QoV0xDTV9GT1JNX0ZJRUxEKSBwcml2YXRlIGZvcm1GaWVsZDogV2xjbUZvcm1GaWVsZCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFdMQ01fRk9STV9DT05UUk9MKSBwcml2YXRlIHBhcmVudEZvcm1NZW1iZXI6IFdsY21Gb3JtQ29udHJvbCxcbiAgKSB7XG4gICAgaWYgKHRoaXMucGFyZW50Rm9ybU1lbWJlcikge1xuICAgICAgdGhpcy5oYW5kbGVTdGF0ZUNoYW5nZSgpO1xuICAgIH1cblxuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMucGFnaW5hdGVkKCkpIHRoaXMubG9hZFBhZ2luYXRlZE9wdGlvbnMoKTtcbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXG4gICAgKTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5pc09wdGlvbkRpc2FibGVkKCkgJiYgdGhpcy5jb21wdXRlZE9wdGlvbnMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMudXBkYXRlT3B0aW9uc1N0YXR1cygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1GaWVsZDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gPSB0aGlzLmZvcm1GaWVsZC5pbnB1dENvbnRhaW5lcjtcblxuICAgIGlmIChmb3JtRmllbGQpIHtcbiAgICAgIHRoaXMubWF0U2VsZWN0Ll9wcmVmZXJyZWRPdmVybGF5T3JpZ2luID0gbmV3IENka092ZXJsYXlPcmlnaW4odGhpcy5mb3JtRmllbGQuaW5wdXRDb250YWluZXIpO1xuICAgIH1cblxuICAgIHRoaXMuX2ZvY3VzU3RyZWFtJC5uZXh0KHRoaXMubWF0U2VsZWN0Ll9vcGVuZWRTdHJlYW0pO1xuXG4gICAgdGhpcy5fYmx1clN0cmVhbSQubmV4dCh0aGlzLm1hdFNlbGVjdC5fY2xvc2VkU3RyZWFtKTtcbiAgfVxuXG4gIGNvbXBhcmVXaXRoID0gKG9wdGlvbkE6IFdsY21PcHRpb24gfCBzdHJpbmcsIG9wdGlvbkI6IFdsY21PcHRpb24gfCBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gKChvcHRpb25BIGFzIFdsY21PcHRpb24pPy52YWx1ZSB8fCBvcHRpb25BKSA9PT0gKChvcHRpb25CIGFzIFdsY21PcHRpb24pPy52YWx1ZSB8fCBvcHRpb25CKTtcbiAgfTtcblxuICBmb2N1cyA9ICgpOiB2b2lkID0+IHRoaXMubWF0U2VsZWN0Lm9wZW4oKTtcblxuICBpc0ZvY3VzZWQgPSAoKTogYm9vbGVhbiA9PiB0aGlzLmlzT3BlbjtcblxuICBzZWxlY3QoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWQkLm5leHQoKTtcblxuICAgIHRoaXMubWF0U2VsZWN0LnZhbHVlID0gZXZlbnQudmFsdWU7XG5cbiAgICB0aGlzLnZhbGlkYXRlU2VsZWN0ZWRPcHRpb24oZXZlbnQudmFsdWUpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5zZWxlY3RlZCQpKVxuICAgICAgLnN1YnNjcmliZSgoY2FuU2VsZWN0OiBib29sZWFuKSA9PiB7XG4gICAgICAgIGlmICghY2FuU2VsZWN0KSByZXR1cm4gdGhpcy5yZXZlcnRQcmV2aW91c1ZhbHVlKCk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShldmVudC52YWx1ZSk7XG5cbiAgICAgICAgdGhpcy5fY2hhbmdlZD8uKGV2ZW50LnZhbHVlKTtcblxuICAgICAgICB0aGlzLl92YWxpZGF0b3JDaGFuZ2VkPy4oKTtcblxuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXZlcnRQcmV2aW91c1ZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMubWF0U2VsZWN0LnZhbHVlID0gdGhpcy5fcHJldmlvdXNWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVmFsdWUodmFsdWU6IFdsY21TZWxlY3RWYWx1ZSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUuc2V0KHZhbHVlKTtcblxuICAgIHRoaXMuX3ByZXZpb3VzVmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVTZWxlY3RlZE9wdGlvbih2YWx1ZTogV2xjbVNlbGVjdFZhbHVlKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KChvYnNlcnZlcjogU3Vic2NyaWJlcjxib29sZWFuPikgPT4ge1xuICAgICAgY29uc3QgcmVzcG9uc2U6IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBib29sZWFuID0gdGhpcy5jYW5TZWxlY3QodmFsdWUpO1xuXG4gICAgICBjb25zdCBzb3VyY2U6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSByZXNwb25zZSBpbnN0YW5jZW9mIE9ic2VydmFibGUgPyByZXNwb25zZS5waXBlKGZpcnN0KCkpIDogb2YocmVzcG9uc2UpO1xuXG4gICAgICBzb3VyY2Uuc3Vic2NyaWJlKChyZXN1bHQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXN1bHQpO1xuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFuZWxPcGVuZWQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuZWQuZW1pdCgpO1xuXG4gICAgdGhpcy5oYW5kbGVTY3JvbGxEb3duKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFuZWxDbG9zZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xuXG4gICAgdGhpcy5fdG91Y2hlZD8uKCk7XG4gIH1cblxuICB1cGRhdGVPcHRpb25zU3RhdHVzKCk6IHZvaWQge1xuICAgIHRoaXMubWF0T3B0aW9ucygpLmZvckVhY2goKG1hdE9wdGlvbjogTWF0T3B0aW9uKSA9PiB7XG4gICAgICBtYXRPcHRpb24uZGlzYWJsZWQgPSB0aGlzLmlzT3B0aW9uRGlzYWJsZWQoKShtYXRPcHRpb24udmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogV2xjbVNlbGVjdFZhbHVlKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGNhbGxiYWNrOiAodmFsdWU6IFdsY21PcHRpb24pID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGFuZ2VkID0gY2FsbGJhY2s7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChjYWxsYmFjazogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX3RvdWNoZWQgPSBjYWxsYmFjaztcbiAgfVxuXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl92YWxpZGF0b3JDaGFuZ2VkID0gY2FsbGJhY2s7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcbiAgfVxuXG4gIHZhbGlkYXRlKCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWF0U2VsZWN0Py5wYW5lbE9wZW4gPz8gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGxvYWRQYWdpbmF0ZWRPcHRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuZmV0Y2hQYWdpbmF0ZWRPcHRpb25zISh7IC4uLnRoaXMucXVlcnlQYXJhbXMsIHBhZ2U6IDEgfSlcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpLCBmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSgocGFnaW5hdGVkRGF0YTogV2xjbVBhZ2luYXRlZERhdGE8V2xjbU9wdGlvbj4pID0+IHtcbiAgICAgICAgdGhpcy5fcGFnaW5hdGVkRGF0YSA9IHBhZ2luYXRlZERhdGE7XG5cbiAgICAgICAgdGhpcy5wYWdpbmF0ZWRPcHRpb25zLnNldChwYWdpbmF0ZWREYXRhLmRhdGEpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRNb3JlUGFnaW5hdGVkT3B0aW9ucygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3BhZ2luYXRlZERhdGEgfHwgdGhpcy5fcGFnaW5hdGVkRGF0YS5jdXJyUGFnZSArIDEgPiB0aGlzLl9wYWdpbmF0ZWREYXRhLnRvdGFsUGFnZXMpIHJldHVybjtcblxuICAgIHRoaXMucXVlcnlQYXJhbXMucGFnZSsrO1xuXG4gICAgdGhpcy5mZXRjaFBhZ2luYXRlZE9wdGlvbnMhKHsgLi4udGhpcy5xdWVyeVBhcmFtcyB9KVxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcyksIGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKChwYWdpbmF0ZWREYXRhOiBXbGNtUGFnaW5hdGVkRGF0YTxXbGNtT3B0aW9uPikgPT4ge1xuICAgICAgICB0aGlzLl9wYWdpbmF0ZWREYXRhID0gcGFnaW5hdGVkRGF0YTtcblxuICAgICAgICB0aGlzLnBhZ2luYXRlZE9wdGlvbnMudXBkYXRlKChvcHRpb25zOiBXbGNtT3B0aW9uW10pID0+IFsuLi5vcHRpb25zLCAuLi5wYWdpbmF0ZWREYXRhLmRhdGFdKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTY3JvbGxEb3duKCk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm1hdC1tZGMtc2VsZWN0LXBhbmVsJykhO1xuXG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuc2Nyb2xsRGV0ZWN0aW9uQXBpLm9uU2Nyb2xsZWREb3duKGVsZW1lbnQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4gdGhpcy5sb2FkTW9yZVBhZ2luYXRlZE9wdGlvbnMoKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU3RhdGVDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5wYXJlbnRGb3JtTWVtYmVyLnN0YXRlQ2hhbmdlcyQucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX3ZhbGlkYXRvckNoYW5nZWQ/LigpO1xuXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8bWF0LXNlbGVjdFxuICAjc2VsZWN0Q29tcG9uZW50XG4gIFt2YWx1ZV09XCJ2YWx1ZSgpXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICBbZGlzYWJsZVJpcHBsZV09XCJ0cnVlXCJcbiAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgW2hpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3JdPVwidHJ1ZVwiXG4gIFtuZ0NsYXNzXT1cInsgZm9jdXNlZDogc2VsZWN0Q29tcG9uZW50LmZvY3VzZWQgfVwiXG4gIChzZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0KCRldmVudClcIlxuICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZVdpdGhcIlxuICAob3BlbmVkKT1cInBhbmVsT3BlbmVkKClcIlxuICAoY2xvc2VkKT1cInBhbmVsQ2xvc2VkKClcIlxuPlxuICBAaWYgKHRyaWdnZXJUZW1wbGF0ZSgpKSB7XG4gICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICB0cmlnZ2VyVGVtcGxhdGUoKSE7XG4gICAgICAgICAgY29udGV4dDogJGFueSh7ICRpbXBsaWNpdDogc2VsZWN0Q29tcG9uZW50LnNlbGVjdGVkIH0pXG4gICAgICAgIFwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gIH1cblxuICA8bWF0LW9wdGlvblxuICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY29tcHV0ZWRPcHRpb25zKClcIlxuICAgIFt2YWx1ZV09XCJzZWxlY3RPcHRpb25Gb3JtYXQoKSA9PT0gJ0NvbXBsZXRlT3B0aW9uJyA/IG9wdGlvbiA6IG9wdGlvbi52YWx1ZVwiXG4gID5cbiAgICBAaWYgKG9wdGlvblRlbXBsYXRlKCkpIHtcbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICBvcHRpb25UZW1wbGF0ZSgpO1xuICAgICAgICAgIGNvbnRleHQ6ICRhbnkoeyAkaW1wbGljaXQ6IG9wdGlvbiB9KVxuICAgICAgICBcIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIH0gQGVsc2Uge1xuICAgICAge3sgb3B0aW9uLnZpZXdWYWx1ZSB9fVxuICAgIH1cbiAgPC9tYXQtb3B0aW9uPlxuPC9tYXQtc2VsZWN0PlxuXG48ZGl2IGNsYXNzPVwid2xjbS1zZWxlY3QtYXJyb3dcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgIFt3bGNtSWNvbl09XCJXbGNtSWNvbk5hbWUuQ0hFVlJPTl9ET1dOXCJcbiAgICBbd2xjbUljb25TdG9wUHJvcGFnYXRpb25dPVwiZmFsc2VcIlxuICA+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
281
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZm9ybXMvc3JjL2xpYi9mb3Jtcy9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9mb3Jtcy9zcmMvbGliL2Zvcm1zL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sUUFBUSxFQUlSLFNBQVMsRUFFVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsbUJBQW1CLEdBR3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQW1CLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JILE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixZQUFZLEdBR2IsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFaEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsVUFBVSxF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QkFBb0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7cUJBQ2hHOzswQkFzRkUsTUFBTTsyQkFBQyxlQUFlOzswQkFDdEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7eUNBcEY5QixRQUFRO3NCQUFoQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcscUJBQXFCO3NCQUE3QixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFxRGdCLFNBQVM7c0JBQTlCLFNBQVM7dUJBQUMsU0FBUztnQkFFRyxTQUFTO3NCQUEvQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgSW5wdXRTaWduYWwsXG4gIE5nWm9uZSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dEVtaXR0ZXJSZWYsXG4gIFNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgV3JpdGFibGVTaWduYWwsXG4gIGNvbXB1dGVkLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNQVRfU0VMRUNUX0NPTkZJRywgTWF0T3B0aW9uLCBNYXRTZWxlY3QsIE1hdFNlbGVjdENoYW5nZSwgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7XG4gIERFRkFVTFRfUVVFUllfUEFSQU1TLFxuICBTY3JvbGxEZXRlY3Rpb25BcGksXG4gIFdsY21JY29uRGlyZWN0aXZlLFxuICBXbGNtSWNvbk5hbWUsXG4gIFdsY21PcHRpb24sXG4gIFdsY21TZWxlY3RPcHRpb25Gb3JtYXQsXG59IGZyb20gJ0B3bGNtL2FuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXTENNX0ZPUk1fQ09OVFJPTCwgV0xDTV9GT1JNX0NPTlRST0xfUFJPVklERVIsIFdMQ01fRk9STV9GSUVMRCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBXbGNtU2VsZWN0SW5wdXRCaW5kZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3NlbGVjdC1pbnB1dC1iaW5kZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFdsY21Gb3JtQ29udHJvbCwgV2xjbUZvcm1GaWVsZCwgV2xjbUZvcm1GaWVsZElucHV0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL19pbmRleCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIEVNUFRZLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpYmVyLCBmaXJzdCwgb2YsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJc09wdGlvbkRpc2FibGVkRm4sIFdsY21DYW5TZWxlY3RGbiwgV2xjbVNlbGVjdENvbmZpZywgV2xjbVNlbGVjdFZhbHVlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdC5tb2RlbHMnO1xuaW1wb3J0IHsgV0xDTV9TRUxFQ1RfQ09ORklHIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3NlbGVjdC5jb25zdGFudHMnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBXbGNtUXVlcnlQYXJhbXMsIFdsY21QYWdpbmF0ZWREYXRhIH0gZnJvbSAnQHdsY20vY29tbW9uJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IENka092ZXJsYXlPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBtZXJnZVdpdGggfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG50eXBlIE9wdGlvblRlbXBsYXRlQ29udGV4dCA9IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBXbGNtT3B0aW9uIH0+O1xuXG5jb25zdCBQQU5FTF9DTEFTUzogc3RyaW5nID0gJ3dsY20tc2VsZWN0LXBhbmVsJztcblxuY29uc3QgREVGQVVMVF9DT05GSUc6IFdsY21TZWxlY3RDb25maWcgPSB7IG92ZXJsYXlQYW5lbENsYXNzOiBbUEFORUxfQ0xBU1NdIH07XG5cbmNvbnN0IG1lcmdlQ29uZmlnID0gKGNvbmZpZzogV2xjbVNlbGVjdENvbmZpZyk6IFdsY21TZWxlY3RDb25maWcgPT4ge1xuICBjb25zdCBjdXN0b21pemVyID0gKF9kZWZhdWx0OiBXbGNtU2VsZWN0Q29uZmlnLCBfbmV3OiBXbGNtU2VsZWN0Q29uZmlnKTogQXJyYXk8dW5rbm93bj4gfCB2b2lkID0+IHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShfZGVmYXVsdCkpIHJldHVybiBfZGVmYXVsdC5jb25jYXQoX25ldyk7XG4gIH07XG5cbiAgcmV0dXJuIG1lcmdlV2l0aCh7IC4uLkRFRkFVTFRfQ09ORklHIH0sIGNvbmZpZywgY3VzdG9taXplcik7XG59O1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dsY20tc2VsZWN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0U2VsZWN0TW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBXbGNtSWNvbkRpcmVjdGl2ZSwgV2xjbVNlbGVjdElucHV0QmluZGVyRGlyZWN0aXZlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtXbGNtU2VsZWN0SW5wdXRCaW5kZXJEaXJlY3RpdmVdLFxuICBwcm92aWRlcnM6IFtcbiAgICBXTENNX0ZPUk1fQ09OVFJPTF9QUk9WSURFUixcbiAgICB7XG4gICAgICBwcm92aWRlOiBNQVRfU0VMRUNUX0NPTkZJRyxcbiAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgY29uc3Qgd2xjbUNvbmZpZzogV2xjbVNlbGVjdENvbmZpZyA9IGluamVjdChXTENNX1NFTEVDVF9DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8ge307XG5cbiAgICAgICAgcmV0dXJuIG1lcmdlQ29uZmlnKHdsY21Db25maWcpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHsgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2xjbVNlbGVjdENvbXBvbmVudCksIG11bHRpOiB0cnVlIH0sXG4gICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2xjbVNlbGVjdENvbXBvbmVudCksIG11bHRpOiB0cnVlIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFdsY21TZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBXbGNtRm9ybUZpZWxkSW5wdXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuICBASW5wdXQoKSBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnTm90IHNlbGVjdGVkJztcblxuICBASW5wdXQoKSBmZXRjaFBhZ2luYXRlZE9wdGlvbnM/OiAocGFyYW1zOiBXbGNtUXVlcnlQYXJhbXMpID0+IE9ic2VydmFibGU8V2xjbVBhZ2luYXRlZERhdGE8V2xjbU9wdGlvbj4+O1xuXG4gIEBJbnB1dCgpIGNhblNlbGVjdDogV2xjbUNhblNlbGVjdEZuID0gKF86IFdsY21TZWxlY3RWYWx1ZSkgPT4gdHJ1ZTtcblxuICBASW5wdXQoKSBxdWVyeVBhcmFtczogV2xjbVF1ZXJ5UGFyYW1zID0gREVGQVVMVF9RVUVSWV9QQVJBTVM7XG5cbiAgcGFnaW5hdGVkOiBJbnB1dFNpZ25hbDxib29sZWFuPiA9IGlucHV0KGZhbHNlKTtcblxuICBvcHRpb25zOiBJbnB1dFNpZ25hbDxXbGNtT3B0aW9uW10+ID0gaW5wdXQ8V2xjbU9wdGlvbltdPihbXSk7XG5cbiAgcGFnaW5hdGVkT3B0aW9uczogV3JpdGFibGVTaWduYWw8V2xjbU9wdGlvbltdPiA9IHNpZ25hbChbXSk7XG5cbiAgc2VsZWN0T3B0aW9uRm9ybWF0OiBJbnB1dFNpZ25hbDxXbGNtU2VsZWN0T3B0aW9uRm9ybWF0PiA9IGlucHV0PFdsY21TZWxlY3RPcHRpb25Gb3JtYXQ+KCdWYWx1ZU9ubHknKTtcblxuICBvcHRpb25UZW1wbGF0ZTogSW5wdXRTaWduYWw8VGVtcGxhdGVSZWY8T3B0aW9uVGVtcGxhdGVDb250ZXh0PiB8IG51bGw+ID1cbiAgICBpbnB1dDxUZW1wbGF0ZVJlZjxPcHRpb25UZW1wbGF0ZUNvbnRleHQ+IHwgbnVsbD4obnVsbCk7XG5cbiAgdHJpZ2dlclRlbXBsYXRlOiBJbnB1dFNpZ25hbDxUZW1wbGF0ZVJlZjxNYXRPcHRpb24gfCBNYXRPcHRpb25bXT4gfCB1bmRlZmluZWQ+ID0gaW5wdXQoKTtcblxuICBpc09wdGlvbkRpc2FibGVkOiBJbnB1dFNpZ25hbDxJc09wdGlvbkRpc2FibGVkRm4+ID0gaW5wdXQ8SXNPcHRpb25EaXNhYmxlZEZuPigoKSA9PiBmYWxzZSk7XG5cbiAgc2VsZWN0aW9uQ2hhbmdlOiBPdXRwdXRFbWl0dGVyUmVmPE1hdFNlbGVjdENoYW5nZT4gPSBvdXRwdXQoKTtcblxuICBvcGVuZWQ6IE91dHB1dEVtaXR0ZXJSZWY8dm9pZD4gPSBvdXRwdXQoKTtcblxuICBjbG9zZWQ6IE91dHB1dEVtaXR0ZXJSZWY8dm9pZD4gPSBvdXRwdXQoKTtcblxuICByZWFkb25seSB2YWx1ZTogV3JpdGFibGVTaWduYWw8V2xjbVNlbGVjdFZhbHVlIHwgbnVsbD4gPSBzaWduYWwobnVsbCk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICByZWFkb25seSBXbGNtSWNvbk5hbWUgPSBXbGNtSWNvbk5hbWU7XG5cbiAgcHJpdmF0ZSBfY2hhbmdlZD86ICh2YWx1ZTogV2xjbU9wdGlvbikgPT4gdm9pZDtcblxuICBwcml2YXRlIF90b3VjaGVkPzogKCkgPT4gdm9pZDtcblxuICBwcml2YXRlIF92YWxpZGF0b3JDaGFuZ2VkPzogKCkgPT4gdm9pZDtcblxuICBwcml2YXRlIF9wYWdpbmF0ZWREYXRhOiBXbGNtUGFnaW5hdGVkRGF0YTxXbGNtT3B0aW9uPiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX3ByZXZpb3VzVmFsdWU6IFdsY21TZWxlY3RWYWx1ZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX29wdGlvbnNDYWNoZTogU2V0PHVua25vd24+ID0gbmV3IFNldCgpO1xuXG4gIGNvbXB1dGVkT3B0aW9uczogU2lnbmFsPFdsY21PcHRpb25bXT4gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9uczogV2xjbU9wdGlvbltdID0gdGhpcy5wYWdpbmF0ZWQoKSA/IHRoaXMucGFnaW5hdGVkT3B0aW9ucygpIDogdGhpcy5vcHRpb25zKCk7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbkRpc2FibGVkKCkgJiYgb3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnVwZGF0ZU9wdGlvbnNTdGF0dXMoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfSk7XG5cbiAgcHJlZmlsbGVkT3B0aW9uczogV3JpdGFibGVTaWduYWw8V2xjbU9wdGlvbltdPiA9IHNpZ25hbChbXSk7XG5cbiAgQFZpZXdDaGlsZChNYXRTZWxlY3QpIG1hdFNlbGVjdCE6IE1hdFNlbGVjdDtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpIG9wZW5QYW5lbCgpOiB2b2lkIHtcbiAgICB0aGlzLm1hdFNlbGVjdC5vcGVuKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbWF0T3B0aW9uczogU2lnbmFsPFJlYWRvbmx5QXJyYXk8TWF0T3B0aW9uPj4gPSB2aWV3Q2hpbGRyZW4oTWF0T3B0aW9uKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mb2N1c1N0cmVhbSQ6IEJlaGF2aW9yU3ViamVjdDxPYnNlcnZhYmxlPHZvaWQ+PiA9IG5ldyBCZWhhdmlvclN1YmplY3QoRU1QVFkgYXMgT2JzZXJ2YWJsZTx2b2lkPik7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYmx1clN0cmVhbSQ6IEJlaGF2aW9yU3ViamVjdDxPYnNlcnZhYmxlPHZvaWQ+PiA9IG5ldyBCZWhhdmlvclN1YmplY3QoRU1QVFkgYXMgT2JzZXJ2YWJsZTx2b2lkPik7XG5cbiAgZm9jdXMkOiBPYnNlcnZhYmxlPHVua25vd24+ID0gdGhpcy5fZm9jdXNTdHJlYW0kLnBpcGUoc3dpdGNoTWFwKChzdHJlYW06IE9ic2VydmFibGU8dW5rbm93bj4pID0+IHN0cmVhbSkpO1xuXG4gIGJsdXIkOiBPYnNlcnZhYmxlPHVua25vd24+ID0gdGhpcy5fYmx1clN0cmVhbSQucGlwZShzd2l0Y2hNYXAoKHN0cmVhbTogT2JzZXJ2YWJsZTx1bmtub3duPikgPT4gc3RyZWFtKSk7XG5cbiAgcHJpdmF0ZSBzZWxlY3RlZCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgc2Nyb2xsRGV0ZWN0aW9uQXBpOiBTY3JvbGxEZXRlY3Rpb25BcGksXG4gICAgQEluamVjdChXTENNX0ZPUk1fRklFTEQpIHByaXZhdGUgZm9ybUZpZWxkOiBXbGNtRm9ybUZpZWxkLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoV0xDTV9GT1JNX0NPTlRST0wpIHByaXZhdGUgcGFyZW50Rm9ybU1lbWJlcjogV2xjbUZvcm1Db250cm9sLFxuICApIHtcbiAgICBpZiAodGhpcy5wYXJlbnRGb3JtTWVtYmVyKSB7XG4gICAgICB0aGlzLmhhbmRsZVN0YXRlQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgdG9PYnNlcnZhYmxlKHRoaXMucGFnaW5hdGVkKVxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKChwYWdpbmF0ZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgaWYgKHBhZ2luYXRlZCkgdGhpcy5sb2FkUGFnaW5hdGVkT3B0aW9ucygpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUZpZWxkOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiA9IHRoaXMuZm9ybUZpZWxkLmlucHV0Q29udGFpbmVyO1xuXG4gICAgaWYgKGZvcm1GaWVsZCkge1xuICAgICAgdGhpcy5tYXRTZWxlY3QuX3ByZWZlcnJlZE92ZXJsYXlPcmlnaW4gPSBuZXcgQ2RrT3ZlcmxheU9yaWdpbih0aGlzLmZvcm1GaWVsZC5pbnB1dENvbnRhaW5lcik7XG4gICAgfVxuXG4gICAgdGhpcy5fZm9jdXNTdHJlYW0kLm5leHQodGhpcy5tYXRTZWxlY3QuX29wZW5lZFN0cmVhbSk7XG5cbiAgICB0aGlzLl9ibHVyU3RyZWFtJC5uZXh0KHRoaXMubWF0U2VsZWN0Ll9jbG9zZWRTdHJlYW0pO1xuICB9XG5cbiAgY29tcGFyZVdpdGggPSAob3B0aW9uQTogV2xjbU9wdGlvbiB8IHN0cmluZywgb3B0aW9uQjogV2xjbU9wdGlvbiB8IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiAoKG9wdGlvbkEgYXMgV2xjbU9wdGlvbik/LnZhbHVlIHx8IG9wdGlvbkEpID09PSAoKG9wdGlvbkIgYXMgV2xjbU9wdGlvbik/LnZhbHVlIHx8IG9wdGlvbkIpO1xuICB9O1xuXG4gIGZvY3VzID0gKCk6IHZvaWQgPT4gdGhpcy5tYXRTZWxlY3Qub3BlbigpO1xuXG4gIGlzRm9jdXNlZCA9ICgpOiBib29sZWFuID0+IHRoaXMuaXNPcGVuO1xuXG4gIHNlbGVjdChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCQubmV4dCgpO1xuXG4gICAgdGhpcy5tYXRTZWxlY3QudmFsdWUgPSBldmVudC52YWx1ZTtcblxuICAgIHRoaXMudmFsaWRhdGVTZWxlY3RlZE9wdGlvbihldmVudC52YWx1ZSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnNlbGVjdGVkJCkpXG4gICAgICAuc3Vic2NyaWJlKChjYW5TZWxlY3Q6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgaWYgKCFjYW5TZWxlY3QpIHJldHVybiB0aGlzLnJldmVydFByZXZpb3VzVmFsdWUoKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGV2ZW50LnZhbHVlKTtcblxuICAgICAgICB0aGlzLl9jaGFuZ2VkPy4oZXZlbnQudmFsdWUpO1xuXG4gICAgICAgIHRoaXMuX3ZhbGlkYXRvckNoYW5nZWQ/LigpO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJldmVydFByZXZpb3VzVmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy5tYXRTZWxlY3QudmFsdWUgPSB0aGlzLl9wcmV2aW91c1ZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVWYWx1ZSh2YWx1ZTogV2xjbVNlbGVjdFZhbHVlKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZS5zZXQodmFsdWUpO1xuXG4gICAgdGhpcy5fcHJldmlvdXNWYWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVNlbGVjdGVkT3B0aW9uKHZhbHVlOiBXbGNtU2VsZWN0VmFsdWUpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKG9ic2VydmVyOiBTdWJzY3JpYmVyPGJvb2xlYW4+KSA9PiB7XG4gICAgICBjb25zdCByZXNwb25zZTogT2JzZXJ2YWJsZTxib29sZWFuPiB8IGJvb2xlYW4gPSB0aGlzLmNhblNlbGVjdCh2YWx1ZSk7XG5cbiAgICAgIGNvbnN0IHNvdXJjZTogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHJlc3BvbnNlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSA/IHJlc3BvbnNlLnBpcGUoZmlyc3QoKSkgOiBvZihyZXNwb25zZSk7XG5cbiAgICAgIHNvdXJjZS5zdWJzY3JpYmUoKHJlc3VsdDogYm9vbGVhbikgPT4ge1xuICAgICAgICBvYnNlcnZlci5uZXh0KHJlc3VsdCk7XG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYW5lbE9wZW5lZCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5lZC5lbWl0KCk7XG5cbiAgICB0aGlzLmhhbmRsZVNjcm9sbERvd24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYW5lbENsb3NlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG5cbiAgICB0aGlzLl90b3VjaGVkPy4oKTtcbiAgfVxuXG4gIHVwZGF0ZU9wdGlvbnNTdGF0dXMoKTogdm9pZCB7XG4gICAgdGhpcy5tYXRPcHRpb25zKCkuZm9yRWFjaCgobWF0T3B0aW9uOiBNYXRPcHRpb24pID0+IHtcbiAgICAgIG1hdE9wdGlvbi5kaXNhYmxlZCA9IHRoaXMuaXNPcHRpb25EaXNhYmxlZCgpKG1hdE9wdGlvbi52YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBXbGNtU2VsZWN0VmFsdWUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYWdpbmF0ZWQoKSkgdGhpcy5wcmVmaWxsT3B0aW9ucyh2YWx1ZSk7XG5cbiAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoY2FsbGJhY2s6ICh2YWx1ZTogV2xjbU9wdGlvbikgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZWQgPSBjYWxsYmFjaztcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fdG91Y2hlZCA9IGNhbGxiYWNrO1xuICB9XG5cbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShjYWxsYmFjazogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbGlkYXRvckNoYW5nZWQgPSBjYWxsYmFjaztcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQuc2V0KGlzRGlzYWJsZWQpO1xuICB9XG5cbiAgdmFsaWRhdGUoKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tYXRTZWxlY3Q/LnBhbmVsT3BlbiA/PyBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZFBhZ2luYXRlZE9wdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5mZXRjaFBhZ2luYXRlZE9wdGlvbnMhKHsgLi4udGhpcy5xdWVyeVBhcmFtcywgcGFnZTogMSB9KVxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcyksIGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKChwYWdpbmF0ZWREYXRhOiBXbGNtUGFnaW5hdGVkRGF0YTxXbGNtT3B0aW9uPikgPT4ge1xuICAgICAgICB0aGlzLl9vcHRpb25zQ2FjaGUuY2xlYXIoKTtcblxuICAgICAgICB0aGlzLmNhY2hlT3B0aW9ucyhwYWdpbmF0ZWREYXRhLmRhdGEpO1xuXG4gICAgICAgIHRoaXMuX3BhZ2luYXRlZERhdGEgPSBwYWdpbmF0ZWREYXRhO1xuXG4gICAgICAgIHRoaXMucGFnaW5hdGVkT3B0aW9ucy5zZXQocGFnaW5hdGVkRGF0YS5kYXRhKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkTW9yZVBhZ2luYXRlZE9wdGlvbnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9wYWdpbmF0ZWREYXRhIHx8IHRoaXMuX3BhZ2luYXRlZERhdGEuY3VyclBhZ2UgKyAxID4gdGhpcy5fcGFnaW5hdGVkRGF0YS50b3RhbFBhZ2VzKSByZXR1cm47XG5cbiAgICB0aGlzLnF1ZXJ5UGFyYW1zLnBhZ2UrKztcblxuICAgIHRoaXMuZmV0Y2hQYWdpbmF0ZWRPcHRpb25zISh7IC4uLnRoaXMucXVlcnlQYXJhbXMgfSlcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpLCBmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSgocGFnaW5hdGVkRGF0YTogV2xjbVBhZ2luYXRlZERhdGE8V2xjbU9wdGlvbj4pID0+IHtcbiAgICAgICAgdGhpcy5jYWNoZU9wdGlvbnMocGFnaW5hdGVkRGF0YS5kYXRhKTtcblxuICAgICAgICB0aGlzLl9wYWdpbmF0ZWREYXRhID0gcGFnaW5hdGVkRGF0YTtcblxuICAgICAgICB0aGlzLnBhZ2luYXRlZE9wdGlvbnMudXBkYXRlKChvcHRpb25zOiBXbGNtT3B0aW9uW10pID0+IFsuLi5vcHRpb25zLCAuLi5wYWdpbmF0ZWREYXRhLmRhdGFdKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWNoZU9wdGlvbnMob3B0aW9uczogV2xjbU9wdGlvbltdKTogdm9pZCB7XG4gICAgb3B0aW9ucy5mb3JFYWNoKChvcHRpb246IFdsY21PcHRpb24pID0+IHRoaXMuX29wdGlvbnNDYWNoZS5hZGQob3B0aW9uLnZhbHVlKSk7XG5cbiAgICB0aGlzLnN5bmNQcmVmaWxsZWRPcHRpb25zKCk7XG4gIH1cblxuICBwcml2YXRlIHN5bmNQcmVmaWxsZWRPcHRpb25zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZWZpbGxlZE9wdGlvbnMoKS5sZW5ndGggPT09IDApIHJldHVybjtcblxuICAgIHRoaXMucHJlZmlsbGVkT3B0aW9ucy51cGRhdGUoKG9wdGlvbnM6IFdsY21PcHRpb25bXSkgPT4ge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuZmlsdGVyKChvcHRpb246IFdsY21PcHRpb24pID0+ICF0aGlzLl9vcHRpb25zQ2FjaGUuaGFzKG9wdGlvbi52YWx1ZSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVmaWxsT3B0aW9ucyh2YWx1ZTogV2xjbVNlbGVjdFZhbHVlKTogdm9pZCB7XG4gICAgbGV0IHByZWZpbGxlZE9wdGlvbnM6IFdsY21PcHRpb25bXSA9IFtdO1xuXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgIHByZWZpbGxlZE9wdGlvbnMgPSB2YWx1ZS5maWx0ZXIoKG9wdGlvbjogV2xjbU9wdGlvbiB8IHN0cmluZykgPT4gb3B0aW9uIGluc3RhbmNlb2YgT2JqZWN0KSBhcyBXbGNtT3B0aW9uW107XG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgcHJlZmlsbGVkT3B0aW9ucyA9IFt2YWx1ZV07XG4gICAgfVxuXG4gICAgdGhpcy5wcmVmaWxsZWRPcHRpb25zLnNldChwcmVmaWxsZWRPcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2Nyb2xsRG93bigpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tYXQtbWRjLXNlbGVjdC1wYW5lbCcpITtcblxuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLnNjcm9sbERldGVjdGlvbkFwaS5vblNjcm9sbGVkRG93bihlbGVtZW50KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHRoaXMubG9hZE1vcmVQYWdpbmF0ZWRPcHRpb25zKCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVN0YXRlQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50Rm9ybU1lbWJlci5zdGF0ZUNoYW5nZXMkLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl92YWxpZGF0b3JDaGFuZ2VkPy4oKTtcblxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPG1hdC1zZWxlY3RcbiAgI3NlbGVjdENvbXBvbmVudFxuICBbdmFsdWVdPVwidmFsdWUoKVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgW2Rpc2FibGVSaXBwbGVdPVwidHJ1ZVwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIFtoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yXT1cInRydWVcIlxuICBbbmdDbGFzc109XCJ7IGZvY3VzZWQ6IHNlbGVjdENvbXBvbmVudC5mb2N1c2VkIH1cIlxuICAoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdCgkZXZlbnQpXCJcbiAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVXaXRoXCJcbiAgKG9wZW5lZCk9XCJwYW5lbE9wZW5lZCgpXCJcbiAgKGNsb3NlZCk9XCJwYW5lbENsb3NlZCgpXCJcbj5cbiAgQGlmICh0cmlnZ2VyVGVtcGxhdGUoKSkge1xuICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgdHJpZ2dlclRlbXBsYXRlKCkhO1xuICAgICAgICAgIGNvbnRleHQ6ICRhbnkoeyAkaW1wbGljaXQ6IHNlbGVjdENvbXBvbmVudC5zZWxlY3RlZCB9KVxuICAgICAgICBcIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICB9XG5cbiAgPG1hdC1vcHRpb25cbiAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHByZWZpbGxlZE9wdGlvbnMoKVwiXG4gICAgW3ZhbHVlXT1cInNlbGVjdE9wdGlvbkZvcm1hdCgpID09PSAnQ29tcGxldGVPcHRpb24nID8gb3B0aW9uIDogb3B0aW9uLnZhbHVlXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIndsY21TZWxlY3RPcHRpb25Db250ZW50XCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogb3B0aW9uIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtb3B0aW9uPlxuXG4gIDxtYXQtb3B0aW9uXG4gICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBjb21wdXRlZE9wdGlvbnMoKVwiXG4gICAgW3ZhbHVlXT1cInNlbGVjdE9wdGlvbkZvcm1hdCgpID09PSAnQ29tcGxldGVPcHRpb24nID8gb3B0aW9uIDogb3B0aW9uLnZhbHVlXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIndsY21TZWxlY3RPcHRpb25Db250ZW50XCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogb3B0aW9uIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtb3B0aW9uPlxuPC9tYXQtc2VsZWN0PlxuXG48ZGl2IGNsYXNzPVwid2xjbS1zZWxlY3QtYXJyb3dcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgIFt3bGNtSWNvbl09XCJXbGNtSWNvbk5hbWUuQ0hFVlJPTl9ET1dOXCJcbiAgICBbd2xjbUljb25TdG9wUHJvcGFnYXRpb25dPVwiZmFsc2VcIlxuICA+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICN3bGNtU2VsZWN0T3B0aW9uQ29udGVudCBsZXQtb3B0aW9uPlxuICBAaWYgKG9wdGlvblRlbXBsYXRlKCkpIHtcbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm9wdGlvblRlbXBsYXRlKCk7IGNvbnRleHQ6ICRhbnkoeyAkaW1wbGljaXQ6IG9wdGlvbiB9KVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICB9IEBlbHNlIHtcbiAgICB7eyBvcHRpb24udmlld1ZhbHVlIH19XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -39,8 +39,8 @@ let AutocompleteDirective = class AutocompleteDirective {
39
39
  this._scrollHeight = height;
40
40
  this._scrollHeightChanged = true;
41
41
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AutocompleteDirective, deps: [{ token: i0.NgZone }, { token: i1.MatAutocomplete, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
43
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: AutocompleteDirective, isStandalone: true, selector: "[wlcmAutocomplete]", outputs: { panelScrolled: "panelScrolled" }, ngImport: i0 }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: AutocompleteDirective, deps: [{ token: i0.NgZone }, { token: i1.MatAutocomplete, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
43
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: AutocompleteDirective, isStandalone: true, selector: "[wlcmAutocomplete]", outputs: { panelScrolled: "panelScrolled" }, ngImport: i0 }); }
44
44
  };
45
45
  AutocompleteDirective = __decorate([
46
46
  UntilDestroy(),
@@ -48,7 +48,7 @@ AutocompleteDirective = __decorate([
48
48
  MatAutocomplete])
49
49
  ], AutocompleteDirective);
50
50
  export { AutocompleteDirective };
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AutocompleteDirective, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: AutocompleteDirective, decorators: [{
52
52
  type: Directive,
53
53
  args: [{
54
54
  selector: '[wlcmAutocomplete]',
@@ -4,10 +4,10 @@ export class WlcmFormFieldCustomContainerDirective {
4
4
  constructor(elementRef) {
5
5
  this.elementRef = elementRef;
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFormFieldCustomContainerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: WlcmFormFieldCustomContainerDirective, isStandalone: true, selector: "[wlcmFormFieldCustomContainer]", ngImport: i0 }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmFormFieldCustomContainerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmFormFieldCustomContainerDirective, isStandalone: true, selector: "[wlcmFormFieldCustomContainer]", ngImport: i0 }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFormFieldCustomContainerDirective, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmFormFieldCustomContainerDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[wlcmFormFieldCustomContainer]',
@@ -1,10 +1,10 @@
1
1
  import { Directive } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class WlcmFormFieldHintDirective {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFormFieldHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: WlcmFormFieldHintDirective, isStandalone: true, selector: "[wlcmFormFieldHint]", host: { classAttribute: "wlcm-hint" }, ngImport: i0 }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmFormFieldHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmFormFieldHintDirective, isStandalone: true, selector: "[wlcmFormFieldHint]", host: { classAttribute: "wlcm-hint" }, ngImport: i0 }); }
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFormFieldHintDirective, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmFormFieldHintDirective, decorators: [{
8
8
  type: Directive,
9
9
  args: [{
10
10
  selector: '[wlcmFormFieldHint]',
@@ -6,10 +6,10 @@ export class WlcmFormFieldPrefixDirective {
6
6
  event.stopPropagation();
7
7
  };
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFormFieldPrefixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: WlcmFormFieldPrefixDirective, isStandalone: true, selector: "[wlcmFormFieldPrefix]", host: { listeners: { "click": "handlerClick($event)" } }, ngImport: i0 }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmFormFieldPrefixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmFormFieldPrefixDirective, isStandalone: true, selector: "[wlcmFormFieldPrefix]", host: { listeners: { "click": "handlerClick($event)" } }, ngImport: i0 }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFormFieldPrefixDirective, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmFormFieldPrefixDirective, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  selector: '[wlcmFormFieldPrefix]',
@@ -1,10 +1,10 @@
1
1
  import { Directive } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class WlcmFormFieldSuffixDirective {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFormFieldSuffixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: WlcmFormFieldSuffixDirective, isStandalone: true, selector: "[wlcmFormFieldSuffix]", ngImport: i0 }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmFormFieldSuffixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmFormFieldSuffixDirective, isStandalone: true, selector: "[wlcmFormFieldSuffix]", ngImport: i0 }); }
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFormFieldSuffixDirective, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmFormFieldSuffixDirective, decorators: [{
8
8
  type: Directive,
9
9
  args: [{
10
10
  selector: '[wlcmFormFieldSuffix]',
@@ -15,8 +15,8 @@ export class WlcmInputDirective {
15
15
  element.classList.add(WLCM_FORM_FIELD_INPUT_CLASS);
16
16
  }
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmInputDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: WlcmInputDirective, isStandalone: true, selector: "[wlcmInput]", providers: [
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmInputDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmInputDirective, isStandalone: true, selector: "[wlcmInput]", providers: [
20
20
  {
21
21
  provide: WLCM_INPUT,
22
22
  useFactory: () => {
@@ -27,7 +27,7 @@ export class WlcmInputDirective {
27
27
  },
28
28
  ], ngImport: i0 }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmInputDirective, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmInputDirective, decorators: [{
31
31
  type: Directive,
32
32
  args: [{
33
33
  selector: '[wlcmInput]',
@@ -3,8 +3,8 @@ import { WLCM_INPUT_BINDER } from '../constants';
3
3
  import { WlcmSelectComponent } from '../components';
4
4
  import * as i0 from "@angular/core";
5
5
  export class WlcmSelectInputBinderDirective {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmSelectInputBinderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: WlcmSelectInputBinderDirective, isStandalone: true, selector: "[wlcmSelectInputBinder]", providers: [
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmSelectInputBinderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmSelectInputBinderDirective, isStandalone: true, selector: "[wlcmSelectInputBinder]", providers: [
8
8
  {
9
9
  provide: WLCM_INPUT_BINDER,
10
10
  useFactory: () => {
@@ -14,7 +14,7 @@ export class WlcmSelectInputBinderDirective {
14
14
  },
15
15
  ], ngImport: i0 }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmSelectInputBinderDirective, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmSelectInputBinderDirective, decorators: [{
18
18
  type: Directive,
19
19
  args: [{
20
20
  standalone: true,
@@ -29,8 +29,8 @@ const components = [
29
29
  WlcmLabelComponent,
30
30
  ];
31
31
  export class WlcmFormsModule {
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
33
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: WlcmFormsModule, imports: [WlcmFormFieldComponent,
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
33
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: WlcmFormsModule, imports: [WlcmFormFieldComponent,
34
34
  WlcmAutocompleteComponent,
35
35
  WlcmAutocompleteSuffixComponent,
36
36
  WlcmCheckboxGroupComponent,
@@ -51,9 +51,9 @@ export class WlcmFormsModule {
51
51
  WlcmFormFieldSuffixDirective,
52
52
  WlcmFormFieldPrefixDirective,
53
53
  WlcmFormFieldHintDirective, MatRadioModule] }); }
54
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFormsModule, providers: [{ provide: MAT_RADIO_DEFAULT_OPTIONS, useValue: { color: 'primary' } }], imports: [components, MatRadioModule, MatRadioModule] }); }
54
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmFormsModule, providers: [{ provide: MAT_RADIO_DEFAULT_OPTIONS, useValue: { color: 'primary' } }], imports: [components, MatRadioModule, MatRadioModule] }); }
55
55
  }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmFormsModule, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmFormsModule, decorators: [{
57
57
  type: NgModule,
58
58
  args: [{
59
59
  imports: [...components, ...directives, MatRadioModule],
@@ -1,10 +1,10 @@
1
1
  import { Directive } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class WlcmAutocomplete {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmAutocomplete, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: WlcmAutocomplete, ngImport: i0 }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmAutocomplete, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmAutocomplete, ngImport: i0 }); }
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmAutocomplete, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmAutocomplete, decorators: [{
8
8
  type: Directive
9
9
  }] });
10
10
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZm9ybXMvc3JjL2xpYi9mb3Jtcy9tb2RlbHMvYXV0b2NvbXBsZXRlLm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQWdCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCO2tHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRHJDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdsY21BdXRvY29tcGxldGVPcHRpb24gfSBmcm9tICdAd2xjbS9hbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBXbGNtQXV0b2NvbXBsZXRlVmFsdWUgPSBXbGNtQXV0b2NvbXBsZXRlT3B0aW9uIHwgc3RyaW5nIHwgbnVsbDtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV2xjbUF1dG9jb21wbGV0ZSB7XG4gIGFic3RyYWN0IGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xufVxuIl19
@@ -33,10 +33,10 @@ export class ErrorsMapperPipe {
33
33
  this.changeDetectorRef.markForCheck();
34
34
  });
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ErrorsMapperPipe, deps: [{ token: i0.ChangeDetectorRef }, { token: WLCM_ERRORS }, { token: WLCM_PRIORITY_ERRORS }], target: i0.ɵɵFactoryTarget.Pipe }); }
37
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: ErrorsMapperPipe, isStandalone: true, name: "errorsMapper", pure: false }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ErrorsMapperPipe, deps: [{ token: i0.ChangeDetectorRef }, { token: WLCM_ERRORS }, { token: WLCM_PRIORITY_ERRORS }], target: i0.ɵɵFactoryTarget.Pipe }); }
37
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: ErrorsMapperPipe, isStandalone: true, name: "errorsMapper", pure: false }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ErrorsMapperPipe, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ErrorsMapperPipe, decorators: [{
40
40
  type: Pipe,
41
41
  args: [{
42
42
  name: 'errorsMapper',
@@ -9,10 +9,10 @@ export class FormStateHandlerService {
9
9
  updateFormState() {
10
10
  this._stateChanges$.next();
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FormStateHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FormStateHandlerService, providedIn: 'root' }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: FormStateHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: FormStateHandlerService, providedIn: 'root' }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FormStateHandlerService, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: FormStateHandlerService, decorators: [{
16
16
  type: Injectable,
17
17
  args: [{ providedIn: 'root' }]
18
18
  }] });
@@ -42,17 +42,17 @@ class WlcmDefaultPlacesApi {
42
42
  get autocompleteService() {
43
43
  return this._autocompleteService;
44
44
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDefaultPlacesApi, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
46
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDefaultPlacesApi }); }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDefaultPlacesApi, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
46
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDefaultPlacesApi }); }
47
47
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmDefaultPlacesApi, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDefaultPlacesApi, decorators: [{
49
49
  type: Injectable
50
50
  }], ctorParameters: () => [] });
51
51
  export class WlcmPlacesApi {
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmPlacesApi, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
53
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmPlacesApi, providedIn: 'root', useClass: WlcmDefaultPlacesApi }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmPlacesApi, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
53
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmPlacesApi, providedIn: 'root', useClass: WlcmDefaultPlacesApi }); }
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: WlcmPlacesApi, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmPlacesApi, decorators: [{
56
56
  type: Injectable,
57
57
  args: [{
58
58
  providedIn: 'root',