ngx-register-base 1.3.2 → 1.3.3

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.
@@ -48,7 +48,15 @@ export class ParamSelectComponent extends ParamSelectBase {
48
48
  this.search$
49
49
  .pipe(debounceTime(PARAM_SEARCH_INPUT_DEBOUNCE_TIME_MLS), takeUntilDestroyed(this.dr))
50
50
  .subscribe((searchValue) => {
51
- this.fetchItems(searchValue);
51
+ if (this.strict() && !this.control.value) {
52
+ if (searchValue) {
53
+ this.search$.next('');
54
+ }
55
+ this.fetchItems();
56
+ }
57
+ else {
58
+ this.fetchItems(searchValue);
59
+ }
52
60
  });
53
61
  }
54
62
  _observeFetchItems() {
@@ -69,7 +77,7 @@ export class ParamSelectComponent extends ParamSelectBase {
69
77
  }
70
78
  _observeEmptyValue() {
71
79
  this.control.valueChanges
72
- .pipe(filter((value) => value === null), takeUntilDestroyed(this.dr))
80
+ .pipe(filter(() => !this.strict()), filter((value) => value === null || (typeof value === 'string' && value === '')), takeUntilDestroyed(this.dr))
73
81
  .subscribe(() => {
74
82
  this.search$.next('');
75
83
  this.fetchItems();
@@ -222,4 +230,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
222
230
  }], propDecorators: { onSelect: [{
223
231
  type: Output
224
232
  }] } });
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0tc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvcGFyYW0tc2VsZWN0L3BhcmFtLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL3BhcmFtLXNlbGVjdC9wYXJhbS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBQ0gsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsV0FBVyxFQUNYLE9BQU8sRUFDUCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLFVBQVUsRUFDVixXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFF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a0JBdkNoQyxTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNULGNBQWM7d0JBQ2Q7NEJBQ0UsT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDOzRCQUM5QyxVQUFVLEVBQUUsQ0FBQyxTQUErQixFQUFFLEVBQUUsQ0FBQyxDQUFDO2dDQUNoRCxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVM7Z0NBQzlCLGVBQWUsRUFBRSxTQUFTLENBQUMsZUFBZTtnQ0FDMUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQzs2QkFDekMsQ0FBQzt5QkFDSDtxQkFDRixjQUNXLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsNEJBQTRCO3dCQUM1QixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLFFBQVE7d0JBQ1IsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gseUJBQXlCO3dCQUN6QixJQUFJO3dCQUNKLFNBQVM7d0JBQ1QsV0FBVzt3QkFDWCxTQUFTO3dCQUNULFVBQVU7d0JBQ1YsT0FBTztxQkFDUjs4QkE0QlMsUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgaW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBkZWJvdW5jZVRpbWUsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gIFRVSV9JVEVNU19IQU5ETEVSUyxcbiAgVHVpQXBwZWFyYW5jZSxcbiAgVHVpRHJvcGRvd24sXG4gIFR1aUhpbnQsXG4gIFR1aUxvYWRlcixcbiAgVHVpVGV4dGZpZWxkLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1xuICBUdWlDaGV2cm9uLFxuICBUdWlDb21ib0JveCxcbiAgVHVpRGF0YUxpc3RXcmFwcGVyLFxuICBUdWlGaWx0ZXJCeUlucHV0UGlwZSxcbiAgVHVpU2VsZWN0LFxufSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7IFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUgfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ0lmLCBOZ1N3aXRjaCwgTmdTd2l0Y2hDYXNlLCBOZ1N3aXRjaERlZmF1bHQsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHVpU3RyaW5nTWF0Y2hlciB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgUGFyYW1JbnZhbGlkSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL3N1Yi1jb21wb25lbnRzL3BhcmFtLWludmFsaWQtaWNvbi9wYXJhbS1pbnZhbGlkLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEZhc3RRdWVyeVN0b3JlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZmFzdC1xdWVyeS1zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBhcmFtU2VsZWN0QmFzZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvcGFyYW0vcGFyYW0tc2VsZWN0LWJhc2UnO1xuaW1wb3J0IHsgSUZpbHRlclNlbGVjdFZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvcGFyYW1zLnR5cGVzJztcbmltcG9ydCB7IFBBUkFNX1NFQVJDSF9JTlBVVF9ERUJPVU5DRV9USU1FX01MUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0cy9wYXJhbXMuY29uc3RzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3Byb2MtcGFyYW0tc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhcmFtLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhcmFtLXNlbGVjdC5jb21wb25lbnQubGVzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRmFzdFF1ZXJ5U3RvcmUsXG4gICAge1xuICAgICAgcHJvdmlkZTogVFVJX0lURU1TX0hBTkRMRVJTLFxuICAgICAgZGVwczogW2ZvcndhcmRSZWYoKCkgPT4gUGFyYW1TZWxlY3RDb21wb25lbnQpXSxcbiAgICAgIHVzZUZhY3Rvcnk6IChjb21wb25lbnQ6IFBhcmFtU2VsZWN0Q29tcG9uZW50KSA9PiAoe1xuICAgICAgICBzdHJpbmdpZnk6IGNvbXBvbmVudC5zdHJpbmdpZnksXG4gICAgICAgIGlkZW50aXR5TWF0Y2hlcjogY29tcG9uZW50LmlkZW50aXR5TWF0Y2hlcixcbiAgICAgICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogc2lnbmFsKCgpID0+IGZhbHNlKSxcbiAgICAgIH0pLFxuICAgIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBUdWlUZXh0ZmllbGQsXG4gICAgVHVpQXBwZWFyYW5jZSxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVHVpRGF0YUxpc3RXcmFwcGVyLFxuICAgIFR1aUZpbHRlckJ5SW5wdXRQaXBlLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgTmdTd2l0Y2gsXG4gICAgTmdTd2l0Y2hDYXNlLFxuICAgIE5nU3dpdGNoRGVmYXVsdCxcbiAgICBUdWlDb21ib0JveCxcbiAgICBQYXJhbUludmFsaWRJY29uQ29tcG9uZW50LFxuICAgIE5nSWYsXG4gICAgVHVpU2VsZWN0LFxuICAgIFR1aURyb3Bkb3duLFxuICAgIFR1aUxvYWRlcixcbiAgICBUdWlDaGV2cm9uLFxuICAgIFR1aUhpbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFBhcmFtU2VsZWN0Q29tcG9uZW50XG4gIGV4dGVuZHMgUGFyYW1TZWxlY3RCYXNlPElGaWx0ZXJTZWxlY3RWYWx1ZSB8IG51bGwsIElGaWx0ZXJTZWxlY3RWYWx1ZSB8IG51bGw+XG4gIGltcGxlbWVudHMgT25EZXN0cm95XG57XG4gIG92ZXJyaWRlIHBsYWNlaG9sZGVyID0gaW5wdXQoJ9CS0YvQsdC10YDQuNGC0LUg0LfQvdCw0YfQtdC90LjQtScpO1xuICByZWFkb25seSBzdHJpbmdpZnkgPSBpbnB1dDwoaXRlbTogSUZpbHRlclNlbGVjdFZhbHVlKSA9PiBzdHJpbmc+KChpdGVtKSA9PlxuICAgIFN0cmluZyhpdGVtLm5hbWUgPz8gJycpXG4gICk7XG4gIHJlYWRvbmx5IGlkZW50aXR5TWF0Y2hlciA9IGlucHV0PChhOiBJRmlsdGVyU2VsZWN0VmFsdWUsIGI6IElGaWx0ZXJTZWxlY3RWYWx1ZSkgPT4gYm9vbGVhbj4oXG4gICAgKGEsIGIpID0+IGEuaWQgPT09IGIuaWRcbiAgKTtcbiAgcmVhZG9ubHkgbWF0Y2hlciA9IGlucHV0PFR1aVN0cmluZ01hdGNoZXI8SUZpbHRlclNlbGVjdFZhbHVlPj4oXG4gICAgKGl0ZW06IElGaWx0ZXJTZWxlY3RWYWx1ZSwgcXVlcnk6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKCFxdWVyeSB8fCBTdHJpbmcocXVlcnkpLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gU3RyaW5nKGl0ZW0/Lm5hbWUgPz8gJycpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgIC5pbmNsdWRlcyhTdHJpbmcocXVlcnkpLnRvTG93ZXJDYXNlKCkpO1xuICAgIH1cbiAgKTtcbiAgb3ZlcnJpZGUgYnVpbGRTaG93ZWRWYWx1ZSA9IGlucHV0KFxuICAgICh2YWx1ZTogSUZpbHRlclNlbGVjdFZhbHVlIHwgbnVsbCk6IHN0cmluZyA9PiB2YWx1ZT8ubmFtZSA/PyAnLSdcbiAgKTtcbiAgcHVibGljIHN0cmljdCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIEBPdXRwdXQoKSBvblNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8SUZpbHRlclNlbGVjdFZhbHVlPigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBzZWFyY2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGFmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fb2JzZXJ2ZUZldGNoSXRlbXMoKTtcbiAgICBpZiAodGhpcy5tZXRhKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpYmVPbk1ldGFDaGFuZ2VzKCk7XG4gICAgICB0aGlzLl9zdWJzY3JpYmVPblNlYXJjaCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N1YnNjcmliZU9uU2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoJFxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKFBBUkFNX1NFQVJDSF9JTlBVVF9ERUJPVU5DRV9USU1FX01MUyksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRyKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlYXJjaFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IHtcbiAgICAgICAgdGhpcy5mZXRjaEl0ZW1zKHNlYXJjaFZhbHVlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfb2JzZXJ2ZUZldGNoSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5fb2JzZXJ2ZVZhbHVlRmlsbCgpO1xuICAgIHRoaXMuX29ic2VydmVFbXB0eVZhbHVlKCk7XG4gICAgdGhpcy5fb2JzZXJ2ZVZhbHVlRmV0Y2goKTtcbiAgfVxuXG4gIHByaXZhdGUgX29ic2VydmVWYWx1ZUZpbGwoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgZmlsdGVyKCh2YWx1ZSkgPT4gIXZhbHVlLm5hbWUpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kcilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gdGhpcy5fZ2V0SWRGcm9tVmFsdWUodmFsdWUpO1xuICAgICAgICBjb25zdCBmaWxsZWRWYWx1ZSA9IHRoaXMuaXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaWQpO1xuXG4gICAgICAgIGlmIChmaWxsZWRWYWx1ZSkge1xuICAgICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShmaWxsZWRWYWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX29ic2VydmVFbXB0eVZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSA9PT0gbnVsbCksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRyKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoJC5uZXh0KCcnKTtcbiAgICAgICAgdGhpcy5mZXRjaEl0ZW1zKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX29ic2VydmVWYWx1ZUZldGNoKCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICBtYXAoKHZhbHVlKSA9PiB2YWx1ZT8uaWQgPz8gbnVsbCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIGZpbHRlcigoaWQpID0+ICF0aGlzLml0ZW1zLnNvbWUoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGlkKSlcbiAgICAgICksXG4gICAgICB0aGlzLm1ldGEkLFxuICAgIF0pXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kcikpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuZmV0Y2hJdGVtcygpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldElkRnJvbVZhbHVlKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGxcbiAgICAgID8gKCh2YWx1ZSBhcyB7IGlkPzogc3RyaW5nIHwgbnVtYmVyIH0pLmlkID8/IG51bGwpXG4gICAgICA6ICh2YWx1ZSBhcyBzdHJpbmcgfCBudW1iZXIgfCBudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N1YnNjcmliZU9uTWV0YUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5tZXRhJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRyKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZmV0Y2hJdGVtcygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZldGNoSXRlbXMoc2VhcmNoVmFsdWU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB7IGlkRmllbGQsIHZhbHVlRmllbGQgfSA9IHRoaXMubWV0YUZpZWxkcztcblxuICAgIGlmICghdGhpcy5tZXRhPy50YWJsZT8ubmFtZSB8fCBpZEZpZWxkID09PSBudWxsIHx8IHZhbHVlRmllbGQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3RlZEl0ZW1JRHMgPSB0aGlzLl9nZXRTZWxlY3RlZEl0ZW1JRHMoc2VhcmNoVmFsdWUpO1xuXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCB3aGVyZSA9IHRoaXMuYnVpbGRXaGVyZShzZWFyY2hWYWx1ZSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtSWRzV2hlcmUgPSB0aGlzLl9idWlsZFNlbGVjdGVkSXRlbUlkc1doZXJlKHdoZXJlLCBzZWxlY3RlZEl0ZW1JRHMsIGlkRmllbGQpO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmdldFJlc3VsdHMoXG4gICAgICAgIHtcbiAgICAgICAgICB0YWJsZTogdGhpcy5tZXRhLnRhYmxlLFxuICAgICAgICAgIHdoZXJlLFxuICAgICAgICAgIG9yZGVyX2J5OiB0aGlzLm1ldGEub3JkZXJfYnksXG4gICAgICAgICAgb2Zmc2V0OiB0aGlzLm1ldGEub2Zmc2V0LFxuICAgICAgICAgIGRpc3RpbmN0X29uOiB0aGlzLm1ldGEuZGlzdGluY3Rfb24sXG4gICAgICAgICAgc3VicXVlcnk6IHRoaXMubWV0YS5zdWJxdWVyeSxcbiAgICAgICAgICBsaW1pdDogdGhpcy5tZXRhLmxpbWl0ID8/IHRoaXMubGltaXQsXG4gICAgICAgIH0sXG4gICAgICAgIHRydWUsXG4gICAgICAgIHNlbGVjdGVkSXRlbUlkc1doZXJlXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChkYXRhKSA9PiB7XG4gICAgICAgICAgdGhpcy5faGFuZGxlUmVzdWx0cyhkYXRhLCBpZEZpZWxkLCB2YWx1ZUZpZWxkLCBzZWxlY3RlZEl0ZW1JRHMpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRyKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U2VsZWN0ZWRJdGVtSURzKHNlYXJjaFZhbHVlPzogc3RyaW5nKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLnZhbHVlICYmICghc2VhcmNoVmFsdWUgfHwgc2VhcmNoVmFsdWUgPT09ICcnKSkge1xuICAgICAgY29uc3QgaWRGaWVsZCA9IHRoaXMubWV0YT8udGFibGUuaWRGaWVsZCA/PyAnaWQnO1xuICAgICAgcmV0dXJuIFt0aGlzLnZhbHVlW2lkRmllbGRdXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfYnVpbGRTZWxlY3RlZEl0ZW1JZHNXaGVyZShcbiAgICB3aGVyZTogYW55LFxuICAgIHNlbGVjdGVkSXRlbUlEczogc3RyaW5nW10gfCB1bmRlZmluZWQsXG4gICAgaWRGaWVsZDogc3RyaW5nXG4gICk6IG9iamVjdCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHdoZXJlICYmIHNlbGVjdGVkSXRlbUlEcyAmJiBzZWxlY3RlZEl0ZW1JRHMubGVuZ3RoID4gMCAmJiBzZWxlY3RlZEl0ZW1JRHNbMF0pIHtcbiAgICAgIHJldHVybiB7IF9hbmQ6IFt7IFtpZEZpZWxkXTogeyBfaW46IHNlbGVjdGVkSXRlbUlEcyB9IH0sIHdoZXJlXSB9O1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVSZXN1bHRzKFxuICAgIGRhdGE6IGFueSxcbiAgICBpZEZpZWxkOiBzdHJpbmcsXG4gICAgdmFsdWVGaWVsZDogc3RyaW5nLFxuICAgIHNlbGVjdGVkSXRlbUlEczogc3RyaW5nW10gfCB1bmRlZmluZWRcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtcyA9IGRhdGEuZGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBpZDogaXRlbVtpZEZpZWxkXSA/PyAnJyxcbiAgICAgIG5hbWU6IHRoaXMuX2dldE5hbWVGcm9tRmllbGQoaXRlbSwgdmFsdWVGaWVsZCksXG4gICAgfSkpO1xuXG4gICAgdGhpcy5fdXBkYXRlQ29udHJvbFZhbHVlcyhkYXRhLCBpZEZpZWxkLCB2YWx1ZUZpZWxkLCBzZWxlY3RlZEl0ZW1JRHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TmFtZUZyb21GaWVsZChpdGVtOiBhbnksIGZpZWxkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChmaWVsZC5pbmNsdWRlcygnLicpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZ2V0TmFtZUZyb21EZWVwRmllbGQoaXRlbSwgZmllbGQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZvcm1hdFNob3dlZFZhbHVlKGl0ZW0sIGZpZWxkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5hbWVGcm9tRGVlcEZpZWxkKGl0ZW06IGFueSwgZmllbGQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGVlcEZpZWxkcyA9IGZpZWxkLnNwbGl0KCcuJyk7XG4gICAgbGV0IHRlbXBPYmplY3QgPSB7IC4uLml0ZW0gfTtcblxuICAgIGZvciAoY29uc3QgZGVlcEZpZWxkIG9mIGRlZXBGaWVsZHMpIHtcbiAgICAgIHRlbXBPYmplY3QgPSB0ZW1wT2JqZWN0W2RlZXBGaWVsZF07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRlbXBPYmplY3Q7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVDb250cm9sVmFsdWVzKFxuICAgIGRhdGE6IGFueSxcbiAgICBpZEZpZWxkOiBzdHJpbmcsXG4gICAgdmFsdWVGaWVsZDogc3RyaW5nLFxuICAgIHNlbGVjdGVkSXRlbUlEczogc3RyaW5nW10gfCB1bmRlZmluZWRcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgaWRTZWxlY3RlZFZhbHVlID0gdGhpcy52YWx1ZT8uW2lkRmllbGRdO1xuICAgIGNvbnN0IGF2YWlsYWJsZUl0ZW1zID1cbiAgICAgIGRhdGEuc2VsZWN0ZWRJZHNRdWVyeVxuICAgICAgICA/LmZpbHRlcigoaXRlbTogYW55KSA9PiBpZFNlbGVjdGVkVmFsdWUgPT09IGl0ZW1baWRGaWVsZF0pXG4gICAgICAgIC5tYXAoKGl0ZW06IGFueSkgPT4gKHtcbiAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgIGlkOiBpdGVtW2lkRmllbGRdID8/ICcnLFxuICAgICAgICAgIG5hbWU6IHRoaXMuX2dldE5hbWVGcm9tRmllbGQoaXRlbSwgdmFsdWVGaWVsZCksXG4gICAgICAgIH0pKSA/PyBbXTtcblxuICAgIGlmIChzZWxlY3RlZEl0ZW1JRHMgJiYgc2VsZWN0ZWRJdGVtSURzLmxlbmd0aCA+IDAgJiYgYXZhaWxhYmxlSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgW2l0ZW1dID0gYXZhaWxhYmxlSXRlbXM7XG4gICAgICB0aGlzLmNvbnRyb2w/LnNldFZhbHVlKGl0ZW0pO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1zVGhhdERvbnRFeGlzdCA9IGF2YWlsYWJsZUl0ZW1zLmZpbHRlcihcbiAgICAgIChuZXdfaXRlbTogYW55KSA9PiAhdGhpcy5pdGVtcy5zb21lKCh2YWx1ZTogYW55KSA9PiB2YWx1ZS5pZCA9PT0gbmV3X2l0ZW0uaWQpXG4gICAgKTtcblxuICAgIHRoaXMuaXRlbXMucHVzaCguLi5pdGVtc1RoYXREb250RXhpc3QpO1xuICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJyZWFkbW9kZSA/IHJlYWRUZW1wbGF0ZSA6IGVkaXRUZW1wbGF0ZVwiPlxuICA8bmctdGVtcGxhdGUgI3JlYWRUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyIGNvbnRhaW5lci0tcmVhZFwiIFthdHRyLnNwcm9jLXBhcmFtLXN0eWxlXT1cInBhcmFtU3R5bGVcIj5cbiAgICAgIEBpZiAobGFiZWwpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwicGFyYW1TdHlsZVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaENhc2U9XCJmaWx0ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhc2hlZC1yb3dcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXNoZWQtcm93XCI+PC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICB9XG4gICAgICA8ZGl2IFt0dWlIaW50XT1cInZhbHVlICYmIHNob3dlZFZhbHVlICE9PSAnLScgPyBoaW50Q29udGVudCA6IHVuZGVmaW5lZFwiIGNsYXNzPVwidmFsdWVcIj5cbiAgICAgICAgPHNwYW4+e3sgc2hvd2VkVmFsdWUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBjb250YWluZXItLWVkaXRcIiBbYXR0ci5zcHJvYy1wYXJhbS1zdHlsZV09XCJwYXJhbVN0eWxlXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cImxhYmVsLXdyYXBwZXJcIiBbY2xhc3MuYXBwbGllZF09XCJhcHBsaWVkKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiIFtjbGFzcy5yZXF1aXJlZF09XCJyZXF1aXJlZFwiPlxuICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKHNlYXJjaGFibGUpIHtcbiAgICAgICAgPHR1aS10ZXh0ZmllbGRcbiAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgdHVpQXBwZWFyYW5jZT1cInNwcm9jLWlucHV0LWFwcGVhcmFuY2VcIlxuICAgICAgICAgIHR1aUNoZXZyb25cbiAgICAgICAgICBbdHVpVGV4dGZpZWxkQ2xlYW5lcl09XCJ0cnVlXCJcbiAgICAgICAgICBbdHVpSGludF09XCJ2YWx1ZSAmJiBzaG93ZWRWYWx1ZSAhPT0gJy0nID8gaGludENvbnRlbnQgOiB1bmRlZmluZWRcIlxuICAgICAgICAgIHR1aUhpbnREaXJlY3Rpb249XCJ0b3BcIlxuICAgICAgICAgIFtjb250ZW50XT1cInZhbHVlVGVtcGxhdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAoaW5wdXQpPVwic2VhcmNoJC5uZXh0KCRhbnkoJGV2ZW50LnRhcmdldCkudmFsdWUpXCJcbiAgICAgICAgICAgIHR1aUNvbWJvQm94XG4gICAgICAgICAgICBbc3RyaWN0XT1cInN0cmljdCgpXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgPHR1aS1sb2FkZXIgW3Nob3dMb2FkZXJdPVwibG9hZGluZ1wiIFtvdmVybGF5XT1cInRydWVcIj5cbiAgICAgICAgICAgIDx0dWktZGF0YS1saXN0LXdyYXBwZXJcbiAgICAgICAgICAgICAgbmV3XG4gICAgICAgICAgICAgICp0dWlUZXh0ZmllbGREcm9wZG93blxuICAgICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXMgfCB0dWlGaWx0ZXJCeUlucHV0OiBtYXRjaGVyKClcIlxuICAgICAgICAgICAgICBbaXRlbUNvbnRlbnRdPVwibGlzdEl0ZW1UZW1wbGF0ZSA/PyBkcm9wZG93bk9wdGlvbkNvbnRlbnRcIlxuICAgICAgICAgICAgICBbdHVpRHJvcGRvd25NYXhIZWlnaHRdPVwibWF4RHJvcGRvd25IZWlnaHRcIlxuICAgICAgICAgICAgICAoaXRlbUNsaWNrKT1cIm9uU2VsZWN0LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvdHVpLWxvYWRlcj5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZXh0ZmllbGRJY29uc1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3R1aS10ZXh0ZmllbGQ+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHR1aS10ZXh0ZmllbGRcbiAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgdHVpQXBwZWFyYW5jZT1cInNwcm9jLWlucHV0LWFwcGVhcmFuY2VcIlxuICAgICAgICAgIHR1aUNoZXZyb25cbiAgICAgICAgICBbdHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlXT1cInRydWVcIlxuICAgICAgICAgIFt0dWlUZXh0ZmllbGRDbGVhbmVyXT1cInRydWVcIlxuICAgICAgICAgIFt0dWlIaW50XT1cInZhbHVlICYmIHNob3dlZFZhbHVlICE9PSAnLScgPyBoaW50Q29udGVudCA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgdHVpSGludERpcmVjdGlvbj1cInRvcFwiXG4gICAgICAgICAgW2NvbnRlbnRdPVwidmFsdWVUZW1wbGF0ZVwiXG4gICAgICAgICAgW3R1aURyb3Bkb3duTWF4SGVpZ2h0XT1cIm1heERyb3Bkb3duSGVpZ2h0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dCB0dWlTZWxlY3QgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIC8+XG5cbiAgICAgICAgICA8dHVpLWxvYWRlciBbc2hvd0xvYWRlcl09XCJsb2FkaW5nXCIgW292ZXJsYXldPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPHR1aS1kYXRhLWxpc3Qtd3JhcHBlclxuICAgICAgICAgICAgICBuZXdcbiAgICAgICAgICAgICAgKnR1aVRleHRmaWVsZERyb3Bkb3duXG4gICAgICAgICAgICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgICAgICAgICAgIFtpdGVtQ29udGVudF09XCJsaXN0SXRlbVRlbXBsYXRlID8/IGRyb3Bkb3duT3B0aW9uQ29udGVudFwiXG4gICAgICAgICAgICAgIChpdGVtQ2xpY2spPVwib25TZWxlY3QuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC90dWktbG9hZGVyPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRleHRmaWVsZEljb25zXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdHVpLXRleHRmaWVsZD5cbiAgICAgIH1cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25PcHRpb25Db250ZW50IGxldC1kYXRhPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHt7IHN0cmluZ2lmeSgpKGRhdGEpIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPG5nLXRlbXBsYXRlICN0ZXh0ZmllbGRJY29ucz5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHRmaWVsZC1pY29ucy1jb250YWluZXJcIj5cbiAgICAgICAgICBAaWYgKGlzSW52YWxpZEFuZE5vdFByaXN0aW5lKSB7XG4gICAgICAgICAgICA8c3Byb2MtcGFyYW0taW52YWxpZC1pY29uPjwvc3Byb2MtcGFyYW0taW52YWxpZC1pY29uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjaGludENvbnRlbnQ+IHt7IHNob3dlZFZhbHVlIH19IDwvbmctdGVtcGxhdGU+XG4iXX0=
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0tc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvcGFyYW0tc2VsZWN0L3BhcmFtLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL3BhcmFtLXNlbGVjdC9wYXJhbS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBQ0gsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsV0FBVyxFQUNYLE9BQU8sRUFDUCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLFVBQVUsRUFDVixXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFF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QkFDVCxVQUFVO3dCQUNWLE9BQU87cUJBQ1I7OEJBNEJTLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBUVUlfSVRFTVNfSEFORExFUlMsXG4gIFR1aUFwcGVhcmFuY2UsXG4gIFR1aURyb3Bkb3duLFxuICBUdWlIaW50LFxuICBUdWlMb2FkZXIsXG4gIFR1aVRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtcbiAgVHVpQ2hldnJvbixcbiAgVHVpQ29tYm9Cb3gsXG4gIFR1aURhdGFMaXN0V3JhcHBlcixcbiAgVHVpRmlsdGVyQnlJbnB1dFBpcGUsXG4gIFR1aVNlbGVjdCxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQgeyBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlIH0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdJZiwgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSwgTmdTd2l0Y2hEZWZhdWx0LCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFR1aVN0cmluZ01hdGNoZXIgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFBhcmFtSW52YWxpZEljb25Db21wb25lbnQgfSBmcm9tICcuLi9zdWItY29tcG9uZW50cy9wYXJhbS1pbnZhbGlkLWljb24vcGFyYW0taW52YWxpZC1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYXN0UXVlcnlTdG9yZSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2Zhc3QtcXVlcnktc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBQYXJhbVNlbGVjdEJhc2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3BhcmFtL3BhcmFtLXNlbGVjdC1iYXNlJztcbmltcG9ydCB7IElGaWx0ZXJTZWxlY3RWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3BhcmFtcy50eXBlcyc7XG5pbXBvcnQgeyBQQVJBTV9TRUFSQ0hfSU5QVVRfREVCT1VOQ0VfVElNRV9NTFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdHMvcGFyYW1zLmNvbnN0cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwcm9jLXBhcmFtLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYXJhbS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYXJhbS1zZWxlY3QuY29tcG9uZW50Lmxlc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIEZhc3RRdWVyeVN0b3JlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRVSV9JVEVNU19IQU5ETEVSUyxcbiAgICAgIGRlcHM6IFtmb3J3YXJkUmVmKCgpID0+IFBhcmFtU2VsZWN0Q29tcG9uZW50KV0sXG4gICAgICB1c2VGYWN0b3J5OiAoY29tcG9uZW50OiBQYXJhbVNlbGVjdENvbXBvbmVudCkgPT4gKHtcbiAgICAgICAgc3RyaW5naWZ5OiBjb21wb25lbnQuc3RyaW5naWZ5LFxuICAgICAgICBpZGVudGl0eU1hdGNoZXI6IGNvbXBvbmVudC5pZGVudGl0eU1hdGNoZXIsXG4gICAgICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IHNpZ25hbCgoKSA9PiBmYWxzZSksXG4gICAgICB9KSxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgVHVpVGV4dGZpZWxkLFxuICAgIFR1aUFwcGVhcmFuY2UsXG4gICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFR1aURhdGFMaXN0V3JhcHBlcixcbiAgICBUdWlGaWx0ZXJCeUlucHV0UGlwZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE5nU3dpdGNoLFxuICAgIE5nU3dpdGNoQ2FzZSxcbiAgICBOZ1N3aXRjaERlZmF1bHQsXG4gICAgVHVpQ29tYm9Cb3gsXG4gICAgUGFyYW1JbnZhbGlkSWNvbkNvbXBvbmVudCxcbiAgICBOZ0lmLFxuICAgIFR1aVNlbGVjdCxcbiAgICBUdWlEcm9wZG93bixcbiAgICBUdWlMb2FkZXIsXG4gICAgVHVpQ2hldnJvbixcbiAgICBUdWlIaW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQYXJhbVNlbGVjdENvbXBvbmVudFxuICBleHRlbmRzIFBhcmFtU2VsZWN0QmFzZTxJRmlsdGVyU2VsZWN0VmFsdWUgfCBudWxsLCBJRmlsdGVyU2VsZWN0VmFsdWUgfCBudWxsPlxuICBpbXBsZW1lbnRzIE9uRGVzdHJveVxue1xuICBvdmVycmlkZSBwbGFjZWhvbGRlciA9IGlucHV0KCfQktGL0LHQtdGA0LjRgtC1INC30L3QsNGH0LXQvdC40LUnKTtcbiAgcmVhZG9ubHkgc3RyaW5naWZ5ID0gaW5wdXQ8KGl0ZW06IElGaWx0ZXJTZWxlY3RWYWx1ZSkgPT4gc3RyaW5nPigoaXRlbSkgPT5cbiAgICBTdHJpbmcoaXRlbS5uYW1lID8/ICcnKVxuICApO1xuICByZWFkb25seSBpZGVudGl0eU1hdGNoZXIgPSBpbnB1dDwoYTogSUZpbHRlclNlbGVjdFZhbHVlLCBiOiBJRmlsdGVyU2VsZWN0VmFsdWUpID0+IGJvb2xlYW4+KFxuICAgIChhLCBiKSA9PiBhLmlkID09PSBiLmlkXG4gICk7XG4gIHJlYWRvbmx5IG1hdGNoZXIgPSBpbnB1dDxUdWlTdHJpbmdNYXRjaGVyPElGaWx0ZXJTZWxlY3RWYWx1ZT4+KFxuICAgIChpdGVtOiBJRmlsdGVyU2VsZWN0VmFsdWUsIHF1ZXJ5OiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICghcXVlcnkgfHwgU3RyaW5nKHF1ZXJ5KS50cmltKCkgPT09ICcnKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFN0cmluZyhpdGVtPy5uYW1lID8/ICcnKVxuICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAuaW5jbHVkZXMoU3RyaW5nKHF1ZXJ5KS50b0xvd2VyQ2FzZSgpKTtcbiAgICB9XG4gICk7XG4gIG92ZXJyaWRlIGJ1aWxkU2hvd2VkVmFsdWUgPSBpbnB1dChcbiAgICAodmFsdWU6IElGaWx0ZXJTZWxlY3RWYWx1ZSB8IG51bGwpOiBzdHJpbmcgPT4gdmFsdWU/Lm5hbWUgPz8gJy0nXG4gICk7XG4gIHB1YmxpYyBzdHJpY3QgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblxuICBAT3V0cHV0KCkgb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPElGaWx0ZXJTZWxlY3RWYWx1ZT4oKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VhcmNoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBhZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX29ic2VydmVGZXRjaEl0ZW1zKCk7XG4gICAgaWYgKHRoaXMubWV0YSkge1xuICAgICAgdGhpcy5fc3Vic2NyaWJlT25NZXRhQ2hhbmdlcygpO1xuICAgICAgdGhpcy5fc3Vic2NyaWJlT25TZWFyY2goKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2gkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmVPblNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaCRcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZShQQVJBTV9TRUFSQ0hfSU5QVVRfREVCT1VOQ0VfVElNRV9NTFMpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kcikpXG4gICAgICAuc3Vic2NyaWJlKChzZWFyY2hWYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnN0cmljdCgpICYmICF0aGlzLmNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgICBpZiAoc2VhcmNoVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoJC5uZXh0KCcnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5mZXRjaEl0ZW1zKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5mZXRjaEl0ZW1zKHNlYXJjaFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9vYnNlcnZlRmV0Y2hJdGVtcygpOiB2b2lkIHtcbiAgICB0aGlzLl9vYnNlcnZlVmFsdWVGaWxsKCk7XG4gICAgdGhpcy5fb2JzZXJ2ZUVtcHR5VmFsdWUoKTtcbiAgICB0aGlzLl9vYnNlcnZlVmFsdWVGZXRjaCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb2JzZXJ2ZVZhbHVlRmlsbCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICBmaWx0ZXIoKHZhbHVlKSA9PiAhdmFsdWUubmFtZSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRyKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgaWQgPSB0aGlzLl9nZXRJZEZyb21WYWx1ZSh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IGZpbGxlZFZhbHVlID0gdGhpcy5pdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmlkID09PSBpZCk7XG5cbiAgICAgICAgaWYgKGZpbGxlZFZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGZpbGxlZFZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfb2JzZXJ2ZUVtcHR5VmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5zdHJpY3QoKSksXG4gICAgICAgIGZpbHRlcigodmFsdWUpID0+IHZhbHVlID09PSBudWxsIHx8ICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlID09PSAnJykpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kcilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaCQubmV4dCgnJyk7XG4gICAgICAgIHRoaXMuZmV0Y2hJdGVtcygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9vYnNlcnZlVmFsdWVGZXRjaCgpOiB2b2lkIHtcbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgbWFwKCh2YWx1ZSkgPT4gdmFsdWU/LmlkID8/IG51bGwpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBmaWx0ZXIoKGlkKSA9PiAhdGhpcy5pdGVtcy5zb21lKChpdGVtKSA9PiBpdGVtLmlkID09PSBpZCkpXG4gICAgICApLFxuICAgICAgdGhpcy5tZXRhJCxcbiAgICBdKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZHIpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmZldGNoSXRlbXMoKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJZEZyb21WYWx1ZSh2YWx1ZTogdW5rbm93bik6IHN0cmluZyB8IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsXG4gICAgICA/ICgodmFsdWUgYXMgeyBpZD86IHN0cmluZyB8IG51bWJlciB9KS5pZCA/PyBudWxsKVxuICAgICAgOiAodmFsdWUgYXMgc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCk7XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmVPbk1ldGFDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMubWV0YSQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kcikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZldGNoSXRlbXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmZXRjaEl0ZW1zKHNlYXJjaFZhbHVlPzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgeyBpZEZpZWxkLCB2YWx1ZUZpZWxkIH0gPSB0aGlzLm1ldGFGaWVsZHM7XG5cbiAgICBpZiAoIXRoaXMubWV0YT8udGFibGU/Lm5hbWUgfHwgaWRGaWVsZCA9PT0gbnVsbCB8fCB2YWx1ZUZpZWxkID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtSURzID0gdGhpcy5fZ2V0U2VsZWN0ZWRJdGVtSURzKHNlYXJjaFZhbHVlKTtcblxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgY29uc3Qgd2hlcmUgPSB0aGlzLmJ1aWxkV2hlcmUoc2VhcmNoVmFsdWUpO1xuICAgIGNvbnN0IHNlbGVjdGVkSXRlbUlkc1doZXJlID0gdGhpcy5fYnVpbGRTZWxlY3RlZEl0ZW1JZHNXaGVyZSh3aGVyZSwgc2VsZWN0ZWRJdGVtSURzLCBpZEZpZWxkKTtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5nZXRSZXN1bHRzKFxuICAgICAgICB7XG4gICAgICAgICAgdGFibGU6IHRoaXMubWV0YS50YWJsZSxcbiAgICAgICAgICB3aGVyZSxcbiAgICAgICAgICBvcmRlcl9ieTogdGhpcy5tZXRhLm9yZGVyX2J5LFxuICAgICAgICAgIG9mZnNldDogdGhpcy5tZXRhLm9mZnNldCxcbiAgICAgICAgICBkaXN0aW5jdF9vbjogdGhpcy5tZXRhLmRpc3RpbmN0X29uLFxuICAgICAgICAgIHN1YnF1ZXJ5OiB0aGlzLm1ldGEuc3VicXVlcnksXG4gICAgICAgICAgbGltaXQ6IHRoaXMubWV0YS5saW1pdCA/PyB0aGlzLmxpbWl0LFxuICAgICAgICB9LFxuICAgICAgICB0cnVlLFxuICAgICAgICBzZWxlY3RlZEl0ZW1JZHNXaGVyZVxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoZGF0YSkgPT4ge1xuICAgICAgICAgIHRoaXMuX2hhbmRsZVJlc3VsdHMoZGF0YSwgaWRGaWVsZCwgdmFsdWVGaWVsZCwgc2VsZWN0ZWRJdGVtSURzKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kcilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFNlbGVjdGVkSXRlbUlEcyhzZWFyY2hWYWx1ZT86IHN0cmluZyk6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy52YWx1ZSAmJiAoIXNlYXJjaFZhbHVlIHx8IHNlYXJjaFZhbHVlID09PSAnJykpIHtcbiAgICAgIGNvbnN0IGlkRmllbGQgPSB0aGlzLm1ldGE/LnRhYmxlLmlkRmllbGQgPz8gJ2lkJztcbiAgICAgIHJldHVybiBbdGhpcy52YWx1ZVtpZEZpZWxkXV07XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgX2J1aWxkU2VsZWN0ZWRJdGVtSWRzV2hlcmUoXG4gICAgd2hlcmU6IGFueSxcbiAgICBzZWxlY3RlZEl0ZW1JRHM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkLFxuICAgIGlkRmllbGQ6IHN0cmluZ1xuICApOiBvYmplY3QgfCB1bmRlZmluZWQge1xuICAgIGlmICh3aGVyZSAmJiBzZWxlY3RlZEl0ZW1JRHMgJiYgc2VsZWN0ZWRJdGVtSURzLmxlbmd0aCA+IDAgJiYgc2VsZWN0ZWRJdGVtSURzWzBdKSB7XG4gICAgICByZXR1cm4geyBfYW5kOiBbeyBbaWRGaWVsZF06IHsgX2luOiBzZWxlY3RlZEl0ZW1JRHMgfSB9LCB3aGVyZV0gfTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlUmVzdWx0cyhcbiAgICBkYXRhOiBhbnksXG4gICAgaWRGaWVsZDogc3RyaW5nLFxuICAgIHZhbHVlRmllbGQ6IHN0cmluZyxcbiAgICBzZWxlY3RlZEl0ZW1JRHM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkXG4gICk6IHZvaWQge1xuICAgIHRoaXMuaXRlbXMgPSBkYXRhLmRhdGEubWFwKChpdGVtOiBhbnkpID0+ICh7XG4gICAgICAuLi5pdGVtLFxuICAgICAgaWQ6IGl0ZW1baWRGaWVsZF0gPz8gJycsXG4gICAgICBuYW1lOiB0aGlzLl9nZXROYW1lRnJvbUZpZWxkKGl0ZW0sIHZhbHVlRmllbGQpLFxuICAgIH0pKTtcblxuICAgIHRoaXMuX3VwZGF0ZUNvbnRyb2xWYWx1ZXMoZGF0YSwgaWRGaWVsZCwgdmFsdWVGaWVsZCwgc2VsZWN0ZWRJdGVtSURzKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5hbWVGcm9tRmllbGQoaXRlbTogYW55LCBmaWVsZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoZmllbGQuaW5jbHVkZXMoJy4nKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2dldE5hbWVGcm9tRGVlcEZpZWxkKGl0ZW0sIGZpZWxkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mb3JtYXRTaG93ZWRWYWx1ZShpdGVtLCBmaWVsZCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROYW1lRnJvbURlZXBGaWVsZChpdGVtOiBhbnksIGZpZWxkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRlZXBGaWVsZHMgPSBmaWVsZC5zcGxpdCgnLicpO1xuICAgIGxldCB0ZW1wT2JqZWN0ID0geyAuLi5pdGVtIH07XG5cbiAgICBmb3IgKGNvbnN0IGRlZXBGaWVsZCBvZiBkZWVwRmllbGRzKSB7XG4gICAgICB0ZW1wT2JqZWN0ID0gdGVtcE9iamVjdFtkZWVwRmllbGRdO1xuICAgIH1cblxuICAgIHJldHVybiB0ZW1wT2JqZWN0O1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQ29udHJvbFZhbHVlcyhcbiAgICBkYXRhOiBhbnksXG4gICAgaWRGaWVsZDogc3RyaW5nLFxuICAgIHZhbHVlRmllbGQ6IHN0cmluZyxcbiAgICBzZWxlY3RlZEl0ZW1JRHM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGlkU2VsZWN0ZWRWYWx1ZSA9IHRoaXMudmFsdWU/LltpZEZpZWxkXTtcbiAgICBjb25zdCBhdmFpbGFibGVJdGVtcyA9XG4gICAgICBkYXRhLnNlbGVjdGVkSWRzUXVlcnlcbiAgICAgICAgPy5maWx0ZXIoKGl0ZW06IGFueSkgPT4gaWRTZWxlY3RlZFZhbHVlID09PSBpdGVtW2lkRmllbGRdKVxuICAgICAgICAubWFwKChpdGVtOiBhbnkpID0+ICh7XG4gICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICBpZDogaXRlbVtpZEZpZWxkXSA/PyAnJyxcbiAgICAgICAgICBuYW1lOiB0aGlzLl9nZXROYW1lRnJvbUZpZWxkKGl0ZW0sIHZhbHVlRmllbGQpLFxuICAgICAgICB9KSkgPz8gW107XG5cbiAgICBpZiAoc2VsZWN0ZWRJdGVtSURzICYmIHNlbGVjdGVkSXRlbUlEcy5sZW5ndGggPiAwICYmIGF2YWlsYWJsZUl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IFtpdGVtXSA9IGF2YWlsYWJsZUl0ZW1zO1xuICAgICAgdGhpcy5jb250cm9sPy5zZXRWYWx1ZShpdGVtKTtcbiAgICB9XG5cbiAgICBjb25zdCBpdGVtc1RoYXREb250RXhpc3QgPSBhdmFpbGFibGVJdGVtcy5maWx0ZXIoXG4gICAgICAobmV3X2l0ZW06IGFueSkgPT4gIXRoaXMuaXRlbXMuc29tZSgodmFsdWU6IGFueSkgPT4gdmFsdWUuaWQgPT09IG5ld19pdGVtLmlkKVxuICAgICk7XG5cbiAgICB0aGlzLml0ZW1zLnB1c2goLi4uaXRlbXNUaGF0RG9udEV4aXN0KTtcbiAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQodGhpcy5pdGVtcyk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicmVhZG1vZGUgPyByZWFkVGVtcGxhdGUgOiBlZGl0VGVtcGxhdGVcIj5cbiAgPG5nLXRlbXBsYXRlICNyZWFkVGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBjb250YWluZXItLXJlYWRcIiBbYXR0ci5zcHJvYy1wYXJhbS1zdHlsZV09XCJwYXJhbVN0eWxlXCI+XG4gICAgICBAaWYgKGxhYmVsKSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInBhcmFtU3R5bGVcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hDYXNlPVwiZmlsdGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtd3JhcHBlclwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXNoZWQtcm93XCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGFzaGVkLXJvd1wiPjwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgfVxuICAgICAgPGRpdiBbdHVpSGludF09XCJ2YWx1ZSAmJiBzaG93ZWRWYWx1ZSAhPT0gJy0nID8gaGludENvbnRlbnQgOiB1bmRlZmluZWRcIiBjbGFzcz1cInZhbHVlXCI+XG4gICAgICAgIDxzcGFuPnt7IHNob3dlZFZhbHVlIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgY29udGFpbmVyLS1lZGl0XCIgW2F0dHIuc3Byb2MtcGFyYW0tc3R5bGVdPVwicGFyYW1TdHlsZVwiPlxuICAgICAgPGRpdiAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJsYWJlbC13cmFwcGVyXCIgW2NsYXNzLmFwcGxpZWRdPVwiYXBwbGllZCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbY2xhc3MucmVxdWlyZWRdPVwicmVxdWlyZWRcIj5cbiAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChzZWFyY2hhYmxlKSB7XG4gICAgICAgIDx0dWktdGV4dGZpZWxkXG4gICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICAgIHR1aUFwcGVhcmFuY2U9XCJzcHJvYy1pbnB1dC1hcHBlYXJhbmNlXCJcbiAgICAgICAgICB0dWlDaGV2cm9uXG4gICAgICAgICAgW3R1aVRleHRmaWVsZENsZWFuZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgW3R1aUhpbnRdPVwidmFsdWUgJiYgc2hvd2VkVmFsdWUgIT09ICctJyA/IGhpbnRDb250ZW50IDogdW5kZWZpbmVkXCJcbiAgICAgICAgICB0dWlIaW50RGlyZWN0aW9uPVwidG9wXCJcbiAgICAgICAgICBbY29udGVudF09XCJ2YWx1ZVRlbXBsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgKGlucHV0KT1cInNlYXJjaCQubmV4dCgkYW55KCRldmVudC50YXJnZXQpLnZhbHVlKVwiXG4gICAgICAgICAgICB0dWlDb21ib0JveFxuICAgICAgICAgICAgW3N0cmljdF09XCJzdHJpY3QoKVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgICAgLz5cblxuICAgICAgICAgIDx0dWktbG9hZGVyIFtzaG93TG9hZGVyXT1cImxvYWRpbmdcIiBbb3ZlcmxheV09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8dHVpLWRhdGEtbGlzdC13cmFwcGVyXG4gICAgICAgICAgICAgIG5ld1xuICAgICAgICAgICAgICAqdHVpVGV4dGZpZWxkRHJvcGRvd25cbiAgICAgICAgICAgICAgW2l0ZW1zXT1cIml0ZW1zIHwgdHVpRmlsdGVyQnlJbnB1dDogbWF0Y2hlcigpXCJcbiAgICAgICAgICAgICAgW2l0ZW1Db250ZW50XT1cImxpc3RJdGVtVGVtcGxhdGUgPz8gZHJvcGRvd25PcHRpb25Db250ZW50XCJcbiAgICAgICAgICAgICAgW3R1aURyb3Bkb3duTWF4SGVpZ2h0XT1cIm1heERyb3Bkb3duSGVpZ2h0XCJcbiAgICAgICAgICAgICAgKGl0ZW1DbGljayk9XCJvblNlbGVjdC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3R1aS1sb2FkZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGV4dGZpZWxkSWNvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90dWktdGV4dGZpZWxkPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDx0dWktdGV4dGZpZWxkXG4gICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICAgIHR1aUFwcGVhcmFuY2U9XCJzcHJvYy1pbnB1dC1hcHBlYXJhbmNlXCJcbiAgICAgICAgICB0dWlDaGV2cm9uXG4gICAgICAgICAgW3R1aVRleHRmaWVsZExhYmVsT3V0c2lkZV09XCJ0cnVlXCJcbiAgICAgICAgICBbdHVpVGV4dGZpZWxkQ2xlYW5lcl09XCJ0cnVlXCJcbiAgICAgICAgICBbdHVpSGludF09XCJ2YWx1ZSAmJiBzaG93ZWRWYWx1ZSAhPT0gJy0nID8gaGludENvbnRlbnQgOiB1bmRlZmluZWRcIlxuICAgICAgICAgIHR1aUhpbnREaXJlY3Rpb249XCJ0b3BcIlxuICAgICAgICAgIFtjb250ZW50XT1cInZhbHVlVGVtcGxhdGVcIlxuICAgICAgICAgIFt0dWlEcm9wZG93bk1heEhlaWdodF09XCJtYXhEcm9wZG93bkhlaWdodFwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXQgdHVpU2VsZWN0IFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiAvPlxuXG4gICAgICAgICAgPHR1aS1sb2FkZXIgW3Nob3dMb2FkZXJdPVwibG9hZGluZ1wiIFtvdmVybGF5XT1cInRydWVcIj5cbiAgICAgICAgICAgIDx0dWktZGF0YS1saXN0LXdyYXBwZXJcbiAgICAgICAgICAgICAgbmV3XG4gICAgICAgICAgICAgICp0dWlUZXh0ZmllbGREcm9wZG93blxuICAgICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXNcIlxuICAgICAgICAgICAgICBbaXRlbUNvbnRlbnRdPVwibGlzdEl0ZW1UZW1wbGF0ZSA/PyBkcm9wZG93bk9wdGlvbkNvbnRlbnRcIlxuICAgICAgICAgICAgICAoaXRlbUNsaWNrKT1cIm9uU2VsZWN0LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvdHVpLWxvYWRlcj5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZXh0ZmllbGRJY29uc1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3R1aS10ZXh0ZmllbGQ+XG4gICAgICB9XG4gICAgICA8bmctdGVtcGxhdGUgI2Ryb3Bkb3duT3B0aW9uQ29udGVudCBsZXQtZGF0YT5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7eyBzdHJpbmdpZnkoKShkYXRhKSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdGV4dGZpZWxkSWNvbnM+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0ZmllbGQtaWNvbnMtY29udGFpbmVyXCI+XG4gICAgICAgICAgQGlmIChpc0ludmFsaWRBbmROb3RQcmlzdGluZSkge1xuICAgICAgICAgICAgPHNwcm9jLXBhcmFtLWludmFsaWQtaWNvbj48L3Nwcm9jLXBhcmFtLWludmFsaWQtaWNvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2hpbnRDb250ZW50PiB7eyBzaG93ZWRWYWx1ZSB9fSA8L25nLXRlbXBsYXRlPlxuIl19
@@ -4686,7 +4686,15 @@ class ParamSelectComponent extends ParamSelectBase {
4686
4686
  this.search$
4687
4687
  .pipe(debounceTime(PARAM_SEARCH_INPUT_DEBOUNCE_TIME_MLS), takeUntilDestroyed(this.dr))
4688
4688
  .subscribe((searchValue) => {
4689
- this.fetchItems(searchValue);
4689
+ if (this.strict() && !this.control.value) {
4690
+ if (searchValue) {
4691
+ this.search$.next('');
4692
+ }
4693
+ this.fetchItems();
4694
+ }
4695
+ else {
4696
+ this.fetchItems(searchValue);
4697
+ }
4690
4698
  });
4691
4699
  }
4692
4700
  _observeFetchItems() {
@@ -4707,7 +4715,7 @@ class ParamSelectComponent extends ParamSelectBase {
4707
4715
  }
4708
4716
  _observeEmptyValue() {
4709
4717
  this.control.valueChanges
4710
- .pipe(filter((value) => value === null), takeUntilDestroyed(this.dr))
4718
+ .pipe(filter(() => !this.strict()), filter((value) => value === null || (typeof value === 'string' && value === '')), takeUntilDestroyed(this.dr))
4711
4719
  .subscribe(() => {
4712
4720
  this.search$.next('');
4713
4721
  this.fetchItems();