@handsontable/angular 14.2.0 → 14.3.0-next-3fa6b18-20240410
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.
- package/esm2022/lib/hot-column.component.mjs +148 -0
- package/{esm2015/lib/hot-settings-resolver.service.js → esm2022/lib/hot-settings-resolver.service.mjs} +4 -4
- package/{esm2015/lib/hot-table-registerer.service.js → esm2022/lib/hot-table-registerer.service.mjs} +4 -4
- package/esm2022/lib/hot-table.component.mjs +1124 -0
- package/esm2022/lib/hot-table.module.mjs +33 -0
- package/{fesm2015/handsontable-angular.js → fesm2022/handsontable-angular.mjs} +412 -26
- package/fesm2022/handsontable-angular.mjs.map +1 -0
- package/lib/hot-column.component.d.ts +1 -1
- package/lib/hot-table.component.d.ts +5 -1
- package/package.json +1 -1
- package/bundles/handsontable-angular.umd.js +0 -1078
- package/bundles/handsontable-angular.umd.js.map +0 -1
- package/esm2015/lib/hot-column.component.js +0 -108
- package/esm2015/lib/hot-table.component.js +0 -778
- package/esm2015/lib/hot-table.module.js +0 -33
- package/fesm2015/handsontable-angular.js.map +0 -1
- /package/{esm2015/handsontable-angular.js → esm2022/handsontable-angular.mjs} +0 -0
- /package/{esm2015/public-api.js → esm2022/public-api.mjs} +0 -0
- /package/{handsontable-angular.d.ts → index.d.ts} +0 -0
|
@@ -0,0 +1,1124 @@
|
|
|
1
|
+
import { Component, Input, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import Handsontable from 'handsontable/base';
|
|
3
|
+
import { HotTableRegisterer, HOT_DESTROYED_WARNING } from './hot-table-registerer.service';
|
|
4
|
+
import { HotSettingsResolver } from './hot-settings-resolver.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./hot-table-registerer.service";
|
|
7
|
+
import * as i2 from "./hot-settings-resolver.service";
|
|
8
|
+
export class HotTableComponent {
|
|
9
|
+
_hotTableRegisterer;
|
|
10
|
+
_hotSettingsResolver;
|
|
11
|
+
ngZone;
|
|
12
|
+
container;
|
|
13
|
+
__hotInstance = null;
|
|
14
|
+
columnsComponents = [];
|
|
15
|
+
// component inputs
|
|
16
|
+
settings;
|
|
17
|
+
hotId = '';
|
|
18
|
+
// handsontable options
|
|
19
|
+
activeHeaderClassName;
|
|
20
|
+
allowEmpty;
|
|
21
|
+
allowHtml;
|
|
22
|
+
allowInsertColumn;
|
|
23
|
+
allowInsertRow;
|
|
24
|
+
allowInvalid;
|
|
25
|
+
allowRemoveColumn;
|
|
26
|
+
allowRemoveRow;
|
|
27
|
+
ariaTags;
|
|
28
|
+
autoColumnSize;
|
|
29
|
+
autoRowSize;
|
|
30
|
+
autoWrapCol;
|
|
31
|
+
autoWrapRow;
|
|
32
|
+
bindRowsWithHeaders;
|
|
33
|
+
cell;
|
|
34
|
+
cells;
|
|
35
|
+
checkedTemplate;
|
|
36
|
+
className;
|
|
37
|
+
colHeaders;
|
|
38
|
+
collapsibleColumns;
|
|
39
|
+
columnHeaderHeight;
|
|
40
|
+
columns;
|
|
41
|
+
columnSorting;
|
|
42
|
+
columnSummary;
|
|
43
|
+
colWidths;
|
|
44
|
+
commentedCellClassName;
|
|
45
|
+
comments;
|
|
46
|
+
contextMenu;
|
|
47
|
+
copyable;
|
|
48
|
+
copyPaste;
|
|
49
|
+
correctFormat;
|
|
50
|
+
currentColClassName;
|
|
51
|
+
currentHeaderClassName;
|
|
52
|
+
currentRowClassName;
|
|
53
|
+
customBorders;
|
|
54
|
+
data;
|
|
55
|
+
dataSchema;
|
|
56
|
+
dateFormat;
|
|
57
|
+
datePickerConfig;
|
|
58
|
+
defaultDate;
|
|
59
|
+
tabNavigation;
|
|
60
|
+
disableVisualSelection;
|
|
61
|
+
dragToScroll;
|
|
62
|
+
dropdownMenu;
|
|
63
|
+
editor;
|
|
64
|
+
enterBeginsEditing;
|
|
65
|
+
enterMoves;
|
|
66
|
+
fillHandle;
|
|
67
|
+
filter;
|
|
68
|
+
filteringCaseSensitive;
|
|
69
|
+
filters;
|
|
70
|
+
fixedColumnsLeft;
|
|
71
|
+
fixedColumnsStart;
|
|
72
|
+
fixedRowsBottom;
|
|
73
|
+
fixedRowsTop;
|
|
74
|
+
formulas;
|
|
75
|
+
fragmentSelection;
|
|
76
|
+
height;
|
|
77
|
+
hiddenColumns;
|
|
78
|
+
hiddenRows;
|
|
79
|
+
invalidCellClassName;
|
|
80
|
+
imeFastEdit;
|
|
81
|
+
label;
|
|
82
|
+
language;
|
|
83
|
+
layoutDirection;
|
|
84
|
+
licenseKey;
|
|
85
|
+
locale;
|
|
86
|
+
manualColumnFreeze;
|
|
87
|
+
manualColumnMove;
|
|
88
|
+
manualColumnResize;
|
|
89
|
+
manualRowMove;
|
|
90
|
+
manualRowResize;
|
|
91
|
+
maxCols;
|
|
92
|
+
maxRows;
|
|
93
|
+
mergeCells;
|
|
94
|
+
minCols;
|
|
95
|
+
minRows;
|
|
96
|
+
minSpareCols;
|
|
97
|
+
minSpareRows;
|
|
98
|
+
multiColumnSorting;
|
|
99
|
+
navigableHeaders;
|
|
100
|
+
nestedHeaders;
|
|
101
|
+
nestedRows;
|
|
102
|
+
noWordWrapClassName;
|
|
103
|
+
numericFormat;
|
|
104
|
+
observeDOMVisibility;
|
|
105
|
+
outsideClickDeselects;
|
|
106
|
+
persistentState;
|
|
107
|
+
placeholder;
|
|
108
|
+
placeholderCellClassName;
|
|
109
|
+
preventOverflow;
|
|
110
|
+
preventWheel;
|
|
111
|
+
readOnly;
|
|
112
|
+
readOnlyCellClassName;
|
|
113
|
+
renderAllColumns;
|
|
114
|
+
renderAllRows;
|
|
115
|
+
renderer;
|
|
116
|
+
rowHeaders;
|
|
117
|
+
rowHeaderWidth;
|
|
118
|
+
rowHeights;
|
|
119
|
+
search;
|
|
120
|
+
selectionMode;
|
|
121
|
+
selectOptions;
|
|
122
|
+
skipColumnOnPaste;
|
|
123
|
+
skipRowOnPaste;
|
|
124
|
+
sortByRelevance;
|
|
125
|
+
source;
|
|
126
|
+
startCols;
|
|
127
|
+
startRows;
|
|
128
|
+
stretchH;
|
|
129
|
+
strict;
|
|
130
|
+
tableClassName;
|
|
131
|
+
tabMoves;
|
|
132
|
+
title;
|
|
133
|
+
trimDropdown;
|
|
134
|
+
trimRows;
|
|
135
|
+
trimWhitespace;
|
|
136
|
+
type;
|
|
137
|
+
uncheckedTemplate;
|
|
138
|
+
undo;
|
|
139
|
+
validator;
|
|
140
|
+
viewportColumnRenderingOffset;
|
|
141
|
+
viewportRowRenderingOffset;
|
|
142
|
+
visibleRows;
|
|
143
|
+
width;
|
|
144
|
+
wordWrap;
|
|
145
|
+
// handsontable hooks
|
|
146
|
+
afterAddChild;
|
|
147
|
+
afterAutofill;
|
|
148
|
+
afterBeginEditing;
|
|
149
|
+
afterCellMetaReset;
|
|
150
|
+
afterChange;
|
|
151
|
+
afterChangesObserved;
|
|
152
|
+
afterColumnCollapse;
|
|
153
|
+
afterColumnExpand;
|
|
154
|
+
afterColumnFreeze;
|
|
155
|
+
afterColumnMove;
|
|
156
|
+
afterColumnResize;
|
|
157
|
+
afterColumnSequenceChange;
|
|
158
|
+
afterColumnSort;
|
|
159
|
+
afterColumnUnfreeze;
|
|
160
|
+
afterContextMenuDefaultOptions;
|
|
161
|
+
afterContextMenuHide;
|
|
162
|
+
afterContextMenuShow;
|
|
163
|
+
afterCopy;
|
|
164
|
+
afterCopyLimit;
|
|
165
|
+
afterCreateCol;
|
|
166
|
+
afterCreateRow;
|
|
167
|
+
afterCut;
|
|
168
|
+
afterDeselect;
|
|
169
|
+
afterDestroy;
|
|
170
|
+
afterDetachChild;
|
|
171
|
+
afterDocumentKeyDown;
|
|
172
|
+
afterDrawSelection;
|
|
173
|
+
afterDropdownMenuDefaultOptions;
|
|
174
|
+
afterDropdownMenuHide;
|
|
175
|
+
afterDropdownMenuShow;
|
|
176
|
+
afterFilter;
|
|
177
|
+
afterFormulasValuesUpdate;
|
|
178
|
+
afterGetCellMeta;
|
|
179
|
+
afterGetColHeader;
|
|
180
|
+
afterGetColumnHeaderRenderers;
|
|
181
|
+
afterGetRowHeader;
|
|
182
|
+
afterGetRowHeaderRenderers;
|
|
183
|
+
afterHideColumns;
|
|
184
|
+
afterHideRows;
|
|
185
|
+
afterInit;
|
|
186
|
+
afterLanguageChange;
|
|
187
|
+
afterListen;
|
|
188
|
+
afterLoadData;
|
|
189
|
+
afterMergeCells;
|
|
190
|
+
afterModifyTransformEnd;
|
|
191
|
+
afterModifyTransformFocus;
|
|
192
|
+
afterModifyTransformStart;
|
|
193
|
+
afterMomentumScroll;
|
|
194
|
+
afterNamedExpressionAdded;
|
|
195
|
+
afterNamedExpressionRemoved;
|
|
196
|
+
afterOnCellContextMenu;
|
|
197
|
+
afterOnCellCornerDblClick;
|
|
198
|
+
afterOnCellCornerMouseDown;
|
|
199
|
+
afterOnCellMouseDown;
|
|
200
|
+
afterOnCellMouseOut;
|
|
201
|
+
afterOnCellMouseOver;
|
|
202
|
+
afterOnCellMouseUp;
|
|
203
|
+
afterPaste;
|
|
204
|
+
afterPluginsInitialized;
|
|
205
|
+
afterRedo;
|
|
206
|
+
afterRedoStackChange;
|
|
207
|
+
afterRefreshDimensions;
|
|
208
|
+
afterRemoveCellMeta;
|
|
209
|
+
afterRemoveCol;
|
|
210
|
+
afterRemoveRow;
|
|
211
|
+
afterRender;
|
|
212
|
+
afterRenderer;
|
|
213
|
+
afterRowMove;
|
|
214
|
+
afterRowResize;
|
|
215
|
+
afterRowSequenceChange;
|
|
216
|
+
afterScrollHorizontally;
|
|
217
|
+
afterScrollVertically;
|
|
218
|
+
afterScroll;
|
|
219
|
+
afterSelectColumns;
|
|
220
|
+
afterSelection;
|
|
221
|
+
afterSelectionByProp;
|
|
222
|
+
afterSelectionEnd;
|
|
223
|
+
afterSelectionEndByProp;
|
|
224
|
+
afterSelectionFocusSet;
|
|
225
|
+
afterSelectRows;
|
|
226
|
+
afterSetCellMeta;
|
|
227
|
+
afterSetDataAtCell;
|
|
228
|
+
afterSetDataAtRowProp;
|
|
229
|
+
afterSetSourceDataAtCell;
|
|
230
|
+
afterSheetAdded;
|
|
231
|
+
afterSheetRenamed;
|
|
232
|
+
afterSheetRemoved;
|
|
233
|
+
afterTrimRow;
|
|
234
|
+
afterUndo;
|
|
235
|
+
afterUndoStackChange;
|
|
236
|
+
afterUnhideColumns;
|
|
237
|
+
afterUnhideRows;
|
|
238
|
+
afterUnlisten;
|
|
239
|
+
afterUnmergeCells;
|
|
240
|
+
afterUntrimRow;
|
|
241
|
+
afterUpdateData;
|
|
242
|
+
afterUpdateSettings;
|
|
243
|
+
afterValidate;
|
|
244
|
+
afterViewportColumnCalculatorOverride;
|
|
245
|
+
afterViewportRowCalculatorOverride;
|
|
246
|
+
afterViewRender;
|
|
247
|
+
beforeAddChild;
|
|
248
|
+
beforeAutofill;
|
|
249
|
+
beforeBeginEditing;
|
|
250
|
+
beforeCellAlignment;
|
|
251
|
+
beforeChange;
|
|
252
|
+
beforeChangeRender;
|
|
253
|
+
beforeColumnCollapse;
|
|
254
|
+
beforeColumnExpand;
|
|
255
|
+
beforeColumnFreeze;
|
|
256
|
+
beforeColumnMove;
|
|
257
|
+
beforeColumnResize;
|
|
258
|
+
beforeColumnSort;
|
|
259
|
+
beforeColumnWrap;
|
|
260
|
+
beforeColumnUnfreeze;
|
|
261
|
+
beforeContextMenuSetItems;
|
|
262
|
+
beforeContextMenuShow;
|
|
263
|
+
beforeCopy;
|
|
264
|
+
beforeCreateCol;
|
|
265
|
+
beforeCreateRow;
|
|
266
|
+
beforeCut;
|
|
267
|
+
beforeDetachChild;
|
|
268
|
+
beforeDrawBorders;
|
|
269
|
+
beforeDropdownMenuSetItems;
|
|
270
|
+
beforeDropdownMenuShow;
|
|
271
|
+
beforeFilter;
|
|
272
|
+
beforeGetCellMeta;
|
|
273
|
+
beforeHideColumns;
|
|
274
|
+
beforeHideRows;
|
|
275
|
+
beforeHighlightingColumnHeader;
|
|
276
|
+
beforeHighlightingRowHeader;
|
|
277
|
+
beforeInit;
|
|
278
|
+
beforeInitWalkontable;
|
|
279
|
+
beforeKeyDown;
|
|
280
|
+
beforeLanguageChange;
|
|
281
|
+
beforeLoadData;
|
|
282
|
+
beforeMergeCells;
|
|
283
|
+
beforeOnCellContextMenu;
|
|
284
|
+
beforeOnCellMouseDown;
|
|
285
|
+
beforeOnCellMouseOut;
|
|
286
|
+
beforeOnCellMouseOver;
|
|
287
|
+
beforeOnCellMouseUp;
|
|
288
|
+
beforePaste;
|
|
289
|
+
beforeRedo;
|
|
290
|
+
beforeRedoStackChange;
|
|
291
|
+
beforeRefreshDimensions;
|
|
292
|
+
beforeRemoveCellClassNames;
|
|
293
|
+
beforeRemoveCellMeta;
|
|
294
|
+
beforeRemoveCol;
|
|
295
|
+
beforeRemoveRow;
|
|
296
|
+
beforeRender;
|
|
297
|
+
beforeRenderer;
|
|
298
|
+
beforeRowMove;
|
|
299
|
+
beforeRowResize;
|
|
300
|
+
beforeRowWrap;
|
|
301
|
+
beforeSelectColumns;
|
|
302
|
+
beforeSelectionFocusSet;
|
|
303
|
+
beforeSelectionHighlightSet;
|
|
304
|
+
beforeSelectRows;
|
|
305
|
+
beforeSetCellMeta;
|
|
306
|
+
beforeSetRangeEnd;
|
|
307
|
+
beforeSetRangeStart;
|
|
308
|
+
beforeSetRangeStartOnly;
|
|
309
|
+
beforeStretchingColumnWidth;
|
|
310
|
+
beforeTouchScroll;
|
|
311
|
+
beforeTrimRow;
|
|
312
|
+
beforeUndo;
|
|
313
|
+
beforeUndoStackChange;
|
|
314
|
+
beforeUnhideColumns;
|
|
315
|
+
beforeUnhideRows;
|
|
316
|
+
beforeUnmergeCells;
|
|
317
|
+
beforeUntrimRow;
|
|
318
|
+
beforeUpdateData;
|
|
319
|
+
beforeValidate;
|
|
320
|
+
beforeValueRender;
|
|
321
|
+
beforeViewportScroll;
|
|
322
|
+
beforeViewportScrollHorizontally;
|
|
323
|
+
beforeViewportScrollVertically;
|
|
324
|
+
beforeViewRender;
|
|
325
|
+
construct;
|
|
326
|
+
init;
|
|
327
|
+
modifyAutoColumnSizeSeed;
|
|
328
|
+
modifyAutofillRange;
|
|
329
|
+
modifyColHeader;
|
|
330
|
+
modifyColumnHeaderHeight;
|
|
331
|
+
modifyColumnHeaderValue;
|
|
332
|
+
modifyColWidth;
|
|
333
|
+
modifyCopyableRange;
|
|
334
|
+
modifyFiltersMultiSelectValue;
|
|
335
|
+
modifyFocusedElement;
|
|
336
|
+
modifyData;
|
|
337
|
+
modifyFocusOnTabNavigation;
|
|
338
|
+
modifyGetCellCoords;
|
|
339
|
+
modifyRowData;
|
|
340
|
+
modifyRowHeader;
|
|
341
|
+
modifyRowHeaderWidth;
|
|
342
|
+
modifyRowHeight;
|
|
343
|
+
modifySourceData;
|
|
344
|
+
modifyTransformEnd;
|
|
345
|
+
modifyTransformFocus;
|
|
346
|
+
modifyTransformStart;
|
|
347
|
+
persistentStateLoad;
|
|
348
|
+
persistentStateReset;
|
|
349
|
+
persistentStateSave;
|
|
350
|
+
constructor(_hotTableRegisterer, _hotSettingsResolver, ngZone) {
|
|
351
|
+
this._hotTableRegisterer = _hotTableRegisterer;
|
|
352
|
+
this._hotSettingsResolver = _hotSettingsResolver;
|
|
353
|
+
this.ngZone = ngZone;
|
|
354
|
+
}
|
|
355
|
+
get hotInstance() {
|
|
356
|
+
if (!this.__hotInstance || (this.__hotInstance && !this.__hotInstance.isDestroyed)) {
|
|
357
|
+
// Will return the Handsontable instance or `null` if it's not yet been created.
|
|
358
|
+
return this.__hotInstance;
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
this._hotTableRegisterer.removeInstance(this.hotId);
|
|
362
|
+
console.warn(HOT_DESTROYED_WARNING);
|
|
363
|
+
return null;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
set hotInstance(hotInstance) {
|
|
367
|
+
this.__hotInstance = hotInstance;
|
|
368
|
+
}
|
|
369
|
+
ngAfterViewInit() {
|
|
370
|
+
const options = this._hotSettingsResolver.mergeSettings(this);
|
|
371
|
+
if (this.columnsComponents.length > 0) {
|
|
372
|
+
const columns = [];
|
|
373
|
+
this.columnsComponents.forEach((column) => {
|
|
374
|
+
columns.push(this._hotSettingsResolver.mergeSettings(column));
|
|
375
|
+
});
|
|
376
|
+
options['columns'] = columns;
|
|
377
|
+
}
|
|
378
|
+
this.ngZone.runOutsideAngular(() => {
|
|
379
|
+
this.hotInstance = new Handsontable.Core(this.container.nativeElement, options);
|
|
380
|
+
if (this.hotId) {
|
|
381
|
+
this._hotTableRegisterer.registerInstance(this.hotId, this.hotInstance);
|
|
382
|
+
}
|
|
383
|
+
// @ts-ignore
|
|
384
|
+
this.hotInstance.init();
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
ngOnChanges(changes) {
|
|
388
|
+
if (this.hotInstance === null) {
|
|
389
|
+
return;
|
|
390
|
+
}
|
|
391
|
+
const newOptions = this._hotSettingsResolver.prepareChanges(changes);
|
|
392
|
+
this.updateHotTable(newOptions);
|
|
393
|
+
}
|
|
394
|
+
ngOnDestroy() {
|
|
395
|
+
this.ngZone.runOutsideAngular(() => {
|
|
396
|
+
if (this.hotInstance) {
|
|
397
|
+
this.hotInstance.destroy();
|
|
398
|
+
}
|
|
399
|
+
});
|
|
400
|
+
if (this.hotId) {
|
|
401
|
+
this._hotTableRegisterer.removeInstance(this.hotId);
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
updateHotTable(newSettings) {
|
|
405
|
+
if (!this.hotInstance) {
|
|
406
|
+
return;
|
|
407
|
+
}
|
|
408
|
+
this.ngZone.runOutsideAngular(() => {
|
|
409
|
+
this.hotInstance.updateSettings(newSettings, false);
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
onAfterColumnsChange() {
|
|
413
|
+
if (this.columnsComponents === void 0) {
|
|
414
|
+
return;
|
|
415
|
+
}
|
|
416
|
+
if (this.columnsComponents.length > 0) {
|
|
417
|
+
const columns = [];
|
|
418
|
+
this.columnsComponents.forEach((column) => {
|
|
419
|
+
columns.push(this._hotSettingsResolver.mergeSettings(column));
|
|
420
|
+
});
|
|
421
|
+
const newOptions = {
|
|
422
|
+
columns: columns
|
|
423
|
+
};
|
|
424
|
+
this.updateHotTable(newOptions);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
onAfterColumnsNumberChange() {
|
|
428
|
+
const columns = [];
|
|
429
|
+
if (this.columnsComponents.length > 0) {
|
|
430
|
+
this.columnsComponents.forEach((column) => {
|
|
431
|
+
columns.push(this._hotSettingsResolver.mergeSettings(column));
|
|
432
|
+
});
|
|
433
|
+
}
|
|
434
|
+
this.updateHotTable({ columns });
|
|
435
|
+
}
|
|
436
|
+
addColumn(column) {
|
|
437
|
+
this.columnsComponents.push(column);
|
|
438
|
+
this.onAfterColumnsNumberChange();
|
|
439
|
+
}
|
|
440
|
+
removeColumn(column) {
|
|
441
|
+
const index = this.columnsComponents.indexOf(column);
|
|
442
|
+
this.columnsComponents.splice(index, 1);
|
|
443
|
+
this.onAfterColumnsNumberChange();
|
|
444
|
+
}
|
|
445
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: HotTableComponent, deps: [{ token: i1.HotTableRegisterer }, { token: i2.HotSettingsResolver }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
446
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: HotTableComponent, selector: "hot-table", inputs: { settings: "settings", hotId: "hotId", activeHeaderClassName: "activeHeaderClassName", allowEmpty: "allowEmpty", allowHtml: "allowHtml", allowInsertColumn: "allowInsertColumn", allowInsertRow: "allowInsertRow", allowInvalid: "allowInvalid", allowRemoveColumn: "allowRemoveColumn", allowRemoveRow: "allowRemoveRow", ariaTags: "ariaTags", autoColumnSize: "autoColumnSize", autoRowSize: "autoRowSize", autoWrapCol: "autoWrapCol", autoWrapRow: "autoWrapRow", bindRowsWithHeaders: "bindRowsWithHeaders", cell: "cell", cells: "cells", checkedTemplate: "checkedTemplate", className: "className", colHeaders: "colHeaders", collapsibleColumns: "collapsibleColumns", columnHeaderHeight: "columnHeaderHeight", columns: "columns", columnSorting: "columnSorting", columnSummary: "columnSummary", colWidths: "colWidths", commentedCellClassName: "commentedCellClassName", comments: "comments", contextMenu: "contextMenu", copyable: "copyable", copyPaste: "copyPaste", correctFormat: "correctFormat", currentColClassName: "currentColClassName", currentHeaderClassName: "currentHeaderClassName", currentRowClassName: "currentRowClassName", customBorders: "customBorders", data: "data", dataSchema: "dataSchema", dateFormat: "dateFormat", datePickerConfig: "datePickerConfig", defaultDate: "defaultDate", tabNavigation: "tabNavigation", disableVisualSelection: "disableVisualSelection", dragToScroll: "dragToScroll", dropdownMenu: "dropdownMenu", editor: "editor", enterBeginsEditing: "enterBeginsEditing", enterMoves: "enterMoves", fillHandle: "fillHandle", filter: "filter", filteringCaseSensitive: "filteringCaseSensitive", filters: "filters", fixedColumnsLeft: "fixedColumnsLeft", fixedColumnsStart: "fixedColumnsStart", fixedRowsBottom: "fixedRowsBottom", fixedRowsTop: "fixedRowsTop", formulas: "formulas", fragmentSelection: "fragmentSelection", height: "height", hiddenColumns: "hiddenColumns", hiddenRows: "hiddenRows", invalidCellClassName: "invalidCellClassName", imeFastEdit: "imeFastEdit", label: "label", language: "language", layoutDirection: "layoutDirection", licenseKey: "licenseKey", locale: "locale", manualColumnFreeze: "manualColumnFreeze", manualColumnMove: "manualColumnMove", manualColumnResize: "manualColumnResize", manualRowMove: "manualRowMove", manualRowResize: "manualRowResize", maxCols: "maxCols", maxRows: "maxRows", mergeCells: "mergeCells", minCols: "minCols", minRows: "minRows", minSpareCols: "minSpareCols", minSpareRows: "minSpareRows", multiColumnSorting: "multiColumnSorting", navigableHeaders: "navigableHeaders", nestedHeaders: "nestedHeaders", nestedRows: "nestedRows", noWordWrapClassName: "noWordWrapClassName", numericFormat: "numericFormat", observeDOMVisibility: "observeDOMVisibility", outsideClickDeselects: "outsideClickDeselects", persistentState: "persistentState", placeholder: "placeholder", placeholderCellClassName: "placeholderCellClassName", preventOverflow: "preventOverflow", preventWheel: "preventWheel", readOnly: "readOnly", readOnlyCellClassName: "readOnlyCellClassName", renderAllColumns: "renderAllColumns", renderAllRows: "renderAllRows", renderer: "renderer", rowHeaders: "rowHeaders", rowHeaderWidth: "rowHeaderWidth", rowHeights: "rowHeights", search: "search", selectionMode: "selectionMode", selectOptions: "selectOptions", skipColumnOnPaste: "skipColumnOnPaste", skipRowOnPaste: "skipRowOnPaste", sortByRelevance: "sortByRelevance", source: "source", startCols: "startCols", startRows: "startRows", stretchH: "stretchH", strict: "strict", tableClassName: "tableClassName", tabMoves: "tabMoves", title: "title", trimDropdown: "trimDropdown", trimRows: "trimRows", trimWhitespace: "trimWhitespace", type: "type", uncheckedTemplate: "uncheckedTemplate", undo: "undo", validator: "validator", viewportColumnRenderingOffset: "viewportColumnRenderingOffset", viewportRowRenderingOffset: "viewportRowRenderingOffset", visibleRows: "visibleRows", width: "width", wordWrap: "wordWrap", afterAddChild: "afterAddChild", afterAutofill: "afterAutofill", afterBeginEditing: "afterBeginEditing", afterCellMetaReset: "afterCellMetaReset", afterChange: "afterChange", afterChangesObserved: "afterChangesObserved", afterColumnCollapse: "afterColumnCollapse", afterColumnExpand: "afterColumnExpand", afterColumnFreeze: "afterColumnFreeze", afterColumnMove: "afterColumnMove", afterColumnResize: "afterColumnResize", afterColumnSequenceChange: "afterColumnSequenceChange", afterColumnSort: "afterColumnSort", afterColumnUnfreeze: "afterColumnUnfreeze", afterContextMenuDefaultOptions: "afterContextMenuDefaultOptions", afterContextMenuHide: "afterContextMenuHide", afterContextMenuShow: "afterContextMenuShow", afterCopy: "afterCopy", afterCopyLimit: "afterCopyLimit", afterCreateCol: "afterCreateCol", afterCreateRow: "afterCreateRow", afterCut: "afterCut", afterDeselect: "afterDeselect", afterDestroy: "afterDestroy", afterDetachChild: "afterDetachChild", afterDocumentKeyDown: "afterDocumentKeyDown", afterDrawSelection: "afterDrawSelection", afterDropdownMenuDefaultOptions: "afterDropdownMenuDefaultOptions", afterDropdownMenuHide: "afterDropdownMenuHide", afterDropdownMenuShow: "afterDropdownMenuShow", afterFilter: "afterFilter", afterFormulasValuesUpdate: "afterFormulasValuesUpdate", afterGetCellMeta: "afterGetCellMeta", afterGetColHeader: "afterGetColHeader", afterGetColumnHeaderRenderers: "afterGetColumnHeaderRenderers", afterGetRowHeader: "afterGetRowHeader", afterGetRowHeaderRenderers: "afterGetRowHeaderRenderers", afterHideColumns: "afterHideColumns", afterHideRows: "afterHideRows", afterInit: "afterInit", afterLanguageChange: "afterLanguageChange", afterListen: "afterListen", afterLoadData: "afterLoadData", afterMergeCells: "afterMergeCells", afterModifyTransformEnd: "afterModifyTransformEnd", afterModifyTransformFocus: "afterModifyTransformFocus", afterModifyTransformStart: "afterModifyTransformStart", afterMomentumScroll: "afterMomentumScroll", afterNamedExpressionAdded: "afterNamedExpressionAdded", afterNamedExpressionRemoved: "afterNamedExpressionRemoved", afterOnCellContextMenu: "afterOnCellContextMenu", afterOnCellCornerDblClick: "afterOnCellCornerDblClick", afterOnCellCornerMouseDown: "afterOnCellCornerMouseDown", afterOnCellMouseDown: "afterOnCellMouseDown", afterOnCellMouseOut: "afterOnCellMouseOut", afterOnCellMouseOver: "afterOnCellMouseOver", afterOnCellMouseUp: "afterOnCellMouseUp", afterPaste: "afterPaste", afterPluginsInitialized: "afterPluginsInitialized", afterRedo: "afterRedo", afterRedoStackChange: "afterRedoStackChange", afterRefreshDimensions: "afterRefreshDimensions", afterRemoveCellMeta: "afterRemoveCellMeta", afterRemoveCol: "afterRemoveCol", afterRemoveRow: "afterRemoveRow", afterRender: "afterRender", afterRenderer: "afterRenderer", afterRowMove: "afterRowMove", afterRowResize: "afterRowResize", afterRowSequenceChange: "afterRowSequenceChange", afterScrollHorizontally: "afterScrollHorizontally", afterScrollVertically: "afterScrollVertically", afterScroll: "afterScroll", afterSelectColumns: "afterSelectColumns", afterSelection: "afterSelection", afterSelectionByProp: "afterSelectionByProp", afterSelectionEnd: "afterSelectionEnd", afterSelectionEndByProp: "afterSelectionEndByProp", afterSelectionFocusSet: "afterSelectionFocusSet", afterSelectRows: "afterSelectRows", afterSetCellMeta: "afterSetCellMeta", afterSetDataAtCell: "afterSetDataAtCell", afterSetDataAtRowProp: "afterSetDataAtRowProp", afterSetSourceDataAtCell: "afterSetSourceDataAtCell", afterSheetAdded: "afterSheetAdded", afterSheetRenamed: "afterSheetRenamed", afterSheetRemoved: "afterSheetRemoved", afterTrimRow: "afterTrimRow", afterUndo: "afterUndo", afterUndoStackChange: "afterUndoStackChange", afterUnhideColumns: "afterUnhideColumns", afterUnhideRows: "afterUnhideRows", afterUnlisten: "afterUnlisten", afterUnmergeCells: "afterUnmergeCells", afterUntrimRow: "afterUntrimRow", afterUpdateData: "afterUpdateData", afterUpdateSettings: "afterUpdateSettings", afterValidate: "afterValidate", afterViewportColumnCalculatorOverride: "afterViewportColumnCalculatorOverride", afterViewportRowCalculatorOverride: "afterViewportRowCalculatorOverride", afterViewRender: "afterViewRender", beforeAddChild: "beforeAddChild", beforeAutofill: "beforeAutofill", beforeBeginEditing: "beforeBeginEditing", beforeCellAlignment: "beforeCellAlignment", beforeChange: "beforeChange", beforeChangeRender: "beforeChangeRender", beforeColumnCollapse: "beforeColumnCollapse", beforeColumnExpand: "beforeColumnExpand", beforeColumnFreeze: "beforeColumnFreeze", beforeColumnMove: "beforeColumnMove", beforeColumnResize: "beforeColumnResize", beforeColumnSort: "beforeColumnSort", beforeColumnWrap: "beforeColumnWrap", beforeColumnUnfreeze: "beforeColumnUnfreeze", beforeContextMenuSetItems: "beforeContextMenuSetItems", beforeContextMenuShow: "beforeContextMenuShow", beforeCopy: "beforeCopy", beforeCreateCol: "beforeCreateCol", beforeCreateRow: "beforeCreateRow", beforeCut: "beforeCut", beforeDetachChild: "beforeDetachChild", beforeDrawBorders: "beforeDrawBorders", beforeDropdownMenuSetItems: "beforeDropdownMenuSetItems", beforeDropdownMenuShow: "beforeDropdownMenuShow", beforeFilter: "beforeFilter", beforeGetCellMeta: "beforeGetCellMeta", beforeHideColumns: "beforeHideColumns", beforeHideRows: "beforeHideRows", beforeHighlightingColumnHeader: "beforeHighlightingColumnHeader", beforeHighlightingRowHeader: "beforeHighlightingRowHeader", beforeInit: "beforeInit", beforeInitWalkontable: "beforeInitWalkontable", beforeKeyDown: "beforeKeyDown", beforeLanguageChange: "beforeLanguageChange", beforeLoadData: "beforeLoadData", beforeMergeCells: "beforeMergeCells", beforeOnCellContextMenu: "beforeOnCellContextMenu", beforeOnCellMouseDown: "beforeOnCellMouseDown", beforeOnCellMouseOut: "beforeOnCellMouseOut", beforeOnCellMouseOver: "beforeOnCellMouseOver", beforeOnCellMouseUp: "beforeOnCellMouseUp", beforePaste: "beforePaste", beforeRedo: "beforeRedo", beforeRedoStackChange: "beforeRedoStackChange", beforeRefreshDimensions: "beforeRefreshDimensions", beforeRemoveCellClassNames: "beforeRemoveCellClassNames", beforeRemoveCellMeta: "beforeRemoveCellMeta", beforeRemoveCol: "beforeRemoveCol", beforeRemoveRow: "beforeRemoveRow", beforeRender: "beforeRender", beforeRenderer: "beforeRenderer", beforeRowMove: "beforeRowMove", beforeRowResize: "beforeRowResize", beforeRowWrap: "beforeRowWrap", beforeSelectColumns: "beforeSelectColumns", beforeSelectionFocusSet: "beforeSelectionFocusSet", beforeSelectionHighlightSet: "beforeSelectionHighlightSet", beforeSelectRows: "beforeSelectRows", beforeSetCellMeta: "beforeSetCellMeta", beforeSetRangeEnd: "beforeSetRangeEnd", beforeSetRangeStart: "beforeSetRangeStart", beforeSetRangeStartOnly: "beforeSetRangeStartOnly", beforeStretchingColumnWidth: "beforeStretchingColumnWidth", beforeTouchScroll: "beforeTouchScroll", beforeTrimRow: "beforeTrimRow", beforeUndo: "beforeUndo", beforeUndoStackChange: "beforeUndoStackChange", beforeUnhideColumns: "beforeUnhideColumns", beforeUnhideRows: "beforeUnhideRows", beforeUnmergeCells: "beforeUnmergeCells", beforeUntrimRow: "beforeUntrimRow", beforeUpdateData: "beforeUpdateData", beforeValidate: "beforeValidate", beforeValueRender: "beforeValueRender", beforeViewportScroll: "beforeViewportScroll", beforeViewportScrollHorizontally: "beforeViewportScrollHorizontally", beforeViewportScrollVertically: "beforeViewportScrollVertically", beforeViewRender: "beforeViewRender", construct: "construct", init: "init", modifyAutoColumnSizeSeed: "modifyAutoColumnSizeSeed", modifyAutofillRange: "modifyAutofillRange", modifyColHeader: "modifyColHeader", modifyColumnHeaderHeight: "modifyColumnHeaderHeight", modifyColumnHeaderValue: "modifyColumnHeaderValue", modifyColWidth: "modifyColWidth", modifyCopyableRange: "modifyCopyableRange", modifyFiltersMultiSelectValue: "modifyFiltersMultiSelectValue", modifyFocusedElement: "modifyFocusedElement", modifyData: "modifyData", modifyFocusOnTabNavigation: "modifyFocusOnTabNavigation", modifyGetCellCoords: "modifyGetCellCoords", modifyRowData: "modifyRowData", modifyRowHeader: "modifyRowHeader", modifyRowHeaderWidth: "modifyRowHeaderWidth", modifyRowHeight: "modifyRowHeight", modifySourceData: "modifySourceData", modifyTransformEnd: "modifyTransformEnd", modifyTransformFocus: "modifyTransformFocus", modifyTransformStart: "modifyTransformStart", persistentStateLoad: "persistentStateLoad", persistentStateReset: "persistentStateReset", persistentStateSave: "persistentStateSave" }, providers: [HotTableRegisterer, HotSettingsResolver], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container [id]="hotId"></div>', isInline: true, encapsulation: i0.ViewEncapsulation.None });
|
|
447
|
+
}
|
|
448
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: HotTableComponent, decorators: [{
|
|
449
|
+
type: Component,
|
|
450
|
+
args: [{
|
|
451
|
+
selector: 'hot-table',
|
|
452
|
+
template: '<div #container [id]="hotId"></div>',
|
|
453
|
+
encapsulation: ViewEncapsulation.None,
|
|
454
|
+
providers: [HotTableRegisterer, HotSettingsResolver],
|
|
455
|
+
}]
|
|
456
|
+
}], ctorParameters: () => [{ type: i1.HotTableRegisterer }, { type: i2.HotSettingsResolver }, { type: i0.NgZone }], propDecorators: { container: [{
|
|
457
|
+
type: ViewChild,
|
|
458
|
+
args: ['container', { static: false }]
|
|
459
|
+
}], settings: [{
|
|
460
|
+
type: Input
|
|
461
|
+
}], hotId: [{
|
|
462
|
+
type: Input
|
|
463
|
+
}], activeHeaderClassName: [{
|
|
464
|
+
type: Input
|
|
465
|
+
}], allowEmpty: [{
|
|
466
|
+
type: Input
|
|
467
|
+
}], allowHtml: [{
|
|
468
|
+
type: Input
|
|
469
|
+
}], allowInsertColumn: [{
|
|
470
|
+
type: Input
|
|
471
|
+
}], allowInsertRow: [{
|
|
472
|
+
type: Input
|
|
473
|
+
}], allowInvalid: [{
|
|
474
|
+
type: Input
|
|
475
|
+
}], allowRemoveColumn: [{
|
|
476
|
+
type: Input
|
|
477
|
+
}], allowRemoveRow: [{
|
|
478
|
+
type: Input
|
|
479
|
+
}], ariaTags: [{
|
|
480
|
+
type: Input
|
|
481
|
+
}], autoColumnSize: [{
|
|
482
|
+
type: Input
|
|
483
|
+
}], autoRowSize: [{
|
|
484
|
+
type: Input
|
|
485
|
+
}], autoWrapCol: [{
|
|
486
|
+
type: Input
|
|
487
|
+
}], autoWrapRow: [{
|
|
488
|
+
type: Input
|
|
489
|
+
}], bindRowsWithHeaders: [{
|
|
490
|
+
type: Input
|
|
491
|
+
}], cell: [{
|
|
492
|
+
type: Input
|
|
493
|
+
}], cells: [{
|
|
494
|
+
type: Input
|
|
495
|
+
}], checkedTemplate: [{
|
|
496
|
+
type: Input
|
|
497
|
+
}], className: [{
|
|
498
|
+
type: Input
|
|
499
|
+
}], colHeaders: [{
|
|
500
|
+
type: Input
|
|
501
|
+
}], collapsibleColumns: [{
|
|
502
|
+
type: Input
|
|
503
|
+
}], columnHeaderHeight: [{
|
|
504
|
+
type: Input
|
|
505
|
+
}], columns: [{
|
|
506
|
+
type: Input
|
|
507
|
+
}], columnSorting: [{
|
|
508
|
+
type: Input
|
|
509
|
+
}], columnSummary: [{
|
|
510
|
+
type: Input
|
|
511
|
+
}], colWidths: [{
|
|
512
|
+
type: Input
|
|
513
|
+
}], commentedCellClassName: [{
|
|
514
|
+
type: Input
|
|
515
|
+
}], comments: [{
|
|
516
|
+
type: Input
|
|
517
|
+
}], contextMenu: [{
|
|
518
|
+
type: Input
|
|
519
|
+
}], copyable: [{
|
|
520
|
+
type: Input
|
|
521
|
+
}], copyPaste: [{
|
|
522
|
+
type: Input
|
|
523
|
+
}], correctFormat: [{
|
|
524
|
+
type: Input
|
|
525
|
+
}], currentColClassName: [{
|
|
526
|
+
type: Input
|
|
527
|
+
}], currentHeaderClassName: [{
|
|
528
|
+
type: Input
|
|
529
|
+
}], currentRowClassName: [{
|
|
530
|
+
type: Input
|
|
531
|
+
}], customBorders: [{
|
|
532
|
+
type: Input
|
|
533
|
+
}], data: [{
|
|
534
|
+
type: Input
|
|
535
|
+
}], dataSchema: [{
|
|
536
|
+
type: Input
|
|
537
|
+
}], dateFormat: [{
|
|
538
|
+
type: Input
|
|
539
|
+
}], datePickerConfig: [{
|
|
540
|
+
type: Input
|
|
541
|
+
}], defaultDate: [{
|
|
542
|
+
type: Input
|
|
543
|
+
}], tabNavigation: [{
|
|
544
|
+
type: Input
|
|
545
|
+
}], disableVisualSelection: [{
|
|
546
|
+
type: Input
|
|
547
|
+
}], dragToScroll: [{
|
|
548
|
+
type: Input
|
|
549
|
+
}], dropdownMenu: [{
|
|
550
|
+
type: Input
|
|
551
|
+
}], editor: [{
|
|
552
|
+
type: Input
|
|
553
|
+
}], enterBeginsEditing: [{
|
|
554
|
+
type: Input
|
|
555
|
+
}], enterMoves: [{
|
|
556
|
+
type: Input
|
|
557
|
+
}], fillHandle: [{
|
|
558
|
+
type: Input
|
|
559
|
+
}], filter: [{
|
|
560
|
+
type: Input
|
|
561
|
+
}], filteringCaseSensitive: [{
|
|
562
|
+
type: Input
|
|
563
|
+
}], filters: [{
|
|
564
|
+
type: Input
|
|
565
|
+
}], fixedColumnsLeft: [{
|
|
566
|
+
type: Input
|
|
567
|
+
}], fixedColumnsStart: [{
|
|
568
|
+
type: Input
|
|
569
|
+
}], fixedRowsBottom: [{
|
|
570
|
+
type: Input
|
|
571
|
+
}], fixedRowsTop: [{
|
|
572
|
+
type: Input
|
|
573
|
+
}], formulas: [{
|
|
574
|
+
type: Input
|
|
575
|
+
}], fragmentSelection: [{
|
|
576
|
+
type: Input
|
|
577
|
+
}], height: [{
|
|
578
|
+
type: Input
|
|
579
|
+
}], hiddenColumns: [{
|
|
580
|
+
type: Input
|
|
581
|
+
}], hiddenRows: [{
|
|
582
|
+
type: Input
|
|
583
|
+
}], invalidCellClassName: [{
|
|
584
|
+
type: Input
|
|
585
|
+
}], imeFastEdit: [{
|
|
586
|
+
type: Input
|
|
587
|
+
}], label: [{
|
|
588
|
+
type: Input
|
|
589
|
+
}], language: [{
|
|
590
|
+
type: Input
|
|
591
|
+
}], layoutDirection: [{
|
|
592
|
+
type: Input
|
|
593
|
+
}], licenseKey: [{
|
|
594
|
+
type: Input
|
|
595
|
+
}], locale: [{
|
|
596
|
+
type: Input
|
|
597
|
+
}], manualColumnFreeze: [{
|
|
598
|
+
type: Input
|
|
599
|
+
}], manualColumnMove: [{
|
|
600
|
+
type: Input
|
|
601
|
+
}], manualColumnResize: [{
|
|
602
|
+
type: Input
|
|
603
|
+
}], manualRowMove: [{
|
|
604
|
+
type: Input
|
|
605
|
+
}], manualRowResize: [{
|
|
606
|
+
type: Input
|
|
607
|
+
}], maxCols: [{
|
|
608
|
+
type: Input
|
|
609
|
+
}], maxRows: [{
|
|
610
|
+
type: Input
|
|
611
|
+
}], mergeCells: [{
|
|
612
|
+
type: Input
|
|
613
|
+
}], minCols: [{
|
|
614
|
+
type: Input
|
|
615
|
+
}], minRows: [{
|
|
616
|
+
type: Input
|
|
617
|
+
}], minSpareCols: [{
|
|
618
|
+
type: Input
|
|
619
|
+
}], minSpareRows: [{
|
|
620
|
+
type: Input
|
|
621
|
+
}], multiColumnSorting: [{
|
|
622
|
+
type: Input
|
|
623
|
+
}], navigableHeaders: [{
|
|
624
|
+
type: Input
|
|
625
|
+
}], nestedHeaders: [{
|
|
626
|
+
type: Input
|
|
627
|
+
}], nestedRows: [{
|
|
628
|
+
type: Input
|
|
629
|
+
}], noWordWrapClassName: [{
|
|
630
|
+
type: Input
|
|
631
|
+
}], numericFormat: [{
|
|
632
|
+
type: Input
|
|
633
|
+
}], observeDOMVisibility: [{
|
|
634
|
+
type: Input
|
|
635
|
+
}], outsideClickDeselects: [{
|
|
636
|
+
type: Input
|
|
637
|
+
}], persistentState: [{
|
|
638
|
+
type: Input
|
|
639
|
+
}], placeholder: [{
|
|
640
|
+
type: Input
|
|
641
|
+
}], placeholderCellClassName: [{
|
|
642
|
+
type: Input
|
|
643
|
+
}], preventOverflow: [{
|
|
644
|
+
type: Input
|
|
645
|
+
}], preventWheel: [{
|
|
646
|
+
type: Input
|
|
647
|
+
}], readOnly: [{
|
|
648
|
+
type: Input
|
|
649
|
+
}], readOnlyCellClassName: [{
|
|
650
|
+
type: Input
|
|
651
|
+
}], renderAllColumns: [{
|
|
652
|
+
type: Input
|
|
653
|
+
}], renderAllRows: [{
|
|
654
|
+
type: Input
|
|
655
|
+
}], renderer: [{
|
|
656
|
+
type: Input
|
|
657
|
+
}], rowHeaders: [{
|
|
658
|
+
type: Input
|
|
659
|
+
}], rowHeaderWidth: [{
|
|
660
|
+
type: Input
|
|
661
|
+
}], rowHeights: [{
|
|
662
|
+
type: Input
|
|
663
|
+
}], search: [{
|
|
664
|
+
type: Input
|
|
665
|
+
}], selectionMode: [{
|
|
666
|
+
type: Input
|
|
667
|
+
}], selectOptions: [{
|
|
668
|
+
type: Input
|
|
669
|
+
}], skipColumnOnPaste: [{
|
|
670
|
+
type: Input
|
|
671
|
+
}], skipRowOnPaste: [{
|
|
672
|
+
type: Input
|
|
673
|
+
}], sortByRelevance: [{
|
|
674
|
+
type: Input
|
|
675
|
+
}], source: [{
|
|
676
|
+
type: Input
|
|
677
|
+
}], startCols: [{
|
|
678
|
+
type: Input
|
|
679
|
+
}], startRows: [{
|
|
680
|
+
type: Input
|
|
681
|
+
}], stretchH: [{
|
|
682
|
+
type: Input
|
|
683
|
+
}], strict: [{
|
|
684
|
+
type: Input
|
|
685
|
+
}], tableClassName: [{
|
|
686
|
+
type: Input
|
|
687
|
+
}], tabMoves: [{
|
|
688
|
+
type: Input
|
|
689
|
+
}], title: [{
|
|
690
|
+
type: Input
|
|
691
|
+
}], trimDropdown: [{
|
|
692
|
+
type: Input
|
|
693
|
+
}], trimRows: [{
|
|
694
|
+
type: Input
|
|
695
|
+
}], trimWhitespace: [{
|
|
696
|
+
type: Input
|
|
697
|
+
}], type: [{
|
|
698
|
+
type: Input
|
|
699
|
+
}], uncheckedTemplate: [{
|
|
700
|
+
type: Input
|
|
701
|
+
}], undo: [{
|
|
702
|
+
type: Input
|
|
703
|
+
}], validator: [{
|
|
704
|
+
type: Input
|
|
705
|
+
}], viewportColumnRenderingOffset: [{
|
|
706
|
+
type: Input
|
|
707
|
+
}], viewportRowRenderingOffset: [{
|
|
708
|
+
type: Input
|
|
709
|
+
}], visibleRows: [{
|
|
710
|
+
type: Input
|
|
711
|
+
}], width: [{
|
|
712
|
+
type: Input
|
|
713
|
+
}], wordWrap: [{
|
|
714
|
+
type: Input
|
|
715
|
+
}], afterAddChild: [{
|
|
716
|
+
type: Input
|
|
717
|
+
}], afterAutofill: [{
|
|
718
|
+
type: Input
|
|
719
|
+
}], afterBeginEditing: [{
|
|
720
|
+
type: Input
|
|
721
|
+
}], afterCellMetaReset: [{
|
|
722
|
+
type: Input
|
|
723
|
+
}], afterChange: [{
|
|
724
|
+
type: Input
|
|
725
|
+
}], afterChangesObserved: [{
|
|
726
|
+
type: Input
|
|
727
|
+
}], afterColumnCollapse: [{
|
|
728
|
+
type: Input
|
|
729
|
+
}], afterColumnExpand: [{
|
|
730
|
+
type: Input
|
|
731
|
+
}], afterColumnFreeze: [{
|
|
732
|
+
type: Input
|
|
733
|
+
}], afterColumnMove: [{
|
|
734
|
+
type: Input
|
|
735
|
+
}], afterColumnResize: [{
|
|
736
|
+
type: Input
|
|
737
|
+
}], afterColumnSequenceChange: [{
|
|
738
|
+
type: Input
|
|
739
|
+
}], afterColumnSort: [{
|
|
740
|
+
type: Input
|
|
741
|
+
}], afterColumnUnfreeze: [{
|
|
742
|
+
type: Input
|
|
743
|
+
}], afterContextMenuDefaultOptions: [{
|
|
744
|
+
type: Input
|
|
745
|
+
}], afterContextMenuHide: [{
|
|
746
|
+
type: Input
|
|
747
|
+
}], afterContextMenuShow: [{
|
|
748
|
+
type: Input
|
|
749
|
+
}], afterCopy: [{
|
|
750
|
+
type: Input
|
|
751
|
+
}], afterCopyLimit: [{
|
|
752
|
+
type: Input
|
|
753
|
+
}], afterCreateCol: [{
|
|
754
|
+
type: Input
|
|
755
|
+
}], afterCreateRow: [{
|
|
756
|
+
type: Input
|
|
757
|
+
}], afterCut: [{
|
|
758
|
+
type: Input
|
|
759
|
+
}], afterDeselect: [{
|
|
760
|
+
type: Input
|
|
761
|
+
}], afterDestroy: [{
|
|
762
|
+
type: Input
|
|
763
|
+
}], afterDetachChild: [{
|
|
764
|
+
type: Input
|
|
765
|
+
}], afterDocumentKeyDown: [{
|
|
766
|
+
type: Input
|
|
767
|
+
}], afterDrawSelection: [{
|
|
768
|
+
type: Input
|
|
769
|
+
}], afterDropdownMenuDefaultOptions: [{
|
|
770
|
+
type: Input
|
|
771
|
+
}], afterDropdownMenuHide: [{
|
|
772
|
+
type: Input
|
|
773
|
+
}], afterDropdownMenuShow: [{
|
|
774
|
+
type: Input
|
|
775
|
+
}], afterFilter: [{
|
|
776
|
+
type: Input
|
|
777
|
+
}], afterFormulasValuesUpdate: [{
|
|
778
|
+
type: Input
|
|
779
|
+
}], afterGetCellMeta: [{
|
|
780
|
+
type: Input
|
|
781
|
+
}], afterGetColHeader: [{
|
|
782
|
+
type: Input
|
|
783
|
+
}], afterGetColumnHeaderRenderers: [{
|
|
784
|
+
type: Input
|
|
785
|
+
}], afterGetRowHeader: [{
|
|
786
|
+
type: Input
|
|
787
|
+
}], afterGetRowHeaderRenderers: [{
|
|
788
|
+
type: Input
|
|
789
|
+
}], afterHideColumns: [{
|
|
790
|
+
type: Input
|
|
791
|
+
}], afterHideRows: [{
|
|
792
|
+
type: Input
|
|
793
|
+
}], afterInit: [{
|
|
794
|
+
type: Input
|
|
795
|
+
}], afterLanguageChange: [{
|
|
796
|
+
type: Input
|
|
797
|
+
}], afterListen: [{
|
|
798
|
+
type: Input
|
|
799
|
+
}], afterLoadData: [{
|
|
800
|
+
type: Input
|
|
801
|
+
}], afterMergeCells: [{
|
|
802
|
+
type: Input
|
|
803
|
+
}], afterModifyTransformEnd: [{
|
|
804
|
+
type: Input
|
|
805
|
+
}], afterModifyTransformFocus: [{
|
|
806
|
+
type: Input
|
|
807
|
+
}], afterModifyTransformStart: [{
|
|
808
|
+
type: Input
|
|
809
|
+
}], afterMomentumScroll: [{
|
|
810
|
+
type: Input
|
|
811
|
+
}], afterNamedExpressionAdded: [{
|
|
812
|
+
type: Input
|
|
813
|
+
}], afterNamedExpressionRemoved: [{
|
|
814
|
+
type: Input
|
|
815
|
+
}], afterOnCellContextMenu: [{
|
|
816
|
+
type: Input
|
|
817
|
+
}], afterOnCellCornerDblClick: [{
|
|
818
|
+
type: Input
|
|
819
|
+
}], afterOnCellCornerMouseDown: [{
|
|
820
|
+
type: Input
|
|
821
|
+
}], afterOnCellMouseDown: [{
|
|
822
|
+
type: Input
|
|
823
|
+
}], afterOnCellMouseOut: [{
|
|
824
|
+
type: Input
|
|
825
|
+
}], afterOnCellMouseOver: [{
|
|
826
|
+
type: Input
|
|
827
|
+
}], afterOnCellMouseUp: [{
|
|
828
|
+
type: Input
|
|
829
|
+
}], afterPaste: [{
|
|
830
|
+
type: Input
|
|
831
|
+
}], afterPluginsInitialized: [{
|
|
832
|
+
type: Input
|
|
833
|
+
}], afterRedo: [{
|
|
834
|
+
type: Input
|
|
835
|
+
}], afterRedoStackChange: [{
|
|
836
|
+
type: Input
|
|
837
|
+
}], afterRefreshDimensions: [{
|
|
838
|
+
type: Input
|
|
839
|
+
}], afterRemoveCellMeta: [{
|
|
840
|
+
type: Input
|
|
841
|
+
}], afterRemoveCol: [{
|
|
842
|
+
type: Input
|
|
843
|
+
}], afterRemoveRow: [{
|
|
844
|
+
type: Input
|
|
845
|
+
}], afterRender: [{
|
|
846
|
+
type: Input
|
|
847
|
+
}], afterRenderer: [{
|
|
848
|
+
type: Input
|
|
849
|
+
}], afterRowMove: [{
|
|
850
|
+
type: Input
|
|
851
|
+
}], afterRowResize: [{
|
|
852
|
+
type: Input
|
|
853
|
+
}], afterRowSequenceChange: [{
|
|
854
|
+
type: Input
|
|
855
|
+
}], afterScrollHorizontally: [{
|
|
856
|
+
type: Input
|
|
857
|
+
}], afterScrollVertically: [{
|
|
858
|
+
type: Input
|
|
859
|
+
}], afterScroll: [{
|
|
860
|
+
type: Input
|
|
861
|
+
}], afterSelectColumns: [{
|
|
862
|
+
type: Input
|
|
863
|
+
}], afterSelection: [{
|
|
864
|
+
type: Input
|
|
865
|
+
}], afterSelectionByProp: [{
|
|
866
|
+
type: Input
|
|
867
|
+
}], afterSelectionEnd: [{
|
|
868
|
+
type: Input
|
|
869
|
+
}], afterSelectionEndByProp: [{
|
|
870
|
+
type: Input
|
|
871
|
+
}], afterSelectionFocusSet: [{
|
|
872
|
+
type: Input
|
|
873
|
+
}], afterSelectRows: [{
|
|
874
|
+
type: Input
|
|
875
|
+
}], afterSetCellMeta: [{
|
|
876
|
+
type: Input
|
|
877
|
+
}], afterSetDataAtCell: [{
|
|
878
|
+
type: Input
|
|
879
|
+
}], afterSetDataAtRowProp: [{
|
|
880
|
+
type: Input
|
|
881
|
+
}], afterSetSourceDataAtCell: [{
|
|
882
|
+
type: Input
|
|
883
|
+
}], afterSheetAdded: [{
|
|
884
|
+
type: Input
|
|
885
|
+
}], afterSheetRenamed: [{
|
|
886
|
+
type: Input
|
|
887
|
+
}], afterSheetRemoved: [{
|
|
888
|
+
type: Input
|
|
889
|
+
}], afterTrimRow: [{
|
|
890
|
+
type: Input
|
|
891
|
+
}], afterUndo: [{
|
|
892
|
+
type: Input
|
|
893
|
+
}], afterUndoStackChange: [{
|
|
894
|
+
type: Input
|
|
895
|
+
}], afterUnhideColumns: [{
|
|
896
|
+
type: Input
|
|
897
|
+
}], afterUnhideRows: [{
|
|
898
|
+
type: Input
|
|
899
|
+
}], afterUnlisten: [{
|
|
900
|
+
type: Input
|
|
901
|
+
}], afterUnmergeCells: [{
|
|
902
|
+
type: Input
|
|
903
|
+
}], afterUntrimRow: [{
|
|
904
|
+
type: Input
|
|
905
|
+
}], afterUpdateData: [{
|
|
906
|
+
type: Input
|
|
907
|
+
}], afterUpdateSettings: [{
|
|
908
|
+
type: Input
|
|
909
|
+
}], afterValidate: [{
|
|
910
|
+
type: Input
|
|
911
|
+
}], afterViewportColumnCalculatorOverride: [{
|
|
912
|
+
type: Input
|
|
913
|
+
}], afterViewportRowCalculatorOverride: [{
|
|
914
|
+
type: Input
|
|
915
|
+
}], afterViewRender: [{
|
|
916
|
+
type: Input
|
|
917
|
+
}], beforeAddChild: [{
|
|
918
|
+
type: Input
|
|
919
|
+
}], beforeAutofill: [{
|
|
920
|
+
type: Input
|
|
921
|
+
}], beforeBeginEditing: [{
|
|
922
|
+
type: Input
|
|
923
|
+
}], beforeCellAlignment: [{
|
|
924
|
+
type: Input
|
|
925
|
+
}], beforeChange: [{
|
|
926
|
+
type: Input
|
|
927
|
+
}], beforeChangeRender: [{
|
|
928
|
+
type: Input
|
|
929
|
+
}], beforeColumnCollapse: [{
|
|
930
|
+
type: Input
|
|
931
|
+
}], beforeColumnExpand: [{
|
|
932
|
+
type: Input
|
|
933
|
+
}], beforeColumnFreeze: [{
|
|
934
|
+
type: Input
|
|
935
|
+
}], beforeColumnMove: [{
|
|
936
|
+
type: Input
|
|
937
|
+
}], beforeColumnResize: [{
|
|
938
|
+
type: Input
|
|
939
|
+
}], beforeColumnSort: [{
|
|
940
|
+
type: Input
|
|
941
|
+
}], beforeColumnWrap: [{
|
|
942
|
+
type: Input
|
|
943
|
+
}], beforeColumnUnfreeze: [{
|
|
944
|
+
type: Input
|
|
945
|
+
}], beforeContextMenuSetItems: [{
|
|
946
|
+
type: Input
|
|
947
|
+
}], beforeContextMenuShow: [{
|
|
948
|
+
type: Input
|
|
949
|
+
}], beforeCopy: [{
|
|
950
|
+
type: Input
|
|
951
|
+
}], beforeCreateCol: [{
|
|
952
|
+
type: Input
|
|
953
|
+
}], beforeCreateRow: [{
|
|
954
|
+
type: Input
|
|
955
|
+
}], beforeCut: [{
|
|
956
|
+
type: Input
|
|
957
|
+
}], beforeDetachChild: [{
|
|
958
|
+
type: Input
|
|
959
|
+
}], beforeDrawBorders: [{
|
|
960
|
+
type: Input
|
|
961
|
+
}], beforeDropdownMenuSetItems: [{
|
|
962
|
+
type: Input
|
|
963
|
+
}], beforeDropdownMenuShow: [{
|
|
964
|
+
type: Input
|
|
965
|
+
}], beforeFilter: [{
|
|
966
|
+
type: Input
|
|
967
|
+
}], beforeGetCellMeta: [{
|
|
968
|
+
type: Input
|
|
969
|
+
}], beforeHideColumns: [{
|
|
970
|
+
type: Input
|
|
971
|
+
}], beforeHideRows: [{
|
|
972
|
+
type: Input
|
|
973
|
+
}], beforeHighlightingColumnHeader: [{
|
|
974
|
+
type: Input
|
|
975
|
+
}], beforeHighlightingRowHeader: [{
|
|
976
|
+
type: Input
|
|
977
|
+
}], beforeInit: [{
|
|
978
|
+
type: Input
|
|
979
|
+
}], beforeInitWalkontable: [{
|
|
980
|
+
type: Input
|
|
981
|
+
}], beforeKeyDown: [{
|
|
982
|
+
type: Input
|
|
983
|
+
}], beforeLanguageChange: [{
|
|
984
|
+
type: Input
|
|
985
|
+
}], beforeLoadData: [{
|
|
986
|
+
type: Input
|
|
987
|
+
}], beforeMergeCells: [{
|
|
988
|
+
type: Input
|
|
989
|
+
}], beforeOnCellContextMenu: [{
|
|
990
|
+
type: Input
|
|
991
|
+
}], beforeOnCellMouseDown: [{
|
|
992
|
+
type: Input
|
|
993
|
+
}], beforeOnCellMouseOut: [{
|
|
994
|
+
type: Input
|
|
995
|
+
}], beforeOnCellMouseOver: [{
|
|
996
|
+
type: Input
|
|
997
|
+
}], beforeOnCellMouseUp: [{
|
|
998
|
+
type: Input
|
|
999
|
+
}], beforePaste: [{
|
|
1000
|
+
type: Input
|
|
1001
|
+
}], beforeRedo: [{
|
|
1002
|
+
type: Input
|
|
1003
|
+
}], beforeRedoStackChange: [{
|
|
1004
|
+
type: Input
|
|
1005
|
+
}], beforeRefreshDimensions: [{
|
|
1006
|
+
type: Input
|
|
1007
|
+
}], beforeRemoveCellClassNames: [{
|
|
1008
|
+
type: Input
|
|
1009
|
+
}], beforeRemoveCellMeta: [{
|
|
1010
|
+
type: Input
|
|
1011
|
+
}], beforeRemoveCol: [{
|
|
1012
|
+
type: Input
|
|
1013
|
+
}], beforeRemoveRow: [{
|
|
1014
|
+
type: Input
|
|
1015
|
+
}], beforeRender: [{
|
|
1016
|
+
type: Input
|
|
1017
|
+
}], beforeRenderer: [{
|
|
1018
|
+
type: Input
|
|
1019
|
+
}], beforeRowMove: [{
|
|
1020
|
+
type: Input
|
|
1021
|
+
}], beforeRowResize: [{
|
|
1022
|
+
type: Input
|
|
1023
|
+
}], beforeRowWrap: [{
|
|
1024
|
+
type: Input
|
|
1025
|
+
}], beforeSelectColumns: [{
|
|
1026
|
+
type: Input
|
|
1027
|
+
}], beforeSelectionFocusSet: [{
|
|
1028
|
+
type: Input
|
|
1029
|
+
}], beforeSelectionHighlightSet: [{
|
|
1030
|
+
type: Input
|
|
1031
|
+
}], beforeSelectRows: [{
|
|
1032
|
+
type: Input
|
|
1033
|
+
}], beforeSetCellMeta: [{
|
|
1034
|
+
type: Input
|
|
1035
|
+
}], beforeSetRangeEnd: [{
|
|
1036
|
+
type: Input
|
|
1037
|
+
}], beforeSetRangeStart: [{
|
|
1038
|
+
type: Input
|
|
1039
|
+
}], beforeSetRangeStartOnly: [{
|
|
1040
|
+
type: Input
|
|
1041
|
+
}], beforeStretchingColumnWidth: [{
|
|
1042
|
+
type: Input
|
|
1043
|
+
}], beforeTouchScroll: [{
|
|
1044
|
+
type: Input
|
|
1045
|
+
}], beforeTrimRow: [{
|
|
1046
|
+
type: Input
|
|
1047
|
+
}], beforeUndo: [{
|
|
1048
|
+
type: Input
|
|
1049
|
+
}], beforeUndoStackChange: [{
|
|
1050
|
+
type: Input
|
|
1051
|
+
}], beforeUnhideColumns: [{
|
|
1052
|
+
type: Input
|
|
1053
|
+
}], beforeUnhideRows: [{
|
|
1054
|
+
type: Input
|
|
1055
|
+
}], beforeUnmergeCells: [{
|
|
1056
|
+
type: Input
|
|
1057
|
+
}], beforeUntrimRow: [{
|
|
1058
|
+
type: Input
|
|
1059
|
+
}], beforeUpdateData: [{
|
|
1060
|
+
type: Input
|
|
1061
|
+
}], beforeValidate: [{
|
|
1062
|
+
type: Input
|
|
1063
|
+
}], beforeValueRender: [{
|
|
1064
|
+
type: Input
|
|
1065
|
+
}], beforeViewportScroll: [{
|
|
1066
|
+
type: Input
|
|
1067
|
+
}], beforeViewportScrollHorizontally: [{
|
|
1068
|
+
type: Input
|
|
1069
|
+
}], beforeViewportScrollVertically: [{
|
|
1070
|
+
type: Input
|
|
1071
|
+
}], beforeViewRender: [{
|
|
1072
|
+
type: Input
|
|
1073
|
+
}], construct: [{
|
|
1074
|
+
type: Input
|
|
1075
|
+
}], init: [{
|
|
1076
|
+
type: Input
|
|
1077
|
+
}], modifyAutoColumnSizeSeed: [{
|
|
1078
|
+
type: Input
|
|
1079
|
+
}], modifyAutofillRange: [{
|
|
1080
|
+
type: Input
|
|
1081
|
+
}], modifyColHeader: [{
|
|
1082
|
+
type: Input
|
|
1083
|
+
}], modifyColumnHeaderHeight: [{
|
|
1084
|
+
type: Input
|
|
1085
|
+
}], modifyColumnHeaderValue: [{
|
|
1086
|
+
type: Input
|
|
1087
|
+
}], modifyColWidth: [{
|
|
1088
|
+
type: Input
|
|
1089
|
+
}], modifyCopyableRange: [{
|
|
1090
|
+
type: Input
|
|
1091
|
+
}], modifyFiltersMultiSelectValue: [{
|
|
1092
|
+
type: Input
|
|
1093
|
+
}], modifyFocusedElement: [{
|
|
1094
|
+
type: Input
|
|
1095
|
+
}], modifyData: [{
|
|
1096
|
+
type: Input
|
|
1097
|
+
}], modifyFocusOnTabNavigation: [{
|
|
1098
|
+
type: Input
|
|
1099
|
+
}], modifyGetCellCoords: [{
|
|
1100
|
+
type: Input
|
|
1101
|
+
}], modifyRowData: [{
|
|
1102
|
+
type: Input
|
|
1103
|
+
}], modifyRowHeader: [{
|
|
1104
|
+
type: Input
|
|
1105
|
+
}], modifyRowHeaderWidth: [{
|
|
1106
|
+
type: Input
|
|
1107
|
+
}], modifyRowHeight: [{
|
|
1108
|
+
type: Input
|
|
1109
|
+
}], modifySourceData: [{
|
|
1110
|
+
type: Input
|
|
1111
|
+
}], modifyTransformEnd: [{
|
|
1112
|
+
type: Input
|
|
1113
|
+
}], modifyTransformFocus: [{
|
|
1114
|
+
type: Input
|
|
1115
|
+
}], modifyTransformStart: [{
|
|
1116
|
+
type: Input
|
|
1117
|
+
}], persistentStateLoad: [{
|
|
1118
|
+
type: Input
|
|
1119
|
+
}], persistentStateReset: [{
|
|
1120
|
+
type: Input
|
|
1121
|
+
}], persistentStateSave: [{
|
|
1122
|
+
type: Input
|
|
1123
|
+
}] } });
|
|
1124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2hvdC10YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBS0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLFlBQVksTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUN0QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBU3RFLE1BQU0sT0FBTyxpQkFBaUI7SUF1VmxCO0lBQ0E7SUFDRDtJQXhWeUMsU0FBUyxDQUFDO0lBRXBELGFBQWEsR0FBd0IsSUFBSSxDQUFDO0lBQzFDLGlCQUFpQixHQUF5QixFQUFFLENBQUM7SUFDckQsbUJBQW1CO0lBQ1YsUUFBUSxDQUE0QjtJQUNwQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLHVCQUF1QjtJQUNkLHFCQUFxQixDQUFxRDtJQUMxRSxVQUFVLENBQTBDO0lBQ3BELFNBQVMsQ0FBeUM7SUFDbEQsaUJBQWlCLENBQWlEO0lBQ2xFLGNBQWMsQ0FBOEM7SUFDNUQsWUFBWSxDQUE0QztJQUN4RCxpQkFBaUIsQ0FBaUQ7SUFDbEUsY0FBYyxDQUE4QztJQUM1RCxRQUFRLENBQXdDO0lBQ2hELGNBQWMsQ0FBOEM7SUFDNUQsV0FBVyxDQUEyQztJQUN0RCxXQUFXLENBQTJDO0lBQ3RELFdBQVcsQ0FBMkM7SUFDdEQsbUJBQW1CLENBQW1EO0lBQ3RFLElBQUksQ0FBb0M7SUFDeEMsS0FBSyxDQUFxQztJQUMxQyxlQUFlLENBQStDO0lBQzlELFNBQVMsQ0FBeUM7SUFDbEQsVUFBVSxDQUEwQztJQUNwRCxrQkFBa0IsQ0FB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dEMsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csNkJBQTZCO3NCQUFyQyxLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IEhhbmRzb250YWJsZSBmcm9tICdoYW5kc29udGFibGUvYmFzZSc7XG5pbXBvcnQge1xuICBIb3RUYWJsZVJlZ2lzdGVyZXIsXG4gIEhPVF9ERVNUUk9ZRURfV0FSTklOR1xufSBmcm9tICcuL2hvdC10YWJsZS1yZWdpc3RlcmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSG90U2V0dGluZ3NSZXNvbHZlciB9IGZyb20gJy4vaG90LXNldHRpbmdzLXJlc29sdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSG90Q29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9ob3QtY29sdW1uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hvdC10YWJsZScsXG4gIHRlbXBsYXRlOiAnPGRpdiAjY29udGFpbmVyIFtpZF09XCJob3RJZFwiPjwvZGl2PicsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogWyBIb3RUYWJsZVJlZ2lzdGVyZXIsIEhvdFNldHRpbmdzUmVzb2x2ZXIgXSxcbn0pXG5leHBvcnQgY2xhc3MgSG90VGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBwdWJsaWMgY29udGFpbmVyO1xuXG4gIHByaXZhdGUgX19ob3RJbnN0YW5jZTogSGFuZHNvbnRhYmxlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY29sdW1uc0NvbXBvbmVudHM6IEhvdENvbHVtbkNvbXBvbmVudFtdID0gW107XG4gIC8vIGNvbXBvbmVudCBpbnB1dHNcbiAgQElucHV0KCkgc2V0dGluZ3M6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3M7XG4gIEBJbnB1dCgpIGhvdElkID0gJyc7XG4gIC8vIGhhbmRzb250YWJsZSBvcHRpb25zXG4gIEBJbnB1dCgpIGFjdGl2ZUhlYWRlckNsYXNzTmFtZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWN0aXZlSGVhZGVyQ2xhc3NOYW1lJ107XG4gIEBJbnB1dCgpIGFsbG93RW1wdHk6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FsbG93RW1wdHknXTtcbiAgQElucHV0KCkgYWxsb3dIdG1sOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhbGxvd0h0bWwnXTtcbiAgQElucHV0KCkgYWxsb3dJbnNlcnRDb2x1bW46IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FsbG93SW5zZXJ0Q29sdW1uJ107XG4gIEBJbnB1dCgpIGFsbG93SW5zZXJ0Um93OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhbGxvd0luc2VydFJvdyddO1xuICBASW5wdXQoKSBhbGxvd0ludmFsaWQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FsbG93SW52YWxpZCddO1xuICBASW5wdXQoKSBhbGxvd1JlbW92ZUNvbHVtbjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWxsb3dSZW1vdmVDb2x1bW4nXTtcbiAgQElucHV0KCkgYWxsb3dSZW1vdmVSb3c6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FsbG93UmVtb3ZlUm93J107XG4gIEBJbnB1dCgpIGFyaWFUYWdzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhcmlhVGFncyddO1xuICBASW5wdXQoKSBhdXRvQ29sdW1uU2l6ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYXV0b0NvbHVtblNpemUnXTtcbiAgQElucHV0KCkgYXV0b1Jvd1NpemU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2F1dG9Sb3dTaXplJ107XG4gIEBJbnB1dCgpIGF1dG9XcmFwQ29sOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhdXRvV3JhcENvbCddO1xuICBASW5wdXQoKSBhdXRvV3JhcFJvdzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYXV0b1dyYXBSb3cnXTtcbiAgQElucHV0KCkgYmluZFJvd3NXaXRoSGVhZGVyczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmluZFJvd3NXaXRoSGVhZGVycyddO1xuICBASW5wdXQoKSBjZWxsOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjZWxsJ107XG4gIEBJbnB1dCgpIGNlbGxzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjZWxscyddO1xuICBASW5wdXQoKSBjaGVja2VkVGVtcGxhdGU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2NoZWNrZWRUZW1wbGF0ZSddO1xuICBASW5wdXQoKSBjbGFzc05hbWU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2NsYXNzTmFtZSddO1xuICBASW5wdXQoKSBjb2xIZWFkZXJzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjb2xIZWFkZXJzJ107XG4gIEBJbnB1dCgpIGNvbGxhcHNpYmxlQ29sdW1uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snY29sbGFwc2libGVDb2x1bW5zJ107XG4gIEBJbnB1dCgpIGNvbHVtbkhlYWRlckhlaWdodDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snY29sdW1uSGVhZGVySGVpZ2h0J107XG4gIEBJbnB1dCgpIGNvbHVtbnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2NvbHVtbnMnXTtcbiAgQElucHV0KCkgY29sdW1uU29ydGluZzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snY29sdW1uU29ydGluZyddO1xuICBASW5wdXQoKSBjb2x1bW5TdW1tYXJ5OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjb2x1bW5TdW1tYXJ5J107XG4gIEBJbnB1dCgpIGNvbFdpZHRoczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snY29sV2lkdGhzJ107XG4gIEBJbnB1dCgpIGNvbW1lbnRlZENlbGxDbGFzc05hbWU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2NvbW1lbnRlZENlbGxDbGFzc05hbWUnXTtcbiAgQElucHV0KCkgY29tbWVudHM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2NvbW1lbnRzJ107XG4gIEBJbnB1dCgpIGNvbnRleHRNZW51OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjb250ZXh0TWVudSddO1xuICBASW5wdXQoKSBjb3B5YWJsZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snY29weWFibGUnXTtcbiAgQElucHV0KCkgY29weVBhc3RlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjb3B5UGFzdGUnXTtcbiAgQElucHV0KCkgY29ycmVjdEZvcm1hdDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snY29ycmVjdEZvcm1hdCddO1xuICBASW5wdXQoKSBjdXJyZW50Q29sQ2xhc3NOYW1lOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjdXJyZW50Q29sQ2xhc3NOYW1lJ107XG4gIEBJbnB1dCgpIGN1cnJlbnRIZWFkZXJDbGFzc05hbWU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2N1cnJlbnRIZWFkZXJDbGFzc05hbWUnXTtcbiAgQElucHV0KCkgY3VycmVudFJvd0NsYXNzTmFtZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snY3VycmVudFJvd0NsYXNzTmFtZSddO1xuICBASW5wdXQoKSBjdXN0b21Cb3JkZXJzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydjdXN0b21Cb3JkZXJzJ107XG4gIEBJbnB1dCgpIGRhdGE6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2RhdGEnXTtcbiAgQElucHV0KCkgZGF0YVNjaGVtYTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZGF0YVNjaGVtYSddO1xuICBASW5wdXQoKSBkYXRlRm9ybWF0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydkYXRlRm9ybWF0J107XG4gIEBJbnB1dCgpIGRhdGVQaWNrZXJDb25maWc6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2RhdGVQaWNrZXJDb25maWcnXTtcbiAgQElucHV0KCkgZGVmYXVsdERhdGU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2RlZmF1bHREYXRlJ107XG4gIEBJbnB1dCgpIHRhYk5hdmlnYXRpb246IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3RhYk5hdmlnYXRpb24nXTtcbiAgQElucHV0KCkgZGlzYWJsZVZpc3VhbFNlbGVjdGlvbjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZGlzYWJsZVZpc3VhbFNlbGVjdGlvbiddO1xuICBASW5wdXQoKSBkcmFnVG9TY3JvbGw6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2RyYWdUb1Njcm9sbCddO1xuICBASW5wdXQoKSBkcm9wZG93bk1lbnU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2Ryb3Bkb3duTWVudSddO1xuICBASW5wdXQoKSBlZGl0b3I6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2VkaXRvciddO1xuICBASW5wdXQoKSBlbnRlckJlZ2luc0VkaXRpbmc6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2VudGVyQmVnaW5zRWRpdGluZyddO1xuICBASW5wdXQoKSBlbnRlck1vdmVzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydlbnRlck1vdmVzJ107XG4gIEBJbnB1dCgpIGZpbGxIYW5kbGU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2ZpbGxIYW5kbGUnXTtcbiAgQElucHV0KCkgZmlsdGVyOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydmaWx0ZXInXTtcbiAgQElucHV0KCkgZmlsdGVyaW5nQ2FzZVNlbnNpdGl2ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZmlsdGVyaW5nQ2FzZVNlbnNpdGl2ZSddO1xuICBASW5wdXQoKSBmaWx0ZXJzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydmaWx0ZXJzJ107XG4gIEBJbnB1dCgpIGZpeGVkQ29sdW1uc0xlZnQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2ZpeGVkQ29sdW1uc0xlZnQnXTtcbiAgQElucHV0KCkgZml4ZWRDb2x1bW5zU3RhcnQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2ZpeGVkQ29sdW1uc1N0YXJ0J107XG4gIEBJbnB1dCgpIGZpeGVkUm93c0JvdHRvbTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZml4ZWRSb3dzQm90dG9tJ107XG4gIEBJbnB1dCgpIGZpeGVkUm93c1RvcDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZml4ZWRSb3dzVG9wJ107XG4gIEBJbnB1dCgpIGZvcm11bGFzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydmb3JtdWxhcyddO1xuICBASW5wdXQoKSBmcmFnbWVudFNlbGVjdGlvbjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZnJhZ21lbnRTZWxlY3Rpb24nXTtcbiAgQElucHV0KCkgaGVpZ2h0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydoZWlnaHQnXTtcbiAgQElucHV0KCkgaGlkZGVuQ29sdW1uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snaGlkZGVuQ29sdW1ucyddO1xuICBASW5wdXQoKSBoaWRkZW5Sb3dzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydoaWRkZW5Sb3dzJ107XG4gIEBJbnB1dCgpIGludmFsaWRDZWxsQ2xhc3NOYW1lOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydpbnZhbGlkQ2VsbENsYXNzTmFtZSddO1xuICBASW5wdXQoKSBpbWVGYXN0RWRpdDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snaW1lRmFzdEVkaXQnXTtcbiAgQElucHV0KCkgbGFiZWw6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2xhYmVsJ107XG4gIEBJbnB1dCgpIGxhbmd1YWdlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydsYW5ndWFnZSddO1xuICBASW5wdXQoKSBsYXlvdXREaXJlY3Rpb246IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2xheW91dERpcmVjdGlvbiddO1xuICBASW5wdXQoKSBsaWNlbnNlS2V5OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydsaWNlbnNlS2V5J107XG4gIEBJbnB1dCgpIGxvY2FsZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbG9jYWxlJ107XG4gIEBJbnB1dCgpIG1hbnVhbENvbHVtbkZyZWV6ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbWFudWFsQ29sdW1uRnJlZXplJ107XG4gIEBJbnB1dCgpIG1hbnVhbENvbHVtbk1vdmU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21hbnVhbENvbHVtbk1vdmUnXTtcbiAgQElucHV0KCkgbWFudWFsQ29sdW1uUmVzaXplOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtYW51YWxDb2x1bW5SZXNpemUnXTtcbiAgQElucHV0KCkgbWFudWFsUm93TW92ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbWFudWFsUm93TW92ZSddO1xuICBASW5wdXQoKSBtYW51YWxSb3dSZXNpemU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21hbnVhbFJvd1Jlc2l6ZSddO1xuICBASW5wdXQoKSBtYXhDb2xzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtYXhDb2xzJ107XG4gIEBJbnB1dCgpIG1heFJvd3M6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21heFJvd3MnXTtcbiAgQElucHV0KCkgbWVyZ2VDZWxsczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbWVyZ2VDZWxscyddO1xuICBASW5wdXQoKSBtaW5Db2xzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtaW5Db2xzJ107XG4gIEBJbnB1dCgpIG1pblJvd3M6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21pblJvd3MnXTtcbiAgQElucHV0KCkgbWluU3BhcmVDb2xzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtaW5TcGFyZUNvbHMnXTtcbiAgQElucHV0KCkgbWluU3BhcmVSb3dzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtaW5TcGFyZVJvd3MnXTtcbiAgQElucHV0KCkgbXVsdGlDb2x1bW5Tb3J0aW5nOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtdWx0aUNvbHVtblNvcnRpbmcnXTtcbiAgQElucHV0KCkgbmF2aWdhYmxlSGVhZGVyczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbmF2aWdhYmxlSGVhZGVycyddO1xuICBASW5wdXQoKSBuZXN0ZWRIZWFkZXJzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWyduZXN0ZWRIZWFkZXJzJ107XG4gIEBJbnB1dCgpIG5lc3RlZFJvd3M6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ25lc3RlZFJvd3MnXTtcbiAgQElucHV0KCkgbm9Xb3JkV3JhcENsYXNzTmFtZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbm9Xb3JkV3JhcENsYXNzTmFtZSddO1xuICBASW5wdXQoKSBudW1lcmljRm9ybWF0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydudW1lcmljRm9ybWF0J107XG4gIEBJbnB1dCgpIG9ic2VydmVET01WaXNpYmlsaXR5OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydvYnNlcnZlRE9NVmlzaWJpbGl0eSddO1xuICBASW5wdXQoKSBvdXRzaWRlQ2xpY2tEZXNlbGVjdHM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ291dHNpZGVDbGlja0Rlc2VsZWN0cyddO1xuICBASW5wdXQoKSBwZXJzaXN0ZW50U3RhdGU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3BlcnNpc3RlbnRTdGF0ZSddO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sncGxhY2Vob2xkZXInXTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXJDZWxsQ2xhc3NOYW1lOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydwbGFjZWhvbGRlckNlbGxDbGFzc05hbWUnXTtcbiAgQElucHV0KCkgcHJldmVudE92ZXJmbG93OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydwcmV2ZW50T3ZlcmZsb3cnXTtcbiAgQElucHV0KCkgcHJldmVudFdoZWVsOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydwcmV2ZW50V2hlZWwnXTtcbiAgQElucHV0KCkgcmVhZE9ubHk6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3JlYWRPbmx5J107XG4gIEBJbnB1dCgpIHJlYWRPbmx5Q2VsbENsYXNzTmFtZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sncmVhZE9ubHlDZWxsQ2xhc3NOYW1lJ107XG4gIEBJbnB1dCgpIHJlbmRlckFsbENvbHVtbnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3JlbmRlckFsbENvbHVtbnMnXTtcbiAgQElucHV0KCkgcmVuZGVyQWxsUm93czogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sncmVuZGVyQWxsUm93cyddO1xuICBASW5wdXQoKSByZW5kZXJlcjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sncmVuZGVyZXInXTtcbiAgQElucHV0KCkgcm93SGVhZGVyczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sncm93SGVhZGVycyddO1xuICBASW5wdXQoKSByb3dIZWFkZXJXaWR0aDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sncm93SGVhZGVyV2lkdGgnXTtcbiAgQElucHV0KCkgcm93SGVpZ2h0czogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sncm93SGVpZ2h0cyddO1xuICBASW5wdXQoKSBzZWFyY2g6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3NlYXJjaCddO1xuICBASW5wdXQoKSBzZWxlY3Rpb25Nb2RlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydzZWxlY3Rpb25Nb2RlJ107XG4gIEBJbnB1dCgpIHNlbGVjdE9wdGlvbnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3NlbGVjdE9wdGlvbnMnXTtcbiAgQElucHV0KCkgc2tpcENvbHVtbk9uUGFzdGU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3NraXBDb2x1bW5PblBhc3RlJ107XG4gIEBJbnB1dCgpIHNraXBSb3dPblBhc3RlOiBhbnk7XG4gIEBJbnB1dCgpIHNvcnRCeVJlbGV2YW5jZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snc29ydEJ5UmVsZXZhbmNlJ107XG4gIEBJbnB1dCgpIHNvdXJjZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snc291cmNlJ107XG4gIEBJbnB1dCgpIHN0YXJ0Q29sczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snc3RhcnRDb2xzJ107XG4gIEBJbnB1dCgpIHN0YXJ0Um93czogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snc3RhcnRSb3dzJ107XG4gIEBJbnB1dCgpIHN0cmV0Y2hIOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydzdHJldGNoSCddO1xuICBASW5wdXQoKSBzdHJpY3Q6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3N0cmljdCddO1xuICBASW5wdXQoKSB0YWJsZUNsYXNzTmFtZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sndGFibGVDbGFzc05hbWUnXTtcbiAgQElucHV0KCkgdGFiTW92ZXM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3RhYk1vdmVzJ107XG4gIEBJbnB1dCgpIHRpdGxlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWyd0aXRsZSddO1xuICBASW5wdXQoKSB0cmltRHJvcGRvd246IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3RyaW1Ecm9wZG93biddO1xuICBASW5wdXQoKSB0cmltUm93czogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbmVzdGVkUm93cyddO1xuICBASW5wdXQoKSB0cmltV2hpdGVzcGFjZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sndHJpbVdoaXRlc3BhY2UnXTtcbiAgQElucHV0KCkgdHlwZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sndHlwZSddO1xuICBASW5wdXQoKSB1bmNoZWNrZWRUZW1wbGF0ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sndW5jaGVja2VkVGVtcGxhdGUnXTtcbiAgQElucHV0KCkgdW5kbzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sndW5kbyddO1xuICBASW5wdXQoKSB2YWxpZGF0b3I6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3ZhbGlkYXRvciddO1xuICBASW5wdXQoKSB2aWV3cG9ydENvbHVtblJlbmRlcmluZ09mZnNldDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1sndmlld3BvcnRDb2x1bW5SZW5kZXJpbmdPZmZzZXQnXTtcbiAgQElucHV0KCkgdmlld3BvcnRSb3dSZW5kZXJpbmdPZmZzZXQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3ZpZXdwb3J0Um93UmVuZGVyaW5nT2Zmc2V0J107XG4gIEBJbnB1dCgpIHZpc2libGVSb3dzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWyd2aXNpYmxlUm93cyddO1xuICBASW5wdXQoKSB3aWR0aDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snd2lkdGgnXTtcbiAgQElucHV0KCkgd29yZFdyYXA6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3dvcmRXcmFwJ107XG5cbiAgLy8gaGFuZHNvbnRhYmxlIGhvb2tzXG4gIEBJbnB1dCgpIGFmdGVyQWRkQ2hpbGQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyQWRkQ2hpbGQnXTtcbiAgQElucHV0KCkgYWZ0ZXJBdXRvZmlsbDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJBdXRvZmlsbCddO1xuICBASW5wdXQoKSBhZnRlckJlZ2luRWRpdGluZzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJCZWdpbkVkaXRpbmcnXTtcbiAgQElucHV0KCkgYWZ0ZXJDZWxsTWV0YVJlc2V0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckNlbGxNZXRhUmVzZXQnXTtcbiAgQElucHV0KCkgYWZ0ZXJDaGFuZ2U6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyQ2hhbmdlJ107XG4gIEBJbnB1dCgpIGFmdGVyQ2hhbmdlc09ic2VydmVkOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckNoYW5nZXNPYnNlcnZlZCddO1xuICBASW5wdXQoKSBhZnRlckNvbHVtbkNvbGxhcHNlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckNvbHVtbkNvbGxhcHNlJ107XG4gIEBJbnB1dCgpIGFmdGVyQ29sdW1uRXhwYW5kOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckNvbHVtbkV4cGFuZCddO1xuICBASW5wdXQoKSBhZnRlckNvbHVtbkZyZWV6ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJDb2x1bW5GcmVlemUnXTtcbiAgQElucHV0KCkgYWZ0ZXJDb2x1bW5Nb3ZlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckNvbHVtbk1vdmUnXTtcbiAgQElucHV0KCkgYWZ0ZXJDb2x1bW5SZXNpemU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyQ29sdW1uUmVzaXplJ107XG4gIEBJbnB1dCgpIGFmdGVyQ29sdW1uU2VxdWVuY2VDaGFuZ2U6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyQ29sdW1uU2VxdWVuY2VDaGFuZ2UnXTtcbiAgQElucHV0KCkgYWZ0ZXJDb2x1bW5Tb3J0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckNvbHVtblNvcnQnXTtcbiAgQElucHV0KCkgYWZ0ZXJDb2x1bW5VbmZyZWV6ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJDb2x1bW5VbmZyZWV6ZSddO1xuICBASW5wdXQoKSBhZnRlckNvbnRleHRNZW51RGVmYXVsdE9wdGlvbnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyQ29udGV4dE1lbnVEZWZhdWx0T3B0aW9ucyddO1xuICBASW5wdXQoKSBhZnRlckNvbnRleHRNZW51SGlkZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJDb250ZXh0TWVudUhpZGUnXTtcbiAgQElucHV0KCkgYWZ0ZXJDb250ZXh0TWVudVNob3c6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyQ29udGV4dE1lbnVTaG93J107XG4gIEBJbnB1dCgpIGFmdGVyQ29weTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJDb3B5J107XG4gIEBJbnB1dCgpIGFmdGVyQ29weUxpbWl0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckNvcHlMaW1pdCddO1xuICBASW5wdXQoKSBhZnRlckNyZWF0ZUNvbDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJDcmVhdGVDb2wnXTtcbiAgQElucHV0KCkgYWZ0ZXJDcmVhdGVSb3c6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyQ3JlYXRlUm93J107XG4gIEBJbnB1dCgpIGFmdGVyQ3V0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckN1dCddO1xuICBASW5wdXQoKSBhZnRlckRlc2VsZWN0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckRlc2VsZWN0J107XG4gIEBJbnB1dCgpIGFmdGVyRGVzdHJveTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJEZXN0cm95J107XG4gIEBJbnB1dCgpIGFmdGVyRGV0YWNoQ2hpbGQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyRGV0YWNoQ2hpbGQnXTtcbiAgQElucHV0KCkgYWZ0ZXJEb2N1bWVudEtleURvd246IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyRG9jdW1lbnRLZXlEb3duJ107XG4gIEBJbnB1dCgpIGFmdGVyRHJhd1NlbGVjdGlvbjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJEcmF3U2VsZWN0aW9uJ107XG4gIEBJbnB1dCgpIGFmdGVyRHJvcGRvd25NZW51RGVmYXVsdE9wdGlvbnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyRHJvcGRvd25NZW51RGVmYXVsdE9wdGlvbnMnXTtcbiAgQElucHV0KCkgYWZ0ZXJEcm9wZG93bk1lbnVIaWRlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckRyb3Bkb3duTWVudUhpZGUnXTtcbiAgQElucHV0KCkgYWZ0ZXJEcm9wZG93bk1lbnVTaG93OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckRyb3Bkb3duTWVudVNob3cnXTtcbiAgQElucHV0KCkgYWZ0ZXJGaWx0ZXI6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyRmlsdGVyJ107XG4gIEBJbnB1dCgpIGFmdGVyRm9ybXVsYXNWYWx1ZXNVcGRhdGU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyRm9ybXVsYXNWYWx1ZXNVcGRhdGUnXTtcbiAgQElucHV0KCkgYWZ0ZXJHZXRDZWxsTWV0YTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJHZXRDZWxsTWV0YSddO1xuICBASW5wdXQoKSBhZnRlckdldENvbEhlYWRlcjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJHZXRDb2xIZWFkZXInXTtcbiAgQElucHV0KCkgYWZ0ZXJHZXRDb2x1bW5IZWFkZXJSZW5kZXJlcnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyR2V0Q29sdW1uSGVhZGVyUmVuZGVyZXJzJ107XG4gIEBJbnB1dCgpIGFmdGVyR2V0Um93SGVhZGVyOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckdldFJvd0hlYWRlciddO1xuICBASW5wdXQoKSBhZnRlckdldFJvd0hlYWRlclJlbmRlcmVyczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJHZXRSb3dIZWFkZXJSZW5kZXJlcnMnXTtcbiAgQElucHV0KCkgYWZ0ZXJIaWRlQ29sdW1uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJIaWRlQ29sdW1ucyddO1xuICBASW5wdXQoKSBhZnRlckhpZGVSb3dzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlckhpZGVSb3dzJ107XG4gIEBJbnB1dCgpIGFmdGVySW5pdDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJJbml0J107XG4gIEBJbnB1dCgpIGFmdGVyTGFuZ3VhZ2VDaGFuZ2U6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyTGFuZ3VhZ2VDaGFuZ2UnXTtcbiAgQElucHV0KCkgYWZ0ZXJMaXN0ZW46IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyTGlzdGVuJ107XG4gIEBJbnB1dCgpIGFmdGVyTG9hZERhdGE6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyTG9hZERhdGEnXTtcbiAgQElucHV0KCkgYWZ0ZXJNZXJnZUNlbGxzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlck1lcmdlQ2VsbHMnXTtcbiAgQElucHV0KCkgYWZ0ZXJNb2RpZnlUcmFuc2Zvcm1FbmQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyTW9kaWZ5VHJhbnNmb3JtRW5kJ107XG4gIEBJbnB1dCgpIGFmdGVyTW9kaWZ5VHJhbnNmb3JtRm9jdXM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyTW9kaWZ5VHJhbnNmb3JtRm9jdXMnXTtcbiAgQElucHV0KCkgYWZ0ZXJNb2RpZnlUcmFuc2Zvcm1TdGFydDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJNb2RpZnlUcmFuc2Zvcm1TdGFydCddO1xuICBASW5wdXQoKSBhZnRlck1vbWVudHVtU2Nyb2xsOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlck1vbWVudHVtU2Nyb2xsJ107XG4gIEBJbnB1dCgpIGFmdGVyTmFtZWRFeHByZXNzaW9uQWRkZWQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyTmFtZWRFeHByZXNzaW9uQWRkZWQnXTtcbiAgQElucHV0KCkgYWZ0ZXJOYW1lZEV4cHJlc3Npb25SZW1vdmVkOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlck5hbWVkRXhwcmVzc2lvblJlbW92ZWQnXTtcbiAgQElucHV0KCkgYWZ0ZXJPbkNlbGxDb250ZXh0TWVudTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJPbkNlbGxDb250ZXh0TWVudSddO1xuICBASW5wdXQoKSBhZnRlck9uQ2VsbENvcm5lckRibENsaWNrOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlck9uQ2VsbENvcm5lckRibENsaWNrJ107XG4gIEBJbnB1dCgpIGFmdGVyT25DZWxsQ29ybmVyTW91c2VEb3duOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlck9uQ2VsbENvcm5lck1vdXNlRG93biddO1xuICBASW5wdXQoKSBhZnRlck9uQ2VsbE1vdXNlRG93bjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJPbkNlbGxNb3VzZURvd24nXTtcbiAgQElucHV0KCkgYWZ0ZXJPbkNlbGxNb3VzZU91dDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJPbkNlbGxNb3VzZU91dCddO1xuICBASW5wdXQoKSBhZnRlck9uQ2VsbE1vdXNlT3ZlcjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJPbkNlbGxNb3VzZU92ZXInXTtcbiAgQElucHV0KCkgYWZ0ZXJPbkNlbGxNb3VzZVVwOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlck9uQ2VsbE1vdXNlVXAnXTtcbiAgQElucHV0KCkgYWZ0ZXJQYXN0ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJQYXN0ZSddO1xuICBASW5wdXQoKSBhZnRlclBsdWdpbnNJbml0aWFsaXplZDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJQbHVnaW5zSW5pdGlhbGl6ZWQnXTtcbiAgQElucHV0KCkgYWZ0ZXJSZWRvOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclJlZG8nXTtcbiAgQElucHV0KCkgYWZ0ZXJSZWRvU3RhY2tDaGFuZ2U6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyUmVkb1N0YWNrQ2hhbmdlJ107XG4gIEBJbnB1dCgpIGFmdGVyUmVmcmVzaERpbWVuc2lvbnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyUmVmcmVzaERpbWVuc2lvbnMnXTtcbiAgQElucHV0KCkgYWZ0ZXJSZW1vdmVDZWxsTWV0YTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJSZW1vdmVDZWxsTWV0YSddO1xuICBASW5wdXQoKSBhZnRlclJlbW92ZUNvbDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJSZW1vdmVDb2wnXTtcbiAgQElucHV0KCkgYWZ0ZXJSZW1vdmVSb3c6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyUmVtb3ZlUm93J107XG4gIEBJbnB1dCgpIGFmdGVyUmVuZGVyOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclJlbmRlciddO1xuICBASW5wdXQoKSBhZnRlclJlbmRlcmVyOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclJlbmRlcmVyJ107XG4gIEBJbnB1dCgpIGFmdGVyUm93TW92ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJSb3dNb3ZlJ107XG4gIEBJbnB1dCgpIGFmdGVyUm93UmVzaXplOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclJvd1Jlc2l6ZSddO1xuICBASW5wdXQoKSBhZnRlclJvd1NlcXVlbmNlQ2hhbmdlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclJvd1NlcXVlbmNlQ2hhbmdlJ107XG4gIEBJbnB1dCgpIGFmdGVyU2Nyb2xsSG9yaXpvbnRhbGx5OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclNjcm9sbEhvcml6b250YWxseSddO1xuICBASW5wdXQoKSBhZnRlclNjcm9sbFZlcnRpY2FsbHk6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyU2Nyb2xsVmVydGljYWxseSddO1xuICBASW5wdXQoKSBhZnRlclNjcm9sbDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJTY3JvbGwnXTtcbiAgQElucHV0KCkgYWZ0ZXJTZWxlY3RDb2x1bW5zOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclNlbGVjdENvbHVtbnMnXTtcbiAgQElucHV0KCkgYWZ0ZXJTZWxlY3Rpb246IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyU2VsZWN0aW9uJ107XG4gIEBJbnB1dCgpIGFmdGVyU2VsZWN0aW9uQnlQcm9wOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclNlbGVjdGlvbkJ5UHJvcCddO1xuICBASW5wdXQoKSBhZnRlclNlbGVjdGlvbkVuZDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJTZWxlY3Rpb25FbmQnXTtcbiAgQElucHV0KCkgYWZ0ZXJTZWxlY3Rpb25FbmRCeVByb3A6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyU2VsZWN0aW9uRW5kQnlQcm9wJ107XG4gIEBJbnB1dCgpIGFmdGVyU2VsZWN0aW9uRm9jdXNTZXQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyU2VsZWN0aW9uRm9jdXNTZXQnXTtcbiAgQElucHV0KCkgYWZ0ZXJTZWxlY3RSb3dzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclNlbGVjdFJvd3MnXTtcbiAgQElucHV0KCkgYWZ0ZXJTZXRDZWxsTWV0YTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJTZXRDZWxsTWV0YSddO1xuICBASW5wdXQoKSBhZnRlclNldERhdGFBdENlbGw6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyU2V0RGF0YUF0Q2VsbCddO1xuICBASW5wdXQoKSBhZnRlclNldERhdGFBdFJvd1Byb3A6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyU2V0RGF0YUF0Um93UHJvcCddO1xuICBASW5wdXQoKSBhZnRlclNldFNvdXJjZURhdGFBdENlbGw6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyU2V0U291cmNlRGF0YUF0Q2VsbCddO1xuICBASW5wdXQoKSBhZnRlclNoZWV0QWRkZWQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyU2hlZXRBZGRlZCddO1xuICBASW5wdXQoKSBhZnRlclNoZWV0UmVuYW1lZDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJTaGVldFJlbmFtZWQnXTtcbiAgQElucHV0KCkgYWZ0ZXJTaGVldFJlbW92ZWQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyU2hlZXRSZW1vdmVkJ107XG4gIEBJbnB1dCgpIGFmdGVyVHJpbVJvdzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJUcmltUm93J107XG4gIEBJbnB1dCgpIGFmdGVyVW5kbzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJVbmRvJ107XG4gIEBJbnB1dCgpIGFmdGVyVW5kb1N0YWNrQ2hhbmdlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclVuZG9TdGFja0NoYW5nZSddO1xuICBASW5wdXQoKSBhZnRlclVuaGlkZUNvbHVtbnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyVW5oaWRlQ29sdW1ucyddO1xuICBASW5wdXQoKSBhZnRlclVuaGlkZVJvd3M6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyVW5oaWRlUm93cyddO1xuICBASW5wdXQoKSBhZnRlclVubGlzdGVuOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclVubGlzdGVuJ107XG4gIEBJbnB1dCgpIGFmdGVyVW5tZXJnZUNlbGxzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclVubWVyZ2VDZWxscyddO1xuICBASW5wdXQoKSBhZnRlclVudHJpbVJvdzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJVbnRyaW1Sb3cnXTtcbiAgQElucHV0KCkgYWZ0ZXJVcGRhdGVEYXRhOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclVwZGF0ZURhdGEnXTtcbiAgQElucHV0KCkgYWZ0ZXJVcGRhdGVTZXR0aW5nczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJVcGRhdGVTZXR0aW5ncyddO1xuICBASW5wdXQoKSBhZnRlclZhbGlkYXRlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydhZnRlclZhbGlkYXRlJ107XG4gIEBJbnB1dCgpIGFmdGVyVmlld3BvcnRDb2x1bW5DYWxjdWxhdG9yT3ZlcnJpZGU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyVmlld3BvcnRDb2x1bW5DYWxjdWxhdG9yT3ZlcnJpZGUnXTtcbiAgQElucHV0KCkgYWZ0ZXJWaWV3cG9ydFJvd0NhbGN1bGF0b3JPdmVycmlkZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYWZ0ZXJWaWV3cG9ydFJvd0NhbGN1bGF0b3JPdmVycmlkZSddO1xuICBASW5wdXQoKSBhZnRlclZpZXdSZW5kZXI6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2FmdGVyVmlld1JlbmRlciddO1xuICBASW5wdXQoKSBiZWZvcmVBZGRDaGlsZDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlQWRkQ2hpbGQnXTtcbiAgQElucHV0KCkgYmVmb3JlQXV0b2ZpbGw6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUF1dG9maWxsJ107XG4gIEBJbnB1dCgpIGJlZm9yZUJlZ2luRWRpdGluZzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlQmVnaW5FZGl0aW5nJ107XG4gIEBJbnB1dCgpIGJlZm9yZUNlbGxBbGlnbm1lbnQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUNlbGxBbGlnbm1lbnQnXTtcbiAgQElucHV0KCkgYmVmb3JlQ2hhbmdlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVDaGFuZ2UnXTtcbiAgQElucHV0KCkgYmVmb3JlQ2hhbmdlUmVuZGVyOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVDaGFuZ2VSZW5kZXInXTtcbiAgQElucHV0KCkgYmVmb3JlQ29sdW1uQ29sbGFwc2U6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUNvbHVtbkNvbGxhcHNlJ107XG4gIEBJbnB1dCgpIGJlZm9yZUNvbHVtbkV4cGFuZDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlQ29sdW1uRXhwYW5kJ107XG4gIEBJbnB1dCgpIGJlZm9yZUNvbHVtbkZyZWV6ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlQ29sdW1uRnJlZXplJ107XG4gIEBJbnB1dCgpIGJlZm9yZUNvbHVtbk1vdmU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUNvbHVtbk1vdmUnXTtcbiAgQElucHV0KCkgYmVmb3JlQ29sdW1uUmVzaXplOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVDb2x1bW5SZXNpemUnXTtcbiAgQElucHV0KCkgYmVmb3JlQ29sdW1uU29ydDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlQ29sdW1uU29ydCddO1xuICBASW5wdXQoKSBiZWZvcmVDb2x1bW5XcmFwOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVDb2x1bW5XcmFwJ107XG4gIEBJbnB1dCgpIGJlZm9yZUNvbHVtblVuZnJlZXplOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVDb2x1bW5VbmZyZWV6ZSddO1xuICBASW5wdXQoKSBiZWZvcmVDb250ZXh0TWVudVNldEl0ZW1zOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVDb250ZXh0TWVudVNldEl0ZW1zJ107XG4gIEBJbnB1dCgpIGJlZm9yZUNvbnRleHRNZW51U2hvdzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlQ29udGV4dE1lbnVTaG93J107XG4gIEBJbnB1dCgpIGJlZm9yZUNvcHk6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUNvcHknXTtcbiAgQElucHV0KCkgYmVmb3JlQ3JlYXRlQ29sOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVDcmVhdGVDb2wnXTtcbiAgQElucHV0KCkgYmVmb3JlQ3JlYXRlUm93OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVDcmVhdGVSb3cnXTtcbiAgQElucHV0KCkgYmVmb3JlQ3V0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVDdXQnXTtcbiAgQElucHV0KCkgYmVmb3JlRGV0YWNoQ2hpbGQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZURldGFjaENoaWxkJ107XG4gIEBJbnB1dCgpIGJlZm9yZURyYXdCb3JkZXJzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVEcmF3Qm9yZGVycyddO1xuICBASW5wdXQoKSBiZWZvcmVEcm9wZG93bk1lbnVTZXRJdGVtczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlRHJvcGRvd25NZW51U2V0SXRlbXMnXTtcbiAgQElucHV0KCkgYmVmb3JlRHJvcGRvd25NZW51U2hvdzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlRHJvcGRvd25NZW51U2hvdyddO1xuICBASW5wdXQoKSBiZWZvcmVGaWx0ZXI6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUZpbHRlciddO1xuICBASW5wdXQoKSBiZWZvcmVHZXRDZWxsTWV0YTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlR2V0Q2VsbE1ldGEnXTtcbiAgQElucHV0KCkgYmVmb3JlSGlkZUNvbHVtbnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUhpZGVDb2x1bW5zJ107XG4gIEBJbnB1dCgpIGJlZm9yZUhpZGVSb3dzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVIaWRlUm93cyddO1xuICBASW5wdXQoKSBiZWZvcmVIaWdobGlnaHRpbmdDb2x1bW5IZWFkZXI6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUhpZ2hsaWdodGluZ0NvbHVtbkhlYWRlciddO1xuICBASW5wdXQoKSBiZWZvcmVIaWdobGlnaHRpbmdSb3dIZWFkZXI6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUhpZ2hsaWdodGluZ1Jvd0hlYWRlciddO1xuICBASW5wdXQoKSBiZWZvcmVJbml0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVJbml0J107XG4gIEBJbnB1dCgpIGJlZm9yZUluaXRXYWxrb250YWJsZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlSW5pdFdhbGtvbnRhYmxlJ107XG4gIEBJbnB1dCgpIGJlZm9yZUtleURvd246IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUtleURvd24nXTtcbiAgQElucHV0KCkgYmVmb3JlTGFuZ3VhZ2VDaGFuZ2U6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZUxhbmd1YWdlQ2hhbmdlJ107XG4gIEBJbnB1dCgpIGJlZm9yZUxvYWREYXRhOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVMb2FkRGF0YSddO1xuICBASW5wdXQoKSBiZWZvcmVNZXJnZUNlbGxzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVNZXJnZUNlbGxzJ107XG4gIEBJbnB1dCgpIGJlZm9yZU9uQ2VsbENvbnRleHRNZW51OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVPbkNlbGxDb250ZXh0TWVudSddO1xuICBASW5wdXQoKSBiZWZvcmVPbkNlbGxNb3VzZURvd246IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZU9uQ2VsbE1vdXNlRG93biddO1xuICBASW5wdXQoKSBiZWZvcmVPbkNlbGxNb3VzZU91dDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlT25DZWxsTW91c2VPdXQnXTtcbiAgQElucHV0KCkgYmVmb3JlT25DZWxsTW91c2VPdmVyOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVPbkNlbGxNb3VzZU92ZXInXTtcbiAgQElucHV0KCkgYmVmb3JlT25DZWxsTW91c2VVcDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlT25DZWxsTW91c2VVcCddO1xuICBASW5wdXQoKSBiZWZvcmVQYXN0ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlUGFzdGUnXTtcbiAgQElucHV0KCkgYmVmb3JlUmVkbzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlUmVkbyddO1xuICBASW5wdXQoKSBiZWZvcmVSZWRvU3RhY2tDaGFuZ2U6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVJlZG9TdGFja0NoYW5nZSddO1xuICBASW5wdXQoKSBiZWZvcmVSZWZyZXNoRGltZW5zaW9uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlUmVmcmVzaERpbWVuc2lvbnMnXTtcbiAgQElucHV0KCkgYmVmb3JlUmVtb3ZlQ2VsbENsYXNzTmFtZXM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVJlbW92ZUNlbGxDbGFzc05hbWVzJ107XG4gIEBJbnB1dCgpIGJlZm9yZVJlbW92ZUNlbGxNZXRhOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVSZW1vdmVDZWxsTWV0YSddO1xuICBASW5wdXQoKSBiZWZvcmVSZW1vdmVDb2w6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVJlbW92ZUNvbCddO1xuICBASW5wdXQoKSBiZWZvcmVSZW1vdmVSb3c6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVJlbW92ZVJvdyddO1xuICBASW5wdXQoKSBiZWZvcmVSZW5kZXI6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVJlbmRlciddO1xuICBASW5wdXQoKSBiZWZvcmVSZW5kZXJlcjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlUmVuZGVyZXInXTtcbiAgQElucHV0KCkgYmVmb3JlUm93TW92ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlUm93TW92ZSddO1xuICBASW5wdXQoKSBiZWZvcmVSb3dSZXNpemU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVJvd1Jlc2l6ZSddO1xuICBASW5wdXQoKSBiZWZvcmVSb3dXcmFwOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVSb3dXcmFwJ107XG4gIEBJbnB1dCgpIGJlZm9yZVNlbGVjdENvbHVtbnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVNlbGVjdENvbHVtbnMnXTtcbiAgQElucHV0KCkgYmVmb3JlU2VsZWN0aW9uRm9jdXNTZXQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVNlbGVjdGlvbkZvY3VzU2V0J107XG4gIEBJbnB1dCgpIGJlZm9yZVNlbGVjdGlvbkhpZ2hsaWdodFNldDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlU2VsZWN0aW9uSGlnaGxpZ2h0U2V0J107XG4gIEBJbnB1dCgpIGJlZm9yZVNlbGVjdFJvd3M6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVNlbGVjdFJvd3MnXTtcbiAgQElucHV0KCkgYmVmb3JlU2V0Q2VsbE1ldGE6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVNldENlbGxNZXRhJ107XG4gIEBJbnB1dCgpIGJlZm9yZVNldFJhbmdlRW5kOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVTZXRSYW5nZUVuZCddO1xuICBASW5wdXQoKSBiZWZvcmVTZXRSYW5nZVN0YXJ0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVTZXRSYW5nZVN0YXJ0J107XG4gIEBJbnB1dCgpIGJlZm9yZVNldFJhbmdlU3RhcnRPbmx5OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVTZXRSYW5nZVN0YXJ0T25seSddO1xuICBASW5wdXQoKSBiZWZvcmVTdHJldGNoaW5nQ29sdW1uV2lkdGg6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVN0cmV0Y2hpbmdDb2x1bW5XaWR0aCddO1xuICBASW5wdXQoKSBiZWZvcmVUb3VjaFNjcm9sbDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlVG91Y2hTY3JvbGwnXTtcbiAgQElucHV0KCkgYmVmb3JlVHJpbVJvdzogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlVHJpbVJvdyddO1xuICBASW5wdXQoKSBiZWZvcmVVbmRvOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVVbmRvJ107XG4gIEBJbnB1dCgpIGJlZm9yZVVuZG9TdGFja0NoYW5nZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlVW5kb1N0YWNrQ2hhbmdlJ107XG4gIEBJbnB1dCgpIGJlZm9yZVVuaGlkZUNvbHVtbnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVVuaGlkZUNvbHVtbnMnXTtcbiAgQElucHV0KCkgYmVmb3JlVW5oaWRlUm93czogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlVW5oaWRlUm93cyddO1xuICBASW5wdXQoKSBiZWZvcmVVbm1lcmdlQ2VsbHM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVVubWVyZ2VDZWxscyddO1xuICBASW5wdXQoKSBiZWZvcmVVbnRyaW1Sb3c6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVVudHJpbVJvdyddO1xuICBASW5wdXQoKSBiZWZvcmVVcGRhdGVEYXRhOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVVcGRhdGVEYXRhJ107XG4gIEBJbnB1dCgpIGJlZm9yZVZhbGlkYXRlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVWYWxpZGF0ZSddO1xuICBASW5wdXQoKSBiZWZvcmVWYWx1ZVJlbmRlcjogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snYmVmb3JlVmFsdWVSZW5kZXInXTtcbiAgQElucHV0KCkgYmVmb3JlVmlld3BvcnRTY3JvbGw6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVZpZXdwb3J0U2Nyb2xsJ107XG4gIEBJbnB1dCgpIGJlZm9yZVZpZXdwb3J0U2Nyb2xsSG9yaXpvbnRhbGx5OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVWaWV3cG9ydFNjcm9sbEhvcml6b250YWxseSddO1xuICBASW5wdXQoKSBiZWZvcmVWaWV3cG9ydFNjcm9sbFZlcnRpY2FsbHk6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2JlZm9yZVZpZXdwb3J0U2Nyb2xsVmVydGljYWxseSddO1xuICBASW5wdXQoKSBiZWZvcmVWaWV3UmVuZGVyOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydiZWZvcmVWaWV3UmVuZGVyJ107XG4gIEBJbnB1dCgpIGNvbnN0cnVjdDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snY29uc3RydWN0J107XG4gIEBJbnB1dCgpIGluaXQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2luaXQnXTtcbiAgQElucHV0KCkgbW9kaWZ5QXV0b0NvbHVtblNpemVTZWVkOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtb2RpZnlBdXRvQ29sdW1uU2l6ZVNlZWQnXTtcbiAgQElucHV0KCkgbW9kaWZ5QXV0b2ZpbGxSYW5nZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbW9kaWZ5QXV0b2ZpbGxSYW5nZSddO1xuICBASW5wdXQoKSBtb2RpZnlDb2xIZWFkZXI6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeUNvbEhlYWRlciddO1xuICBASW5wdXQoKSBtb2RpZnlDb2x1bW5IZWFkZXJIZWlnaHQ6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeUNvbHVtbkhlYWRlckhlaWdodCddO1xuICBASW5wdXQoKSBtb2RpZnlDb2x1bW5IZWFkZXJWYWx1ZTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbW9kaWZ5Q29sdW1uSGVhZGVyVmFsdWUnXTtcbiAgQElucHV0KCkgbW9kaWZ5Q29sV2lkdGg6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeUNvbFdpZHRoJ107XG4gIEBJbnB1dCgpIG1vZGlmeUNvcHlhYmxlUmFuZ2U6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeUNvcHlhYmxlUmFuZ2UnXTtcbiAgQElucHV0KCkgbW9kaWZ5RmlsdGVyc011bHRpU2VsZWN0VmFsdWU6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeUZpbHRlcnNNdWx0aVNlbGVjdFZhbHVlJ107XG4gIEBJbnB1dCgpIG1vZGlmeUZvY3VzZWRFbGVtZW50OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtb2RpZnlGb2N1c2VkRWxlbWVudCddO1xuICBASW5wdXQoKSBtb2RpZnlEYXRhOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtb2RpZnlEYXRhJ107XG4gIEBJbnB1dCgpIG1vZGlmeUZvY3VzT25UYWJOYXZpZ2F0aW9uOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtb2RpZnlGb2N1c09uVGFiTmF2aWdhdGlvbiddO1xuICBASW5wdXQoKSBtb2RpZnlHZXRDZWxsQ29vcmRzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtb2RpZnlHZXRDZWxsQ29vcmRzJ107XG4gIEBJbnB1dCgpIG1vZGlmeVJvd0RhdGE6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeVJvd0RhdGEnXTtcbiAgQElucHV0KCkgbW9kaWZ5Um93SGVhZGVyOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtb2RpZnlSb3dIZWFkZXInXTtcbiAgQElucHV0KCkgbW9kaWZ5Um93SGVhZGVyV2lkdGg6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeVJvd0hlYWRlcldpZHRoJ107XG4gIEBJbnB1dCgpIG1vZGlmeVJvd0hlaWdodDogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snbW9kaWZ5Um93SGVpZ2h0J107XG4gIEBJbnB1dCgpIG1vZGlmeVNvdXJjZURhdGE6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeVNvdXJjZURhdGEnXTtcbiAgQElucHV0KCkgbW9kaWZ5VHJhbnNmb3JtRW5kOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtb2RpZnlUcmFuc2Zvcm1FbmQnXTtcbiAgQElucHV0KCkgbW9kaWZ5VHJhbnNmb3JtRm9jdXM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ21vZGlmeVRyYW5zZm9ybUZvY3VzJ107XG4gIEBJbnB1dCgpIG1vZGlmeVRyYW5zZm9ybVN0YXJ0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydtb2RpZnlUcmFuc2Zvcm1TdGFydCddO1xuICBASW5wdXQoKSBwZXJzaXN0ZW50U3RhdGVMb2FkOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydwZXJzaXN0ZW50U3RhdGVMb2FkJ107XG4gIEBJbnB1dCgpIHBlcnNpc3RlbnRTdGF0ZVJlc2V0OiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydwZXJzaXN0ZW50U3RhdGVSZXNldCddO1xuICBASW5wdXQoKSBwZXJzaXN0ZW50U3RhdGVTYXZlOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydwZXJzaXN0ZW50U3RhdGVTYXZlJ107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfaG90VGFibGVSZWdpc3RlcmVyOiBIb3RUYWJsZVJlZ2lzdGVyZXIsXG4gICAgcHJpdmF0ZSBfaG90U2V0dGluZ3NSZXNvbHZlcjogSG90U2V0dGluZ3NSZXNvbHZlcixcbiAgICBwdWJsaWMgbmdab25lOiBOZ1pvbmUsXG4gICkge31cblxuICBwcml2YXRlIGdldCBob3RJbnN0YW5jZSgpOiBIYW5kc29udGFibGUgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuX19ob3RJbnN0YW5jZSB8fCAodGhpcy5fX2hvdEluc3RhbmNlICYmICF0aGlzLl9faG90SW5zdGFuY2UuaXNEZXN0cm95ZWQpKSB7XG5cbiAgICAgIC8vIFdpbGwgcmV0dXJuIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2Ugb3IgYG51bGxgIGlmIGl0J3Mgbm90IHlldCBiZWVuIGNyZWF0ZWQuXG4gICAgICByZXR1cm4gdGhpcy5fX2hvdEluc3RhbmNlO1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2hvdFRhYmxlUmVnaXN0ZXJlci5yZW1vdmVJbnN0YW5jZSh0aGlzLmhvdElkKTtcblxuICAgICAgY29uc29sZS53YXJuKEhPVF9ERVNUUk9ZRURfV0FSTklORyk7XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0IGhvdEluc3RhbmNlKGhvdEluc3RhbmNlKSB7XG4gICAgdGhpcy5fX2hvdEluc3RhbmNlID0gaG90SW5zdGFuY2U7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5ncyA9ICh0aGlzLl9ob3RTZXR0aW5nc1Jlc29sdmVyLm1lcmdlU2V0dGluZ3ModGhpcykgYXMgSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5ncyk7XG5cbiAgICBpZiAodGhpcy5jb2x1bW5zQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBjb2x1bW5zOiBIYW5kc29udGFibGUuQ29sdW1uU2V0dGluZ3NbXSA9IFtdO1xuXG4gICAgICB0aGlzLmNvbHVtbnNDb21wb25lbnRzLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICBjb2x1bW5zLnB1c2goKHRoaXMuX2hvdFNldHRpbmdzUmVzb2x2ZXIubWVyZ2VTZXR0aW5ncyhjb2x1bW4pIGFzIEhhbmRzb250YWJsZS5Db2x1bW5TZXR0aW5ncykpO1xuICAgICAgfSk7XG5cbiAgICAgIG9wdGlvbnNbJ2NvbHVtbnMnXSA9IGNvbHVtbnM7XG4gICAgfVxuXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5ob3RJbnN0YW5jZSA9IG5ldyBIYW5kc29udGFibGUuQ29yZSh0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCBvcHRpb25zKTtcblxuICAgICAgaWYgKHRoaXMuaG90SWQpIHtcbiAgICAgICAgdGhpcy5faG90VGFibGVSZWdpc3RlcmVyLnJlZ2lzdGVySW5zdGFuY2UodGhpcy5ob3RJZCwgdGhpcy5ob3RJbnN0YW5jZSk7XG4gICAgICB9XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICB0aGlzLmhvdEluc3RhbmNlLmluaXQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3RJbnN0YW5jZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld09wdGlvbnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3MgPSB0aGlzLl9ob3RTZXR0aW5nc1Jlc29sdmVyLnByZXBhcmVDaGFuZ2VzKGNoYW5nZXMpO1xuXG4gICAgdGhpcy51cGRhdGVIb3RUYWJsZShuZXdPcHRpb25zKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmhvdEluc3RhbmNlKSB7XG4gICAgICAgIHRoaXMuaG90SW5zdGFuY2UuZGVzdHJveSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuaG90SWQpIHtcbiAgICAgIHRoaXMuX2hvdFRhYmxlUmVnaXN0ZXJlci5yZW1vdmVJbnN0YW5jZSh0aGlzLmhvdElkKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVIb3RUYWJsZShuZXdTZXR0aW5nczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5ncyApOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaG90SW5zdGFuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLmhvdEluc3RhbmNlLnVwZGF0ZVNldHRpbmdzKG5ld1NldHRpbmdzLCBmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICBvbkFmdGVyQ29sdW1uc0NoYW5nZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb2x1bW5zQ29tcG9uZW50cyA9PT0gdm9pZCAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29sdW1uc0NvbXBvbmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgY29sdW1uczogSGFuZHNvbnRhYmxlLkNvbHVtblNldHRpbmdzW10gPSBbXTtcblxuICAgICAgdGhpcy5jb2x1bW5zQ29tcG9uZW50cy5mb3JFYWNoKChjb2x1bW4pID0+IHtcbiAgICAgICAgY29sdW1ucy5wdXNoKCh0aGlzLl9ob3RTZXR0aW5nc1Jlc29sdmVyLm1lcmdlU2V0dGluZ3MoY29sdW1uKSBhcyBIYW5kc29udGFibGUuQ29sdW1uU2V0dGluZ3MpKTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBuZXdPcHRpb25zOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzID0ge1xuICAgICAgICBjb2x1bW5zOiBjb2x1bW5zXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnVwZGF0ZUhvdFRhYmxlKG5ld09wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIG9uQWZ0ZXJDb2x1bW5zTnVtYmVyQ2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbHVtbnM6IEhhbmRzb250YWJsZS5Db2x1bW5TZXR0aW5nc1tdID0gW107XG5cbiAgICBpZiAodGhpcy5jb2x1bW5zQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmNvbHVtbnNDb21wb25lbnRzLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICBjb2x1bW5zLnB1c2goKHRoaXMuX2hvdFNldHRpbmdzUmVzb2x2ZXIubWVyZ2VTZXR0aW5ncyhjb2x1bW4pIGFzIEhhbmRzb250YWJsZS5Db2x1bW5TZXR0aW5ncykpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVIb3RUYWJsZSh7IGNvbHVtbnMgfSk7XG4gIH1cblxuICBhZGRDb2x1bW4oY29sdW1uOiBIb3RDb2x1bW5Db21wb25lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtbnNDb21wb25lbnRzLnB1c2goY29sdW1uKTtcbiAgICB0aGlzLm9uQWZ0ZXJDb2x1bW5zTnVtYmVyQ2hhbmdlKCk7XG4gIH1cblxuICByZW1vdmVDb2x1bW4oY29sdW1uOiBIb3RDb2x1bW5Db21wb25lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleDogbnVtYmVyID0gdGhpcy5jb2x1bW5zQ29tcG9uZW50cy5pbmRleE9mKGNvbHVtbik7XG5cbiAgICB0aGlzLmNvbHVtbnNDb21wb25lbnRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5vbkFmdGVyQ29sdW1uc051bWJlckNoYW5nZSgpO1xuICB9XG5cbn1cbiJdfQ==
|