@alauda/ui 6.4.1-beta.5 → 6.4.1-beta.6

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.
@@ -68,7 +68,7 @@ export class AutoCompleteDirective extends BaseTooltip {
68
68
  }
69
69
  ngAfterViewInit() {
70
70
  const input = this.input;
71
- merge(fromEvent(input, 'click'), fromEvent(input, 'focus'))
71
+ merge(fromEvent(this.elRef.nativeElement, 'click'), fromEvent(input, 'focus'))
72
72
  .pipe(takeUntil(this.unsubscribe$))
73
73
  .subscribe(() => this.onFocus());
74
74
  fromEvent(input, 'blur')
@@ -142,6 +142,9 @@ export class AutoCompleteDirective extends BaseTooltip {
142
142
  this.disposeTooltip();
143
143
  }
144
144
  createTooltip() {
145
+ if (this.isCreated) {
146
+ return;
147
+ }
145
148
  super.createTooltip();
146
149
  this.autoFocusFirstSuggestion();
147
150
  }
@@ -269,4 +272,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
269
272
  type: Input,
270
273
  args: ['auiAutocompleteInnerSelector']
271
274
  }] } });
272
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixJQUFJLEVBQ0osS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7QUFjMUMsTUFBTSxPQUFPLHFCQUNYLFNBQVEsV0FBZ0M7SUFpRXhDLFlBQ0UsT0FBZ0IsRUFDaEIsZ0JBQWtDLEVBQ2xDLEtBQW1DLEVBQ25DLFFBQW1CLEVBQ25CLEdBQXNCLEVBQ3RCLE1BQWMsRUFHRyxTQUFvQjtRQUVyQyxLQUFLLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRjlDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUEzQ3ZDLDJCQUFzQixHQUFHLElBQUksQ0FBQztRQUc5QixzQkFBaUIsR0FBcUIsTUFBTSxDQUFDO1FBS3BDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR2hDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR3pDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBS3JCLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFD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NEJBQTRCLENBQUM7b0JBQ3RDLElBQUksRUFBRTt3QkFDSixZQUFZLEVBQUUsS0FBSztxQkFDcEI7aUJBQ0Y7OzBCQTBFSSxRQUFROzswQkFDUixJQUFJOzRDQXJFSCxZQUFZO3NCQURmLEtBQUs7dUJBQUMsaUJBQWlCO2dCQWdCcEIsUUFBUTtzQkFGWCxLQUFLO3VCQUFDLHlCQUF5Qjs7c0JBQy9CLEtBQUs7Z0JBYU4sc0JBQXNCO3NCQURyQixLQUFLO3VCQUFDLHVDQUF1QztnQkFJOUMsaUJBQWlCO3NCQURoQixLQUFLO3VCQUFDLHdCQUF3QjtnQkFNdEIsSUFBSTtzQkFEWixNQUFNO3VCQUFDLHFCQUFxQjtnQkFJcEIsSUFBSTtzQkFEWixNQUFNO3VCQUFDLHFCQUFxQjtnQkFJN0IsUUFBUTtzQkFEUCxNQUFNO3VCQUFDLHlCQUF5Qjs7QUE0T25DLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxxQkFBcUI7SUFSdEU7O1FBVVcsa0JBQWEsR0FBRyxnQkFBZ0IsQ0FBQztLQUMzQzs7d0hBSFksMkJBQTJCOzRHQUEzQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFSdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNENBQTRDO29CQUN0RCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixNQUFNLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDdEMsSUFBSSxFQUFFO3dCQUNKLFlBQVksRUFBRSxLQUFLO3FCQUNwQjtpQkFDRjs4QkFHVSxhQUFhO3NCQURyQixLQUFLO3VCQUFDLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBmcm9tRXZlbnQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEJhc2VUb29sdGlwLCBUb29sdGlwVHJpZ2dlciwgVG9vbHRpcFR5cGUgfSBmcm9tICcuLi90b29sdGlwJztcbmltcG9ydCB7IHNjcm9sbEludG9WaWV3IH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0b0NvbXBsZXRlQ29udGV4dCwgU3VnZ2VzdGlvbkZpbHRlckZuIH0gZnJvbSAnLi9hdXRvY29tcGxldGUudHlwZXMnO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc3VnZ2VzdGlvbi9zdWdnZXN0aW9uLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0W2F1aUF1dG9jb21wbGV0ZV0sdGV4dGFyZWFbYXVpQXV0b2NvbXBsZXRlXScsXG4gIGV4cG9ydEFzOiAnYXVpQXV0b2NvbXBsZXRlJyxcbiAgaW5wdXRzOiBbJ2NsYXNzOmF1aUF1dG9jb21wbGV0ZUNsYXNzJ10sXG4gIGhvc3Q6IHtcbiAgICBhdXRvY29tcGxldGU6ICdvZmYnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvQ29tcGxldGVEaXJlY3RpdmVcbiAgZXh0ZW5kcyBCYXNlVG9vbHRpcDxBdXRvQ29tcGxldGVDb250ZXh0PlxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0XG57XG4gIEBJbnB1dCgnYXVpQXV0b2NvbXBsZXRlJylcbiAgZ2V0IGF1dG9jb21wbGV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0b2NvbXBsZXRlO1xuICB9XG5cbiAgc2V0IGF1dG9jb21wbGV0ZSh2YWwpIHtcbiAgICBpZiAodmFsID09PSB0aGlzLl9hdXRvY29tcGxldGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFsLmRpcmVjdGl2ZSQkLm5leHQodGhpcyk7XG4gICAgdGhpcy5fYXV0b2NvbXBsZXRlID0gdmFsO1xuICAgIHRoaXMuY29udGVudCA9IHZhbC50ZW1wbGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgnYXVpQXV0b2NvbXBsZXRlRmlsdGVyRm4nKVxuICBASW5wdXQoKVxuICBnZXQgZmlsdGVyRm4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlckZuO1xuICB9XG5cbiAgc2V0IGZpbHRlckZuKHZhbCkge1xuICAgIGlmICh2YWwgIT09IHRoaXMuX2ZpbHRlckZuKSB7XG4gICAgICB0aGlzLl9maWx0ZXJGbiA9IHZhbDtcbiAgICAgIHRoaXMuZmlsdGVyRm4kJC5uZXh0KHZhbCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCdhdWlBdXRvY29tcGxldGVEZWZhdWx0Rmlyc3RTdWdnZXN0aW9uJylcbiAgZGVmYXVsdEZpcnN0U3VnZ2VzdGlvbiA9IHRydWU7XG5cbiAgQElucHV0KCdhdWlBdXRvY29tcGxldGVUcmlnZ2VyJylcbiAgc3VnZ2VzdGlvblRyaWdnZXI6ICdhdXRvJyB8ICdpbnB1dCcgPSAnYXV0byc7XG5cbiAgZGVjbGFyZSBpbm5lclNlbGVjdG9yOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgnYXVpQXV0b2NvbXBsZXRlU2hvdycpXG4gIG92ZXJyaWRlIHNob3cgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgnYXVpQXV0b2NvbXBsZXRlSGlkZScpXG4gIG92ZXJyaWRlIGhpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgnYXVpQXV0b2NvbXBsZXRlU2VsZWN0ZWQnKVxuICBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIHByaXZhdGUgX2F1dG9jb21wbGV0ZTogQXV0b2NvbXBsZXRlQ29tcG9uZW50O1xuICBwcml2YXRlIGZvY3VzZWRTdWdnZXN0aW9uOiBTdWdnZXN0aW9uQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRWYWx1ZSQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJGbiQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdWdnZXN0aW9uRmlsdGVyRm4+KFxuICAgIHRoaXMuZmlsdGVyRm4sXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGlucHV0VmFsdWUkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLmlucHV0VmFsdWUkJC5hc09ic2VydmFibGUoKTtcbiAgZmlsdGVyRm4kOiBPYnNlcnZhYmxlPFN1Z2dlc3Rpb25GaWx0ZXJGbj4gPSB0aGlzLmZpbHRlckZuJCQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgZ2V0IGlucHV0KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIGNvbnN0IGVsID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIHJldHVybiB0aGlzLmlubmVyU2VsZWN0b3IgPyBlbC5xdWVyeVNlbGVjdG9yKHRoaXMuaW5uZXJTZWxlY3RvcikgOiBlbDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBlbFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgbmdab25lOiBOZ1pvbmUsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASG9zdCgpXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgKSB7XG4gICAgc3VwZXIob3ZlcmxheSwgdmlld0NvbnRhaW5lclJlZiwgZWxSZWYsIHJlbmRlcmVyLCBjZHIsIG5nWm9uZSk7XG4gICAgdGhpcy50eXBlID0gVG9vbHRpcFR5cGUuUGxhaW47XG4gICAgdGhpcy50cmlnZ2VyID0gVG9vbHRpcFRyaWdnZXIuTWFudWFsO1xuICAgIHRoaXMucG9zaXRpb24gPSAnYm90dG9tIHN0YXJ0JztcbiAgICB0aGlzLmhpZGVPbkNsaWNrID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2hvdy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVTdWdnZXN0aW9uc0NvbnRleHQoKTtcbiAgICB9KTtcbiAgICB0aGlzLmhpZGUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVzZXRGb2N1c2VkU3VnZ2VzdGlvbigpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSA9PiB7XG4gICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlJCQubmV4dCh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0O1xuXG4gICAgbWVyZ2UoZnJvbUV2ZW50KGlucHV0LCAnY2xpY2snKSwgZnJvbUV2ZW50KGlucHV0LCAnZm9jdXMnKSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMub25Gb2N1cygpKTtcblxuICAgIGZyb21FdmVudChpbnB1dCwgJ2JsdXInKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkJsdXIoKSk7XG5cbiAgICBmcm9tRXZlbnQoaW5wdXQsICdpbnB1dCcpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZShldiA9PiB0aGlzLm9uSW5wdXQoZXYpKTtcblxuICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50PihpbnB1dCwgJ2tleWRvd24nKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoZXYgPT4gdGhpcy5vbktleURvd24oZXYpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25Gb2N1cygpIHtcbiAgICBpZiAodGhpcy5zdWdnZXN0aW9uVHJpZ2dlciA9PT0gJ2F1dG8nKSB7XG4gICAgICBzdXBlci5vbkZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgdGhpcy5pbnB1dFZhbHVlJCQubmV4dCh2YWx1ZSk7XG4gICAgdGhpcy5jcmVhdGVUb29sdGlwKCk7XG4gIH1cblxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgdGhpcy5mb2N1c1N1Z2dlc3Rpb25EaXIoJ2Rvd24nKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIHRoaXMuZm9jdXNTdWdnZXN0aW9uRGlyKCd1cCcpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWRTdWdnZXN0aW9uKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RGb2N1c2VkT3B0aW9uKCk7XG4gICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgIHRoaXMuZGlzcG9zZVRvb2x0aXAoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVN1Z2dlc3Rpb25zQ29udGV4dCgpIHtcbiAgICB0aGlzLmNvbnRleHQgPSB7XG4gICAgICAuLi50aGlzLmNvbnRleHQsXG4gICAgICB3aWR0aDogdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgJ3B4JyxcbiAgICB9O1xuICB9XG5cbiAgb25TdWdnZXN0aW9uQ2xpY2sodmFsdWU6IHN0cmluZykge1xuICAgIGxldCBpc0FyckN0cmwgPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgY29uc3QgeyBjb250cm9sIH0gPSB0aGlzLm5nQ29udHJvbDtcbiAgICAgIGlzQXJyQ3RybCA9IEFycmF5LmlzQXJyYXkoY29udHJvbC52YWx1ZSk7XG4gICAgICBjb250cm9sLnBhdGNoVmFsdWUoaXNBcnJDdHJsID8gWy4uLmNvbnRyb2wudmFsdWUsIHZhbHVlXSA6IHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnB1dC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHRoaXMuaW5wdXRWYWx1ZSQkLm5leHQoaXNBcnJDdHJsID8gJycgOiB2YWx1ZSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkLmVtaXQodmFsdWUpO1xuICAgIHRoaXMuZGlzcG9zZVRvb2x0aXAoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNyZWF0ZVRvb2x0aXAoKSB7XG4gICAgc3VwZXIuY3JlYXRlVG9vbHRpcCgpO1xuICAgIHRoaXMuYXV0b0ZvY3VzRmlyc3RTdWdnZXN0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGF1dG9Gb2N1c0ZpcnN0U3VnZ2VzdGlvbigpIHtcbiAgICBjb25zdCBzZWxlY3RlZFN1Z2dlc3Rpb24gPSB0aGlzLmF1dG9jb21wbGV0ZS5zdWdnZXN0aW9ucy5maW5kKFxuICAgICAgc3VnZ2VzdGlvbiA9PiBzdWdnZXN0aW9uLnNlbGVjdGVkLFxuICAgICk7XG4gICAgaWYgKHNlbGVjdGVkU3VnZ2VzdGlvbikge1xuICAgICAgdGhpcy5yZXNldEZvY3VzZWRTdWdnZXN0aW9uKHNlbGVjdGVkU3VnZ2VzdGlvbik7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNjcm9sbFRvU3VnZ2VzdGlvbihzZWxlY3RlZFN1Z2dlc3Rpb24pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRlZmF1bHRGaXJzdFN1Z2dlc3Rpb24pIHtcbiAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlU3VnZ2VzdGlvbiA9IHRoaXMuYXV0b2NvbXBsZXRlLnN1Z2dlc3Rpb25zLmZpbmQoXG4gICAgICAgIHN1Z2dlc3Rpb24gPT4gc3VnZ2VzdGlvbi52aXNpYmxlICYmICFzdWdnZXN0aW9uLmRpc2FibGVkLFxuICAgICAgKTtcbiAgICAgIHRoaXMucmVzZXRGb2N1c2VkU3VnZ2VzdGlvbihmaXJzdEZvY3VzYWJsZVN1Z2dlc3Rpb24pO1xuICAgICAgaWYgKGZpcnN0Rm9jdXNhYmxlU3VnZ2VzdGlvbikge1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdWdnZXN0aW9uKGZpcnN0Rm9jdXNhYmxlU3VnZ2VzdGlvbik7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNTdWdnZXN0aW9uRGlyKGRpcjogJ2Rvd24nIHwgJ3VwJykge1xuICAgIGlmICghdGhpcy5pc0NyZWF0ZWQpIHtcbiAgICAgIHRoaXMuY3JlYXRlVG9vbHRpcCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB2aXNpYmxlU3VnZ2VzdGlvbnMgPSB0aGlzLmF1dG9jb21wbGV0ZS5zdWdnZXN0aW9ucy5maWx0ZXIoXG4gICAgICBzdWdnZXN0aW9uID0+IHN1Z2dlc3Rpb24udmlzaWJsZSAmJiAhc3VnZ2VzdGlvbi5kaXNhYmxlZCxcbiAgICApO1xuICAgIGlmICh2aXNpYmxlU3VnZ2VzdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0ZXAgPSBkaXIgPT09ICdkb3duJyA/IDEgOiAtMTtcbiAgICBsZXQgaSA9IHZpc2libGVTdWdnZXN0aW9ucy5pbmRleE9mKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pO1xuICAgIGkgPSBpICsgc3RlcDtcbiAgICBpZiAoaSA+PSB2aXNpYmxlU3VnZ2VzdGlvbnMubGVuZ3RoKSB7XG4gICAgICBpID0gMDtcbiAgICB9IGVsc2UgaWYgKGkgPCAwKSB7XG4gICAgICBpID0gdmlzaWJsZVN1Z2dlc3Rpb25zLmxlbmd0aCAtIDE7XG4gICAgfVxuICAgIHRoaXMucmVzZXRGb2N1c2VkU3VnZ2VzdGlvbih2aXNpYmxlU3VnZ2VzdGlvbnNbaV0pO1xuICAgIHRoaXMuc2Nyb2xsVG9TdWdnZXN0aW9uKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEZvY3VzZWRTdWdnZXN0aW9uKFxuICAgIGZvY3VzZWRTdWdnZXN0aW9uOiBTdWdnZXN0aW9uQ29tcG9uZW50ID0gbnVsbCxcbiAgKSB7XG4gICAgaWYgKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pIHtcbiAgICAgIHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24uYmx1cigpO1xuICAgIH1cbiAgICB0aGlzLmZvY3VzZWRTdWdnZXN0aW9uID0gZm9jdXNlZFN1Z2dlc3Rpb247XG4gICAgaWYgKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pIHtcbiAgICAgIHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbFRvU3VnZ2VzdGlvbihzdWdnZXN0aW9uOiBTdWdnZXN0aW9uQ29tcG9uZW50KSB7XG4gICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlLnN1Z2dlc3Rpb25MaXN0UmVmKSB7XG4gICAgICBzY3JvbGxJbnRvVmlldyhcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGUuc3VnZ2VzdGlvbkxpc3RSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgc3VnZ2VzdGlvbi5lbFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0Rm9jdXNlZE9wdGlvbigpIHtcbiAgICBpZiAodGhpcy5mb2N1c2VkU3VnZ2VzdGlvbikge1xuICAgICAgdGhpcy5vblN1Z2dlc3Rpb25DbGljayh0aGlzLmZvY3VzZWRTdWdnZXN0aW9uLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maWx0ZXJGbihpbnB1dFZhbHVlOiBzdHJpbmcsIHN1Z2dlc3Rpb246IHN0cmluZykge1xuICAgIHJldHVybiBzdWdnZXN0aW9uPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGlucHV0VmFsdWU/LnRvTG93ZXJDYXNlKCkgPz8gJycpO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlBdXRvY29tcGxldGVdOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKScsXG4gIGV4cG9ydEFzOiAnYXVpQXV0b2NvbXBsZXRlJyxcbiAgaW5wdXRzOiBbJ2NsYXNzOmF1aUF1dG9jb21wbGV0ZUNsYXNzJ10sXG4gIGhvc3Q6IHtcbiAgICBhdXRvY29tcGxldGU6ICdvZmYnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21BdXRvQ29tcGxldGVEaXJlY3RpdmUgZXh0ZW5kcyBBdXRvQ29tcGxldGVEaXJlY3RpdmUge1xuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZUlubmVyU2VsZWN0b3InKVxuICBvdmVycmlkZSBpbm5lclNlbGVjdG9yID0gJ2lucHV0LHRleHRhcmVhJztcbn1cbiJdfQ==
275
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixJQUFJLEVBQ0osS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7QUFjMUMsTUFBTSxPQUFPLHFCQUNYLFNBQVEsV0FBZ0M7SUFpRXhDLFlBQ0UsT0FBZ0IsRUFDaEIsZ0JBQWtDLEVBQ2xDLEtBQW1DLEVBQ25DLFFBQW1CLEVBQ25CLEdBQXNCLEVBQ3RCLE1BQWMsRUFHRyxTQUFvQjtRQUVyQyxLQUFLLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRjlDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUEzQ3ZDLDJCQUFzQixHQUFHLElBQUksQ0FBQztRQUc5QixzQkFBaUIsR0FBcUIsTUFBTSxDQUFDO1FBS3BDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR2hDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR3pDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBS3JCLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFD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QUNULFFBQVEsRUFBRSxrREFBa0Q7b0JBQzVELFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLE1BQU0sRUFBRSxDQUFDLDRCQUE0QixDQUFDO29CQUN0QyxJQUFJLEVBQUU7d0JBQ0osWUFBWSxFQUFFLEtBQUs7cUJBQ3BCO2lCQUNGOzswQkEwRUksUUFBUTs7MEJBQ1IsSUFBSTs0Q0FyRUgsWUFBWTtzQkFEZixLQUFLO3VCQUFDLGlCQUFpQjtnQkFnQnBCLFFBQVE7c0JBRlgsS0FBSzt1QkFBQyx5QkFBeUI7O3NCQUMvQixLQUFLO2dCQWFOLHNCQUFzQjtzQkFEckIsS0FBSzt1QkFBQyx1Q0FBdUM7Z0JBSTlDLGlCQUFpQjtzQkFEaEIsS0FBSzt1QkFBQyx3QkFBd0I7Z0JBTXRCLElBQUk7c0JBRFosTUFBTTt1QkFBQyxxQkFBcUI7Z0JBSXBCLElBQUk7c0JBRFosTUFBTTt1QkFBQyxxQkFBcUI7Z0JBSTdCLFFBQVE7c0JBRFAsTUFBTTt1QkFBQyx5QkFBeUI7O0FBa1BuQyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEscUJBQXFCO0lBUnRFOztRQVVXLGtCQUFhLEdBQUcsZ0JBQWdCLENBQUM7S0FDM0M7O3dIQUhZLDJCQUEyQjs0R0FBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBUnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRDQUE0QztvQkFDdEQsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsTUFBTSxFQUFFLENBQUMsNEJBQTRCLENBQUM7b0JBQ3RDLElBQUksRUFBRTt3QkFDSixZQUFZLEVBQUUsS0FBSztxQkFDcEI7aUJBQ0Y7OEJBR1UsYUFBYTtzQkFEckIsS0FBSzt1QkFBQyw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZnJvbUV2ZW50LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCYXNlVG9vbHRpcCwgVG9vbHRpcFRyaWdnZXIsIFRvb2x0aXBUeXBlIH0gZnJvbSAnLi4vdG9vbHRpcCc7XG5pbXBvcnQgeyBzY3JvbGxJbnRvVmlldyB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9Db21wbGV0ZUNvbnRleHQsIFN1Z2dlc3Rpb25GaWx0ZXJGbiB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLnR5cGVzJztcbmltcG9ydCB7IFN1Z2dlc3Rpb25Db21wb25lbnQgfSBmcm9tICcuL3N1Z2dlc3Rpb24vc3VnZ2VzdGlvbi5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdpbnB1dFthdWlBdXRvY29tcGxldGVdLHRleHRhcmVhW2F1aUF1dG9jb21wbGV0ZV0nLFxuICBleHBvcnRBczogJ2F1aUF1dG9jb21wbGV0ZScsXG4gIGlucHV0czogWydjbGFzczphdWlBdXRvY29tcGxldGVDbGFzcyddLFxuICBob3N0OiB7XG4gICAgYXV0b2NvbXBsZXRlOiAnb2ZmJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlRGlyZWN0aXZlXG4gIGV4dGVuZHMgQmFzZVRvb2x0aXA8QXV0b0NvbXBsZXRlQ29udGV4dD5cbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdFxue1xuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZScpXG4gIGdldCBhdXRvY29tcGxldGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dG9jb21wbGV0ZTtcbiAgfVxuXG4gIHNldCBhdXRvY29tcGxldGUodmFsKSB7XG4gICAgaWYgKHZhbCA9PT0gdGhpcy5fYXV0b2NvbXBsZXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhbC5kaXJlY3RpdmUkJC5uZXh0KHRoaXMpO1xuICAgIHRoaXMuX2F1dG9jb21wbGV0ZSA9IHZhbDtcbiAgICB0aGlzLmNvbnRlbnQgPSB2YWwudGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoJ2F1aUF1dG9jb21wbGV0ZUZpbHRlckZuJylcbiAgQElucHV0KClcbiAgZ2V0IGZpbHRlckZuKCkge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJGbjtcbiAgfVxuXG4gIHNldCBmaWx0ZXJGbih2YWwpIHtcbiAgICBpZiAodmFsICE9PSB0aGlzLl9maWx0ZXJGbikge1xuICAgICAgdGhpcy5fZmlsdGVyRm4gPSB2YWw7XG4gICAgICB0aGlzLmZpbHRlckZuJCQubmV4dCh2YWwpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnYXVpQXV0b2NvbXBsZXRlRGVmYXVsdEZpcnN0U3VnZ2VzdGlvbicpXG4gIGRlZmF1bHRGaXJzdFN1Z2dlc3Rpb24gPSB0cnVlO1xuXG4gIEBJbnB1dCgnYXVpQXV0b2NvbXBsZXRlVHJpZ2dlcicpXG4gIHN1Z2dlc3Rpb25UcmlnZ2VyOiAnYXV0bycgfCAnaW5wdXQnID0gJ2F1dG8nO1xuXG4gIGRlY2xhcmUgaW5uZXJTZWxlY3Rvcjogc3RyaW5nO1xuXG4gIEBPdXRwdXQoJ2F1aUF1dG9jb21wbGV0ZVNob3cnKVxuICBvdmVycmlkZSBzaG93ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoJ2F1aUF1dG9jb21wbGV0ZUhpZGUnKVxuICBvdmVycmlkZSBoaWRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoJ2F1aUF1dG9jb21wbGV0ZVNlbGVjdGVkJylcbiAgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwcml2YXRlIF9hdXRvY29tcGxldGU6IEF1dG9jb21wbGV0ZUNvbXBvbmVudDtcbiAgcHJpdmF0ZSBmb2N1c2VkU3VnZ2VzdGlvbjogU3VnZ2VzdGlvbkNvbXBvbmVudDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGlucHV0VmFsdWUkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmlsdGVyRm4kJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3VnZ2VzdGlvbkZpbHRlckZuPihcbiAgICB0aGlzLmZpbHRlckZuLFxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBpbnB1dFZhbHVlJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5pbnB1dFZhbHVlJCQuYXNPYnNlcnZhYmxlKCk7XG4gIGZpbHRlckZuJDogT2JzZXJ2YWJsZTxTdWdnZXN0aW9uRmlsdGVyRm4+ID0gdGhpcy5maWx0ZXJGbiQkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGdldCBpbnB1dCgpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICBjb25zdCBlbCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICByZXR1cm4gdGhpcy5pbm5lclNlbGVjdG9yID8gZWwucXVlcnlTZWxlY3Rvcih0aGlzLmlubmVyU2VsZWN0b3IpIDogZWw7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBvdmVybGF5OiBPdmVybGF5LFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIG5nWm9uZTogTmdab25lLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEhvc3QoKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICkge1xuICAgIHN1cGVyKG92ZXJsYXksIHZpZXdDb250YWluZXJSZWYsIGVsUmVmLCByZW5kZXJlciwgY2RyLCBuZ1pvbmUpO1xuICAgIHRoaXMudHlwZSA9IFRvb2x0aXBUeXBlLlBsYWluO1xuICAgIHRoaXMudHJpZ2dlciA9IFRvb2x0aXBUcmlnZ2VyLk1hbnVhbDtcbiAgICB0aGlzLnBvc2l0aW9uID0gJ2JvdHRvbSBzdGFydCc7XG4gICAgdGhpcy5oaWRlT25DbGljayA9IHRydWU7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNob3cuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlU3VnZ2VzdGlvbnNDb250ZXh0KCk7XG4gICAgfSk7XG4gICAgdGhpcy5oaWRlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Rm9jdXNlZFN1Z2dlc3Rpb24oKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4ge1xuICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRWYWx1ZSQkLm5leHQodmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dDtcblxuICAgIG1lcmdlKFxuICAgICAgZnJvbUV2ZW50KHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2NsaWNrJyksXG4gICAgICBmcm9tRXZlbnQoaW5wdXQsICdmb2N1cycpLFxuICAgIClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMub25Gb2N1cygpKTtcblxuICAgIGZyb21FdmVudChpbnB1dCwgJ2JsdXInKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkJsdXIoKSk7XG5cbiAgICBmcm9tRXZlbnQoaW5wdXQsICdpbnB1dCcpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZShldiA9PiB0aGlzLm9uSW5wdXQoZXYpKTtcblxuICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50PihpbnB1dCwgJ2tleWRvd24nKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoZXYgPT4gdGhpcy5vbktleURvd24oZXYpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25Gb2N1cygpIHtcbiAgICBpZiAodGhpcy5zdWdnZXN0aW9uVHJpZ2dlciA9PT0gJ2F1dG8nKSB7XG4gICAgICBzdXBlci5vbkZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgdGhpcy5pbnB1dFZhbHVlJCQubmV4dCh2YWx1ZSk7XG4gICAgdGhpcy5jcmVhdGVUb29sdGlwKCk7XG4gIH1cblxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgdGhpcy5mb2N1c1N1Z2dlc3Rpb25EaXIoJ2Rvd24nKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIHRoaXMuZm9jdXNTdWdnZXN0aW9uRGlyKCd1cCcpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWRTdWdnZXN0aW9uKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RGb2N1c2VkT3B0aW9uKCk7XG4gICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgIHRoaXMuZGlzcG9zZVRvb2x0aXAoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVN1Z2dlc3Rpb25zQ29udGV4dCgpIHtcbiAgICB0aGlzLmNvbnRleHQgPSB7XG4gICAgICAuLi50aGlzLmNvbnRleHQsXG4gICAgICB3aWR0aDogdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgJ3B4JyxcbiAgICB9O1xuICB9XG5cbiAgb25TdWdnZXN0aW9uQ2xpY2sodmFsdWU6IHN0cmluZykge1xuICAgIGxldCBpc0FyckN0cmwgPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgY29uc3QgeyBjb250cm9sIH0gPSB0aGlzLm5nQ29udHJvbDtcbiAgICAgIGlzQXJyQ3RybCA9IEFycmF5LmlzQXJyYXkoY29udHJvbC52YWx1ZSk7XG4gICAgICBjb250cm9sLnBhdGNoVmFsdWUoaXNBcnJDdHJsID8gWy4uLmNvbnRyb2wudmFsdWUsIHZhbHVlXSA6IHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnB1dC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHRoaXMuaW5wdXRWYWx1ZSQkLm5leHQoaXNBcnJDdHJsID8gJycgOiB2YWx1ZSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkLmVtaXQodmFsdWUpO1xuICAgIHRoaXMuZGlzcG9zZVRvb2x0aXAoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNyZWF0ZVRvb2x0aXAoKSB7XG4gICAgaWYgKHRoaXMuaXNDcmVhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHN1cGVyLmNyZWF0ZVRvb2x0aXAoKTtcbiAgICB0aGlzLmF1dG9Gb2N1c0ZpcnN0U3VnZ2VzdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdXRvRm9jdXNGaXJzdFN1Z2dlc3Rpb24oKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRTdWdnZXN0aW9uID0gdGhpcy5hdXRvY29tcGxldGUuc3VnZ2VzdGlvbnMuZmluZChcbiAgICAgIHN1Z2dlc3Rpb24gPT4gc3VnZ2VzdGlvbi5zZWxlY3RlZCxcbiAgICApO1xuICAgIGlmIChzZWxlY3RlZFN1Z2dlc3Rpb24pIHtcbiAgICAgIHRoaXMucmVzZXRGb2N1c2VkU3VnZ2VzdGlvbihzZWxlY3RlZFN1Z2dlc3Rpb24pO1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy5zY3JvbGxUb1N1Z2dlc3Rpb24oc2VsZWN0ZWRTdWdnZXN0aW9uKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5kZWZhdWx0Rmlyc3RTdWdnZXN0aW9uKSB7XG4gICAgICBjb25zdCBmaXJzdEZvY3VzYWJsZVN1Z2dlc3Rpb24gPSB0aGlzLmF1dG9jb21wbGV0ZS5zdWdnZXN0aW9ucy5maW5kKFxuICAgICAgICBzdWdnZXN0aW9uID0+IHN1Z2dlc3Rpb24udmlzaWJsZSAmJiAhc3VnZ2VzdGlvbi5kaXNhYmxlZCxcbiAgICAgICk7XG4gICAgICB0aGlzLnJlc2V0Rm9jdXNlZFN1Z2dlc3Rpb24oZmlyc3RGb2N1c2FibGVTdWdnZXN0aW9uKTtcbiAgICAgIGlmIChmaXJzdEZvY3VzYWJsZVN1Z2dlc3Rpb24pIHtcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnNjcm9sbFRvU3VnZ2VzdGlvbihmaXJzdEZvY3VzYWJsZVN1Z2dlc3Rpb24pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzU3VnZ2VzdGlvbkRpcihkaXI6ICdkb3duJyB8ICd1cCcpIHtcbiAgICBpZiAoIXRoaXMuaXNDcmVhdGVkKSB7XG4gICAgICB0aGlzLmNyZWF0ZVRvb2x0aXAoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmlzaWJsZVN1Z2dlc3Rpb25zID0gdGhpcy5hdXRvY29tcGxldGUuc3VnZ2VzdGlvbnMuZmlsdGVyKFxuICAgICAgc3VnZ2VzdGlvbiA9PiBzdWdnZXN0aW9uLnZpc2libGUgJiYgIXN1Z2dlc3Rpb24uZGlzYWJsZWQsXG4gICAgKTtcbiAgICBpZiAodmlzaWJsZVN1Z2dlc3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzdGVwID0gZGlyID09PSAnZG93bicgPyAxIDogLTE7XG4gICAgbGV0IGkgPSB2aXNpYmxlU3VnZ2VzdGlvbnMuaW5kZXhPZih0aGlzLmZvY3VzZWRTdWdnZXN0aW9uKTtcbiAgICBpID0gaSArIHN0ZXA7XG4gICAgaWYgKGkgPj0gdmlzaWJsZVN1Z2dlc3Rpb25zLmxlbmd0aCkge1xuICAgICAgaSA9IDA7XG4gICAgfSBlbHNlIGlmIChpIDwgMCkge1xuICAgICAgaSA9IHZpc2libGVTdWdnZXN0aW9ucy5sZW5ndGggLSAxO1xuICAgIH1cbiAgICB0aGlzLnJlc2V0Rm9jdXNlZFN1Z2dlc3Rpb24odmlzaWJsZVN1Z2dlc3Rpb25zW2ldKTtcbiAgICB0aGlzLnNjcm9sbFRvU3VnZ2VzdGlvbih0aGlzLmZvY3VzZWRTdWdnZXN0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRGb2N1c2VkU3VnZ2VzdGlvbihcbiAgICBmb2N1c2VkU3VnZ2VzdGlvbjogU3VnZ2VzdGlvbkNvbXBvbmVudCA9IG51bGwsXG4gICkge1xuICAgIGlmICh0aGlzLmZvY3VzZWRTdWdnZXN0aW9uKSB7XG4gICAgICB0aGlzLmZvY3VzZWRTdWdnZXN0aW9uLmJsdXIoKTtcbiAgICB9XG4gICAgdGhpcy5mb2N1c2VkU3VnZ2VzdGlvbiA9IGZvY3VzZWRTdWdnZXN0aW9uO1xuICAgIGlmICh0aGlzLmZvY3VzZWRTdWdnZXN0aW9uKSB7XG4gICAgICB0aGlzLmZvY3VzZWRTdWdnZXN0aW9uLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxUb1N1Z2dlc3Rpb24oc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbkNvbXBvbmVudCkge1xuICAgIGlmICh0aGlzLmF1dG9jb21wbGV0ZS5zdWdnZXN0aW9uTGlzdFJlZikge1xuICAgICAgc2Nyb2xsSW50b1ZpZXcoXG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlLnN1Z2dlc3Rpb25MaXN0UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIHN1Z2dlc3Rpb24uZWxSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNlbGVjdEZvY3VzZWRPcHRpb24oKSB7XG4gICAgaWYgKHRoaXMuZm9jdXNlZFN1Z2dlc3Rpb24pIHtcbiAgICAgIHRoaXMub25TdWdnZXN0aW9uQ2xpY2sodGhpcy5mb2N1c2VkU3VnZ2VzdGlvbi52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZmlsdGVyRm4oaW5wdXRWYWx1ZTogc3RyaW5nLCBzdWdnZXN0aW9uOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3VnZ2VzdGlvbj8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhpbnB1dFZhbHVlPy50b0xvd2VyQ2FzZSgpID8/ICcnKTtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpQXV0b2NvbXBsZXRlXTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSknLFxuICBleHBvcnRBczogJ2F1aUF1dG9jb21wbGV0ZScsXG4gIGlucHV0czogWydjbGFzczphdWlBdXRvY29tcGxldGVDbGFzcyddLFxuICBob3N0OiB7XG4gICAgYXV0b2NvbXBsZXRlOiAnb2ZmJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tQXV0b0NvbXBsZXRlRGlyZWN0aXZlIGV4dGVuZHMgQXV0b0NvbXBsZXRlRGlyZWN0aXZlIHtcbiAgQElucHV0KCdhdWlBdXRvY29tcGxldGVJbm5lclNlbGVjdG9yJylcbiAgb3ZlcnJpZGUgaW5uZXJTZWxlY3RvciA9ICdpbnB1dCx0ZXh0YXJlYSc7XG59XG4iXX0=
@@ -1850,7 +1850,7 @@ class AutoCompleteDirective extends BaseTooltip {
1850
1850
  }
1851
1851
  ngAfterViewInit() {
1852
1852
  const input = this.input;
1853
- merge(fromEvent(input, 'click'), fromEvent(input, 'focus'))
1853
+ merge(fromEvent(this.elRef.nativeElement, 'click'), fromEvent(input, 'focus'))
1854
1854
  .pipe(takeUntil(this.unsubscribe$))
1855
1855
  .subscribe(() => this.onFocus());
1856
1856
  fromEvent(input, 'blur')
@@ -1921,6 +1921,9 @@ class AutoCompleteDirective extends BaseTooltip {
1921
1921
  this.disposeTooltip();
1922
1922
  }
1923
1923
  createTooltip() {
1924
+ if (this.isCreated) {
1925
+ return;
1926
+ }
1924
1927
  super.createTooltip();
1925
1928
  this.autoFocusFirstSuggestion();
1926
1929
  }