@eui/components 18.2.11-snapshot-1741271032186 → 18.2.11-snapshot-1741683119621

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.
@@ -148,6 +148,7 @@ export class EuiEditorComponent {
148
148
  },
149
149
  ];
150
150
  this.destroy$ = new Subject();
151
+ this._internalChange = false; // Add this property to the class
151
152
  this.onChange = () => { };
152
153
  this.onTouch = () => { };
153
154
  this.ngControl.valueAccessor = this;
@@ -299,20 +300,29 @@ export class EuiEditorComponent {
299
300
  if (this.format === 'html') {
300
301
  this.value = event.html;
301
302
  this.calculateCounters(this.value);
302
- this.onChange(this.htmlEntitiesDecode(this.value));
303
+ // Only call onChange if it's not an internal change
304
+ if (!this._internalChange) {
305
+ this.onChange(this.htmlEntitiesDecode(this.value));
306
+ }
303
307
  }
304
308
  if (this.format === 'json') {
305
309
  if (event.text !== '\n') {
306
310
  this.value = event.content;
307
311
  this.calculateCounters(event.text);
308
312
  this.jsonToHtmlContent = this.htmlEntitiesDecode(JSON.stringify(this.value));
309
- this.onChange(this.jsonToHtmlContent);
313
+ // Only call onChange if it's not an internal change
314
+ if (!this._internalChange) {
315
+ this.onChange(this.jsonToHtmlContent);
316
+ }
310
317
  }
311
318
  else {
312
319
  this.value = null;
313
320
  this.calculateCounters('');
314
321
  this.jsonToHtmlContent = '';
315
- this.onChange(null);
322
+ // Only call onChange if it's not an internal change
323
+ if (!this._internalChange) {
324
+ this.onChange(null);
325
+ }
316
326
  }
317
327
  }
318
328
  this.contentChange.emit(event); // New emitter
@@ -337,22 +347,28 @@ export class EuiEditorComponent {
337
347
  this.onTouch = fn;
338
348
  }
339
349
  writeValue(value) {
350
+ // Store the value
340
351
  this.value = value || null;
341
352
  this.jsonToHtmlContent = this.value;
342
- setTimeout(() => {
343
- if (this.quill) {
344
- if (this.format === 'html') {
345
- const delta = this.quill.clipboard.convert({ html: this.value });
346
- this.formControl.patchValue(delta);
347
- this.quill.setContents(delta);
348
- }
349
- if (this.format === 'json') {
350
- this.formControl.patchValue(this.value);
351
- // this.quill.setContents(JSON.parse(this.value));
352
- }
353
- this.calculateCounters(this.value);
353
+ // Skip triggering onChange during writeValue operations
354
+ if (this.quill) {
355
+ // Use a flag to prevent triggering onChange in _onContentChanged
356
+ this._internalChange = true;
357
+ if (this.format === 'html') {
358
+ const delta = this.quill.clipboard.convert({ html: this.value });
359
+ this.formControl.patchValue(delta, { emitEvent: false });
360
+ this.quill.setContents(delta);
354
361
  }
355
- });
362
+ if (this.format === 'json' && this.value) {
363
+ this.formControl.patchValue(this.value, { emitEvent: false });
364
+ // this.quill.setContents(JSON.parse(this.value));
365
+ }
366
+ this.calculateCounters(this.value);
367
+ // Reset the flag after a short delay to allow Quill to complete its operations
368
+ setTimeout(() => {
369
+ this._internalChange = false;
370
+ });
371
+ }
356
372
  }
357
373
  get tableModule() {
358
374
  return this.quill.getModule('better-table');
@@ -540,4 +556,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
540
556
  type: Pipe,
541
557
  args: [{ name: 'classFilter' }]
542
558
  }] });
543
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9leHRlcm5hbHMvZXVpLWVkaXRvci9ldWktZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2V4dGVybmFscy9ldWktZWRpdG9yL2V1aS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFFWCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFFVixZQUFZLEVBQ1osSUFBSSxHQUlQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBR3pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUc1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUcvRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFUOUYsMEdBQTBHO0FBQzFHLE1BQU0sU0FBUyxHQUFRLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQVN2Qyx3Q0FBd0M7QUFDeEMsSUFBSSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQWNsRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLElBQ0ksS0FBSztRQUNMLE9BQU87WUFDSCxZQUFZO1lBQ1osSUFBSSxDQUFDLFVBQVUs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RUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUU7K0VBRXZCLFlBQVk7c0JBQWpDLFdBQVc7dUJBQUMsT0FBTzs7QUFJeEIsbUJBQW1CO0FBRW5COztHQUVHO0FBRUgsTUFBTSxPQUFPLGVBQWU7SUFDeEIsU0FBUyxDQUFDLEtBQWE7UUFDbkIsT0FBTyxLQUFLO2FBQ1AsT0FBTyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQzthQUNsQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxDQUFDO2FBQ3BDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDOytHQU5RLGVBQWU7NkdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgRGlyZWN0aXZlLFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIFBpcGUsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbnRlbnRDaGFuZ2UsIFF1aWxsTW9kdWxlcyB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9leHRlcm5hbHMvcXVpbGwnO1xuXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uLG5vLXVuZGVyc2NvcmUtZGFuZ2xlLGlkLWRlbnlsaXN0LGlkLW1hdGNoXG5jb25zdCBRdWlsbFR5cGU6IGFueSA9IHdpbmRvd1snUXVpbGwnXTtcbmltcG9ydCB7IHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IERlbHRhIGZyb20gJ3F1aWxsLWRlbHRhJztcblxuaW1wb3J0IHsgRXVpRGlhbG9nQ29uZmlnLCBFdWlEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1kaWFsb2cnO1xuXG5pbXBvcnQgeyBMb2FkZXJTZXJ2aWNlLCBCZXR0ZXJUYWJsZU1vZHVsZSwgQmx1ciwgRWRpdG9yQ2hhbmdlU2VsZWN0aW9uLCBGb2N1cywgU2VsZWN0aW9uQ2hhbmdlLCBUb29sYmFySXRlbUNvbmZpZyB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9leHRlcm5hbHMvcXVpbGwnO1xuaW1wb3J0IHsgRXVpRWRpdG9ySW1hZ2VEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlLXVybC1kaWFsb2cvaW1hZ2UtdXJsLWRpYWxvZy5jb21wb25lbnQnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxubGV0IFF1aWxsQmV0dGVyVGFibGUgPSB3aW5kb3dbJ3F1aWxsQmV0dGVyVGFibGUnXTtcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgc2VsZWN0b3I6ICdldWktZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgLy8gVE9ETzogQ2hlY2sgdG8gY2hhbmdlIHRoZSBwcm92aWRpbmcgd2F5LiBQcm92aWRlIHdpdGggaW5qZWN0b3IgcmVmZXJlbmNlXG4gICAgICAgIEV1aURpYWxvZ1NlcnZpY2UsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjbGFzcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgJ2V1aS1lZGl0b3InLFxuICAgICAgICAgICAgdGhpcy5pc1JlYWRPbmx5ID8gJ2V1aS1lZGl0b3ItLXJlYWRvbmx5JyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5pc1JlYWRPbmx5ICYmIHRoaXMudmFsdWUgPyAnJzogJ2V1aS1lZGl0b3ItLWVtcHR5JyxcbiAgICAgICAgICAgICF0aGlzLmlzUmVhZE9ubHkgPyAnZXVpLWVkaXRvci13cmFwcGVyJyA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIGUyZUF0dHIgPSAnZXVpLWVkaXRvcic7XG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuICAgIEBJbnB1dCgpIGZvcm1hdDogJ2h0bWwnIHwgJ2pzb24nID0gJ2h0bWwnO1xuICAgIEBJbnB1dCgpIHRoZW1lOiAnc25vdycgfCAnYnViYmxlJyA9ICdzbm93JztcbiAgICBASW5wdXQoKSBkZWJ1ZzogJ3dhcm4nIHwgJ2xvZycgfCAnZXJyb3InIHwgZmFsc2UgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBjdXN0b21Ub29sYmFyUG9zaXRpb246ICd0b3AnIHwgJ2JvdHRvbScgPSAndG9wJztcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICAgIEBJbnB1dCgpIHRhYmluZGV4ID0gJzAnO1xuICAgIEBJbnB1dCgpIG1vZHVsZXM6IFF1aWxsTW9kdWxlcztcbiAgICBASW5wdXQoKSBmb3JtYXRzPzogc3RyaW5nW10gfCBudWxsO1xuICAgIC8vIE5FVyBFVUkgSU5QVVRTXG4gICAgQElucHV0KCkgY3VzdG9tVG9vbGJhckNvbmZpZzogVG9vbGJhckl0ZW1Db25maWdbXTtcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpXG4gICAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmc7XG4gICAgLy8gTkVXIE9VVFBVVFMgPT4gZVVJMTMrIG9ubHlcbiAgICBAT3V0cHV0KCkgZWRpdG9yQ3JlYXRlID0gbmV3IEV2ZW50RW1pdHRlcjx0eXBlb2YgUXVpbGxUeXBlPigpO1xuICAgIEBPdXRwdXQoKSBlZGl0b3JDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEVkaXRvckNoYW5nZVNlbGVjdGlvbiB8IENvbnRlbnRDaGFuZ2U+KCk7XG4gICAgQE91dHB1dCgpIGNvbnRlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvbnRlbnRDaGFuZ2U+KCk7XG4gICAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0aW9uQ2hhbmdlPigpO1xuICAgIEBPdXRwdXQoKSBmb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXM+KCk7XG4gICAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEJsdXI+KCk7XG4gICAgQE91dHB1dCgpIGNoYXJhY3RlcnNDb3VudENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICAgIEBPdXRwdXQoKSB3b3Jkc0NvdW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmV1aS1lZGl0b3InKSB0cnVlOiBib29sZWFuO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJlYWRvbmx5JylcbiAgICBnZXQgcmVhZG9ubHkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNSZWFkT25seSA/ICdyZWFkb25seScgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyB2YWx1ZTogc3RyaW5nIHwgYW55ID0gJyc7XG4gICAgcHVibGljIGNoYXJhY3RlcnNDb3VudCA9IDA7XG4gICAgcHVibGljIHdvcmRzQ291bnQgPSAwO1xuICAgIHB1YmxpYyBieXRlc0NvdW50ID0gMDtcbiAgICBwdWJsaWMgaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgcHVibGljIGdlbmVyYXRlZElkOiBzdHJpbmc7XG4gICAgcHVibGljIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICAgIHB1YmxpYyBqc29uVG9IdG1sQ29udGVudDogc3RyaW5nO1xuICAgIHB1YmxpYyB0b29sYmFyQ29uZmlnOiB7IFtpZDogc3RyaW5nXTogeyBsYWJlbDogc3RyaW5nOyBvcHRpb25zOiBhbnlbXTsgZGlhbG9nTWVzc2FnZTogc3RyaW5nIH0gfTtcbiAgICBwcm90ZWN0ZWQgcmVhZHlUb1JlbmRlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gRXVpRWRpdG9yQ3VzdG9tVG9vbGJhclRhZ0RpcmVjdGl2ZSksIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIGV1aUVkaXRvckN1c3RvbVRvb2xiYXI6IEV1aUVkaXRvckN1c3RvbVRvb2xiYXJUYWdEaXJlY3RpdmU7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBpc1JlYWRPbmx5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNSZWFkT25seTtcbiAgICB9XG4gICAgc2V0IGlzUmVhZE9ubHkodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc1JlYWRPbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaXNSZWFkT25seSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHNob3dDb3VudGVycygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dDb3VudGVycztcbiAgICB9XG4gICAgc2V0IHNob3dDb3VudGVycyh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX3Nob3dDb3VudGVycyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX3Nob3dDb3VudGVycyA9IHRydWU7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNFbmFibGVkT25Gb2N1cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRW5hYmxlZE9uRm9jdXM7XG4gICAgfVxuICAgIHNldCBpc0VuYWJsZWRPbkZvY3VzKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2lzRW5hYmxlZE9uRm9jdXMgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc0VuYWJsZWRPbkZvY3VzID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNNaW5pbWFsVG9vbGJhcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzTWluaW1hbFRvb2xiYXI7XG4gICAgfVxuICAgIHNldCBpc01pbmltYWxUb29sYmFyKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNNaW5pbWFsVG9vbGJhciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzTWluaW1hbFRvb2xiYXIgPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWludmFsaWQnKVxuICAgIGdldCBpc0ludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0ludmFsaWQ7XG4gICAgfVxuICAgIHNldCBpc0ludmFsaWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc0ludmFsaWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc0ludmFsaWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcXVpbGw6IHR5cGVvZiBRdWlsbFR5cGU7XG4gICAgcHJpdmF0ZSBtaW5pbWFsVG9vbGJhckNvbmZpZzogVG9vbGJhckl0ZW1Db25maWdbXSA9IFtcbiAgICAgICAgeyBuYW1lOiAnaGVhZGluZ3MnIH0sXG4gICAgICAgIHsgbmFtZTogJ2JvbGQnIH0sXG4gICAgICAgIHsgbmFtZTogJ2l0YWxpYycgfSxcbiAgICAgICAgeyBuYW1lOiAndW5kZXJsaW5lJyB9LFxuICAgICAgICB7IG5hbWU6ICdmb250Q29sb3InIH0sXG4gICAgICAgIHsgbmFtZTogJ3RleHRBbGlnbicgfSxcbiAgICAgICAgeyBuYW1lOiAnbGluaycgfSxcbiAgICAgICAgeyBuYW1lOiAnaW1hZ2UnIH0sXG4gICAgICAgIHsgbmFtZTogJ2ltYWdlVXJsJyB9LFxuICAgICAgICB7IG5hbWU6ICdjbGVhbicgfSxcbiAgICAgICAgeyBuYW1lOiAnZGVsZXRlJyB9LFxuICAgICAgICB7IG5hbWU6ICd1bmRvJyB9LFxuICAgICAgICB7IG5hbWU6ICdyZWRvJyB9LFxuICAgICAgICB7IG5hbWU6ICdjb3VudGVycycgfSxcbiAgICBdO1xuICAgIHByaXZhdGUgZGVmYXVsdFRvb2xiYXJDb25maWc6IFRvb2xiYXJJdGVtQ29uZmlnW10gPSBbXG4gICAgICAgIHsgbmFtZTogJ2hlYWRpbmdzJywgbGFiZWw6ICdTdHlsZSAtIEFwcGx5IGFuIEhUTUwgdGFnIG9yIENTUyBjbGFzcyB0byB0aGUgc2VsZWN0ZWQgdGV4dCcsIG9wdGlvbnM6IFsxLCAyLCAzLCA0LCA1LCA2XSB9LFxuICAgICAgICB7IG5hbWU6ICdmb250JywgbGFiZWw6ICdGb250IC0gQ2hhbmdlIHRoZSBmb250IGZhY2UnIH0sXG4gICAgICAgIHsgbmFtZTogJ2JvbGQnLCBsYWJlbDogJ0JvbGQgKEN0cmwgKyBCKSAtIE1ha2UgdGhlIHNlbGVjdGVkIHRleHQgYm9sZCcgfSxcbiAgICAgICAgeyBuYW1lOiAnaXRhbGljJywgbGFiZWw6ICdJdGFsaWMgKEN0cmwgKyBJKSAtIEl0YWxpY2l6ZSB0aGUgc2VsZWN0ZWQgdGV4dCcgfSxcbiAgICAgICAgeyBuYW1lOiAndW5kZXJsaW5lJywgbGFiZWw6ICdVbmRlcmxpbmUgKEN0cmwgKyBVKSAtIFVuZGVybGluZSB0aGUgc2VsZWN0ZWQgdGV4dCcgfSxcbiAgICAgICAgeyBuYW1lOiAnc3RyaWtlJywgbGFiZWw6ICdTdHJpa2V0aHJvdWdoIC0gRHJhdyBhIGxpbmUgdG8gdGhlIG1pZGRsZSBvZiB0aGUgc2VsZWN0ZWQgdGV4dCcgfSxcbiAgICAgICAgeyBuYW1lOiAnZm9udENvbG9yJywgbGFiZWw6ICdGb250IENvbG9yIC0gQ2hhbmdlIHRoZSB0ZXh0IGNvbG9yJyB9LFxuICAgICAgICB7IG5hbWU6ICdmb250QmFja2dyb3VuZCcsIGxhYmVsOiAnRm9udCBCYWNrZ3JvdW5kIC0gQ2hhbmdlIHRoZSB0ZXh0IGJhY2tncm91bmQgY29sb3InIH0sXG4gICAgICAgIHsgbmFtZTogJ3N1YnNjcmlwdCcsIGxhYmVsOiAnU3Vic2NyaXB0IC0gQ3JlYXRlIHNzbWFsbCBsZXR0ZXJzIGJlbG93IHRoZSB0ZXh0IGJhc2VsaW5lJyB9LFxuICAgICAgICB7IG5hbWU6ICdzdXBlcnNjcmlwdCcsIGxhYmVsOiAnU3VwZXJzY3JpcHQgLSBDcmVhdGUgc21hbGwgbGV0dGVycyBhYm92ZSB0aGUgbGluZSBvZiB0aGUgdGV4dCcgfSxcbiAgICAgICAgeyBuYW1lOiAndGV4dEFsaWduJywgbGFiZWw6ICdUZXh0IEFsaWduIC0gQWxpZ24gdGhlIHRleHQgdG8gdGhlIHNlbGVjdGVkIHBvc2l0aW9uOiBsZWZ0IChkZWZhdWx0KSwgY2VudGVyLCByaWdodCBvciBqdXN0aWZ5JyB9LFxuICAgICAgICB7IG5hbWU6ICdvcmRlcmVkTGlzdCcsIGxhYmVsOiAnTnVtYmVyaW5nIC0gU3RhcnQgYW4gb3JkZXJlZCBsaXN0JyB9LFxuICAgICAgICB7IG5hbWU6ICdidWxsZXRMaXN0JywgbGFiZWw6ICdCdWxsZXRzIC0gU3RhcnQgYSBidWxsZXRlZCBsaXN0JyB9LFxuICAgICAgICB7IG5hbWU6ICdpbmRlbnRMZXNzJywgbGFiZWw6ICdEZWNyZWFzZSBJbmRlbnQgLSBEZWNyZWFzZSB0aGUgaW5kZW50IGxldmVsIG9mIHRoZSBwYXJhZ3JhcGgnIH0sXG4gICAgICAgIHsgbmFtZTogJ2luZGVudE1vcmUnLCBsYWJlbDogJ0luY3JlYXNlIEluZGVudCAtIEluY3JlYXNlIHRoZSBpbmRlbnQgbGV2ZWwgb2YgdGhlIHBhcmFncmFwaCcgfSxcbiAgICAgICAgeyBuYW1lOiAnYmxvY2txdW90ZScsIGxhYmVsOiAnQmxvY2txdW90ZSAtIENyZWF0ZSBhIHF1b3RlZCBibG9jayBvZiB0aGUgc2VsZWN0ZWQgdGV4dCcgfSxcbiAgICAgICAgeyBuYW1lOiAnY29kZUJsb2NrJywgbGFiZWw6ICdJbnNlcnQgQ29kZSBCbG9jayAtIEluc2VydCBhIGNvZGUgYmxvY2sgYXQgdGhlIGN1cnNvciByb3cgcG9zaXRpb24nIH0sXG4gICAgICAgIHsgbmFtZTogJ2xpbmsnLCBsYWJlbDogJ0luc2VydCBIeXBlcmxpbmsgKEN0cmwgKyBLKSAtIENyZWF0ZSBhIGxpbmsgdG8gYSBXZWIgcGFnZSwgYSBwaWN0dXJlLCBhbiBlLW1haWwgYWRkcmVzcyBvciBhIHByb2dyYW0nIH0sXG4gICAgICAgIHsgbmFtZTogJ2ltYWdlJywgbGFiZWw6ICdJbnNlcnQgUGljdHVyZSAtIEluc2VydCBhIHBpY3R1cmUgZnJvbSBhIGZpbGUnIH0sXG4gICAgICAgIHsgbmFtZTogJ2ltYWdlVXJsJywgbGFiZWw6ICdJbnNlcnQgUGljdHVyZSBmcm9tIFVSTCAtIEluc2VydCBhIHBpY3R1cmUgZnJvbSBhIHJlbW90ZSBVUkwnLCBkaWFsb2dNZXNzYWdlOiAnRW50ZXIgaW1hZ2UgbGluayBVUkwnIH0sXG4gICAgICAgIHsgbmFtZTogJ3ZpZGVvJywgbGFiZWw6ICdJbnNlcnQgVmlkZW8gLSBJbnNlcnQgYSB2aWRlbyBmcm9tIGEgZmlsZScgfSxcbiAgICAgICAgeyBuYW1lOiAndGFibGUnLCBsYWJlbDogJ0luc2VydCBUYWJsZSAtIEluc2VydCBhIDN4MyByb3dzL2NvbHMgdGFibGUnIH0sXG4gICAgICAgIHsgbmFtZTogJ2NsZWFuJywgbGFiZWw6ICdSZW1vdmUgU3R5bGVzIC0gUmVtb3ZlIHRoZSBzdHlsZXMgb2YgdGhlIHNlbGVjdGVkIHRleHQnIH0sXG4gICAgICAgIHsgbmFtZTogJ2RlbGV0ZScsIGxhYmVsOiBcIkRlbGV0ZSBjb250ZW50IC0gUGVybWFuZW50bHkgZGVsZXRlcyBlZGl0b3IncyBjb250ZW50c1wiIH0sXG4gICAgICAgIHsgbmFtZTogJ3VuZG8nLCBsYWJlbDogJ1VuZG8gKEN0cmwgKyBaKSAtIENhbmNlbHMgdGhlIHByZXZpb3VzIGFjdGlvbicgfSxcbiAgICAgICAgeyBuYW1lOiAncmVkbycsIGxhYmVsOiAnUmVkbyAoQ3RybCArIFkpIC0gRG8gdGhlIG5leHQgaGlzdG9yeSBhY3Rpb24gYWdhaW4nIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdjb3VudGVycycsXG4gICAgICAgICAgICBsYWJlbDogJ0NvdW50ZXJzIC0gQ2hhcmFjdGVycyBhbmQgd29yZHMgY291bnRlcnMgKHN0cmlwcGVkIEh0bWwpJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7IG5hbWU6ICdjaGFyYWN0ZXJzJywgbGFiZWw6ICdDaGFyYWN0ZXJzJyB9LFxuICAgICAgICAgICAgICAgIHsgbmFtZTogJ3dvcmRzJywgbGFiZWw6ICdXb3JkcycgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgXTtcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZXVpRGlhbG9nU2VydmljZTogRXVpRGlhbG9nU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGxvYWRlcjogTG9hZGVyU2VydmljZSkge1xuICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmICghYy5pc1JlYWRPbmx5Py5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlQ291bnRlcnModGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkZXIubG9hZCgpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVhZHlUb1JlbmRlciA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLm5nQ29udHJvbC5jb250cm9sLnN0YXR1cyksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzdGF0dXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0ludmFsaWQgPSBzdGF0dXMgIT09ICdWQUxJRCc7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyYXRlZElkID0gdGhpcy5pZCA/IHRoaXMuaWQgOiAnZXVpLWVkaXRvci0nICsgKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDApICsgMSkudG9TdHJpbmcoKTtcblxuICAgICAgICAgICAgICAgIHRoaXMudG9vbGJhckNvbmZpZyA9IHt9O1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jdXN0b21Ub29sYmFyQ29uZmlnICYmICF0aGlzLmlzTWluaW1hbFRvb2xiYXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0VG9vbGJhckNvbmZpZy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvb2xiYXJDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy50b29sYmFyQ29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Lm5hbWVdOiB7IGxhYmVsOiB0LmxhYmVsLCBvcHRpb25zOiB0Lm9wdGlvbnMsIGRpYWxvZ01lc3NhZ2U6IHQuZGlhbG9nTWVzc2FnZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY3VzdG9tVG9vbGJhckNvbmZpZyAmJiAhdGhpcy5pc01pbmltYWxUb29sYmFyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tVG9vbGJhckNvbmZpZy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9ICF0LmxhYmVsID8gdGhpcy5kZWZhdWx0VG9vbGJhckNvbmZpZy5maW5kKChjKSA9PiBjLm5hbWUgPT09IHQubmFtZSkubGFiZWwgOiB0LmxhYmVsO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG9wdGlvbnMgPSAhdC5vcHRpb25zID8gdGhpcy5kZWZhdWx0VG9vbGJhckNvbmZpZy5maW5kKChjKSA9PiBjLm5hbWUgPT09IHQubmFtZSkub3B0aW9ucyA6IHQub3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGQgPSAhdC5kaWFsb2dNZXNzYWdlID8gdGhpcy5kZWZhdWx0VG9vbGJhckNvbmZpZy5maW5kKChjKSA9PiBjLm5hbWUgPT09IHQubmFtZSkuZGlhbG9nTWVzc2FnZSA6IHQuZGlhbG9nTWVzc2FnZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHQubmFtZSA9PT0gJ2NvdW50ZXJzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdC5vcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMgPSB0aGlzLmRlZmF1bHRUb29sYmFyQ29uZmlnLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdC5uYW1lKS5vcHRpb25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMgPSB0Lm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbkxhYmVsID0gb3B0aW9uLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBvcHRpb24ubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuZGVmYXVsdFRvb2xiYXJDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbmQoKGR0YykgPT4gZHRjLm5hbWUgPT09ICdjb3VudGVycycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5vcHRpb25zLmZpbmQoKG8pID0+IG8ubmFtZSA9PT0gb3B0aW9uLm5hbWUpLmxhYmVsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgbmFtZTogb3B0aW9uLm5hbWUsIGxhYmVsOiBvcHRpb25MYWJlbCB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9vbGJhckNvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnRvb2xiYXJDb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3QubmFtZV06IHsgbGFiZWwsIG9wdGlvbnMsIGRpYWxvZ01lc3NhZ2U6IGQgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTWluaW1hbFRvb2xiYXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5taW5pbWFsVG9vbGJhckNvbmZpZy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9ICF0LmxhYmVsID8gdGhpcy5kZWZhdWx0VG9vbGJhckNvbmZpZy5maW5kKChjKSA9PiBjLm5hbWUgPT09IHQubmFtZSkubGFiZWwgOiB0LmxhYmVsO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9ICF0Lm9wdGlvbnMgPyB0aGlzLmRlZmF1bHRUb29sYmFyQ29uZmlnLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdC5uYW1lKS5vcHRpb25zIDogdC5vcHRpb25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZCA9ICF0LmRpYWxvZ01lc3NhZ2UgPyB0aGlzLmRlZmF1bHRUb29sYmFyQ29uZmlnLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdC5uYW1lKS5kaWFsb2dNZXNzYWdlIDogdC5kaWFsb2dNZXNzYWdlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvb2xiYXJDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy50b29sYmFyQ29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0Lm5hbWVdOiB7IGxhYmVsLCBvcHRpb25zLCBkaWFsb2dNZXNzYWdlOiBkIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXNpbicpXG4gICAgcHVibGljIGVuYWJsZUVkaXRvck9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRW5hYmxlZE9uRm9jdXMgJiYgdGhpcy5pc1JlYWRPbmx5KSB7XG4gICAgICAgICAgICB0aGlzLmlzUmVhZE9ubHkgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpbWFnZVVybEhhbmRsZXIoKTogdm9pZCB7XG4gICAgICAgIGxldCBpbWFnZVVybERpYWxvZ0Zvcm06IEZvcm1Hcm91cCA9IG51bGw7XG4gICAgICAgIHRoaXMuZXVpRGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKFxuICAgICAgICAgICAgbmV3IEV1aURpYWxvZ0NvbmZpZyh7XG4gICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMudG9vbGJhckNvbmZpZy5pbWFnZVVybC5kaWFsb2dNZXNzYWdlLFxuICAgICAgICAgICAgICAgIGlzSGFuZGxlQ2xvc2VPbkFjY2VwdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBib2R5Q29tcG9uZW50OiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogRXVpRWRpdG9ySW1hZ2VEaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgb25Gb3JtVmFsdWVDaGFuZ2U6IChmb3JtOiBGb3JtR3JvdXApOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZVVybERpYWxvZ0Zvcm0gPSBmb3JtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGFjY2VwdDogKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW1hZ2VVcmxEaWFsb2dGb3JtICYmIGltYWdlVXJsRGlhbG9nRm9ybS52YWxpZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ldWlEaWFsb2dTZXJ2aWNlLmNsb3NlRGlhbG9nKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJhbmdlID0gdGhpcy5xdWlsbC5nZXRTZWxlY3Rpb24oKSB8fCB7IGluZGV4OiAwLCBsZW5ndGg6IDAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucXVpbGwuaW5zZXJ0RW1iZWQocmFuZ2UuaW5kZXgsICdpbWFnZScsIGltYWdlVXJsRGlhbG9nRm9ybS5nZXQoJ3VybCcpLnZhbHVlLCAndXNlcicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGVkaXRvclVuZG8oKTogdm9pZCB7XG4gICAgICAgIHRoaXMucXVpbGxbJ2hpc3RvcnknXS51bmRvKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGVkaXRvclJlZG8oKTogdm9pZCB7XG4gICAgICAgIHRoaXMucXVpbGxbJ2hpc3RvcnknXS5yZWRvKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGVkaXRvckRlbGV0ZUNvbnRlbnQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBFdWlEaWFsb2dDb25maWcoe1xuICAgICAgICAgICAgdGl0bGU6ICdEZWxldGUgY29udGVudCcsXG4gICAgICAgICAgICBjb250ZW50OiBcIjxwPkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgZWRpdG9yJ3MgY29udGVudD88L3A+XCIsXG4gICAgICAgICAgICBoYXNDbG9zZUJ1dHRvbjogZmFsc2UsXG4gICAgICAgICAgICBhY2NlcHQ6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnF1aWxsLnNldENvbnRlbnRzKG51bGwpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ldWlEaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coY29uZmlnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5zZXJ0VGFibGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFibGVNb2R1bGUuaW5zZXJ0VGFibGUoMywgMyk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0ltYWdlRmVhdHVyZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXVpRWRpdG9yQ3VzdG9tVG9vbGJhclxuICAgICAgICAgICAgPyB0aGlzLmV1aUVkaXRvckN1c3RvbVRvb2xiYXI/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucWwtaW1hZ2UnKVxuICAgICAgICAgICAgOiB0aGlzLnRvb2xiYXJDb25maWcuaW1hZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIF9vbkVkaXRvckNyZWF0ZWQocXVpbGw6IHR5cGVvZiBRdWlsbFR5cGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5xdWlsbCA9IHF1aWxsO1xuXG4gICAgICAgIGlmICh0aGlzLmlzRW5hYmxlZE9uRm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMucXVpbGwuZm9jdXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZvcm1hdCA9PT0gJ2h0bWwnKSB7XG4gICAgICAgICAgICBjb25zdCBkZWx0YSA9IHRoaXMucXVpbGwuY2xpcGJvYXJkLmNvbnZlcnQoeyBodG1sOiB0aGlzLnZhbHVlIGFzIHN0cmluZyB9KTtcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZShkZWx0YSk7XG4gICAgICAgICAgICB0aGlzLnF1aWxsLnNldENvbnRlbnRzKGRlbHRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZvcm1hdCA9PT0gJ2pzb24nKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnBhdGNoVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnF1aWxsLnNldENvbnRlbnRzKEpTT04ucGFyc2UodGhpcy52YWx1ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmhhc0ltYWdlRmVhdHVyZSkge1xuICAgICAgICAgICAgcXVpbGwuY2xpcGJvYXJkLmFkZE1hdGNoZXIoJ0lNRycsIChlbGVtZW50OiBFbGVtZW50LCBkZWx0YTogRGVsdGEpID0+IG5ldyBEZWx0YSgpLmluc2VydCgnJykpO1xuICAgICAgICAgICAgcXVpbGwuY2xpcGJvYXJkLmFkZE1hdGNoZXIoJ1BJQ1RVUkUnLCAoZWxlbWVudDogRWxlbWVudCwgZGVsdGE6IERlbHRhKSA9PiBuZXcgRGVsdGEoKS5pbnNlcnQoJycpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZWRpdG9yQ3JlYXRlLmVtaXQocXVpbGwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBfb25FZGl0b3JDaGFuZ2VkKGV2ZW50OiBFZGl0b3JDaGFuZ2VTZWxlY3Rpb24gfCBDb250ZW50Q2hhbmdlIHwgRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdvbkVkaXRvckNoYW5nZWQoKSBldmVudCBpcyBERVBSRUNBVEVEIHBsZWFzZSB1c2UgY29udGVudENoYW5nZSgpIGV2ZW50IGluc3RlYWQuJyk7XG4gICAgICAgIHRoaXMuZWRpdG9yQ2hhbmdlLmVtaXQoZXZlbnQgYXMgRWRpdG9yQ2hhbmdlU2VsZWN0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgX29uQ29udGVudENoYW5nZWQoZXZlbnQ6IENvbnRlbnRDaGFuZ2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAnaHRtbCcpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBldmVudC5odG1sO1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVDb3VudGVycyh0aGlzLnZhbHVlIGFzIHN0cmluZyk7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuaHRtbEVudGl0aWVzRGVjb2RlKHRoaXMudmFsdWUgYXMgc3RyaW5nKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAnanNvbicpIHtcbiAgICAgICAgICAgIGlmIChldmVudC50ZXh0ICE9PSAnXFxuJykge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBldmVudC5jb250ZW50O1xuICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlQ291bnRlcnMoZXZlbnQudGV4dCk7XG4gICAgICAgICAgICAgICAgdGhpcy5qc29uVG9IdG1sQ29udGVudCA9IHRoaXMuaHRtbEVudGl0aWVzRGVjb2RlKEpTT04uc3RyaW5naWZ5KHRoaXMudmFsdWUpKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuanNvblRvSHRtbENvbnRlbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUNvdW50ZXJzKCcnKTtcbiAgICAgICAgICAgICAgICB0aGlzLmpzb25Ub0h0bWxDb250ZW50ID0gJyc7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRlbnRDaGFuZ2UuZW1pdChldmVudCk7IC8vIE5ldyBlbWl0dGVyXG4gICAgICAgIHRoaXMuX29uRWRpdG9yQ2hhbmdlZChldmVudCk7IC8vIFN5bmMgd2l0aCBlZGl0b3IgY2hhbmdlIGV2ZW50IHNpbmNlIGl0J3MgZHVwbGljYXRlZCBldmVudFxuICAgIH1cblxuICAgIHB1YmxpYyBfb25TZWxlY3Rpb25DaGFuZ2VkKGV2ZW50OiBTZWxlY3Rpb25DaGFuZ2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIF9vbkZvY3VzKGV2ZW50OiBGb2N1cyk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZm9jdXMuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIF9vbkJsdXIoZXZlbnQ6IEJsdXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vblRvdWNoKCk7XG4gICAgICAgIHRoaXMuYmx1ci5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZSB8fCBudWxsO1xuICAgICAgICB0aGlzLmpzb25Ub0h0bWxDb250ZW50ID0gdGhpcy52YWx1ZTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnF1aWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAnaHRtbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVsdGEgPSB0aGlzLnF1aWxsLmNsaXBib2FyZC5jb252ZXJ0KHsgaHRtbDogdGhpcy52YWx1ZSBhcyBzdHJpbmcgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZShkZWx0YSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucXVpbGwuc2V0Q29udGVudHMoZGVsdGEpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZvcm1hdCA9PT0gJ2pzb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5xdWlsbC5zZXRDb250ZW50cyhKU09OLnBhcnNlKHRoaXMudmFsdWUpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUNvdW50ZXJzKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB0YWJsZU1vZHVsZSgpOiBCZXR0ZXJUYWJsZU1vZHVsZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnF1aWxsLmdldE1vZHVsZSgnYmV0dGVyLXRhYmxlJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XG5cbiAgICBwcml2YXRlIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSBodG1sRW50aXRpZXNEZWNvZGUoY29udGVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGMgPSBjb250ZW50O1xuICAgICAgICBpZiAoYykge1xuICAgICAgICAgICAgYyA9IGMucmVwbGFjZSgnJmFtcDsnLCAnJicpO1xuICAgICAgICAgICAgYyA9IGMucmVwbGFjZSgnJm5ic3A7JywgJyAnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjO1xuICAgIH1cblxuICAgIGdldCBoYXNDaGFyYWN0ZXJzQ291bnRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbGJhckNvbmZpZy5jb3VudGVycy5vcHRpb25zLmZpbmQoKG8pID0+IG8ubmFtZSA9PT0gJ2NoYXJhY3RlcnMnKTtcbiAgICB9XG5cbiAgICBnZXQgY2hhcmFjdGVyc0NvdW50ZXJMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sYmFyQ29uZmlnLmNvdW50ZXJzLm9wdGlvbnMuZmluZCgobykgPT4gby5uYW1lID09PSAnY2hhcmFjdGVycycpPy5sYWJlbDtcbiAgICB9XG5cbiAgICBnZXQgaGFzV29yZHNDb3VudGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sYmFyQ29uZmlnLmNvdW50ZXJzLm9wdGlvbnMuZmluZCgobykgPT4gby5uYW1lID09PSAnd29yZHMnKTtcbiAgICB9XG5cbiAgICBnZXQgd29yZHNDb3VudGVyTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbGJhckNvbmZpZy5jb3VudGVycy5vcHRpb25zLmZpbmQoKG8pID0+IG8ubmFtZSA9PT0gJ3dvcmRzJyk/LmxhYmVsO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlQ291bnRlcnMoY29udGVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGxldCB0ZXh0OiBzdHJpbmc7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gL1tcXHNcXG5dKy87XG4gICAgICAgIFxuICAgICAgICBpZiAodGhpcy5mb3JtYXQgPT09ICdodG1sJykge1xuICAgICAgICAgICAgaWYgKGNvbnRlbnQgJiYgY29udGVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGV4dCA9IHRoaXMuc3RyaXBIdG1sKGNvbnRlbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhcmFjdGVyc0NvdW50ID0gdGV4dC5sZW5ndGg7XG5cbiAgICAgICAgICAgICAgICB0ZXh0ID0gY29udGVudC5yZXBsYWNlKC88XFwvKHB8ZGl2fGJyfGxpfGhbMS02XSk+L2dpLCAnICcpLnJlcGxhY2UoLzxbXj5dKz4vZywgJycpO1xuICAgICAgICAgICAgICAgIHRoaXMud29yZHNDb3VudCA9ICF0ZXh0ID8gMCA6IHRleHQudHJpbSgpLnNwbGl0KHJlZ2V4KS5maWx0ZXIodCA9PiB0ICE9PSAnJykubGVuZ3RoO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYXJhY3RlcnNDb3VudCA9IDA7XG4gICAgICAgICAgICAgICAgdGhpcy53b3Jkc0NvdW50ID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLmJ5dGVzQ291bnQgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAnanNvbicpIHtcbiAgICAgICAgICAgIGlmIChjb250ZW50ICYmIHRoaXMucXVpbGwpIHtcbiAgICAgICAgICAgICAgICB0ZXh0ID0gdGhpcy5zdHJpcEh0bWwodGhpcy5xdWlsbC5yb290LmlubmVySFRNTCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFyYWN0ZXJzQ291bnQgPSB0ZXh0Lmxlbmd0aDtcbiAgICBcbiAgICAgICAgICAgICAgICB0ZXh0ID0gdGhpcy5xdWlsbC5yb290LmlubmVySFRNTC5yZXBsYWNlKC88XFwvKHB8ZGl2fGJyfGxpfGhbMS02XSk+L2dpLCAnICcpLnJlcGxhY2UoLzxbXj5dKz4vZywgJycpO1xuICAgICAgICAgICAgICAgIHRoaXMud29yZHNDb3VudCA9ICF0ZXh0ID8gMCA6IHRleHQudHJpbSgpLnNwbGl0KHJlZ2V4KS5maWx0ZXIodCA9PiB0ICE9PSAnJykubGVuZ3RoO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYXJhY3RlcnNDb3VudCA9IDA7XG4gICAgICAgICAgICAgICAgdGhpcy53b3Jkc0NvdW50ID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLmJ5dGVzQ291bnQgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIHRoaXMuY2hhcmFjdGVyc0NvdW50Q2hhbmdlLmVtaXQodGhpcy5jaGFyYWN0ZXJzQ291bnQpO1xuICAgICAgICB0aGlzLndvcmRzQ291bnRDaGFuZ2UuZW1pdCh0aGlzLndvcmRzQ291bnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RyaXBIdG1sKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gLyg8KFtePl0rKT4pL2dtO1xuICAgICAgICBjb25zdCBjb250ZW50VG9SZXBsYWNlID0gY29udGVudC5yZXBsYWNlKHJlZ2V4LCAnJyk7XG4gICAgICAgIHJldHVybiBjb250ZW50VG9SZXBsYWNlLnJlcGxhY2UoL1tcXHUyMDBCLVxcdTIwMERcXHVGRUZGXS9nLCAnJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhbkh0bWwoY29udGVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgY29udGVudFRvUmVwbGFjZSA9IGNvbnRlbnQucmVwbGFjZSgvPFtePl0qPi9nLCAnJyk7XG4gICAgICAgIHJldHVybiBjb250ZW50VG9SZXBsYWNlLnJlcGxhY2UoL1tcXHUyMDBCLVxcdTIwMERcXHVGRUZGXS9nLCAnJyk7XG4gICAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZXVpRWRpdG9yQ3VzdG9tVG9vbGJhcicgfSlcbmV4cG9ydCBjbGFzcyBFdWlFZGl0b3JDdXN0b21Ub29sYmFyVGFnRGlyZWN0aXZlIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZWxlbWVudENsYXNzID0gJ2V1aS1lZGl0b3ItY3VzdG9tLXRvb2xiYXInO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG59XG4vKiBlc2xpbnQtZW5hYmxlICovXG5cbi8qKlxuICogUGlwZSB0byByZW1vdmUgY2xhc3NlcyBmcm9tIHRoZSBlZGl0b3JcbiAqL1xuQFBpcGUoeyBuYW1lOiAnY2xhc3NGaWx0ZXInIH0pXG5leHBvcnQgY2xhc3MgQ2xhc3NGaWx0ZXJQaXBlIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgICAgLnJlcGxhY2UoL2V1aS1lZGl0b3Itd3JhcHBlci9nLCAnJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9ldWktZWRpdG9yLS1yZWFkb25seS9nLCAnJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9ldWktZWRpdG9yLS1lbXB0eS9nLCAnJyk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlYWR5VG9SZW5kZXJcIj5cbjwhLS0gTk9URTogV2UgbmVlZCB0byBjcmVhdGUgdGhlIGVkaXRvciBpbnN0YW5jZSBldmVuIGZvciByZWFkb25seSBtb2RlLlxuICAgICBUaGlzIGlzIGJlY2F1c2Ugd2UgcmVseSBvbiB0aGUgZWRpdG9yIHRvIGZvcm1hdCBIVE1ML0pTT04gY29udGVudFxuICAgICBpbnRvIGEgcHJvcGVybHkgc3RydWN0dXJlZCBIVE1MIG91dHB1dCB0aGF0IGNhbid0IGJlIGRvbmUgYW5vdGhlciB3YXkuXG4gICAgIEZ1dHVyZSBpbXByb3ZlbWVudDogQ29uc2lkZXIgY29tcGxldGVseSByZXBsYWNpbmcgUXVpbGwgd2l0aCBhXG4gICAgIG1hcmtkb3duLW9ubHkgZWRpdG9yLCB3aGljaCB3b3VsZCBiZSBhIGJldHRlciBzb2x1dGlvbi4gLS0+XG48IS0tQGlmICghaXNSZWFkT25seSkgey0tPlxuICAgIDxxdWlsbC1lZGl0b3JcbiAgICAgICAgW25nU3R5bGVdPVwie2Rpc3BsYXk6IGlzUmVhZE9ubHkgPyAnbm9uZScgOiBudWxsfVwiXG4gICAgICAgIFtpZF09XCJnZW5lcmF0ZWRJZFwiXG4gICAgICAgIGNsYXNzPVwie3sgY2xhc3MgfCBjbGFzc0ZpbHRlciB9fVwiXG4gICAgICAgIFtjbGFzcy5ldWktZWRpdG9yLS1mb2N1c2VkXT1cImlzRm9jdXNlZFwiXG4gICAgICAgIFtmb3JtYXRdPVwiZm9ybWF0XCJcbiAgICAgICAgW2Zvcm1hdHNdPVwiZm9ybWF0c1wiXG4gICAgICAgIFtzYW5pdGl6ZV09XCJ0cnVlXCJcbiAgICAgICAgW21vZHVsZXNdPVwibW9kdWxlc1wiXG4gICAgICAgIFt0aGVtZV09XCJ0aGVtZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFtjdXN0b21Ub29sYmFyUG9zaXRpb25dPVwiY3VzdG9tVG9vbGJhclBvc2l0aW9uXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW2RlYnVnXT1cImRlYnVnXCJcbiAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgW3ByZXNlcnZlV2hpdGVzcGFjZV09XCJ0cnVlXCJcbiAgICAgICAgW2hhc0ltYWdlRmVhdHVyZV09XCJoYXNJbWFnZUZlYXR1cmVcIlxuICAgICAgICAob25FZGl0b3JDcmVhdGVkKT1cIl9vbkVkaXRvckNyZWF0ZWQoJGV2ZW50KVwiXG4gICAgICAgIChvbkVkaXRvckNoYW5nZWQpPVwiX29uRWRpdG9yQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgKG9uQ29udGVudENoYW5nZWQpPVwiX29uQ29udGVudENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIChvblNlbGVjdGlvbkNoYW5nZWQpPVwiX29uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgKG9uRm9jdXMpPVwiX29uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChvbkJsdXIpPVwiX29uQmx1cigkZXZlbnQpXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhZXVpRWRpdG9yQ3VzdG9tVG9vbGJhclwiIHF1aWxsLWVkaXRvci10b29sYmFyIGNsYXNzPVwiZXVpLXUtZmxleC1nYXAtc1wiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5oZWFkaW5nc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1mb3JtYXRzXCJcbiAgICAgICAgICAgICAgICByb2xlPVwiYXBwbGljYXRpb25cIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJTZWxlY3QgaGVhZGluZ3Mgc3R5bGVcIlxuICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmhlYWRpbmdzLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWhlYWRlclwiIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5oZWFkaW5ncy5sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwie3sgdmFsdWUgfX1cIiAqbmdGb3I9XCJsZXQgdmFsdWUgb2YgdG9vbGJhckNvbmZpZy5oZWFkaW5ncy5vcHRpb25zXCI+SGVhZGluZyB7eyB2YWx1ZSB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPk5vcm1hbDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmZvbnRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtZm9ybWF0c1wiXG4gICAgICAgICAgICAgICAgcm9sZT1cImFwcGxpY2F0aW9uXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VsZWN0IGZvbnQgc3R5bGVcIlxuICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmZvbnQubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtZm9udFwiIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5mb250LmxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+U2FucyBTZXJpZjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwic2VyaWZcIj5TZXJpZjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwibW9ub3NwYWNlXCI+TW9ub3NwYWNlPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmJvbGQgfHwgdG9vbGJhckNvbmZpZy5pdGFsaWMgfHwgdG9vbGJhckNvbmZpZy51bmRlcmxpbmUgfHwgdG9vbGJhckNvbmZpZy5zdHJpa2VcIiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5ib2xkXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1ib2xkXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5ib2xkLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuYm9sZC5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLml0YWxpY1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtaXRhbGljXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5pdGFsaWMubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5pdGFsaWMubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy51bmRlcmxpbmVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLXVuZGVybGluZVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcudW5kZXJsaW5lLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcudW5kZXJsaW5lLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuc3RyaWtlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1zdHJpa2VcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLnN0cmlrZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLnN0cmlrZS5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidG9vbGJhckNvbmZpZy5mb250Q29sb3IgfHwgdG9vbGJhckNvbmZpZy5mb250QmFja2dyb3VuZFwiIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidG9vbGJhckNvbmZpZy5mb250Q29sb3JcIiBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5mb250Q29sb3IubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWNvbG9yXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmZvbnRDb2xvci5sYWJlbFwiPjwvc2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInRvb2xiYXJDb25maWcuZm9udEJhY2tncm91bmRcIiBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5mb250QmFja2dyb3VuZC5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtYmFja2dyb3VuZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5mb250QmFja2dyb3VuZC5sYWJlbFwiPjwvc2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRvb2xiYXJDb25maWcuc3Vic2NyaXB0IHx8IHRvb2xiYXJDb25maWcuc3VwZXJzY3JpcHRcIiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5zdWJzY3JpcHRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLXNjcmlwdFwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPVwic3ViXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5zdWJzY3JpcHQubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5zdWJzY3JpcHQubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5zdXBlcnNjcmlwdFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtc2NyaXB0XCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJzdXBlclwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuc3VwZXJzY3JpcHQubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5zdXBlcnNjcmlwdC5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidG9vbGJhckNvbmZpZy50ZXh0QWxpZ25cIiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy50ZXh0QWxpZ24ubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWFsaWduXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLnRleHRBbGlnbi5sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD48L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJjZW50ZXJcIj48L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJyaWdodFwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImp1c3RpZnlcIj48L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLm9yZGVyZWRMaXN0IHx8IHRvb2xiYXJDb25maWcuYnVsbGV0TGlzdCB8fCB0b29sYmFyQ29uZmlnLmluZGVudExlc3MgfHwgdG9vbGJhckNvbmZpZy5pbmRlbnRNb3JlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWZvcm1hdHNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5vcmRlcmVkTGlzdFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtbGlzdFwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPVwib3JkZXJlZFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcub3JkZXJlZExpc3QubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5vcmRlcmVkTGlzdC5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmJ1bGxldExpc3RcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cImJ1bGxldFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuYnVsbGV0TGlzdC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmJ1bGxldExpc3QubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuaW5kZW50TGVzc1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtaW5kZW50XCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCItMVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5pbmRlbnRMZXNzLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuaW5kZW50TGVzcy5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5pbmRlbnRNb3JlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1pbmRlbnRcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cIisxXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmluZGVudE1vcmUubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5pbmRlbnRNb3JlLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICB0b29sYmFyQ29uZmlnLmJsb2NrcXVvdGUgfHxcbiAgICAgICAgICAgICAgICAgICAgdG9vbGJhckNvbmZpZy5jb2RlQmxvY2sgfHxcbiAgICAgICAgICAgICAgICAgICAgdG9vbGJhckNvbmZpZy5saW5rIHx8XG4gICAgICAgICAgICAgICAgICAgIHRvb2xiYXJDb25maWcuaW1hZ2UgfHxcbiAgICAgICAgICAgICAgICAgICAgdG9vbGJhckNvbmZpZy5pbWFnZVVybCB8fFxuICAgICAgICAgICAgICAgICAgICB0b29sYmFyQ29uZmlnLnZpZGVvIHx8XG4gICAgICAgICAgICAgICAgICAgIHRvb2xiYXJDb25maWcudGFibGVcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmJsb2NrcXVvdGVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWJsb2NrcXVvdGVcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmJsb2NrcXVvdGUubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5ibG9ja3F1b3RlLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuY29kZUJsb2NrXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1jb2RlLWJsb2NrXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5jb2RlQmxvY2subGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5jb2RlQmxvY2subGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5saW5rLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcubGluay5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1pbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuaW1hZ2UubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5pbWFnZS5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5pbWFnZVVybFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5pbWFnZVVybC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmltYWdlVXJsLmxhYmVsIH19XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImltYWdlVXJsSGFuZGxlcigpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1lY2wtaW1hZ2VcIiBzaXplPVwic1wiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLnZpZGVvXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC12aWRlb1wiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcudmlkZW8ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy52aWRlby5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy50YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy50YWJsZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLnRhYmxlLmxhYmVsIH19XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImluc2VydFRhYmxlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWVjbC1zcHJlYWRzaGVldFwiIHNpemU9XCJzXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmNsZWFuIHx8IHRvb2xiYXJDb25maWcuZGVsZXRlXCIgY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuY2xlYW5cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWNsZWFuXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5jbGVhbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmNsZWFuLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmRlbGV0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5kZWxldGUubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5kZWxldGUubGFiZWwgfX1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdG9yRGVsZXRlQ29udGVudCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1lY2wtdHJhc2hcIiBzaXplPVwic1wiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidG9vbGJhckNvbmZpZy51bmRvIHx8IHRvb2xiYXJDb25maWcucmVkb1wiIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy51bmRvXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLnVuZG8ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy51bmRvLmxhYmVsIH19XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRvclVuZG8oKVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJhcnJvdy11bmRvOm91dGxpbmVcIiBzaXplPVwic1wiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5yZWRvXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLnJlZG8ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5yZWRvLmxhYmVsIH19XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRvclJlZG8oKVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJhcnJvdy1yZWRvOm91dGxpbmVcIiBzaXplPVwic1wiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidG9vbGJhckNvbmZpZy5jb3VudGVyc1wiIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgICAgICAgICAgIDxldWktZWRpdG9yLWNvdW50ZXJzXG4gICAgICAgICAgICAgICAgICAgIFtoYXNDaGFyYWN0ZXJzQ291bnRlcl09XCJoYXNDaGFyYWN0ZXJzQ291bnRlclwiXG4gICAgICAgICAgICAgICAgICAgIFtjaGFyYWN0ZXJzQ291bnRlcl09XCJjaGFyYWN0ZXJzQ291bnRcIlxuICAgICAgICAgICAgICAgICAgICBbY2hhcmFjdGVyc0xhYmVsXT1cImNoYXJhY3RlcnNDb3VudGVyTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbaGFzV29yZHNDb3VudGVyXT1cImhhc1dvcmRzQ291bnRlclwiXG4gICAgICAgICAgICAgICAgICAgIFt3b3Jkc0NvdW50ZXJdPVwid29yZHNDb3VudFwiXG4gICAgICAgICAgICAgICAgICAgIFt3b3Jkc0xhYmVsXT1cIndvcmRzQ291bnRlckxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmNvdW50ZXJzLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmNvdW50ZXJzLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9ldWktZWRpdG9yLWNvdW50ZXJzPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZXVpRWRpdG9yQ3VzdG9tVG9vbGJhclwiIHF1aWxsLWVkaXRvci10b29sYmFyIGNsYXNzPVwicWwtdG9vbGJhciBxbC1zbm93XCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldWlFZGl0b3JDdXN0b21Ub29sYmFyXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3F1aWxsLWVkaXRvcj5cbjwhLS0gUkVBRE9OTFkgTU9ERSAtLT5cbkBpZiAoaXNSZWFkT25seSkge1xuICAgIDxldWktZWRpdG9yLWh0bWwtdmlldyAqbmdJZj1cImZvcm1hdCA9PT0gJ2h0bWwnXCIgW2NvbnRlbnRdPVwidmFsdWVcIiBbdGhlbWVdPVwidGhlbWVcIj48L2V1aS1lZGl0b3ItaHRtbC12aWV3PlxuICAgIDxldWktZWRpdG9yLWpzb24tdmlldyAqbmdJZj1cImZvcm1hdCA9PT0gJ2pzb24nXCIgW2NvbnRlbnRdPVwianNvblRvSHRtbENvbnRlbnRcIiBbdGhlbWVdPVwidGhlbWVcIj48L2V1aS1lZGl0b3ItanNvbi12aWV3PlxufVxuPC9uZy1jb250YWluZXI+XG4iXX0=
559
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9leHRlcm5hbHMvZXVpLWVkaXRvci9ldWktZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2V4dGVybmFscy9ldWktZWRpdG9yL2V1aS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFFWCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFFVixZQUFZLEVBQ1osSUFBSSxHQUlQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBR3pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUc1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUcvRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFUOUYsMEdBQTBHO0FBQzFHLE1BQU0sU0FBUyxHQUFRLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQVN2Qyx3Q0FBd0M7QUFDeEMsSUFBSSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQWNsRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLElBQ0ksS0FBSztRQUNMLE9BQU87WUFDSCxZQUFZO1lBQ1osSUFBSSxDQUFDLFVBQVUs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QVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJakYsVUFBVTtzQkFEYixLQUFLO2dCQVNGLFlBQVk7c0JBRGYsS0FBSztnQkFTRixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBU0YsZ0JBQWdCO3NCQURuQixLQUFLO2dCQVVGLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxtQkFBbUI7Z0JBcUp6QixtQkFBbUI7c0JBRnpCLFlBQVk7dUJBQUMsT0FBTzs7c0JBQ3BCLFlBQVk7dUJBQUMsU0FBUzs7QUF3UTNCLG9CQUFvQjtBQUVwQixNQUFNLE9BQU8sa0NBQWtDO0lBRzNDLFlBQW1CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFGbkIsaUJBQVksR0FBRywyQkFBMkIsQ0FBQztJQUVyQixDQUFDOytHQUhwQyxrQ0FBa0M7bUdBQWxDLGtDQUFrQzs7NEZBQWxDLGtDQUFrQztrQkFEOUMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRTsrRUFFdkIsWUFBWTtzQkFBakMsV0FBVzt1QkFBQyxPQUFPOztBQUl4QixtQkFBbUI7QUFFbkI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQUN4QixTQUFTLENBQUMsS0FBYTtRQUNuQixPQUFPLEtBQUs7YUFDUCxPQUFPLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDO2FBQ2xDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLENBQUM7YUFDcEMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7K0dBTlEsZUFBZTs2R0FBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgT25Jbml0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIE9uRGVzdHJveSxcbiAgICBEaXJlY3RpdmUsXG4gICAgQ29udGVudENoaWxkLFxuICAgIGZvcndhcmRSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgUGlwZSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udGVudENoYW5nZSwgUXVpbGxNb2R1bGVzIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V4dGVybmFscy9xdWlsbCc7XG5cbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24sbm8tdW5kZXJzY29yZS1kYW5nbGUsaWQtZGVueWxpc3QsaWQtbWF0Y2hcbmNvbnN0IFF1aWxsVHlwZTogYW55ID0gd2luZG93WydRdWlsbCddO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgRGVsdGEgZnJvbSAncXVpbGwtZGVsdGEnO1xuXG5pbXBvcnQgeyBFdWlEaWFsb2dDb25maWcsIEV1aURpYWxvZ1NlcnZpY2UgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLWRpYWxvZyc7XG5cbmltcG9ydCB7IExvYWRlclNlcnZpY2UsIEJldHRlclRhYmxlTW9kdWxlLCBCbHVyLCBFZGl0b3JDaGFuZ2VTZWxlY3Rpb24sIEZvY3VzLCBTZWxlY3Rpb25DaGFuZ2UsIFRvb2xiYXJJdGVtQ29uZmlnIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V4dGVybmFscy9xdWlsbCc7XG5pbXBvcnQgeyBFdWlFZGl0b3JJbWFnZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtdXJsLWRpYWxvZy9pbWFnZS11cmwtZGlhbG9nLmNvbXBvbmVudCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG5sZXQgUXVpbGxCZXR0ZXJUYWJsZSA9IHdpbmRvd1sncXVpbGxCZXR0ZXJUYWJsZSddO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBzZWxlY3RvcjogJ2V1aS1lZGl0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICAvLyBUT0RPOiBDaGVjayB0byBjaGFuZ2UgdGhlIHByb3ZpZGluZyB3YXkuIFByb3ZpZGUgd2l0aCBpbmplY3RvciByZWZlcmVuY2VcbiAgICAgICAgRXVpRGlhbG9nU2VydmljZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNsYXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZXVpLWVkaXRvcicsXG4gICAgICAgICAgICB0aGlzLmlzUmVhZE9ubHkgPyAnZXVpLWVkaXRvci0tcmVhZG9ubHknIDogJycsXG4gICAgICAgICAgICB0aGlzLmlzUmVhZE9ubHkgJiYgdGhpcy52YWx1ZSA/ICcnOiAnZXVpLWVkaXRvci0tZW1wdHknLFxuICAgICAgICAgICAgIXRoaXMuaXNSZWFkT25seSA/ICdldWktZWRpdG9yLXdyYXBwZXInIDogJycsXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG4gICAgQElucHV0KCkgZTJlQXR0ciA9ICdldWktZWRpdG9yJztcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gICAgQElucHV0KCkgZm9ybWF0OiAnaHRtbCcgfCAnanNvbicgPSAnaHRtbCc7XG4gICAgQElucHV0KCkgdGhlbWU6ICdzbm93JyB8ICdidWJibGUnID0gJ3Nub3cnO1xuICAgIEBJbnB1dCgpIGRlYnVnOiAnd2FybicgfCAnbG9nJyB8ICdlcnJvcicgfCBmYWxzZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGN1c3RvbVRvb2xiYXJQb3NpdGlvbjogJ3RvcCcgfCAnYm90dG9tJyA9ICd0b3AnO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgQElucHV0KCkgdGFiaW5kZXggPSAnMCc7XG4gICAgQElucHV0KCkgbW9kdWxlczogUXVpbGxNb2R1bGVzO1xuICAgIEBJbnB1dCgpIGZvcm1hdHM/OiBzdHJpbmdbXSB8IG51bGw7XG4gICAgLy8gTkVXIEVVSSBJTlBVVFNcbiAgICBASW5wdXQoKSBjdXN0b21Ub29sYmFyQ29uZmlnOiBUb29sYmFySXRlbUNvbmZpZ1tdO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JylcbiAgICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZztcbiAgICAvLyBORVcgT1VUUFVUUyA9PiBlVUkxMysgb25seVxuICAgIEBPdXRwdXQoKSBlZGl0b3JDcmVhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHR5cGVvZiBRdWlsbFR5cGU+KCk7XG4gICAgQE91dHB1dCgpIGVkaXRvckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RWRpdG9yQ2hhbmdlU2VsZWN0aW9uIHwgQ29udGVudENoYW5nZT4oKTtcbiAgICBAT3V0cHV0KCkgY29udGVudENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q29udGVudENoYW5nZT4oKTtcbiAgICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25DaGFuZ2U+KCk7XG4gICAgQE91dHB1dCgpIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1cz4oKTtcbiAgICBAT3V0cHV0KCkgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8Qmx1cj4oKTtcbiAgICBAT3V0cHV0KCkgY2hhcmFjdGVyc0NvdW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gICAgQE91dHB1dCgpIHdvcmRzQ291bnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZXVpLWVkaXRvcicpIHRydWU6IGJvb2xlYW47XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucmVhZG9ubHknKVxuICAgIGdldCByZWFkb25seSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1JlYWRPbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIHZhbHVlOiBzdHJpbmcgfCBhbnkgPSAnJztcbiAgICBwdWJsaWMgY2hhcmFjdGVyc0NvdW50ID0gMDtcbiAgICBwdWJsaWMgd29yZHNDb3VudCA9IDA7XG4gICAgcHVibGljIGJ5dGVzQ291bnQgPSAwO1xuICAgIHB1YmxpYyBpc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgZ2VuZXJhdGVkSWQ6IHN0cmluZztcbiAgICBwdWJsaWMgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gICAgcHVibGljIGpzb25Ub0h0bWxDb250ZW50OiBzdHJpbmc7XG4gICAgcHVibGljIHRvb2xiYXJDb25maWc6IHsgW2lkOiBzdHJpbmddOiB7IGxhYmVsOiBzdHJpbmc7IG9wdGlvbnM6IGFueVtdOyBkaWFsb2dNZXNzYWdlOiBzdHJpbmcgfSB9O1xuICAgIHByb3RlY3RlZCByZWFkeVRvUmVuZGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFdWlFZGl0b3JDdXN0b21Ub29sYmFyVGFnRGlyZWN0aXZlKSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgZXVpRWRpdG9yQ3VzdG9tVG9vbGJhcjogRXVpRWRpdG9yQ3VzdG9tVG9vbGJhclRhZ0RpcmVjdGl2ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzUmVhZE9ubHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1JlYWRPbmx5O1xuICAgIH1cbiAgICBzZXQgaXNSZWFkT25seSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzUmVhZE9ubHkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc1JlYWRPbmx5ID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgc2hvd0NvdW50ZXJzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0NvdW50ZXJzO1xuICAgIH1cbiAgICBzZXQgc2hvd0NvdW50ZXJzKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fc2hvd0NvdW50ZXJzID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2hvd0NvdW50ZXJzID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc0VuYWJsZWRPbkZvY3VzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNFbmFibGVkT25Gb2N1cztcbiAgICB9XG4gICAgc2V0IGlzRW5hYmxlZE9uRm9jdXModmFsdWUpIHtcbiAgICAgICAgdGhpcy5faXNFbmFibGVkT25Gb2N1cyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzRW5hYmxlZE9uRm9jdXMgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc01pbmltYWxUb29sYmFyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNNaW5pbWFsVG9vbGJhcjtcbiAgICB9XG4gICAgc2V0IGlzTWluaW1hbFRvb2xiYXIodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc01pbmltYWxUb29sYmFyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaXNNaW5pbWFsVG9vbGJhciA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaW52YWxpZCcpXG4gICAgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSW52YWxpZDtcbiAgICB9XG4gICAgc2V0IGlzSW52YWxpZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzSW52YWxpZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzSW52YWxpZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBxdWlsbDogdHlwZW9mIFF1aWxsVHlwZTtcbiAgICBwcml2YXRlIG1pbmltYWxUb29sYmFyQ29uZmlnOiBUb29sYmFySXRlbUNvbmZpZ1tdID0gW1xuICAgICAgICB7IG5hbWU6ICdoZWFkaW5ncycgfSxcbiAgICAgICAgeyBuYW1lOiAnYm9sZCcgfSxcbiAgICAgICAgeyBuYW1lOiAnaXRhbGljJyB9LFxuICAgICAgICB7IG5hbWU6ICd1bmRlcmxpbmUnIH0sXG4gICAgICAgIHsgbmFtZTogJ2ZvbnRDb2xvcicgfSxcbiAgICAgICAgeyBuYW1lOiAndGV4dEFsaWduJyB9LFxuICAgICAgICB7IG5hbWU6ICdsaW5rJyB9LFxuICAgICAgICB7IG5hbWU6ICdpbWFnZScgfSxcbiAgICAgICAgeyBuYW1lOiAnaW1hZ2VVcmwnIH0sXG4gICAgICAgIHsgbmFtZTogJ2NsZWFuJyB9LFxuICAgICAgICB7IG5hbWU6ICdkZWxldGUnIH0sXG4gICAgICAgIHsgbmFtZTogJ3VuZG8nIH0sXG4gICAgICAgIHsgbmFtZTogJ3JlZG8nIH0sXG4gICAgICAgIHsgbmFtZTogJ2NvdW50ZXJzJyB9LFxuICAgIF07XG4gICAgcHJpdmF0ZSBkZWZhdWx0VG9vbGJhckNvbmZpZzogVG9vbGJhckl0ZW1Db25maWdbXSA9IFtcbiAgICAgICAgeyBuYW1lOiAnaGVhZGluZ3MnLCBsYWJlbDogJ1N0eWxlIC0gQXBwbHkgYW4gSFRNTCB0YWcgb3IgQ1NTIGNsYXNzIHRvIHRoZSBzZWxlY3RlZCB0ZXh0Jywgb3B0aW9uczogWzEsIDIsIDMsIDQsIDUsIDZdIH0sXG4gICAgICAgIHsgbmFtZTogJ2ZvbnQnLCBsYWJlbDogJ0ZvbnQgLSBDaGFuZ2UgdGhlIGZvbnQgZmFjZScgfSxcbiAgICAgICAgeyBuYW1lOiAnYm9sZCcsIGxhYmVsOiAnQm9sZCAoQ3RybCArIEIpIC0gTWFrZSB0aGUgc2VsZWN0ZWQgdGV4dCBib2xkJyB9LFxuICAgICAgICB7IG5hbWU6ICdpdGFsaWMnLCBsYWJlbDogJ0l0YWxpYyAoQ3RybCArIEkpIC0gSXRhbGljaXplIHRoZSBzZWxlY3RlZCB0ZXh0JyB9LFxuICAgICAgICB7IG5hbWU6ICd1bmRlcmxpbmUnLCBsYWJlbDogJ1VuZGVybGluZSAoQ3RybCArIFUpIC0gVW5kZXJsaW5lIHRoZSBzZWxlY3RlZCB0ZXh0JyB9LFxuICAgICAgICB7IG5hbWU6ICdzdHJpa2UnLCBsYWJlbDogJ1N0cmlrZXRocm91Z2ggLSBEcmF3IGEgbGluZSB0byB0aGUgbWlkZGxlIG9mIHRoZSBzZWxlY3RlZCB0ZXh0JyB9LFxuICAgICAgICB7IG5hbWU6ICdmb250Q29sb3InLCBsYWJlbDogJ0ZvbnQgQ29sb3IgLSBDaGFuZ2UgdGhlIHRleHQgY29sb3InIH0sXG4gICAgICAgIHsgbmFtZTogJ2ZvbnRCYWNrZ3JvdW5kJywgbGFiZWw6ICdGb250IEJhY2tncm91bmQgLSBDaGFuZ2UgdGhlIHRleHQgYmFja2dyb3VuZCBjb2xvcicgfSxcbiAgICAgICAgeyBuYW1lOiAnc3Vic2NyaXB0JywgbGFiZWw6ICdTdWJzY3JpcHQgLSBDcmVhdGUgc3NtYWxsIGxldHRlcnMgYmVsb3cgdGhlIHRleHQgYmFzZWxpbmUnIH0sXG4gICAgICAgIHsgbmFtZTogJ3N1cGVyc2NyaXB0JywgbGFiZWw6ICdTdXBlcnNjcmlwdCAtIENyZWF0ZSBzbWFsbCBsZXR0ZXJzIGFib3ZlIHRoZSBsaW5lIG9mIHRoZSB0ZXh0JyB9LFxuICAgICAgICB7IG5hbWU6ICd0ZXh0QWxpZ24nLCBsYWJlbDogJ1RleHQgQWxpZ24gLSBBbGlnbiB0aGUgdGV4dCB0byB0aGUgc2VsZWN0ZWQgcG9zaXRpb246IGxlZnQgKGRlZmF1bHQpLCBjZW50ZXIsIHJpZ2h0IG9yIGp1c3RpZnknIH0sXG4gICAgICAgIHsgbmFtZTogJ29yZGVyZWRMaXN0JywgbGFiZWw6ICdOdW1iZXJpbmcgLSBTdGFydCBhbiBvcmRlcmVkIGxpc3QnIH0sXG4gICAgICAgIHsgbmFtZTogJ2J1bGxldExpc3QnLCBsYWJlbDogJ0J1bGxldHMgLSBTdGFydCBhIGJ1bGxldGVkIGxpc3QnIH0sXG4gICAgICAgIHsgbmFtZTogJ2luZGVudExlc3MnLCBsYWJlbDogJ0RlY3JlYXNlIEluZGVudCAtIERlY3JlYXNlIHRoZSBpbmRlbnQgbGV2ZWwgb2YgdGhlIHBhcmFncmFwaCcgfSxcbiAgICAgICAgeyBuYW1lOiAnaW5kZW50TW9yZScsIGxhYmVsOiAnSW5jcmVhc2UgSW5kZW50IC0gSW5jcmVhc2UgdGhlIGluZGVudCBsZXZlbCBvZiB0aGUgcGFyYWdyYXBoJyB9LFxuICAgICAgICB7IG5hbWU6ICdibG9ja3F1b3RlJywgbGFiZWw6ICdCbG9ja3F1b3RlIC0gQ3JlYXRlIGEgcXVvdGVkIGJsb2NrIG9mIHRoZSBzZWxlY3RlZCB0ZXh0JyB9LFxuICAgICAgICB7IG5hbWU6ICdjb2RlQmxvY2snLCBsYWJlbDogJ0luc2VydCBDb2RlIEJsb2NrIC0gSW5zZXJ0IGEgY29kZSBibG9jayBhdCB0aGUgY3Vyc29yIHJvdyBwb3NpdGlvbicgfSxcbiAgICAgICAgeyBuYW1lOiAnbGluaycsIGxhYmVsOiAnSW5zZXJ0IEh5cGVybGluayAoQ3RybCArIEspIC0gQ3JlYXRlIGEgbGluayB0byBhIFdlYiBwYWdlLCBhIHBpY3R1cmUsIGFuIGUtbWFpbCBhZGRyZXNzIG9yIGEgcHJvZ3JhbScgfSxcbiAgICAgICAgeyBuYW1lOiAnaW1hZ2UnLCBsYWJlbDogJ0luc2VydCBQaWN0dXJlIC0gSW5zZXJ0IGEgcGljdHVyZSBmcm9tIGEgZmlsZScgfSxcbiAgICAgICAgeyBuYW1lOiAnaW1hZ2VVcmwnLCBsYWJlbDogJ0luc2VydCBQaWN0dXJlIGZyb20gVVJMIC0gSW5zZXJ0IGEgcGljdHVyZSBmcm9tIGEgcmVtb3RlIFVSTCcsIGRpYWxvZ01lc3NhZ2U6ICdFbnRlciBpbWFnZSBsaW5rIFVSTCcgfSxcbiAgICAgICAgeyBuYW1lOiAndmlkZW8nLCBsYWJlbDogJ0luc2VydCBWaWRlbyAtIEluc2VydCBhIHZpZGVvIGZyb20gYSBmaWxlJyB9LFxuICAgICAgICB7IG5hbWU6ICd0YWJsZScsIGxhYmVsOiAnSW5zZXJ0IFRhYmxlIC0gSW5zZXJ0IGEgM3gzIHJvd3MvY29scyB0YWJsZScgfSxcbiAgICAgICAgeyBuYW1lOiAnY2xlYW4nLCBsYWJlbDogJ1JlbW92ZSBTdHlsZXMgLSBSZW1vdmUgdGhlIHN0eWxlcyBvZiB0aGUgc2VsZWN0ZWQgdGV4dCcgfSxcbiAgICAgICAgeyBuYW1lOiAnZGVsZXRlJywgbGFiZWw6IFwiRGVsZXRlIGNvbnRlbnQgLSBQZXJtYW5lbnRseSBkZWxldGVzIGVkaXRvcidzIGNvbnRlbnRzXCIgfSxcbiAgICAgICAgeyBuYW1lOiAndW5kbycsIGxhYmVsOiAnVW5kbyAoQ3RybCArIFopIC0gQ2FuY2VscyB0aGUgcHJldmlvdXMgYWN0aW9uJyB9LFxuICAgICAgICB7IG5hbWU6ICdyZWRvJywgbGFiZWw6ICdSZWRvIChDdHJsICsgWSkgLSBEbyB0aGUgbmV4dCBoaXN0b3J5IGFjdGlvbiBhZ2FpbicgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2NvdW50ZXJzJyxcbiAgICAgICAgICAgIGxhYmVsOiAnQ291bnRlcnMgLSBDaGFyYWN0ZXJzIGFuZCB3b3JkcyBjb3VudGVycyAoc3RyaXBwZWQgSHRtbCknLFxuICAgICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAgICAgIHsgbmFtZTogJ2NoYXJhY3RlcnMnLCBsYWJlbDogJ0NoYXJhY3RlcnMnIH0sXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAnd29yZHMnLCBsYWJlbDogJ1dvcmRzJyB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICBdO1xuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBldWlEaWFsb2dTZXJ2aWNlOiBFdWlEaWFsb2dTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgbG9hZGVyOiBMb2FkZXJTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKCFjLmlzUmVhZE9ubHk/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVDb3VudGVycyh0aGlzLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRlci5sb2FkKCkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkeVRvUmVuZGVyID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLm5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMubmdDb250cm9sLmNvbnRyb2wuc3RhdHVzKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzSW52YWxpZCA9IHN0YXR1cyAhPT0gJ1ZBTElEJztcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVkSWQgPSB0aGlzLmlkID8gdGhpcy5pZCA6ICdldWktZWRpdG9yLScgKyAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDAwMCkgKyAxKS50b1N0cmluZygpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy50b29sYmFyQ29uZmlnID0ge307XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmN1c3RvbVRvb2xiYXJDb25maWcgJiYgIXRoaXMuaXNNaW5pbWFsVG9vbGJhcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRUb29sYmFyQ29uZmlnLmZvckVhY2goKHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9vbGJhckNvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnRvb2xiYXJDb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3QubmFtZV06IHsgbGFiZWw6IHQubGFiZWwsIG9wdGlvbnM6IHQub3B0aW9ucywgZGlhbG9nTWVzc2FnZTogdC5kaWFsb2dNZXNzYWdlIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXN0b21Ub29sYmFyQ29uZmlnICYmICF0aGlzLmlzTWluaW1hbFRvb2xiYXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXN0b21Ub29sYmFyQ29uZmlnLmZvckVhY2goKHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gIXQubGFiZWwgPyB0aGlzLmRlZmF1bHRUb29sYmFyQ29uZmlnLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdC5uYW1lKS5sYWJlbCA6IHQubGFiZWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgb3B0aW9ucyA9ICF0Lm9wdGlvbnMgPyB0aGlzLmRlZmF1bHRUb29sYmFyQ29uZmlnLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdC5uYW1lKS5vcHRpb25zIDogdC5vcHRpb25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZCA9ICF0LmRpYWxvZ01lc3NhZ2UgPyB0aGlzLmRlZmF1bHRUb29sYmFyQ29uZmlnLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdC5uYW1lKS5kaWFsb2dNZXNzYWdlIDogdC5kaWFsb2dNZXNzYWdlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodC5uYW1lID09PSAnY291bnRlcnMnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0Lm9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyA9IHRoaXMuZGVmYXVsdFRvb2xiYXJDb25maWcuZmluZCgoYykgPT4gYy5uYW1lID09PSB0Lm5hbWUpLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyA9IHQub3B0aW9ucy5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uTGFiZWwgPSBvcHRpb24ubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG9wdGlvbi5sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5kZWZhdWx0VG9vbGJhckNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmluZCgoZHRjKSA9PiBkdGMubmFtZSA9PT0gJ2NvdW50ZXJzJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm9wdGlvbnMuZmluZCgobykgPT4gby5uYW1lID09PSBvcHRpb24ubmFtZSkubGFiZWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBuYW1lOiBvcHRpb24ubmFtZSwgbGFiZWw6IG9wdGlvbkxhYmVsIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b29sYmFyQ29uZmlnID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMudG9vbGJhckNvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdC5uYW1lXTogeyBsYWJlbCwgb3B0aW9ucywgZGlhbG9nTWVzc2FnZTogZCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNNaW5pbWFsVG9vbGJhcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1pbmltYWxUb29sYmFyQ29uZmlnLmZvckVhY2goKHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gIXQubGFiZWwgPyB0aGlzLmRlZmF1bHRUb29sYmFyQ29uZmlnLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdC5uYW1lKS5sYWJlbCA6IHQubGFiZWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gIXQub3B0aW9ucyA/IHRoaXMuZGVmYXVsdFRvb2xiYXJDb25maWcuZmluZCgoYykgPT4gYy5uYW1lID09PSB0Lm5hbWUpLm9wdGlvbnMgOiB0Lm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkID0gIXQuZGlhbG9nTWVzc2FnZSA/IHRoaXMuZGVmYXVsdFRvb2xiYXJDb25maWcuZmluZCgoYykgPT4gYy5uYW1lID09PSB0Lm5hbWUpLmRpYWxvZ01lc3NhZ2UgOiB0LmRpYWxvZ01lc3NhZ2U7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9vbGJhckNvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnRvb2xiYXJDb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3QubmFtZV06IHsgbGFiZWwsIG9wdGlvbnMsIGRpYWxvZ01lc3NhZ2U6IGQgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBASG9zdExpc3RlbmVyKCdmb2N1c2luJylcbiAgICBwdWJsaWMgZW5hYmxlRWRpdG9yT25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNFbmFibGVkT25Gb2N1cyAmJiB0aGlzLmlzUmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHRoaXMuaXNSZWFkT25seSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGltYWdlVXJsSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgbGV0IGltYWdlVXJsRGlhbG9nRm9ybTogRm9ybUdyb3VwID0gbnVsbDtcbiAgICAgICAgdGhpcy5ldWlEaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coXG4gICAgICAgICAgICBuZXcgRXVpRGlhbG9nQ29uZmlnKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy50b29sYmFyQ29uZmlnLmltYWdlVXJsLmRpYWxvZ01lc3NhZ2UsXG4gICAgICAgICAgICAgICAgaXNIYW5kbGVDbG9zZU9uQWNjZXB0OiB0cnVlLFxuICAgICAgICAgICAgICAgIGJvZHlDb21wb25lbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBFdWlFZGl0b3JJbWFnZURpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkZvcm1WYWx1ZUNoYW5nZTogKGZvcm06IEZvcm1Hcm91cCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlVXJsRGlhbG9nRm9ybSA9IGZvcm07XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYWNjZXB0OiAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbWFnZVVybERpYWxvZ0Zvcm0gJiYgaW1hZ2VVcmxEaWFsb2dGb3JtLnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV1aURpYWxvZ1NlcnZpY2UuY2xvc2VEaWFsb2coKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmFuZ2UgPSB0aGlzLnF1aWxsLmdldFNlbGVjdGlvbigpIHx8IHsgaW5kZXg6IDAsIGxlbmd0aDogMCB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWlsbC5pbnNlcnRFbWJlZChyYW5nZS5pbmRleCwgJ2ltYWdlJywgaW1hZ2VVcmxEaWFsb2dGb3JtLmdldCgndXJsJykudmFsdWUsICd1c2VyJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZWRpdG9yVW5kbygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5xdWlsbFsnaGlzdG9yeSddLnVuZG8oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZWRpdG9yUmVkbygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5xdWlsbFsnaGlzdG9yeSddLnJlZG8oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZWRpdG9yRGVsZXRlQ29udGVudCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gbmV3IEV1aURpYWxvZ0NvbmZpZyh7XG4gICAgICAgICAgICB0aXRsZTogJ0RlbGV0ZSBjb250ZW50JyxcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiPHA+QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBlZGl0b3IncyBjb250ZW50PzwvcD5cIixcbiAgICAgICAgICAgIGhhc0Nsb3NlQnV0dG9uOiBmYWxzZSxcbiAgICAgICAgICAgIGFjY2VwdDogKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucXVpbGwuc2V0Q29udGVudHMobnVsbCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmV1aURpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZyhjb25maWcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbnNlcnRUYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJsZU1vZHVsZS5pbnNlcnRUYWJsZSgzLCAzKTtcbiAgICB9XG5cbiAgICBnZXQgaGFzSW1hZ2VGZWF0dXJlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ldWlFZGl0b3JDdXN0b21Ub29sYmFyXG4gICAgICAgICAgICA/IHRoaXMuZXVpRWRpdG9yQ3VzdG9tVG9vbGJhcj8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xbC1pbWFnZScpXG4gICAgICAgICAgICA6IHRoaXMudG9vbGJhckNvbmZpZy5pbWFnZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgX29uRWRpdG9yQ3JlYXRlZChxdWlsbDogdHlwZW9mIFF1aWxsVHlwZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnF1aWxsID0gcXVpbGw7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNFbmFibGVkT25Gb2N1cykge1xuICAgICAgICAgICAgdGhpcy5xdWlsbC5mb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAnaHRtbCcpIHtcbiAgICAgICAgICAgIGNvbnN0IGRlbHRhID0gdGhpcy5xdWlsbC5jbGlwYm9hcmQuY29udmVydCh7IGh0bWw6IHRoaXMudmFsdWUgYXMgc3RyaW5nIH0pO1xuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKGRlbHRhKTtcbiAgICAgICAgICAgIHRoaXMucXVpbGwuc2V0Q29udGVudHMoZGVsdGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAnanNvbicpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMucXVpbGwuc2V0Q29udGVudHMoSlNPTi5wYXJzZSh0aGlzLnZhbHVlKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuaGFzSW1hZ2VGZWF0dXJlKSB7XG4gICAgICAgICAgICBxdWlsbC5jbGlwYm9hcmQuYWRkTWF0Y2hlcignSU1HJywgKGVsZW1lbnQ6IEVsZW1lbnQsIGRlbHRhOiBEZWx0YSkgPT4gbmV3IERlbHRhKCkuaW5zZXJ0KCcnKSk7XG4gICAgICAgICAgICBxdWlsbC5jbGlwYm9hcmQuYWRkTWF0Y2hlcignUElDVFVSRScsIChlbGVtZW50OiBFbGVtZW50LCBkZWx0YTogRGVsdGEpID0+IG5ldyBEZWx0YSgpLmluc2VydCgnJykpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lZGl0b3JDcmVhdGUuZW1pdChxdWlsbCk7XG4gICAgfVxuXG4gICAgcHVibGljIF9vbkVkaXRvckNoYW5nZWQoZXZlbnQ6IEVkaXRvckNoYW5nZVNlbGVjdGlvbiB8IENvbnRlbnRDaGFuZ2UgfCBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zb2xlLndhcm4oJ29uRWRpdG9yQ2hhbmdlZCgpIGV2ZW50IGlzIERFUFJFQ0FURUQgcGxlYXNlIHVzZSBjb250ZW50Q2hhbmdlKCkgZXZlbnQgaW5zdGVhZC4nKTtcbiAgICAgICAgdGhpcy5lZGl0b3JDaGFuZ2UuZW1pdChldmVudCBhcyBFZGl0b3JDaGFuZ2VTZWxlY3Rpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2ludGVybmFsQ2hhbmdlID0gZmFsc2U7ICAvLyBBZGQgdGhpcyBwcm9wZXJ0eSB0byB0aGUgY2xhc3NcblxuICAgIHB1YmxpYyBfb25Db250ZW50Q2hhbmdlZChldmVudDogQ29udGVudENoYW5nZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtYXQgPT09ICdodG1sJykge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGV2ZW50Lmh0bWw7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUNvdW50ZXJzKHRoaXMudmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgICAgIC8vIE9ubHkgY2FsbCBvbkNoYW5nZSBpZiBpdCdzIG5vdCBhbiBpbnRlcm5hbCBjaGFuZ2VcbiAgICAgICAgICAgIGlmICghdGhpcy5faW50ZXJuYWxDaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuaHRtbEVudGl0aWVzRGVjb2RlKHRoaXMudmFsdWUgYXMgc3RyaW5nKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAnanNvbicpIHtcbiAgICAgICAgICAgIGlmIChldmVudC50ZXh0ICE9PSAnXFxuJykge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBldmVudC5jb250ZW50O1xuICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlQ291bnRlcnMoZXZlbnQudGV4dCk7XG4gICAgICAgICAgICAgICAgdGhpcy5qc29uVG9IdG1sQ29udGVudCA9IHRoaXMuaHRtbEVudGl0aWVzRGVjb2RlKEpTT04uc3RyaW5naWZ5KHRoaXMudmFsdWUpKTtcbiAgICAgICAgICAgICAgICAvLyBPbmx5IGNhbGwgb25DaGFuZ2UgaWYgaXQncyBub3QgYW4gaW50ZXJuYWwgY2hhbmdlXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9pbnRlcm5hbENoYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuanNvblRvSHRtbENvbnRlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVDb3VudGVycygnJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5qc29uVG9IdG1sQ29udGVudCA9ICcnO1xuICAgICAgICAgICAgICAgIC8vIE9ubHkgY2FsbCBvbkNoYW5nZSBpZiBpdCdzIG5vdCBhbiBpbnRlcm5hbCBjaGFuZ2VcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2ludGVybmFsQ2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGVudENoYW5nZS5lbWl0KGV2ZW50KTsgLy8gTmV3IGVtaXR0ZXJcbiAgICAgICAgdGhpcy5fb25FZGl0b3JDaGFuZ2VkKGV2ZW50KTsgLy8gU3luYyB3aXRoIGVkaXRvciBjaGFuZ2UgZXZlbnQgc2luY2UgaXQncyBkdXBsaWNhdGVkIGV2ZW50XG4gICAgfVxuXG4gICAgcHVibGljIF9vblNlbGVjdGlvbkNoYW5nZWQoZXZlbnQ6IFNlbGVjdGlvbkNoYW5nZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgX29uRm9jdXMoZXZlbnQ6IEZvY3VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5mb2N1cy5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgX29uQmx1cihldmVudDogQmx1cik6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgICAgdGhpcy5ibHVyLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gU3RvcmUgdGhlIHZhbHVlXG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZSB8fCBudWxsO1xuICAgICAgICB0aGlzLmpzb25Ub0h0bWxDb250ZW50ID0gdGhpcy52YWx1ZTtcblxuICAgICAgICAvLyBTa2lwIHRyaWdnZXJpbmcgb25DaGFuZ2UgZHVyaW5nIHdyaXRlVmFsdWUgb3BlcmF0aW9uc1xuICAgICAgICBpZiAodGhpcy5xdWlsbCkge1xuICAgICAgICAgICAgLy8gVXNlIGEgZmxhZyB0byBwcmV2ZW50IHRyaWdnZXJpbmcgb25DaGFuZ2UgaW4gX29uQ29udGVudENoYW5nZWRcbiAgICAgICAgICAgIHRoaXMuX2ludGVybmFsQ2hhbmdlID0gdHJ1ZTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAnaHRtbCcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWx0YSA9IHRoaXMucXVpbGwuY2xpcGJvYXJkLmNvbnZlcnQoeyBodG1sOiB0aGlzLnZhbHVlIGFzIHN0cmluZyB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnBhdGNoVmFsdWUoZGVsdGEsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLnF1aWxsLnNldENvbnRlbnRzKGRlbHRhKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAnanNvbicgJiYgdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZSh0aGlzLnZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy5xdWlsbC5zZXRDb250ZW50cyhKU09OLnBhcnNlKHRoaXMudmFsdWUpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVDb3VudGVycyh0aGlzLnZhbHVlKTtcblxuICAgICAgICAgICAgLy8gUmVzZXQgdGhlIGZsYWcgYWZ0ZXIgYSBzaG9ydCBkZWxheSB0byBhbGxvdyBRdWlsbCB0byBjb21wbGV0ZSBpdHMgb3BlcmF0aW9uc1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5faW50ZXJuYWxDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgdGFibGVNb2R1bGUoKTogQmV0dGVyVGFibGVNb2R1bGUge1xuICAgICAgICByZXR1cm4gdGhpcy5xdWlsbC5nZXRNb2R1bGUoJ2JldHRlci10YWJsZScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcblxuICAgIHByaXZhdGUgaHRtbEVudGl0aWVzRGVjb2RlKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGxldCBjID0gY29udGVudDtcbiAgICAgICAgaWYgKGMpIHtcbiAgICAgICAgICAgIGMgPSBjLnJlcGxhY2UoJyZhbXA7JywgJyYnKTtcbiAgICAgICAgICAgIGMgPSBjLnJlcGxhY2UoJyZuYnNwOycsICcgJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYztcbiAgICB9XG5cbiAgICBnZXQgaGFzQ2hhcmFjdGVyc0NvdW50ZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvb2xiYXJDb25maWcuY291bnRlcnMub3B0aW9ucy5maW5kKChvKSA9PiBvLm5hbWUgPT09ICdjaGFyYWN0ZXJzJyk7XG4gICAgfVxuXG4gICAgZ2V0IGNoYXJhY3RlcnNDb3VudGVyTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbGJhckNvbmZpZy5jb3VudGVycy5vcHRpb25zLmZpbmQoKG8pID0+IG8ubmFtZSA9PT0gJ2NoYXJhY3RlcnMnKT8ubGFiZWw7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1dvcmRzQ291bnRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbGJhckNvbmZpZy5jb3VudGVycy5vcHRpb25zLmZpbmQoKG8pID0+IG8ubmFtZSA9PT0gJ3dvcmRzJyk7XG4gICAgfVxuXG4gICAgZ2V0IHdvcmRzQ291bnRlckxhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvb2xiYXJDb25maWcuY291bnRlcnMub3B0aW9ucy5maW5kKChvKSA9PiBvLm5hbWUgPT09ICd3b3JkcycpPy5sYWJlbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZUNvdW50ZXJzKGNvbnRlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBsZXQgdGV4dDogc3RyaW5nO1xuICAgICAgICBjb25zdCByZWdleCA9IC9bXFxzXFxuXSsvO1xuICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAnaHRtbCcpIHtcbiAgICAgICAgICAgIGlmIChjb250ZW50ICYmIGNvbnRlbnQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRleHQgPSB0aGlzLnN0cmlwSHRtbChjb250ZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYXJhY3RlcnNDb3VudCA9IHRleHQubGVuZ3RoO1xuXG4gICAgICAgICAgICAgICAgdGV4dCA9IGNvbnRlbnQucmVwbGFjZSgvPFxcLyhwfGRpdnxicnxsaXxoWzEtNl0pPi9naSwgJyAnKS5yZXBsYWNlKC88W14+XSs+L2csICcnKTtcbiAgICAgICAgICAgICAgICB0aGlzLndvcmRzQ291bnQgPSAhdGV4dCA/IDAgOiB0ZXh0LnRyaW0oKS5zcGxpdChyZWdleCkuZmlsdGVyKHQgPT4gdCAhPT0gJycpLmxlbmd0aDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFyYWN0ZXJzQ291bnQgPSAwO1xuICAgICAgICAgICAgICAgIHRoaXMud29yZHNDb3VudCA9IDA7XG4gICAgICAgICAgICAgICAgdGhpcy5ieXRlc0NvdW50ID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZvcm1hdCA9PT0gJ2pzb24nKSB7XG4gICAgICAgICAgICBpZiAoY29udGVudCAmJiB0aGlzLnF1aWxsKSB7XG4gICAgICAgICAgICAgICAgdGV4dCA9IHRoaXMuc3RyaXBIdG1sKHRoaXMucXVpbGwucm9vdC5pbm5lckhUTUwpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhcmFjdGVyc0NvdW50ID0gdGV4dC5sZW5ndGg7XG4gICAgXG4gICAgICAgICAgICAgICAgdGV4dCA9IHRoaXMucXVpbGwucm9vdC5pbm5lckhUTUwucmVwbGFjZSgvPFxcLyhwfGRpdnxicnxsaXxoWzEtNl0pPi9naSwgJyAnKS5yZXBsYWNlKC88W14+XSs+L2csICcnKTtcbiAgICAgICAgICAgICAgICB0aGlzLndvcmRzQ291bnQgPSAhdGV4dCA/IDAgOiB0ZXh0LnRyaW0oKS5zcGxpdChyZWdleCkuZmlsdGVyKHQgPT4gdCAhPT0gJycpLmxlbmd0aDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFyYWN0ZXJzQ291bnQgPSAwO1xuICAgICAgICAgICAgICAgIHRoaXMud29yZHNDb3VudCA9IDA7XG4gICAgICAgICAgICAgICAgdGhpcy5ieXRlc0NvdW50ID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICB0aGlzLmNoYXJhY3RlcnNDb3VudENoYW5nZS5lbWl0KHRoaXMuY2hhcmFjdGVyc0NvdW50KTtcbiAgICAgICAgdGhpcy53b3Jkc0NvdW50Q2hhbmdlLmVtaXQodGhpcy53b3Jkc0NvdW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0cmlwSHRtbChjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCByZWdleCA9IC8oPChbXj5dKyk+KS9nbTtcbiAgICAgICAgY29uc3QgY29udGVudFRvUmVwbGFjZSA9IGNvbnRlbnQucmVwbGFjZShyZWdleCwgJycpO1xuICAgICAgICByZXR1cm4gY29udGVudFRvUmVwbGFjZS5yZXBsYWNlKC9bXFx1MjAwQi1cXHUyMDBEXFx1RkVGRl0vZywgJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYW5IdG1sKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRUb1JlcGxhY2UgPSBjb250ZW50LnJlcGxhY2UoLzxbXj5dKj4vZywgJycpO1xuICAgICAgICByZXR1cm4gY29udGVudFRvUmVwbGFjZS5yZXBsYWNlKC9bXFx1MjAwQi1cXHUyMDBEXFx1RkVGRl0vZywgJycpO1xuICAgIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2V1aUVkaXRvckN1c3RvbVRvb2xiYXInIH0pXG5leHBvcnQgY2xhc3MgRXVpRWRpdG9yQ3VzdG9tVG9vbGJhclRhZ0RpcmVjdGl2ZSB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGVsZW1lbnRDbGFzcyA9ICdldWktZWRpdG9yLWN1c3RvbS10b29sYmFyJztcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxufVxuLyogZXNsaW50LWVuYWJsZSAqL1xuXG4vKipcbiAqIFBpcGUgdG8gcmVtb3ZlIGNsYXNzZXMgZnJvbSB0aGUgZWRpdG9yXG4gKi9cbkBQaXBlKHsgbmFtZTogJ2NsYXNzRmlsdGVyJyB9KVxuZXhwb3J0IGNsYXNzIENsYXNzRmlsdGVyUGlwZSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgICAgIC5yZXBsYWNlKC9ldWktZWRpdG9yLXdyYXBwZXIvZywgJycpXG4gICAgICAgICAgICAucmVwbGFjZSgvZXVpLWVkaXRvci0tcmVhZG9ubHkvZywgJycpXG4gICAgICAgICAgICAucmVwbGFjZSgvZXVpLWVkaXRvci0tZW1wdHkvZywgJycpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJyZWFkeVRvUmVuZGVyXCI+XG48IS0tIE5PVEU6IFdlIG5lZWQgdG8gY3JlYXRlIHRoZSBlZGl0b3IgaW5zdGFuY2UgZXZlbiBmb3IgcmVhZG9ubHkgbW9kZS5cbiAgICAgVGhpcyBpcyBiZWNhdXNlIHdlIHJlbHkgb24gdGhlIGVkaXRvciB0byBmb3JtYXQgSFRNTC9KU09OIGNvbnRlbnRcbiAgICAgaW50byBhIHByb3Blcmx5IHN0cnVjdHVyZWQgSFRNTCBvdXRwdXQgdGhhdCBjYW4ndCBiZSBkb25lIGFub3RoZXIgd2F5LlxuICAgICBGdXR1cmUgaW1wcm92ZW1lbnQ6IENvbnNpZGVyIGNvbXBsZXRlbHkgcmVwbGFjaW5nIFF1aWxsIHdpdGggYVxuICAgICBtYXJrZG93bi1vbmx5IGVkaXRvciwgd2hpY2ggd291bGQgYmUgYSBiZXR0ZXIgc29sdXRpb24uIC0tPlxuPCEtLUBpZiAoIWlzUmVhZE9ubHkpIHstLT5cbiAgICA8cXVpbGwtZWRpdG9yXG4gICAgICAgIFtuZ1N0eWxlXT1cIntkaXNwbGF5OiBpc1JlYWRPbmx5ID8gJ25vbmUnIDogbnVsbH1cIlxuICAgICAgICBbaWRdPVwiZ2VuZXJhdGVkSWRcIlxuICAgICAgICBjbGFzcz1cInt7IGNsYXNzIHwgY2xhc3NGaWx0ZXIgfX1cIlxuICAgICAgICBbY2xhc3MuZXVpLWVkaXRvci0tZm9jdXNlZF09XCJpc0ZvY3VzZWRcIlxuICAgICAgICBbZm9ybWF0XT1cImZvcm1hdFwiXG4gICAgICAgIFtmb3JtYXRzXT1cImZvcm1hdHNcIlxuICAgICAgICBbc2FuaXRpemVdPVwidHJ1ZVwiXG4gICAgICAgIFttb2R1bGVzXT1cIm1vZHVsZXNcIlxuICAgICAgICBbdGhlbWVdPVwidGhlbWVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbY3VzdG9tVG9vbGJhclBvc2l0aW9uXT1cImN1c3RvbVRvb2xiYXJQb3NpdGlvblwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgIFtkZWJ1Z109XCJkZWJ1Z1wiXG4gICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgIFtwcmVzZXJ2ZVdoaXRlc3BhY2VdPVwidHJ1ZVwiXG4gICAgICAgIFtoYXNJbWFnZUZlYXR1cmVdPVwiaGFzSW1hZ2VGZWF0dXJlXCJcbiAgICAgICAgKG9uRWRpdG9yQ3JlYXRlZCk9XCJfb25FZGl0b3JDcmVhdGVkKCRldmVudClcIlxuICAgICAgICAob25FZGl0b3JDaGFuZ2VkKT1cIl9vbkVkaXRvckNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIChvbkNvbnRlbnRDaGFuZ2VkKT1cIl9vbkNvbnRlbnRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2VkKT1cIl9vblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIChvbkZvY3VzKT1cIl9vbkZvY3VzKCRldmVudClcIlxuICAgICAgICAob25CbHVyKT1cIl9vbkJsdXIoJGV2ZW50KVwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWV1aUVkaXRvckN1c3RvbVRvb2xiYXJcIiBxdWlsbC1lZGl0b3ItdG9vbGJhciBjbGFzcz1cImV1aS11LWZsZXgtZ2FwLXNcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuaGVhZGluZ3NcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtZm9ybWF0c1wiXG4gICAgICAgICAgICAgICAgcm9sZT1cImFwcGxpY2F0aW9uXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VsZWN0IGhlYWRpbmdzIHN0eWxlXCJcbiAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5oZWFkaW5ncy5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1oZWFkZXJcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuaGVhZGluZ3MubGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInt7IHZhbHVlIH19XCIgKm5nRm9yPVwibGV0IHZhbHVlIG9mIHRvb2xiYXJDb25maWcuaGVhZGluZ3Mub3B0aW9uc1wiPkhlYWRpbmcge3sgdmFsdWUgfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD5Ob3JtYWw8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5mb250XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWZvcm1hdHNcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJhcHBsaWNhdGlvblwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlbGVjdCBmb250IHN0eWxlXCJcbiAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5mb250LmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWZvbnRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuZm9udC5sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPlNhbnMgU2VyaWY8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInNlcmlmXCI+U2VyaWY8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIm1vbm9zcGFjZVwiPk1vbm9zcGFjZTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidG9vbGJhckNvbmZpZy5ib2xkIHx8IHRvb2xiYXJDb25maWcuaXRhbGljIHx8IHRvb2xiYXJDb25maWcudW5kZXJsaW5lIHx8IHRvb2xiYXJDb25maWcuc3RyaWtlXCIgY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuYm9sZFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtYm9sZFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuYm9sZC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmJvbGQubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5pdGFsaWNcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWl0YWxpY1wiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuaXRhbGljLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuaXRhbGljLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcudW5kZXJsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC11bmRlcmxpbmVcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLnVuZGVybGluZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLnVuZGVybGluZS5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLnN0cmlrZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtc3RyaWtlXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5zdHJpa2UubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5zdHJpa2UubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRvb2xiYXJDb25maWcuZm9udENvbG9yIHx8IHRvb2xiYXJDb25maWcuZm9udEJhY2tncm91bmRcIiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInRvb2xiYXJDb25maWcuZm9udENvbG9yXCIgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuZm9udENvbG9yLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1jb2xvclwiIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5mb250Q29sb3IubGFiZWxcIj48L3NlbGVjdD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmZvbnRCYWNrZ3JvdW5kXCIgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuZm9udEJhY2tncm91bmQubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWJhY2tncm91bmRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuZm9udEJhY2tncm91bmQubGFiZWxcIj48L3NlbGVjdD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLnN1YnNjcmlwdCB8fCB0b29sYmFyQ29uZmlnLnN1cGVyc2NyaXB0XCIgY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuc3Vic2NyaXB0XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1zY3JpcHRcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInN1YlwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuc3Vic2NyaXB0LmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuc3Vic2NyaXB0LmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuc3VwZXJzY3JpcHRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLXNjcmlwdFwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPVwic3VwZXJcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLnN1cGVyc2NyaXB0LmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuc3VwZXJzY3JpcHQubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRvb2xiYXJDb25maWcudGV4dEFsaWduXCIgY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcudGV4dEFsaWduLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1hbGlnblwiIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy50ZXh0QWxpZ24ubGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiY2VudGVyXCI+PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwicmlnaHRcIj48L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJqdXN0aWZ5XCI+PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5vcmRlcmVkTGlzdCB8fCB0b29sYmFyQ29uZmlnLmJ1bGxldExpc3QgfHwgdG9vbGJhckNvbmZpZy5pbmRlbnRMZXNzIHx8IHRvb2xiYXJDb25maWcuaW5kZW50TW9yZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcub3JkZXJlZExpc3RcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cIm9yZGVyZWRcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLm9yZGVyZWRMaXN0LmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcub3JkZXJlZExpc3QubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5idWxsZXRMaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJidWxsZXRcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmJ1bGxldExpc3QubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5idWxsZXRMaXN0LmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmluZGVudExlc3NcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWluZGVudFwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPVwiLTFcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuaW5kZW50TGVzcy5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmluZGVudExlc3MubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuaW5kZW50TW9yZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtaW5kZW50XCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCIrMVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5pbmRlbnRNb3JlLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuaW5kZW50TW9yZS5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgdG9vbGJhckNvbmZpZy5ibG9ja3F1b3RlIHx8XG4gICAgICAgICAgICAgICAgICAgIHRvb2xiYXJDb25maWcuY29kZUJsb2NrIHx8XG4gICAgICAgICAgICAgICAgICAgIHRvb2xiYXJDb25maWcubGluayB8fFxuICAgICAgICAgICAgICAgICAgICB0b29sYmFyQ29uZmlnLmltYWdlIHx8XG4gICAgICAgICAgICAgICAgICAgIHRvb2xiYXJDb25maWcuaW1hZ2VVcmwgfHxcbiAgICAgICAgICAgICAgICAgICAgdG9vbGJhckNvbmZpZy52aWRlbyB8fFxuICAgICAgICAgICAgICAgICAgICB0b29sYmFyQ29uZmlnLnRhYmxlXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWZvcm1hdHNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5ibG9ja3F1b3RlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1ibG9ja3F1b3RlXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5ibG9ja3F1b3RlLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuYmxvY2txdW90ZS5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmNvZGVCbG9ja1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtY29kZS1ibG9ja1wiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuY29kZUJsb2NrLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuY29kZUJsb2NrLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcubGlua1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtbGlua1wiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcubGluay5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmxpbmsubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5pbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtaW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmltYWdlLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuaW1hZ2UubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuaW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuaW1hZ2VVcmwubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5pbWFnZVVybC5sYWJlbCB9fVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpbWFnZVVybEhhbmRsZXIoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJldWktZWNsLWltYWdlXCIgc2l6ZT1cInNcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy52aWRlb1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtdmlkZW9cIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLnZpZGVvLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcudmlkZW8ubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcudGFibGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcudGFibGUubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy50YWJsZS5sYWJlbCB9fVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpbnNlcnRUYWJsZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1lY2wtc3ByZWFkc2hlZXRcIiBzaXplPVwic1wiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidG9vbGJhckNvbmZpZy5jbGVhbiB8fCB0b29sYmFyQ29uZmlnLmRlbGV0ZVwiIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmNsZWFuXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1jbGVhblwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuY2xlYW4ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5jbGVhbi5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5kZWxldGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuZGVsZXRlLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuZGVsZXRlLmxhYmVsIH19XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRvckRlbGV0ZUNvbnRlbnQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJldWktZWNsLXRyYXNoXCIgc2l6ZT1cInNcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRvb2xiYXJDb25maWcudW5kbyB8fCB0b29sYmFyQ29uZmlnLnJlZG9cIiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcudW5kb1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy51bmRvLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcudW5kby5sYWJlbCB9fVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0b3JVbmRvKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiYXJyb3ctdW5kbzpvdXRsaW5lXCIgc2l6ZT1cInNcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcucmVkb1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5yZWRvLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcucmVkby5sYWJlbCB9fVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0b3JSZWRvKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiYXJyb3ctcmVkbzpvdXRsaW5lXCIgc2l6ZT1cInNcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRvb2xiYXJDb25maWcuY291bnRlcnNcIiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cbiAgICAgICAgICAgICAgICA8ZXVpLWVkaXRvci1jb3VudGVyc1xuICAgICAgICAgICAgICAgICAgICBbaGFzQ2hhcmFjdGVyc0NvdW50ZXJdPVwiaGFzQ2hhcmFjdGVyc0NvdW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2hhcmFjdGVyc0NvdW50ZXJdPVwiY2hhcmFjdGVyc0NvdW50XCJcbiAgICAgICAgICAgICAgICAgICAgW2NoYXJhY3RlcnNMYWJlbF09XCJjaGFyYWN0ZXJzQ291bnRlckxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2hhc1dvcmRzQ291bnRlcl09XCJoYXNXb3Jkc0NvdW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbd29yZHNDb3VudGVyXT1cIndvcmRzQ291bnRcIlxuICAgICAgICAgICAgICAgICAgICBbd29yZHNMYWJlbF09XCJ3b3Jkc0NvdW50ZXJMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5jb3VudGVycy5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5jb3VudGVycy5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvZXVpLWVkaXRvci1jb3VudGVycz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImV1aUVkaXRvckN1c3RvbVRvb2xiYXJcIiBxdWlsbC1lZGl0b3ItdG9vbGJhciBjbGFzcz1cInFsLXRvb2xiYXIgcWwtc25vd1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpRWRpdG9yQ3VzdG9tVG9vbGJhclwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9xdWlsbC1lZGl0b3I+XG48IS0tIFJFQURPTkxZIE1PREUgLS0+XG5AaWYgKGlzUmVhZE9ubHkpIHtcbiAgICA8ZXVpLWVkaXRvci1odG1sLXZpZXcgKm5nSWY9XCJmb3JtYXQgPT09ICdodG1sJ1wiIFtjb250ZW50XT1cInZhbHVlXCIgW3RoZW1lXT1cInRoZW1lXCI+PC9ldWktZWRpdG9yLWh0bWwtdmlldz5cbiAgICA8ZXVpLWVkaXRvci1qc29uLXZpZXcgKm5nSWY9XCJmb3JtYXQgPT09ICdqc29uJ1wiIFtjb250ZW50XT1cImpzb25Ub0h0bWxDb250ZW50XCIgW3RoZW1lXT1cInRoZW1lXCI+PC9ldWktZWRpdG9yLWpzb24tdmlldz5cbn1cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"eui-autocomplete.component.d.ts","sourceRoot":"","sources":["../../eui-autocomplete/eui-autocomplete.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-autocomplete.component.d.ts","sourceRoot":"","sources":["../../eui-autocomplete/eui-autocomplete.component.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ export declare class EuiDropdownComponent implements OnInit, OnDestroy, AfterVie
32
32
  euiDropdownItems: QueryList<Highlightable & EuiDropdownItemComponent>;
33
33
  trapFocusAutoCapture: boolean;
34
34
  parentDropdown: EuiDropdownComponent;
35
+ protected isOpened: import("@angular/core").WritableSignal<boolean>;
35
36
  private mousePositionX;
36
37
  private mousePositionY;
37
38
  private initialScrollX;
@@ -43,7 +44,6 @@ export declare class EuiDropdownComponent implements OnInit, OnDestroy, AfterVie
43
44
  private templatePortal;
44
45
  private overlayRef;
45
46
  private destroy$;
46
- private isOpen$;
47
47
  private scrollDispatcherSubscription;
48
48
  private keydownListenerSubscription;
49
49
  private euiDropdownItemsEventSubscriptions;
@@ -60,6 +60,8 @@ export declare class EuiDropdownComponent implements OnInit, OnDestroy, AfterVie
60
60
  /**
61
61
  * Whether the eui-dropdown is open.
62
62
  *
63
+ * @deprecated This property will be removed in the future. Use `isOpened` signal instead.
64
+ *
63
65
  * @usageNotes
64
66
  * ```html
65
67
  * <eui-dropdown #dropdown>
@@ -1 +1 @@
1
- {"version":3,"file":"eui-dropdown.component.d.ts","sourceRoot":"","sources":["../../eui-dropdown/eui-dropdown.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-dropdown.component.d.ts","sourceRoot":"","sources":["../../eui-dropdown/eui-dropdown.component.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"eui-popover.component.d.ts","sourceRoot":"","sources":["../../eui-popover/eui-popover.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,MAAM,EAEN,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EAEhB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACH,OAAO,EAIP,gBAAgB,EAGnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAmB,UAAU,EAAyB,MAAM,MAAM,CAAC;AAG1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAyC,MAAM,qCAAqC,CAAC;;;AAEhH,qBAqBa,mBAAoB,YAAW,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IA6BvE,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,mBAAmB;IA/B9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,kBAAkB,CAAY;IACjD,yFAAyF;IAChF,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,CAAa;IAC3F,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,gBAAgB,GAAG,eAAe,CAAa;IAC1E,KAAK,EAAE,MAAM,CAAQ;IACU,WAAW,UAAS;IACpB,cAAc,UAAQ;IACtB,aAAa,UAAQ;IAEnD,YAAY,oBAAsB;IAClC,WAAW,oBAAsB;IACjC,YAAY,oBAAsB;IAErC,SAAS,EAAE,UAAU,CAAC,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;IAExB,qBAAqB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAEhF,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,OAAO,CAAiE;IAChF,OAAO,CAAC,4BAA4B,CAAsB;IAC1D,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,iBAAiB,CAAwD;IACjF,OAAO,CAAC,gBAAgB,CAAoC;IAC5D,OAAO,CAAC,uBAAuB,CAAgC;gBAE3C,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB;IAG5D,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAYnC,QAAQ,IAAI,IAAI;IAIhB,eAAe,IAAI,IAAI;IAIvB,WAAW,IAAI,IAAI;IAQnB,iFAAiF;IACjF,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAEM,eAAe,IAAI,IAAI;IAM9B;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IA2C5C;;OAEG;IACI,YAAY,IAAI,IAAI;IAQ3B;;;;;OAKG;IACI,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAM5C,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,iBAAiB;yCAtLhB,mBAAmB;2CAAnB,mBAAmB;0CAoM6v7B,OAAQ;6CAAR,OAAQ;4CAAR,OAAQ;CADpy7B"}
1
+ {"version":3,"file":"eui-popover.component.d.ts","sourceRoot":"","sources":["../../eui-popover/eui-popover.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,MAAM,EAEN,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EAEhB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACH,OAAO,EAIP,gBAAgB,EAGnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAmB,UAAU,EAAyB,MAAM,MAAM,CAAC;AAG1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAyC,MAAM,qCAAqC,CAAC;;;AAEhH,qBAqBa,mBAAoB,YAAW,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IA6BvE,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,mBAAmB;IA/B9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,kBAAkB,CAAY;IACjD,yFAAyF;IAChF,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,CAAa;IAC3F,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,gBAAgB,GAAG,eAAe,CAAa;IAC1E,KAAK,EAAE,MAAM,CAAQ;IACU,WAAW,UAAS;IACpB,cAAc,UAAQ;IACtB,aAAa,UAAQ;IAEnD,YAAY,oBAAsB;IAClC,WAAW,oBAAsB;IACjC,YAAY,oBAAsB;IAErC,SAAS,EAAE,UAAU,CAAC,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;IAExB,qBAAqB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAEhF,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,OAAO,CAAiE;IAChF,OAAO,CAAC,4BAA4B,CAAsB;IAC1D,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,iBAAiB,CAAwD;IACjF,OAAO,CAAC,gBAAgB,CAAoC;IAC5D,OAAO,CAAC,uBAAuB,CAAgC;gBAE3C,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB;IAG5D,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAYnC,QAAQ,IAAI,IAAI;IAIhB,eAAe,IAAI,IAAI;IAIvB,WAAW,IAAI,IAAI;IAQnB,iFAAiF;IACjF,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAEM,eAAe,IAAI,IAAI;IAM9B;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IA+C5C;;OAEG;IACI,YAAY,IAAI,IAAI;IAQ3B;;;;;OAKG;IACI,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAM5C,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,iBAAiB;yCA1LhB,mBAAmB;2CAAnB,mBAAmB;0CAwMyn7B,OAAQ;6CAAR,OAAQ;4CAAR,OAAQ;CADhq7B"}
@@ -83,6 +83,7 @@ export declare class EuiEditorComponent implements ControlValueAccessor, OnInit,
83
83
  get hasImageFeature(): boolean;
84
84
  _onEditorCreated(quill: typeof QuillType): void;
85
85
  _onEditorChanged(event: EditorChangeSelection | ContentChange | Event): void;
86
+ private _internalChange;
86
87
  _onContentChanged(event: ContentChange): void;
87
88
  _onSelectionChanged(event: SelectionChange): void;
88
89
  _onFocus(event: Focus): void;
@@ -1 +1 @@
1
- {"version":3,"file":"eui-editor.component.d.ts","sourceRoot":"","sources":["../../../externals/eui-editor/eui-editor.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,YAAY,EAGZ,MAAM,EAIN,SAAS,EAIT,UAAU,EAGV,iBAAiB,EACjB,SAAS,EACT,aAAa,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAa,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE9E,OAAO,EAAyB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAO5E,OAAO,EAAmB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAqB,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;;AAP3J,QAAA,MAAM,SAAS,EAAE,GAAqB,CAAC;AAYvC,qBAYa,kBAAmB,YAAW,oBAAoB,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;IA0J7E,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM;IA5J1B,IACI,KAAK,IAAI,MAAM,CAOlB;IACQ,OAAO,SAAgB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,SAAM;IACjB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAU;IACjC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAU;IAClC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAS;IAChD,qBAAqB,EAAE,KAAK,GAAG,QAAQ,CAAS;IAEhD,QAAQ,SAAO;IACf,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE1B,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;IAEzC,MAAM,EAAE,MAAM,CAAC;IAEd,YAAY,oBAAwC;IACpD,YAAY,sDAA6D;IACzE,aAAa,8BAAqC;IAClD,eAAe,gCAAuC;IACtD,KAAK,sBAA6B;IAClC,IAAI,qBAA4B;IAChC,qBAAqB,uBAA8B;IACnD,gBAAgB,uBAA8B;IAEvB,IAAI,EAAE,OAAO,CAAC;IAE/C,IACI,QAAQ,IAAI,MAAM,CAErB;IAEM,KAAK,EAAE,MAAM,GAAG,GAAG,CAAM;IACzB,eAAe,SAAK;IACpB,UAAU,SAAK;IACf,UAAU,SAAK;IACf,SAAS,UAAS;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAqB;IAC7C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YAAC,aAAa,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACjG,SAAS,CAAC,aAAa,EAAE,OAAO,CAAS;IAIzC,sBAAsB,EAAE,kCAAkC,CAAC;IAE3D,IACI,UAAU,IAAI,OAAO,CAExB;IACD,IAAI,UAAU,CAAC,KAAK,EAAE,YAAY,EAEjC;IACD,OAAO,CAAC,WAAW,CAAS;IAC5B,IACI,YAAY,IAAI,OAAO,CAE1B;IACD,IAAI,YAAY,CAAC,KAAK,EAAE,YAAY,EAEnC;IACD,OAAO,CAAC,aAAa,CAAQ;IAC7B,IACI,gBAAgB,IAAI,OAAO,CAE9B;IACD,IAAI,gBAAgB,CAAC,KAAK,EAHF,OAGE,EAEzB;IACD,OAAO,CAAC,iBAAiB,CAAS;IAClC,IACI,gBAAgB,IAAI,OAAO,CAE9B;IACD,IAAI,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAEvC;IACD,OAAO,CAAC,iBAAiB,CAAS;IAElC,IACI,SAAS,IAAI,OAAO,CAEvB;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,YAAY,EAEhC;IACD,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,oBAAoB,CAe1B;IACF,OAAO,CAAC,oBAAoB,CAmC1B;IACF,OAAO,CAAC,QAAQ,CAA0B;gBAEtB,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,aAAa;IAIzC,WAAW,CAAC,CAAC,EAAE,aAAa;IAM5B,QAAQ,IAAI,IAAI;IAiEhB,WAAW,IAAI,IAAI;IAOZ,mBAAmB,IAAI,IAAI;IAM3B,eAAe,IAAI,IAAI;IA0BvB,UAAU,IAAI,IAAI;IAIlB,UAAU,IAAI,IAAI;IAIlB,mBAAmB,IAAI,IAAI;IAa3B,WAAW,IAAI,IAAI;IAI1B,IAAI,eAAe,IAAI,OAAO,CAI7B;IAEM,gBAAgB,CAAC,KAAK,EAAE,OAAO,SAAS,GAAG,IAAI;IA0B/C,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,aAAa,GAAG,KAAK,GAAG,IAAI;IAK5E,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAuB7C,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAIjD,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAK5B,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAM1B,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAI/B,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAIhC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAsBtC,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,CAAC,QAAQ,CAAiB;IAEjC,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO,CAAC,kBAAkB;IAU1B,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,IAAI,sBAAsB,IAAI,MAAM,CAEnC;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,OAAO,CAAC,iBAAiB;IAoCzB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,SAAS;yCA7dR,kBAAkB;2CAAlB,kBAAkB;CAie9B;AAGD,qBACa,kCAAkC;IAGxB,UAAU,EAAE,UAAU;IAFnB,YAAY,SAA+B;gBAE9C,UAAU,EAAE,UAAU;yCAHhC,kCAAkC;2CAAlC,kCAAkC;CAI9C;AAGD;;GAEG;AACH,qBACa,eAAe;IACxB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;yCADvB,eAAe;uCAAf,eAAe;CAO3B"}
1
+ {"version":3,"file":"eui-editor.component.d.ts","sourceRoot":"","sources":["../../../externals/eui-editor/eui-editor.component.ts"],"names":[],"mappings":"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"}
@@ -377,7 +377,11 @@ class EuiAutocompleteComponent {
377
377
  panelClass: ['eui-autocomplete__panel-container', this.classList],
378
378
  });
379
379
  this.overlayRef.attach(this.templatePortal);
380
- document.querySelector('.cdk-overlay-container')?.classList.add('eui-18');
380
+ document.querySelectorAll('.cdk-overlay-container')?.forEach(el => {
381
+ if (!el.classList.contains('eui-18')) {
382
+ el.classList.add('eui-18');
383
+ }
384
+ });
381
385
  this.overlayRef
382
386
  .outsidePointerEvents()
383
387
  .pipe(takeUntil(this.destroy$))