@alauda/ui 6.5.4-beta.19 → 6.5.4-beta.20

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.
@@ -18,7 +18,7 @@ export declare class AutoCompleteDirective extends BaseTooltip<AutoCompleteConte
18
18
  show: EventEmitter<void>;
19
19
  hide: EventEmitter<void>;
20
20
  selected: EventEmitter<string>;
21
- autoPatchEnabled: boolean;
21
+ autoPatch: boolean;
22
22
  private _autocomplete;
23
23
  private focusedSuggestion;
24
24
  private readonly inputValue$$;
@@ -44,7 +44,7 @@ export declare class AutoCompleteDirective extends BaseTooltip<AutoCompleteConte
44
44
  protected selectFocusedOption(): void;
45
45
  private _filterFn;
46
46
  static ɵfac: i0.ɵɵFactoryDeclaration<AutoCompleteDirective, [null, null, null, null, null, null, { optional: true; host: true; }]>;
47
- static ɵdir: i0.ɵɵDirectiveDeclaration<AutoCompleteDirective, "input[auiAutocomplete],textarea[auiAutocomplete]", ["auiAutocomplete"], { "class": "auiAutocompleteClass"; "autocomplete": "auiAutocomplete"; "filterFn": "filterFn"; "defaultFirstSuggestion": "auiAutocompleteDefaultFirstSuggestion"; "suggestionTrigger": "auiAutocompleteTrigger"; "autoPatchEnabled": "auiAutocompleteAutoPatchEnabled"; }, { "show": "auiAutocompleteShow"; "hide": "auiAutocompleteHide"; "selected": "auiAutocompleteSelected"; }, never>;
47
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AutoCompleteDirective, "input[auiAutocomplete],textarea[auiAutocomplete]", ["auiAutocomplete"], { "class": "auiAutocompleteClass"; "autocomplete": "auiAutocomplete"; "filterFn": "filterFn"; "defaultFirstSuggestion": "auiAutocompleteDefaultFirstSuggestion"; "suggestionTrigger": "auiAutocompleteTrigger"; "autoPatch": "auiAutocompleteAutoPatch"; }, { "show": "auiAutocompleteShow"; "hide": "auiAutocompleteHide"; "selected": "auiAutocompleteSelected"; }, never>;
48
48
  }
49
49
  export declare class CustomAutoCompleteDirective extends AutoCompleteDirective {
50
50
  innerSelector: string;
@@ -15,7 +15,7 @@ export class AutoCompleteDirective extends BaseTooltip {
15
15
  this.hide = new EventEmitter();
16
16
  this.selected = new EventEmitter();
17
17
  // Whether to automatically update input value after selection
18
- this.autoPatchEnabled = true;
18
+ this.autoPatch = true;
19
19
  this.inputValue$$ = new BehaviorSubject('');
20
20
  this.filterFn$$ = new BehaviorSubject(this.filterFn);
21
21
  this.unsubscribe$ = new Subject();
@@ -135,7 +135,7 @@ export class AutoCompleteDirective extends BaseTooltip {
135
135
  }
136
136
  onSuggestionClick(value) {
137
137
  let isArrCtrl = false;
138
- if (this.autoPatchEnabled) {
138
+ if (this.autoPatch) {
139
139
  if (this.ngControl) {
140
140
  const { control } = this.ngControl;
141
141
  isArrCtrl = Array.isArray(control.value);
@@ -220,7 +220,7 @@ export class AutoCompleteDirective extends BaseTooltip {
220
220
  }
221
221
  }
222
222
  AutoCompleteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AutoCompleteDirective, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i2.NgControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
223
- AutoCompleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AutoCompleteDirective, selector: "input[auiAutocomplete],textarea[auiAutocomplete]", inputs: { class: ["auiAutocompleteClass", "class"], autocomplete: ["auiAutocomplete", "autocomplete"], filterFn: "filterFn", defaultFirstSuggestion: ["auiAutocompleteDefaultFirstSuggestion", "defaultFirstSuggestion"], suggestionTrigger: ["auiAutocompleteTrigger", "suggestionTrigger"], autoPatchEnabled: ["auiAutocompleteAutoPatchEnabled", "autoPatchEnabled"] }, outputs: { show: "auiAutocompleteShow", hide: "auiAutocompleteHide", selected: "auiAutocompleteSelected" }, host: { attributes: { "autocomplete": "off" } }, exportAs: ["auiAutocomplete"], usesInheritance: true, ngImport: i0 });
223
+ AutoCompleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AutoCompleteDirective, selector: "input[auiAutocomplete],textarea[auiAutocomplete]", inputs: { class: ["auiAutocompleteClass", "class"], autocomplete: ["auiAutocomplete", "autocomplete"], filterFn: "filterFn", defaultFirstSuggestion: ["auiAutocompleteDefaultFirstSuggestion", "defaultFirstSuggestion"], suggestionTrigger: ["auiAutocompleteTrigger", "suggestionTrigger"], autoPatch: ["auiAutocompleteAutoPatch", "autoPatch"] }, outputs: { show: "auiAutocompleteShow", hide: "auiAutocompleteHide", selected: "auiAutocompleteSelected" }, host: { attributes: { "autocomplete": "off" } }, exportAs: ["auiAutocomplete"], usesInheritance: true, ngImport: i0 });
224
224
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AutoCompleteDirective, decorators: [{
225
225
  type: Directive,
226
226
  args: [{
@@ -258,9 +258,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
258
258
  }], selected: [{
259
259
  type: Output,
260
260
  args: ['auiAutocompleteSelected']
261
- }], autoPatchEnabled: [{
261
+ }], autoPatch: [{
262
262
  type: Input,
263
- args: ['auiAutocompleteAutoPatchEnabled']
263
+ args: ['auiAutocompleteAutoPatch']
264
264
  }] } });
265
265
  export class CustomAutoCompleteDirective extends AutoCompleteDirective {
266
266
  constructor() {
@@ -284,4 +284,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
284
284
  type: Input,
285
285
  args: ['auiAutocompleteInnerSelector']
286
286
  }] } });
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixJQUFJLEVBQ0osS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGVBQWUsRUFFZixPQUFPLEVBQ1AsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7O0FBYzFDLE1BQU0sT0FBTyxxQkFDWCxTQUFRLFdBQWdDO0lBcUV4QyxZQUNFLE9BQWdCLEVBQ2hCLGdCQUFrQyxFQUNsQyxLQUFtQyxFQUNuQyxRQUFtQixFQUNuQixHQUFzQixFQUN0QixNQUFjLEVBR0csU0FBb0I7UUFFckMsS0FBSyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUY5QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBL0N2QywyQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFHOUIsc0JBQWlCLEdBQXFCLE1BQU0sQ0FBQztRQUtwQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdoQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUd6QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV0Qyw4REFBOEQ7UUFFOUQscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBS1AsaUJBQVksR0FB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QUFPLDJCQUE0QixTQUFRLHFCQUFxQjtJQVJ0RTs7UUFVVyxrQkFBYSxHQUFHLGdCQUFnQixDQUFDO0tBQzNDOzt3SEFIWSwyQkFBMkI7NEdBQTNCLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQVJ2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0Q0FBNEM7b0JBQ3RELFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLE1BQU0sRUFBRSxDQUFDLDRCQUE0QixDQUFDO29CQUN0QyxJQUFJLEVBQUU7d0JBQ0osWUFBWSxFQUFFLEtBQUs7cUJBQ3BCO2lCQUNGOzhCQUdVLGFBQWE7c0JBRHJCLEtBQUs7dUJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIGZyb21FdmVudCxcbiAgbWVyZ2UsXG4gIHRha2VVbnRpbCxcbiAgZGVib3VuY2VUaW1lLFxuICBzdGFydFdpdGgsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCYXNlVG9vbHRpcCwgVG9vbHRpcFRyaWdnZXIsIFRvb2x0aXBUeXBlIH0gZnJvbSAnLi4vdG9vbHRpcCc7XG5pbXBvcnQgeyBzY3JvbGxJbnRvVmlldyB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9Db21wbGV0ZUNvbnRleHQsIFN1Z2dlc3Rpb25GaWx0ZXJGbiB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLnR5cGVzJztcbmltcG9ydCB7IFN1Z2dlc3Rpb25Db21wb25lbnQgfSBmcm9tICcuL3N1Z2dlc3Rpb24vc3VnZ2VzdGlvbi5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdpbnB1dFthdWlBdXRvY29tcGxldGVdLHRleHRhcmVhW2F1aUF1dG9jb21wbGV0ZV0nLFxuICBleHBvcnRBczogJ2F1aUF1dG9jb21wbGV0ZScsXG4gIGlucHV0czogWydjbGFzczphdWlBdXRvY29tcGxldGVDbGFzcyddLFxuICBob3N0OiB7XG4gICAgYXV0b2NvbXBsZXRlOiAnb2ZmJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlRGlyZWN0aXZlXG4gIGV4dGVuZHMgQmFzZVRvb2x0aXA8QXV0b0NvbXBsZXRlQ29udGV4dD5cbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdFxue1xuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZScpXG4gIGdldCBhdXRvY29tcGxldGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dG9jb21wbGV0ZTtcbiAgfVxuXG4gIHNldCBhdXRvY29tcGxldGUodmFsKSB7XG4gICAgaWYgKHZhbCA9PT0gdGhpcy5fYXV0b2NvbXBsZXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhbC5kaXJlY3RpdmUkJC5uZXh0KHRoaXMpO1xuICAgIHRoaXMuX2F1dG9jb21wbGV0ZSA9IHZhbDtcbiAgICB0aGlzLmNvbnRlbnQgPSB2YWwudGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZUZpbHRlckZuJylcbiAgQElucHV0KClcbiAgZ2V0IGZpbHRlckZuKCkge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJGbjtcbiAgfVxuXG4gIHNldCBmaWx0ZXJGbih2YWwpIHtcbiAgICBpZiAodmFsICE9PSB0aGlzLl9maWx0ZXJGbikge1xuICAgICAgdGhpcy5fZmlsdGVyRm4gPSB2YWw7XG4gICAgICB0aGlzLmZpbHRlckZuJCQubmV4dCh2YWwpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnYXVpQXV0b2NvbXBsZXRlRGVmYXVsdEZpcnN0U3VnZ2VzdGlvbicpXG4gIGRlZmF1bHRGaXJzdFN1Z2dlc3Rpb24gPSB0cnVlO1xuXG4gIEBJbnB1dCgnYXVpQXV0b2NvbXBsZXRlVHJpZ2dlcicpXG4gIHN1Z2dlc3Rpb25UcmlnZ2VyOiAnYXV0bycgfCAnaW5wdXQnID0gJ2F1dG8nO1xuXG4gIGRlY2xhcmUgaW5uZXJTZWxlY3Rvcjogc3RyaW5nO1xuXG4gIEBPdXRwdXQoJ2F1aUF1dG9jb21wbGV0ZVNob3cnKVxuICBvdmVycmlkZSBzaG93ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoJ2F1aUF1dG9jb21wbGV0ZUhpZGUnKVxuICBvdmVycmlkZSBoaWRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoJ2F1aUF1dG9jb21wbGV0ZVNlbGVjdGVkJylcbiAgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvLyBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgdXBkYXRlIGlucHV0IHZhbHVlIGFmdGVyIHNlbGVjdGlvblxuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZUF1dG9QYXRjaEVuYWJsZWQnKVxuICBhdXRvUGF0Y2hFbmFibGVkID0gdHJ1ZTtcblxuICBwcml2YXRlIF9hdXRvY29tcGxldGU6IEF1dG9jb21wbGV0ZUNvbXBvbmVudDtcbiAgcHJpdmF0ZSBmb2N1c2VkU3VnZ2VzdGlvbjogU3VnZ2VzdGlvbkNvbXBvbmVudDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGlucHV0VmFsdWUkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmlsdGVyRm4kJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3VnZ2VzdGlvbkZpbHRlckZuPihcbiAgICB0aGlzLmZpbHRlckZuLFxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBpbnB1dFZhbHVlJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5pbnB1dFZhbHVlJCQuYXNPYnNlcnZhYmxlKCk7XG4gIGZpbHRlckZuJDogT2JzZXJ2YWJsZTxTdWdnZXN0aW9uRmlsdGVyRm4+ID0gdGhpcy5maWx0ZXJGbiQkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGdldCBpbnB1dCgpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICBjb25zdCBlbCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICByZXR1cm4gdGhpcy5pbm5lclNlbGVjdG9yID8gZWwucXVlcnlTZWxlY3Rvcih0aGlzLmlubmVyU2VsZWN0b3IpIDogZWw7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBvdmVybGF5OiBPdmVybGF5LFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIG5nWm9uZTogTmdab25lLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEhvc3QoKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICkge1xuICAgIHN1cGVyKG92ZXJsYXksIHZpZXdDb250YWluZXJSZWYsIGVsUmVmLCByZW5kZXJlciwgY2RyLCBuZ1pvbmUpO1xuICAgIHRoaXMudHlwZSA9IFRvb2x0aXBUeXBlLlBsYWluO1xuICAgIHRoaXMudHJpZ2dlciA9IFRvb2x0aXBUcmlnZ2VyLk1hbnVhbDtcbiAgICB0aGlzLnBvc2l0aW9uID0gJ2JvdHRvbSBzdGFydCc7XG4gICAgdGhpcy5oaWRlT25DbGljayA9IHRydWU7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNob3cuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlU3VnZ2VzdGlvbnNDb250ZXh0KCk7XG4gICAgfSk7XG4gICAgdGhpcy5oaWRlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Rm9jdXNlZFN1Z2dlc3Rpb24oKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4ge1xuICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRWYWx1ZSQkLm5leHQodmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMubmdDb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMubmdDb250cm9sLnN0YXR1cyksIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAgIC5zdWJzY3JpYmUoc3RhdHVzID0+IHtcbiAgICAgICAgICB0aGlzLmRpc2FibGVkID0gc3RhdHVzID09PSAnRElTQUJMRUQnO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0O1xuXG4gICAgbWVyZ2UoXG4gICAgICBmcm9tRXZlbnQodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKSxcbiAgICAgIGZyb21FdmVudChpbnB1dCwgJ2ZvY3VzJyksXG4gICAgKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDApLCB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uRm9jdXMoKSk7XG5cbiAgICBmcm9tRXZlbnQoaW5wdXQsICdibHVyJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMub25CbHVyKCkpO1xuXG4gICAgZnJvbUV2ZW50KGlucHV0LCAnaW5wdXQnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoZXYgPT4gdGhpcy5vbklucHV0KGV2KSk7XG5cbiAgICBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oaW5wdXQsICdrZXlkb3duJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKGV2ID0+IHRoaXMub25LZXlEb3duKGV2KSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uRm9jdXMoKSB7XG4gICAgaWYgKHRoaXMuc3VnZ2VzdGlvblRyaWdnZXIgPT09ICdhdXRvJykge1xuICAgICAgc3VwZXIub25Gb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSQkLm5leHQodmFsdWUpO1xuICAgIHRoaXMuY3JlYXRlVG9vbHRpcCgpO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIHRoaXMuZm9jdXNTdWdnZXN0aW9uRGlyKCdkb3duJyk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLmZvY3VzU3VnZ2VzdGlvbkRpcigndXAnKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICBpZiAodGhpcy5mb2N1c2VkU3VnZ2VzdGlvbikge1xuICAgICAgICAgIHRoaXMuc2VsZWN0Rm9jdXNlZE9wdGlvbigpO1xuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICB0aGlzLmRpc3Bvc2VUb29sdGlwKCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICB1cGRhdGVTdWdnZXN0aW9uc0NvbnRleHQoKSB7XG4gICAgdGhpcy5jb250ZXh0ID0ge1xuICAgICAgLi4udGhpcy5jb250ZXh0LFxuICAgICAgd2lkdGg6IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCArICdweCcsXG4gICAgfTtcbiAgfVxuXG4gIG9uU3VnZ2VzdGlvbkNsaWNrKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBsZXQgaXNBcnJDdHJsID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5hdXRvUGF0Y2hFbmFibGVkKSB7XG4gICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgY29uc3QgeyBjb250cm9sIH0gPSB0aGlzLm5nQ29udHJvbDtcbiAgICAgICAgaXNBcnJDdHJsID0gQXJyYXkuaXNBcnJheShjb250cm9sLnZhbHVlKTtcbiAgICAgICAgY29udHJvbC5wYXRjaFZhbHVlKGlzQXJyQ3RybCA/IFsuLi5jb250cm9sLnZhbHVlLCB2YWx1ZV0gOiB2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlucHV0LnZhbHVlID0gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5pbnB1dFZhbHVlJCQubmV4dChpc0FyckN0cmwgPyAnJyA6IHZhbHVlKTtcblxuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCh2YWx1ZSk7XG4gICAgdGhpcy5kaXNwb3NlVG9vbHRpcCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgY3JlYXRlVG9vbHRpcCgpIHtcbiAgICBzdXBlci5jcmVhdGVUb29sdGlwKCk7XG4gICAgdGhpcy5hdXRvRm9jdXNGaXJzdFN1Z2dlc3Rpb24oKTtcbiAgfVxuXG4gIGF1dG9Gb2N1c0ZpcnN0U3VnZ2VzdGlvbigpIHtcbiAgICBjb25zdCBmb2N1c2VkU3VnZ2VzdGlvbiA9IHRoaXMuYXV0b2NvbXBsZXRlLnN1Z2dlc3Rpb25zLmZpbmQoXG4gICAgICBzdWdnZXN0aW9uID0+IHN1Z2dlc3Rpb24uZm9jdXNlZCxcbiAgICApO1xuICAgIGlmIChmb2N1c2VkU3VnZ2VzdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzZWxlY3RlZFN1Z2dlc3Rpb24gPSB0aGlzLmF1dG9jb21wbGV0ZS5zdWdnZXN0aW9ucy5maW5kKFxuICAgICAgc3VnZ2VzdGlvbiA9PiBzdWdnZXN0aW9uLnNlbGVjdGVkLFxuICAgICk7XG4gICAgaWYgKHNlbGVjdGVkU3VnZ2VzdGlvbikge1xuICAgICAgdGhpcy5yZXNldEZvY3VzZWRTdWdnZXN0aW9uKHNlbGVjdGVkU3VnZ2VzdGlvbik7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNjcm9sbFRvU3VnZ2VzdGlvbihzZWxlY3RlZFN1Z2dlc3Rpb24pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRlZmF1bHRGaXJzdFN1Z2dlc3Rpb24pIHtcbiAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlU3VnZ2VzdGlvbiA9IHRoaXMuYXV0b2NvbXBsZXRlLnN1Z2dlc3Rpb25zLmZpbmQoXG4gICAgICAgIHN1Z2dlc3Rpb24gPT4gc3VnZ2VzdGlvbi52aXNpYmxlICYmICFzdWdnZXN0aW9uLmRpc2FibGVkLFxuICAgICAgKTtcbiAgICAgIHRoaXMucmVzZXRGb2N1c2VkU3VnZ2VzdGlvbihmaXJzdEZvY3VzYWJsZVN1Z2dlc3Rpb24pO1xuICAgICAgaWYgKGZpcnN0Rm9jdXNhYmxlU3VnZ2VzdGlvbikge1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdWdnZXN0aW9uKGZpcnN0Rm9jdXNhYmxlU3VnZ2VzdGlvbik7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNTdWdnZXN0aW9uRGlyKGRpcjogJ2Rvd24nIHwgJ3VwJykge1xuICAgIGlmICghdGhpcy5pc0NyZWF0ZWQpIHtcbiAgICAgIHRoaXMuY3JlYXRlVG9vbHRpcCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB2aXNpYmxlU3VnZ2VzdGlvbnMgPSB0aGlzLmF1dG9jb21wbGV0ZS5zdWdnZXN0aW9ucy5maWx0ZXIoXG4gICAgICBzdWdnZXN0aW9uID0+IHN1Z2dlc3Rpb24udmlzaWJsZSAmJiAhc3VnZ2VzdGlvbi5kaXNhYmxlZCxcbiAgICApO1xuICAgIGlmICh2aXNpYmxlU3VnZ2VzdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0ZXAgPSBkaXIgPT09ICdkb3duJyA/IDEgOiAtMTtcbiAgICBsZXQgaSA9IHZpc2libGVTdWdnZXN0aW9ucy5pbmRleE9mKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pO1xuICAgIGkgPSBpICsgc3RlcDtcbiAgICBpZiAoaSA+PSB2aXNpYmxlU3VnZ2VzdGlvbnMubGVuZ3RoKSB7XG4gICAgICBpID0gMDtcbiAgICB9IGVsc2UgaWYgKGkgPCAwKSB7XG4gICAgICBpID0gdmlzaWJsZVN1Z2dlc3Rpb25zLmxlbmd0aCAtIDE7XG4gICAgfVxuICAgIHRoaXMucmVzZXRGb2N1c2VkU3VnZ2VzdGlvbih2aXNpYmxlU3VnZ2VzdGlvbnNbaV0pO1xuICAgIHRoaXMuc2Nyb2xsVG9TdWdnZXN0aW9uKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEZvY3VzZWRTdWdnZXN0aW9uKFxuICAgIGZvY3VzZWRTdWdnZXN0aW9uOiBTdWdnZXN0aW9uQ29tcG9uZW50ID0gbnVsbCxcbiAgKSB7XG4gICAgaWYgKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pIHtcbiAgICAgIHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24uYmx1cigpO1xuICAgIH1cbiAgICB0aGlzLmZvY3VzZWRTdWdnZXN0aW9uID0gZm9jdXNlZFN1Z2dlc3Rpb247XG4gICAgaWYgKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pIHtcbiAgICAgIHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbFRvU3VnZ2VzdGlvbihzdWdnZXN0aW9uOiBTdWdnZXN0aW9uQ29tcG9uZW50KSB7XG4gICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlLnN1Z2dlc3Rpb25MaXN0UmVmKSB7XG4gICAgICBzY3JvbGxJbnRvVmlldyhcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGUuc3VnZ2VzdGlvbkxpc3RSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgc3VnZ2VzdGlvbi5lbFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0Rm9jdXNlZE9wdGlvbigpIHtcbiAgICBpZiAodGhpcy5mb2N1c2VkU3VnZ2VzdGlvbikge1xuICAgICAgdGhpcy5vblN1Z2dlc3Rpb25DbGljayh0aGlzLmZvY3VzZWRTdWdnZXN0aW9uLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maWx0ZXJGbihpbnB1dFZhbHVlOiBzdHJpbmcsIHN1Z2dlc3Rpb246IHN0cmluZykge1xuICAgIHJldHVybiBzdWdnZXN0aW9uPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGlucHV0VmFsdWU/LnRvTG93ZXJDYXNlKCkgPz8gJycpO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlBdXRvY29tcGxldGVdOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKScsXG4gIGV4cG9ydEFzOiAnYXVpQXV0b2NvbXBsZXRlJyxcbiAgaW5wdXRzOiBbJ2NsYXNzOmF1aUF1dG9jb21wbGV0ZUNsYXNzJ10sXG4gIGhvc3Q6IHtcbiAgICBhdXRvY29tcGxldGU6ICdvZmYnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21BdXRvQ29tcGxldGVEaXJlY3RpdmUgZXh0ZW5kcyBBdXRvQ29tcGxldGVEaXJlY3RpdmUge1xuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZUlubmVyU2VsZWN0b3InKVxuICBvdmVycmlkZSBpbm5lclNlbGVjdG9yID0gJ2lucHV0LHRleHRhcmVhJztcbn1cbiJdfQ==
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixJQUFJLEVBQ0osS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGVBQWUsRUFFZixPQUFPLEVBQ1AsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7O0FBYzFDLE1BQU0sT0FBTyxxQkFDWCxTQUFRLFdBQWdDO0lBcUV4QyxZQUNFLE9BQWdCLEVBQ2hCLGdCQUFrQyxFQUNsQyxLQUFtQyxFQUNuQyxRQUFtQixFQUNuQixHQUFzQixFQUN0QixNQUFjLEVBR0csU0FBb0I7UUFFckMsS0FBSyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUY5QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBL0N2QywyQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFHOUIsc0JBQWlCLEdBQXFCLE1BQU0sQ0FBQztRQUtwQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdoQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUd6QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV0Qyw4REFBOEQ7UUFFOUQsY0FBUyxHQUFHLElBQUksQ0FBQztRQUtBLGlCQUFZLEdBQUcs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QUE0QixTQUFRLHFCQUFxQjtJQVJ0RTs7UUFVVyxrQkFBYSxHQUFHLGdCQUFnQixDQUFDO0tBQzNDOzt3SEFIWSwyQkFBMkI7NEdBQTNCLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQVJ2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0Q0FBNEM7b0JBQ3RELFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLE1BQU0sRUFBRSxDQUFDLDRCQUE0QixDQUFDO29CQUN0QyxJQUFJLEVBQUU7d0JBQ0osWUFBWSxFQUFFLEtBQUs7cUJBQ3BCO2lCQUNGOzhCQUdVLGFBQWE7c0JBRHJCLEtBQUs7dUJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIGZyb21FdmVudCxcbiAgbWVyZ2UsXG4gIHRha2VVbnRpbCxcbiAgZGVib3VuY2VUaW1lLFxuICBzdGFydFdpdGgsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCYXNlVG9vbHRpcCwgVG9vbHRpcFRyaWdnZXIsIFRvb2x0aXBUeXBlIH0gZnJvbSAnLi4vdG9vbHRpcCc7XG5pbXBvcnQgeyBzY3JvbGxJbnRvVmlldyB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9Db21wbGV0ZUNvbnRleHQsIFN1Z2dlc3Rpb25GaWx0ZXJGbiB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLnR5cGVzJztcbmltcG9ydCB7IFN1Z2dlc3Rpb25Db21wb25lbnQgfSBmcm9tICcuL3N1Z2dlc3Rpb24vc3VnZ2VzdGlvbi5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdpbnB1dFthdWlBdXRvY29tcGxldGVdLHRleHRhcmVhW2F1aUF1dG9jb21wbGV0ZV0nLFxuICBleHBvcnRBczogJ2F1aUF1dG9jb21wbGV0ZScsXG4gIGlucHV0czogWydjbGFzczphdWlBdXRvY29tcGxldGVDbGFzcyddLFxuICBob3N0OiB7XG4gICAgYXV0b2NvbXBsZXRlOiAnb2ZmJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlRGlyZWN0aXZlXG4gIGV4dGVuZHMgQmFzZVRvb2x0aXA8QXV0b0NvbXBsZXRlQ29udGV4dD5cbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdFxue1xuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZScpXG4gIGdldCBhdXRvY29tcGxldGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dG9jb21wbGV0ZTtcbiAgfVxuXG4gIHNldCBhdXRvY29tcGxldGUodmFsKSB7XG4gICAgaWYgKHZhbCA9PT0gdGhpcy5fYXV0b2NvbXBsZXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhbC5kaXJlY3RpdmUkJC5uZXh0KHRoaXMpO1xuICAgIHRoaXMuX2F1dG9jb21wbGV0ZSA9IHZhbDtcbiAgICB0aGlzLmNvbnRlbnQgPSB2YWwudGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZUZpbHRlckZuJylcbiAgQElucHV0KClcbiAgZ2V0IGZpbHRlckZuKCkge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJGbjtcbiAgfVxuXG4gIHNldCBmaWx0ZXJGbih2YWwpIHtcbiAgICBpZiAodmFsICE9PSB0aGlzLl9maWx0ZXJGbikge1xuICAgICAgdGhpcy5fZmlsdGVyRm4gPSB2YWw7XG4gICAgICB0aGlzLmZpbHRlckZuJCQubmV4dCh2YWwpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnYXVpQXV0b2NvbXBsZXRlRGVmYXVsdEZpcnN0U3VnZ2VzdGlvbicpXG4gIGRlZmF1bHRGaXJzdFN1Z2dlc3Rpb24gPSB0cnVlO1xuXG4gIEBJbnB1dCgnYXVpQXV0b2NvbXBsZXRlVHJpZ2dlcicpXG4gIHN1Z2dlc3Rpb25UcmlnZ2VyOiAnYXV0bycgfCAnaW5wdXQnID0gJ2F1dG8nO1xuXG4gIGRlY2xhcmUgaW5uZXJTZWxlY3Rvcjogc3RyaW5nO1xuXG4gIEBPdXRwdXQoJ2F1aUF1dG9jb21wbGV0ZVNob3cnKVxuICBvdmVycmlkZSBzaG93ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoJ2F1aUF1dG9jb21wbGV0ZUhpZGUnKVxuICBvdmVycmlkZSBoaWRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoJ2F1aUF1dG9jb21wbGV0ZVNlbGVjdGVkJylcbiAgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvLyBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgdXBkYXRlIGlucHV0IHZhbHVlIGFmdGVyIHNlbGVjdGlvblxuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZUF1dG9QYXRjaCcpXG4gIGF1dG9QYXRjaCA9IHRydWU7XG5cbiAgcHJpdmF0ZSBfYXV0b2NvbXBsZXRlOiBBdXRvY29tcGxldGVDb21wb25lbnQ7XG4gIHByaXZhdGUgZm9jdXNlZFN1Z2dlc3Rpb246IFN1Z2dlc3Rpb25Db21wb25lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbnB1dFZhbHVlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlckZuJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN1Z2dlc3Rpb25GaWx0ZXJGbj4oXG4gICAgdGhpcy5maWx0ZXJGbixcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgaW5wdXRWYWx1ZSQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuaW5wdXRWYWx1ZSQkLmFzT2JzZXJ2YWJsZSgpO1xuICBmaWx0ZXJGbiQ6IE9ic2VydmFibGU8U3VnZ2VzdGlvbkZpbHRlckZuPiA9IHRoaXMuZmlsdGVyRm4kJC5hc09ic2VydmFibGUoKTtcblxuICBnZXQgaW5wdXQoKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgY29uc3QgZWwgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJTZWxlY3RvciA/IGVsLnF1ZXJ5U2VsZWN0b3IodGhpcy5pbm5lclNlbGVjdG9yKSA6IGVsO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIGVsUmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBIb3N0KClcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nQ29udHJvbDogTmdDb250cm9sLFxuICApIHtcbiAgICBzdXBlcihvdmVybGF5LCB2aWV3Q29udGFpbmVyUmVmLCBlbFJlZiwgcmVuZGVyZXIsIGNkciwgbmdab25lKTtcbiAgICB0aGlzLnR5cGUgPSBUb29sdGlwVHlwZS5QbGFpbjtcbiAgICB0aGlzLnRyaWdnZXIgPSBUb29sdGlwVHJpZ2dlci5NYW51YWw7XG4gICAgdGhpcy5wb3NpdGlvbiA9ICdib3R0b20gc3RhcnQnO1xuICAgIHRoaXMuaGlkZU9uQ2xpY2sgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zaG93LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVN1Z2dlc3Rpb25zQ29udGV4dCgpO1xuICAgIH0pO1xuICAgIHRoaXMuaGlkZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZXNldEZvY3VzZWRTdWdnZXN0aW9uKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pID0+IHtcbiAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUkJC5uZXh0KHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLm5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzXG4gICAgICAgIC5waXBlKHN0YXJ0V2l0aCh0aGlzLm5nQ29udHJvbC5zdGF0dXMpLCB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgICAuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHN0YXR1cyA9PT0gJ0RJU0FCTEVEJztcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dDtcblxuICAgIG1lcmdlKFxuICAgICAgZnJvbUV2ZW50KHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2NsaWNrJyksXG4gICAgICBmcm9tRXZlbnQoaW5wdXQsICdmb2N1cycpLFxuICAgIClcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgwKSwgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkZvY3VzKCkpO1xuXG4gICAgZnJvbUV2ZW50KGlucHV0LCAnYmx1cicpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQmx1cigpKTtcblxuICAgIGZyb21FdmVudChpbnB1dCwgJ2lucHV0JylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKGV2ID0+IHRoaXMub25JbnB1dChldikpO1xuXG4gICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGlucHV0LCAna2V5ZG93bicpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZShldiA9PiB0aGlzLm9uS2V5RG93bihldikpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBvdmVycmlkZSBvbkZvY3VzKCkge1xuICAgIGlmICh0aGlzLnN1Z2dlc3Rpb25UcmlnZ2VyID09PSAnYXV0bycpIHtcbiAgICAgIHN1cGVyLm9uRm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICB0aGlzLmlucHV0VmFsdWUkJC5uZXh0KHZhbHVlKTtcbiAgICB0aGlzLmNyZWF0ZVRvb2x0aXAoKTtcbiAgfVxuXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICB0aGlzLmZvY3VzU3VnZ2VzdGlvbkRpcignZG93bicpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgdGhpcy5mb2N1c1N1Z2dlc3Rpb25EaXIoJ3VwJyk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdEZvY3VzZWRPcHRpb24oKTtcbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgdGhpcy5kaXNwb3NlVG9vbHRpcCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlU3VnZ2VzdGlvbnNDb250ZXh0KCkge1xuICAgIHRoaXMuY29udGV4dCA9IHtcbiAgICAgIC4uLnRoaXMuY29udGV4dCxcbiAgICAgIHdpZHRoOiB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKyAncHgnLFxuICAgIH07XG4gIH1cblxuICBvblN1Z2dlc3Rpb25DbGljayh2YWx1ZTogc3RyaW5nKSB7XG4gICAgbGV0IGlzQXJyQ3RybCA9IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMuYXV0b1BhdGNoKSB7XG4gICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgY29uc3QgeyBjb250cm9sIH0gPSB0aGlzLm5nQ29udHJvbDtcbiAgICAgICAgaXNBcnJDdHJsID0gQXJyYXkuaXNBcnJheShjb250cm9sLnZhbHVlKTtcbiAgICAgICAgY29udHJvbC5wYXRjaFZhbHVlKGlzQXJyQ3RybCA/IFsuLi5jb250cm9sLnZhbHVlLCB2YWx1ZV0gOiB2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlucHV0LnZhbHVlID0gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5pbnB1dFZhbHVlJCQubmV4dChpc0FyckN0cmwgPyAnJyA6IHZhbHVlKTtcblxuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCh2YWx1ZSk7XG4gICAgdGhpcy5kaXNwb3NlVG9vbHRpcCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgY3JlYXRlVG9vbHRpcCgpIHtcbiAgICBzdXBlci5jcmVhdGVUb29sdGlwKCk7XG4gICAgdGhpcy5hdXRvRm9jdXNGaXJzdFN1Z2dlc3Rpb24oKTtcbiAgfVxuXG4gIGF1dG9Gb2N1c0ZpcnN0U3VnZ2VzdGlvbigpIHtcbiAgICBjb25zdCBmb2N1c2VkU3VnZ2VzdGlvbiA9IHRoaXMuYXV0b2NvbXBsZXRlLnN1Z2dlc3Rpb25zLmZpbmQoXG4gICAgICBzdWdnZXN0aW9uID0+IHN1Z2dlc3Rpb24uZm9jdXNlZCxcbiAgICApO1xuICAgIGlmIChmb2N1c2VkU3VnZ2VzdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzZWxlY3RlZFN1Z2dlc3Rpb24gPSB0aGlzLmF1dG9jb21wbGV0ZS5zdWdnZXN0aW9ucy5maW5kKFxuICAgICAgc3VnZ2VzdGlvbiA9PiBzdWdnZXN0aW9uLnNlbGVjdGVkLFxuICAgICk7XG4gICAgaWYgKHNlbGVjdGVkU3VnZ2VzdGlvbikge1xuICAgICAgdGhpcy5yZXNldEZvY3VzZWRTdWdnZXN0aW9uKHNlbGVjdGVkU3VnZ2VzdGlvbik7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNjcm9sbFRvU3VnZ2VzdGlvbihzZWxlY3RlZFN1Z2dlc3Rpb24pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRlZmF1bHRGaXJzdFN1Z2dlc3Rpb24pIHtcbiAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlU3VnZ2VzdGlvbiA9IHRoaXMuYXV0b2NvbXBsZXRlLnN1Z2dlc3Rpb25zLmZpbmQoXG4gICAgICAgIHN1Z2dlc3Rpb24gPT4gc3VnZ2VzdGlvbi52aXNpYmxlICYmICFzdWdnZXN0aW9uLmRpc2FibGVkLFxuICAgICAgKTtcbiAgICAgIHRoaXMucmVzZXRGb2N1c2VkU3VnZ2VzdGlvbihmaXJzdEZvY3VzYWJsZVN1Z2dlc3Rpb24pO1xuICAgICAgaWYgKGZpcnN0Rm9jdXNhYmxlU3VnZ2VzdGlvbikge1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdWdnZXN0aW9uKGZpcnN0Rm9jdXNhYmxlU3VnZ2VzdGlvbik7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNTdWdnZXN0aW9uRGlyKGRpcjogJ2Rvd24nIHwgJ3VwJykge1xuICAgIGlmICghdGhpcy5pc0NyZWF0ZWQpIHtcbiAgICAgIHRoaXMuY3JlYXRlVG9vbHRpcCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB2aXNpYmxlU3VnZ2VzdGlvbnMgPSB0aGlzLmF1dG9jb21wbGV0ZS5zdWdnZXN0aW9ucy5maWx0ZXIoXG4gICAgICBzdWdnZXN0aW9uID0+IHN1Z2dlc3Rpb24udmlzaWJsZSAmJiAhc3VnZ2VzdGlvbi5kaXNhYmxlZCxcbiAgICApO1xuICAgIGlmICh2aXNpYmxlU3VnZ2VzdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0ZXAgPSBkaXIgPT09ICdkb3duJyA/IDEgOiAtMTtcbiAgICBsZXQgaSA9IHZpc2libGVTdWdnZXN0aW9ucy5pbmRleE9mKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pO1xuICAgIGkgPSBpICsgc3RlcDtcbiAgICBpZiAoaSA+PSB2aXNpYmxlU3VnZ2VzdGlvbnMubGVuZ3RoKSB7XG4gICAgICBpID0gMDtcbiAgICB9IGVsc2UgaWYgKGkgPCAwKSB7XG4gICAgICBpID0gdmlzaWJsZVN1Z2dlc3Rpb25zLmxlbmd0aCAtIDE7XG4gICAgfVxuICAgIHRoaXMucmVzZXRGb2N1c2VkU3VnZ2VzdGlvbih2aXNpYmxlU3VnZ2VzdGlvbnNbaV0pO1xuICAgIHRoaXMuc2Nyb2xsVG9TdWdnZXN0aW9uKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEZvY3VzZWRTdWdnZXN0aW9uKFxuICAgIGZvY3VzZWRTdWdnZXN0aW9uOiBTdWdnZXN0aW9uQ29tcG9uZW50ID0gbnVsbCxcbiAgKSB7XG4gICAgaWYgKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pIHtcbiAgICAgIHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24uYmx1cigpO1xuICAgIH1cbiAgICB0aGlzLmZvY3VzZWRTdWdnZXN0aW9uID0gZm9jdXNlZFN1Z2dlc3Rpb247XG4gICAgaWYgKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pIHtcbiAgICAgIHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbFRvU3VnZ2VzdGlvbihzdWdnZXN0aW9uOiBTdWdnZXN0aW9uQ29tcG9uZW50KSB7XG4gICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlLnN1Z2dlc3Rpb25MaXN0UmVmKSB7XG4gICAgICBzY3JvbGxJbnRvVmlldyhcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGUuc3VnZ2VzdGlvbkxpc3RSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgc3VnZ2VzdGlvbi5lbFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0Rm9jdXNlZE9wdGlvbigpIHtcbiAgICBpZiAodGhpcy5mb2N1c2VkU3VnZ2VzdGlvbikge1xuICAgICAgdGhpcy5vblN1Z2dlc3Rpb25DbGljayh0aGlzLmZvY3VzZWRTdWdnZXN0aW9uLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maWx0ZXJGbihpbnB1dFZhbHVlOiBzdHJpbmcsIHN1Z2dlc3Rpb246IHN0cmluZykge1xuICAgIHJldHVybiBzdWdnZXN0aW9uPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGlucHV0VmFsdWU/LnRvTG93ZXJDYXNlKCkgPz8gJycpO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlBdXRvY29tcGxldGVdOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKScsXG4gIGV4cG9ydEFzOiAnYXVpQXV0b2NvbXBsZXRlJyxcbiAgaW5wdXRzOiBbJ2NsYXNzOmF1aUF1dG9jb21wbGV0ZUNsYXNzJ10sXG4gIGhvc3Q6IHtcbiAgICBhdXRvY29tcGxldGU6ICdvZmYnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21BdXRvQ29tcGxldGVEaXJlY3RpdmUgZXh0ZW5kcyBBdXRvQ29tcGxldGVEaXJlY3RpdmUge1xuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZUlubmVyU2VsZWN0b3InKVxuICBvdmVycmlkZSBpbm5lclNlbGVjdG9yID0gJ2lucHV0LHRleHRhcmVhJztcbn1cbiJdfQ==
@@ -1832,7 +1832,7 @@ class AutoCompleteDirective extends BaseTooltip {
1832
1832
  this.hide = new EventEmitter();
1833
1833
  this.selected = new EventEmitter();
1834
1834
  // Whether to automatically update input value after selection
1835
- this.autoPatchEnabled = true;
1835
+ this.autoPatch = true;
1836
1836
  this.inputValue$$ = new BehaviorSubject('');
1837
1837
  this.filterFn$$ = new BehaviorSubject(this.filterFn);
1838
1838
  this.unsubscribe$ = new Subject();
@@ -1949,7 +1949,7 @@ class AutoCompleteDirective extends BaseTooltip {
1949
1949
  }
1950
1950
  onSuggestionClick(value) {
1951
1951
  let isArrCtrl = false;
1952
- if (this.autoPatchEnabled) {
1952
+ if (this.autoPatch) {
1953
1953
  if (this.ngControl) {
1954
1954
  const { control } = this.ngControl;
1955
1955
  isArrCtrl = Array.isArray(control.value);
@@ -2035,7 +2035,7 @@ class AutoCompleteDirective extends BaseTooltip {
2035
2035
  }
2036
2036
  }
2037
2037
  AutoCompleteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AutoCompleteDirective, deps: [{ token: i1$2.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i4.NgControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
2038
- AutoCompleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AutoCompleteDirective, selector: "input[auiAutocomplete],textarea[auiAutocomplete]", inputs: { class: ["auiAutocompleteClass", "class"], autocomplete: ["auiAutocomplete", "autocomplete"], filterFn: "filterFn", defaultFirstSuggestion: ["auiAutocompleteDefaultFirstSuggestion", "defaultFirstSuggestion"], suggestionTrigger: ["auiAutocompleteTrigger", "suggestionTrigger"], autoPatchEnabled: ["auiAutocompleteAutoPatchEnabled", "autoPatchEnabled"] }, outputs: { show: "auiAutocompleteShow", hide: "auiAutocompleteHide", selected: "auiAutocompleteSelected" }, host: { attributes: { "autocomplete": "off" } }, exportAs: ["auiAutocomplete"], usesInheritance: true, ngImport: i0 });
2038
+ AutoCompleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AutoCompleteDirective, selector: "input[auiAutocomplete],textarea[auiAutocomplete]", inputs: { class: ["auiAutocompleteClass", "class"], autocomplete: ["auiAutocomplete", "autocomplete"], filterFn: "filterFn", defaultFirstSuggestion: ["auiAutocompleteDefaultFirstSuggestion", "defaultFirstSuggestion"], suggestionTrigger: ["auiAutocompleteTrigger", "suggestionTrigger"], autoPatch: ["auiAutocompleteAutoPatch", "autoPatch"] }, outputs: { show: "auiAutocompleteShow", hide: "auiAutocompleteHide", selected: "auiAutocompleteSelected" }, host: { attributes: { "autocomplete": "off" } }, exportAs: ["auiAutocomplete"], usesInheritance: true, ngImport: i0 });
2039
2039
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AutoCompleteDirective, decorators: [{
2040
2040
  type: Directive,
2041
2041
  args: [{
@@ -2075,9 +2075,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
2075
2075
  }], selected: [{
2076
2076
  type: Output,
2077
2077
  args: ['auiAutocompleteSelected']
2078
- }], autoPatchEnabled: [{
2078
+ }], autoPatch: [{
2079
2079
  type: Input,
2080
- args: ['auiAutocompleteAutoPatchEnabled']
2080
+ args: ['auiAutocompleteAutoPatch']
2081
2081
  }] } });
2082
2082
  class CustomAutoCompleteDirective extends AutoCompleteDirective {
2083
2083
  constructor() {