@valtimo/zgw 12.6.0 → 12.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (17) hide show
  1. package/esm2022/lib/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.mjs +1 -1
  2. package/esm2022/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.mjs +6 -14
  3. package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader-edit-form.mjs +12 -1
  4. package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.mjs +15 -11
  5. package/esm2022/lib/modules/documenten-api/models/documenten-api-upload-field.model.mjs +2 -2
  6. package/fesm2022/valtimo-zgw.mjs +29 -22
  7. package/fesm2022/valtimo-zgw.mjs.map +1 -1
  8. package/lib/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.d.ts.map +1 -1
  9. package/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts +1 -1
  10. package/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts.map +1 -1
  11. package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader-edit-form.d.ts +18 -0
  12. package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader-edit-form.d.ts.map +1 -1
  13. package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.d.ts +6 -2
  14. package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.d.ts.map +1 -1
  15. package/lib/modules/documenten-api/models/documenten-api-upload-field.model.d.ts +1 -1
  16. package/lib/modules/documenten-api/models/documenten-api-upload-field.model.d.ts.map +1 -1
  17. package/package.json +1 -1
@@ -268,16 +268,10 @@ export class DocumentenApiMetadataModalComponent {
268
268
  }));
269
269
  }));
270
270
  this.documentTypeItems$ = combineLatest([
271
- this.route?.params || of(null),
272
- this.route?.firstChild?.params || of(null),
273
271
  this.valtimoModalService.documentDefinitionName$,
274
272
  this.informatieobjecttypeFormControl.valueChanges.pipe(startWith(this.informatieobjecttypeFormControl.value)),
275
- ]).pipe(filter(([params, firstChildParams, documentDefinitionName]) => !!(params?.documentDefinitionName ||
276
- firstChildParams?.documentDefinitionName ||
277
- documentDefinitionName)), switchMap(([params, firstChildParams, documentDefinitionName, informatieobjecttypeValue]) => combineLatest([
278
- this.documentService.getDocumentTypes(params?.documentDefinitionName ||
279
- firstChildParams?.documentDefinitionName ||
280
- documentDefinitionName),
273
+ ]).pipe(switchMap(([documentDefinitionName, informatieobjecttypeValue]) => combineLatest([
274
+ this.documentService.getDocumentTypes(documentDefinitionName),
281
275
  of(informatieobjecttypeValue),
282
276
  ])), map(([documentTypes, informatieobjecttypeValue]) => documentTypes.map((type) => ({
283
277
  id: type.url,
@@ -447,11 +441,9 @@ export class DocumentenApiMetadataModalComponent {
447
441
  }));
448
442
  }
449
443
  openDocumentDefinitionSubscription() {
450
- this._subscriptions.add(this.route?.params
451
- .pipe(map(params => params?.documentDefinitionName), filter(documentDefinitionName => documentDefinitionName))
452
- .subscribe(documentDefinitionName => {
453
- this.valtimoModalService.setDocumentDefinitionName(documentDefinitionName);
454
- }));
444
+ this._subscriptions.add(combineLatest([this.route?.params || of(null), this.route?.firstChild?.params || of(null)])
445
+ .pipe(map(([params, firstChildParams]) => (params?.documentDefinitionName || firstChildParams?.documentDefinitionName)), filter(documentDefinitionName => !!documentDefinitionName))
446
+ .subscribe(documentDefinitionName => this.valtimoModalService.setDocumentDefinitionName(documentDefinitionName)));
455
447
  }
456
448
  setAdditionalDate(value) {
457
449
  this.additionalDocumentDate$.next(value);
@@ -533,4 +525,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
533
525
  }], modalClose: [{
534
526
  type: Output
535
527
  }] } });
536
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby96Z3cvc3JjL2xpYi9tb2R1bGVzL2RvY3VtZW50ZW4tYXBpL2NvbXBvbmVudHMvZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWwvZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby96Z3cvc3JjL2xpYi9tb2R1bGVzL2RvY3VtZW50ZW4tYXBpL2NvbXBvbmVudHMvZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWwvZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFTbkcsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsTUFBTSxFQUNOLElBQUksRUFDSixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxPQUFPLEVBQ1AsWUFBWSxFQUNaLFNBQVMsRUFDVCxJQUFJLEdBQ0wsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUMsZUFBZSxFQUFtQixNQUFNLHFCQUFxQixDQUFDO0FBSXRFLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUlMLG1CQUFtQixFQUNuQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsZ0JBQWdC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VUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEFkZGl0aW9uYWxEb2N1bWVudERhdGUsXG4gIENvbmZpZGVudGlhbGl0eUxldmVsLFxuICBEb2N1bWVudGVuQXBpTWV0YWRhdGEsXG4gIERvY3VtZW50TGFuZ3VhZ2UsXG4gIERvY3VtZW50U3RhdHVzLFxufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBmaWx0ZXIsXG4gIGZyb20sXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgU3ViamVjdCxcbiAgU3Vic2NyaXB0aW9uLFxuICBzd2l0Y2hNYXAsXG4gIHRha2UsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge0tleWNsb2FrU2VydmljZX0gZnJvbSAna2V5Y2xvYWstYW5ndWxhcic7XG5pbXBvcnQge3RhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEZvcm1CdWlsZGVyLFxuICBGb3JtR3JvdXAsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIElucHV0TGFiZWxNb2R1bGUsXG4gIElucHV0TW9kdWxlLFxuICBNb2RhbFNlcnZpY2UsXG4gIFNlbGVjdE1vZHVsZSxcbiAgVmFsdGltb01vZGFsU2VydmljZSxcbiAgVk1vZGFsQ29tcG9uZW50LFxuICBWTW9kYWxNb2R1bGUsXG59IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuXG5pbXBvcnQge1xuICBCdXR0b25Nb2R1bGUsXG4gIENvbWJvQm94TW9kdWxlLFxuICBEYXRlUGlja2VyTW9kdWxlLFxuICBEcm9wZG93bk1vZHVsZSxcbiAgSWNvbk1vZHVsZSxcbiAgSW5wdXRNb2R1bGUgYXMgQ2FyYm9uSW5wdXRNb2R1bGUsXG4gIExpc3RJdGVtLFxuICBNb2RhbE1vZHVsZSxcbiAgUmFkaW9Nb2R1bGUsXG4gIFRhZ01vZHVsZSxcbiAgVG9vbHRpcE1vZHVsZSxcbn0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0RvY3VtZW50ZW5BcGlUYWdTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kb2N1bWVudGVuLWFwaS10YWcuc2VydmljZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge0RvY3VtZW50ZW5BcGlVcGxvYWRGaWVsZERlZmF1bHRWYWx1ZXN9IGZyb20gXCIuLi8uLi9tb2RlbHMvZG9jdW1lbnRlbi1hcGktdXBsb2FkLWZpZWxkLm1vZGVsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudGVuLWFwaS1tZXRhZGF0YS1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIENhcmJvbklucHV0TW9kdWxlLFxuICAgIENvbWJvQm94TW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEYXRlUGlja2VyTW9kdWxlLFxuICAgIERyb3Bkb3duTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgSW5wdXRMYWJlbE1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBNb2RhbE1vZHVsZSxcbiAgICBSYWRpb01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbiAgICBUYWdNb2R1bGUsXG4gICAgVG9vbHRpcE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgVk1vZGFsTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb2N1bWVudGVuQXBpTWV0YWRhdGFNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnbWV0YWRhdGFNb2RhbCcpIG1ldGFkYXRhTW9kYWw6IFZNb2RhbENvbXBvbmVudDtcblxuICBASW5wdXQoKSBkaXNhYmxlZCQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBASW5wdXQoKSBmaWxlJCE6IE9ic2VydmFibGU8YW55PjtcblxuICBASW5wdXQoKSBoaWRlRmllbGRzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gIEBJbnB1dCgpIGRlZmF1bHRWYWx1ZXM6IERvY3VtZW50ZW5BcGlVcGxvYWRGaWVsZERlZmF1bHRWYWx1ZXMgPSB7fTtcbiAgQElucHV0KCkgc2V0IGRpc2FibGVBdXRob3IodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuYXV0ZXVyLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hdXRldXIuZW5hYmxlKCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlQ29uZmlkZW50aWFsaXR5TGV2ZWwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuY29uZmlkZW50aWFsaXR5TGV2ZWxGb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29uZmlkZW50aWFsaXR5TGV2ZWxGb3JtQ29udHJvbC5lbmFibGUoKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgc2V0IGRpc2FibGVEZXNjcmlwdGlvbih2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5iZXNjaHJpanZpbmcuZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJlc2NocmlqdmluZy5lbmFibGUoKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgc2V0IGRpc2FibGVEb2N1bWVudFRpdGxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnRpdGVsLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50aXRlbC5lbmFibGUoKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgc2V0IGRpc2FibGVEb2N1bWVudFR5cGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuaW5mb3JtYXRpZW9iamVjdHR5cGVGb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5mb3JtYXRpZW9iamVjdHR5cGVGb3JtQ29udHJvbC5lbmFibGUoKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgc2V0IGRpc2FibGVGaWxlbmFtZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5iZXN0YW5kc25hYW0uZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJlc3RhbmRzbmFhbS5lbmFibGUoKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgc2V0IGRpc2FibGVMYW5ndWFnZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5sYW5ndWFnZUZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sYW5ndWFnZUZvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSBzZXQgZGlzYWJsZVN0YXR1cyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5zdGF0dXNGb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RhdHVzRm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIHN1cHBvcnRzVHJlZndvb3JkZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2V0IGRpc2FibGVDcmVhdGlvbkRhdGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuY3JlYXRpZWRhdHVtLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGllZGF0dW0uZW5hYmxlKCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIGlzRWRpdE1vZGU6IGJvb2xlYW47XG5cbiAgcHVibGljIHJlYWRvbmx5IG9wZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgQElucHV0KCkgc2V0IG9wZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm9wZW4kLm5leHQodmFsdWUpO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuTW9kYWwodGhpcy5tZXRhZGF0YU1vZGFsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2VNb2RhbCgpO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKSBtZXRhZGF0YTogRXZlbnRFbWl0dGVyPERvY3VtZW50ZW5BcGlNZXRhZGF0YT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBtb2RhbENsb3NlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGZpbGVuYW1lRXh0ZW5zaW9uOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIGRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm06IEZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIGJlc3RhbmRzbmFhbTogdGhpcy5mYi5jb250cm9sKCcnKSxcbiAgICB0aXRlbDogdGhpcy5mYi5jb250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICBhdXRldXI6IHRoaXMuZmIuY29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgYmVzY2hyaWp2aW5nOiB0aGlzLmZiLmNvbnRyb2woJycpLFxuICAgIHRhYWw6IHRoaXMuZmIuY29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgaW5mb3JtYXRpZW9iamVjdHR5cGU6IHRoaXMuZmIuY29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgc3RhdHVzOiB0aGlzLmZiLmNvbnRyb2woJycpLFxuICAgIHZlcnRyb3V3ZWxpamtoZWlkYWFuZHVpZGluZzogdGhpcy5mYi5jb250cm9sKCcnKSxcbiAgICBjcmVhdGllZGF0dW06IHRoaXMuZmIuY29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgb250dmFuZ3N0ZGF0dW06IHRoaXMuZmIuY29udHJvbCgnJyksXG4gICAgdmVyemVuZGRhdHVtOiB0aGlzLmZiLmNvbnRyb2woJycpLFxuICAgIHRyZWZ3b29yZGVuOiB0aGlzLmZiLmNvbnRyb2woW10pLFxuICB9KTtcblxuICBwdWJsaWMgZ2V0IGNvbmZpZGVudGlhbGl0eUxldmVsRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm0uZ2V0KCd2ZXJ0cm91d2VsaWpraGVpZGFhbmR1aWRpbmcnKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGNvbmZpZGVudGlhbGl0eUxldmVsRGlzYWJsZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZGVudGlhbGl0eUxldmVsRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5jb25maWRlbnRpYWxpdHlMZXZlbEZvcm1Db250cm9sLmRpc2FibGVkKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluZm9ybWF0aWVvYmplY3R0eXBlRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm0uZ2V0KCdpbmZvcm1hdGllb2JqZWN0dHlwZScpO1xuICB9XG4gIHB1YmxpYyBnZXQgaW5mb3JtYXRpZW9iamVjdHR5cGVEaXNhYmxlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5mb3JtYXRpZW9iamVjdHR5cGVGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmluZm9ybWF0aWVvYmplY3R0eXBlRm9ybUNvbnRyb2wuZGlzYWJsZWQpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFuZ3VhZ2VGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5nZXQoJ3RhYWwnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFuZ3VhZ2VEaXNhYmxlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmxhbmd1YWdlRm9ybUNvbnRyb2wuZGlzYWJsZWQpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdHVzRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm0uZ2V0KCdzdGF0dXMnKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHN0YXR1c0Rpc2FibGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXNGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmluZm9ybWF0aWVvYmplY3R0eXBlRm9ybUNvbnRyb2wuZGlzYWJsZWQpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGFnRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5nZXQoJ3RyZWZ3b29yZGVuJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNyZWF0aWVkYXR1bSgpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5nZXQoJ2NyZWF0aWVkYXR1bScpO1xuICB9XG5cbiAgcHVibGljIGdldCB0aXRlbCgpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5nZXQoJ3RpdGVsJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJlc2NocmlqdmluZygpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5nZXQoJ2Jlc2NocmlqdmluZycpO1xuICB9XG5cbiAgcHVibGljIGdldCBhdXRldXIoKTogQWJzdHJhY3RDb250cm9sPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm0uZ2V0KCdhdXRldXInKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYmVzdGFuZHNuYWFtKCk6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudGVuQXBpTWV0YWRhdGFGb3JtLmdldCgnYmVzdGFuZHNuYWFtJyk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgaXNEZWZpbml0aXZlU3RhdHVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHB1YmxpYyByZWFkb25seSBDT05GSURFTlRJQUxJVFlfTEVWRUxTOiBBcnJheTxDb25maWRlbnRpYWxpdHlMZXZlbD4gPSBbXG4gICAgJ29wZW5iYWFyJyxcbiAgICAnYmVwZXJrdF9vcGVuYmFhcicsXG4gICAgJ2ludGVybicsXG4gICAgJ3phYWt2ZXJ0cm91d2VsaWprJyxcbiAgICAndmVydHJvdXdlbGlqaycsXG4gICAgJ2NvbmZpZGVudGllZWwnLFxuICAgICdnZWhlaW0nLFxuICAgICd6ZWVyX2dlaGVpbScsXG4gIF07XG4gIHB1YmxpYyByZWFkb25seSBjb25maWRlbnRpYWxpdHlMZXZlbEl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxMaXN0SXRlbT4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5jb25maWRlbnRpYWxpdHlMZXZlbEZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuY29uZmlkZW50aWFsaXR5TGV2ZWxGb3JtQ29udHJvbC52YWx1ZSlcbiAgICApLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2N1cnJlbnRDb25maWRlbnRpYWxpdHlMZXZlbF0pID0+XG4gICAgICB0aGlzLkNPTkZJREVOVElBTElUWV9MRVZFTFMubWFwKGNvbmZpZGVudGlhbGl0eUxldmVsID0+ICh7XG4gICAgICAgIGlkOiBjb25maWRlbnRpYWxpdHlMZXZlbCxcbiAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGRvY3VtZW50LiR7Y29uZmlkZW50aWFsaXR5TGV2ZWx9YCksXG4gICAgICAgIHNlbGVjdGVkOiBjdXJyZW50Q29uZmlkZW50aWFsaXR5TGV2ZWwgPT09IGNvbmZpZGVudGlhbGl0eUxldmVsLFxuICAgICAgfSkpXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBBRERJVE9OQUxfRE9DVU1FTlRfREFURV9PUFRJT05TOiBBcnJheTx7XG4gICAgdmFsdWU6IEFkZGl0aW9uYWxEb2N1bWVudERhdGU7XG4gICAgdHJhbnNsYXRpb25LZXk6IHN0cmluZztcbiAgfT4gPSBbXG4gICAge1xuICAgICAgdmFsdWU6ICduZWl0aGVyJyxcbiAgICAgIHRyYW5zbGF0aW9uS2V5OiAnZG9jdW1lbnQubm9BZGRpdGlvbmFsRGF0ZScsXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ3NlbnQnLFxuICAgICAgdHJhbnNsYXRpb25LZXk6ICdkb2N1bWVudC5zZW5kRGF0ZScsXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ3JlY2VpdmVkJyxcbiAgICAgIHRyYW5zbGF0aW9uS2V5OiAnZG9jdW1lbnQucmVjZWlwdERhdGUnLFxuICAgIH0sXG4gIF07XG4gIHB1YmxpYyByZWFkb25seSBjbGVhclN0YXR1c1NlbGVjdGlvbiQgPSBuZXcgU3ViamVjdDxudWxsPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYWRkaXRpb25hbERvY3VtZW50RGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFkZGl0aW9uYWxEb2N1bWVudERhdGU+KCduZWl0aGVyJyk7XG4gIHB1YmxpYyByZWFkb25seSBTVEFUVVNFUzogQXJyYXk8RG9jdW1lbnRTdGF0dXM+ID0gW1xuICAgICdpbl9iZXdlcmtpbmcnLFxuICAgICd0ZXJfdmFzdHN0ZWxsaW5nJyxcbiAgICAnZGVmaW5pdGllZicsXG4gICAgJ2dlYXJjaGl2ZWVyZCcsXG4gIF07XG4gIHB1YmxpYyByZWFkb25seSBSRUNFSVBUX1NUQVRVU0VTOiBBcnJheTxEb2N1bWVudFN0YXR1cz4gPSBbJ2RlZmluaXRpZWYnLCAnZ2VhcmNoaXZlZXJkJ107XG4gIHB1YmxpYyByZWFkb25seSBmb3JtRGF0YSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERvY3VtZW50ZW5BcGlNZXRhZGF0YT4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBzdGF0dXNJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8TGlzdEl0ZW0+PiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuYWRkaXRpb25hbERvY3VtZW50RGF0ZSQsXG4gICAgdGhpcy5zdGF0dXNGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5zdGF0dXNGb3JtQ29udHJvbC52YWx1ZSkpLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIHRhcCgoW2FkZGl0aW9uYWxEb2N1bWVudERhdGUsIGN1cnJlbnRTdGF0dXNdKSA9PiB7XG4gICAgICB0aGlzLmZvcm1EYXRhJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShmb3JtRGF0YSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBhZGRpdGlvbmFsRG9jdW1lbnREYXRlID09PSAncmVjZWl2ZWQnICYmXG4gICAgICAgICAgKGZvcm1EYXRhLnN0YXR1cyA9PT0gJ2luX2Jld2Vya2luZycgfHwgZm9ybURhdGEuc3RhdHVzID09PSAndGVyX3Zhc3RzdGVsbGluZycpXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuY2xlYXJTdGF0dXNTZWxlY3Rpb24kLm5leHQobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pLFxuICAgIG1hcCgoW2FkZGl0aW9uYWxEb2N1bWVudERhdGUsIGN1cnJlbnRTdGF0dXNdKSA9PlxuICAgICAgKGFkZGl0aW9uYWxEb2N1bWVudERhdGUgPT09ICdyZWNlaXZlZCcgPyB0aGlzLlJFQ0VJUFRfU1RBVFVTRVMgOiB0aGlzLlNUQVRVU0VTKS5tYXAoXG4gICAgICAgIHN0YXR1cyA9PiAoe1xuICAgICAgICAgIGlkOiBzdGF0dXMsXG4gICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGRvY3VtZW50LiR7c3RhdHVzfWApLFxuICAgICAgICAgIHNlbGVjdGVkOiBjdXJyZW50U3RhdHVzID09PSBzdGF0dXMsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSB0YWdJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8TGlzdEl0ZW0+PiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMudmFsdGltb01vZGFsU2VydmljZS5kb2N1bWVudERlZmluaXRpb25OYW1lJCxcbiAgICB0aGlzLnRhZ0Zvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLnRhZ0Zvcm1Db250cm9sLnZhbHVlKSksXG4gIF0pLnBpcGUoXG4gICAgZmlsdGVyKChbZG9jdW1lbnREZWZpbml0aW9uTmFtZV0pID0+ICEhZG9jdW1lbnREZWZpbml0aW9uTmFtZSksXG4gICAgc3dpdGNoTWFwKChbZG9jdW1lbnREZWZpbml0aW9uTmFtZSwgdGFnRm9ybUNvbnRyb2xWYWx1ZV0pID0+XG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5kb2N1bWVudGVuQXBpVGFnU2VydmljZS5nZXRUYWdzKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpLFxuICAgICAgICBvZih0YWdGb3JtQ29udHJvbFZhbHVlKSxcbiAgICAgIF0pXG4gICAgKSxcbiAgICBtYXAoKFt0YWdzLCB0YWdGb3JtQ29udHJvbFZhbHVlXSkgPT5cbiAgICAgIHRhZ3MubWFwKHRhZyA9PiAoe1xuICAgICAgICBpZDogdGFnLnZhbHVlLFxuICAgICAgICBjb250ZW50OiB0YWcudmFsdWUsXG4gICAgICAgIHNlbGVjdGVkOiAhIXRhZ0Zvcm1Db250cm9sVmFsdWUgPyB0YWdGb3JtQ29udHJvbFZhbHVlLmluY2x1ZGVzKHRhZy52YWx1ZSkgOiBmYWxzZSxcbiAgICAgIH0pKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgTEFOR1VBR0VTOiBBcnJheTxEb2N1bWVudExhbmd1YWdlPiA9IFsnbmxkJywgJ2VuZycsICdkZXUnXTtcbiAgcHVibGljIGxhbmd1YWdlSXRlbXMkOiBPYnNlcnZhYmxlPEFycmF5PExpc3RJdGVtPj4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmxhbmd1YWdlRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMubGFuZ3VhZ2VGb3JtQ29udHJvbC52YWx1ZSkpLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2N1cnJlbnRMYW5ndWFnZV0pID0+IHtcbiAgICAgIHJldHVybiB0aGlzLkxBTkdVQUdFUy5tYXAoXG4gICAgICAgIChsYW5ndWFnZTogYW55KSA9PlxuICAgICAgICAgICh7XG4gICAgICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgZG9jdW1lbnQuJHtsYW5ndWFnZX1gKSxcbiAgICAgICAgICAgIGlkOiBsYW5ndWFnZSxcbiAgICAgICAgICAgIHNlbGVjdGVkOiBjdXJyZW50TGFuZ3VhZ2UgPT09IGxhbmd1YWdlLFxuICAgICAgICAgIH0pIGFzIExpc3RJdGVtXG4gICAgICApO1xuICAgIH0pXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50VHlwZUl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxMaXN0SXRlbT4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5yb3V0ZT8ucGFyYW1zIHx8IG9mKG51bGwpLFxuICAgIHRoaXMucm91dGU/LmZpcnN0Q2hpbGQ/LnBhcmFtcyB8fCBvZihudWxsKSxcbiAgICB0aGlzLnZhbHRpbW9Nb2RhbFNlcnZpY2UuZG9jdW1lbnREZWZpbml0aW9uTmFtZSQsXG4gICAgdGhpcy5pbmZvcm1hdGllb2JqZWN0dHlwZUZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuaW5mb3JtYXRpZW9iamVjdHR5cGVGb3JtQ29udHJvbC52YWx1ZSlcbiAgICApLFxuICBdKS5waXBlKFxuICAgIGZpbHRlcihcbiAgICAgIChbcGFyYW1zLCBmaXJzdENoaWxkUGFyYW1zLCBkb2N1bWVudERlZmluaXRpb25OYW1lXSkgPT5cbiAgICAgICAgISEoXG4gICAgICAgICAgcGFyYW1zPy5kb2N1bWVudERlZmluaXRpb25OYW1lIHx8XG4gICAgICAgICAgZmlyc3RDaGlsZFBhcmFtcz8uZG9jdW1lbnREZWZpbml0aW9uTmFtZSB8fFxuICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbk5hbWVcbiAgICAgICAgKVxuICAgICksXG4gICAgc3dpdGNoTWFwKChbcGFyYW1zLCBmaXJzdENoaWxkUGFyYW1zLCBkb2N1bWVudERlZmluaXRpb25OYW1lLCBpbmZvcm1hdGllb2JqZWN0dHlwZVZhbHVlXSkgPT5cbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXREb2N1bWVudFR5cGVzKFxuICAgICAgICAgIHBhcmFtcz8uZG9jdW1lbnREZWZpbml0aW9uTmFtZSB8fFxuICAgICAgICAgICAgZmlyc3RDaGlsZFBhcmFtcz8uZG9jdW1lbnREZWZpbml0aW9uTmFtZSB8fFxuICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZVxuICAgICAgICApLFxuICAgICAgICBvZihpbmZvcm1hdGllb2JqZWN0dHlwZVZhbHVlKSxcbiAgICAgIF0pXG4gICAgKSxcbiAgICBtYXAoKFtkb2N1bWVudFR5cGVzLCBpbmZvcm1hdGllb2JqZWN0dHlwZVZhbHVlXSkgPT5cbiAgICAgIGRvY3VtZW50VHlwZXMubWFwKCh0eXBlOiBhbnkpID0+ICh7XG4gICAgICAgIGlkOiB0eXBlLnVybCxcbiAgICAgICAgY29udGVudDogdHlwZS5uYW1lLFxuICAgICAgICBzZWxlY3RlZDogaW5mb3JtYXRpZW9iamVjdHR5cGVWYWx1ZSA9PT0gdHlwZS51cmwsXG4gICAgICB9KSlcbiAgICApXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSB1c2VyRW1haWwkID0gZnJvbSh0aGlzLmtleWNsb2FrU2VydmljZS5sb2FkVXNlclByb2ZpbGUoKSkucGlwZShcbiAgICBtYXAodXNlclByb2ZpbGUgPT4gdXNlclByb2ZpbGU/LmVtYWlsIHx8ICcnKVxuICApO1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgX2ZpbGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ZW5BcGlUYWdTZXJ2aWNlOiBEb2N1bWVudGVuQXBpVGFnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGtleWNsb2FrU2VydmljZTogS2V5Y2xvYWtTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdGltb01vZGFsU2VydmljZTogVmFsdGltb01vZGFsU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkZpbGVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5EaXNhYmxlZFN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlbkZpbGVuYW1lU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5vcGVuRG9jdW1lbnREZWZpbml0aW9uU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX2ZpbGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5pc0RlZmluaXRpdmVTdGF0dXMkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGxhbmd1YWdlU2VsZWN0ZWQoZXZlbnQ6IHtpdGVtOiB7aWQ6IHN0cmluZ319KSB7XG4gICAgaWYgKGV2ZW50Lml0ZW0uaWQpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgdGFhbDogZXZlbnQuaXRlbS5pZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0YWdzU2VsZWN0ZWQoZXZlbnQ6IEFycmF5PExpc3RJdGVtPikge1xuICAgIHRoaXMudGFnRm9ybUNvbnRyb2wucGF0Y2hWYWx1ZShldmVudC5maWx0ZXIodGFnID0+IHRhZy5zZWxlY3RlZCkubWFwKHRhZyA9PiB0YWcuaWQpKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWRlbnRpYWxpdHlMZXZlbFNlbGVjdGVkKGV2ZW50OiB7aWQ6IHN0cmluZ30pIHtcbiAgICBpZiAoZXZlbnQuaWQpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgdmVydHJvdXdlbGlqa2hlaWRhYW5kdWlkaW5nOiBldmVudC5pZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdGF0dXNTZWxlY3RlZChldmVudDoge2lkOiBzdHJpbmd9KSB7XG4gICAgaWYgKGV2ZW50LmlkKSB7XG4gICAgICB0aGlzLmRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgIHN0YXR1czogZXZlbnQuaWQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5mb3JtYXRpZW9iamVjdHR5cGVTZWxlY3RlZChldmVudDoge2l0ZW06IHtpZDogc3RyaW5nfX0pIHtcbiAgICBpZiAoZXZlbnQuaXRlbS5pZCkge1xuICAgICAgdGhpcy5kb2N1bWVudGVuQXBpTWV0YWRhdGFGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBpbmZvcm1hdGllb2JqZWN0dHlwZTogZXZlbnQuaXRlbS5pZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwcmVmaWxsRm9ybShmaWxlKSB7XG4gICAgdGhpcy5wcmVmaWxsRmlsZW5hbWVBbmRBdXRob3IoKTtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBiZXNjaHJpanZpbmcsXG4gICAgICAgIHRhYWwsXG4gICAgICAgIGluZm9ybWF0aWVvYmplY3R0eXBlLFxuICAgICAgICBzdGF0dXMsXG4gICAgICAgIHZlcnRyb3V3ZWxpamtoZWlkYWFuZHVpZGluZyxcbiAgICAgICAgb250dmFuZ3N0ZGF0dW0sXG4gICAgICAgIHZlcnplbmRkYXR1bSxcbiAgICAgICAgdHJlZndvb3JkZW4sXG4gICAgICB9ID0gZmlsZTtcblxuICAgICAgaWYgKHZlcnplbmRkYXR1bSkgdGhpcy5hZGRpdGlvbmFsRG9jdW1lbnREYXRlJC5uZXh0KCdzZW50Jyk7XG4gICAgICBlbHNlIGlmIChvbnR2YW5nc3RkYXR1bSkgdGhpcy5hZGRpdGlvbmFsRG9jdW1lbnREYXRlJC5uZXh0KCdyZWNlaXZlZCcpO1xuICAgICAgZWxzZSB0aGlzLmFkZGl0aW9uYWxEb2N1bWVudERhdGUkLm5leHQoJ25laXRoZXInKTtcblxuICAgICAgY29uc3QgcHJlZmlsbFN0YXR1cyA9IHRoaXMuZGVmYXVsdFZhbHVlcy5zdGF0dXMgfHwgc3RhdHVzO1xuICAgICAgY29uc3QgdmFsaWRQcmVmaWxsU3RhdHVzID0gdGhpcy5TVEFUVVNFUy5pbmNsdWRlcyhwcmVmaWxsU3RhdHVzKSA/IHByZWZpbGxTdGF0dXMgOiAnJztcblxuICAgICAgdGhpcy5kb2N1bWVudGVuQXBpTWV0YWRhdGFGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBiZXNjaHJpanZpbmc6IGJlc2NocmlqdmluZyB8fCB0aGlzLmRlZmF1bHRWYWx1ZXMuYmVzY2hyaWp2aW5nLFxuICAgICAgICB0YWFsOiB0YWFsIHx8IHRoaXMuZGVmYXVsdFZhbHVlcy50YWFsLFxuICAgICAgICBpbmZvcm1hdGllb2JqZWN0dHlwZTogaW5mb3JtYXRpZW9iamVjdHR5cGUgfHwgdGhpcy5kZWZhdWx0VmFsdWVzLmluZm9ybWF0aWVvYmplY3R0eXBlLFxuICAgICAgICBzdGF0dXM6IHZhbGlkUHJlZmlsbFN0YXR1cyxcbiAgICAgICAgdmVydHJvdXdlbGlqa2hlaWRhYW5kdWlkaW5nOlxuICAgICAgICAgIHZlcnRyb3V3ZWxpamtoZWlkYWFuZHVpZGluZyB8fCB0aGlzLmRlZmF1bHRWYWx1ZXMudmVydHJvdXdlbGlqa2hlaWRhYW5kdWlkaW5nLFxuICAgICAgICBvbnR2YW5nc3RkYXR1bSxcbiAgICAgICAgdmVyemVuZGRhdHVtLFxuICAgICAgICB0cmVmd29vcmRlbjogdHJlZndvb3JkZW4gfHwgdGhpcy5kZWZhdWx0VmFsdWVzLnRyZWZ3b29yZGVuLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtYXREYXRlKCdjcmVhdGllZGF0dW0nKTtcbiAgICB0aGlzLmZvcm1hdERhdGUoJ3ZlcnplbmRkYXR1bScpO1xuICAgIHRoaXMuZm9ybWF0RGF0ZSgnb250dmFuZ3N0ZGF0dW0nKTtcblxuICAgIGNvbnN0IHJhd1ZhbHVlID0gdGhpcy5kb2N1bWVudGVuQXBpTWV0YWRhdGFGb3JtLmdldFJhd1ZhbHVlKCk7XG4gICAgY29uc3QgbWFwcGVkUmF3VmFsdWUgPSBPYmplY3Qua2V5cyhyYXdWYWx1ZSkucmVkdWNlKFxuICAgICAgKGFjYywgY3VycmVudEtleSkgPT5cbiAgICAgICAgcmF3VmFsdWVbY3VycmVudEtleV0gIT09IHVuZGVmaW5lZCA/IHsuLi5hY2MsIFtjdXJyZW50S2V5XTogcmF3VmFsdWVbY3VycmVudEtleV19IDogYWNjLFxuICAgICAge31cbiAgICApIGFzIERvY3VtZW50ZW5BcGlNZXRhZGF0YTtcblxuICAgIGlmICh0aGlzLmRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm0udmFsaWQpIHRoaXMubWV0YWRhdGEuZW1pdChtYXBwZWRSYXdWYWx1ZSk7XG5cbiAgICB0aGlzLmNsb3NlTW9kYWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZU1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmNsb3NlTW9kYWwoKCkgPT4ge1xuICAgICAgdGhpcy5hZGRpdGlvbmFsRG9jdW1lbnREYXRlJC5uZXh0KCduZWl0aGVyJyk7XG4gICAgICB0aGlzLm1vZGFsQ2xvc2UuZW1pdCgpO1xuICAgICAgdGhpcy5jbGVhckZvcm0oKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5yZXNldCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVmaWxsRmlsZW5hbWVBbmRBdXRob3IoKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmZpbGUkLCB0aGlzLnVzZXJFbWFpbCRdKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YXAoKFtmaWxlLCB1c2VyRW1haWxdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWxlbmFtZSA9IGZpbGU/LmJlc3RhbmRzbmFhbSB8fCB0aGlzLmRlZmF1bHRWYWx1ZXMuYmVzdGFuZHNuYWFtIHx8IGZpbGU/Lm5hbWU7XG4gICAgICAgICAgICB0aGlzLmZpbGVuYW1lRXh0ZW5zaW9uID0gZmlsZW5hbWU/LnNwbGl0KCcuJyk/LnBvcCgpIHx8ICcnO1xuICAgICAgICAgICAgaWYgKHRoaXMuZmlsZW5hbWVFeHRlbnNpb24ubGVuZ3RoID09PSBmaWxlbmFtZT8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMuZmlsZW5hbWVFeHRlbnNpb24gPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgYmVzdGFuZHNuYWFtOiBmaWxlbmFtZSxcbiAgICAgICAgICAgICAgYXV0ZXVyOiBmaWxlPy5hdXRldXIgfHwgdGhpcy5kZWZhdWx0VmFsdWVzLmF1dGV1ciB8fCB1c2VyRW1haWwsXG4gICAgICAgICAgICAgIGNyZWF0aWVkYXR1bTogZmlsZT8uY3JlYXRpZWRhdHVtIHx8IG5ldyBEYXRlKERhdGUubm93KCkpLFxuICAgICAgICAgICAgICB0aXRlbDpcbiAgICAgICAgICAgICAgICBmaWxlPy50aXRlbCB8fFxuICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdFZhbHVlcy50aXRlbCB8fFxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZW5hbWVUb1RpdGxlKGZpbGU/Lm5hbWUgfHwgdGhpcy5kZWZhdWx0VmFsdWVzLmJlc3RhbmRzbmFhbSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICh0aGlzLmFyZUFsbEZpZWxkc0hpZGRlbigpKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2F2ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsZW5hbWVUb1RpdGxlKGZpbGVuYW1lPzogc3RyaW5nKSB7XG4gICAgaWYgKCFmaWxlbmFtZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZmlsZW5hbWUgPSBmaWxlbmFtZS5yZXBsYWNlKC9cXC5bXi8uXSskLywgJycpLnJlcGxhY2UoL1teYS16QS1aMC05XSsvZywgJyAnKTtcbiAgICByZXR1cm4gZmlsZW5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBmaWxlbmFtZS5zbGljZSgxKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0RGF0ZShjb250cm9sTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5jb250cm9sc1tjb250cm9sTmFtZV07XG4gICAgaWYgKGNvbnRyb2wudmFsdWUpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgW2NvbnRyb2xOYW1lXTogdGhpcy50b0Zvcm1hdHRlZERhdGUoY29udHJvbC52YWx1ZSksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRvRm9ybWF0dGVkRGF0ZShkYXRlOiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBtb21lbnQobmV3IERhdGUoZGF0ZSkpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRmlsZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9maWxlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIGlmICh0aGlzLmZpbGUkKSB7XG4gICAgICB0aGlzLl9maWxlU3Vic2NyaXB0aW9uID0gdGhpcy5maWxlJC5zdWJzY3JpYmUoZmlsZSA9PiB7XG4gICAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgICAgdGhpcy5wcmVmaWxsRm9ybShmaWxlKTtcbiAgICAgICAgICB0aGlzLmlzRGVmaW5pdGl2ZVN0YXR1cyQubmV4dChcbiAgICAgICAgICAgIGZpbGUuc3RhdHVzID09PSAnZGVmaW5pdGllZicgJiYgdGhpcy5pc0VkaXRNb2RlID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW5EaXNhYmxlZFN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZGlzYWJsZWQkPy5zdWJzY3JpYmUoZGlzYWJsZWQgPT4ge1xuICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLmRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm0uZGlzYWJsZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5lbmFibGUoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRmlsZW5hbWVTdWJzY3JpcHRpb24oKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmJlc3RhbmRzbmFhbS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGJlc3RhbmRzbmFhbSA9PiB7XG4gICAgICAgIGlmIChiZXN0YW5kc25hYW0gJiYgdGhpcy5maWxlbmFtZUV4dGVuc2lvbikge1xuICAgICAgICAgIGxldCBjb3JyZWN0QmVzdGFuZHNuYWFtID1cbiAgICAgICAgICAgIGJlc3RhbmRzbmFhbS5yZXBsYWNlKC9cXC5bXi8uXSskLywgJycpICsgJy4nICsgdGhpcy5maWxlbmFtZUV4dGVuc2lvbjtcbiAgICAgICAgICBpZiAoY29ycmVjdEJlc3RhbmRzbmFhbSAhPSBiZXN0YW5kc25hYW0pIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgYmVzdGFuZHNuYWFtOiBjb3JyZWN0QmVzdGFuZHNuYWFtLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5Eb2N1bWVudERlZmluaXRpb25TdWJzY3JpcHRpb24oKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnJvdXRlPy5wYXJhbXNcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKHBhcmFtcyA9PiBwYXJhbXM/LmRvY3VtZW50RGVmaW5pdGlvbk5hbWUpLFxuICAgICAgICAgIGZpbHRlcihkb2N1bWVudERlZmluaXRpb25OYW1lID0+IGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShkb2N1bWVudERlZmluaXRpb25OYW1lID0+IHtcbiAgICAgICAgICB0aGlzLnZhbHRpbW9Nb2RhbFNlcnZpY2Uuc2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZShkb2N1bWVudERlZmluaXRpb25OYW1lKTtcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBZGRpdGlvbmFsRGF0ZSh2YWx1ZTogQWRkaXRpb25hbERvY3VtZW50RGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuYWRkaXRpb25hbERvY3VtZW50RGF0ZSQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGFyZUFsbEZpZWxkc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5oaWRlRmllbGRzLmluY2x1ZGVzKCdhYW52dWxsZW5kZURhdHVtJykgJiZcbiAgICAgIHRoaXMuaGlkZUZpZWxkcy5pbmNsdWRlcygnYXV0ZXVyJykgJiZcbiAgICAgIHRoaXMuaGlkZUZpZWxkcy5pbmNsdWRlcygndmVydHJvdXdlbGlqa2hlaWRhYW5kdWlkaW5nJykgJiZcbiAgICAgIHRoaXMuaGlkZUZpZWxkcy5pbmNsdWRlcygnY3JlYXRpZWRhdHVtJykgJiZcbiAgICAgIHRoaXMuaGlkZUZpZWxkcy5pbmNsdWRlcygnYmVzY2hyaWp2aW5nJykgJiZcbiAgICAgIHRoaXMuaGlkZUZpZWxkcy5pbmNsdWRlcygndGl0ZWwnKSAmJlxuICAgICAgdGhpcy5oaWRlRmllbGRzLmluY2x1ZGVzKCdpbmZvcm1hdGllb2JqZWN0dHlwZScpICYmXG4gICAgICB0aGlzLmhpZGVGaWVsZHMuaW5jbHVkZXMoJ2Jlc3RhbmRzbmFhbScpICYmXG4gICAgICB0aGlzLmhpZGVGaWVsZHMuaW5jbHVkZXMoJ3RhYWwnKSAmJlxuICAgICAgdGhpcy5oaWRlRmllbGRzLmluY2x1ZGVzKCdzdGF0dXMnKSAmJlxuICAgICAgdGhpcy5oaWRlRmllbGRzLmluY2x1ZGVzKCd0cmVmd29vcmRlbicpXG4gICAgKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48di1tb2RhbFxuICAjbWV0YWRhdGFNb2RhbFxuICAqbmdJZj1cIntcbiAgICBmaWxlOiBmaWxlJCB8IGFzeW5jLFxuICAgIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luYyxcbiAgICBpc0RlZmluaXRpdmVTdGF0dXM6IGlzRGVmaW5pdGl2ZVN0YXR1cyQgfCBhc3luYyxcbiAgICBsYW5ndWFnZUl0ZW1zOiBsYW5ndWFnZUl0ZW1zJCB8IGFzeW5jLFxuICAgIGNvbmZpZGVudGlhbGl0eUxldmVsSXRlbXM6IGNvbmZpZGVudGlhbGl0eUxldmVsSXRlbXMkIHwgYXN5bmMsXG4gICAgZG9jdW1lbnRUeXBlSXRlbXM6IGRvY3VtZW50VHlwZUl0ZW1zJCB8IGFzeW5jLFxuICAgIHN0YXR1c0l0ZW1zOiBzdGF0dXNJdGVtcyQgfCBhc3luYyxcbiAgICB0YWdJdGVtczogdGFnSXRlbXMkIHwgYXN5bmMsXG4gICAgdXNlckVtYWlsOiB1c2VyRW1haWwkIHwgYXN5bmMsXG4gICAgb3Blbjogb3BlbiQgfCBhc3luYyxcbiAgICBhZGRpdGlvbmFsRGF0ZTogYWRkaXRpb25hbERvY3VtZW50RGF0ZSQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuICBbbWF4V2lkdGhQeF09XCIxMjgwXCJcbiAgKGNsb3NlRXZlbnQpPVwiY2xvc2VNb2RhbCgpXCJcbj5cbiAgPGRpdiByb2xlPVwiaGVhZGVyXCI+XG4gICAgQGlmIChpc0VkaXRNb2RlKSB7XG4gICAgICA8aDMgY2RzTW9kYWxIZWFkZXJIZWFkaW5nPlxuICAgICAgICB7eyAnZG9jdW1lbnQuZWRpdE1ldGFkYXRhJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9oMz5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxoMyBjZHNNb2RhbEhlYWRlckhlYWRpbmc+XG4gICAgICAgIHt7ICdkb2N1bWVudC5maWxsSW5NZXRhZGF0YScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvaDM+XG4gICAgfVxuICA8L2Rpdj5cblxuICA8ZGl2IHJvbGU9XCJjb250ZW50XCI+XG4gICAgQGlmIChvYnMub3Blbikge1xuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1ldGFkYXRhRm9ybTsgY29udGV4dDoge29iczogb2JzfVwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgPGRpdiByb2xlPVwiZm9vdGVyXCIgY2xhc3M9XCJtZXRhZGF0YS1tb2RhbC1mb290ZXJcIj5cbiAgICA8YnV0dG9uIGNkc0J1dHRvbj1cImdob3N0XCIgKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIj5cbiAgICAgIHt7ICdkb2N1bWVudC5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uXG4gICAgICBjZHNCdXR0b249XCJwcmltYXJ5XCJcbiAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZCB8fCAhZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS52YWxpZCB8fCBvYnMuaXNEZWZpbml0aXZlU3RhdHVzXCJcbiAgICAgIChjbGljayk9XCJzYXZlKClcIlxuICAgID5cbiAgICAgIHt7ICdkb2N1bWVudC5zYXZlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvdi1tb2RhbD5cblxuPG5nLXRlbXBsYXRlICNtZXRhZGF0YUZvcm0gbGV0LW9icz1cIm9ic1wiPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRlbi1tZXRhZGF0YS1mb3JtLWNvbHVtbnMtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRlbi1tZXRhZGF0YS1mb3JtLWNvbHVtblwiPlxuICAgICAgICBAaWYgKCFoaWRlRmllbGRzLmluY2x1ZGVzKCdiZXN0YW5kc25hYW0nKSkge1xuICAgICAgICAgIDxjZHMtdGV4dC1sYWJlbCBjbGFzcz1cImRvY3VtZW50ZW4tbWV0YWRhLWZvcm0taW5wdXRcIj5cbiAgICAgICAgICAgIHt7ICdkb2N1bWVudC5maWxlbmFtZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDxjZHMtdG9vbHRpcFxuICAgICAgICAgICAgICBbaXNPcGVuXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cIidkb2N1bWVudC5maWxlbmFtZVRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW2FsaWduXT1cIidib3R0b20tbGVmdCdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1kaSBtZGktaGVscC1jaXJjbGUtb3V0bGluZVwiPjwvaT5cbiAgICAgICAgICAgIDwvY2RzLXRvb2x0aXA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImRlZmF1bHRWYWx1ZXMuYmVzdGFuZHNuYWFtXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidkb2N1bWVudC5maWxlbmFtZVBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIGNkc1RleHRcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBpZD1cImJlc3RhbmRzbmFhbVwiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImJlc3RhbmRzbmFhbVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvY2RzLXRleHQtbGFiZWw+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICghaGlkZUZpZWxkcy5pbmNsdWRlcygnYXV0ZXVyJykpIHtcbiAgICAgICAgICA8Y2RzLXRleHQtbGFiZWwgY2xhc3M9XCJkb2N1bWVudGVuLW1ldGFkYS1mb3JtLWlucHV0XCI+XG4gICAgICAgICAgICB7eyAnZG9jdW1lbnQuYXV0aG9yJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPGNkcy10b29sdGlwXG4gICAgICAgICAgICAgIFtpc09wZW5dPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiJ2RvY3VtZW50LmF1dGhvclRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW2FsaWduXT1cIidib3R0b20tbGVmdCdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1kaSBtZGktaGVscC1jaXJjbGUtb3V0bGluZVwiPjwvaT5cbiAgICAgICAgICAgIDwvY2RzLXRvb2x0aXA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImRlZmF1bHRWYWx1ZXMuYXV0ZXVyXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidkb2N1bWVudC5hdXRob3JQbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGNkc1RleHRcbiAgICAgICAgICAgICAgaWQ9XCJhdXRldXJcIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJhdXRldXJcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Nkcy10ZXh0LWxhYmVsPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoIWhpZGVGaWVsZHMuaW5jbHVkZXMoJ3RhYWwnKSkge1xuICAgICAgICAgIDxjZHMtdGV4dC1sYWJlbD5cbiAgICAgICAgICAgIHt7ICdkb2N1bWVudC5sYW5ndWFnZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDxjZHMtdG9vbHRpcFxuICAgICAgICAgICAgICBbaXNPcGVuXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cIidkb2N1bWVudC5sYW5ndWFnZVRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW2FsaWduXT1cIidib3R0b20tbGVmdCdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1kaSBtZGktaGVscC1jaXJjbGUtb3V0bGluZVwiPjwvaT5cbiAgICAgICAgICAgIDwvY2RzLXRvb2x0aXA+XG4gICAgICAgICAgPC9jZHMtdGV4dC1sYWJlbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRlbi1tZXRhZGEtZm9ybS1pbnB1dFwiPlxuICAgICAgICAgICAgPGNkcy1kcm9wZG93blxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkIHx8IChsYW5ndWFnZURpc2FibGVkJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgIFthcHBlbmRJbmxpbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZG9jdW1lbnQubGFuZ3VhZ2VQbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBpZD1cImxhbmd1YWdlXCJcbiAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cImxhbmd1YWdlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxjZHMtZHJvcGRvd24tbGlzdCBbaXRlbXNdPVwib2JzLmxhbmd1YWdlSXRlbXMgfHwgW11cIj48L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgICAgICAgICAgPC9jZHMtZHJvcGRvd24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICghaGlkZUZpZWxkcy5pbmNsdWRlcygndmVydHJvdXdlbGlqa2hlaWRhYW5kdWlkaW5nJykpIHtcbiAgICAgICAgICA8Y2RzLWxhYmVsPlxuICAgICAgICAgICAge3sgJ2RvY3VtZW50LmNvbmZpZGVudGlhbGl0eUxldmVsJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPGNkcy10b29sdGlwXG4gICAgICAgICAgICAgIFtpc09wZW5dPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiJ2RvY3VtZW50LmNvbmZpZGVudGlhbGl0eUxldmVsVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBbYWxpZ25dPVwiJ2JvdHRvbS1sZWZ0J1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwibWRpIG1kaS1oZWxwLWNpcmNsZS1vdXRsaW5lXCI+PC9pPlxuICAgICAgICAgICAgPC9jZHMtdG9vbHRpcD5cbiAgICAgICAgICA8L2Nkcy1sYWJlbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRlbi1tZXRhZGEtZm9ybS1pbnB1dFwiPlxuICAgICAgICAgICAgPGNkcy1jb21iby1ib3hcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidkb2N1bWVudC5jb25maWRlbnRpYWxpdHlQbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBpZD1cInZlcnRyb3V3ZWxpamtoZWlkYWFuZHVpZGluZ1wiXG4gICAgICAgICAgICAgIFthcHBlbmRJbmxpbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWQgfHwgKGNvbmZpZGVudGlhbGl0eUxldmVsRGlzYWJsZWQkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cImNvbmZpZGVudGlhbGl0eUxldmVsU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChjbGVhcik9XCJjb25maWRlbnRpYWxpdHlMZXZlbEZvcm1Db250cm9sLnNldFZhbHVlKG51bGwpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0IFtpdGVtc109XCJvYnMuY29uZmlkZW50aWFsaXR5TGV2ZWxJdGVtcyB8fCBbXVwiPjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gICAgICAgICAgICA8L2Nkcy1jb21iby1ib3g+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICghaGlkZUZpZWxkcy5pbmNsdWRlcygnaW5mb3JtYXRpZW9iamVjdHR5cGUnKSkge1xuICAgICAgICAgIDxjZHMtbGFiZWw+XG4gICAgICAgICAgICB7eyAnZG9jdW1lbnQuaW5mb3JtYXRpZW9iamVjdHR5cGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8Y2RzLXRvb2x0aXBcbiAgICAgICAgICAgICAgW2lzT3Blbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCInZG9jdW1lbnQuaW5mb3JtYXRpZW9iamVjdHR5cGVUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIFthbGlnbl09XCInYm90dG9tLWxlZnQnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtZGkgbWRpLWhlbHAtY2lyY2xlLW91dGxpbmVcIj48L2k+XG4gICAgICAgICAgICA8L2Nkcy10b29sdGlwPlxuICAgICAgICAgIDwvY2RzLWxhYmVsPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2N1bWVudGVuLW1ldGFkYS1mb3JtLWlucHV0XCI+XG4gICAgICAgICAgICA8Y2RzLWRyb3Bkb3duXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZG9jdW1lbnQuaW5mb3JtYXRpZW9iamVjdHR5cGVQbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkIHx8IChpbmZvcm1hdGllb2JqZWN0dHlwZURpc2FibGVkJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgIGlkPVwiaW5mb3JtYXRpZW9iamVjdHR5cGVcIlxuICAgICAgICAgICAgICBbYXBwZW5kSW5saW5lXT1cInRydWVcIlxuICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwiaW5mb3JtYXRpZW9iamVjdHR5cGVTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0IFtpdGVtc109XCJvYnMuZG9jdW1lbnRUeXBlSXRlbXMgfHwgW11cIj48L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgICAgICAgICAgPC9jZHMtZHJvcGRvd24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICghaGlkZUZpZWxkcy5pbmNsdWRlcygnYWFudnVsbGVuZGVEYXR1bScpKSB7XG4gICAgICAgICAgPGNkcy10ZXh0LWxhYmVsIG5hbWU9XCInYWRkaXRpb25hbERhdGUnXCI+XG4gICAgICAgICAgICB7eyAnZG9jdW1lbnQuYWRkaXRpb25hbERhdGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8Y2RzLXRvb2x0aXBcbiAgICAgICAgICAgICAgW2lzT3Blbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCInZG9jdW1lbnQuYWRkaXRpb25hbERhdGVUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIFthbGlnbl09XCInYm90dG9tLWxlZnQnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtZGkgbWRpLWhlbHAtY2lyY2xlLW91dGxpbmVcIj48L2k+XG4gICAgICAgICAgICA8L2Nkcy10b29sdGlwPlxuICAgICAgICAgIDwvY2RzLXRleHQtbGFiZWw+XG4gICAgICAgICAgPGNkcy1yYWRpby1ncm91cCBbb3JpZW50YXRpb25dPVwiJ2hvcml6b250YWwnXCIgY2xhc3M9XCJkb2N1bWVudGVuLW1ldGFkYS1mb3JtLWlucHV0XCI+XG4gICAgICAgICAgICA8Y2RzLXJhZGlvXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgQURESVRPTkFMX0RPQ1VNRU5UX0RBVEVfT1BUSU9OU1wiXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJvYnMuYWRkaXRpb25hbERhdGUgPT09IG9wdGlvbi52YWx1ZVwiXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNldEFkZGl0aW9uYWxEYXRlKG9wdGlvbi52YWx1ZSlcIlxuICAgICAgICAgICAgICBuYW1lPVwicmFkaW8taW5saW5lXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgb3B0aW9uLnRyYW5zbGF0aW9uS2V5IHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2Nkcy1yYWRpbz5cbiAgICAgICAgICA8L2Nkcy1yYWRpby1ncm91cD5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHN1cHBvcnRzVHJlZndvb3JkZW4gJiYgIWhpZGVGaWVsZHMuaW5jbHVkZXMoJ3RyZWZ3b29yZGVuJykpIHtcbiAgICAgICAgICA8Y2RzLXRleHQtbGFiZWw+XG4gICAgICAgICAgICB7eyAnZG9jdW1lbnQudGFncycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDxjZHMtdG9vbHRpcFxuICAgICAgICAgICAgICBbaXNPcGVuXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cIidkb2N1bWVudC50YWdzVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBbYWxpZ25dPVwiJ2JvdHRvbS1sZWZ0J1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwibWRpIG1kaS1oZWxwLWNpcmNsZS1vdXRsaW5lXCI+PC9pPlxuICAgICAgICAgICAgPC9jZHMtdG9vbHRpcD5cbiAgICAgICAgICA8L2Nkcy10ZXh0LWxhYmVsPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2N1bWVudGVuLW1ldGFkYS1mb3JtLWlucHV0XCI+XG4gICAgICAgICAgICA8Y2RzLWNvbWJvLWJveFxuICAgICAgICAgICAgICBbdHlwZV09XCInbXVsdGknXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidkb2N1bWVudC50YWdzUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZCB8fCBvYnMudGFnSXRlbXM/Lmxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgIFthcHBlbmRJbmxpbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJ0YWdzU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0IFtpdGVtc109XCJvYnMudGFnSXRlbXMgfHwgW11cIj48L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgICAgICAgICAgPC9jZHMtY29tYm8tYm94PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImRvY3VtZW50ZW4tbWV0YWRhdGEtZm9ybS1jb2x1bW5cIj5cbiAgICAgICAgQGlmICghaGlkZUZpZWxkcy5pbmNsdWRlcygndGl0ZWwnKSkge1xuICAgICAgICAgIDxjZHMtdGV4dC1sYWJlbD5cbiAgICAgICAgICAgIHt7ICdkb2N1bWVudC5pbnB1dFRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZG9jdW1lbnQuaW5wdXRUaXRsZVBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgY2RzVGV4dFxuICAgICAgICAgICAgICBjbGFzcz1cImRvY3VtZW50ZW4tbWV0YWRhLWZvcm0taW5wdXRcIlxuICAgICAgICAgICAgICBpZD1cInRpdGVsXCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGl0ZWxcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxjZHMtdG9vbHRpcFxuICAgICAgICAgICAgICBbaXNPcGVuXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cIidkb2N1bWVudC5pbnB1dFRpdGxlVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBbYWxpZ25dPVwiJ2JvdHRvbSdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1kaSBtZGktaGVscC1jaXJjbGUtb3V0bGluZVwiPjwvaT5cbiAgICAgICAgICAgIDwvY2RzLXRvb2x0aXA+XG4gICAgICAgICAgPC9jZHMtdGV4dC1sYWJlbD5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKCFoaWRlRmllbGRzLmluY2x1ZGVzKCdiZXNjaHJpanZpbmcnKSkge1xuICAgICAgICAgIDxjZHMtdGV4dGFyZWEtbGFiZWw+XG4gICAgICAgICAgICB7eyAnZG9jdW1lbnQuaW5wdXREZXNjcmlwdGlvbicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2RvY3VtZW50LmlucHV0RGVzY3JpcHRpb25QbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbcm93c109XCI1XCJcbiAgICAgICAgICAgICAgY2RzVGV4dEFyZWFcbiAgICAgICAgICAgICAgY2xhc3M9XCJkb2N1bWVudGVuLW1ldGFkYS1mb3JtLWRlc2NyaXB0aW9uLWlucHV0IGRvY3VtZW50ZW4tbWV0YWRhLWZvcm0taW5wdXRcIlxuICAgICAgICAgICAgICBpZD1cImJlc2NocmlqdmluZ1wiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImJlc2NocmlqdmluZ1wiXG4gICAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgIDxjZHMtdG9vbHRpcFxuICAgICAgICAgICAgICBbaXNPcGVuXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cIidkb2N1bWVudC5pbnB1dERlc2NyaXB0aW9uVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBbYWxpZ25dPVwiJ2JvdHRvbSdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1kaSBtZGktaGVscC1jaXJjbGUtb3V0bGluZVwiPjwvaT5cbiAgICAgICAgICAgIDwvY2RzLXRvb2x0aXA+XG4gICAgICAgICAgPC9jZHMtdGV4dGFyZWEtbGFiZWw+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICghaGlkZUZpZWxkcy5pbmNsdWRlcygnY3JlYXRpZWRhdHVtJykpIHtcbiAgICAgICAgICA8Y2RzLWxhYmVsPlxuICAgICAgICAgICAge3sgJ2RvY3VtZW50LmNyZWF0aW9uRGF0ZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDxjZHMtdG9vbHRpcFxuICAgICAgICAgICAgICBbaXNPcGVuXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cIidkb2N1bWVudC5jcmVhdGlvbkRhdGVUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIFthbGlnbl09XCInYm90dG9tJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwibWRpIG1kaS1oZWxwLWNpcmNsZS1vdXRsaW5lXCI+PC9pPlxuICAgICAgICAgICAgPC9jZHMtdG9vbHRpcD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2N1bWVudGVuLW1ldGFkYS1mb3JtLWlucHV0XCI+XG4gICAgICAgICAgICAgIDxjZHMtZGF0ZS1waWNrZXJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RELU1NLVlZWVknXCJcbiAgICAgICAgICAgICAgICBbZGF0ZUZvcm1hdF09XCInZC1tLVknXCJcbiAgICAgICAgICAgICAgICBpZD1cImNyZWF0aWVkYXR1bVwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY3JlYXRpZWRhdHVtXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2Nkcy1kYXRlLXBpY2tlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvY2RzLWxhYmVsPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoIWhpZGVGaWVsZHMuaW5jbHVkZXMoJ3N0YXR1cycpKSB7XG4gICAgICAgICAgPGNkcy1sYWJlbD5cbiAgICAgICAgICAgIHt7ICdkb2N1bWVudC5zdGF0dXMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8Y2RzLXRvb2x0aXBcbiAgICAgICAgICAgICAgW2lzT3Blbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCInZG9jdW1lbnQuc3RhdHVzVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBbYWxpZ25dPVwiJ2JvdHRvbSdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1kaSBtZGktaGVscC1jaXJjbGUtb3V0bGluZVwiPjwvaT5cbiAgICAgICAgICAgIDwvY2RzLXRvb2x0aXA+XG4gICAgICAgICAgPC9jZHMtbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3VtZW50ZW4tbWV0YWRhLWZvcm0taW5wdXRcIj5cbiAgICAgICAgICAgIDxjZHMtY29tYm8tYm94XG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZG9jdW1lbnQuc3RhdHVzUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZCB8fCAoc3RhdHVzRGlzYWJsZWQkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgaWQ9XCJzdGF0dXNcIlxuICAgICAgICAgICAgICBbYXBwZW5kSW5saW5lXT1cInRydWVcIlxuICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwic3RhdHVzU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChjbGVhcik9XCJzdGF0dXNGb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxjZHMtZHJvcGRvd24tbGlzdCBbaXRlbXNdPVwib2JzLnN0YXR1c0l0ZW1zIHx8IFtdXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgICAgICAgIDwvY2RzLWNvbWJvLWJveD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKCFoaWRlRmllbGRzLmluY2x1ZGVzKCdhYW52dWxsZW5kZURhdHVtJykpIHtcbiAgICAgICAgICA8Y2RzLWRhdGUtcGlja2VyXG4gICAgICAgICAgICAqbmdJZj1cIm9icy5hZGRpdGlvbmFsRGF0ZSA9PT0gJ3JlY2VpdmVkJ1wiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ2RvY3VtZW50LmFkZGl0aW9uYWxEYXRlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RELU1NLVlZWVknXCJcbiAgICAgICAgICAgIFtkYXRlRm9ybWF0XT1cIidkLW0tWSdcIlxuICAgICAgICAgICAgaWQ9XCJvbnR2YW5nc3RkYXR1bVwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJvbnR2YW5nc3RkYXR1bVwiXG4gICAgICAgICAgPjwvY2RzLWRhdGUtcGlja2VyPlxuICAgICAgICAgIDxjZHMtZGF0ZS1waWNrZXJcbiAgICAgICAgICAgICpuZ0lmPVwib2JzLmFkZGl0aW9uYWxEYXRlID09PSAnc2VudCdcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidkb2N1bWVudC5hZGRpdGlvbmFsRGF0ZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidERC1NTS1ZWVlZJ1wiXG4gICAgICAgICAgICBbZGF0ZUZvcm1hdF09XCInZC1tLVknXCJcbiAgICAgICAgICAgIGlkPVwidmVyemVuZGRhdHVtXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZlcnplbmRkYXR1bVwiXG4gICAgICAgICAgPjwvY2RzLWRhdGUtcGlja2VyPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
528
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby96Z3cvc3JjL2xpYi9tb2R1bGVzL2RvY3VtZW50ZW4tYXBpL2NvbXBvbmVudHMvZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWwvZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby96Z3cvc3JjL2xpYi9tb2R1bGVzL2RvY3VtZW50ZW4tYXBpL2NvbXBvbmVudHMvZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWwvZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFTbkcsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsTUFBTSxFQUNOLElBQUksRUFDSixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxPQUFPLEVBQ1AsWUFBWSxFQUNaLFNBQVMsRUFDVCxJQUFJLEdBQ0wsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUMsZUFBZSxFQUFtQixNQUFNLHFCQUFxQixDQUFDO0FBSXRFLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUlMLG1CQUFtQixFQUNuQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsZ0JBQWdC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QkFDWixTQUFTLDhCQUNULGFBQWEsMk1BQ2IsZUFBZSwyRkFDZixZQUFZOzs0RkFHSCxtQ0FBbUM7a0JBekIvQyxTQUFTOytCQUNFLHVDQUF1QyxjQUdyQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsVUFBVTt3QkFDVixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixTQUFTO3dCQUNULGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixZQUFZO3FCQUNiOzJTQUcyQixhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBRWpCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDTyxhQUFhO3NCQUF6QixLQUFLO2dCQU9PLDJCQUEyQjtzQkFBdkMsS0FBSztnQkFPTyxrQkFBa0I7c0JBQTlCLEtBQUs7Z0JBT08sb0JBQW9CO3NCQUFoQyxLQUFLO2dCQU9PLG1CQUFtQjtzQkFBL0IsS0FBSztnQkFPTyxlQUFlO3NCQUEzQixLQUFLO2dCQU9PLGVBQWU7c0JBQTNCLEtBQUs7Z0JBT08sYUFBYTtzQkFBekIsS0FBSztnQkFPRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ08sbUJBQW1CO3NCQUEvQixLQUFLO2dCQU9HLFVBQVU7c0JBQWxCLEtBQUs7Z0JBSU8sSUFBSTtzQkFBaEIsS0FBSztnQkFVSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQWRkaXRpb25hbERvY3VtZW50RGF0ZSxcbiAgQ29uZmlkZW50aWFsaXR5TGV2ZWwsXG4gIERvY3VtZW50ZW5BcGlNZXRhZGF0YSxcbiAgRG9jdW1lbnRMYW5ndWFnZSxcbiAgRG9jdW1lbnRTdGF0dXMsXG59IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZpbHRlcixcbiAgZnJvbSxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc3RhcnRXaXRoLFxuICBTdWJqZWN0LFxuICBTdWJzY3JpcHRpb24sXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtEb2N1bWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7S2V5Y2xvYWtTZXJ2aWNlfSBmcm9tICdrZXljbG9hay1hbmd1bGFyJztcbmltcG9ydCB7dGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Hcm91cCxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgSW5wdXRMYWJlbE1vZHVsZSxcbiAgSW5wdXRNb2R1bGUsXG4gIE1vZGFsU2VydmljZSxcbiAgU2VsZWN0TW9kdWxlLFxuICBWYWx0aW1vTW9kYWxTZXJ2aWNlLFxuICBWTW9kYWxDb21wb25lbnQsXG4gIFZNb2RhbE1vZHVsZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5cbmltcG9ydCB7XG4gIEJ1dHRvbk1vZHVsZSxcbiAgQ29tYm9Cb3hNb2R1bGUsXG4gIERhdGVQaWNrZXJNb2R1bGUsXG4gIERyb3Bkb3duTW9kdWxlLFxuICBJY29uTW9kdWxlLFxuICBJbnB1dE1vZHVsZSBhcyBDYXJib25JbnB1dE1vZHVsZSxcbiAgTGlzdEl0ZW0sXG4gIE1vZGFsTW9kdWxlLFxuICBSYWRpb01vZHVsZSxcbiAgVGFnTW9kdWxlLFxuICBUb29sdGlwTW9kdWxlLFxufSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7RG9jdW1lbnRlbkFwaVRhZ1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RvY3VtZW50ZW4tYXBpLXRhZy5zZXJ2aWNlJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7RG9jdW1lbnRlbkFwaVVwbG9hZEZpZWxkRGVmYXVsdFZhbHVlc30gZnJvbSAnLi4vLi4vbW9kZWxzL2RvY3VtZW50ZW4tYXBpLXVwbG9hZC1maWVsZC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudGVuLWFwaS1tZXRhZGF0YS1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIENhcmJvbklucHV0TW9kdWxlLFxuICAgIENvbWJvQm94TW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEYXRlUGlja2VyTW9kdWxlLFxuICAgIERyb3Bkb3duTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgSW5wdXRMYWJlbE1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBNb2RhbE1vZHVsZSxcbiAgICBSYWRpb01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbiAgICBUYWdNb2R1bGUsXG4gICAgVG9vbHRpcE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgVk1vZGFsTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb2N1bWVudGVuQXBpTWV0YWRhdGFNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnbWV0YWRhdGFNb2RhbCcpIG1ldGFkYXRhTW9kYWw6IFZNb2RhbENvbXBvbmVudDtcblxuICBASW5wdXQoKSBkaXNhYmxlZCQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBASW5wdXQoKSBmaWxlJCE6IE9ic2VydmFibGU8YW55PjtcblxuICBASW5wdXQoKSBoaWRlRmllbGRzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gIEBJbnB1dCgpIGRlZmF1bHRWYWx1ZXM6IERvY3VtZW50ZW5BcGlVcGxvYWRGaWVsZERlZmF1bHRWYWx1ZXMgPSB7fTtcbiAgQElucHV0KCkgc2V0IGRpc2FibGVBdXRob3IodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuYXV0ZXVyLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hdXRldXIuZW5hYmxlKCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlQ29uZmlkZW50aWFsaXR5TGV2ZWwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuY29uZmlkZW50aWFsaXR5TGV2ZWxGb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29uZmlkZW50aWFsaXR5TGV2ZWxGb3JtQ29udHJvbC5lbmFibGUoKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgc2V0IGRpc2FibGVEZXNjcmlwdGlvbih2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5iZXNjaHJpanZpbmcuZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJlc2NocmlqdmluZy5lbmFibGUoKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgc2V0IGRpc2FibGVEb2N1bWVudFRpdGxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnRpdGVsLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50aXRlbC5lbmFibGUoKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgc2V0IGRpc2FibGVEb2N1bWVudFR5cGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuaW5mb3JtYXRpZW9iamVjdHR5cGVGb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5mb3JtYXRpZW9iamVjdHR5cGVGb3JtQ29udHJvbC5lbmFibGUoKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgc2V0IGRpc2FibGVGaWxlbmFtZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5iZXN0YW5kc25hYW0uZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJlc3RhbmRzbmFhbS5lbmFibGUoKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgc2V0IGRpc2FibGVMYW5ndWFnZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5sYW5ndWFnZUZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sYW5ndWFnZUZvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSBzZXQgZGlzYWJsZVN0YXR1cyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5zdGF0dXNGb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RhdHVzRm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIHN1cHBvcnRzVHJlZndvb3JkZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2V0IGRpc2FibGVDcmVhdGlvbkRhdGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuY3JlYXRpZWRhdHVtLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGllZGF0dW0uZW5hYmxlKCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIGlzRWRpdE1vZGU6IGJvb2xlYW47XG5cbiAgcHVibGljIHJlYWRvbmx5IG9wZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgQElucHV0KCkgc2V0IG9wZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm9wZW4kLm5leHQodmFsdWUpO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuTW9kYWwodGhpcy5tZXRhZGF0YU1vZGFsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2VNb2RhbCgpO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKSBtZXRhZGF0YTogRXZlbnRFbWl0dGVyPERvY3VtZW50ZW5BcGlNZXRhZGF0YT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBtb2RhbENsb3NlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGZpbGVuYW1lRXh0ZW5zaW9uOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIGRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm06IEZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIGJlc3RhbmRzbmFhbTogdGhpcy5mYi5jb250cm9sKCcnKSxcbiAgICB0aXRlbDogdGhpcy5mYi5jb250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICBhdXRldXI6IHRoaXMuZmIuY29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgYmVzY2hyaWp2aW5nOiB0aGlzLmZiLmNvbnRyb2woJycpLFxuICAgIHRhYWw6IHRoaXMuZmIuY29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgaW5mb3JtYXRpZW9iamVjdHR5cGU6IHRoaXMuZmIuY29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgc3RhdHVzOiB0aGlzLmZiLmNvbnRyb2woJycpLFxuICAgIHZlcnRyb3V3ZWxpamtoZWlkYWFuZHVpZGluZzogdGhpcy5mYi5jb250cm9sKCcnKSxcbiAgICBjcmVhdGllZGF0dW06IHRoaXMuZmIuY29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgb250dmFuZ3N0ZGF0dW06IHRoaXMuZmIuY29udHJvbCgnJyksXG4gICAgdmVyemVuZGRhdHVtOiB0aGlzLmZiLmNvbnRyb2woJycpLFxuICAgIHRyZWZ3b29yZGVuOiB0aGlzLmZiLmNvbnRyb2woW10pLFxuICB9KTtcblxuICBwdWJsaWMgZ2V0IGNvbmZpZGVudGlhbGl0eUxldmVsRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm0uZ2V0KCd2ZXJ0cm91d2VsaWpraGVpZGFhbmR1aWRpbmcnKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGNvbmZpZGVudGlhbGl0eUxldmVsRGlzYWJsZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZGVudGlhbGl0eUxldmVsRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5jb25maWRlbnRpYWxpdHlMZXZlbEZvcm1Db250cm9sLmRpc2FibGVkKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluZm9ybWF0aWVvYmplY3R0eXBlRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm0uZ2V0KCdpbmZvcm1hdGllb2JqZWN0dHlwZScpO1xuICB9XG4gIHB1YmxpYyBnZXQgaW5mb3JtYXRpZW9iamVjdHR5cGVEaXNhYmxlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5mb3JtYXRpZW9iamVjdHR5cGVGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmluZm9ybWF0aWVvYmplY3R0eXBlRm9ybUNvbnRyb2wuZGlzYWJsZWQpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFuZ3VhZ2VGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5nZXQoJ3RhYWwnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFuZ3VhZ2VEaXNhYmxlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmxhbmd1YWdlRm9ybUNvbnRyb2wuZGlzYWJsZWQpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdHVzRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm0uZ2V0KCdzdGF0dXMnKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHN0YXR1c0Rpc2FibGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXNGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmluZm9ybWF0aWVvYmplY3R0eXBlRm9ybUNvbnRyb2wuZGlzYWJsZWQpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGFnRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5nZXQoJ3RyZWZ3b29yZGVuJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNyZWF0aWVkYXR1bSgpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5nZXQoJ2NyZWF0aWVkYXR1bScpO1xuICB9XG5cbiAgcHVibGljIGdldCB0aXRlbCgpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5nZXQoJ3RpdGVsJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJlc2NocmlqdmluZygpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5nZXQoJ2Jlc2NocmlqdmluZycpO1xuICB9XG5cbiAgcHVibGljIGdldCBhdXRldXIoKTogQWJzdHJhY3RDb250cm9sPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm0uZ2V0KCdhdXRldXInKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYmVzdGFuZHNuYWFtKCk6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudGVuQXBpTWV0YWRhdGFGb3JtLmdldCgnYmVzdGFuZHNuYWFtJyk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgaXNEZWZpbml0aXZlU3RhdHVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHB1YmxpYyByZWFkb25seSBDT05GSURFTlRJQUxJVFlfTEVWRUxTOiBBcnJheTxDb25maWRlbnRpYWxpdHlMZXZlbD4gPSBbXG4gICAgJ29wZW5iYWFyJyxcbiAgICAnYmVwZXJrdF9vcGVuYmFhcicsXG4gICAgJ2ludGVybicsXG4gICAgJ3phYWt2ZXJ0cm91d2VsaWprJyxcbiAgICAndmVydHJvdXdlbGlqaycsXG4gICAgJ2NvbmZpZGVudGllZWwnLFxuICAgICdnZWhlaW0nLFxuICAgICd6ZWVyX2dlaGVpbScsXG4gIF07XG4gIHB1YmxpYyByZWFkb25seSBjb25maWRlbnRpYWxpdHlMZXZlbEl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxMaXN0SXRlbT4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5jb25maWRlbnRpYWxpdHlMZXZlbEZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuY29uZmlkZW50aWFsaXR5TGV2ZWxGb3JtQ29udHJvbC52YWx1ZSlcbiAgICApLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2N1cnJlbnRDb25maWRlbnRpYWxpdHlMZXZlbF0pID0+XG4gICAgICB0aGlzLkNPTkZJREVOVElBTElUWV9MRVZFTFMubWFwKGNvbmZpZGVudGlhbGl0eUxldmVsID0+ICh7XG4gICAgICAgIGlkOiBjb25maWRlbnRpYWxpdHlMZXZlbCxcbiAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGRvY3VtZW50LiR7Y29uZmlkZW50aWFsaXR5TGV2ZWx9YCksXG4gICAgICAgIHNlbGVjdGVkOiBjdXJyZW50Q29uZmlkZW50aWFsaXR5TGV2ZWwgPT09IGNvbmZpZGVudGlhbGl0eUxldmVsLFxuICAgICAgfSkpXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBBRERJVE9OQUxfRE9DVU1FTlRfREFURV9PUFRJT05TOiBBcnJheTx7XG4gICAgdmFsdWU6IEFkZGl0aW9uYWxEb2N1bWVudERhdGU7XG4gICAgdHJhbnNsYXRpb25LZXk6IHN0cmluZztcbiAgfT4gPSBbXG4gICAge1xuICAgICAgdmFsdWU6ICduZWl0aGVyJyxcbiAgICAgIHRyYW5zbGF0aW9uS2V5OiAnZG9jdW1lbnQubm9BZGRpdGlvbmFsRGF0ZScsXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ3NlbnQnLFxuICAgICAgdHJhbnNsYXRpb25LZXk6ICdkb2N1bWVudC5zZW5kRGF0ZScsXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ3JlY2VpdmVkJyxcbiAgICAgIHRyYW5zbGF0aW9uS2V5OiAnZG9jdW1lbnQucmVjZWlwdERhdGUnLFxuICAgIH0sXG4gIF07XG4gIHB1YmxpYyByZWFkb25seSBjbGVhclN0YXR1c1NlbGVjdGlvbiQgPSBuZXcgU3ViamVjdDxudWxsPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYWRkaXRpb25hbERvY3VtZW50RGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFkZGl0aW9uYWxEb2N1bWVudERhdGU+KCduZWl0aGVyJyk7XG4gIHB1YmxpYyByZWFkb25seSBTVEFUVVNFUzogQXJyYXk8RG9jdW1lbnRTdGF0dXM+ID0gW1xuICAgICdpbl9iZXdlcmtpbmcnLFxuICAgICd0ZXJfdmFzdHN0ZWxsaW5nJyxcbiAgICAnZGVmaW5pdGllZicsXG4gICAgJ2dlYXJjaGl2ZWVyZCcsXG4gIF07XG4gIHB1YmxpYyByZWFkb25seSBSRUNFSVBUX1NUQVRVU0VTOiBBcnJheTxEb2N1bWVudFN0YXR1cz4gPSBbJ2RlZmluaXRpZWYnLCAnZ2VhcmNoaXZlZXJkJ107XG4gIHB1YmxpYyByZWFkb25seSBmb3JtRGF0YSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERvY3VtZW50ZW5BcGlNZXRhZGF0YT4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBzdGF0dXNJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8TGlzdEl0ZW0+PiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuYWRkaXRpb25hbERvY3VtZW50RGF0ZSQsXG4gICAgdGhpcy5zdGF0dXNGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5zdGF0dXNGb3JtQ29udHJvbC52YWx1ZSkpLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIHRhcCgoW2FkZGl0aW9uYWxEb2N1bWVudERhdGUsIGN1cnJlbnRTdGF0dXNdKSA9PiB7XG4gICAgICB0aGlzLmZvcm1EYXRhJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShmb3JtRGF0YSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBhZGRpdGlvbmFsRG9jdW1lbnREYXRlID09PSAncmVjZWl2ZWQnICYmXG4gICAgICAgICAgKGZvcm1EYXRhLnN0YXR1cyA9PT0gJ2luX2Jld2Vya2luZycgfHwgZm9ybURhdGEuc3RhdHVzID09PSAndGVyX3Zhc3RzdGVsbGluZycpXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuY2xlYXJTdGF0dXNTZWxlY3Rpb24kLm5leHQobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pLFxuICAgIG1hcCgoW2FkZGl0aW9uYWxEb2N1bWVudERhdGUsIGN1cnJlbnRTdGF0dXNdKSA9PlxuICAgICAgKGFkZGl0aW9uYWxEb2N1bWVudERhdGUgPT09ICdyZWNlaXZlZCcgPyB0aGlzLlJFQ0VJUFRfU1RBVFVTRVMgOiB0aGlzLlNUQVRVU0VTKS5tYXAoXG4gICAgICAgIHN0YXR1cyA9PiAoe1xuICAgICAgICAgIGlkOiBzdGF0dXMsXG4gICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGRvY3VtZW50LiR7c3RhdHVzfWApLFxuICAgICAgICAgIHNlbGVjdGVkOiBjdXJyZW50U3RhdHVzID09PSBzdGF0dXMsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSB0YWdJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8TGlzdEl0ZW0+PiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMudmFsdGltb01vZGFsU2VydmljZS5kb2N1bWVudERlZmluaXRpb25OYW1lJCxcbiAgICB0aGlzLnRhZ0Zvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLnRhZ0Zvcm1Db250cm9sLnZhbHVlKSksXG4gIF0pLnBpcGUoXG4gICAgZmlsdGVyKChbZG9jdW1lbnREZWZpbml0aW9uTmFtZV0pID0+ICEhZG9jdW1lbnREZWZpbml0aW9uTmFtZSksXG4gICAgc3dpdGNoTWFwKChbZG9jdW1lbnREZWZpbml0aW9uTmFtZSwgdGFnRm9ybUNvbnRyb2xWYWx1ZV0pID0+XG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5kb2N1bWVudGVuQXBpVGFnU2VydmljZS5nZXRUYWdzKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpLFxuICAgICAgICBvZih0YWdGb3JtQ29udHJvbFZhbHVlKSxcbiAgICAgIF0pXG4gICAgKSxcbiAgICBtYXAoKFt0YWdzLCB0YWdGb3JtQ29udHJvbFZhbHVlXSkgPT5cbiAgICAgIHRhZ3MubWFwKHRhZyA9PiAoe1xuICAgICAgICBpZDogdGFnLnZhbHVlLFxuICAgICAgICBjb250ZW50OiB0YWcudmFsdWUsXG4gICAgICAgIHNlbGVjdGVkOiAhIXRhZ0Zvcm1Db250cm9sVmFsdWUgPyB0YWdGb3JtQ29udHJvbFZhbHVlLmluY2x1ZGVzKHRhZy52YWx1ZSkgOiBmYWxzZSxcbiAgICAgIH0pKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgTEFOR1VBR0VTOiBBcnJheTxEb2N1bWVudExhbmd1YWdlPiA9IFsnbmxkJywgJ2VuZycsICdkZXUnXTtcbiAgcHVibGljIGxhbmd1YWdlSXRlbXMkOiBPYnNlcnZhYmxlPEFycmF5PExpc3RJdGVtPj4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmxhbmd1YWdlRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMubGFuZ3VhZ2VGb3JtQ29udHJvbC52YWx1ZSkpLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2N1cnJlbnRMYW5ndWFnZV0pID0+IHtcbiAgICAgIHJldHVybiB0aGlzLkxBTkdVQUdFUy5tYXAoXG4gICAgICAgIChsYW5ndWFnZTogYW55KSA9PlxuICAgICAgICAgICh7XG4gICAgICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgZG9jdW1lbnQuJHtsYW5ndWFnZX1gKSxcbiAgICAgICAgICAgIGlkOiBsYW5ndWFnZSxcbiAgICAgICAgICAgIHNlbGVjdGVkOiBjdXJyZW50TGFuZ3VhZ2UgPT09IGxhbmd1YWdlLFxuICAgICAgICAgIH0pIGFzIExpc3RJdGVtXG4gICAgICApO1xuICAgIH0pXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50VHlwZUl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxMaXN0SXRlbT4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy52YWx0aW1vTW9kYWxTZXJ2aWNlLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUkLFxuICAgIHRoaXMuaW5mb3JtYXRpZW9iamVjdHR5cGVGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmluZm9ybWF0aWVvYmplY3R0eXBlRm9ybUNvbnRyb2wudmFsdWUpXG4gICAgKSxcbiAgXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFtkb2N1bWVudERlZmluaXRpb25OYW1lLCBpbmZvcm1hdGllb2JqZWN0dHlwZVZhbHVlXSkgPT5cbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXREb2N1bWVudFR5cGVzKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpLFxuICAgICAgICBvZihpbmZvcm1hdGllb2JqZWN0dHlwZVZhbHVlKSxcbiAgICAgIF0pXG4gICAgKSxcbiAgICBtYXAoKFtkb2N1bWVudFR5cGVzLCBpbmZvcm1hdGllb2JqZWN0dHlwZVZhbHVlXSkgPT5cbiAgICAgIGRvY3VtZW50VHlwZXMubWFwKCh0eXBlOiBhbnkpID0+ICh7XG4gICAgICAgIGlkOiB0eXBlLnVybCxcbiAgICAgICAgY29udGVudDogdHlwZS5uYW1lLFxuICAgICAgICBzZWxlY3RlZDogaW5mb3JtYXRpZW9iamVjdHR5cGVWYWx1ZSA9PT0gdHlwZS51cmwsXG4gICAgICB9KSlcbiAgICApXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSB1c2VyRW1haWwkID0gZnJvbSh0aGlzLmtleWNsb2FrU2VydmljZS5sb2FkVXNlclByb2ZpbGUoKSkucGlwZShcbiAgICBtYXAodXNlclByb2ZpbGUgPT4gdXNlclByb2ZpbGU/LmVtYWlsIHx8ICcnKVxuICApO1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgX2ZpbGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ZW5BcGlUYWdTZXJ2aWNlOiBEb2N1bWVudGVuQXBpVGFnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGtleWNsb2FrU2VydmljZTogS2V5Y2xvYWtTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdGltb01vZGFsU2VydmljZTogVmFsdGltb01vZGFsU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkZpbGVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5EaXNhYmxlZFN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlbkZpbGVuYW1lU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5vcGVuRG9jdW1lbnREZWZpbml0aW9uU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX2ZpbGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5pc0RlZmluaXRpdmVTdGF0dXMkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGxhbmd1YWdlU2VsZWN0ZWQoZXZlbnQ6IHtpdGVtOiB7aWQ6IHN0cmluZ319KSB7XG4gICAgaWYgKGV2ZW50Lml0ZW0uaWQpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgdGFhbDogZXZlbnQuaXRlbS5pZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0YWdzU2VsZWN0ZWQoZXZlbnQ6IEFycmF5PExpc3RJdGVtPikge1xuICAgIHRoaXMudGFnRm9ybUNvbnRyb2wucGF0Y2hWYWx1ZShldmVudC5maWx0ZXIodGFnID0+IHRhZy5zZWxlY3RlZCkubWFwKHRhZyA9PiB0YWcuaWQpKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWRlbnRpYWxpdHlMZXZlbFNlbGVjdGVkKGV2ZW50OiB7aWQ6IHN0cmluZ30pIHtcbiAgICBpZiAoZXZlbnQuaWQpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgdmVydHJvdXdlbGlqa2hlaWRhYW5kdWlkaW5nOiBldmVudC5pZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdGF0dXNTZWxlY3RlZChldmVudDoge2lkOiBzdHJpbmd9KSB7XG4gICAgaWYgKGV2ZW50LmlkKSB7XG4gICAgICB0aGlzLmRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgIHN0YXR1czogZXZlbnQuaWQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5mb3JtYXRpZW9iamVjdHR5cGVTZWxlY3RlZChldmVudDoge2l0ZW06IHtpZDogc3RyaW5nfX0pIHtcbiAgICBpZiAoZXZlbnQuaXRlbS5pZCkge1xuICAgICAgdGhpcy5kb2N1bWVudGVuQXBpTWV0YWRhdGFGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBpbmZvcm1hdGllb2JqZWN0dHlwZTogZXZlbnQuaXRlbS5pZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwcmVmaWxsRm9ybShmaWxlKSB7XG4gICAgdGhpcy5wcmVmaWxsRmlsZW5hbWVBbmRBdXRob3IoKTtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBiZXNjaHJpanZpbmcsXG4gICAgICAgIHRhYWwsXG4gICAgICAgIGluZm9ybWF0aWVvYmplY3R0eXBlLFxuICAgICAgICBzdGF0dXMsXG4gICAgICAgIHZlcnRyb3V3ZWxpamtoZWlkYWFuZHVpZGluZyxcbiAgICAgICAgb250dmFuZ3N0ZGF0dW0sXG4gICAgICAgIHZlcnplbmRkYXR1bSxcbiAgICAgICAgdHJlZndvb3JkZW4sXG4gICAgICB9ID0gZmlsZTtcblxuICAgICAgaWYgKHZlcnplbmRkYXR1bSkgdGhpcy5hZGRpdGlvbmFsRG9jdW1lbnREYXRlJC5uZXh0KCdzZW50Jyk7XG4gICAgICBlbHNlIGlmIChvbnR2YW5nc3RkYXR1bSkgdGhpcy5hZGRpdGlvbmFsRG9jdW1lbnREYXRlJC5uZXh0KCdyZWNlaXZlZCcpO1xuICAgICAgZWxzZSB0aGlzLmFkZGl0aW9uYWxEb2N1bWVudERhdGUkLm5leHQoJ25laXRoZXInKTtcblxuICAgICAgY29uc3QgcHJlZmlsbFN0YXR1cyA9IHRoaXMuZGVmYXVsdFZhbHVlcy5zdGF0dXMgfHwgc3RhdHVzO1xuICAgICAgY29uc3QgdmFsaWRQcmVmaWxsU3RhdHVzID0gdGhpcy5TVEFUVVNFUy5pbmNsdWRlcyhwcmVmaWxsU3RhdHVzKSA/IHByZWZpbGxTdGF0dXMgOiAnJztcblxuICAgICAgdGhpcy5kb2N1bWVudGVuQXBpTWV0YWRhdGFGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBiZXNjaHJpanZpbmc6IGJlc2NocmlqdmluZyB8fCB0aGlzLmRlZmF1bHRWYWx1ZXMuYmVzY2hyaWp2aW5nLFxuICAgICAgICB0YWFsOiB0YWFsIHx8IHRoaXMuZGVmYXVsdFZhbHVlcy50YWFsLFxuICAgICAgICBpbmZvcm1hdGllb2JqZWN0dHlwZTogaW5mb3JtYXRpZW9iamVjdHR5cGUgfHwgdGhpcy5kZWZhdWx0VmFsdWVzLmluZm9ybWF0aWVvYmplY3R0eXBlLFxuICAgICAgICBzdGF0dXM6IHZhbGlkUHJlZmlsbFN0YXR1cyxcbiAgICAgICAgdmVydHJvdXdlbGlqa2hlaWRhYW5kdWlkaW5nOlxuICAgICAgICAgIHZlcnRyb3V3ZWxpamtoZWlkYWFuZHVpZGluZyB8fCB0aGlzLmRlZmF1bHRWYWx1ZXMudmVydHJvdXdlbGlqa2hlaWRhYW5kdWlkaW5nLFxuICAgICAgICBvbnR2YW5nc3RkYXR1bSxcbiAgICAgICAgdmVyemVuZGRhdHVtLFxuICAgICAgICB0cmVmd29vcmRlbjogdHJlZndvb3JkZW4gfHwgdGhpcy5kZWZhdWx0VmFsdWVzLnRyZWZ3b29yZGVuLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtYXREYXRlKCdjcmVhdGllZGF0dW0nKTtcbiAgICB0aGlzLmZvcm1hdERhdGUoJ3ZlcnplbmRkYXR1bScpO1xuICAgIHRoaXMuZm9ybWF0RGF0ZSgnb250dmFuZ3N0ZGF0dW0nKTtcblxuICAgIGNvbnN0IHJhd1ZhbHVlID0gdGhpcy5kb2N1bWVudGVuQXBpTWV0YWRhdGFGb3JtLmdldFJhd1ZhbHVlKCk7XG4gICAgY29uc3QgbWFwcGVkUmF3VmFsdWUgPSBPYmplY3Qua2V5cyhyYXdWYWx1ZSkucmVkdWNlKFxuICAgICAgKGFjYywgY3VycmVudEtleSkgPT5cbiAgICAgICAgcmF3VmFsdWVbY3VycmVudEtleV0gIT09IHVuZGVmaW5lZCA/IHsuLi5hY2MsIFtjdXJyZW50S2V5XTogcmF3VmFsdWVbY3VycmVudEtleV19IDogYWNjLFxuICAgICAge31cbiAgICApIGFzIERvY3VtZW50ZW5BcGlNZXRhZGF0YTtcblxuICAgIGlmICh0aGlzLmRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm0udmFsaWQpIHRoaXMubWV0YWRhdGEuZW1pdChtYXBwZWRSYXdWYWx1ZSk7XG5cbiAgICB0aGlzLmNsb3NlTW9kYWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZU1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmNsb3NlTW9kYWwoKCkgPT4ge1xuICAgICAgdGhpcy5hZGRpdGlvbmFsRG9jdW1lbnREYXRlJC5uZXh0KCduZWl0aGVyJyk7XG4gICAgICB0aGlzLm1vZGFsQ2xvc2UuZW1pdCgpO1xuICAgICAgdGhpcy5jbGVhckZvcm0oKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5yZXNldCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVmaWxsRmlsZW5hbWVBbmRBdXRob3IoKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmZpbGUkLCB0aGlzLnVzZXJFbWFpbCRdKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YXAoKFtmaWxlLCB1c2VyRW1haWxdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWxlbmFtZSA9IGZpbGU/LmJlc3RhbmRzbmFhbSB8fCB0aGlzLmRlZmF1bHRWYWx1ZXMuYmVzdGFuZHNuYWFtIHx8IGZpbGU/Lm5hbWU7XG4gICAgICAgICAgICB0aGlzLmZpbGVuYW1lRXh0ZW5zaW9uID0gZmlsZW5hbWU/LnNwbGl0KCcuJyk/LnBvcCgpIHx8ICcnO1xuICAgICAgICAgICAgaWYgKHRoaXMuZmlsZW5hbWVFeHRlbnNpb24ubGVuZ3RoID09PSBmaWxlbmFtZT8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMuZmlsZW5hbWVFeHRlbnNpb24gPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgYmVzdGFuZHNuYWFtOiBmaWxlbmFtZSxcbiAgICAgICAgICAgICAgYXV0ZXVyOiBmaWxlPy5hdXRldXIgfHwgdGhpcy5kZWZhdWx0VmFsdWVzLmF1dGV1ciB8fCB1c2VyRW1haWwsXG4gICAgICAgICAgICAgIGNyZWF0aWVkYXR1bTogZmlsZT8uY3JlYXRpZWRhdHVtIHx8IG5ldyBEYXRlKERhdGUubm93KCkpLFxuICAgICAgICAgICAgICB0aXRlbDpcbiAgICAgICAgICAgICAgICBmaWxlPy50aXRlbCB8fFxuICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdFZhbHVlcy50aXRlbCB8fFxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZW5hbWVUb1RpdGxlKGZpbGU/Lm5hbWUgfHwgdGhpcy5kZWZhdWx0VmFsdWVzLmJlc3RhbmRzbmFhbSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICh0aGlzLmFyZUFsbEZpZWxkc0hpZGRlbigpKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2F2ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsZW5hbWVUb1RpdGxlKGZpbGVuYW1lPzogc3RyaW5nKSB7XG4gICAgaWYgKCFmaWxlbmFtZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZmlsZW5hbWUgPSBmaWxlbmFtZS5yZXBsYWNlKC9cXC5bXi8uXSskLywgJycpLnJlcGxhY2UoL1teYS16QS1aMC05XSsvZywgJyAnKTtcbiAgICByZXR1cm4gZmlsZW5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBmaWxlbmFtZS5zbGljZSgxKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0RGF0ZShjb250cm9sTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5jb250cm9sc1tjb250cm9sTmFtZV07XG4gICAgaWYgKGNvbnRyb2wudmFsdWUpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgW2NvbnRyb2xOYW1lXTogdGhpcy50b0Zvcm1hdHRlZERhdGUoY29udHJvbC52YWx1ZSksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRvRm9ybWF0dGVkRGF0ZShkYXRlOiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBtb21lbnQobmV3IERhdGUoZGF0ZSkpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRmlsZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9maWxlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIGlmICh0aGlzLmZpbGUkKSB7XG4gICAgICB0aGlzLl9maWxlU3Vic2NyaXB0aW9uID0gdGhpcy5maWxlJC5zdWJzY3JpYmUoZmlsZSA9PiB7XG4gICAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgICAgdGhpcy5wcmVmaWxsRm9ybShmaWxlKTtcbiAgICAgICAgICB0aGlzLmlzRGVmaW5pdGl2ZVN0YXR1cyQubmV4dChcbiAgICAgICAgICAgIGZpbGUuc3RhdHVzID09PSAnZGVmaW5pdGllZicgJiYgdGhpcy5pc0VkaXRNb2RlID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW5EaXNhYmxlZFN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZGlzYWJsZWQkPy5zdWJzY3JpYmUoZGlzYWJsZWQgPT4ge1xuICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLmRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm0uZGlzYWJsZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5lbmFibGUoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRmlsZW5hbWVTdWJzY3JpcHRpb24oKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmJlc3RhbmRzbmFhbS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGJlc3RhbmRzbmFhbSA9PiB7XG4gICAgICAgIGlmIChiZXN0YW5kc25hYW0gJiYgdGhpcy5maWxlbmFtZUV4dGVuc2lvbikge1xuICAgICAgICAgIGxldCBjb3JyZWN0QmVzdGFuZHNuYWFtID1cbiAgICAgICAgICAgIGJlc3RhbmRzbmFhbS5yZXBsYWNlKC9cXC5bXi8uXSskLywgJycpICsgJy4nICsgdGhpcy5maWxlbmFtZUV4dGVuc2lvbjtcbiAgICAgICAgICBpZiAoY29ycmVjdEJlc3RhbmRzbmFhbSAhPSBiZXN0YW5kc25hYW0pIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRlbkFwaU1ldGFkYXRhRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgYmVzdGFuZHNuYWFtOiBjb3JyZWN0QmVzdGFuZHNuYWFtLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5Eb2N1bWVudERlZmluaXRpb25TdWJzY3JpcHRpb24oKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnJvdXRlPy5wYXJhbXMgfHwgb2YobnVsbCksIHRoaXMucm91dGU/LmZpcnN0Q2hpbGQ/LnBhcmFtcyB8fCBvZihudWxsKV0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcChcbiAgICAgICAgICAgIChbcGFyYW1zLCBmaXJzdENoaWxkUGFyYW1zXSkgPT5cbiAgICAgICAgICAgICAgKHBhcmFtcz8uZG9jdW1lbnREZWZpbml0aW9uTmFtZSB8fCBmaXJzdENoaWxkUGFyYW1zPy5kb2N1bWVudERlZmluaXRpb25OYW1lKSBhcyBzdHJpbmdcbiAgICAgICAgICApLFxuICAgICAgICAgIGZpbHRlcihkb2N1bWVudERlZmluaXRpb25OYW1lID0+ICEhZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUgPT5cbiAgICAgICAgICB0aGlzLnZhbHRpbW9Nb2RhbFNlcnZpY2Uuc2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZShkb2N1bWVudERlZmluaXRpb25OYW1lKVxuICAgICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWRkaXRpb25hbERhdGUodmFsdWU6IEFkZGl0aW9uYWxEb2N1bWVudERhdGUpOiB2b2lkIHtcbiAgICB0aGlzLmFkZGl0aW9uYWxEb2N1bWVudERhdGUkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcmVBbGxGaWVsZHNIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuaGlkZUZpZWxkcy5pbmNsdWRlcygnYWFudnVsbGVuZGVEYXR1bScpICYmXG4gICAgICB0aGlzLmhpZGVGaWVsZHMuaW5jbHVkZXMoJ2F1dGV1cicpICYmXG4gICAgICB0aGlzLmhpZGVGaWVsZHMuaW5jbHVkZXMoJ3ZlcnRyb3V3ZWxpamtoZWlkYWFuZHVpZGluZycpICYmXG4gICAgICB0aGlzLmhpZGVGaWVsZHMuaW5jbHVkZXMoJ2NyZWF0aWVkYXR1bScpICYmXG4gICAgICB0aGlzLmhpZGVGaWVsZHMuaW5jbHVkZXMoJ2Jlc2NocmlqdmluZycpICYmXG4gICAgICB0aGlzLmhpZGVGaWVsZHMuaW5jbHVkZXMoJ3RpdGVsJykgJiZcbiAgICAgIHRoaXMuaGlkZUZpZWxkcy5pbmNsdWRlcygnaW5mb3JtYXRpZW9iamVjdHR5cGUnKSAmJlxuICAgICAgdGhpcy5oaWRlRmllbGRzLmluY2x1ZGVzKCdiZXN0YW5kc25hYW0nKSAmJlxuICAgICAgdGhpcy5oaWRlRmllbGRzLmluY2x1ZGVzKCd0YWFsJykgJiZcbiAgICAgIHRoaXMuaGlkZUZpZWxkcy5pbmNsdWRlcygnc3RhdHVzJykgJiZcbiAgICAgIHRoaXMuaGlkZUZpZWxkcy5pbmNsdWRlcygndHJlZndvb3JkZW4nKVxuICAgICk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHYtbW9kYWxcbiAgI21ldGFkYXRhTW9kYWxcbiAgKm5nSWY9XCJ7XG4gICAgZmlsZTogZmlsZSQgfCBhc3luYyxcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQkIHwgYXN5bmMsXG4gICAgaXNEZWZpbml0aXZlU3RhdHVzOiBpc0RlZmluaXRpdmVTdGF0dXMkIHwgYXN5bmMsXG4gICAgbGFuZ3VhZ2VJdGVtczogbGFuZ3VhZ2VJdGVtcyQgfCBhc3luYyxcbiAgICBjb25maWRlbnRpYWxpdHlMZXZlbEl0ZW1zOiBjb25maWRlbnRpYWxpdHlMZXZlbEl0ZW1zJCB8IGFzeW5jLFxuICAgIGRvY3VtZW50VHlwZUl0ZW1zOiBkb2N1bWVudFR5cGVJdGVtcyQgfCBhc3luYyxcbiAgICBzdGF0dXNJdGVtczogc3RhdHVzSXRlbXMkIHwgYXN5bmMsXG4gICAgdGFnSXRlbXM6IHRhZ0l0ZW1zJCB8IGFzeW5jLFxuICAgIHVzZXJFbWFpbDogdXNlckVtYWlsJCB8IGFzeW5jLFxuICAgIG9wZW46IG9wZW4kIHwgYXN5bmMsXG4gICAgYWRkaXRpb25hbERhdGU6IGFkZGl0aW9uYWxEb2N1bWVudERhdGUkIHwgYXN5bmMsXG4gIH0gYXMgb2JzXCJcbiAgW21heFdpZHRoUHhdPVwiMTI4MFwiXG4gIChjbG9zZUV2ZW50KT1cImNsb3NlTW9kYWwoKVwiXG4+XG4gIDxkaXYgcm9sZT1cImhlYWRlclwiPlxuICAgIEBpZiAoaXNFZGl0TW9kZSkge1xuICAgICAgPGgzIGNkc01vZGFsSGVhZGVySGVhZGluZz5cbiAgICAgICAge3sgJ2RvY3VtZW50LmVkaXRNZXRhZGF0YScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvaDM+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8aDMgY2RzTW9kYWxIZWFkZXJIZWFkaW5nPlxuICAgICAgICB7eyAnZG9jdW1lbnQuZmlsbEluTWV0YWRhdGEnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2gzPlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgPGRpdiByb2xlPVwiY29udGVudFwiPlxuICAgIEBpZiAob2JzLm9wZW4pIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZXRhZGF0YUZvcm07IGNvbnRleHQ6IHtvYnM6IG9ic31cIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gIDwvZGl2PlxuXG4gIDxkaXYgcm9sZT1cImZvb3RlclwiIGNsYXNzPVwibWV0YWRhdGEtbW9kYWwtZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiBjZHNCdXR0b249XCJnaG9zdFwiIChjbGljayk9XCJjbG9zZU1vZGFsKClcIiBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCI+XG4gICAgICB7eyAnZG9jdW1lbnQuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvblxuICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWQgfHwgIWRvY3VtZW50ZW5BcGlNZXRhZGF0YUZvcm0udmFsaWQgfHwgb2JzLmlzRGVmaW5pdGl2ZVN0YXR1c1wiXG4gICAgICAoY2xpY2spPVwic2F2ZSgpXCJcbiAgICA+XG4gICAgICB7eyAnZG9jdW1lbnQuc2F2ZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L3YtbW9kYWw+XG5cbjxuZy10ZW1wbGF0ZSAjbWV0YWRhdGFGb3JtIGxldC1vYnM9XCJvYnNcIj5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJkb2N1bWVudGVuQXBpTWV0YWRhdGFGb3JtXCI+XG4gICAgPGRpdiBjbGFzcz1cImRvY3VtZW50ZW4tbWV0YWRhdGEtZm9ybS1jb2x1bW5zLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImRvY3VtZW50ZW4tbWV0YWRhdGEtZm9ybS1jb2x1bW5cIj5cbiAgICAgICAgQGlmICghaGlkZUZpZWxkcy5pbmNsdWRlcygnYmVzdGFuZHNuYWFtJykpIHtcbiAgICAgICAgICA8Y2RzLXRleHQtbGFiZWwgY2xhc3M9XCJkb2N1bWVudGVuLW1ldGFkYS1mb3JtLWlucHV0XCI+XG4gICAgICAgICAgICB7eyAnZG9jdW1lbnQuZmlsZW5hbWUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8Y2RzLXRvb2x0aXBcbiAgICAgICAgICAgICAgW2lzT3Blbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCInZG9jdW1lbnQuZmlsZW5hbWVUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIFthbGlnbl09XCInYm90dG9tLWxlZnQnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtZGkgbWRpLWhlbHAtY2lyY2xlLW91dGxpbmVcIj48L2k+XG4gICAgICAgICAgICA8L2Nkcy10b29sdGlwPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJkZWZhdWx0VmFsdWVzLmJlc3RhbmRzbmFhbVwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZG9jdW1lbnQuZmlsZW5hbWVQbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBjZHNUZXh0XG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgaWQ9XCJiZXN0YW5kc25hYW1cIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJiZXN0YW5kc25hYW1cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Nkcy10ZXh0LWxhYmVsPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoIWhpZGVGaWVsZHMuaW5jbHVkZXMoJ2F1dGV1cicpKSB7XG4gICAgICAgICAgPGNkcy10ZXh0LWxhYmVsIGNsYXNzPVwiZG9jdW1lbnRlbi1tZXRhZGEtZm9ybS1pbnB1dFwiPlxuICAgICAgICAgICAge3sgJ2RvY3VtZW50LmF1dGhvcicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDxjZHMtdG9vbHRpcFxuICAgICAgICAgICAgICBbaXNPcGVuXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cIidkb2N1bWVudC5hdXRob3JUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIFthbGlnbl09XCInYm90dG9tLWxlZnQnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtZGkgbWRpLWhlbHAtY2lyY2xlLW91dGxpbmVcIj48L2k+XG4gICAgICAgICAgICA8L2Nkcy10b29sdGlwPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJkZWZhdWx0VmFsdWVzLmF1dGV1clwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZG9jdW1lbnQuYXV0aG9yUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICBjZHNUZXh0XG4gICAgICAgICAgICAgIGlkPVwiYXV0ZXVyXCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYXV0ZXVyXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9jZHMtdGV4dC1sYWJlbD5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKCFoaWRlRmllbGRzLmluY2x1ZGVzKCd0YWFsJykpIHtcbiAgICAgICAgICA8Y2RzLXRleHQtbGFiZWw+XG4gICAgICAgICAgICB7eyAnZG9jdW1lbnQubGFuZ3VhZ2UnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8Y2RzLXRvb2x0aXBcbiAgICAgICAgICAgICAgW2lzT3Blbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCInZG9jdW1lbnQubGFuZ3VhZ2VUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIFthbGlnbl09XCInYm90dG9tLWxlZnQnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtZGkgbWRpLWhlbHAtY2lyY2xlLW91dGxpbmVcIj48L2k+XG4gICAgICAgICAgICA8L2Nkcy10b29sdGlwPlxuICAgICAgICAgIDwvY2RzLXRleHQtbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3VtZW50ZW4tbWV0YWRhLWZvcm0taW5wdXRcIj5cbiAgICAgICAgICAgIDxjZHMtZHJvcGRvd25cbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZCB8fCAobGFuZ3VhZ2VEaXNhYmxlZCQgfCBhc3luYylcIlxuICAgICAgICAgICAgICBbYXBwZW5kSW5saW5lXT1cInRydWVcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2RvY3VtZW50Lmxhbmd1YWdlUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgaWQ9XCJsYW5ndWFnZVwiXG4gICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJsYW5ndWFnZVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Y2RzLWRyb3Bkb3duLWxpc3QgW2l0ZW1zXT1cIm9icy5sYW5ndWFnZUl0ZW1zIHx8IFtdXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgICAgICAgIDwvY2RzLWRyb3Bkb3duPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoIWhpZGVGaWVsZHMuaW5jbHVkZXMoJ3ZlcnRyb3V3ZWxpamtoZWlkYWFuZHVpZGluZycpKSB7XG4gICAgICAgICAgPGNkcy1sYWJlbD5cbiAgICAgICAgICAgIHt7ICdkb2N1bWVudC5jb25maWRlbnRpYWxpdHlMZXZlbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDxjZHMtdG9vbHRpcFxuICAgICAgICAgICAgICBbaXNPcGVuXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cIidkb2N1bWVudC5jb25maWRlbnRpYWxpdHlMZXZlbFRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW2FsaWduXT1cIidib3R0b20tbGVmdCdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1kaSBtZGktaGVscC1jaXJjbGUtb3V0bGluZVwiPjwvaT5cbiAgICAgICAgICAgIDwvY2RzLXRvb2x0aXA+XG4gICAgICAgICAgPC9jZHMtbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3VtZW50ZW4tbWV0YWRhLWZvcm0taW5wdXRcIj5cbiAgICAgICAgICAgIDxjZHMtY29tYm8tYm94XG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZG9jdW1lbnQuY29uZmlkZW50aWFsaXR5UGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgaWQ9XCJ2ZXJ0cm91d2VsaWpraGVpZGFhbmR1aWRpbmdcIlxuICAgICAgICAgICAgICBbYXBwZW5kSW5saW5lXT1cInRydWVcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkIHx8IChjb25maWRlbnRpYWxpdHlMZXZlbERpc2FibGVkJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJjb25maWRlbnRpYWxpdHlMZXZlbFNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAoY2xlYXIpPVwiY29uZmlkZW50aWFsaXR5TGV2ZWxGb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxjZHMtZHJvcGRvd24tbGlzdCBbaXRlbXNdPVwib2JzLmNvbmZpZGVudGlhbGl0eUxldmVsSXRlbXMgfHwgW11cIj48L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgICAgICAgICAgPC9jZHMtY29tYm8tYm94PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoIWhpZGVGaWVsZHMuaW5jbHVkZXMoJ2luZm9ybWF0aWVvYmplY3R0eXBlJykpIHtcbiAgICAgICAgICA8Y2RzLWxhYmVsPlxuICAgICAgICAgICAge3sgJ2RvY3VtZW50LmluZm9ybWF0aWVvYmplY3R0eXBlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPGNkcy10b29sdGlwXG4gICAgICAgICAgICAgIFtpc09wZW5dPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiJ2RvY3VtZW50LmluZm9ybWF0aWVvYmplY3R0eXBlVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBbYWxpZ25dPVwiJ2JvdHRvbS1sZWZ0J1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwibWRpIG1kaS1oZWxwLWNpcmNsZS1vdXRsaW5lXCI+PC9pPlxuICAgICAgICAgICAgPC9jZHMtdG9vbHRpcD5cbiAgICAgICAgICA8L2Nkcy1sYWJlbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRlbi1tZXRhZGEtZm9ybS1pbnB1dFwiPlxuICAgICAgICAgICAgPGNkcy1kcm9wZG93blxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2RvY3VtZW50LmluZm9ybWF0aWVvYmplY3R0eXBlUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZCB8fCAoaW5mb3JtYXRpZW9iamVjdHR5cGVEaXNhYmxlZCQgfCBhc3luYylcIlxuICAgICAgICAgICAgICBpZD1cImluZm9ybWF0aWVvYmplY3R0eXBlXCJcbiAgICAgICAgICAgICAgW2FwcGVuZElubGluZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cImluZm9ybWF0aWVvYmplY3R0eXBlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxjZHMtZHJvcGRvd24tbGlzdCBbaXRlbXNdPVwib2JzLmRvY3VtZW50VHlwZUl0ZW1zIHx8IFtdXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgICAgICAgIDwvY2RzLWRyb3Bkb3duPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoIWhpZGVGaWVsZHMuaW5jbHVkZXMoJ2FhbnZ1bGxlbmRlRGF0dW0nKSkge1xuICAgICAgICAgIDxjZHMtdGV4dC1sYWJlbCBuYW1lPVwiJ2FkZGl0aW9uYWxEYXRlJ1wiPlxuICAgICAgICAgICAge3sgJ2RvY3VtZW50LmFkZGl0aW9uYWxEYXRlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPGNkcy10b29sdGlwXG4gICAgICAgICAgICAgIFtpc09wZW5dPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiJ2RvY3VtZW50LmFkZGl0aW9uYWxEYXRlVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBbYWxpZ25dPVwiJ2JvdHRvbS1sZWZ0J1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwibWRpIG1kaS1oZWxwLWNpcmNsZS1vdXRsaW5lXCI+PC9pPlxuICAgICAgICAgICAgPC9jZHMtdG9vbHRpcD5cbiAgICAgICAgICA8L2Nkcy10ZXh0LWxhYmVsPlxuICAgICAgICAgIDxjZHMtcmFkaW8tZ3JvdXAgW29yaWVudGF0aW9uXT1cIidob3Jpem9udGFsJ1wiIGNsYXNzPVwiZG9jdW1lbnRlbi1tZXRhZGEtZm9ybS1pbnB1dFwiPlxuICAgICAgICAgICAgPGNkcy1yYWRpb1xuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIEFERElUT05BTF9ET0NVTUVOVF9EQVRFX09QVElPTlNcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwib2JzLmFkZGl0aW9uYWxEYXRlID09PSBvcHRpb24udmFsdWVcIlxuICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZXRBZGRpdGlvbmFsRGF0ZShvcHRpb24udmFsdWUpXCJcbiAgICAgICAgICAgICAgbmFtZT1cInJhZGlvLWlubGluZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IG9wdGlvbi50cmFuc2xhdGlvbktleSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9jZHMtcmFkaW8+XG4gICAgICAgICAgPC9jZHMtcmFkaW8tZ3JvdXA+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChzdXBwb3J0c1RyZWZ3b29yZGVuICYmICFoaWRlRmllbGRzLmluY2x1ZGVzKCd0cmVmd29vcmRlbicpKSB7XG4gICAgICAgICAgPGNkcy10ZXh0LWxhYmVsPlxuICAgICAgICAgICAge3sgJ2RvY3VtZW50LnRhZ3MnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8Y2RzLXRvb2x0aXBcbiAgICAgICAgICAgICAgW2lzT3Blbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCInZG9jdW1lbnQudGFnc1Rvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW2FsaWduXT1cIidib3R0b20tbGVmdCdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1kaSBtZGktaGVscC1jaXJjbGUtb3V0bGluZVwiPjwvaT5cbiAgICAgICAgICAgIDwvY2RzLXRvb2x0aXA+XG4gICAgICAgICAgPC9jZHMtdGV4dC1sYWJlbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRlbi1tZXRhZGEtZm9ybS1pbnB1dFwiPlxuICAgICAgICAgICAgPGNkcy1jb21iby1ib3hcbiAgICAgICAgICAgICAgW3R5cGVdPVwiJ211bHRpJ1wiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZG9jdW1lbnQudGFnc1BsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWQgfHwgb2JzLnRhZ0l0ZW1zPy5sZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgICBbYXBwZW5kSW5saW5lXT1cInRydWVcIlxuICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwidGFnc1NlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxjZHMtZHJvcGRvd24tbGlzdCBbaXRlbXNdPVwib2JzLnRhZ0l0ZW1zIHx8IFtdXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgICAgICAgIDwvY2RzLWNvbWJvLWJveD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJkb2N1bWVudGVuLW1ldGFkYXRhLWZvcm0tY29sdW1uXCI+XG4gICAgICAgIEBpZiAoIWhpZGVGaWVsZHMuaW5jbHVkZXMoJ3RpdGVsJykpIHtcbiAgICAgICAgICA8Y2RzLXRleHQtbGFiZWw+XG4gICAgICAgICAgICB7eyAnZG9jdW1lbnQuaW5wdXRUaXRsZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2RvY3VtZW50LmlucHV0VGl0bGVQbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGNkc1RleHRcbiAgICAgICAgICAgICAgY2xhc3M9XCJkb2N1bWVudGVuLW1ldGFkYS1mb3JtLWlucHV0XCJcbiAgICAgICAgICAgICAgaWQ9XCJ0aXRlbFwiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpdGVsXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Y2RzLXRvb2x0aXBcbiAgICAgICAgICAgICAgW2lzT3Blbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCInZG9jdW1lbnQuaW5wdXRUaXRsZVRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW2FsaWduXT1cIidib3R0b20nXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtZGkgbWRpLWhlbHAtY2lyY2xlLW91dGxpbmVcIj48L2k+XG4gICAgICAgICAgICA8L2Nkcy10b29sdGlwPlxuICAgICAgICAgIDwvY2RzLXRleHQtbGFiZWw+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICghaGlkZUZpZWxkcy5pbmNsdWRlcygnYmVzY2hyaWp2aW5nJykpIHtcbiAgICAgICAgICA8Y2RzLXRleHRhcmVhLWxhYmVsPlxuICAgICAgICAgICAge3sgJ2RvY3VtZW50LmlucHV0RGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidkb2N1bWVudC5pbnB1dERlc2NyaXB0aW9uUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW3Jvd3NdPVwiNVwiXG4gICAgICAgICAgICAgIGNkc1RleHRBcmVhXG4gICAgICAgICAgICAgIGNsYXNzPVwiZG9jdW1lbnRlbi1tZXRhZGEtZm9ybS1kZXNjcmlwdGlvbi1pbnB1dCBkb2N1bWVudGVuLW1ldGFkYS1mb3JtLWlucHV0XCJcbiAgICAgICAgICAgICAgaWQ9XCJiZXNjaHJpanZpbmdcIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJiZXNjaHJpanZpbmdcIlxuICAgICAgICAgICAgPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICA8Y2RzLXRvb2x0aXBcbiAgICAgICAgICAgICAgW2lzT3Blbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCInZG9jdW1lbnQuaW5wdXREZXNjcmlwdGlvblRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW2FsaWduXT1cIidib3R0b20nXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtZGkgbWRpLWhlbHAtY2lyY2xlLW91dGxpbmVcIj48L2k+XG4gICAgICAgICAgICA8L2Nkcy10b29sdGlwPlxuICAgICAgICAgIDwvY2RzLXRleHRhcmVhLWxhYmVsPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoIWhpZGVGaWVsZHMuaW5jbHVkZXMoJ2NyZWF0aWVkYXR1bScpKSB7XG4gICAgICAgICAgPGNkcy1sYWJlbD5cbiAgICAgICAgICAgIHt7ICdkb2N1bWVudC5jcmVhdGlvbkRhdGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8Y2RzLXRvb2x0aXBcbiAgICAgICAgICAgICAgW2lzT3Blbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCInZG9jdW1lbnQuY3JlYXRpb25EYXRlVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBbYWxpZ25dPVwiJ2JvdHRvbSdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1kaSBtZGktaGVscC1jaXJjbGUtb3V0bGluZVwiPjwvaT5cbiAgICAgICAgICAgIDwvY2RzLXRvb2x0aXA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRlbi1tZXRhZGEtZm9ybS1pbnB1dFwiPlxuICAgICAgICAgICAgICA8Y2RzLWRhdGUtcGlja2VyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidERC1NTS1ZWVlZJ1wiXG4gICAgICAgICAgICAgICAgW2RhdGVGb3JtYXRdPVwiJ2QtbS1ZJ1wiXG4gICAgICAgICAgICAgICAgaWQ9XCJjcmVhdGllZGF0dW1cIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNyZWF0aWVkYXR1bVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9jZHMtZGF0ZS1waWNrZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Nkcy1sYWJlbD5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKCFoaWRlRmllbGRzLmluY2x1ZGVzKCdzdGF0dXMnKSkge1xuICAgICAgICAgIDxjZHMtbGFiZWw+XG4gICAgICAgICAgICB7eyAnZG9jdW1lbnQuc3RhdHVzJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPGNkcy10b29sdGlwXG4gICAgICAgICAgICAgIFtpc09wZW5dPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiJ2RvY3VtZW50LnN0YXR1c1Rvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW2FsaWduXT1cIidib3R0b20nXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtZGkgbWRpLWhlbHAtY2lyY2xlLW91dGxpbmVcIj48L2k+XG4gICAgICAgICAgICA8L2Nkcy10b29sdGlwPlxuICAgICAgICAgIDwvY2RzLWxhYmVsPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2N1bWVudGVuLW1ldGFkYS1mb3JtLWlucHV0XCI+XG4gICAgICAgICAgICA8Y2RzLWNvbWJvLWJveFxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2RvY3VtZW50LnN0YXR1c1BsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWQgfHwgKHN0YXR1c0Rpc2FibGVkJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgIGlkPVwic3RhdHVzXCJcbiAgICAgICAgICAgICAgW2FwcGVuZElubGluZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cInN0YXR1c1NlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAoY2xlYXIpPVwic3RhdHVzRm9ybUNvbnRyb2wuc2V0VmFsdWUobnVsbClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Y2RzLWRyb3Bkb3duLWxpc3QgW2l0ZW1zXT1cIm9icy5zdGF0dXNJdGVtcyB8fCBbXVwiPjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gICAgICAgICAgICA8L2Nkcy1jb21iby1ib3g+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICghaGlkZUZpZWxkcy5pbmNsdWRlcygnYWFudnVsbGVuZGVEYXR1bScpKSB7XG4gICAgICAgICAgPGNkcy1kYXRlLXBpY2tlclxuICAgICAgICAgICAgKm5nSWY9XCJvYnMuYWRkaXRpb25hbERhdGUgPT09ICdyZWNlaXZlZCdcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidkb2N1bWVudC5hZGRpdGlvbmFsRGF0ZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidERC1NTS1ZWVlZJ1wiXG4gICAgICAgICAgICBbZGF0ZUZvcm1hdF09XCInZC1tLVknXCJcbiAgICAgICAgICAgIGlkPVwib250dmFuZ3N0ZGF0dW1cIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwib250dmFuZ3N0ZGF0dW1cIlxuICAgICAgICAgID48L2Nkcy1kYXRlLXBpY2tlcj5cbiAgICAgICAgICA8Y2RzLWRhdGUtcGlja2VyXG4gICAgICAgICAgICAqbmdJZj1cIm9icy5hZGRpdGlvbmFsRGF0ZSA9PT0gJ3NlbnQnXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCInZG9jdW1lbnQuYWRkaXRpb25hbERhdGUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInREQtTU0tWVlZWSdcIlxuICAgICAgICAgICAgW2RhdGVGb3JtYXRdPVwiJ2QtbS1ZJ1wiXG4gICAgICAgICAgICBpZD1cInZlcnplbmRkYXR1bVwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ2ZXJ6ZW5kZGF0dW1cIlxuICAgICAgICAgID48L2Nkcy1kYXRlLXBpY2tlcj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -110,6 +110,17 @@ export const documentenApiUploaderEditForm = () => ({
110
110
  required: false,
111
111
  },
112
112
  },
113
+ {
114
+ type: 'checkbox',
115
+ input: true,
116
+ inputType: 'checkbox',
117
+ key: 'disabled',
118
+ label: 'Disabled',
119
+ tooltip: 'Disable the upload field',
120
+ validate: {
121
+ required: false,
122
+ },
123
+ },
113
124
  {
114
125
  label: 'HTML',
115
126
  tag: 'div',
@@ -540,4 +551,4 @@ export const documentenApiUploaderEditForm = () => ({
540
551
  },
541
552
  ],
542
553
  });
543
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRlbi1hcGktdXBsb2FkZXItZWRpdC1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby96Z3cvc3JjL2xpYi9tb2R1bGVzL2RvY3VtZW50ZW4tYXBpL2Zvcm1pby9kb2N1bWVudGVuLWFwaS11cGxvYWRlci9kb2N1bWVudGVuLWFwaS11cGxvYWRlci1lZGl0LWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELFVBQVUsRUFBRTtRQUNWLEVBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFDO1FBQzdCO1lBQ0UsSUFBSSxFQUFFLFdBQVc7WUFDakIsS0FBSyxFQUFFLElBQUk7WUFDWCxHQUFHLEVBQUUsT0FBTztZQUNaLEtBQUssRUFBRSxPQUFPO1lBQ2QsV0FBVyxFQUFFLE9BQU87WUFDcEIsUUFBUSxFQUFFO2dCQUNSLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7U0FDRjtRQUNEO1lBQ0UsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLElBQUk7WUFDWCxTQUFTLEVBQUUsVUFBVTtZQUNyQixHQUFHLEVBQUUsbUJBQW1CO1lBQ3hCLEtBQUssRUFBRSxVQUFVO1lBQ2pCLFFBQVEsRUFBRTtnQkFDUixRQUFRLEVBQUUsS0FBSzthQUNoQjtTQUNGO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLLEVBQUUsSUFBSTtZQUNYLEdBQUcsRUFBRSxLQUFLO1lBQ1YsS0FBSyxFQUFFLGVBQWU7WUFDdEIsV0FBVyxFQUFFLGVBQWU7WUFDNUIsT0FBTyxFQUFFLDZDQUE2QztZQUN0RCxRQUFRLEVBQUU7Z0JBQ1IsUUFBUSxFQUFFLElBQUk7YUFDZjtTQUNGO1FBQ0Q7WUFDRSxJ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QWU7WUFDeEIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsSUFBSSxFQUFFLGFBQWE7WUFDbkIsS0FBSyxFQUFFLEtBQUs7WUFDWixTQUFTLEVBQUUsS0FBSztTQUNqQjtRQUNEO1lBQ0UsSUFBSSxFQUFFLFdBQVc7WUFDakIsS0FBSyxFQUFFLElBQUk7WUFDWCxHQUFHLEVBQUUsb0JBQW9CO1lBQ3pCLEtBQUssRUFBRSxjQUFjO1lBQ3JCLE9BQU8sRUFBRSxrRkFBa0Y7WUFDM0YsUUFBUSxFQUFFO2dCQUNSLFFBQVEsRUFBRSxLQUFLO2FBQ2hCO1NBQ0Y7UUFDRDtZQUNFLElBQUksRUFBRSxVQUFVO1lBQ2hCLEtBQUssRUFBRSxJQUFJO1lBQ1gsU0FBUyxFQUFFLFVBQVU7WUFDckIsR0FBRyxFQUFFLHdCQUF3QjtZQUM3QixLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLFFBQVEsRUFBRTtnQkFDUixRQUFRLEVBQUUsS0FBSzthQUNoQjtTQUNGO0tBQ0Y7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgY29uc3QgZG9jdW1lbnRlbkFwaVVwbG9hZGVyRWRpdEZvcm0gPSAoKSA9PiAoe1xuICBjb21wb25lbnRzOiBbXG4gICAge2tleTogJ3R5cGUnLCB0eXBlOiAnaGlkZGVuJ30sXG4gICAge1xuICAgICAgdHlwZTogJ3RleHRmaWVsZCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGtleTogJ2xhYmVsJyxcbiAgICAgIGxhYmVsOiAnTGFiZWwnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdMYWJlbCcsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICd2YWxpZGF0ZS5yZXF1aXJlZCcsXG4gICAgICBsYWJlbDogJ1JlcXVpcmVkJyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAndGV4dGZpZWxkJyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAga2V5OiAna2V5JyxcbiAgICAgIGxhYmVsOiAnUHJvcGVydHkgTmFtZScsXG4gICAgICBwbGFjZWhvbGRlcjogJ1Byb3BlcnR5IE5hbWUnLFxuICAgICAgdG9vbHRpcDogJ1RoZSBuYW1lIG9mIHRoaXMgZmllbGQgaW4gdGhlIEFQSSBlbmRwb2ludC4nLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ3RleHRmaWVsZCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMudGl0bGUnLFxuICAgICAgbGFiZWw6ICdUaXRsZScsXG4gICAgICBwbGFjZWhvbGRlcjogJ1RpdGxlJyxcbiAgICAgIHRvb2x0aXA6ICdMZWF2ZSBlbXB0eSB0byB1c2UgdGhlIGRlZmF1bHQgdGl0bGUnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuaGlkZVRpdGxlJyxcbiAgICAgIGxhYmVsOiAnSGlkZSB0aXRsZScsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ3RleHRmaWVsZCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuc3VidGl0bGUnLFxuICAgICAgbGFiZWw6ICdTdWJ0aXRsZScsXG4gICAgICBwbGFjZWhvbGRlcjogJ1RpdGxlJyxcbiAgICAgIHRvb2x0aXA6ICdMZWF2ZSBlbXB0eSB0byBoaWRlIHN1YnRpdGxlJyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5tYXhGaWxlU2l6ZScsXG4gICAgICBsYWJlbDogJ01heGltdW0gZmlsZSBzaXplJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnTWF4aW11bSBmaWxlIHNpemUnLFxuICAgICAgZGVmYXVsdFZhbHVlOiA1LFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5oaWRlTWF4RmlsZVNpemUnLFxuICAgICAgbGFiZWw6ICdIaWRlIG1heGltdW0gZmlsZSBzaXplJyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmNhbWVyYScsXG4gICAgICBsYWJlbDogJ0FsbG93IGNhbWVyYSB1cGxvYWRzJyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0hUTUwnLFxuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGNvbnRlbnQ6ICc8aDM+RG9jdW1lbnRlbiBBUEkgbWV0YWRhdGE8L2gzPicsXG4gICAgICByZWZyZXNoT25DaGFuZ2U6IGZhbHNlLFxuICAgICAgdHlwZTogJ2h0bWxlbGVtZW50JyxcbiAgICAgIGlucHV0OiBmYWxzZSxcbiAgICAgIHRhYmxlVmlldzogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0hUTUwnLFxuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGNvbnRlbnQ6ICc8aDQ+RmlsZW5hbWU8L2g0PicsXG4gICAgICByZWZyZXNoT25DaGFuZ2U6IGZhbHNlLFxuICAgICAgdHlwZTogJ2h0bWxlbGVtZW50JyxcbiAgICAgIGlucHV0OiBmYWxzZSxcbiAgICAgIHRhYmxlVmlldzogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAndGV4dGZpZWxkJyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5maWxlbmFtZScsXG4gICAgICBsYWJlbDogJ0RlZmF1bHQgZmlsZW5hbWUnLFxuICAgICAgdG9vbHRpcDogJ0xlYXZlIGVtcHR5IHRvIGxldCB0aGUgdXNlciBpbnB1dCB0aGVpciBvd24gZmlsZW5hbWUnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuZGlzYWJsZUZpbGVuYW1lJyxcbiAgICAgIGxhYmVsOiAnRGlzYWJsZSBmaWxlbmFtZSBpbnB1dCcsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5oaWRlRmlsZW5hbWUnLFxuICAgICAgbGFiZWw6ICdIaWRlIGZpbGVuYW1lIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0hUTUwnLFxuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGNvbnRlbnQ6ICc8aDQ+VGl0bGU8L2g0PicsXG4gICAgICByZWZyZXNoT25DaGFuZ2U6IGZhbHNlLFxuICAgICAgdHlwZTogJ2h0bWxlbGVtZW50JyxcbiAgICAgIGlucHV0OiBmYWxzZSxcbiAgICAgIHRhYmxlVmlldzogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAndGV4dGZpZWxkJyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5kb2N1bWVudFRpdGxlJyxcbiAgICAgIGxhYmVsOiAnRGVmYXVsdCBkb2N1bWVudCB0aXRsZScsXG4gICAgICB0b29sdGlwOiAnTGVhdmUgZW1wdHkgdG8gbGV0IHRoZSB1c2VyIGlucHV0IHRoZWlyIG93biB0aXRsZScsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5kaXNhYmxlRG9jdW1lbnRUaXRsZScsXG4gICAgICBsYWJlbDogJ0Rpc2FibGUgZG9jdW1lbnQgdGl0bGUgaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuaGlkZURvY3VtZW50VGl0bGUnLFxuICAgICAgbGFiZWw6ICdIaWRlIGRvY3VtZW50IHRpdGxlIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0hUTUwnLFxuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGNvbnRlbnQ6ICc8aDQ+QXV0aG9yPC9oND4nLFxuICAgICAgcmVmcmVzaE9uQ2hhbmdlOiBmYWxzZSxcbiAgICAgIHR5cGU6ICdodG1sZWxlbWVudCcsXG4gICAgICBpbnB1dDogZmFsc2UsXG4gICAgICB0YWJsZVZpZXc6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ3RleHRmaWVsZCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuYXV0aG9yJyxcbiAgICAgIGxhYmVsOiAnRGVmYXVsdCBhdXRob3InLFxuICAgICAgdG9vbHRpcDogJ0xlYXZlIGVtcHR5IHRvIGxldCB0aGUgdXNlciBpbnB1dCB0aGVpciBvd24gYXV0aG9yJyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmRpc2FibGVBdXRob3InLFxuICAgICAgbGFiZWw6ICdEaXNhYmxlIGF1dGhvciBpbnB1dCcsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5oaWRlQXV0aG9yJyxcbiAgICAgIGxhYmVsOiAnSGlkZSBhdXRob3IgaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnSFRNTCcsXG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgY29udGVudDogJzxoND5EZXNjcmlwdGlvbjwvaDQ+JyxcbiAgICAgIHJlZnJlc2hPbkNoYW5nZTogZmFsc2UsXG4gICAgICB0eXBlOiAnaHRtbGVsZW1lbnQnLFxuICAgICAgaW5wdXQ6IGZhbHNlLFxuICAgICAgdGFibGVWaWV3OiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICd0ZXh0ZmllbGQnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmRlc2NyaXB0aW9uJyxcbiAgICAgIGxhYmVsOiAnRGVmYXVsdCBkZXNjcmlwdGlvbicsXG4gICAgICB0b29sdGlwOiAnTGVhdmUgZW1wdHkgdG8gbGV0IHRoZSB1c2VyIGlucHV0IHRoZWlyIG93biBkZXNjcmlwdGlvbicsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5kaXNhYmxlRGVzY3JpcHRpb24nLFxuICAgICAgbGFiZWw6ICdEaXNhYmxlIGRlc2NyaXB0aW9uIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmhpZGVEZXNjcmlwdGlvbicsXG4gICAgICBsYWJlbDogJ0hpZGUgZGVzY3JpcHRpb24gaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnSFRNTCcsXG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgY29udGVudDogJzxoND5MYW5ndWFnZTwvaDQ+JyxcbiAgICAgIHJlZnJlc2hPbkNoYW5nZTogZmFsc2UsXG4gICAgICB0eXBlOiAnaHRtbGVsZW1lbnQnLFxuICAgICAgaW5wdXQ6IGZhbHNlLFxuICAgICAgdGFibGVWaWV3OiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgbGFiZWw6ICdEZWZhdWx0IGxhbmd1YWdlJyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMubGFuZ3VhZ2UnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdTZWxlY3QgYSBkZWZhdWx0IGxhbmd1YWdlJyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAge3ZhbHVlOiAnbmxkJywgbGFiZWw6ICdEdXRjaCd9LFxuICAgICAgICAgIHt2YWx1ZTogJ2VuZycsIGxhYmVsOiAnRW5nbGlzaCd9LFxuICAgICAgICAgIHt2YWx1ZTogJ2RldScsIGxhYmVsOiAnR2VybWFuJ30sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgZGF0YVNyYzogJ3ZhbHVlcycsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmRpc2FibGVMYW5ndWFnZScsXG4gICAgICBsYWJlbDogJ0Rpc2FibGUgbGFuZ3VhZ2UgaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuaGlkZUxhbmd1YWdlJyxcbiAgICAgIGxhYmVsOiAnSGlkZSBsYW5ndWFnZSBpbnB1dCcsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdIVE1MJyxcbiAgICAgIHRhZzogJ2RpdicsXG4gICAgICBjb250ZW50OiAnPGg0PkNvbmZpZGVudGlhbGl0eSBsZXZlbDwvaDQ+JyxcbiAgICAgIHJlZnJlc2hPbkNoYW5nZTogZmFsc2UsXG4gICAgICB0eXBlOiAnaHRtbGVsZW1lbnQnLFxuICAgICAgaW5wdXQ6IGZhbHNlLFxuICAgICAgdGFibGVWaWV3OiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgbGFiZWw6ICdEZWZhdWx0IGNvbmZpZGVudGlhbGl0eSBsZXZlbCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmNvbmZpZGVudGlhbGl0eUxldmVsJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnU2VsZWN0IGEgZGVmYXVsdCBjb25maWRlbnRpYWxpdHkgbGV2ZWwnLFxuICAgICAgZGF0YToge1xuICAgICAgICB2YWx1ZXM6IFtcbiAgICAgICAgICB7dmFsdWU6ICdvcGVuYmFhcicsIGxhYmVsOiAnUHVibGljJ30sXG4gICAgICAgICAge3ZhbHVlOiAnYmVwZXJrdF9vcGVuYmFhcicsIGxhYmVsOiAnUmVzdHJpY3RlZCBwdWJsaWMnfSxcbiAgICAgICAgICB7dmFsdWU6ICdpbnRlcm4nLCBsYWJlbDogJ0ludGVybmFsJ30sXG4gICAgICAgICAge3ZhbHVlOiAnemFha3ZlcnRyb3V3ZWxpamsnLCBsYWJlbDogJ0Nhc2UgY29uZmlkZW50aWFsJ30sXG4gICAgICAgICAge3ZhbHVlOiAndmVydHJvdXdlbGlqaycsIGxhYmVsOiAnUHJpdmF0ZSd9LFxuICAgICAgICAgIHt2YWx1ZTogJ2NvbmZpZGVudGllZWwnLCBsYWJlbDogJ0NvbmZpZGVudGlhbCd9LFxuICAgICAgICAgIHt2YWx1ZTogJ2dlaGVpbScsIGxhYmVsOiAnU2VjcmV0J30sXG4gICAgICAgICAge3ZhbHVlOiAnemVlcl9nZWhlaW0nLCBsYWJlbDogJ1Zlcnkgc2VjcmV0J30sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgZGF0YVNyYzogJ3ZhbHVlcycsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmRpc2FibGVDb25maWRlbnRpYWxpdHlMZXZlbCcsXG4gICAgICBsYWJlbDogJ0Rpc2FibGUgY29uZmlkZW50aWFsaXR5IGxldmVsIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmhpZGVDb25maWRlbnRpYWxpdHlMZXZlbCcsXG4gICAgICBsYWJlbDogJ0hpZGUgY29uZmlkZW50aWFsaXR5IGxldmVsIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0hUTUwnLFxuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGNvbnRlbnQ6ICc8aDQ+Q3JlYXRpb24gZGF0ZTwvaDQ+JyxcbiAgICAgIHJlZnJlc2hPbkNoYW5nZTogZmFsc2UsXG4gICAgICB0eXBlOiAnaHRtbGVsZW1lbnQnLFxuICAgICAgaW5wdXQ6IGZhbHNlLFxuICAgICAgdGFibGVWaWV3OiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuZGlzYWJsZUNyZWF0aW9uRGF0ZScsXG4gICAgICBsYWJlbDogJ0Rpc2FibGUgY3JlYXRpb24gZGF0ZSBpbnB1dCcsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5oaWRlQ3JlYXRpb25EYXRlJyxcbiAgICAgIGxhYmVsOiAnSGlkZSBjcmVhdGlvbiBkYXRlIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0hUTUwnLFxuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGNvbnRlbnQ6ICc8aDQ+SW5mb3JtYXRpZW9iamVjdHR5cGU8L2g0PicsXG4gICAgICByZWZyZXNoT25DaGFuZ2U6IGZhbHNlLFxuICAgICAgdHlwZTogJ2h0bWxlbGVtZW50JyxcbiAgICAgIGlucHV0OiBmYWxzZSxcbiAgICAgIHRhYmxlVmlldzogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAndGV4dGZpZWxkJyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5kb2N1bWVudFR5cGUnLFxuICAgICAgbGFiZWw6ICdEZWZhdWx0IGluZm9ybWF0aWVvYmplY3R0eXBlIHVybCcsXG4gICAgICB0b29sdGlwOlxuICAgICAgICBcIlNvbWV0aW1lcyByZWZlcnJlZCB0byBhcyB0aGUgJ2RvY3VtZW50LXR5cGUnLiBNdXN0IG1hdGNoIHRoZSBpbmZvcm1hdGllb2JqZWN0dHlwZSB1cmwgZXhhY3RseS4gTGVhdmUgZW1wdHkgdG8gbGV0IHRoZSB1c2VyIGlucHV0IHRoZWlyIG93biBpbmZvcm1hdGllb2JqZWN0dHlwZVwiLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuZGlzYWJsZURvY3VtZW50VHlwZScsXG4gICAgICBsYWJlbDogJ0Rpc2FibGUgaW5mb3JtYXRpZW9iamVjdHR5cGUgaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuaGlkZURvY3VtZW50VHlwZScsXG4gICAgICBsYWJlbDogJ0hpZGUgaW5mb3JtYXRpZW9iamVjdHR5cGUgaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnSFRNTCcsXG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgY29udGVudDogJzxoND5TdGF0dXM8L2g0PicsXG4gICAgICByZWZyZXNoT25DaGFuZ2U6IGZhbHNlLFxuICAgICAgdHlwZTogJ2h0bWxlbGVtZW50JyxcbiAgICAgIGlucHV0OiBmYWxzZSxcbiAgICAgIHRhYmxlVmlldzogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICAgIGxhYmVsOiAnRGVmYXVsdCBzdGF0dXMnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5zdGF0dXMnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdTZWxlY3QgYSBkZWZhdWx0IHN0YXR1cycsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHZhbHVlczogW1xuICAgICAgICAgIHt2YWx1ZTogJ2luX2Jld2Vya2luZycsIGxhYmVsOiAnSW4gZWRpdGluZyd9LFxuICAgICAgICAgIHt2YWx1ZTogJ3Rlcl92YXN0c3RlbGxpbmcnLCBsYWJlbDogJ1RvIGJlIGNvbmZpcm1lZCd9LFxuICAgICAgICAgIHt2YWx1ZTogJ2RlZmluaXRpZWYnLCBsYWJlbDogJ0RlZmluaXRpdmUnfSxcbiAgICAgICAgICB7dmFsdWU6ICdnZWFyY2hpdmVlcmQnLCBsYWJlbDogJ0FyY2hpdmVkJ30sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgZGF0YVNyYzogJ3ZhbHVlcycsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmRpc2FibGVTdGF0dXMnLFxuICAgICAgbGFiZWw6ICdEaXNhYmxlIHN0YXR1cyBpbnB1dCcsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5oaWRlU3RhdHVzJyxcbiAgICAgIGxhYmVsOiAnSGlkZSBzdGF0dXMgaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnSFRNTCcsXG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgY29udGVudDogJzxoND5BZGRpdGlvbmFsIGRhdGU8L2g0PicsXG4gICAgICByZWZyZXNoT25DaGFuZ2U6IGZhbHNlLFxuICAgICAgdHlwZTogJ2h0bWxlbGVtZW50JyxcbiAgICAgIGlucHV0OiBmYWxzZSxcbiAgICAgIHRhYmxlVmlldzogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmhpZGVBZGRpdGlvbmFsRGF0ZScsXG4gICAgICBsYWJlbDogJ0hpZGUgYWRkaXRpb25hbCBkYXRlIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0hUTUwnLFxuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGNvbnRlbnQ6ICc8aDQ+VGFnczwvaDQ+JyxcbiAgICAgIHJlZnJlc2hPbkNoYW5nZTogZmFsc2UsXG4gICAgICB0eXBlOiAnaHRtbGVsZW1lbnQnLFxuICAgICAgaW5wdXQ6IGZhbHNlLFxuICAgICAgdGFibGVWaWV3OiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICd0ZXh0ZmllbGQnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLnRhZ3MnLFxuICAgICAgbGFiZWw6ICdEZWZhdWx0IHRhZ3MnLFxuICAgICAgdG9vbHRpcDogJ0EgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgdGFncy4gTGVhdmUgZW1wdHkgdG8gbGV0IHRoZSB1c2VyIGlucHV0IHRoZWlyIG93biB0YWdzJyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmhpZGVUYWdzJyxcbiAgICAgIGxhYmVsOiAnSGlkZSB0YWdzIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgXSxcbn0pO1xuIl19
554
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRlbi1hcGktdXBsb2FkZXItZWRpdC1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby96Z3cvc3JjL2xpYi9tb2R1bGVzL2RvY3VtZW50ZW4tYXBpL2Zvcm1pby9kb2N1bWVudGVuLWFwaS11cGxvYWRlci9kb2N1bWVudGVuLWFwaS11cGxvYWRlci1lZGl0LWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELFVBQVUsRUFBRTtRQUNWLEVBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFDO1FBQzdCO1lBQ0UsSUFBSSxFQUFFLFdBQVc7WUFDakIsS0FBSyxFQUFFLElBQUk7WUFDWCxHQUFHLEVBQUUsT0FBTztZQUNaLEtBQUssRUFBRSxPQUFPO1lBQ2QsV0FBVyxFQUFFLE9BQU87WUFDcEIsUUFBUSxFQUFFO2dCQUNSLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7U0FDRjtRQUNEO1lBQ0UsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLElBQUk7WUFDWCxTQUFTLEVBQUUsVUFBVTtZQUNyQixHQUFHLEVBQUUsbUJBQW1CO1lBQ3hCLEtBQUssRUFBRSxVQUFVO1lBQ2pCLFFBQVEsRUFBRTtnQkFDUixRQUFRLEVBQUUsS0FBSzthQUNoQjtTQUNGO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLLEVBQUUsSUFBSTtZQUNYLEdBQUcsRUFBRSxLQUFLO1lBQ1YsS0FBSyxFQUFFLGVBQWU7WUFDdEIsV0FBVyxFQUFFLGVBQWU7WUFDNUIsT0FBTyxFQUFFLDZDQUE2QztZQUN0RCxRQUFRLEVBQUU7Z0JBQ1IsUUFBUSxFQUFFLElBQUk7YUFDZjtTQUNGO1FBQ0Q7WUFDRSxJ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STtZQUNYLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLEdBQUcsRUFBRSxrQ0FBa0M7WUFDdkMsS0FBSyxFQUFFLDRCQUE0QjtZQUNuQyxRQUFRLEVBQUU7Z0JBQ1IsUUFBUSxFQUFFLEtBQUs7YUFDaEI7U0FDRjtRQUNEO1lBQ0UsS0FBSyxFQUFFLE1BQU07WUFDYixHQUFHLEVBQUUsS0FBSztZQUNWLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLElBQUksRUFBRSxhQUFhO1lBQ25CLEtBQUssRUFBRSxLQUFLO1lBQ1osU0FBUyxFQUFFLEtBQUs7U0FDakI7UUFDRDtZQUNFLElBQUksRUFBRSxXQUFXO1lBQ2pCLEtBQUssRUFBRSxJQUFJO1lBQ1gsR0FBRyxFQUFFLG9CQUFvQjtZQUN6QixLQUFLLEVBQUUsY0FBYztZQUNyQixPQUFPLEVBQUUsa0ZBQWtGO1lBQzNGLFFBQVEsRUFBRTtnQkFDUixRQUFRLEVBQUUsS0FBSzthQUNoQjtTQUNGO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsVUFBVTtZQUNoQixLQUFLLEVBQUUsSUFBSTtZQUNYLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLEdBQUcsRUFBRSx3QkFBd0I7WUFDN0IsS0FBSyxFQUFFLGlCQUFpQjtZQUN4QixRQUFRLEVBQUU7Z0JBQ1IsUUFBUSxFQUFFLEtBQUs7YUFDaEI7U0FDRjtLQUNGO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0IGNvbnN0IGRvY3VtZW50ZW5BcGlVcGxvYWRlckVkaXRGb3JtID0gKCkgPT4gKHtcbiAgY29tcG9uZW50czogW1xuICAgIHtrZXk6ICd0eXBlJywgdHlwZTogJ2hpZGRlbid9LFxuICAgIHtcbiAgICAgIHR5cGU6ICd0ZXh0ZmllbGQnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBrZXk6ICdsYWJlbCcsXG4gICAgICBsYWJlbDogJ0xhYmVsJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnTGFiZWwnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAndmFsaWRhdGUucmVxdWlyZWQnLFxuICAgICAgbGFiZWw6ICdSZXF1aXJlZCcsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ3RleHRmaWVsZCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGtleTogJ2tleScsXG4gICAgICBsYWJlbDogJ1Byb3BlcnR5IE5hbWUnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdQcm9wZXJ0eSBOYW1lJyxcbiAgICAgIHRvb2x0aXA6ICdUaGUgbmFtZSBvZiB0aGlzIGZpZWxkIGluIHRoZSBBUEkgZW5kcG9pbnQuJyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICd0ZXh0ZmllbGQnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLnRpdGxlJyxcbiAgICAgIGxhYmVsOiAnVGl0bGUnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdUaXRsZScsXG4gICAgICB0b29sdGlwOiAnTGVhdmUgZW1wdHkgdG8gdXNlIHRoZSBkZWZhdWx0IHRpdGxlJyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmhpZGVUaXRsZScsXG4gICAgICBsYWJlbDogJ0hpZGUgdGl0bGUnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICd0ZXh0ZmllbGQnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLnN1YnRpdGxlJyxcbiAgICAgIGxhYmVsOiAnU3VidGl0bGUnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdUaXRsZScsXG4gICAgICB0b29sdGlwOiAnTGVhdmUgZW1wdHkgdG8gaGlkZSBzdWJ0aXRsZScsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMubWF4RmlsZVNpemUnLFxuICAgICAgbGFiZWw6ICdNYXhpbXVtIGZpbGUgc2l6ZScsXG4gICAgICBwbGFjZWhvbGRlcjogJ01heGltdW0gZmlsZSBzaXplJyxcbiAgICAgIGRlZmF1bHRWYWx1ZTogNSxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuaGlkZU1heEZpbGVTaXplJyxcbiAgICAgIGxhYmVsOiAnSGlkZSBtYXhpbXVtIGZpbGUgc2l6ZScsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5jYW1lcmEnLFxuICAgICAgbGFiZWw6ICdBbGxvdyBjYW1lcmEgdXBsb2FkcycsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnZGlzYWJsZWQnLFxuICAgICAgbGFiZWw6ICdEaXNhYmxlZCcsXG4gICAgICB0b29sdGlwOiAnRGlzYWJsZSB0aGUgdXBsb2FkIGZpZWxkJyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0hUTUwnLFxuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGNvbnRlbnQ6ICc8aDM+RG9jdW1lbnRlbiBBUEkgbWV0YWRhdGE8L2gzPicsXG4gICAgICByZWZyZXNoT25DaGFuZ2U6IGZhbHNlLFxuICAgICAgdHlwZTogJ2h0bWxlbGVtZW50JyxcbiAgICAgIGlucHV0OiBmYWxzZSxcbiAgICAgIHRhYmxlVmlldzogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0hUTUwnLFxuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGNvbnRlbnQ6ICc8aDQ+RmlsZW5hbWU8L2g0PicsXG4gICAgICByZWZyZXNoT25DaGFuZ2U6IGZhbHNlLFxuICAgICAgdHlwZTogJ2h0bWxlbGVtZW50JyxcbiAgICAgIGlucHV0OiBmYWxzZSxcbiAgICAgIHRhYmxlVmlldzogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAndGV4dGZpZWxkJyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5maWxlbmFtZScsXG4gICAgICBsYWJlbDogJ0RlZmF1bHQgZmlsZW5hbWUnLFxuICAgICAgdG9vbHRpcDogJ0xlYXZlIGVtcHR5IHRvIGxldCB0aGUgdXNlciBpbnB1dCB0aGVpciBvd24gZmlsZW5hbWUnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuZGlzYWJsZUZpbGVuYW1lJyxcbiAgICAgIGxhYmVsOiAnRGlzYWJsZSBmaWxlbmFtZSBpbnB1dCcsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5oaWRlRmlsZW5hbWUnLFxuICAgICAgbGFiZWw6ICdIaWRlIGZpbGVuYW1lIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0hUTUwnLFxuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGNvbnRlbnQ6ICc8aDQ+VGl0bGU8L2g0PicsXG4gICAgICByZWZyZXNoT25DaGFuZ2U6IGZhbHNlLFxuICAgICAgdHlwZTogJ2h0bWxlbGVtZW50JyxcbiAgICAgIGlucHV0OiBmYWxzZSxcbiAgICAgIHRhYmxlVmlldzogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAndGV4dGZpZWxkJyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5kb2N1bWVudFRpdGxlJyxcbiAgICAgIGxhYmVsOiAnRGVmYXVsdCBkb2N1bWVudCB0aXRsZScsXG4gICAgICB0b29sdGlwOiAnTGVhdmUgZW1wdHkgdG8gbGV0IHRoZSB1c2VyIGlucHV0IHRoZWlyIG93biB0aXRsZScsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5kaXNhYmxlRG9jdW1lbnRUaXRsZScsXG4gICAgICBsYWJlbDogJ0Rpc2FibGUgZG9jdW1lbnQgdGl0bGUgaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuaGlkZURvY3VtZW50VGl0bGUnLFxuICAgICAgbGFiZWw6ICdIaWRlIGRvY3VtZW50IHRpdGxlIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0hUTUwnLFxuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGNvbnRlbnQ6ICc8aDQ+QXV0aG9yPC9oND4nLFxuICAgICAgcmVmcmVzaE9uQ2hhbmdlOiBmYWxzZSxcbiAgICAgIHR5cGU6ICdodG1sZWxlbWVudCcsXG4gICAgICBpbnB1dDogZmFsc2UsXG4gICAgICB0YWJsZVZpZXc6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ3RleHRmaWVsZCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuYXV0aG9yJyxcbiAgICAgIGxhYmVsOiAnRGVmYXVsdCBhdXRob3InLFxuICAgICAgdG9vbHRpcDogJ0xlYXZlIGVtcHR5IHRvIGxldCB0aGUgdXNlciBpbnB1dCB0aGVpciBvd24gYXV0aG9yJyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmRpc2FibGVBdXRob3InLFxuICAgICAgbGFiZWw6ICdEaXNhYmxlIGF1dGhvciBpbnB1dCcsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5oaWRlQXV0aG9yJyxcbiAgICAgIGxhYmVsOiAnSGlkZSBhdXRob3IgaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnSFRNTCcsXG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgY29udGVudDogJzxoND5EZXNjcmlwdGlvbjwvaDQ+JyxcbiAgICAgIHJlZnJlc2hPbkNoYW5nZTogZmFsc2UsXG4gICAgICB0eXBlOiAnaHRtbGVsZW1lbnQnLFxuICAgICAgaW5wdXQ6IGZhbHNlLFxuICAgICAgdGFibGVWaWV3OiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICd0ZXh0ZmllbGQnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmRlc2NyaXB0aW9uJyxcbiAgICAgIGxhYmVsOiAnRGVmYXVsdCBkZXNjcmlwdGlvbicsXG4gICAgICB0b29sdGlwOiAnTGVhdmUgZW1wdHkgdG8gbGV0IHRoZSB1c2VyIGlucHV0IHRoZWlyIG93biBkZXNjcmlwdGlvbicsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5kaXNhYmxlRGVzY3JpcHRpb24nLFxuICAgICAgbGFiZWw6ICdEaXNhYmxlIGRlc2NyaXB0aW9uIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmhpZGVEZXNjcmlwdGlvbicsXG4gICAgICBsYWJlbDogJ0hpZGUgZGVzY3JpcHRpb24gaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnSFRNTCcsXG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgY29udGVudDogJzxoND5MYW5ndWFnZTwvaDQ+JyxcbiAgICAgIHJlZnJlc2hPbkNoYW5nZTogZmFsc2UsXG4gICAgICB0eXBlOiAnaHRtbGVsZW1lbnQnLFxuICAgICAgaW5wdXQ6IGZhbHNlLFxuICAgICAgdGFibGVWaWV3OiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgbGFiZWw6ICdEZWZhdWx0IGxhbmd1YWdlJyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMubGFuZ3VhZ2UnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdTZWxlY3QgYSBkZWZhdWx0IGxhbmd1YWdlJyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAge3ZhbHVlOiAnbmxkJywgbGFiZWw6ICdEdXRjaCd9LFxuICAgICAgICAgIHt2YWx1ZTogJ2VuZycsIGxhYmVsOiAnRW5nbGlzaCd9LFxuICAgICAgICAgIHt2YWx1ZTogJ2RldScsIGxhYmVsOiAnR2VybWFuJ30sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgZGF0YVNyYzogJ3ZhbHVlcycsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmRpc2FibGVMYW5ndWFnZScsXG4gICAgICBsYWJlbDogJ0Rpc2FibGUgbGFuZ3VhZ2UgaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuaGlkZUxhbmd1YWdlJyxcbiAgICAgIGxhYmVsOiAnSGlkZSBsYW5ndWFnZSBpbnB1dCcsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdIVE1MJyxcbiAgICAgIHRhZzogJ2RpdicsXG4gICAgICBjb250ZW50OiAnPGg0PkNvbmZpZGVudGlhbGl0eSBsZXZlbDwvaDQ+JyxcbiAgICAgIHJlZnJlc2hPbkNoYW5nZTogZmFsc2UsXG4gICAgICB0eXBlOiAnaHRtbGVsZW1lbnQnLFxuICAgICAgaW5wdXQ6IGZhbHNlLFxuICAgICAgdGFibGVWaWV3OiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgbGFiZWw6ICdEZWZhdWx0IGNvbmZpZGVudGlhbGl0eSBsZXZlbCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmNvbmZpZGVudGlhbGl0eUxldmVsJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnU2VsZWN0IGEgZGVmYXVsdCBjb25maWRlbnRpYWxpdHkgbGV2ZWwnLFxuICAgICAgZGF0YToge1xuICAgICAgICB2YWx1ZXM6IFtcbiAgICAgICAgICB7dmFsdWU6ICdvcGVuYmFhcicsIGxhYmVsOiAnUHVibGljJ30sXG4gICAgICAgICAge3ZhbHVlOiAnYmVwZXJrdF9vcGVuYmFhcicsIGxhYmVsOiAnUmVzdHJpY3RlZCBwdWJsaWMnfSxcbiAgICAgICAgICB7dmFsdWU6ICdpbnRlcm4nLCBsYWJlbDogJ0ludGVybmFsJ30sXG4gICAgICAgICAge3ZhbHVlOiAnemFha3ZlcnRyb3V3ZWxpamsnLCBsYWJlbDogJ0Nhc2UgY29uZmlkZW50aWFsJ30sXG4gICAgICAgICAge3ZhbHVlOiAndmVydHJvdXdlbGlqaycsIGxhYmVsOiAnUHJpdmF0ZSd9LFxuICAgICAgICAgIHt2YWx1ZTogJ2NvbmZpZGVudGllZWwnLCBsYWJlbDogJ0NvbmZpZGVudGlhbCd9LFxuICAgICAgICAgIHt2YWx1ZTogJ2dlaGVpbScsIGxhYmVsOiAnU2VjcmV0J30sXG4gICAgICAgICAge3ZhbHVlOiAnemVlcl9nZWhlaW0nLCBsYWJlbDogJ1Zlcnkgc2VjcmV0J30sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgZGF0YVNyYzogJ3ZhbHVlcycsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmRpc2FibGVDb25maWRlbnRpYWxpdHlMZXZlbCcsXG4gICAgICBsYWJlbDogJ0Rpc2FibGUgY29uZmlkZW50aWFsaXR5IGxldmVsIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmhpZGVDb25maWRlbnRpYWxpdHlMZXZlbCcsXG4gICAgICBsYWJlbDogJ0hpZGUgY29uZmlkZW50aWFsaXR5IGxldmVsIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0hUTUwnLFxuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGNvbnRlbnQ6ICc8aDQ+Q3JlYXRpb24gZGF0ZTwvaDQ+JyxcbiAgICAgIHJlZnJlc2hPbkNoYW5nZTogZmFsc2UsXG4gICAgICB0eXBlOiAnaHRtbGVsZW1lbnQnLFxuICAgICAgaW5wdXQ6IGZhbHNlLFxuICAgICAgdGFibGVWaWV3OiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuZGlzYWJsZUNyZWF0aW9uRGF0ZScsXG4gICAgICBsYWJlbDogJ0Rpc2FibGUgY3JlYXRpb24gZGF0ZSBpbnB1dCcsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5oaWRlQ3JlYXRpb25EYXRlJyxcbiAgICAgIGxhYmVsOiAnSGlkZSBjcmVhdGlvbiBkYXRlIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0hUTUwnLFxuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGNvbnRlbnQ6ICc8aDQ+SW5mb3JtYXRpZW9iamVjdHR5cGU8L2g0PicsXG4gICAgICByZWZyZXNoT25DaGFuZ2U6IGZhbHNlLFxuICAgICAgdHlwZTogJ2h0bWxlbGVtZW50JyxcbiAgICAgIGlucHV0OiBmYWxzZSxcbiAgICAgIHRhYmxlVmlldzogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAndGV4dGZpZWxkJyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5kb2N1bWVudFR5cGUnLFxuICAgICAgbGFiZWw6ICdEZWZhdWx0IGluZm9ybWF0aWVvYmplY3R0eXBlIHVybCcsXG4gICAgICB0b29sdGlwOlxuICAgICAgICBcIlNvbWV0aW1lcyByZWZlcnJlZCB0byBhcyB0aGUgJ2RvY3VtZW50LXR5cGUnLiBNdXN0IG1hdGNoIHRoZSBpbmZvcm1hdGllb2JqZWN0dHlwZSB1cmwgZXhhY3RseS4gTGVhdmUgZW1wdHkgdG8gbGV0IHRoZSB1c2VyIGlucHV0IHRoZWlyIG93biBpbmZvcm1hdGllb2JqZWN0dHlwZVwiLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuZGlzYWJsZURvY3VtZW50VHlwZScsXG4gICAgICBsYWJlbDogJ0Rpc2FibGUgaW5mb3JtYXRpZW9iamVjdHR5cGUgaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuaGlkZURvY3VtZW50VHlwZScsXG4gICAgICBsYWJlbDogJ0hpZGUgaW5mb3JtYXRpZW9iamVjdHR5cGUgaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnSFRNTCcsXG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgY29udGVudDogJzxoND5TdGF0dXM8L2g0PicsXG4gICAgICByZWZyZXNoT25DaGFuZ2U6IGZhbHNlLFxuICAgICAgdHlwZTogJ2h0bWxlbGVtZW50JyxcbiAgICAgIGlucHV0OiBmYWxzZSxcbiAgICAgIHRhYmxlVmlldzogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICAgIGxhYmVsOiAnRGVmYXVsdCBzdGF0dXMnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5zdGF0dXMnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdTZWxlY3QgYSBkZWZhdWx0IHN0YXR1cycsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHZhbHVlczogW1xuICAgICAgICAgIHt2YWx1ZTogJ2luX2Jld2Vya2luZycsIGxhYmVsOiAnSW4gZWRpdGluZyd9LFxuICAgICAgICAgIHt2YWx1ZTogJ3Rlcl92YXN0c3RlbGxpbmcnLCBsYWJlbDogJ1RvIGJlIGNvbmZpcm1lZCd9LFxuICAgICAgICAgIHt2YWx1ZTogJ2RlZmluaXRpZWYnLCBsYWJlbDogJ0RlZmluaXRpdmUnfSxcbiAgICAgICAgICB7dmFsdWU6ICdnZWFyY2hpdmVlcmQnLCBsYWJlbDogJ0FyY2hpdmVkJ30sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgZGF0YVNyYzogJ3ZhbHVlcycsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmRpc2FibGVTdGF0dXMnLFxuICAgICAgbGFiZWw6ICdEaXNhYmxlIHN0YXR1cyBpbnB1dCcsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5oaWRlU3RhdHVzJyxcbiAgICAgIGxhYmVsOiAnSGlkZSBzdGF0dXMgaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnSFRNTCcsXG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgY29udGVudDogJzxoND5BZGRpdGlvbmFsIGRhdGU8L2g0PicsXG4gICAgICByZWZyZXNoT25DaGFuZ2U6IGZhbHNlLFxuICAgICAgdHlwZTogJ2h0bWxlbGVtZW50JyxcbiAgICAgIGlucHV0OiBmYWxzZSxcbiAgICAgIHRhYmxlVmlldzogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmhpZGVBZGRpdGlvbmFsRGF0ZScsXG4gICAgICBsYWJlbDogJ0hpZGUgYWRkaXRpb25hbCBkYXRlIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0hUTUwnLFxuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGNvbnRlbnQ6ICc8aDQ+VGFnczwvaDQ+JyxcbiAgICAgIHJlZnJlc2hPbkNoYW5nZTogZmFsc2UsXG4gICAgICB0eXBlOiAnaHRtbGVsZW1lbnQnLFxuICAgICAgaW5wdXQ6IGZhbHNlLFxuICAgICAgdGFibGVWaWV3OiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICd0ZXh0ZmllbGQnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLnRhZ3MnLFxuICAgICAgbGFiZWw6ICdEZWZhdWx0IHRhZ3MnLFxuICAgICAgdG9vbHRpcDogJ0EgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgdGFncy4gTGVhdmUgZW1wdHkgdG8gbGV0IHRoZSB1c2VyIGlucHV0IHRoZWlyIG93biB0YWdzJyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmhpZGVUYWdzJyxcbiAgICAgIGxhYmVsOiAnSGlkZSB0YWdzIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgXSxcbn0pO1xuIl19