@dereekb/dbx-web 9.24.17 → 9.24.18

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-web/calendar",
3
- "version": "9.24.17",
3
+ "version": "9.24.18",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.2.0",
6
6
  "@angular/core": "^14.2.0",
@@ -8,7 +8,7 @@
8
8
  "rxjs": "^7.5.0",
9
9
  "@angular/material": "^14.2.0",
10
10
  "angular-calendar": "^0.30.1",
11
- "@dereekb/dbx-web": "9.24.17"
11
+ "@dereekb/dbx-web": "9.24.18"
12
12
  },
13
13
  "dependencies": {
14
14
  "tslib": "^2.3.0"
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
30
30
  }], ctorParameters: function () { return [{ type: i1.DbxPopoverService }]; }, propDecorators: { config: [{
31
31
  type: Input
32
32
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9maWx0ZXIvZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUseUJBQXlCLEVBQTRCLE1BQU0sNEJBQTRCLENBQUM7QUFDakcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7OztBQUt4RixNQUFNLE9BQWdCLG9DQUF1RCxTQUFRLDJCQUE2QztJQUloSSxZQUE2QixZQUErQjtRQUMxRCxLQUFLLEVBQUUsQ0FBQztRQURtQixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7SUFFNUQsQ0FBQztJQUVrQixlQUFlLENBQUMsTUFBbUI7UUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUUzQixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1NBQ2hEO2FBQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDcEM7UUFFRCxPQUFPLHlCQUF5QixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzlELE1BQU07WUFDTixHQUFHLE1BQU07U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDOztrSUFyQm1CLG9DQUFvQztzSEFBcEMsb0NBQW9DOzRGQUFwQyxvQ0FBb0M7a0JBRHpELFNBQVM7d0dBR1IsTUFBTTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdQb3BvdmVyUmVmIH0gZnJvbSAnbmctb3ZlcmxheS1jb250YWluZXInO1xuaW1wb3J0IHsgRGJ4UG9wb3ZlclNlcnZpY2UgfSBmcm9tICcuLi9wb3BvdmVyL3BvcG92ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBEYnhGaWx0ZXJQb3BvdmVyQ29tcG9uZW50LCBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXMgfSBmcm9tICcuL2ZpbHRlci5wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYnN0cmFjdFBvcG92ZXJSZWZEaXJlY3RpdmUgfSBmcm9tICcuLi9wb3BvdmVyL2Fic3RyYWN0LnBvcG92ZXIucmVmLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB0eXBlIERieEZpbHRlckJ1dHRvbkNvbmZpZzxGIGV4dGVuZHMgb2JqZWN0PiA9IERieEZpbHRlckNvbXBvbmVudFBhcmFtczxGPjtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGaWx0ZXJQb3BvdmVyQnV0dG9uRGlyZWN0aXZlPEYgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgQWJzdHJhY3RQb3BvdmVyUmVmRGlyZWN0aXZlPHVua25vd24sIHVua25vd24+IHtcbiAgQElucHV0KClcbiAgY29uZmlnPzogRGJ4RmlsdGVyQnV0dG9uQ29uZmlnPEY+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcG9wdXBTZXJ2aWNlOiBEYnhQb3BvdmVyU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX21ha2VQb3BvdmVyUmVmKG9yaWdpbj86IEVsZW1lbnRSZWYpOiBOZ1BvcG92ZXJSZWY8dW5rbm93biwgdW5rbm93bj4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnO1xuXG4gICAgaWYgKCFjb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBmaWx0ZXJCdXR0b25Db25maWcuJyk7XG4gICAgfSBlbHNlIGlmICghb3JpZ2luKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3Npbmcgb3JpZ2luLicpO1xuICAgIH1cblxuICAgIHJldHVybiBEYnhGaWx0ZXJQb3BvdmVyQ29tcG9uZW50Lm9wZW5Qb3BvdmVyKHRoaXMucG9wdXBTZXJ2aWNlLCB7XG4gICAgICBvcmlnaW4sXG4gICAgICAuLi5jb25maWdcbiAgICB9KTtcbiAgfVxufVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9maWx0ZXIvZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUseUJBQXlCLEVBQTRCLE1BQU0sNEJBQTRCLENBQUM7QUFDakcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7OztBQVF4RixNQUFNLE9BQWdCLG9DQUF1RCxTQUFRLDJCQUE2QztJQUloSSxZQUE2QixZQUErQjtRQUMxRCxLQUFLLEVBQUUsQ0FBQztRQURtQixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7SUFFNUQsQ0FBQztJQUVrQixlQUFlLENBQUMsTUFBbUI7UUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUUzQixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1NBQ2hEO2FBQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDcEM7UUFFRCxPQUFPLHlCQUF5QixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzlELE1BQU07WUFDTixHQUFHLE1BQU07U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDOztrSUFyQm1CLG9DQUFvQztzSEFBcEMsb0NBQW9DOzRGQUFwQyxvQ0FBb0M7a0JBRHpELFNBQVM7d0dBR1IsTUFBTTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdQb3BvdmVyUmVmIH0gZnJvbSAnbmctb3ZlcmxheS1jb250YWluZXInO1xuaW1wb3J0IHsgRGJ4UG9wb3ZlclNlcnZpY2UgfSBmcm9tICcuLi9wb3BvdmVyL3BvcG92ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBEYnhGaWx0ZXJQb3BvdmVyQ29tcG9uZW50LCBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXMgfSBmcm9tICcuL2ZpbHRlci5wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYnN0cmFjdFBvcG92ZXJSZWZEaXJlY3RpdmUgfSBmcm9tICcuLi9wb3BvdmVyL2Fic3RyYWN0LnBvcG92ZXIucmVmLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWx0ZXJTb3VyY2UsIFByZXNldEZpbHRlclNvdXJjZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuXG5leHBvcnQgdHlwZSBEYnhGaWx0ZXJCdXR0b25Db25maWc8RiBleHRlbmRzIG9iamVjdD4gPSBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8Rj47XG5leHBvcnQgdHlwZSBEYnhGaWx0ZXJCdXR0b25Db25maWdXaXRoQ3VzdG9tRmlsdGVyPEYgZXh0ZW5kcyBvYmplY3QsIENGIGV4dGVuZHMgRmlsdGVyU291cmNlPEY+ID0gRmlsdGVyU291cmNlPEY+PiA9IE9taXQ8RGJ4RmlsdGVyQ29tcG9uZW50UGFyYW1zPEYsIGFueSwgQ0YsIGFueT4sICdwcmVzZXRGaWx0ZXInIHwgJ3ByZXNldEZpbHRlckNvbXBvbmVudENvbmZpZyc+O1xuZXhwb3J0IHR5cGUgRGJ4RmlsdGVyQnV0dG9uQ29uZmlnV2l0aFByZXNldEZpbHRlcjxGIGV4dGVuZHMgb2JqZWN0LCBQRiBleHRlbmRzIFByZXNldEZpbHRlclNvdXJjZTxGLCBhbnk+ID0gUHJlc2V0RmlsdGVyU291cmNlPEYsIGFueT4+ID0gT21pdDxEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8RiwgYW55LCBhbnksIFBGPiwgJ2N1c3RvbUZpbHRlcicgfCAnY3VzdG9tRmlsdGVyQ29tcG9uZW50Q29uZmlnJz47XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RmlsdGVyUG9wb3ZlckJ1dHRvbkRpcmVjdGl2ZTxGIGV4dGVuZHMgb2JqZWN0PiBleHRlbmRzIEFic3RyYWN0UG9wb3ZlclJlZkRpcmVjdGl2ZTx1bmtub3duLCB1bmtub3duPiB7XG4gIEBJbnB1dCgpXG4gIGNvbmZpZz86IERieEZpbHRlckNvbXBvbmVudFBhcmFtczxGLCBhbnksIGFueSwgYW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBvcHVwU2VydmljZTogRGJ4UG9wb3ZlclNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIF9tYWtlUG9wb3ZlclJlZihvcmlnaW4/OiBFbGVtZW50UmVmKTogTmdQb3BvdmVyUmVmPHVua25vd24sIHVua25vd24+IHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZztcblxuICAgIGlmICghY29uZmlnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgZmlsdGVyQnV0dG9uQ29uZmlnLicpO1xuICAgIH0gZWxzZSBpZiAoIW9yaWdpbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIG9yaWdpbi4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gRGJ4RmlsdGVyUG9wb3ZlckNvbXBvbmVudC5vcGVuUG9wb3Zlcih0aGlzLnBvcHVwU2VydmljZSwge1xuICAgICAgb3JpZ2luLFxuICAgICAgLi4uY29uZmlnXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -27,15 +27,19 @@ export class DbxFilterPopoverComponent extends AbstractPopoverDirective {
27
27
  this._showPreset = new BehaviorSubject(false);
28
28
  this.showPreset$ = this._showPreset.asObservable();
29
29
  this.config$ = this._showPreset.pipe(map((showPreset) => {
30
- const { closeOnFilterChange = true, connector, initialFilterObs, customFilterComponentClass, presetFilterComponentClass } = this.config;
30
+ const { closeOnFilterChange = true, connector, initialFilterObs, customFilterComponentClass, presetFilterComponentClass, customFilterComponentConfig, presetFilterComponentConfig } = this.config;
31
31
  let componentClass;
32
+ let baseConfig;
32
33
  if (showPreset) {
33
- componentClass = presetFilterComponentClass;
34
+ componentClass = (presetFilterComponentConfig?.componentClass ?? presetFilterComponentClass);
35
+ baseConfig = presetFilterComponentConfig;
34
36
  }
35
37
  else {
36
- componentClass = customFilterComponentClass;
38
+ componentClass = (customFilterComponentConfig?.componentClass ?? customFilterComponentClass);
39
+ baseConfig = customFilterComponentConfig;
37
40
  }
38
41
  const config = {
42
+ ...baseConfig,
39
43
  componentClass,
40
44
  init: (filterSource) => {
41
45
  connector.connectWithSource(filterSource);
@@ -47,12 +51,14 @@ export class DbxFilterPopoverComponent extends AbstractPopoverDirective {
47
51
  this.close();
48
52
  });
49
53
  }
54
+ // run the next init if provided
55
+ baseConfig?.init?.(filterSource);
50
56
  }
51
57
  };
52
58
  return config;
53
59
  }));
54
60
  }
55
- static openPopover(popupService, { width, height, isResizable, origin, header, icon, customFilterComponentClass, presetFilterComponentClass, connector, initialFilterObs, closeOnFilterChange, customizeButtonText, showCloseButton, closeButtonText }, popoverKey) {
61
+ static openPopover(popupService, { width, height, isResizable, origin, header, icon, customFilterComponentClass, presetFilterComponentClass, customFilterComponentConfig, presetFilterComponentConfig, connector, initialFilterObs, closeOnFilterChange, customizeButtonText, showCloseButton, closeButtonText }, popoverKey) {
56
62
  return popupService.open({
57
63
  key: popoverKey ?? DEFAULT_FILTER_POPOVER_KEY,
58
64
  origin,
@@ -68,6 +74,8 @@ export class DbxFilterPopoverComponent extends AbstractPopoverDirective {
68
74
  closeButtonText,
69
75
  customFilterComponentClass,
70
76
  presetFilterComponentClass,
77
+ customFilterComponentConfig,
78
+ presetFilterComponentConfig,
71
79
  connector,
72
80
  initialFilterObs,
73
81
  closeOnFilterChange
@@ -85,14 +93,14 @@ export class DbxFilterPopoverComponent extends AbstractPopoverDirective {
85
93
  }
86
94
  ngOnInit() {
87
95
  let showPreset = false;
88
- const { customFilterComponentClass, presetFilterComponentClass } = this.config;
89
- if (customFilterComponentClass) {
96
+ const { customFilterComponentClass, presetFilterComponentClass, customFilterComponentConfig, presetFilterComponentConfig } = this.config;
97
+ if (customFilterComponentClass || customFilterComponentConfig) {
90
98
  showPreset = false;
91
99
  }
92
- if (presetFilterComponentClass) {
100
+ if (presetFilterComponentClass || presetFilterComponentConfig) {
93
101
  showPreset = true;
94
102
  }
95
- if (!customFilterComponentClass && !presetFilterComponentClass) {
103
+ if (!(customFilterComponentClass || customFilterComponentConfig) && !(presetFilterComponentClass || presetFilterComponentConfig)) {
96
104
  throw new Error('Requires a preset or custom class provided for DbxFilterPopover.');
97
105
  }
98
106
  this._showPreset.next(showPreset);
@@ -114,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
114
122
  type: Component,
115
123
  args: [{ template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n <ng-container *ngIf=\"showSwitchButtons\" [ngSwitch]=\"showPreset$ | async\">\n <button *ngSwitchCase=\"true\" mat-flat-button color=\"accent\" (click)=\"showCustom()\">{{ customizeButtonText }}</button>\n <button *ngSwitchCase=\"false\" mat-flat-button color=\"accent\" (click)=\"showPresets()\">Presets</button>\n </ng-container>\n <ng-container *ngIf=\"showCloseButton\">\n <dbx-button-spacer *ngIf=\"showSwitchButtons\"></dbx-button-spacer>\n <button mat-stroked-button color=\"accent\" (click)=\"close()\">{{ closeButtonText }}</button>\n </ng-container>\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-injection [config]=\"config$ | async\"></dbx-injection>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
116
124
  }], ctorParameters: function () { return [{ type: i1.DbxPopoverComponent }]; } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2ludGVyYWN0aW9uL2ZpbHRlci9maWx0ZXIucG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vZmlsdGVyL2ZpbHRlci5wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBYyxlQUFlLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE9BQU8sRUFBMkQsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBNER6SCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxRQUFRLENBQUM7QUFLbkQsTUFBTSxPQUFPLHlCQUE0QyxTQUFRLHdCQUE4RDtJQXNFN0gsWUFBWSxPQUFrRTtRQUM1RSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUF0RVQsc0JBQWlCLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBRTVDLG9CQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLENBQUM7UUFDNUYsb0JBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsSUFBSSxPQUFPLENBQUM7UUFD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LE1BQU0sQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSwwQkFBMEIsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFL0UsSUFBSSwwQkFBMEIsRUFBRTtZQUM5QixVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3BCO1FBRUQsSUFBSSwwQkFBMEIsRUFBRTtZQUM5QixVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQ25CO1FBRUQsSUFBSSxDQUFDLDBCQUEwQixJQUFJLENBQUMsMEJBQTBCLEVBQUU7WUFDOUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO1NBQ3JGO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7dUhBcEhVLHlCQUF5QjsyR0FBekIseUJBQXlCLDJFQ3hFdEMsazRCQWlCQTs0RkR1RGEseUJBQXlCO2tCQUhyQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBUeXBlLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdQb3BvdmVyUmVmIH0gZnJvbSAnbmctb3ZlcmxheS1jb250YWluZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIHNraXAsIGZpcnN0LCBkZWZhdWx0SWZFbXB0eSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3RQb3BvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vcG9wb3Zlci9hYnN0cmFjdC5wb3BvdmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEYnhQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhQb3BvdmVyQ29uZmlnU2l6aW5nLCBEYnhQb3BvdmVyU2VydmljZSB9IGZyb20gJy4uL3BvcG92ZXIvcG9wb3Zlci5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbHRlclNvdXJjZSwgRmlsdGVyU291cmNlQ29ubmVjdG9yLCBQcmVzZXRGaWx0ZXJTb3VyY2UsIGZpbHRlck1heWJlLCBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IERieFBvcG92ZXJLZXkgfSBmcm9tICcuLi9wb3BvdmVyL3BvcG92ZXInO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8RiBleHRlbmRzIG9iamVjdCA9IG9iamVjdCwgUCBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4gZXh0ZW5kcyBEYnhQb3BvdmVyQ29uZmlnU2l6aW5nIHtcbiAgLyoqXG4gICAqIEN1c3RvbSBpY29uXG4gICAqXG4gICAqIERlZmF1bHRzIHRvIFwiZmlsdGVyX2xpc3RcIlxuICAgKi9cbiAgaWNvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSBoZWFkZXIgdGV4dFxuICAgKlxuICAgKiBEZWZhdWx0cyB0byBcIkZpbHRlclwiXG4gICAqL1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDdXN0b20gY3VzdG9taXplIGJ1dHRvbiB0ZXh0LiBJZiBub3QgZGVmaW5lZCwgZGVmYXVsdHMgdG8gXCJDdXN0b21pemVcIlxuICAgKi9cbiAgY3VzdG9taXplQnV0dG9uVGV4dD86IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSBjbG9zZSBidXR0b24gdGV4dC4gSWYgbm90IGRlZmluZWQsIGRlZmF1bHRzIHRvIFwiQ2xvc2VcIlxuICAgKi9cbiAgY2xvc2VCdXR0b25UZXh0Pzogc3RyaW5nO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gc2hvdyB0aGUgY2xvc2UgYnV0dG9uLiBEZWZhdWx0cyB0byB0aGUgdmFsdWUgb2YgIWNsb3NlT25GaWx0ZXJDaGFuZ2VcbiAgICovXG4gIHNob3dDbG9zZUJ1dHRvbj86IE1heWJlPGJvb2xlYW4+O1xuICAvKipcbiAgICogQ3VzdG9tIGZpbHRlciBjb21wb25lbnQgdG8gaW5pdGlhbGl6ZS5cbiAgICovXG4gIGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzPzogVHlwZTxGaWx0ZXJTb3VyY2U8Rj4+O1xuICAvKipcbiAgICogUHJlc2V0IGZpbHRlciBjb21wb25lbnQgdG8gaW5pdGlhbGl6ZS5cbiAgICovXG4gIHByZXNldEZpbHRlckNvbXBvbmVudENsYXNzPzogVHlwZTxQcmVzZXRGaWx0ZXJTb3VyY2U8RiwgUD4+O1xuICAvKipcbiAgICogVGhlIGNvbm5lY3RvciB0byB1c2UuXG4gICAqL1xuICBjb25uZWN0b3I6IEZpbHRlclNvdXJjZUNvbm5lY3RvcjxGPjtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgSW5pdGFsIGZpbHRlciB0byBwYXNzIHRvIHRoZSBmaWx0ZXIgc291cmNlLlxuICAgKi9cbiAgaW5pdGlhbEZpbHRlck9icz86IE9ic2VydmFibGU8Rj47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFdoZXRoZXIgb3Igbm90IHRvIGNsb3NlIHRoZSBjb21wb25lbnQgaWYgdGhlIGZpbHRlciBjaGFuZ2VzLlxuICAgKlxuICAgKiBUcnVlIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBjbG9zZU9uRmlsdGVyQ2hhbmdlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaWx0ZXJQb3BvdmVyQ29tcG9uZW50UGFyYW1zPEYgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+IGV4dGVuZHMgRGJ4RmlsdGVyQ29tcG9uZW50UGFyYW1zPEY+IHtcbiAgLyoqXG4gICAqIE9yaWdpbiB0byBhZGQgdGhlIHBvcG92ZXIgdG8uXG4gICAqL1xuICBvcmlnaW46IEVsZW1lbnRSZWY7XG59XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZJTFRFUl9QT1BPVkVSX0tFWSA9ICdmaWx0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci5wb3BvdmVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhGaWx0ZXJQb3BvdmVyQ29tcG9uZW50PEYgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgQWJzdHJhY3RQb3BvdmVyRGlyZWN0aXZlPHVua25vd24sIERieEZpbHRlckNvbXBvbmVudFBhcmFtczxGPj4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2Nsb3NlT25DaGFuZ2VTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcmVhZG9ubHkgc2hvd0Nsb3NlQnV0dG9uID0gdGhpcy5jb25maWcuc2hvd0Nsb3NlQnV0dG9uID8/ICEodGhpcy5jb25maWcuY2xvc2VPbkZpbHRlckNoYW5nZSA/PyB0cnVlKTtcbiAgcmVhZG9ubHkgY2xvc2VCdXR0b25UZXh0ID0gdGhpcy5jb25maWcuY2xvc2VCdXR0b25UZXh0ID8/ICdDbG9zZSc7XG4gIHJlYWRvbmx5IGN1c3RvbWl6ZUJ1dHRvblRleHQgPSB0aGlzLmNvbmZpZy5jdXN0b21pemVCdXR0b25UZXh0ID8/ICdDdXN0b21pemUnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBkaXNwbGF5IGJ1dHRvbnMgdG8gdG9nZ2xlIGJldHdlZW4gY3VzdG9tIGFuZCBwcmVzZXQgZmlsdGVycy5cbiAgICovXG4gIHJlYWRvbmx5IHNob3dTd2l0Y2hCdXR0b25zID0gQm9vbGVhbih0aGlzLmNvbmZpZy5jdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcyAmJiB0aGlzLmNvbmZpZy5wcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcyk7XG5cbiAgcHJpdmF0ZSBfc2hvd1ByZXNldCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBzaG93UHJlc2V0JCA9IHRoaXMuX3Nob3dQcmVzZXQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcmVhZG9ubHkgY29uZmlnJDogT2JzZXJ2YWJsZTxEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8RmlsdGVyU291cmNlPEY+Pj4gPSB0aGlzLl9zaG93UHJlc2V0LnBpcGUoXG4gICAgbWFwKChzaG93UHJlc2V0KSA9PiB7XG4gICAgICBjb25zdCB7IGNsb3NlT25GaWx0ZXJDaGFuZ2UgPSB0cnVlLCBjb25uZWN0b3IsIGluaXRpYWxGaWx0ZXJPYnMsIGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzLCBwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcyB9ID0gdGhpcy5jb25maWc7XG4gICAgICBsZXQgY29tcG9uZW50Q2xhc3M6IFR5cGU8RmlsdGVyU291cmNlPEY+PjtcblxuICAgICAgaWYgKHNob3dQcmVzZXQpIHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3MgPSBwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcyBhcyBUeXBlPEZpbHRlclNvdXJjZTxGPj47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb21wb25lbnRDbGFzcyA9IGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzIGFzIFR5cGU8RmlsdGVyU291cmNlPEY+PjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29uZmlnOiBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8RmlsdGVyU291cmNlPEY+PiA9IHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3MsXG4gICAgICAgIGluaXQ6IChmaWx0ZXJTb3VyY2UpID0+IHtcbiAgICAgICAgICBjb25uZWN0b3IuY29ubmVjdFdpdGhTb3VyY2UoZmlsdGVyU291cmNlKTtcblxuICAgICAgICAgIGlmIChpbml0aWFsRmlsdGVyT2JzICYmIGZpbHRlclNvdXJjZS5pbml0V2l0aEZpbHRlcikge1xuICAgICAgICAgICAgZmlsdGVyU291cmNlLmluaXRXaXRoRmlsdGVyKGluaXRpYWxGaWx0ZXJPYnMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChjbG9zZU9uRmlsdGVyQ2hhbmdlICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy5fY2xvc2VPbkNoYW5nZVN1Yi5zdWJzY3JpcHRpb24gPSBmaWx0ZXJTb3VyY2UuZmlsdGVyJC5waXBlKHNraXAoMSksIGZpbHRlck1heWJlKCksIGZpcnN0KCksIGRlZmF1bHRJZkVtcHR5KHVuZGVmaW5lZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9KVxuICApO1xuXG4gIHN0YXRpYyBvcGVuUG9wb3ZlcjxGIGV4dGVuZHMgb2JqZWN0Pihwb3B1cFNlcnZpY2U6IERieFBvcG92ZXJTZXJ2aWNlLCB7IHdpZHRoLCBoZWlnaHQsIGlzUmVzaXphYmxlLCBvcmlnaW4sIGhlYWRlciwgaWNvbiwgY3VzdG9tRmlsdGVyQ29tcG9uZW50Q2xhc3MsIHByZXNldEZpbHRlckNvbXBvbmVudENsYXNzLCBjb25uZWN0b3IsIGluaXRpYWxGaWx0ZXJPYnMsIGNsb3NlT25GaWx0ZXJDaGFuZ2UsIGN1c3RvbWl6ZUJ1dHRvblRleHQsIHNob3dDbG9zZUJ1dHRvbiwgY2xvc2VCdXR0b25UZXh0IH06IERieEZpbHRlclBvcG92ZXJDb21wb25lbnRQYXJhbXM8Rj4sIHBvcG92ZXJLZXk/OiBEYnhQb3BvdmVyS2V5KTogTmdQb3BvdmVyUmVmIHtcbiAgICByZXR1cm4gcG9wdXBTZXJ2aWNlLm9wZW4oe1xuICAgICAga2V5OiBwb3BvdmVyS2V5ID8/IERFRkFVTFRfRklMVEVSX1BPUE9WRVJfS0VZLFxuICAgICAgb3JpZ2luLFxuICAgICAgY29tcG9uZW50Q2xhc3M6IERieEZpbHRlclBvcG92ZXJDb21wb25lbnQsXG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIGlzUmVzaXphYmxlLFxuICAgICAgZGF0YToge1xuICAgICAgICBoZWFkZXIsXG4gICAgICAgIGljb24sXG4gICAgICAgIGN1c3RvbWl6ZUJ1dHRvblRleHQsXG4gICAgICAgIHNob3dDbG9zZUJ1dHRvbixcbiAgICAgICAgY2xvc2VCdXR0b25UZXh0LFxuICAgICAgICBjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcyxcbiAgICAgICAgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MsXG4gICAgICAgIGNvbm5lY3RvcixcbiAgICAgICAgaW5pdGlhbEZpbHRlck9icyxcbiAgICAgICAgY2xvc2VPbkZpbHRlckNoYW5nZVxuICAgICAgfSBhcyBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8Rj5cbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHBvcG92ZXI6IERieFBvcG92ZXJDb21wb25lbnQ8dW5rbm93biwgRGJ4RmlsdGVyQ29tcG9uZW50UGFyYW1zPEY+Pikge1xuICAgIHN1cGVyKHBvcG92ZXIpO1xuICB9XG5cbiAgZ2V0IGNvbmZpZygpOiBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8Rj4ge1xuICAgIHJldHVybiB0aGlzLnBvcG92ZXIuZGF0YSBhcyBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8Rj47XG4gIH1cblxuICBnZXQgaWNvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuaWNvbiA/PyAnZmlsdGVyX2xpc3QnO1xuICB9XG5cbiAgZ2V0IGhlYWRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuaGVhZGVyID8/ICdGaWx0ZXInO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgbGV0IHNob3dQcmVzZXQgPSBmYWxzZTtcbiAgICBjb25zdCB7IGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzLCBwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcyB9ID0gdGhpcy5jb25maWc7XG5cbiAgICBpZiAoY3VzdG9tRmlsdGVyQ29tcG9uZW50Q2xhc3MpIHtcbiAgICAgIHNob3dQcmVzZXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAocHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MpIHtcbiAgICAgIHNob3dQcmVzZXQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICghY3VzdG9tRmlsdGVyQ29tcG9uZW50Q2xhc3MgJiYgIXByZXNldEZpbHRlckNvbXBvbmVudENsYXNzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVzIGEgcHJlc2V0IG9yIGN1c3RvbSBjbGFzcyBwcm92aWRlZCBmb3IgRGJ4RmlsdGVyUG9wb3Zlci4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zaG93UHJlc2V0Lm5leHQoc2hvd1ByZXNldCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9zZU9uQ2hhbmdlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9zaG93UHJlc2V0LmNvbXBsZXRlKCk7XG4gIH1cblxuICBzaG93UHJlc2V0cygpIHtcbiAgICB0aGlzLl9zaG93UHJlc2V0Lm5leHQodHJ1ZSk7XG4gIH1cblxuICBzaG93Q3VzdG9tKCkge1xuICAgIHRoaXMuX3Nob3dQcmVzZXQubmV4dChmYWxzZSk7XG4gIH1cbn1cbiIsIjxkYngtcG9wb3Zlci1jb250ZW50PlxuICA8IS0tIEhlYWRlciAtLT5cbiAgPGRieC1wb3BvdmVyLWhlYWRlciBbaWNvbl09XCJpY29uXCIgW2hlYWRlcl09XCJoZWFkZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1N3aXRjaEJ1dHRvbnNcIiBbbmdTd2l0Y2hdPVwic2hvd1ByZXNldCQgfCBhc3luY1wiPlxuICAgICAgPGJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJzaG93Q3VzdG9tKClcIj57eyBjdXN0b21pemVCdXR0b25UZXh0IH19PC9idXR0b24+XG4gICAgICA8YnV0dG9uICpuZ1N3aXRjaENhc2U9XCJmYWxzZVwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJzaG93UHJlc2V0cygpXCI+UHJlc2V0czwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93Q2xvc2VCdXR0b25cIj5cbiAgICAgIDxkYngtYnV0dG9uLXNwYWNlciAqbmdJZj1cInNob3dTd2l0Y2hCdXR0b25zXCI+PC9kYngtYnV0dG9uLXNwYWNlcj5cbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cImNsb3NlKClcIj57eyBjbG9zZUJ1dHRvblRleHQgfX08L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kYngtcG9wb3Zlci1oZWFkZXI+XG4gIDwhLS0gQ29udGVudCAtLT5cbiAgPGRieC1wb3BvdmVyLXNjcm9sbC1jb250ZW50PlxuICAgIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiY29uZmlnJCB8IGFzeW5jXCI+PC9kYngtaW5qZWN0aW9uPlxuICA8L2RieC1wb3BvdmVyLXNjcm9sbC1jb250ZW50PlxuPC9kYngtcG9wb3Zlci1jb250ZW50PlxuIl19
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2ludGVyYWN0aW9uL2ZpbHRlci9maWx0ZXIucG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vZmlsdGVyL2ZpbHRlci5wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBYyxlQUFlLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE9BQU8sRUFBMkQsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBb0V6SCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxRQUFRLENBQUM7QUFLbkQsTUFBTSxPQUFPLHlCQUE0QyxTQUFRLHdCQUE4RDtJQStFN0gsWUFBWSxPQUFrRTtRQUM1RSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUEvRVQsc0JBQWlCLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBRTVDLG9CQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLENBQUM7UUFDNUYsb0JBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsSUFBSSxPQUFPLENBQUM7UUFD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Q0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7O3VIQTdIVSx5QkFBeUI7MkdBQXpCLHlCQUF5QiwyRUNoRnRDLGs0QkFpQkE7NEZEK0RhLHlCQUF5QjtrQkFIckMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZyB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVHlwZSwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nUG9wb3ZlclJlZiB9IGZyb20gJ25nLW92ZXJsYXktY29udGFpbmVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgbWFwLCBza2lwLCBmaXJzdCwgZGVmYXVsdElmRW1wdHkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0UG9wb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4uL3BvcG92ZXIvYWJzdHJhY3QucG9wb3Zlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGJ4UG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJ4UG9wb3ZlckNvbmZpZ1NpemluZywgRGJ4UG9wb3ZlclNlcnZpY2UgfSBmcm9tICcuLi9wb3BvdmVyL3BvcG92ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXJTb3VyY2UsIEZpbHRlclNvdXJjZUNvbm5lY3RvciwgUHJlc2V0RmlsdGVyU291cmNlLCBmaWx0ZXJNYXliZSwgU3Vic2NyaXB0aW9uT2JqZWN0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEYnhQb3BvdmVyS2V5IH0gZnJvbSAnLi4vcG9wb3Zlci9wb3BvdmVyJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlsdGVyQ29tcG9uZW50UGFyYW1zPEYgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3QsIFAgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsIENGIGV4dGVuZHMgRmlsdGVyU291cmNlPEY+ID0gRmlsdGVyU291cmNlPEY+LCBQRiBleHRlbmRzIFByZXNldEZpbHRlclNvdXJjZTxGLCBQPiA9IFByZXNldEZpbHRlclNvdXJjZTxGLCBQPj4gZXh0ZW5kcyBEYnhQb3BvdmVyQ29uZmlnU2l6aW5nIHtcbiAgLyoqXG4gICAqIEN1c3RvbSBpY29uXG4gICAqXG4gICAqIERlZmF1bHRzIHRvIFwiZmlsdGVyX2xpc3RcIlxuICAgKi9cbiAgaWNvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSBoZWFkZXIgdGV4dFxuICAgKlxuICAgKiBEZWZhdWx0cyB0byBcIkZpbHRlclwiXG4gICAqL1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDdXN0b20gY3VzdG9taXplIGJ1dHRvbiB0ZXh0LiBJZiBub3QgZGVmaW5lZCwgZGVmYXVsdHMgdG8gXCJDdXN0b21pemVcIlxuICAgKi9cbiAgY3VzdG9taXplQnV0dG9uVGV4dD86IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSBjbG9zZSBidXR0b24gdGV4dC4gSWYgbm90IGRlZmluZWQsIGRlZmF1bHRzIHRvIFwiQ2xvc2VcIlxuICAgKi9cbiAgY2xvc2VCdXR0b25UZXh0Pzogc3RyaW5nO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gc2hvdyB0aGUgY2xvc2UgYnV0dG9uLiBEZWZhdWx0cyB0byB0aGUgdmFsdWUgb2YgIWNsb3NlT25GaWx0ZXJDaGFuZ2VcbiAgICovXG4gIHNob3dDbG9zZUJ1dHRvbj86IE1heWJlPGJvb2xlYW4+O1xuICAvKipcbiAgICogQ3VzdG9tIGZpbHRlciBjb21wb25lbnQgdG8gaW5pdGlhbGl6ZS5cbiAgICovXG4gIGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzPzogVHlwZTxDRj47XG4gIC8qKlxuICAgKiBQcmVzZXQgZmlsdGVyIGNvbXBvbmVudCB0byBpbml0aWFsaXplLlxuICAgKi9cbiAgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3M/OiBUeXBlPFBGPjtcbiAgLyoqXG4gICAqIERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZyBmb3IgdGhlIGN1c3RvbSBmaWx0ZXIgY29tcG9uZW50IHRvIGluaXRpYWxpemUuXG4gICAqL1xuICBjdXN0b21GaWx0ZXJDb21wb25lbnRDb25maWc/OiBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8Q0Y+O1xuICAvKipcbiAgICogRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnIGZvciB0aGUgcHJlc2V0IGZpbHRlciBjb21wb25lbnQgdG8gaW5pdGlhbGl6ZS5cbiAgICovXG4gIHByZXNldEZpbHRlckNvbXBvbmVudENvbmZpZz86IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxQRj47XG4gIC8qKlxuICAgKiBUaGUgY29ubmVjdG9yIHRvIHVzZS5cbiAgICovXG4gIGNvbm5lY3RvcjogRmlsdGVyU291cmNlQ29ubmVjdG9yPEY+O1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBJbml0YWwgZmlsdGVyIHRvIHBhc3MgdG8gdGhlIGZpbHRlciBzb3VyY2UuXG4gICAqL1xuICBpbml0aWFsRmlsdGVyT2JzPzogT2JzZXJ2YWJsZTxGPjtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgV2hldGhlciBvciBub3QgdG8gY2xvc2UgdGhlIGNvbXBvbmVudCBpZiB0aGUgZmlsdGVyIGNoYW5nZXMuXG4gICAqXG4gICAqIFRydWUgYnkgZGVmYXVsdC5cbiAgICovXG4gIGNsb3NlT25GaWx0ZXJDaGFuZ2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpbHRlclBvcG92ZXJDb21wb25lbnRQYXJhbXM8RiBleHRlbmRzIG9iamVjdCA9IG9iamVjdD4gZXh0ZW5kcyBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8Rj4ge1xuICAvKipcbiAgICogT3JpZ2luIHRvIGFkZCB0aGUgcG9wb3ZlciB0by5cbiAgICovXG4gIG9yaWdpbjogRWxlbWVudFJlZjtcbn1cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRklMVEVSX1BPUE9WRVJfS0VZID0gJ2ZpbHRlcic7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLnBvcG92ZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERieEZpbHRlclBvcG92ZXJDb21wb25lbnQ8RiBleHRlbmRzIG9iamVjdD4gZXh0ZW5kcyBBYnN0cmFjdFBvcG92ZXJEaXJlY3RpdmU8dW5rbm93biwgRGJ4RmlsdGVyQ29tcG9uZW50UGFyYW1zPEY+PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfY2xvc2VPbkNoYW5nZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICByZWFkb25seSBzaG93Q2xvc2VCdXR0b24gPSB0aGlzLmNvbmZpZy5zaG93Q2xvc2VCdXR0b24gPz8gISh0aGlzLmNvbmZpZy5jbG9zZU9uRmlsdGVyQ2hhbmdlID8/IHRydWUpO1xuICByZWFkb25seSBjbG9zZUJ1dHRvblRleHQgPSB0aGlzLmNvbmZpZy5jbG9zZUJ1dHRvblRleHQgPz8gJ0Nsb3NlJztcbiAgcmVhZG9ubHkgY3VzdG9taXplQnV0dG9uVGV4dCA9IHRoaXMuY29uZmlnLmN1c3RvbWl6ZUJ1dHRvblRleHQgPz8gJ0N1c3RvbWl6ZSc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGRpc3BsYXkgYnV0dG9ucyB0byB0b2dnbGUgYmV0d2VlbiBjdXN0b20gYW5kIHByZXNldCBmaWx0ZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvd1N3aXRjaEJ1dHRvbnMgPSBCb29sZWFuKHRoaXMuY29uZmlnLmN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzICYmIHRoaXMuY29uZmlnLnByZXNldEZpbHRlckNvbXBvbmVudENsYXNzKTtcblxuICBwcml2YXRlIF9zaG93UHJlc2V0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHNob3dQcmVzZXQkID0gdGhpcy5fc2hvd1ByZXNldC5hc09ic2VydmFibGUoKTtcblxuICByZWFkb25seSBjb25maWckOiBPYnNlcnZhYmxlPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxGaWx0ZXJTb3VyY2U8Rj4+PiA9IHRoaXMuX3Nob3dQcmVzZXQucGlwZShcbiAgICBtYXAoKHNob3dQcmVzZXQpID0+IHtcbiAgICAgIGNvbnN0IHsgY2xvc2VPbkZpbHRlckNoYW5nZSA9IHRydWUsIGNvbm5lY3RvciwgaW5pdGlhbEZpbHRlck9icywgY3VzdG9tRmlsdGVyQ29tcG9uZW50Q2xhc3MsIHByZXNldEZpbHRlckNvbXBvbmVudENsYXNzLCBjdXN0b21GaWx0ZXJDb21wb25lbnRDb25maWcsIHByZXNldEZpbHRlckNvbXBvbmVudENvbmZpZyB9ID0gdGhpcy5jb25maWc7XG4gICAgICBsZXQgY29tcG9uZW50Q2xhc3M6IFR5cGU8RmlsdGVyU291cmNlPEY+PjtcbiAgICAgIGxldCBiYXNlQ29uZmlnOiBNYXliZTxEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8RmlsdGVyU291cmNlPEY+Pj47XG5cbiAgICAgIGlmIChzaG93UHJlc2V0KSB7XG4gICAgICAgIGNvbXBvbmVudENsYXNzID0gKHByZXNldEZpbHRlckNvbXBvbmVudENvbmZpZz8uY29tcG9uZW50Q2xhc3MgPz8gcHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MpIGFzIFR5cGU8RmlsdGVyU291cmNlPEY+PjtcbiAgICAgICAgYmFzZUNvbmZpZyA9IHByZXNldEZpbHRlckNvbXBvbmVudENvbmZpZztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbXBvbmVudENsYXNzID0gKGN1c3RvbUZpbHRlckNvbXBvbmVudENvbmZpZz8uY29tcG9uZW50Q2xhc3MgPz8gY3VzdG9tRmlsdGVyQ29tcG9uZW50Q2xhc3MpIGFzIFR5cGU8RmlsdGVyU291cmNlPEY+PjtcbiAgICAgICAgYmFzZUNvbmZpZyA9IGN1c3RvbUZpbHRlckNvbXBvbmVudENvbmZpZztcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29uZmlnOiBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8RmlsdGVyU291cmNlPEY+PiA9IHtcbiAgICAgICAgLi4uYmFzZUNvbmZpZyxcbiAgICAgICAgY29tcG9uZW50Q2xhc3MsXG4gICAgICAgIGluaXQ6IChmaWx0ZXJTb3VyY2UpID0+IHtcbiAgICAgICAgICBjb25uZWN0b3IuY29ubmVjdFdpdGhTb3VyY2UoZmlsdGVyU291cmNlKTtcblxuICAgICAgICAgIGlmIChpbml0aWFsRmlsdGVyT2JzICYmIGZpbHRlclNvdXJjZS5pbml0V2l0aEZpbHRlcikge1xuICAgICAgICAgICAgZmlsdGVyU291cmNlLmluaXRXaXRoRmlsdGVyKGluaXRpYWxGaWx0ZXJPYnMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChjbG9zZU9uRmlsdGVyQ2hhbmdlICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy5fY2xvc2VPbkNoYW5nZVN1Yi5zdWJzY3JpcHRpb24gPSBmaWx0ZXJTb3VyY2UuZmlsdGVyJC5waXBlKHNraXAoMSksIGZpbHRlck1heWJlKCksIGZpcnN0KCksIGRlZmF1bHRJZkVtcHR5KHVuZGVmaW5lZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHJ1biB0aGUgbmV4dCBpbml0IGlmIHByb3ZpZGVkXG4gICAgICAgICAgYmFzZUNvbmZpZz8uaW5pdD8uKGZpbHRlclNvdXJjZSk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBjb25maWc7XG4gICAgfSlcbiAgKTtcblxuICBzdGF0aWMgb3BlblBvcG92ZXI8RiBleHRlbmRzIG9iamVjdD4ocG9wdXBTZXJ2aWNlOiBEYnhQb3BvdmVyU2VydmljZSwgeyB3aWR0aCwgaGVpZ2h0LCBpc1Jlc2l6YWJsZSwgb3JpZ2luLCBoZWFkZXIsIGljb24sIGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzLCBwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcywgY3VzdG9tRmlsdGVyQ29tcG9uZW50Q29uZmlnLCBwcmVzZXRGaWx0ZXJDb21wb25lbnRDb25maWcsIGNvbm5lY3RvciwgaW5pdGlhbEZpbHRlck9icywgY2xvc2VPbkZpbHRlckNoYW5nZSwgY3VzdG9taXplQnV0dG9uVGV4dCwgc2hvd0Nsb3NlQnV0dG9uLCBjbG9zZUJ1dHRvblRleHQgfTogRGJ4RmlsdGVyUG9wb3ZlckNvbXBvbmVudFBhcmFtczxGPiwgcG9wb3ZlcktleT86IERieFBvcG92ZXJLZXkpOiBOZ1BvcG92ZXJSZWYge1xuICAgIHJldHVybiBwb3B1cFNlcnZpY2Uub3Blbih7XG4gICAgICBrZXk6IHBvcG92ZXJLZXkgPz8gREVGQVVMVF9GSUxURVJfUE9QT1ZFUl9LRVksXG4gICAgICBvcmlnaW4sXG4gICAgICBjb21wb25lbnRDbGFzczogRGJ4RmlsdGVyUG9wb3ZlckNvbXBvbmVudCxcbiAgICAgIHdpZHRoLFxuICAgICAgaGVpZ2h0LFxuICAgICAgaXNSZXNpemFibGUsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGhlYWRlcixcbiAgICAgICAgaWNvbixcbiAgICAgICAgY3VzdG9taXplQnV0dG9uVGV4dCxcbiAgICAgICAgc2hvd0Nsb3NlQnV0dG9uLFxuICAgICAgICBjbG9zZUJ1dHRvblRleHQsXG4gICAgICAgIGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzLFxuICAgICAgICBwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcyxcbiAgICAgICAgY3VzdG9tRmlsdGVyQ29tcG9uZW50Q29uZmlnLFxuICAgICAgICBwcmVzZXRGaWx0ZXJDb21wb25lbnRDb25maWcsXG4gICAgICAgIGNvbm5lY3RvcixcbiAgICAgICAgaW5pdGlhbEZpbHRlck9icyxcbiAgICAgICAgY2xvc2VPbkZpbHRlckNoYW5nZVxuICAgICAgfSBhcyBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8Rj5cbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHBvcG92ZXI6IERieFBvcG92ZXJDb21wb25lbnQ8dW5rbm93biwgRGJ4RmlsdGVyQ29tcG9uZW50UGFyYW1zPEY+Pikge1xuICAgIHN1cGVyKHBvcG92ZXIpO1xuICB9XG5cbiAgZ2V0IGNvbmZpZygpOiBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8Rj4ge1xuICAgIHJldHVybiB0aGlzLnBvcG92ZXIuZGF0YSBhcyBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8Rj47XG4gIH1cblxuICBnZXQgaWNvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuaWNvbiA/PyAnZmlsdGVyX2xpc3QnO1xuICB9XG5cbiAgZ2V0IGhlYWRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuaGVhZGVyID8/ICdGaWx0ZXInO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgbGV0IHNob3dQcmVzZXQgPSBmYWxzZTtcbiAgICBjb25zdCB7IGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzLCBwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcywgY3VzdG9tRmlsdGVyQ29tcG9uZW50Q29uZmlnLCBwcmVzZXRGaWx0ZXJDb21wb25lbnRDb25maWcgfSA9IHRoaXMuY29uZmlnO1xuXG4gICAgaWYgKGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzIHx8IGN1c3RvbUZpbHRlckNvbXBvbmVudENvbmZpZykge1xuICAgICAgc2hvd1ByZXNldCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcyB8fCBwcmVzZXRGaWx0ZXJDb21wb25lbnRDb25maWcpIHtcbiAgICAgIHNob3dQcmVzZXQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICghKGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzIHx8IGN1c3RvbUZpbHRlckNvbXBvbmVudENvbmZpZykgJiYgIShwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcyB8fCBwcmVzZXRGaWx0ZXJDb21wb25lbnRDb25maWcpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVzIGEgcHJlc2V0IG9yIGN1c3RvbSBjbGFzcyBwcm92aWRlZCBmb3IgRGJ4RmlsdGVyUG9wb3Zlci4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zaG93UHJlc2V0Lm5leHQoc2hvd1ByZXNldCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9zZU9uQ2hhbmdlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9zaG93UHJlc2V0LmNvbXBsZXRlKCk7XG4gIH1cblxuICBzaG93UHJlc2V0cygpIHtcbiAgICB0aGlzLl9zaG93UHJlc2V0Lm5leHQodHJ1ZSk7XG4gIH1cblxuICBzaG93Q3VzdG9tKCkge1xuICAgIHRoaXMuX3Nob3dQcmVzZXQubmV4dChmYWxzZSk7XG4gIH1cbn1cbiIsIjxkYngtcG9wb3Zlci1jb250ZW50PlxuICA8IS0tIEhlYWRlciAtLT5cbiAgPGRieC1wb3BvdmVyLWhlYWRlciBbaWNvbl09XCJpY29uXCIgW2hlYWRlcl09XCJoZWFkZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1N3aXRjaEJ1dHRvbnNcIiBbbmdTd2l0Y2hdPVwic2hvd1ByZXNldCQgfCBhc3luY1wiPlxuICAgICAgPGJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJzaG93Q3VzdG9tKClcIj57eyBjdXN0b21pemVCdXR0b25UZXh0IH19PC9idXR0b24+XG4gICAgICA8YnV0dG9uICpuZ1N3aXRjaENhc2U9XCJmYWxzZVwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJzaG93UHJlc2V0cygpXCI+UHJlc2V0czwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93Q2xvc2VCdXR0b25cIj5cbiAgICAgIDxkYngtYnV0dG9uLXNwYWNlciAqbmdJZj1cInNob3dTd2l0Y2hCdXR0b25zXCI+PC9kYngtYnV0dG9uLXNwYWNlcj5cbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cImNsb3NlKClcIj57eyBjbG9zZUJ1dHRvblRleHQgfX08L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kYngtcG9wb3Zlci1oZWFkZXI+XG4gIDwhLS0gQ29udGVudCAtLT5cbiAgPGRieC1wb3BvdmVyLXNjcm9sbC1jb250ZW50PlxuICAgIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiY29uZmlnJCB8IGFzeW5jXCI+PC9kYngtaW5qZWN0aW9uPlxuICA8L2RieC1wb3BvdmVyLXNjcm9sbC1jb250ZW50PlxuPC9kYngtcG9wb3Zlci1jb250ZW50PlxuIl19
@@ -1,5 +1,5 @@
1
1
  import { shareReplay, BehaviorSubject, map, combineLatest, distinctUntilChanged, startWith } from 'rxjs';
2
- import { Directive, Input } from '@angular/core';
2
+ import { Directive, EventEmitter, Input, Output } from '@angular/core';
3
3
  import { FilterSourceDirective, isClickableFilterPreset } from '@dereekb/dbx-core';
4
4
  import { getValueFromGetter, objectHasNoKeys } from '@dereekb/util';
5
5
  import * as i0 from "@angular/core";
@@ -11,6 +11,7 @@ export class AbstractDbxPresetFilterMenuComponent {
11
11
  constructor(filterSourceDirective) {
12
12
  this.filterSourceDirective = filterSourceDirective;
13
13
  //TODO: Rename to AbstractDbxPresetFilterMenuDirective with next breaking changes
14
+ this.presetSelected = new EventEmitter();
14
15
  this._presets = new BehaviorSubject([]);
15
16
  this.selected$ = this.filterSourceDirective.filter$.pipe(startWith(undefined), distinctUntilChanged(), shareReplay(1));
16
17
  this.presetsWithPresetStringOnly$ = this._presets.pipe(map((x) => x.filter((y) => Boolean(y.preset))));
@@ -74,16 +75,20 @@ export class AbstractDbxPresetFilterMenuComponent {
74
75
  }
75
76
  this.filterSourceDirective.setFilter(filter);
76
77
  }
78
+ this.presetSelected.next(preset);
77
79
  }
78
80
  ngOnDestroy() {
79
81
  this._presets.complete();
82
+ this.presetSelected.complete();
80
83
  }
81
84
  }
82
85
  AbstractDbxPresetFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AbstractDbxPresetFilterMenuComponent, deps: [{ token: i1.FilterSourceDirective }], target: i0.ɵɵFactoryTarget.Directive });
83
- AbstractDbxPresetFilterMenuComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: AbstractDbxPresetFilterMenuComponent, inputs: { presets: "presets" }, ngImport: i0 });
86
+ AbstractDbxPresetFilterMenuComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: AbstractDbxPresetFilterMenuComponent, inputs: { presets: "presets" }, outputs: { presetSelected: "presetSelected" }, ngImport: i0 });
84
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AbstractDbxPresetFilterMenuComponent, decorators: [{
85
88
  type: Directive
86
- }], ctorParameters: function () { return [{ type: i1.FilterSourceDirective }]; }, propDecorators: { presets: [{
89
+ }], ctorParameters: function () { return [{ type: i1.FilterSourceDirective }]; }, propDecorators: { presetSelected: [{
90
+ type: Output
91
+ }], presets: [{
87
92
  type: Input
88
93
  }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnByZXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9maWx0ZXIvZmlsdGVyLnByZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQWMsYUFBYSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNySCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQThDLHFCQUFxQixFQUFzRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25NLE9BQU8sRUFBRSxrQkFBa0IsRUFBUyxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUczRTs7R0FFRztBQUVILE1BQU0sT0FBZ0Isb0NBQW9DO0lBeUV4RCxZQUFxQixxQkFBK0M7UUFBL0MsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUEwQjtRQXhFcEUsaUZBQWlGO1FBRXpFLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBNEMsRUFBRSxDQUFDLENBQUM7UUFFN0UsY0FBUyxHQUF5QixJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4SSxpQ0FBNEIsR0FBMkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUUsQ0FBOEIsQ0FBQyxNQUFNLENBQUMsQ0FBK0IsQ0FBQyxDQUFDLENBQUM7UUFFdE0sMEJB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IHsgc2hhcmVSZXBsYXksIEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsaWNrYWJsZUZpbHRlclByZXNldCwgQ2xpY2thYmxlQW5jaG9yTGluaywgRmlsdGVyU291cmNlRGlyZWN0aXZlLCBDbGlja2FibGVQYXJ0aWFsRmlsdGVyUHJlc2V0LCBDbGlja2FibGVGaWx0ZXJQcmVzZXRPclBhcnRpYWxQcmVzZXQsIGlzQ2xpY2thYmxlRmlsdGVyUHJlc2V0IH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgZ2V0VmFsdWVGcm9tR2V0dGVyLCBNYXliZSwgb2JqZWN0SGFzTm9LZXlzIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBGaWx0ZXJXaXRoUHJlc2V0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbi8qKlxuICogRGlzcGxheXMgYSBidXR0b24gYW5kIG1lbnUgZm9yIGZpbHRlcmluZyBwcmVzZXRzLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERieFByZXNldEZpbHRlck1lbnVDb21wb25lbnQ8RiBleHRlbmRzIEZpbHRlcldpdGhQcmVzZXQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLy9UT0RPOiBSZW5hbWUgdG8gQWJzdHJhY3REYnhQcmVzZXRGaWx0ZXJNZW51RGlyZWN0aXZlIHdpdGggbmV4dCBicmVha2luZyBjaGFuZ2VzXG5cbiAgcHJpdmF0ZSBfcHJlc2V0cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2xpY2thYmxlRmlsdGVyUHJlc2V0T3JQYXJ0aWFsUHJlc2V0PEY+W10+KFtdKTtcblxuICByZWFkb25seSBzZWxlY3RlZCQ6IE9ic2VydmFibGU8TWF5YmU8Rj4+ID0gdGhpcy5maWx0ZXJTb3VyY2VEaXJlY3RpdmUuZmlsdGVyJC5waXBlKHN0YXJ0V2l0aCh1bmRlZmluZWQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IHByZXNldHNXaXRoUHJlc2V0U3RyaW5nT25seSQ6IE9ic2VydmFibGU8Q2xpY2thYmxlRmlsdGVyUHJlc2V0PEY+W10+ID0gdGhpcy5fcHJlc2V0cy5waXBlKG1hcCgoeCkgPT4geC5maWx0ZXIoKHkpID0+IEJvb2xlYW4oKHkgYXMgQ2xpY2thYmxlRmlsdGVyUHJlc2V0PEY+KS5wcmVzZXQpKSBhcyBDbGlja2FibGVGaWx0ZXJQcmVzZXQ8Rj5bXSkpO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkUHJlc2V0U3RyaW5nJDogT2JzZXJ2YWJsZTxNYXliZTxzdHJpbmc+PiA9IHRoaXMuc2VsZWN0ZWQkLnBpcGUoXG4gICAgbWFwKChzZWxlY3RlZEZpbHRlcikgPT4gKHNlbGVjdGVkRmlsdGVyID8gc2VsZWN0ZWRGaWx0ZXIucHJlc2V0IDogdW5kZWZpbmVkKSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICApO1xuXG4gIHJlYWRvbmx5IHByZXNldEFuY2hvcnNQYWlycyQ6IE9ic2VydmFibGU8WydwcmVzZXQnIHwgJ3BhcnRpYWxQcmVzZXQnLCBDbGlja2FibGVGaWx0ZXJQcmVzZXRPclBhcnRpYWxQcmVzZXQ8Rj4sIENsaWNrYWJsZUFuY2hvckxpbmtdW10+ID0gY29tYmluZUxhdGVzdChbdGhpcy5fcHJlc2V0cywgdGhpcy5zZWxlY3RlZCQsIHRoaXMuc2VsZWN0ZWRQcmVzZXRTdHJpbmckXSkucGlwZShcbiAgICBtYXAoKFtwcmVzZXRzLCBjdXJyZW50RmlsdGVyVmFsdWUsIHNlbGVjdGVkUHJlc2V0U3RyaW5nXSkgPT4ge1xuICAgICAgcmV0dXJuIHByZXNldHMubWFwKCh4KSA9PiB7XG4gICAgICAgIGxldCBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICAgICAgbGV0IHR5cGU6ICdwcmVzZXQnIHwgJ3BhcnRpYWxQcmVzZXQnO1xuXG4gICAgICAgIGlmIChpc0NsaWNrYWJsZUZpbHRlclByZXNldCh4KSkge1xuICAgICAgICAgIHNlbGVjdGVkID0geC5wcmVzZXQgPT09IHNlbGVjdGVkUHJlc2V0U3RyaW5nO1xuICAgICAgICAgIHR5cGUgPSAncHJlc2V0JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZWxlY3RlZCA9IHguaXNBY3RpdmUoY3VycmVudEZpbHRlclZhbHVlKTtcbiAgICAgICAgICB0eXBlID0gJ3BhcnRpYWxQcmVzZXQnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIHgsXG4gICAgICAgICAge1xuICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgb25DbGljazogKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnNlbGVjdFByZXNldCh4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIF0gYXMgW3R5cGVvZiB0eXBlLCBDbGlja2FibGVGaWx0ZXJQcmVzZXRPclBhcnRpYWxQcmVzZXQ8Rj4sIENsaWNrYWJsZUFuY2hvckxpbmtdO1xuICAgICAgfSk7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBwcmVzZXRBbmNob3JzJDogT2JzZXJ2YWJsZTxDbGlja2FibGVBbmNob3JMaW5rW10+ID0gdGhpcy5wcmVzZXRBbmNob3JzUGFpcnMkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Lm1hcCgoeCkgPT4geFsyXSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZmlyc3RTZWxlY3RlZEFuY2hvclBhaXIkID0gdGhpcy5wcmVzZXRBbmNob3JzUGFpcnMkLnBpcGUoXG4gICAgbWFwKChwcmVzZXRzKSA9PiB7XG4gICAgICBjb25zdCBmaXJzdFNlbGVjdGVkID0gcHJlc2V0cy5maW5kKCh4KSA9PiB4WzJdLnNlbGVjdGVkKTtcbiAgICAgIHJldHVybiBmaXJzdFNlbGVjdGVkID8gZmlyc3RTZWxlY3RlZCA6IHVuZGVmaW5lZDtcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkUHJlc2V0JDogT2JzZXJ2YWJsZTxNYXliZTxDbGlja2FibGVGaWx0ZXJQcmVzZXQ8Rj4+PiA9IHRoaXMucHJlc2V0QW5jaG9yc1BhaXJzJC5waXBlKFxuICAgIG1hcCgocHJlc2V0cykgPT4ge1xuICAgICAgY29uc3QgZmlyc3RTZWxlY3RlZCA9IHByZXNldHMuZmlsdGVyKCh4KSA9PiB4WzBdID09PSAncHJlc2V0JykuZmluZCgoeCkgPT4geFsyXS5zZWxlY3RlZCk7XG4gICAgICByZXR1cm4gZmlyc3RTZWxlY3RlZCA/IChmaXJzdFNlbGVjdGVkWzFdIGFzIENsaWNrYWJsZUZpbHRlclByZXNldDxGPikgOiB1bmRlZmluZWQ7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBASW5wdXQoKVxuICBnZXQgcHJlc2V0cygpOiBDbGlja2FibGVGaWx0ZXJQcmVzZXRPclBhcnRpYWxQcmVzZXQ8Rj5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3ByZXNldHMudmFsdWU7XG4gIH1cblxuICBzZXQgcHJlc2V0cyhwcmVzZXRzOiBDbGlja2FibGVGaWx0ZXJQcmVzZXRPclBhcnRpYWxQcmVzZXQ8Rj5bXSkge1xuICAgIHRoaXMuX3ByZXNldHMubmV4dChwcmVzZXRzKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZpbHRlclNvdXJjZURpcmVjdGl2ZTogRmlsdGVyU291cmNlRGlyZWN0aXZlPEY+KSB7fVxuXG4gIHNlbGVjdFByZXNldChwcmVzZXQ6IENsaWNrYWJsZUZpbHRlclByZXNldE9yUGFydGlhbFByZXNldDxGPikge1xuICAgIGNvbnN0IHByZXNldFN0cmluZyA9IChwcmVzZXQgYXMgQ2xpY2thYmxlRmlsdGVyUHJlc2V0PEY+KS5wcmVzZXQ7XG4gICAgY29uc3QgcHJlc2V0VmFsdWUgPSAocHJlc2V0IGFzIENsaWNrYWJsZUZpbHRlclByZXNldDxGPikucHJlc2V0VmFsdWUgfHwgKHByZXNldCBhcyBDbGlja2FibGVQYXJ0aWFsRmlsdGVyUHJlc2V0PEY+KS5wYXJ0aWFsUHJlc2V0VmFsdWU7XG5cbiAgICBpZiAocHJlc2V0VmFsdWUgPT0gbnVsbCB8fCAodHlwZW9mIHByZXNldFZhbHVlICE9PSAnZnVuY3Rpb24nICYmIG9iamVjdEhhc05vS2V5cyhwcmVzZXRWYWx1ZSkpKSB7XG4gICAgICAvLyBzZXQgYW5kIHRoZW4gcmVzZXQgaWYgdGhlIHZhbHVlIGlzIG51bGwgb3IgZW1wdHlcbiAgICAgIHRoaXMuZmlsdGVyU291cmNlRGlyZWN0aXZlLnNldEZpbHRlcigocHJlc2V0VmFsdWUgPz8ge30pIGFzIEYpO1xuICAgICAgdGhpcy5maWx0ZXJTb3VyY2VEaXJlY3RpdmUucmVzZXRGaWx0ZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IGZpbHRlciA9IGdldFZhbHVlRnJvbUdldHRlcihwcmVzZXRWYWx1ZSkgYXMgRjtcblxuICAgICAgaWYgKGZpbHRlci5wcmVzZXQgIT09IHByZXNldFN0cmluZykge1xuICAgICAgICBmaWx0ZXIgPSB7XG4gICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgIHByZXNldDogcHJlc2V0U3RyaW5nXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZmlsdGVyU291cmNlRGlyZWN0aXZlLnNldEZpbHRlcihmaWx0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3ByZXNldHMuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnByZXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9maWx0ZXIvZmlsdGVyLnByZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQWMsYUFBYSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNySCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBOEMscUJBQXFCLEVBQXNFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbk0sT0FBTyxFQUFFLGtCQUFrQixFQUFTLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRzNFOztHQUVHO0FBRUgsTUFBTSxPQUFnQixvQ0FBb0M7SUE0RXhELFlBQXFCLHFCQUErQztRQUEvQywwQkFBcUIsR0FBckIscUJBQXFCLENBQTBCO1FBM0VwRSxpRkFBaUY7UUFHakYsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBMkMsQ0FBQztRQUVyRSxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQTRDLEVBQUUsQ0FBQyxDQUFDO1FBRTdFLGNBQVMsR0FBeUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEksaUNBQTRCLEdBQTJDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FB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QUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7O2tJQXpHbUIsb0NBQW9DO3NIQUFwQyxvQ0FBb0M7NEZBQXBDLG9DQUFvQztrQkFEekQsU0FBUzs0R0FLUixjQUFjO3NCQURiLE1BQU07Z0JBaUVILE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYXJlUmVwbGF5LCBCZWhhdmlvclN1YmplY3QsIG1hcCwgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xpY2thYmxlRmlsdGVyUHJlc2V0LCBDbGlja2FibGVBbmNob3JMaW5rLCBGaWx0ZXJTb3VyY2VEaXJlY3RpdmUsIENsaWNrYWJsZVBhcnRpYWxGaWx0ZXJQcmVzZXQsIENsaWNrYWJsZUZpbHRlclByZXNldE9yUGFydGlhbFByZXNldCwgaXNDbGlja2FibGVGaWx0ZXJQcmVzZXQgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBnZXRWYWx1ZUZyb21HZXR0ZXIsIE1heWJlLCBvYmplY3RIYXNOb0tleXMgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEZpbHRlcldpdGhQcmVzZXQgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuLyoqXG4gKiBEaXNwbGF5cyBhIGJ1dHRvbiBhbmQgbWVudSBmb3IgZmlsdGVyaW5nIHByZXNldHMuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGJ4UHJlc2V0RmlsdGVyTWVudUNvbXBvbmVudDxGIGV4dGVuZHMgRmlsdGVyV2l0aFByZXNldD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvL1RPRE86IFJlbmFtZSB0byBBYnN0cmFjdERieFByZXNldEZpbHRlck1lbnVEaXJlY3RpdmUgd2l0aCBuZXh0IGJyZWFraW5nIGNoYW5nZXNcblxuICBAT3V0cHV0KClcbiAgcHJlc2V0U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENsaWNrYWJsZUZpbHRlclByZXNldE9yUGFydGlhbFByZXNldDxGPj4oKTtcblxuICBwcml2YXRlIF9wcmVzZXRzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDbGlja2FibGVGaWx0ZXJQcmVzZXRPclBhcnRpYWxQcmVzZXQ8Rj5bXT4oW10pO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkJDogT2JzZXJ2YWJsZTxNYXliZTxGPj4gPSB0aGlzLmZpbHRlclNvdXJjZURpcmVjdGl2ZS5maWx0ZXIkLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcbiAgcmVhZG9ubHkgcHJlc2V0c1dpdGhQcmVzZXRTdHJpbmdPbmx5JDogT2JzZXJ2YWJsZTxDbGlja2FibGVGaWx0ZXJQcmVzZXQ8Rj5bXT4gPSB0aGlzLl9wcmVzZXRzLnBpcGUobWFwKCh4KSA9PiB4LmZpbHRlcigoeSkgPT4gQm9vbGVhbigoeSBhcyBDbGlja2FibGVGaWx0ZXJQcmVzZXQ8Rj4pLnByZXNldCkpIGFzIENsaWNrYWJsZUZpbHRlclByZXNldDxGPltdKSk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRQcmVzZXRTdHJpbmckOiBPYnNlcnZhYmxlPE1heWJlPHN0cmluZz4+ID0gdGhpcy5zZWxlY3RlZCQucGlwZShcbiAgICBtYXAoKHNlbGVjdGVkRmlsdGVyKSA9PiAoc2VsZWN0ZWRGaWx0ZXIgPyBzZWxlY3RlZEZpbHRlci5wcmVzZXQgOiB1bmRlZmluZWQpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICk7XG5cbiAgcmVhZG9ubHkgcHJlc2V0QW5jaG9yc1BhaXJzJDogT2JzZXJ2YWJsZTxbJ3ByZXNldCcgfCAncGFydGlhbFByZXNldCcsIENsaWNrYWJsZUZpbHRlclByZXNldE9yUGFydGlhbFByZXNldDxGPiwgQ2xpY2thYmxlQW5jaG9yTGlua11bXT4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9wcmVzZXRzLCB0aGlzLnNlbGVjdGVkJCwgdGhpcy5zZWxlY3RlZFByZXNldFN0cmluZyRdKS5waXBlKFxuICAgIG1hcCgoW3ByZXNldHMsIGN1cnJlbnRGaWx0ZXJWYWx1ZSwgc2VsZWN0ZWRQcmVzZXRTdHJpbmddKSA9PiB7XG4gICAgICByZXR1cm4gcHJlc2V0cy5tYXAoKHgpID0+IHtcbiAgICAgICAgbGV0IHNlbGVjdGVkOiBib29sZWFuO1xuICAgICAgICBsZXQgdHlwZTogJ3ByZXNldCcgfCAncGFydGlhbFByZXNldCc7XG5cbiAgICAgICAgaWYgKGlzQ2xpY2thYmxlRmlsdGVyUHJlc2V0KHgpKSB7XG4gICAgICAgICAgc2VsZWN0ZWQgPSB4LnByZXNldCA9PT0gc2VsZWN0ZWRQcmVzZXRTdHJpbmc7XG4gICAgICAgICAgdHlwZSA9ICdwcmVzZXQnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlbGVjdGVkID0geC5pc0FjdGl2ZShjdXJyZW50RmlsdGVyVmFsdWUpO1xuICAgICAgICAgIHR5cGUgPSAncGFydGlhbFByZXNldCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgeCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgc2VsZWN0ZWQsXG4gICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0UHJlc2V0KHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgXSBhcyBbdHlwZW9mIHR5cGUsIENsaWNrYWJsZUZpbHRlclByZXNldE9yUGFydGlhbFByZXNldDxGPiwgQ2xpY2thYmxlQW5jaG9yTGlua107XG4gICAgICB9KTtcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IHByZXNldEFuY2hvcnMkOiBPYnNlcnZhYmxlPENsaWNrYWJsZUFuY2hvckxpbmtbXT4gPSB0aGlzLnByZXNldEFuY2hvcnNQYWlycyQucGlwZShcbiAgICBtYXAoKHgpID0+IHgubWFwKCh4KSA9PiB4WzJdKSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBmaXJzdFNlbGVjdGVkQW5jaG9yUGFpciQgPSB0aGlzLnByZXNldEFuY2hvcnNQYWlycyQucGlwZShcbiAgICBtYXAoKHByZXNldHMpID0+IHtcbiAgICAgIGNvbnN0IGZpcnN0U2VsZWN0ZWQgPSBwcmVzZXRzLmZpbmQoKHgpID0+IHhbMl0uc2VsZWN0ZWQpO1xuICAgICAgcmV0dXJuIGZpcnN0U2VsZWN0ZWQgPyBmaXJzdFNlbGVjdGVkIDogdW5kZWZpbmVkO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRQcmVzZXQkOiBPYnNlcnZhYmxlPE1heWJlPENsaWNrYWJsZUZpbHRlclByZXNldDxGPj4+ID0gdGhpcy5wcmVzZXRBbmNob3JzUGFpcnMkLnBpcGUoXG4gICAgbWFwKChwcmVzZXRzKSA9PiB7XG4gICAgICBjb25zdCBmaXJzdFNlbGVjdGVkID0gcHJlc2V0cy5maWx0ZXIoKHgpID0+IHhbMF0gPT09ICdwcmVzZXQnKS5maW5kKCh4KSA9PiB4WzJdLnNlbGVjdGVkKTtcbiAgICAgIHJldHVybiBmaXJzdFNlbGVjdGVkID8gKGZpcnN0U2VsZWN0ZWRbMV0gYXMgQ2xpY2thYmxlRmlsdGVyUHJlc2V0PEY+KSA6IHVuZGVmaW5lZDtcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBwcmVzZXRzKCk6IENsaWNrYWJsZUZpbHRlclByZXNldE9yUGFydGlhbFByZXNldDxGPltdIHtcbiAgICByZXR1cm4gdGhpcy5fcHJlc2V0cy52YWx1ZTtcbiAgfVxuXG4gIHNldCBwcmVzZXRzKHByZXNldHM6IENsaWNrYWJsZUZpbHRlclByZXNldE9yUGFydGlhbFByZXNldDxGPltdKSB7XG4gICAgdGhpcy5fcHJlc2V0cy5uZXh0KHByZXNldHMpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZmlsdGVyU291cmNlRGlyZWN0aXZlOiBGaWx0ZXJTb3VyY2VEaXJlY3RpdmU8Rj4pIHt9XG5cbiAgc2VsZWN0UHJlc2V0KHByZXNldDogQ2xpY2thYmxlRmlsdGVyUHJlc2V0T3JQYXJ0aWFsUHJlc2V0PEY+KSB7XG4gICAgY29uc3QgcHJlc2V0U3RyaW5nID0gKHByZXNldCBhcyBDbGlja2FibGVGaWx0ZXJQcmVzZXQ8Rj4pLnByZXNldDtcbiAgICBjb25zdCBwcmVzZXRWYWx1ZSA9IChwcmVzZXQgYXMgQ2xpY2thYmxlRmlsdGVyUHJlc2V0PEY+KS5wcmVzZXRWYWx1ZSB8fCAocHJlc2V0IGFzIENsaWNrYWJsZVBhcnRpYWxGaWx0ZXJQcmVzZXQ8Rj4pLnBhcnRpYWxQcmVzZXRWYWx1ZTtcblxuICAgIGlmIChwcmVzZXRWYWx1ZSA9PSBudWxsIHx8ICh0eXBlb2YgcHJlc2V0VmFsdWUgIT09ICdmdW5jdGlvbicgJiYgb2JqZWN0SGFzTm9LZXlzKHByZXNldFZhbHVlKSkpIHtcbiAgICAgIC8vIHNldCBhbmQgdGhlbiByZXNldCBpZiB0aGUgdmFsdWUgaXMgbnVsbCBvciBlbXB0eVxuICAgICAgdGhpcy5maWx0ZXJTb3VyY2VEaXJlY3RpdmUuc2V0RmlsdGVyKChwcmVzZXRWYWx1ZSA/PyB7fSkgYXMgRik7XG4gICAgICB0aGlzLmZpbHRlclNvdXJjZURpcmVjdGl2ZS5yZXNldEZpbHRlcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgZmlsdGVyID0gZ2V0VmFsdWVGcm9tR2V0dGVyKHByZXNldFZhbHVlKSBhcyBGO1xuXG4gICAgICBpZiAoZmlsdGVyLnByZXNldCAhPT0gcHJlc2V0U3RyaW5nKSB7XG4gICAgICAgIGZpbHRlciA9IHtcbiAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgcHJlc2V0OiBwcmVzZXRTdHJpbmdcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5maWx0ZXJTb3VyY2VEaXJlY3RpdmUuc2V0RmlsdGVyKGZpbHRlcik7XG4gICAgfVxuXG4gICAgdGhpcy5wcmVzZXRTZWxlY3RlZC5uZXh0KHByZXNldCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9wcmVzZXRzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5wcmVzZXRTZWxlY3RlZC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -1858,17 +1858,20 @@ class DbxFilterPopoverComponent extends AbstractPopoverDirective {
1858
1858
  this._showPreset = new BehaviorSubject(false);
1859
1859
  this.showPreset$ = this._showPreset.asObservable();
1860
1860
  this.config$ = this._showPreset.pipe(map((showPreset) => {
1861
- const { closeOnFilterChange = true, connector, initialFilterObs, customFilterComponentClass, presetFilterComponentClass } = this.config;
1861
+ var _a, _b;
1862
+ const { closeOnFilterChange = true, connector, initialFilterObs, customFilterComponentClass, presetFilterComponentClass, customFilterComponentConfig, presetFilterComponentConfig } = this.config;
1862
1863
  let componentClass;
1864
+ let baseConfig;
1863
1865
  if (showPreset) {
1864
- componentClass = presetFilterComponentClass;
1866
+ componentClass = ((_a = presetFilterComponentConfig === null || presetFilterComponentConfig === void 0 ? void 0 : presetFilterComponentConfig.componentClass) !== null && _a !== void 0 ? _a : presetFilterComponentClass);
1867
+ baseConfig = presetFilterComponentConfig;
1865
1868
  }
1866
1869
  else {
1867
- componentClass = customFilterComponentClass;
1870
+ componentClass = ((_b = customFilterComponentConfig === null || customFilterComponentConfig === void 0 ? void 0 : customFilterComponentConfig.componentClass) !== null && _b !== void 0 ? _b : customFilterComponentClass);
1871
+ baseConfig = customFilterComponentConfig;
1868
1872
  }
1869
- const config = {
1870
- componentClass,
1871
- init: (filterSource) => {
1873
+ const config = Object.assign(Object.assign({}, baseConfig), { componentClass, init: (filterSource) => {
1874
+ var _a;
1872
1875
  connector.connectWithSource(filterSource);
1873
1876
  if (initialFilterObs && filterSource.initWithFilter) {
1874
1877
  filterSource.initWithFilter(initialFilterObs);
@@ -1878,12 +1881,13 @@ class DbxFilterPopoverComponent extends AbstractPopoverDirective {
1878
1881
  this.close();
1879
1882
  });
1880
1883
  }
1881
- }
1882
- };
1884
+ // run the next init if provided
1885
+ (_a = baseConfig === null || baseConfig === void 0 ? void 0 : baseConfig.init) === null || _a === void 0 ? void 0 : _a.call(baseConfig, filterSource);
1886
+ } });
1883
1887
  return config;
1884
1888
  }));
1885
1889
  }
1886
- static openPopover(popupService, { width, height, isResizable, origin, header, icon, customFilterComponentClass, presetFilterComponentClass, connector, initialFilterObs, closeOnFilterChange, customizeButtonText, showCloseButton, closeButtonText }, popoverKey) {
1890
+ static openPopover(popupService, { width, height, isResizable, origin, header, icon, customFilterComponentClass, presetFilterComponentClass, customFilterComponentConfig, presetFilterComponentConfig, connector, initialFilterObs, closeOnFilterChange, customizeButtonText, showCloseButton, closeButtonText }, popoverKey) {
1887
1891
  return popupService.open({
1888
1892
  key: popoverKey !== null && popoverKey !== void 0 ? popoverKey : DEFAULT_FILTER_POPOVER_KEY,
1889
1893
  origin,
@@ -1899,6 +1903,8 @@ class DbxFilterPopoverComponent extends AbstractPopoverDirective {
1899
1903
  closeButtonText,
1900
1904
  customFilterComponentClass,
1901
1905
  presetFilterComponentClass,
1906
+ customFilterComponentConfig,
1907
+ presetFilterComponentConfig,
1902
1908
  connector,
1903
1909
  initialFilterObs,
1904
1910
  closeOnFilterChange
@@ -1918,14 +1924,14 @@ class DbxFilterPopoverComponent extends AbstractPopoverDirective {
1918
1924
  }
1919
1925
  ngOnInit() {
1920
1926
  let showPreset = false;
1921
- const { customFilterComponentClass, presetFilterComponentClass } = this.config;
1922
- if (customFilterComponentClass) {
1927
+ const { customFilterComponentClass, presetFilterComponentClass, customFilterComponentConfig, presetFilterComponentConfig } = this.config;
1928
+ if (customFilterComponentClass || customFilterComponentConfig) {
1923
1929
  showPreset = false;
1924
1930
  }
1925
- if (presetFilterComponentClass) {
1931
+ if (presetFilterComponentClass || presetFilterComponentConfig) {
1926
1932
  showPreset = true;
1927
1933
  }
1928
- if (!customFilterComponentClass && !presetFilterComponentClass) {
1934
+ if (!(customFilterComponentClass || customFilterComponentConfig) && !(presetFilterComponentClass || presetFilterComponentConfig)) {
1929
1935
  throw new Error('Requires a preset or custom class provided for DbxFilterPopover.');
1930
1936
  }
1931
1937
  this._showPreset.next(showPreset);
@@ -2279,6 +2285,7 @@ class AbstractDbxPresetFilterMenuComponent {
2279
2285
  constructor(filterSourceDirective) {
2280
2286
  this.filterSourceDirective = filterSourceDirective;
2281
2287
  //TODO: Rename to AbstractDbxPresetFilterMenuDirective with next breaking changes
2288
+ this.presetSelected = new EventEmitter();
2282
2289
  this._presets = new BehaviorSubject([]);
2283
2290
  this.selected$ = this.filterSourceDirective.filter$.pipe(startWith(undefined), distinctUntilChanged(), shareReplay(1));
2284
2291
  this.presetsWithPresetStringOnly$ = this._presets.pipe(map((x) => x.filter((y) => Boolean(y.preset))));
@@ -2335,16 +2342,20 @@ class AbstractDbxPresetFilterMenuComponent {
2335
2342
  }
2336
2343
  this.filterSourceDirective.setFilter(filter);
2337
2344
  }
2345
+ this.presetSelected.next(preset);
2338
2346
  }
2339
2347
  ngOnDestroy() {
2340
2348
  this._presets.complete();
2349
+ this.presetSelected.complete();
2341
2350
  }
2342
2351
  }
2343
2352
  AbstractDbxPresetFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AbstractDbxPresetFilterMenuComponent, deps: [{ token: i1$2.FilterSourceDirective }], target: i0.ɵɵFactoryTarget.Directive });
2344
- AbstractDbxPresetFilterMenuComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: AbstractDbxPresetFilterMenuComponent, inputs: { presets: "presets" }, ngImport: i0 });
2353
+ AbstractDbxPresetFilterMenuComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: AbstractDbxPresetFilterMenuComponent, inputs: { presets: "presets" }, outputs: { presetSelected: "presetSelected" }, ngImport: i0 });
2345
2354
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AbstractDbxPresetFilterMenuComponent, decorators: [{
2346
2355
  type: Directive
2347
- }], ctorParameters: function () { return [{ type: i1$2.FilterSourceDirective }]; }, propDecorators: { presets: [{
2356
+ }], ctorParameters: function () { return [{ type: i1$2.FilterSourceDirective }]; }, propDecorators: { presetSelected: [{
2357
+ type: Output
2358
+ }], presets: [{
2348
2359
  type: Input
2349
2360
  }] } });
2350
2361