ngx-wapp-components 1.27.2 → 1.27.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40,10 +40,16 @@ export class WTableLazyComponent {
40
40
  this.onSelectedElementsChange = new EventEmitter();
41
41
  this.onSecondaryCheckboxChange = new EventEmitter();
42
42
  }
43
+ set wappTableLazyLoadingObject(value) {
44
+ this._wappTableLazyLoadingObject = value;
45
+ }
46
+ get wappTableLazyLoadingObject() {
47
+ return this._wappTableLazyLoadingObject;
48
+ }
43
49
  ngOnInit() {
44
50
  this.loading = true;
45
- if (this.wappTableLazyLoadingObject.hasSelectAllCheckbox == undefined) {
46
- this.wappTableLazyLoadingObject.hasSelectAllCheckbox = true;
51
+ if (this._wappTableLazyLoadingObject.hasSelectAllCheckbox == undefined) {
52
+ this._wappTableLazyLoadingObject.hasSelectAllCheckbox = true;
47
53
  }
48
54
  }
49
55
  loadElements(event) {
@@ -111,9 +117,9 @@ export class WTableLazyComponent {
111
117
  confirmDeleteSelection(event) {
112
118
  this.confirmationService.confirm({
113
119
  target: event.target,
114
- message: this.wappTableLazyLoadingObject.confirmMultipleDeleteLabel,
120
+ message: this._wappTableLazyLoadingObject.confirmMultipleDeleteLabel,
115
121
  icon: "pi pi-exclamation-triangle",
116
- acceptLabel: this.wappTableLazyLoadingObject.confirmDeleteBtnLabel,
122
+ acceptLabel: this._wappTableLazyLoadingObject.confirmDeleteBtnLabel,
117
123
  accept: () => {
118
124
  this.deleteSelectedElements();
119
125
  }
@@ -126,9 +132,9 @@ export class WTableLazyComponent {
126
132
  confirmDelete(event, element) {
127
133
  this.confirmationService.confirm({
128
134
  target: event.target,
129
- message: this.wappTableLazyLoadingObject.confirmSingleDeleteLabel,
135
+ message: this._wappTableLazyLoadingObject.confirmSingleDeleteLabel,
130
136
  icon: "pi pi-exclamation-triangle",
131
- acceptLabel: this.wappTableLazyLoadingObject.confirmDeleteBtnLabel,
137
+ acceptLabel: this._wappTableLazyLoadingObject.confirmDeleteBtnLabel,
132
138
  accept: () => {
133
139
  this.deleteSingleElement(element);
134
140
  }
@@ -143,9 +149,9 @@ export class WTableLazyComponent {
143
149
  confirmCopy(event, element) {
144
150
  this.confirmationService.confirm({
145
151
  target: event.target,
146
- message: this.wappTableLazyLoadingObject.confirmCopyLabel,
152
+ message: this._wappTableLazyLoadingObject.confirmCopyLabel,
147
153
  icon: "pi pi-exclamation-triangle",
148
- acceptLabel: this.wappTableLazyLoadingObject.confirmCopyBtnLabel,
154
+ acceptLabel: this._wappTableLazyLoadingObject.confirmCopyBtnLabel,
149
155
  accept: () => {
150
156
  this.copyElement(element);
151
157
  }
@@ -162,7 +168,7 @@ export class WTableLazyComponent {
162
168
  this.onAllElementSelect.emit(true);
163
169
  this.loading = true;
164
170
  setTimeout(() => {
165
- this.selectedElements = this.wappTableLazyLoadingObject.disableCheckbox ? this.getSelectableElements(this.allElements) : this.allElements;
171
+ this.selectedElements = this._wappTableLazyLoadingObject.disableCheckbox ? this.getSelectableElements(this.allElements) : this.allElements;
166
172
  this.selectAll = true;
167
173
  this.loading = false;
168
174
  }, 1000);
@@ -174,21 +180,21 @@ export class WTableLazyComponent {
174
180
  this.onSelectedElementsChange.emit(this.selectedElements);
175
181
  }
176
182
  getSelectableElements(allElements) {
177
- return allElements.filter((element) => !this.readProperty(element, this.wappTableLazyLoadingObject.disableCheckbox));
183
+ return allElements.filter((element) => !this.readProperty(element, this._wappTableLazyLoadingObject.disableCheckbox));
178
184
  }
179
185
  getBooleanColumnClass(index, valueProperty) {
180
186
  const booleanIconClasses = [];
181
187
  if (valueProperty == true) {
182
- booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].trueIcon ?? '');
183
- booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].trueIconColor ?? '');
188
+ booleanIconClasses.push(this._wappTableLazyLoadingObject.columnBooleanTypeIcons[index].trueIcon ?? '');
189
+ booleanIconClasses.push(this._wappTableLazyLoadingObject.columnBooleanTypeIcons[index].trueIconColor ?? '');
184
190
  }
185
191
  else if (valueProperty == false) {
186
- booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].falseIcon ?? '');
187
- booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].falseIconColor) ?? '';
192
+ booleanIconClasses.push(this._wappTableLazyLoadingObject.columnBooleanTypeIcons[index].falseIcon ?? '');
193
+ booleanIconClasses.push(this._wappTableLazyLoadingObject.columnBooleanTypeIcons[index].falseIconColor) ?? '';
188
194
  }
189
195
  else if (valueProperty == null) {
190
- booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].nullIcon ?? '');
191
- booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].nullIconColor ?? '');
196
+ booleanIconClasses.push(this._wappTableLazyLoadingObject.columnBooleanTypeIcons[index].nullIcon ?? '');
197
+ booleanIconClasses.push(this._wappTableLazyLoadingObject.columnBooleanTypeIcons[index].nullIconColor ?? '');
192
198
  }
193
199
  return booleanIconClasses;
194
200
  }
@@ -234,19 +240,19 @@ export class WTableLazyComponent {
234
240
  return 'text-left';
235
241
  }
236
242
  calculateColspan() {
237
- let colspan = this.wappTableLazyLoadingObject.headers.length;
238
- this.wappTableLazyLoadingObject.hasCheckbox ?
243
+ let colspan = this._wappTableLazyLoadingObject.headers.length;
244
+ this._wappTableLazyLoadingObject.hasCheckbox ?
239
245
  colspan += 1 : '';
240
246
  this.hasActionButtons() ?
241
247
  colspan += 1 : '';
242
248
  return colspan;
243
249
  }
244
250
  hasActionButtons() {
245
- return this.wappTableLazyLoadingObject.hasCopyButton ||
246
- this.wappTableLazyLoadingObject.hasEditButton ||
247
- this.wappTableLazyLoadingObject.hasViewButton ||
248
- this.wappTableLazyLoadingObject.hasDeleteButton ||
249
- this.wappTableLazyLoadingObject?.hasCustomButton ?
251
+ return this._wappTableLazyLoadingObject.hasCopyButton ||
252
+ this._wappTableLazyLoadingObject.hasEditButton ||
253
+ this._wappTableLazyLoadingObject.hasViewButton ||
254
+ this._wappTableLazyLoadingObject.hasDeleteButton ||
255
+ this._wappTableLazyLoadingObject?.hasCustomButton ?
250
256
  true : false;
251
257
  }
252
258
  refreshPagination(first) {
@@ -364,4 +370,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
364
370
  type: ViewChild,
365
371
  args: ['table', { static: false }]
366
372
  }] } });
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy10YWJsZS1sYXp5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL3RhYmxlcy93LXRhYmxlLWxhenkvdy10YWJsZS1sYXp5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL3RhYmxlcy93LXRhYmxlLWxhenkvdy10YWJsZS1sYXp5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVN4SixNQUFNLE9BQU8sbUJBQW1CO0lBZ0M5QixZQUNVLG1CQUF3QyxFQUN6QyxxQkFBNEM7UUFEM0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN6QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBakNyRCxxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFJN0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQix3QkFBbUIsR0FBVyxDQUFDLENBQUM7UUFDaEMsbUJBQWMsR0FBK0IsbUJBQW1CLENBQUM7UUFJM0MsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFHdEIsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFHNUIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBMkIsQ0FBQztRQUUxRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdEMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM1QywwQkFBcUIs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T0FBTyxXQUFXLENBQUE7U0FBRTtRQUMvRCxJQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsU0FBUyxFQUFFO1lBQUUsT0FBTyxXQUFXLENBQUE7U0FBRTtRQUMvRCxJQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsU0FBUyxFQUFFO1lBQUUsT0FBTyxXQUFXLENBQUE7U0FBRTtRQUMvRCxJQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFO1lBQUUsT0FBTyxTQUFTLENBQUE7U0FBRTtRQUMzRCxJQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFO1lBQUUsT0FBTyxTQUFTLENBQUE7U0FBRTtRQUMzRCxJQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFO1lBQUUsT0FBTyxTQUFTLENBQUE7U0FBRTtRQUMzRCxJQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTyxPQUFPLENBQUE7U0FBRTtRQUN2RCxJQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTyxPQUFPLENBQUE7U0FBRTtRQUN2RCxJQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTyxPQUFPLENBQUE7U0FBRTtRQUN2RCxJQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQUUsT0FBTyxRQUFRLENBQUE7U0FBRTtRQUN6RCxJQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQUUsT0FBTyxRQUFRLENBQUE7U0FBRTtRQUN6RCxJQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQUUsT0FBTyxRQUFRLENBQUE7U0FBRTtRQUN6RCxJQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQUUsT0FBTyxRQUFRLENBQUE7U0FBRTtRQUN6RCxJQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQUUsT0FBTyxRQUFRLENBQUE7U0FBRTtRQUN6RCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7O2dIQW5TVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwyMkJDZGhDLHkvNUJBaVRpQzsyRkRuU3BCLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxjQUFjOzhJQWFOLE9BQU87c0JBQXhCLEtBQUs7dUJBQUMsU0FBUztnQkFDRyxRQUFRO3NCQUExQixLQUFLO3VCQUFDLFVBQVU7Z0JBQ0ssV0FBVztzQkFBaEMsS0FBSzt1QkFBQyxhQUFhO2dCQUNFLFdBQVc7c0JBQWhDLEtBQUs7dUJBQUMsYUFBYTtnQkFDRyxZQUFZO3NCQUFsQyxLQUFLO3VCQUFDLGNBQWM7Z0JBQ0ksY0FBYztzQkFBdEMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ2MsMEJBQTBCO3NCQUE5RCxLQUFLO3VCQUFDLDRCQUE0QjtnQkFFVixhQUFhO3NCQUFyQyxNQUFNO3VCQUFDLGVBQWU7Z0JBRUksZUFBZTtzQkFBekMsTUFBTTt1QkFBQyxpQkFBaUI7Z0JBQ00sbUJBQW1CO3NCQUFqRCxNQUFNO3VCQUFDLHFCQUFxQjtnQkFDSSxxQkFBcUI7c0JBQXJELE1BQU07dUJBQUMsdUJBQXVCO2dCQUNBLG1CQUFtQjtzQkFBakQsTUFBTTt1QkFBQyxxQkFBcUI7Z0JBQ0UsbUJBQW1CO3NCQUFqRCxNQUFNO3VCQUFDLHFCQUFxQjtnQkFDSSxxQkFBcUI7c0JBQXJELE1BQU07dUJBQUMsdUJBQXVCO2dCQUNELGtCQUFrQjtzQkFBL0MsTUFBTTt1QkFBQyxvQkFBb0I7Z0JBQ0osWUFBWTtzQkFBbkMsTUFBTTt1QkFBQyxjQUFjO2dCQUNjLHdCQUF3QjtzQkFBM0QsTUFBTTt1QkFBQywwQkFBMEI7Z0JBQ0cseUJBQXlCO3NCQUE3RCxNQUFNO3VCQUFDLDJCQUEyQjtnQkFFSSxTQUFTO3NCQUEvQyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgTGF6eUxvYWRFdmVudCB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgVGFibGUgfSBmcm9tICdwcmltZW5nL3RhYmxlJztcclxuaW1wb3J0IHsgTGF6eUVsZW1lbnRRdWVyeVJlcXVlc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL2xhenktZWxlbWVudC1xdWVyeS1yZXF1ZXN0Lm1vZGVsJztcclxuaW1wb3J0IHsgV2FwcFRhYmxlTGF6eUxvYWRpbmcgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL3dhcHAtdGFibGUtbGF6eS1sb2FkaW5nLm1vZGVsJztcclxuaW1wb3J0IHsgQ3VzdG9tQ29sb3IsIFRhYmxlQ29sdW1uRmlsdGVyVHlwZXMsIFRhYmxlQ29sdW1uVHlwZXMsIFdEYXRlUGlwZUZvcm1hdFR5cGUsIFdhcHBUYWJsZUNvbHVtbkFsaWduVHlwZXMgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL2VudW1zLm1vZGVsJztcclxuaW1wb3J0IHsgRGF0ZUNvbnZlcnNpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL2RhdGUtY29udmVyc2lvbi5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ctdGFibGUtbGF6eScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ctdGFibGUtbGF6eS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdy10YWJsZS1sYXp5LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFdUYWJsZUxhenlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHNlbGVjdGVkRWxlbWVudHM6IGFueVtdID0gW107XHJcbiAgdHJhbnNsYXRpb25zOiBhbnk7XHJcbiAgbGFzdFF1ZXJ5ITogTGF6eUVsZW1lbnRRdWVyeVJlcXVlc3Q7XHJcblxyXG4gIHNlbGVjdEFsbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGZpbHRlckVsZW1lbnRzSW5kZXg6IG51bWJlciA9IDA7XHJcbiAgd2FwcERhdGVGb3JtYXQ6IHR5cGVvZiBXRGF0ZVBpcGVGb3JtYXRUeXBlID0gV0RhdGVQaXBlRm9ybWF0VHlwZTtcclxuXHJcbiAgQElucHV0KCdsb2FkaW5nJykgbG9hZGluZyE6IGJvb2xlYW47XHJcbiAgQElucHV0KCdlbGVtZW50cycpIGVsZW1lbnRzITogYW55W107XHJcbiAgQElucHV0KCdyb3dzUGVyUGFnZScpIHJvd3NQZXJQYWdlOiBudW1iZXIgPSAxMDtcclxuICBASW5wdXQoJ2FsbEVsZW1lbnRzJykgYWxsRWxlbWVudHMhOiBhbnlbXTtcclxuICBASW5wdXQoJ3RvdGFsUmVjb3JkcycpIHRvdGFsUmVjb3JkcyE6IG51bWJlcjtcclxuICBASW5wdXQoJ21heFJvd3NQZXJQYWdlJykgbWF4Um93c1BlclBhZ2U6IG51bWJlciA9IDUwO1xyXG4gIEBJbnB1dCgnd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QnKSB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdCE6IFdhcHBUYWJsZUxhenlMb2FkaW5nO1xyXG5cclxuICBAT3V0cHV0KCdxdWVyeUVsZW1lbnRzJykgcXVlcnlFbGVtZW50cyA9IG5ldyBFdmVudEVtaXR0ZXI8TGF6eUVsZW1lbnRRdWVyeVJlcXVlc3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoJ29uRWxlbWVudFNlbGVjdCcpIG9uRWxlbWVudFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoJ29uVmlld0VsZW1lbnRTZWxlY3QnKSBvblZpZXdFbGVtZW50U2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgnb25DdXN0b21FbGVtZW50U2VsZWN0Jykgb25DdXN0b21FbGVtZW50U2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgnb25Db3B5RWxlbWVudFNlbGVjdCcpIG9uQ29weUVsZW1lbnRTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCdvbkVkaXRFbGVtZW50U2VsZWN0Jykgb25FZGl0RWxlbWVudFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoJ29uRGVsZXRlRWxlbWVudFNlbGVjdCcpIG9uRGVsZXRlRWxlbWVudFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XHJcbiAgQE91dHB1dCgnb25BbGxFbGVtZW50U2VsZWN0Jykgb25BbGxFbGVtZW50U2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoJ29uUGFnZUNoYW5nZScpIG9uUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoJ29uU2VsZWN0ZWRFbGVtZW50c0NoYW5nZScpIG9uU2VsZWN0ZWRFbGVtZW50c0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoJ29uU2Vjb25kYXJ5Q2hlY2tib3hDaGFuZ2UnKSBvblNlY29uZGFyeUNoZWNrYm94Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlJywgeyBzdGF0aWM6IGZhbHNlIH0pIGRhdGFUYWJsZSE6IFRhYmxlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSwgXHJcbiAgICBwdWJsaWMgZGF0ZUNvbnZlcnNpb25TZXJ2aWNlOiBEYXRlQ29udmVyc2lvblNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICBcclxuICAgIGlmKHRoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzU2VsZWN0QWxsQ2hlY2tib3ggPT0gdW5kZWZpbmVkKXtcclxuICAgICAgdGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNTZWxlY3RBbGxDaGVja2JveCA9IHRydWU7IFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9hZEVsZW1lbnRzKGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgbGV0IGFkYXB0ZWRRdWVyeTogTGF6eUVsZW1lbnRRdWVyeVJlcXVlc3QgPSB7XHJcbiAgICAgIGZpcnN0OiBldmVudC5maXJzdCEsXHJcbiAgICAgIHJvd3M6IHRoaXMucm93c1BlclBhZ2UhLFxyXG4gICAgICBzb3J0T3JkZXI6IGV2ZW50LnNvcnRPcmRlciEsXHJcbiAgICAgIHNvcnRGaWVsZDogZXZlbnQuc29ydEZpZWxkISxcclxuICAgICAgZmlsdGVyczogT2JqZWN0LmtleXMoZXZlbnQuZmlsdGVycyEpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGNvbHVtbk5hbWU6IGtleSEsXHJcbiAgICAgICAgICB2YWx1ZTogZXZlbnQuZmlsdGVycyFba2V5XS52YWx1ZSxcclxuICAgICAgICAgIG1hdGNoTW9kZTogZXZlbnQuZmlsdGVycyFba2V5XS5tYXRjaE1vZGUhXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgdGhpcy5sYXN0UXVlcnkgPSBhZGFwdGVkUXVlcnk7XHJcbiAgICB0aGlzLnF1ZXJ5RWxlbWVudHMuZW1pdChhZGFwdGVkUXVlcnkpO1xyXG4gIH1cclxuXHJcbiAgcmVsb2FkRWxlbWVudHMoKSB7XHJcbiAgICB0aGlzLmxhc3RRdWVyeS5yb3dzID0gdGhpcy5yb3dzUGVyUGFnZTtcclxuICAgIHRoaXMucXVlcnlFbGVtZW50cy5lbWl0KHRoaXMubGFzdFF1ZXJ5KTtcclxuICB9XHJcblxyXG4gIHJlYWRQcm9wZXJ0eShvYmo6IGFueSwgcHJvcDogc3RyaW5nKTogYW55IHtcclxuICAgIGlmIChwcm9wID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBwcm9wLnNwbGl0KCcuJyk7XHJcbiAgICBsZXQgcmVzdWx0ID0gb2JqO1xyXG5cclxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xyXG4gICAgICBjb25zdCBtYXRjaCA9IHByb3BlcnR5Lm1hdGNoKC8oLis/KVxcWyhcXGQrKVxcXS8pO1xyXG4gICAgICBpZiAobWF0Y2gpIHtcclxuICAgICAgICBjb25zdCBhcnJheVByb3AgPSBtYXRjaFsxXTtcclxuICAgICAgICBjb25zdCBpbmRleCA9IHBhcnNlSW50KG1hdGNoWzJdLCAxMCk7XHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHJlc3VsdFthcnJheVByb3BdKSB8fCBpc05hTihpbmRleCkgfHwgaW5kZXggPCAwIHx8IGluZGV4ID49IHJlc3VsdFthcnJheVByb3BdLmxlbmd0aCkge1xyXG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0W2FycmF5UHJvcF1baW5kZXhdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0eXBlb2YgcmVzdWx0W3Byb3BlcnR5XSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdFtwcm9wZXJ0eV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgb25FbGVtZW50KGVsZW1lbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vbkVsZW1lbnRTZWxlY3QuZW1pdChlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHZpZXdFbGVtZW50KGVsZW1lbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vblZpZXdFbGVtZW50U2VsZWN0LmVtaXQoZWxlbWVudCk7XHJcbiAgfVxyXG4gIGN1c3RvbUVsZW1lbnQoZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uQ3VzdG9tRWxlbWVudFNlbGVjdC5lbWl0KGVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgZWRpdEVsZW1lbnQoZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uRWRpdEVsZW1lbnRTZWxlY3QuZW1pdChlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1EZWxldGVTZWxlY3Rpb24oZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xyXG4gICAgICB0YXJnZXQ6IGV2ZW50LnRhcmdldCBhcyBFdmVudFRhcmdldCxcclxuICAgICAgbWVzc2FnZTogdGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb25maXJtTXVsdGlwbGVEZWxldGVMYWJlbCxcclxuICAgICAgaWNvbjogXCJwaSBwaS1leGNsYW1hdGlvbi10cmlhbmdsZVwiLFxyXG4gICAgICBhY2NlcHRMYWJlbDogdGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb25maXJtRGVsZXRlQnRuTGFiZWwsXHJcbiAgICAgIGFjY2VwdDogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGVsZXRlU2VsZWN0ZWRFbGVtZW50cygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVNlbGVjdGVkRWxlbWVudHMoKSB7XHJcbiAgICB0aGlzLm9uRGVsZXRlRWxlbWVudFNlbGVjdC5lbWl0KHRoaXMuc2VsZWN0ZWRFbGVtZW50cylcclxuICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgY29uZmlybURlbGV0ZShldmVudDogRXZlbnQsIGVsZW1lbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xyXG4gICAgICB0YXJnZXQ6IGV2ZW50LnRhcmdldCBhcyBFdmVudFRhcmdldCxcclxuICAgICAgbWVzc2FnZTogdGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb25maXJtU2luZ2xlRGVsZXRlTGFiZWwsXHJcbiAgICAgIGljb246IFwicGkgcGktZXhjbGFtYXRpb24tdHJpYW5nbGVcIixcclxuICAgICAgYWNjZXB0TGFiZWw6IHRoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29uZmlybURlbGV0ZUJ0bkxhYmVsLFxyXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmRlbGV0ZVNpbmdsZUVsZW1lbnQoZWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlU2luZ2xlRWxlbWVudChlbGVtZW50OiBhbnkpIHtcclxuICAgIHRoaXMub25EZWxldGVFbGVtZW50U2VsZWN0LmVtaXQoW2VsZW1lbnRdKVxyXG4gIH1cclxuXHJcbiAgY29weUVsZW1lbnQoZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uQ29weUVsZW1lbnRTZWxlY3QuZW1pdChlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1Db3B5KGV2ZW50OiBFdmVudCwgZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XHJcbiAgICAgIHRhcmdldDogZXZlbnQudGFyZ2V0IGFzIEV2ZW50VGFyZ2V0LFxyXG4gICAgICBtZXNzYWdlOiB0aGlzLndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbmZpcm1Db3B5TGFiZWwsXHJcbiAgICAgIGljb246IFwicGkgcGktZXhjbGFtYXRpb24tdHJpYW5nbGVcIixcclxuICAgICAgYWNjZXB0TGFiZWw6IHRoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29uZmlybUNvcHlCdG5MYWJlbCxcclxuICAgICAgYWNjZXB0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb3B5RWxlbWVudChlbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGlvbkNoYW5nZSh2YWx1ZSA9IFtdKSB7XHJcbiAgICB0aGlzLnNlbGVjdEFsbCA9IHZhbHVlLmxlbmd0aCA9PT0gdGhpcy50b3RhbFJlY29yZHM7XHJcbiAgICB0aGlzLnNlbGVjdGVkRWxlbWVudHMgPSB2YWx1ZTtcclxuICAgIHRoaXMub25TZWxlY3RlZEVsZW1lbnRzQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZEVsZW1lbnRzKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0QWxsQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGNoZWNrZWQgPSBldmVudC5jaGVja2VkO1xyXG5cclxuICAgIGlmIChjaGVja2VkKSB7XHJcbiAgICAgIHRoaXMub25BbGxFbGVtZW50U2VsZWN0LmVtaXQodHJ1ZSk7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50cyA9IHRoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZUNoZWNrYm94ID8gdGhpcy5nZXRTZWxlY3RhYmxlRWxlbWVudHModGhpcy5hbGxFbGVtZW50cykgOiB0aGlzLmFsbEVsZW1lbnRzO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0QWxsID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnRzID0gW107XHJcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRoaXMub25TZWxlY3RlZEVsZW1lbnRzQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZEVsZW1lbnRzKTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGFibGVFbGVtZW50cyhhbGxFbGVtZW50czogYW55W10pIHtcclxuICAgIHJldHVybiBhbGxFbGVtZW50cy5maWx0ZXIoKGVsZW1lbnQ6IGFueSkgPT4gIXRoaXMucmVhZFByb3BlcnR5KGVsZW1lbnQsIHRoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZUNoZWNrYm94ISkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Qm9vbGVhbkNvbHVtbkNsYXNzKGluZGV4OiBudW1iZXIsIHZhbHVlUHJvcGVydHk6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IGJvb2xlYW5JY29uQ2xhc3NlcyA9IFtdO1xyXG5cclxuICAgIGlmICh2YWx1ZVByb3BlcnR5ID09IHRydWUpIHtcclxuICAgICAgYm9vbGVhbkljb25DbGFzc2VzLnB1c2godGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5Cb29sZWFuVHlwZUljb25zW2luZGV4XS50cnVlSWNvbiA/PyAnJyk7XHJcbiAgICAgIGJvb2xlYW5JY29uQ2xhc3Nlcy5wdXNoKHRoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQm9vbGVhblR5cGVJY29uc1tpbmRleF0udHJ1ZUljb25Db2xvciA/PyAnJyk7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlUHJvcGVydHkgPT0gZmFsc2UpIHtcclxuICAgICAgYm9vbGVhbkljb25DbGFzc2VzLnB1c2godGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5Cb29sZWFuVHlwZUljb25zW2luZGV4XS5mYWxzZUljb24gPz8gJycpO1xyXG4gICAgICBib29sZWFuSWNvbkNsYXNzZXMucHVzaCh0aGlzLndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkJvb2xlYW5UeXBlSWNvbnNbaW5kZXhdLmZhbHNlSWNvbkNvbG9yKSA/PyAnJztcclxuICAgIH0gZWxzZSBpZiAodmFsdWVQcm9wZXJ0eSA9PSBudWxsKSB7XHJcbiAgICAgIGJvb2xlYW5JY29uQ2xhc3Nlcy5wdXNoKHRoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQm9vbGVhblR5cGVJY29uc1tpbmRleF0ubnVsbEljb24gPz8gJycpO1xyXG4gICAgICBib29sZWFuSWNvbkNsYXNzZXMucHVzaCh0aGlzLndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkJvb2xlYW5UeXBlSWNvbnNbaW5kZXhdLm51bGxJY29uQ29sb3IgPz8gJycpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBib29sZWFuSWNvbkNsYXNzZXM7XHJcbiAgfVxyXG5cclxuICBvblNlY29uZGFyeUNoZWNrYm94Q2hhbmdlcyhlbGVtZW50OiBhbnkpIHtcclxuICAgIHRoaXMub25TZWNvbmRhcnlDaGVja2JveENoYW5nZS5lbWl0KGVsZW1lbnQpXHJcbiAgfVxyXG5cclxuICBjbGVhcih0YWJsZTogVGFibGUpIHtcclxuICAgIHRhYmxlLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHRhYmxlQ29sdW1uRmlsdGVyVHlwZXMoKTogdHlwZW9mIFRhYmxlQ29sdW1uRmlsdGVyVHlwZXMge1xyXG4gICAgcmV0dXJuIFRhYmxlQ29sdW1uRmlsdGVyVHlwZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHRhYmxlQ29sdW1uVHlwZXMoKTogdHlwZW9mIFRhYmxlQ29sdW1uVHlwZXMge1xyXG4gICAgcmV0dXJuIFRhYmxlQ29sdW1uVHlwZXM7XHJcbiAgfVxyXG5cclxuICBjbGVhckZpbHRlcnMoKSB7XHJcbiAgICB0aGlzLmRhdGFUYWJsZS5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKGFsaWdubWVudDogbnVtYmVyKSB7XHJcbiAgICBpZihhbGlnbm1lbnQgPT0gV2FwcFRhYmxlQ29sdW1uQWxpZ25UeXBlcy5SaWdodCkgcmV0dXJuICd0ZXh0LXJpZ2h0JztcclxuICAgIGlmKGFsaWdubWVudCA9PSBXYXBwVGFibGVDb2x1bW5BbGlnblR5cGVzLkxlZnQpIHJldHVybiAndGV4dC1sZWZ0JztcclxuICAgIGlmKGFsaWdubWVudCA9PSBXYXBwVGFibGVDb2x1bW5BbGlnblR5cGVzLkNlbnRlcikgcmV0dXJuICd0ZXh0LWNlbnRlcic7XHJcbiAgICByZXR1cm4gJ3RleHQtbGVmdCdcclxuICB9XHJcblxyXG4gIGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzc0RlZmF1bHRCeUNvbHVtblR5cGUoY29sdW1uVHlwZTogVGFibGVDb2x1bW5UeXBlcykge1xyXG4gICAgaWYoY29sdW1uVHlwZSA9PSBUYWJsZUNvbHVtblR5cGVzLlRleHQpIHJldHVybiAndGV4dC1sZWZ0JztcclxuICAgIGlmKGNvbHVtblR5cGUgPT0gVGFibGVDb2x1bW5UeXBlcy5DdXJyZW5jeSkgcmV0dXJuICd0ZXh0LWxlZnQnO1xyXG4gICAgaWYoY29sdW1uVHlwZSA9PSBUYWJsZUNvbHVtblR5cGVzLkRhdGUpIHJldHVybiAndGV4dC1sZWZ0JztcclxuICAgIGlmKGNvbHVtblR5cGUgPT0gVGFibGVDb2x1bW5UeXBlcy5CYWRnZSkgcmV0dXJuICd0ZXh0LWNlbnRlcic7XHJcbiAgICBpZihjb2x1bW5UeXBlID09IFRhYmxlQ29sdW1uVHlwZXMuQm9vbGVhbikgcmV0dXJuICd0ZXh0LWNlbnRlcic7XHJcbiAgICBpZihjb2x1bW5UeXBlID09IFRhYmxlQ29sdW1uVHlwZXMuSW1hZ2UpIHJldHVybiAndGV4dC1jZW50ZXInO1xyXG4gICAgaWYoY29sdW1uVHlwZSA9PSBUYWJsZUNvbHVtblR5cGVzLk51bWJlcikgcmV0dXJuICd0ZXh0LXJpZ2h0JztcclxuICAgIHJldHVybiAndGV4dC1sZWZ0J1xyXG4gIH1cclxuXHJcbiAgY2FsY3VsYXRlQ29sc3BhbigpIHtcclxuICAgIGxldCBjb2xzcGFuID0gdGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oZWFkZXJzLmxlbmd0aDtcclxuICAgIHRoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2hlY2tib3ggPyBcclxuICAgICAgY29sc3BhbiArPSAxIDogJyc7XHJcbiAgICAgIHRoaXMuaGFzQWN0aW9uQnV0dG9ucygpID9cclxuICAgICAgICBjb2xzcGFuICs9IDEgOiAnJztcclxuICAgICAgcmV0dXJuIGNvbHNwYW47XHJcbiAgfVxyXG5cclxuICBoYXNBY3Rpb25CdXR0b25zKCkgOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NvcHlCdXR0b24gfHxcclxuICAgICAgICAgICAgdGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNFZGl0QnV0dG9uIHx8XHJcbiAgICAgICAgICAgIHRoaXMud2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzVmlld0J1dHRvbiB8fFxyXG4gICAgICAgICAgICB0aGlzLndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0RlbGV0ZUJ1dHRvbiB8fCBcclxuICAgICAgICAgICAgdGhpcy53YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdD8uaGFzQ3VzdG9tQnV0dG9uID9cclxuICAgICAgICAgIHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hQYWdpbmF0aW9uKGZpcnN0OiBudW1iZXIpIHtcclxuICAgIHRoaXMuZGF0YVRhYmxlLl9maXJzdCA9IGZpcnN0O1xyXG4gIH1cclxuXHJcbiAgcGFnZUNoYW5nZShlbGVtZW50OiBhbnkpIHtcclxuICAgIHRoaXMub25QYWdlQ2hhbmdlLmVtaXQoZWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBnZXRCdXR0b25DdXN0b21Db2xvckNsYXNzKGN1c3RvbUNvbG9yOiBDdXN0b21Db2xvcikge1xyXG4gICAgaWYoY3VzdG9tQ29sb3IgPT0gQ3VzdG9tQ29sb3IuZGFya0JsdWUxKSB7IHJldHVybiAnZGFya0JsdWUxJyB9XHJcbiAgICBpZihjdXN0b21Db2xvciA9PSBDdXN0b21Db2xvci5kYXJrQmx1ZTIpIHsgcmV0dXJuICdkYXJrQmx1ZTInIH1cclxuICAgIGlmKGN1c3RvbUNvbG9yID09IEN1c3RvbUNvbG9yLmRhcmtCbHVlMykgeyByZXR1cm4gJ2RhcmtCbHVlMycgfVxyXG4gICAgaWYoY3VzdG9tQ29sb3IgPT0gQ3VzdG9tQ29sb3IucHVycGxlMSkgeyByZXR1cm4gJ3B1cnBsZTEnIH1cclxuICAgIGlmKGN1c3RvbUNvbG9yID09IEN1c3RvbUNvbG9yLnB1cnBsZTIpIHsgcmV0dXJuICdwdXJwbGUyJyB9XHJcbiAgICBpZihjdXN0b21Db2xvciA9PSBDdXN0b21Db2xvci5wdXJwbGUzKSB7IHJldHVybiAncHVycGxlMycgfVxyXG4gICAgaWYoY3VzdG9tQ29sb3IgPT0gQ3VzdG9tQ29sb3IucGluazEpIHsgcmV0dXJuICdwaW5rMScgfVxyXG4gICAgaWYoY3VzdG9tQ29sb3IgPT0gQ3VzdG9tQ29sb3IucGluazIpIHsgcmV0dXJuICdwaW5rMicgfVxyXG4gICAgaWYoY3VzdG9tQ29sb3IgPT0gQ3VzdG9tQ29sb3IucGluazMpIHsgcmV0dXJuICdwaW5rMycgfVxyXG4gICAgaWYoY3VzdG9tQ29sb3IgPT0gQ3VzdG9tQ29sb3IuZ3JlZW4xKSB7IHJldHVybiAnZ3JlZW4xJyB9XHJcbiAgICBpZihjdXN0b21Db2xvciA9PSBDdXN0b21Db2xvci5ncmVlbjIpIHsgcmV0dXJuICdncmVlbjInIH1cclxuICAgIGlmKGN1c3RvbUNvbG9yID09IEN1c3RvbUNvbG9yLmdyZWVuMykgeyByZXR1cm4gJ2dyZWVuMycgfVxyXG4gICAgaWYoY3VzdG9tQ29sb3IgPT0gQ3VzdG9tQ29sb3IuZXJyb3IxKSB7IHJldHVybiAnZXJyb3IxJyB9XHJcbiAgICBpZihjdXN0b21Db2xvciA9PSBDdXN0b21Db2xvci5lcnJvcjIpIHsgcmV0dXJuICdlcnJvcjInIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiLmZpbHRlci1wYW5lbFwiPjwvbmctY29udGVudD5cclxuPGRpdiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0XCIgW2NsYXNzLnRhYmxlLWNvbnRhaW5lcl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC50YWJsZUNvbnRhaW5lclwiPlxyXG4gICAgPHAtdGFibGUgY2xhc3M9XCJ3LXRhYmxlLXN0eWxlc1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndy10YWJsZS1uby1idXR0b25zJyA6ICF3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNFZGl0QnV0dG9uICYmICF3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNEZWxldGVCdXR0b24gJiYgIXdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NvcHlCdXR0b24gJiYgIXdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmN1c3RvbUJ1dHRvbkNvbmZpZyAmJiAhd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzVmlld0J1dHRvbn1cIlxyXG4gICAgICAgICAgICAjdGFibGUgW3ZhbHVlXT1cImVsZW1lbnRzXCIgXHJcbiAgICAgICAgICAgIGRhdGFLZXk9XCJ7e3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmlkZW50aWZpY2F0b3J9fVwiXHJcbiAgICAgICAgICAgIFtsYXp5XT1cInRydWVcIiBcclxuICAgICAgICAgICAgW3Jvd0hvdmVyXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc1ZpZXdCdXR0b24hXCJcclxuICAgICAgICAgICAgKG9uTGF6eUxvYWQpPVwibG9hZEVsZW1lbnRzKCRldmVudClcIlxyXG4gICAgICAgICAgICBbc2VsZWN0aW9uXT1cInNlbGVjdGVkRWxlbWVudHNcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICBbc2VsZWN0QWxsXT1cInNlbGVjdEFsbFwiIChzZWxlY3RBbGxDaGFuZ2UpPVwib25TZWxlY3RBbGxDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtwYWdpbmF0b3JdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzUGFnaW5hdG9yISAmJiB0b3RhbFJlY29yZHMgPj0gMTBcIlxyXG4gICAgICAgICAgICBbcm93c109XCJyb3dzUGVyUGFnZVwiIFxyXG4gICAgICAgICAgICBbY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZV09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlID8gd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZSArICcgJyArICByb3dzUGVyUGFnZSArICcgZGUgJyArIHRvdGFsUmVjb3JkcyEgOiAnU2hvd2luZyAnICsgcm93c1BlclBhZ2UgKyAnIG9mICcgKyB0b3RhbFJlY29yZHMhXCJcclxuICAgICAgICAgICAgW3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxyXG4gICAgICAgICAgICBbc2hvd0N1cnJlbnRQYWdlUmVwb3J0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2dsb2JhbEZpbHRlckZpZWxkc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5nbG9iYWxGaWx0ZXJGaWVsZHMhXCJcclxuICAgICAgICAgICAgW3RhYmxlU3R5bGVdPVwieydtaW4td2lkdGgnOiB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC50YWJsZU1pbldpZHRoIX1cIlxyXG4gICAgICAgICAgICAob25QYWdlKT1cInBhZ2VDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xlYXJCdXR0b24gfHwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzR2xvYmFsU2VhcmNoXCIgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIHRhYmxlLXBhZ2luYXRvciBwLTBcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzVG90YWxQYWdpbmdTZWxlY3RvclwiIGNsYXNzPVwic2hvd2luZy1wZXItcGFnZVwiPiB7e3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmN1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGV9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc1RvdGFsUGFnaW5nU2VsZWN0b3JcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGwtMiBzaG93aW5nLXBlci1wYWdlXCIgW3NpemVdPVwiMVwiIFsobmdNb2RlbCldPVwicm93c1BlclBhZ2VcIiBbc2hvd0J1dHRvbnNdPVwidHJ1ZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbkxheW91dD1cImhvcml6b250YWxcIiBpbnB1dElkPVwiaG9yaXpvbnRhbFwiIHNwaW5uZXJNb2RlPVwiaG9yaXpvbnRhbFwiIFtzdGVwXT1cIjFcIiBbbWluXT1cIjFcIiBbbWF4XT1cIm1heFJvd3NQZXJQYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICBkZWNyZW1lbnRCdXR0b25DbGFzcz1cInAtYnV0dG9uLW91dGxpbmVkXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgaW5jcmVtZW50QnV0dG9uQ2xhc3M9XCJwLWJ1dHRvbi1vdXRsaW5lZFwiIFxyXG4gICAgICAgICAgICAgICAgICAgIGluY3JlbWVudEJ1dHRvbkljb249XCJwaSBwaS1wbHVzXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgZGVjcmVtZW50QnV0dG9uSWNvbj1cInBpIHBpLW1pbnVzXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgbW9kZT1cImRlY2ltYWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInJlbG9hZEVsZW1lbnRzKClcIj5cclxuICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Q/Lmhhc0dsb2JhbFNlYXJjaFwiIGNsYXNzPVwicC1pbnB1dC1pY29uLWxlZnQgbWwtYXV0b1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktc2VhcmNoXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImhlaWdodC1pbnB1dCB3LWlucHV0XCIgcElucHV0VGV4dCB0eXBlPVwidGV4dFwiIChpbnB1dCk9XCJ0YWJsZS5maWx0ZXJHbG9iYWwoJGV2ZW50LCAnY29udGFpbnMnKVwiIHBsYWNlaG9sZGVyPVwie3t3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5zZWFyY2hQbGFjZWhvbGRlcn19XCIgLz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICA8dGggKm5nSWY9XCIhd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ29sdW1uRmlsdGVycyAmJiB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDaGVja2JveDsgZWxzZSBub0NoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduWzBdKSA6ICd0ZXh0LWNlbnRlcidcIj5cclxuICAgICAgICAgICAgICAgIDxwLXRhYmxlSGVhZGVyQ2hlY2tib3ggKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNTZWxlY3RBbGxDaGVja2JveCA9PSB0cnVlXCI+PC9wLXRhYmxlSGVhZGVyQ2hlY2tib3g+XHJcbiAgICAgICAgICAgIDwvdGg+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vQ2hlY2tib3g+PHRoICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2hlY2tib3hcIj48L3RoPjwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc1NvcnRhYmxlQ29sdW1uczsgZWxzZSBzb21ldGhpbmdcIj5cclxuICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Py5oZWFkZXJzOyBpbmRleCBhcyBpXCIgW2NsYXNzXT1cImhlYWRlciA9PSAoJ0ltYWdlbicgfHwgJ0ltYWdlJykgPyAnaW1hZ2UtaGVhZGVyJzogJydcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25bd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2hlY2tib3ggPyBpKzEgOiBpXSkgOiBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3NEZWZhdWx0QnlDb2x1bW5UeXBlKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtblR5cGVzW3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94ID8gaSsxIDogaV0pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3toZWFkZXJ9fVxyXG4gICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3NvbWV0aGluZz5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc29tZXRoaW5nIG5nRm9yIGxldC1maWx0ZXJUeXBlIFtuZ0Zvck9mXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmhlYWRlcnNcIiBsZXQtaT1cImluZGV4XCI+IFxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBbcFNvcnRhYmxlQ29sdW1uXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LnNvcnRhYmxlTmFtZXNbaV1cIiBbY2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGVhZGVyc1tpXSA9PSAoJ0ltYWdlbicgfHwgJ0ltYWdlJykgPyAnaW1hZ2UtaGVhZGVyJzogJydcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94ID8gaSsxIDogaV0pIDogZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzRGVmYXVsdEJ5Q29sdW1uVHlwZSh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5UeXBlc1t3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDaGVja2JveCA/IGkrMSA6IGldKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7d2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGVhZGVyc1tpXX19IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLXNvcnRJY29uICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Quc29ydGFibGVOYW1lc1tpXSAhPSBudWxsXCIgW2ZpZWxkXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LnNvcnRhYmxlTmFtZXNbaV1cIj48L3Atc29ydEljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDx0aCAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0RlbGV0ZUJ1dHRvbiB8fCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNFZGl0QnV0dG9uIHx8IHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc1ZpZXdCdXR0b24gfHwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ29weUJ1dHRvbiB8fCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdD8uaGFzQ3VzdG9tQnV0dG9uXCI+PC90aD5cclxuICAgICAgICA8L3RyPlxyXG5cclxuICAgICAgICA8dHIgKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDb2x1bW5GaWx0ZXJzXCI+XHJcbiAgICAgICAgICAgIDx0aCAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94XCIgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25bMF0pIDogJ3RleHQtbGVmdCdcIj5cclxuICAgICAgICAgICAgICAgIDxwLXRhYmxlSGVhZGVyQ2hlY2tib3g+PC9wLXRhYmxlSGVhZGVyQ2hlY2tib3g+XHJcbiAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDx0aCAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0ltYWdlXCIgXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnblt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDaGVja2JveCA/IDEgOiAwXSkgOiBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3NEZWZhdWx0QnlDb2x1bW5UeXBlKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtblR5cGVzW3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94ID8gMSA6IDBdKVwiPlxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWZpbHRlclR5cGUgW25nRm9yT2ZdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uRmlsdGVyVHlwZXNcIiBsZXQtaT1cImluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJmaWx0ZXJUeXBlID09IHRhYmxlQ29sdW1uRmlsdGVyVHlwZXMuVGV4dFwiIFxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtbGVmdCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cC1jb2x1bW5GaWx0ZXIgdHlwZT1cInRleHRcIiBbZmllbGRdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZmlsdGVyTmFtZXNbaV1cIj48L3AtY29sdW1uRmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImZpbHRlclR5cGUgPT0gdGFibGVDb2x1bW5GaWx0ZXJUeXBlcy5NdWx0aXNlbGVjdFwiIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtY29sdW1uRmlsdGVyIFtmaWVsZF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5maWx0ZXJOYW1lc1tpXVwiIG1hdGNoTW9kZT1cImluXCIgW3Nob3dNZW51XT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmaWx0ZXJcIiBsZXQtdmFsdWUgbGV0LWZpbHRlcj1cImZpbHRlckNhbGxiYWNrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1tdWx0aVNlbGVjdCBbbmdNb2RlbF09XCJ2YWx1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIFtvcHRpb25zXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LnNlbGVjdEZpbHRlckVsZW1lbnRzW2ldXCIgcGxhY2Vob2xkZXI9XCJBbnlcIiAob25DaGFuZ2UpPVwiZmlsdGVyKCRldmVudC52YWx1ZSlcIiBvcHRpb25MYWJlbD1cIm5hbWVcIiBbbWF4U2VsZWN0ZWRMYWJlbHNdPVwiMVwiIFtzZWxlY3RlZEl0ZW1zTGFiZWxdPVwiJ3swfSBpdGVtcydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LW9wdGlvbiBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLW11bHRpc2VsZWN0LXJlcHJlc2VudGF0aXZlLW9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0xXCI+e3tvcHRpb24ubmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wLW11bHRpU2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvcC1jb2x1bW5GaWx0ZXI+XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiZmlsdGVyVHlwZSA9PSB0YWJsZUNvbHVtbkZpbHRlclR5cGVzLk5vbmVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiZmlsdGVyVHlwZSA9PSB0YWJsZUNvbHVtbkZpbHRlclR5cGVzLkJvb2xlYW5cIiBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1jZW50ZXInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtY29sdW1uRmlsdGVyIHR5cGU9XCJib29sZWFuXCIgW2ZpZWxkXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmZpbHRlck5hbWVzW2ldXCI+PC9wLWNvbHVtbkZpbHRlcj5cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJmaWx0ZXJUeXBlID09IHRhYmxlQ29sdW1uRmlsdGVyVHlwZXMuRGF0ZVwiIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtY29sdW1uRmlsdGVyIHR5cGU9XCJkYXRlXCIgW2ZpZWxkXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmZpbHRlck5hbWVzW2ldXCI+PC9wLWNvbHVtbkZpbHRlcj5cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDx0aCAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0RlbGV0ZUJ1dHRvbiB8fCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNFZGl0QnV0dG9uIHx8IHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc1ZpZXdCdXR0b24gfHwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ29weUJ1dHRvbiB8fCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdD8uaGFzQ3VzdG9tQnV0dG9uXCI+PC90aD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWVsZW1lbnQgbGV0LWluZGV4PVwiaW5kZXhcIj5cclxuICAgICAgICA8dHIgKm5nSWY9XCIhbG9hZGluZ1wiIFtuZ0NsYXNzXT1cInsncm93LWhvdmVyJzogd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzVmlld0J1dHRvbn1cIiBcclxuICAgICAgICAoY2xpY2spPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gb25FbGVtZW50KGVsZW1lbnQpIDogJydcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWNvbHVtblR5cGUgW25nRm9yT2ZdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uVHlwZXNcIiBsZXQtaT1cImluZGV4XCI+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5DaGVja2JveCAmJiB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDaGVja2JveFwiIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmRpc2FibGVDaGVja2JveDsgZWxzZSBhY3RpdmVDaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLXRhYmxlQ2hlY2tib3ggW3ZhbHVlXT1cImVsZW1lbnRcIiBbZGlzYWJsZWRdPVwicmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmRpc2FibGVDaGVja2JveClcIj48L3AtdGFibGVDaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNhY3RpdmVDaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICA8cC10YWJsZUNoZWNrYm94IFt2YWx1ZV09XCJlbGVtZW50XCI+PC9wLXRhYmxlQ2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuSW1hZ2VcIiBbc3R5bGVdPVwiJ3dpZHRoOiAnK3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbldpZHRoc1tpXVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1jZW50ZXInXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyB2aWV3RWxlbWVudChlbGVtZW50KSA6ICcnXCIgW2NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/ICd3LXRhYmxlLWxhenktc2VsZWN0YWJsZS1yb3cnIDogJydcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJyZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSlcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJyZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSlcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlbGVtZW50LWltYWdlLXdpZHRoXCIvPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuVGV4dFwiICBbc3R5bGVdPVwiJ3dpZHRoOiAnK3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbldpZHRoc1tpXVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1sZWZ0J1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gdmlld0VsZW1lbnQoZWxlbWVudCkgOiAnJ1wiIFtjbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyAndy10YWJsZS1sYXp5LXNlbGVjdGFibGUtcm93JyA6ICcnXCI+XHJcbiAgICAgICAgICAgICAgICB7eyByZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSkgfX1cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLk51bWJlclwiICBbc3R5bGVdPVwiJ3dpZHRoOiAnK3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbldpZHRoc1tpXVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1yaWdodCdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/IHZpZXdFbGVtZW50KGVsZW1lbnQpIDogJydcIiBbY2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gJ3ctdGFibGUtbGF6eS1zZWxlY3RhYmxlLXJvdycgOiAnJ1wiPlxyXG4gICAgICAgICAgICAgICAge3sgcmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pIH19XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5QZXJjZW50YWdlXCIgIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LXJpZ2h0J1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gdmlld0VsZW1lbnQoZWxlbWVudCkgOiAnJ1wiIFtjbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyAndy10YWJsZS1sYXp5LXNlbGVjdGFibGUtcm93JyA6ICcnXCI+XHJcbiAgICAgICAgICAgICAgICB7eyByZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSkgfCB3YXBwUGVyY2VudGFnZSB9fVxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuQ3VycmVuY3lcIiBbc3R5bGVdPVwiJ3dpZHRoOiAnK3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbldpZHRoc1tpXVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1sZWZ0J1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gdmlld0VsZW1lbnQoZWxlbWVudCkgOiAnJ1wiIFtjbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyAndy10YWJsZS1sYXp5LXNlbGVjdGFibGUtcm93JyA6ICcnXCI+XHJcbiAgICAgICAgICAgICAgICB7eyByZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSkgfCB3YXBwQ3VycmVuY3kgfX1cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLkJhZGdlXCIgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtY2VudGVyJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gdmlld0VsZW1lbnQoZWxlbWVudCkgOiAnJ1wiIFtjbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyAndy10YWJsZS1sYXp5LXNlbGVjdGFibGUtcm93JyA6ICcnXCI+XHJcbiAgICAgICAgICAgICAgICA8dy1iYWRnZSBbbGFiZWxdPVwicmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pXCIgW2NvbG9yXT1cIidpbmZvJ1wiPjwvdy1iYWRnZT4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLkNvbG9yZWRCYWRnZVwiIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWNlbnRlcidcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/IHZpZXdFbGVtZW50KGVsZW1lbnQpIDogJydcIiBbY2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gJ3ctdGFibGUtbGF6eS1zZWxlY3RhYmxlLXJvdycgOiAnJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYmFkZ2Ugb2Ygd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sb3JlZEJhZGdlOyBpbmRleCBhcyBpbmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dy1iYWRnZSAqbmdJZj1cImJhZGdlLmNvbG9yZWRCYWRnZVByb3BlcnR5ID09IHJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKVwiIFtjb2xvcl09XCJiYWRnZS5jb2xvciA/IGJhZGdlLmNvbG9yIDogJ2luZm8nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC93LWJhZGdlPiAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5Cb29sZWFuXCIgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtY2VudGVyJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gdmlld0VsZW1lbnQoZWxlbWVudCkgOiAnJ1wiIFtjbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyAndy10YWJsZS1sYXp5LXNlbGVjdGFibGUtcm93JyA6ICcnXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpXCIgW25nQ2xhc3NdPVwiZ2V0Qm9vbGVhbkNvbHVtbkNsYXNzKGksIHJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKSlcIj48L2k+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5TZWNvbmRhcnlDaGVja2JveFwiIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWNlbnRlcidcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/IHZpZXdFbGVtZW50KGVsZW1lbnQpIDogJydcIiBbY2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gJ3ctdGFibGUtbGF6eS1zZWxlY3RhYmxlLXJvdycgOiAnJ1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtY2hlY2tib3ggWyhuZ01vZGVsKV09XCJlbGVtZW50W3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV1dXCIgW2JpbmFyeV09XCJ0cnVlXCIgaW5wdXRJZD1cImJpbmFyeVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uU2Vjb25kYXJ5Q2hlY2tib3hDaGFuZ2VzKGVsZW1lbnQpXCI+PC9wLWNoZWNrYm94PlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuRGF0ZVwiIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyB2aWV3RWxlbWVudChlbGVtZW50KSA6ICcnXCIgW2NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/ICd3LXRhYmxlLWxhenktc2VsZWN0YWJsZS1yb3cnIDogJydcIj5cclxuICAgICAgICAgICAgICAgIHt7IGRhdGVDb252ZXJzaW9uU2VydmljZS5mb3JtYXRVVENEYXRlKHJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKSkgfCB3YXBwRGF0ZSB9fVxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuRGF0ZVJhd1wiIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyB2aWV3RWxlbWVudChlbGVtZW50KSA6ICcnXCIgW2NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/ICd3LXRhYmxlLWxhenktc2VsZWN0YWJsZS1yb3cnIDogJydcIj5cclxuICAgICAgICAgICAgICAgIHt7IHJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKSB8IHdhcHBEYXRlIH19XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5TaG9ydERhdGVcIiBbc3R5bGVdPVwiJ3dpZHRoOiAnK3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbldpZHRoc1tpXVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1sZWZ0J1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gdmlld0VsZW1lbnQoZWxlbWVudCkgOiAnJ1wiIFtjbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyAndy10YWJsZS1sYXp5LXNlbGVjdGFibGUtcm93JyA6ICcnXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBkYXRlQ29udmVyc2lvblNlcnZpY2UuZm9ybWF0VVRDRGF0ZShyZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSkpIHwgd2FwcERhdGUgOiB3YXBwRGF0ZUZvcm1hdC5kIH19XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5Mb25nRGF0ZVwiIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyB2aWV3RWxlbWVudChlbGVtZW50KSA6ICcnXCIgW2NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/ICd3LXRhYmxlLWxhenktc2VsZWN0YWJsZS1yb3cnIDogJydcIj5cclxuICAgICAgICAgICAgICAgIHt7IGRhdGVDb252ZXJzaW9uU2VydmljZS5mb3JtYXRVVENEYXRlKHJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKSkgfCB3YXBwRGF0ZSA6IHdhcHBEYXRlRm9ybWF0LkQgfX1cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLkdlbmVyYWxEYXRlVGltZVNob3J0VGltZVwiIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyB2aWV3RWxlbWVudChlbGVtZW50KSA6ICcnXCIgW2NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/ICd3LXRhYmxlLWxhenktc2VsZWN0YWJsZS1yb3cnIDogJydcIj5cclxuICAgICAgICAgICAgICAgIHt7IGRhdGVDb252ZXJzaW9uU2VydmljZS5mb3JtYXRVVENEYXRlKHJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKSkgfCB3YXBwRGF0ZSA6IHdhcHBEYXRlRm9ybWF0LmcgfX1cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLkdlbmVyYWxEYXRlVGltZUxvbmdUaW1lXCIgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIiBcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyB2aWV3RWxlbWVudChlbGVtZW50KSA6ICcnXCIgW2NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/ICd3LXRhYmxlLWxhenktc2VsZWN0YWJsZS1yb3cnIDogJydcIj5cclxuICAgICAgICAgICAgICAgIHt7IGRhdGVDb252ZXJzaW9uU2VydmljZS5mb3JtYXRVVENEYXRlKHJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKSkgfCB3YXBwRGF0ZSA6IHdhcHBEYXRlRm9ybWF0LkcgfX1cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLkJ1aXNpbmVzc0RhdGVUaW1lXCIgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIiBcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyB2aWV3RWxlbWVudChlbGVtZW50KSA6ICcnXCIgW2NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/ICd3LXRhYmxlLWxhenktc2VsZWN0YWJsZS1yb3cnIDogJydcIj5cclxuICAgICAgICAgICAgICAgIHt7IHJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKSB8IHdhcHBEYXRlIDogd2FwcERhdGVGb3JtYXQuRGF0ZSB9fVxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuV2Vla1wiIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCIgXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1jZW50ZXInXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyB2aWV3RWxlbWVudChlbGVtZW50KSA6ICcnXCIgW2NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/ICd3LXRhYmxlLWxhenktc2VsZWN0YWJsZS1yb3cnIDogJydcIj5cclxuICAgICAgICAgICAgICAgIDx3LWJ1dHRvbi13ZWVrIFt2YWx1ZV09XCJyZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSlcIiBbdHJhbnNsYXRpb25zXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LndlZWtCdXR0b25UcmFuc2xhdGlvbnMgPyB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC53ZWVrQnV0dG9uVHJhbnNsYXRpb25zIDogW11cIiBbZGVmYXVsdEVzcF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC53ZWVrQnV0dG9uRGVmYXVsdEVzcCA/PyBmYWxzZVwiPjwvdy1idXR0b24td2Vlaz5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctdGFibGUtYnV0dG9ucyBmbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtZW5kXCI+XHJcbiAgICAgICAgICAgIDx3LWJ1dHRvbiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Py5oYXNWaWV3QnV0dG9uXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidmlld0VsZW1lbnQoZWxlbWVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy52aWV3VG9vbHRpcCFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LnBvc2l0aW9uIVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJwaS1leWVcIiB0eXBlPVwidGFibGVcIiBidXR0b25DbGFzcz1cInctdGFibGUtYnV0dG9uLXZpZXdcIj5cclxuICAgICAgICAgICAgPC93LWJ1dHRvbj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Q/Lmhhc0N1c3RvbUJ1dHRvblwiIG5nRm9yIGxldC1jdXN0b21CdXR0b25Db25maWcgW25nRm9yT2ZdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY3VzdG9tQnV0dG9uQ29uZmlnXCIgbGV0LWk9XCJpbmRleFwiPiBcclxuICAgICAgICAgICAgICAgIDx3LWJ1dHRvbiAqbmdJZj1cIiFjdXN0b21CdXR0b25Db25maWc/LmRpc2FibGVQcm9wZXJ0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImN1c3RvbUVsZW1lbnQoe2J1dHRvbklkOiBjdXN0b21CdXR0b25Db25maWcuYnV0dG9uSWQsIGVsZW1lbnQ6IGVsZW1lbnR9KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImN1c3RvbUJ1dHRvbkNvbmZpZz8uaWNvbiFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8uY3VzdG9tVG9vbHRpcCFbaV1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5wb3NpdGlvbiFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGFibGVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2J1dHRvbkNsYXNzXT1cIid3LXRhYmxlLWJ1dHRvbi12aWV3ICcgKyBnZXRCdXR0b25DdXN0b21Db2xvckNsYXNzKGN1c3RvbUJ1dHRvbkNvbmZpZy5jb2xvciEpXCI+XHJcbiAgICAgICAgICAgICAgICA8L3ctYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPHctYnV0dG9uICpuZ0lmPVwiY3VzdG9tQnV0dG9uQ29uZmlnPy5kaXNhYmxlUHJvcGVydHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJjdXN0b21FbGVtZW50KHtidXR0b25JZDogY3VzdG9tQnV0dG9uQ29uZmlnLmJ1dHRvbklkLCBlbGVtZW50OiBlbGVtZW50fSlcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRQcm9wZXJ0eShlbGVtZW50LCBjdXN0b21CdXR0b25Db25maWc/LmRpc2FibGVQcm9wZXJ0eSEpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiY3VzdG9tQnV0dG9uQ29uZmlnPy5pY29uIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5jdXN0b21Ub29sdGlwIVtpXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LnBvc2l0aW9uIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0YWJsZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYnV0dG9uQ2xhc3NdPVwiJ3ctdGFibGUtYnV0dG9uLXZpZXcgJyArIGdldEJ1dHRvbkN1c3RvbUNvbG9yQ2xhc3MoY3VzdG9tQnV0dG9uQ29uZmlnLmNvbG9yISlcIj5cclxuICAgICAgICAgICAgICAgIDwvdy1idXR0b24+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDx3LWJ1dHRvbiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0VkaXRCdXR0b24gJiYgIXdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmRpc2FibGVFZGl0UHJvcGVydHlcIiBcclxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJlZGl0RWxlbWVudChlbGVtZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LmVkaXRUb29sdGlwIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8ucG9zaXRpb24hXCJcclxuICAgICAgICAgICAgICAgICAgICBpY29uPVwicGktcGVuY2lsXCIgdHlwZT1cInRhYmxlXCIgYnV0dG9uQ2xhc3M9XCJ3LXRhYmxlLWJ1dHRvbi1lZGl0XCI+XHJcbiAgICAgICAgICAgIDwvdy1idXR0b24+XHJcbiAgICAgICAgICAgIDx3LWJ1dHRvbiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0VkaXRCdXR0b24gJiYgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZUVkaXRQcm9wZXJ0eVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImVkaXRFbGVtZW50KGVsZW1lbnQpXCIgW2Rpc2FibGVkXT1cInJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5kaXNhYmxlRWRpdFByb3BlcnR5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LmVkaXRUb29sdGlwIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8ucG9zaXRpb24hXCJcclxuICAgICAgICAgICAgICAgICAgICBpY29uPVwicGktcGVuY2lsXCIgdHlwZT1cInRhYmxlXCIgYnV0dG9uQ2xhc3M9XCJ3LXRhYmxlLWJ1dHRvbi1lZGl0XCI+XHJcbiAgICAgICAgICAgIDwvdy1idXR0b24+XHJcbiAgICAgICAgICAgIDx3LWJ1dHRvbiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Py5oYXNDb3B5QnV0dG9uXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiY29uZmlybUNvcHkoJGV2ZW50LCBlbGVtZW50KVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5jb3B5VG9vbHRpcCFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LnBvc2l0aW9uIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpLWNvcHlcIiB0eXBlPVwidGFibGVcIiBidXR0b25DbGFzcz1cInctdGFibGUtYnV0dG9uLXZpZXdcIj5cclxuICAgICAgICAgICAgPC93LWJ1dHRvbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdD8uaGFzRGVsZXRlQnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICA8dy1idXR0b24gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5kaXNhYmxlRGVsZXRlUHJvcGVydHk7IGVsc2Ugbm9EaXNhYmxlRGVsZXRlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImNvbmZpcm1EZWxldGUoJGV2ZW50LCBlbGVtZW50KVwiIFtkaXNhYmxlZF09XCJyZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZURlbGV0ZVByb3BlcnR5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5kZWxldGVUb29sdGlwIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LnBvc2l0aW9uIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJwaS10cmFzaFwiIHR5cGU9XCJ0YWJsZVwiIGJ1dHRvbkNsYXNzPVwidy10YWJsZS1idXR0b24tZGVsZXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8L3ctYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub0Rpc2FibGVEZWxldGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPHctYnV0dG9uIChvbkNsaWNrKT1cImNvbmZpcm1EZWxldGUoJGV2ZW50LCBlbGVtZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8uZGVsZXRlVG9vbHRpcCFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8ucG9zaXRpb24hXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJwaS10cmFzaFwiIHR5cGU9XCJ0YWJsZVwiIGJ1dHRvbkNsYXNzPVwidy10YWJsZS1idXR0b24tZGVsZXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC93LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJsb2FkaW5nYm9keVwiPlxyXG4gICAgICAgICAgICA8dHIgaGVpZ2h0PVwiNzBweFwiICpuZ0Zvcj1cImxldCBuIG9mIFswLDEsMiwzLDRdXCI+XHJcbiAgICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uVHlwZXNcIiBbc3R5bGUud2lkdGhdPVwiaXRlbSA9PSB0YWJsZUNvbHVtblR5cGVzLkNoZWNrYm94ID8gJzhyZW0nIDogJydcIiA+XHJcbiAgICAgICAgICAgICAgICA8cC10YWJsZUNoZWNrYm94ICpuZ0lmPVwiaXRlbSA9PSB0YWJsZUNvbHVtblR5cGVzLkNoZWNrYm94ICYmIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94XCI+PC9wLXRhYmxlQ2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8cC1za2VsZXRvbiAqbmdJZj1cIml0ZW0gPT0gdGFibGVDb2x1bW5UeXBlcy5JbWFnZVwiIHdpZHRoPVwiNnJlbVwiIGhlaWdodD1cIjRyZW1cIj48L3Atc2tlbGV0b24+XHJcbiAgICAgICAgICAgICAgICA8cC1za2VsZXRvbiAqbmdJZj1cIml0ZW0gIT0gdGFibGVDb2x1bW5UeXBlcy5DaGVja2JveCAmJiBpdGVtICE9IHRhYmxlQ29sdW1uVHlwZXMuSW1hZ2VcIj48L3Atc2tlbGV0b24+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzRWRpdEJ1dHRvbiB8fCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNEZWxldGVCdXR0b25cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LXRhYmxlLWJ1dHRvbnMgZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHctYnV0dG9uICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Q/Lmhhc0VkaXRCdXR0b25cIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJwaS1wZW5jaWxcIiB0eXBlPVwidGFibGVcIiBidXR0b25DbGFzcz1cInctdGFibGUtYnV0dG9uLWVkaXRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3ctYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Py5oYXNDdXN0b21CdXR0b25cIiBuZ0ZvciBsZXQtY3VzdG9tQnV0dG9uQ29uZmlnIFtuZ0Zvck9mXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmN1c3RvbUJ1dHRvbkNvbmZpZ1wiIGxldC1pPVwiaW5kZXhcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx3LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LmN1c3RvbVRvb2x0aXAhW2ldXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImN1c3RvbUJ1dHRvbkNvbmZpZz8uaWNvbiFcIiB0eXBlPVwidGFibGVcIiBbYnV0dG9uQ2xhc3NdPVwiJ3ctdGFibGUtYnV0dG9uLXZpZXcgJyArIGdldEJ1dHRvbkN1c3RvbUNvbG9yQ2xhc3MoY3VzdG9tQnV0dG9uQ29uZmlnLmNvbG9yISlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC93LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDx3LWJ1dHRvbiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Py5oYXNEZWxldGVCdXR0b25cIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJwaS10cmFzaFwiIHR5cGU9XCJ0YWJsZVwiIGJ1dHRvbkNsYXNzPVwidy10YWJsZS1idXR0b24tZGVsZXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC93LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZW1wdHltZXNzYWdlXCI+XHJcbiAgICAgICAgPHRyIGNsYXNzPVwidy10YWJsZS1sYXp5LWVtcHR5LW1lc3NhZ2UtcGFkZGluZ1wiPlxyXG4gICAgICAgICAgICA8dGQgW2F0dHIuY29sc3Bhbl09XCJjYWxjdWxhdGVDb2xzcGFuKClcIj57e3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmVtcHR5TWVzc2FnZSA/IHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmVtcHR5TWVzc2FnZSA6ICdObyBtYXRjaGVzLid9fTwvdGQ+XHJcbiAgICAgICAgPC90cj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3AtdGFibGU+XHJcbjwvZGl2PlxyXG48cC1jb25maXJtUG9wdXA+PC9wLWNvbmZpcm1Qb3B1cD4iXX0=
373
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy10YWJsZS1sYXp5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL3RhYmxlcy93LXRhYmxlLWxhenkvdy10YWJsZS1sYXp5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL3RhYmxlcy93LXRhYmxlLWxhenkvdy10YWJsZS1sYXp5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVN4SixNQUFNLE9BQU8sbUJBQW1CO0lBeUM5QixZQUNVLG1CQUF3QyxFQUN6QyxxQkFBNEM7UUFEM0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN6QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBMUNyRCxxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFJN0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQix3QkFBbUIsR0FBVyxDQUFDLENBQUM7UUFDaEMsbUJBQWMsR0FBK0IsbUJBQW1CLENBQUM7UUFJM0MsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFHdEIsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFZNUIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBMkIsQ0FBQztRQUUxRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdEMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM1QywwQkFBcUIs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QkFBL0MsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIExhenlMb2FkRXZlbnQgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XHJcbmltcG9ydCB7IExhenlFbGVtZW50UXVlcnlSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9sYXp5LWVsZW1lbnQtcXVlcnktcmVxdWVzdC5tb2RlbCc7XHJcbmltcG9ydCB7IFdhcHBUYWJsZUxhenlMb2FkaW5nIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy93YXBwLXRhYmxlLWxhenktbG9hZGluZy5tb2RlbCc7XHJcbmltcG9ydCB7IEN1c3RvbUNvbG9yLCBUYWJsZUNvbHVtbkZpbHRlclR5cGVzLCBUYWJsZUNvbHVtblR5cGVzLCBXRGF0ZVBpcGVGb3JtYXRUeXBlLCBXYXBwVGFibGVDb2x1bW5BbGlnblR5cGVzIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9lbnVtcy5tb2RlbCc7XHJcbmltcG9ydCB7IERhdGVDb252ZXJzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9kYXRlLWNvbnZlcnNpb24uc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3LXRhYmxlLWxhenknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93LXRhYmxlLWxhenkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3ctdGFibGUtbGF6eS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXVGFibGVMYXp5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBzZWxlY3RlZEVsZW1lbnRzOiBhbnlbXSA9IFtdO1xyXG4gIHRyYW5zbGF0aW9uczogYW55O1xyXG4gIGxhc3RRdWVyeSE6IExhenlFbGVtZW50UXVlcnlSZXF1ZXN0O1xyXG5cclxuICBzZWxlY3RBbGw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBmaWx0ZXJFbGVtZW50c0luZGV4OiBudW1iZXIgPSAwO1xyXG4gIHdhcHBEYXRlRm9ybWF0OiB0eXBlb2YgV0RhdGVQaXBlRm9ybWF0VHlwZSA9IFdEYXRlUGlwZUZvcm1hdFR5cGU7XHJcblxyXG4gIEBJbnB1dCgnbG9hZGluZycpIGxvYWRpbmchOiBib29sZWFuO1xyXG4gIEBJbnB1dCgnZWxlbWVudHMnKSBlbGVtZW50cyE6IGFueVtdO1xyXG4gIEBJbnB1dCgncm93c1BlclBhZ2UnKSByb3dzUGVyUGFnZTogbnVtYmVyID0gMTA7XHJcbiAgQElucHV0KCdhbGxFbGVtZW50cycpIGFsbEVsZW1lbnRzITogYW55W107XHJcbiAgQElucHV0KCd0b3RhbFJlY29yZHMnKSB0b3RhbFJlY29yZHMhOiBudW1iZXI7XHJcbiAgQElucHV0KCdtYXhSb3dzUGVyUGFnZScpIG1heFJvd3NQZXJQYWdlOiBudW1iZXIgPSA1MDtcclxuXHJcbiAgcHJpdmF0ZSBfd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QhOiBXYXBwVGFibGVMYXp5TG9hZGluZztcclxuXHJcbiAgQElucHV0KCd3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdCcpIHNldCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdCh2YWx1ZTogV2FwcFRhYmxlTGF6eUxvYWRpbmcpIHtcclxuICAgIHRoaXMuX3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0ID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXQgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Q7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCdxdWVyeUVsZW1lbnRzJykgcXVlcnlFbGVtZW50cyA9IG5ldyBFdmVudEVtaXR0ZXI8TGF6eUVsZW1lbnRRdWVyeVJlcXVlc3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoJ29uRWxlbWVudFNlbGVjdCcpIG9uRWxlbWVudFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoJ29uVmlld0VsZW1lbnRTZWxlY3QnKSBvblZpZXdFbGVtZW50U2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgnb25DdXN0b21FbGVtZW50U2VsZWN0Jykgb25DdXN0b21FbGVtZW50U2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgnb25Db3B5RWxlbWVudFNlbGVjdCcpIG9uQ29weUVsZW1lbnRTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCdvbkVkaXRFbGVtZW50U2VsZWN0Jykgb25FZGl0RWxlbWVudFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoJ29uRGVsZXRlRWxlbWVudFNlbGVjdCcpIG9uRGVsZXRlRWxlbWVudFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XHJcbiAgQE91dHB1dCgnb25BbGxFbGVtZW50U2VsZWN0Jykgb25BbGxFbGVtZW50U2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoJ29uUGFnZUNoYW5nZScpIG9uUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoJ29uU2VsZWN0ZWRFbGVtZW50c0NoYW5nZScpIG9uU2VsZWN0ZWRFbGVtZW50c0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoJ29uU2Vjb25kYXJ5Q2hlY2tib3hDaGFuZ2UnKSBvblNlY29uZGFyeUNoZWNrYm94Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlJywgeyBzdGF0aWM6IGZhbHNlIH0pIGRhdGFUYWJsZSE6IFRhYmxlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSwgXHJcbiAgICBwdWJsaWMgZGF0ZUNvbnZlcnNpb25TZXJ2aWNlOiBEYXRlQ29udmVyc2lvblNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICBcclxuICAgIGlmKHRoaXMuX3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc1NlbGVjdEFsbENoZWNrYm94ID09IHVuZGVmaW5lZCl7XHJcbiAgICAgIHRoaXMuX3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc1NlbGVjdEFsbENoZWNrYm94ID0gdHJ1ZTsgXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2FkRWxlbWVudHMoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICBsZXQgYWRhcHRlZFF1ZXJ5OiBMYXp5RWxlbWVudFF1ZXJ5UmVxdWVzdCA9IHtcclxuICAgICAgZmlyc3Q6IGV2ZW50LmZpcnN0ISxcclxuICAgICAgcm93czogdGhpcy5yb3dzUGVyUGFnZSEsXHJcbiAgICAgIHNvcnRPcmRlcjogZXZlbnQuc29ydE9yZGVyISxcclxuICAgICAgc29ydEZpZWxkOiBldmVudC5zb3J0RmllbGQhLFxyXG4gICAgICBmaWx0ZXJzOiBPYmplY3Qua2V5cyhldmVudC5maWx0ZXJzISkubWFwKChrZXkpID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgY29sdW1uTmFtZToga2V5ISxcclxuICAgICAgICAgIHZhbHVlOiBldmVudC5maWx0ZXJzIVtrZXldLnZhbHVlLFxyXG4gICAgICAgICAgbWF0Y2hNb2RlOiBldmVudC5maWx0ZXJzIVtrZXldLm1hdGNoTW9kZSFcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgICB0aGlzLmxhc3RRdWVyeSA9IGFkYXB0ZWRRdWVyeTtcclxuICAgIHRoaXMucXVlcnlFbGVtZW50cy5lbWl0KGFkYXB0ZWRRdWVyeSk7XHJcbiAgfVxyXG5cclxuICByZWxvYWRFbGVtZW50cygpIHtcclxuICAgIHRoaXMubGFzdFF1ZXJ5LnJvd3MgPSB0aGlzLnJvd3NQZXJQYWdlO1xyXG4gICAgdGhpcy5xdWVyeUVsZW1lbnRzLmVtaXQodGhpcy5sYXN0UXVlcnkpO1xyXG4gIH1cclxuXHJcbiAgcmVhZFByb3BlcnR5KG9iajogYW55LCBwcm9wOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgaWYgKHByb3AgPT09IG51bGwpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcHJvcGVydGllcyA9IHByb3Auc3BsaXQoJy4nKTtcclxuICAgIGxldCByZXN1bHQgPSBvYmo7XHJcblxyXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XHJcbiAgICAgIGNvbnN0IG1hdGNoID0gcHJvcGVydHkubWF0Y2goLyguKz8pXFxbKFxcZCspXFxdLyk7XHJcbiAgICAgIGlmIChtYXRjaCkge1xyXG4gICAgICAgIGNvbnN0IGFycmF5UHJvcCA9IG1hdGNoWzFdO1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gcGFyc2VJbnQobWF0Y2hbMl0sIDEwKTtcclxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkocmVzdWx0W2FycmF5UHJvcF0pIHx8IGlzTmFOKGluZGV4KSB8fCBpbmRleCA8IDAgfHwgaW5kZXggPj0gcmVzdWx0W2FycmF5UHJvcF0ubGVuZ3RoKSB7XHJcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXN1bHQgPSByZXN1bHRbYXJyYXlQcm9wXVtpbmRleF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiByZXN1bHRbcHJvcGVydHldID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0W3Byb3BlcnR5XTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBvbkVsZW1lbnQoZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uRWxlbWVudFNlbGVjdC5lbWl0KGVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgdmlld0VsZW1lbnQoZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uVmlld0VsZW1lbnRTZWxlY3QuZW1pdChlbGVtZW50KTtcclxuICB9XHJcbiAgY3VzdG9tRWxlbWVudChlbGVtZW50OiBhbnkpIHtcclxuICAgIHRoaXMub25DdXN0b21FbGVtZW50U2VsZWN0LmVtaXQoZWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBlZGl0RWxlbWVudChlbGVtZW50OiBhbnkpIHtcclxuICAgIHRoaXMub25FZGl0RWxlbWVudFNlbGVjdC5lbWl0KGVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgY29uZmlybURlbGV0ZVNlbGVjdGlvbihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XHJcbiAgICAgIHRhcmdldDogZXZlbnQudGFyZ2V0IGFzIEV2ZW50VGFyZ2V0LFxyXG4gICAgICBtZXNzYWdlOiB0aGlzLl93YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb25maXJtTXVsdGlwbGVEZWxldGVMYWJlbCxcclxuICAgICAgaWNvbjogXCJwaSBwaS1leGNsYW1hdGlvbi10cmlhbmdsZVwiLFxyXG4gICAgICBhY2NlcHRMYWJlbDogdGhpcy5fd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29uZmlybURlbGV0ZUJ0bkxhYmVsLFxyXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmRlbGV0ZVNlbGVjdGVkRWxlbWVudHMoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVTZWxlY3RlZEVsZW1lbnRzKCkge1xyXG4gICAgdGhpcy5vbkRlbGV0ZUVsZW1lbnRTZWxlY3QuZW1pdCh0aGlzLnNlbGVjdGVkRWxlbWVudHMpXHJcbiAgICB0aGlzLnNlbGVjdGVkRWxlbWVudHMgPSBbXTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1EZWxldGUoZXZlbnQ6IEV2ZW50LCBlbGVtZW50OiBhbnkpIHtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcclxuICAgICAgdGFyZ2V0OiBldmVudC50YXJnZXQgYXMgRXZlbnRUYXJnZXQsXHJcbiAgICAgIG1lc3NhZ2U6IHRoaXMuX3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbmZpcm1TaW5nbGVEZWxldGVMYWJlbCxcclxuICAgICAgaWNvbjogXCJwaSBwaS1leGNsYW1hdGlvbi10cmlhbmdsZVwiLFxyXG4gICAgICBhY2NlcHRMYWJlbDogdGhpcy5fd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29uZmlybURlbGV0ZUJ0bkxhYmVsLFxyXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmRlbGV0ZVNpbmdsZUVsZW1lbnQoZWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlU2luZ2xlRWxlbWVudChlbGVtZW50OiBhbnkpIHtcclxuICAgIHRoaXMub25EZWxldGVFbGVtZW50U2VsZWN0LmVtaXQoW2VsZW1lbnRdKVxyXG4gIH1cclxuXHJcbiAgY29weUVsZW1lbnQoZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uQ29weUVsZW1lbnRTZWxlY3QuZW1pdChlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1Db3B5KGV2ZW50OiBFdmVudCwgZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XHJcbiAgICAgIHRhcmdldDogZXZlbnQudGFyZ2V0IGFzIEV2ZW50VGFyZ2V0LFxyXG4gICAgICBtZXNzYWdlOiB0aGlzLl93YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb25maXJtQ29weUxhYmVsLFxyXG4gICAgICBpY29uOiBcInBpIHBpLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCIsXHJcbiAgICAgIGFjY2VwdExhYmVsOiB0aGlzLl93YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb25maXJtQ29weUJ0bkxhYmVsLFxyXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmNvcHlFbGVtZW50KGVsZW1lbnQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKHZhbHVlID0gW10pIHtcclxuICAgIHRoaXMuc2VsZWN0QWxsID0gdmFsdWUubGVuZ3RoID09PSB0aGlzLnRvdGFsUmVjb3JkcztcclxuICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50cyA9IHZhbHVlO1xyXG4gICAgdGhpcy5vblNlbGVjdGVkRWxlbWVudHNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkRWxlbWVudHMpO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RBbGxDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgY2hlY2tlZCA9IGV2ZW50LmNoZWNrZWQ7XHJcblxyXG4gICAgaWYgKGNoZWNrZWQpIHtcclxuICAgICAgdGhpcy5vbkFsbEVsZW1lbnRTZWxlY3QuZW1pdCh0cnVlKTtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnRzID0gdGhpcy5fd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZUNoZWNrYm94ID8gdGhpcy5nZXRTZWxlY3RhYmxlRWxlbWVudHModGhpcy5hbGxFbGVtZW50cykgOiB0aGlzLmFsbEVsZW1lbnRzO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0QWxsID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnRzID0gW107XHJcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRoaXMub25TZWxlY3RlZEVsZW1lbnRzQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZEVsZW1lbnRzKTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGFibGVFbGVtZW50cyhhbGxFbGVtZW50czogYW55W10pIHtcclxuICAgIHJldHVybiBhbGxFbGVtZW50cy5maWx0ZXIoKGVsZW1lbnQ6IGFueSkgPT4gIXRoaXMucmVhZFByb3BlcnR5KGVsZW1lbnQsIHRoaXMuX3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmRpc2FibGVDaGVja2JveCEpKTtcclxuICB9XHJcblxyXG4gIGdldEJvb2xlYW5Db2x1bW5DbGFzcyhpbmRleDogbnVtYmVyLCB2YWx1ZVByb3BlcnR5OiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBib29sZWFuSWNvbkNsYXNzZXMgPSBbXTtcclxuXHJcbiAgICBpZiAodmFsdWVQcm9wZXJ0eSA9PSB0cnVlKSB7XHJcbiAgICAgIGJvb2xlYW5JY29uQ2xhc3Nlcy5wdXNoKHRoaXMuX3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkJvb2xlYW5UeXBlSWNvbnNbaW5kZXhdLnRydWVJY29uID8/ICcnKTtcclxuICAgICAgYm9vbGVhbkljb25DbGFzc2VzLnB1c2godGhpcy5fd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQm9vbGVhblR5cGVJY29uc1tpbmRleF0udHJ1ZUljb25Db2xvciA/PyAnJyk7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlUHJvcGVydHkgPT0gZmFsc2UpIHtcclxuICAgICAgYm9vbGVhbkljb25DbGFzc2VzLnB1c2godGhpcy5fd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQm9vbGVhblR5cGVJY29uc1tpbmRleF0uZmFsc2VJY29uID8/ICcnKTtcclxuICAgICAgYm9vbGVhbkljb25DbGFzc2VzLnB1c2godGhpcy5fd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQm9vbGVhblR5cGVJY29uc1tpbmRleF0uZmFsc2VJY29uQ29sb3IpID8/ICcnO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZVByb3BlcnR5ID09IG51bGwpIHtcclxuICAgICAgYm9vbGVhbkljb25DbGFzc2VzLnB1c2godGhpcy5fd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQm9vbGVhblR5cGVJY29uc1tpbmRleF0ubnVsbEljb24gPz8gJycpO1xyXG4gICAgICBib29sZWFuSWNvbkNsYXNzZXMucHVzaCh0aGlzLl93YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5Cb29sZWFuVHlwZUljb25zW2luZGV4XS5udWxsSWNvbkNvbG9yID8/ICcnKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYm9vbGVhbkljb25DbGFzc2VzO1xyXG4gIH1cclxuXHJcbiAgb25TZWNvbmRhcnlDaGVja2JveENoYW5nZXMoZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uU2Vjb25kYXJ5Q2hlY2tib3hDaGFuZ2UuZW1pdChlbGVtZW50KVxyXG4gIH1cclxuXHJcbiAgY2xlYXIodGFibGU6IFRhYmxlKSB7XHJcbiAgICB0YWJsZS5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB0YWJsZUNvbHVtbkZpbHRlclR5cGVzKCk6IHR5cGVvZiBUYWJsZUNvbHVtbkZpbHRlclR5cGVzIHtcclxuICAgIHJldHVybiBUYWJsZUNvbHVtbkZpbHRlclR5cGVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB0YWJsZUNvbHVtblR5cGVzKCk6IHR5cGVvZiBUYWJsZUNvbHVtblR5cGVzIHtcclxuICAgIHJldHVybiBUYWJsZUNvbHVtblR5cGVzO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJGaWx0ZXJzKCkge1xyXG4gICAgdGhpcy5kYXRhVGFibGUuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyhhbGlnbm1lbnQ6IG51bWJlcikge1xyXG4gICAgaWYoYWxpZ25tZW50ID09IFdhcHBUYWJsZUNvbHVtbkFsaWduVHlwZXMuUmlnaHQpIHJldHVybiAndGV4dC1yaWdodCc7XHJcbiAgICBpZihhbGlnbm1lbnQgPT0gV2FwcFRhYmxlQ29sdW1uQWxpZ25UeXBlcy5MZWZ0KSByZXR1cm4gJ3RleHQtbGVmdCc7XHJcbiAgICBpZihhbGlnbm1lbnQgPT0gV2FwcFRhYmxlQ29sdW1uQWxpZ25UeXBlcy5DZW50ZXIpIHJldHVybiAndGV4dC1jZW50ZXInO1xyXG4gICAgcmV0dXJuICd0ZXh0LWxlZnQnXHJcbiAgfVxyXG5cclxuICBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3NEZWZhdWx0QnlDb2x1bW5UeXBlKGNvbHVtblR5cGU6IFRhYmxlQ29sdW1uVHlwZXMpIHtcclxuICAgIGlmKGNvbHVtblR5cGUgPT0gVGFibGVDb2x1bW5UeXBlcy5UZXh0KSByZXR1cm4gJ3RleHQtbGVmdCc7XHJcbiAgICBpZihjb2x1bW5UeXBlID09IFRhYmxlQ29sdW1uVHlwZXMuQ3VycmVuY3kpIHJldHVybiAndGV4dC1sZWZ0JztcclxuICAgIGlmKGNvbHVtblR5cGUgPT0gVGFibGVDb2x1bW5UeXBlcy5EYXRlKSByZXR1cm4gJ3RleHQtbGVmdCc7XHJcbiAgICBpZihjb2x1bW5UeXBlID09IFRhYmxlQ29sdW1uVHlwZXMuQmFkZ2UpIHJldHVybiAndGV4dC1jZW50ZXInO1xyXG4gICAgaWYoY29sdW1uVHlwZSA9PSBUYWJsZUNvbHVtblR5cGVzLkJvb2xlYW4pIHJldHVybiAndGV4dC1jZW50ZXInO1xyXG4gICAgaWYoY29sdW1uVHlwZSA9PSBUYWJsZUNvbHVtblR5cGVzLkltYWdlKSByZXR1cm4gJ3RleHQtY2VudGVyJztcclxuICAgIGlmKGNvbHVtblR5cGUgPT0gVGFibGVDb2x1bW5UeXBlcy5OdW1iZXIpIHJldHVybiAndGV4dC1yaWdodCc7XHJcbiAgICByZXR1cm4gJ3RleHQtbGVmdCdcclxuICB9XHJcblxyXG4gIGNhbGN1bGF0ZUNvbHNwYW4oKSB7XHJcbiAgICBsZXQgY29sc3BhbiA9IHRoaXMuX3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmhlYWRlcnMubGVuZ3RoO1xyXG4gICAgdGhpcy5fd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2hlY2tib3ggPyBcclxuICAgICAgY29sc3BhbiArPSAxIDogJyc7XHJcbiAgICAgIHRoaXMuaGFzQWN0aW9uQnV0dG9ucygpID9cclxuICAgICAgICBjb2xzcGFuICs9IDEgOiAnJztcclxuICAgICAgcmV0dXJuIGNvbHNwYW47XHJcbiAgfVxyXG5cclxuICBoYXNBY3Rpb25CdXR0b25zKCkgOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl93YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDb3B5QnV0dG9uIHx8XHJcbiAgICAgICAgICAgIHRoaXMuX3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0VkaXRCdXR0b24gfHxcclxuICAgICAgICAgICAgdGhpcy5fd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzVmlld0J1dHRvbiB8fFxyXG4gICAgICAgICAgICB0aGlzLl93YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNEZWxldGVCdXR0b24gfHwgXHJcbiAgICAgICAgICAgIHRoaXMuX3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Py5oYXNDdXN0b21CdXR0b24gP1xyXG4gICAgICAgICAgdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaFBhZ2luYXRpb24oZmlyc3Q6IG51bWJlcikge1xyXG4gICAgdGhpcy5kYXRhVGFibGUuX2ZpcnN0ID0gZmlyc3Q7XHJcbiAgfVxyXG5cclxuICBwYWdlQ2hhbmdlKGVsZW1lbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vblBhZ2VDaGFuZ2UuZW1pdChlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIGdldEJ1dHRvbkN1c3RvbUNvbG9yQ2xhc3MoY3VzdG9tQ29sb3I6IEN1c3RvbUNvbG9yKSB7XHJcbiAgICBpZihjdXN0b21Db2xvciA9PSBDdXN0b21Db2xvci5kYXJrQmx1ZTEpIHsgcmV0dXJuICdkYXJrQmx1ZTEnIH1cclxuICAgIGlmKGN1c3RvbUNvbG9yID09IEN1c3RvbUNvbG9yLmRhcmtCbHVlMikgeyByZXR1cm4gJ2RhcmtCbHVlMicgfVxyXG4gICAgaWYoY3VzdG9tQ29sb3IgPT0gQ3VzdG9tQ29sb3IuZGFya0JsdWUzKSB7IHJldHVybiAnZGFya0JsdWUzJyB9XHJcbiAgICBpZihjdXN0b21Db2xvciA9PSBDdXN0b21Db2xvci5wdXJwbGUxKSB7IHJldHVybiAncHVycGxlMScgfVxyXG4gICAgaWYoY3VzdG9tQ29sb3IgPT0gQ3VzdG9tQ29sb3IucHVycGxlMikgeyByZXR1cm4gJ3B1cnBsZTInIH1cclxuICAgIGlmKGN1c3RvbUNvbG9yID09IEN1c3RvbUNvbG9yLnB1cnBsZTMpIHsgcmV0dXJuICdwdXJwbGUzJyB9XHJcbiAgICBpZihjdXN0b21Db2xvciA9PSBDdXN0b21Db2xvci5waW5rMSkgeyByZXR1cm4gJ3BpbmsxJyB9XHJcbiAgICBpZihjdXN0b21Db2xvciA9PSBDdXN0b21Db2xvci5waW5rMikgeyByZXR1cm4gJ3BpbmsyJyB9XHJcbiAgICBpZihjdXN0b21Db2xvciA9PSBDdXN0b21Db2xvci5waW5rMykgeyByZXR1cm4gJ3BpbmszJyB9XHJcbiAgICBpZihjdXN0b21Db2xvciA9PSBDdXN0b21Db2xvci5ncmVlbjEpIHsgcmV0dXJuICdncmVlbjEnIH1cclxuICAgIGlmKGN1c3RvbUNvbG9yID09IEN1c3RvbUNvbG9yLmdyZWVuMikgeyByZXR1cm4gJ2dyZWVuMicgfVxyXG4gICAgaWYoY3VzdG9tQ29sb3IgPT0gQ3VzdG9tQ29sb3IuZ3JlZW4zKSB7IHJldHVybiAnZ3JlZW4zJyB9XHJcbiAgICBpZihjdXN0b21Db2xvciA9PSBDdXN0b21Db2xvci5lcnJvcjEpIHsgcmV0dXJuICdlcnJvcjEnIH1cclxuICAgIGlmKGN1c3RvbUNvbG9yID09IEN1c3RvbUNvbG9yLmVycm9yMikgeyByZXR1cm4gJ2Vycm9yMicgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCIuZmlsdGVyLXBhbmVsXCI+PC9uZy1jb250ZW50PlxyXG48ZGl2ICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3RcIiBbY2xhc3MudGFibGUtY29udGFpbmVyXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LnRhYmxlQ29udGFpbmVyXCI+XHJcbiAgICA8cC10YWJsZSBjbGFzcz1cInctdGFibGUtc3R5bGVzXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd3LXRhYmxlLW5vLWJ1dHRvbnMnIDogIXdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0VkaXRCdXR0b24gJiYgIXdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0RlbGV0ZUJ1dHRvbiAmJiAhd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ29weUJ1dHRvbiAmJiAhd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY3VzdG9tQnV0dG9uQ29uZmlnICYmICF3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNWaWV3QnV0dG9ufVwiXHJcbiAgICAgICAgICAgICN0YWJsZSBbdmFsdWVdPVwiZWxlbWVudHNcIiBcclxuICAgICAgICAgICAgZGF0YUtleT1cInt7d2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaWRlbnRpZmljYXRvcn19XCJcclxuICAgICAgICAgICAgW2xhenldPVwidHJ1ZVwiIFxyXG4gICAgICAgICAgICBbcm93SG92ZXJdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzVmlld0J1dHRvbiFcIlxyXG4gICAgICAgICAgICAob25MYXp5TG9hZCk9XCJsb2FkRWxlbWVudHMoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtzZWxlY3Rpb25dPVwic2VsZWN0ZWRFbGVtZW50c1wiIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtzZWxlY3RBbGxdPVwic2VsZWN0QWxsXCIgKHNlbGVjdEFsbENoYW5nZSk9XCJvblNlbGVjdEFsbENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW3BhZ2luYXRvcl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNQYWdpbmF0b3IhICYmIHRvdGFsUmVjb3JkcyA+PSAxMFwiXHJcbiAgICAgICAgICAgIFtyb3dzXT1cInJvd3NQZXJQYWdlXCIgXHJcbiAgICAgICAgICAgIFtjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmN1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGUgPyB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlICsgJyAnICsgIHJvd3NQZXJQYWdlICsgJyBkZSAnICsgdG90YWxSZWNvcmRzISA6ICdTaG93aW5nICcgKyByb3dzUGVyUGFnZSArICcgb2YgJyArIHRvdGFsUmVjb3JkcyFcIlxyXG4gICAgICAgICAgICBbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXHJcbiAgICAgICAgICAgIFtzaG93Q3VycmVudFBhZ2VSZXBvcnRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcclxuICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbZ2xvYmFsRmlsdGVyRmllbGRzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmdsb2JhbEZpbHRlckZpZWxkcyFcIlxyXG4gICAgICAgICAgICBbdGFibGVTdHlsZV09XCJ7J21pbi13aWR0aCc6IHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LnRhYmxlTWluV2lkdGghfVwiXHJcbiAgICAgICAgICAgIChvblBhZ2UpPVwicGFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWRcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGVhckJ1dHRvbiB8fCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNHbG9iYWxTZWFyY2hcIiBwVGVtcGxhdGU9XCJjYXB0aW9uXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdGFibGUtcGFnaW5hdG9yIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNUb3RhbFBhZ2luZ1NlbGVjdG9yXCIgY2xhc3M9XCJzaG93aW5nLXBlci1wYWdlXCI+IHt7d2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZX19IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzVG90YWxQYWdpbmdTZWxlY3RvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwbC0yIHNob3dpbmctcGVyLXBhZ2VcIiBbc2l6ZV09XCIxXCIgWyhuZ01vZGVsKV09XCJyb3dzUGVyUGFnZVwiIFtzaG93QnV0dG9uc109XCJ0cnVlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uTGF5b3V0PVwiaG9yaXpvbnRhbFwiIGlucHV0SWQ9XCJob3Jpem9udGFsXCIgc3Bpbm5lck1vZGU9XCJob3Jpem9udGFsXCIgW3N0ZXBdPVwiMVwiIFttaW5dPVwiMVwiIFttYXhdPVwibWF4Um93c1BlclBhZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRlY3JlbWVudEJ1dHRvbkNsYXNzPVwicC1idXR0b24tb3V0bGluZWRcIiBcclxuICAgICAgICAgICAgICAgICAgICBpbmNyZW1lbnRCdXR0b25DbGFzcz1cInAtYnV0dG9uLW91dGxpbmVkXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgaW5jcmVtZW50QnV0dG9uSWNvbj1cInBpIHBpLXBsdXNcIiBcclxuICAgICAgICAgICAgICAgICAgICBkZWNyZW1lbnRCdXR0b25JY29uPVwicGkgcGktbWludXNcIiBcclxuICAgICAgICAgICAgICAgICAgICBtb2RlPVwiZGVjaW1hbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicmVsb2FkRWxlbWVudHMoKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdD8uaGFzR2xvYmFsU2VhcmNoXCIgY2xhc3M9XCJwLWlucHV0LWljb24tbGVmdCBtbC1hdXRvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1zZWFyY2hcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiaGVpZ2h0LWlucHV0IHctaW5wdXRcIiBwSW5wdXRUZXh0IHR5cGU9XCJ0ZXh0XCIgKGlucHV0KT1cInRhYmxlLmZpbHRlckdsb2JhbCgkZXZlbnQsICdjb250YWlucycpXCIgcGxhY2Vob2xkZXI9XCJ7e3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LnNlYXJjaFBsYWNlaG9sZGVyfX1cIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgIDx0aCAqbmdJZj1cIiF3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDb2x1bW5GaWx0ZXJzICYmIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94OyBlbHNlIG5vQ2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25bMF0pIDogJ3RleHQtY2VudGVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtdGFibGVIZWFkZXJDaGVja2JveCAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc1NlbGVjdEFsbENoZWNrYm94ID09IHRydWVcIj48L3AtdGFibGVIZWFkZXJDaGVja2JveD5cclxuICAgICAgICAgICAgPC90aD5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9DaGVja2JveD48dGggKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDaGVja2JveFwiPjwvdGg+PC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzU29ydGFibGVDb2x1bW5zOyBlbHNlIHNvbWV0aGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBoZWFkZXIgb2Ygd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Q/LmhlYWRlcnM7IGluZGV4IGFzIGlcIiBbY2xhc3NdPVwiaGVhZGVyID09ICgnSW1hZ2VuJyB8fCAnSW1hZ2UnKSA/ICdpbWFnZS1oZWFkZXInOiAnJ1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnblt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDaGVja2JveCA/IGkrMSA6IGldKSA6IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzc0RlZmF1bHRCeUNvbHVtblR5cGUod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uVHlwZXNbd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2hlY2tib3ggPyBpKzEgOiBpXSlcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2hlYWRlcn19XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc29tZXRoaW5nPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzb21ldGhpbmcgbmdGb3IgbGV0LWZpbHRlclR5cGUgW25nRm9yT2ZdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGVhZGVyc1wiIGxldC1pPVwiaW5kZXhcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIFtwU29ydGFibGVDb2x1bW5dPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Quc29ydGFibGVOYW1lc1tpXVwiIFtjbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oZWFkZXJzW2ldID09ICgnSW1hZ2VuJyB8fCAnSW1hZ2UnKSA/ICdpbWFnZS1oZWFkZXInOiAnJ1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25bd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2hlY2tib3ggPyBpKzEgOiBpXSkgOiBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3NEZWZhdWx0QnlDb2x1bW5UeXBlKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtblR5cGVzW3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94ID8gaSsxIDogaV0pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oZWFkZXJzW2ldfX0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtc29ydEljb24gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5zb3J0YWJsZU5hbWVzW2ldICE9IG51bGxcIiBbZmllbGRdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Quc29ydGFibGVOYW1lc1tpXVwiPjwvcC1zb3J0SWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPHRoICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzRGVsZXRlQnV0dG9uIHx8IHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0VkaXRCdXR0b24gfHwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzVmlld0J1dHRvbiB8fCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDb3B5QnV0dG9uIHx8IHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Py5oYXNDdXN0b21CdXR0b25cIj48L3RoPlxyXG4gICAgICAgIDwvdHI+XHJcblxyXG4gICAgICAgIDx0ciAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NvbHVtbkZpbHRlcnNcIj5cclxuICAgICAgICAgICAgPHRoICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2hlY2tib3hcIiBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnblswXSkgOiAndGV4dC1sZWZ0J1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtdGFibGVIZWFkZXJDaGVja2JveD48L3AtdGFibGVIZWFkZXJDaGVja2JveD5cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgPHRoICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzSW1hZ2VcIiBcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94ID8gMSA6IDBdKSA6IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzc0RlZmF1bHRCeUNvbHVtblR5cGUod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uVHlwZXNbd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2hlY2tib3ggPyAxIDogMF0pXCI+XHJcbiAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtZmlsdGVyVHlwZSBbbmdGb3JPZl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5GaWx0ZXJUeXBlc1wiIGxldC1pPVwiaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImZpbHRlclR5cGUgPT0gdGFibGVDb2x1bW5GaWx0ZXJUeXBlcy5UZXh0XCIgXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1sZWZ0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLWNvbHVtbkZpbHRlciB0eXBlPVwidGV4dFwiIFtmaWVsZF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5maWx0ZXJOYW1lc1tpXVwiPjwvcC1jb2x1bW5GaWx0ZXI+XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiZmlsdGVyVHlwZSA9PSB0YWJsZUNvbHVtbkZpbHRlclR5cGVzLk11bHRpc2VsZWN0XCIgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtbGVmdCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cC1jb2x1bW5GaWx0ZXIgW2ZpZWxkXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmZpbHRlck5hbWVzW2ldXCIgbWF0Y2hNb2RlPVwiaW5cIiBbc2hvd01lbnVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZpbHRlclwiIGxldC12YWx1ZSBsZXQtZmlsdGVyPVwiZmlsdGVyQ2FsbGJhY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLW11bHRpU2VsZWN0IFtuZ01vZGVsXT1cInZhbHVlXCIgYXBwZW5kVG89XCJib2R5XCIgW29wdGlvbnNdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Quc2VsZWN0RmlsdGVyRWxlbWVudHNbaV1cIiBwbGFjZWhvbGRlcj1cIkFueVwiIChvbkNoYW5nZSk9XCJmaWx0ZXIoJGV2ZW50LnZhbHVlKVwiIG9wdGlvbkxhYmVsPVwibmFtZVwiIFttYXhTZWxlY3RlZExhYmVsc109XCIxXCIgW3NlbGVjdGVkSXRlbXNMYWJlbF09XCInezB9IGl0ZW1zJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtb3B0aW9uIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtbXVsdGlzZWxlY3QtcmVwcmVzZW50YXRpdmUtb3B0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTFcIj57e29wdGlvbi5uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3AtbXVsdGlTZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wLWNvbHVtbkZpbHRlcj5cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJmaWx0ZXJUeXBlID09IHRhYmxlQ29sdW1uRmlsdGVyVHlwZXMuTm9uZVwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJmaWx0ZXJUeXBlID09IHRhYmxlQ29sdW1uRmlsdGVyVHlwZXMuQm9vbGVhblwiIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWNlbnRlcidcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cC1jb2x1bW5GaWx0ZXIgdHlwZT1cImJvb2xlYW5cIiBbZmllbGRdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZmlsdGVyTmFtZXNbaV1cIj48L3AtY29sdW1uRmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImZpbHRlclR5cGUgPT0gdGFibGVDb2x1bW5GaWx0ZXJUeXBlcy5EYXRlXCIgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtbGVmdCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cC1jb2x1bW5GaWx0ZXIgdHlwZT1cImRhdGVcIiBbZmllbGRdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZmlsdGVyTmFtZXNbaV1cIj48L3AtY29sdW1uRmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPHRoICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzRGVsZXRlQnV0dG9uIHx8IHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0VkaXRCdXR0b24gfHwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzVmlld0J1dHRvbiB8fCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDb3B5QnV0dG9uIHx8IHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Py5oYXNDdXN0b21CdXR0b25cIj48L3RoPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtZWxlbWVudCBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gICAgICAgIDx0ciAqbmdJZj1cIiFsb2FkaW5nXCIgW25nQ2xhc3NdPVwieydyb3ctaG92ZXInOiB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNWaWV3QnV0dG9ufVwiIFxyXG4gICAgICAgIChjbGljayk9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyBvbkVsZW1lbnQoZWxlbWVudCkgOiAnJ1wiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtY29sdW1uVHlwZSBbbmdGb3JPZl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5UeXBlc1wiIGxldC1pPVwiaW5kZXhcIj5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLkNoZWNrYm94ICYmIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NoZWNrYm94XCIgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIiBjbGFzcz1cInRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZUNoZWNrYm94OyBlbHNlIGFjdGl2ZUNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtdGFibGVDaGVja2JveCBbdmFsdWVdPVwiZWxlbWVudFwiIFtkaXNhYmxlZF09XCJyZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZUNoZWNrYm94KVwiPjwvcC10YWJsZUNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2FjdGl2ZUNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLXRhYmxlQ2hlY2tib3ggW3ZhbHVlXT1cImVsZW1lbnRcIj48L3AtdGFibGVDaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5JbWFnZVwiIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWNlbnRlcidcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/IHZpZXdFbGVtZW50KGVsZW1lbnQpIDogJydcIiBbY2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gJ3ctdGFibGUtbGF6eS1zZWxlY3RhYmxlLXJvdycgOiAnJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cInJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImVsZW1lbnQtaW1hZ2Utd2lkdGhcIi8+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5UZXh0XCIgIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyB2aWV3RWxlbWVudChlbGVtZW50KSA6ICcnXCIgW2NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/ICd3LXRhYmxlLWxhenktc2VsZWN0YWJsZS1yb3cnIDogJydcIj5cclxuICAgICAgICAgICAgICAgIHt7IHJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKSB9fVxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuTnVtYmVyXCIgIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LXJpZ2h0J1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gdmlld0VsZW1lbnQoZWxlbWVudCkgOiAnJ1wiIFtjbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyAndy10YWJsZS1sYXp5LXNlbGVjdGFibGUtcm93JyA6ICcnXCI+XHJcbiAgICAgICAgICAgICAgICB7eyByZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSkgfX1cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLlBlcmNlbnRhZ2VcIiAgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtcmlnaHQnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyB2aWV3RWxlbWVudChlbGVtZW50KSA6ICcnXCIgW2NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/ICd3LXRhYmxlLWxhenktc2VsZWN0YWJsZS1yb3cnIDogJydcIj5cclxuICAgICAgICAgICAgICAgIHt7IHJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKSB8IHdhcHBQZXJjZW50YWdlIH19XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5DdXJyZW5jeVwiIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyB2aWV3RWxlbWVudChlbGVtZW50KSA6ICcnXCIgW2NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/ICd3LXRhYmxlLWxhenktc2VsZWN0YWJsZS1yb3cnIDogJydcIj5cclxuICAgICAgICAgICAgICAgIHt7IHJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKSB8IHdhcHBDdXJyZW5jeSB9fVxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuQmFkZ2VcIiBbc3R5bGVdPVwiJ3dpZHRoOiAnK3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbldpZHRoc1tpXVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1jZW50ZXInXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyB2aWV3RWxlbWVudChlbGVtZW50KSA6ICcnXCIgW2NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/ICd3LXRhYmxlLWxhenktc2VsZWN0YWJsZS1yb3cnIDogJydcIj5cclxuICAgICAgICAgICAgICAgIDx3LWJhZGdlIFtsYWJlbF09XCJyZWFkUHJvcGVydHkoZWxlbWVudCwgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXSlcIiBbY29sb3JdPVwiJ2luZm8nXCI+PC93LWJhZGdlPiAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuQ29sb3JlZEJhZGdlXCIgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtY2VudGVyJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gdmlld0VsZW1lbnQoZWxlbWVudCkgOiAnJ1wiIFtjbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyAndy10YWJsZS1sYXp5LXNlbGVjdGFibGUtcm93JyA6ICcnXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBiYWRnZSBvZiB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2xvcmVkQmFkZ2U7IGluZGV4IGFzIGluZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx3LWJhZGdlICpuZ0lmPVwiYmFkZ2UuY29sb3JlZEJhZGdlUHJvcGVydHkgPT0gcmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwicmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pXCIgW2NvbG9yXT1cImJhZGdlLmNvbG9yID8gYmFkZ2UuY29sb3IgOiAnaW5mbydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3ctYmFkZ2U+ICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PiBcclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLkJvb2xlYW5cIiBbc3R5bGVdPVwiJ3dpZHRoOiAnK3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbldpZHRoc1tpXVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbiA/IGdldFRhYmxlQ29sdW1uQWxpZ25DbGFzcyh3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5BbGlnbltpXSkgOiAndGV4dC1jZW50ZXInXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyB2aWV3RWxlbWVudChlbGVtZW50KSA6ICcnXCIgW2NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/ICd3LXRhYmxlLWxhenktc2VsZWN0YWJsZS1yb3cnIDogJydcIj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGlcIiBbbmdDbGFzc109XCJnZXRCb29sZWFuQ29sdW1uQ2xhc3MoaSwgcmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pKVwiPjwvaT5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLlNlY29uZGFyeUNoZWNrYm94XCIgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtY2VudGVyJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gdmlld0VsZW1lbnQoZWxlbWVudCkgOiAnJ1wiIFtjbGFzc109XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyAndy10YWJsZS1sYXp5LXNlbGVjdGFibGUtcm93JyA6ICcnXCI+XHJcbiAgICAgICAgICAgICAgICA8cC1jaGVja2JveCBbKG5nTW9kZWwpXT1cImVsZW1lbnRbd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uc1tpXV1cIiBbYmluYXJ5XT1cInRydWVcIiBpbnB1dElkPVwiYmluYXJ5XCIgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWNvbmRhcnlDaGVja2JveENoYW5nZXMoZWxlbWVudClcIj48L3AtY2hlY2tib3g+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5EYXRlXCIgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtbGVmdCdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/IHZpZXdFbGVtZW50KGVsZW1lbnQpIDogJydcIiBbY2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gJ3ctdGFibGUtbGF6eS1zZWxlY3RhYmxlLXJvdycgOiAnJ1wiPlxyXG4gICAgICAgICAgICAgICAge3sgZGF0ZUNvbnZlcnNpb25TZXJ2aWNlLmZvcm1hdFVUQ0RhdGUocmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pKSB8IHdhcHBEYXRlIH19XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5EYXRlUmF3XCIgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtbGVmdCdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/IHZpZXdFbGVtZW50KGVsZW1lbnQpIDogJydcIiBbY2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gJ3ctdGFibGUtbGF6eS1zZWxlY3RhYmxlLXJvdycgOiAnJ1wiPlxyXG4gICAgICAgICAgICAgICAge3sgcmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pIHwgd2FwcERhdGUgfX1cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLlNob3J0RGF0ZVwiIFtzdHlsZV09XCInd2lkdGg6ICcrd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uV2lkdGhzW2ldXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWxlZnQnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNDbGlja2FibGVSb3cgPyB2aWV3RWxlbWVudChlbGVtZW50KSA6ICcnXCIgW2NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/ICd3LXRhYmxlLWxhenktc2VsZWN0YWJsZS1yb3cnIDogJydcIj5cclxuICAgICAgICAgICAgICAgIHt7IGRhdGVDb252ZXJzaW9uU2VydmljZS5mb3JtYXRVVENEYXRlKHJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKSkgfCB3YXBwRGF0ZSA6IHdhcHBEYXRlRm9ybWF0LmQgfX1cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uVHlwZSA9PSB0YWJsZUNvbHVtblR5cGVzLkxvbmdEYXRlXCIgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtbGVmdCdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/IHZpZXdFbGVtZW50KGVsZW1lbnQpIDogJydcIiBbY2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gJ3ctdGFibGUtbGF6eS1zZWxlY3RhYmxlLXJvdycgOiAnJ1wiPlxyXG4gICAgICAgICAgICAgICAge3sgZGF0ZUNvbnZlcnNpb25TZXJ2aWNlLmZvcm1hdFVUQ0RhdGUocmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pKSB8IHdhcHBEYXRlIDogd2FwcERhdGVGb3JtYXQuRCB9fVxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuR2VuZXJhbERhdGVUaW1lU2hvcnRUaW1lXCIgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtbGVmdCdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/IHZpZXdFbGVtZW50KGVsZW1lbnQpIDogJydcIiBbY2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gJ3ctdGFibGUtbGF6eS1zZWxlY3RhYmxlLXJvdycgOiAnJ1wiPlxyXG4gICAgICAgICAgICAgICAge3sgZGF0ZUNvbnZlcnNpb25TZXJ2aWNlLmZvcm1hdFVUQ0RhdGUocmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pKSB8IHdhcHBEYXRlIDogd2FwcERhdGVGb3JtYXQuZyB9fVxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuR2VuZXJhbERhdGVUaW1lTG9uZ1RpbWVcIiBbc3R5bGVdPVwiJ3dpZHRoOiAnK3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbldpZHRoc1tpXVwiIFxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtbGVmdCdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/IHZpZXdFbGVtZW50KGVsZW1lbnQpIDogJydcIiBbY2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gJ3ctdGFibGUtbGF6eS1zZWxlY3RhYmxlLXJvdycgOiAnJ1wiPlxyXG4gICAgICAgICAgICAgICAge3sgZGF0ZUNvbnZlcnNpb25TZXJ2aWNlLmZvcm1hdFVUQ0RhdGUocmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pKSB8IHdhcHBEYXRlIDogd2FwcERhdGVGb3JtYXQuRyB9fVxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJjb2x1bW5UeXBlID09IHRhYmxlQ29sdW1uVHlwZXMuQnVpc2luZXNzRGF0ZVRpbWVcIiBbc3R5bGVdPVwiJ3dpZHRoOiAnK3dhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbldpZHRoc1tpXVwiIFxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ24gPyBnZXRUYWJsZUNvbHVtbkFsaWduQ2xhc3Mod2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY29sdW1uQWxpZ25baV0pIDogJ3RleHQtbGVmdCdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/IHZpZXdFbGVtZW50KGVsZW1lbnQpIDogJydcIiBbY2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gJ3ctdGFibGUtbGF6eS1zZWxlY3RhYmxlLXJvdycgOiAnJ1wiPlxyXG4gICAgICAgICAgICAgICAge3sgcmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbnNbaV0pIHwgd2FwcERhdGUgOiB3YXBwRGF0ZUZvcm1hdC5EYXRlIH19XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImNvbHVtblR5cGUgPT0gdGFibGVDb2x1bW5UeXBlcy5XZWVrXCIgW3N0eWxlXT1cIid3aWR0aDogJyt3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5XaWR0aHNbaV1cIiBcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduID8gZ2V0VGFibGVDb2x1bW5BbGlnbkNsYXNzKHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmNvbHVtbkFsaWduW2ldKSA6ICd0ZXh0LWNlbnRlcidcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0NsaWNrYWJsZVJvdyA/IHZpZXdFbGVtZW50KGVsZW1lbnQpIDogJydcIiBbY2xhc3NdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2xpY2thYmxlUm93ID8gJ3ctdGFibGUtbGF6eS1zZWxlY3RhYmxlLXJvdycgOiAnJ1wiPlxyXG4gICAgICAgICAgICAgICAgPHctYnV0dG9uLXdlZWsgW3ZhbHVlXT1cInJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5zW2ldKVwiIFt0cmFuc2xhdGlvbnNdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Qud2Vla0J1dHRvblRyYW5zbGF0aW9ucyA/IHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LndlZWtCdXR0b25UcmFuc2xhdGlvbnMgOiBbXVwiIFtkZWZhdWx0RXNwXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LndlZWtCdXR0b25EZWZhdWx0RXNwID8/IGZhbHNlXCI+PC93LWJ1dHRvbi13ZWVrPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy10YWJsZS1idXR0b25zIGZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1lbmRcIj5cclxuICAgICAgICAgICAgPHctYnV0dG9uICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Q/Lmhhc1ZpZXdCdXR0b25cIiBcclxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJ2aWV3RWxlbWVudChlbGVtZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LnZpZXdUb29sdGlwIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8ucG9zaXRpb24hXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpLWV5ZVwiIHR5cGU9XCJ0YWJsZVwiIGJ1dHRvbkNsYXNzPVwidy10YWJsZS1idXR0b24tdmlld1wiPlxyXG4gICAgICAgICAgICA8L3ctYnV0dG9uPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdD8uaGFzQ3VzdG9tQnV0dG9uXCIgbmdGb3IgbGV0LWN1c3RvbUJ1dHRvbkNvbmZpZyBbbmdGb3JPZl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jdXN0b21CdXR0b25Db25maWdcIiBsZXQtaT1cImluZGV4XCI+IFxyXG4gICAgICAgICAgICAgICAgPHctYnV0dG9uICpuZ0lmPVwiIWN1c3RvbUJ1dHRvbkNvbmZpZz8uZGlzYWJsZVByb3BlcnR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiY3VzdG9tRWxlbWVudCh7YnV0dG9uSWQ6IGN1c3RvbUJ1dHRvbkNvbmZpZy5idXR0b25JZCwgZWxlbWVudDogZWxlbWVudH0pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiY3VzdG9tQnV0dG9uQ29uZmlnPy5pY29uIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5jdXN0b21Ub29sdGlwIVtpXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LnBvc2l0aW9uIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0YWJsZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYnV0dG9uQ2xhc3NdPVwiJ3ctdGFibGUtYnV0dG9uLXZpZXcgJyArIGdldEJ1dHRvbkN1c3RvbUNvbG9yQ2xhc3MoY3VzdG9tQnV0dG9uQ29uZmlnLmNvbG9yISlcIj5cclxuICAgICAgICAgICAgICAgIDwvdy1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8dy1idXR0b24gKm5nSWY9XCJjdXN0b21CdXR0b25Db25maWc/LmRpc2FibGVQcm9wZXJ0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImN1c3RvbUVsZW1lbnQoe2J1dHRvbklkOiBjdXN0b21CdXR0b25Db25maWcuYnV0dG9uSWQsIGVsZW1lbnQ6IGVsZW1lbnR9KVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVhZFByb3BlcnR5KGVsZW1lbnQsIGN1c3RvbUJ1dHRvbkNvbmZpZz8uZGlzYWJsZVByb3BlcnR5ISlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJjdXN0b21CdXR0b25Db25maWc/Lmljb24hXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LmN1c3RvbVRvb2x0aXAhW2ldXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8ucG9zaXRpb24hXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRhYmxlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtidXR0b25DbGFzc109XCIndy10YWJsZS1idXR0b24tdmlldyAnICsgZ2V0QnV0dG9uQ3VzdG9tQ29sb3JDbGFzcyhjdXN0b21CdXR0b25Db25maWcuY29sb3IhKVwiPlxyXG4gICAgICAgICAgICAgICAgPC93LWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPHctYnV0dG9uICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzRWRpdEJ1dHRvbiAmJiAhd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZGlzYWJsZUVkaXRQcm9wZXJ0eVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImVkaXRFbGVtZW50KGVsZW1lbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8uZWRpdFRvb2x0aXAhXCJcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5wb3NpdGlvbiFcIlxyXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJwaS1wZW5jaWxcIiB0eXBlPVwidGFibGVcIiBidXR0b25DbGFzcz1cInctdGFibGUtYnV0dG9uLWVkaXRcIj5cclxuICAgICAgICAgICAgPC93LWJ1dHRvbj5cclxuICAgICAgICAgICAgPHctYnV0dG9uICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzRWRpdEJ1dHRvbiAmJiB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5kaXNhYmxlRWRpdFByb3BlcnR5XCIgXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiZWRpdEVsZW1lbnQoZWxlbWVudClcIiBbZGlzYWJsZWRdPVwicmVhZFByb3BlcnR5KGVsZW1lbnQsIHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmRpc2FibGVFZGl0UHJvcGVydHkpXCJcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8uZWRpdFRvb2x0aXAhXCJcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5wb3NpdGlvbiFcIlxyXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJwaS1wZW5jaWxcIiB0eXBlPVwidGFibGVcIiBidXR0b25DbGFzcz1cInctdGFibGUtYnV0dG9uLWVkaXRcIj5cclxuICAgICAgICAgICAgPC93LWJ1dHRvbj5cclxuICAgICAgICAgICAgPHctYnV0dG9uICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Q/Lmhhc0NvcHlCdXR0b25cIiBcclxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJjb25maXJtQ29weSgkZXZlbnQsIGVsZW1lbnQpXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LmNvcHlUb29sdGlwIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8ucG9zaXRpb24hXCJcclxuICAgICAgICAgICAgICAgICAgICBpY29uPVwicGktY29weVwiIHR5cGU9XCJ0YWJsZVwiIGJ1dHRvbkNsYXNzPVwidy10YWJsZS1idXR0b24tdmlld1wiPlxyXG4gICAgICAgICAgICA8L3ctYnV0dG9uPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Py5oYXNEZWxldGVCdXR0b25cIj5cclxuICAgICAgICAgICAgICAgIDx3LWJ1dHRvbiAqbmdJZj1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmRpc2FibGVEZWxldGVQcm9wZXJ0eTsgZWxzZSBub0Rpc2FibGVEZWxldGVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiY29uZmlybURlbGV0ZSgkZXZlbnQsIGVsZW1lbnQpXCIgW2Rpc2FibGVkXT1cInJlYWRQcm9wZXJ0eShlbGVtZW50LCB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5kaXNhYmxlRGVsZXRlUHJvcGVydHkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuYnV0dG9uVG9vbHRpcHM/LmRlbGV0ZVRvb2x0aXAhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8ucG9zaXRpb24hXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpLXRyYXNoXCIgdHlwZT1cInRhYmxlXCIgYnV0dG9uQ2xhc3M9XCJ3LXRhYmxlLWJ1dHRvbi1kZWxldGVcIj5cclxuICAgICAgICAgICAgICAgIDwvdy1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vRGlzYWJsZURlbGV0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8dy1idXR0b24gKG9uQ2xpY2spPVwiY29uZmlybURlbGV0ZSgkZXZlbnQsIGVsZW1lbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5kZWxldGVUb29sdGlwIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIndhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0LmJ1dHRvblRvb2x0aXBzPy5wb3NpdGlvbiFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpLXRyYXNoXCIgdHlwZT1cInRhYmxlXCIgYnV0dG9uQ2xhc3M9XCJ3LXRhYmxlLWJ1dHRvbi1kZWxldGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3ctYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImxvYWRpbmdib2R5XCI+XHJcbiAgICAgICAgICAgIDx0ciBoZWlnaHQ9XCI3MHB4XCIgKm5nRm9yPVwibGV0IG4gb2YgWzAsMSwyLDMsNF1cIj5cclxuICAgICAgICAgICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgaXRlbSBvZiB3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5jb2x1bW5UeXBlc1wiIFtzdHlsZS53aWR0aF09XCJpdGVtID09IHRhYmxlQ29sdW1uVHlwZXMuQ2hlY2tib3ggPyAnOHJlbScgOiAnJ1wiID5cclxuICAgICAgICAgICAgICAgIDxwLXRhYmxlQ2hlY2tib3ggKm5nSWY9XCJpdGVtID09IHRhYmxlQ29sdW1uVHlwZXMuQ2hlY2tib3ggJiYgd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuaGFzQ2hlY2tib3hcIj48L3AtdGFibGVDaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDxwLXNrZWxldG9uICpuZ0lmPVwiaXRlbSA9PSB0YWJsZUNvbHVtblR5cGVzLkltYWdlXCIgd2lkdGg9XCI2cmVtXCIgaGVpZ2h0PVwiNHJlbVwiPjwvcC1za2VsZXRvbj5cclxuICAgICAgICAgICAgICAgIDxwLXNrZWxldG9uICpuZ0lmPVwiaXRlbSAhPSB0YWJsZUNvbHVtblR5cGVzLkNoZWNrYm94ICYmIGl0ZW0gIT0gdGFibGVDb2x1bW5UeXBlcy5JbWFnZVwiPjwvcC1za2VsZXRvbj5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5oYXNFZGl0QnV0dG9uIHx8IHdhcHBUYWJsZUxhenlMb2FkaW5nT2JqZWN0Lmhhc0RlbGV0ZUJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctdGFibGUtYnV0dG9ucyBmbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dy1idXR0b24gKm5nSWY9XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdD8uaGFzRWRpdEJ1dHRvblwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpLXBlbmNpbFwiIHR5cGU9XCJ0YWJsZVwiIGJ1dHRvbkNsYXNzPVwidy10YWJsZS1idXR0b24tZWRpdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdy1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Q/Lmhhc0N1c3RvbUJ1dHRvblwiIG5nRm9yIGxldC1jdXN0b21CdXR0b25Db25maWcgW25nRm9yT2ZdPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuY3VzdG9tQnV0dG9uQ29uZmlnXCIgbGV0LWk9XCJpbmRleFwiPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHctYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcF09XCJ3YXBwVGFibGVMYXp5TG9hZGluZ09iamVjdC5idXR0b25Ub29sdGlwcz8uY3VzdG9tVG9vbHRpcCFbaV1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiY3VzdG9tQnV0dG9uQ29uZmlnPy5pY29uIVwiIHR5cGU9XCJ0YWJsZVwiIFtidXR0b25DbGFzc109XCIndy10YWJsZS1idXR0b24tdmlldyAnICsgZ2V0QnV0dG9uQ3VzdG9tQ29sb3JDbGFzcyhjdXN0b21CdXR0b25Db25maWcuY29sb3IhKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3ctYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPHctYnV0dG9uICpuZ0lmPVwid2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3Q/Lmhhc0RlbGV0ZUJ1dHRvblwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpLXRyYXNoXCIgdHlwZT1cInRhYmxlXCIgYnV0dG9uQ2xhc3M9XCJ3LXRhYmxlLWJ1dHRvbi1kZWxldGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3ctYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eW1lc3NhZ2VcIj5cclxuICAgICAgICA8dHIgY2xhc3M9XCJ3LXRhYmxlLWxhenktZW1wdHktbWVzc2FnZS1wYWRkaW5nXCI+XHJcbiAgICAgICAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cImNhbGN1bGF0ZUNvbHNwYW4oKVwiPnt7d2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZW1wdHlNZXNzYWdlID8gd2FwcFRhYmxlTGF6eUxvYWRpbmdPYmplY3QuZW1wdHlNZXNzYWdlIDogJ05vIG1hdGNoZXMuJ319PC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvcC10YWJsZT5cclxuPC9kaXY+XHJcbjxwLWNvbmZpcm1Qb3B1cD48L3AtY29uZmlybVBvcHVwPiJdfQ==
@@ -19,10 +19,10 @@ export class WInputLabelComponent {
19
19
  }
20
20
  }
21
21
  WInputLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WInputLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- WInputLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: WInputLabelComponent, selector: "w-input-label", inputs: { label: "label", disabled: "disabled", required: "required", tooltip: "tooltip", size: "size" }, ngImport: i0, template: "<div *ngIf=\"label != undefined && label.length > 0\" class=\"w-input-label flex\">\r\n <div class=\"flex\">\r\n <div [ngClass]=\"{'w-input-label-small-label': getSizeName(sizeType.small) == size && !disabled, \r\n 'w-input-label-small-label-disabled': getSizeName(sizeType.small) == size && disabled, \r\n 'w-input-label-medium-label': getSizeName(sizeType.medium) == size && !disabled, \r\n 'w-input-label-medium-label-disabled': getSizeName(sizeType.medium) == size && disabled}\">\r\n {{label}}\r\n <span *ngIf=\"required && !disabled \" class=\"required-symbol\">*</span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"tooltip\" [pTooltip]=\"tooltip\" tooltipPosition=\"right\" [autoHide]=\"false\" =\"w-input-label-icon-help-container\">\r\n <svg class=\"w-input-label-icon-help\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path id=\"Vector\" d=\"M6 0C2.7 0 0 2.7 0 6C0 9.3 2.7 12 6 12C9.3 12 12 9.3 12 6C12 2.7 9.3 0 6 0ZM6 9.75C5.586 9.75 5.25 9.414 5.25 9C5.25 8.586 5.586 8.25 6 8.25C6.414 8.25 6.75 8.586 6.75 9C6.75 9.414 6.414 9.75 6 9.75ZM7.21725 6.069C6.8445 6.38925 6.75 6.49725 6.75 6.75C6.75 7.16475 6.414 7.5 6 7.5C5.586 7.5 5.25 7.16475 5.25 6.75C5.25 5.7795 5.84625 5.268 6.2415 4.92975C6.61425 4.611 6.70875 4.50225 6.70875 4.25025C6.70875 4.113 6.70875 3.75 6.00075 3.75C5.67375 3.768 5.325 3.918 5.05725 4.17075C4.7565 4.45425 4.281 4.44 3.99675 4.14C3.7125 3.8385 3.726 3.36375 4.0275 3.0795C4.554 2.58375 5.24025 2.289 5.96175 2.2515H5.964C7.323 2.2515 8.20875 3.05475 8.20875 4.251C8.20875 5.22075 7.6125 5.73225 7.218 6.06975L7.21725 6.069Z\" fill=\"#9AA0A6\"/>\r\n </svg> \r\n </div>\r\n</div>\r\n<div *ngIf=\"label != undefined && label == ''\" class=\"w-input-no-label-height\"></div>\r\n", styles: [".heading1{font-size:2.6666666667rem;line-height:3rem;font-weight:700}.heading2{font-size:2.3333333333rem;line-height:2.6666666667rem;font-weight:700}.heading3{font-size:2rem;line-height:2.3333333333rem;font-weight:700}.heading4{font-size:1.6666666667rem;line-height:2rem;font-weight:700}.heading5,.w-sidebar-title-text{font-size:1.5rem;line-height:1.8333333333rem;font-weight:700}.heading6{font-size:1.3333333333rem;line-height:1.6666666667rem;font-weight:700}.subtitle1,.w-tab-text,.w-panel-title-text{font-size:1.1666666667rem;line-height:1.3333333333rem;font-weight:700}.subtitle2,.w-table-th-text,.w-panel-subtitle-text,.w-input-small-label-text-typography,.w-input-label-small-label,.w-input-small-label-text,.w-input-small-label-disabled,.w-input-label-small-label-disabled,.w-view-small-label-text-typography,.w-view-small-label-text,.w-button-small-text-label-text-typography,.w-button-small-text-label-text{font-size:1rem;line-height:1.1666666667rem;font-weight:600}.body,.w-image-file-uploader-navigators-text,.w-table-td-text,.w-chip-text,.w-panel-content,.w-input-small-select-options-text,.w-input-small-placeholder-text-typography,.w-input-small-placeholder-text-disabled,.w-input-small-placeholder-text,.w-view-small-value-text-typography,.w-view-small-value-text,.w-button-small-label-text-typography,.w-button-small-tertiary-label-text{font-size:1rem;line-height:1.1666666667rem;font-weight:400}.caption,.w-input-error-alert-text,.w-input-warning-alert-text,.w-input-success-alert-text{font-size:.6666666667rem;line-height:1rem;font-weight:400}.light,.w-input-small-placeholder-text-only-color{font-size:.9166666667rem;line-height:1.0833333333rem;font-weight:300}.small,.w-button-small-label-text-typography-sm{font-size:.8333333333rem;line-height:1rem;font-weight:400}.textMainColor{color:#1f2224}.textSoftColor{color:#5f6468}.textSofterColor{color:#9aa0a7}.textSoftestColor{color:#e8ebee}.textInverseColor{color:#fff}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXSMDivider{height:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.panel-title-gap-divider{height:20px}.panel-section-gap-divider{height:32px}.input-vertical-gap-divider{height:24px}.input-label-gap-divider{height:6px}.focusedInput{border:1px solid rgba(0,157,253,.25);box-shadow:0 0 10px #00b3eb40}.focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:1px solid #00b3eb}.hoveredInput{border-radius:8px;border:1px solid rgba(0,179,235,.5)}.input-generic-valid{border-radius:8px;border:1px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:1px solid #B3FFD3!important;box-shadow:0 0 8px #46ff9b80!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:1px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:1px solid #FFECB8!important;box-shadow:0 0 8px #ffcd4680!important;padding-left:16px}.input-generic-error-focus{border-radius:8px;border:1px solid #FFBDBD!important;box-shadow:0 0 8px #ff555580!important;padding-left:16px}.input-generic-error{border-radius:8px;border:1px solid #FFBDBD}.toggle-small-typography{font-size:12px;line-height:16px;font-weight:600}.w-button-small-label-text-typography,.w-button-small-tertiary-label-text,.w-button-small-label-text-typography-sm{font-weight:600}.w-button-small-tertiary-label-text{color:#5f6468}.w-button-small-text-label-text{color:#1f2224}.w-button-small-icon-text{font-size:12px;font-weight:600}.w-table-button-small-icon-text{font-size:12px;color:#9aa0a7}.w-control-button-small-label-text{font-size:12px;font-weight:600;line-height:16px}.w-control-button-x-small-icon-text{font-size:10px;font-weight:700}.w-control-button-small-icon-text{font-size:8px;font-weight:700}.w-button-medium-label-text-typography,.w-button-medium-tertiary-label-text{font-size:16px;font-weight:600;line-height:16px}.w-button-medium-tertiary-label-text{color:#1f2224}.w-button-medium-icon-text{font-size:16px}.w-control-button-medium-label-text{font-size:14px;font-weight:600;line-height:16px}.w-control-button-medium-icon-text{font-size:12px;font-weight:700}.w-button-large-label-text-typography,.w-button-large-tertiary-label-text{font-size:20px;font-weight:600;line-height:24px}.w-button-large-tertiary-label-text{color:#1f2224}.w-button-x-small-label-text{font-size:10px;font-weight:600;line-height:10px}.w-button-small-only-label-text{font-size:12px;font-weight:600;line-height:16px}.w-button-large-icon-text{font-size:24px}.w-view-small-label-text{color:#1f2224}.w-view-small-value-text{color:#5f6468}.w-input-no-label-height{height:14px}.w-input-disabled{background-color:#f1f3f4;border-color:#e8ebee;opacity:1}.w-input-small-label-text-typography,.w-input-label-small-label,.w-input-small-label-text,.w-input-small-label-disabled,.w-input-label-small-label-disabled{height:-moz-fit-content;height:fit-content}.w-input-small-label-text,.w-input-small-label-disabled,.w-input-label-small-label-disabled{color:#1f2224}.w-input-small-label-disabled,.w-input-label-small-label-disabled{color:#9aa0a7}.w-input-small-label-text-content{padding:12px 8px 8px 0;margin:0}.w-input-small-label-text-content-no-top{padding-top:0}.w-input-small-placeholder-text{color:#1f2224}.w-input-small-placeholder-text-only-color{color:#9aa0a7;line-height:1.3333333333rem}.w-input-small-placeholder-text-disabled,.w-input-small-placeholder-text-disabled-only-color{color:#5f6468}.w-input-small-text-icon,.w-input-small-select-options-text{color:#1f2224}.w-input-medium-label-text-typography,.w-input-label-medium-label,.w-input-medium-label-text,.w-input-medium-label-disabled,.w-input-label-medium-label-disabled{font-size:14px;font-weight:600;line-height:16px}.w-input-medium-label-text,.w-input-medium-label-disabled,.w-input-label-medium-label-disabled{color:#1f2224}.w-input-medium-label-disabled,.w-input-label-medium-label-disabled{color:#9aa0a7}.w-input-medium-placeholder-text-typography,.w-input-medium-placeholder-text-disabled,.w-input-medium-placeholder-text{font-size:16px;font-weight:400;line-height:24px}.w-input-medium-placeholder-text,.w-input-medium-placeholder-text-only-color{color:#1f2224}.w-input-medium-placeholder-text-disabled,.w-input-medium-placeholder-text-disabled-only-color{color:#5f6468}.w-input-medium-text-icon{color:#1f2224}.w-input-medium-select-options-text{font-size:16px;font-weight:400;line-height:24px;color:#1f2224}.w-input-success-alert-text{color:#00db5d;padding:8px 8px 0;margin-top:0}.w-input-warning-alert-text{color:#eeae00;padding:8px 8px 0;margin-top:0}.w-input-error-alert-text{color:#e50000;padding:8px 8px 0;margin-top:0}.w-input-alert-message-height{height:32px}.w-sidebar-title-text,.w-panel-title-text,.w-panel-subtitle-text{color:#1f2224}.w-panel-content{color:#5f6468}.w-tab-text,.w-chip-text{color:#1f2224}.w-badge-text{font-size:10px;font-weight:700;line-height:8px}.w-table-th-text{color:#1f2224}.w-table-td-text{color:#5f6468}.w-table-height{padding:6px 8px 5px}.w-table-no-buttons-height{padding:16px 8px 15px!important}.w-tree-table-height{padding:8px 8px 7px}.w-image-file-uploader-navigators-text{font-size:12px;color:#fff}.grid{margin:0}::ng-deep .p-tooltip,.p-tooltip{filter:0px 0px 1px 0px rgba(0,0,0,.1) inset,1px 1px 5px rgba(0,0,0,.06),1px 1px 1px rgba(0,0,0,.08)}::ng-deep .p-tooltip .p-tooltip-text,.p-tooltip .p-tooltip-text{background:#ffffff!important;color:#1f2224;padding:12px 16px;max-width:192px;width:max-content;margin-left:3px}::ng-deep .p-tooltip.p-tooltip-right,.p-tooltip.p-tooltip-right{margin-left:6px;width:max-content;transform:translateY(-1px)}::ng-deep .p-tooltip.p-tooltip-right .p-tooltip-arrow,.p-tooltip.p-tooltip-right .p-tooltip-arrow{border-right-color:#fff!important;top:50%;left:0;margin-top:-4px;border-width:4px 6px 4px 0!important}::ng-deep .p-tooltip.p-tooltip-bottom .p-tooltip-arrow,.p-tooltip.p-tooltip-bottom .p-tooltip-arrow{border-bottom-color:#fff!important;border-width:0 4px 6px 4px!important;margin-top:-3px}.w-input-label{gap:6px}.w-input-label-icon-help-container{height:14px;display:flex;align-items:center;transform:translateY(1px)}.w-input-label-icon-help-container:hover .w-input-label-icon-help path{fill:#00b3eb}.w-input-label-small-label,.w-input-label-medium-label{color:#1f2224}.required-symbol{font-weight:300}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
22
+ WInputLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: WInputLabelComponent, selector: "w-input-label", inputs: { label: "label", disabled: "disabled", required: "required", tooltip: "tooltip", size: "size" }, ngImport: i0, template: "<div *ngIf=\"label != undefined && label.length > 0\" class=\"w-input-label flex\">\r\n <div class=\"flex\">\r\n <div [ngClass]=\"{'w-input-label-small-label': getSizeName(sizeType.small) == size && !disabled, \r\n 'w-input-label-small-label-disabled': getSizeName(sizeType.small) == size && disabled, \r\n 'w-input-label-medium-label': getSizeName(sizeType.medium) == size && !disabled, \r\n 'w-input-label-medium-label-disabled': getSizeName(sizeType.medium) == size && disabled}\">\r\n {{label}}\r\n <span *ngIf=\"required && !disabled \" class=\"required-symbol\">*</span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"tooltip\" [pTooltip]=\"tooltip\" tooltipPosition=\"right\" class=\"w-input-label-icon-help-container\">\r\n <svg class=\"w-input-label-icon-help\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path id=\"Vector\" d=\"M6 0C2.7 0 0 2.7 0 6C0 9.3 2.7 12 6 12C9.3 12 12 9.3 12 6C12 2.7 9.3 0 6 0ZM6 9.75C5.586 9.75 5.25 9.414 5.25 9C5.25 8.586 5.586 8.25 6 8.25C6.414 8.25 6.75 8.586 6.75 9C6.75 9.414 6.414 9.75 6 9.75ZM7.21725 6.069C6.8445 6.38925 6.75 6.49725 6.75 6.75C6.75 7.16475 6.414 7.5 6 7.5C5.586 7.5 5.25 7.16475 5.25 6.75C5.25 5.7795 5.84625 5.268 6.2415 4.92975C6.61425 4.611 6.70875 4.50225 6.70875 4.25025C6.70875 4.113 6.70875 3.75 6.00075 3.75C5.67375 3.768 5.325 3.918 5.05725 4.17075C4.7565 4.45425 4.281 4.44 3.99675 4.14C3.7125 3.8385 3.726 3.36375 4.0275 3.0795C4.554 2.58375 5.24025 2.289 5.96175 2.2515H5.964C7.323 2.2515 8.20875 3.05475 8.20875 4.251C8.20875 5.22075 7.6125 5.73225 7.218 6.06975L7.21725 6.069Z\" fill=\"#9AA0A6\"/>\r\n </svg> \r\n </div>\r\n</div>\r\n<div *ngIf=\"label != undefined && label == ''\" class=\"w-input-no-label-height\"></div>\r\n", styles: [".heading1{font-size:2.6666666667rem;line-height:3rem;font-weight:700}.heading2{font-size:2.3333333333rem;line-height:2.6666666667rem;font-weight:700}.heading3{font-size:2rem;line-height:2.3333333333rem;font-weight:700}.heading4{font-size:1.6666666667rem;line-height:2rem;font-weight:700}.heading5,.w-sidebar-title-text{font-size:1.5rem;line-height:1.8333333333rem;font-weight:700}.heading6{font-size:1.3333333333rem;line-height:1.6666666667rem;font-weight:700}.subtitle1,.w-tab-text,.w-panel-title-text{font-size:1.1666666667rem;line-height:1.3333333333rem;font-weight:700}.subtitle2,.w-table-th-text,.w-panel-subtitle-text,.w-input-small-label-text-typography,.w-input-label-small-label,.w-input-small-label-text,.w-input-small-label-disabled,.w-input-label-small-label-disabled,.w-view-small-label-text-typography,.w-view-small-label-text,.w-button-small-text-label-text-typography,.w-button-small-text-label-text{font-size:1rem;line-height:1.1666666667rem;font-weight:600}.body,.w-image-file-uploader-navigators-text,.w-table-td-text,.w-chip-text,.w-panel-content,.w-input-small-select-options-text,.w-input-small-placeholder-text-typography,.w-input-small-placeholder-text-disabled,.w-input-small-placeholder-text,.w-view-small-value-text-typography,.w-view-small-value-text,.w-button-small-label-text-typography,.w-button-small-tertiary-label-text{font-size:1rem;line-height:1.1666666667rem;font-weight:400}.caption,.w-input-error-alert-text,.w-input-warning-alert-text,.w-input-success-alert-text{font-size:.6666666667rem;line-height:1rem;font-weight:400}.light,.w-input-small-placeholder-text-only-color{font-size:.9166666667rem;line-height:1.0833333333rem;font-weight:300}.small,.w-button-small-label-text-typography-sm{font-size:.8333333333rem;line-height:1rem;font-weight:400}.textMainColor{color:#1f2224}.textSoftColor{color:#5f6468}.textSofterColor{color:#9aa0a7}.textSoftestColor{color:#e8ebee}.textInverseColor{color:#fff}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXSMDivider{height:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.panel-title-gap-divider{height:20px}.panel-section-gap-divider{height:32px}.input-vertical-gap-divider{height:24px}.input-label-gap-divider{height:6px}.focusedInput{border:1px solid rgba(0,157,253,.25);box-shadow:0 0 10px #00b3eb40}.focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:1px solid #00b3eb}.hoveredInput{border-radius:8px;border:1px solid rgba(0,179,235,.5)}.input-generic-valid{border-radius:8px;border:1px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:1px solid #B3FFD3!important;box-shadow:0 0 8px #46ff9b80!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:1px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:1px solid #FFECB8!important;box-shadow:0 0 8px #ffcd4680!important;padding-left:16px}.input-generic-error-focus{border-radius:8px;border:1px solid #FFBDBD!important;box-shadow:0 0 8px #ff555580!important;padding-left:16px}.input-generic-error{border-radius:8px;border:1px solid #FFBDBD}.toggle-small-typography{font-size:12px;line-height:16px;font-weight:600}.w-button-small-label-text-typography,.w-button-small-tertiary-label-text,.w-button-small-label-text-typography-sm{font-weight:600}.w-button-small-tertiary-label-text{color:#5f6468}.w-button-small-text-label-text{color:#1f2224}.w-button-small-icon-text{font-size:12px;font-weight:600}.w-table-button-small-icon-text{font-size:12px;color:#9aa0a7}.w-control-button-small-label-text{font-size:12px;font-weight:600;line-height:16px}.w-control-button-x-small-icon-text{font-size:10px;font-weight:700}.w-control-button-small-icon-text{font-size:8px;font-weight:700}.w-button-medium-label-text-typography,.w-button-medium-tertiary-label-text{font-size:16px;font-weight:600;line-height:16px}.w-button-medium-tertiary-label-text{color:#1f2224}.w-button-medium-icon-text{font-size:16px}.w-control-button-medium-label-text{font-size:14px;font-weight:600;line-height:16px}.w-control-button-medium-icon-text{font-size:12px;font-weight:700}.w-button-large-label-text-typography,.w-button-large-tertiary-label-text{font-size:20px;font-weight:600;line-height:24px}.w-button-large-tertiary-label-text{color:#1f2224}.w-button-x-small-label-text{font-size:10px;font-weight:600;line-height:10px}.w-button-small-only-label-text{font-size:12px;font-weight:600;line-height:16px}.w-button-large-icon-text{font-size:24px}.w-view-small-label-text{color:#1f2224}.w-view-small-value-text{color:#5f6468}.w-input-no-label-height{height:14px}.w-input-disabled{background-color:#f1f3f4;border-color:#e8ebee;opacity:1}.w-input-small-label-text-typography,.w-input-label-small-label,.w-input-small-label-text,.w-input-small-label-disabled,.w-input-label-small-label-disabled{height:-moz-fit-content;height:fit-content}.w-input-small-label-text,.w-input-small-label-disabled,.w-input-label-small-label-disabled{color:#1f2224}.w-input-small-label-disabled,.w-input-label-small-label-disabled{color:#9aa0a7}.w-input-small-label-text-content{padding:12px 8px 8px 0;margin:0}.w-input-small-label-text-content-no-top{padding-top:0}.w-input-small-placeholder-text{color:#1f2224}.w-input-small-placeholder-text-only-color{color:#9aa0a7;line-height:1.3333333333rem}.w-input-small-placeholder-text-disabled,.w-input-small-placeholder-text-disabled-only-color{color:#5f6468}.w-input-small-text-icon,.w-input-small-select-options-text{color:#1f2224}.w-input-medium-label-text-typography,.w-input-label-medium-label,.w-input-medium-label-text,.w-input-medium-label-disabled,.w-input-label-medium-label-disabled{font-size:14px;font-weight:600;line-height:16px}.w-input-medium-label-text,.w-input-medium-label-disabled,.w-input-label-medium-label-disabled{color:#1f2224}.w-input-medium-label-disabled,.w-input-label-medium-label-disabled{color:#9aa0a7}.w-input-medium-placeholder-text-typography,.w-input-medium-placeholder-text-disabled,.w-input-medium-placeholder-text{font-size:16px;font-weight:400;line-height:24px}.w-input-medium-placeholder-text,.w-input-medium-placeholder-text-only-color{color:#1f2224}.w-input-medium-placeholder-text-disabled,.w-input-medium-placeholder-text-disabled-only-color{color:#5f6468}.w-input-medium-text-icon{color:#1f2224}.w-input-medium-select-options-text{font-size:16px;font-weight:400;line-height:24px;color:#1f2224}.w-input-success-alert-text{color:#00db5d;padding:8px 8px 0;margin-top:0}.w-input-warning-alert-text{color:#eeae00;padding:8px 8px 0;margin-top:0}.w-input-error-alert-text{color:#e50000;padding:8px 8px 0;margin-top:0}.w-input-alert-message-height{height:32px}.w-sidebar-title-text,.w-panel-title-text,.w-panel-subtitle-text{color:#1f2224}.w-panel-content{color:#5f6468}.w-tab-text,.w-chip-text{color:#1f2224}.w-badge-text{font-size:10px;font-weight:700;line-height:8px}.w-table-th-text{color:#1f2224}.w-table-td-text{color:#5f6468}.w-table-height{padding:6px 8px 5px}.w-table-no-buttons-height{padding:16px 8px 15px!important}.w-tree-table-height{padding:8px 8px 7px}.w-image-file-uploader-navigators-text{font-size:12px;color:#fff}.grid{margin:0}::ng-deep .p-tooltip,.p-tooltip{filter:0px 0px 1px 0px rgba(0,0,0,.1) inset,1px 1px 5px rgba(0,0,0,.06),1px 1px 1px rgba(0,0,0,.08)}::ng-deep .p-tooltip .p-tooltip-text,.p-tooltip .p-tooltip-text{background:#ffffff!important;color:#1f2224;padding:12px 16px;max-width:192px;width:max-content;margin-left:3px}::ng-deep .p-tooltip.p-tooltip-right,.p-tooltip.p-tooltip-right{margin-left:6px;width:max-content;transform:translateY(-1px)}::ng-deep .p-tooltip.p-tooltip-right .p-tooltip-arrow,.p-tooltip.p-tooltip-right .p-tooltip-arrow{border-right-color:#fff!important;top:50%;left:0;margin-top:-4px;border-width:4px 6px 4px 0!important}::ng-deep .p-tooltip.p-tooltip-bottom .p-tooltip-arrow,.p-tooltip.p-tooltip-bottom .p-tooltip-arrow{border-bottom-color:#fff!important;border-width:0 4px 6px 4px!important;margin-top:-3px}.w-input-label{gap:6px}.w-input-label-icon-help-container{height:14px;display:flex;align-items:center;transform:translateY(1px)}.w-input-label-icon-help-container:hover .w-input-label-icon-help path{fill:#00b3eb}.w-input-label-small-label,.w-input-label-medium-label{color:#1f2224}.required-symbol{font-weight:300}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WInputLabelComponent, decorators: [{
24
24
  type: Component,
25
- args: [{ selector: 'w-input-label', template: "<div *ngIf=\"label != undefined && label.length > 0\" class=\"w-input-label flex\">\r\n <div class=\"flex\">\r\n <div [ngClass]=\"{'w-input-label-small-label': getSizeName(sizeType.small) == size && !disabled, \r\n 'w-input-label-small-label-disabled': getSizeName(sizeType.small) == size && disabled, \r\n 'w-input-label-medium-label': getSizeName(sizeType.medium) == size && !disabled, \r\n 'w-input-label-medium-label-disabled': getSizeName(sizeType.medium) == size && disabled}\">\r\n {{label}}\r\n <span *ngIf=\"required && !disabled \" class=\"required-symbol\">*</span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"tooltip\" [pTooltip]=\"tooltip\" tooltipPosition=\"right\" [autoHide]=\"false\" =\"w-input-label-icon-help-container\">\r\n <svg class=\"w-input-label-icon-help\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path id=\"Vector\" d=\"M6 0C2.7 0 0 2.7 0 6C0 9.3 2.7 12 6 12C9.3 12 12 9.3 12 6C12 2.7 9.3 0 6 0ZM6 9.75C5.586 9.75 5.25 9.414 5.25 9C5.25 8.586 5.586 8.25 6 8.25C6.414 8.25 6.75 8.586 6.75 9C6.75 9.414 6.414 9.75 6 9.75ZM7.21725 6.069C6.8445 6.38925 6.75 6.49725 6.75 6.75C6.75 7.16475 6.414 7.5 6 7.5C5.586 7.5 5.25 7.16475 5.25 6.75C5.25 5.7795 5.84625 5.268 6.2415 4.92975C6.61425 4.611 6.70875 4.50225 6.70875 4.25025C6.70875 4.113 6.70875 3.75 6.00075 3.75C5.67375 3.768 5.325 3.918 5.05725 4.17075C4.7565 4.45425 4.281 4.44 3.99675 4.14C3.7125 3.8385 3.726 3.36375 4.0275 3.0795C4.554 2.58375 5.24025 2.289 5.96175 2.2515H5.964C7.323 2.2515 8.20875 3.05475 8.20875 4.251C8.20875 5.22075 7.6125 5.73225 7.218 6.06975L7.21725 6.069Z\" fill=\"#9AA0A6\"/>\r\n </svg> \r\n </div>\r\n</div>\r\n<div *ngIf=\"label != undefined && label == ''\" class=\"w-input-no-label-height\"></div>\r\n", styles: [".heading1{font-size:2.6666666667rem;line-height:3rem;font-weight:700}.heading2{font-size:2.3333333333rem;line-height:2.6666666667rem;font-weight:700}.heading3{font-size:2rem;line-height:2.3333333333rem;font-weight:700}.heading4{font-size:1.6666666667rem;line-height:2rem;font-weight:700}.heading5,.w-sidebar-title-text{font-size:1.5rem;line-height:1.8333333333rem;font-weight:700}.heading6{font-size:1.3333333333rem;line-height:1.6666666667rem;font-weight:700}.subtitle1,.w-tab-text,.w-panel-title-text{font-size:1.1666666667rem;line-height:1.3333333333rem;font-weight:700}.subtitle2,.w-table-th-text,.w-panel-subtitle-text,.w-input-small-label-text-typography,.w-input-label-small-label,.w-input-small-label-text,.w-input-small-label-disabled,.w-input-label-small-label-disabled,.w-view-small-label-text-typography,.w-view-small-label-text,.w-button-small-text-label-text-typography,.w-button-small-text-label-text{font-size:1rem;line-height:1.1666666667rem;font-weight:600}.body,.w-image-file-uploader-navigators-text,.w-table-td-text,.w-chip-text,.w-panel-content,.w-input-small-select-options-text,.w-input-small-placeholder-text-typography,.w-input-small-placeholder-text-disabled,.w-input-small-placeholder-text,.w-view-small-value-text-typography,.w-view-small-value-text,.w-button-small-label-text-typography,.w-button-small-tertiary-label-text{font-size:1rem;line-height:1.1666666667rem;font-weight:400}.caption,.w-input-error-alert-text,.w-input-warning-alert-text,.w-input-success-alert-text{font-size:.6666666667rem;line-height:1rem;font-weight:400}.light,.w-input-small-placeholder-text-only-color{font-size:.9166666667rem;line-height:1.0833333333rem;font-weight:300}.small,.w-button-small-label-text-typography-sm{font-size:.8333333333rem;line-height:1rem;font-weight:400}.textMainColor{color:#1f2224}.textSoftColor{color:#5f6468}.textSofterColor{color:#9aa0a7}.textSoftestColor{color:#e8ebee}.textInverseColor{color:#fff}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXSMDivider{height:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.panel-title-gap-divider{height:20px}.panel-section-gap-divider{height:32px}.input-vertical-gap-divider{height:24px}.input-label-gap-divider{height:6px}.focusedInput{border:1px solid rgba(0,157,253,.25);box-shadow:0 0 10px #00b3eb40}.focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:1px solid #00b3eb}.hoveredInput{border-radius:8px;border:1px solid rgba(0,179,235,.5)}.input-generic-valid{border-radius:8px;border:1px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:1px solid #B3FFD3!important;box-shadow:0 0 8px #46ff9b80!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:1px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:1px solid #FFECB8!important;box-shadow:0 0 8px #ffcd4680!important;padding-left:16px}.input-generic-error-focus{border-radius:8px;border:1px solid #FFBDBD!important;box-shadow:0 0 8px #ff555580!important;padding-left:16px}.input-generic-error{border-radius:8px;border:1px solid #FFBDBD}.toggle-small-typography{font-size:12px;line-height:16px;font-weight:600}.w-button-small-label-text-typography,.w-button-small-tertiary-label-text,.w-button-small-label-text-typography-sm{font-weight:600}.w-button-small-tertiary-label-text{color:#5f6468}.w-button-small-text-label-text{color:#1f2224}.w-button-small-icon-text{font-size:12px;font-weight:600}.w-table-button-small-icon-text{font-size:12px;color:#9aa0a7}.w-control-button-small-label-text{font-size:12px;font-weight:600;line-height:16px}.w-control-button-x-small-icon-text{font-size:10px;font-weight:700}.w-control-button-small-icon-text{font-size:8px;font-weight:700}.w-button-medium-label-text-typography,.w-button-medium-tertiary-label-text{font-size:16px;font-weight:600;line-height:16px}.w-button-medium-tertiary-label-text{color:#1f2224}.w-button-medium-icon-text{font-size:16px}.w-control-button-medium-label-text{font-size:14px;font-weight:600;line-height:16px}.w-control-button-medium-icon-text{font-size:12px;font-weight:700}.w-button-large-label-text-typography,.w-button-large-tertiary-label-text{font-size:20px;font-weight:600;line-height:24px}.w-button-large-tertiary-label-text{color:#1f2224}.w-button-x-small-label-text{font-size:10px;font-weight:600;line-height:10px}.w-button-small-only-label-text{font-size:12px;font-weight:600;line-height:16px}.w-button-large-icon-text{font-size:24px}.w-view-small-label-text{color:#1f2224}.w-view-small-value-text{color:#5f6468}.w-input-no-label-height{height:14px}.w-input-disabled{background-color:#f1f3f4;border-color:#e8ebee;opacity:1}.w-input-small-label-text-typography,.w-input-label-small-label,.w-input-small-label-text,.w-input-small-label-disabled,.w-input-label-small-label-disabled{height:-moz-fit-content;height:fit-content}.w-input-small-label-text,.w-input-small-label-disabled,.w-input-label-small-label-disabled{color:#1f2224}.w-input-small-label-disabled,.w-input-label-small-label-disabled{color:#9aa0a7}.w-input-small-label-text-content{padding:12px 8px 8px 0;margin:0}.w-input-small-label-text-content-no-top{padding-top:0}.w-input-small-placeholder-text{color:#1f2224}.w-input-small-placeholder-text-only-color{color:#9aa0a7;line-height:1.3333333333rem}.w-input-small-placeholder-text-disabled,.w-input-small-placeholder-text-disabled-only-color{color:#5f6468}.w-input-small-text-icon,.w-input-small-select-options-text{color:#1f2224}.w-input-medium-label-text-typography,.w-input-label-medium-label,.w-input-medium-label-text,.w-input-medium-label-disabled,.w-input-label-medium-label-disabled{font-size:14px;font-weight:600;line-height:16px}.w-input-medium-label-text,.w-input-medium-label-disabled,.w-input-label-medium-label-disabled{color:#1f2224}.w-input-medium-label-disabled,.w-input-label-medium-label-disabled{color:#9aa0a7}.w-input-medium-placeholder-text-typography,.w-input-medium-placeholder-text-disabled,.w-input-medium-placeholder-text{font-size:16px;font-weight:400;line-height:24px}.w-input-medium-placeholder-text,.w-input-medium-placeholder-text-only-color{color:#1f2224}.w-input-medium-placeholder-text-disabled,.w-input-medium-placeholder-text-disabled-only-color{color:#5f6468}.w-input-medium-text-icon{color:#1f2224}.w-input-medium-select-options-text{font-size:16px;font-weight:400;line-height:24px;color:#1f2224}.w-input-success-alert-text{color:#00db5d;padding:8px 8px 0;margin-top:0}.w-input-warning-alert-text{color:#eeae00;padding:8px 8px 0;margin-top:0}.w-input-error-alert-text{color:#e50000;padding:8px 8px 0;margin-top:0}.w-input-alert-message-height{height:32px}.w-sidebar-title-text,.w-panel-title-text,.w-panel-subtitle-text{color:#1f2224}.w-panel-content{color:#5f6468}.w-tab-text,.w-chip-text{color:#1f2224}.w-badge-text{font-size:10px;font-weight:700;line-height:8px}.w-table-th-text{color:#1f2224}.w-table-td-text{color:#5f6468}.w-table-height{padding:6px 8px 5px}.w-table-no-buttons-height{padding:16px 8px 15px!important}.w-tree-table-height{padding:8px 8px 7px}.w-image-file-uploader-navigators-text{font-size:12px;color:#fff}.grid{margin:0}::ng-deep .p-tooltip,.p-tooltip{filter:0px 0px 1px 0px rgba(0,0,0,.1) inset,1px 1px 5px rgba(0,0,0,.06),1px 1px 1px rgba(0,0,0,.08)}::ng-deep .p-tooltip .p-tooltip-text,.p-tooltip .p-tooltip-text{background:#ffffff!important;color:#1f2224;padding:12px 16px;max-width:192px;width:max-content;margin-left:3px}::ng-deep .p-tooltip.p-tooltip-right,.p-tooltip.p-tooltip-right{margin-left:6px;width:max-content;transform:translateY(-1px)}::ng-deep .p-tooltip.p-tooltip-right .p-tooltip-arrow,.p-tooltip.p-tooltip-right .p-tooltip-arrow{border-right-color:#fff!important;top:50%;left:0;margin-top:-4px;border-width:4px 6px 4px 0!important}::ng-deep .p-tooltip.p-tooltip-bottom .p-tooltip-arrow,.p-tooltip.p-tooltip-bottom .p-tooltip-arrow{border-bottom-color:#fff!important;border-width:0 4px 6px 4px!important;margin-top:-3px}.w-input-label{gap:6px}.w-input-label-icon-help-container{height:14px;display:flex;align-items:center;transform:translateY(1px)}.w-input-label-icon-help-container:hover .w-input-label-icon-help path{fill:#00b3eb}.w-input-label-small-label,.w-input-label-medium-label{color:#1f2224}.required-symbol{font-weight:300}\n"] }]
25
+ args: [{ selector: 'w-input-label', template: "<div *ngIf=\"label != undefined && label.length > 0\" class=\"w-input-label flex\">\r\n <div class=\"flex\">\r\n <div [ngClass]=\"{'w-input-label-small-label': getSizeName(sizeType.small) == size && !disabled, \r\n 'w-input-label-small-label-disabled': getSizeName(sizeType.small) == size && disabled, \r\n 'w-input-label-medium-label': getSizeName(sizeType.medium) == size && !disabled, \r\n 'w-input-label-medium-label-disabled': getSizeName(sizeType.medium) == size && disabled}\">\r\n {{label}}\r\n <span *ngIf=\"required && !disabled \" class=\"required-symbol\">*</span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"tooltip\" [pTooltip]=\"tooltip\" tooltipPosition=\"right\" class=\"w-input-label-icon-help-container\">\r\n <svg class=\"w-input-label-icon-help\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path id=\"Vector\" d=\"M6 0C2.7 0 0 2.7 0 6C0 9.3 2.7 12 6 12C9.3 12 12 9.3 12 6C12 2.7 9.3 0 6 0ZM6 9.75C5.586 9.75 5.25 9.414 5.25 9C5.25 8.586 5.586 8.25 6 8.25C6.414 8.25 6.75 8.586 6.75 9C6.75 9.414 6.414 9.75 6 9.75ZM7.21725 6.069C6.8445 6.38925 6.75 6.49725 6.75 6.75C6.75 7.16475 6.414 7.5 6 7.5C5.586 7.5 5.25 7.16475 5.25 6.75C5.25 5.7795 5.84625 5.268 6.2415 4.92975C6.61425 4.611 6.70875 4.50225 6.70875 4.25025C6.70875 4.113 6.70875 3.75 6.00075 3.75C5.67375 3.768 5.325 3.918 5.05725 4.17075C4.7565 4.45425 4.281 4.44 3.99675 4.14C3.7125 3.8385 3.726 3.36375 4.0275 3.0795C4.554 2.58375 5.24025 2.289 5.96175 2.2515H5.964C7.323 2.2515 8.20875 3.05475 8.20875 4.251C8.20875 5.22075 7.6125 5.73225 7.218 6.06975L7.21725 6.069Z\" fill=\"#9AA0A6\"/>\r\n </svg> \r\n </div>\r\n</div>\r\n<div *ngIf=\"label != undefined && label == ''\" class=\"w-input-no-label-height\"></div>\r\n", styles: [".heading1{font-size:2.6666666667rem;line-height:3rem;font-weight:700}.heading2{font-size:2.3333333333rem;line-height:2.6666666667rem;font-weight:700}.heading3{font-size:2rem;line-height:2.3333333333rem;font-weight:700}.heading4{font-size:1.6666666667rem;line-height:2rem;font-weight:700}.heading5,.w-sidebar-title-text{font-size:1.5rem;line-height:1.8333333333rem;font-weight:700}.heading6{font-size:1.3333333333rem;line-height:1.6666666667rem;font-weight:700}.subtitle1,.w-tab-text,.w-panel-title-text{font-size:1.1666666667rem;line-height:1.3333333333rem;font-weight:700}.subtitle2,.w-table-th-text,.w-panel-subtitle-text,.w-input-small-label-text-typography,.w-input-label-small-label,.w-input-small-label-text,.w-input-small-label-disabled,.w-input-label-small-label-disabled,.w-view-small-label-text-typography,.w-view-small-label-text,.w-button-small-text-label-text-typography,.w-button-small-text-label-text{font-size:1rem;line-height:1.1666666667rem;font-weight:600}.body,.w-image-file-uploader-navigators-text,.w-table-td-text,.w-chip-text,.w-panel-content,.w-input-small-select-options-text,.w-input-small-placeholder-text-typography,.w-input-small-placeholder-text-disabled,.w-input-small-placeholder-text,.w-view-small-value-text-typography,.w-view-small-value-text,.w-button-small-label-text-typography,.w-button-small-tertiary-label-text{font-size:1rem;line-height:1.1666666667rem;font-weight:400}.caption,.w-input-error-alert-text,.w-input-warning-alert-text,.w-input-success-alert-text{font-size:.6666666667rem;line-height:1rem;font-weight:400}.light,.w-input-small-placeholder-text-only-color{font-size:.9166666667rem;line-height:1.0833333333rem;font-weight:300}.small,.w-button-small-label-text-typography-sm{font-size:.8333333333rem;line-height:1rem;font-weight:400}.textMainColor{color:#1f2224}.textSoftColor{color:#5f6468}.textSofterColor{color:#9aa0a7}.textSoftestColor{color:#e8ebee}.textInverseColor{color:#fff}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXSMDivider{height:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.panel-title-gap-divider{height:20px}.panel-section-gap-divider{height:32px}.input-vertical-gap-divider{height:24px}.input-label-gap-divider{height:6px}.focusedInput{border:1px solid rgba(0,157,253,.25);box-shadow:0 0 10px #00b3eb40}.focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:1px solid #00b3eb}.hoveredInput{border-radius:8px;border:1px solid rgba(0,179,235,.5)}.input-generic-valid{border-radius:8px;border:1px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:1px solid #B3FFD3!important;box-shadow:0 0 8px #46ff9b80!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:1px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:1px solid #FFECB8!important;box-shadow:0 0 8px #ffcd4680!important;padding-left:16px}.input-generic-error-focus{border-radius:8px;border:1px solid #FFBDBD!important;box-shadow:0 0 8px #ff555580!important;padding-left:16px}.input-generic-error{border-radius:8px;border:1px solid #FFBDBD}.toggle-small-typography{font-size:12px;line-height:16px;font-weight:600}.w-button-small-label-text-typography,.w-button-small-tertiary-label-text,.w-button-small-label-text-typography-sm{font-weight:600}.w-button-small-tertiary-label-text{color:#5f6468}.w-button-small-text-label-text{color:#1f2224}.w-button-small-icon-text{font-size:12px;font-weight:600}.w-table-button-small-icon-text{font-size:12px;color:#9aa0a7}.w-control-button-small-label-text{font-size:12px;font-weight:600;line-height:16px}.w-control-button-x-small-icon-text{font-size:10px;font-weight:700}.w-control-button-small-icon-text{font-size:8px;font-weight:700}.w-button-medium-label-text-typography,.w-button-medium-tertiary-label-text{font-size:16px;font-weight:600;line-height:16px}.w-button-medium-tertiary-label-text{color:#1f2224}.w-button-medium-icon-text{font-size:16px}.w-control-button-medium-label-text{font-size:14px;font-weight:600;line-height:16px}.w-control-button-medium-icon-text{font-size:12px;font-weight:700}.w-button-large-label-text-typography,.w-button-large-tertiary-label-text{font-size:20px;font-weight:600;line-height:24px}.w-button-large-tertiary-label-text{color:#1f2224}.w-button-x-small-label-text{font-size:10px;font-weight:600;line-height:10px}.w-button-small-only-label-text{font-size:12px;font-weight:600;line-height:16px}.w-button-large-icon-text{font-size:24px}.w-view-small-label-text{color:#1f2224}.w-view-small-value-text{color:#5f6468}.w-input-no-label-height{height:14px}.w-input-disabled{background-color:#f1f3f4;border-color:#e8ebee;opacity:1}.w-input-small-label-text-typography,.w-input-label-small-label,.w-input-small-label-text,.w-input-small-label-disabled,.w-input-label-small-label-disabled{height:-moz-fit-content;height:fit-content}.w-input-small-label-text,.w-input-small-label-disabled,.w-input-label-small-label-disabled{color:#1f2224}.w-input-small-label-disabled,.w-input-label-small-label-disabled{color:#9aa0a7}.w-input-small-label-text-content{padding:12px 8px 8px 0;margin:0}.w-input-small-label-text-content-no-top{padding-top:0}.w-input-small-placeholder-text{color:#1f2224}.w-input-small-placeholder-text-only-color{color:#9aa0a7;line-height:1.3333333333rem}.w-input-small-placeholder-text-disabled,.w-input-small-placeholder-text-disabled-only-color{color:#5f6468}.w-input-small-text-icon,.w-input-small-select-options-text{color:#1f2224}.w-input-medium-label-text-typography,.w-input-label-medium-label,.w-input-medium-label-text,.w-input-medium-label-disabled,.w-input-label-medium-label-disabled{font-size:14px;font-weight:600;line-height:16px}.w-input-medium-label-text,.w-input-medium-label-disabled,.w-input-label-medium-label-disabled{color:#1f2224}.w-input-medium-label-disabled,.w-input-label-medium-label-disabled{color:#9aa0a7}.w-input-medium-placeholder-text-typography,.w-input-medium-placeholder-text-disabled,.w-input-medium-placeholder-text{font-size:16px;font-weight:400;line-height:24px}.w-input-medium-placeholder-text,.w-input-medium-placeholder-text-only-color{color:#1f2224}.w-input-medium-placeholder-text-disabled,.w-input-medium-placeholder-text-disabled-only-color{color:#5f6468}.w-input-medium-text-icon{color:#1f2224}.w-input-medium-select-options-text{font-size:16px;font-weight:400;line-height:24px;color:#1f2224}.w-input-success-alert-text{color:#00db5d;padding:8px 8px 0;margin-top:0}.w-input-warning-alert-text{color:#eeae00;padding:8px 8px 0;margin-top:0}.w-input-error-alert-text{color:#e50000;padding:8px 8px 0;margin-top:0}.w-input-alert-message-height{height:32px}.w-sidebar-title-text,.w-panel-title-text,.w-panel-subtitle-text{color:#1f2224}.w-panel-content{color:#5f6468}.w-tab-text,.w-chip-text{color:#1f2224}.w-badge-text{font-size:10px;font-weight:700;line-height:8px}.w-table-th-text{color:#1f2224}.w-table-td-text{color:#5f6468}.w-table-height{padding:6px 8px 5px}.w-table-no-buttons-height{padding:16px 8px 15px!important}.w-tree-table-height{padding:8px 8px 7px}.w-image-file-uploader-navigators-text{font-size:12px;color:#fff}.grid{margin:0}::ng-deep .p-tooltip,.p-tooltip{filter:0px 0px 1px 0px rgba(0,0,0,.1) inset,1px 1px 5px rgba(0,0,0,.06),1px 1px 1px rgba(0,0,0,.08)}::ng-deep .p-tooltip .p-tooltip-text,.p-tooltip .p-tooltip-text{background:#ffffff!important;color:#1f2224;padding:12px 16px;max-width:192px;width:max-content;margin-left:3px}::ng-deep .p-tooltip.p-tooltip-right,.p-tooltip.p-tooltip-right{margin-left:6px;width:max-content;transform:translateY(-1px)}::ng-deep .p-tooltip.p-tooltip-right .p-tooltip-arrow,.p-tooltip.p-tooltip-right .p-tooltip-arrow{border-right-color:#fff!important;top:50%;left:0;margin-top:-4px;border-width:4px 6px 4px 0!important}::ng-deep .p-tooltip.p-tooltip-bottom .p-tooltip-arrow,.p-tooltip.p-tooltip-bottom .p-tooltip-arrow{border-bottom-color:#fff!important;border-width:0 4px 6px 4px!important;margin-top:-3px}.w-input-label{gap:6px}.w-input-label-icon-help-container{height:14px;display:flex;align-items:center;transform:translateY(1px)}.w-input-label-icon-help-container:hover .w-input-label-icon-help path{fill:#00b3eb}.w-input-label-small-label,.w-input-label-medium-label{color:#1f2224}.required-symbol{font-weight:300}\n"] }]
26
26
  }], propDecorators: { label: [{
27
27
  type: Input,
28
28
  args: ['label']
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
39
39
  type: Input,
40
40
  args: ['size']
41
41
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy1pbnB1dC1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93YXBwLWNvbXBvbmVudHMvc3JjL2xpYi92aWV3L3ctaW5wdXQtbGFiZWwvdy1pbnB1dC1sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93YXBwLWNvbXBvbmVudHMvc3JjL2xpYi92aWV3L3ctaW5wdXQtbGFiZWwvdy1pbnB1dC1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFPbkQsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU9xQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFOUIsU0FBSSxHQUFXLE9BQU8sQ0FBQztLQVl2QztJQVZDLFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7O2lIQWhCVSxvQkFBb0I7cUdBQXBCLG9CQUFvQiwrSkNSakMsbzREQWlCQTsyRkRUYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsZUFBZTs4QkFLVCxLQUFLO3NCQUFwQixLQUFLO3VCQUFDLE9BQU87Z0JBQ0ssUUFBUTtzQkFBMUIsS0FBSzt1QkFBQyxVQUFVO2dCQUNFLFFBQVE7c0JBQTFCLEtBQUs7dUJBQUMsVUFBVTtnQkFDQyxPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVM7Z0JBQ0QsSUFBSTtzQkFBbEIsS0FBSzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpemVUeXBlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2VudW1zL2VudW0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3LWlucHV0LWxhYmVsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdy1pbnB1dC1sYWJlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdy1pbnB1dC1sYWJlbC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXSW5wdXRMYWJlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCdsYWJlbCcpIGxhYmVsITogc3RyaW5nOyBcclxuICBASW5wdXQoJ2Rpc2FibGVkJykgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoJ3JlcXVpcmVkJykgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTsgXHJcbiAgQElucHV0KCd0b29sdGlwJykgdG9vbHRpcCE6IHN0cmluZzsgXHJcbiAgQElucHV0KCdzaXplJykgc2l6ZTogc3RyaW5nID0gXCJzbWFsbFwiOyBcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBnZXRTaXplTmFtZSh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBTaXplVHlwZVt2YWx1ZV07XHJcbiAgfVxyXG5cclxuICBnZXQgc2l6ZVR5cGUoKTogdHlwZW9mIFNpemVUeXBlIHtcclxuICAgIHJldHVybiBTaXplVHlwZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cImxhYmVsICE9IHVuZGVmaW5lZCAmJiBsYWJlbC5sZW5ndGggPiAwXCIgY2xhc3M9XCJ3LWlucHV0LWxhYmVsIGZsZXhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J3ctaW5wdXQtbGFiZWwtc21hbGwtbGFiZWwnOiBnZXRTaXplTmFtZShzaXplVHlwZS5zbWFsbCkgPT0gc2l6ZSAmJiAhZGlzYWJsZWQsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgJ3ctaW5wdXQtbGFiZWwtc21hbGwtbGFiZWwtZGlzYWJsZWQnOiBnZXRTaXplTmFtZShzaXplVHlwZS5zbWFsbCkgPT0gc2l6ZSAmJiBkaXNhYmxlZCwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAndy1pbnB1dC1sYWJlbC1tZWRpdW0tbGFiZWwnOiBnZXRTaXplTmFtZShzaXplVHlwZS5tZWRpdW0pID09IHNpemUgJiYgIWRpc2FibGVkLCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICd3LWlucHV0LWxhYmVsLW1lZGl1bS1sYWJlbC1kaXNhYmxlZCc6IGdldFNpemVOYW1lKHNpemVUeXBlLm1lZGl1bSkgPT0gc2l6ZSAmJiBkaXNhYmxlZH1cIj5cclxuICAgICAgICAgICAge3tsYWJlbH19XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwicmVxdWlyZWQgJiYgIWRpc2FibGVkIFwiIGNsYXNzPVwicmVxdWlyZWQtc3ltYm9sXCI+Kjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInRvb2x0aXBcIiBbcFRvb2x0aXBdPVwidG9vbHRpcFwiIHRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCIgW2F1dG9IaWRlXT1cImZhbHNlXCIgPVwidy1pbnB1dC1sYWJlbC1pY29uLWhlbHAtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPHN2ZyBjbGFzcz1cInctaW5wdXQtbGFiZWwtaWNvbi1oZWxwXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICA8cGF0aCBpZD1cIlZlY3RvclwiIGQ9XCJNNiAwQzIuNyAwIDAgMi43IDAgNkMwIDkuMyAyLjcgMTIgNiAxMkM5LjMgMTIgMTIgOS4zIDEyIDZDMTIgMi43IDkuMyAwIDYgMFpNNiA5Ljc1QzUuNTg2IDkuNzUgNS4yNSA5LjQxNCA1LjI1IDlDNS4yNSA4LjU4NiA1LjU4NiA4LjI1IDYgOC4yNUM2LjQxNCA4LjI1IDYuNzUgOC41ODYgNi43NSA5QzYuNzUgOS40MTQgNi40MTQgOS43NSA2IDkuNzVaTTcuMjE3MjUgNi4wNjlDNi44NDQ1IDYuMzg5MjUgNi43NSA2LjQ5NzI1IDYuNzUgNi43NUM2Ljc1IDcuMTY0NzUgNi40MTQgNy41IDYgNy41QzUuNTg2IDcuNSA1LjI1IDcuMTY0NzUgNS4yNSA2Ljc1QzUuMjUgNS43Nzk1IDUuODQ2MjUgNS4yNjggNi4yNDE1IDQuOTI5NzVDNi42MTQyNSA0LjYxMSA2LjcwODc1IDQuNTAyMjUgNi43MDg3NSA0LjI1MDI1QzYuNzA4NzUgNC4xMTMgNi43MDg3NSAzLjc1IDYuMDAwNzUgMy43NUM1LjY3Mzc1IDMuNzY4IDUuMzI1IDMuOTE4IDUuMDU3MjUgNC4xNzA3NUM0Ljc1NjUgNC40NTQyNSA0LjI4MSA0LjQ0IDMuOTk2NzUgNC4xNEMzLjcxMjUgMy44Mzg1IDMuNzI2IDMuMzYzNzUgNC4wMjc1IDMuMDc5NUM0LjU1NCAyLjU4Mzc1IDUuMjQwMjUgMi4yODkgNS45NjE3NSAyLjI1MTVINS45NjRDNy4zMjMgMi4yNTE1IDguMjA4NzUgMy4wNTQ3NSA4LjIwODc1IDQuMjUxQzguMjA4NzUgNS4yMjA3NSA3LjYxMjUgNS43MzIyNSA3LjIxOCA2LjA2OTc1TDcuMjE3MjUgNi4wNjlaXCIgZmlsbD1cIiM5QUEwQTZcIi8+XHJcbiAgICAgICAgPC9zdmc+ICAgIFxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwibGFiZWwgIT0gdW5kZWZpbmVkICYmIGxhYmVsID09ICcnXCIgY2xhc3M9XCJ3LWlucHV0LW5vLWxhYmVsLWhlaWdodFwiPjwvZGl2PlxyXG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy1pbnB1dC1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93YXBwLWNvbXBvbmVudHMvc3JjL2xpYi92aWV3L3ctaW5wdXQtbGFiZWwvdy1pbnB1dC1sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93YXBwLWNvbXBvbmVudHMvc3JjL2xpYi92aWV3L3ctaW5wdXQtbGFiZWwvdy1pbnB1dC1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFPbkQsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU9xQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFOUIsU0FBSSxHQUFXLE9BQU8sQ0FBQztLQVl2QztJQVZDLFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7O2lIQWhCVSxvQkFBb0I7cUdBQXBCLG9CQUFvQiwrSkNSakMsbzNEQWlCQTsyRkRUYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsZUFBZTs4QkFLVCxLQUFLO3NCQUFwQixLQUFLO3VCQUFDLE9BQU87Z0JBQ0ssUUFBUTtzQkFBMUIsS0FBSzt1QkFBQyxVQUFVO2dCQUNFLFFBQVE7c0JBQTFCLEtBQUs7dUJBQUMsVUFBVTtnQkFDQyxPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVM7Z0JBQ0QsSUFBSTtzQkFBbEIsS0FBSzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpemVUeXBlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2VudW1zL2VudW0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3LWlucHV0LWxhYmVsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdy1pbnB1dC1sYWJlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdy1pbnB1dC1sYWJlbC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXSW5wdXRMYWJlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCdsYWJlbCcpIGxhYmVsITogc3RyaW5nOyBcclxuICBASW5wdXQoJ2Rpc2FibGVkJykgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoJ3JlcXVpcmVkJykgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTsgXHJcbiAgQElucHV0KCd0b29sdGlwJykgdG9vbHRpcCE6IHN0cmluZzsgXHJcbiAgQElucHV0KCdzaXplJykgc2l6ZTogc3RyaW5nID0gXCJzbWFsbFwiOyBcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBnZXRTaXplTmFtZSh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBTaXplVHlwZVt2YWx1ZV07XHJcbiAgfVxyXG5cclxuICBnZXQgc2l6ZVR5cGUoKTogdHlwZW9mIFNpemVUeXBlIHtcclxuICAgIHJldHVybiBTaXplVHlwZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cImxhYmVsICE9IHVuZGVmaW5lZCAmJiBsYWJlbC5sZW5ndGggPiAwXCIgY2xhc3M9XCJ3LWlucHV0LWxhYmVsIGZsZXhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J3ctaW5wdXQtbGFiZWwtc21hbGwtbGFiZWwnOiBnZXRTaXplTmFtZShzaXplVHlwZS5zbWFsbCkgPT0gc2l6ZSAmJiAhZGlzYWJsZWQsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgJ3ctaW5wdXQtbGFiZWwtc21hbGwtbGFiZWwtZGlzYWJsZWQnOiBnZXRTaXplTmFtZShzaXplVHlwZS5zbWFsbCkgPT0gc2l6ZSAmJiBkaXNhYmxlZCwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAndy1pbnB1dC1sYWJlbC1tZWRpdW0tbGFiZWwnOiBnZXRTaXplTmFtZShzaXplVHlwZS5tZWRpdW0pID09IHNpemUgJiYgIWRpc2FibGVkLCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICd3LWlucHV0LWxhYmVsLW1lZGl1bS1sYWJlbC1kaXNhYmxlZCc6IGdldFNpemVOYW1lKHNpemVUeXBlLm1lZGl1bSkgPT0gc2l6ZSAmJiBkaXNhYmxlZH1cIj5cclxuICAgICAgICAgICAge3tsYWJlbH19XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwicmVxdWlyZWQgJiYgIWRpc2FibGVkIFwiIGNsYXNzPVwicmVxdWlyZWQtc3ltYm9sXCI+Kjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInRvb2x0aXBcIiBbcFRvb2x0aXBdPVwidG9vbHRpcFwiIHRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCIgY2xhc3M9XCJ3LWlucHV0LWxhYmVsLWljb24taGVscC1jb250YWluZXJcIj5cclxuICAgICAgICA8c3ZnIGNsYXNzPVwidy1pbnB1dC1sYWJlbC1pY29uLWhlbHBcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIGlkPVwiVmVjdG9yXCIgZD1cIk02IDBDMi43IDAgMCAyLjcgMCA2QzAgOS4zIDIuNyAxMiA2IDEyQzkuMyAxMiAxMiA5LjMgMTIgNkMxMiAyLjcgOS4zIDAgNiAwWk02IDkuNzVDNS41ODYgOS43NSA1LjI1IDkuNDE0IDUuMjUgOUM1LjI1IDguNTg2IDUuNTg2IDguMjUgNiA4LjI1QzYuNDE0IDguMjUgNi43NSA4LjU4NiA2Ljc1IDlDNi43NSA5LjQxNCA2LjQxNCA5Ljc1IDYgOS43NVpNNy4yMTcyNSA2LjA2OUM2Ljg0NDUgNi4zODkyNSA2Ljc1IDYuNDk3MjUgNi43NSA2Ljc1QzYuNzUgNy4xNjQ3NSA2LjQxNCA3LjUgNiA3LjVDNS41ODYgNy41IDUuMjUgNy4xNjQ3NSA1LjI1IDYuNzVDNS4yNSA1Ljc3OTUgNS44NDYyNSA1LjI2OCA2LjI0MTUgNC45Mjk3NUM2LjYxNDI1IDQuNjExIDYuNzA4NzUgNC41MDIyNSA2LjcwODc1IDQuMjUwMjVDNi43MDg3NSA0LjExMyA2LjcwODc1IDMuNzUgNi4wMDA3NSAzLjc1QzUuNjczNzUgMy43NjggNS4zMjUgMy45MTggNS4wNTcyNSA0LjE3MDc1QzQuNzU2NSA0LjQ1NDI1IDQuMjgxIDQuNDQgMy45OTY3NSA0LjE0QzMuNzEyNSAzLjgzODUgMy43MjYgMy4zNjM3NSA0LjAyNzUgMy4wNzk1QzQuNTU0IDIuNTgzNzUgNS4yNDAyNSAyLjI4OSA1Ljk2MTc1IDIuMjUxNUg1Ljk2NEM3LjMyMyAyLjI1MTUgOC4yMDg3NSAzLjA1NDc1IDguMjA4NzUgNC4yNTFDOC4yMDg3NSA1LjIyMDc1IDcuNjEyNSA1LjczMjI1IDcuMjE4IDYuMDY5NzVMNy4yMTcyNSA2LjA2OVpcIiBmaWxsPVwiIzlBQTBBNlwiLz5cclxuICAgICAgICA8L3N2Zz4gICAgXHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJsYWJlbCAhPSB1bmRlZmluZWQgJiYgbGFiZWwgPT0gJydcIiBjbGFzcz1cInctaW5wdXQtbm8tbGFiZWwtaGVpZ2h0XCI+PC9kaXY+XHJcbiJdfQ==