@baloise/ds-angular-module 19.8.2 → 19.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -235,9 +235,10 @@ let BalApp = class BalApp {
235
235
  this.z = z;
236
236
  c.detach();
237
237
  this.el = r.nativeElement;
238
+ proxyOutputs(this, this.el, ['balAppReady']);
238
239
  }
239
240
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: BalApp, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
240
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: BalApp, selector: "bal-app", inputs: { animated: "animated" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
241
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: BalApp, selector: "bal-app", inputs: { animated: "animated" }, outputs: { balAppReady: "balAppReady" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
241
242
  };
242
243
  BalApp = __decorate([
243
244
  ProxyCmp({
@@ -255,7 +256,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImpor
255
256
  changeDetection: ChangeDetectionStrategy.OnPush,
256
257
  template: '<ng-content></ng-content>',
257
258
  standalone: false,
258
- inputs: ['animated']
259
+ inputs: ['animated'],
260
+ outputs: ['balAppReady']
259
261
  }]
260
262
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
261
263
  let BalBadge = class BalBadge {
@@ -3366,4 +3368,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImpor
3366
3368
  outputs: ['balWillAnimate', 'balDidAnimate']
3367
3369
  }]
3368
3370
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
3369
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvcHJveGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWtELE1BQU0sZUFBZSxDQUFDO0FBQzFKLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixJQUFJLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDckgsT0FBTyxFQUFFLG1CQUFtQixJQUFJLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDckgsT0FBTyxFQUFFLG1CQUFtQixJQUFJLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDckgsT0FBTyxFQUFFLG1CQUFtQixJQUFJLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLElBQUksZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0csT0FBTyxFQUFFLG1CQUFtQixJQUFJLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNHLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLDZDQUE2QyxD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TUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDOzhHQVZVLFVBQVU7a0dBQVYsVUFBVSw4T0FMWCwyQkFBMkI7O0FBSzFCLFVBQVU7SUFadEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDO1FBQzVELHFCQUFxQixFQUFFLGdCQUFnQjtLQUN4QyxDQUFDO3FDQWVlLGlCQUFpQixFQUFLLFVBQVUsRUFBZSxNQUFNO0dBTnpELFVBQVUsQ0FXdEI7OzJGQVhZLFVBQVU7a0JBUnRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsS0FBSztvQkFDakIsTUFBTSxFQUFFLENBQUMsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDO29CQUM1RCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLENBQUM7aUJBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGF1dG8tZ2VuZXJhdGVkIGFuZ3VsYXIgZGlyZWN0aXZlIHByb3hpZXMgKi9cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBOZ1pvbmUsIEV2ZW50RW1pdHRlciwgTmdNb2R1bGUsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3h5Q21wLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEFjY29yZGlvbiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtYWNjb3JkaW9uJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQWNjb3JkaW9uRGV0YWlscyB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtYWNjb3JkaW9uLWRldGFpbHMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxBY2NvcmRpb25TdW1tYXJ5IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1hY2NvcmRpb24tc3VtbWFyeSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEFjY29yZGlvblRyaWdnZXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWFjY29yZGlvbi10cmlnZ2VyJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQXBwIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1hcHAnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxCYWRnZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtYmFkZ2UnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxCdXR0b24gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWJ1dHRvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEJ1dHRvbkdyb3VwIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1idXR0b24tZ3JvdXAnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDYXJkIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jYXJkJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQ2FyZEFjdGlvbnMgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNhcmQtYWN0aW9ucyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENhcmRCdXR0b24gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNhcmQtYnV0dG9uJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQ2FyZENvbnRlbnQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNhcmQtY29udGVudCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENhcmRTdWJ0aXRsZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtY2FyZC1zdWJ0aXRsZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENhcmRUaXRsZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtY2FyZC10aXRsZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENhcm91c2VsIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jYXJvdXNlbCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENhcm91c2VsSXRlbSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtY2Fyb3VzZWwtaXRlbSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENoZWNrIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jaGVjayc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENoZWNrYm94IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jaGVja2JveCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENoZWNrYm94R3JvdXAgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNoZWNrYm94LWdyb3VwJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQ2xvc2UgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNsb3NlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQ29udGVudCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtY29udGVudCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbERhdGEgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWRhdGEnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxEYXRhSXRlbSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZGF0YS1pdGVtJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRGF0YUxhYmVsIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1kYXRhLWxhYmVsJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRGF0YVZhbHVlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1kYXRhLXZhbHVlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRGF0ZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZGF0ZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbERhdGVDYWxlbmRhciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZGF0ZS1jYWxlbmRhcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbERhdGVDYWxlbmRhckNlbGwgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWRhdGUtY2FsZW5kYXItY2VsbCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbERpdmlkZXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWRpdmlkZXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxEcm9wZG93biB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZHJvcGRvd24nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxGaWVsZCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZmllbGQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxGaWVsZENvbnRyb2wgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWZpZWxkLWNvbnRyb2wnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxGaWVsZEhpbnQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWZpZWxkLWhpbnQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxGaWVsZExhYmVsIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1maWVsZC1sYWJlbCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEZpZWxkTWVzc2FnZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZmllbGQtbWVzc2FnZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEZpbGVVcGxvYWQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWZpbGUtdXBsb2FkJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRm9vdGVyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1mb290ZXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxGb3JtIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1mb3JtJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRm9ybUNvbCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZm9ybS1jb2wnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxGb3JtR3JpZCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZm9ybS1ncmlkJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsSGVhZGluZyB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtaGVhZGluZyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEhpbnQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWhpbnQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxIaW50VGV4dCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtaGludC10ZXh0JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsSGludFRpdGxlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1oaW50LXRpdGxlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsSWNvbiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtaWNvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbElucHV0IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1pbnB1dCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbElucHV0RGF0ZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtaW5wdXQtZGF0ZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbElucHV0R3JvdXAgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWlucHV0LWdyb3VwJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsSW5wdXRTbGlkZXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWlucHV0LXNsaWRlcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbElucHV0U3RlcHBlciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtaW5wdXQtc3RlcHBlcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbExhYmVsIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1sYWJlbCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbExpc3QgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWxpc3QnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxMaXN0SXRlbSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbGlzdC1pdGVtJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTGlzdEl0ZW1BY2NvcmRpb25Cb2R5IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1saXN0LWl0ZW0tYWNjb3JkaW9uLWJvZHknO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxMaXN0SXRlbUFjY29yZGlvbkhlYWQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWxpc3QtaXRlbS1hY2NvcmRpb24taGVhZCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbExpc3RJdGVtQ29udGVudCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbGlzdC1pdGVtLWNvbnRlbnQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxMaXN0SXRlbUljb24gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWxpc3QtaXRlbS1pY29uJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTGlzdEl0ZW1TdWJ0aXRsZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbGlzdC1pdGVtLXN1YnRpdGxlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTGlzdEl0ZW1UaXRsZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbGlzdC1pdGVtLXRpdGxlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTG9nbyB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbG9nbyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE1vZGFsIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1tb2RhbCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE1vZGFsQm9keSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbW9kYWwtYm9keSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE1vZGFsSGVhZGVyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1tb2RhbC1oZWFkZXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXYgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5hdkxpbmsgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdi1saW5rJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2TGlua0dyaWQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdi1saW5rLWdyaWQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZMaW5rR3JpZENvbCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2LWxpbmstZ3JpZC1jb2wnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZMaW5rR3JvdXAgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdi1saW5rLWdyb3VwJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2TWVudUJhciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2LW1lbnUtYmFyJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2TWVudUZseW91dCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2LW1lbnUtZmx5b3V0JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2TWV0YUJhciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2LW1ldGEtYmFyJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2YmFyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1uYXZiYXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZiYXJCcmFuZCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2YmFyLWJyYW5kJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2YmFyTWVudSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2YmFyLW1lbnUnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZiYXJNZW51RW5kIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1uYXZiYXItbWVudS1lbmQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZiYXJNZW51U3RhcnQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdmJhci1tZW51LXN0YXJ0JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTm90aWNlcyB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbm90aWNlcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5vdGlmaWNhdGlvbiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbm90aWZpY2F0aW9uJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTnVtYmVySW5wdXQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW51bWJlci1pbnB1dCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE9wdGlvbiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtb3B0aW9uJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsT3B0aW9uTGlzdCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtb3B0aW9uLWxpc3QnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxQYWdpbmF0aW9uIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1wYWdpbmF0aW9uJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsUG9wb3ZlciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtcG9wb3Zlcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFBvcG92ZXJDb250ZW50IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1wb3BvdmVyLWNvbnRlbnQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxQb3B1cCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtcG9wdXAnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxQcm9ncmVzc0JhciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsUmFkaW8gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXJhZGlvJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsUmFkaW9Hcm91cCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtcmFkaW8tZ3JvdXAnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxSYWRpb0ljb24gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXJhZGlvLWljb24nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTZWdtZW50IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zZWdtZW50JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsU2VnbWVudEl0ZW0gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXNlZ21lbnQtaXRlbSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFNlbGVjdCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc2VsZWN0JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsU2VsZWN0T3B0aW9uIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zZWxlY3Qtb3B0aW9uJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsU2hhcGUgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXNoYXBlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsU2hlZXQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXNoZWV0JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsU25hY2tiYXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXNuYWNrYmFyJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsU3Bpbm5lciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc3Bpbm5lcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0YWNrIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zdGFjayc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0YWdlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zdGFnZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0YWdlQmFja0xpbmsgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXN0YWdlLWJhY2stbGluayc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0YWdlQm9keSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc3RhZ2UtYm9keSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0YWdlRm9vdCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc3RhZ2UtZm9vdCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0YWdlSGVhZCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc3RhZ2UtaGVhZCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0YWdlSW1hZ2UgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXN0YWdlLWltYWdlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsU3RlcEl0ZW0gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXN0ZXAtaXRlbSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0ZXBzIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zdGVwcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN3aXRjaCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc3dpdGNoJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsVGFiSXRlbSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtdGFiLWl0ZW0nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxUYWJsZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtdGFibGUnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxUYWJzIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC10YWJzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsVGFnIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC10YWcnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxUYWdHcm91cCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtdGFnLWdyb3VwJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsVGV4dCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtdGV4dCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFRleHRhcmVhIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC10ZXh0YXJlYSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFRpbWVJbnB1dCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtdGltZS1pbnB1dCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFRvYXN0IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC10b2FzdCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFRvb2x0aXAgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXRvb2x0aXAnO1xuXG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudHMsIEZpbGVVcGxvYWRSZWplY3RlZEZpbGUgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMnO1xuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxBY2NvcmRpb24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbEFjY29yZGlvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjYXJkJywgJ2Nsb3NlSWNvbicsICdjbG9zZUxhYmVsJywgJ2RlYm91bmNlJywgJ29wZW5JY29uJywgJ29wZW5MYWJlbCddLFxuICBtZXRob2RzOiBbJ3ByZXNlbnQnLCAnZGlzbWlzcycsICd0b2dnbGUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxBY2NvcmRpb25cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtYWNjb3JkaW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2NhcmQnLCAnY2xvc2VJY29uJywgJ2Nsb3NlTGFiZWwnLCAnZGVib3VuY2UnLCAnb3Blbkljb24nLCAnb3BlbkxhYmVsJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxBY2NvcmRpb24ge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBhY2NvcmRpb24gaGFzIG9wZW5lZCBvciBjbG9zZWQgKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxBY2NvcmRpb25DdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKiBFbWl0dGVkIGJlZm9yZSB0aGUgYW5pbWF0aW9uIHN0YXJ0cyAqL1xuICBiYWxXaWxsQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQWNjb3JkaW9uQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgYW5pbWF0aW9uIGhhcyBmaW5pc2hlZCAqL1xuICBiYWxEaWRBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxBY2NvcmRpb25DdXN0b21FdmVudDxib29sZWFuPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENoYW5nZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEFjY29yZGlvbkRldGFpbHMgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEFjY29yZGlvbkRldGFpbHMge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQWNjb3JkaW9uRGV0YWlsc1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1hY2NvcmRpb24tZGV0YWlscycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxBY2NvcmRpb25EZXRhaWxzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQWNjb3JkaW9uU3VtbWFyeSBleHRlbmRzIENvbXBvbmVudHMuQmFsQWNjb3JkaW9uU3VtbWFyeSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3RyaWdnZXInXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxBY2NvcmRpb25TdW1tYXJ5XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWFjY29yZGlvbi1zdW1tYXJ5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsndHJpZ2dlciddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEFjY29yZGlvblN1bW1hcnkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxBY2NvcmRpb25UcmlnZ2VyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxBY2NvcmRpb25UcmlnZ2VyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYnV0dG9uJywgJ2Nsb3NlSWNvbicsICdjbG9zZUxhYmVsJywgJ2NvbG9yJywgJ2V4cGFuZGVkJywgJ29wZW5JY29uJywgJ29wZW5MYWJlbCcsICdzaXplJywgJ3ZhcmlhbnQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxBY2NvcmRpb25UcmlnZ2VyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWFjY29yZGlvbi10cmlnZ2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYnV0dG9uJywgJ2Nsb3NlSWNvbicsICdjbG9zZUxhYmVsJywgJ2NvbG9yJywgJ2V4cGFuZGVkJywgJ29wZW5JY29uJywgJ29wZW5MYWJlbCcsICdzaXplJywgJ3ZhcmlhbnQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxBY2NvcmRpb25UcmlnZ2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQXBwIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxBcHAge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmltYXRlZCddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQXBwXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWFwcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2FuaW1hdGVkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQXBwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQmFkZ2UgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEJhZGdlIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAnaWNvbicsICdwb3NpdGlvbicsICdzaXplJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQmFkZ2Vcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtYmFkZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjb2xvcicsICdpY29uJywgJ3Bvc2l0aW9uJywgJ3NpemUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxCYWRnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsQnV0dG9uIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYTExeUNvbnRyb2xzJywgJ2ExMXlIYXNwb3B1cCcsICdhMTF5TGFiZWwnLCAnYTExeVRpdGxlJywgJ2JhbFBvcHVwJywgJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2Rvd25sb2FkJywgJ2VsZW1lbnRUeXBlJywgJ2V4cGFuZGVkJywgJ2ZsYXQnLCAnaHJlZicsICdpY29uJywgJ2ljb25SaWdodCcsICdpY29uVHVybicsICdpbnZlcnRlZCcsICdpc0FjdGl2ZScsICdsb2FkaW5nJywgJ25hbWUnLCAnbm9XcmFwJywgJ291dGxpbmVkJywgJ3JlbCcsICdyb3VuZGVkJywgJ3NoYWRvdycsICdzaXplJywgJ3NxdWFyZScsICd0YXJnZXQnLCAndmFsdWUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxCdXR0b25cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYTExeUNvbnRyb2xzJywgJ2ExMXlIYXNwb3B1cCcsICdhMTF5TGFiZWwnLCAnYTExeVRpdGxlJywgJ2JhbFBvcHVwJywgJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2Rvd25sb2FkJywgJ2VsZW1lbnRUeXBlJywgJ2V4cGFuZGVkJywgJ2ZsYXQnLCAnaHJlZicsICdpY29uJywgJ2ljb25SaWdodCcsICdpY29uVHVybicsICdpbnZlcnRlZCcsICdpc0FjdGl2ZScsICdsb2FkaW5nJywgJ25hbWUnLCAnbm9XcmFwJywgJ291dGxpbmVkJywgJ3JlbCcsICdyb3VuZGVkJywgJ3NoYWRvdycsICdzaXplJywgJ3NxdWFyZScsICd0YXJnZXQnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxDbGljaycsICdiYWxOYXZpZ2F0ZScsICdiYWxGb2N1cycsICdiYWxCbHVyJywgJ2JhbERpZFJlbmRlciddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEJ1dHRvbiB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGxpbmsgZWxlbWVudCBoYXMgY2xpY2tlZC4gKi9cbiAgYmFsQ2xpY2shOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbEJ1dHRvbkN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgbGluayBlbGVtZW50IGhhcyBjbGlja2VkLiAqL1xuICBiYWxOYXZpZ2F0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQnV0dG9uQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQnV0dG9uQ3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gbG9zZXMgZm9jdXMuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbEJ1dHRvbkN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgYnV0dG9uIGhhcyBiZWVuICByZW5kZXJlZC4gKi9cbiAgYmFsRGlkUmVuZGVyITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxCdXR0b25DdXN0b21FdmVudDx2b2lkPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENsaWNrJywgJ2JhbE5hdmlnYXRlJywgJ2JhbEZvY3VzJywgJ2JhbEJsdXInLCAnYmFsRGlkUmVuZGVyJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEJ1dHRvbkdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxCdXR0b25Hcm91cCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RpcmVjdGlvbicsICdwb3NpdGlvbicsICdyZXZlcnNlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQnV0dG9uR3JvdXBcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtYnV0dG9uLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnZGlyZWN0aW9uJywgJ3Bvc2l0aW9uJywgJ3JldmVyc2UnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxCdXR0b25Hcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbENhcmQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbENhcmQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydib3JkZXInLCAnY2xpY2thYmxlJywgJ2NvbG9yJywgJ2ZsYXQnLCAnZnVsbGhlaWdodCcsICdpbnZlcnRlZCcsICdzZWxlY3RlZCcsICdzcGFjZScsICdzcXVhcmUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxDYXJkXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWNhcmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydib3JkZXInLCAnY2xpY2thYmxlJywgJ2NvbG9yJywgJ2ZsYXQnLCAnZnVsbGhlaWdodCcsICdpbnZlcnRlZCcsICdzZWxlY3RlZCcsICdzcGFjZScsICdzcXVhcmUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxDYXJkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2FyZEFjdGlvbnMgZXh0ZW5kcyBDb21wb25lbnRzLkJhbENhcmRBY3Rpb25zIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncG9zaXRpb24nXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxDYXJkQWN0aW9uc1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jYXJkLWFjdGlvbnMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydwb3NpdGlvbiddXG59KVxuZXhwb3J0IGNsYXNzIEJhbENhcmRBY3Rpb25zIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2FyZEJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsQ2FyZEJ1dHRvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2VsZW1lbnRUeXBlJywgJ2hyZWYnLCAnaWNvbicsICdpY29uUmlnaHQnLCAnbG9hZGluZycsICdyZWwnLCAndGFyZ2V0J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2FyZEJ1dHRvblxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jYXJkLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2VsZW1lbnRUeXBlJywgJ2hyZWYnLCAnaWNvbicsICdpY29uUmlnaHQnLCAnbG9hZGluZycsICdyZWwnLCAndGFyZ2V0J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ2FyZEJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbENhcmRDb250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDYXJkQ29udGVudCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxDYXJkQ29udGVudFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jYXJkLWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQmFsQ2FyZENvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxDYXJkU3VidGl0bGUgZXh0ZW5kcyBDb21wb25lbnRzLkJhbENhcmRTdWJ0aXRsZSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2JvbGQnLCAnY29sb3InLCAnaW52ZXJ0ZWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxDYXJkU3VidGl0bGVcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY2FyZC1zdWJ0aXRsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2JvbGQnLCAnY29sb3InLCAnaW52ZXJ0ZWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxDYXJkU3VidGl0bGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxDYXJkVGl0bGUgZXh0ZW5kcyBDb21wb25lbnRzLkJhbENhcmRUaXRsZSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ludmVydGVkJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2FyZFRpdGxlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWNhcmQtdGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydpbnZlcnRlZCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbENhcmRUaXRsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbENhcm91c2VsIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDYXJvdXNlbCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FzcGVjdFJhdGlvJywgJ2JvcmRlcicsICdjb250cm9scycsICdjb250cm9sc092ZXJmbG93JywgJ2NvbnRyb2xzU3RpY2t5JywgJ2Z1bGxIZWlnaHQnLCAnaHRtbFJvbGUnLCAnaW50ZXJmYWNlJywgJ2ludmVydGVkJywgJ2l0ZW1zUGVyVmlldycsICdzY3JvbGxZJywgJ3NwYWNlJywgJ3N0ZXBzJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsncHJldmlvdXMnLCAnbmV4dCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENhcm91c2VsXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWNhcm91c2VsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYXNwZWN0UmF0aW8nLCAnYm9yZGVyJywgJ2NvbnRyb2xzJywgJ2NvbnRyb2xzT3ZlcmZsb3cnLCAnY29udHJvbHNTdGlja3knLCAnZnVsbEhlaWdodCcsICdodG1sUm9sZScsICdpbnRlcmZhY2UnLCAnaW52ZXJ0ZWQnLCAnaXRlbXNQZXJWaWV3JywgJ3Njcm9sbFknLCAnc3BhY2UnLCAnc3RlcHMnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxDaGFuZ2UnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxDYXJvdXNlbCB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBvcHRpb24gZ290IHNlbGVjdGVkLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbENhcm91c2VsQ3VzdG9tRXZlbnQ8bnVtYmVyPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxDYXJvdXNlbEl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLkJhbENhcm91c2VsSXRlbSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2Rvd25sb2FkJywgJ2VsZW1lbnRUeXBlJywgJ2hyZWYnLCAnaHRtbFJvbGUnLCAnbGFiZWwnLCAnbmFtZScsICdyZWwnLCAnc3JjJywgJ3N2ZycsICd0YXJnZXQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cyddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENhcm91c2VsSXRlbVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jYXJvdXNlbC1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY29sb3InLCAnZG93bmxvYWQnLCAnZWxlbWVudFR5cGUnLCAnaHJlZicsICdodG1sUm9sZScsICdsYWJlbCcsICduYW1lJywgJ3JlbCcsICdzcmMnLCAnc3ZnJywgJ3RhcmdldCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbE5hdmlnYXRlJywgJ2JhbEZvY3VzJywgJ2JhbEJsdXInXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxDYXJvdXNlbEl0ZW0ge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBsaW5rIGVsZW1lbnQgaGFzIGNsaWNrZWQuICovXG4gIGJhbE5hdmlnYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxDYXJvdXNlbEl0ZW1DdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGJ1dHRvbiBoYXMgZm9jdXMuICovXG4gIGJhbEZvY3VzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxDYXJvdXNlbEl0ZW1DdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGJ1dHRvbiBsb3NlcyBmb2N1cy4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQ2Fyb3VzZWxJdGVtQ3VzdG9tRXZlbnQ8dm9pZD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxOYXZpZ2F0ZScsICdiYWxGb2N1cycsICdiYWxCbHVyJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbENoZWNrIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDaGVjayB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaW52YWxpZCcsICdpbnZlcnRlZCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENoZWNrXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWNoZWNrJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ2ludmVydGVkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ2hlY2sge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxDaGVja2JveCBleHRlbmRzIENvbXBvbmVudHMuQmFsQ2hlY2tib3gge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvSW52YWxpZE9mZicsICdjaGVja2VkJywgJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2ZsYXQnLCAnaW50ZXJmYWNlJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbGFiZWxIaWRkZW4nLCAnbmFtZScsICdub25TdWJtaXQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cycsICdnZXRJbnB1dEVsZW1lbnQnLCAnZ2V0T3B0aW9uJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2hlY2tib3hcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY2hlY2tib3gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhdXRvSW52YWxpZE9mZicsICdjaGVja2VkJywgJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2ZsYXQnLCAnaW50ZXJmYWNlJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbGFiZWxIaWRkZW4nLCAnbmFtZScsICdub25TdWJtaXQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxGb2N1cycsICdiYWxCbHVyJywgJ2JhbENoYW5nZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbENoZWNrYm94IHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdG9nZ2xlIGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbENoZWNrYm94Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0b2dnbGUgbG9zZXMgZm9jdXMuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbENoZWNrYm94Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSB2YWx1ZSBwcm9wZXJ0eSBoYXMgY2hhbmdlZC4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxDaGVja2JveEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsRm9jdXMnLCAnYmFsQmx1cicsICdiYWxDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2hlY2tib3hHcm91cCBleHRlbmRzIENvbXBvbmVudHMuQmFsQ2hlY2tib3hHcm91cCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9JbnZhbGlkT2ZmJywgJ2NvbHVtbnMnLCAnY29sdW1uc01vYmlsZScsICdjb2x1bW5zVGFibGV0JywgJ2NvbnRyb2wnLCAnZGlzYWJsZWQnLCAnZXhwYW5kZWQnLCAnaW50ZXJmYWNlJywgJ2ludmFsaWQnLCAnbmFtZScsICdvcHRpb25zJywgJ3JlYWRvbmx5JywgJ3ZhbHVlJywgJ3ZlcnRpY2FsJywgJ3ZlcnRpY2FsT25Nb2JpbGUnXSxcbiAgbWV0aG9kczogWydnZXRPcHRpb25CeVZhbHVlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2hlY2tib3hHcm91cFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jaGVja2JveC1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2F1dG9JbnZhbGlkT2ZmJywgJ2NvbHVtbnMnLCAnY29sdW1uc01vYmlsZScsICdjb2x1bW5zVGFibGV0JywgJ2NvbnRyb2wnLCAnZGlzYWJsZWQnLCAnZXhwYW5kZWQnLCAnaW50ZXJmYWNlJywgJ2ludmFsaWQnLCAnbmFtZScsICdvcHRpb25zJywgJ3JlYWRvbmx5JywgJ3ZhbHVlJywgJ3ZlcnRpY2FsJywgJ3ZlcnRpY2FsT25Nb2JpbGUnXSxcbiAgb3V0cHV0czogWydiYWxDaGFuZ2UnLCAnYmFsRm9jdXMnLCAnYmFsQmx1ciddXG59KVxuZXhwb3J0IGNsYXNzIEJhbENoZWNrYm94R3JvdXAge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBjaGVja2VkIHByb3BlcnR5IGhhcyBjaGFuZ2VkLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbENoZWNrYm94R3JvdXBDdXN0b21FdmVudDxhbnlbXT4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0b2dnbGUgaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQ2hlY2tib3hHcm91cEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdG9nZ2xlIGxvc2VzIGZvY3VzLiAqL1xuICBiYWxCbHVyITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxDaGVja2JveEdyb3VwQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnLCAnYmFsRm9jdXMnLCAnYmFsQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxDbG9zZSBleHRlbmRzIENvbXBvbmVudHMuQmFsQ2xvc2Uge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbnZlcnRlZCcsICdzaXplJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2xvc2Vcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY2xvc2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydpbnZlcnRlZCcsICdzaXplJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ2xvc2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxDb250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDb250ZW50IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxpZ24nLCAnbGF5b3V0JywgJ3NwYWNlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ29udGVudFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jb250ZW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWxpZ24nLCAnbGF5b3V0JywgJ3NwYWNlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ29udGVudCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbERhdGEgZXh0ZW5kcyBDb21wb25lbnRzLkJhbERhdGEge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydib3JkZXInLCAnaG9yaXpvbnRhbCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbERhdGFcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZGF0YScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2JvcmRlcicsICdob3Jpem9udGFsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRGF0YSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbERhdGFJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxEYXRhSXRlbSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2JvcmRlcicsICdkaXNhYmxlZCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbERhdGFJdGVtXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWRhdGEtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2JvcmRlcicsICdkaXNhYmxlZCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbERhdGFJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRGF0YUxhYmVsIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxEYXRhTGFiZWwge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydyZXF1aXJlZCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbERhdGFMYWJlbFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1kYXRhLWxhYmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsncmVxdWlyZWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxEYXRhTGFiZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxEYXRhVmFsdWUgZXh0ZW5kcyBDb21wb25lbnRzLkJhbERhdGFWYWx1ZSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2VkaXRhYmxlJywgJ211bHRpbGluZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbERhdGFWYWx1ZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1kYXRhLXZhbHVlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZWRpdGFibGUnLCAnbXVsdGlsaW5lJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2xpY2snLCAnYmFsRm9jdXMnLCAnYmFsQmx1ciddXG59KVxuZXhwb3J0IGNsYXNzIEJhbERhdGFWYWx1ZSB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGVkaXQgYnV0dG9uIGhhcyBmb2N1cy4gKi9cbiAgYmFsQ2xpY2shOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbERhdGFWYWx1ZUN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgZWRpdCBidXR0b24gaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRGF0YVZhbHVlQ3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBlZGl0IGJ1dHRvbiBsb3NlcyBmb2N1cy4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRGF0YVZhbHVlQ3VzdG9tRXZlbnQ8dm9pZD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDbGljaycsICdiYWxGb2N1cycsICdiYWxCbHVyJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbERhdGUgZXh0ZW5kcyBDb21wb25lbnRzLkJhbERhdGUge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGxvd0ludmFsaWRWYWx1ZScsICdhbGxvd2VkRGF0ZXMnLCAnYXV0b0ludmFsaWRPZmYnLCAnYXV0b2NvbXBsZXRlJywgJ2Nsb3NlT25TZWxlY3QnLCAnZGVib3VuY2UnLCAnZGVmYXVsdERhdGUnLCAnZGlzYWJsZWQnLCAnZnJlZVNvbG8nLCAnaW52YWxpZCcsICdtYXgnLCAnbWF4WWVhclByb3AnLCAnbWluJywgJ21pblllYXJQcm9wJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAndHJpZ2dlckljb24nLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydvcGVuJywgJ2Nsb3NlJywgJ3RvZ2dsZScsICdzZWxlY3QnLCAnc2V0Rm9jdXMnLCAnZ2V0SW5wdXRFbGVtZW50J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRGF0ZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1kYXRlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWxsb3dJbnZhbGlkVmFsdWUnLCAnYWxsb3dlZERhdGVzJywgJ2F1dG9JbnZhbGlkT2ZmJywgJ2F1dG9jb21wbGV0ZScsICdjbG9zZU9uU2VsZWN0JywgJ2RlYm91bmNlJywgJ2RlZmF1bHREYXRlJywgJ2Rpc2FibGVkJywgJ2ZyZWVTb2xvJywgJ2ludmFsaWQnLCAnbWF4JywgJ21heFllYXJQcm9wJywgJ21pbicsICdtaW5ZZWFyUHJvcCcsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3RyaWdnZXJJY29uJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsSW5wdXQnLCAnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnLCAnYmFsQmx1cicsICdiYWxGb2N1cycsICdiYWxJbnB1dENsaWNrJywgJ2JhbEljb25DbGljayddXG59KVxuZXhwb3J0IGNsYXNzIEJhbERhdGUge1xuICAvKiogRW1pdHRlZCB3aGVuIGEga2V5Ym9hcmQgaW5wdXQgb2NjdXJyZWQuICovXG4gIGJhbElucHV0ITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxEYXRlQ3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBvcHRpb24gZ290IHNlbGVjdGVkLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbERhdGVDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqIEVtaXR0ZWQgYmVmb3JlIHRoZSBhbmltYXRpb24gc3RhcnRzICovXG4gIGJhbFdpbGxBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxEYXRlQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgYW5pbWF0aW9uIGhhcyBmaW5pc2hlZCAqL1xuICBiYWxEaWRBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxEYXRlQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBsb3NlcyBmb2N1cy4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRGF0ZUN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRGF0ZUN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaGFzIGNsaWNrZWQuICovXG4gIGJhbElucHV0Q2xpY2shOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbERhdGVDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGljb24gaGFzIGNsaWNrZWQuICovXG4gIGJhbEljb25DbGljayE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRGF0ZUN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsSW5wdXQnLCAnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnLCAnYmFsQmx1cicsICdiYWxGb2N1cycsICdiYWxJbnB1dENsaWNrJywgJ2JhbEljb25DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxEYXRlQ2FsZW5kYXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbERhdGVDYWxlbmRhciB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsbG93ZWREYXRlcycsICdkZWZhdWx0RGF0ZScsICdtYXgnLCAnbWF4WWVhclByb3AnLCAnbWluJywgJ21pblllYXJQcm9wJywgJ3ZhbHVlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRGF0ZUNhbGVuZGFyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWRhdGUtY2FsZW5kYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhbGxvd2VkRGF0ZXMnLCAnZGVmYXVsdERhdGUnLCAnbWF4JywgJ21heFllYXJQcm9wJywgJ21pbicsICdtaW5ZZWFyUHJvcCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbENoYW5nZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbERhdGVDYWxlbmRhciB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBvcHRpb24gZ290IHNlbGVjdGVkLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbERhdGVDYWxlbmRhckN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRGF0ZUNhbGVuZGFyQ2VsbCBleHRlbmRzIENvbXBvbmVudHMuQmFsRGF0ZUNhbGVuZGFyQ2VsbCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RheScsICdkaXNhYmxlZCcsICdmdWxsRGF0ZScsICdpc29EYXRlJywgJ21vbnRoJywgJ3NlbGVjdGVkJywgJ3RvZGF5JywgJ3llYXInXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxEYXRlQ2FsZW5kYXJDZWxsXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWRhdGUtY2FsZW5kYXItY2VsbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2RheScsICdkaXNhYmxlZCcsICdmdWxsRGF0ZScsICdpc29EYXRlJywgJ21vbnRoJywgJ3NlbGVjdGVkJywgJ3RvZGF5JywgJ3llYXInXSxcbiAgb3V0cHV0czogWydiYWxTZWxlY3REYXknXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxEYXRlQ2FsZW5kYXJDZWxsIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIG9wdGlvbiBnb3Qgc2VsZWN0ZWQuICovXG4gIGJhbFNlbGVjdERheSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRGF0ZUNhbGVuZGFyQ2VsbEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxTZWxlY3REYXknXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRGl2aWRlciBleHRlbmRzIENvbXBvbmVudHMuQmFsRGl2aWRlciB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2JvcmRlclN0eWxlJywgJ2NvbG9yJywgJ2xheW91dCcsICdzcGFjZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbERpdmlkZXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZGl2aWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2JvcmRlclN0eWxlJywgJ2NvbG9yJywgJ2xheW91dCcsICdzcGFjZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbERpdmlkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuQmFsRHJvcGRvd24ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvY29tcGxldGUnLCAnY2hpcHMnLCAnY2xlYXJhYmxlJywgJ2NvbnRlbnRIZWlnaHQnLCAnZGlzYWJsZWQnLCAnZmlsdGVyJywgJ2ljb24nLCAnaW5saW5lTGFiZWwnLCAnaW52YWxpZCcsICdsb2FkaW5nJywgJ211bHRpcGxlJywgJ25hbWUnLCAnb3B0aW9ucycsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnLCAnZ2V0VmFsdWUnLCAnY2xlYXInLCAnb3BlbicsICdjbG9zZScsICdzZWxlY3QnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxEcm9wZG93blxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2F1dG9jb21wbGV0ZScsICdjaGlwcycsICdjbGVhcmFibGUnLCAnY29udGVudEhlaWdodCcsICdkaXNhYmxlZCcsICdmaWx0ZXInLCAnaWNvbicsICdpbmxpbmVMYWJlbCcsICdpbnZhbGlkJywgJ2xvYWRpbmcnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdvcHRpb25zJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NpemUnLCAndGhlbWUnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxDaGFuZ2UnLCAnYmFsRm9jdXMnLCAnYmFsQmx1ciddXG59KVxuZXhwb3J0IGNsYXNzIEJhbERyb3Bkb3duIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIG9wdGlvbiBnb3Qgc2VsZWN0ZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRHJvcGRvd25DdXN0b21FdmVudDxzdHJpbmcgfCBzdHJpbmdbXT4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBoYXMgZm9jdXMuICovXG4gIGJhbEZvY3VzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxEcm9wZG93bkN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgbG9zZXMgZm9jdXMuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbERyb3Bkb3duQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnLCAnYmFsRm9jdXMnLCAnYmFsQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxGaWVsZCBleHRlbmRzIENvbXBvbmVudHMuQmFsRmllbGQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdob3Jpem9udGFsJywgJ2ludmFsaWQnLCAnbG9hZGluZycsICdyZWFkb25seScsICdyZXF1aXJlZCcsICd2YWxpZCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEZpZWxkXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZpZWxkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaG9yaXpvbnRhbCcsICdpbnZhbGlkJywgJ2xvYWRpbmcnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAndmFsaWQnXSxcbiAgb3V0cHV0czogWydiYWxGb3JtQ29udHJvbERpZExvYWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGaWVsZCB7XG4gIC8qKiBFbWl0dGVkIGFmdGVyIHJlbmRlciB3aGVuIGVsZW1lbnQgaXMgbGFiZWxsZWQgKi9cbiAgYmFsRm9ybUNvbnRyb2xEaWRMb2FkITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxGaWVsZEN1c3RvbUV2ZW50PEhUTUxFbGVtZW50Pj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbEZvcm1Db250cm9sRGlkTG9hZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxGaWVsZENvbnRyb2wgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEZpZWxkQ29udHJvbCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2V4cGFuZGVkT25Nb2JpbGUnLCAnaWNvbkxlZnQnLCAnaWNvblJpZ2h0JywgJ2xvYWRpbmcnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxGaWVsZENvbnRyb2xcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZmllbGQtY29udHJvbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2V4cGFuZGVkT25Nb2JpbGUnLCAnaWNvbkxlZnQnLCAnaWNvblJpZ2h0JywgJ2xvYWRpbmcnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGaWVsZENvbnRyb2wge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxGaWVsZEhpbnQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEZpZWxkSGludCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NlTGFiZWwnLCAnaGlkZVRpdGxlT25EZXNrdG9wJywgJ3NtYWxsJywgJ3N1YmplY3QnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxGaWVsZEhpbnRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZmllbGQtaGludCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2Nsb3NlTGFiZWwnLCAnaGlkZVRpdGxlT25EZXNrdG9wJywgJ3NtYWxsJywgJ3N1YmplY3QnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGaWVsZEhpbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxGaWVsZExhYmVsIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxGaWVsZExhYmVsIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaHRtbEZvcicsICdpbnZhbGlkJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NpemUnLCAndmFsaWQnLCAnd2VpZ2h0J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRmllbGRMYWJlbFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1maWVsZC1sYWJlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2h0bWxGb3InLCAnaW52YWxpZCcsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3ZhbGlkJywgJ3dlaWdodCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEZpZWxkTGFiZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxGaWVsZE1lc3NhZ2UgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEZpZWxkTWVzc2FnZSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAnbm9SZXNlcnZlZFNwYWNlJywgJ3JlYWRvbmx5JywgJ3ZhbGlkJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRmllbGRNZXNzYWdlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZpZWxkLW1lc3NhZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjb2xvcicsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ25vUmVzZXJ2ZWRTcGFjZScsICdyZWFkb25seScsICd2YWxpZCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEZpZWxkTWVzc2FnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEZpbGVVcGxvYWQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEZpbGVVcGxvYWQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2NlcHQnLCAnYXV0b0ludmFsaWRPZmYnLCAnZGlzYWJsZWQnLCAnaGFzRmlsZUxpc3QnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsb2FkaW5nJywgJ21heEJ1bmRsZVNpemUnLCAnbWF4RmlsZVNpemUnLCAnbWF4RmlsZXMnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzdWJUaXRsZScsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2NsZWFyJywgJ3NldEZvY3VzJywgJ2dldElucHV0RWxlbWVudCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEZpbGVVcGxvYWRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZmlsZS11cGxvYWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhY2NlcHQnLCAnYXV0b0ludmFsaWRPZmYnLCAnZGlzYWJsZWQnLCAnaGFzRmlsZUxpc3QnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsb2FkaW5nJywgJ21heEJ1bmRsZVNpemUnLCAnbWF4RmlsZVNpemUnLCAnbWF4RmlsZXMnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzdWJUaXRsZScsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbENoYW5nZScsICdiYWxGaWxlc0FkZGVkJywgJ2JhbEZpbGVzUmVtb3ZlZCcsICdiYWxSZWplY3RlZEZpbGUnLCAnYmFsSW5wdXRDbGljaycsICdiYWxCbHVyJywgJ2JhbEZvY3VzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRmlsZVVwbG9hZCB7XG4gIC8qKiBUcmlnZ2VycyB3aGVuIGEgZmlsZSBpcyBhZGRlZCBvciByZW1vdmVkLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbEZpbGVVcGxvYWRDdXN0b21FdmVudDxGaWxlW10+PjtcbiAgLyoqIFRyaWdnZXJzIHdoZW4gYSBmaWxlIGlzIGFkZGVkLiAqL1xuICBiYWxGaWxlc0FkZGVkITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxGaWxlVXBsb2FkQ3VzdG9tRXZlbnQ8RmlsZVtdPj47XG4gIC8qKiBUcmlnZ2VycyB3aGVuIGEgZmlsZSBpcyByZW1vdmVkLiAqL1xuICBiYWxGaWxlc1JlbW92ZWQhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbEZpbGVVcGxvYWRDdXN0b21FdmVudDxGaWxlW10+PjtcbiAgLyoqIFRyaWdnZXJzIHdoZW4gYSBmaWxlIGlzIHJlamVjdGVkIGR1ZSB0byBub3QgYWxsb3dlZCBNSU1FLVR5cGUgYW5kIHNvIG9uLiAqL1xuICBiYWxSZWplY3RlZEZpbGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbEZpbGVVcGxvYWRDdXN0b21FdmVudDxGaWxlVXBsb2FkUmVqZWN0ZWRGaWxlPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGhhcyBjbGlja2VkLiAqL1xuICBiYWxJbnB1dENsaWNrITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxGaWxlVXBsb2FkQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBsb3NlcyBmb2N1cy4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRmlsZVVwbG9hZEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRmlsZVVwbG9hZEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJywgJ2JhbEZpbGVzQWRkZWQnLCAnYmFsRmlsZXNSZW1vdmVkJywgJ2JhbFJlamVjdGVkRmlsZScsICdiYWxJbnB1dENsaWNrJywgJ2JhbEJsdXInLCAnYmFsRm9jdXMnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxGb290ZXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoaWRlTGFuZ3VhZ2VTZWxlY3Rpb24nLCAnaGlkZUxpbmtzJywgJ2xvZ29IcmVmJywgJ2xvZ29TdmcnLCAnb3ZlcnJpZGVMaW5rcycsICdzaG93U29jaWFsTWVkaWEnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxGb290ZXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnaGlkZUxhbmd1YWdlU2VsZWN0aW9uJywgJ2hpZGVMaW5rcycsICdsb2dvSHJlZicsICdsb2dvU3ZnJywgJ292ZXJyaWRlTGlua3MnLCAnc2hvd1NvY2lhbE1lZGlhJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRm9vdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRm9ybSBleHRlbmRzIENvbXBvbmVudHMuQmFsRm9ybSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Zvcm1DbGFzcycsICduYXRpdmUnLCAnbm92YWxpZGF0ZSddLFxuICBtZXRob2RzOiBbJ3Njcm9sbFRvRmlyc3RJbnZhbGlkRmllbGQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxGb3JtXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZvcm0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydmb3JtQ2xhc3MnLCAnbmF0aXZlJywgJ25vdmFsaWRhdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGb3JtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRm9ybUNvbCBleHRlbmRzIENvbXBvbmVudHMuQmFsRm9ybUNvbCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxGb3JtQ29sXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZvcm0tY29sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnc2l6ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEZvcm1Db2wge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxGb3JtR3JpZCBleHRlbmRzIENvbXBvbmVudHMuQmFsRm9ybUdyaWQge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRm9ybUdyaWRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZm9ybS1ncmlkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJhbEZvcm1HcmlkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSGVhZGluZyBleHRlbmRzIENvbXBvbmVudHMuQmFsSGVhZGluZyB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9MZXZlbCcsICdjb2xvcicsICdpbnZlcnRlZCcsICdsZXZlbCcsICdub1dyYXAnLCAnc2hhZG93JywgJ3NwYWNlJywgJ3N1YnRpdGxlJywgJ3Zpc3VhbExldmVsJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsSGVhZGluZ1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1oZWFkaW5nJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYXV0b0xldmVsJywgJ2NvbG9yJywgJ2ludmVydGVkJywgJ2xldmVsJywgJ25vV3JhcCcsICdzaGFkb3cnLCAnc3BhY2UnLCAnc3VidGl0bGUnLCAndmlzdWFsTGV2ZWwnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxIZWFkaW5nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSGludCBleHRlbmRzIENvbXBvbmVudHMuQmFsSGludCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NlTGFiZWwnLCAnc21hbGwnXSxcbiAgbWV0aG9kczogWyd0b2dnbGUnLCAncHJlc2VudCcsICdkaXNtaXNzJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsSGludFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1oaW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY2xvc2VMYWJlbCcsICdzbWFsbCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEhpbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxIaW50VGV4dCBleHRlbmRzIENvbXBvbmVudHMuQmFsSGludFRleHQge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsSGludFRleHRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtaGludC10ZXh0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJhbEhpbnRUZXh0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSGludFRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxIaW50VGl0bGUge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsSGludFRpdGxlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWhpbnQtdGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQmFsSGludFRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSWNvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsSWNvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2NvbG9ySG92ZXJlZCcsICdjb2xvclByZXNzZWQnLCAnZGlzYWJsZWQnLCAnaW5saW5lJywgJ2ludmFsaWQnLCAnaW52ZXJ0ZWQnLCAnbmFtZScsICdzaGFkb3cnLCAnc2l6ZScsICdzdmcnLCAndGlsZScsICd0aWxlQ29sb3InLCAndHVybiddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEljb25cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2NvbG9ySG92ZXJlZCcsICdjb2xvclByZXNzZWQnLCAnZGlzYWJsZWQnLCAnaW5saW5lJywgJ2ludmFsaWQnLCAnaW52ZXJ0ZWQnLCAnbmFtZScsICdzaGFkb3cnLCAnc2l6ZScsICdzdmcnLCAndGlsZScsICd0aWxlQ29sb3InLCAndHVybiddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuQmFsSW5wdXQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2NlcHQnLCAnYWxsb3dlZEtleVByZXNzJywgJ2F1dG9JbnZhbGlkT2ZmJywgJ2F1dG9jYXBpdGFsaXplJywgJ2F1dG9jb21wbGV0ZScsICdhdXRvY29ycmVjdCcsICdhdXRvZm9jdXMnLCAnY2xpY2thYmxlJywgJ2RlYm91bmNlJywgJ2Rpc2FibGVkJywgJ2lucHV0bW9kZScsICdpbnZhbGlkJywgJ21hc2snLCAnbWF4JywgJ21heExlbmd0aCcsICdtaW4nLCAnbWluTGVuZ3RoJywgJ211bHRpcGxlJywgJ25hbWUnLCAncGF0dGVybicsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzcGVsbGNoZWNrJywgJ3N1ZmZpeCcsICd0ZXh0QWxpZ24nLCAndHlwZScsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJywgJ2dldElucHV0RWxlbWVudCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbElucHV0XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWlucHV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWNjZXB0JywgJ2FsbG93ZWRLZXlQcmVzcycsICdhdXRvSW52YWxpZE9mZicsICdhdXRvY2FwaXRhbGl6ZScsICdhdXRvY29tcGxldGUnLCAnYXV0b2NvcnJlY3QnLCAnYXV0b2ZvY3VzJywgJ2NsaWNrYWJsZScsICdkZWJvdW5jZScsICdkaXNhYmxlZCcsICdpbnB1dG1vZGUnLCAnaW52YWxpZCcsICdtYXNrJywgJ21heCcsICdtYXhMZW5ndGgnLCAnbWluJywgJ21pbkxlbmd0aCcsICdtdWx0aXBsZScsICduYW1lJywgJ3BhdHRlcm4nLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3BlbGxjaGVjaycsICdzdWZmaXgnLCAndGV4dEFsaWduJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxJbnB1dCcsICdiYWxCbHVyJywgJ2JhbEtleVByZXNzJywgJ2JhbEZvY3VzJywgJ2JhbENoYW5nZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbElucHV0IHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGlucHV0IG9jY3VycmVkLiAqL1xuICBiYWxJbnB1dCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXRDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGlucHV0IG9jY3VycmVkLiAqL1xuICBiYWxCbHVyITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxJbnB1dEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGtleSBoYXMgcHJlc3NlZC4gKi9cbiAgYmFsS2V5UHJlc3MhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbElucHV0Q3VzdG9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBoYXMgZm9jdXMuICovXG4gIGJhbEZvY3VzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxJbnB1dEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgdmFsdWUgaGFzIGNoYW5nZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXRDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsSW5wdXQnLCAnYmFsQmx1cicsICdiYWxLZXlQcmVzcycsICdiYWxGb2N1cycsICdiYWxDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSW5wdXREYXRlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxJbnB1dERhdGUge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGxvd0ludmFsaWRWYWx1ZScsICdhdXRvSW52YWxpZE9mZicsICdhdXRvY29tcGxldGUnLCAnY2xpY2thYmxlJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAnbWF4JywgJ21pbicsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnLCAnZ2V0SW5wdXRFbGVtZW50J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsSW5wdXREYXRlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWlucHV0LWRhdGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhbGxvd0ludmFsaWRWYWx1ZScsICdhdXRvSW52YWxpZE9mZicsICdhdXRvY29tcGxldGUnLCAnY2xpY2thYmxlJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAnbWF4JywgJ21pbicsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsS2V5UHJlc3MnLCAnYmFsQ2hhbmdlJywgJ2JhbElucHV0JywgJ2JhbEJsdXInLCAnYmFsRm9jdXMnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxJbnB1dERhdGUge1xuICAvKiogRW1pdHRlZCB3aGVuIGEga2V5Ym9hcmQga2V5IGhhcyBwcmVzc2VkLiAqL1xuICBiYWxLZXlQcmVzcyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXREYXRlQ3VzdG9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIGEgb3B0aW9uIGdvdCBzZWxlY3RlZC4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxJbnB1dERhdGVDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGlucHV0IG9jY3VycmVkLiAqL1xuICBiYWxJbnB1dCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXREYXRlQ3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGxvc2VzIGZvY3VzLiAqL1xuICBiYWxCbHVyITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxJbnB1dERhdGVDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbElucHV0RGF0ZUN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsS2V5UHJlc3MnLCAnYmFsQ2hhbmdlJywgJ2JhbElucHV0JywgJ2JhbEJsdXInLCAnYmFsRm9jdXMnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSW5wdXRHcm91cCBleHRlbmRzIENvbXBvbmVudHMuQmFsSW5wdXRHcm91cCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAncmVhZG9ubHknXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxJbnB1dEdyb3VwXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWlucHV0LWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaW52YWxpZCcsICdyZWFkb25seSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbElucHV0R3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxJbnB1dFNsaWRlciBleHRlbmRzIENvbXBvbmVudHMuQmFsSW5wdXRTbGlkZXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvSW52YWxpZE9mZicsICdiYWxUYWJpbmRleCcsICdkZWJvdW5jZScsICdkaXNhYmxlZCcsICdoYXNUaWNrcycsICdpbnZhbGlkJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzdGVwJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnLCAnZ2V0SW5wdXRFbGVtZW50J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsSW5wdXRTbGlkZXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtaW5wdXQtc2xpZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYXV0b0ludmFsaWRPZmYnLCAnYmFsVGFiaW5kZXgnLCAnZGVib3VuY2UnLCAnZGlzYWJsZWQnLCAnaGFzVGlja3MnLCAnaW52YWxpZCcsICdtYXgnLCAnbWluJywgJ25hbWUnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3RlcCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbElucHV0JywgJ2JhbEJsdXInLCAnYmFsS2V5UHJlc3MnLCAnYmFsRm9jdXMnLCAnYmFsQ2hhbmdlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsSW5wdXRTbGlkZXIge1xuICAvKiogRW1pdHRlZCB3aGVuIGEga2V5Ym9hcmQgaW5wdXQgb2NjdXJyZWQuICovXG4gIGJhbElucHV0ITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxJbnB1dFNsaWRlckN1c3RvbUV2ZW50PG51bWJlciB8IHN0cmluZz4+O1xuICAvKiogRW1pdHRlZCB3aGVuIGEga2V5Ym9hcmQgaW5wdXQgb2NjdXJyZWQuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbElucHV0U2xpZGVyQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIGEga2V5Ym9hcmQga2V5IGhhcyBwcmVzc2VkLiAqL1xuICBiYWxLZXlQcmVzcyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXRTbGlkZXJDdXN0b21FdmVudDxLZXlib2FyZEV2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbElucHV0U2xpZGVyQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCB2YWx1ZSBoYXMgY2hhbmdlZC4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxJbnB1dFNsaWRlckN1c3RvbUV2ZW50PG51bWJlciB8IHN0cmluZz4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxJbnB1dCcsICdiYWxCbHVyJywgJ2JhbEtleVByZXNzJywgJ2JhbEZvY3VzJywgJ2JhbENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxJbnB1dFN0ZXBwZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbElucHV0U3RlcHBlciB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9JbnZhbGlkT2ZmJywgJ2RlYm91bmNlJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAnbWF4JywgJ21pbicsICduYW1lJywgJ3JlYWRvbmx5JywgJ3N0ZXBzJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0SW5wdXRFbGVtZW50J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsSW5wdXRTdGVwcGVyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWlucHV0LXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhdXRvSW52YWxpZE9mZicsICdkZWJvdW5jZScsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdyZWFkb25seScsICdzdGVwcycsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbENoYW5nZScsICdiYWxJbnB1dCcsICdiYWxJbmNyZWFzZScsICdiYWxEZWNyZWFzZScsICdiYWxGb2N1cycsICdiYWxCbHVyJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsSW5wdXRTdGVwcGVyIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgdmFsdWUgaGFzIGNoYW5nZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXRTdGVwcGVyQ3VzdG9tRXZlbnQ8bnVtYmVyPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGhhcyBjaGFuZ2VkLiAqL1xuICBiYWxJbnB1dCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXRTdGVwcGVyQ3VzdG9tRXZlbnQ8bnVtYmVyPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGhhcyBpbmNyZWFzZWQuICovXG4gIGJhbEluY3JlYXNlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxJbnB1dFN0ZXBwZXJDdXN0b21FdmVudDxudW1iZXI+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgdmFsdWUgaGFzIGRlY3JlYXNlZC4gKi9cbiAgYmFsRGVjcmVhc2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbElucHV0U3RlcHBlckN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBoYXMgZm9jdXMuICovXG4gIGJhbEZvY3VzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxJbnB1dFN0ZXBwZXJDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBrZXlib2FyZCBpbnB1dCBvY2N1cnJlZC4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXRTdGVwcGVyQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnLCAnYmFsSW5wdXQnLCAnYmFsSW5jcmVhc2UnLCAnYmFsRGVjcmVhc2UnLCAnYmFsRm9jdXMnLCAnYmFsQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxMYWJlbCBleHRlbmRzIENvbXBvbmVudHMuQmFsTGFiZWwge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdodG1sRm9yJywgJ2h0bWxJZCcsICdpbnZhbGlkJywgJ211bHRpbGluZScsICdub1dyYXAnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICd2YWxpZCcsICd3ZWlnaHQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxMYWJlbFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1sYWJlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2h0bWxGb3InLCAnaHRtbElkJywgJ2ludmFsaWQnLCAnbXVsdGlsaW5lJywgJ25vV3JhcCcsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3ZhbGlkJywgJ3dlaWdodCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbExhYmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTGlzdCBleHRlbmRzIENvbXBvbmVudHMuQmFsTGlzdCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY29yZGlvbk9uZUxldmVsJywgJ2JhY2tncm91bmQnLCAnYm9yZGVyJywgJ2Rpc2FibGVkJywgJ3NpemUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxMaXN0XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhY2NvcmRpb25PbmVMZXZlbCcsICdiYWNrZ3JvdW5kJywgJ2JvcmRlcicsICdkaXNhYmxlZCcsICdzaXplJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbExpc3RJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxMaXN0SXRlbSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY29yZGlvbicsICdjbGlja2FibGUnLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnaHJlZicsICdyZWwnLCAnc2VsZWN0ZWQnLCAnc3ViQWNjb3JkaW9uSXRlbScsICd0YXJnZXQnXSxcbiAgbWV0aG9kczogWydwcmVzZW50JywgJ2Rpc21pc3MnLCAndG9nZ2xlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTGlzdEl0ZW1cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbGlzdC1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWNjb3JkaW9uJywgJ2NsaWNrYWJsZScsICdkaXNhYmxlZCcsICdkb3dubG9hZCcsICdocmVmJywgJ3JlbCcsICdzZWxlY3RlZCcsICdzdWJBY2NvcmRpb25JdGVtJywgJ3RhcmdldCddLFxuICBvdXRwdXRzOiBbJ2JhbE5hdmlnYXRlJywgJ2JhbEdyb3VwU3RhdGVDaGFuZ2VkJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxMaXN0SXRlbSB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGxpbmsgZWxlbWVudCBoYXMgY2xpY2tlZCAqL1xuICBiYWxOYXZpZ2F0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTGlzdEl0ZW1DdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHN0YXRlIG9mIHRoZSBncm91cCBpcyBjaGFuZ2luZyAqL1xuICBiYWxHcm91cFN0YXRlQ2hhbmdlZCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTGlzdEl0ZW1DdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIGJlZm9yZSB0aGUgYW5pbWF0aW9uIHN0YXJ0cyAqL1xuICBiYWxXaWxsQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTGlzdEl0ZW1DdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKiBFbWl0dGVkIGFmdGVyIHRoZSBhbmltYXRpb24gaGFzIGZpbmlzaGVkICovXG4gIGJhbERpZEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbExpc3RJdGVtQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxOYXZpZ2F0ZScsICdiYWxHcm91cFN0YXRlQ2hhbmdlZCcsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbExpc3RJdGVtQWNjb3JkaW9uQm9keSBleHRlbmRzIENvbXBvbmVudHMuQmFsTGlzdEl0ZW1BY2NvcmRpb25Cb2R5IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjb3JkaW9uR3JvdXAnLCAnY29udGVudEFsaWdubWVudCcsICdjb250ZW50U3BhY2UnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxMaXN0SXRlbUFjY29yZGlvbkJvZHlcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbGlzdC1pdGVtLWFjY29yZGlvbi1ib2R5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWNjb3JkaW9uR3JvdXAnLCAnY29udGVudEFsaWdubWVudCcsICdjb250ZW50U3BhY2UnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxMaXN0SXRlbUFjY29yZGlvbkJvZHkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxMaXN0SXRlbUFjY29yZGlvbkhlYWQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbExpc3RJdGVtQWNjb3JkaW9uSGVhZCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY29yZGlvbk9wZW4nLCAnaWNvbiddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbExpc3RJdGVtQWNjb3JkaW9uSGVhZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1saXN0LWl0ZW0tYWNjb3JkaW9uLWhlYWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhY2NvcmRpb25PcGVuJywgJ2ljb24nXSxcbiAgb3V0cHV0czogWydiYWxBY2NvcmRpb25DaGFuZ2UnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxMaXN0SXRlbUFjY29yZGlvbkhlYWQge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBhY2NvcmRpb24gc3RhdGUgaXMgY2hhbmdlZCAqL1xuICBiYWxBY2NvcmRpb25DaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbExpc3RJdGVtQWNjb3JkaW9uSGVhZEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQWNjb3JkaW9uQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbExpc3RJdGVtQ29udGVudCBleHRlbmRzIENvbXBvbmVudHMuQmFsTGlzdEl0ZW1Db250ZW50IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGVudEFsaWdubWVudCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbExpc3RJdGVtQ29udGVudFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1saXN0LWl0ZW0tY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2NvbnRlbnRBbGlnbm1lbnQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxMaXN0SXRlbUNvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxMaXN0SXRlbUljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbExpc3RJdGVtSWNvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3JpZ2h0J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTGlzdEl0ZW1JY29uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWxpc3QtaXRlbS1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsncmlnaHQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxMaXN0SXRlbUljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxMaXN0SXRlbVN1YnRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxMaXN0SXRlbVN1YnRpdGxlIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbExpc3RJdGVtU3VidGl0bGVcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbGlzdC1pdGVtLXN1YnRpdGxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJhbExpc3RJdGVtU3VidGl0bGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxMaXN0SXRlbVRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxMaXN0SXRlbVRpdGxlIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGV2ZWwnLCAndmlzdWFsTGV2ZWwnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxMaXN0SXRlbVRpdGxlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWxpc3QtaXRlbS10aXRsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2xldmVsJywgJ3Zpc3VhbExldmVsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTGlzdEl0ZW1UaXRsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbExvZ28gZXh0ZW5kcyBDb21wb25lbnRzLkJhbExvZ28ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmltYXRlZCcsICdjb2xvcicsICdzaXplJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTG9nb1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1sb2dvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnY29sb3InLCAnc2l6ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbExvZ28ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxNb2RhbCBleHRlbmRzIENvbXBvbmVudHMuQmFsTW9kYWwge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydiYWNrZHJvcERpc21pc3MnLCAnY29tcG9uZW50JywgJ2NvbXBvbmVudFByb3BzJywgJ2Nzc0NsYXNzJywgJ2ZvY3VzVHJhcCcsICdoYXNCYWNrZHJvcCcsICdpc0Nsb3NhYmxlJywgJ21vZGFsV2lkdGgnLCAnc3BhY2UnXSxcbiAgbWV0aG9kczogWydwcmVzZW50JywgJ2Rpc21pc3MnLCAnb25EaWREaXNtaXNzJywgJ29uV2lsbERpc21pc3MnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxNb2RhbFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1tb2RhbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2JhY2tkcm9wRGlzbWlzcycsICdjb21wb25lbnQnLCAnY29tcG9uZW50UHJvcHMnLCAnY3NzQ2xhc3MnLCAnZm9jdXNUcmFwJywgJ2hhc0JhY2tkcm9wJywgJ2lzQ2xvc2FibGUnLCAnbW9kYWxXaWR0aCcsICdzcGFjZSddLFxuICBvdXRwdXRzOiBbJ2JhbE1vZGFsRGlkUHJlc2VudCcsICdiYWxNb2RhbFdpbGxQcmVzZW50JywgJ2JhbE1vZGFsV2lsbERpc21pc3MnLCAnYmFsTW9kYWxEaWREaXNtaXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTW9kYWwge1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgbW9kYWwgaGFzIHByZXNlbnRlZC4gKi9cbiAgYmFsTW9kYWxEaWRQcmVzZW50ITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxNb2RhbEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqIEVtaXR0ZWQgYmVmb3JlIHRoZSBtb2RhbCBoYXMgcHJlc2VudGVkLiAqL1xuICBiYWxNb2RhbFdpbGxQcmVzZW50ITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxNb2RhbEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqIEVtaXR0ZWQgYmVmb3JlIHRoZSBtb2RhbCBoYXMgZGlzbWlzc2VkLiAqL1xuICBiYWxNb2RhbFdpbGxEaXNtaXNzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxNb2RhbEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgbW9kYWwgaGFzIGRpc21pc3NlZC4gKi9cbiAgYmFsTW9kYWxEaWREaXNtaXNzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxNb2RhbEN1c3RvbUV2ZW50PGFueT4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxNb2RhbERpZFByZXNlbnQnLCAnYmFsTW9kYWxXaWxsUHJlc2VudCcsICdiYWxNb2RhbFdpbGxEaXNtaXNzJywgJ2JhbE1vZGFsRGlkRGlzbWlzcyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxNb2RhbEJvZHkgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE1vZGFsQm9keSB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxNb2RhbEJvZHlcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbW9kYWwtYm9keScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxNb2RhbEJvZHkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxNb2RhbEhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuQmFsTW9kYWxIZWFkZXIge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTW9kYWxIZWFkZXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbW9kYWwtaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJhbE1vZGFsSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXYge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydidXR0b25zJywgJ2xvZ28nLCAnb3B0aW9ucyddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdlxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1uYXYnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydidXR0b25zJywgJ2xvZ28nLCAnb3B0aW9ucyddLFxuICBvdXRwdXRzOiBbJ2JhbE5hdkl0ZW1DbGljayddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdiB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBuYXYgbGluayBpdGVtIGlzIGNsaWNrZWQuIFRoaXMgZXZlbnQgY2FuIGJlIHVzZWQgdG9cbmFkZCBkYXRhIHRyYWNraW5nICovXG4gIGJhbE5hdkl0ZW1DbGljayE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTmF2Q3VzdG9tRXZlbnQ8QmFsRXZlbnRzLkJhbE5hdkl0ZW1DbGlja0RldGFpbD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxOYXZJdGVtQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2TGluayBleHRlbmRzIENvbXBvbmVudHMuQmFsTmF2TGluayB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsaWNrYWJsZScsICdocmVmJywgJ3JlbCcsICdzZWxlY3RlZCcsICd0YXJnZXQnLCAndmFyaWFudCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdkxpbmtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2LWxpbmsnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjbGlja2FibGUnLCAnaHJlZicsICdyZWwnLCAnc2VsZWN0ZWQnLCAndGFyZ2V0JywgJ3ZhcmlhbnQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOYXZMaW5rIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2TGlua0dyaWQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdkxpbmtHcmlkIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdkxpbmtHcmlkXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdi1saW5rLWdyaWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2TGlua0dyaWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZMaW5rR3JpZENvbCBleHRlbmRzIENvbXBvbmVudHMuQmFsTmF2TGlua0dyaWRDb2wge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzdGF0aWNDb2wnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZMaW5rR3JpZENvbFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1uYXYtbGluay1ncmlkLWNvbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ3N0YXRpY0NvbCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdkxpbmtHcmlkQ29sIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2TGlua0dyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXZMaW5rR3JvdXAge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvciddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdkxpbmtHcm91cFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1uYXYtbGluay1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2NvbG9yJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2TGlua0dyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2TWVudUJhciBleHRlbmRzIENvbXBvbmVudHMuQmFsTmF2TWVudUJhciB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ludmlzaWJsZScsICdwb3NpdGlvbiddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdk1lbnVCYXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2LW1lbnUtYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnaW52aXNpYmxlJywgJ3Bvc2l0aW9uJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2TWVudUJhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE5hdk1lbnVGbHlvdXQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdk1lbnVGbHlvdXQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyduYXZJZCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdk1lbnVGbHlvdXRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2LW1lbnUtZmx5b3V0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnbmF2SWQnXSxcbiAgb3V0cHV0czogWydiYWxGb2N1c091dCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdk1lbnVGbHlvdXQge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBmbHlvdXQgbG9zZXMgZm9jdXMgKi9cbiAgYmFsRm9jdXNPdXQhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE5hdk1lbnVGbHlvdXRDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbEZvY3VzT3V0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE5hdk1ldGFCYXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdk1ldGFCYXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbnZpc2libGUnLCAncG9zaXRpb24nLCAnc2l6ZScsICdzdGF5T25Ub3BPZkJhY2tkcm9wJywgJ3ZhcmlhbnQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZNZXRhQmFyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdi1tZXRhLWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2ludmlzaWJsZScsICdwb3NpdGlvbicsICdzaXplJywgJ3N0YXlPblRvcE9mQmFja2Ryb3AnLCAndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdk1ldGFCYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZiYXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdmJhciB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRhaW5lcicsICdpbnRlcmZhY2UnLCAnbGlnaHQnXSxcbiAgbWV0aG9kczogWyd0b2dnbGVNZW51J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTmF2YmFyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdmJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2NvbnRhaW5lcicsICdpbnRlcmZhY2UnLCAnbGlnaHQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOYXZiYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZiYXJCcmFuZCBleHRlbmRzIENvbXBvbmVudHMuQmFsTmF2YmFyQnJhbmQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmltYXRlZCcsICdocmVmJywgJ2xvZ28nLCAnbG9nb0NsaWNrYWJsZScsICdsb2dvTGFiZWwnLCAnbG9nb1NpemUnLCAncmVsJywgJ3NpbXBsZScsICd0YXJnZXQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZiYXJCcmFuZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1uYXZiYXItYnJhbmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhbmltYXRlZCcsICdocmVmJywgJ2xvZ28nLCAnbG9nb0NsaWNrYWJsZScsICdsb2dvTGFiZWwnLCAnbG9nb1NpemUnLCAncmVsJywgJ3NpbXBsZScsICd0YXJnZXQnXSxcbiAgb3V0cHV0czogWydiYWxOYXZpZ2F0ZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2YmFyQnJhbmQge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBsaW5rIGVsZW1lbnQgaGFzIGNsaWNrZWQgKi9cbiAgYmFsTmF2aWdhdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE5hdmJhckJyYW5kQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgYmFsV2lsbEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE5hdmJhckJyYW5kQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgYW5pbWF0aW9uIGhhcyBmaW5pc2hlZCAqL1xuICBiYWxEaWRBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxOYXZiYXJCcmFuZEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTmF2aWdhdGUnLCAnYmFsV2lsbEFuaW1hdGUnLCAnYmFsRGlkQW5pbWF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZiYXJNZW51IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXZiYXJNZW51IHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdmJhck1lbnVcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2YmFyLW1lbnUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2YmFyTWVudSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE5hdmJhck1lbnVFbmQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdmJhck1lbnVFbmQge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTmF2YmFyTWVudUVuZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1uYXZiYXItbWVudS1lbmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2YmFyTWVudUVuZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE5hdmJhck1lbnVTdGFydCBleHRlbmRzIENvbXBvbmVudHMuQmFsTmF2YmFyTWVudVN0YXJ0IHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdmJhck1lbnVTdGFydFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1uYXZiYXItbWVudS1zdGFydCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOYXZiYXJNZW51U3RhcnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOb3RpY2VzIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOb3RpY2VzIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5vdGljZXNcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbm90aWNlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOb3RpY2VzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTm90aWZpY2F0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOb3RpZmljYXRpb24ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdsaWdodCcsICdub0ljb24nXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOb3RpZmljYXRpb25cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbm90aWZpY2F0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY29sb3InLCAnbGlnaHQnLCAnbm9JY29uJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTm90aWZpY2F0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTnVtYmVySW5wdXQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE51bWJlcklucHV0IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b0ludmFsaWRPZmYnLCAnZGVib3VuY2UnLCAnZGVjaW1hbCcsICdkaXNhYmxlZCcsICdleGFjdE51bWJlcicsICdpbnZhbGlkJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdvbmx5UG9zaXRpdmUnLCAncGF0dGVybicsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzdWZmaXgnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cycsICdnZXRJbnB1dEVsZW1lbnQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOdW1iZXJJbnB1dFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1udW1iZXItaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhdXRvSW52YWxpZE9mZicsICdkZWJvdW5jZScsICdkZWNpbWFsJywgJ2Rpc2FibGVkJywgJ2V4YWN0TnVtYmVyJywgJ2ludmFsaWQnLCAnbWF4JywgJ21pbicsICduYW1lJywgJ29ubHlQb3NpdGl2ZScsICdwYXR0ZXJuJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3N1ZmZpeCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbElucHV0JywgJ2JhbENoYW5nZScsICdiYWxCbHVyJywgJ2JhbEZvY3VzJywgJ2JhbEtleVByZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTnVtYmVySW5wdXQge1xuICAvKiogRW1pdHRlZCB3aGVuIGEga2V5Ym9hcmQgaW5wdXQgb2NjdXJyZWQuICovXG4gIGJhbElucHV0ITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxOdW1iZXJJbnB1dEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZC4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxOdW1iZXJJbnB1dEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBsb3NlcyBmb2N1cy4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTnVtYmVySW5wdXRDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE51bWJlcklucHV0Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIGEga2V5Ym9hcmQga2V5IGhhcyBwcmVzc2VkLiAqL1xuICBiYWxLZXlQcmVzcyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTnVtYmVySW5wdXRDdXN0b21FdmVudDxLZXlib2FyZEV2ZW50Pj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbElucHV0JywgJ2JhbENoYW5nZScsICdiYWxCbHVyJywgJ2JhbEZvY3VzJywgJ2JhbEtleVByZXNzJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE9wdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsT3B0aW9uIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZm9jdXNlZCcsICdoaWRkZW4nLCAnaW52YWxpZCcsICdsYWJlbCcsICdtdWx0aWxpbmUnLCAnc2VsZWN0ZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZWxlY3QnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxPcHRpb25cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtb3B0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZm9jdXNlZCcsICdoaWRkZW4nLCAnaW52YWxpZCcsICdsYWJlbCcsICdtdWx0aWxpbmUnLCAnc2VsZWN0ZWQnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxPcHRpb25DaGFuZ2UnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxPcHRpb24ge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBvcHRpb24gZ2V0cyBzZWxlY3RlZCBvciB1bnNlbGVjdGVkICovXG4gIGJhbE9wdGlvbkNoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsT3B0aW9uQ3VzdG9tRXZlbnQ8QmFsRXZlbnRzLkJhbE9wdGlvbkNoYW5nZURldGFpbD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxPcHRpb25DaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsT3B0aW9uTGlzdCBleHRlbmRzIENvbXBvbmVudHMuQmFsT3B0aW9uTGlzdCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRlbnRIZWlnaHQnLCAnZGlzYWJsZWQnLCAnZmlsdGVyJywgJ2ZvY3VzSW5kZXgnLCAnbGFiZWxsZWRieScsICdtdWx0aXBsZScsICdyZXF1aXJlZCddLFxuICBtZXRob2RzOiBbJ2ZvY3VzU2VsZWN0ZWQnLCAnZm9jdXNGaXJzdCcsICdmb2N1c0xhc3QnLCAnZm9jdXNOZXh0JywgJ2ZvY3VzUHJldmlvdXMnLCAnZm9jdXNCeUxhYmVsJywgJ2ZpbHRlckJ5Q29udGVudCcsICdyZXNldEhpZGRlbicsICdyZXNldFNlbGVjdGVkJywgJ3VwZGF0ZVNlbGVjdGVkJywgJ3Jlc2V0Rm9jdXMnLCAnZ2V0U2VsZWN0ZWRWYWx1ZXMnLCAnZ2V0U2VsZWN0ZWRPcHRpb25zJywgJ2dldFZhbHVlcycsICdnZXRMYWJlbHMnLCAnZ2V0T3B0aW9ucycsICdzZWxlY3RCeUZvY3VzJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsT3B0aW9uTGlzdFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1vcHRpb24tbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2NvbnRlbnRIZWlnaHQnLCAnZGlzYWJsZWQnLCAnZmlsdGVyJywgJ2ZvY3VzSW5kZXgnLCAnbGFiZWxsZWRieScsICdtdWx0aXBsZScsICdyZXF1aXJlZCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE9wdGlvbkxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxQYWdpbmF0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxQYWdpbmF0aW9uIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxpZ24nLCAnZGlzYWJsZWQnLCAnaW50ZXJmYWNlJywgJ3BhZ2VSYW5nZScsICdzaXplJywgJ3N0aWNreScsICd0b3AnLCAndG90YWxQYWdlcycsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ25leHQnLCAncHJldmlvdXMnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxQYWdpbmF0aW9uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXBhZ2luYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhbGlnbicsICdkaXNhYmxlZCcsICdpbnRlcmZhY2UnLCAncGFnZVJhbmdlJywgJ3NpemUnLCAnc3RpY2t5JywgJ3RvcCcsICd0b3RhbFBhZ2VzJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsUGFnaW5hdGlvbiB7XG4gIC8qKiBUcmlnZ2VycyB3aGVuIGEgcGFnZSBjaGFuZ2UgaGFwcGVucyAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFBhZ2luYXRpb25DdXN0b21FdmVudDxudW1iZXI+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFBvcG92ZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFBvcG92ZXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYXJyb3cnLCAnYXV0b1RyaWdnZXInLCAnYmFja2Ryb3AnLCAnaGludCcsICdob3ZlcicsICdtb2JpbGVUb3AnLCAnb2Zmc2V0WCcsICdvZmZzZXRZJywgJ3BhZGRpbmcnLCAncG9zaXRpb24nLCAndG9vbHRpcCddLFxuICBtZXRob2RzOiBbJ3ByZXNlbnQnLCAnZGlzbWlzcycsICd0b2dnbGUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxQb3BvdmVyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXBvcG92ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhY3RpdmUnLCAnYXJyb3cnLCAnYXV0b1RyaWdnZXInLCAnYmFja2Ryb3AnLCAnaGludCcsICdob3ZlcicsICdtb2JpbGVUb3AnLCAnb2Zmc2V0WCcsICdvZmZzZXRZJywgJ3BhZGRpbmcnLCAncG9zaXRpb24nLCAndG9vbHRpcCddLFxuICBvdXRwdXRzOiBbJ2JhbENoYW5nZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsUG9wb3ZlciB7XG4gIC8qKiBMaXN0ZW4gd2hlbiB0aGUgcG9wb3ZlciBvcGVucyBvciBjbG9zZXMuIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUG9wb3ZlckN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqIEVtaXR0ZWQgYmVmb3JlIHRoZSBhbmltYXRpb24gc3RhcnRzICovXG4gIGJhbFdpbGxBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxQb3BvdmVyQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgYW5pbWF0aW9uIGhhcyBmaW5pc2hlZCAqL1xuICBiYWxEaWRBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxQb3BvdmVyQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnLCAnYmFsV2lsbEFuaW1hdGUnLCAnYmFsRGlkQW5pbWF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxQb3BvdmVyQ29udGVudCBleHRlbmRzIENvbXBvbmVudHMuQmFsUG9wb3ZlckNvbnRlbnQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdjb250ZW50TWluV2lkdGgnLCAnY29udGVudFdpZHRoJywgJ2V4cGFuZGVkJywgJ21vYmlsZVRvcCcsICdub1NoYWRvdycsICdyYWRpdXMnLCAnc2Nyb2xsYWJsZScsICdzcGFjZWxlc3MnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxQb3BvdmVyQ29udGVudFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1wb3BvdmVyLWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjb2xvcicsICdjb250ZW50TWluV2lkdGgnLCAnY29udGVudFdpZHRoJywgJ2V4cGFuZGVkJywgJ21vYmlsZVRvcCcsICdub1NoYWRvdycsICdyYWRpdXMnLCAnc2Nyb2xsYWJsZScsICdzcGFjZWxlc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxQb3BvdmVyQ29udGVudCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFBvcHVwIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxQb3B1cCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdhcnJvdycsICdiYWNrZHJvcCcsICdiYWNrZHJvcERpc21pc3MnLCAnY2xvc2FibGUnLCAnY29udGVudFdpZHRoJywgJ2xhYmVsJywgJ29mZnNldCcsICdwbGFjZW1lbnQnLCAncmVmZXJlbmNlJywgJ3ZhcmlhbnQnXSxcbiAgbWV0aG9kczogWydwcmVzZW50JywgJ2Rpc21pc3MnLCAndG9nZ2xlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsUG9wdXBcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtcG9wdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhY3RpdmUnLCAnYXJyb3cnLCAnYmFja2Ryb3AnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2Nsb3NhYmxlJywgJ2NvbnRlbnRXaWR0aCcsICdsYWJlbCcsICdvZmZzZXQnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZScsICd2YXJpYW50J10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxQb3B1cCB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGFjY29yZGlvbiBoYXMgb3BlbmVkIG9yIGNsb3NlZCAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFBvcHVwQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgYmFsV2lsbEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFBvcHVwQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgYW5pbWF0aW9uIGhhcyBmaW5pc2hlZCAqL1xuICBiYWxEaWRBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxQb3B1cEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsUHJvZ3Jlc3NCYXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFByb2dyZXNzQmFyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYmFja2dyb3VuZCcsICdjb2xvcicsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2NvbmZpZ0NoYW5nZWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxQcm9ncmVzc0JhclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1wcm9ncmVzcy1iYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydiYWNrZ3JvdW5kJywgJ2NvbG9yJywgJ3ZhbHVlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsUHJvZ3Jlc3NCYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxSYWRpbyBleHRlbmRzIENvbXBvbmVudHMuQmFsUmFkaW8ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdkaXNhYmxlZCcsICdmbGF0JywgJ2ludGVyZmFjZScsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ25hbWUnLCAnbm9uU3VibWl0JywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnLCAnZ2V0SW5wdXRFbGVtZW50JywgJ2dldE9wdGlvbiddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFJhZGlvXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXJhZGlvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY29sb3InLCAnZGlzYWJsZWQnLCAnZmxhdCcsICdpbnRlcmZhY2UnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICduYW1lJywgJ25vblN1Ym1pdCcsICdyZWFkb25seScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbEZvY3VzJywgJ2JhbEJsdXInLCAnYmFsQ2hhbmdlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsUmFkaW8ge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0b2dnbGUgaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUmFkaW9DdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHRvZ2dsZSBsb3NlcyBmb2N1cy4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUmFkaW9DdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGNoZWNrZWQgcHJvcGVydHkgaGFzIGNoYW5nZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUmFkaW9DdXN0b21FdmVudDxib29sZWFuPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbEZvY3VzJywgJ2JhbEJsdXInLCAnYmFsQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFJhZGlvR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFJhZGlvR3JvdXAge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGxvd0VtcHR5U2VsZWN0aW9uJywgJ2F1dG9JbnZhbGlkT2ZmJywgJ2NvbHVtbnMnLCAnY29sdW1uc01vYmlsZScsICdjb2x1bW5zVGFibGV0JywgJ2Rpc2FibGVkJywgJ2V4cGFuZGVkJywgJ2ludGVyZmFjZScsICdpbnZhbGlkJywgJ25hbWUnLCAnb3B0aW9ucycsICdyZWFkb25seScsICd2YWx1ZScsICd2ZXJ0aWNhbCcsICd2ZXJ0aWNhbE9uTW9iaWxlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0T3B0aW9uQnlWYWx1ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFJhZGlvR3JvdXBcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtcmFkaW8tZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhbGxvd0VtcHR5U2VsZWN0aW9uJywgJ2F1dG9JbnZhbGlkT2ZmJywgJ2NvbHVtbnMnLCAnY29sdW1uc01vYmlsZScsICdjb2x1bW5zVGFibGV0JywgJ2Rpc2FibGVkJywgJ2V4cGFuZGVkJywgJ2ludGVyZmFjZScsICdpbnZhbGlkJywgJ25hbWUnLCAnb3B0aW9ucycsICdyZWFkb25seScsICd2YWx1ZScsICd2ZXJ0aWNhbCcsICd2ZXJ0aWNhbE9uTW9iaWxlJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJywgJ2JhbEZvY3VzJywgJ2JhbEJsdXInXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxSYWRpb0dyb3VwIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgY2hlY2tlZCBwcm9wZXJ0eSBoYXMgY2hhbmdlZC4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxSYWRpb0dyb3VwQ3VzdG9tRXZlbnQ8Ym9vbGVhbiB8IG51bWJlciB8IHN0cmluZz4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0b2dnbGUgaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUmFkaW9Hcm91cEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdG9nZ2xlIGxvc2VzIGZvY3VzLiAqL1xuICBiYWxCbHVyITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxSYWRpb0dyb3VwQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnLCAnYmFsRm9jdXMnLCAnYmFsQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxSYWRpb0ljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbFJhZGlvSWNvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaW52YWxpZCcsICdpbnZlcnRlZCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFJhZGlvSWNvblxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1yYWRpby1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ2ludmVydGVkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsUmFkaW9JY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU2VnbWVudCBleHRlbmRzIENvbXBvbmVudHMuQmFsU2VnbWVudCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9JbnZhbGlkT2ZmJywgJ2Rpc2FibGVkJywgJ2V4cGFuZGVkJywgJ2ludmFsaWQnLCAnc2Nyb2xsYWJsZScsICd2YWx1ZScsICd2ZXJ0aWNhbCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFNlZ21lbnRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc2VnbWVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2F1dG9JbnZhbGlkT2ZmJywgJ2Rpc2FibGVkJywgJ2V4cGFuZGVkJywgJ2ludmFsaWQnLCAnc2Nyb2xsYWJsZScsICd2YWx1ZScsICd2ZXJ0aWNhbCddLFxuICBvdXRwdXRzOiBbJ2JhbEZvY3VzJywgJ2JhbEJsdXInLCAnYmFsQ2hhbmdlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU2VnbWVudCB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHRvZ2dsZSBoYXMgZm9jdXMuICovXG4gIGJhbEZvY3VzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxTZWdtZW50Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBjb21wb25lbnQgd2FzIHRvdWNoZWQgKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsU2VnbWVudEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdmFsdWUgcHJvcGVydHkgaGFzIGNoYW5nZWQgYW5kIGFueSBkcmFnZ2luZyBwb2ludGVyIGhhcyBiZWVuIHJlbGVhc2VkIGZyb20gYGJhbC1zZWdtZW50YC5cblxuVGhpcyBldmVudCB3aWxsIG5vdCBlbWl0IHdoZW4gcHJvZ3JhbW1hdGljYWxseSBzZXR0aW5nIHRoZSBgdmFsdWVgIHByb3BlcnR5LiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFNlZ21lbnRDdXN0b21FdmVudDxib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbEZvY3VzJywgJ2JhbEJsdXInLCAnYmFsQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFNlZ21lbnRJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTZWdtZW50SXRlbSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAndmFsdWUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTZWdtZW50SXRlbVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zZWdtZW50LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ3ZhbHVlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU2VnbWVudEl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFNlbGVjdCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9JbnZhbGlkT2ZmJywgJ2F1dG9jb21wbGV0ZScsICdiYWxUYWJpbmRleCcsICdkaXNhYmxlZCcsICdmaWx0ZXInLCAnZnJlZVNvbG8nLCAnaW52YWxpZCcsICdsb2FkaW5nJywgJ21heExlbmd0aCcsICdtdWx0aXBsZScsICduYW1lJywgJ25vRGF0YUxhYmVsJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlbW90ZScsICdyZXF1aXJlZCcsICdzY3JvbGxhYmxlJywgJ3NlbGVjdGlvbk9wdGlvbmFsJywgJ3R5cGVhaGVhZCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJywgJ2dldFZhbHVlJywgJ2NsZWFyJywgJ29wZW4nLCAnY2xvc2UnLCAnY2FuY2VsJywgJ3NlbGVjdCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFNlbGVjdFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zZWxlY3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhdXRvSW52YWxpZE9mZicsICdhdXRvY29tcGxldGUnLCAnYmFsVGFiaW5kZXgnLCAnZGlzYWJsZWQnLCAnZmlsdGVyJywgJ2ZyZWVTb2xvJywgJ2ludmFsaWQnLCAnbG9hZGluZycsICdtYXhMZW5ndGgnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdub0RhdGFMYWJlbCcsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZW1vdGUnLCAncmVxdWlyZWQnLCAnc2Nyb2xsYWJsZScsICdzZWxlY3Rpb25PcHRpb25hbCcsICd0eXBlYWhlYWQnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxDaGFuZ2UnLCAnYmFsSW5wdXRDbGljaycsICdiYWxJbnB1dCcsICdiYWxCbHVyJywgJ2JhbEZvY3VzJywgJ2JhbENhbmNlbCcsICdiYWxLZXlQcmVzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFNlbGVjdCB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBvcHRpb24gZ290IHNlbGVjdGVkLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFNlbGVjdEN1c3RvbUV2ZW50PHN0cmluZyB8IHN0cmluZ1tdPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGdvdCBjbGlja2VkLiAqL1xuICBiYWxJbnB1dENsaWNrITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxTZWxlY3RDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBrZXlib2FyZCBpbnB1dCBvY2N1cnJlZC4gKi9cbiAgYmFsSW5wdXQhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFNlbGVjdEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBsb3NlcyBmb2N1cy4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsU2VsZWN0Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBoYXMgZm9jdXMuICovXG4gIGJhbEZvY3VzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxTZWxlY3RDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHVzZXIgY2FuY2VscyB0aGUgaW5wdXQuICovXG4gIGJhbENhbmNlbCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsU2VsZWN0Q3VzdG9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBoYXMgZm9jdXMgYW5kIGtleSBmcm9tIHRoZSBrZXlib2FyZCBnbyBoaXQuICovXG4gIGJhbEtleVByZXNzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxTZWxlY3RDdXN0b21FdmVudDxLZXlib2FyZEV2ZW50Pj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENoYW5nZScsICdiYWxJbnB1dENsaWNrJywgJ2JhbElucHV0JywgJ2JhbEJsdXInLCAnYmFsRm9jdXMnLCAnYmFsQ2FuY2VsJywgJ2JhbEtleVByZXNzJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFNlbGVjdE9wdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsU2VsZWN0T3B0aW9uIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnbGFiZWwnLCAndmFsdWUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTZWxlY3RPcHRpb25cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc2VsZWN0LW9wdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ3ZhbHVlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU2VsZWN0T3B0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU2hhcGUgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFNoYXBlIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAncm90YXRpb24nLCAndmFyaWF0aW9uJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU2hhcGVcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc2hhcGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjb2xvcicsICdyb3RhdGlvbicsICd2YXJpYXRpb24nXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTaGFwZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFNoZWV0IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTaGVldCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRhaW5lclNpemUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTaGVldFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zaGVldCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2NvbnRhaW5lclNpemUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTaGVldCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFNuYWNrYmFyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTbmFja2JhciB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGlvbicsICdjb2xvcicsICdkdXJhdGlvbicsICdocmVmJywgJ2ljb24nLCAnbWVzc2FnZScsICdzdWJqZWN0JywgJ3RhcmdldCddLFxuICBtZXRob2RzOiBbJ2Nsb3NlSW4nLCAnY2xvc2UnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTbmFja2JhclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zbmFja2JhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2FjdGlvbicsICdjb2xvcicsICdkdXJhdGlvbicsICdocmVmJywgJ2ljb24nLCAnbWVzc2FnZScsICdzdWJqZWN0JywgJ3RhcmdldCddLFxuICBvdXRwdXRzOiBbJ2JhbENsb3NlJywgJ2JhbEFjdGlvbiddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFNuYWNrYmFyIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBzbmFja2JhciBpcyBjbG9zZWQgKi9cbiAgYmFsQ2xvc2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFNuYWNrYmFyQ3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGFjdGlvbiBidXR0b24gaXMgY2xpY2tlZCAqL1xuICBiYWxBY3Rpb24hOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFNuYWNrYmFyQ3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENsb3NlJywgJ2JhbEFjdGlvbiddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTcGlubmVyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTcGlubmVyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAnZGVhY3RpdmF0ZWQnLCAnaW52ZXJ0ZWQnLCAnc21hbGwnLCAndmFyaWF0aW9uJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU3Bpbm5lclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zcGlubmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY29sb3InLCAnZGVhY3RpdmF0ZWQnLCAnaW52ZXJ0ZWQnLCAnc21hbGwnLCAndmFyaWF0aW9uJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU3Bpbm5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFN0YWNrIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTdGFjayB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsaWduJywgJ2ZpdENvbnRlbnQnLCAnbGF5b3V0JywgJ3B4JywgJ3B5JywgJ3NwYWNlJywgJ3NwYWNlQ29sdW1uJywgJ3NwYWNlUm93JywgJ3VzZVdyYXAnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTdGFja1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zdGFjaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2FsaWduJywgJ2ZpdENvbnRlbnQnLCAnbGF5b3V0JywgJ3B4JywgJ3B5JywgJ3NwYWNlJywgJ3NwYWNlQ29sdW1uJywgJ3NwYWNlUm93JywgJ3VzZVdyYXAnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTdGFjayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFN0YWdlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTdGFnZSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2NvbnRhaW5lclNpemUnLCAnc2hhcGUnLCAnc2hhcGVSb3RhdGlvbicsICdzaGFwZVZhcmlhdGlvbicsICdzaXplJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU3RhZ2Vcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc3RhZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjb2xvcicsICdjb250YWluZXJTaXplJywgJ3NoYXBlJywgJ3NoYXBlUm90YXRpb24nLCAnc2hhcGVWYXJpYXRpb24nLCAnc2l6ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFN0YWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU3RhZ2VCYWNrTGluayBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RhZ2VCYWNrTGluayB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hyZWYnLCAnaW52ZXJ0ZWQnLCAncmVsJywgJ3NoYWRvdyddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0YWdlQmFja0xpbmtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc3RhZ2UtYmFjay1saW5rJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnaHJlZicsICdpbnZlcnRlZCcsICdyZWwnLCAnc2hhZG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU3RhZ2VCYWNrTGluayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFN0YWdlQm9keSBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RhZ2VCb2R5IHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0YWdlQm9keVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zdGFnZS1ib2R5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJhbFN0YWdlQm9keSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFN0YWdlRm9vdCBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RhZ2VGb290IHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0YWdlRm9vdFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zdGFnZS1mb290JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJhbFN0YWdlRm9vdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFN0YWdlSGVhZCBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RhZ2VIZWFkIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0YWdlSGVhZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zdGFnZS1oZWFkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJhbFN0YWdlSGVhZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFN0YWdlSW1hZ2UgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFN0YWdlSW1hZ2Uge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydmYWxsYmFjaycsICdzcmNTZXQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTdGFnZUltYWdlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXN0YWdlLWltYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnZmFsbGJhY2snLCAnc3JjU2V0J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU3RhZ2VJbWFnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFN0ZXBJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTdGVwSXRlbSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdkaXNhYmxlZCcsICdkb25lJywgJ2ZhaWxlZCcsICdocmVmJywgJ2ludmlzaWJsZScsICdsYWJlbCcsICdwcmV2ZW50JywgJ3JlbCcsICd0YXJnZXQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydnZXRPcHRpb25zJywgJ3NldEFjdGl2ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0ZXBJdGVtXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXN0ZXAtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdkaXNhYmxlZCcsICdkb25lJywgJ2ZhaWxlZCcsICdocmVmJywgJ2ludmlzaWJsZScsICdsYWJlbCcsICdwcmV2ZW50JywgJ3JlbCcsICd0YXJnZXQnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxOYXZpZ2F0ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFN0ZXBJdGVtIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgbGluayBlbGVtZW50IGhhcyBjbGlja2VkICovXG4gIGJhbE5hdmlnYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxTdGVwSXRlbUN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTmF2aWdhdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU3RlcHMgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFN0ZXBzIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xpY2thYmxlJywgJ2NvbG9yJywgJ2RlYm91bmNlJywgJ29wdGlvbnMnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZWxlY3QnLCAnZ2V0T3B0aW9uQnlWYWx1ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0ZXBzXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXN0ZXBzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY2xpY2thYmxlJywgJ2NvbG9yJywgJ2RlYm91bmNlJywgJ29wdGlvbnMnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxDaGFuZ2UnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTdGVwcyB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGNoYW5nZXMgaGFzIGZpbmlzaGVkLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFN0ZXBzQ3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTd2l0Y2ggZXh0ZW5kcyBDb21wb25lbnRzLkJhbFN3aXRjaCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaW52YWxpZCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN3aXRjaFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zd2l0Y2gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTd2l0Y2gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxUYWJJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxUYWJJdGVtIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYTExeUNvbnRyb2xzJywgJ2FjdGl2ZScsICdidWJibGUnLCAnZGlzYWJsZWQnLCAnaHJlZicsICdpY29uJywgJ2ludmlzaWJsZScsICdsYWJlbCcsICdub1BhbmVsJywgJ3ByZXZlbnQnLCAncmVsJywgJ3N1YkxhYmVsJywgJ3N2ZycsICd0YXJnZXQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydnZXRPcHRpb25zJywgJ3NldEFjdGl2ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFRhYkl0ZW1cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtdGFiLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhMTF5Q29udHJvbHMnLCAnYWN0aXZlJywgJ2J1YmJsZScsICdkaXNhYmxlZCcsICdocmVmJywgJ2ljb24nLCAnaW52aXNpYmxlJywgJ2xhYmVsJywgJ25vUGFuZWwnLCAncHJldmVudCcsICdyZWwnLCAnc3ViTGFiZWwnLCAnc3ZnJywgJ3RhcmdldCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbE5hdmlnYXRlJywgJ2JhbEtleURvd24nXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxUYWJJdGVtIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgbGluayBlbGVtZW50IGhhcyBjbGlja2VkICovXG4gIGJhbE5hdmlnYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUYWJJdGVtQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBsaW5rIGVsZW1lbnQgaGFzIGNsaWNrZWQgKi9cbiAgYmFsS2V5RG93biE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVGFiSXRlbUN1c3RvbUV2ZW50PEtleWJvYXJkRXZlbnQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTmF2aWdhdGUnLCAnYmFsS2V5RG93biddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxUYWJsZSBleHRlbmRzIENvbXBvbmVudHMuQmFsVGFibGUge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydleHBhbmRlZCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFRhYmxlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXRhYmxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnZXhwYW5kZWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxUYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFRhYnMgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFRhYnMge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2NvcmRpb24nLCAnYm9yZGVyJywgJ2NsaWNrYWJsZScsICdjb250ZXh0JywgJ2RlYm91bmNlJywgJ2RpbUluYWN0aXZlRWxlbWVudHMnLCAnZXhwYW5kZWQnLCAnZmxvYXQnLCAnZnVsbHdpZHRoJywgJ2hhbmRsZUFzVGFiTGlzdCcsICdpY29uUG9zaXRpb24nLCAnaW52ZXJ0ZWQnLCAnb3B0aW9uYWxUYWJTZWxlY3Rpb24nLCAnb3B0aW9ucycsICdvdmVyZmxvdycsICdzZWxlY3RPbk1vYmlsZScsICdzcGFjZWxlc3MnLCAndmFsdWUnLCAndmVydGljYWwnLCAndmVydGljYWxDb2xTaXplJ10sXG4gIG1ldGhvZHM6IFsnc2VsZWN0JywgJ2dldE9wdGlvbkJ5VmFsdWUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxUYWJzXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXRhYnMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhY2NvcmRpb24nLCAnYm9yZGVyJywgJ2NsaWNrYWJsZScsICdjb250ZXh0JywgJ2RlYm91bmNlJywgJ2RpbUluYWN0aXZlRWxlbWVudHMnLCAnZXhwYW5kZWQnLCAnZmxvYXQnLCAnZnVsbHdpZHRoJywgJ2hhbmRsZUFzVGFiTGlzdCcsICdpY29uUG9zaXRpb24nLCAnaW52ZXJ0ZWQnLCAnb3B0aW9uYWxUYWJTZWxlY3Rpb24nLCAnb3B0aW9ucycsICdvdmVyZmxvdycsICdzZWxlY3RPbk1vYmlsZScsICdzcGFjZWxlc3MnLCAndmFsdWUnLCAndmVydGljYWwnLCAndmVydGljYWxDb2xTaXplJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxUYWJzIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgY2hhbmdlcyBoYXMgZmluaXNoZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVGFic0N1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgYmFsV2lsbEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRhYnNDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGFuaW1hdGlvbiBoYXMgZmluaXNoZWQgKi9cbiAgYmFsRGlkQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVGFic0N1c3RvbUV2ZW50PHN0cmluZz4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnLCAnYmFsV2lsbEFuaW1hdGUnLCAnYmFsRGlkQW5pbWF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxUYWcgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFRhZyB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NhYmxlJywgJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAnbGlnaHQnLCAncG9zaXRpb24nLCAnc2l6ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFRhZ1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC10YWcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjbG9zYWJsZScsICdjb2xvcicsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ2xpZ2h0JywgJ3Bvc2l0aW9uJywgJ3NpemUnXSxcbiAgb3V0cHV0czogWydiYWxDbG9zZUNsaWNrJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsVGFnIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgZ290IGNsaWNrZWQuICovXG4gIGJhbENsb3NlQ2xpY2shOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRhZ0N1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2xvc2VDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxUYWdHcm91cCBleHRlbmRzIENvbXBvbmVudHMuQmFsVGFnR3JvdXAge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsVGFnR3JvdXBcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtdGFnLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJhbFRhZ0dyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsVGV4dCBleHRlbmRzIENvbXBvbmVudHMuQmFsVGV4dCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2JvbGQnLCAnY29sb3InLCAnZGlzYWJsZWQnLCAnaGVhZGluZycsICdpbmxpbmUnLCAnaW52YWxpZCcsICdpbnZlcnRlZCcsICdub1dyYXAnLCAnc2hhZG93JywgJ3NpemUnLCAnc3BhY2UnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxUZXh0XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXRleHQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydib2xkJywgJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2hlYWRpbmcnLCAnaW5saW5lJywgJ2ludmFsaWQnLCAnaW52ZXJ0ZWQnLCAnbm9XcmFwJywgJ3NoYWRvdycsICdzaXplJywgJ3NwYWNlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsVGV4dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFRleHRhcmVhIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxUZXh0YXJlYSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9JbnZhbGlkT2ZmJywgJ2F1dG9jYXBpdGFsaXplJywgJ2F1dG9jb21wbGV0ZScsICdhdXRvZm9jdXMnLCAnY2xpY2thYmxlJywgJ2NvbHMnLCAnZGVib3VuY2UnLCAnZGlzYWJsZWQnLCAnaW5wdXRtb2RlJywgJ2ludmFsaWQnLCAnbWF4TGVuZ3RoJywgJ21pbkxlbmd0aCcsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3Jvd3MnLCAndmFsdWUnLCAnd3JhcCddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJywgJ2dldElucHV0RWxlbWVudCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFRleHRhcmVhXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXRleHRhcmVhJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYXV0b0ludmFsaWRPZmYnLCAnYXV0b2NhcGl0YWxpemUnLCAnYXV0b2NvbXBsZXRlJywgJ2F1dG9mb2N1cycsICdjbGlja2FibGUnLCAnY29scycsICdkZWJvdW5jZScsICdkaXNhYmxlZCcsICdpbnB1dG1vZGUnLCAnaW52YWxpZCcsICdtYXhMZW5ndGgnLCAnbWluTGVuZ3RoJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAncm93cycsICd2YWx1ZScsICd3cmFwJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJywgJ2JhbElucHV0JywgJ2JhbEJsdXInLCAnYmFsS2V5UHJlc3MnLCAnYmFsRm9jdXMnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxUZXh0YXJlYSB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGhhcyBjaGFuZ2VkLi4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUZXh0YXJlYUN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKiogRW1pdHRlZCB3aGVuIGEga2V5Ym9hcmQgaW5wdXQgb2NjdXJyZWQuICovXG4gIGJhbElucHV0ITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUZXh0YXJlYUN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKiogRW1pdHRlZCB3aGVuIGEga2V5Ym9hcmQgaW5wdXQgb2NjdXJyZWQuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRleHRhcmVhQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIGEga2V5Ym9hcmQga2V5IGhhcyBwcmVzc2VkLiAqL1xuICBiYWxLZXlQcmVzcyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVGV4dGFyZWFDdXN0b21FdmVudDxLZXlib2FyZEV2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRleHRhcmVhQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnLCAnYmFsSW5wdXQnLCAnYmFsQmx1cicsICdiYWxLZXlQcmVzcycsICdiYWxGb2N1cyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxUaW1lSW5wdXQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFRpbWVJbnB1dCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9JbnZhbGlkT2ZmJywgJ2RlYm91bmNlJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAnbmFtZScsICdyZWFkb25seScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJywgJ2dldElucHV0RWxlbWVudCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFRpbWVJbnB1dFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC10aW1lLWlucHV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYXV0b0ludmFsaWRPZmYnLCAnZGVib3VuY2UnLCAnZGlzYWJsZWQnLCAnaW52YWxpZCcsICduYW1lJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsSW5wdXQnLCAnYmFsQ2hhbmdlJywgJ2JhbEJsdXInLCAnYmFsRm9jdXMnLCAnYmFsS2V5UHJlc3MnLCAnYmFsQ2xpY2snXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxUaW1lSW5wdXQge1xuICAvKiogRW1pdHRlZCB3aGVuIGEga2V5Ym9hcmQgaW5wdXQgb2NjdXJyZWQuICovXG4gIGJhbElucHV0ITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUaW1lSW5wdXRDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdmFsdWUgaGFzIGNoYW5nZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVGltZUlucHV0Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGxvc2VzIGZvY3VzLiAqL1xuICBiYWxCbHVyITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUaW1lSW5wdXRDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRpbWVJbnB1dEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGtleSBoYXMgcHJlc3NlZC4gKi9cbiAgYmFsS2V5UHJlc3MhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRpbWVJbnB1dEN1c3RvbUV2ZW50PEtleWJvYXJkRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaGFzIGNsaWNrZWQuICovXG4gIGJhbENsaWNrITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUaW1lSW5wdXRDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbElucHV0JywgJ2JhbENoYW5nZScsICdiYWxCbHVyJywgJ2JhbEZvY3VzJywgJ2JhbEtleVByZXNzJywgJ2JhbENsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFRvYXN0IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxUb2FzdCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NhYmxlJywgJ2NvbG9yJywgJ2R1cmF0aW9uJywgJ21lc3NhZ2UnXSxcbiAgbWV0aG9kczogWydjbG9zZUluJywgJ2Nsb3NlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsVG9hc3Rcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtdG9hc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjbG9zYWJsZScsICdjb2xvcicsICdkdXJhdGlvbicsICdtZXNzYWdlJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2xvc2UnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxUb2FzdCB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdG9hc3QgaXMgY2xvc2VkICovXG4gIGJhbENsb3NlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUb2FzdEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDbG9zZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxUb29sdGlwIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxUb29sdGlwIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGVudFdpZHRoJywgJ29mZnNldCcsICdwbGFjZW1lbnQnLCAncmVmZXJlbmNlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsVG9vbHRpcFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY29udGVudFdpZHRoJywgJ29mZnNldCcsICdwbGFjZW1lbnQnLCAncmVmZXJlbmNlJ10sXG4gIG91dHB1dHM6IFsnYmFsV2lsbEFuaW1hdGUnLCAnYmFsRGlkQW5pbWF0ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFRvb2x0aXAge1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgYmFsV2lsbEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRvb2x0aXBDdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKiBFbWl0dGVkIGFmdGVyIHRoZSBhbmltYXRpb24gaGFzIGZpbmlzaGVkICovXG4gIGJhbERpZEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRvb2x0aXBDdXN0b21FdmVudDxib29sZWFuPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXSk7XG4gIH1cbn1cbiJdfQ==
3371
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvcHJveGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWtELE1BQU0sZUFBZSxDQUFDO0FBQzFKLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixJQUFJLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDckgsT0FBTyxFQUFFLG1CQUFtQixJQUFJLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDckgsT0FBTyxFQUFFLG1CQUFtQixJQUFJLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDckgsT0FBTyxFQUFFLG1CQUFtQixJQUFJLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLElBQUksZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0csT0FBTyxFQUFFLG1CQUFtQixJQUFJLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNHLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLDZDQUE2QyxD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QUFNLFVBQVUsR0FBaEIsTUFBTSxVQUFVO0lBTXJCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQzs4R0FWVSxVQUFVO2tHQUFWLFVBQVUsOE9BTFgsMkJBQTJCOztBQUsxQixVQUFVO0lBWnRCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQztRQUM1RCxxQkFBcUIsRUFBRSxnQkFBZ0I7S0FDeEMsQ0FBQztxQ0FlZSxpQkFBaUIsRUFBSyxVQUFVLEVBQWUsTUFBTTtHQU56RCxVQUFVLENBV3RCOzsyRkFYWSxVQUFVO2tCQVJ0QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQztvQkFDNUQsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgTmdab25lLCBFdmVudEVtaXR0ZXIsIE5nTW9kdWxlLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm94eUNtcCwgcHJveHlPdXRwdXRzIH0gZnJvbSAnLi9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxBY2NvcmRpb24gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWFjY29yZGlvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEFjY29yZGlvbkRldGFpbHMgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWFjY29yZGlvbi1kZXRhaWxzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQWNjb3JkaW9uU3VtbWFyeSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtYWNjb3JkaW9uLXN1bW1hcnknO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxBY2NvcmRpb25UcmlnZ2VyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1hY2NvcmRpb24tdHJpZ2dlcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEFwcCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtYXBwJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQmFkZ2UgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWJhZGdlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQnV0dG9uIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1idXR0b24nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxCdXR0b25Hcm91cCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtYnV0dG9uLWdyb3VwJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQ2FyZCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtY2FyZCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENhcmRBY3Rpb25zIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jYXJkLWFjdGlvbnMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDYXJkQnV0dG9uIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jYXJkLWJ1dHRvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENhcmRDb250ZW50IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jYXJkLWNvbnRlbnQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDYXJkU3VidGl0bGUgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNhcmQtc3VidGl0bGUnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDYXJkVGl0bGUgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNhcmQtdGl0bGUnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDYXJvdXNlbCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtY2Fyb3VzZWwnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDYXJvdXNlbEl0ZW0gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNhcm91c2VsLWl0ZW0nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDaGVjayB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtY2hlY2snO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDaGVja2JveCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtY2hlY2tib3gnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDaGVja2JveEdyb3VwIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jaGVja2JveC1ncm91cCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENsb3NlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jbG9zZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENvbnRlbnQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNvbnRlbnQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxEYXRhIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1kYXRhJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRGF0YUl0ZW0gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWRhdGEtaXRlbSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbERhdGFMYWJlbCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZGF0YS1sYWJlbCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbERhdGFWYWx1ZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZGF0YS12YWx1ZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbERhdGUgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWRhdGUnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxEYXRlQ2FsZW5kYXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWRhdGUtY2FsZW5kYXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxEYXRlQ2FsZW5kYXJDZWxsIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1kYXRlLWNhbGVuZGFyLWNlbGwnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxEaXZpZGVyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1kaXZpZGVyJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRHJvcGRvd24gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWRyb3Bkb3duJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRmllbGQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWZpZWxkJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRmllbGRDb250cm9sIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1maWVsZC1jb250cm9sJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRmllbGRIaW50IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1maWVsZC1oaW50JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRmllbGRMYWJlbCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZmllbGQtbGFiZWwnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxGaWVsZE1lc3NhZ2UgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWZpZWxkLW1lc3NhZ2UnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxGaWxlVXBsb2FkIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1maWxlLXVwbG9hZCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEZvb3RlciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZm9vdGVyJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRm9ybSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZm9ybSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEZvcm1Db2wgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWZvcm0tY29sJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRm9ybUdyaWQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWZvcm0tZ3JpZCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEhlYWRpbmcgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWhlYWRpbmcnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxIaW50IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1oaW50JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsSGludFRleHQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWhpbnQtdGV4dCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEhpbnRUaXRsZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtaGludC10aXRsZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEljb24gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWljb24nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxJbnB1dCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtaW5wdXQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxJbnB1dERhdGUgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWlucHV0LWRhdGUnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxJbnB1dEdyb3VwIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1pbnB1dC1ncm91cCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbElucHV0U2xpZGVyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1pbnB1dC1zbGlkZXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxJbnB1dFN0ZXBwZXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWlucHV0LXN0ZXBwZXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxMYWJlbCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbGFiZWwnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxMaXN0IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1saXN0JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTGlzdEl0ZW0gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWxpc3QtaXRlbSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbExpc3RJdGVtQWNjb3JkaW9uQm9keSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbGlzdC1pdGVtLWFjY29yZGlvbi1ib2R5JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTGlzdEl0ZW1BY2NvcmRpb25IZWFkIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1saXN0LWl0ZW0tYWNjb3JkaW9uLWhlYWQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxMaXN0SXRlbUNvbnRlbnQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWxpc3QtaXRlbS1jb250ZW50JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTGlzdEl0ZW1JY29uIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1saXN0LWl0ZW0taWNvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbExpc3RJdGVtU3VidGl0bGUgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWxpc3QtaXRlbS1zdWJ0aXRsZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbExpc3RJdGVtVGl0bGUgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWxpc3QtaXRlbS10aXRsZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbExvZ28gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWxvZ28nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxNb2RhbCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbW9kYWwnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxNb2RhbEJvZHkgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW1vZGFsLWJvZHknO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxNb2RhbEhlYWRlciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbW9kYWwtaGVhZGVyJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1uYXYnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZMaW5rIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1uYXYtbGluayc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5hdkxpbmtHcmlkIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1uYXYtbGluay1ncmlkJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2TGlua0dyaWRDb2wgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdi1saW5rLWdyaWQtY29sJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2TGlua0dyb3VwIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1uYXYtbGluay1ncm91cCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5hdk1lbnVCYXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdi1tZW51LWJhcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5hdk1lbnVGbHlvdXQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdi1tZW51LWZseW91dCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5hdk1ldGFCYXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdi1tZXRhLWJhcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5hdmJhciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2YmFyJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2YmFyQnJhbmQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdmJhci1icmFuZCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5hdmJhck1lbnUgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdmJhci1tZW51JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2YmFyTWVudUVuZCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2YmFyLW1lbnUtZW5kJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2YmFyTWVudVN0YXJ0IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1uYXZiYXItbWVudS1zdGFydCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5vdGljZXMgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5vdGljZXMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOb3RpZmljYXRpb24gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE51bWJlcklucHV0IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1udW1iZXItaW5wdXQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxPcHRpb24gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW9wdGlvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE9wdGlvbkxpc3QgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW9wdGlvbi1saXN0JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsUGFnaW5hdGlvbiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFBvcG92ZXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXBvcG92ZXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxQb3BvdmVyQ29udGVudCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtcG9wb3Zlci1jb250ZW50JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsUG9wdXAgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXBvcHVwJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsUHJvZ3Jlc3NCYXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXByb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFJhZGlvIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1yYWRpbyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFJhZGlvR3JvdXAgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXJhZGlvLWdyb3VwJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsUmFkaW9JY29uIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1yYWRpby1pY29uJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsU2VnbWVudCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc2VnbWVudCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFNlZ21lbnRJdGVtIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zZWdtZW50LWl0ZW0nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTZWxlY3QgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXNlbGVjdCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFNlbGVjdE9wdGlvbiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc2VsZWN0LW9wdGlvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFNoYXBlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zaGFwZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFNoZWV0IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zaGVldCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFNuYWNrYmFyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zbmFja2Jhcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFNwaW5uZXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXNwaW5uZXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGFjayB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc3RhY2snO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGFnZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc3RhZ2UnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGFnZUJhY2tMaW5rIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zdGFnZS1iYWNrLWxpbmsnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGFnZUJvZHkgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXN0YWdlLWJvZHknO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGFnZUZvb3QgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXN0YWdlLWZvb3QnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGFnZUhlYWQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXN0YWdlLWhlYWQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGFnZUltYWdlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zdGFnZS1pbWFnZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0ZXBJdGVtIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zdGVwLWl0ZW0nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGVwcyB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc3RlcHMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTd2l0Y2ggfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXN3aXRjaCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFRhYkl0ZW0gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXRhYi1pdGVtJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsVGFibGUgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXRhYmxlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsVGFicyB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtdGFicyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFRhZyB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtdGFnJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsVGFnR3JvdXAgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXRhZy1ncm91cCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFRleHQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXRleHQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxUZXh0YXJlYSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtdGV4dGFyZWEnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxUaW1lSW5wdXQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXRpbWUtaW5wdXQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxUb2FzdCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtdG9hc3QnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxUb29sdGlwIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC10b29sdGlwJztcblxuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRzLCBGaWxlVXBsb2FkUmVqZWN0ZWRGaWxlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzJztcblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxBY2NvcmRpb24ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnY2FyZCcsICdjbG9zZUljb24nLCAnY2xvc2VMYWJlbCcsICdkZWJvdW5jZScsICdvcGVuSWNvbicsICdvcGVuTGFiZWwnXSxcbiAgbWV0aG9kczogWydwcmVzZW50JywgJ2Rpc21pc3MnLCAndG9nZ2xlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQWNjb3JkaW9uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWFjY29yZGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjYXJkJywgJ2Nsb3NlSWNvbicsICdjbG9zZUxhYmVsJywgJ2RlYm91bmNlJywgJ29wZW5JY29uJywgJ29wZW5MYWJlbCddLFxuICBvdXRwdXRzOiBbJ2JhbENoYW5nZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQWNjb3JkaW9uIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgYWNjb3JkaW9uIGhhcyBvcGVuZWQgb3IgY2xvc2VkICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQWNjb3JkaW9uQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgYmFsV2lsbEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbEFjY29yZGlvbkN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGFuaW1hdGlvbiBoYXMgZmluaXNoZWQgKi9cbiAgYmFsRGlkQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQWNjb3JkaW9uQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnLCAnYmFsV2lsbEFuaW1hdGUnLCAnYmFsRGlkQW5pbWF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxBY2NvcmRpb25EZXRhaWxzIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxBY2NvcmRpb25EZXRhaWxzIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEFjY29yZGlvbkRldGFpbHNcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtYWNjb3JkaW9uLWRldGFpbHMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQmFsQWNjb3JkaW9uRGV0YWlscyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEFjY29yZGlvblN1bW1hcnkgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEFjY29yZGlvblN1bW1hcnkge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd0cmlnZ2VyJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQWNjb3JkaW9uU3VtbWFyeVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1hY2NvcmRpb24tc3VtbWFyeScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ3RyaWdnZXInXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxBY2NvcmRpb25TdW1tYXJ5IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQWNjb3JkaW9uVHJpZ2dlciBleHRlbmRzIENvbXBvbmVudHMuQmFsQWNjb3JkaW9uVHJpZ2dlciB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2J1dHRvbicsICdjbG9zZUljb24nLCAnY2xvc2VMYWJlbCcsICdjb2xvcicsICdleHBhbmRlZCcsICdvcGVuSWNvbicsICdvcGVuTGFiZWwnLCAnc2l6ZScsICd2YXJpYW50J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQWNjb3JkaW9uVHJpZ2dlclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1hY2NvcmRpb24tdHJpZ2dlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2J1dHRvbicsICdjbG9zZUljb24nLCAnY2xvc2VMYWJlbCcsICdjb2xvcicsICdleHBhbmRlZCcsICdvcGVuSWNvbicsICdvcGVuTGFiZWwnLCAnc2l6ZScsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQWNjb3JkaW9uVHJpZ2dlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEFwcCBleHRlbmRzIENvbXBvbmVudHMuQmFsQXBwIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0ZWQnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cyddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEFwcFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1hcHAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhbmltYXRlZCddLFxuICBvdXRwdXRzOiBbJ2JhbEFwcFJlYWR5J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQXBwIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhcHAgaXMgcmVhZHkgYW5kIHBhaW50ZWQuICovXG4gIGJhbEFwcFJlYWR5ITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxBcHBDdXN0b21FdmVudDx2b2lkPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbEFwcFJlYWR5J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEJhZGdlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxCYWRnZSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2ljb24nLCAncG9zaXRpb24nLCAnc2l6ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEJhZGdlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWJhZGdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY29sb3InLCAnaWNvbicsICdwb3NpdGlvbicsICdzaXplJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQmFkZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbEJ1dHRvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlDb250cm9scycsICdhMTF5SGFzcG9wdXAnLCAnYTExeUxhYmVsJywgJ2ExMXlUaXRsZScsICdiYWxQb3B1cCcsICdjb2xvcicsICdkaXNhYmxlZCcsICdkb3dubG9hZCcsICdlbGVtZW50VHlwZScsICdleHBhbmRlZCcsICdmbGF0JywgJ2hyZWYnLCAnaWNvbicsICdpY29uUmlnaHQnLCAnaWNvblR1cm4nLCAnaW52ZXJ0ZWQnLCAnaXNBY3RpdmUnLCAnbG9hZGluZycsICduYW1lJywgJ25vV3JhcCcsICdvdXRsaW5lZCcsICdyZWwnLCAncm91bmRlZCcsICdzaGFkb3cnLCAnc2l6ZScsICdzcXVhcmUnLCAndGFyZ2V0JywgJ3ZhbHVlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQnV0dG9uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2ExMXlDb250cm9scycsICdhMTF5SGFzcG9wdXAnLCAnYTExeUxhYmVsJywgJ2ExMXlUaXRsZScsICdiYWxQb3B1cCcsICdjb2xvcicsICdkaXNhYmxlZCcsICdkb3dubG9hZCcsICdlbGVtZW50VHlwZScsICdleHBhbmRlZCcsICdmbGF0JywgJ2hyZWYnLCAnaWNvbicsICdpY29uUmlnaHQnLCAnaWNvblR1cm4nLCAnaW52ZXJ0ZWQnLCAnaXNBY3RpdmUnLCAnbG9hZGluZycsICduYW1lJywgJ25vV3JhcCcsICdvdXRsaW5lZCcsICdyZWwnLCAncm91bmRlZCcsICdzaGFkb3cnLCAnc2l6ZScsICdzcXVhcmUnLCAndGFyZ2V0JywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2xpY2snLCAnYmFsTmF2aWdhdGUnLCAnYmFsRm9jdXMnLCAnYmFsQmx1cicsICdiYWxEaWRSZW5kZXInXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxCdXR0b24ge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBsaW5rIGVsZW1lbnQgaGFzIGNsaWNrZWQuICovXG4gIGJhbENsaWNrITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxCdXR0b25DdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGxpbmsgZWxlbWVudCBoYXMgY2xpY2tlZC4gKi9cbiAgYmFsTmF2aWdhdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbEJ1dHRvbkN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgYnV0dG9uIGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbEJ1dHRvbkN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgYnV0dG9uIGxvc2VzIGZvY3VzLiAqL1xuICBiYWxCbHVyITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxCdXR0b25DdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGJ1dHRvbiBoYXMgYmVlbiAgcmVuZGVyZWQuICovXG4gIGJhbERpZFJlbmRlciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQnV0dG9uQ3VzdG9tRXZlbnQ8dm9pZD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDbGljaycsICdiYWxOYXZpZ2F0ZScsICdiYWxGb2N1cycsICdiYWxCbHVyJywgJ2JhbERpZFJlbmRlciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxCdXR0b25Hcm91cCBleHRlbmRzIENvbXBvbmVudHMuQmFsQnV0dG9uR3JvdXAge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXJlY3Rpb24nLCAncG9zaXRpb24nLCAncmV2ZXJzZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEJ1dHRvbkdyb3VwXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWJ1dHRvbi1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2RpcmVjdGlvbicsICdwb3NpdGlvbicsICdyZXZlcnNlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQnV0dG9uR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxDYXJkIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDYXJkIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2NsaWNrYWJsZScsICdjb2xvcicsICdmbGF0JywgJ2Z1bGxoZWlnaHQnLCAnaW52ZXJ0ZWQnLCAnc2VsZWN0ZWQnLCAnc3BhY2UnLCAnc3F1YXJlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2FyZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2NsaWNrYWJsZScsICdjb2xvcicsICdmbGF0JywgJ2Z1bGxoZWlnaHQnLCAnaW52ZXJ0ZWQnLCAnc2VsZWN0ZWQnLCAnc3BhY2UnLCAnc3F1YXJlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ2FyZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbENhcmRBY3Rpb25zIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDYXJkQWN0aW9ucyB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3Bvc2l0aW9uJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2FyZEFjdGlvbnNcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY2FyZC1hY3Rpb25zJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsncG9zaXRpb24nXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxDYXJkQWN0aW9ucyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbENhcmRCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbENhcmRCdXR0b24ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlbGVtZW50VHlwZScsICdocmVmJywgJ2ljb24nLCAnaWNvblJpZ2h0JywgJ2xvYWRpbmcnLCAncmVsJywgJ3RhcmdldCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENhcmRCdXR0b25cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY2FyZC1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlbGVtZW50VHlwZScsICdocmVmJywgJ2ljb24nLCAnaWNvblJpZ2h0JywgJ2xvYWRpbmcnLCAncmVsJywgJ3RhcmdldCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbENhcmRCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxDYXJkQ29udGVudCBleHRlbmRzIENvbXBvbmVudHMuQmFsQ2FyZENvbnRlbnQge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2FyZENvbnRlbnRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY2FyZC1jb250ZW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJhbENhcmRDb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2FyZFN1YnRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDYXJkU3VidGl0bGUge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydib2xkJywgJ2NvbG9yJywgJ2ludmVydGVkJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2FyZFN1YnRpdGxlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWNhcmQtc3VidGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydib2xkJywgJ2NvbG9yJywgJ2ludmVydGVkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ2FyZFN1YnRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2FyZFRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDYXJkVGl0bGUge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbnZlcnRlZCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENhcmRUaXRsZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jYXJkLXRpdGxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnaW52ZXJ0ZWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxDYXJkVGl0bGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxDYXJvdXNlbCBleHRlbmRzIENvbXBvbmVudHMuQmFsQ2Fyb3VzZWwge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhc3BlY3RSYXRpbycsICdib3JkZXInLCAnY29udHJvbHMnLCAnY29udHJvbHNPdmVyZmxvdycsICdjb250cm9sc1N0aWNreScsICdmdWxsSGVpZ2h0JywgJ2h0bWxSb2xlJywgJ2ludGVyZmFjZScsICdpbnZlcnRlZCcsICdpdGVtc1BlclZpZXcnLCAnc2Nyb2xsWScsICdzcGFjZScsICdzdGVwcycsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3ByZXZpb3VzJywgJ25leHQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxDYXJvdXNlbFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jYXJvdXNlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2FzcGVjdFJhdGlvJywgJ2JvcmRlcicsICdjb250cm9scycsICdjb250cm9sc092ZXJmbG93JywgJ2NvbnRyb2xzU3RpY2t5JywgJ2Z1bGxIZWlnaHQnLCAnaHRtbFJvbGUnLCAnaW50ZXJmYWNlJywgJ2ludmVydGVkJywgJ2l0ZW1zUGVyVmlldycsICdzY3JvbGxZJywgJ3NwYWNlJywgJ3N0ZXBzJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ2Fyb3VzZWwge1xuICAvKiogRW1pdHRlZCB3aGVuIGEgb3B0aW9uIGdvdCBzZWxlY3RlZC4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxDYXJvdXNlbEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2Fyb3VzZWxJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDYXJvdXNlbEl0ZW0ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdkb3dubG9hZCcsICdlbGVtZW50VHlwZScsICdocmVmJywgJ2h0bWxSb2xlJywgJ2xhYmVsJywgJ25hbWUnLCAncmVsJywgJ3NyYycsICdzdmcnLCAndGFyZ2V0JywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxDYXJvdXNlbEl0ZW1cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY2Fyb3VzZWwtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2Rvd25sb2FkJywgJ2VsZW1lbnRUeXBlJywgJ2hyZWYnLCAnaHRtbFJvbGUnLCAnbGFiZWwnLCAnbmFtZScsICdyZWwnLCAnc3JjJywgJ3N2ZycsICd0YXJnZXQnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxOYXZpZ2F0ZScsICdiYWxGb2N1cycsICdiYWxCbHVyJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ2Fyb3VzZWxJdGVtIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgbGluayBlbGVtZW50IGhhcyBjbGlja2VkLiAqL1xuICBiYWxOYXZpZ2F0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQ2Fyb3VzZWxJdGVtQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQ2Fyb3VzZWxJdGVtQ3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gbG9zZXMgZm9jdXMuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbENhcm91c2VsSXRlbUN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTmF2aWdhdGUnLCAnYmFsRm9jdXMnLCAnYmFsQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxDaGVjayBleHRlbmRzIENvbXBvbmVudHMuQmFsQ2hlY2sge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAnaW52ZXJ0ZWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxDaGVja1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jaGVjaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaW52YWxpZCcsICdpbnZlcnRlZCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbENoZWNrIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2hlY2tib3ggZXh0ZW5kcyBDb21wb25lbnRzLkJhbENoZWNrYm94IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b0ludmFsaWRPZmYnLCAnY2hlY2tlZCcsICdjb2xvcicsICdkaXNhYmxlZCcsICdmbGF0JywgJ2ludGVyZmFjZScsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ25hbWUnLCAnbm9uU3VibWl0JywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnLCAnZ2V0SW5wdXRFbGVtZW50JywgJ2dldE9wdGlvbiddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENoZWNrYm94XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWNoZWNrYm94JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYXV0b0ludmFsaWRPZmYnLCAnY2hlY2tlZCcsICdjb2xvcicsICdkaXNhYmxlZCcsICdmbGF0JywgJ2ludGVyZmFjZScsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ25hbWUnLCAnbm9uU3VibWl0JywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsRm9jdXMnLCAnYmFsQmx1cicsICdiYWxDaGFuZ2UnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxDaGVja2JveCB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHRvZ2dsZSBoYXMgZm9jdXMuICovXG4gIGJhbEZvY3VzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxDaGVja2JveEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdG9nZ2xlIGxvc2VzIGZvY3VzLiAqL1xuICBiYWxCbHVyITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxDaGVja2JveEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdmFsdWUgcHJvcGVydHkgaGFzIGNoYW5nZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQ2hlY2tib3hDdXN0b21FdmVudDxib29sZWFuPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbEZvY3VzJywgJ2JhbEJsdXInLCAnYmFsQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbENoZWNrYm94R3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLkJhbENoZWNrYm94R3JvdXAge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvSW52YWxpZE9mZicsICdjb2x1bW5zJywgJ2NvbHVtbnNNb2JpbGUnLCAnY29sdW1uc1RhYmxldCcsICdjb250cm9sJywgJ2Rpc2FibGVkJywgJ2V4cGFuZGVkJywgJ2ludGVyZmFjZScsICdpbnZhbGlkJywgJ25hbWUnLCAnb3B0aW9ucycsICdyZWFkb25seScsICd2YWx1ZScsICd2ZXJ0aWNhbCcsICd2ZXJ0aWNhbE9uTW9iaWxlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0T3B0aW9uQnlWYWx1ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENoZWNrYm94R3JvdXBcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY2hlY2tib3gtZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhdXRvSW52YWxpZE9mZicsICdjb2x1bW5zJywgJ2NvbHVtbnNNb2JpbGUnLCAnY29sdW1uc1RhYmxldCcsICdjb250cm9sJywgJ2Rpc2FibGVkJywgJ2V4cGFuZGVkJywgJ2ludGVyZmFjZScsICdpbnZhbGlkJywgJ25hbWUnLCAnb3B0aW9ucycsICdyZWFkb25seScsICd2YWx1ZScsICd2ZXJ0aWNhbCcsICd2ZXJ0aWNhbE9uTW9iaWxlJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJywgJ2JhbEZvY3VzJywgJ2JhbEJsdXInXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxDaGVja2JveEdyb3VwIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgY2hlY2tlZCBwcm9wZXJ0eSBoYXMgY2hhbmdlZC4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxDaGVja2JveEdyb3VwQ3VzdG9tRXZlbnQ8YW55W10+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdG9nZ2xlIGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbENoZWNrYm94R3JvdXBDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHRvZ2dsZSBsb3NlcyBmb2N1cy4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQ2hlY2tib3hHcm91cEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJywgJ2JhbEZvY3VzJywgJ2JhbEJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2xvc2UgZXh0ZW5kcyBDb21wb25lbnRzLkJhbENsb3NlIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW52ZXJ0ZWQnLCAnc2l6ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENsb3NlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWNsb3NlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnaW52ZXJ0ZWQnLCAnc2l6ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbENsb3NlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ29udGVudCBleHRlbmRzIENvbXBvbmVudHMuQmFsQ29udGVudCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsaWduJywgJ2xheW91dCcsICdzcGFjZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENvbnRlbnRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2FsaWduJywgJ2xheW91dCcsICdzcGFjZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbENvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxEYXRhIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxEYXRhIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2hvcml6b250YWwnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxEYXRhXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWRhdGEnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydib3JkZXInLCAnaG9yaXpvbnRhbCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbERhdGEge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxEYXRhSXRlbSBleHRlbmRzIENvbXBvbmVudHMuQmFsRGF0YUl0ZW0ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydib3JkZXInLCAnZGlzYWJsZWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxEYXRhSXRlbVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1kYXRhLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydib3JkZXInLCAnZGlzYWJsZWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxEYXRhSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbERhdGFMYWJlbCBleHRlbmRzIENvbXBvbmVudHMuQmFsRGF0YUxhYmVsIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncmVxdWlyZWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxEYXRhTGFiZWxcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZGF0YS1sYWJlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ3JlcXVpcmVkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRGF0YUxhYmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRGF0YVZhbHVlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxEYXRhVmFsdWUge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlZGl0YWJsZScsICdtdWx0aWxpbmUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxEYXRhVmFsdWVcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZGF0YS12YWx1ZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2VkaXRhYmxlJywgJ211bHRpbGluZSddLFxuICBvdXRwdXRzOiBbJ2JhbENsaWNrJywgJ2JhbEZvY3VzJywgJ2JhbEJsdXInXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxEYXRhVmFsdWUge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBlZGl0IGJ1dHRvbiBoYXMgZm9jdXMuICovXG4gIGJhbENsaWNrITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxEYXRhVmFsdWVDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGVkaXQgYnV0dG9uIGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbERhdGFWYWx1ZUN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgZWRpdCBidXR0b24gbG9zZXMgZm9jdXMuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbERhdGFWYWx1ZUN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2xpY2snLCAnYmFsRm9jdXMnLCAnYmFsQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxEYXRlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxEYXRlIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxsb3dJbnZhbGlkVmFsdWUnLCAnYWxsb3dlZERhdGVzJywgJ2F1dG9JbnZhbGlkT2ZmJywgJ2F1dG9jb21wbGV0ZScsICdjbG9zZU9uU2VsZWN0JywgJ2RlYm91bmNlJywgJ2RlZmF1bHREYXRlJywgJ2Rpc2FibGVkJywgJ2ZyZWVTb2xvJywgJ2ludmFsaWQnLCAnbWF4JywgJ21heFllYXJQcm9wJywgJ21pbicsICdtaW5ZZWFyUHJvcCcsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3RyaWdnZXJJY29uJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnb3BlbicsICdjbG9zZScsICd0b2dnbGUnLCAnc2VsZWN0JywgJ3NldEZvY3VzJywgJ2dldElucHV0RWxlbWVudCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbERhdGVcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZGF0ZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2FsbG93SW52YWxpZFZhbHVlJywgJ2FsbG93ZWREYXRlcycsICdhdXRvSW52YWxpZE9mZicsICdhdXRvY29tcGxldGUnLCAnY2xvc2VPblNlbGVjdCcsICdkZWJvdW5jZScsICdkZWZhdWx0RGF0ZScsICdkaXNhYmxlZCcsICdmcmVlU29sbycsICdpbnZhbGlkJywgJ21heCcsICdtYXhZZWFyUHJvcCcsICdtaW4nLCAnbWluWWVhclByb3AnLCAnbmFtZScsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICd0cmlnZ2VySWNvbicsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbElucHV0JywgJ2JhbENoYW5nZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJywgJ2JhbEJsdXInLCAnYmFsRm9jdXMnLCAnYmFsSW5wdXRDbGljaycsICdiYWxJY29uQ2xpY2snXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxEYXRlIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGlucHV0IG9jY3VycmVkLiAqL1xuICBiYWxJbnB1dCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRGF0ZUN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKiogRW1pdHRlZCB3aGVuIGEgb3B0aW9uIGdvdCBzZWxlY3RlZC4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxEYXRlQ3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKiBFbWl0dGVkIGJlZm9yZSB0aGUgYW5pbWF0aW9uIHN0YXJ0cyAqL1xuICBiYWxXaWxsQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRGF0ZUN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGFuaW1hdGlvbiBoYXMgZmluaXNoZWQgKi9cbiAgYmFsRGlkQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRGF0ZUN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgbG9zZXMgZm9jdXMuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbERhdGVDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbERhdGVDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGhhcyBjbGlja2VkLiAqL1xuICBiYWxJbnB1dENsaWNrITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxEYXRlQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpY29uIGhhcyBjbGlja2VkLiAqL1xuICBiYWxJY29uQ2xpY2shOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbERhdGVDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbElucHV0JywgJ2JhbENoYW5nZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJywgJ2JhbEJsdXInLCAnYmFsRm9jdXMnLCAnYmFsSW5wdXRDbGljaycsICdiYWxJY29uQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRGF0ZUNhbGVuZGFyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxEYXRlQ2FsZW5kYXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGxvd2VkRGF0ZXMnLCAnZGVmYXVsdERhdGUnLCAnbWF4JywgJ21heFllYXJQcm9wJywgJ21pbicsICdtaW5ZZWFyUHJvcCcsICd2YWx1ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbERhdGVDYWxlbmRhclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1kYXRlLWNhbGVuZGFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWxsb3dlZERhdGVzJywgJ2RlZmF1bHREYXRlJywgJ21heCcsICdtYXhZZWFyUHJvcCcsICdtaW4nLCAnbWluWWVhclByb3AnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxDaGFuZ2UnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxEYXRlQ2FsZW5kYXIge1xuICAvKiogRW1pdHRlZCB3aGVuIGEgb3B0aW9uIGdvdCBzZWxlY3RlZC4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxEYXRlQ2FsZW5kYXJDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbERhdGVDYWxlbmRhckNlbGwgZXh0ZW5kcyBDb21wb25lbnRzLkJhbERhdGVDYWxlbmRhckNlbGwge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXknLCAnZGlzYWJsZWQnLCAnZnVsbERhdGUnLCAnaXNvRGF0ZScsICdtb250aCcsICdzZWxlY3RlZCcsICd0b2RheScsICd5ZWFyJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRGF0ZUNhbGVuZGFyQ2VsbFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1kYXRlLWNhbGVuZGFyLWNlbGwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydkYXknLCAnZGlzYWJsZWQnLCAnZnVsbERhdGUnLCAnaXNvRGF0ZScsICdtb250aCcsICdzZWxlY3RlZCcsICd0b2RheScsICd5ZWFyJ10sXG4gIG91dHB1dHM6IFsnYmFsU2VsZWN0RGF5J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRGF0ZUNhbGVuZGFyQ2VsbCB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBvcHRpb24gZ290IHNlbGVjdGVkLiAqL1xuICBiYWxTZWxlY3REYXkhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbERhdGVDYWxlbmRhckNlbGxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsU2VsZWN0RGF5J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbERpdmlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbERpdmlkZXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydib3JkZXJTdHlsZScsICdjb2xvcicsICdsYXlvdXQnLCAnc3BhY2UnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxEaXZpZGVyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWRpdmlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydib3JkZXJTdHlsZScsICdjb2xvcicsICdsYXlvdXQnLCAnc3BhY2UnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxEaXZpZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRHJvcGRvd24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbERyb3Bkb3duIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2NvbXBsZXRlJywgJ2NoaXBzJywgJ2NsZWFyYWJsZScsICdjb250ZW50SGVpZ2h0JywgJ2Rpc2FibGVkJywgJ2ZpbHRlcicsICdpY29uJywgJ2lubGluZUxhYmVsJywgJ2ludmFsaWQnLCAnbG9hZGluZycsICdtdWx0aXBsZScsICduYW1lJywgJ29wdGlvbnMnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICd0aGVtZScsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJywgJ2dldFZhbHVlJywgJ2NsZWFyJywgJ29wZW4nLCAnY2xvc2UnLCAnc2VsZWN0J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRHJvcGRvd25cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhdXRvY29tcGxldGUnLCAnY2hpcHMnLCAnY2xlYXJhYmxlJywgJ2NvbnRlbnRIZWlnaHQnLCAnZGlzYWJsZWQnLCAnZmlsdGVyJywgJ2ljb24nLCAnaW5saW5lTGFiZWwnLCAnaW52YWxpZCcsICdsb2FkaW5nJywgJ211bHRpcGxlJywgJ25hbWUnLCAnb3B0aW9ucycsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJywgJ2JhbEZvY3VzJywgJ2JhbEJsdXInXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxEcm9wZG93biB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBvcHRpb24gZ290IHNlbGVjdGVkLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbERyb3Bkb3duQ3VzdG9tRXZlbnQ8c3RyaW5nIHwgc3RyaW5nW10+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRHJvcGRvd25DdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGxvc2VzIGZvY3VzLiAqL1xuICBiYWxCbHVyITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxEcm9wZG93bkN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJywgJ2JhbEZvY3VzJywgJ2JhbEJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRmllbGQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEZpZWxkIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaG9yaXpvbnRhbCcsICdpbnZhbGlkJywgJ2xvYWRpbmcnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAndmFsaWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxGaWVsZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1maWVsZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hvcml6b250YWwnLCAnaW52YWxpZCcsICdsb2FkaW5nJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3ZhbGlkJ10sXG4gIG91dHB1dHM6IFsnYmFsRm9ybUNvbnRyb2xEaWRMb2FkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRmllbGQge1xuICAvKiogRW1pdHRlZCBhZnRlciByZW5kZXIgd2hlbiBlbGVtZW50IGlzIGxhYmVsbGVkICovXG4gIGJhbEZvcm1Db250cm9sRGlkTG9hZCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRmllbGRDdXN0b21FdmVudDxIVE1MRWxlbWVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxGb3JtQ29udHJvbERpZExvYWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRmllbGRDb250cm9sIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxGaWVsZENvbnRyb2wge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydleHBhbmRlZE9uTW9iaWxlJywgJ2ljb25MZWZ0JywgJ2ljb25SaWdodCcsICdsb2FkaW5nJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRmllbGRDb250cm9sXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZpZWxkLWNvbnRyb2wnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydleHBhbmRlZE9uTW9iaWxlJywgJ2ljb25MZWZ0JywgJ2ljb25SaWdodCcsICdsb2FkaW5nJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRmllbGRDb250cm9sIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRmllbGRIaW50IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxGaWVsZEhpbnQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zZUxhYmVsJywgJ2hpZGVUaXRsZU9uRGVza3RvcCcsICdzbWFsbCcsICdzdWJqZWN0J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRmllbGRIaW50XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZpZWxkLWhpbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjbG9zZUxhYmVsJywgJ2hpZGVUaXRsZU9uRGVza3RvcCcsICdzbWFsbCcsICdzdWJqZWN0J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRmllbGRIaW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRmllbGRMYWJlbCBleHRlbmRzIENvbXBvbmVudHMuQmFsRmllbGRMYWJlbCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2h0bWxGb3InLCAnaW52YWxpZCcsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3ZhbGlkJywgJ3dlaWdodCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEZpZWxkTGFiZWxcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZmllbGQtbGFiZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdodG1sRm9yJywgJ2ludmFsaWQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICd2YWxpZCcsICd3ZWlnaHQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGaWVsZExhYmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRmllbGRNZXNzYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxGaWVsZE1lc3NhZ2Uge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ25vUmVzZXJ2ZWRTcGFjZScsICdyZWFkb25seScsICd2YWxpZCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEZpZWxkTWVzc2FnZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1maWVsZC1tZXNzYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY29sb3InLCAnZGlzYWJsZWQnLCAnaW52YWxpZCcsICdub1Jlc2VydmVkU3BhY2UnLCAncmVhZG9ubHknLCAndmFsaWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGaWVsZE1lc3NhZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxGaWxlVXBsb2FkIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxGaWxlVXBsb2FkIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXB0JywgJ2F1dG9JbnZhbGlkT2ZmJywgJ2Rpc2FibGVkJywgJ2hhc0ZpbGVMaXN0JywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbG9hZGluZycsICdtYXhCdW5kbGVTaXplJywgJ21heEZpbGVTaXplJywgJ21heEZpbGVzJywgJ211bHRpcGxlJywgJ25hbWUnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3ViVGl0bGUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydjbGVhcicsICdzZXRGb2N1cycsICdnZXRJbnB1dEVsZW1lbnQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxGaWxlVXBsb2FkXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZpbGUtdXBsb2FkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWNjZXB0JywgJ2F1dG9JbnZhbGlkT2ZmJywgJ2Rpc2FibGVkJywgJ2hhc0ZpbGVMaXN0JywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbG9hZGluZycsICdtYXhCdW5kbGVTaXplJywgJ21heEZpbGVTaXplJywgJ21heEZpbGVzJywgJ211bHRpcGxlJywgJ25hbWUnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3ViVGl0bGUnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxDaGFuZ2UnLCAnYmFsRmlsZXNBZGRlZCcsICdiYWxGaWxlc1JlbW92ZWQnLCAnYmFsUmVqZWN0ZWRGaWxlJywgJ2JhbElucHV0Q2xpY2snLCAnYmFsQmx1cicsICdiYWxGb2N1cyddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEZpbGVVcGxvYWQge1xuICAvKiogVHJpZ2dlcnMgd2hlbiBhIGZpbGUgaXMgYWRkZWQgb3IgcmVtb3ZlZC4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxGaWxlVXBsb2FkQ3VzdG9tRXZlbnQ8RmlsZVtdPj47XG4gIC8qKiBUcmlnZ2VycyB3aGVuIGEgZmlsZSBpcyBhZGRlZC4gKi9cbiAgYmFsRmlsZXNBZGRlZCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRmlsZVVwbG9hZEN1c3RvbUV2ZW50PEZpbGVbXT4+O1xuICAvKiogVHJpZ2dlcnMgd2hlbiBhIGZpbGUgaXMgcmVtb3ZlZC4gKi9cbiAgYmFsRmlsZXNSZW1vdmVkITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxGaWxlVXBsb2FkQ3VzdG9tRXZlbnQ8RmlsZVtdPj47XG4gIC8qKiBUcmlnZ2VycyB3aGVuIGEgZmlsZSBpcyByZWplY3RlZCBkdWUgdG8gbm90IGFsbG93ZWQgTUlNRS1UeXBlIGFuZCBzbyBvbi4gKi9cbiAgYmFsUmVqZWN0ZWRGaWxlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxGaWxlVXBsb2FkQ3VzdG9tRXZlbnQ8RmlsZVVwbG9hZFJlamVjdGVkRmlsZT4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBoYXMgY2xpY2tlZC4gKi9cbiAgYmFsSW5wdXRDbGljayE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRmlsZVVwbG9hZEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgbG9zZXMgZm9jdXMuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbEZpbGVVcGxvYWRDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbEZpbGVVcGxvYWRDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENoYW5nZScsICdiYWxGaWxlc0FkZGVkJywgJ2JhbEZpbGVzUmVtb3ZlZCcsICdiYWxSZWplY3RlZEZpbGUnLCAnYmFsSW5wdXRDbGljaycsICdiYWxCbHVyJywgJ2JhbEZvY3VzJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEZvb3RlciBleHRlbmRzIENvbXBvbmVudHMuQmFsRm9vdGVyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZUxhbmd1YWdlU2VsZWN0aW9uJywgJ2hpZGVMaW5rcycsICdsb2dvSHJlZicsICdsb2dvU3ZnJywgJ292ZXJyaWRlTGlua3MnLCAnc2hvd1NvY2lhbE1lZGlhJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRm9vdGVyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2hpZGVMYW5ndWFnZVNlbGVjdGlvbicsICdoaWRlTGlua3MnLCAnbG9nb0hyZWYnLCAnbG9nb1N2ZycsICdvdmVycmlkZUxpbmtzJywgJ3Nob3dTb2NpYWxNZWRpYSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEZvcm0gZXh0ZW5kcyBDb21wb25lbnRzLkJhbEZvcm0ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydmb3JtQ2xhc3MnLCAnbmF0aXZlJywgJ25vdmFsaWRhdGUnXSxcbiAgbWV0aG9kczogWydzY3JvbGxUb0ZpcnN0SW52YWxpZEZpZWxkJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRm9ybVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1mb3JtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnZm9ybUNsYXNzJywgJ25hdGl2ZScsICdub3ZhbGlkYXRlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRm9ybSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEZvcm1Db2wgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEZvcm1Db2wge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzaXplJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRm9ybUNvbFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1mb3JtLWNvbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ3NpemUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGb3JtQ29sIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRm9ybUdyaWQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEZvcm1HcmlkIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEZvcm1HcmlkXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZvcm0tZ3JpZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGb3JtR3JpZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEhlYWRpbmcgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEhlYWRpbmcge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvTGV2ZWwnLCAnY29sb3InLCAnaW52ZXJ0ZWQnLCAnbGV2ZWwnLCAnbm9XcmFwJywgJ3NoYWRvdycsICdzcGFjZScsICdzdWJ0aXRsZScsICd2aXN1YWxMZXZlbCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEhlYWRpbmdcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtaGVhZGluZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2F1dG9MZXZlbCcsICdjb2xvcicsICdpbnZlcnRlZCcsICdsZXZlbCcsICdub1dyYXAnLCAnc2hhZG93JywgJ3NwYWNlJywgJ3N1YnRpdGxlJywgJ3Zpc3VhbExldmVsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsSGVhZGluZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEhpbnQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEhpbnQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zZUxhYmVsJywgJ3NtYWxsJ10sXG4gIG1ldGhvZHM6IFsndG9nZ2xlJywgJ3ByZXNlbnQnLCAnZGlzbWlzcyddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEhpbnRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtaGludCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2Nsb3NlTGFiZWwnLCAnc21hbGwnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxIaW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSGludFRleHQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEhpbnRUZXh0IHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEhpbnRUZXh0XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWhpbnQtdGV4dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxIaW50VGV4dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEhpbnRUaXRsZSBleHRlbmRzIENvbXBvbmVudHMuQmFsSGludFRpdGxlIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEhpbnRUaXRsZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1oaW50LXRpdGxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJhbEhpbnRUaXRsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbEljb24ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdjb2xvckhvdmVyZWQnLCAnY29sb3JQcmVzc2VkJywgJ2Rpc2FibGVkJywgJ2lubGluZScsICdpbnZhbGlkJywgJ2ludmVydGVkJywgJ25hbWUnLCAnc2hhZG93JywgJ3NpemUnLCAnc3ZnJywgJ3RpbGUnLCAndGlsZUNvbG9yJywgJ3R1cm4nXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxJY29uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjb2xvcicsICdjb2xvckhvdmVyZWQnLCAnY29sb3JQcmVzc2VkJywgJ2Rpc2FibGVkJywgJ2lubGluZScsICdpbnZhbGlkJywgJ2ludmVydGVkJywgJ25hbWUnLCAnc2hhZG93JywgJ3NpemUnLCAnc3ZnJywgJ3RpbGUnLCAndGlsZUNvbG9yJywgJ3R1cm4nXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSW5wdXQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbElucHV0IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXB0JywgJ2FsbG93ZWRLZXlQcmVzcycsICdhdXRvSW52YWxpZE9mZicsICdhdXRvY2FwaXRhbGl6ZScsICdhdXRvY29tcGxldGUnLCAnYXV0b2NvcnJlY3QnLCAnYXV0b2ZvY3VzJywgJ2NsaWNrYWJsZScsICdkZWJvdW5jZScsICdkaXNhYmxlZCcsICdpbnB1dG1vZGUnLCAnaW52YWxpZCcsICdtYXNrJywgJ21heCcsICdtYXhMZW5ndGgnLCAnbWluJywgJ21pbkxlbmd0aCcsICdtdWx0aXBsZScsICduYW1lJywgJ3BhdHRlcm4nLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3BlbGxjaGVjaycsICdzdWZmaXgnLCAndGV4dEFsaWduJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cycsICdnZXRJbnB1dEVsZW1lbnQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxJbnB1dFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2FjY2VwdCcsICdhbGxvd2VkS2V5UHJlc3MnLCAnYXV0b0ludmFsaWRPZmYnLCAnYXV0b2NhcGl0YWxpemUnLCAnYXV0b2NvbXBsZXRlJywgJ2F1dG9jb3JyZWN0JywgJ2F1dG9mb2N1cycsICdjbGlja2FibGUnLCAnZGVib3VuY2UnLCAnZGlzYWJsZWQnLCAnaW5wdXRtb2RlJywgJ2ludmFsaWQnLCAnbWFzaycsICdtYXgnLCAnbWF4TGVuZ3RoJywgJ21pbicsICdtaW5MZW5ndGgnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdwYXR0ZXJuJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NwZWxsY2hlY2snLCAnc3VmZml4JywgJ3RleHRBbGlnbicsICd0eXBlJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsSW5wdXQnLCAnYmFsQmx1cicsICdiYWxLZXlQcmVzcycsICdiYWxGb2N1cycsICdiYWxDaGFuZ2UnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxJbnB1dCB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBrZXlib2FyZCBpbnB1dCBvY2N1cnJlZC4gKi9cbiAgYmFsSW5wdXQhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbElucHV0Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBrZXlib2FyZCBpbnB1dCBvY2N1cnJlZC4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXRDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBrZXlib2FyZCBrZXkgaGFzIHByZXNzZWQuICovXG4gIGJhbEtleVByZXNzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxJbnB1dEN1c3RvbUV2ZW50PEtleWJvYXJkRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXRDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGhhcyBjaGFuZ2VkLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbElucHV0Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbElucHV0JywgJ2JhbEJsdXInLCAnYmFsS2V5UHJlc3MnLCAnYmFsRm9jdXMnLCAnYmFsQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbElucHV0RGF0ZSBleHRlbmRzIENvbXBvbmVudHMuQmFsSW5wdXREYXRlIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxsb3dJbnZhbGlkVmFsdWUnLCAnYXV0b0ludmFsaWRPZmYnLCAnYXV0b2NvbXBsZXRlJywgJ2NsaWNrYWJsZScsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJywgJ2dldElucHV0RWxlbWVudCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbElucHV0RGF0ZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1pbnB1dC1kYXRlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWxsb3dJbnZhbGlkVmFsdWUnLCAnYXV0b0ludmFsaWRPZmYnLCAnYXV0b2NvbXBsZXRlJywgJ2NsaWNrYWJsZScsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbEtleVByZXNzJywgJ2JhbENoYW5nZScsICdiYWxJbnB1dCcsICdiYWxCbHVyJywgJ2JhbEZvY3VzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsSW5wdXREYXRlIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGtleSBoYXMgcHJlc3NlZC4gKi9cbiAgYmFsS2V5UHJlc3MhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbElucHV0RGF0ZUN1c3RvbUV2ZW50PEtleWJvYXJkRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIG9wdGlvbiBnb3Qgc2VsZWN0ZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXREYXRlQ3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBrZXlib2FyZCBpbnB1dCBvY2N1cnJlZC4gKi9cbiAgYmFsSW5wdXQhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbElucHV0RGF0ZUN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBsb3NlcyBmb2N1cy4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXREYXRlQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBoYXMgZm9jdXMuICovXG4gIGJhbEZvY3VzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxJbnB1dERhdGVDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbEtleVByZXNzJywgJ2JhbENoYW5nZScsICdiYWxJbnB1dCcsICdiYWxCbHVyJywgJ2JhbEZvY3VzJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbElucHV0R3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLkJhbElucHV0R3JvdXAge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdpbnZhbGlkJywgJ3JlYWRvbmx5J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsSW5wdXRHcm91cFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1pbnB1dC1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAncmVhZG9ubHknXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxJbnB1dEdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSW5wdXRTbGlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbElucHV0U2xpZGVyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b0ludmFsaWRPZmYnLCAnYmFsVGFiaW5kZXgnLCAnZGVib3VuY2UnLCAnZGlzYWJsZWQnLCAnaGFzVGlja3MnLCAnaW52YWxpZCcsICdtYXgnLCAnbWluJywgJ25hbWUnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3RlcCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJywgJ2dldElucHV0RWxlbWVudCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbElucHV0U2xpZGVyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWlucHV0LXNsaWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2F1dG9JbnZhbGlkT2ZmJywgJ2JhbFRhYmluZGV4JywgJ2RlYm91bmNlJywgJ2Rpc2FibGVkJywgJ2hhc1RpY2tzJywgJ2ludmFsaWQnLCAnbWF4JywgJ21pbicsICduYW1lJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3N0ZXAnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxJbnB1dCcsICdiYWxCbHVyJywgJ2JhbEtleVByZXNzJywgJ2JhbEZvY3VzJywgJ2JhbENoYW5nZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbElucHV0U2xpZGVyIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGlucHV0IG9jY3VycmVkLiAqL1xuICBiYWxJbnB1dCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXRTbGlkZXJDdXN0b21FdmVudDxudW1iZXIgfCBzdHJpbmc+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGlucHV0IG9jY3VycmVkLiAqL1xuICBiYWxCbHVyITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxJbnB1dFNsaWRlckN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGtleSBoYXMgcHJlc3NlZC4gKi9cbiAgYmFsS2V5UHJlc3MhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbElucHV0U2xpZGVyQ3VzdG9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBoYXMgZm9jdXMuICovXG4gIGJhbEZvY3VzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxJbnB1dFNsaWRlckN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgdmFsdWUgaGFzIGNoYW5nZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXRTbGlkZXJDdXN0b21FdmVudDxudW1iZXIgfCBzdHJpbmc+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsSW5wdXQnLCAnYmFsQmx1cicsICdiYWxLZXlQcmVzcycsICdiYWxGb2N1cycsICdiYWxDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSW5wdXRTdGVwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxJbnB1dFN0ZXBwZXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvSW52YWxpZE9mZicsICdkZWJvdW5jZScsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdyZWFkb25seScsICdzdGVwcycsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2dldElucHV0RWxlbWVudCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbElucHV0U3RlcHBlclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1pbnB1dC1zdGVwcGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYXV0b0ludmFsaWRPZmYnLCAnZGVib3VuY2UnLCAnZGlzYWJsZWQnLCAnaW52YWxpZCcsICdtYXgnLCAnbWluJywgJ25hbWUnLCAncmVhZG9ubHknLCAnc3RlcHMnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxDaGFuZ2UnLCAnYmFsSW5wdXQnLCAnYmFsSW5jcmVhc2UnLCAnYmFsRGVjcmVhc2UnLCAnYmFsRm9jdXMnLCAnYmFsQmx1ciddXG59KVxuZXhwb3J0IGNsYXNzIEJhbElucHV0U3RlcHBlciB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGhhcyBjaGFuZ2VkLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbElucHV0U3RlcHBlckN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCB2YWx1ZSBoYXMgY2hhbmdlZC4gKi9cbiAgYmFsSW5wdXQhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbElucHV0U3RlcHBlckN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCB2YWx1ZSBoYXMgaW5jcmVhc2VkLiAqL1xuICBiYWxJbmNyZWFzZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXRTdGVwcGVyQ3VzdG9tRXZlbnQ8bnVtYmVyPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGhhcyBkZWNyZWFzZWQuICovXG4gIGJhbERlY3JlYXNlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxJbnB1dFN0ZXBwZXJDdXN0b21FdmVudDxudW1iZXI+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsSW5wdXRTdGVwcGVyQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIGEga2V5Ym9hcmQgaW5wdXQgb2NjdXJyZWQuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbElucHV0U3RlcHBlckN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJywgJ2JhbElucHV0JywgJ2JhbEluY3JlYXNlJywgJ2JhbERlY3JlYXNlJywgJ2JhbEZvY3VzJywgJ2JhbEJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTGFiZWwgZXh0ZW5kcyBDb21wb25lbnRzLkJhbExhYmVsIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaHRtbEZvcicsICdodG1sSWQnLCAnaW52YWxpZCcsICdtdWx0aWxpbmUnLCAnbm9XcmFwJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NpemUnLCAndmFsaWQnLCAnd2VpZ2h0J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTGFiZWxcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbGFiZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdodG1sRm9yJywgJ2h0bWxJZCcsICdpbnZhbGlkJywgJ211bHRpbGluZScsICdub1dyYXAnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICd2YWxpZCcsICd3ZWlnaHQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxMYWJlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbExpc3QgZXh0ZW5kcyBDb21wb25lbnRzLkJhbExpc3Qge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2NvcmRpb25PbmVMZXZlbCcsICdiYWNrZ3JvdW5kJywgJ2JvcmRlcicsICdkaXNhYmxlZCcsICdzaXplJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTGlzdFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWNjb3JkaW9uT25lTGV2ZWwnLCAnYmFja2dyb3VuZCcsICdib3JkZXInLCAnZGlzYWJsZWQnLCAnc2l6ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbExpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxMaXN0SXRlbSBleHRlbmRzIENvbXBvbmVudHMuQmFsTGlzdEl0ZW0ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2NvcmRpb24nLCAnY2xpY2thYmxlJywgJ2Rpc2FibGVkJywgJ2Rvd25sb2FkJywgJ2hyZWYnLCAncmVsJywgJ3NlbGVjdGVkJywgJ3N1YkFjY29yZGlvbkl0ZW0nLCAndGFyZ2V0J10sXG4gIG1ldGhvZHM6IFsncHJlc2VudCcsICdkaXNtaXNzJywgJ3RvZ2dsZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbExpc3RJdGVtXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWxpc3QtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2FjY29yZGlvbicsICdjbGlja2FibGUnLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnaHJlZicsICdyZWwnLCAnc2VsZWN0ZWQnLCAnc3ViQWNjb3JkaW9uSXRlbScsICd0YXJnZXQnXSxcbiAgb3V0cHV0czogWydiYWxOYXZpZ2F0ZScsICdiYWxHcm91cFN0YXRlQ2hhbmdlZCcsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTGlzdEl0ZW0ge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBsaW5rIGVsZW1lbnQgaGFzIGNsaWNrZWQgKi9cbiAgYmFsTmF2aWdhdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbExpc3RJdGVtQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBzdGF0ZSBvZiB0aGUgZ3JvdXAgaXMgY2hhbmdpbmcgKi9cbiAgYmFsR3JvdXBTdGF0ZUNoYW5nZWQhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbExpc3RJdGVtQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgYmFsV2lsbEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbExpc3RJdGVtQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgYW5pbWF0aW9uIGhhcyBmaW5pc2hlZCAqL1xuICBiYWxEaWRBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxMaXN0SXRlbUN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTmF2aWdhdGUnLCAnYmFsR3JvdXBTdGF0ZUNoYW5nZWQnLCAnYmFsV2lsbEFuaW1hdGUnLCAnYmFsRGlkQW5pbWF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxMaXN0SXRlbUFjY29yZGlvbkJvZHkgZXh0ZW5kcyBDb21wb25lbnRzLkJhbExpc3RJdGVtQWNjb3JkaW9uQm9keSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY29yZGlvbkdyb3VwJywgJ2NvbnRlbnRBbGlnbm1lbnQnLCAnY29udGVudFNwYWNlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTGlzdEl0ZW1BY2NvcmRpb25Cb2R5XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWxpc3QtaXRlbS1hY2NvcmRpb24tYm9keScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2FjY29yZGlvbkdyb3VwJywgJ2NvbnRlbnRBbGlnbm1lbnQnLCAnY29udGVudFNwYWNlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTGlzdEl0ZW1BY2NvcmRpb25Cb2R5IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTGlzdEl0ZW1BY2NvcmRpb25IZWFkIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxMaXN0SXRlbUFjY29yZGlvbkhlYWQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2NvcmRpb25PcGVuJywgJ2ljb24nXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxMaXN0SXRlbUFjY29yZGlvbkhlYWRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbGlzdC1pdGVtLWFjY29yZGlvbi1oZWFkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWNjb3JkaW9uT3BlbicsICdpY29uJ10sXG4gIG91dHB1dHM6IFsnYmFsQWNjb3JkaW9uQ2hhbmdlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTGlzdEl0ZW1BY2NvcmRpb25IZWFkIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgYWNjb3JkaW9uIHN0YXRlIGlzIGNoYW5nZWQgKi9cbiAgYmFsQWNjb3JkaW9uQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxMaXN0SXRlbUFjY29yZGlvbkhlYWRDdXN0b21FdmVudDxib29sZWFuPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbEFjY29yZGlvbkNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxMaXN0SXRlbUNvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbExpc3RJdGVtQ29udGVudCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRlbnRBbGlnbm1lbnQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxMaXN0SXRlbUNvbnRlbnRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbGlzdC1pdGVtLWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjb250ZW50QWxpZ25tZW50J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTGlzdEl0ZW1Db250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTGlzdEl0ZW1JY29uIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxMaXN0SXRlbUljb24ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydyaWdodCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbExpc3RJdGVtSWNvblxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1saXN0LWl0ZW0taWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ3JpZ2h0J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTGlzdEl0ZW1JY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTGlzdEl0ZW1TdWJ0aXRsZSBleHRlbmRzIENvbXBvbmVudHMuQmFsTGlzdEl0ZW1TdWJ0aXRsZSB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxMaXN0SXRlbVN1YnRpdGxlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWxpc3QtaXRlbS1zdWJ0aXRsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxMaXN0SXRlbVN1YnRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTGlzdEl0ZW1UaXRsZSBleHRlbmRzIENvbXBvbmVudHMuQmFsTGlzdEl0ZW1UaXRsZSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xldmVsJywgJ3Zpc3VhbExldmVsJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTGlzdEl0ZW1UaXRsZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1saXN0LWl0ZW0tdGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydsZXZlbCcsICd2aXN1YWxMZXZlbCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbExpc3RJdGVtVGl0bGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxMb2dvIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxMb2dvIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnY29sb3InLCAnc2l6ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbExvZ29cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbG9nbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2FuaW1hdGVkJywgJ2NvbG9yJywgJ3NpemUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxMb2dvIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTW9kYWwgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE1vZGFsIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYmFja2Ryb3BEaXNtaXNzJywgJ2NvbXBvbmVudCcsICdjb21wb25lbnRQcm9wcycsICdjc3NDbGFzcycsICdmb2N1c1RyYXAnLCAnaGFzQmFja2Ryb3AnLCAnaXNDbG9zYWJsZScsICdtb2RhbFdpZHRoJywgJ3NwYWNlJ10sXG4gIG1ldGhvZHM6IFsncHJlc2VudCcsICdkaXNtaXNzJywgJ29uRGlkRGlzbWlzcycsICdvbldpbGxEaXNtaXNzJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTW9kYWxcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbW9kYWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydiYWNrZHJvcERpc21pc3MnLCAnY29tcG9uZW50JywgJ2NvbXBvbmVudFByb3BzJywgJ2Nzc0NsYXNzJywgJ2ZvY3VzVHJhcCcsICdoYXNCYWNrZHJvcCcsICdpc0Nsb3NhYmxlJywgJ21vZGFsV2lkdGgnLCAnc3BhY2UnXSxcbiAgb3V0cHV0czogWydiYWxNb2RhbERpZFByZXNlbnQnLCAnYmFsTW9kYWxXaWxsUHJlc2VudCcsICdiYWxNb2RhbFdpbGxEaXNtaXNzJywgJ2JhbE1vZGFsRGlkRGlzbWlzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE1vZGFsIHtcbiAgLyoqIEVtaXR0ZWQgYWZ0ZXIgdGhlIG1vZGFsIGhhcyBwcmVzZW50ZWQuICovXG4gIGJhbE1vZGFsRGlkUHJlc2VudCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTW9kYWxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKiBFbWl0dGVkIGJlZm9yZSB0aGUgbW9kYWwgaGFzIHByZXNlbnRlZC4gKi9cbiAgYmFsTW9kYWxXaWxsUHJlc2VudCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTW9kYWxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKiBFbWl0dGVkIGJlZm9yZSB0aGUgbW9kYWwgaGFzIGRpc21pc3NlZC4gKi9cbiAgYmFsTW9kYWxXaWxsRGlzbWlzcyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTW9kYWxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqIEVtaXR0ZWQgYWZ0ZXIgdGhlIG1vZGFsIGhhcyBkaXNtaXNzZWQuICovXG4gIGJhbE1vZGFsRGlkRGlzbWlzcyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTW9kYWxDdXN0b21FdmVudDxhbnk+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTW9kYWxEaWRQcmVzZW50JywgJ2JhbE1vZGFsV2lsbFByZXNlbnQnLCAnYmFsTW9kYWxXaWxsRGlzbWlzcycsICdiYWxNb2RhbERpZERpc21pc3MnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTW9kYWxCb2R5IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxNb2RhbEJvZHkge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTW9kYWxCb2R5XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW1vZGFsLWJvZHknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQmFsTW9kYWxCb2R5IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTW9kYWxIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE1vZGFsSGVhZGVyIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE1vZGFsSGVhZGVyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW1vZGFsLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxNb2RhbEhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE5hdiBleHRlbmRzIENvbXBvbmVudHMuQmFsTmF2IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYnV0dG9ucycsICdsb2dvJywgJ29wdGlvbnMnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYnV0dG9ucycsICdsb2dvJywgJ29wdGlvbnMnXSxcbiAgb3V0cHV0czogWydiYWxOYXZJdGVtQ2xpY2snXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOYXYge1xuICAvKiogRW1pdHRlZCB3aGVuIGEgbmF2IGxpbmsgaXRlbSBpcyBjbGlja2VkLiBUaGlzIGV2ZW50IGNhbiBiZSB1c2VkIHRvXG5hZGQgZGF0YSB0cmFja2luZyAqL1xuICBiYWxOYXZJdGVtQ2xpY2shOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE5hdkN1c3RvbUV2ZW50PEJhbEV2ZW50cy5CYWxOYXZJdGVtQ2xpY2tEZXRhaWw+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTmF2SXRlbUNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE5hdkxpbmsgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdkxpbmsge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbGlja2FibGUnLCAnaHJlZicsICdyZWwnLCAnc2VsZWN0ZWQnLCAndGFyZ2V0JywgJ3ZhcmlhbnQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZMaW5rXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdi1saW5rJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY2xpY2thYmxlJywgJ2hyZWYnLCAncmVsJywgJ3NlbGVjdGVkJywgJ3RhcmdldCcsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2TGluayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE5hdkxpbmtHcmlkIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXZMaW5rR3JpZCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZMaW5rR3JpZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1uYXYtbGluay1ncmlkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdkxpbmtHcmlkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2TGlua0dyaWRDb2wgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdkxpbmtHcmlkQ29sIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc3RhdGljQ29sJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTmF2TGlua0dyaWRDb2xcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2LWxpbmstZ3JpZC1jb2wnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydzdGF0aWNDb2wnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOYXZMaW5rR3JpZENvbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE5hdkxpbmtHcm91cCBleHRlbmRzIENvbXBvbmVudHMuQmFsTmF2TGlua0dyb3VwIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZMaW5rR3JvdXBcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2LWxpbmstZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjb2xvciddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdkxpbmtHcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE5hdk1lbnVCYXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdk1lbnVCYXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbnZpc2libGUnLCAncG9zaXRpb24nXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZNZW51QmFyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdi1tZW51LWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2ludmlzaWJsZScsICdwb3NpdGlvbiddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdk1lbnVCYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZNZW51Rmx5b3V0IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXZNZW51Rmx5b3V0IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbmF2SWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZNZW51Rmx5b3V0XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdi1tZW51LWZseW91dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ25hdklkJ10sXG4gIG91dHB1dHM6IFsnYmFsRm9jdXNPdXQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOYXZNZW51Rmx5b3V0IHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgZmx5b3V0IGxvc2VzIGZvY3VzICovXG4gIGJhbEZvY3VzT3V0ITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxOYXZNZW51Rmx5b3V0Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxGb2N1c091dCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZNZXRhQmFyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXZNZXRhQmFyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW52aXNpYmxlJywgJ3Bvc2l0aW9uJywgJ3NpemUnLCAnc3RheU9uVG9wT2ZCYWNrZHJvcCcsICd2YXJpYW50J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTmF2TWV0YUJhclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1uYXYtbWV0YS1iYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydpbnZpc2libGUnLCAncG9zaXRpb24nLCAnc2l6ZScsICdzdGF5T25Ub3BPZkJhY2tkcm9wJywgJ3ZhcmlhbnQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOYXZNZXRhQmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2YmFyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXZiYXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250YWluZXInLCAnaW50ZXJmYWNlJywgJ2xpZ2h0J10sXG4gIG1ldGhvZHM6IFsndG9nZ2xlTWVudSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdmJhclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1uYXZiYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjb250YWluZXInLCAnaW50ZXJmYWNlJywgJ2xpZ2h0J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2YmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2YmFyQnJhbmQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdmJhckJyYW5kIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnaHJlZicsICdsb2dvJywgJ2xvZ29DbGlja2FibGUnLCAnbG9nb0xhYmVsJywgJ2xvZ29TaXplJywgJ3JlbCcsICdzaW1wbGUnLCAndGFyZ2V0J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTmF2YmFyQnJhbmRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2YmFyLWJyYW5kJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnaHJlZicsICdsb2dvJywgJ2xvZ29DbGlja2FibGUnLCAnbG9nb0xhYmVsJywgJ2xvZ29TaXplJywgJ3JlbCcsICdzaW1wbGUnLCAndGFyZ2V0J10sXG4gIG91dHB1dHM6IFsnYmFsTmF2aWdhdGUnLCAnYmFsV2lsbEFuaW1hdGUnLCAnYmFsRGlkQW5pbWF0ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdmJhckJyYW5kIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgbGluayBlbGVtZW50IGhhcyBjbGlja2VkICovXG4gIGJhbE5hdmlnYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxOYXZiYXJCcmFuZEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgYmVmb3JlIHRoZSBhbmltYXRpb24gc3RhcnRzICovXG4gIGJhbFdpbGxBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxOYXZiYXJCcmFuZEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGFuaW1hdGlvbiBoYXMgZmluaXNoZWQgKi9cbiAgYmFsRGlkQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTmF2YmFyQnJhbmRDdXN0b21FdmVudDxib29sZWFuPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbE5hdmlnYXRlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2YmFyTWVudSBleHRlbmRzIENvbXBvbmVudHMuQmFsTmF2YmFyTWVudSB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZiYXJNZW51XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdmJhci1tZW51JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdmJhck1lbnUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZiYXJNZW51RW5kIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXZiYXJNZW51RW5kIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdmJhck1lbnVFbmRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2YmFyLW1lbnUtZW5kJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdmJhck1lbnVFbmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZiYXJNZW51U3RhcnQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdmJhck1lbnVTdGFydCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZiYXJNZW51U3RhcnRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2YmFyLW1lbnUtc3RhcnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2YmFyTWVudVN0YXJ0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTm90aWNlcyBleHRlbmRzIENvbXBvbmVudHMuQmFsTm90aWNlcyB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOb3RpY2VzXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5vdGljZXMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQmFsTm90aWNlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE5vdGlmaWNhdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsTm90aWZpY2F0aW9uIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAnbGlnaHQnLCAnbm9JY29uJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTm90aWZpY2F0aW9uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5vdGlmaWNhdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2xpZ2h0JywgJ25vSWNvbiddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5vdGlmaWNhdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE51bWJlcklucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOdW1iZXJJbnB1dCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9JbnZhbGlkT2ZmJywgJ2RlYm91bmNlJywgJ2RlY2ltYWwnLCAnZGlzYWJsZWQnLCAnZXhhY3ROdW1iZXInLCAnaW52YWxpZCcsICdtYXgnLCAnbWluJywgJ25hbWUnLCAnb25seVBvc2l0aXZlJywgJ3BhdHRlcm4nLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3VmZml4JywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnLCAnZ2V0SW5wdXRFbGVtZW50J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTnVtYmVySW5wdXRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbnVtYmVyLWlucHV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYXV0b0ludmFsaWRPZmYnLCAnZGVib3VuY2UnLCAnZGVjaW1hbCcsICdkaXNhYmxlZCcsICdleGFjdE51bWJlcicsICdpbnZhbGlkJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdvbmx5UG9zaXRpdmUnLCAncGF0dGVybicsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzdWZmaXgnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxJbnB1dCcsICdiYWxDaGFuZ2UnLCAnYmFsQmx1cicsICdiYWxGb2N1cycsICdiYWxLZXlQcmVzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE51bWJlcklucHV0IHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGlucHV0IG9jY3VycmVkLiAqL1xuICBiYWxJbnB1dCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTnVtYmVySW5wdXRDdXN0b21FdmVudDxudW1iZXI+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdmFsdWUgaGFzIGNoYW5nZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTnVtYmVySW5wdXRDdXN0b21FdmVudDxudW1iZXI+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgbG9zZXMgZm9jdXMuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE51bWJlcklucHV0Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBoYXMgZm9jdXMuICovXG4gIGJhbEZvY3VzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxOdW1iZXJJbnB1dEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGtleSBoYXMgcHJlc3NlZC4gKi9cbiAgYmFsS2V5UHJlc3MhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE51bWJlcklucHV0Q3VzdG9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxJbnB1dCcsICdiYWxDaGFuZ2UnLCAnYmFsQmx1cicsICdiYWxGb2N1cycsICdiYWxLZXlQcmVzcyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxPcHRpb24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbE9wdGlvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2ZvY3VzZWQnLCAnaGlkZGVuJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbXVsdGlsaW5lJywgJ3NlbGVjdGVkJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2VsZWN0J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsT3B0aW9uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW9wdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2ZvY3VzZWQnLCAnaGlkZGVuJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbXVsdGlsaW5lJywgJ3NlbGVjdGVkJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsT3B0aW9uQ2hhbmdlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsT3B0aW9uIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgb3B0aW9uIGdldHMgc2VsZWN0ZWQgb3IgdW5zZWxlY3RlZCAqL1xuICBiYWxPcHRpb25DaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE9wdGlvbkN1c3RvbUV2ZW50PEJhbEV2ZW50cy5CYWxPcHRpb25DaGFuZ2VEZXRhaWw+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsT3B0aW9uQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE9wdGlvbkxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE9wdGlvbkxpc3Qge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250ZW50SGVpZ2h0JywgJ2Rpc2FibGVkJywgJ2ZpbHRlcicsICdmb2N1c0luZGV4JywgJ2xhYmVsbGVkYnknLCAnbXVsdGlwbGUnLCAncmVxdWlyZWQnXSxcbiAgbWV0aG9kczogWydmb2N1c1NlbGVjdGVkJywgJ2ZvY3VzRmlyc3QnLCAnZm9jdXNMYXN0JywgJ2ZvY3VzTmV4dCcsICdmb2N1c1ByZXZpb3VzJywgJ2ZvY3VzQnlMYWJlbCcsICdmaWx0ZXJCeUNvbnRlbnQnLCAncmVzZXRIaWRkZW4nLCAncmVzZXRTZWxlY3RlZCcsICd1cGRhdGVTZWxlY3RlZCcsICdyZXNldEZvY3VzJywgJ2dldFNlbGVjdGVkVmFsdWVzJywgJ2dldFNlbGVjdGVkT3B0aW9ucycsICdnZXRWYWx1ZXMnLCAnZ2V0TGFiZWxzJywgJ2dldE9wdGlvbnMnLCAnc2VsZWN0QnlGb2N1cyddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE9wdGlvbkxpc3Rcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtb3B0aW9uLWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjb250ZW50SGVpZ2h0JywgJ2Rpc2FibGVkJywgJ2ZpbHRlcicsICdmb2N1c0luZGV4JywgJ2xhYmVsbGVkYnknLCAnbXVsdGlwbGUnLCAncmVxdWlyZWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxPcHRpb25MaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsUGFnaW5hdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsUGFnaW5hdGlvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsaWduJywgJ2Rpc2FibGVkJywgJ2ludGVyZmFjZScsICdwYWdlUmFuZ2UnLCAnc2l6ZScsICdzdGlja3knLCAndG9wJywgJ3RvdGFsUGFnZXMnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyduZXh0JywgJ3ByZXZpb3VzJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsUGFnaW5hdGlvblxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1wYWdpbmF0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWxpZ24nLCAnZGlzYWJsZWQnLCAnaW50ZXJmYWNlJywgJ3BhZ2VSYW5nZScsICdzaXplJywgJ3N0aWNreScsICd0b3AnLCAndG90YWxQYWdlcycsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbENoYW5nZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFBhZ2luYXRpb24ge1xuICAvKiogVHJpZ2dlcnMgd2hlbiBhIHBhZ2UgY2hhbmdlIGhhcHBlbnMgKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxQYWdpbmF0aW9uQ3VzdG9tRXZlbnQ8bnVtYmVyPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxQb3BvdmVyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxQb3BvdmVyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2Fycm93JywgJ2F1dG9UcmlnZ2VyJywgJ2JhY2tkcm9wJywgJ2hpbnQnLCAnaG92ZXInLCAnbW9iaWxlVG9wJywgJ29mZnNldFgnLCAnb2Zmc2V0WScsICdwYWRkaW5nJywgJ3Bvc2l0aW9uJywgJ3Rvb2x0aXAnXSxcbiAgbWV0aG9kczogWydwcmVzZW50JywgJ2Rpc21pc3MnLCAndG9nZ2xlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsUG9wb3ZlclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1wb3BvdmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2Fycm93JywgJ2F1dG9UcmlnZ2VyJywgJ2JhY2tkcm9wJywgJ2hpbnQnLCAnaG92ZXInLCAnbW9iaWxlVG9wJywgJ29mZnNldFgnLCAnb2Zmc2V0WScsICdwYWRkaW5nJywgJ3Bvc2l0aW9uJywgJ3Rvb2x0aXAnXSxcbiAgb3V0cHV0czogWydiYWxDaGFuZ2UnLCAnYmFsV2lsbEFuaW1hdGUnLCAnYmFsRGlkQW5pbWF0ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFBvcG92ZXIge1xuICAvKiogTGlzdGVuIHdoZW4gdGhlIHBvcG92ZXIgb3BlbnMgb3IgY2xvc2VzLiBSZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFBvcG92ZXJDdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKiBFbWl0dGVkIGJlZm9yZSB0aGUgYW5pbWF0aW9uIHN0YXJ0cyAqL1xuICBiYWxXaWxsQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUG9wb3ZlckN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGFuaW1hdGlvbiBoYXMgZmluaXNoZWQgKi9cbiAgYmFsRGlkQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUG9wb3ZlckN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsUG9wb3ZlckNvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFBvcG92ZXJDb250ZW50IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAnY29udGVudE1pbldpZHRoJywgJ2NvbnRlbnRXaWR0aCcsICdleHBhbmRlZCcsICdtb2JpbGVUb3AnLCAnbm9TaGFkb3cnLCAncmFkaXVzJywgJ3Njcm9sbGFibGUnLCAnc3BhY2VsZXNzJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsUG9wb3ZlckNvbnRlbnRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtcG9wb3Zlci1jb250ZW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY29sb3InLCAnY29udGVudE1pbldpZHRoJywgJ2NvbnRlbnRXaWR0aCcsICdleHBhbmRlZCcsICdtb2JpbGVUb3AnLCAnbm9TaGFkb3cnLCAncmFkaXVzJywgJ3Njcm9sbGFibGUnLCAnc3BhY2VsZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsUG9wb3ZlckNvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxQb3B1cCBleHRlbmRzIENvbXBvbmVudHMuQmFsUG9wdXAge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYXJyb3cnLCAnYmFja2Ryb3AnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2Nsb3NhYmxlJywgJ2NvbnRlbnRXaWR0aCcsICdsYWJlbCcsICdvZmZzZXQnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZScsICd2YXJpYW50J10sXG4gIG1ldGhvZHM6IFsncHJlc2VudCcsICdkaXNtaXNzJywgJ3RvZ2dsZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFBvcHVwXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXBvcHVwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2Fycm93JywgJ2JhY2tkcm9wJywgJ2JhY2tkcm9wRGlzbWlzcycsICdjbG9zYWJsZScsICdjb250ZW50V2lkdGgnLCAnbGFiZWwnLCAnb2Zmc2V0JywgJ3BsYWNlbWVudCcsICdyZWZlcmVuY2UnLCAndmFyaWFudCddLFxuICBvdXRwdXRzOiBbJ2JhbENoYW5nZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsUG9wdXAge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBhY2NvcmRpb24gaGFzIG9wZW5lZCBvciBjbG9zZWQgKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxQb3B1cEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqIEVtaXR0ZWQgYmVmb3JlIHRoZSBhbmltYXRpb24gc3RhcnRzICovXG4gIGJhbFdpbGxBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxQb3B1cEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGFuaW1hdGlvbiBoYXMgZmluaXNoZWQgKi9cbiAgYmFsRGlkQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUG9wdXBDdXN0b21FdmVudDxib29sZWFuPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENoYW5nZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFByb2dyZXNzQmFyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxQcm9ncmVzc0JhciB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmQnLCAnY29sb3InLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydjb25maWdDaGFuZ2VkJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsUHJvZ3Jlc3NCYXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtcHJvZ3Jlc3MtYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZCcsICdjb2xvcicsICd2YWx1ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFByb2dyZXNzQmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsUmFkaW8gZXh0ZW5kcyBDb21wb25lbnRzLkJhbFJhZGlvIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAnZGlzYWJsZWQnLCAnZmxhdCcsICdpbnRlcmZhY2UnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICduYW1lJywgJ25vblN1Ym1pdCcsICdyZWFkb25seScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJywgJ2dldElucHV0RWxlbWVudCcsICdnZXRPcHRpb24nXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxSYWRpb1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1yYWRpbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2ZsYXQnLCAnaW50ZXJmYWNlJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbGFiZWxIaWRkZW4nLCAnbmFtZScsICdub25TdWJtaXQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxGb2N1cycsICdiYWxCbHVyJywgJ2JhbENoYW5nZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFJhZGlvIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdG9nZ2xlIGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFJhZGlvQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0b2dnbGUgbG9zZXMgZm9jdXMuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFJhZGlvQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBjaGVja2VkIHByb3BlcnR5IGhhcyBjaGFuZ2VkLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFJhZGlvQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxGb2N1cycsICdiYWxCbHVyJywgJ2JhbENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxSYWRpb0dyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxSYWRpb0dyb3VwIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxsb3dFbXB0eVNlbGVjdGlvbicsICdhdXRvSW52YWxpZE9mZicsICdjb2x1bW5zJywgJ2NvbHVtbnNNb2JpbGUnLCAnY29sdW1uc1RhYmxldCcsICdkaXNhYmxlZCcsICdleHBhbmRlZCcsICdpbnRlcmZhY2UnLCAnaW52YWxpZCcsICduYW1lJywgJ29wdGlvbnMnLCAncmVhZG9ubHknLCAndmFsdWUnLCAndmVydGljYWwnLCAndmVydGljYWxPbk1vYmlsZSddLFxuICBtZXRob2RzOiBbJ2dldE9wdGlvbkJ5VmFsdWUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxSYWRpb0dyb3VwXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXJhZGlvLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWxsb3dFbXB0eVNlbGVjdGlvbicsICdhdXRvSW52YWxpZE9mZicsICdjb2x1bW5zJywgJ2NvbHVtbnNNb2JpbGUnLCAnY29sdW1uc1RhYmxldCcsICdkaXNhYmxlZCcsICdleHBhbmRlZCcsICdpbnRlcmZhY2UnLCAnaW52YWxpZCcsICduYW1lJywgJ29wdGlvbnMnLCAncmVhZG9ubHknLCAndmFsdWUnLCAndmVydGljYWwnLCAndmVydGljYWxPbk1vYmlsZSddLFxuICBvdXRwdXRzOiBbJ2JhbENoYW5nZScsICdiYWxGb2N1cycsICdiYWxCbHVyJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsUmFkaW9Hcm91cCB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGNoZWNrZWQgcHJvcGVydHkgaGFzIGNoYW5nZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUmFkaW9Hcm91cEN1c3RvbUV2ZW50PGJvb2xlYW4gfCBudW1iZXIgfCBzdHJpbmc+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdG9nZ2xlIGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFJhZGlvR3JvdXBDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHRvZ2dsZSBsb3NlcyBmb2N1cy4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUmFkaW9Hcm91cEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJywgJ2JhbEZvY3VzJywgJ2JhbEJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsUmFkaW9JY29uIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxSYWRpb0ljb24ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAnaW52ZXJ0ZWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxSYWRpb0ljb25cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtcmFkaW8taWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaW52YWxpZCcsICdpbnZlcnRlZCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFJhZGlvSWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFNlZ21lbnQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFNlZ21lbnQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvSW52YWxpZE9mZicsICdkaXNhYmxlZCcsICdleHBhbmRlZCcsICdpbnZhbGlkJywgJ3Njcm9sbGFibGUnLCAndmFsdWUnLCAndmVydGljYWwnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTZWdtZW50XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXNlZ21lbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhdXRvSW52YWxpZE9mZicsICdkaXNhYmxlZCcsICdleHBhbmRlZCcsICdpbnZhbGlkJywgJ3Njcm9sbGFibGUnLCAndmFsdWUnLCAndmVydGljYWwnXSxcbiAgb3V0cHV0czogWydiYWxGb2N1cycsICdiYWxCbHVyJywgJ2JhbENoYW5nZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFNlZ21lbnQge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0b2dnbGUgaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsU2VnbWVudEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgY29tcG9uZW50IHdhcyB0b3VjaGVkICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFNlZ21lbnRDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHZhbHVlIHByb3BlcnR5IGhhcyBjaGFuZ2VkIGFuZCBhbnkgZHJhZ2dpbmcgcG9pbnRlciBoYXMgYmVlbiByZWxlYXNlZCBmcm9tIGBiYWwtc2VnbWVudGAuXG5cblRoaXMgZXZlbnQgd2lsbCBub3QgZW1pdCB3aGVuIHByb2dyYW1tYXRpY2FsbHkgc2V0dGluZyB0aGUgYHZhbHVlYCBwcm9wZXJ0eS4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxTZWdtZW50Q3VzdG9tRXZlbnQ8Ym9vbGVhbiB8IG51bWJlciB8IHN0cmluZz4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxGb2N1cycsICdiYWxCbHVyJywgJ2JhbENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTZWdtZW50SXRlbSBleHRlbmRzIENvbXBvbmVudHMuQmFsU2VnbWVudEl0ZW0ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ3ZhbHVlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU2VnbWVudEl0ZW1cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc2VnbWVudC1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaW52YWxpZCcsICdsYWJlbCcsICd2YWx1ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFNlZ21lbnRJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTZWxlY3Qge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvSW52YWxpZE9mZicsICdhdXRvY29tcGxldGUnLCAnYmFsVGFiaW5kZXgnLCAnZGlzYWJsZWQnLCAnZmlsdGVyJywgJ2ZyZWVTb2xvJywgJ2ludmFsaWQnLCAnbG9hZGluZycsICdtYXhMZW5ndGgnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdub0RhdGFMYWJlbCcsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZW1vdGUnLCAncmVxdWlyZWQnLCAnc2Nyb2xsYWJsZScsICdzZWxlY3Rpb25PcHRpb25hbCcsICd0eXBlYWhlYWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cycsICdnZXRWYWx1ZScsICdjbGVhcicsICdvcGVuJywgJ2Nsb3NlJywgJ2NhbmNlbCcsICdzZWxlY3QnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTZWxlY3Rcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc2VsZWN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYXV0b0ludmFsaWRPZmYnLCAnYXV0b2NvbXBsZXRlJywgJ2JhbFRhYmluZGV4JywgJ2Rpc2FibGVkJywgJ2ZpbHRlcicsICdmcmVlU29sbycsICdpbnZhbGlkJywgJ2xvYWRpbmcnLCAnbWF4TGVuZ3RoJywgJ211bHRpcGxlJywgJ25hbWUnLCAnbm9EYXRhTGFiZWwnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVtb3RlJywgJ3JlcXVpcmVkJywgJ3Njcm9sbGFibGUnLCAnc2VsZWN0aW9uT3B0aW9uYWwnLCAndHlwZWFoZWFkJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJywgJ2JhbElucHV0Q2xpY2snLCAnYmFsSW5wdXQnLCAnYmFsQmx1cicsICdiYWxGb2N1cycsICdiYWxDYW5jZWwnLCAnYmFsS2V5UHJlc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTZWxlY3Qge1xuICAvKiogRW1pdHRlZCB3aGVuIGEgb3B0aW9uIGdvdCBzZWxlY3RlZC4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxTZWxlY3RDdXN0b21FdmVudDxzdHJpbmcgfCBzdHJpbmdbXT4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBnb3QgY2xpY2tlZC4gKi9cbiAgYmFsSW5wdXRDbGljayE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsU2VsZWN0Q3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIGEga2V5Ym9hcmQgaW5wdXQgb2NjdXJyZWQuICovXG4gIGJhbElucHV0ITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxTZWxlY3RDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgbG9zZXMgZm9jdXMuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFNlbGVjdEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsU2VsZWN0Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSB1c2VyIGNhbmNlbHMgdGhlIGlucHV0LiAqL1xuICBiYWxDYW5jZWwhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFNlbGVjdEN1c3RvbUV2ZW50PEtleWJvYXJkRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaGFzIGZvY3VzIGFuZCBrZXkgZnJvbSB0aGUga2V5Ym9hcmQgZ28gaGl0LiAqL1xuICBiYWxLZXlQcmVzcyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsU2VsZWN0Q3VzdG9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnLCAnYmFsSW5wdXRDbGljaycsICdiYWxJbnB1dCcsICdiYWxCbHVyJywgJ2JhbEZvY3VzJywgJ2JhbENhbmNlbCcsICdiYWxLZXlQcmVzcyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTZWxlY3RPcHRpb24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbFNlbGVjdE9wdGlvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ3ZhbHVlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU2VsZWN0T3B0aW9uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXNlbGVjdC1vcHRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdsYWJlbCcsICd2YWx1ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFNlbGVjdE9wdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFNoYXBlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTaGFwZSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ3JvdGF0aW9uJywgJ3ZhcmlhdGlvbiddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFNoYXBlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXNoYXBlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY29sb3InLCAncm90YXRpb24nLCAndmFyaWF0aW9uJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU2hhcGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTaGVldCBleHRlbmRzIENvbXBvbmVudHMuQmFsU2hlZXQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250YWluZXJTaXplJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU2hlZXRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc2hlZXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydjb250YWluZXJTaXplJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU2hlZXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTbmFja2JhciBleHRlbmRzIENvbXBvbmVudHMuQmFsU25hY2tiYXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3Rpb24nLCAnY29sb3InLCAnZHVyYXRpb24nLCAnaHJlZicsICdpY29uJywgJ21lc3NhZ2UnLCAnc3ViamVjdCcsICd0YXJnZXQnXSxcbiAgbWV0aG9kczogWydjbG9zZUluJywgJ2Nsb3NlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU25hY2tiYXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc25hY2tiYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhY3Rpb24nLCAnY29sb3InLCAnZHVyYXRpb24nLCAnaHJlZicsICdpY29uJywgJ21lc3NhZ2UnLCAnc3ViamVjdCcsICd0YXJnZXQnXSxcbiAgb3V0cHV0czogWydiYWxDbG9zZScsICdiYWxBY3Rpb24nXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTbmFja2JhciB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gc25hY2tiYXIgaXMgY2xvc2VkICovXG4gIGJhbENsb3NlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxTbmFja2JhckN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBhY3Rpb24gYnV0dG9uIGlzIGNsaWNrZWQgKi9cbiAgYmFsQWN0aW9uITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxTbmFja2JhckN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDbG9zZScsICdiYWxBY3Rpb24nXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU3Bpbm5lciBleHRlbmRzIENvbXBvbmVudHMuQmFsU3Bpbm5lciB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2RlYWN0aXZhdGVkJywgJ2ludmVydGVkJywgJ3NtYWxsJywgJ3ZhcmlhdGlvbiddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFNwaW5uZXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc3Bpbm5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2RlYWN0aXZhdGVkJywgJ2ludmVydGVkJywgJ3NtYWxsJywgJ3ZhcmlhdGlvbiddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFNwaW5uZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTdGFjayBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RhY2sge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGlnbicsICdmaXRDb250ZW50JywgJ2xheW91dCcsICdweCcsICdweScsICdzcGFjZScsICdzcGFjZUNvbHVtbicsICdzcGFjZVJvdycsICd1c2VXcmFwJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU3RhY2tcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc3RhY2snLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhbGlnbicsICdmaXRDb250ZW50JywgJ2xheW91dCcsICdweCcsICdweScsICdzcGFjZScsICdzcGFjZUNvbHVtbicsICdzcGFjZVJvdycsICd1c2VXcmFwJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU3RhY2sge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTdGFnZSBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RhZ2Uge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdjb250YWluZXJTaXplJywgJ3NoYXBlJywgJ3NoYXBlUm90YXRpb24nLCAnc2hhcGVWYXJpYXRpb24nLCAnc2l6ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0YWdlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXN0YWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY29sb3InLCAnY29udGFpbmVyU2l6ZScsICdzaGFwZScsICdzaGFwZVJvdGF0aW9uJywgJ3NoYXBlVmFyaWF0aW9uJywgJ3NpemUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTdGFnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFN0YWdlQmFja0xpbmsgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFN0YWdlQmFja0xpbmsge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydocmVmJywgJ2ludmVydGVkJywgJ3JlbCcsICdzaGFkb3cnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTdGFnZUJhY2tMaW5rXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXN0YWdlLWJhY2stbGluaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2hyZWYnLCAnaW52ZXJ0ZWQnLCAncmVsJywgJ3NoYWRvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFN0YWdlQmFja0xpbmsge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTdGFnZUJvZHkgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFN0YWdlQm9keSB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTdGFnZUJvZHlcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc3RhZ2UtYm9keScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTdGFnZUJvZHkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTdGFnZUZvb3QgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFN0YWdlRm9vdCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTdGFnZUZvb3Rcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc3RhZ2UtZm9vdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTdGFnZUZvb3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTdGFnZUhlYWQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFN0YWdlSGVhZCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTdGFnZUhlYWRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc3RhZ2UtaGVhZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTdGFnZUhlYWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTdGFnZUltYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTdGFnZUltYWdlIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZmFsbGJhY2snLCAnc3JjU2V0J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU3RhZ2VJbWFnZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zdGFnZS1pbWFnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2ZhbGxiYWNrJywgJ3NyY1NldCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFN0YWdlSW1hZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTdGVwSXRlbSBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RlcEl0ZW0ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnZGlzYWJsZWQnLCAnZG9uZScsICdmYWlsZWQnLCAnaHJlZicsICdpbnZpc2libGUnLCAnbGFiZWwnLCAncHJldmVudCcsICdyZWwnLCAndGFyZ2V0JywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0T3B0aW9ucycsICdzZXRBY3RpdmUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTdGVwSXRlbVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zdGVwLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGlucHV0czogWydhY3RpdmUnLCAnZGlzYWJsZWQnLCAnZG9uZScsICdmYWlsZWQnLCAnaHJlZicsICdpbnZpc2libGUnLCAnbGFiZWwnLCAncHJldmVudCcsICdyZWwnLCAndGFyZ2V0JywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsTmF2aWdhdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTdGVwSXRlbSB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGxpbmsgZWxlbWVudCBoYXMgY2xpY2tlZCAqL1xuICBiYWxOYXZpZ2F0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsU3RlcEl0ZW1DdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbE5hdmlnYXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFN0ZXBzIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTdGVwcyB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsaWNrYWJsZScsICdjb2xvcicsICdkZWJvdW5jZScsICdvcHRpb25zJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2VsZWN0JywgJ2dldE9wdGlvbkJ5VmFsdWUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTdGVwc1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zdGVwcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2NsaWNrYWJsZScsICdjb2xvcicsICdkZWJvdW5jZScsICdvcHRpb25zJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU3RlcHMge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBjaGFuZ2VzIGhhcyBmaW5pc2hlZC4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxTdGVwc0N1c3RvbUV2ZW50PHN0cmluZz4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU3dpdGNoIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTd2l0Y2gge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTd2l0Y2hcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc3dpdGNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpbnZhbGlkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU3dpdGNoIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsVGFiSXRlbSBleHRlbmRzIENvbXBvbmVudHMuQmFsVGFiSXRlbSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlDb250cm9scycsICdhY3RpdmUnLCAnYnViYmxlJywgJ2Rpc2FibGVkJywgJ2hyZWYnLCAnaWNvbicsICdpbnZpc2libGUnLCAnbGFiZWwnLCAnbm9QYW5lbCcsICdwcmV2ZW50JywgJ3JlbCcsICdzdWJMYWJlbCcsICdzdmcnLCAndGFyZ2V0JywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0T3B0aW9ucycsICdzZXRBY3RpdmUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxUYWJJdGVtXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXRhYi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYTExeUNvbnRyb2xzJywgJ2FjdGl2ZScsICdidWJibGUnLCAnZGlzYWJsZWQnLCAnaHJlZicsICdpY29uJywgJ2ludmlzaWJsZScsICdsYWJlbCcsICdub1BhbmVsJywgJ3ByZXZlbnQnLCAncmVsJywgJ3N1YkxhYmVsJywgJ3N2ZycsICd0YXJnZXQnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxOYXZpZ2F0ZScsICdiYWxLZXlEb3duJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsVGFiSXRlbSB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGxpbmsgZWxlbWVudCBoYXMgY2xpY2tlZCAqL1xuICBiYWxOYXZpZ2F0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVGFiSXRlbUN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgbGluayBlbGVtZW50IGhhcyBjbGlja2VkICovXG4gIGJhbEtleURvd24hOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRhYkl0ZW1DdXN0b21FdmVudDxLZXlib2FyZEV2ZW50Pj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbE5hdmlnYXRlJywgJ2JhbEtleURvd24nXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsVGFibGUgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFRhYmxlIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZXhwYW5kZWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxUYWJsZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC10YWJsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2V4cGFuZGVkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsVGFibGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxUYWJzIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxUYWJzIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjb3JkaW9uJywgJ2JvcmRlcicsICdjbGlja2FibGUnLCAnY29udGV4dCcsICdkZWJvdW5jZScsICdkaW1JbmFjdGl2ZUVsZW1lbnRzJywgJ2V4cGFuZGVkJywgJ2Zsb2F0JywgJ2Z1bGx3aWR0aCcsICdoYW5kbGVBc1RhYkxpc3QnLCAnaWNvblBvc2l0aW9uJywgJ2ludmVydGVkJywgJ29wdGlvbmFsVGFiU2VsZWN0aW9uJywgJ29wdGlvbnMnLCAnb3ZlcmZsb3cnLCAnc2VsZWN0T25Nb2JpbGUnLCAnc3BhY2VsZXNzJywgJ3ZhbHVlJywgJ3ZlcnRpY2FsJywgJ3ZlcnRpY2FsQ29sU2l6ZSddLFxuICBtZXRob2RzOiBbJ3NlbGVjdCcsICdnZXRPcHRpb25CeVZhbHVlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsVGFic1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC10YWJzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYWNjb3JkaW9uJywgJ2JvcmRlcicsICdjbGlja2FibGUnLCAnY29udGV4dCcsICdkZWJvdW5jZScsICdkaW1JbmFjdGl2ZUVsZW1lbnRzJywgJ2V4cGFuZGVkJywgJ2Zsb2F0JywgJ2Z1bGx3aWR0aCcsICdoYW5kbGVBc1RhYkxpc3QnLCAnaWNvblBvc2l0aW9uJywgJ2ludmVydGVkJywgJ29wdGlvbmFsVGFiU2VsZWN0aW9uJywgJ29wdGlvbnMnLCAnb3ZlcmZsb3cnLCAnc2VsZWN0T25Nb2JpbGUnLCAnc3BhY2VsZXNzJywgJ3ZhbHVlJywgJ3ZlcnRpY2FsJywgJ3ZlcnRpY2FsQ29sU2l6ZSddLFxuICBvdXRwdXRzOiBbJ2JhbENoYW5nZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsVGFicyB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGNoYW5nZXMgaGFzIGZpbmlzaGVkLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRhYnNDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqIEVtaXR0ZWQgYmVmb3JlIHRoZSBhbmltYXRpb24gc3RhcnRzICovXG4gIGJhbFdpbGxBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUYWJzQ3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKiBFbWl0dGVkIGFmdGVyIHRoZSBhbmltYXRpb24gaGFzIGZpbmlzaGVkICovXG4gIGJhbERpZEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRhYnNDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsVGFnIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxUYWcge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zYWJsZScsICdjb2xvcicsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ2xpZ2h0JywgJ3Bvc2l0aW9uJywgJ3NpemUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxUYWdcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtdGFnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY2xvc2FibGUnLCAnY29sb3InLCAnZGlzYWJsZWQnLCAnaW52YWxpZCcsICdsaWdodCcsICdwb3NpdGlvbicsICdzaXplJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2xvc2VDbGljayddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFRhZyB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGdvdCBjbGlja2VkLiAqL1xuICBiYWxDbG9zZUNsaWNrITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUYWdDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENsb3NlQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsVGFnR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFRhZ0dyb3VwIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFRhZ0dyb3VwXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXRhZy1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxUYWdHcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFRleHQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFRleHQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydib2xkJywgJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2hlYWRpbmcnLCAnaW5saW5lJywgJ2ludmFsaWQnLCAnaW52ZXJ0ZWQnLCAnbm9XcmFwJywgJ3NoYWRvdycsICdzaXplJywgJ3NwYWNlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsVGV4dFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC10ZXh0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnYm9sZCcsICdjb2xvcicsICdkaXNhYmxlZCcsICdoZWFkaW5nJywgJ2lubGluZScsICdpbnZhbGlkJywgJ2ludmVydGVkJywgJ25vV3JhcCcsICdzaGFkb3cnLCAnc2l6ZScsICdzcGFjZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFRleHQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxUZXh0YXJlYSBleHRlbmRzIENvbXBvbmVudHMuQmFsVGV4dGFyZWEge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvSW52YWxpZE9mZicsICdhdXRvY2FwaXRhbGl6ZScsICdhdXRvY29tcGxldGUnLCAnYXV0b2ZvY3VzJywgJ2NsaWNrYWJsZScsICdjb2xzJywgJ2RlYm91bmNlJywgJ2Rpc2FibGVkJywgJ2lucHV0bW9kZScsICdpbnZhbGlkJywgJ21heExlbmd0aCcsICdtaW5MZW5ndGgnLCAnbmFtZScsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdyb3dzJywgJ3ZhbHVlJywgJ3dyYXAnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cycsICdnZXRJbnB1dEVsZW1lbnQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxUZXh0YXJlYVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC10ZXh0YXJlYScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2F1dG9JbnZhbGlkT2ZmJywgJ2F1dG9jYXBpdGFsaXplJywgJ2F1dG9jb21wbGV0ZScsICdhdXRvZm9jdXMnLCAnY2xpY2thYmxlJywgJ2NvbHMnLCAnZGVib3VuY2UnLCAnZGlzYWJsZWQnLCAnaW5wdXRtb2RlJywgJ2ludmFsaWQnLCAnbWF4TGVuZ3RoJywgJ21pbkxlbmd0aCcsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3Jvd3MnLCAndmFsdWUnLCAnd3JhcCddLFxuICBvdXRwdXRzOiBbJ2JhbENoYW5nZScsICdiYWxJbnB1dCcsICdiYWxCbHVyJywgJ2JhbEtleVByZXNzJywgJ2JhbEZvY3VzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsVGV4dGFyZWEge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCB2YWx1ZSBoYXMgY2hhbmdlZC4uICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVGV4dGFyZWFDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGlucHV0IG9jY3VycmVkLiAqL1xuICBiYWxJbnB1dCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVGV4dGFyZWFDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGlucHV0IG9jY3VycmVkLiAqL1xuICBiYWxCbHVyITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUZXh0YXJlYUN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGtleSBoYXMgcHJlc3NlZC4gKi9cbiAgYmFsS2V5UHJlc3MhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRleHRhcmVhQ3VzdG9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBoYXMgZm9jdXMuICovXG4gIGJhbEZvY3VzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUZXh0YXJlYUN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJywgJ2JhbElucHV0JywgJ2JhbEJsdXInLCAnYmFsS2V5UHJlc3MnLCAnYmFsRm9jdXMnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsVGltZUlucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxUaW1lSW5wdXQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvSW52YWxpZE9mZicsICdkZWJvdW5jZScsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ25hbWUnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cycsICdnZXRJbnB1dEVsZW1lbnQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxUaW1lSW5wdXRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtdGltZS1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2F1dG9JbnZhbGlkT2ZmJywgJ2RlYm91bmNlJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAnbmFtZScsICdyZWFkb25seScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbElucHV0JywgJ2JhbENoYW5nZScsICdiYWxCbHVyJywgJ2JhbEZvY3VzJywgJ2JhbEtleVByZXNzJywgJ2JhbENsaWNrJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsVGltZUlucHV0IHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGtleWJvYXJkIGlucHV0IG9jY3VycmVkLiAqL1xuICBiYWxJbnB1dCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVGltZUlucHV0Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHZhbHVlIGhhcyBjaGFuZ2VkLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRpbWVJbnB1dEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBsb3NlcyBmb2N1cy4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVGltZUlucHV0Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBoYXMgZm9jdXMuICovXG4gIGJhbEZvY3VzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUaW1lSW5wdXRDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBrZXlib2FyZCBrZXkgaGFzIHByZXNzZWQuICovXG4gIGJhbEtleVByZXNzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUaW1lSW5wdXRDdXN0b21FdmVudDxLZXlib2FyZEV2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGhhcyBjbGlja2VkLiAqL1xuICBiYWxDbGljayE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVGltZUlucHV0Q3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxJbnB1dCcsICdiYWxDaGFuZ2UnLCAnYmFsQmx1cicsICdiYWxGb2N1cycsICdiYWxLZXlQcmVzcycsICdiYWxDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxUb2FzdCBleHRlbmRzIENvbXBvbmVudHMuQmFsVG9hc3Qge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zYWJsZScsICdjb2xvcicsICdkdXJhdGlvbicsICdtZXNzYWdlJ10sXG4gIG1ldGhvZHM6IFsnY2xvc2VJbicsICdjbG9zZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFRvYXN0XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXRvYXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBpbnB1dHM6IFsnY2xvc2FibGUnLCAnY29sb3InLCAnZHVyYXRpb24nLCAnbWVzc2FnZSddLFxuICBvdXRwdXRzOiBbJ2JhbENsb3NlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsVG9hc3Qge1xuICAvKiogRW1pdHRlZCB3aGVuIHRvYXN0IGlzIGNsb3NlZCAqL1xuICBiYWxDbG9zZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVG9hc3RDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2xvc2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsVG9vbHRpcCBleHRlbmRzIENvbXBvbmVudHMuQmFsVG9vbHRpcCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRlbnRXaWR0aCcsICdvZmZzZXQnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFRvb2x0aXBcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtdG9vbHRpcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgaW5wdXRzOiBbJ2NvbnRlbnRXaWR0aCcsICdvZmZzZXQnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZSddLFxuICBvdXRwdXRzOiBbJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxUb29sdGlwIHtcbiAgLyoqIEVtaXR0ZWQgYmVmb3JlIHRoZSBhbmltYXRpb24gc3RhcnRzICovXG4gIGJhbFdpbGxBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUb29sdGlwQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgYW5pbWF0aW9uIGhhcyBmaW5pc2hlZCAqL1xuICBiYWxEaWRBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUb29sdGlwQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ10pO1xuICB9XG59XG4iXX0=