@firestitch/filter 18.2.75 → 18.2.76

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.
@@ -22,6 +22,7 @@ export class FilterItemComponent {
22
22
  overlayRef;
23
23
  item;
24
24
  name;
25
+ triggerChangeOn = 'close';
25
26
  itemType = ItemType;
26
27
  get textItem() {
27
28
  return this.item;
@@ -73,7 +74,7 @@ export class FilterItemComponent {
73
74
  this._destroy$.complete();
74
75
  }
75
76
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FilterItemComponent, isStandalone: true, selector: "filter-item", inputs: { autofocus: "autofocus", floatLabel: "floatLabel", autofocusName: "autofocusName", overlayRef: "overlayRef", item: "item", name: "name" }, ngImport: i0, template: "@if (item.visible$ | async) {\n <div class=\"filter filter-{{ item.type }}\">\n @switch (item.type) {\n @case (itemType.Text) {\n <filter-item-text\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [item]=\"textItem\"\n [overlayRef]=\"overlayRef\"\n [autofocus]=\"autofocus\">\n </filter-item-text>\n }\n @case (itemType.Select) {\n <filter-item-select\n [overlayRef]=\"overlayRef\"\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [item]=\"selectItem\"\n [autofocus]=\"autofocus\">\n </filter-item-select>\n }\n @case (itemType.Chips) {\n <filter-item-chips\n class=\"interface\"\n [item]=\"chipsItem\"\n [overlayRef]=\"overlayRef\">\n </filter-item-chips>\n }\n @case (itemType.Range) {\n <filter-item-range\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-range\"\n [item]=\"rangeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocusName]=\"autofocusName\">\n </filter-item-range>\n }\n @case (itemType.AutoComplete) {\n <filter-item-autocomplete\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [overlayRef]=\"overlayRef\"\n [item]=\"autocompleteItem\"\n [autofocus]=\"autofocus\">\n </filter-item-autocomplete>\n }\n @case (itemType.AutoCompleteChips) {\n <filter-item-autocompletechips\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [overlayRef]=\"overlayRef\"\n [item]=\"autocompleteChipsItem\"\n [autofocus]=\"autofocus\">\n </filter-item-autocompletechips>\n }\n @case (itemType.Date) {\n <filter-item-date\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateItem\"\n [overlayRef]=\"overlayRef\"\n [autofocus]=\"autofocus\">\n </filter-item-date>\n }\n @case (itemType.DateTime) {\n <filter-item-date\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateTimeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocus]=\"autofocus\">\n </filter-item-date>\n }\n @case (itemType.DateRange) {\n <filter-item-date-range\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateRangeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocusName]=\"autofocusName\">\n [name]=\"name\">\n </filter-item-date-range>\n }\n @case (itemType.DateTimeRange) {\n <filter-item-date-range\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateTimeRangeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocusName]=\"autofocusName\">\n </filter-item-date-range>\n }\n @case (itemType.Week) {\n <filter-item-week\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [overlayRef]=\"overlayRef\"\n [item]=\"weekItem\"\n [autofocus]=\"autofocus\">\n </filter-item-week>\n }\n @case (itemType.Checkbox) {\n <filter-item-checkbox\n [overlayRef]=\"overlayRef\"\n class=\"interface interface-checkbox\"\n [item]=\"checkboxItem\"\n [autofocus]=\"autofocus\">\n </filter-item-checkbox>\n }\n }\n </div>\n}", styles: [":host ::ng-deep mat-form-field{margin-top:0!important}:host ::ng-deep mat-form-field .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-prefix .text-suffix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-suffix{top:-.25em;position:relative}:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-suffix .text-suffix{display:none}\n"], dependencies: [{ kind: "component", type: TextComponent, selector: "filter-item-text", inputs: ["autofocus", "floatLabel"] }, { kind: "component", type: SelectComponent, selector: "filter-item-select", inputs: ["autofocus", "floatLabel"] }, { kind: "component", type: ChipsComponent, selector: "filter-item-chips" }, { kind: "component", type: RangeComponent, selector: "filter-item-range", inputs: ["autofocusName", "floatLabel"] }, { kind: "component", type: AutocompleteComponent, selector: "filter-item-autocomplete", inputs: ["autofocus", "floatLabel"] }, { kind: "component", type: AutocompletechipsComponent, selector: "filter-item-autocompletechips", inputs: ["autofocus", "floatLabel"] }, { kind: "component", type: DateComponent, selector: "filter-item-date", inputs: ["autofocus", "floatLabel"] }, { kind: "component", type: DateRangeComponent, selector: "filter-item-date-range", inputs: ["autofocusName", "floatLabel"] }, { kind: "component", type: WeekComponent, selector: "filter-item-week", inputs: ["autofocus", "floatLabel"] }, { kind: "component", type: CheckboxComponent, selector: "filter-item-checkbox" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
77
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FilterItemComponent, isStandalone: true, selector: "filter-item", inputs: { autofocus: "autofocus", floatLabel: "floatLabel", autofocusName: "autofocusName", overlayRef: "overlayRef", item: "item", name: "name", triggerChangeOn: "triggerChangeOn" }, ngImport: i0, template: "@if (item.visible$ | async) {\n <div class=\"filter filter-{{ item.type }}\">\n @switch (item.type) {\n @case (itemType.Text) {\n <filter-item-text\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [item]=\"textItem\"\n [overlayRef]=\"overlayRef\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-text>\n }\n @case (itemType.Select) {\n <filter-item-select\n [overlayRef]=\"overlayRef\"\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [item]=\"selectItem\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-select>\n }\n @case (itemType.Chips) {\n <filter-item-chips\n class=\"interface\"\n [item]=\"chipsItem\"\n [overlayRef]=\"overlayRef\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-chips>\n }\n @case (itemType.Range) {\n <filter-item-range\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-range\"\n [item]=\"rangeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocusName]=\"autofocusName\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-range>\n }\n @case (itemType.AutoComplete) {\n <filter-item-autocomplete\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [overlayRef]=\"overlayRef\"\n [item]=\"autocompleteItem\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-autocomplete>\n }\n @case (itemType.AutoCompleteChips) {\n <filter-item-autocompletechips\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [overlayRef]=\"overlayRef\"\n [item]=\"autocompleteChipsItem\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-autocompletechips>\n }\n @case (itemType.Date) {\n <filter-item-date\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateItem\"\n [overlayRef]=\"overlayRef\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-date>\n }\n @case (itemType.DateTime) {\n <filter-item-date\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateTimeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-date>\n }\n @case (itemType.DateRange) {\n <filter-item-date-range\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateRangeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocusName]=\"autofocusName\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-date-range>\n }\n @case (itemType.DateTimeRange) {\n <filter-item-date-range\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateTimeRangeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocusName]=\"autofocusName\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-date-range>\n }\n @case (itemType.Week) {\n <filter-item-week\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [overlayRef]=\"overlayRef\"\n [item]=\"weekItem\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-week>\n }\n @case (itemType.Checkbox) {\n <filter-item-checkbox\n [overlayRef]=\"overlayRef\"\n class=\"interface interface-checkbox\"\n [item]=\"checkboxItem\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-checkbox>\n }\n }\n </div>\n}", styles: [":host ::ng-deep mat-form-field{margin-top:0!important}:host ::ng-deep mat-form-field .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-prefix .text-suffix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-suffix{top:-.25em;position:relative}:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-suffix .text-suffix{display:none}\n"], dependencies: [{ kind: "component", type: TextComponent, selector: "filter-item-text", inputs: ["autofocus", "floatLabel"] }, { kind: "component", type: SelectComponent, selector: "filter-item-select", inputs: ["autofocus", "floatLabel"] }, { kind: "component", type: ChipsComponent, selector: "filter-item-chips" }, { kind: "component", type: RangeComponent, selector: "filter-item-range", inputs: ["autofocusName", "floatLabel"] }, { kind: "component", type: AutocompleteComponent, selector: "filter-item-autocomplete", inputs: ["autofocus", "floatLabel"] }, { kind: "component", type: AutocompletechipsComponent, selector: "filter-item-autocompletechips", inputs: ["autofocus", "floatLabel"] }, { kind: "component", type: DateComponent, selector: "filter-item-date", inputs: ["autofocus", "floatLabel"] }, { kind: "component", type: DateRangeComponent, selector: "filter-item-date-range", inputs: ["autofocusName", "floatLabel"] }, { kind: "component", type: WeekComponent, selector: "filter-item-week", inputs: ["autofocus", "floatLabel"] }, { kind: "component", type: CheckboxComponent, selector: "filter-item-checkbox" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
77
78
  }
78
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterItemComponent, decorators: [{
79
80
  type: Component,
@@ -89,7 +90,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
89
90
  WeekComponent,
90
91
  CheckboxComponent,
91
92
  AsyncPipe,
92
- ], template: "@if (item.visible$ | async) {\n <div class=\"filter filter-{{ item.type }}\">\n @switch (item.type) {\n @case (itemType.Text) {\n <filter-item-text\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [item]=\"textItem\"\n [overlayRef]=\"overlayRef\"\n [autofocus]=\"autofocus\">\n </filter-item-text>\n }\n @case (itemType.Select) {\n <filter-item-select\n [overlayRef]=\"overlayRef\"\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [item]=\"selectItem\"\n [autofocus]=\"autofocus\">\n </filter-item-select>\n }\n @case (itemType.Chips) {\n <filter-item-chips\n class=\"interface\"\n [item]=\"chipsItem\"\n [overlayRef]=\"overlayRef\">\n </filter-item-chips>\n }\n @case (itemType.Range) {\n <filter-item-range\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-range\"\n [item]=\"rangeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocusName]=\"autofocusName\">\n </filter-item-range>\n }\n @case (itemType.AutoComplete) {\n <filter-item-autocomplete\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [overlayRef]=\"overlayRef\"\n [item]=\"autocompleteItem\"\n [autofocus]=\"autofocus\">\n </filter-item-autocomplete>\n }\n @case (itemType.AutoCompleteChips) {\n <filter-item-autocompletechips\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [overlayRef]=\"overlayRef\"\n [item]=\"autocompleteChipsItem\"\n [autofocus]=\"autofocus\">\n </filter-item-autocompletechips>\n }\n @case (itemType.Date) {\n <filter-item-date\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateItem\"\n [overlayRef]=\"overlayRef\"\n [autofocus]=\"autofocus\">\n </filter-item-date>\n }\n @case (itemType.DateTime) {\n <filter-item-date\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateTimeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocus]=\"autofocus\">\n </filter-item-date>\n }\n @case (itemType.DateRange) {\n <filter-item-date-range\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateRangeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocusName]=\"autofocusName\">\n [name]=\"name\">\n </filter-item-date-range>\n }\n @case (itemType.DateTimeRange) {\n <filter-item-date-range\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateTimeRangeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocusName]=\"autofocusName\">\n </filter-item-date-range>\n }\n @case (itemType.Week) {\n <filter-item-week\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [overlayRef]=\"overlayRef\"\n [item]=\"weekItem\"\n [autofocus]=\"autofocus\">\n </filter-item-week>\n }\n @case (itemType.Checkbox) {\n <filter-item-checkbox\n [overlayRef]=\"overlayRef\"\n class=\"interface interface-checkbox\"\n [item]=\"checkboxItem\"\n [autofocus]=\"autofocus\">\n </filter-item-checkbox>\n }\n }\n </div>\n}", styles: [":host ::ng-deep mat-form-field{margin-top:0!important}:host ::ng-deep mat-form-field .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-prefix .text-suffix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-suffix{top:-.25em;position:relative}:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-suffix .text-suffix{display:none}\n"] }]
93
+ ], template: "@if (item.visible$ | async) {\n <div class=\"filter filter-{{ item.type }}\">\n @switch (item.type) {\n @case (itemType.Text) {\n <filter-item-text\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [item]=\"textItem\"\n [overlayRef]=\"overlayRef\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-text>\n }\n @case (itemType.Select) {\n <filter-item-select\n [overlayRef]=\"overlayRef\"\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [item]=\"selectItem\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-select>\n }\n @case (itemType.Chips) {\n <filter-item-chips\n class=\"interface\"\n [item]=\"chipsItem\"\n [overlayRef]=\"overlayRef\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-chips>\n }\n @case (itemType.Range) {\n <filter-item-range\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-range\"\n [item]=\"rangeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocusName]=\"autofocusName\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-range>\n }\n @case (itemType.AutoComplete) {\n <filter-item-autocomplete\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [overlayRef]=\"overlayRef\"\n [item]=\"autocompleteItem\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-autocomplete>\n }\n @case (itemType.AutoCompleteChips) {\n <filter-item-autocompletechips\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [overlayRef]=\"overlayRef\"\n [item]=\"autocompleteChipsItem\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-autocompletechips>\n }\n @case (itemType.Date) {\n <filter-item-date\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateItem\"\n [overlayRef]=\"overlayRef\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-date>\n }\n @case (itemType.DateTime) {\n <filter-item-date\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateTimeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-date>\n }\n @case (itemType.DateRange) {\n <filter-item-date-range\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateRangeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocusName]=\"autofocusName\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-date-range>\n }\n @case (itemType.DateTimeRange) {\n <filter-item-date-range\n [floatLabel]=\"floatLabel\"\n class=\"interface interface-date\"\n [item]=\"dateTimeRangeItem\"\n [overlayRef]=\"overlayRef\"\n [autofocusName]=\"autofocusName\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-date-range>\n }\n @case (itemType.Week) {\n <filter-item-week\n [floatLabel]=\"floatLabel\"\n class=\"interface\"\n [overlayRef]=\"overlayRef\"\n [item]=\"weekItem\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-week>\n }\n @case (itemType.Checkbox) {\n <filter-item-checkbox\n [overlayRef]=\"overlayRef\"\n class=\"interface interface-checkbox\"\n [item]=\"checkboxItem\"\n [autofocus]=\"autofocus\"\n [triggerChangeOn]=\"triggerChangeOn\">\n </filter-item-checkbox>\n }\n }\n </div>\n}", styles: [":host ::ng-deep mat-form-field{margin-top:0!important}:host ::ng-deep mat-form-field .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-prefix .text-suffix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-suffix{top:-.25em;position:relative}:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-suffix .text-suffix{display:none}\n"] }]
93
94
  }], propDecorators: { autofocus: [{
94
95
  type: Input
95
96
  }], floatLabel: [{
@@ -102,5 +103,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
102
103
  type: Input
103
104
  }], name: [{
104
105
  type: Input
106
+ }], triggerChangeOn: [{
107
+ type: Input
105
108
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9maWx0ZXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2ZpbHRlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFldEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDN0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FB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QUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvaXRlbS10eXBlLmVudW0nO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVDaGlwc0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYXV0b2NvbXBsZXRlLWNoaXBzLWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2F1dG9jb21wbGV0ZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgQmFzZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgQ2hlY2tib3hJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2NoZWNrYm94LWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBDaGlwc0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvY2hpcHMtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IERhdGVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2RhdGUtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IERhdGVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS1yYW5nZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgRGF0ZVRpbWVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2RhdGUtdGltZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgRGF0ZVRpbWVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS10aW1lLXJhbmdlLWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvcmFuZ2UtaXRlbSc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL3NlbGVjdC1pdGVtJztcbmltcG9ydCB0eXBlIHsgVGV4dEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvdGV4dC1pdGVtJztcbmltcG9ydCB0eXBlIHsgV2Vla0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvd2Vlay1pdGVtJztcblxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVjaGlwc0NvbXBvbmVudCB9IGZyb20gJy4vYXV0b2NvbXBsZXRlY2hpcHMvYXV0b2NvbXBsZXRlY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hpcHNDb21wb25lbnQgfSBmcm9tICcuL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS9kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSYW5nZUNvbXBvbmVudCB9IGZyb20gJy4vcmFuZ2UvcmFuZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXZWVrQ29tcG9uZW50IH0gZnJvbSAnLi93ZWVrL3dlZWsuY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgVGV4dENvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgQ2hpcHNDb21wb25lbnQsXG4gICAgUmFuZ2VDb21wb25lbnQsXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIEF1dG9jb21wbGV0ZWNoaXBzQ29tcG9uZW50LFxuICAgIERhdGVDb21wb25lbnQsXG4gICAgRGF0ZVJhbmdlQ29tcG9uZW50LFxuICAgIFdlZWtDb21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBhdXRvZm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGZsb2F0TGFiZWw6ICdhdXRvJyB8ICdhbHdheXMnID0gJ2F1dG8nO1xuICBASW5wdXQoKSBwdWJsaWMgYXV0b2ZvY3VzTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgQElucHV0KCkgcHVibGljIGl0ZW06IEJhc2VJdGVtPGFueT47XG4gIEBJbnB1dCgpIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG5cbiAgcHVibGljIGl0ZW1UeXBlID0gSXRlbVR5cGU7XG5cbiAgcHVibGljIGdldCB0ZXh0SXRlbSgpOiBUZXh0SXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBUZXh0SXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0SXRlbSgpOiBTZWxlY3RJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIFNlbGVjdEl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBzSXRlbSgpOiBDaGlwc0l0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgQ2hpcHNJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCByYW5nZUl0ZW0oKTogUmFuZ2VJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIFJhbmdlSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0b2NvbXBsZXRlSXRlbSgpOiBBdXRvY29tcGxldGVJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIEF1dG9jb21wbGV0ZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZUNoaXBzSXRlbSgpOiBBdXRvY29tcGxldGVDaGlwc0l0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgQXV0b2NvbXBsZXRlQ2hpcHNJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRlSXRlbSgpOiBEYXRlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBEYXRlSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZVJhbmdlSXRlbSgpOiBEYXRlUmFuZ2VJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIERhdGVSYW5nZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGVUaW1lSXRlbSgpOiBEYXRlVGltZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgRGF0ZVRpbWVJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRlVGltZVJhbmdlSXRlbSgpOiBEYXRlVGltZVJhbmdlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBEYXRlVGltZVJhbmdlSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgd2Vla0l0ZW0oKTogV2Vla0l0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgV2Vla0l0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoZWNrYm94SXRlbSgpOiBDaGVja2JveEl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgQ2hlY2tib3hJdGVtO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2RSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaXRlbS52YWx1ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbn1cbiIsIkBpZiAoaXRlbS52aXNpYmxlJCB8IGFzeW5jKSB7XG4gIDxkaXYgY2xhc3M9XCJmaWx0ZXIgZmlsdGVyLXt7IGl0ZW0udHlwZSB9fVwiPlxuICAgIEBzd2l0Y2ggKGl0ZW0udHlwZSkge1xuICAgICAgQGNhc2UgKGl0ZW1UeXBlLlRleHQpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLXRleHRcbiAgICAgICAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZVwiXG4gICAgICAgICAgW2l0ZW1dPVwidGV4dEl0ZW1cIlxuICAgICAgICAgIFtvdmVybGF5UmVmXT1cIm92ZXJsYXlSZWZcIlxuICAgICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tdGV4dD5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5TZWxlY3QpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLXNlbGVjdFxuICAgICAgICAgIFtvdmVybGF5UmVmXT1cIm92ZXJsYXlSZWZcIlxuICAgICAgICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlXCJcbiAgICAgICAgICBbaXRlbV09XCJzZWxlY3RJdGVtXCJcbiAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLXNlbGVjdD5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5DaGlwcykge1xuICAgICAgICA8ZmlsdGVyLWl0ZW0tY2hpcHNcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZVwiXG4gICAgICAgICAgW2l0ZW1dPVwiY2hpcHNJdGVtXCJcbiAgICAgICAgICBbb3ZlcmxheVJlZl09XCJvdmVybGF5UmVmXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tY2hpcHM+XG4gICAgICB9XG4gICAgICBAY2FzZSAoaXRlbVR5cGUuUmFuZ2UpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLXJhbmdlXG4gICAgICAgICAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLXJhbmdlXCJcbiAgICAgICAgICBbaXRlbV09XCJyYW5nZUl0ZW1cIlxuICAgICAgICAgIFtvdmVybGF5UmVmXT1cIm92ZXJsYXlSZWZcIlxuICAgICAgICAgIFthdXRvZm9jdXNOYW1lXT1cImF1dG9mb2N1c05hbWVcIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1yYW5nZT5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5BdXRvQ29tcGxldGUpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLWF1dG9jb21wbGV0ZVxuICAgICAgICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlXCJcbiAgICAgICAgICBbb3ZlcmxheVJlZl09XCJvdmVybGF5UmVmXCJcbiAgICAgICAgICBbaXRlbV09XCJhdXRvY29tcGxldGVJdGVtXCJcbiAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLWF1dG9jb21wbGV0ZT5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5BdXRvQ29tcGxldGVDaGlwcykge1xuICAgICAgICA8ZmlsdGVyLWl0ZW0tYXV0b2NvbXBsZXRlY2hpcHNcbiAgICAgICAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZVwiXG4gICAgICAgICAgW292ZXJsYXlSZWZdPVwib3ZlcmxheVJlZlwiXG4gICAgICAgICAgW2l0ZW1dPVwiYXV0b2NvbXBsZXRlQ2hpcHNJdGVtXCJcbiAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLWF1dG9jb21wbGV0ZWNoaXBzPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkRhdGUpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLWRhdGVcbiAgICAgICAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZSBpbnRlcmZhY2UtZGF0ZVwiXG4gICAgICAgICAgW2l0ZW1dPVwiZGF0ZUl0ZW1cIlxuICAgICAgICAgIFtvdmVybGF5UmVmXT1cIm92ZXJsYXlSZWZcIlxuICAgICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tZGF0ZT5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5EYXRlVGltZSkge1xuICAgICAgICA8ZmlsdGVyLWl0ZW0tZGF0ZVxuICAgICAgICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlIGludGVyZmFjZS1kYXRlXCJcbiAgICAgICAgICBbaXRlbV09XCJkYXRlVGltZUl0ZW1cIlxuICAgICAgICAgIFtvdmVybGF5UmVmXT1cIm92ZXJsYXlSZWZcIlxuICAgICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tZGF0ZT5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5EYXRlUmFuZ2UpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLWRhdGUtcmFuZ2VcbiAgICAgICAgICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxuICAgICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLWRhdGVcIlxuICAgICAgICAgICAgW2l0ZW1dPVwiZGF0ZVJhbmdlSXRlbVwiXG4gICAgICAgICAgICBbb3ZlcmxheVJlZl09XCJvdmVybGF5UmVmXCJcbiAgICAgICAgICAgIFthdXRvZm9jdXNOYW1lXT1cImF1dG9mb2N1c05hbWVcIj5cbiAgICAgICAgICBbbmFtZV09XCJuYW1lXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tZGF0ZS1yYW5nZT5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5EYXRlVGltZVJhbmdlKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1kYXRlLXJhbmdlXG4gICAgICAgICAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLWRhdGVcIlxuICAgICAgICAgIFtpdGVtXT1cImRhdGVUaW1lUmFuZ2VJdGVtXCJcbiAgICAgICAgICBbb3ZlcmxheVJlZl09XCJvdmVybGF5UmVmXCJcbiAgICAgICAgICBbYXV0b2ZvY3VzTmFtZV09XCJhdXRvZm9jdXNOYW1lXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tZGF0ZS1yYW5nZT5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5XZWVrKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS13ZWVrXG4gICAgICAgICAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgIFtvdmVybGF5UmVmXT1cIm92ZXJsYXlSZWZcIlxuICAgICAgICAgIFtpdGVtXT1cIndlZWtJdGVtXCJcbiAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLXdlZWs+XG4gICAgICB9XG4gICAgICBAY2FzZSAoaXRlbVR5cGUuQ2hlY2tib3gpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLWNoZWNrYm94XG4gICAgICAgICAgW292ZXJsYXlSZWZdPVwib3ZlcmxheVJlZlwiXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLWNoZWNrYm94XCJcbiAgICAgICAgICBbaXRlbV09XCJjaGVja2JveEl0ZW1cIlxuICAgICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tY2hlY2tib3g+XG4gICAgICB9XG4gICAgfVxuICA8L2Rpdj5cbn0iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9maWx0ZXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2ZpbHRlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFldEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDN0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FB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O2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL2l0ZW0tdHlwZS5lbnVtJztcbmltcG9ydCB0eXBlIHsgQXV0b2NvbXBsZXRlQ2hpcHNJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2F1dG9jb21wbGV0ZS1jaGlwcy1pdGVtJztcbmltcG9ydCB0eXBlIHsgQXV0b2NvbXBsZXRlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9hdXRvY29tcGxldGUtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IEJhc2VJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2Jhc2UtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IENoZWNrYm94SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9jaGVja2JveC1pdGVtJztcbmltcG9ydCB0eXBlIHsgQ2hpcHNJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2NoaXBzLWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBEYXRlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9kYXRlLWl0ZW0nO1xuaW1wb3J0IHR5cGUgeyBEYXRlUmFuZ2VJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2RhdGUtcmFuZ2UtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IERhdGVUaW1lSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9kYXRlLXRpbWUtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IERhdGVUaW1lUmFuZ2VJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2RhdGUtdGltZS1yYW5nZS1pdGVtJztcbmltcG9ydCB0eXBlIHsgUmFuZ2VJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL3JhbmdlLWl0ZW0nO1xuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9zZWxlY3QtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IFRleHRJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL3RleHQtaXRlbSc7XG5pbXBvcnQgdHlwZSB7IFdlZWtJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL3dlZWstaXRlbSc7XG5cbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlY2hpcHNDb21wb25lbnQgfSBmcm9tICcuL2F1dG9jb21wbGV0ZWNoaXBzL2F1dG9jb21wbGV0ZWNoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IENoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXJhbmdlL2RhdGUtcmFuZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVDb21wb25lbnQgfSBmcm9tICcuL2RhdGUvZGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmFuZ2VDb21wb25lbnQgfSBmcm9tICcuL3JhbmdlL3JhbmdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICcuL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2Vla0NvbXBvbmVudCB9IGZyb20gJy4vd2Vlay93ZWVrLmNvbXBvbmVudCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmlsdGVyLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFRleHRDb21wb25lbnQsXG4gICAgU2VsZWN0Q29tcG9uZW50LFxuICAgIENoaXBzQ29tcG9uZW50LFxuICAgIFJhbmdlQ29tcG9uZW50LFxuICAgIEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBBdXRvY29tcGxldGVjaGlwc0NvbXBvbmVudCxcbiAgICBEYXRlQ29tcG9uZW50LFxuICAgIERhdGVSYW5nZUNvbXBvbmVudCxcbiAgICBXZWVrQ29tcG9uZW50LFxuICAgIENoZWNrYm94Q29tcG9uZW50LFxuICAgIEFzeW5jUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVySXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwdWJsaWMgYXV0b2ZvY3VzOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBmbG9hdExhYmVsOiAnYXV0bycgfCAnYWx3YXlzJyA9ICdhdXRvJztcbiAgQElucHV0KCkgcHVibGljIGF1dG9mb2N1c05hbWU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtOiBCYXNlSXRlbTxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgdHJpZ2dlckNoYW5nZU9uOiAnY2xvc2UnIHwgJ2NoYW5nZScgPSAnY2xvc2UnO1xuXG4gIHB1YmxpYyBpdGVtVHlwZSA9IEl0ZW1UeXBlO1xuXG4gIHB1YmxpYyBnZXQgdGV4dEl0ZW0oKTogVGV4dEl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgVGV4dEl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdEl0ZW0oKTogU2VsZWN0SXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBTZWxlY3RJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGlwc0l0ZW0oKTogQ2hpcHNJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIENoaXBzSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmFuZ2VJdGVtKCk6IFJhbmdlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBSYW5nZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZUl0ZW0oKTogQXV0b2NvbXBsZXRlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBBdXRvY29tcGxldGVJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBhdXRvY29tcGxldGVDaGlwc0l0ZW0oKTogQXV0b2NvbXBsZXRlQ2hpcHNJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIEF1dG9jb21wbGV0ZUNoaXBzSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZUl0ZW0oKTogRGF0ZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgRGF0ZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGVSYW5nZUl0ZW0oKTogRGF0ZVJhbmdlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBEYXRlUmFuZ2VJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRlVGltZUl0ZW0oKTogRGF0ZVRpbWVJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIERhdGVUaW1lSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZVRpbWVSYW5nZUl0ZW0oKTogRGF0ZVRpbWVSYW5nZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgRGF0ZVRpbWVSYW5nZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHdlZWtJdGVtKCk6IFdlZWtJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIFdlZWtJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGVja2JveEl0ZW0oKTogQ2hlY2tib3hJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIENoZWNrYm94SXRlbTtcbiAgfVxuXG4gIHByaXZhdGUgX2NkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW0udmFsdWUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG59XG4iLCJAaWYgKGl0ZW0udmlzaWJsZSQgfCBhc3luYykge1xuICA8ZGl2IGNsYXNzPVwiZmlsdGVyIGZpbHRlci17eyBpdGVtLnR5cGUgfX1cIj5cbiAgICBAc3dpdGNoIChpdGVtLnR5cGUpIHtcbiAgICAgIEBjYXNlIChpdGVtVHlwZS5UZXh0KSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS10ZXh0XG4gICAgICAgICAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgIFtpdGVtXT1cInRleHRJdGVtXCJcbiAgICAgICAgICBbb3ZlcmxheVJlZl09XCJvdmVybGF5UmVmXCJcbiAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgICAgICAgW3RyaWdnZXJDaGFuZ2VPbl09XCJ0cmlnZ2VyQ2hhbmdlT25cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS10ZXh0PlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLlNlbGVjdCkge1xuICAgICAgICA8ZmlsdGVyLWl0ZW0tc2VsZWN0XG4gICAgICAgICAgW292ZXJsYXlSZWZdPVwib3ZlcmxheVJlZlwiXG4gICAgICAgICAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgIFtpdGVtXT1cInNlbGVjdEl0ZW1cIlxuICAgICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICAgICAgICBbdHJpZ2dlckNoYW5nZU9uXT1cInRyaWdnZXJDaGFuZ2VPblwiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLXNlbGVjdD5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5DaGlwcykge1xuICAgICAgICA8ZmlsdGVyLWl0ZW0tY2hpcHNcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZVwiXG4gICAgICAgICAgW2l0ZW1dPVwiY2hpcHNJdGVtXCJcbiAgICAgICAgICBbb3ZlcmxheVJlZl09XCJvdmVybGF5UmVmXCJcbiAgICAgICAgICBbdHJpZ2dlckNoYW5nZU9uXT1cInRyaWdnZXJDaGFuZ2VPblwiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLWNoaXBzPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLlJhbmdlKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1yYW5nZVxuICAgICAgICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlIGludGVyZmFjZS1yYW5nZVwiXG4gICAgICAgICAgW2l0ZW1dPVwicmFuZ2VJdGVtXCJcbiAgICAgICAgICBbb3ZlcmxheVJlZl09XCJvdmVybGF5UmVmXCJcbiAgICAgICAgICBbYXV0b2ZvY3VzTmFtZV09XCJhdXRvZm9jdXNOYW1lXCJcbiAgICAgICAgICBbdHJpZ2dlckNoYW5nZU9uXT1cInRyaWdnZXJDaGFuZ2VPblwiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLXJhbmdlPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkF1dG9Db21wbGV0ZSkge1xuICAgICAgICA8ZmlsdGVyLWl0ZW0tYXV0b2NvbXBsZXRlXG4gICAgICAgICAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgIFtvdmVybGF5UmVmXT1cIm92ZXJsYXlSZWZcIlxuICAgICAgICAgIFtpdGVtXT1cImF1dG9jb21wbGV0ZUl0ZW1cIlxuICAgICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICAgICAgICBbdHJpZ2dlckNoYW5nZU9uXT1cInRyaWdnZXJDaGFuZ2VPblwiPlxuICAgICAgICA8L2ZpbHRlci1pdGVtLWF1dG9jb21wbGV0ZT5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5BdXRvQ29tcGxldGVDaGlwcykge1xuICAgICAgICA8ZmlsdGVyLWl0ZW0tYXV0b2NvbXBsZXRlY2hpcHNcbiAgICAgICAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZVwiXG4gICAgICAgICAgW292ZXJsYXlSZWZdPVwib3ZlcmxheVJlZlwiXG4gICAgICAgICAgW2l0ZW1dPVwiYXV0b2NvbXBsZXRlQ2hpcHNJdGVtXCJcbiAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgICAgICAgW3RyaWdnZXJDaGFuZ2VPbl09XCJ0cmlnZ2VyQ2hhbmdlT25cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1hdXRvY29tcGxldGVjaGlwcz5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5EYXRlKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1kYXRlXG4gICAgICAgICAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLWRhdGVcIlxuICAgICAgICAgIFtpdGVtXT1cImRhdGVJdGVtXCJcbiAgICAgICAgICBbb3ZlcmxheVJlZl09XCJvdmVybGF5UmVmXCJcbiAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgICAgICAgW3RyaWdnZXJDaGFuZ2VPbl09XCJ0cmlnZ2VyQ2hhbmdlT25cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1kYXRlPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkRhdGVUaW1lKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1kYXRlXG4gICAgICAgICAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLWRhdGVcIlxuICAgICAgICAgIFtpdGVtXT1cImRhdGVUaW1lSXRlbVwiXG4gICAgICAgICAgW292ZXJsYXlSZWZdPVwib3ZlcmxheVJlZlwiXG4gICAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxuICAgICAgICAgIFt0cmlnZ2VyQ2hhbmdlT25dPVwidHJpZ2dlckNoYW5nZU9uXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tZGF0ZT5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5EYXRlUmFuZ2UpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLWRhdGUtcmFuZ2VcbiAgICAgICAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZSBpbnRlcmZhY2UtZGF0ZVwiXG4gICAgICAgICAgW2l0ZW1dPVwiZGF0ZVJhbmdlSXRlbVwiXG4gICAgICAgICAgW292ZXJsYXlSZWZdPVwib3ZlcmxheVJlZlwiXG4gICAgICAgICAgW2F1dG9mb2N1c05hbWVdPVwiYXV0b2ZvY3VzTmFtZVwiXG4gICAgICAgICAgW3RyaWdnZXJDaGFuZ2VPbl09XCJ0cmlnZ2VyQ2hhbmdlT25cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1kYXRlLXJhbmdlPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkRhdGVUaW1lUmFuZ2UpIHtcbiAgICAgICAgPGZpbHRlci1pdGVtLWRhdGUtcmFuZ2VcbiAgICAgICAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgICAgICAgICBjbGFzcz1cImludGVyZmFjZSBpbnRlcmZhY2UtZGF0ZVwiXG4gICAgICAgICAgW2l0ZW1dPVwiZGF0ZVRpbWVSYW5nZUl0ZW1cIlxuICAgICAgICAgIFtvdmVybGF5UmVmXT1cIm92ZXJsYXlSZWZcIlxuICAgICAgICAgIFthdXRvZm9jdXNOYW1lXT1cImF1dG9mb2N1c05hbWVcIlxuICAgICAgICAgIFt0cmlnZ2VyQ2hhbmdlT25dPVwidHJpZ2dlckNoYW5nZU9uXCI+XG4gICAgICAgIDwvZmlsdGVyLWl0ZW0tZGF0ZS1yYW5nZT5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChpdGVtVHlwZS5XZWVrKSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS13ZWVrXG4gICAgICAgICAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXG4gICAgICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgIFtvdmVybGF5UmVmXT1cIm92ZXJsYXlSZWZcIlxuICAgICAgICAgIFtpdGVtXT1cIndlZWtJdGVtXCJcbiAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgICAgICAgW3RyaWdnZXJDaGFuZ2VPbl09XCJ0cmlnZ2VyQ2hhbmdlT25cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS13ZWVrPlxuICAgICAgfVxuICAgICAgQGNhc2UgKGl0ZW1UeXBlLkNoZWNrYm94KSB7XG4gICAgICAgIDxmaWx0ZXItaXRlbS1jaGVja2JveFxuICAgICAgICAgIFtvdmVybGF5UmVmXT1cIm92ZXJsYXlSZWZcIlxuICAgICAgICAgIGNsYXNzPVwiaW50ZXJmYWNlIGludGVyZmFjZS1jaGVja2JveFwiXG4gICAgICAgICAgW2l0ZW1dPVwiY2hlY2tib3hJdGVtXCJcbiAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgICAgICAgW3RyaWdnZXJDaGFuZ2VPbl09XCJ0cmlnZ2VyQ2hhbmdlT25cIj5cbiAgICAgICAgPC9maWx0ZXItaXRlbS1jaGVja2JveD5cbiAgICAgIH1cbiAgICB9XG4gIDwvZGl2PlxufSJdfQ==
@@ -7,6 +7,7 @@ import { FocusToItemDirective } from '../../../directives/focus-to-item.directiv
7
7
  import { BaseItemComponent } from '../base-item/base-item.component';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/forms";
10
+ import * as i2 from "@firestitch/common";
10
11
  export class TextComponent extends BaseItemComponent {
11
12
  autofocus = false;
12
13
  floatLabel = 'auto';
@@ -15,15 +16,24 @@ export class TextComponent extends BaseItemComponent {
15
16
  this.value = this.item.value;
16
17
  }
17
18
  ngOnDestroy() {
18
- this.item.value = this.value;
19
+ if (this.triggerChangeOn === 'close') {
20
+ this.item.value = this.value;
21
+ }
22
+ }
23
+ change() {
24
+ if (this.triggerChangeOn === 'change') {
25
+ this.item.value = this.value;
26
+ }
19
27
  }
20
28
  keyup(event) {
21
- if (event.key === 'Enter' || event.code === 'Tab') {
22
- this.close();
29
+ if (this.triggerChangeOn === 'close') {
30
+ if (event.key === 'Enter' || event.code === 'Tab') {
31
+ this.close();
32
+ }
23
33
  }
24
34
  }
25
35
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
26
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TextComponent, isStandalone: true, selector: "filter-item-text", inputs: { autofocus: "autofocus", floatLabel: "floatLabel" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"form-field-padless\">\n <mat-label>\n {{ item.label }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [(ngModel)]=\"value\"\n (keyup)=\"keyup($event)\"\n [placeholder]=\"item.placeholder\"\n [fsFilterFocusTrigger]=\"autofocus\">\n @if (item.suffix) {\n <span\n matTextSuffix\n [innerHtml]=\"item.suffix\">\n </span>\n }\n</mat-form-field>", styles: [""], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: FsCommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TextComponent, isStandalone: true, selector: "filter-item-text", inputs: { autofocus: "autofocus", floatLabel: "floatLabel" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"form-field-padless\">\n <mat-label>\n {{ item.label }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [(ngModel)]=\"value\"\n (keyup)=\"keyup($event)\"\n (fsModelChange)=\"change()\"\n [placeholder]=\"item.placeholder\"\n [fsFilterFocusTrigger]=\"autofocus\">\n @if (item.suffix) {\n <span\n matTextSuffix\n [innerHtml]=\"item.suffix\">\n </span>\n }\n</mat-form-field>", styles: [""], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: FsCommonModule }, { kind: "directive", type: i2.FsModelChangeDirective, selector: "[fsModelChange]", inputs: ["fsModelChangeOptions"], outputs: ["fsModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
37
  }
28
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextComponent, decorators: [{
29
39
  type: Component,
@@ -37,10 +47,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
37
47
  FocusToItemDirective,
38
48
  MatSuffix,
39
49
  FsCommonModule,
40
- ], template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"form-field-padless\">\n <mat-label>\n {{ item.label }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [(ngModel)]=\"value\"\n (keyup)=\"keyup($event)\"\n [placeholder]=\"item.placeholder\"\n [fsFilterFocusTrigger]=\"autofocus\">\n @if (item.suffix) {\n <span\n matTextSuffix\n [innerHtml]=\"item.suffix\">\n </span>\n }\n</mat-form-field>" }]
50
+ ], template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"form-field-padless\">\n <mat-label>\n {{ item.label }}\n </mat-label>\n @if (item.prefix) {\n <span\n matTextPrefix\n [innerHtml]=\"item.prefix\">\n </span>\n }\n <input\n matInput\n [(ngModel)]=\"value\"\n (keyup)=\"keyup($event)\"\n (fsModelChange)=\"change()\"\n [placeholder]=\"item.placeholder\"\n [fsFilterFocusTrigger]=\"autofocus\">\n @if (item.suffix) {\n <span\n matTextSuffix\n [innerHtml]=\"item.suffix\">\n </span>\n }\n</mat-form-field>" }]
41
51
  }], propDecorators: { autofocus: [{
42
52
  type: Input
43
53
  }], floatLabel: [{
44
54
  type: Input
45
55
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3RleHQvdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3RleHQvdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7QUFxQnJFLE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQTJCO0lBRTVDLFNBQVMsR0FBWSxLQUFLLENBQUM7SUFDM0IsVUFBVSxHQUFzQixNQUFNLENBQUM7SUFFaEQsS0FBSyxDQUFTO0lBRWQsUUFBUTtRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQW9CO1FBQy9CLElBQUcsS0FBSyxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQzt3R0FuQlUsYUFBYTs0RkFBYixhQUFhLGlLQ3RDMUIsNGhCQXdCaUIsMERER2IsWUFBWSw0TEFDWixRQUFRLHNEQUNSLFNBQVMscUhBQ1QsUUFBUSxnVUFDUixXQUFXLDhtQkFDWCxtQkFBbUIsK0JBQ25CLG9CQUFvQixxR0FDcEIsU0FBUyxvSEFDVCxjQUFjOzs0RkFHTCxhQUFhO2tCQWxCekIsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixRQUFRO3dCQUNSLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixTQUFTO3dCQUNULGNBQWM7cUJBQ2Y7OEJBSWUsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdExhYmVsLCBNYXRQcmVmaXgsIE1hdFN1ZmZpeCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5cblxuaW1wb3J0IHsgRnNDb21tb25Nb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuXG5pbXBvcnQgeyBGb2N1c1RvSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvZm9jdXMtdG8taXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGV4dEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvdGV4dC1pdGVtJztcbmltcG9ydCB7IEJhc2VJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1pdGVtL2Jhc2UtaXRlbS5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpbHRlci1pdGVtLXRleHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRGb3JtRmllbGQsXG4gICAgTWF0TGFiZWwsXG4gICAgTWF0UHJlZml4LFxuICAgIE1hdElucHV0LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9jdXNUb0l0ZW1EaXJlY3RpdmUsXG4gICAgTWF0U3VmZml4LFxuICAgIEZzQ29tbW9uTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8VGV4dEl0ZW0+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBhdXRvZm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGZsb2F0TGFiZWw6ICdhdXRvJyB8ICdhbHdheXMnID0gJ2F1dG8nO1xuICBcbiAgcHVibGljIHZhbHVlOiBzdHJpbmc7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW0udmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtLnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBrZXl1cChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5jb2RlID09PSAnVGFiJykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8bWF0LWZvcm0tZmllbGRcbiAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgICBjbGFzcz1cImZvcm0tZmllbGQtcGFkbGVzc1wiPlxuICA8bWF0LWxhYmVsPlxuICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgPC9tYXQtbGFiZWw+XG4gIEBpZiAoaXRlbS5wcmVmaXgpIHtcbiAgICA8c3BhblxuICAgICAgbWF0VGV4dFByZWZpeFxuICAgICAgW2lubmVySHRtbF09XCJpdGVtLnByZWZpeFwiPlxuICAgIDwvc3Bhbj5cbiAgfVxuICA8aW5wdXRcbiAgICBtYXRJbnB1dFxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgIChrZXl1cCk9XCJrZXl1cCgkZXZlbnQpXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiaXRlbS5wbGFjZWhvbGRlclwiXG4gICAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cImF1dG9mb2N1c1wiPlxuICBAaWYgKGl0ZW0uc3VmZml4KSB7XG4gICAgPHNwYW5cbiAgICAgIG1hdFRleHRTdWZmaXhcbiAgICAgIFtpbm5lckh0bWxdPVwiaXRlbS5zdWZmaXhcIj5cbiAgICA8L3NwYW4+XG4gIH1cbjwvbWF0LWZvcm0tZmllbGQ+Il19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3RleHQvdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3RleHQvdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7O0FBcUJyRSxNQUFNLE9BQU8sYUFBYyxTQUFRLGlCQUEyQjtJQUU1QyxTQUFTLEdBQVksS0FBSyxDQUFDO0lBQzNCLFVBQVUsR0FBc0IsTUFBTSxDQUFDO0lBRWhELEtBQUssQ0FBUztJQUVkLFFBQVE7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUcsSUFBSSxDQUFDLGVBQWUsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUcsSUFBSSxDQUFDLGVBQWUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQW9CO1FBQy9CLElBQUcsSUFBSSxDQUFDLGVBQWUsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUNwQyxJQUFHLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzt3R0E3QlUsYUFBYTs0RkFBYixhQUFhLGlLQ3RDMUIsOGpCQXlCaUIsMERERWIsWUFBWSw0TEFDWixRQUFRLHNEQUNSLFNBQVMscUhBQ1QsUUFBUSxnVUFDUixXQUFXLDhtQkFDWCxtQkFBbUIsK0JBQ25CLG9CQUFvQixxR0FDcEIsU0FBUyxvSEFDVCxjQUFjOzs0RkFHTCxhQUFhO2tCQWxCekIsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixRQUFRO3dCQUNSLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixTQUFTO3dCQUNULGNBQWM7cUJBQ2Y7OEJBSWUsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdExhYmVsLCBNYXRQcmVmaXgsIE1hdFN1ZmZpeCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5cblxuaW1wb3J0IHsgRnNDb21tb25Nb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuXG5pbXBvcnQgeyBGb2N1c1RvSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvZm9jdXMtdG8taXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGV4dEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvdGV4dC1pdGVtJztcbmltcG9ydCB7IEJhc2VJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1pdGVtL2Jhc2UtaXRlbS5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpbHRlci1pdGVtLXRleHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRGb3JtRmllbGQsXG4gICAgTWF0TGFiZWwsXG4gICAgTWF0UHJlZml4LFxuICAgIE1hdElucHV0LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9jdXNUb0l0ZW1EaXJlY3RpdmUsXG4gICAgTWF0U3VmZml4LFxuICAgIEZzQ29tbW9uTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8VGV4dEl0ZW0+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBhdXRvZm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGZsb2F0TGFiZWw6ICdhdXRvJyB8ICdhbHdheXMnID0gJ2F1dG8nO1xuICBcbiAgcHVibGljIHZhbHVlOiBzdHJpbmc7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW0udmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYodGhpcy50cmlnZ2VyQ2hhbmdlT24gPT09ICdjbG9zZScpIHtcbiAgICAgIHRoaXMuaXRlbS52YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNoYW5nZSgpIHtcbiAgICBpZih0aGlzLnRyaWdnZXJDaGFuZ2VPbiA9PT0gJ2NoYW5nZScpIHtcbiAgICAgIHRoaXMuaXRlbS52YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGtleXVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYodGhpcy50cmlnZ2VyQ2hhbmdlT24gPT09ICdjbG9zZScpIHtcbiAgICAgIGlmKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5jb2RlID09PSAnVGFiJykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIjxtYXQtZm9ybS1maWVsZFxuICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxuICAgIGNsYXNzPVwiZm9ybS1maWVsZC1wYWRsZXNzXCI+XG4gIDxtYXQtbGFiZWw+XG4gICAge3sgaXRlbS5sYWJlbCB9fVxuICA8L21hdC1sYWJlbD5cbiAgQGlmIChpdGVtLnByZWZpeCkge1xuICAgIDxzcGFuXG4gICAgICBtYXRUZXh0UHJlZml4XG4gICAgICBbaW5uZXJIdG1sXT1cIml0ZW0ucHJlZml4XCI+XG4gICAgPC9zcGFuPlxuICB9XG4gIDxpbnB1dFxuICAgIG1hdElucHV0XG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgKGtleXVwKT1cImtleXVwKCRldmVudClcIlxuICAgIChmc01vZGVsQ2hhbmdlKT1cImNoYW5nZSgpXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiaXRlbS5wbGFjZWhvbGRlclwiXG4gICAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cImF1dG9mb2N1c1wiPlxuICBAaWYgKGl0ZW0uc3VmZml4KSB7XG4gICAgPHNwYW5cbiAgICAgIG1hdFRleHRTdWZmaXhcbiAgICAgIFtpbm5lckh0bWxdPVwiaXRlbS5zdWZmaXhcIj5cbiAgICA8L3NwYW4+XG4gIH1cbjwvbWF0LWZvcm0tZmllbGQ+Il19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdXR0b25TdHlsZSB9IGZyb20gJy4uL2VudW1zJztcblxuaW1wb3J0IHsgRnNGaWx0ZXJBY3Rpb24gfSBmcm9tICcuL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0tleXdvcmRJdGVtIH0gZnJvbSAnLi9pdGVtcyc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnQXV0b2NvbXBsZXRlQ2hpcHNJdGVtIH0gZnJvbSAnLi9pdGVtcy9hdXRvY29tcGxldGUtY2hpcHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVJdGVtIH0gZnJvbSAnLi9pdGVtcy9hdXRvY29tcGxldGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdCYXNlSXRlbSB9IGZyb20gJy4vaXRlbXMvYmFzZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0NoZWNrYm94SXRlbSB9IGZyb20gJy4vaXRlbXMvY2hlY2tib3guaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdDaGlwc0l0ZW0gfSBmcm9tICcuL2l0ZW1zL2NoaXBzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnRGF0ZVJhbmdlSXRlbSB9IGZyb20gJy4vaXRlbXMvZGF0ZS1yYW5nZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0RhdGVJdGVtIH0gZnJvbSAnLi9pdGVtcy9kYXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnUmFuZ2VJdGVtIH0gZnJvbSAnLi9pdGVtcy9yYW5nZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1NlbGVjdEl0ZW0gfSBmcm9tICcuL2l0ZW1zL3NlbGVjdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1RleHRJdGVtIH0gZnJvbSAnLi9pdGVtcy90ZXh0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnIH0gZnJvbSAnLi9zYXZlZC1maWx0ZXJzLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQ29uZmlnIHtcbiAgbG9hZD86IGJvb2xlYW47XG4gIGNoaXBzPzogYm9vbGVhbjtcbiAgYXV0b2ZvY3VzPzogYm9vbGVhbjtcbiAgcXVlcnlQYXJhbT86IGJvb2xlYW47XG4gIG1heEVuYWJsZWQ/OiBudW1iZXI7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgcGVyc2lzdD86IEZzRmlsdGVyUGVyc2lzdGFuY2U7XG4gIHJlbG9hZD86IGJvb2xlYW47XG4gIGNsZWFyPzogQ2hhbmdlRm47XG4gIGl0ZW1zPzogSUZpbHRlckNvbmZpZ0l0ZW1bXTtcbiAgaW5pdD86IENoYW5nZUZuO1xuICBjaGFuZ2U/OiBDaGFuZ2VGbjtcbiAgc29ydD86IFNvcnQ7XG4gIHNvcnRDaGFuZ2U/OiBDaGFuZ2VGbjtcbiAgcmVsb2FkV2hlbkNvbmZpZ0NoYW5nZWQ/OiBib29sZWFuO1xuICBjYXNlPzogJ3NuYWtlJyB8ICdjYW1lbCc7XG4gIGJ1dHRvbj86IEZpbHRlckJ1dHRvbjtcbiAgYnV0dG9uU3R5bGU/OiBCdXR0b25TdHlsZTtcbiAgc2F2ZWRGaWx0ZXJzPzogSUZpbHRlclNhdmVkRmlsdGVyc0NvbmZpZztcbiAgYWN0aW9ucz86IEZzRmlsdGVyQWN0aW9uW107XG4gIGF1dG9SZWxvYWQ/OiBGc0ZpbHRlckF1dG9SZWxvYWQ7ICBcbiAgaGVhZGluZz86IHN0cmluZztcbiAgc3ViaGVhZGluZz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGc0ZpbHRlckF1dG9SZWxvYWQge1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgc2Vjb25kcz86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgSUZpbHRlckNvbmZpZ0l0ZW0gPVxuICAoXG4gICAgSUZpbHRlckNvbmZpZ0Jhc2VJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnQ2hlY2tib3hJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnU2VsZWN0SXRlbVxuICAgIHwgSUZpbHRlckNvbmZpZ0NoaXBzSXRlbVxuICAgIHwgSUZpbHRlckNvbmZpZ1RleHRJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnS2V5d29yZEl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdEYXRlSXRlbVxuICAgIHwgSUZpbHRlckNvbmZpZ0F1dG9jb21wbGV0ZUl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVDaGlwc0l0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdSYW5nZUl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtXG4gICk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydEl0ZW0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydCB7XG4gIGRpcmVjdGlvbj86IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQnV0dG9uIHtcbiAgc3R5bGU/OiBCdXR0b25TdHlsZTtcbiAgY29sb3I/OiAncHJpbWFyeScgfCAnZGVmYXVsdCcsXG4gIGljb24/OiBzdHJpbmcsXG4gIGxhYmVsPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlRm4ge1xuICAocXVlcnk/OiBhbnksIHNvcnQ/OiBGaWx0ZXJTb3J0IHwgbnVsbCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyU29ydCB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRpcmVjdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZzRmlsdGVyUGVyc2lzdGFuY2VDb25maWcge1xuICBuYW1lPzogc3RyaW5nO1xuICB0aW1lb3V0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBGc0ZpbHRlclBlcnNpc3RhbmNlID0gYm9vbGVhbiB8IEZzRmlsdGVyUGVyc2lzdGFuY2VDb25maWc7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdXR0b25TdHlsZSB9IGZyb20gJy4uL2VudW1zJztcblxuaW1wb3J0IHsgRnNGaWx0ZXJBY3Rpb24gfSBmcm9tICcuL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0tleXdvcmRJdGVtIH0gZnJvbSAnLi9pdGVtcyc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnQXV0b2NvbXBsZXRlQ2hpcHNJdGVtIH0gZnJvbSAnLi9pdGVtcy9hdXRvY29tcGxldGUtY2hpcHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVJdGVtIH0gZnJvbSAnLi9pdGVtcy9hdXRvY29tcGxldGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdCYXNlSXRlbSB9IGZyb20gJy4vaXRlbXMvYmFzZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0NoZWNrYm94SXRlbSB9IGZyb20gJy4vaXRlbXMvY2hlY2tib3guaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdDaGlwc0l0ZW0gfSBmcm9tICcuL2l0ZW1zL2NoaXBzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnRGF0ZVJhbmdlSXRlbSB9IGZyb20gJy4vaXRlbXMvZGF0ZS1yYW5nZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0RhdGVJdGVtIH0gZnJvbSAnLi9pdGVtcy9kYXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnUmFuZ2VJdGVtIH0gZnJvbSAnLi9pdGVtcy9yYW5nZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1NlbGVjdEl0ZW0gfSBmcm9tICcuL2l0ZW1zL3NlbGVjdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1RleHRJdGVtIH0gZnJvbSAnLi9pdGVtcy90ZXh0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnIH0gZnJvbSAnLi9zYXZlZC1maWx0ZXJzLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQ29uZmlnIHtcbiAgbG9hZD86IGJvb2xlYW47XG4gIGNoaXBzPzogYm9vbGVhbjtcbiAgYXV0b2ZvY3VzPzogYm9vbGVhbjtcbiAgcXVlcnlQYXJhbT86IGJvb2xlYW47XG4gIG1heEVuYWJsZWQ/OiBudW1iZXI7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgcGVyc2lzdD86IEZzRmlsdGVyUGVyc2lzdGFuY2U7XG4gIHJlbG9hZD86IGJvb2xlYW47XG4gIGNsZWFyPzogQ2hhbmdlRm47XG4gIGl0ZW1zPzogSUZpbHRlckNvbmZpZ0l0ZW1bXTtcbiAgaW5pdD86IENoYW5nZUZuO1xuICBjaGFuZ2U/OiBDaGFuZ2VGbjtcbiAgc29ydD86IFNvcnQ7XG4gIHNvcnRDaGFuZ2U/OiBDaGFuZ2VGbjtcbiAgcmVsb2FkV2hlbkNvbmZpZ0NoYW5nZWQ/OiBib29sZWFuO1xuICBjYXNlPzogJ3NuYWtlJyB8ICdjYW1lbCc7XG4gIGJ1dHRvbj86IEZpbHRlckJ1dHRvbjtcbiAgYnV0dG9uU3R5bGU/OiBCdXR0b25TdHlsZTtcbiAgc2F2ZWRGaWx0ZXJzPzogSUZpbHRlclNhdmVkRmlsdGVyc0NvbmZpZztcbiAgYWN0aW9ucz86IEZzRmlsdGVyQWN0aW9uW107XG4gIGF1dG9SZWxvYWQ/OiBGc0ZpbHRlckF1dG9SZWxvYWQ7ICBcbiAgaGVhZGluZz86IHN0cmluZztcbiAgc3ViaGVhZGluZz86IHN0cmluZztcbiAgbWluU2Vjb25kYXJ5SXRlbXM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnNGaWx0ZXJBdXRvUmVsb2FkIHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHNlY29uZHM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIElGaWx0ZXJDb25maWdJdGVtID1cbiAgKFxuICAgIElGaWx0ZXJDb25maWdCYXNlSXRlbVxuICAgIHwgSUZpbHRlckNvbmZpZ0NoZWNrYm94SXRlbVxuICAgIHwgSUZpbHRlckNvbmZpZ1NlbGVjdEl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdDaGlwc0l0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdUZXh0SXRlbVxuICAgIHwgSUZpbHRlckNvbmZpZ0tleXdvcmRJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnRGF0ZUl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnQXV0b2NvbXBsZXRlQ2hpcHNJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnUmFuZ2VJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnRGF0ZVJhbmdlSXRlbVxuICApO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRJdGVtIHtcbiAgbmFtZTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnQge1xuICBkaXJlY3Rpb24/OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckJ1dHRvbiB7XG4gIHN0eWxlPzogQnV0dG9uU3R5bGU7XG4gIGNvbG9yPzogJ3ByaW1hcnknIHwgJ2RlZmF1bHQnLFxuICBpY29uPzogc3RyaW5nLFxuICBsYWJlbD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZUZuIHtcbiAgKHF1ZXJ5PzogYW55LCBzb3J0PzogRmlsdGVyU29ydCB8IG51bGwpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlclNvcnQge1xuICB2YWx1ZTogc3RyaW5nO1xuICBkaXJlY3Rpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGc0ZpbHRlclBlcnNpc3RhbmNlQ29uZmlnIHtcbiAgbmFtZT86IHN0cmluZztcbiAgdGltZW91dD86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgRnNGaWx0ZXJQZXJzaXN0YW5jZSA9IGJvb2xlYW4gfCBGc0ZpbHRlclBlcnNpc3RhbmNlQ29uZmlnO1xuIl19
@@ -25,6 +25,7 @@ export class FsFilterConfig {
25
25
  heading;
26
26
  subheading;
27
27
  maxEnabled;
28
+ minSecondaryItems;
28
29
  constructor(data = {}) {
29
30
  this._init(data);
30
31
  }
@@ -46,6 +47,7 @@ export class FsFilterConfig {
46
47
  enabled: data.autoReload ? data.autoReload.enabled ?? true : false,
47
48
  } : null,
48
49
  clear: data.clear,
50
+ minSecondaryItems: data.minSecondaryItems ?? 2,
49
51
  sortChange: data.sortChange,
50
52
  case: data.case ?? 'camel',
51
53
  reloadWhenConfigChanged: data.reloadWhenConfigChanged,
@@ -88,4 +90,4 @@ export class FsFilterConfig {
88
90
  }
89
91
  }
90
92
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL2ZpbHRlci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQVl2QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGVBQWUsQ0FBQztBQUdsRCxNQUFNLE9BQU8sY0FBYztJQUVsQixJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ1osT0FBTyxHQUF3QixLQUFLLENBQUM7SUFDckMsWUFBWSxDQUE0QjtJQUN4QyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ2YsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsV0FBVyxDQUFjO0lBQ3pCLFVBQVUsR0FBVSxJQUFJLENBQUM7SUFDekIsSUFBSSxHQUFTLElBQUksQ0FBQztJQUNsQixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLElBQUksQ0FBNEU7SUFDaEYsTUFBTSxDQUFXO0lBQ2pCLE1BQU0sR0FBWSxJQUFJLENBQUM7SUFDdkIsVUFBVSxDQUFxQjtJQUMvQixLQUFLLENBQVc7SUFDaEIsVUFBVSxDQUFXO0lBQ3JCLE1BQU0sQ0FBZTtJQUNyQixLQUFLLENBQXNCO0lBQzNCLE9BQU8sQ0FBbUI7SUFDMUIsU0FBUyxDQUFTLENBQUMsa0JBQWtCO0lBQ3JDLE9BQU8sQ0FBUztJQUNoQixVQUFVLENBQVM7SUFDbkIsVUFBVSxDQUFTO0lBRTFCLFlBQVksT0FBcUIsRUFBRTtRQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFTyxLQUFLLENBQUMsT0FBcUIsRUFBRTtRQUNuQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtZQUNsQixJQUFJ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UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvblN0eWxlIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgRnNGaWx0ZXJBY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2hhbmdlRm4sIEZpbHRlclNvcnQsIEZzRmlsdGVyQXV0b1JlbG9hZCwgU29ydCB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zYXZlZC1maWx0ZXJzLmludGVyZmFjZSc7XG5cbmltcG9ydCB7XG4gIEZpbHRlckJ1dHRvbixcbiAgRmlsdGVyQ29uZmlnLFxuICBGc0ZpbHRlclBlcnNpc3RhbmNlLFxuICBJRmlsdGVyQ29uZmlnSXRlbSxcbn0gZnJvbSAnLi8uLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgU29ydEJ5RmllbGQgPSAnc29ydE5hbWUnO1xuZXhwb3J0IGNvbnN0IFNvcnREaXJlY3Rpb25GaWVsZCA9ICdzb3J0RGlyZWN0aW9uJztcblxuXG5leHBvcnQgY2xhc3MgRnNGaWx0ZXJDb25maWcge1xuXG4gIHB1YmxpYyBsb2FkID0gdHJ1ZTtcbiAgcHVibGljIHBlcnNpc3Q6IEZzRmlsdGVyUGVyc2lzdGFuY2UgPSBmYWxzZTtcbiAgcHVibGljIHNhdmVkRmlsdGVyczogSUZpbHRlclNhdmVkRmlsdGVyc0NvbmZpZztcbiAgcHVibGljIGlubGluZSA9IGZhbHNlO1xuICBwdWJsaWMgYXV0b2ZvY3VzID0gZmFsc2U7XG4gIHB1YmxpYyBjaGlwcyA9IGZhbHNlO1xuICBwdWJsaWMgYnV0dG9uU3R5bGU6IEJ1dHRvblN0eWxlO1xuICBwdWJsaWMgc29ydFZhbHVlczogYW55W10gPSBudWxsO1xuICBwdWJsaWMgc29ydDogU29ydCA9IG51bGw7XG4gIHB1YmxpYyBxdWVyeVBhcmFtID0gZmFsc2U7XG4gIHB1YmxpYyBpbml0OiAocXVlcnk/OiBhbnksIHNvcnQ/OiBGaWx0ZXJTb3J0IHwgbnVsbCwgZmlsdGVyPzogRmlsdGVyQ29tcG9uZW50KSA9PiB2b2lkO1xuICBwdWJsaWMgY2hhbmdlOiBDaGFuZ2VGbjtcbiAgcHVibGljIHJlbG9hZDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBhdXRvUmVsb2FkOiBGc0ZpbHRlckF1dG9SZWxvYWQ7XG4gIHB1YmxpYyBjbGVhcjogQ2hhbmdlRm47XG4gIHB1YmxpYyBzb3J0Q2hhbmdlOiBDaGFuZ2VGbjtcbiAgcHVibGljIGJ1dHRvbjogRmlsdGVyQnV0dG9uO1xuICBwdWJsaWMgaXRlbXM6IElGaWx0ZXJDb25maWdJdGVtW107XG4gIHB1YmxpYyBhY3Rpb25zOiBGc0ZpbHRlckFjdGlvbltdO1xuICBwdWJsaWMgbmFtZXNwYWNlOiBzdHJpbmc7IC8vIGZvciBwZXJzaXN0YW5jZVxuICBwdWJsaWMgaGVhZGluZzogc3RyaW5nO1xuICBwdWJsaWMgc3ViaGVhZGluZzogc3RyaW5nO1xuICBwdWJsaWMgbWF4RW5hYmxlZDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE6IEZpbHRlckNvbmZpZyA9IHt9KSB7XG4gICAgdGhpcy5faW5pdChkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXQoZGF0YTogRmlsdGVyQ29uZmlnID0ge30pIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIHtcbiAgICAgIGxvYWQ6IGRhdGEubG9hZCA/PyB0cnVlLFxuICAgICAgcGVyc2lzdDogZGF0YS5wZXJzaXN0LFxuICAgICAgc2F2ZWRGaWx0ZXJzOiBkYXRhLnNhdmVkRmlsdGVycyxcbiAgICAgIGF1dG9mb2N1czogZGF0YS5hdXRvZm9jdXMgPz8gZmFsc2UsXG4gICAgICBjaGlwczogZGF0YS5jaGlwcyA/PyBmYWxzZSxcbiAgICAgIG1heEVuYWJsZWQ6IGRhdGEubWF4RW5hYmxlZCA/PyAwLFxuICAgICAgc29ydDogZGF0YS5zb3J0LFxuICAgICAgcXVlcnlQYXJhbTogZGF0YS5xdWVyeVBhcmFtID8/IGZhbHNlLFxuICAgICAgaW5pdDogZGF0YS5pbml0LFxuICAgICAgY2hhbmdlOiBkYXRhLmNoYW5nZSxcbiAgICAgIHJlbG9hZDogZGF0YS5yZWxvYWQsXG4gICAgICBhdXRvUmVsb2FkOiBkYXRhLmF1dG9SZWxvYWQgPyB7XG4gICAgICAgIC4uLmRhdGEuYXV0b1JlbG9hZCxcbiAgICAgICAgZW5hYmxlZDogZGF0YS5hdXRvUmVsb2FkID8gZGF0YS5hdXRvUmVsb2FkLmVuYWJsZWQgPz8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgfSA6IG51bGwsXG4gICAgICBjbGVhcjogZGF0YS5jbGVhcixcbiAgICAgIHNvcnRDaGFuZ2U6IGRhdGEuc29ydENoYW5nZSxcbiAgICAgIGNhc2U6IGRhdGEuY2FzZSA/PyAnY2FtZWwnLFxuICAgICAgcmVsb2FkV2hlbkNvbmZpZ0NoYW5nZWQ6IGRhdGEucmVsb2FkV2hlbkNvbmZpZ0NoYW5nZWQsXG4gICAgICBpdGVtczogZGF0YS5pdGVtcyxcbiAgICAgIGFjdGlvbnM6IGRhdGEuYWN0aW9ucyxcbiAgICAgIGJ1dHRvblN0eWxlOiBkYXRhLmJ1dHRvblN0eWxlIHx8IEJ1dHRvblN0eWxlLkZsYXQsXG4gICAgICBoZWFkaW5nOiBkYXRhLmhlYWRpbmcsXG4gICAgICBzdWJoZWFkaW5nOiBkYXRhLnN1YmhlYWRpbmcsXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5wZXJzaXN0KSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMucGVyc2lzdCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgaWYgKHRoaXMucGVyc2lzdC5uYW1lKSB7XG4gICAgICAgICAgdGhpcy5uYW1lc3BhY2UgPSB0aGlzLnBlcnNpc3QubmFtZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmNsZWFyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY2xlYXIgPSAoKSA9PiB7IFxuICAgICAgICAvL1xuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLl9pbml0QnV0dG9uKGRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdEJ1dHRvbihkYXRhOiBGaWx0ZXJDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLmJ1dHRvbiA9IGRhdGEuYnV0dG9uO1xuICAgIGlmICghdGhpcy5idXR0b24pIHtcbiAgICAgIHRoaXMuYnV0dG9uID0ge307XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYnV0dG9uLmxhYmVsID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYnV0dG9uLmxhYmVsID0gJ0ZpbHRlcnMnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmJ1dHRvbi5pY29uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYnV0dG9uLmljb24gPSAnZmlsdGVyT3V0bGluZSc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYnV0dG9uLnN0eWxlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYnV0dG9uLnN0eWxlID0gQnV0dG9uU3R5bGUuUmFpc2VkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmJ1dHRvbi5jb2xvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmJ1dHRvbi5jb2xvciA9ICdkZWZhdWx0JztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL2ZpbHRlci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQVl2QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGVBQWUsQ0FBQztBQUdsRCxNQUFNLE9BQU8sY0FBYztJQUVsQixJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ1osT0FBTyxHQUF3QixLQUFLLENBQUM7SUFDckMsWUFBWSxDQUE0QjtJQUN4QyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ2YsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsV0FBVyxDQUFjO0lBQ3pCLFVBQVUsR0FBVSxJQUFJLENBQUM7SUFDekIsSUFBSSxHQUFTLElBQUksQ0FBQztJQUNsQixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLElBQUksQ0FBNEU7SUFDaEYsTUFBTSxDQUFXO0lBQ2pCLE1BQU0sR0FBWSxJQUFJLENBQUM7SUFDdkIsVUFBVSxDQUFxQjtJQUMvQixLQUFLLENBQVc7SUFDaEIsVUFBVSxDQUFXO0lBQ3JCLE1BQU0sQ0FBZTtJQUNyQixLQUFLLENBQXNCO0lBQzNCLE9BQU8sQ0FBbUI7SUFDMUIsU0FBUyxDQUFTLENBQUMsa0JBQWtCO0lBQ3JDLE9BQU8sQ0FBUztJQUNoQixVQUFVLENBQVM7SUFDbkIsVUFBVSxDQUFTO0lBQ25CLGlCQUFpQixDQUFTO0lBRWpDLFlBQVksT0FBcUIsRUFBRTtRQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFTyxLQUFLLENBQUMsT0FBcUIsRUFBRTtRQUNuQyxNQUFNLENBQUMsTUFBTSxDQUFDLElB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QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO1FBQ3pDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvblN0eWxlIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgRnNGaWx0ZXJBY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2hhbmdlRm4sIEZpbHRlclNvcnQsIEZzRmlsdGVyQXV0b1JlbG9hZCwgU29ydCB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zYXZlZC1maWx0ZXJzLmludGVyZmFjZSc7XG5cbmltcG9ydCB7XG4gIEZpbHRlckJ1dHRvbixcbiAgRmlsdGVyQ29uZmlnLFxuICBGc0ZpbHRlclBlcnNpc3RhbmNlLFxuICBJRmlsdGVyQ29uZmlnSXRlbSxcbn0gZnJvbSAnLi8uLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgU29ydEJ5RmllbGQgPSAnc29ydE5hbWUnO1xuZXhwb3J0IGNvbnN0IFNvcnREaXJlY3Rpb25GaWVsZCA9ICdzb3J0RGlyZWN0aW9uJztcblxuXG5leHBvcnQgY2xhc3MgRnNGaWx0ZXJDb25maWcge1xuXG4gIHB1YmxpYyBsb2FkID0gdHJ1ZTtcbiAgcHVibGljIHBlcnNpc3Q6IEZzRmlsdGVyUGVyc2lzdGFuY2UgPSBmYWxzZTtcbiAgcHVibGljIHNhdmVkRmlsdGVyczogSUZpbHRlclNhdmVkRmlsdGVyc0NvbmZpZztcbiAgcHVibGljIGlubGluZSA9IGZhbHNlO1xuICBwdWJsaWMgYXV0b2ZvY3VzID0gZmFsc2U7XG4gIHB1YmxpYyBjaGlwcyA9IGZhbHNlO1xuICBwdWJsaWMgYnV0dG9uU3R5bGU6IEJ1dHRvblN0eWxlO1xuICBwdWJsaWMgc29ydFZhbHVlczogYW55W10gPSBudWxsO1xuICBwdWJsaWMgc29ydDogU29ydCA9IG51bGw7XG4gIHB1YmxpYyBxdWVyeVBhcmFtID0gZmFsc2U7XG4gIHB1YmxpYyBpbml0OiAocXVlcnk/OiBhbnksIHNvcnQ/OiBGaWx0ZXJTb3J0IHwgbnVsbCwgZmlsdGVyPzogRmlsdGVyQ29tcG9uZW50KSA9PiB2b2lkO1xuICBwdWJsaWMgY2hhbmdlOiBDaGFuZ2VGbjtcbiAgcHVibGljIHJlbG9hZDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBhdXRvUmVsb2FkOiBGc0ZpbHRlckF1dG9SZWxvYWQ7XG4gIHB1YmxpYyBjbGVhcjogQ2hhbmdlRm47XG4gIHB1YmxpYyBzb3J0Q2hhbmdlOiBDaGFuZ2VGbjtcbiAgcHVibGljIGJ1dHRvbjogRmlsdGVyQnV0dG9uO1xuICBwdWJsaWMgaXRlbXM6IElGaWx0ZXJDb25maWdJdGVtW107XG4gIHB1YmxpYyBhY3Rpb25zOiBGc0ZpbHRlckFjdGlvbltdO1xuICBwdWJsaWMgbmFtZXNwYWNlOiBzdHJpbmc7IC8vIGZvciBwZXJzaXN0YW5jZVxuICBwdWJsaWMgaGVhZGluZzogc3RyaW5nO1xuICBwdWJsaWMgc3ViaGVhZGluZzogc3RyaW5nO1xuICBwdWJsaWMgbWF4RW5hYmxlZDogbnVtYmVyO1xuICBwdWJsaWMgbWluU2Vjb25kYXJ5SXRlbXM6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihkYXRhOiBGaWx0ZXJDb25maWcgPSB7fSkge1xuICAgIHRoaXMuX2luaXQoZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0KGRhdGE6IEZpbHRlckNvbmZpZyA9IHt9KSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCB7XG4gICAgICBsb2FkOiBkYXRhLmxvYWQgPz8gdHJ1ZSxcbiAgICAgIHBlcnNpc3Q6IGRhdGEucGVyc2lzdCxcbiAgICAgIHNhdmVkRmlsdGVyczogZGF0YS5zYXZlZEZpbHRlcnMsXG4gICAgICBhdXRvZm9jdXM6IGRhdGEuYXV0b2ZvY3VzID8/IGZhbHNlLFxuICAgICAgY2hpcHM6IGRhdGEuY2hpcHMgPz8gZmFsc2UsXG4gICAgICBtYXhFbmFibGVkOiBkYXRhLm1heEVuYWJsZWQgPz8gMCxcbiAgICAgIHNvcnQ6IGRhdGEuc29ydCxcbiAgICAgIHF1ZXJ5UGFyYW06IGRhdGEucXVlcnlQYXJhbSA/PyBmYWxzZSxcbiAgICAgIGluaXQ6IGRhdGEuaW5pdCxcbiAgICAgIGNoYW5nZTogZGF0YS5jaGFuZ2UsXG4gICAgICByZWxvYWQ6IGRhdGEucmVsb2FkLFxuICAgICAgYXV0b1JlbG9hZDogZGF0YS5hdXRvUmVsb2FkID8ge1xuICAgICAgICAuLi5kYXRhLmF1dG9SZWxvYWQsXG4gICAgICAgIGVuYWJsZWQ6IGRhdGEuYXV0b1JlbG9hZCA/IGRhdGEuYXV0b1JlbG9hZC5lbmFibGVkID8/IHRydWUgOiBmYWxzZSxcbiAgICAgIH0gOiBudWxsLFxuICAgICAgY2xlYXI6IGRhdGEuY2xlYXIsXG4gICAgICBtaW5TZWNvbmRhcnlJdGVtczogZGF0YS5taW5TZWNvbmRhcnlJdGVtcyA/PyAyLFxuICAgICAgc29ydENoYW5nZTogZGF0YS5zb3J0Q2hhbmdlLFxuICAgICAgY2FzZTogZGF0YS5jYXNlID8/ICdjYW1lbCcsXG4gICAgICByZWxvYWRXaGVuQ29uZmlnQ2hhbmdlZDogZGF0YS5yZWxvYWRXaGVuQ29uZmlnQ2hhbmdlZCxcbiAgICAgIGl0ZW1zOiBkYXRhLml0ZW1zLFxuICAgICAgYWN0aW9uczogZGF0YS5hY3Rpb25zLFxuICAgICAgYnV0dG9uU3R5bGU6IGRhdGEuYnV0dG9uU3R5bGUgfHwgQnV0dG9uU3R5bGUuRmxhdCxcbiAgICAgIGhlYWRpbmc6IGRhdGEuaGVhZGluZyxcbiAgICAgIHN1YmhlYWRpbmc6IGRhdGEuc3ViaGVhZGluZyxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnBlcnNpc3QpIHtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5wZXJzaXN0ID09PSAnb2JqZWN0Jykge1xuICAgICAgICBpZiAodGhpcy5wZXJzaXN0Lm5hbWUpIHtcbiAgICAgICAgICB0aGlzLm5hbWVzcGFjZSA9IHRoaXMucGVyc2lzdC5uYW1lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2xlYXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jbGVhciA9ICgpID0+IHsgXG4gICAgICAgIC8vXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMuX2luaXRCdXR0b24oZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0QnV0dG9uKGRhdGE6IEZpbHRlckNvbmZpZyk6IHZvaWQge1xuICAgIHRoaXMuYnV0dG9uID0gZGF0YS5idXR0b247XG4gICAgaWYgKCF0aGlzLmJ1dHRvbikge1xuICAgICAgdGhpcy5idXR0b24gPSB7fTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5idXR0b24ubGFiZWwgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5idXR0b24ubGFiZWwgPSAnRmlsdGVycyc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYnV0dG9uLmljb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5idXR0b24uaWNvbiA9ICdmaWx0ZXJPdXRsaW5lJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5idXR0b24uc3R5bGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5idXR0b24uc3R5bGUgPSBCdXR0b25TdHlsZS5SYWlzZWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYnV0dG9uLmNvbG9yID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYnV0dG9uLmNvbG9yID0gJ2RlZmF1bHQnO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -184,20 +184,27 @@ export class FilterController {
184
184
  }
185
185
  });
186
186
  }
187
- _addItems(items) {
188
- const itemMap = items
189
- .filter((item) => {
190
- if (this._items.has(item.name)) {
187
+ _addItems(itemsConfig) {
188
+ let secondaryItemCount = itemsConfig
189
+ .filter((item) => item.secondary)
190
+ .length;
191
+ const itemMap = itemsConfig
192
+ .filter((itemConfig) => {
193
+ if (this._items.has(itemConfig.name)) {
191
194
  throw Error('Filter init error. Items name must be unique.');
192
195
  }
193
196
  return true;
194
197
  })
195
- .map((item) => {
196
- const filterItem = createFilterItem(item, this.filter);
198
+ .map((itemConfig) => {
199
+ if (!itemConfig.primary && !itemConfig.secondary && secondaryItemCount <= this._config.minSecondaryItems) {
200
+ itemConfig.secondary = true;
201
+ secondaryItemCount++;
202
+ }
203
+ const filterItem = createFilterItem(itemConfig, this.filter);
197
204
  if (filterItem instanceof KeywordItem) {
198
205
  this._keywordController.keywordItem = filterItem;
199
206
  }
200
- return [item.name, filterItem];
207
+ return [itemConfig.name, filterItem];
201
208
  });
202
209
  this._items = new Map(itemMap);
203
210
  }
@@ -226,4 +233,4 @@ export class FilterController {
226
233
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterController, decorators: [{
227
234
  type: Injectable
228
235
  }] });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFNakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFJM0QsTUFBTSxPQUFPLGdCQUFnQjtJQUVwQixNQUFNLENBQWtCO0lBRXZCLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7SUFDeEQsT0FBTyxDQUFpQjtJQUN4QixNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUM3QixRQUFRLEdBQUcs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QUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ3pDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxFQUFFLENBQUM7UUFFZixJQUFJLENBQUMsUUFBUTthQUNWLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxLQUFvQyxFQUFFLEVBQUU7WUFDM0MsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNsRSxDQUFDO1lBRUQsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN0QixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN6QyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7d0dBdFJVLGdCQUFnQjs0R0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgZmluYWxpemUsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuXG5pbXBvcnQgdHlwZSB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgY3JlYXRlRmlsdGVySXRlbSB9IGZyb20gJy4uL2hlbHBlcnMvY3JlYXRlLWZpbHRlci1pdGVtJztcbmltcG9ydCB7XG4gIElGaWx0ZXJDb25maWdJdGVtLFxufSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4dGVybmFsLXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRnNGaWx0ZXJDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZmlsdGVyLWNvbmZpZyc7XG5pbXBvcnQgeyBLZXl3b3JkSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcyc7XG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuXG5pbXBvcnQgeyBLZXl3b3JkQ29udHJvbGxlciB9IGZyb20gJy4va2V5d29yZC1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVyc2lzdGFuY2VDb250cm9sbGVyIH0gZnJvbSAnLi9wZXJzaXN0YW5jZS1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUXVlcnlQYXJhbUNvbnRyb2xsZXIgfSBmcm9tICcuL3F1ZXJ5LXBhcmFtLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTYXZlZEZpbHRlckNvbnRyb2xsZXIgfSBmcm9tICcuL3NhdmVkLWZpbHRlci1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU29ydENvbnRyb2xsZXIgfSBmcm9tICcuL3NvcnQtY29udHJvbGxlci5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmlsdGVyQ29udHJvbGxlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIGZpbHRlcjogRmlsdGVyQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgX3JlYWR5JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIF9pdGVtcyA9IG5ldyBNYXA8c3RyaW5nLCBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT4+KCk7XG4gIHByaXZhdGUgX2NvbmZpZzogRnNGaWx0ZXJDb25maWc7XG4gIHByaXZhdGUgX2luaXQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfY2hhbmdlJCA9IG5ldyBTdWJqZWN0PEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPltdPigpO1xuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX3BlcnNpc3RhbmNlQ29udHJvbGxlciA9IGluamVjdChQZXJzaXN0YW5jZUNvbnRyb2xsZXIpO1xuICBwcml2YXRlIF9zYXZlZEZpbHRlckNvbnRyb2xsZXIgPSBpbmplY3QoU2F2ZWRGaWx0ZXJDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfcXVlcnlQYXJhbUNvbnRyb2xsZXIgPSBpbmplY3QoUXVlcnlQYXJhbUNvbnRyb2xsZXIpO1xuICBwcml2YXRlIF9rZXl3b3JkQ29udHJvbGxlciA9IGluamVjdChLZXl3b3JkQ29udHJvbGxlcik7XG4gIHByaXZhdGUgX3NvcnRDb250cm9sbGVyID0gaW5qZWN0KFNvcnRDb250cm9sbGVyKTtcblxuICBwdWJsaWMgZ2V0IGl0ZW1zKCk6IEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9pdGVtcy52YWx1ZXMoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGl0ZW1OYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLm5hbWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb25maWcoKTogRnNGaWx0ZXJDb25maWcge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluaXQkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbml0JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgzMCksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZSgpIHtcbiAgICB0aGlzLl9jaGFuZ2UkLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWR5JCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZHkkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KGNvbmZpZzogRnNGaWx0ZXJDb25maWcpIHtcbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgb2YobnVsbClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5fYWRkSXRlbXModGhpcy5fY29uZmlnLml0ZW1zIHx8IFtdKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLl9rZXl3b3JkQ29udHJvbGxlci5pbml0KCkpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5fc29ydENvbnRyb2xsZXIuaW5pdCh0aGlzKSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiBmb3JrSm9pbih7XG4gICAgICAgICAgc2F2ZWRGaWx0ZXJzOiB0aGlzLl9zYXZlZEZpbHRlckNvbnRyb2xsZXIuaW5pdCh0aGlzKSxcbiAgICAgICAgICBwZXJzaXN0YW5jZTogdGhpcy5fcGVyc2lzdGFuY2VDb250cm9sbGVyLmluaXQodGhpcyksXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHRoaXMuX3F1ZXJ5UGFyYW1Db250cm9sbGVyLmluaXQodGhpcyksXG4gICAgICAgIH0pKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuX2luaXRJdGVtcygpKSwgICAgICAgIFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5faW5pdENoYW5nZXMoKSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5faW5pdCQubmV4dCgpO1xuICAgICAgICAgIGlmICh0aGlzLl9jb25maWcuaW5pdCkge1xuICAgICAgICAgICAgdGhpcy5fY29uZmlnLmluaXQodGhpcy5xdWVyeSwgdGhpcy5fc29ydENvbnRyb2xsZXIuZ2V0U29ydCgpLCB0aGlzLmZpbHRlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5fcmVhZHkkLm5leHQodHJ1ZSkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGdldEl0ZW0obmFtZTogc3RyaW5nKTogQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXMuZ2V0KG5hbWUpO1xuICB9XG5cbiAgcHVibGljIGZpbHRlcnNDbGVhcigpIHtcbiAgICB0aGlzLml0ZW1zXG4gICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmNsZWFyYWJsZSlcbiAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGl0ZW0uY2xlYXIoZmFsc2UpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLl9rZXl3b3JkQ29udHJvbGxlci5jbGVhcihmYWxzZSk7XG4gICAgdGhpcy5fc29ydENvbnRyb2xsZXIuY2xlYXIoKTtcblxuICAgIHRoaXMuY2hhbmdlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5UGFyYW0oKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zXG4gICAgICAucmVkdWNlKChhY2N1bSwgaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmFjY3VtLFxuICAgICAgICAgIC4uLml0ZW0ucXVlcnlQYXJhbSxcbiAgICAgICAgfTtcbiAgICAgIH0sIHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnkoKTogS2V5VmFsdWUge1xuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLml0ZW1zXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udmlzaWJsZSlcbiAgICAgICAgLnJlZHVjZSgoYWNjdW0sIGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjdW0sXG4gICAgICAgICAgICAuLi5pdGVtLnF1ZXJ5LFxuICAgICAgICAgIH07XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIC4uLnRoaXMuX3NvcnRDb250cm9sbGVyLnF1ZXJ5KCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmFsdWVzKHZhbHVlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uc2V0VmFsdWUodmFsdWVzW2l0ZW0ubmFtZV0sIGZhbHNlKTtcbiAgICAgIGl0ZW0uZW1pdENoYW5nZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jaGFuZ2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVzKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtc1xuICAgICAgLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gaXRlbS52YWx1ZTtcblxuICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICBhY2NbaXRlbS5uYW1lXSA9IHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KTtcbiAgfVxuICBcbiAgcHJpdmF0ZSBfZ2V0SW5pdFZhbHVlcygpOiBLZXlWYWx1ZSB7XG4gICAgbGV0IHJlc3VsdDogS2V5VmFsdWUgPSB7fTtcblxuICAgIGlmICh0aGlzLl9zYXZlZEZpbHRlckNvbnRyb2xsZXIuZW5hYmxlZCAmJiB0aGlzLl9zYXZlZEZpbHRlckNvbnRyb2xsZXIuYWN0aXZlRmlsdGVyKSB7XG4gICAgICBjb25zdCBxdWVyeSA9IE9iamVjdC5rZXlzKHJlc3VsdClcbiAgICAgICAgLmZpbHRlcigoa2V5KSA9PiAhdGhpcy5pdGVtTmFtZXMuaW5jbHVkZXMoa2V5KSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAgW2tleV06IHJlc3VsdFtrZXldLFxuICAgICAgICAgIH07XG4gICAgICAgIH0sIHt9KTtcblxuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAuLi5xdWVyeSwgXG4gICAgICAgIC4uLnRoaXMuX3NhdmVkRmlsdGVyQ29udHJvbGxlci5hY3RpdmVGaWx0ZXJEYXRhLFxuICAgICAgfTtcblxuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIC4uLnJlc3VsdCwgXG4gICAgICAgIC4uLnRoaXMuX3BlcnNpc3RhbmNlQ29udHJvbGxlci5nZXRRdWVyeSgpLFxuICAgICAgfTtcbiAgICAgIFxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5xdWVyeVBhcmFtKSB7XG4gICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAuLi5yZXN1bHQsIFxuICAgICAgICAgIC4uLnRoaXMuX3F1ZXJ5UGFyYW1Db250cm9sbGVyLnBhcmFtcyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdEl0ZW1zKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYoIXRoaXMuaXRlbXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuICAgIFxuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuX2dldEluaXRWYWx1ZXMoKTtcblxuICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgIHRoaXMuaXRlbXNcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgIHJldHVybiBpdGVtLmluaXQodmFsdWVzW2l0ZW0ubmFtZV0pO1xuICAgICAgICB9KSxcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9pbml0RW5hYmxlZEl0ZW1zKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5pdGVtc1xuICAgICAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmluaXRDYWxsYmFjayhpdGVtLCB0aGlzLmZpbHRlcik7XG4gICAgICAgICAgfSkpLFxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRFbmFibGVkSXRlbXMoKSB7XG4gICAgbGV0IGVuYWJsZWQgPSAwO1xuXG4gICAgdGhpcy5pdGVtc1xuICAgICAgLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaWYoIWl0ZW0ucHJpbWFyeSkge1xuICAgICAgICAgIGlmKGl0ZW0uaGFzVmFsdWUpIHtcbiAgICAgICAgICAgIGl0ZW0uc2Vjb25kYXJ5U2hvdygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLml0ZW1zXG4gICAgICAuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpZighaXRlbS5wcmltYXJ5KSB7XG4gICAgICAgICAgaWYoaXRlbS5zZWNvbmRhcnlWaXNpYmxlKSB7XG4gICAgICAgICAgICBlbmFibGVkKys7XG4gICAgICAgICAgfSBlbHNlIGlmKGVuYWJsZWQgPCB0aGlzLl9jb25maWcubWF4RW5hYmxlZCkge1xuICAgICAgICAgICAgaXRlbS5zZWNvbmRhcnlTaG93KCk7XG4gICAgICAgICAgICBlbmFibGVkKys7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZEl0ZW1zKGl0ZW1zOiBJRmlsdGVyQ29uZmlnSXRlbVtdKSB7XG4gICAgY29uc3QgaXRlbU1hcCA9IGl0ZW1zICAgICAgXG4gICAgICAuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLl9pdGVtcy5oYXMoaXRlbS5uYW1lKSkge1xuICAgICAgICAgIHRocm93IEVycm9yKCdGaWx0ZXIgaW5pdCBlcnJvci4gSXRlbXMgbmFtZSBtdXN0IGJlIHVuaXF1ZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSlcbiAgICAgIC5tYXAoKGl0ZW0pOiBbc3RyaW5nLCBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT5dID0+IHsgICAgICAgICAgXG4gICAgICAgIGNvbnN0IGZpbHRlckl0ZW0gPSBjcmVhdGVGaWx0ZXJJdGVtKGl0ZW0sIHRoaXMuZmlsdGVyKTtcblxuICAgICAgICBpZiAoZmlsdGVySXRlbSBpbnN0YW5jZW9mIEtleXdvcmRJdGVtKSB7XG4gICAgICAgICAgdGhpcy5fa2V5d29yZENvbnRyb2xsZXIua2V5d29yZEl0ZW0gPSBmaWx0ZXJJdGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtpdGVtLm5hbWUsIGZpbHRlckl0ZW1dO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLl9pdGVtcyA9IG5ldyBNYXAoaXRlbU1hcCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0Q2hhbmdlcygpIHtcbiAgICBtZXJnZShcbiAgICAgIC4uLnRoaXMuaXRlbXNcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4gaXRlbS52YWx1ZUV2ZW50JFxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQuZW1pdENoYW5nZSksXG4gICAgICAgICAgICBtYXAoKCkgPT4gaXRlbSksXG4gICAgICAgICAgKSksXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoaXRlbSkgPT4gdGhpcy5fY2hhbmdlJC5uZXh0KFtpdGVtXSkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5fY2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoaXRlbXM6IEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPltdKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5jaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZy5jaGFuZ2UodGhpcy5xdWVyeSwgdGhpcy5fc29ydENvbnRyb2xsZXIuZ2V0U29ydCgpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpdGVtcz8uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0uY2hhbmdlQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgaXRlbS5jaGFuZ2VDYWxsYmFjayhpdGVtLCB0aGlzLmZpbHRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbn1cbiJdfQ==
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFNakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFJM0QsTUFBTSxPQUFPLGdCQUFnQjtJQUVwQixNQUFNLENBQWtCO0lBRXZCLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7SUFDeEQsT0FBTyxDQUFpQjtJQUN4QixNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUM3QixRQUFRLEdBQUcs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Z0I7NEdBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZm9ya0pvaW4sIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIGZpbmFsaXplLCBtYXAsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cblxuaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IGNyZWF0ZUZpbHRlckl0ZW0gfSBmcm9tICcuLi9oZWxwZXJzL2NyZWF0ZS1maWx0ZXItaXRlbSc7XG5pbXBvcnQge1xuICBJRmlsdGVyQ29uZmlnSXRlbSxcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEtleVZhbHVlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leHRlcm5hbC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZzRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci1jb25maWcnO1xuaW1wb3J0IHsgS2V5d29yZEl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvaXRlbXMnO1xuaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcblxuaW1wb3J0IHsgS2V5d29yZENvbnRyb2xsZXIgfSBmcm9tICcuL2tleXdvcmQtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcnNpc3RhbmNlQ29udHJvbGxlciB9IGZyb20gJy4vcGVyc2lzdGFuY2UtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFF1ZXJ5UGFyYW1Db250cm9sbGVyIH0gZnJvbSAnLi9xdWVyeS1wYXJhbS1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2F2ZWRGaWx0ZXJDb250cm9sbGVyIH0gZnJvbSAnLi9zYXZlZC1maWx0ZXItY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNvcnRDb250cm9sbGVyIH0gZnJvbSAnLi9zb3J0LWNvbnRyb2xsZXIuc2VydmljZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZpbHRlckNvbnRyb2xsZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyBmaWx0ZXI6IEZpbHRlckNvbXBvbmVudDtcblxuICBwcml2YXRlIF9yZWFkeSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSBfaXRlbXMgPSBuZXcgTWFwPHN0cmluZywgQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+PigpO1xuICBwcml2YXRlIF9jb25maWc6IEZzRmlsdGVyQ29uZmlnO1xuICBwcml2YXRlIF9pbml0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX2NoYW5nZSQgPSBuZXcgU3ViamVjdDxCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT5bXT4oKTtcbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9wZXJzaXN0YW5jZUNvbnRyb2xsZXIgPSBpbmplY3QoUGVyc2lzdGFuY2VDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfc2F2ZWRGaWx0ZXJDb250cm9sbGVyID0gaW5qZWN0KFNhdmVkRmlsdGVyQ29udHJvbGxlcik7XG4gIHByaXZhdGUgX3F1ZXJ5UGFyYW1Db250cm9sbGVyID0gaW5qZWN0KFF1ZXJ5UGFyYW1Db250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfa2V5d29yZENvbnRyb2xsZXIgPSBpbmplY3QoS2V5d29yZENvbnRyb2xsZXIpO1xuICBwcml2YXRlIF9zb3J0Q29udHJvbGxlciA9IGluamVjdChTb3J0Q29udHJvbGxlcik7XG5cbiAgcHVibGljIGdldCBpdGVtcygpOiBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5faXRlbXMudmFsdWVzKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBpdGVtTmFtZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5uYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29uZmlnKCk6IEZzRmlsdGVyQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICB9XG5cbiAgcHVibGljIGdldCBpbml0JCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5pdCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYW5nZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoYW5nZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMzApLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2UoKSB7XG4gICAgdGhpcy5fY2hhbmdlJC5uZXh0KG51bGwpO1xuICB9XG5cbiAgcHVibGljIGdldCByZWFkeSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWR5JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdChjb25maWc6IEZzRmlsdGVyQ29uZmlnKSB7XG4gICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuICAgIG9mKG51bGwpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2FkZEl0ZW1zKHRoaXMuX2NvbmZpZy5pdGVtcyB8fCBbXSkpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5fa2V5d29yZENvbnRyb2xsZXIuaW5pdCgpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX3NvcnRDb250cm9sbGVyLmluaXQodGhpcykpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gZm9ya0pvaW4oe1xuICAgICAgICAgIHNhdmVkRmlsdGVyczogdGhpcy5fc2F2ZWRGaWx0ZXJDb250cm9sbGVyLmluaXQodGhpcyksXG4gICAgICAgICAgcGVyc2lzdGFuY2U6IHRoaXMuX3BlcnNpc3RhbmNlQ29udHJvbGxlci5pbml0KHRoaXMpLFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLl9xdWVyeVBhcmFtQ29udHJvbGxlci5pbml0KHRoaXMpLFxuICAgICAgICB9KSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLl9pbml0SXRlbXMoKSksICAgICAgICBcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2luaXRDaGFuZ2VzKCkpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2luaXQkLm5leHQoKTtcbiAgICAgICAgICBpZiAodGhpcy5fY29uZmlnLmluaXQpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZy5pbml0KHRoaXMucXVlcnksIHRoaXMuX3NvcnRDb250cm9sbGVyLmdldFNvcnQoKSwgdGhpcy5maWx0ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuX3JlYWR5JC5uZXh0KHRydWUpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJdGVtKG5hbWU6IHN0cmluZyk6IEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zLmdldChuYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXJzQ2xlYXIoKSB7XG4gICAgdGhpcy5pdGVtc1xuICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5jbGVhcmFibGUpXG4gICAgICAuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpdGVtLmNsZWFyKGZhbHNlKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fa2V5d29yZENvbnRyb2xsZXIuY2xlYXIoZmFsc2UpO1xuICAgIHRoaXMuX3NvcnRDb250cm9sbGVyLmNsZWFyKCk7XG5cbiAgICB0aGlzLmNoYW5nZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeVBhcmFtKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtc1xuICAgICAgLnJlZHVjZSgoYWNjdW0sIGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5hY2N1bSxcbiAgICAgICAgICAuLi5pdGVtLnF1ZXJ5UGFyYW0sXG4gICAgICAgIH07XG4gICAgICB9LCB7fSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5KCk6IEtleVZhbHVlIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5pdGVtc1xuICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnZpc2libGUpXG4gICAgICAgIC5yZWR1Y2UoKGFjY3VtLCBpdGVtKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmFjY3VtLFxuICAgICAgICAgICAgLi4uaXRlbS5xdWVyeSxcbiAgICAgICAgICB9O1xuICAgICAgICB9LCB7fSksXG4gICAgICAuLi50aGlzLl9zb3J0Q29udHJvbGxlci5xdWVyeSgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc2V0IHZhbHVlcyh2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSB7XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLnNldFZhbHVlKHZhbHVlc1tpdGVtLm5hbWVdLCBmYWxzZSk7XG4gICAgICBpdGVtLmVtaXRDaGFuZ2UoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2hhbmdlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlcygpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNcbiAgICAgIC5yZWR1Y2UoKGFjYywgaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGl0ZW0udmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgYWNjW2l0ZW0ubmFtZV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSk7XG4gIH1cbiAgXG4gIHByaXZhdGUgX2dldEluaXRWYWx1ZXMoKTogS2V5VmFsdWUge1xuICAgIGxldCByZXN1bHQ6IEtleVZhbHVlID0ge307XG5cbiAgICBpZiAodGhpcy5fc2F2ZWRGaWx0ZXJDb250cm9sbGVyLmVuYWJsZWQgJiYgdGhpcy5fc2F2ZWRGaWx0ZXJDb250cm9sbGVyLmFjdGl2ZUZpbHRlcikge1xuICAgICAgY29uc3QgcXVlcnkgPSBPYmplY3Qua2V5cyhyZXN1bHQpXG4gICAgICAgIC5maWx0ZXIoKGtleSkgPT4gIXRoaXMuaXRlbU5hbWVzLmluY2x1ZGVzKGtleSkpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgIFtrZXldOiByZXN1bHRba2V5XSxcbiAgICAgICAgICB9O1xuICAgICAgICB9LCB7fSk7XG5cbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgLi4ucXVlcnksIFxuICAgICAgICAuLi50aGlzLl9zYXZlZEZpbHRlckNvbnRyb2xsZXIuYWN0aXZlRmlsdGVyRGF0YSxcbiAgICAgIH07XG5cbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAuLi5yZXN1bHQsIFxuICAgICAgICAuLi50aGlzLl9wZXJzaXN0YW5jZUNvbnRyb2xsZXIuZ2V0UXVlcnkoKSxcbiAgICAgIH07XG4gICAgICBcbiAgICAgIGlmICh0aGlzLl9jb25maWcucXVlcnlQYXJhbSkge1xuICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgLi4ucmVzdWx0LCBcbiAgICAgICAgICAuLi50aGlzLl9xdWVyeVBhcmFtQ29udHJvbGxlci5wYXJhbXMsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRJdGVtcygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmKCF0aGlzLml0ZW1zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgICBcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLl9nZXRJbml0VmFsdWVzKCk7XG5cbiAgICByZXR1cm4gZm9ya0pvaW4oXG4gICAgICB0aGlzLml0ZW1zXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4gaXRlbS5pbml0KHZhbHVlc1tpdGVtLm5hbWVdKTtcbiAgICAgICAgfSksXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5faW5pdEVuYWJsZWRJdGVtcygpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuaXRlbXNcbiAgICAgICAgICAuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5pbml0Q2FsbGJhY2soaXRlbSwgdGhpcy5maWx0ZXIpO1xuICAgICAgICAgIH0pKSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0RW5hYmxlZEl0ZW1zKCkge1xuICAgIGxldCBlbmFibGVkID0gMDtcblxuICAgIHRoaXMuaXRlbXNcbiAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGlmKCFpdGVtLnByaW1hcnkpIHtcbiAgICAgICAgICBpZihpdGVtLmhhc1ZhbHVlKSB7XG4gICAgICAgICAgICBpdGVtLnNlY29uZGFyeVNob3coKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5pdGVtc1xuICAgICAgLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaWYoIWl0ZW0ucHJpbWFyeSkge1xuICAgICAgICAgIGlmKGl0ZW0uc2Vjb25kYXJ5VmlzaWJsZSkge1xuICAgICAgICAgICAgZW5hYmxlZCsrO1xuICAgICAgICAgIH0gZWxzZSBpZihlbmFibGVkIDwgdGhpcy5fY29uZmlnLm1heEVuYWJsZWQpIHtcbiAgICAgICAgICAgIGl0ZW0uc2Vjb25kYXJ5U2hvdygpO1xuICAgICAgICAgICAgZW5hYmxlZCsrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9hZGRJdGVtcyhpdGVtc0NvbmZpZzogSUZpbHRlckNvbmZpZ0l0ZW1bXSkge1xuICAgIGxldCBzZWNvbmRhcnlJdGVtQ291bnQgPSBpdGVtc0NvbmZpZ1xuICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5zZWNvbmRhcnkpXG4gICAgICAubGVuZ3RoO1xuXG4gICAgY29uc3QgaXRlbU1hcCA9IGl0ZW1zQ29uZmlnICAgICAgXG4gICAgICAuZmlsdGVyKChpdGVtQ29uZmlnKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLl9pdGVtcy5oYXMoaXRlbUNvbmZpZy5uYW1lKSkge1xuICAgICAgICAgIHRocm93IEVycm9yKCdGaWx0ZXIgaW5pdCBlcnJvci4gSXRlbXMgbmFtZSBtdXN0IGJlIHVuaXF1ZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSlcbiAgICAgIC5tYXAoKGl0ZW1Db25maWcpOiBbc3RyaW5nLCBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT5dID0+IHsgIFxuICAgICAgICBpZighaXRlbUNvbmZpZy5wcmltYXJ5ICYmICFpdGVtQ29uZmlnLnNlY29uZGFyeSAmJiBzZWNvbmRhcnlJdGVtQ291bnQgPD0gdGhpcy5fY29uZmlnLm1pblNlY29uZGFyeUl0ZW1zKSB7XG4gICAgICAgICAgaXRlbUNvbmZpZy5zZWNvbmRhcnkgPSB0cnVlO1xuICAgICAgICAgIHNlY29uZGFyeUl0ZW1Db3VudCsrO1xuICAgICAgICB9ICAgICAgICBcblxuICAgICAgICBjb25zdCBmaWx0ZXJJdGVtID0gY3JlYXRlRmlsdGVySXRlbShpdGVtQ29uZmlnLCB0aGlzLmZpbHRlcik7XG5cbiAgICAgICAgaWYgKGZpbHRlckl0ZW0gaW5zdGFuY2VvZiBLZXl3b3JkSXRlbSkge1xuICAgICAgICAgIHRoaXMuX2tleXdvcmRDb250cm9sbGVyLmtleXdvcmRJdGVtID0gZmlsdGVySXRlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbaXRlbUNvbmZpZy5uYW1lLCBmaWx0ZXJJdGVtXTtcbiAgICAgIH0pO1xuXG5cbiAgICB0aGlzLl9pdGVtcyA9IG5ldyBNYXAoaXRlbU1hcCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0Q2hhbmdlcygpIHtcbiAgICBtZXJnZShcbiAgICAgIC4uLnRoaXMuaXRlbXNcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4gaXRlbS52YWx1ZUV2ZW50JFxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQuZW1pdENoYW5nZSksXG4gICAgICAgICAgICBtYXAoKCkgPT4gaXRlbSksXG4gICAgICAgICAgKSksXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoaXRlbSkgPT4gdGhpcy5fY2hhbmdlJC5uZXh0KFtpdGVtXSkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5fY2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoaXRlbXM6IEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPltdKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5jaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZy5jaGFuZ2UodGhpcy5xdWVyeSwgdGhpcy5fc29ydENvbnRyb2xsZXIuZ2V0U29ydCgpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpdGVtcz8uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0uY2hhbmdlQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgaXRlbS5jaGFuZ2VDYWxsYmFjayhpdGVtLCB0aGlzLmZpbHRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbn1cbiJdfQ==