@acorex/components 18.5.17 → 18.6.0

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 (135) hide show
  1. package/audio-wave/lib/audio-wave.component.d.ts +5 -0
  2. package/button-group/lib/button-group.component.d.ts +5 -2
  3. package/circular-progress/lib/circular-progress.component.d.ts +21 -57
  4. package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +28 -0
  5. package/data-pager/lib/data-pager-prev-buttons.component.d.ts +20 -0
  6. package/data-pager/lib/data-pager.component.d.ts +111 -0
  7. package/data-table/lib/columns/data-text-column.component.d.ts +58 -0
  8. package/data-table/lib/columns/row-command-column.component.d.ts +83 -0
  9. package/data-table/lib/columns/row-index-column.component.d.ts +51 -0
  10. package/data-table/lib/columns/row-select-column.component.d.ts +47 -0
  11. package/data-table/lib/data-table/data-table.component.d.ts +200 -0
  12. package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +185 -0
  13. package/datetime-box/lib/datetime-box.component.d.ts +59 -1
  14. package/datetime-input/lib/datetime-input.component.d.ts +133 -0
  15. package/datetime-picker/lib/datetime-picker.component.d.ts +95 -0
  16. package/decorators/lib/components/clear-button.component.d.ts +25 -0
  17. package/decorators/lib/components/close-button.component.d.ts +22 -0
  18. package/decorators/lib/components/generic-content.component.d.ts +4 -0
  19. package/decorators/lib/components/icon.component.d.ts +12 -0
  20. package/dialog/lib/dialog.component.d.ts +20 -0
  21. package/drawer/lib/drawer-container.component.d.ts +7 -0
  22. package/drawer/lib/drawer.component.d.ts +104 -0
  23. package/dropdown/lib/dropdown-box.component.d.ts +66 -0
  24. package/dropdown/lib/dropdown-panel.component.d.ts +85 -0
  25. package/dropdown-button/lib/dropdown-button.component.d.ts +38 -0
  26. package/esm2022/audio-wave/lib/audio-wave.component.mjs +6 -1
  27. package/esm2022/button-group/lib/button-group.component.mjs +6 -3
  28. package/esm2022/circular-progress/lib/circular-progress.component.mjs +45 -114
  29. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +23 -1
  30. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +18 -1
  31. package/esm2022/data-pager/lib/data-pager.component.mjs +109 -1
  32. package/esm2022/data-table/lib/columns/data-text-column.component.mjs +32 -1
  33. package/esm2022/data-table/lib/columns/row-command-column.component.mjs +63 -1
  34. package/esm2022/data-table/lib/columns/row-index-column.component.mjs +40 -1
  35. package/esm2022/data-table/lib/columns/row-select-column.component.mjs +39 -1
  36. package/esm2022/data-table/lib/data-table/data-table.component.mjs +183 -1
  37. package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +159 -1
  38. package/esm2022/datetime-box/lib/datetime-box.component.mjs +51 -2
  39. package/esm2022/datetime-input/lib/datetime-input.component.mjs +122 -1
  40. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +90 -1
  41. package/esm2022/decorators/lib/components/clear-button.component.mjs +26 -1
  42. package/esm2022/decorators/lib/components/close-button.component.mjs +23 -1
  43. package/esm2022/decorators/lib/components/generic-content.component.mjs +5 -1
  44. package/esm2022/decorators/lib/components/icon.component.mjs +13 -1
  45. package/esm2022/dialog/lib/dialog.component.mjs +18 -1
  46. package/esm2022/drawer/lib/drawer-container.component.mjs +8 -1
  47. package/esm2022/drawer/lib/drawer.component.mjs +102 -1
  48. package/esm2022/dropdown/lib/dropdown-box.component.mjs +58 -1
  49. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +77 -1
  50. package/esm2022/dropdown-button/lib/dropdown-button.component.mjs +36 -1
  51. package/esm2022/form/lib/form-field.component.mjs +40 -1
  52. package/esm2022/form/lib/form.component.mjs +59 -1
  53. package/esm2022/form/lib/validation-summary.component.mjs +41 -1
  54. package/esm2022/image/lib/image.component.mjs +47 -1
  55. package/esm2022/label/lib/label.component.mjs +32 -1
  56. package/esm2022/list/lib/list.component.mjs +84 -1
  57. package/esm2022/loading/lib/loading-spinner.component.mjs +17 -1
  58. package/esm2022/loading/lib/loading.component.mjs +27 -1
  59. package/esm2022/popup/lib/popup.component.mjs +2 -2
  60. package/esm2022/progress-bar/lib/progress-bar.component.mjs +1 -1
  61. package/esm2022/uploader/index.mjs +5 -5
  62. package/esm2022/uploader/lib/{uploader-dialog-container.component.mjs → uploader-dialog-container/uploader-dialog-container.component.mjs} +2 -2
  63. package/esm2022/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.mjs +27 -0
  64. package/esm2022/uploader/lib/uploader-list/uploader-list.component.mjs +26 -0
  65. package/esm2022/uploader/lib/uploader-zone.directive.mjs +23 -16
  66. package/esm2022/uploader/lib/uploader.models.mjs +6 -1
  67. package/esm2022/uploader/lib/uploader.module.mjs +18 -13
  68. package/esm2022/uploader/lib/uploader.service.mjs +14 -7
  69. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +50 -10
  70. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.mjs +8 -16
  71. package/fesm2022/acorex-components-audio-wave.mjs +5 -0
  72. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  73. package/fesm2022/acorex-components-button-group.mjs +5 -2
  74. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  75. package/fesm2022/acorex-components-circular-progress.mjs +44 -113
  76. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  77. package/fesm2022/acorex-components-data-pager.mjs +147 -0
  78. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  79. package/fesm2022/acorex-components-data-table.mjs +510 -0
  80. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  81. package/fesm2022/acorex-components-datetime-box.mjs +50 -1
  82. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  83. package/fesm2022/acorex-components-datetime-input.mjs +121 -0
  84. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  85. package/fesm2022/acorex-components-datetime-picker.mjs +89 -0
  86. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  87. package/fesm2022/acorex-components-decorators.mjs +63 -0
  88. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  89. package/fesm2022/acorex-components-dialog.mjs +17 -0
  90. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  91. package/fesm2022/acorex-components-drawer.mjs +108 -0
  92. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  93. package/fesm2022/acorex-components-dropdown-button.mjs +35 -0
  94. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  95. package/fesm2022/acorex-components-dropdown.mjs +133 -0
  96. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  97. package/fesm2022/acorex-components-form.mjs +137 -0
  98. package/fesm2022/acorex-components-form.mjs.map +1 -1
  99. package/fesm2022/acorex-components-image.mjs +46 -0
  100. package/fesm2022/acorex-components-image.mjs.map +1 -1
  101. package/fesm2022/acorex-components-label.mjs +31 -0
  102. package/fesm2022/acorex-components-label.mjs.map +1 -1
  103. package/fesm2022/acorex-components-list.mjs +83 -0
  104. package/fesm2022/acorex-components-list.mjs.map +1 -1
  105. package/fesm2022/acorex-components-loading.mjs +42 -0
  106. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  107. package/fesm2022/acorex-components-popup.mjs +1 -1
  108. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  109. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  110. package/fesm2022/acorex-components-uploader.mjs +63 -32
  111. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  112. package/fesm2022/acorex-components-wysiwyg.mjs +55 -25
  113. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  114. package/form/lib/form-field.component.d.ts +45 -0
  115. package/form/lib/form.component.d.ts +58 -0
  116. package/form/lib/validation-summary.component.d.ts +49 -0
  117. package/image/lib/image.component.d.ts +61 -0
  118. package/label/lib/label.component.d.ts +34 -0
  119. package/list/lib/list.component.d.ts +98 -0
  120. package/loading/lib/loading-spinner.component.d.ts +20 -0
  121. package/loading/lib/loading.component.d.ts +35 -0
  122. package/package.json +66 -66
  123. package/progress-bar/lib/progress-bar.component.d.ts +0 -1
  124. package/uploader/index.d.ts +4 -4
  125. package/uploader/lib/{uploader-drop-zone.component.d.ts → uploader-drop-zone/uploader-drop-zone.component.d.ts} +3 -1
  126. package/uploader/lib/{uploader-list.component.d.ts → uploader-list/uploader-list.component.d.ts} +1 -1
  127. package/uploader/lib/uploader-zone.directive.d.ts +1 -0
  128. package/uploader/lib/uploader.models.d.ts +5 -0
  129. package/uploader/lib/uploader.module.d.ts +4 -4
  130. package/uploader/lib/uploader.service.d.ts +2 -1
  131. package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +16 -3
  132. package/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.d.ts +3 -4
  133. package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +0 -18
  134. package/esm2022/uploader/lib/uploader-list.component.mjs +0 -26
  135. /package/uploader/lib/{uploader-dialog-container.component.d.ts → uploader-dialog-container/uploader-dialog-container.component.d.ts} +0 -0
@@ -12,16 +12,38 @@ import * as i5 from "./data-pager-numeric-selector.component";
12
12
  import * as i6 from "./data-pager-input-selector.component";
13
13
  import * as i7 from "./data-pager-info.component";
14
14
  import * as i8 from "@acorex/components/common";
15
+ /**
16
+ * Component for managing and displaying data pagination controls.
17
+ *
18
+ * @category Components
19
+ */
15
20
  export class AXDataPagerComponent extends MXValueComponent {
21
+ /**
22
+ * Indicates whether the component is currently loading.
23
+ *
24
+ */
16
25
  get isLoading() {
17
26
  return this._isLoading();
18
27
  }
28
+ /**
29
+ * Sets the loading state of the component.
30
+ *
31
+ * @param v - The loading state to be set.
32
+ */
19
33
  set isLoading(v) {
20
34
  this._isLoading.set(v);
21
35
  }
36
+ /**
37
+ * Gets the number of items per page in the data pager.
38
+ */
22
39
  get size() {
23
40
  return this._size || 10;
24
41
  }
42
+ /**
43
+ * Sets the number of items per page and updates the data pager accordingly.
44
+ *
45
+ * @param {number} v - The new number of items per page.
46
+ */
25
47
  set size(v) {
26
48
  if (v != this._size) {
27
49
  const prevSize = this._size;
@@ -34,9 +56,18 @@ export class AXDataPagerComponent extends MXValueComponent {
34
56
  this._emitChangedEvent(prevSize != null ? true : false);
35
57
  }
36
58
  }
59
+ /**
60
+ * Gets the total number of items.
61
+ */
37
62
  get total() {
38
63
  return this._total;
39
64
  }
65
+ /**
66
+ * Sets the total number of items and triggers an update event if the value changes.
67
+ *
68
+ * @param v - The total number of items to set.
69
+ * If the value is non-positive, it defaults to 0.
70
+ */
40
71
  set total(v) {
41
72
  const t = v && v > 0 ? v : 0;
42
73
  if (t != this._total) {
@@ -44,15 +75,31 @@ export class AXDataPagerComponent extends MXValueComponent {
44
75
  this._emitChangedEvent();
45
76
  }
46
77
  }
78
+ /**
79
+ * Gets the total number of pages.
80
+ */
47
81
  get totalPages() {
48
82
  return this._totalPages;
49
83
  }
84
+ /**
85
+ * Sets the total number of pages.
86
+ *
87
+ * @param value - The total number of pages to set.
88
+ */
50
89
  set totalPages(value) {
51
90
  this._totalPages = value;
52
91
  }
92
+ /**
93
+ * Gets the current display mode of the data pager.
94
+ */
53
95
  get displayMode() {
54
96
  return this._displayMode;
55
97
  }
98
+ /**
99
+ * Sets the display mode of the data pager and emits a change event.
100
+ *
101
+ * @param v - The new display mode to set, of type `AXDataPagerMode`.
102
+ */
56
103
  set displayMode(v) {
57
104
  this.setOption({
58
105
  name: 'displayMode',
@@ -62,15 +109,43 @@ export class AXDataPagerComponent extends MXValueComponent {
62
109
  },
63
110
  });
64
111
  }
112
+ /**
113
+ * @ignore
114
+ */
65
115
  constructor(_parent) {
66
116
  super();
67
117
  this._parent = _parent;
118
+ /**
119
+ * @ignore
120
+ */
68
121
  this._isLoading = signal(false);
122
+ /**
123
+ * @ignore
124
+ */
69
125
  this._size = null;
126
+ /**
127
+ * @ignore
128
+ */
70
129
  this._total = 0;
130
+ /**
131
+ * @ignore
132
+ */
71
133
  this._totalPages = 0;
134
+ /**
135
+ * Emitted when the display mode changes.
136
+ * @event
137
+ * An event containing the new display mode.
138
+ */
72
139
  this.displayModeChange = new EventEmitter();
140
+ /**
141
+ * @ignore
142
+ */
73
143
  this._displayMode = 'full';
144
+ /**
145
+ * Emitted when the data pager's state changes.
146
+ * @event
147
+ * An event containing details about the change.
148
+ */
74
149
  this.onChanged = new EventEmitter();
75
150
  //
76
151
  if (this._parent) {
@@ -83,12 +158,21 @@ export class AXDataPagerComponent extends MXValueComponent {
83
158
  this.total = this._parent.totalCount;
84
159
  }
85
160
  }
161
+ /**
162
+ * @ignore
163
+ */
86
164
  ngAfterViewInit() {
87
165
  this._emitChangedEvent();
88
166
  }
167
+ /**
168
+ * @ignore
169
+ */
89
170
  internalValueChanged(value) {
90
171
  this._emitChangedEvent(true);
91
172
  }
173
+ /**
174
+ * @ignore
175
+ */
92
176
  internalGetValue(value) {
93
177
  if (!isNumber(value) || !value || this.totalPages == 0)
94
178
  return 1;
@@ -109,6 +193,9 @@ export class AXDataPagerComponent extends MXValueComponent {
109
193
  };
110
194
  return result;
111
195
  }
196
+ /**
197
+ * @ignore
198
+ */
112
199
  _emitChangedEvent(u = false) {
113
200
  this.totalPages = Math.ceil(this._total / this.size);
114
201
  //
@@ -126,18 +213,39 @@ export class AXDataPagerComponent extends MXValueComponent {
126
213
  this.cdr.markForCheck();
127
214
  }
128
215
  }
216
+ /**
217
+ * Navigates to the next page, or to the last page if on the final page.
218
+ * @ignore
219
+ */
129
220
  goNextPage() {
130
221
  this.goToPage(Math.min(this.value + 1, this.totalPages));
131
222
  }
223
+ /**
224
+ * Navigates to the last page.
225
+ * @ignore
226
+ */
132
227
  goLastPage() {
133
228
  this.goToPage(this.totalPages);
134
229
  }
230
+ /**
231
+ * Navigates to the first page.
232
+ * @ignore
233
+ */
135
234
  goFirstPage() {
136
235
  this.goToPage(1);
137
236
  }
237
+ /**
238
+ * Navigates to the previous page, or to the first page if on the initial page.
239
+ * @ignore
240
+ */
138
241
  goPrevPage() {
139
242
  this.goToPage(Math.max(this.value - 1, 1));
140
243
  }
244
+ /**
245
+ * Navigates to a specified page.
246
+ * @param page - The page number to navigate to.
247
+ * @ignore
248
+ */
141
249
  goToPage(page) {
142
250
  if (page != this.value) {
143
251
  this.commitValue(page, true);
@@ -181,4 +289,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
181
289
  }], onChanged: [{
182
290
  type: Output
183
291
  }] } });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wYWdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1wYWdlci9zcmMvbGliL2RhdGEtcGFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtcGFnZXIvc3JjL2xpYi9kYXRhLXBhZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9FLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXpELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBNEMsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7OztBQXFCbkgsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUF3QjtJQUVoRSxJQUNXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQVcsU0FBUyxDQUFDLENBQVU7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQ1csSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLENBQVM7UUFDdkIsSUFBSSxD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S0FBSztnQkFTSyxJQUFJO3NCQURkLEtBQUs7Z0JBbUJLLEtBQUs7c0JBRGYsS0FBSztnQkF1QkMsaUJBQWlCO3NCQUR2QixNQUFNO2dCQUtJLFdBQVc7c0JBRHJCLEtBQUs7Z0JBZU4sU0FBUztzQkFEUixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQYWdlZENvbXBvbmVudCwgTVhWYWx1ZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgaXNFcXVhbCwgaXNOdW1iZXIgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYRGF0YVBhZ2VyQ2hhbmdlZEV2ZW50LCBBWERhdGFQYWdlckRhdGEsIEFYRGF0YVBhZ2VyUGFyZW50Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXBhZ2VyLWJhc2UuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgQVhEYXRhUGFnZXJNb2RlID0gJ2Z1bGwnIHwgJ2NvbXBhY3QnIHwgJ2N1c3RvbSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWRhdGEtcGFnZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1wYWdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtcGFnZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgaW5wdXRzOiBbJ3ZhbHVlJywgJ25hbWUnLCAnZGlzYWJsZWQnLCAncmVhZG9ubHknXSxcbiAgb3V0cHV0czogWyd2YWx1ZUNoYW5nZScsICdvblZhbHVlQ2hhbmdlZCcsICdkaXNhYmxlZENoYW5nZScsICdyZWFkb25seUNoYW5nZSddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWERhdGFQYWdlclBhcmVudENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYRGF0YVBhZ2VyQ29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWERhdGFQYWdlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWERhdGFQYWdlckNvbXBvbmVudCBleHRlbmRzIE1YVmFsdWVDb21wb25lbnQ8bnVtYmVyPiB7XG4gIHByaXZhdGUgX2lzTG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0xvYWRpbmcoKTtcbiAgfVxuICBwdWJsaWMgc2V0IGlzTG9hZGluZyh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNMb2FkaW5nLnNldCh2KTtcbiAgfVxuICBwcml2YXRlIF9zaXplID0gbnVsbDtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemUgfHwgMTA7XG4gIH1cbiAgcHVibGljIHNldCBzaXplKHY6IG51bWJlcikge1xuICAgIGlmICh2ICE9IHRoaXMuX3NpemUpIHtcbiAgICAgIGNvbnN0IHByZXZTaXplID0gdGhpcy5fc2l6ZTtcbiAgICAgIHRoaXMuX3NpemUgPSB2O1xuICAgICAgaWYgKHRoaXMuX3BhcmVudCkge1xuICAgICAgICB0aGlzLl9wYXJlbnQucGFnZVNpemUgPSB2O1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGFnZSA9IE1hdGguY2VpbCh0aGlzLmRpc3BsYXlJbmZvLnJhbmdlLmZyb20gLyB0aGlzLl9zaXplKSB8fCAxO1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShuZXdQYWdlKTtcbiAgICAgIHRoaXMuX2VtaXRDaGFuZ2VkRXZlbnQocHJldlNpemUgIT0gbnVsbCA/IHRydWUgOiBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdG90YWwgPSAwO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHRvdGFsKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsO1xuICB9XG4gIHB1YmxpYyBzZXQgdG90YWwodjogbnVtYmVyKSB7XG4gICAgY29uc3QgdCA9IHYgJiYgdiA+IDAgPyB2IDogMDtcbiAgICBpZiAodCAhPSB0aGlzLl90b3RhbCkge1xuICAgICAgdGhpcy5fdG90YWwgPSB0O1xuICAgICAgdGhpcy5fZW1pdENoYW5nZWRFdmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3RvdGFsUGFnZXMgPSAwO1xuXG4gIHB1YmxpYyBnZXQgdG90YWxQYWdlcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl90b3RhbFBhZ2VzO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXQgdG90YWxQYWdlcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fdG90YWxQYWdlcyA9IHZhbHVlO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkaXNwbGF5TW9kZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwcml2YXRlIF9kaXNwbGF5TW9kZTogQVhEYXRhUGFnZXJNb2RlID0gJ2Z1bGwnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGRpc3BsYXlNb2RlKCk6IEFYRGF0YVBhZ2VyTW9kZSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlNb2RlO1xuICB9XG4gIHB1YmxpYyBzZXQgZGlzcGxheU1vZGUodjogQVhEYXRhUGFnZXJNb2RlKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ2Rpc3BsYXlNb2RlJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlZEV2ZW50KCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIG9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYRGF0YVBhZ2VyQ2hhbmdlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhEYXRhUGFnZXJDaGFuZ2VkRXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KEFYUGFnZWRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSBfcGFyZW50OiBBWFBhZ2VkQ29tcG9uZW50LFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIC8vXG4gICAgaWYgKHRoaXMuX3BhcmVudCkge1xuICAgICAgdGhpcy5fcGFyZW50Lm9uUGFnZUNoYW5nZWQuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHRoaXMuX3BhcmVudC5wYWdlU2l6ZTtcbiAgICAgICAgdGhpcy50b3RhbCA9IHRoaXMuX3BhcmVudC50b3RhbENvdW50O1xuICAgICAgICB0aGlzLnZhbHVlID0gYy52YWx1ZTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5zaXplID0gdGhpcy5fcGFyZW50LnBhZ2VTaXplO1xuICAgICAgdGhpcy50b3RhbCA9IHRoaXMuX3BhcmVudC50b3RhbENvdW50O1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLl9lbWl0Q2hhbmdlZEV2ZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW50ZXJuYWxWYWx1ZUNoYW5nZWQodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX2VtaXRDaGFuZ2VkRXZlbnQodHJ1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW50ZXJuYWxHZXRWYWx1ZSh2YWx1ZTogYW55KTogbnVtYmVyIHtcbiAgICBpZiAoIWlzTnVtYmVyKHZhbHVlKSB8fCAhdmFsdWUgfHwgdGhpcy50b3RhbFBhZ2VzID09IDApIHJldHVybiAxO1xuICAgIHJldHVybiB2YWx1ZSA+IHRoaXMudG90YWxQYWdlcyA/IHRoaXMudG90YWxQYWdlcyA6IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmV2aW91c0Rpc3BsYXlJbmZvOiBBWERhdGFQYWdlckRhdGEgfCBudWxsO1xuXG4gIHB1YmxpYyBnZXQgZGlzcGxheUluZm8oKTogQVhEYXRhUGFnZXJEYXRhIHtcbiAgICBjb25zdCBza2lwID0gTWF0aC5tYXgoMCwgKHRoaXMudmFsdWUgLSAxKSAqIHRoaXMuc2l6ZSk7XG4gICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgcGFnZTogdGhpcy52YWx1ZSxcbiAgICAgIHRvdGFsSXRlbXM6IHRoaXMudG90YWwsXG4gICAgICB0b3RhbFBhZ2VzOiB0aGlzLnRvdGFsUGFnZXMsXG4gICAgICByYW5nZToge1xuICAgICAgICBmcm9tOiBza2lwICsgMSxcbiAgICAgICAgdG86IE1hdGgubWluKHRoaXMudmFsdWUgKiB0aGlzLnNpemUsIHRoaXMudG90YWwpLFxuICAgICAgfSxcbiAgICAgIHNraXAsXG4gICAgICB0YWtlOiB0aGlzLnNpemUsXG4gICAgfTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdENoYW5nZWRFdmVudCh1ID0gZmFsc2UpOiB2b2lkIHtcbiAgICB0aGlzLnRvdGFsUGFnZXMgPSBNYXRoLmNlaWwodGhpcy5fdG90YWwgLyB0aGlzLnNpemUpO1xuICAgIC8vXG4gICAgaWYgKCFpc0VxdWFsKHRoaXMucHJldmlvdXNEaXNwbGF5SW5mbywgdGhpcy5kaXNwbGF5SW5mbykpIHtcbiAgICAgIHRoaXMub25DaGFuZ2VkLmVtaXQoXG4gICAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAge1xuICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHUsXG4gICAgICAgICAgICBodG1sRWxlbWVudDogdGhpcy5nZXRIb3N0RWxlbWVudCgpLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGhpcy5kaXNwbGF5SW5mbyxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgICBpZiAodGhpcy50b3RhbFBhZ2VzID4gMCkgdGhpcy5fcGFyZW50Py5nb1RvUGFnZSh0aGlzLnZhbHVlKTtcbiAgICAgIC8vXG4gICAgICB0aGlzLnByZXZpb3VzRGlzcGxheUluZm8gPSBjbG9uZURlZXAodGhpcy5kaXNwbGF5SW5mbyk7XG4gICAgICAvL1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgZ29OZXh0UGFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLmdvVG9QYWdlKE1hdGgubWluKHRoaXMudmFsdWUgKyAxLCB0aGlzLnRvdGFsUGFnZXMpKTtcbiAgfVxuXG4gIGdvTGFzdFBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5nb1RvUGFnZSh0aGlzLnRvdGFsUGFnZXMpO1xuICB9XG5cbiAgZ29GaXJzdFBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5nb1RvUGFnZSgxKTtcbiAgfVxuXG4gIGdvUHJldlBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5nb1RvUGFnZShNYXRoLm1heCh0aGlzLnZhbHVlIC0gMSwgMSkpO1xuICB9XG5cbiAgZ29Ub1BhZ2UocGFnZTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHBhZ2UgIT0gdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShwYWdlLCB0cnVlKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBzd2l0Y2goZGlzcGxheU1vZGUpe1xuQGNhc2UoJ2Z1bGwnKXtcbjxheC1wcmVmaXg+XG4gICAgPGF4LWRhdGEtcGFnZXItbnVtZXJpYy1zZWxlY3Rvcj5cbiAgICA8L2F4LWRhdGEtcGFnZXItbnVtZXJpYy1zZWxlY3Rvcj5cbiAgICA8YXgtZGF0YS1wYWdlci1wYWdlLXNpemVzPlxuICAgIDwvYXgtZGF0YS1wYWdlci1wYWdlLXNpemVzPlxuPC9heC1wcmVmaXg+XG48YXgtc3VmZml4PlxuICAgIDxheC1kYXRhLXBhZ2VyLWluZm8+XG4gICAgPC9heC1kYXRhLXBhZ2VyLWluZm8+XG48L2F4LXN1ZmZpeD5cbn1cbkBjYXNlKCdjb21wYWN0Jyl7XG48YXgtcHJlZml4PlxuICAgIDxheC1kYXRhLXBhZ2VyLXByZXYtYnV0dG9ucz5cbiAgICA8L2F4LWRhdGEtcGFnZXItcHJldi1idXR0b25zPlxuICAgIDxheC1kYXRhLXBhZ2VyLWlucHV0LXNlbGVjdG9yPlxuICAgIDwvYXgtZGF0YS1wYWdlci1pbnB1dC1zZWxlY3Rvcj5cbiAgICA8YXgtZGF0YS1wYWdlci1uZXh0LWJ1dHRvbnM+XG4gICAgPC9heC1kYXRhLXBhZ2VyLW5leHQtYnV0dG9ucz5cbjwvYXgtcHJlZml4PlxuPGF4LXN1ZmZpeD5cbiAgICA8YXgtZGF0YS1wYWdlci1pbmZvPlxuICAgIDwvYXgtZGF0YS1wYWdlci1pbmZvPlxuPC9heC1zdWZmaXg+XG59XG5AZGVmYXVsdHtcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPjwvbmctY29udGVudD5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPjwvbmctY29udGVudD5cbn1cbn0iXX0=
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wYWdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1wYWdlci9zcmMvbGliL2RhdGEtcGFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtcGFnZXIvc3JjL2xpYi9kYXRhLXBhZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9FLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXpELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBNEMsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7OztBQUluSDs7OztHQUlHO0FBa0JILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBd0I7SUFNaEU7OztPQUdHO0lBQ0gsSUFDVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBVyxTQUFTLENBQUMsQ0FBVTtRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBT0Q7O09BRUc7SUFDSCxJQUNXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBVyxJQUFJLENBQUMsQ0FBUztRQUN2QixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNmLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7WUFDNUIsQ0FBQztZQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0gsQ0FBQztJQU9EOztPQUVHO0lBQ0gsSUFDVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQVcsS0FBSyxDQUFDLENBQVM7UUFDeEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQU9EOztPQUVHO0lBQ0gsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQVksVUFBVSxDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQWVEOztPQUVHO0lBQ0gsSUFDVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQVcsV0FBVyxDQUFDLENBQWtCO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsYUFBYTtZQUNuQixLQUFLLEVBQUUsQ0FBQztZQUNSLGFBQWEsRUFBRSxHQUFHLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBVUQ7O09BRUc7SUFDSCxZQUdVLE9BQXlCO1FBRWpDLEtBQUssRUFBRSxDQUFDO1FBRkEsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUF4Sm5DOztXQUVHO1FBQ0ssZUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQW9CbkM7O1dBRUc7UUFDSyxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBNEJyQjs7V0FFRztRQUNLLFdBQU0sR0FBRyxDQUFDLENBQUM7UUF3Qm5COztXQUVHO1FBQ0ssZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFrQnhCOzs7O1dBSUc7UUFFSSxzQkFBaUIsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUU1RTs7V0FFRztRQUNLLGlCQUFZLEdBQW9CLE1BQU0sQ0FBQztRQXlCL0M7Ozs7V0FJRztRQUVILGNBQVMsR0FBMEMsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFXN0YsRUFBRTtRQUNGLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDdkIsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWU7UUFDYixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDZ0Isb0JBQW9CLENBQUMsS0FBVTtRQUNoRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ2dCLGdCQUFnQixDQUFDLEtBQVU7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUM7WUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRSxPQUFPLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDM0QsQ0FBQztJQU9ELElBQVcsV0FBVztRQUNwQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sTUFBTSxHQUFHO1lBQ2IsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2hCLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSztZQUN0QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxJQUFJLEdBQUcsQ0FBQztnQkFDZCxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUNqRDtZQUNELElBQUk7WUFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNLLGlCQUFpQixDQUFDLENBQUMsR0FBRyxLQUFLO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxFQUFFO1FBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ2pCLE1BQU0sQ0FBQyxNQUFNLENBQ1g7Z0JBQ0UsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsaUJBQWlCLEVBQUUsQ0FBQztnQkFDcEIsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUU7YUFDbkMsRUFDRCxJQUFJLENBQUMsV0FBVyxDQUNqQixDQUNGLENBQUM7WUFDRixJQUFJLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQztnQkFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUQsRUFBRTtZQUNGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZELEVBQUU7WUFDRixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBRUgsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLElBQVk7UUFDbkIsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDOzhHQXJSVSxvQkFBb0Isa0JBd0pyQixnQkFBZ0I7a0dBeEpmLG9CQUFvQiwrWkFUcEI7WUFDVCxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUU7WUFDMUU7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDbkQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQ3hDSCx3dUJBK0JDOzsyRkRXWSxvQkFBb0I7a0JBakJoQyxTQUFTOytCQUNFLGVBQWUsVUFHakIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsV0FDeEMsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsbUJBQzdELHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyxzQkFBc0IsRUFBRTt3QkFDMUU7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzswQkF5SkUsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxnQkFBZ0I7eUNBN0lmLFNBQVM7c0JBRG5CLEtBQUs7Z0JBdUJLLElBQUk7c0JBRGQsS0FBSztnQkFnQ0ssS0FBSztzQkFEZixLQUFLO2dCQThDQyxpQkFBaUI7c0JBRHZCLE1BQU07Z0JBWUksV0FBVztzQkFEckIsS0FBSztnQkEwQk4sU0FBUztzQkFEUixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQYWdlZENvbXBvbmVudCwgTVhWYWx1ZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgaXNFcXVhbCwgaXNOdW1iZXIgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYRGF0YVBhZ2VyQ2hhbmdlZEV2ZW50LCBBWERhdGFQYWdlckRhdGEsIEFYRGF0YVBhZ2VyUGFyZW50Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXBhZ2VyLWJhc2UuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgQVhEYXRhUGFnZXJNb2RlID0gJ2Z1bGwnIHwgJ2NvbXBhY3QnIHwgJ2N1c3RvbSc7XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBtYW5hZ2luZyBhbmQgZGlzcGxheWluZyBkYXRhIHBhZ2luYXRpb24gY29udHJvbHMuXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtZGF0YS1wYWdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXBhZ2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS1wYWdlci5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFsndmFsdWUnLCAnbmFtZScsICdkaXNhYmxlZCcsICdyZWFkb25seSddLFxuICBvdXRwdXRzOiBbJ3ZhbHVlQ2hhbmdlJywgJ29uVmFsdWVDaGFuZ2VkJywgJ2Rpc2FibGVkQ2hhbmdlJywgJ3JlYWRvbmx5Q2hhbmdlJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYRGF0YVBhZ2VyUGFyZW50Q29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhEYXRhUGFnZXJDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYRGF0YVBhZ2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYRGF0YVBhZ2VyQ29tcG9uZW50IGV4dGVuZHMgTVhWYWx1ZUNvbXBvbmVudDxudW1iZXI+IHtcbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIF9pc0xvYWRpbmcgPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY29tcG9uZW50IGlzIGN1cnJlbnRseSBsb2FkaW5nLlxuICAgKlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBpc0xvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzTG9hZGluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGxvYWRpbmcgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHYgLSBUaGUgbG9hZGluZyBzdGF0ZSB0byBiZSBzZXQuXG4gICAqL1xuICBwdWJsaWMgc2V0IGlzTG9hZGluZyh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNMb2FkaW5nLnNldCh2KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfc2l6ZSA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIG51bWJlciBvZiBpdGVtcyBwZXIgcGFnZSBpbiB0aGUgZGF0YSBwYWdlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgc2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zaXplIHx8IDEwO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG51bWJlciBvZiBpdGVtcyBwZXIgcGFnZSBhbmQgdXBkYXRlcyB0aGUgZGF0YSBwYWdlciBhY2NvcmRpbmdseS5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHYgLSBUaGUgbmV3IG51bWJlciBvZiBpdGVtcyBwZXIgcGFnZS5cbiAgICovXG4gIHB1YmxpYyBzZXQgc2l6ZSh2OiBudW1iZXIpIHtcbiAgICBpZiAodiAhPSB0aGlzLl9zaXplKSB7XG4gICAgICBjb25zdCBwcmV2U2l6ZSA9IHRoaXMuX3NpemU7XG4gICAgICB0aGlzLl9zaXplID0gdjtcbiAgICAgIGlmICh0aGlzLl9wYXJlbnQpIHtcbiAgICAgICAgdGhpcy5fcGFyZW50LnBhZ2VTaXplID0gdjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld1BhZ2UgPSBNYXRoLmNlaWwodGhpcy5kaXNwbGF5SW5mby5yYW5nZS5mcm9tIC8gdGhpcy5fc2l6ZSkgfHwgMTtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUobmV3UGFnZSk7XG4gICAgICB0aGlzLl9lbWl0Q2hhbmdlZEV2ZW50KHByZXZTaXplICE9IG51bGwgPyB0cnVlIDogZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfdG90YWwgPSAwO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0b3RhbCBudW1iZXIgb2YgaXRlbXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHRvdGFsKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHRvdGFsIG51bWJlciBvZiBpdGVtcyBhbmQgdHJpZ2dlcnMgYW4gdXBkYXRlIGV2ZW50IGlmIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICAgKlxuICAgKiBAcGFyYW0gdiAtIFRoZSB0b3RhbCBudW1iZXIgb2YgaXRlbXMgdG8gc2V0LlxuICAgKiAgICAgICAgICAgICAgICAgICAgIElmIHRoZSB2YWx1ZSBpcyBub24tcG9zaXRpdmUsIGl0IGRlZmF1bHRzIHRvIDAuXG4gICAqL1xuICBwdWJsaWMgc2V0IHRvdGFsKHY6IG51bWJlcikge1xuICAgIGNvbnN0IHQgPSB2ICYmIHYgPiAwID8gdiA6IDA7XG4gICAgaWYgKHQgIT0gdGhpcy5fdG90YWwpIHtcbiAgICAgIHRoaXMuX3RvdGFsID0gdDtcbiAgICAgIHRoaXMuX2VtaXRDaGFuZ2VkRXZlbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgX3RvdGFsUGFnZXMgPSAwO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFnZXMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHRvdGFsUGFnZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fdG90YWxQYWdlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFnZXMuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB0b3RhbCBudW1iZXIgb2YgcGFnZXMgdG8gc2V0LlxuICAgKi9cbiAgcHJpdmF0ZSBzZXQgdG90YWxQYWdlcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fdG90YWxQYWdlcyA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgZGlzcGxheSBtb2RlIGNoYW5nZXMuXG4gICAqIEBldmVudFxuICAgKiBBbiBldmVudCBjb250YWluaW5nIHRoZSBuZXcgZGlzcGxheSBtb2RlLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkaXNwbGF5TW9kZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgX2Rpc3BsYXlNb2RlOiBBWERhdGFQYWdlck1vZGUgPSAnZnVsbCc7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnQgZGlzcGxheSBtb2RlIG9mIHRoZSBkYXRhIHBhZ2VyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBkaXNwbGF5TW9kZSgpOiBBWERhdGFQYWdlck1vZGUge1xuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5TW9kZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkaXNwbGF5IG1vZGUgb2YgdGhlIGRhdGEgcGFnZXIgYW5kIGVtaXRzIGEgY2hhbmdlIGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gdiAtIFRoZSBuZXcgZGlzcGxheSBtb2RlIHRvIHNldCwgb2YgdHlwZSBgQVhEYXRhUGFnZXJNb2RlYC5cbiAgICovXG4gIHB1YmxpYyBzZXQgZGlzcGxheU1vZGUodjogQVhEYXRhUGFnZXJNb2RlKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ2Rpc3BsYXlNb2RlJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlZEV2ZW50KCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgZGF0YSBwYWdlcidzIHN0YXRlIGNoYW5nZXMuXG4gICAqIEBldmVudFxuICAgKiBBbiBldmVudCBjb250YWluaW5nIGRldGFpbHMgYWJvdXQgdGhlIGNoYW5nZS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWERhdGFQYWdlckNoYW5nZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRGF0YVBhZ2VyQ2hhbmdlZEV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KEFYUGFnZWRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSBfcGFyZW50OiBBWFBhZ2VkQ29tcG9uZW50LFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIC8vXG4gICAgaWYgKHRoaXMuX3BhcmVudCkge1xuICAgICAgdGhpcy5fcGFyZW50Lm9uUGFnZUNoYW5nZWQuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHRoaXMuX3BhcmVudC5wYWdlU2l6ZTtcbiAgICAgICAgdGhpcy50b3RhbCA9IHRoaXMuX3BhcmVudC50b3RhbENvdW50O1xuICAgICAgICB0aGlzLnZhbHVlID0gYy52YWx1ZTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5zaXplID0gdGhpcy5fcGFyZW50LnBhZ2VTaXplO1xuICAgICAgdGhpcy50b3RhbCA9IHRoaXMuX3BhcmVudC50b3RhbENvdW50O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuX2VtaXRDaGFuZ2VkRXZlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGludGVybmFsVmFsdWVDaGFuZ2VkKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9lbWl0Q2hhbmdlZEV2ZW50KHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW50ZXJuYWxHZXRWYWx1ZSh2YWx1ZTogYW55KTogbnVtYmVyIHtcbiAgICBpZiAoIWlzTnVtYmVyKHZhbHVlKSB8fCAhdmFsdWUgfHwgdGhpcy50b3RhbFBhZ2VzID09IDApIHJldHVybiAxO1xuICAgIHJldHVybiB2YWx1ZSA+IHRoaXMudG90YWxQYWdlcyA/IHRoaXMudG90YWxQYWdlcyA6IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIHByZXZpb3VzRGlzcGxheUluZm86IEFYRGF0YVBhZ2VyRGF0YSB8IG51bGw7XG5cbiAgcHVibGljIGdldCBkaXNwbGF5SW5mbygpOiBBWERhdGFQYWdlckRhdGEge1xuICAgIGNvbnN0IHNraXAgPSBNYXRoLm1heCgwLCAodGhpcy52YWx1ZSAtIDEpICogdGhpcy5zaXplKTtcbiAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICBwYWdlOiB0aGlzLnZhbHVlLFxuICAgICAgdG90YWxJdGVtczogdGhpcy50b3RhbCxcbiAgICAgIHRvdGFsUGFnZXM6IHRoaXMudG90YWxQYWdlcyxcbiAgICAgIHJhbmdlOiB7XG4gICAgICAgIGZyb206IHNraXAgKyAxLFxuICAgICAgICB0bzogTWF0aC5taW4odGhpcy52YWx1ZSAqIHRoaXMuc2l6ZSwgdGhpcy50b3RhbCksXG4gICAgICB9LFxuICAgICAgc2tpcCxcbiAgICAgIHRha2U6IHRoaXMuc2l6ZSxcbiAgICB9O1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgX2VtaXRDaGFuZ2VkRXZlbnQodSA9IGZhbHNlKTogdm9pZCB7XG4gICAgdGhpcy50b3RhbFBhZ2VzID0gTWF0aC5jZWlsKHRoaXMuX3RvdGFsIC8gdGhpcy5zaXplKTtcbiAgICAvL1xuICAgIGlmICghaXNFcXVhbCh0aGlzLnByZXZpb3VzRGlzcGxheUluZm8sIHRoaXMuZGlzcGxheUluZm8pKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlZC5lbWl0KFxuICAgICAgICBPYmplY3QuYXNzaWduKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiB1LFxuICAgICAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRoaXMuZGlzcGxheUluZm8sXG4gICAgICAgICksXG4gICAgICApO1xuICAgICAgaWYgKHRoaXMudG90YWxQYWdlcyA+IDApIHRoaXMuX3BhcmVudD8uZ29Ub1BhZ2UodGhpcy52YWx1ZSk7XG4gICAgICAvL1xuICAgICAgdGhpcy5wcmV2aW91c0Rpc3BsYXlJbmZvID0gY2xvbmVEZWVwKHRoaXMuZGlzcGxheUluZm8pO1xuICAgICAgLy9cbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBOYXZpZ2F0ZXMgdG8gdGhlIG5leHQgcGFnZSwgb3IgdG8gdGhlIGxhc3QgcGFnZSBpZiBvbiB0aGUgZmluYWwgcGFnZS5cbiAgICogQGlnbm9yZVxuICAgKi9cblxuICBnb05leHRQYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuZ29Ub1BhZ2UoTWF0aC5taW4odGhpcy52YWx1ZSArIDEsIHRoaXMudG90YWxQYWdlcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlcyB0byB0aGUgbGFzdCBwYWdlLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBnb0xhc3RQYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuZ29Ub1BhZ2UodGhpcy50b3RhbFBhZ2VzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOYXZpZ2F0ZXMgdG8gdGhlIGZpcnN0IHBhZ2UuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGdvRmlyc3RQYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuZ29Ub1BhZ2UoMSk7XG4gIH1cbiAgLyoqXG4gICAqIE5hdmlnYXRlcyB0byB0aGUgcHJldmlvdXMgcGFnZSwgb3IgdG8gdGhlIGZpcnN0IHBhZ2UgaWYgb24gdGhlIGluaXRpYWwgcGFnZS5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgZ29QcmV2UGFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLmdvVG9QYWdlKE1hdGgubWF4KHRoaXMudmFsdWUgLSAxLCAxKSk7XG4gIH1cblxuICAvKipcbiAgICogTmF2aWdhdGVzIHRvIGEgc3BlY2lmaWVkIHBhZ2UuXG4gICAqIEBwYXJhbSBwYWdlIC0gVGhlIHBhZ2UgbnVtYmVyIHRvIG5hdmlnYXRlIHRvLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBnb1RvUGFnZShwYWdlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAocGFnZSAhPSB0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKHBhZ2UsIHRydWUpO1xuICAgIH1cbiAgfVxufVxuIiwiQHN3aXRjaChkaXNwbGF5TW9kZSl7XG5AY2FzZSgnZnVsbCcpe1xuPGF4LXByZWZpeD5cbiAgICA8YXgtZGF0YS1wYWdlci1udW1lcmljLXNlbGVjdG9yPlxuICAgIDwvYXgtZGF0YS1wYWdlci1udW1lcmljLXNlbGVjdG9yPlxuICAgIDxheC1kYXRhLXBhZ2VyLXBhZ2Utc2l6ZXM+XG4gICAgPC9heC1kYXRhLXBhZ2VyLXBhZ2Utc2l6ZXM+XG48L2F4LXByZWZpeD5cbjxheC1zdWZmaXg+XG4gICAgPGF4LWRhdGEtcGFnZXItaW5mbz5cbiAgICA8L2F4LWRhdGEtcGFnZXItaW5mbz5cbjwvYXgtc3VmZml4PlxufVxuQGNhc2UoJ2NvbXBhY3QnKXtcbjxheC1wcmVmaXg+XG4gICAgPGF4LWRhdGEtcGFnZXItcHJldi1idXR0b25zPlxuICAgIDwvYXgtZGF0YS1wYWdlci1wcmV2LWJ1dHRvbnM+XG4gICAgPGF4LWRhdGEtcGFnZXItaW5wdXQtc2VsZWN0b3I+XG4gICAgPC9heC1kYXRhLXBhZ2VyLWlucHV0LXNlbGVjdG9yPlxuICAgIDxheC1kYXRhLXBhZ2VyLW5leHQtYnV0dG9ucz5cbiAgICA8L2F4LWRhdGEtcGFnZXItbmV4dC1idXR0b25zPlxuPC9heC1wcmVmaXg+XG48YXgtc3VmZml4PlxuICAgIDxheC1kYXRhLXBhZ2VyLWluZm8+XG4gICAgPC9heC1kYXRhLXBhZ2VyLWluZm8+XG48L2F4LXN1ZmZpeD5cbn1cbkBkZWZhdWx0e1xuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+PC9uZy1jb250ZW50PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+PC9uZy1jb250ZW50PlxufVxufSJdfQ==
@@ -4,24 +4,55 @@ import { Memorize } from '@acorex/core/memorize';
4
4
  import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewChild, ViewEncapsulation, inject } from '@angular/core';
5
5
  import { AXDataTableColumnComponent } from './data-table-column';
6
6
  import * as i0 from "@angular/core";
7
+ /**
8
+ * Component for a text column in a data table, supporting header, cell, and footer templates.
9
+ *
10
+ * @category Components
11
+ */
7
12
  export class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {
8
13
  constructor() {
9
14
  super(...arguments);
15
+ /**
16
+ * Toggles text wrapping in the cell.
17
+ *
18
+ * @defaultValue false
19
+ */
10
20
  this.wrapText = false;
21
+ /**
22
+ * @ignore
23
+ */
11
24
  this.formatService = inject(AXFormatService);
12
25
  }
26
+ /**
27
+ * Returns the template used for rendering cells.
28
+ * Falls back to a default template if no custom template is provided.
29
+ */
13
30
  get renderCellTemplate() {
14
31
  return this.cellTemplate ?? this._contentCellTemplate;
15
32
  }
33
+ /**
34
+ * Returns the template used for rendering the column footer,
35
+ * falling back to a default if not provided.
36
+ */
16
37
  get renderFooterTemplate() {
17
38
  return this.footerTemplate ?? this._contentFooterTemplate;
18
39
  }
40
+ /**
41
+ * Retrieves the template used for rendering the column header.
42
+ * Falls back to a default template if none is provided.
43
+ */
19
44
  get renderHeaderTemplate() {
20
45
  return this.headerTemplate ?? this._contentHeaderTemplate;
21
46
  }
47
+ /**
48
+ * Indicates whether loading functionality is enabled.
49
+ */
22
50
  get loadingEnabled() {
23
51
  return true;
24
52
  }
53
+ /**
54
+ * Generates a unique name based on the `dataField` value.
55
+ */
25
56
  get name() {
26
57
  return `cl-${this.dataField}`;
27
58
  }
@@ -94,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
94
125
  }], formatOptions: [{
95
126
  type: Input
96
127
  }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10ZXh0LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2NvbHVtbnMvZGF0YS10ZXh0LWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBbUIsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQXFCakUsTUFBTSxPQUFPLDhCQUErQixTQUFRLDBCQUEwQjtJQW5COUU7O1FBd0JFLGFBQVEsR0FBRyxLQUFLLENBQUM7UUF3Q1Qsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7S0FhakQ7SUE3Q0MsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUN4RCxDQUFDO0lBUUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUM1RCxDQUFDO0lBUUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUtTLGNBQWMsQ0FBQyxPQUFnQixFQUFFLFNBQWlCO1FBQzFELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekcsQ0FBQzs4R0FuRFUsOEJBQThCO2tHQUE5Qiw4QkFBOEIseVdBUjlCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLDBCQUEwQjtnQkFDbkMsV0FBVyxFQUFFLDhCQUE4QjthQUM1QztTQUNGLHFXQWRTOzs7Ozs7R0FNVDs7QUEyRFM7SUFEVCxRQUFRLEVBQUU7Ozs7b0VBSVY7MkZBbkRVLDhCQUE4QjtrQkFuQjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFOzs7Ozs7R0FNVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsMEJBQTBCOzRCQUNuQyxXQUFXLGdDQUFnQzt5QkFDNUM7cUJBQ0Y7b0JBQ0QsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQztpQkFDdkU7OEJBR0MsU0FBUztzQkFEUixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlFLG9CQUFvQjtzQkFEM0IsU0FBUzt1QkFBQyxNQUFNO2dCQVFWLGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUUsc0JBQXNCO3NCQUQ3QixTQUFTO3VCQUFDLFFBQVE7Z0JBUVosY0FBYztzQkFEcEIsS0FBSztnQkFJRSxzQkFBc0I7c0JBRDdCLFNBQVM7dUJBQUMsUUFBUTtnQkFrQlQsY0FBYyxNQU14QixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhGb3JtYXRPcHRpb25zLCBBWEZvcm1hdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZm9ybWF0JztcbmltcG9ydCB7IE1lbW9yaXplIH0gZnJvbSAnQGFjb3JleC9jb3JlL21lbW9yaXplJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS10YWJsZS1jb2x1bW4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC10ZXh0LWNvbHVtbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+e3sgY2FwdGlvbiB9fTwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC1yb3c+XG4gICAgICB7eyBnZXREaXNwbGF5VGV4dChyb3cuZGF0YSwgdGhpcy5kYXRhRmllbGQpIH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2Zvb3Rlcj48L25nLXRlbXBsYXRlPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhEYXRhVGFibGVUZXh0Q29sdW1uQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIGlucHV0czogWyd3aWR0aCcsICdjYXB0aW9uJywgJ2FsbG93U29ydGluZycsICdhbGxvd1Jlc2l6aW5nJywgJ2ZpeGVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYRGF0YVRhYmxlVGV4dENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgZGF0YUZpZWxkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgd3JhcFRleHQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2VsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBAVmlld0NoaWxkKCdjZWxsJylcbiAgcHJpdmF0ZSBfY29udGVudENlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgZ2V0IHJlbmRlckNlbGxUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuY2VsbFRlbXBsYXRlID8/IHRoaXMuX2NvbnRlbnRDZWxsVGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ2Zvb3RlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRGb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgZ2V0IHJlbmRlckZvb3RlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5mb290ZXJUZW1wbGF0ZSA/PyB0aGlzLl9jb250ZW50Rm9vdGVyVGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ2hlYWRlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgZ2V0IHJlbmRlckhlYWRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5oZWFkZXJUZW1wbGF0ZSA/PyB0aGlzLl9jb250ZW50SGVhZGVyVGVtcGxhdGU7XG4gIH1cblxuICBnZXQgbG9hZGluZ0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgY2wtJHt0aGlzLmRhdGFGaWVsZH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG5cbiAgQE1lbW9yaXplKClcbiAgcHJvdGVjdGVkIGdldERpc3BsYXlUZXh0KHJvd0RhdGE6IHVua25vd24sIGRhdGFGaWVsZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IHJvd0RhdGFbZGF0YUZpZWxkXTtcbiAgICByZXR1cm4gIXRoaXMuZm9ybWF0ID8gdmFsdWUgOiB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHZhbHVlLCB0aGlzLmZvcm1hdCBhcyBhbnksIHRoaXMuZm9ybWF0T3B0aW9ucyk7XG4gIH1cblxuICBASW5wdXQoKVxuICBmb3JtYXQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBmb3JtYXRPcHRpb25zOiBBWEZvcm1hdE9wdGlvbnM7XG59XG4iXX0=
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10ZXh0LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2NvbHVtbnMvZGF0YS10ZXh0LWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBbUIsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUVqRTs7OztHQUlHO0FBb0JILE1BQU0sT0FBTyw4QkFBK0IsU0FBUSwwQkFBMEI7SUFuQjlFOztRQTBCRTs7OztXQUlHO1FBRUgsYUFBUSxHQUFHLEtBQUssQ0FBQztRQTRFakI7O1dBRUc7UUFDSyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztLQW9CakQ7SUFyRkM7OztPQUdHO0lBQ0gsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUN4RCxDQUFDO0lBY0Q7OztPQUdHO0lBQ0gsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUM1RCxDQUFDO0lBY0Q7OztPQUdHO0lBQ0gsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLElBQUk7UUFDTixPQUFPLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFRUyxjQUFjLENBQUMsT0FBZ0IsRUFBRSxTQUFpQjtRQUMxRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7OEdBbEdVLDhCQUE4QjtrR0FBOUIsOEJBQThCLHlXQVI5QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSwwQkFBMEI7Z0JBQ25DLFdBQVcsRUFBRSw4QkFBOEI7YUFDNUM7U0FDRixxV0FkUzs7Ozs7O0dBTVQ7O0FBMEdTO0lBRFQsUUFBUSxFQUFFOzs7O29FQUlWOzJGQWxHVSw4QkFBOEI7a0JBbkIxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRTs7Ozs7O0dBTVQ7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsV0FBVyxnQ0FBZ0M7eUJBQzVDO3FCQUNGO29CQUNELE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUM7aUJBQ3ZFOzhCQU1DLFNBQVM7c0JBRFIsS0FBSztnQkFTTixRQUFRO3NCQURQLEtBQUs7Z0JBT0MsWUFBWTtzQkFEbEIsS0FBSztnQkFPRSxvQkFBb0I7c0JBRDNCLFNBQVM7dUJBQUMsTUFBTTtnQkFlVixjQUFjO3NCQURwQixLQUFLO2dCQU9FLHNCQUFzQjtzQkFEN0IsU0FBUzt1QkFBQyxRQUFRO2dCQWVaLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0Usc0JBQXNCO3NCQUQ3QixTQUFTO3VCQUFDLFFBQVE7Z0JBK0JULGNBQWMsTUFTeEIsTUFBTTtzQkFETCxLQUFLO2dCQVFOLGFBQWE7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRm9ybWF0T3B0aW9ucywgQVhGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2Zvcm1hdCc7XG5pbXBvcnQgeyBNZW1vcml6ZSB9IGZyb20gJ0BhY29yZXgvY29yZS9tZW1vcml6ZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2RhdGEtdGFibGUtY29sdW1uJztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIGEgdGV4dCBjb2x1bW4gaW4gYSBkYXRhIHRhYmxlLCBzdXBwb3J0aW5nIGhlYWRlciwgY2VsbCwgYW5kIGZvb3RlciB0ZW1wbGF0ZXMuXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtdGV4dC1jb2x1bW4nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPnt7IGNhcHRpb24gfX08L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtcm93PlxuICAgICAge3sgZ2V0RGlzcGxheVRleHQocm93LmRhdGEsIHRoaXMuZGF0YUZpZWxkKSB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNmb290ZXI+PC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYRGF0YVRhYmxlVGV4dENvbHVtbkNvbXBvbmVudCxcbiAgICB9LFxuICBdLFxuICBpbnB1dHM6IFsnd2lkdGgnLCAnY2FwdGlvbicsICdhbGxvd1NvcnRpbmcnLCAnYWxsb3dSZXNpemluZycsICdmaXhlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBBWERhdGFUYWJsZVRleHRDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBkYXRhIGZpZWxkIHRvIGRpc3BsYXkgaW4gdGhlIGNvbHVtbi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGRhdGFGaWVsZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRleHQgd3JhcHBpbmcgaW4gdGhlIGNlbGwuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHdyYXBUZXh0ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIGEgY3VzdG9tIHRlbXBsYXRlIGZvciByZW5kZXJpbmcgY2VsbHMgd2l0aGluIHRoZSBjb2x1bW4uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2VsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2NlbGwnKVxuICBwcml2YXRlIF9jb250ZW50Q2VsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdGVtcGxhdGUgdXNlZCBmb3IgcmVuZGVyaW5nIGNlbGxzLlxuICAgKiBGYWxscyBiYWNrIHRvIGEgZGVmYXVsdCB0ZW1wbGF0ZSBpZiBubyBjdXN0b20gdGVtcGxhdGUgaXMgcHJvdmlkZWQuXG4gICAqL1xuICBnZXQgcmVuZGVyQ2VsbFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5jZWxsVGVtcGxhdGUgPz8gdGhpcy5fY29udGVudENlbGxUZW1wbGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUZW1wbGF0ZSB1c2VkIGZvciByZW5kZXJpbmcgdGhlIGZvb3RlciBvZiB0aGUgY29sdW1uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2Zvb3RlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRGb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHRlbXBsYXRlIHVzZWQgZm9yIHJlbmRlcmluZyB0aGUgY29sdW1uIGZvb3RlcixcbiAgICogZmFsbGluZyBiYWNrIHRvIGEgZGVmYXVsdCBpZiBub3QgcHJvdmlkZWQuXG4gICAqL1xuICBnZXQgcmVuZGVyRm9vdGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLmZvb3RlclRlbXBsYXRlID8/IHRoaXMuX2NvbnRlbnRGb290ZXJUZW1wbGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSB0ZW1wbGF0ZSBmb3IgcmVuZGVyaW5nIHRoZSBjb2x1bW4gaGVhZGVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2hlYWRlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgdGVtcGxhdGUgdXNlZCBmb3IgcmVuZGVyaW5nIHRoZSBjb2x1bW4gaGVhZGVyLlxuICAgKiBGYWxscyBiYWNrIHRvIGEgZGVmYXVsdCB0ZW1wbGF0ZSBpZiBub25lIGlzIHByb3ZpZGVkLlxuICAgKi9cbiAgZ2V0IHJlbmRlckhlYWRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5oZWFkZXJUZW1wbGF0ZSA/PyB0aGlzLl9jb250ZW50SGVhZGVyVGVtcGxhdGU7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgbG9hZGluZyBmdW5jdGlvbmFsaXR5IGlzIGVuYWJsZWQuXG4gICAqL1xuICBnZXQgbG9hZGluZ0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgdW5pcXVlIG5hbWUgYmFzZWQgb24gdGhlIGBkYXRhRmllbGRgIHZhbHVlLlxuICAgKi9cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGNsLSR7dGhpcy5kYXRhRmllbGR9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG5cbiAgQE1lbW9yaXplKClcbiAgcHJvdGVjdGVkIGdldERpc3BsYXlUZXh0KHJvd0RhdGE6IHVua25vd24sIGRhdGFGaWVsZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IHJvd0RhdGFbZGF0YUZpZWxkXTtcbiAgICByZXR1cm4gIXRoaXMuZm9ybWF0ID8gdmFsdWUgOiB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHZhbHVlLCB0aGlzLmZvcm1hdCBhcyBhbnksIHRoaXMuZm9ybWF0T3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAqIERlZmluZXMgdGhlIGZvcm1hdCBzdHJpbmcgZm9yIGRpc3BsYXlpbmcgdmFsdWVzIGluIHRoZSBjb21wb25lbnQuXG4gKi9cbiAgQElucHV0KClcbiAgZm9ybWF0OiBzdHJpbmc7XG5cblxuICAvKipcbiAqIFByb3ZpZGVzIGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgZm9ybWF0dGluZyB2YWx1ZXMuXG4gKi9cbiAgQElucHV0KClcbiAgZm9ybWF0T3B0aW9uczogQVhGb3JtYXRPcHRpb25zO1xufVxuIl19
@@ -22,24 +22,50 @@ export class AXBaseRowCommandColumnComponent extends AXDataTableColumnComponent
22
22
  return 'ax-command-column';
23
23
  }
24
24
  }
25
+ /**
26
+ * A column for displaying dropdown command buttons in a data table.
27
+ *
28
+ * @category Components
29
+ */
25
30
  export class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnComponent {
26
31
  constructor() {
27
32
  super(...arguments);
33
+ /**
34
+ * @ignore
35
+ */
28
36
  this._items = [];
29
37
  this.items = [];
30
38
  }
39
+ /**
40
+ * Returns the template used for rendering cell content.
41
+ * This method provides the cell template used in the data table column, falling back to a default template if none is provided.
42
+ */
31
43
  get renderCellTemplate() {
32
44
  return this._cellTemplate;
33
45
  }
46
+ /**
47
+ * Returns the template used for rendering the header content.
48
+ * This method provides the header template used in the data table column.
49
+ */
34
50
  get renderHeaderTemplate() {
35
51
  return this._contentHeaderTemplate;
36
52
  }
53
+ /**
54
+ * Returns the template used for rendering the footer content.
55
+ * This method provides the footer template used in the data table column.
56
+ */
37
57
  get renderFooterTemplate() {
38
58
  return this.footerTemplate ?? this._contentFooterTemplate;
39
59
  }
60
+ /**
61
+ * Returns the name identifier for the column component.
62
+ */
40
63
  get name() {
41
64
  return 'cl-dd-cmd';
42
65
  }
66
+ /**
67
+ * @ignore
68
+ */
43
69
  async handleOnOpened(rowData) {
44
70
  if (Array.isArray(this.items)) {
45
71
  this._items = this.items;
@@ -57,9 +83,15 @@ export class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnC
57
83
  }
58
84
  this.cdr.detectChanges();
59
85
  }
86
+ /**
87
+ * @ignore
88
+ */
60
89
  handleOnClosed() {
61
90
  this._items = [];
62
91
  }
92
+ /**
93
+ * @ignore
94
+ */
63
95
  handleOnItemClick(e, data) {
64
96
  const args = {
65
97
  component: this.grid,
@@ -160,23 +192,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
160
192
  }], items: [{
161
193
  type: Input
162
194
  }] } });
195
+ /**
196
+ * A column for displaying command buttons in a data table.
197
+ *
198
+ * @category Components
199
+ */
163
200
  export class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent {
164
201
  constructor() {
165
202
  super(...arguments);
203
+ /**
204
+ * Defines the command items to display in the column.
205
+ * @defaultValue []
206
+ */
166
207
  this.items = [];
167
208
  }
209
+ /**
210
+ * Returns the template used for rendering the cell content.
211
+ * Uses the specified cell template if provided; otherwise, falls back to a default template.
212
+ */
168
213
  get renderCellTemplate() {
169
214
  return this._cellTemplate;
170
215
  }
216
+ /**
217
+ * Returns the template used for rendering the header content.
218
+ * Overrides the base implementation to provide a specific template for the command column.
219
+ */
171
220
  get renderHeaderTemplate() {
172
221
  return this._contentHeaderTemplate;
173
222
  }
223
+ /**
224
+ * Gets the template used for rendering the footer content of the column.
225
+ * Returns `footerTemplate` if provided; otherwise, returns `_contentFooterTemplate`.
226
+ */
174
227
  get renderFooterTemplate() {
175
228
  return this.footerTemplate ?? this._contentFooterTemplate;
176
229
  }
230
+ /**
231
+ * Gets the unique name identifier for the command column.
232
+ */
177
233
  get name() {
178
234
  return 'cl-in-cmd';
179
235
  }
236
+ /**
237
+ * @ignore
238
+ */
180
239
  getItems(rowData) {
181
240
  if (Array.isArray(this.items)) {
182
241
  return this.items;
@@ -188,6 +247,9 @@ export class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent
188
247
  }
189
248
  return [];
190
249
  }
250
+ /**
251
+ * @ignore
252
+ */
191
253
  handleOnItemClick(e, item, data) {
192
254
  const args = {
193
255
  component: this.grid,
@@ -268,4 +330,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
268
330
  }], items: [{
269
331
  type: Input
270
332
  }] } });
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNvbW1hbmQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9saWIvY29sdW1ucy9yb3ctY29tbWFuZC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFNakUsTUFBTSxPQUFnQiwrQkFBZ0MsU0FBUSwwQkFBMEI7SUFBeEY7O1FBQ1ksU0FBSSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFakMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFVOUIsZ0JBQVcsR0FBNkMsSUFBSSxZQUFZLEVBQThCLENBQUM7SUFDekcsQ0FBQztJQVRDLElBQUksY0FBYztRQUNoQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFhLFFBQVE7UUFDbkIsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0NBR0Y7QUEwQ0QsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLCtCQUErQjtJQXhDeEY7O1FBcUVZLFdBQU0sR0FBdUIsRUFBRSxDQUFDO1FBRzFDLFVBQUssR0FBa0csRUFBRSxDQUFDO0tBK0IzRztJQTNEQyxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUtELElBQWEsb0JBQW9CO1FBQy9CLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFRRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBT1MsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPO1FBQ3BDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDM0IsQ0FBQzs7WUFBTSxPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksVUFBVSxDQUFDO1FBQ3ZDLENBQUM7WUFDQyxNQUFNLE1BQU0sR0FBSSxJQUFJLENBQUMsT0FBTyxDQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0MsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ3ZCLENBQUM7aUJBQU0sSUFBSSxNQUFNLFlBQVksT0FBTyxFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFUyxjQUFjO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxDQUEwQyxFQUFFLElBQWE7UUFDbkYsTUFBTSxJQUFJLEdBQStCO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNwQixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLFdBQVcsRUFBRSxDQUFDO1lBQ2QsSUFBSTtZQUNKLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtTQUNiLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOzhHQTlEVSxtQ0FBbUM7a0dBQW5DLG1DQUFtQyxnTkFUbkM7WUFDVDtnQkFDRSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxXQUFXLEVBQUUsbUNBQW1DO2FBQ2pEO1NBQ0YsOFZBbENTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCVDs7MkZBWVUsbUNBQW1DO2tCQXhDL0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSwwQkFBMEI7NEJBQ25DLFdBQVcscUNBQXFDO3lCQUNqRDtxQkFDRjtvQkFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6Qjs4QkFHUyxhQUFhO3NCQURwQixTQUFTO3VCQUFDLE1BQU07Z0JBUVQsc0JBQXNCO3NCQUQ3QixTQUFTO3VCQUFDLFFBQVE7Z0JBUVosY0FBYztzQkFEcEIsS0FBSztnQkFJRSxzQkFBc0I7c0JBRDdCLFNBQVM7dUJBQUMsUUFBUTtnQkFjbkIsS0FBSztzQkFESixLQUFLOztBQWdFUixNQUFNLE9BQU8sMkJBQTRCLFNBQVEsK0JBQStCO0lBOUJoRjs7UUE0REUsVUFBSyxHQUFvRSxFQUFFLENBQUM7S0FzQjdFO0lBaERDLElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBS0QsSUFBYSxvQkFBb0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUM7SUFDckMsQ0FBQztJQVFELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFLUyxRQUFRLENBQUMsT0FBZ0I7UUFDakMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDOztZQUFNLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUM7UUFDdkMsQ0FBQztZQUNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRVMsaUJBQWlCLENBQUMsQ0FBYSxFQUFFLElBQXNCLEVBQUUsSUFBYTtRQUM5RSxNQUFNLElBQUksR0FBK0I7WUFDdkMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ3BCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsV0FBVyxFQUFFLENBQUM7WUFDZCxJQUFJO1lBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2hCLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOzhHQW5EVSwyQkFBMkI7a0dBQTNCLDJCQUEyQix1TUFUM0I7WUFDVDtnQkFDRSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxXQUFXLEVBQUUsMkJBQTJCO2FBQ3pDO1NBQ0YsOFZBeEJTOzs7Ozs7Ozs7Ozs7Ozs7O3lDQWdCNkI7OzJGQVk1QiwyQkFBMkI7a0JBOUJ2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozt5Q0FnQjZCO29CQUN2QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsMEJBQTBCOzRCQUNuQyxXQUFXLDZCQUE2Qjt5QkFDekM7cUJBQ0Y7b0JBQ0QsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDekI7OEJBR1MsYUFBYTtzQkFEcEIsU0FBUzt1QkFBQyxNQUFNO2dCQVFULHNCQUFzQjtzQkFEN0IsU0FBUzt1QkFBQyxRQUFRO2dCQVFaLGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUUsc0JBQXNCO3NCQUQ3QixTQUFTO3VCQUFDLFFBQVE7Z0JBWW5CLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uSXRlbUNvbXBvbmVudCwgQVhCdXR0b25JdGVtTGlzdEl0ZW0gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQnV0dG9uQ2xpY2tFdmVudCwgQVhJdGVtQ2xpY2tFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhCYXNlRGF0YVRhYmxlIH0gZnJvbSAnLi4vYmFzZS1kYXRhLXRhYmxlLmNsYXNzJztcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLWNvbHVtbic7XG5cbmV4cG9ydCB0eXBlIEFYUm93Q29tbWFuZEl0ZW0gPSBBWEJ1dHRvbkl0ZW1MaXN0SXRlbTtcblxuZXhwb3J0IHR5cGUgQVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQgPSBBWEJ1dHRvbkNsaWNrRXZlbnQ7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWEJhc2VSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQge1xuICBwcm90ZWN0ZWQgZ3JpZCA9IGluamVjdChBWEJhc2VEYXRhVGFibGUpO1xuICBwcm90ZWN0ZWQgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBvdmVycmlkZSBhbGxvd1NvcnRpbmcgPSBmYWxzZTtcblxuICBnZXQgbG9hZGluZ0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0IGNzc0NsYXNzKCkge1xuICAgIHJldHVybiAnYXgtY29tbWFuZC1jb2x1bW4nO1xuICB9XG5cbiAgb25JdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50PigpO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1kcm9wZG93bi1jb21tYW5kLWNvbHVtbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXJvdz5cbiAgICAgIEBpZiAocm93LmRhdGEpIHtcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8YnV0dG9uIFtheFJpcHBsZV0+XG4gICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiYXgtaWNvbiBheC1pY29uLXNvbGlkIGF4LWljb24tbW9yZS1ob3Jpem9udGFsXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPGF4LWRyb3Bkb3duLXBhbmVsIFthZGFwdGl2aXR5RW5hYmxlZF09XCJ0cnVlXCIgKG9uT3BlbmVkKT1cImhhbmRsZU9uT3BlbmVkKHJvdy5kYXRhKVwiIChvbkNsb3NlZCk9XCJoYW5kbGVPbkNsb3NlZCgpXCI+XG4gICAgICAgICAgICAgIEBpZiAoX2l0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbS1saXN0IChvbkl0ZW1DbGljayk9XCJoYW5kbGVPbkl0ZW1DbGljaygkZXZlbnQsIHJvdy5kYXRhKVwiIFtpdGVtc109XCJfaXRlbXNcIj4gPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8ZGl2IHBhbmVsIHN0eWxlPVwicGFkZGluZzogMC44NzVyZW07XCI+XG4gICAgICAgICAgICAgICAgICA8YXgtbG9hZGluZz48L2F4LWxvYWRpbmc+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgICAgICA8ZGl2IHBhbmVsIHN0eWxlPVwicGFkZGluZzogMC44NzVyZW07XCI+XG4gICAgICAgICAgPGF4LWxvYWRpbmc+PC9heC1sb2FkaW5nPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2Zvb3Rlcj48L25nLXRlbXBsYXRlPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhSb3dEcm9wZG93bkNvbW1hbmRDb2x1bW5Db21wb25lbnQsXG4gICAgfSxcbiAgXSxcbiAgaW5wdXRzOiBbJ3dpZHRoJywgJ2NhcHRpb24nLCAnZml4ZWQnXSxcbiAgb3V0cHV0czogWydvbkl0ZW1DbGljayddLFxufSlcbmV4cG9ydCBjbGFzcyBBWFJvd0Ryb3Bkb3duQ29tbWFuZENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEFYQmFzZVJvd0NvbW1hbmRDb2x1bW5Db21wb25lbnQge1xuICBAVmlld0NoaWxkKCdjZWxsJylcbiAgcHJpdmF0ZSBfY2VsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBnZXQgcmVuZGVyQ2VsbFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5fY2VsbFRlbXBsYXRlO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnaGVhZGVyJylcbiAgcHJpdmF0ZSBfY29udGVudEhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBvdmVycmlkZSBnZXQgcmVuZGVySGVhZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50SGVhZGVyVGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ2Zvb3RlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRGb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgZ2V0IHJlbmRlckZvb3RlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5mb290ZXJUZW1wbGF0ZSA/PyB0aGlzLl9jb250ZW50Rm9vdGVyVGVtcGxhdGU7XG4gIH1cblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnY2wtZGQtY21kJztcbiAgfVxuXG4gIHByb3RlY3RlZCBfaXRlbXM6IEFYUm93Q29tbWFuZEl0ZW1bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIGl0ZW1zOiBBWFJvd0NvbW1hbmRJdGVtW10gfCAoKHJvd0RhdGE6IHVua25vd24pID0+IEFYUm93Q29tbWFuZEl0ZW1bXSB8IFByb21pc2U8QVhSb3dDb21tYW5kSXRlbVtdPikgPSBbXTtcblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlT25PcGVuZWQocm93RGF0YSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbXMpKSB7XG4gICAgICB0aGlzLl9pdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgfSBlbHNlIHR5cGVvZiB0aGlzLml0ZW1zID09ICdmdW5jdGlvbic7XG4gICAge1xuICAgICAgY29uc3QgcmVzdWx0ID0gKHRoaXNbJ2l0ZW1zJ10gYXMgYW55KShyb3dEYXRhKTtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3VsdCkpIHtcbiAgICAgICAgdGhpcy5faXRlbXMgPSByZXN1bHQ7XG4gICAgICB9IGVsc2UgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgdGhpcy5faXRlbXMgPSBhd2FpdCByZXN1bHQ7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPbkNsb3NlZCgpIHtcbiAgICB0aGlzLl9pdGVtcyA9IFtdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9uSXRlbUNsaWNrKGU6IEFYSXRlbUNsaWNrRXZlbnQ8QVhCdXR0b25JdGVtQ29tcG9uZW50PiwgZGF0YTogdW5rbm93bikge1xuICAgIGNvbnN0IGFyZ3M6IEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50ID0ge1xuICAgICAgY29tcG9uZW50OiB0aGlzLmdyaWQsXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgICAgZGF0YSxcbiAgICAgIG5hbWU6IGUubmFtZSxcbiAgICB9O1xuICAgIHRoaXMub25JdGVtQ2xpY2suZW1pdChhcmdzKTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb21tYW5kLWNvbHVtbicsXG4gIHRlbXBsYXRlOiBgPG5nLXRlbXBsYXRlICNoZWFkZXI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXJvdz5cbiAgICAgIEBpZiAocm93LmRhdGEpIHtcbiAgICAgICAgQGZvciAoaXRlbSBvZiBnZXRJdGVtcyhyb3cuZGF0YSk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCIncmdiYSh2YXIoLS1heC1jb2xvci0nICsgKGl0ZW0uY29sb3IgPz8gJ3ByaW1hcnkpJylcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2F4UmlwcGxlXT1cIiFpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPbkl0ZW1DbGljaygkZXZlbnQsIGl0ZW0sIHJvdy5kYXRhKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF4LWljb24gW2ljb25dPVwiaXRlbS5pY29uXCI+PC9heC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2Zvb3Rlcj48L25nLXRlbXBsYXRlPiBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIGlucHV0czogWyd3aWR0aCcsICdjYXB0aW9uJywgJ2ZpeGVkJ10sXG4gIG91dHB1dHM6IFsnb25JdGVtQ2xpY2snXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUm93Q29tbWFuZENvbHVtbkNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2NlbGwnKVxuICBwcml2YXRlIF9jZWxsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIGdldCByZW5kZXJDZWxsVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl9jZWxsVGVtcGxhdGU7XG4gIH1cblxuICBAVmlld0NoaWxkKCdoZWFkZXInKVxuICBwcml2YXRlIF9jb250ZW50SGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIG92ZXJyaWRlIGdldCByZW5kZXJIZWFkZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQFZpZXdDaGlsZCgnZm9vdGVyJylcbiAgcHJpdmF0ZSBfY29udGVudEZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBnZXQgcmVuZGVyRm9vdGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLmZvb3RlclRlbXBsYXRlID8/IHRoaXMuX2NvbnRlbnRGb290ZXJUZW1wbGF0ZTtcbiAgfVxuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdjbC1pbi1jbWQnO1xuICB9XG5cbiAgQElucHV0KClcbiAgaXRlbXM6IEFYUm93Q29tbWFuZEl0ZW1bXSB8ICgocm93RGF0YTogdW5rbm93bikgPT4gQVhSb3dDb21tYW5kSXRlbVtdKSA9IFtdO1xuXG4gIHByb3RlY3RlZCBnZXRJdGVtcyhyb3dEYXRhOiB1bmtub3duKTogQVhSb3dDb21tYW5kSXRlbVtdIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLml0ZW1zKSkge1xuICAgICAgcmV0dXJuIHRoaXMuaXRlbXM7XG4gICAgfSBlbHNlIHR5cGVvZiB0aGlzLml0ZW1zID09ICdmdW5jdGlvbic7XG4gICAge1xuICAgICAgcmV0dXJuIHRoaXMuaXRlbXMocm93RGF0YSk7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPbkl0ZW1DbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtOiBBWFJvd0NvbW1hbmRJdGVtLCBkYXRhOiB1bmtub3duKSB7XG4gICAgY29uc3QgYXJnczogQVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQgPSB7XG4gICAgICBjb21wb25lbnQ6IHRoaXMuZ3JpZCxcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICBkYXRhLFxuICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgIH07XG4gICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KGFyZ3MpO1xuICB9XG59XG4iXX0=
333
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNvbW1hbmQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9saWIvY29sdW1ucy9yb3ctY29tbWFuZC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFNakUsTUFBTSxPQUFnQiwrQkFBZ0MsU0FBUSwwQkFBMEI7SUFBeEY7O1FBQ1ksU0FBSSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFakMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFVOUIsZ0JBQVcsR0FBNkMsSUFBSSxZQUFZLEVBQThCLENBQUM7SUFDekcsQ0FBQztJQVRDLElBQUksY0FBYztRQUNoQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFhLFFBQVE7UUFDbkIsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0NBR0Y7QUFFRDs7OztHQUlHO0FBeUNILE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSwrQkFBK0I7SUF4Q3hGOztRQThGRTs7V0FFRztRQUNPLFdBQU0sR0FBdUIsRUFBRSxDQUFDO1FBRzFDLFVBQUssR0FBa0csRUFBRSxDQUFDO0tBd0MzRztJQTdGQzs7O09BR0c7SUFDSCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElB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LE9BQU8sRUFBRSwwQkFBMEI7Z0JBQ25DLFdBQVcsRUFBRSwyQkFBMkI7YUFDekM7U0FDRiw4VkF4QlM7Ozs7Ozs7Ozs7Ozs7Ozs7eUNBZ0I2Qjs7MkZBWTVCLDJCQUEyQjtrQkE5QnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7O3lDQWdCNkI7b0JBQ3ZDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSwwQkFBMEI7NEJBQ25DLFdBQVcsNkJBQTZCO3lCQUN6QztxQkFDRjtvQkFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6Qjs4QkFPUyxhQUFhO3NCQURwQixTQUFTO3VCQUFDLE1BQU07Z0JBZVQsc0JBQXNCO3NCQUQ3QixTQUFTO3VCQUFDLFFBQVE7Z0JBZVosY0FBYztzQkFEcEIsS0FBSztnQkFPRSxzQkFBc0I7c0JBRDdCLFNBQVM7dUJBQUMsUUFBUTtnQkF1Qm5CLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uSXRlbUNvbXBvbmVudCwgQVhCdXR0b25JdGVtTGlzdEl0ZW0gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQnV0dG9uQ2xpY2tFdmVudCwgQVhJdGVtQ2xpY2tFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhCYXNlRGF0YVRhYmxlIH0gZnJvbSAnLi4vYmFzZS1kYXRhLXRhYmxlLmNsYXNzJztcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLWNvbHVtbic7XG5cbmV4cG9ydCB0eXBlIEFYUm93Q29tbWFuZEl0ZW0gPSBBWEJ1dHRvbkl0ZW1MaXN0SXRlbTtcblxuZXhwb3J0IHR5cGUgQVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQgPSBBWEJ1dHRvbkNsaWNrRXZlbnQ7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWEJhc2VSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQge1xuICBwcm90ZWN0ZWQgZ3JpZCA9IGluamVjdChBWEJhc2VEYXRhVGFibGUpO1xuICBwcm90ZWN0ZWQgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBvdmVycmlkZSBhbGxvd1NvcnRpbmcgPSBmYWxzZTtcblxuICBnZXQgbG9hZGluZ0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0IGNzc0NsYXNzKCkge1xuICAgIHJldHVybiAnYXgtY29tbWFuZC1jb2x1bW4nO1xuICB9XG5cbiAgb25JdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50PigpO1xufVxuXG4vKipcbiAqIEEgY29sdW1uIGZvciBkaXNwbGF5aW5nIGRyb3Bkb3duIGNvbW1hbmQgYnV0dG9ucyBpbiBhIGRhdGEgdGFibGUuXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtZHJvcGRvd24tY29tbWFuZC1jb2x1bW4nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPjwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC1yb3c+XG4gICAgICBAaWYgKHJvdy5kYXRhKSB7XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGJ1dHRvbiBbYXhSaXBwbGVdPlxuICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImF4LWljb24gYXgtaWNvbi1zb2xpZCBheC1pY29uLW1vcmUtaG9yaXpvbnRhbFwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgIDxheC1kcm9wZG93bi1wYW5lbCBbYWRhcHRpdml0eUVuYWJsZWRdPVwidHJ1ZVwiIChvbk9wZW5lZCk9XCJoYW5kbGVPbk9wZW5lZChyb3cuZGF0YSlcIiAob25DbG9zZWQpPVwiaGFuZGxlT25DbG9zZWQoKVwiPlxuICAgICAgICAgICAgICBAaWYgKF9pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdCAob25JdGVtQ2xpY2spPVwiaGFuZGxlT25JdGVtQ2xpY2soJGV2ZW50LCByb3cuZGF0YSlcIiBbaXRlbXNdPVwiX2l0ZW1zXCI+IDwvYXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGRpdiBwYW5lbCBzdHlsZT1cInBhZGRpbmc6IDAuODc1cmVtO1wiPlxuICAgICAgICAgICAgICAgICAgPGF4LWxvYWRpbmc+PC9heC1sb2FkaW5nPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2F4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICAgICAgPGRpdiBwYW5lbCBzdHlsZT1cInBhZGRpbmc6IDAuODc1cmVtO1wiPlxuICAgICAgICAgIDxheC1sb2FkaW5nPjwvYXgtbG9hZGluZz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNmb290ZXI+PC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYUm93RHJvcGRvd25Db21tYW5kQ29sdW1uQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIGlucHV0czogWyd3aWR0aCcsICdjYXB0aW9uJywgJ2ZpeGVkJ10sXG4gIG91dHB1dHM6IFsnb25JdGVtQ2xpY2snXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhSb3dEcm9wZG93bkNvbW1hbmRDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBAVmlld0NoaWxkKCdjZWxsJylcbiAgcHJpdmF0ZSBfY2VsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdGVtcGxhdGUgdXNlZCBmb3IgcmVuZGVyaW5nIGNlbGwgY29udGVudC5cbiAgICogVGhpcyBtZXRob2QgcHJvdmlkZXMgdGhlIGNlbGwgdGVtcGxhdGUgdXNlZCBpbiB0aGUgZGF0YSB0YWJsZSBjb2x1bW4sIGZhbGxpbmcgYmFjayB0byBhIGRlZmF1bHQgdGVtcGxhdGUgaWYgbm9uZSBpcyBwcm92aWRlZC5cbiAgICovXG4gIGdldCByZW5kZXJDZWxsVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl9jZWxsVGVtcGxhdGU7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2hlYWRlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHRlbXBsYXRlIHVzZWQgZm9yIHJlbmRlcmluZyB0aGUgaGVhZGVyIGNvbnRlbnQuXG4gICAqIFRoaXMgbWV0aG9kIHByb3ZpZGVzIHRoZSBoZWFkZXIgdGVtcGxhdGUgdXNlZCBpbiB0aGUgZGF0YSB0YWJsZSBjb2x1bW4uXG4gICAqL1xuXG4gIG92ZXJyaWRlIGdldCByZW5kZXJIZWFkZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBAVmlld0NoaWxkKCdmb290ZXInKVxuICBwcml2YXRlIF9jb250ZW50Rm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB0ZW1wbGF0ZSB1c2VkIGZvciByZW5kZXJpbmcgdGhlIGZvb3RlciBjb250ZW50LlxuICAgKiBUaGlzIG1ldGhvZCBwcm92aWRlcyB0aGUgZm9vdGVyIHRlbXBsYXRlIHVzZWQgaW4gdGhlIGRhdGEgdGFibGUgY29sdW1uLlxuICAgKi9cbiAgZ2V0IHJlbmRlckZvb3RlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5mb290ZXJUZW1wbGF0ZSA/PyB0aGlzLl9jb250ZW50Rm9vdGVyVGVtcGxhdGU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbmFtZSBpZGVudGlmaWVyIGZvciB0aGUgY29sdW1uIGNvbXBvbmVudC5cbiAgICovXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdjbC1kZC1jbWQnO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2l0ZW1zOiBBWFJvd0NvbW1hbmRJdGVtW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBpdGVtczogQVhSb3dDb21tYW5kSXRlbVtdIHwgKChyb3dEYXRhOiB1bmtub3duKSA9PiBBWFJvd0NvbW1hbmRJdGVtW10gfCBQcm9taXNlPEFYUm93Q29tbWFuZEl0ZW1bXT4pID0gW107XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlT25PcGVuZWQocm93RGF0YSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbXMpKSB7XG4gICAgICB0aGlzLl9pdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgfSBlbHNlIHR5cGVvZiB0aGlzLml0ZW1zID09ICdmdW5jdGlvbic7XG4gICAge1xuICAgICAgY29uc3QgcmVzdWx0ID0gKHRoaXNbJ2l0ZW1zJ10gYXMgYW55KShyb3dEYXRhKTtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3VsdCkpIHtcbiAgICAgICAgdGhpcy5faXRlbXMgPSByZXN1bHQ7XG4gICAgICB9IGVsc2UgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgdGhpcy5faXRlbXMgPSBhd2FpdCByZXN1bHQ7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZU9uQ2xvc2VkKCkge1xuICAgIHRoaXMuX2l0ZW1zID0gW107XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVPbkl0ZW1DbGljayhlOiBBWEl0ZW1DbGlja0V2ZW50PEFYQnV0dG9uSXRlbUNvbXBvbmVudD4sIGRhdGE6IHVua25vd24pIHtcbiAgICBjb25zdCBhcmdzOiBBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudCA9IHtcbiAgICAgIGNvbXBvbmVudDogdGhpcy5ncmlkLFxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXG4gICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgIGRhdGEsXG4gICAgICBuYW1lOiBlLm5hbWUsXG4gICAgfTtcbiAgICB0aGlzLm9uSXRlbUNsaWNrLmVtaXQoYXJncyk7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGNvbHVtbiBmb3IgZGlzcGxheWluZyBjb21tYW5kIGJ1dHRvbnMgaW4gYSBkYXRhIHRhYmxlLlxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbW1hbmQtY29sdW1uJyxcbiAgdGVtcGxhdGU6IGA8bmctdGVtcGxhdGUgI2hlYWRlcj48L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtcm93PlxuICAgICAgQGlmIChyb3cuZGF0YSkge1xuICAgICAgICBAZm9yIChpdGVtIG9mIGdldEl0ZW1zKHJvdy5kYXRhKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIidyZ2JhKHZhcigtLWF4LWNvbG9yLScgKyAoaXRlbS5jb2xvciA/PyAncHJpbWFyeSknKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbYXhSaXBwbGVdPVwiIWl0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9uSXRlbUNsaWNrKCRldmVudCwgaXRlbSwgcm93LmRhdGEpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXgtaWNvbiBbaWNvbl09XCJpdGVtLmljb25cIj48L2F4LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyPjwvbmctdGVtcGxhdGU+IGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWFJvd0NvbW1hbmRDb2x1bW5Db21wb25lbnQsXG4gICAgfSxcbiAgXSxcbiAgaW5wdXRzOiBbJ3dpZHRoJywgJ2NhcHRpb24nLCAnZml4ZWQnXSxcbiAgb3V0cHV0czogWydvbkl0ZW1DbGljayddLFxufSlcbmV4cG9ydCBjbGFzcyBBWFJvd0NvbW1hbmRDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuXG4gIEBWaWV3Q2hpbGQoJ2NlbGwnKVxuICBwcml2YXRlIF9jZWxsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB0ZW1wbGF0ZSB1c2VkIGZvciByZW5kZXJpbmcgdGhlIGNlbGwgY29udGVudC5cbiAgICogVXNlcyB0aGUgc3BlY2lmaWVkIGNlbGwgdGVtcGxhdGUgaWYgcHJvdmlkZWQ7IG90aGVyd2lzZSwgZmFsbHMgYmFjayB0byBhIGRlZmF1bHQgdGVtcGxhdGUuXG4gICAqL1xuICBnZXQgcmVuZGVyQ2VsbFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5fY2VsbFRlbXBsYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBAVmlld0NoaWxkKCdoZWFkZXInKVxuICBwcml2YXRlIF9jb250ZW50SGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB0ZW1wbGF0ZSB1c2VkIGZvciByZW5kZXJpbmcgdGhlIGhlYWRlciBjb250ZW50LlxuICAgKiBPdmVycmlkZXMgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gdG8gcHJvdmlkZSBhIHNwZWNpZmljIHRlbXBsYXRlIGZvciB0aGUgY29tbWFuZCBjb2x1bW4uXG4gICAqL1xuICBvdmVycmlkZSBnZXQgcmVuZGVySGVhZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50SGVhZGVyVGVtcGxhdGU7XG4gIH1cblxuICAvKipcbiAgICogVGVtcGxhdGUgdXNlZCBmb3IgcmVuZGVyaW5nIHRoZSBmb290ZXIgY29udGVudCBvZiB0aGUgY29sdW1uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2Zvb3RlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRGb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHRlbXBsYXRlIHVzZWQgZm9yIHJlbmRlcmluZyB0aGUgZm9vdGVyIGNvbnRlbnQgb2YgdGhlIGNvbHVtbi5cbiAgICogUmV0dXJucyBgZm9vdGVyVGVtcGxhdGVgIGlmIHByb3ZpZGVkOyBvdGhlcndpc2UsIHJldHVybnMgYF9jb250ZW50Rm9vdGVyVGVtcGxhdGVgLlxuICAgKi9cbiAgZ2V0IHJlbmRlckZvb3RlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5mb290ZXJUZW1wbGF0ZSA/PyB0aGlzLl9jb250ZW50Rm9vdGVyVGVtcGxhdGU7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdW5pcXVlIG5hbWUgaWRlbnRpZmllciBmb3IgdGhlIGNvbW1hbmQgY29sdW1uLlxuICAgKi9cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2NsLWluLWNtZCc7XG4gIH1cblxuICAvKipcbiAqIERlZmluZXMgdGhlIGNvbW1hbmQgaXRlbXMgdG8gZGlzcGxheSBpbiB0aGUgY29sdW1uLiBcbiAqIEBkZWZhdWx0VmFsdWUgW11cbiAqL1xuICBASW5wdXQoKVxuICBpdGVtczogQVhSb3dDb21tYW5kSXRlbVtdIHwgKChyb3dEYXRhOiB1bmtub3duKSA9PiBBWFJvd0NvbW1hbmRJdGVtW10pID0gW107XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0SXRlbXMocm93RGF0YTogdW5rbm93bik6IEFYUm93Q29tbWFuZEl0ZW1bXSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykpIHtcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zO1xuICAgIH0gZWxzZSB0eXBlb2YgdGhpcy5pdGVtcyA9PSAnZnVuY3Rpb24nO1xuICAgIHtcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zKHJvd0RhdGEpO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVPbkl0ZW1DbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtOiBBWFJvd0NvbW1hbmRJdGVtLCBkYXRhOiB1bmtub3duKSB7XG4gICAgY29uc3QgYXJnczogQVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQgPSB7XG4gICAgICBjb21wb25lbnQ6IHRoaXMuZ3JpZCxcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICBkYXRhLFxuICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgIH07XG4gICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KGFyZ3MpO1xuICB9XG59XG4iXX0=