@eui/mobile-core 17.0.0-next.1 → 17.0.0-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/docs/components/EuiMUserProfileActionComponent.html +1 -1
  2. package/docs/components/EuiMUserProfileAvatarComponent.html +1 -1
  3. package/docs/components/EuiMUserProfileInfosComponent.html +1 -1
  4. package/docs/components/EuiMUserProfileInfosItemComponent.html +1 -1
  5. package/docs/components/EuimAlertMessageComponent.html +1 -1
  6. package/docs/components/EuimAppComponent.html +1 -1
  7. package/docs/components/EuimAppSidebarComponent.html +1 -1
  8. package/docs/components/EuimAppSidebarFooterComponent.html +1 -1
  9. package/docs/components/EuimAppSidebarHeaderComponent.html +1 -1
  10. package/docs/components/EuimAppSidebarMenuComponent.html +1 -1
  11. package/docs/components/EuimAvatarComponent.html +1 -1
  12. package/docs/components/EuimAvatarIconComponent.html +1 -1
  13. package/docs/components/EuimBadgeComponent.html +1 -1
  14. package/docs/components/EuimChipSelectorComponent.html +319 -2
  15. package/docs/components/EuimControlFeedbackComponent.html +1 -1
  16. package/docs/components/EuimDataSummaryColComponent.html +1 -1
  17. package/docs/components/EuimDataSummaryComponent.html +1 -1
  18. package/docs/components/EuimEmptyListPlaceholderComponent.html +1 -1
  19. package/docs/components/EuimFieldSetComponent.html +1 -1
  20. package/docs/components/EuimFieldsetActionsComponent.html +1 -1
  21. package/docs/components/EuimFieldsetLegendComponent.html +1 -1
  22. package/docs/components/EuimHeaderDetailsComponent.html +1 -1
  23. package/docs/components/EuimInfoScreenComponent.html +1 -1
  24. package/docs/components/EuimLabelComponent.html +1 -1
  25. package/docs/components/EuimLanguageListComponent.html +1 -1
  26. package/docs/components/EuimLanguageSelectorComponent.html +1 -1
  27. package/docs/components/EuimMediaHeaderComponent.html +1 -1
  28. package/docs/components/EuimMenuComponent.html +1 -1
  29. package/docs/components/EuimMessageComponent.html +1 -1
  30. package/docs/components/EuimMessageTitleComponent.html +1 -1
  31. package/docs/components/EuimMultiselectComponent.html +1 -1
  32. package/docs/components/EuimMultiselectFilterComponent.html +35 -1
  33. package/docs/components/EuimMultiselectInfoComponent.html +1 -1
  34. package/docs/components/EuimMultiselectListComponent.html +1 -1
  35. package/docs/components/EuimMultiselectToolbarComponent.html +1 -1
  36. package/docs/components/EuimNotificationItemComponent.html +1 -1
  37. package/docs/components/EuimPdfWrapperComponent.html +828 -0
  38. package/docs/components/EuimScrollerXComponent.html +1 -1
  39. package/docs/components/EuimSidebarComponent.html +1 -1
  40. package/docs/components/EuimSidebarContentComponent.html +1 -1
  41. package/docs/components/EuimSkeletonListComponent.html +1 -1
  42. package/docs/components/EuimSkeletonListItemComponent.html +1 -1
  43. package/docs/components/EuimSlideComponent.html +1 -1
  44. package/docs/components/EuimSlideInfoScreenComponent.html +1 -1
  45. package/docs/components/EuimSliderComponent.html +1 -1
  46. package/docs/components/EuimSliderInfoScreenComponent.html +1 -1
  47. package/docs/components/EuimSpinnerComponent.html +1 -1
  48. package/docs/components/EuimSpinnerDescriptionComponent.html +1 -1
  49. package/docs/components/EuimSpinnerMessageComponent.html +1 -1
  50. package/docs/components/EuimStepperComponent.html +1 -1
  51. package/docs/components/EuimToolbarActionItemsComponent.html +1 -1
  52. package/docs/components/EuimToolbarComponent.html +1 -1
  53. package/docs/components/EuimToolbarTitleComponent.html +1 -1
  54. package/docs/components/EuimUserProfileComponent.html +1 -1
  55. package/docs/dependencies.html +6 -2
  56. package/docs/directives/EuimChipSelectorItemDirective.html +23 -0
  57. package/docs/index.html +2 -2
  58. package/docs/js/menu-wc.js +23 -3
  59. package/docs/js/menu-wc_es5.js +4 -5
  60. package/docs/js/search/search_index.js +2 -2
  61. package/docs/miscellaneous/variables.html +34 -0
  62. package/docs/modules/EuimPdfWrapperModule.html +228 -0
  63. package/docs/modules.html +12 -0
  64. package/esm2022/lib/components/euim-chip-selector/euim-chip-selector-item/euim-chip-selector-item.directive.mjs +2 -1
  65. package/esm2022/lib/components/euim-chip-selector/euim-chip-selector.component.mjs +106 -16
  66. package/esm2022/lib/components/euim-multiselect/euim-multiselect-all/euim-multiselect-all.directive.mjs +1 -7
  67. package/esm2022/lib/components/euim-multiselect/euim-multiselect-filter/euim-multiselect-filter.component.mjs +21 -1
  68. package/esm2022/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.component.mjs +87 -0
  69. package/esm2022/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.module.mjs +43 -0
  70. package/esm2022/lib/components/euim-pdf-wrapper/index.mjs +3 -0
  71. package/esm2022/lib/components/index.mjs +2 -1
  72. package/esm2022/lib/euim-all.module.mjs +1 -1
  73. package/fesm2022/eui-mobile-core.mjs +285 -64
  74. package/fesm2022/eui-mobile-core.mjs.map +1 -1
  75. package/lib/components/euim-chip-selector/euim-chip-selector-item/euim-chip-selector-item.directive.d.ts +1 -0
  76. package/lib/components/euim-chip-selector/euim-chip-selector-item/euim-chip-selector-item.directive.d.ts.map +1 -1
  77. package/lib/components/euim-chip-selector/euim-chip-selector.component.d.ts +14 -3
  78. package/lib/components/euim-chip-selector/euim-chip-selector.component.d.ts.map +1 -1
  79. package/lib/components/euim-multiselect/euim-multiselect-all/euim-multiselect-all.directive.d.ts.map +1 -1
  80. package/lib/components/euim-multiselect/euim-multiselect-filter/euim-multiselect-filter.component.d.ts +1 -0
  81. package/lib/components/euim-multiselect/euim-multiselect-filter/euim-multiselect-filter.component.d.ts.map +1 -1
  82. package/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.component.d.ts +25 -0
  83. package/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.component.d.ts.map +1 -0
  84. package/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.module.d.ts +13 -0
  85. package/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.module.d.ts.map +1 -0
  86. package/lib/components/euim-pdf-wrapper/index.d.ts +3 -0
  87. package/lib/components/euim-pdf-wrapper/index.d.ts.map +1 -0
  88. package/lib/components/index.d.ts +1 -0
  89. package/lib/components/index.d.ts.map +1 -1
  90. package/lib/euim-all.module.d.ts.map +1 -1
  91. package/package.json +3 -1
@@ -3,7 +3,9 @@ import { Component, ChangeDetectionStrategy, ContentChildren, HostBinding, Input
3
3
  import { coerceBoolean } from '@eui/base';
4
4
  import { EuimChipSelectorItemDirective } from './euim-chip-selector-item/euim-chip-selector-item.directive';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "../euim-scroller-x/euim-scroller-x.component";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@ionic/angular";
8
+ import * as i3 from "../euim-scroller-x/euim-scroller-x.component";
7
9
  export class EuimChipSelectorComponent {
8
10
  constructor() {
9
11
  this.backgroundColor = 'primary';
@@ -18,10 +20,14 @@ export class EuimChipSelectorComponent {
18
20
  this.sourceData = [];
19
21
  this.selectedChips = [];
20
22
  this.isMultiSelectionMode = false;
23
+ this.euimKeepSelection = false;
24
+ this.hasSearchbar = false;
21
25
  this.filterData = new EventEmitter();
22
26
  this.clickItems = new EventEmitter();
23
27
  this.filteredData = [...this.sourceData];
24
28
  this.filterConditions = [];
29
+ this.searchInput = '';
30
+ this.clickEventHandled = false;
25
31
  }
26
32
  get cssClasses() {
27
33
  return this.getCssClasses();
@@ -30,9 +36,24 @@ export class EuimChipSelectorComponent {
30
36
  this.setCssItemClasses();
31
37
  }
32
38
  ngAfterContentInit() {
39
+ this.subscribeToChanges();
33
40
  this.updateChipsAndFilterDataAfterInit();
34
41
  this.updateChipsAndFilters();
35
42
  }
43
+ ngOnDestroy() {
44
+ if (this.euimChipSelectorItemSubscription) {
45
+ this.euimChipSelectorItemSubscription.unsubscribe();
46
+ }
47
+ }
48
+ subscribeToChanges() {
49
+ if (this.euimChipSelectorItemSubscription) {
50
+ this.euimChipSelectorItemSubscription.unsubscribe();
51
+ }
52
+ this.euimChipSelectorItemSubscription = this.euimChipSelectorItemComponent.changes.subscribe(() => {
53
+ this.updateChipsAndFilters();
54
+ this.setCssItemClasses();
55
+ });
56
+ }
36
57
  ngOnChanges(changes) {
37
58
  if (this.euimChipSelectorItemComponent && this.euimChipSelectorItemComponent.length > 0 &&
38
59
  changes.selectedChips.currentValue && changes.selectedChips.currentValue.length === 1 &&
@@ -72,19 +93,64 @@ export class EuimChipSelectorComponent {
72
93
  }
73
94
  updateChipsAndFilters() {
74
95
  this.euimChipSelectorItemComponent.forEach(chip => {
75
- chip.el.nativeElement.addEventListener('click', () => {
76
- this.euimChipSelectorItemComponent.forEach(chip => {
77
- if (!this.isMultiSelectionMode || this.isMultiSelectionMode && chip.euimChipSelectorAll) {
78
- this.removeSelectedStyles(chip.el.nativeElement);
96
+ if (!chip.clickEventAdded) {
97
+ chip.el.nativeElement.addEventListener('click', () => {
98
+ if (!this.clickEventHandled) {
99
+ this.clickEventHandled = true;
100
+ this.euimChipSelectorItemComponent.forEach(innerChip => {
101
+ if (!this.isMultiSelectionMode || (this.isMultiSelectionMode && innerChip.euimChipSelectorAll)) {
102
+ this.removeSelectedStyles(innerChip.el.nativeElement);
103
+ }
104
+ });
105
+ this.addSelectedStyles(chip.el.nativeElement);
106
+ this.onFilterChange(chip.id?.toString(), chip.euimChipSelectorAll, chip.el.nativeElement);
107
+ this.filterData.emit(this.filteredData);
108
+ this.clickItems.emit(this.selectedChips);
109
+ this.clickEventHandled = false;
79
110
  }
80
111
  });
81
- this.addSelectedStyles(chip.el.nativeElement);
82
- this.onFilterChange(chip.id.toString(), chip.euimChipSelectorAll, chip.el.nativeElement);
83
- this.filterData.emit(this.filteredData);
84
- this.clickItems.emit(this.selectedChips);
85
- });
112
+ chip.clickEventAdded = true;
113
+ }
86
114
  });
87
115
  }
116
+ clickEventHandler(chip) {
117
+ if (!this.clickEventHandled) {
118
+ this.clickEventHandled = true;
119
+ this.euimChipSelectorItemComponent.forEach(innerChip => {
120
+ if (!this.isMultiSelectionMode || (this.isMultiSelectionMode && innerChip.euimChipSelectorAll)) {
121
+ this.removeSelectedStyles(innerChip.el.nativeElement);
122
+ }
123
+ });
124
+ this.addSelectedStyles(chip.el.nativeElement);
125
+ this.onFilterChange(chip.id?.toString(), chip.euimChipSelectorAll, chip.el.nativeElement);
126
+ this.filterData.emit(this.filteredData);
127
+ this.clickItems.emit(this.selectedChips);
128
+ this.clickEventHandled = false;
129
+ }
130
+ }
131
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
132
+ handleChange(event) {
133
+ this.searchInput = event.detail.value.toLowerCase();
134
+ if (!this.euimKeepSelection)
135
+ return;
136
+ let filteredDataWithSearch = [];
137
+ if (this.selectedChips[0] !== '0' && this.isMultiSelectionMode) {
138
+ filteredDataWithSearch = [...this.sourceData].filter(item => this.selectedChips.includes(item.filterId));
139
+ this.filteredData = filteredDataWithSearch.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
140
+ this.filterData.emit(this.filteredData);
141
+ return;
142
+ }
143
+ if (this.selectedChips[0] !== '0') {
144
+ filteredDataWithSearch = [...this.sourceData].filter(item => {
145
+ return item.filterId === this.selectedChips[0];
146
+ });
147
+ this.filteredData = filteredDataWithSearch.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
148
+ }
149
+ else {
150
+ this.filteredData = [...this.sourceData].filter(obj => obj.title.toLowerCase().includes(this.searchInput));
151
+ }
152
+ this.filterData.emit(this.filteredData);
153
+ }
88
154
  clearFiltersAndSelectAll() {
89
155
  this.clearAllSelections();
90
156
  let isFirstElement = true;
@@ -103,8 +169,6 @@ export class EuimChipSelectorComponent {
103
169
  if (chip.id === undefined && chip.euimChipSelectorAll) {
104
170
  chip.id = 0;
105
171
  }
106
- });
107
- this.euimChipSelectorItemComponent.forEach((chip) => {
108
172
  const chipId = chip.id;
109
173
  if (chipId && this.selectedChips.includes(chipId)) {
110
174
  this.addSelectedStyles(chip.el.nativeElement);
@@ -115,9 +179,13 @@ export class EuimChipSelectorComponent {
115
179
  this.addSelectedStyles(chip.el.nativeElement);
116
180
  this.selectedChips = ['0'];
117
181
  this.filterData.emit(this.sourceData);
118
- this.clickItems.emit(this.selectedChips);
119
182
  }
120
183
  });
184
+ if (this.selectedChips.length > 0) {
185
+ this.emitEvents();
186
+ }
187
+ }
188
+ emitEvents() {
121
189
  this.clickItems.emit(this.selectedChips);
122
190
  }
123
191
  onFilterChange(filterCondition, isFilterAll, item) {
@@ -135,10 +203,22 @@ export class EuimChipSelectorComponent {
135
203
  this.filteredData = [...this.sourceData];
136
204
  return;
137
205
  }
206
+ if (this.euimKeepSelection && this.searchInput !== '' && !isAllFilter && this.isMultiSelectionMode || multipleFilterConditions.length > 0) {
207
+ const filteredData = [...this.sourceData].filter(item => multipleFilterConditions.includes(item.filterId));
208
+ this.filteredData = filteredData.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
209
+ return;
210
+ }
138
211
  if (this.isMultiSelectionMode || multipleFilterConditions.length > 0) {
139
212
  this.filteredData = [...this.sourceData].filter(item => multipleFilterConditions.includes(item.filterId));
140
213
  return;
141
214
  }
215
+ if (this.euimKeepSelection && this.searchInput !== '' && !isAllFilter) {
216
+ const filteredData = [...this.sourceData].filter(item => {
217
+ return item.filterId === filterCondition;
218
+ });
219
+ this.filteredData = filteredData.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
220
+ return;
221
+ }
142
222
  this.filteredData = [...this.sourceData].filter(item => {
143
223
  return item.filterId === filterCondition;
144
224
  });
@@ -185,14 +265,20 @@ export class EuimChipSelectorComponent {
185
265
  this.selectedChips = ['0'];
186
266
  }
187
267
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimChipSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
188
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimChipSelectorComponent, selector: "euim-chip-selector", inputs: { backgroundColor: "backgroundColor", chipColor: "chipColor", color: "color", chipSelectedColor: "chipSelectedColor", chipFill: "chipFill", sourceData: "sourceData", selectedChips: "selectedChips", isMultiSelectionMode: "isMultiSelectionMode" }, outputs: { filterData: "filterData", clickItems: "clickItems" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "euimChipSelectorItemComponent", predicate: EuimChipSelectorItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<euim-scroller-x>\n <ng-content></ng-content>\n</euim-scroller-x>\n", styles: [".euim-chip-selector{padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xs);display:flex;align-items:center}.euim-chip-selector ion-chip{margin:0 var(--eui-base-spacing-xs) 0 0}.euim-chip-selector__item--fill-default,.euim-chip-selector--fill-solid{border:none}.euim-chip-selector__item--fill-outline{background-color:transparent!important;border-width:1px;border-style:solid}.euim-chip-selector__item--fill-clear{background-color:transparent!important;border:none}.euim-chip-selector__item--fill-outline-solid{border-width:1px;border-style:solid}.euim-chip-selector--background-color-primary{background-color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-success{background-color:var(--eui-base-color-success-25);border-color:var(--eui-base-color-success-25);color:var(--eui-base-color-success-100)}.euim-chip-selector__item--color-success.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-success-50)}.euim-chip-selector__item--color-warning{background-color:var(--eui-base-color-warning-25);border-color:var(--eui-base-color-warning-25);color:var(--eui-base-color-warning-140)}.euim-chip-selector__item--color-warning.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-warning-50)}.euim-chip-selector__item--color-danger{background-color:var(--eui-base-color-danger-25);border-color:var(--eui-base-color-danger-25);color:var(--eui-base-color-danger-100)}.euim-chip-selector__item--color-danger.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-danger-50)}.euim-chip-selector__item--color-primary{background-color:var(--eui-base-color-primary-25);border-color:var(--eui-base-color-primary-25);color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-primary.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-primary-50)}.euim-chip-selector__item--color-info{background-color:var(--eui-base-color-info-25);border-color:var(--eui-base-color-info-25);color:var(--eui-base-color-info-100)}.euim-chip-selector__item--color-info.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-info-50)}.euim-chip-selector__item--color-dark{background-color:var(--eui-base-color-grey-100);border-color:var(--eui-base-color-grey-100);color:var(--eui-base-color-white)}.euim-chip-selector__item--color-dark.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white{background-color:var(--eui-base-color-white);border-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-white)}.euim-chip-selector__item--color-default{background-color:var(--eui-base-grey-15);border-color:var(--eui-base-color-grey-15);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-default.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-grey-50)}ion-chip.euim-chip-selector__item-selected--color-white{background-color:var(--eui-base-color-white)!important;border-color:var(--eui-base-color-white)!important;color:var(--eui-base-color-grey-100)!important}ion-chip.euim-chip-selector__item-selected--color-dark{background-color:var(--eui-base-color-grey-100)!important;border-color:var(--eui-base-color-grey-100)!important;color:var(--eui-base-color-white)!important}\n"], dependencies: [{ kind: "component", type: i1.EuimScrollerXComponent, selector: "euim-scroller-x" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
268
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimChipSelectorComponent, selector: "euim-chip-selector", inputs: { backgroundColor: "backgroundColor", chipColor: "chipColor", color: "color", chipSelectedColor: "chipSelectedColor", chipFill: "chipFill", sourceData: "sourceData", selectedChips: "selectedChips", isMultiSelectionMode: "isMultiSelectionMode", euimKeepSelection: "euimKeepSelection", hasSearchbar: "hasSearchbar" }, outputs: { filterData: "filterData", clickItems: "clickItems" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "euimChipSelectorItemComponent", predicate: EuimChipSelectorItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ion-searchbar *ngIf=\"hasSearchbar\" (ionChange)=\"handleChange($event)\"\n class=\"euim-chip-selector__searchbar\"></ion-searchbar>\n<euim-scroller-x>\n <ng-content></ng-content>\n</euim-scroller-x>\n\n", styles: [".euim-chip-selector{padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xs);display:flex;justify-content:center;flex-direction:column}.euim-chip-selector ion-chip{margin:0 var(--eui-base-spacing-xs) 0 0}.euim-chip-selector ion-searchbar{padding-inline-start:0;padding-top:0;padding-bottom:var(--eui-base-spacing-s)}.euim-chip-selector__item--fill-default,.euim-chip-selector--fill-solid{border:none}.euim-chip-selector__item--fill-outline{background-color:transparent!important;border-width:1px;border-style:solid}.euim-chip-selector__item--fill-clear{background-color:transparent!important;border:none}.euim-chip-selector__item--fill-outline-solid{border-width:1px;border-style:solid}.euim-chip-selector--background-color-primary{background-color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-success{background-color:var(--eui-base-color-success-25);border-color:var(--eui-base-color-success-25);color:var(--eui-base-color-success-100)}.euim-chip-selector__item--color-success.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-success-50)}.euim-chip-selector__item--color-warning{background-color:var(--eui-base-color-warning-25);border-color:var(--eui-base-color-warning-25);color:var(--eui-base-color-warning-140)}.euim-chip-selector__item--color-warning.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-warning-50)}.euim-chip-selector__item--color-danger{background-color:var(--eui-base-color-danger-25);border-color:var(--eui-base-color-danger-25);color:var(--eui-base-color-danger-100)}.euim-chip-selector__item--color-danger.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-danger-50)}.euim-chip-selector__item--color-primary{background-color:var(--eui-base-color-primary-25);border-color:var(--eui-base-color-primary-25);color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-primary.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-primary-50)}.euim-chip-selector__item--color-info{background-color:var(--eui-base-color-info-25);border-color:var(--eui-base-color-info-25);color:var(--eui-base-color-info-100)}.euim-chip-selector__item--color-info.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-info-50)}.euim-chip-selector__item--color-dark{background-color:var(--eui-base-color-grey-100);border-color:var(--eui-base-color-grey-100);color:var(--eui-base-color-white)}.euim-chip-selector__item--color-dark.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white{background-color:var(--eui-base-color-white);border-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-white)}.euim-chip-selector__item--color-default{background-color:var(--eui-base-grey-15);border-color:var(--eui-base-color-grey-15);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-default.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-grey-50)}ion-chip.euim-chip-selector__item-selected--color-white{background-color:var(--eui-base-color-white)!important;border-color:var(--eui-base-color-white)!important;color:var(--eui-base-color-grey-100)!important}ion-chip.euim-chip-selector__item-selected--color-dark{background-color:var(--eui-base-color-grey-100)!important;border-color:var(--eui-base-color-grey-100)!important;color:var(--eui-base-color-white)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "directive", type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "component", type: i3.EuimScrollerXComponent, selector: "euim-scroller-x" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
189
269
  }
190
270
  __decorate([
191
271
  coerceBoolean
192
272
  ], EuimChipSelectorComponent.prototype, "isMultiSelectionMode", void 0);
273
+ __decorate([
274
+ coerceBoolean
275
+ ], EuimChipSelectorComponent.prototype, "euimKeepSelection", void 0);
276
+ __decorate([
277
+ coerceBoolean
278
+ ], EuimChipSelectorComponent.prototype, "hasSearchbar", void 0);
193
279
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimChipSelectorComponent, decorators: [{
194
280
  type: Component,
195
- args: [{ selector: 'euim-chip-selector', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<euim-scroller-x>\n <ng-content></ng-content>\n</euim-scroller-x>\n", styles: [".euim-chip-selector{padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xs);display:flex;align-items:center}.euim-chip-selector ion-chip{margin:0 var(--eui-base-spacing-xs) 0 0}.euim-chip-selector__item--fill-default,.euim-chip-selector--fill-solid{border:none}.euim-chip-selector__item--fill-outline{background-color:transparent!important;border-width:1px;border-style:solid}.euim-chip-selector__item--fill-clear{background-color:transparent!important;border:none}.euim-chip-selector__item--fill-outline-solid{border-width:1px;border-style:solid}.euim-chip-selector--background-color-primary{background-color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-success{background-color:var(--eui-base-color-success-25);border-color:var(--eui-base-color-success-25);color:var(--eui-base-color-success-100)}.euim-chip-selector__item--color-success.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-success-50)}.euim-chip-selector__item--color-warning{background-color:var(--eui-base-color-warning-25);border-color:var(--eui-base-color-warning-25);color:var(--eui-base-color-warning-140)}.euim-chip-selector__item--color-warning.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-warning-50)}.euim-chip-selector__item--color-danger{background-color:var(--eui-base-color-danger-25);border-color:var(--eui-base-color-danger-25);color:var(--eui-base-color-danger-100)}.euim-chip-selector__item--color-danger.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-danger-50)}.euim-chip-selector__item--color-primary{background-color:var(--eui-base-color-primary-25);border-color:var(--eui-base-color-primary-25);color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-primary.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-primary-50)}.euim-chip-selector__item--color-info{background-color:var(--eui-base-color-info-25);border-color:var(--eui-base-color-info-25);color:var(--eui-base-color-info-100)}.euim-chip-selector__item--color-info.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-info-50)}.euim-chip-selector__item--color-dark{background-color:var(--eui-base-color-grey-100);border-color:var(--eui-base-color-grey-100);color:var(--eui-base-color-white)}.euim-chip-selector__item--color-dark.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white{background-color:var(--eui-base-color-white);border-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-white)}.euim-chip-selector__item--color-default{background-color:var(--eui-base-grey-15);border-color:var(--eui-base-color-grey-15);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-default.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-grey-50)}ion-chip.euim-chip-selector__item-selected--color-white{background-color:var(--eui-base-color-white)!important;border-color:var(--eui-base-color-white)!important;color:var(--eui-base-color-grey-100)!important}ion-chip.euim-chip-selector__item-selected--color-dark{background-color:var(--eui-base-color-grey-100)!important;border-color:var(--eui-base-color-grey-100)!important;color:var(--eui-base-color-white)!important}\n"] }]
281
+ args: [{ selector: 'euim-chip-selector', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-searchbar *ngIf=\"hasSearchbar\" (ionChange)=\"handleChange($event)\"\n class=\"euim-chip-selector__searchbar\"></ion-searchbar>\n<euim-scroller-x>\n <ng-content></ng-content>\n</euim-scroller-x>\n\n", styles: [".euim-chip-selector{padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xs);display:flex;justify-content:center;flex-direction:column}.euim-chip-selector ion-chip{margin:0 var(--eui-base-spacing-xs) 0 0}.euim-chip-selector ion-searchbar{padding-inline-start:0;padding-top:0;padding-bottom:var(--eui-base-spacing-s)}.euim-chip-selector__item--fill-default,.euim-chip-selector--fill-solid{border:none}.euim-chip-selector__item--fill-outline{background-color:transparent!important;border-width:1px;border-style:solid}.euim-chip-selector__item--fill-clear{background-color:transparent!important;border:none}.euim-chip-selector__item--fill-outline-solid{border-width:1px;border-style:solid}.euim-chip-selector--background-color-primary{background-color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-success{background-color:var(--eui-base-color-success-25);border-color:var(--eui-base-color-success-25);color:var(--eui-base-color-success-100)}.euim-chip-selector__item--color-success.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-success-50)}.euim-chip-selector__item--color-warning{background-color:var(--eui-base-color-warning-25);border-color:var(--eui-base-color-warning-25);color:var(--eui-base-color-warning-140)}.euim-chip-selector__item--color-warning.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-warning-50)}.euim-chip-selector__item--color-danger{background-color:var(--eui-base-color-danger-25);border-color:var(--eui-base-color-danger-25);color:var(--eui-base-color-danger-100)}.euim-chip-selector__item--color-danger.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-danger-50)}.euim-chip-selector__item--color-primary{background-color:var(--eui-base-color-primary-25);border-color:var(--eui-base-color-primary-25);color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-primary.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-primary-50)}.euim-chip-selector__item--color-info{background-color:var(--eui-base-color-info-25);border-color:var(--eui-base-color-info-25);color:var(--eui-base-color-info-100)}.euim-chip-selector__item--color-info.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-info-50)}.euim-chip-selector__item--color-dark{background-color:var(--eui-base-color-grey-100);border-color:var(--eui-base-color-grey-100);color:var(--eui-base-color-white)}.euim-chip-selector__item--color-dark.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white{background-color:var(--eui-base-color-white);border-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-white)}.euim-chip-selector__item--color-default{background-color:var(--eui-base-grey-15);border-color:var(--eui-base-color-grey-15);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-default.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-grey-50)}ion-chip.euim-chip-selector__item-selected--color-white{background-color:var(--eui-base-color-white)!important;border-color:var(--eui-base-color-white)!important;color:var(--eui-base-color-grey-100)!important}ion-chip.euim-chip-selector__item-selected--color-dark{background-color:var(--eui-base-color-grey-100)!important;border-color:var(--eui-base-color-grey-100)!important;color:var(--eui-base-color-white)!important}\n"] }]
196
282
  }], propDecorators: { backgroundColor: [{
197
283
  type: Input
198
284
  }], chipColor: [{
@@ -209,6 +295,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
209
295
  type: Input
210
296
  }], isMultiSelectionMode: [{
211
297
  type: Input
298
+ }], euimKeepSelection: [{
299
+ type: Input
300
+ }], hasSearchbar: [{
301
+ type: Input
212
302
  }], filterData: [{
213
303
  type: Output
214
304
  }], clickItems: [{
@@ -220,4 +310,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
220
310
  type: ContentChildren,
221
311
  args: [EuimChipSelectorItemDirective, { descendants: true }]
222
312
  }] } });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1Qyx1QkFBdUIsRUFBRSxlQUFlLEVBQW9CLFdBQVcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdk4sT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7O0FBVTVHLE1BQU0sT0FBTyx5QkFBeUI7SUFSdEM7UUFTYSxvQkFBZSxHQUE0QixTQUFTLENBQUM7UUFDOUQ7OztXQUdHO1FBQ00sY0FBUyxHQUF5RixPQUFPLENBQUM7UUFDMUcsVUFBSyxHQUF5RixPQUFPLENBQUM7UUFDdEcsc0JBQWlCLEdBQXFCLE9BQU8sQ0FBQztRQUM5QyxhQUFRLEdBQWdFLFNBQVMsQ0FBQztRQUNsRixlQUFVLEdBQW1CLEVBQUUsQ0FBQztRQUNoQyxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUc1Qix5QkFBb0IsR0FBaUIsS0FBSyxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUNoRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQVNwRCxpQkFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEMscUJBQWdCLEdBQUcsRUFBRSxDQUFB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QUFVO3NCQUFuQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUgsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBTXBCLDZCQUE2QjtzQkFENUIsZUFBZTt1QkFBQyw2QkFBNkIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFF1ZXJ5TGlzdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29udGVudENoaWxkcmVuLCBBZnRlckNvbnRlbnRJbml0LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBBZnRlclZpZXdJbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpbS1jaGlwLXNlbGVjdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2V1aW0tY2hpcC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblxufSlcbmV4cG9ydCBjbGFzcyBFdWltQ2hpcFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I6ICdwcmltYXJ5JyB8J3doaXRlJyB8ICcnID0gJ3ByaW1hcnknO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCBpbiB2MTcuXG4gICAgICogUGxlYXNlIHVzZSB7QGxpbmsgY29sb3J9IHByb3BlcnR5IGluc3RlYWRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBjaGlwQ29sb3I6ICdkZWZhdWx0JyB8ICdkYXJrJyB8ICd3aGl0ZScgfCAncHJpbWFyeScgfCAnaW5mbycgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZGFuZ2VyJyA9ICd3aGl0ZSc7XG4gICAgQElucHV0KCkgY29sb3I6ICdkZWZhdWx0JyB8ICdkYXJrJyB8ICd3aGl0ZScgfCAncHJpbWFyeScgfCAnaW5mbycgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZGFuZ2VyJyA9ICd3aGl0ZSc7XG4gICAgQElucHV0KCkgY2hpcFNlbGVjdGVkQ29sb3I6ICdkYXJrJyB8ICd3aGl0ZScgPSAnd2hpdGUnO1xuICAgIEBJbnB1dCgpIGNoaXBGaWxsOiAnZGVmYXVsdCcgfCAnY2xlYXInIHwgJ291dGxpbmUnIHwgJ291dGxpbmUtc29saWQnIHwgJ3NvbGlkJyA9ICdkZWZhdWx0JztcbiAgICBASW5wdXQoKSBzb3VyY2VEYXRhOiBGaWx0ZXJlZERhdGFbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkQ2hpcHMgPSBbXTtcbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaXNNdWx0aVNlbGVjdGlvbk1vZGU6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXJEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJlZERhdGFbXT4oKTtcbiAgICBAT3V0cHV0KCkgY2xpY2tJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3NzQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGRyZW4oRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudDogUXVlcnlMaXN0PEV1aW1DaGlwU2VsZWN0b3JJdGVtRGlyZWN0aXZlPiA7XG5cbiAgICBmaWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXTtcbiAgICBmaWx0ZXJDb25kaXRpb25zID0gW11cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRDc3NJdGVtQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVDaGlwc0FuZEZpbHRlckRhdGFBZnRlckluaXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVDaGlwc0FuZEZpbHRlcnMoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50ICYmIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZSAmJiBjaGFuZ2VzLnNlbGVjdGVkQ2hpcHMuY3VycmVudFZhbHVlLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICAgICAgY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZS5ldmVyeSgodmFsdWUsIGluZGV4KSA9PiB2YWx1ZSA9PT0gJzAnKSkge1xuICAgICAgICAgICAgdGhpcy5jbGVhckZpbHRlcnNBbmRTZWxlY3RBbGwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldENzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdldWltLWNoaXAtc2VsZWN0b3InLFxuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPyBgZXVpbS1jaGlwLXNlbGVjdG9yLS1iYWNrZ3JvdW5kLWNvbG9yLSR7dGhpcy5iYWNrZ3JvdW5kQ29sb3J9YCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgc2V0Q3NzSXRlbUNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLmdldENzc0l0ZW1DbGFzc2VzKCk7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGNsYXNzZXMuc3BsaXQoJyAnKS5mb3JFYWNoKGNsYXNzTmFtZSA9PiB7XG4gICAgICAgICAgICAgICAgY2hpcC5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRDc3NJdGVtQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICBsZXQgY3VycmVudENvbG9yID0gJ3doaXRlJyA7XG4gICAgICAgIC8vIGlmIGNvbG9yIHByb3BlcnR5IGlzIGRpZmZlcmVudCBmcm9tIGRlZmF1bHQgb25lICh3aGl0ZSkgdGhhbiB1c2UgY2hpcCBjb2xvclxuICAgICAgICAvLyBtZWFucyB1c2luZyB0aGUgZGVwcmVjYXRlZCBjaGlwQ29sb3IgcHJvcGVydHksXG4gICAgICAgIC8vIG5lZWRlZCBhcyBpbiBWMTggd2lsbCBiZSByZW1vdmVkIGNoaXBDb2xvclxuICAgICAgICBpZiAodGhpcy5jaGlwQ29sb3IgPT09ICd3aGl0ZScgJiYgdGhpcy5jb2xvciAhPSAnd2hpdGUnKSB7XG4gICAgICAgICAgICBjdXJyZW50Q29sb3IgPSAgdGhpcy5jb2xvcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1cnJlbnRDb2xvciA9ICB0aGlzLmNoaXBDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLmNoaXBGaWxsID8gYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS0tZmlsbC0ke3RoaXMuY2hpcEZpbGx9YCA6ICcnLFxuICAgICAgICAgICAgY3VycmVudENvbG9yID8gYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS0tY29sb3ItJHtjdXJyZW50Q29sb3J9YCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDaGlwc0FuZEZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGNoaXAuZWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcblxuICAgICAgICAgICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlIHx8IHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgJiYgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICAgICAgICAgIHRoaXMub25GaWx0ZXJDaGFuZ2UoY2hpcC5pZC50b1N0cmluZygpLCBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwsIGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5maWx0ZXJlZERhdGEpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjbGVhckZpbHRlcnNBbmRTZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJBbGxTZWxlY3Rpb25zKCk7XG4gICAgICAgIGxldCBpc0ZpcnN0RWxlbWVudCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGNoaXAgPT4ge1xuICAgICAgICAgICAgaWYgKGlzRmlyc3RFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGlzRmlyc3RFbGVtZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuc291cmNlRGF0YSk7XG4gICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2hpcHNBbmRGaWx0ZXJEYXRhQWZ0ZXJJbml0KCk6IHZvaWQge1xuXG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICAgICAgaWYgKGNoaXAuaWQgPT09IHVuZGVmaW5lZCAmJiBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwpIHtcbiAgICAgICAgICAgICAgICBjaGlwLmlkID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKChjaGlwKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjaGlwSWQgPSBjaGlwLmlkO1xuXG4gICAgICAgICAgICBpZiAoY2hpcElkICYmIHRoaXMuc2VsZWN0ZWRDaGlwcy5pbmNsdWRlcyhjaGlwSWQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwbHlGaWx0ZXIobnVsbCwgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsLCB0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuZmlsdGVyZWREYXRhKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDaGlwcy5sZW5ndGggPT09IDAgJiYgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IFsnMCddO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuc291cmNlRGF0YSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGlja0l0ZW1zLmVtaXQodGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG4gICAgfVxuXG4gICAgb25GaWx0ZXJDaGFuZ2UoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzRmlsdGVyQWxsOiBCb29sZWFuSW5wdXQsIGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTXVsdGlTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbiwgaXNGaWx0ZXJBbGwsIGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTaW5nbGVTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbiwgaXNGaWx0ZXJBbGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hcHBseUZpbHRlcihmaWx0ZXJDb25kaXRpb24sIGlzRmlsdGVyQWxsLCB0aGlzLmZpbHRlckNvbmRpdGlvbnMpO1xuICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgfVxuXG4gICAgYXBwbHlGaWx0ZXIoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzQWxsRmlsdGVyOiBCb29sZWFuSW5wdXQsIG11bHRpcGxlRmlsdGVyQ29uZGl0aW9uczogc3RyaW5nW10pOiB2b2lkIHtcblxuICAgICAgICBpZiAoaXNBbGxGaWx0ZXIgJiYgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlIHx8IG11bHRpcGxlRmlsdGVyQ29uZGl0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdLmZpbHRlcihpdGVtID0+IG11bHRpcGxlRmlsdGVyQ29uZGl0aW9ucy5pbmNsdWRlcyhpdGVtLmZpbHRlcklkKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtLmZpbHRlcklkID09PSBmaWx0ZXJDb25kaXRpb247XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFkZFNlbGVjdGVkU3R5bGVzKGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaXRlbS5jbGFzc0xpc3QuYWRkKGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tc2VsZWN0ZWQtLWNvbG9yLSR7dGhpcy5jaGlwU2VsZWN0ZWRDb2xvcn1gKTtcbiAgICAgICAgaXRlbS5zZXRBdHRyaWJ1dGUoJ3NlbGVjdGVkJywgJ3RydWUnKTtcbiAgICB9XG5cbiAgICByZW1vdmVTZWxlY3RlZFN0eWxlcyhpdGVtKTogdm9pZCB7XG4gICAgICAgIGl0ZW0uY2xhc3NMaXN0LnJlbW92ZShgZXVpbS1jaGlwLXNlbGVjdG9yX19pdGVtLXNlbGVjdGVkLS1jb2xvci0ke3RoaXMuY2hpcFNlbGVjdGVkQ29sb3J9YCk7XG4gICAgICAgIGl0ZW0ucmVtb3ZlQXR0cmlidXRlKCdzZWxlY3RlZCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTXVsdGlTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0ZpbHRlckFsbDogQm9vbGVhbklucHV0LCBpdGVtKTogdm9pZCB7XG4gICAgICAgIGlmICghaXNGaWx0ZXJBbGwpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucyA9IHRoaXMuc2VsZWN0ZWRDaGlwcztcbiAgICAgICAgICAgIGlmICghdGhpcy5maWx0ZXJDb25kaXRpb25zLmluY2x1ZGVzKGZpbHRlckNvbmRpdGlvbikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMucHVzaChmaWx0ZXJDb25kaXRpb24pO1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoaXRlbSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyQ29uZGl0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJDb25kaXRpb25zID0gdGhpcy5maWx0ZXJDb25kaXRpb25zLmZpbHRlcihjaGlwID0+IGNoaXAgIT09IGZpbHRlckNvbmRpdGlvbik7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFN0eWxlcyhpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IHRoaXMuZmlsdGVyQ29uZGl0aW9ucy5maWx0ZXIoZWwgPT4gZWwgIT09ICcwJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyQWxsU2VsZWN0aW9ucygpO1xuICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlU2luZ2xlU2VsZWN0aW9uTW9kZShmaWx0ZXJDb25kaXRpb246IHN0cmluZywgaXNGaWx0ZXJBbGw6IEJvb2xlYW5JbnB1dCk6IHZvaWQge1xuICAgICAgICBpZiAoaXNGaWx0ZXJBbGwpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IFsnMCddO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gW2ZpbHRlckNvbmRpdGlvbl07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyQWxsU2VsZWN0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGNoaXAgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5maWx0ZXJDb25kaXRpb25zID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IFsnMCddO1xuICAgIH1cbn1cblxuaW50ZXJmYWNlIEZpbHRlcmVkRGF0YSB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuIiwiPGV1aW0tc2Nyb2xsZXIteD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2V1aW0tc2Nyb2xsZXIteD5cbiJdfQ==
313
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1Qyx1QkFBdUIsRUFBRSxlQUFlLEVBQW9CLFdBQVcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sRUFBRSxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFbE8sT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7Ozs7QUFXNUcsTUFBTSxPQUFPLHlCQUF5QjtJQVJ0QztRQVVhLG9CQUFlLEdBQThCLFNBQVMsQ0FBQztRQUNoRTs7O1dBR0c7UUFDTSxjQUFTLEdBQXlGLE9BQU8sQ0FBQztRQUMxRyxVQUFLLEdBQXlGLE9BQU8sQ0FBQztRQUN0RyxzQkFBaUIsR0FBcUIsT0FBTyxDQUFDO1FBQzlDLGFBQVEsR0FBZ0UsU0FBUyxDQUFDO1FBQ2xGLGVBQVUsR0FBbUIsRUFBRSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRzVCLHlCQUFvQixHQUFpQixLQUFLLENBQUM7UUFHM0Msc0JBQWlCLEdBQWlCLEtBQUssQ0FBQztRQUd4QyxpQkFBWSxHQUFpQixLQUFLLENBQUM7UUFDekIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBQ2hELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBVXBELGlCQUFZLEdBQUcsQ0FB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Qiw2QkFBNkI7c0JBRDVCLGVBQWU7dUJBQUMsNkJBQTZCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBRdWVyeUxpc3QsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbnRlbnRDaGlsZHJlbiwgQWZ0ZXJDb250ZW50SW5pdCwgSG9zdEJpbmRpbmcsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgQWZ0ZXJWaWV3SW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWltLWNoaXAtc2VsZWN0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXG59KVxuZXhwb3J0IGNsYXNzIEV1aW1DaGlwU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I6ICdwcmltYXJ5JyB8ICAnd2hpdGUnIHwgJycgPSAncHJpbWFyeSc7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIHYxNy5cbiAgICAgKiBQbGVhc2UgdXNlIHtAbGluayBjb2xvcn0gcHJvcGVydHkgaW5zdGVhZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGNoaXBDb2xvcjogJ2RlZmF1bHQnIHwgJ2RhcmsnIHwgJ3doaXRlJyB8ICdwcmltYXJ5JyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInID0gJ3doaXRlJztcbiAgICBASW5wdXQoKSBjb2xvcjogJ2RlZmF1bHQnIHwgJ2RhcmsnIHwgJ3doaXRlJyB8ICdwcmltYXJ5JyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInID0gJ3doaXRlJztcbiAgICBASW5wdXQoKSBjaGlwU2VsZWN0ZWRDb2xvcjogJ2RhcmsnIHwgJ3doaXRlJyA9ICd3aGl0ZSc7XG4gICAgQElucHV0KCkgY2hpcEZpbGw6ICdkZWZhdWx0JyB8ICdjbGVhcicgfCAnb3V0bGluZScgfCAnb3V0bGluZS1zb2xpZCcgfCAnc29saWQnID0gJ2RlZmF1bHQnO1xuICAgIEBJbnB1dCgpIHNvdXJjZURhdGE6IEZpbHRlcmVkRGF0YVtdID0gW107XG4gICAgQElucHV0KCkgc2VsZWN0ZWRDaGlwcyA9IFtdO1xuICAgIEBJbnB1dCgpXG4gICAgQGNvZXJjZUJvb2xlYW5cbiAgICBpc011bHRpU2VsZWN0aW9uTW9kZTogQm9vbGVhbklucHV0ID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBAY29lcmNlQm9vbGVhblxuICAgIGV1aW1LZWVwU2VsZWN0aW9uOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaGFzU2VhcmNoYmFyOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcbiAgICBAT3V0cHV0KCkgZmlsdGVyRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyZWREYXRhW10+KCk7XG4gICAgQE91dHB1dCgpIGNsaWNrSXRlbXMgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3NzQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGRyZW4oRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudDogUXVlcnlMaXN0PEV1aW1DaGlwU2VsZWN0b3JJdGVtRGlyZWN0aXZlPjtcblxuICAgIGZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdO1xuICAgIGZpbHRlckNvbmRpdGlvbnMgPSBbXVxuICAgIHNlYXJjaElucHV0ID0gJyc7XG4gICAgZXVpbUNoaXBTZWxlY3Rvckl0ZW1TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBjbGlja0V2ZW50SGFuZGxlZCA9IGZhbHNlO1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldENzc0l0ZW1DbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvQ2hhbmdlcygpO1xuICAgICAgICB0aGlzLnVwZGF0ZUNoaXBzQW5kRmlsdGVyRGF0YUFmdGVySW5pdCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUNoaXBzQW5kRmlsdGVycygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3Vic2NyaWJlVG9DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbiA9IHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDaGlwc0FuZEZpbHRlcnMoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q3NzSXRlbUNsYXNzZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudCAmJiB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50Lmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIGNoYW5nZXMuc2VsZWN0ZWRDaGlwcy5jdXJyZW50VmFsdWUgJiYgY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZS5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgICAgIGNoYW5nZXMuc2VsZWN0ZWRDaGlwcy5jdXJyZW50VmFsdWUuZXZlcnkoKHZhbHVlLCBpbmRleCkgPT4gdmFsdWUgPT09ICcwJykpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJGaWx0ZXJzQW5kU2VsZWN0QWxsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRDc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZXVpbS1jaGlwLXNlbGVjdG9yJyxcbiAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZENvbG9yID8gYGV1aW0tY2hpcC1zZWxlY3Rvci0tYmFja2dyb3VuZC1jb2xvci0ke3RoaXMuYmFja2dyb3VuZENvbG9yfWAgOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIHNldENzc0l0ZW1DbGFzc2VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjbGFzc2VzID0gdGhpcy5nZXRDc3NJdGVtQ2xhc3NlcygpO1xuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICBjbGFzc2VzLnNwbGl0KCcgJykuZm9yRWFjaChjbGFzc05hbWUgPT4ge1xuICAgICAgICAgICAgICAgIGNoaXAuZWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0Q3NzSXRlbUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGN1cnJlbnRDb2xvciA9ICd3aGl0ZSc7XG4gICAgICAgIC8vIGlmIGNvbG9yIHByb3BlcnR5IGlzIGRpZmZlcmVudCBmcm9tIGRlZmF1bHQgb25lICh3aGl0ZSkgdGhhbiB1c2UgY2hpcCBjb2xvclxuICAgICAgICAvLyBtZWFucyB1c2luZyB0aGUgZGVwcmVjYXRlZCBjaGlwQ29sb3IgcHJvcGVydHksXG4gICAgICAgIC8vIG5lZWRlZCBhcyBpbiBWMTggd2lsbCBiZSByZW1vdmVkIGNoaXBDb2xvclxuICAgICAgICBpZiAodGhpcy5jaGlwQ29sb3IgPT09ICd3aGl0ZScgJiYgdGhpcy5jb2xvciAhPSAnd2hpdGUnKSB7XG4gICAgICAgICAgICBjdXJyZW50Q29sb3IgPSB0aGlzLmNvbG9yO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudENvbG9yID0gdGhpcy5jaGlwQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5jaGlwRmlsbCA/IGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tLWZpbGwtJHt0aGlzLmNoaXBGaWxsfWAgOiAnJyxcbiAgICAgICAgICAgIGN1cnJlbnRDb2xvciA/IGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tLWNvbG9yLSR7Y3VycmVudENvbG9yfWAgOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJyk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2hpcHNBbmRGaWx0ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICBpZiAoIWNoaXAuY2xpY2tFdmVudEFkZGVkKSB7XG4gICAgICAgICAgICAgICAgY2hpcC5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY2xpY2tFdmVudEhhbmRsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tFdmVudEhhbmRsZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goaW5uZXJDaGlwID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgfHwgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgJiYgaW5uZXJDaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoaW5uZXJDaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25GaWx0ZXJDaGFuZ2UoY2hpcC5pZD8udG9TdHJpbmcoKSwgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsLCBjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5maWx0ZXJlZERhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGlja0l0ZW1zLmVtaXQodGhpcy5zZWxlY3RlZENoaXBzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGlja0V2ZW50SGFuZGxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY2hpcC5jbGlja0V2ZW50QWRkZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjbGlja0V2ZW50SGFuZGxlcihjaGlwKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jbGlja0V2ZW50SGFuZGxlZCkge1xuICAgICAgICAgICAgdGhpcy5jbGlja0V2ZW50SGFuZGxlZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChpbm5lckNoaXAgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSB8fCAodGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSAmJiBpbm5lckNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFN0eWxlcyhpbm5lckNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICAgICAgdGhpcy5vbkZpbHRlckNoYW5nZShjaGlwLmlkPy50b1N0cmluZygpLCBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwsIGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuXG4gICAgICAgICAgICB0aGlzLmNsaWNrRXZlbnRIYW5kbGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGhhbmRsZUNoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBldmVudC5kZXRhaWwudmFsdWUudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICBpZiAoIXRoaXMuZXVpbUtlZXBTZWxlY3Rpb24pIHJldHVybjtcblxuICAgICAgICBsZXQgZmlsdGVyZWREYXRhV2l0aFNlYXJjaCA9IFtdO1xuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ2hpcHNbMF0gIT09ICcwJyAmJiB0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlKSB7XG4gICAgICAgICAgICBmaWx0ZXJlZERhdGFXaXRoU2VhcmNoID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKGl0ZW0gPT4gdGhpcy5zZWxlY3RlZENoaXBzLmluY2x1ZGVzKGl0ZW0uZmlsdGVySWQpKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhV2l0aFNlYXJjaC5maWx0ZXIob2JqID0+IG9iai50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoSW5wdXQpKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuZmlsdGVyZWREYXRhKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ2hpcHNbMF0gIT09ICcwJyl7XG4gICAgICAgICAgICBmaWx0ZXJlZERhdGFXaXRoU2VhcmNoID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmZpbHRlcklkID09PSB0aGlzLnNlbGVjdGVkQ2hpcHNbMF07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhV2l0aFNlYXJjaC5maWx0ZXIob2JqID0+IG9iai50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoSW5wdXQpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKG9iaiA9PiBvYmoudGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaElucHV0KSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgfVxuXG4gICAgY2xlYXJGaWx0ZXJzQW5kU2VsZWN0QWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyQWxsU2VsZWN0aW9ucygpO1xuICAgICAgICBsZXQgaXNGaXJzdEVsZW1lbnQgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ZpcnN0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBpc0ZpcnN0RWxlbWVudCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLnNvdXJjZURhdGEpO1xuICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNoaXBzQW5kRmlsdGVyRGF0YUFmdGVySW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGNoaXAgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgICAgICBpZiAoY2hpcC5pZCA9PT0gdW5kZWZpbmVkICYmIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCkge1xuICAgICAgICAgICAgICAgIGNoaXAuaWQgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgY2hpcElkID0gY2hpcC5pZDtcblxuICAgICAgICAgICAgaWYgKGNoaXBJZCAmJiB0aGlzLnNlbGVjdGVkQ2hpcHMuaW5jbHVkZXMoY2hpcElkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcGx5RmlsdGVyKG51bGwsIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCwgdGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ2hpcHMubGVuZ3RoID09PSAwICYmIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbJzAnXTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLnNvdXJjZURhdGEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ2hpcHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5lbWl0RXZlbnRzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlbWl0RXZlbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuICAgIH1cblxuICAgIG9uRmlsdGVyQ2hhbmdlKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0ZpbHRlckFsbDogQm9vbGVhbklucHV0LCBpdGVtKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZU11bHRpU2VsZWN0aW9uTW9kZShmaWx0ZXJDb25kaXRpb24sIGlzRmlsdGVyQWxsLCBpdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU2luZ2xlU2VsZWN0aW9uTW9kZShmaWx0ZXJDb25kaXRpb24sIGlzRmlsdGVyQWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXIoZmlsdGVyQ29uZGl0aW9uLCBpc0ZpbHRlckFsbCwgdGhpcy5maWx0ZXJDb25kaXRpb25zKTtcbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5maWx0ZXJlZERhdGEpO1xuICAgIH1cblxuICAgIGFwcGx5RmlsdGVyKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0FsbEZpbHRlcjogQm9vbGVhbklucHV0LCBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnM6IHN0cmluZ1tdKTogdm9pZCB7XG5cbiAgICAgICAgaWYgKGlzQWxsRmlsdGVyICYmIG11bHRpcGxlRmlsdGVyQ29uZGl0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV07XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5ldWltS2VlcFNlbGVjdGlvbiAmJiB0aGlzLnNlYXJjaElucHV0ICE9PSAnJyAmJiAhaXNBbGxGaWx0ZXIgJiYgdGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSB8fCBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKGl0ZW0gPT4gbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmluY2x1ZGVzKGl0ZW0uZmlsdGVySWQpKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhLmZpbHRlcihvYmogPT4gb2JqLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hJbnB1dCkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgfHwgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKGl0ZW0gPT4gbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmluY2x1ZGVzKGl0ZW0uZmlsdGVySWQpKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmV1aW1LZWVwU2VsZWN0aW9uICYmIHRoaXMuc2VhcmNoSW5wdXQgIT09ICcnICYmICFpc0FsbEZpbHRlcikge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmZpbHRlcklkID09PSBmaWx0ZXJDb25kaXRpb247XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhLmZpbHRlcihvYmogPT4gb2JqLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hJbnB1dCkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS5maWx0ZXJJZCA9PT0gZmlsdGVyQ29uZGl0aW9uO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhZGRTZWxlY3RlZFN0eWxlcyhpdGVtKTogdm9pZCB7XG4gICAgICAgIGl0ZW0uY2xhc3NMaXN0LmFkZChgZXVpbS1jaGlwLXNlbGVjdG9yX19pdGVtLXNlbGVjdGVkLS1jb2xvci0ke3RoaXMuY2hpcFNlbGVjdGVkQ29sb3J9YCk7XG4gICAgICAgIGl0ZW0uc2V0QXR0cmlidXRlKCdzZWxlY3RlZCcsICd0cnVlJyk7XG4gICAgfVxuXG4gICAgcmVtb3ZlU2VsZWN0ZWRTdHlsZXMoaXRlbSk6IHZvaWQge1xuICAgICAgICBpdGVtLmNsYXNzTGlzdC5yZW1vdmUoYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS1zZWxlY3RlZC0tY29sb3ItJHt0aGlzLmNoaXBTZWxlY3RlZENvbG9yfWApO1xuICAgICAgICBpdGVtLnJlbW92ZUF0dHJpYnV0ZSgnc2VsZWN0ZWQnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZU11bHRpU2VsZWN0aW9uTW9kZShmaWx0ZXJDb25kaXRpb246IHN0cmluZywgaXNGaWx0ZXJBbGw6IEJvb2xlYW5JbnB1dCwgaXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzRmlsdGVyQWxsKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSB0aGlzLnNlbGVjdGVkQ2hpcHM7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZmlsdGVyQ29uZGl0aW9ucy5pbmNsdWRlcyhmaWx0ZXJDb25kaXRpb24pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJDb25kaXRpb25zLnB1c2goZmlsdGVyQ29uZGl0aW9uKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGl0ZW0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlckNvbmRpdGlvbnMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucyA9IHRoaXMuZmlsdGVyQ29uZGl0aW9ucy5maWx0ZXIoY2hpcCA9PiBjaGlwICE9PSBmaWx0ZXJDb25kaXRpb24pO1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSB0aGlzLmZpbHRlckNvbmRpdGlvbnMuZmlsdGVyKGVsID0+IGVsICE9PSAnMCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbGVhckFsbFNlbGVjdGlvbnMoKTtcbiAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVNpbmdsZVNlbGVjdGlvbk1vZGUoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzRmlsdGVyQWxsOiBCb29sZWFuSW5wdXQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzRmlsdGVyQWxsKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbJzAnXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IFtmaWx0ZXJDb25kaXRpb25dO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhckFsbFNlbGVjdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucyA9IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbJzAnXTtcbiAgICB9XG59XG5cbmludGVyZmFjZSBGaWx0ZXJlZERhdGEge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cbiIsIjxpb24tc2VhcmNoYmFyICpuZ0lmPVwiaGFzU2VhcmNoYmFyXCIgKGlvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICBjbGFzcz1cImV1aW0tY2hpcC1zZWxlY3Rvcl9fc2VhcmNoYmFyXCI+PC9pb24tc2VhcmNoYmFyPlxuPGV1aW0tc2Nyb2xsZXIteD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2V1aW0tc2Nyb2xsZXIteD5cblxuIl19
@@ -11,15 +11,9 @@ export class EuimMultiselectAllDirective {
11
11
  this.euimMulti.indeterminate = false;
12
12
  if (event.detail.checked) {
13
13
  this.euimMulti.numberOfSelected = this.euimMulti.currentDataProvider?.length;
14
- if (this.euimMulti.euimKeepSelection) {
15
- this.euimMulti.initialDataProvider?.forEach((item) => (item.selected = true));
16
- }
17
14
  }
18
15
  else {
19
16
  this.euimMulti.numberOfSelected = 0;
20
- if (this.euimMulti.euimKeepSelection) {
21
- this.euimMulti.initialDataProvider?.forEach((item) => (item.selected = false));
22
- }
23
17
  }
24
18
  }
25
19
  get indeterminate() {
@@ -49,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
49
43
  type: HostBinding,
50
44
  args: ['checked']
51
45
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1tdWx0aXNlbGVjdC1hbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tbXVsdGlzZWxlY3QvZXVpbS1tdWx0aXNlbGVjdC1hbGwvZXVpbS1tdWx0aXNlbGVjdC1hbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTXJFLE1BQU0sT0FBTywyQkFBMkI7SUFHcEMsWUFBb0IsU0FBa0M7UUFBbEMsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFGaEMsY0FBUyxHQUFHLHVCQUF1QixDQUFDO0lBRzFELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBa0I7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNqRCxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUNyQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEdBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUM7WUFDOUUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFO2dCQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ2pELENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQy9CO1NBQ0o7YUFBTTtZQUNILElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEdBQUksQ0FBQyxDQUFDO1lBQ3JDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNqRCxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNoQztTQUNKO0lBQ0wsQ0FBQztJQUVELElBQWtDLGFBQWE7UUFDM0MsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBRTtJQUN6QyxDQUFDO0lBQ0QsSUFBNEIsT0FBTztRQUMvQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQ3BDLENBQUM7aUlBOUJRLDJCQUEyQjtxSEFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7aUJBQ25DOzZGQUV5QixTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBS3BCLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBb0JILGFBQWE7c0JBQTlDLFdBQVc7dUJBQUMsZUFBZTtnQkFHQSxPQUFPO3NCQUFsQyxXQUFXO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV1aW1NdWx0aXNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uL2V1aW0tbXVsdGlzZWxlY3QuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZXVpbU11bHRpc2VsZWN0QWxsXScsXG59KVxuZXhwb3J0IGNsYXNzIEV1aW1NdWx0aXNlbGVjdEFsbERpcmVjdGl2ZSB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzTmFtZSA9ICdldWltLW11bHRpc2VsZWN0X19hbGwnO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBldWltTXVsdGk6RXVpbU11bHRpc2VsZWN0Q29tcG9uZW50KSB7XG4gICAgfVxuICAgIEBIb3N0TGlzdGVuZXIoJ2lvbkNoYW5nZScsIFsnJGV2ZW50J10pXG4gICAgb25Jb25DaGFuZ2UoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbU11bHRpLmN1cnJlbnREYXRhUHJvdmlkZXI/LmZvckVhY2goKGl0ZW0pID0+XG4gICAgICAgICAgICAoaXRlbS5zZWxlY3RlZCA9IGV2ZW50LmRldGFpbC5jaGVja2VkKSk7XG4gICAgICAgIHRoaXMuZXVpbU11bHRpLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgaWYgKGV2ZW50LmRldGFpbC5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLmV1aW1NdWx0aS5udW1iZXJPZlNlbGVjdGVkID0gIHRoaXMuZXVpbU11bHRpLmN1cnJlbnREYXRhUHJvdmlkZXI/Lmxlbmd0aDtcbiAgICAgICAgICAgIGlmICh0aGlzLmV1aW1NdWx0aS5ldWltS2VlcFNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuZXVpbU11bHRpLmluaXRpYWxEYXRhUHJvdmlkZXI/LmZvckVhY2goKGl0ZW0pID0+XG4gICAgICAgICAgICAgICAgICAgIChpdGVtLnNlbGVjdGVkID0gdHJ1ZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ldWltTXVsdGkubnVtYmVyT2ZTZWxlY3RlZCA9ICAwO1xuICAgICAgICAgICAgaWYgKHRoaXMuZXVpbU11bHRpLmV1aW1LZWVwU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ldWltTXVsdGkuaW5pdGlhbERhdGFQcm92aWRlcj8uZm9yRWFjaCgoaXRlbSkgPT5cbiAgICAgICAgICAgICAgICAgICAgKGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdpbmRldGVybWluYXRlJykgZ2V0IGluZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV1aW1NdWx0aS5pbmRldGVybWluYXRlIDtcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdjaGVja2VkJykgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiAge1xuICAgICAgICByZXR1cm4gdGhpcy5ldWltTXVsdGkuc2VsZWN0QWxsO1xuICAgIH1cbn1cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1tdWx0aXNlbGVjdC1hbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tbXVsdGlzZWxlY3QvZXVpbS1tdWx0aXNlbGVjdC1hbGwvZXVpbS1tdWx0aXNlbGVjdC1hbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTXJFLE1BQU0sT0FBTywyQkFBMkI7SUFHcEMsWUFBb0IsU0FBa0M7UUFBbEMsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFGaEMsY0FBUyxHQUFHLHVCQUF1QixDQUFDO0lBRzFELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBa0I7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNqRCxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUNyQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEdBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUM7U0FDakY7YUFBTTtZQUNILElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEdBQUksQ0FBQyxDQUFDO1NBQ3hDO0lBQ0wsQ0FBQztJQUVELElBQWtDLGFBQWE7UUFDM0MsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBRTtJQUN6QyxDQUFDO0lBQ0QsSUFBNEIsT0FBTztRQUMvQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQ3BDLENBQUM7aUlBdEJRLDJCQUEyQjtxSEFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7aUJBQ25DOzZGQUV5QixTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBS3BCLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWUgsYUFBYTtzQkFBOUMsV0FBVzt1QkFBQyxlQUFlO2dCQUdBLE9BQU87c0JBQWxDLFdBQVc7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXVpbU11bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vZXVpbS1tdWx0aXNlbGVjdC5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tldWltTXVsdGlzZWxlY3RBbGxdJyxcbn0pXG5leHBvcnQgY2xhc3MgRXVpbU11bHRpc2VsZWN0QWxsRGlyZWN0aXZlIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NOYW1lID0gJ2V1aW0tbXVsdGlzZWxlY3RfX2FsbCc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV1aW1NdWx0aTpFdWltTXVsdGlzZWxlY3RDb21wb25lbnQpIHtcbiAgICB9XG4gICAgQEhvc3RMaXN0ZW5lcignaW9uQ2hhbmdlJywgWyckZXZlbnQnXSlcbiAgICBvbklvbkNoYW5nZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWltTXVsdGkuY3VycmVudERhdGFQcm92aWRlcj8uZm9yRWFjaCgoaXRlbSkgPT5cbiAgICAgICAgICAgIChpdGVtLnNlbGVjdGVkID0gZXZlbnQuZGV0YWlsLmNoZWNrZWQpKTtcbiAgICAgICAgdGhpcy5ldWltTXVsdGkuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICBpZiAoZXZlbnQuZGV0YWlsLmNoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZXVpbU11bHRpLm51bWJlck9mU2VsZWN0ZWQgPSAgdGhpcy5ldWltTXVsdGkuY3VycmVudERhdGFQcm92aWRlcj8ubGVuZ3RoO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ldWltTXVsdGkubnVtYmVyT2ZTZWxlY3RlZCA9ICAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdpbmRldGVybWluYXRlJykgZ2V0IGluZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV1aW1NdWx0aS5pbmRldGVybWluYXRlIDtcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdjaGVja2VkJykgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiAge1xuICAgICAgICByZXR1cm4gdGhpcy5ldWltTXVsdGkuc2VsZWN0QWxsO1xuICAgIH1cbn1cbiJdfQ==
@@ -23,11 +23,31 @@ export class EuimMultiselectFilterComponent {
23
23
  else {
24
24
  this.multiselect.currentDataProvider =
25
25
  this.multiselect.initialDataProvider;
26
+ this.applyStatusToSelectAllCheckControl();
26
27
  }
27
28
  }
28
29
  else {
29
30
  this.multiselect.currentDataProvider =
30
31
  this.multiselect.initialDataProvider?.filter(item => this.filterByFieldsNames.some(fieldName => item[fieldName].toString().toLowerCase().includes(query)));
32
+ if (this.multiselect.euimKeepSelection) {
33
+ this.applyStatusToSelectAllCheckControl();
34
+ }
35
+ }
36
+ }
37
+ applyStatusToSelectAllCheckControl() {
38
+ const isSelectAll = this.multiselect.currentDataProvider?.every((item) => item.selected);
39
+ this.multiselect.indeterminate = !isSelectAll && this.multiselect.currentDataProvider?.some((item) => item.selected);
40
+ if (!this.multiselect.indeterminate) {
41
+ this.multiselect.selectAll = isSelectAll;
42
+ if (isSelectAll) {
43
+ this.multiselect.numberOfSelected = this.multiselect.currentDataProvider?.length;
44
+ }
45
+ else {
46
+ this.multiselect.numberOfSelected = 0;
47
+ }
48
+ }
49
+ else {
50
+ this.multiselect.numberOfSelected = this.multiselect.countSelectedItems();
31
51
  }
32
52
  }
33
53
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimMultiselectFilterComponent, deps: [{ token: i1.EuimMultiselectComponent }], target: i0.ɵɵFactoryTarget.Component }); }
@@ -42,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
42
62
  }], filterByFieldsNames: [{
43
63
  type: Input
44
64
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tbXVsdGlzZWxlY3QvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tbXVsdGlzZWxlY3QvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVTFHLE1BQU0sT0FBTyw4QkFBOEI7SUFLdkMsWUFBcUIsV0FBb0M7UUFBcEMsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBSm5DLGNBQVMsR0FBRyx5QkFBeUIsQ0FBQztJQUs1RCxDQUFDO0lBQ0QsOERBQThEO0lBQzlELFlBQVksQ0FBQyxLQUFVO1FBQ25CLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFO1lBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNuRCxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNoQztRQUVELElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFO2dCQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQjtvQkFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQzthQUM1QztpQkFBTTtnQkFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQjtvQkFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQzthQUM1QztTQUVKO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQjtnQkFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDbkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUMzRCxDQUNKLENBQUM7U0FDTDtJQUVMLENBQUM7aUlBbkNRLDhCQUE4QjtxSEFBOUIsOEJBQThCLDRLQ1YzQyxxSUFFQTs7MkZEUWEsOEJBQThCO2tCQVAxQyxTQUFTOytCQUNJLHlCQUF5QixtQkFHbEIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs2RkFHZixTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBRVgsbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXVpbU11bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vZXVpbS1tdWx0aXNlbGVjdC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aW0tbXVsdGlzZWxlY3QtZmlsdGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aW1NdWx0aXNlbGVjdEZpbHRlckNvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzTmFtZSA9ICdldWltLW11bHRpc2VsZWN0LWZpbHRlcic7XG5cbiAgICBASW5wdXQoKSBmaWx0ZXJCeUZpZWxkc05hbWVzOiBzdHJpbmdbXTtcblxuICAgIGNvbnN0cnVjdG9yKCBwcml2YXRlIG11bHRpc2VsZWN0OkV1aW1NdWx0aXNlbGVjdENvbXBvbmVudCkge1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGhhbmRsZUNoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gZXZlbnQuZGV0YWlsLnZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdC5ldWltS2VlcFNlbGVjdGlvbikge1xuICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5zZWxlY3RBbGwgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3QuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5jdXJyZW50RGF0YVByb3ZpZGVyPy5mb3JFYWNoKChpdGVtKSA9PlxuICAgICAgICAgICAgICAgIChpdGVtLnNlbGVjdGVkID0gZmFsc2UpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChxdWVyeSA9PT0gJycpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdC5ldWltS2VlcFNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3QuY3VycmVudERhdGFQcm92aWRlciA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3QuaW5pdGlhbERhdGFQcm92aWRlcjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5jdXJyZW50RGF0YVByb3ZpZGVyID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5pbml0aWFsRGF0YVByb3ZpZGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0LmN1cnJlbnREYXRhUHJvdmlkZXIgPVxuICAgICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5pbml0aWFsRGF0YVByb3ZpZGVyPy5maWx0ZXIoaXRlbSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQnlGaWVsZHNOYW1lcy5zb21lKGZpZWxkTmFtZSA9PlxuICAgICAgICAgICAgICAgICAgICBpdGVtW2ZpZWxkTmFtZV0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCI8aW9uLXNlYXJjaGJhciAoaW9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXJfX3NlYXJjaGJhclwiPjwvaW9uLXNlYXJjaGJhcj5cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tbXVsdGlzZWxlY3QvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tbXVsdGlzZWxlY3QvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIvZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVTFHLE1BQU0sT0FBTyw4QkFBOEI7SUFLdkMsWUFBcUIsV0FBb0M7UUFBcEMsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBSm5DLGNBQVMsR0FBRyx5QkFBeUIsQ0FBQztJQUs1RCxDQUFDO0lBQ0QsOERBQThEO0lBQzlELFlBQVksQ0FBQyxLQUFVO1FBQ25CLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFO1lBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNuRCxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNoQztRQUVELElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFO2dCQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQjtvQkFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQzthQUM1QztpQkFBTTtnQkFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQjtvQkFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDekMsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUM7YUFDN0M7U0FFSjthQUFNO1lBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUI7Z0JBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ25ELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FDM0QsQ0FDSixDQUFDO1lBQ0YsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFO2dCQUNwQyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsQ0FBQzthQUM3QztTQUNKO0lBQ0wsQ0FBQztJQUVELGtDQUFrQztRQUU5QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxHQUFHLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckgsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQztZQUN6QyxJQUFJLFdBQVcsRUFBRTtnQkFDYixJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixHQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO2FBQ3JGO2lCQUFNO2dCQUNILElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEdBQUksQ0FBQyxDQUFDO2FBQzFDO1NBQ0o7YUFBTTtZQUNILElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzdFO0lBQ0wsQ0FBQztpSUF0RFEsOEJBQThCO3FIQUE5Qiw4QkFBOEIsNEtDVjNDLHFJQUVBOzsyRkRRYSw4QkFBOEI7a0JBUDFDLFNBQVM7K0JBQ0kseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzZGQUdmLFNBQVM7c0JBQTlCLFdBQVc7dUJBQUMsT0FBTztnQkFFWCxtQkFBbUI7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdWltTXVsdGlzZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9ldWltLW11bHRpc2VsZWN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpbS1tdWx0aXNlbGVjdC1maWx0ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWltLW11bHRpc2VsZWN0LWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpbU11bHRpc2VsZWN0RmlsdGVyQ29tcG9uZW50IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NOYW1lID0gJ2V1aW0tbXVsdGlzZWxlY3QtZmlsdGVyJztcblxuICAgIEBJbnB1dCgpIGZpbHRlckJ5RmllbGRzTmFtZXM6IHN0cmluZ1tdO1xuXG4gICAgY29uc3RydWN0b3IoIHByaXZhdGUgbXVsdGlzZWxlY3Q6RXVpbU11bHRpc2VsZWN0Q29tcG9uZW50KSB7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgaGFuZGxlQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcXVlcnkgPSBldmVudC5kZXRhaWwudmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0LmV1aW1LZWVwU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0LnNlbGVjdEFsbCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0LmN1cnJlbnREYXRhUHJvdmlkZXI/LmZvckVhY2goKGl0ZW0pID0+XG4gICAgICAgICAgICAgICAgKGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHF1ZXJ5ID09PSAnJykge1xuICAgICAgICAgICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0LmV1aW1LZWVwU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5jdXJyZW50RGF0YVByb3ZpZGVyID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5pbml0aWFsRGF0YVByb3ZpZGVyO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0LmN1cnJlbnREYXRhUHJvdmlkZXIgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0LmluaXRpYWxEYXRhUHJvdmlkZXI7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBseVN0YXR1c1RvU2VsZWN0QWxsQ2hlY2tDb250cm9sKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3QuY3VycmVudERhdGFQcm92aWRlciA9XG4gICAgICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0LmluaXRpYWxEYXRhUHJvdmlkZXI/LmZpbHRlcihpdGVtID0+XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJCeUZpZWxkc05hbWVzLnNvbWUoZmllbGROYW1lID0+XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1bZmllbGROYW1lXS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QuZXVpbUtlZXBTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcGx5U3RhdHVzVG9TZWxlY3RBbGxDaGVja0NvbnRyb2woKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFwcGx5U3RhdHVzVG9TZWxlY3RBbGxDaGVja0NvbnRyb2woKTp2b2lkIHtcblxuICAgICAgICBjb25zdCBpc1NlbGVjdEFsbCA9IHRoaXMubXVsdGlzZWxlY3QuY3VycmVudERhdGFQcm92aWRlcj8uZXZlcnkoKGl0ZW0pID0+IGl0ZW0uc2VsZWN0ZWQpO1xuICAgICAgICB0aGlzLm11bHRpc2VsZWN0LmluZGV0ZXJtaW5hdGUgPSAhaXNTZWxlY3RBbGwgJiYgdGhpcy5tdWx0aXNlbGVjdC5jdXJyZW50RGF0YVByb3ZpZGVyPy5zb21lKChpdGVtKSA9PiBpdGVtLnNlbGVjdGVkKTtcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0LmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3Quc2VsZWN0QWxsID0gaXNTZWxlY3RBbGw7XG4gICAgICAgICAgICBpZiAoaXNTZWxlY3RBbGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0Lm51bWJlck9mU2VsZWN0ZWQgPSAgdGhpcy5tdWx0aXNlbGVjdC5jdXJyZW50RGF0YVByb3ZpZGVyPy5sZW5ndGg7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3QubnVtYmVyT2ZTZWxlY3RlZCA9ICAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdC5udW1iZXJPZlNlbGVjdGVkID0gdGhpcy5tdWx0aXNlbGVjdC5jb3VudFNlbGVjdGVkSXRlbXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiPGlvbi1zZWFyY2hiYXIgKGlvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICBjbGFzcz1cImV1aW0tbXVsdGlzZWxlY3QtZmlsdGVyX19zZWFyY2hiYXJcIj48L2lvbi1zZWFyY2hiYXI+XG4iXX0=
@@ -0,0 +1,87 @@
1
+ import { Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@ionic/angular";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "ng2-pdf-viewer";
6
+ import * as i4 from "@meddv/ngx-pinch-zoom";
7
+ import * as i5 from "../euim-spinner/euim-spinner.component";
8
+ import * as i6 from "../euim-spinner/euim-spinner-message/euim-spinner-message.component";
9
+ export class EuimPdfWrapperComponent {
10
+ constructor(alertService) {
11
+ this.alertService = alertService;
12
+ this.page = 1;
13
+ this.zoom = 1;
14
+ this.loading = true;
15
+ this.errorMessage = '';
16
+ this.showDefaultError = true;
17
+ setTimeout(() => {
18
+ if (this.showDefaultError) {
19
+ this.loading = false;
20
+ this.alertService.create({ header: 'PDF could not be loaded.' }).then();
21
+ }
22
+ }, 15000);
23
+ }
24
+ onLoaded(pdf) {
25
+ this.showDefaultError = false;
26
+ this.loading = false;
27
+ this.pdf = pdf;
28
+ }
29
+ onError() {
30
+ this.showDefaultError = false;
31
+ this.loading = false;
32
+ this.errorMessage = 'File could not be loaded.';
33
+ }
34
+ onDownload() {
35
+ this.pdf.getData().then((u8) => {
36
+ const blob = new Blob([u8.buffer], {
37
+ type: 'application/pdf',
38
+ });
39
+ // Create a download link
40
+ const downloadLink = document.createElement('a');
41
+ downloadLink.href = window.URL.createObjectURL(blob);
42
+ // dtm downloadLink.download = this.title;
43
+ // Append the link to the body
44
+ document.body.appendChild(downloadLink);
45
+ // Programmatically trigger a click on the link
46
+ downloadLink.click();
47
+ // Remove the link from the DOM
48
+ document.body.removeChild(downloadLink);
49
+ });
50
+ }
51
+ onZoomIn() {
52
+ this.zoom += 0.5;
53
+ this.page = 2;
54
+ }
55
+ onZoomOut() {
56
+ if (this.zoom > 1) {
57
+ this.zoom -= 0.5;
58
+ }
59
+ }
60
+ onResetZoom() {
61
+ this.zoom = 1;
62
+ }
63
+ // async onDismissModal() {
64
+ // await this.modalCtrl.dismiss();
65
+ // }
66
+ nextPage() {
67
+ if (this.page < this.pdf.numPages) {
68
+ this.page++;
69
+ }
70
+ }
71
+ prevPage() {
72
+ if (this.page > 1) {
73
+ this.page--;
74
+ }
75
+ }
76
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimPdfWrapperComponent, deps: [{ token: i1.AlertController }], target: i0.ɵɵFactoryTarget.Component }); }
77
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimPdfWrapperComponent, selector: "euim-pdf-wrapper", inputs: { url: "url", page: "page" }, ngImport: i0, template: "<div>\n <euim-spinner *ngIf=\"loading\">\n <div euimSpinnerMessage>Loading PDF...</div>\n </euim-spinner>\n <div *ngIf=\"errorMessage\">{{errorMessage}}</div>\n</div>\n\n\n<pinch-zoom>\n <div style=\"display: block;width: 500px; height: 500px\">\n <pdf-viewer [src]=\"url\"\n [zoom]=\"zoom\"\n [original-size]=\"true\"\n [autoresize]=\"false\"\n (after-load-complete)=\"onLoaded($event)\"\n (error)=\"onError()\"\n [page]=\"page\"\n style=\"width: 100%; height: 100%\"></pdf-viewer>\n </div>\n</pinch-zoom>\n\n<ion-footer>\n <ion-toolbar color=\"primary\" class=\"pdf-preview-modal__footer\">\n <ion-buttons slot=\"start\">\n <ion-button (click)=\"onDownload()\" [disabled]=\"!pdf\">\n <ion-icon name=\"download-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-buttons>\n <ion-buttons class=\"pdf-preview-modal__footer-zoom-container\">\n <ion-button (click)=\"onZoomOut()\" [disabled]=\"zoom === 1\">\n <ion-icon name=\"remove-circle-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n <ion-button (click)=\"onResetZoom()\">\n ZOOM\n </ion-button>\n <ion-button (click)=\"onZoomIn()\">\n <ion-icon name=\"add-circle-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n\n\n <ion-button (click)=\"prevPage()\">\n Prev\n </ion-button>\n {{page}}\n <ion-button (click)=\"nextPage()\">\n Next\n </ion-button>\n\n </ion-buttons>\n </ion-toolbar>\n</ion-footer>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i3.PdfViewerComponent, selector: "pdf-viewer", inputs: ["src", "c-maps-url", "page", "render-text", "render-text-mode", "original-size", "show-all", "stick-to-page", "zoom", "zoom-scale", "rotation", "external-link-target", "autoresize", "fit-to-page", "show-borders"], outputs: ["after-load-complete", "page-rendered", "pages-initialized", "text-layer-rendered", "error", "on-progress", "pageChange"] }, { kind: "component", type: i4.PinchZoomComponent, selector: "pinch-zoom, [pinch-zoom]", inputs: ["properties", "transition-duration", "transitionDuration", "double-tap", "doubleTap", "double-tap-scale", "doubleTapScale", "auto-zoom-out", "autoZoomOut", "limit-zoom", "limitZoom", "disabled", "disablePan", "overflow", "zoomControlScale", "disableZoomControl", "backgroundColor", "limitPan", "minPanScale", "minScale", "listeners", "wheel", "autoHeight", "wheelZoomFactor", "draggableImage"], exportAs: ["pinchZoom"] }, { kind: "component", type: i5.EuimSpinnerComponent, selector: "euim-spinner" }, { kind: "component", type: i6.EuimSpinnerMessageComponent, selector: "[euimSpinnerMessage]" }], encapsulation: i0.ViewEncapsulation.None }); }
78
+ }
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimPdfWrapperComponent, decorators: [{
80
+ type: Component,
81
+ args: [{ selector: 'euim-pdf-wrapper', encapsulation: ViewEncapsulation.None, template: "<div>\n <euim-spinner *ngIf=\"loading\">\n <div euimSpinnerMessage>Loading PDF...</div>\n </euim-spinner>\n <div *ngIf=\"errorMessage\">{{errorMessage}}</div>\n</div>\n\n\n<pinch-zoom>\n <div style=\"display: block;width: 500px; height: 500px\">\n <pdf-viewer [src]=\"url\"\n [zoom]=\"zoom\"\n [original-size]=\"true\"\n [autoresize]=\"false\"\n (after-load-complete)=\"onLoaded($event)\"\n (error)=\"onError()\"\n [page]=\"page\"\n style=\"width: 100%; height: 100%\"></pdf-viewer>\n </div>\n</pinch-zoom>\n\n<ion-footer>\n <ion-toolbar color=\"primary\" class=\"pdf-preview-modal__footer\">\n <ion-buttons slot=\"start\">\n <ion-button (click)=\"onDownload()\" [disabled]=\"!pdf\">\n <ion-icon name=\"download-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-buttons>\n <ion-buttons class=\"pdf-preview-modal__footer-zoom-container\">\n <ion-button (click)=\"onZoomOut()\" [disabled]=\"zoom === 1\">\n <ion-icon name=\"remove-circle-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n <ion-button (click)=\"onResetZoom()\">\n ZOOM\n </ion-button>\n <ion-button (click)=\"onZoomIn()\">\n <ion-icon name=\"add-circle-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n\n\n <ion-button (click)=\"prevPage()\">\n Prev\n </ion-button>\n {{page}}\n <ion-button (click)=\"nextPage()\">\n Next\n </ion-button>\n\n </ion-buttons>\n </ion-toolbar>\n</ion-footer>\n" }]
82
+ }], ctorParameters: () => [{ type: i1.AlertController }], propDecorators: { url: [{
83
+ type: Input
84
+ }], page: [{
85
+ type: Input
86
+ }] } });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1wZGYtd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZXVpbS1wZGYtd3JhcHBlci9ldWltLXBkZi13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLXBkZi13cmFwcGVyL2V1aW0tcGRmLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBV3BFLE1BQU0sT0FBTyx1QkFBdUI7SUFVaEMsWUFBb0IsWUFBNkI7UUFBN0IsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBUnhDLFNBQUksR0FBSSxDQUFDLENBQUM7UUFFbkIsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUNULFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQU1kLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQzNFO1FBQ0wsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFxQjtRQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ25CLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLDJCQUEyQixDQUFDO0lBQ3BELENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDL0IsSUFBSSxFQUFFLGlCQUFpQjthQUMxQixDQUFDLENBQUM7WUFFSCx5QkFBeUI7WUFDekIsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqRCxZQUFZLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JELDBDQUEwQztZQUUxQyw4QkFBOEI7WUFDOUIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFeEMsK0NBQStDO1lBQy9DLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVyQiwrQkFBK0I7WUFDL0IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsMkJBQTJCO0lBQzNCLHNDQUFzQztJQUN0QyxJQUFJO0lBRUosUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUMvQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNmO0lBQ0wsQ0FBQztpSUFwRlEsdUJBQXVCO3FIQUF2Qix1QkFBdUIsOEZDWHBDLDR4REFtREE7OzJGRHhDYSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0ksa0JBQWtCLGlCQUliLGlCQUFpQixDQUFDLElBQUk7b0ZBRzVCLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUERGRG9jdW1lbnRQcm94eSB9IGZyb20gJ25nMi1wZGYtdmlld2VyJztcbmltcG9ydCB7IEFsZXJ0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWltLXBkZi13cmFwcGVyJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpbS1wZGYtd3JhcHBlci5jb21wb25lbnQuaHRtbCcsXG5cbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWltUGRmV3JhcHBlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdXJsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcGFnZSAgPSAxO1xuXG4gICAgem9vbSA9IDE7XG4gICAgbG9hZGluZyA9IHRydWU7XG4gICAgZXJyb3JNZXNzYWdlID0gJyc7XG4gICAgcGRmOiBQREZEb2N1bWVudFByb3h5O1xuICAgIHByaXZhdGUgc2hvd0RlZmF1bHRFcnJvcjogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydENvbnRyb2xsZXIpIHtcblxuICAgICAgICB0aGlzLnNob3dEZWZhdWx0RXJyb3IgPSB0cnVlO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNob3dEZWZhdWx0RXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5jcmVhdGUoeyBoZWFkZXI6ICdQREYgY291bGQgbm90IGJlIGxvYWRlZC4nIH0pLnRoZW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMTUwMDApO1xuICAgIH1cblxuICAgIG9uTG9hZGVkKHBkZjogUERGRG9jdW1lbnRQcm94eSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dEZWZhdWx0RXJyb3IgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMucGRmID0gcGRmO1xuICAgIH1cblxuICAgIG9uRXJyb3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvd0RlZmF1bHRFcnJvciA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRmlsZSBjb3VsZCBub3QgYmUgbG9hZGVkLic7XG4gICAgfVxuXG4gICAgb25Eb3dubG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wZGYuZ2V0RGF0YSgpLnRoZW4oKHU4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW3U4LmJ1ZmZlcl0sIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnYXBwbGljYXRpb24vcGRmJyxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBDcmVhdGUgYSBkb3dubG9hZCBsaW5rXG4gICAgICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICAgICAgLy8gZHRtIGRvd25sb2FkTGluay5kb3dubG9hZCA9IHRoaXMudGl0bGU7XG5cbiAgICAgICAgICAgIC8vIEFwcGVuZCB0aGUgbGluayB0byB0aGUgYm9keVxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuXG4gICAgICAgICAgICAvLyBQcm9ncmFtbWF0aWNhbGx5IHRyaWdnZXIgYSBjbGljayBvbiB0aGUgbGlua1xuICAgICAgICAgICAgZG93bmxvYWRMaW5rLmNsaWNrKCk7XG5cbiAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgbGluayBmcm9tIHRoZSBET01cbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25ab29tSW4oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuem9vbSArPSAwLjU7XG4gICAgICAgIHRoaXMucGFnZSA9IDI7XG4gICAgfVxuXG4gICAgb25ab29tT3V0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy56b29tID4gMSkge1xuICAgICAgICAgICAgdGhpcy56b29tIC09IDAuNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUmVzZXRab29tKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnpvb20gPSAxO1xuICAgIH1cblxuICAgIC8vIGFzeW5jIG9uRGlzbWlzc01vZGFsKCkge1xuICAgIC8vICAgICBhd2FpdCB0aGlzLm1vZGFsQ3RybC5kaXNtaXNzKCk7XG4gICAgLy8gfVxuXG4gICAgbmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnBhZ2UgPCB0aGlzLnBkZi5udW1QYWdlcykge1xuICAgICAgICAgICAgdGhpcy5wYWdlKys7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcmV2UGFnZSgpOnZvaWQge1xuICAgICAgICBpZiAodGhpcy5wYWdlID4gMSkge1xuICAgICAgICAgICAgdGhpcy5wYWdlLS07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2PlxuICAgIDxldWltLXNwaW5uZXIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgICAgIDxkaXYgZXVpbVNwaW5uZXJNZXNzYWdlPkxvYWRpbmcgUERGLi4uPC9kaXY+XG4gICAgPC9ldWltLXNwaW5uZXI+XG4gICAgPGRpdiAqbmdJZj1cImVycm9yTWVzc2FnZVwiPnt7ZXJyb3JNZXNzYWdlfX08L2Rpdj5cbjwvZGl2PlxuXG5cbjxwaW5jaC16b29tPlxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBibG9jazt3aWR0aDogNTAwcHg7IGhlaWdodDogNTAwcHhcIj5cbiAgICAgICAgPHBkZi12aWV3ZXIgW3NyY109XCJ1cmxcIlxuICAgICAgICAgICAgICAgICAgICBbem9vbV09XCJ6b29tXCJcbiAgICAgICAgICAgICAgICAgICAgW29yaWdpbmFsLXNpemVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdXRvcmVzaXplXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgKGFmdGVyLWxvYWQtY29tcGxldGUpPVwib25Mb2FkZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChlcnJvcik9XCJvbkVycm9yKClcIlxuICAgICAgICAgICAgICAgICAgICBbcGFnZV09XCJwYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlXCI+PC9wZGYtdmlld2VyPlxuICAgIDwvZGl2PlxuPC9waW5jaC16b29tPlxuXG48aW9uLWZvb3Rlcj5cbiAgICA8aW9uLXRvb2xiYXIgY29sb3I9XCJwcmltYXJ5XCIgY2xhc3M9XCJwZGYtcHJldmlldy1tb2RhbF9fZm9vdGVyXCI+XG4gICAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJvbkRvd25sb2FkKClcIiBbZGlzYWJsZWRdPVwiIXBkZlwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiZG93bmxvYWQtb3V0bGluZVwiIHNsb3Q9XCJpY29uLW9ubHlcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgICA8aW9uLWJ1dHRvbnMgY2xhc3M9XCJwZGYtcHJldmlldy1tb2RhbF9fZm9vdGVyLXpvb20tY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib25ab29tT3V0KClcIiBbZGlzYWJsZWRdPVwiem9vbSA9PT0gMVwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwicmVtb3ZlLWNpcmNsZS1vdXRsaW5lXCIgc2xvdD1cImljb24tb25seVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib25SZXNldFpvb20oKVwiPlxuICAgICAgICAgICAgICAgIFpPT01cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJvblpvb21JbigpXCI+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJhZGQtY2lyY2xlLW91dGxpbmVcIiBzbG90PVwiaWNvbi1vbmx5XCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwicHJldlBhZ2UoKVwiPlxuICAgICAgICAgICAgICAgUHJldlxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICAgIHt7cGFnZX19XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwibmV4dFBhZ2UoKVwiPlxuICAgICAgICAgICAgICAgIE5leHRcbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1mb290ZXI+XG4iXX0=