@nova-design-system/nova-angular 3.26.0 → 3.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1262,6 +1262,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
1262
1262
  standalone: false
1263
1263
  }]
1264
1264
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1265
+ let NvPaginationNav = class NvPaginationNav {
1266
+ constructor(c, r, z) {
1267
+ this.z = z;
1268
+ this.currentPageChanged = new EventEmitter();
1269
+ c.detach();
1270
+ this.el = r.nativeElement;
1271
+ }
1272
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: NvPaginationNav, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1273
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: NvPaginationNav, selector: "nv-pagination-nav", inputs: { currentPage: "currentPage", isOnlyIcon: "isOnlyIcon", nextButtonLabel: "nextButtonLabel", numEndZoneButtons: "numEndZoneButtons", numMiddleButtons: "numMiddleButtons", numStartZoneButtons: "numStartZoneButtons", pageSize: "pageSize", previousButtonLabel: "previousButtonLabel", showMiddleZone: "showMiddleZone", totalCount: "totalCount" }, outputs: { currentPageChanged: "currentPageChanged" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1274
+ };
1275
+ NvPaginationNav = __decorate([
1276
+ ProxyCmp({
1277
+ inputs: ['currentPage', 'isOnlyIcon', 'nextButtonLabel', 'numEndZoneButtons', 'numMiddleButtons', 'numStartZoneButtons', 'pageSize', 'previousButtonLabel', 'showMiddleZone', 'totalCount']
1278
+ })
1279
+ ], NvPaginationNav);
1280
+ export { NvPaginationNav };
1281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: NvPaginationNav, decorators: [{
1282
+ type: Component,
1283
+ args: [{
1284
+ selector: 'nv-pagination-nav',
1285
+ changeDetection: ChangeDetectionStrategy.OnPush,
1286
+ template: '<ng-content></ng-content>',
1287
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1288
+ inputs: ['currentPage', 'isOnlyIcon', 'nextButtonLabel', 'numEndZoneButtons', 'numMiddleButtons', 'numStartZoneButtons', 'pageSize', 'previousButtonLabel', 'showMiddleZone', 'totalCount'],
1289
+ outputs: ['currentPageChanged'],
1290
+ standalone: false
1291
+ }]
1292
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { currentPageChanged: [{
1293
+ type: Output
1294
+ }] } });
1265
1295
  let NvPaginationtable = class NvPaginationtable {
1266
1296
  constructor(c, r, z) {
1267
1297
  this.z = z;
@@ -1812,4 +1842,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
1812
1842
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { openChanged: [{
1813
1843
  type: Output
1814
1844
  }] } });
1815
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdmEtY29tcG9uZW50cy9zcmMvbGliL3N0ZW5jaWwtZ2VuZXJhdGVkL2NvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9CQUFvQjtBQUNwQiw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVoSSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBa0JsRCxJQUFNLFdBQVcsR0FBakIsTUFBTSxXQUFXO0lBR3RCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFEMUQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFFdkUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTlUsV0FBVztrR0FBWCxXQUFXLCtLQU5aLDJCQUEyQjs7QUFNMUIsV0FBVztJQWJ2QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQztRQUN2QyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDO0tBQzNCLENBQUM7R0FVVyxXQUFXLENBT3ZCOzsyRkFQWSxXQUFXO2tCQVR2QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQztvQkFDdkMsT0FB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QUFZO29CQUN0QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUM7b0JBQzFELE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDeEIsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCO29JQUdXLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogYXV0by1nZW5lcmF0ZWQgYW5ndWxhciBkaXJlY3RpdmUgcHJveGllcyAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmltcG9ydCB7IENvbXBvbmVudHMgfSBmcm9tICdAbm92YS1kZXNpZ24tc3lzdGVtL25vdmEtd2ViY29tcG9uZW50cyc7XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGEnLCAnbW9kZScsICdvcGVuSW5kZXhlcyddLFxuICBtZXRob2RzOiBbJ29wZW4nLCAnY2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWFjY29yZGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGF0YScsICdtb2RlJywgJ29wZW5JbmRleGVzJ10sXG4gIG91dHB1dHM6IFsnb3BlbkluZGV4ZXNDaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52QWNjb3JkaW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZBY2NvcmRpb25FbGVtZW50O1xuICBAT3V0cHV0KCkgb3BlbkluZGV4ZXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXJbXT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52QWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5OdkFjY29yZGlvbiB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYW4gaXRlbSdzIG9wZW4gc3RhdGUgY2hhbmdlcyBAYmluZCBvcGVuSW5kZXhlc1xuICAgKi9cbiAgb3BlbkluZGV4ZXNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyW10+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaXRlbVRpdGxlJywgJ21heENvbnRlbnRIZWlnaHQnLCAnbW9kZScsICdvcGVuJywgJ3N1YnRpdGxlJ10sXG4gIG1ldGhvZHM6IFsndG9nZ2xlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1hY2NvcmRpb24taXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaXRlbVRpdGxlJywgJ21heENvbnRlbnRIZWlnaHQnLCAnbW9kZScsICdvcGVuJywgJ3N1YnRpdGxlJ10sXG4gIG91dHB1dHM6IFsnaXRlbVRvZ2dsZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkFjY29yZGlvbkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkFjY29yZGlvbkl0ZW1FbGVtZW50O1xuICBAT3V0cHV0KCkgaXRlbVRvZ2dsZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52QWNjb3JkaW9uSXRlbSBleHRlbmRzIENvbXBvbmVudHMuTnZBY2NvcmRpb25JdGVtIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgb24gdG9nZ2xlIChoZWFkZXIgY2xpY2sgb3IgcHJvZ3JhbW1hdGljIGNoYW5nZSlcbiAgICovXG4gIGl0ZW1Ub2dnbGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2Rpc21pc3NpYmxlJywgJ2ZlZWRiYWNrJywgJ2hhc05vQW5pbWF0aW9ucycsICdoZWFkaW5nJywgJ2hpZGRlbicsICdpY29uJywgJ21lc3NhZ2UnLCAncHJldmVudEF1dG9DbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtYWxlcnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2Rpc21pc3NpYmxlJywgJ2ZlZWRiYWNrJywgJ2hhc05vQW5pbWF0aW9ucycsICdoZWFkaW5nJywgJ2hpZGRlbicsICdpY29uJywgJ21lc3NhZ2UnLCAncHJldmVudEF1dG9DbG9zZSddLFxuICBvdXRwdXRzOiBbJ2hpZGRlbkNoYW5nZWQnLCAnaGlkZGVuQ2hhbmdlZENvbXBsZXRlJywgJ2Nsb3NlQ2xpY2tlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkFsZXJ0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZBbGVydEVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBoaWRkZW5DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj4oKTtcbiAgQE91dHB1dCgpIGhpZGRlbkNoYW5nZWRDb21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+KCk7XG4gIEBPdXRwdXQoKSBjbG9zZUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkFsZXJ0IGV4dGVuZHMgQ29tcG9uZW50cy5OdkFsZXJ0IHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlICdoaWRkZW4nIHByb3AgY2hhbmdlcywgcmVmbGVjdGluZyBhIGNoYW5nZSBpbiB2aXNpYmlsaXR5LlxuUGFzc2VzIGhpZGRlbiB2YWx1ZSB0byB0aGUgZGV0YWlsLiBAYmluZCBoaWRkZW5cbiAgICovXG4gIGhpZGRlbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGFuaW1hdGlvbnMgY29tcGxldGUsIGRldGFpbCBpbmNsdWRlcyB0aGUgaGlkZGVuIHZhbHVlLlxuICAgKi9cbiAgaGlkZGVuQ2hhbmdlZENvbXBsZXRlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjbG9zZSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIGNsb3NlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWx0JywgJ2NvbG9yJywgJ2luaXRpYWxzJywgJ2xhcmdlJywgJ21lZGl1bScsICdzaXplJywgJ3NtYWxsJywgJ3NyYycsICd0ZXh0JywgJ3VybCcsICd4bGFyZ2UnLCAneHNtYWxsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1hdmF0YXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsdCcsICdjb2xvcicsICdpbml0aWFscycsICdsYXJnZScsICdtZWRpdW0nLCAnc2l6ZScsICdzbWFsbCcsICdzcmMnLCAndGV4dCcsICd1cmwnLCAneGxhcmdlJywgJ3hzbWFsbCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkF2YXRhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52QXZhdGFyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZBdmF0YXIgZXh0ZW5kcyBDb21wb25lbnRzLk52QXZhdGFyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2Rpc21pc3NhbCcsICdkaXNtaXNzaWJsZScsICdoaWRkZW4nLCAnaWNvbicsICdpY29uTG9jYXRpb24nLCAnaXNJY29uT25seScsICdsYWJlbCcsICdsZWFkSWNvbicsICdwcmV2ZW50QXV0b0Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1iYWRnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sb3InLCAnZGlzbWlzc2FsJywgJ2Rpc21pc3NpYmxlJywgJ2hpZGRlbicsICdpY29uJywgJ2ljb25Mb2NhdGlvbicsICdpc0ljb25Pbmx5JywgJ2xhYmVsJywgJ2xlYWRJY29uJywgJ3ByZXZlbnRBdXRvQ2xvc2UnXSxcbiAgb3V0cHV0czogWydjbG9zZUNsaWNrZWQnLCAnaGlkZGVuQ2hhbmdlZCcsICdoaWRkZW5DaGFuZ2VkQ29tcGxldGUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZCYWRnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52QmFkZ2VFbGVtZW50O1xuICBAT3V0cHV0KCkgY2xvc2VDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj4oKTtcbiAgQE91dHB1dCgpIGhpZGRlbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PigpO1xuICBAT3V0cHV0KCkgaGlkZGVuQ2hhbmdlZENvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZCYWRnZSBleHRlbmRzIENvbXBvbmVudHMuTnZCYWRnZSB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGJhZGdlIGlzIGRpc21pc3NlZC5cbiAgICovXG4gIGNsb3NlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlICdoaWRkZW4nIHByb3AgY2hhbmdlcywgcmVmbGVjdGluZyBhIGNoYW5nZSBpbiB2aXNpYmlsaXR5LlxuUGFzc2VzIGhpZGRlbiB2YWx1ZSB0byB0aGUgZGV0YWlsLlxuICAgKi9cbiAgaGlkZGVuQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgYW5pbWF0aW9ucyBjb21wbGV0ZSwgZGV0YWlsIGluY2x1ZGVzIHRoZSBoaWRkZW4gdmFsdWUuXG4gICAqL1xuICBoaWRkZW5DaGFuZ2VkQ29tcGxldGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2N1cnJlbnQnLCAndG9vbHRpcCcsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1icmVhZGNydW1iJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjdXJyZW50JywgJ3Rvb2x0aXAnLCAndHlwZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkJyZWFkY3J1bWIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkJyZWFkY3J1bWJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkJyZWFkY3J1bWIgZXh0ZW5kcyBDb21wb25lbnRzLk52QnJlYWRjcnVtYiB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtYnJlYWRjcnVtYnMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZCcmVhZGNydW1icyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52QnJlYWRjcnVtYnNFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkJyZWFkY3J1bWJzIGV4dGVuZHMgQ29tcG9uZW50cy5OdkJyZWFkY3J1bWJzIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdkYW5nZXInLCAnZGlzYWJsZVRhYmluZGV4JywgJ2Rpc2FibGVkJywgJ2VtcGhhc2lzJywgJ2ZsdWlkJywgJ2Zvcm0nLCAnbG9hZGluZycsICdzaXplJywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2RhbmdlcicsICdkaXNhYmxlVGFiaW5kZXgnLCAnZGlzYWJsZWQnLCAnZW1waGFzaXMnLCAnZmx1aWQnLCAnZm9ybScsICdsb2FkaW5nJywgJ3NpemUnLCAndHlwZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52QnV0dG9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLk52QnV0dG9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2VtcGhhc2lzJywgJ2ZsdWlkJywgJ29yaWVudGF0aW9uJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWJ1dHRvbmdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydlbXBoYXNpcycsICdmbHVpZCcsICdvcmllbnRhdGlvbicsICdzaXplJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52QnV0dG9uZ3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkJ1dHRvbmdyb3VwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZCdXR0b25ncm91cCBleHRlbmRzIENvbXBvbmVudHMuTnZCdXR0b25ncm91cCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYW5jZWxMYWJlbCcsICdkYXRlRm9ybWF0JywgJ2Rpc2FibGVkRGF0ZXMnLCAnZmlyc3REYXlPZldlZWsnLCAnbG9jYWxlJywgJ21heCcsICdtaW4nLCAnbnVtYmVyT2ZDYWxlbmRhcnMnLCAncHJpbWFyeUxhYmVsJywgJ3JhbmdlVmFsdWUnLCAnc2VsZWN0aW9uVHlwZScsICdzaG9ydGN1dHMnLCAnc2hvcnRjdXRzUGxhY2VtZW50JywgJ3Nob3dBY3Rpb25zJywgJ3Nob3dXZWVrTnVtYmVycycsICdzaW5nbGVWYWx1ZScsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2NsZWFyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1jYWxlbmRhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FuY2VsTGFiZWwnLCAnZGF0ZUZvcm1hdCcsICdkaXNhYmxlZERhdGVzJywgJ2ZpcnN0RGF5T2ZXZWVrJywgJ2xvY2FsZScsICdtYXgnLCAnbWluJywgJ251bWJlck9mQ2FsZW5kYXJzJywgJ3ByaW1hcnlMYWJlbCcsICdyYW5nZVZhbHVlJywgJ3NlbGVjdGlvblR5cGUnLCAnc2hvcnRjdXRzJywgJ3Nob3J0Y3V0c1BsYWNlbWVudCcsICdzaG93QWN0aW9ucycsICdzaG93V2Vla051bWJlcnMnLCAnc2luZ2xlVmFsdWUnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydzaW5nbGVEYXRlQ2hhbmdlJywgJ3JhbmdlRGF0ZUNoYW5nZScsICd2YWx1ZUNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZDYWxlbmRhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52Q2FsZW5kYXJFbGVtZW50O1xuICBAT3V0cHV0KCkgc2luZ2xlRGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj4oKTtcbiAgQE91dHB1dCgpIHJhbmdlRGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTE52Q2FsZW5kYXJFbGVtZW50WydyYW5nZVZhbHVlJ10+PigpO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkNhbGVuZGFyIGV4dGVuZHMgQ29tcG9uZW50cy5OdkNhbGVuZGFyIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBhIHNpbmdsZSBkYXRlIGlzIHNlbGVjdGVkXG4gICAqL1xuICBzaW5nbGVEYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gYSBkYXRlIHJhbmdlIGlzIHNlbGVjdGVkXG4gICAqL1xuICByYW5nZURhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MTnZDYWxlbmRhckVsZW1lbnRbJ3JhbmdlVmFsdWUnXT4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB1bmlmaWVkIHZhbHVlIGNoYW5nZXMgQGJpbmQgdmFsdWVcbiAgICovXG4gIHZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1jb2wnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZDb2wge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkNvbEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52Q29sIGV4dGVuZHMgQ29tcG9uZW50cy5OdkNvbCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvR2VuZXJhdGVDb2x1bW5zJywgJ2NvbHVtbnMnLCAnZGF0YScsICdlbmFibGVHbG9iYWxGaWx0ZXInLCAnZW5hYmxlUGFnaW5hdGlvbicsICdlbmFibGVSb3dTZWxlY3Rpb24nLCAnZW5hYmxlU29ydGluZycsICdmYWxsYmFja1ZhbHVlJywgJ2dsb2JhbEZpbHRlclBvc2l0aW9uJywgJ25vQ29sdW1uc05vRGF0YU1lc3NhZ2UnLCAnbm9EYXRhTWVzc2FnZScsICdwYWdlU2l6ZScsICdwYWdlU2l6ZXMnLCAnc3RhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWRhdGFncmlkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvR2VuZXJhdGVDb2x1bW5zJywgJ2NvbHVtbnMnLCAnZGF0YScsICdlbmFibGVHbG9iYWxGaWx0ZXInLCAnZW5hYmxlUGFnaW5hdGlvbicsICdlbmFibGVSb3dTZWxlY3Rpb24nLCAnZW5hYmxlU29ydGluZycsICdmYWxsYmFja1ZhbHVlJywgJ2dsb2JhbEZpbHRlclBvc2l0aW9uJywgJ25vQ29sdW1uc05vRGF0YU1lc3NhZ2UnLCAnbm9EYXRhTWVzc2FnZScsICdwYWdlU2l6ZScsICdwYWdlU2l6ZXMnLCAnc3RhdGUnXSxcbiAgb3V0cHV0czogWydhY3Rpb24nLCAnc2VsZWN0ZWRSb3dzJywgJ3N0YXRlQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkRhdGFncmlkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZEYXRhZ3JpZEVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBhY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgLyoqICogS2V5IGFjdGlvbiB0byBiZSBwZXJmb3JtZWQgKi8ga2V5QWN0aW9uOiBzdHJpbmc7IC8qKiAqIERldGFpbHMgb2YgdGhlIGFjdGlvbiB0byBiZSBwZXJmb3JtZWQgKi8gZGV0YWlsczogYW55OyB9Pj4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkUm93cyA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55W10+PigpO1xuICBAT3V0cHV0KCkgc3RhdGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IC8qKiAqIEdsb2JhbCBmaWx0ZXIgc2VhcmNoIHRlcm0gKi8gZ2xvYmFsRmlsdGVyU2VhcmNoVGVybTogc3RyaW5nOyAvKiogKiBQYWdpbmF0aW9uIFN0YXRlICovIHBhZ2luYXRpb25TdGF0ZTogeyAvKiogKiBQYWdlIEluZGV4ICovIHBhZ2VJbmRleDogbnVtYmVyOyAvKiogKiBQYWdlIFNpemUgKi8gcGFnZVNpemU6IG51bWJlcjsgfTsgLyoqICogU29ydGluZyB0aGUgY29sdW1ucyAqLyBzb3J0aW5nU3RhdGU6IHsgLyoqICogRGVzY2VuZGluZyAqLyBkZXNjOiBib29sZWFuOyAvKiogKiBDb2x1bW4gSWQgKi8gaWQ6IHN0cmluZzsgfVtdOyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZEYXRhZ3JpZCBleHRlbmRzIENvbXBvbmVudHMuTnZEYXRhZ3JpZCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gYW4gYWN0aW9uIGlzIHRyaWdnZXJlZCBvbiBhIGNlbGwuXG4gICAqL1xuICBhY3Rpb246IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IC8qKiAqIEtleSBhY3Rpb24gdG8gYmUgcGVyZm9ybWVkICovIGtleUFjdGlvbjogc3RyaW5nOyAvKiogKiBEZXRhaWxzIG9mIHRoZSBhY3Rpb24gdG8gYmUgcGVyZm9ybWVkICovIGRldGFpbHM6IGFueTsgfT4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBzZWxlY3Rpb24gb2YgdGhlIHJvd3MgYXJlIGNoYW5nZWQuXG4gICAqL1xuICBzZWxlY3RlZFJvd3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnlbXT4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBzdGF0ZSBpcyBjaGFuZ2VkIEBiaW5kIHN0YXRlXG4gICAqL1xuICBzdGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IC8qKiAqIEdsb2JhbCBmaWx0ZXIgc2VhcmNoIHRlcm0gKi8gZ2xvYmFsRmlsdGVyU2VhcmNoVGVybTogc3RyaW5nOyAvKiogKiBQYWdpbmF0aW9uIFN0YXRlICovIHBhZ2luYXRpb25TdGF0ZTogeyAvKiogKiBQYWdlIEluZGV4ICovIHBhZ2VJbmRleDogbnVtYmVyOyAvKiogKiBQYWdlIFNpemUgKi8gcGFnZVNpemU6IG51bWJlcjsgfTsgLyoqICogU29ydGluZyB0aGUgY29sdW1ucyAqLyBzb3J0aW5nU3RhdGU6IHsgLyoqICogRGVzY2VuZGluZyAqLyBkZXNjOiBib29sZWFuOyAvKiogKiBDb2x1bW4gSWQgKi8gaWQ6IHN0cmluZzsgfVtdOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc29yJywgJ2dyb3VwJywgJ2hlYWRlcicsICdyZXBlYXRUZW1wbGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZGF0YWdyaWRjb2x1bW4nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbeyBuYW1lOiAnYWNjZXNzb3InLCByZXF1aXJlZDogdHJ1ZSB9LCAnZ3JvdXAnLCAnaGVhZGVyJywgJ3JlcGVhdFRlbXBsYXRlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RGF0YWdyaWRjb2x1bW4ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkRhdGFncmlkY29sdW1uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZEYXRhZ3JpZGNvbHVtbiBleHRlbmRzIENvbXBvbmVudHMuTnZEYXRhZ3JpZGNvbHVtbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvZm9jdXMnLCAnY2xpY2tPdXRzaWRlJywgJ2NvbnRyb2xsZWQnLCAnZnVsbCcsICdvcGVuJywgJ3VuZGlzbWlzc2FibGUnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1kaWFsb2cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjbGlja091dHNpZGUnLCAnY29udHJvbGxlZCcsICdmdWxsJywgJ29wZW4nLCAndW5kaXNtaXNzYWJsZSddLFxuICBvdXRwdXRzOiBbJ29wZW5DaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RGlhbG9nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZEaWFsb2dFbGVtZW50O1xuICBAT3V0cHV0KCkgb3BlbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkRpYWxvZyBleHRlbmRzIENvbXBvbmVudHMuTnZEaWFsb2cge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgaXMgY2xvc2luZyBpbiBvcmRlciB0byBhbGxvdyBmb3IgY2xlYW51cCwgZGF0YS1jYXB0dXJlLCBldGMuIEBiaW5kIG9wZW5cbiAgICovXG4gIG9wZW5DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYW5jZWxMYWJlbCcsICdkYW5nZXInLCAnZGlzYWJsZWQnLCAnZm9ybScsICdsZWFkaW5nSWNvbicsICdwcmltYXJ5QnV0dG9uVHlwZScsICdwcmltYXJ5TGFiZWwnLCAndHJhaWxpbmdJY29uJywgJ3VuZGlzbWlzc2FibGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWRpYWxvZ2Zvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FuY2VsTGFiZWwnLCAnZGFuZ2VyJywgJ2Rpc2FibGVkJywgJ2Zvcm0nLCAnbGVhZGluZ0ljb24nLCAncHJpbWFyeUJ1dHRvblR5cGUnLCAncHJpbWFyeUxhYmVsJywgJ3RyYWlsaW5nSWNvbicsICd1bmRpc21pc3NhYmxlJ10sXG4gIG91dHB1dHM6IFsnZGlhbG9nQ2FuY2VsZWQnLCAnZGlhbG9nUHJpbWFyeUNsaWNrZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZEaWFsb2dmb290ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkRpYWxvZ2Zvb3RlckVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBkaWFsb2dDYW5jZWxlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+KCk7XG4gIEBPdXRwdXQoKSBkaWFsb2dQcmltYXJ5Q2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RGlhbG9nZm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5OdkRpYWxvZ2Zvb3RlciB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNhbmNlbCBidXR0b24gaXMgY2xpY2tlZC4gVGhpcyB3aWxsIGNsb3NlIHRoZSBkaWFsb2cuXG4gICAqL1xuICBkaWFsb2dDYW5jZWxlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcHJpbWFyeSBidXR0b24gaXMgY2xpY2tlZC4gVGhpcyBhbGxvd3MgdG8gaGFuZGxlIHRoZVxucHJpbWFyeSBhY3Rpb24gYW5kIHBvdGVudGlhbCBkYXRhIGNhcHR1cmUgYmVmb3JlIGNsb3NpbmcgdGhlIGRpYWxvZy5cbiAgICovXG4gIGRpYWxvZ1ByaW1hcnlDbGlja2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoZWFkaW5nJywgJ3N1YmhlYWRpbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWRpYWxvZ2hlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVhZGluZycsICdzdWJoZWFkaW5nJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RGlhbG9naGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZEaWFsb2doZWFkZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkRpYWxvZ2hlYWRlciBleHRlbmRzIENvbXBvbmVudHMuTnZEaWFsb2doZWFkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2NsaWNrT3V0c2lkZScsICdjb250cm9sbGVkJywgJ29wZW4nLCAnc2lkZScsICdzaXplJywgJ3N3aXBlVG9PcGVuJywgJ3VuZGlzbWlzc2FibGUnLCAnd2lkdGgnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1kcmF3ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjbGlja091dHNpZGUnLCAnY29udHJvbGxlZCcsICdvcGVuJywgJ3NpZGUnLCAnc2l6ZScsICdzd2lwZVRvT3BlbicsICd1bmRpc21pc3NhYmxlJywgJ3dpZHRoJ10sXG4gIG91dHB1dHM6IFsnb3BlbkNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZEcmF3ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkRyYXdlckVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RHJhd2VyIGV4dGVuZHMgQ29tcG9uZW50cy5OdkRyYXdlciB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGRyYXdlciBpcyBjbG9zaW5nIGluIG9yZGVyIHRvIGFsbG93IGZvciBjbGVhbnVwLCBkYXRhLWNhcHR1cmUsIGV0Yy4gQGJpbmQgb3BlblxuICAgKi9cbiAgb3BlbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NhbmNlbExhYmVsJywgJ2RhbmdlcicsICdkaXNhYmxlZCcsICdmb3JtJywgJ2xlYWRpbmdJY29uJywgJ3ByaW1hcnlCdXR0b25UeXBlJywgJ3ByaW1hcnlMYWJlbCcsICd0cmFpbGluZ0ljb24nLCAndW5kaXNtaXNzYWJsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZHJhd2VyZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjYW5jZWxMYWJlbCcsICdkYW5nZXInLCAnZGlzYWJsZWQnLCAnZm9ybScsICdsZWFkaW5nSWNvbicsICdwcmltYXJ5QnV0dG9uVHlwZScsICdwcmltYXJ5TGFiZWwnLCAndHJhaWxpbmdJY29uJywgJ3VuZGlzbWlzc2FibGUnXSxcbiAgb3V0cHV0czogWydkcmF3ZXJDYW5jZWxlZCcsICdkcmF3ZXJQcmltYXJ5Q2xpY2tlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkRyYXdlcmZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52RHJhd2VyZm9vdGVyRWxlbWVudDtcbiAgQE91dHB1dCgpIGRyYXdlckNhbmNlbGVkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj4oKTtcbiAgQE91dHB1dCgpIGRyYXdlclByaW1hcnlDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZEcmF3ZXJmb290ZXIgZXh0ZW5kcyBDb21wb25lbnRzLk52RHJhd2VyZm9vdGVyIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY2FuY2VsIGJ1dHRvbiBpcyBjbGlja2VkLiBUaGlzIHdpbGwgY2xvc2UgdGhlIGRyYXdlci5cbiAgICovXG4gIGRyYXdlckNhbmNlbGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBwcmltYXJ5IGJ1dHRvbiBpcyBjbGlja2VkLiBUaGlzIGFsbG93cyB0byBoYW5kbGUgdGhlXG5wcmltYXJ5IGFjdGlvbiBhbmQgcG90ZW50aWFsIGRhdGEgY2FwdHVyZSBiZWZvcmUgY2xvc2luZyB0aGUgZHJhd2VyLlxuICAgKi9cbiAgZHJhd2VyUHJpbWFyeUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnc3ViaGVhZGluZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZHJhd2VyaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoZWFkaW5nJywgJ3N1YmhlYWRpbmcnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZEcmF3ZXJoZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkRyYXdlcmhlYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RHJhd2VyaGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5OdkRyYXdlcmhlYWRlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhUmVxdWlyZWRBdHRyJywgJ2F1dG9mb2N1cycsICdjaGVja2VkJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnaGlkZUxhYmVsJywgJ2luZGV0ZXJtaW5hdGUnLCAnaW5wdXRJZCcsICdsYWJlbCcsICdsYWJlbEJlZm9yZScsICdsYWJlbFBsYWNlbWVudCcsICdtZXNzYWdlJywgJ25hbWUnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAndmFsaWRhdGlvbicsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZmllbGRjaGVja2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvZm9jdXMnLCAnY2hlY2tlZCcsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2hpZGVMYWJlbCcsICdpbmRldGVybWluYXRlJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbGFiZWxCZWZvcmUnLCAnbGFiZWxQbGFjZW1lbnQnLCAnbWVzc2FnZScsICduYW1lJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3ZhbGlkYXRpb24nLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydjaGVja2VkQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkZpZWxkY2hlY2tib3gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkZpZWxkY2hlY2tib3hFbGVtZW50O1xuICBAT3V0cHV0KCkgY2hlY2tlZENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkZpZWxkY2hlY2tib3ggZXh0ZW5kcyBDb21wb25lbnRzLk52RmllbGRjaGVja2JveCB7XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBjaGVja2VkIHN0YXRlIGNoYW5nZXMuIEBiaW5kIGNoZWNrZWRcbiAgICovXG4gIGNoZWNrZWRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhUmVxdWlyZWRBdHRyJywgJ2F1dG9mb2N1cycsICdkYXRlRm9ybWF0JywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2Rpc2FibGVkRGF0ZXMnLCAnZXJyb3InLCAnZXJyb3JEZXNjcmlwdGlvbicsICdmaXJzdERheU9mV2VlaycsICdmbHVpZCcsICdpbnB1dElkJywgJ2xhYmVsJywgJ2xvY2FsZScsICdtYXgnLCAnbWluJywgJ25hbWUnLCAnbnVtYmVyT2ZDYWxlbmRhcnMnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2hvcnRjdXRzJywgJ3Nob3J0Y3V0c1BsYWNlbWVudCcsICdzaG93QWN0aW9ucycsICdzaG93V2Vla051bWJlcnMnLCAnc3VjY2VzcycsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2NsZWFyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1maWVsZGRhdGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFSZXF1aXJlZEF0dHInLCAnYXV0b2ZvY3VzJywgJ2RhdGVGb3JtYXQnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZGlzYWJsZWREYXRlcycsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZpcnN0RGF5T2ZXZWVrJywgJ2ZsdWlkJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbG9jYWxlJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdudW1iZXJPZkNhbGVuZGFycycsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaG9ydGN1dHMnLCAnc2hvcnRjdXRzUGxhY2VtZW50JywgJ3Nob3dBY3Rpb25zJywgJ3Nob3dXZWVrTnVtYmVycycsICdzdWNjZXNzJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsndmFsdWVDaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RmllbGRkYXRlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZGaWVsZGRhdGVFbGVtZW50O1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkZpZWxkZGF0ZSBleHRlbmRzIENvbXBvbmVudHMuTnZGaWVsZGRhdGUge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzICh1bmlmaWVkIHZhbHVlIGJpbmRpbmcpLiBAYmluZCB2YWx1ZVxuICAgKi9cbiAgdmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFSZXF1aXJlZEF0dHInLCAnYXV0b2ZvY3VzJywgJ2RhdGVGb3JtYXQnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZGlzYWJsZWREYXRlcycsICdlbmRJbnB1dElkJywgJ2VuZE5hbWUnLCAnZW5kUGxhY2Vob2xkZXInLCAnZXJyb3InLCAnZXJyb3JEZXNjcmlwdGlvbicsICdmaXJzdERheU9mV2VlaycsICdmbHVpZCcsICdsYWJlbCcsICdsb2NhbGUnLCAnbWF4JywgJ21pbicsICdudW1iZXJPZkNhbGVuZGFycycsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaG9ydGN1dHMnLCAnc2hvcnRjdXRzUGxhY2VtZW50JywgJ3Nob3dBY3Rpb25zJywgJ3Nob3dXZWVrTnVtYmVycycsICdzdGFydElucHV0SWQnLCAnc3RhcnROYW1lJywgJ3N0YXJ0UGxhY2Vob2xkZXInLCAnc3VjY2VzcycsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2NsZWFyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1maWVsZGRhdGVyYW5nZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvZm9jdXMnLCAnZGF0ZUZvcm1hdCcsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdkaXNhYmxlZERhdGVzJywgJ2VuZElucHV0SWQnLCAnZW5kTmFtZScsICdlbmRQbGFjZWhvbGRlcicsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZpcnN0RGF5T2ZXZWVrJywgJ2ZsdWlkJywgJ2xhYmVsJywgJ2xvY2FsZScsICdtYXgnLCAnbWluJywgJ251bWJlck9mQ2FsZW5kYXJzJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3Nob3J0Y3V0cycsICdzaG9ydGN1dHNQbGFjZW1lbnQnLCAnc2hvd0FjdGlvbnMnLCAnc2hvd1dlZWtOdW1iZXJzJywgJ3N0YXJ0SW5wdXRJZCcsICdzdGFydE5hbWUnLCAnc3RhcnRQbGFjZWhvbGRlcicsICdzdWNjZXNzJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnZGF0ZVJhbmdlQ2hhbmdlJywgJ3ZhbHVlQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkZpZWxkZGF0ZXJhbmdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZGaWVsZGRhdGVyYW5nZUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBkYXRlUmFuZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxOdkNhbGVuZGFyRWxlbWVudEV2ZW50TWFwWydyYW5nZURhdGVDaGFuZ2UnXT4+KCk7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RmllbGRkYXRlcmFuZ2UgZXh0ZW5kcyBDb21wb25lbnRzLk52RmllbGRkYXRlcmFuZ2Uge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBkYXRlIHJhbmdlIGNoYW5nZXMuXG4gICAqL1xuICBkYXRlUmFuZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MTnZDYWxlbmRhckVsZW1lbnRFdmVudE1hcFsncmFuZ2VEYXRlQ2hhbmdlJ10+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgdW5pZmllZCB2YWx1ZSBjaGFuZ2VzIEBiaW5kIHZhbHVlXG4gICAqL1xuICB2YWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvY29tcGxldGUnLCAnYXV0b2ZvY3VzJywgJ2NvbnRyb2xsZWRGaWx0ZXInLCAnZGVib3VuY2VEZWxheScsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdlbXB0eVJlc3VsdCcsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZpbHRlck1vZGUnLCAnZmlsdGVyYWJsZScsICdmbHVpZCcsICdmdXp6eVRocmVzaG9sZCcsICdpbnB1dElkJywgJ2xhYmVsJywgJ2xvY2FsZScsICdtYXhIZWlnaHQnLCAnbWF4UmVzdWx0cycsICduYW1lJywgJ29wZW5PblNlbGVjdCcsICdvcHRpb25zJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3N0YXJ0RmlsdGVyQXQnLCAndHJ1bmNhdGVkUmVzdWx0c1RleHQnLCAndmFsdWUnLCAnd29ya2VyVGhyZXNob2xkJ10sXG4gIG1ldGhvZHM6IFsnY2xlYXJGaWx0ZXInLCAndG9nZ2xlRHJvcGRvd24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWZpZWxkZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFSZXF1aXJlZEF0dHInLCAnYXV0b2NvbXBsZXRlJywgJ2F1dG9mb2N1cycsICdjb250cm9sbGVkRmlsdGVyJywgJ2RlYm91bmNlRGVsYXknLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZW1wdHlSZXN1bHQnLCAnZXJyb3InLCAnZXJyb3JEZXNjcmlwdGlvbicsICdmaWx0ZXJNb2RlJywgJ2ZpbHRlcmFibGUnLCAnZmx1aWQnLCAnZnV6enlUaHJlc2hvbGQnLCAnaW5wdXRJZCcsICdsYWJlbCcsICdsb2NhbGUnLCAnbWF4SGVpZ2h0JywgJ21heFJlc3VsdHMnLCAnbmFtZScsICdvcGVuT25TZWxlY3QnLCAnb3B0aW9ucycsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzdGFydEZpbHRlckF0JywgJ3RydW5jYXRlZFJlc3VsdHNUZXh0JywgJ3ZhbHVlJywgJ3dvcmtlclRocmVzaG9sZCddLFxuICBvdXRwdXRzOiBbJ3ZhbHVlQ2hhbmdlZCcsICdmaWx0ZXJUZXh0Q2hhbmdlZCcsICdvcGVuQ2hhbmdlZCcsICdkcm9wZG93bkl0ZW1TZWxlY3RlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkZpZWxkZHJvcGRvd24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkZpZWxkZHJvcGRvd25FbGVtZW50O1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgZmlsdGVyVGV4dENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTE52UG9wb3ZlckVsZW1lbnRFdmVudE1hcFsnb3BlbkNoYW5nZWQnXT4+KCk7XG4gIEBPdXRwdXQoKSBkcm9wZG93bkl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTE52RmllbGRkcm9wZG93bml0ZW1FbGVtZW50RXZlbnRNYXBbJ2Ryb3Bkb3duSXRlbVNlbGVjdGVkJ10+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkZpZWxkZHJvcGRvd24gZXh0ZW5kcyBDb21wb25lbnRzLk52RmllbGRkcm9wZG93biB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGNoYW5nZXMuIEBiaW5kIHZhbHVlXG4gICAqL1xuICB2YWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZmlsdGVyIGlucHV0IHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBmaWx0ZXJUZXh0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBkcm9wZG93biBvcGVuZWQgb3IgY2xvc2VkLlxuICAgKi9cbiAgb3BlbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MTnZQb3BvdmVyRWxlbWVudEV2ZW50TWFwWydvcGVuQ2hhbmdlZCddPj47XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYW4gaXRlbSBpcyBjbGlja2VkLiBQcm9wYWdhdGlvbiBwcmV2ZW50ZWQgaW4gbGlzdGVuZXIuXG4gICAqL1xuICBkcm9wZG93bkl0ZW1TZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxOdkZpZWxkZHJvcGRvd25pdGVtRWxlbWVudEV2ZW50TWFwWydkcm9wZG93bkl0ZW1TZWxlY3RlZCddPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RldGFjaGVkJywgJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ3NlbGVjdGVkJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1maWVsZGRyb3Bkb3duaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGV0YWNoZWQnLCAnZGlzYWJsZWQnLCAnbGFiZWwnLCAnc2VsZWN0ZWQnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydkcm9wZG93bkl0ZW1TZWxlY3RlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkZpZWxkZHJvcGRvd25pdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZGaWVsZGRyb3Bkb3duaXRlbUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBkcm9wZG93bkl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyAvKiogVGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUgaXRlbS4gKi8gbGFiZWw/OiBzdHJpbmc7IC8qKiBUaGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGVtLiAqLyB2YWx1ZTogc3RyaW5nOyAvKiogSXMgdGhlIGl0ZW0gZGV0YWNoZWQ/ICovIGRldGFjaGVkPzogYm9vbGVhbjsgfT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RmllbGRkcm9wZG93bml0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLk52RmllbGRkcm9wZG93bml0ZW0ge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBkcm9wZG93biBpdGVtIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgZHJvcGRvd25JdGVtU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IC8qKiBUaGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGVtLiAqLyBsYWJlbD86IHN0cmluZzsgLyoqIFRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGl0ZW0uICovIHZhbHVlOiBzdHJpbmc7IC8qKiBJcyB0aGUgaXRlbSBkZXRhY2hlZD8gKi8gZGV0YWNoZWQ/OiBib29sZWFuOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZ3JvdXAnLCAnbGFiZWwnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWZpZWxkZHJvcGRvd25pdGVtY2hlY2snLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZ3JvdXAnLCAnbGFiZWwnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydpdGVtQ2hlY2tlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkZpZWxkZHJvcGRvd25pdGVtY2hlY2sge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkZpZWxkZHJvcGRvd25pdGVtY2hlY2tFbGVtZW50O1xuICBAT3V0cHV0KCkgaXRlbUNoZWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgLyoqICogVGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGl0ZW0gKi8gdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDsgLyoqICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgY3VycmVudGx5IGNoZWNrZWQgKi8gY2hlY2tlZDogYm9vbGVhbjsgLyoqICogVGhlIGdyb3VwIHRoaXMgaXRlbSBiZWxvbmdzIHRvLCBpZiBhbnkgKi8gZ3JvdXA/OiBzdHJpbmcgfCB1bmRlZmluZWQ7IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkZpZWxkZHJvcGRvd25pdGVtY2hlY2sgZXh0ZW5kcyBDb21wb25lbnRzLk52RmllbGRkcm9wZG93bml0ZW1jaGVjayB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGNoZWNrYm94IGlzIHRvZ2dsZWQuXG5JdCBwcm92aWRlcyBkZXRhaWxzIGFib3V0IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBpdGVtLlxuICAgKi9cbiAgaXRlbUNoZWNrZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IC8qKiAqIFRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBpdGVtICovIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7IC8qKiAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGN1cnJlbnRseSBjaGVja2VkICovIGNoZWNrZWQ6IGJvb2xlYW47IC8qKiAqIFRoZSBncm91cCB0aGlzIGl0ZW0gYmVsb25ncyB0bywgaWYgYW55ICovIGdyb3VwPzogc3RyaW5nIHwgdW5kZWZpbmVkOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFSZXF1aXJlZEF0dHInLCAnYXV0b2NvbXBsZXRlJywgJ2F1dG9mb2N1cycsICdiYWRnZUxhYmVsJywgJ2RlYm91bmNlRGVsYXknLCAnZGVzY3JpcHRpb24nLCAnZGVzZWxlY3RBbGxMYWJlbCcsICdkaXNhYmxlZCcsICdlbXB0eVJlc3VsdCcsICdlbmFibGVTZWxlY3RBbGwnLCAnZXJyb3InLCAnZXJyb3JEZXNjcmlwdGlvbicsICdmaWx0ZXJNb2RlJywgJ2ZpbHRlclRleHQnLCAnZmlsdGVyYWJsZScsICdmbHVpZCcsICdmdXp6eVRocmVzaG9sZCcsICdpbnB1dElkJywgJ2xhYmVsJywgJ2xvY2FsZScsICdtYXhIZWlnaHQnLCAnbWF4UmVzdWx0cycsICduYW1lJywgJ29wZW4nLCAnb3B0aW9ucycsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzZWxlY3RBbGxMYWJlbCcsICdzdGFydEZpbHRlckF0JywgJ3RydW5jYXRlZFJlc3VsdHNUZXh0JywgJ3ZhbHVlJywgJ3dvcmtlclRocmVzaG9sZCddLFxuICBtZXRob2RzOiBbJ2dldEZpbHRlclRleHQnLCAncmVzZXRGaWx0ZXInLCAnZ2V0U2VsZWN0ZWRWYWx1ZXMnLCAnc2VsZWN0QWxsJywgJ2Rlc2VsZWN0QWxsJywgJ3RvZ2dsZVNlbGVjdEFsbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZmllbGRtdWx0aXNlbGVjdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvY29tcGxldGUnLCAnYXV0b2ZvY3VzJywgJ2JhZGdlTGFiZWwnLCAnZGVib3VuY2VEZWxheScsICdkZXNjcmlwdGlvbicsICdkZXNlbGVjdEFsbExhYmVsJywgJ2Rpc2FibGVkJywgJ2VtcHR5UmVzdWx0JywgJ2VuYWJsZVNlbGVjdEFsbCcsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZpbHRlck1vZGUnLCAnZmlsdGVyVGV4dCcsICdmaWx0ZXJhYmxlJywgJ2ZsdWlkJywgJ2Z1enp5VGhyZXNob2xkJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbG9jYWxlJywgJ21heEhlaWdodCcsICdtYXhSZXN1bHRzJywgJ25hbWUnLCAnb3BlbicsICdvcHRpb25zJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NlbGVjdEFsbExhYmVsJywgJ3N0YXJ0RmlsdGVyQXQnLCAndHJ1bmNhdGVkUmVzdWx0c1RleHQnLCAndmFsdWUnLCAnd29ya2VyVGhyZXNob2xkJ10sXG4gIG91dHB1dHM6IFsndmFsdWVDaGFuZ2VkJywgJ2ZpbHRlclRleHRDaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RmllbGRtdWx0aXNlbGVjdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52RmllbGRtdWx0aXNlbGVjdEVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZ1tdPj4oKTtcbiAgQE91dHB1dCgpIGZpbHRlclRleHRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkZpZWxkbXVsdGlzZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLk52RmllbGRtdWx0aXNlbGVjdCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGVkIHZhbHVlcyBjaGFuZ2UuIEBiaW5kIHZhbHVlXG4gICAqL1xuICB2YWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmdbXT4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBmaWx0ZXIgdGV4dCBjaGFuZ2VzLlxuICAgKi9cbiAgZmlsdGVyVGV4dENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvZm9jdXMnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZXJyb3JEZXNjcmlwdGlvbicsICdmbHVpZCcsICdpbnB1dElkJywgJ2xhYmVsJywgJ21heCcsICdtZXNzYWdlJywgJ21pbicsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3N0ZXAnLCAnc3VjY2VzcycsICd2YWxpZGF0aW9uJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1maWVsZG51bWJlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvZm9jdXMnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZXJyb3JEZXNjcmlwdGlvbicsICdmbHVpZCcsICdpbnB1dElkJywgJ2xhYmVsJywgJ21heCcsICdtZXNzYWdlJywgJ21pbicsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3N0ZXAnLCAnc3VjY2VzcycsICd2YWxpZGF0aW9uJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsndmFsdWVDaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RmllbGRudW1iZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkZpZWxkbnVtYmVyRWxlbWVudDtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyIHwgbnVsbD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RmllbGRudW1iZXIgZXh0ZW5kcyBDb21wb25lbnRzLk52RmllbGRudW1iZXIge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCB2YWx1ZSBjaGFuZ2VzLiBAYmluZCB2YWx1ZVxuICAgKi9cbiAgdmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyIHwgbnVsbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhUmVxdWlyZWRBdHRyJywgJ2F1dG9jb21wbGV0ZScsICdhdXRvZm9jdXMnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZXJyb3JEZXNjcmlwdGlvbicsICdmbHVpZCcsICdoaWRlUGFzc3dvcmRJY29uJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbWF4bGVuZ3RoJywgJ21pbmxlbmd0aCcsICdtb2RlJywgJ25hbWUnLCAncGF0dGVybicsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaG93UGFzc3dvcmQnLCAnc3VjY2VzcycsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZmllbGRwYXNzd29yZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvY29tcGxldGUnLCAnYXV0b2ZvY3VzJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnZmx1aWQnLCAnaGlkZVBhc3N3b3JkSWNvbicsICdpbnB1dElkJywgJ2xhYmVsJywgJ21heGxlbmd0aCcsICdtaW5sZW5ndGgnLCAnbW9kZScsICduYW1lJywgJ3BhdHRlcm4nLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2hvd1Bhc3N3b3JkJywgJ3N1Y2Nlc3MnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd2YWx1ZUNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZGaWVsZHBhc3N3b3JkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZGaWVsZHBhc3N3b3JkRWxlbWVudDtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZGaWVsZHBhc3N3b3JkIGV4dGVuZHMgQ29tcG9uZW50cy5OdkZpZWxkcGFzc3dvcmQge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCB2YWx1ZSBjaGFuZ2VzLiBAYmluZCB2YWx1ZVxuICAgKi9cbiAgdmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjaGVja2VkJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnaW5wdXRJZCcsICdsYWJlbCcsICdsYWJlbEJlZm9yZScsICdsYWJlbFBsYWNlbWVudCcsICdtZXNzYWdlJywgJ25hbWUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWZpZWxkcmFkaW8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjaGVja2VkJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnaW5wdXRJZCcsICdsYWJlbCcsICdsYWJlbEJlZm9yZScsICdsYWJlbFBsYWNlbWVudCcsICdtZXNzYWdlJywgJ25hbWUnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydjaGVja2VkQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkZpZWxkcmFkaW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkZpZWxkcmFkaW9FbGVtZW50O1xuICBAT3V0cHV0KCkgY2hlY2tlZENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkZpZWxkcmFkaW8gZXh0ZW5kcyBDb21wb25lbnRzLk52RmllbGRyYWRpbyB7XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBjaGVja2VkIHN0YXRlIGNoYW5nZXMuIEBiaW5kIGNoZWNrZWRcbiAgICovXG4gIGNoZWNrZWRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhUmVxdWlyZWRBdHRyJywgJ2F1dG9mb2N1cycsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdkaXNwbGF5VmFsdWUnLCAnZXJyb3InLCAnZXJyb3JEZXNjcmlwdGlvbicsICdmbHVpZCcsICdpbnB1dElkJywgJ2xhYmVsJywgJ21lc3NhZ2UnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdvcHRpb25zJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3N1Y2Nlc3MnLCAndmFsaWRhdGlvbicsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZmllbGRzZWxlY3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFSZXF1aXJlZEF0dHInLCAnYXV0b2ZvY3VzJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2Rpc3BsYXlWYWx1ZScsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZsdWlkJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbWVzc2FnZScsICdtdWx0aXBsZScsICduYW1lJywgJ29wdGlvbnMnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3VjY2VzcycsICd2YWxpZGF0aW9uJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsndmFsdWVDaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RmllbGRzZWxlY3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkZpZWxkc2VsZWN0RWxlbWVudDtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZGaWVsZHNlbGVjdCBleHRlbmRzIENvbXBvbmVudHMuTnZGaWVsZHNlbGVjdCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGVkIHZhbHVlIGNoYW5nZXMuIEBiaW5kIHZhbHVlXG4gICAqL1xuICB2YWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZW5kSW5wdXRJZCcsICdlbmROYW1lJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnZmx1aWQnLCAnaGFzRmllbGQnLCAnaGlkZUxhYmVsJywgJ2xhYmVsJywgJ2xhYmVsQWZ0ZXJWYWx1ZScsICdsYWJlbEJlZm9yZVZhbHVlJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdyYW5nZScsICdyZWFkb25seScsICdzaG93VGlja3MnLCAnc25hcCcsICdzbmFwVGlja3MnLCAnc3RhcnRJbnB1dElkJywgJ3N0ZXAnLCAnc3VjY2VzcycsICd0aWNrcycsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZmllbGRzbGlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2VuZElucHV0SWQnLCAnZW5kTmFtZScsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZsdWlkJywgJ2hhc0ZpZWxkJywgJ2hpZGVMYWJlbCcsICdsYWJlbCcsICdsYWJlbEFmdGVyVmFsdWUnLCAnbGFiZWxCZWZvcmVWYWx1ZScsICdtYXgnLCAnbWluJywgJ25hbWUnLCAncmFuZ2UnLCAncmVhZG9ubHknLCAnc2hvd1RpY2tzJywgJ3NuYXAnLCAnc25hcFRpY2tzJywgJ3N0YXJ0SW5wdXRJZCcsICdzdGVwJywgJ3N1Y2Nlc3MnLCAndGlja3MnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd2YWx1ZUNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZGaWVsZHNsaWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52RmllbGRzbGlkZXJFbGVtZW50O1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXJbXT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RmllbGRzbGlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLk52RmllbGRzbGlkZXIge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBzbGlkZXIgdmFsdWVzIGNoYW5nZS4gQGJpbmQgdmFsdWVcbiAgICovXG4gIHZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcltdPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFSZXF1aXJlZEF0dHInLCAnYXV0b2NvbXBsZXRlJywgJ2F1dG9mb2N1cycsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZsdWlkJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbWF4bGVuZ3RoJywgJ21lc3NhZ2UnLCAnbWlubGVuZ3RoJywgJ211bHRpcGxlJywgJ25hbWUnLCAncGF0dGVybicsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzdWNjZXNzJywgJ3RleHRJbnB1dFR5cGUnLCAndHlwZScsICd2YWxpZGF0aW9uJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1maWVsZHRleHQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFSZXF1aXJlZEF0dHInLCAnYXV0b2NvbXBsZXRlJywgJ2F1dG9mb2N1cycsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZsdWlkJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbWF4bGVuZ3RoJywgJ21lc3NhZ2UnLCAnbWlubGVuZ3RoJywgJ211bHRpcGxlJywgJ25hbWUnLCAncGF0dGVybicsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzdWNjZXNzJywgJ3RleHRJbnB1dFR5cGUnLCAndHlwZScsICd2YWxpZGF0aW9uJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsndmFsdWVDaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RmllbGR0ZXh0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZGaWVsZHRleHRFbGVtZW50O1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkZpZWxkdGV4dCBleHRlbmRzIENvbXBvbmVudHMuTnZGaWVsZHRleHQge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCB2YWx1ZSBjaGFuZ2VzLiBAYmluZCB2YWx1ZVxuICAgKi9cbiAgdmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFSZXF1aXJlZEF0dHInLCAnYXV0b2ZvY3VzJywgJ2F1dG9zaXplJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnZmx1aWQnLCAnaW5wdXRJZCcsICdsYWJlbCcsICdtYXhBdXRvSGVpZ2h0JywgJ21heGxlbmd0aCcsICdtZXNzYWdlJywgJ21pbmxlbmd0aCcsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3Jlc2l6ZScsICdyb3dzJywgJ3N1Y2Nlc3MnLCAndmFsaWRhdGlvbicsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZmllbGR0ZXh0YXJlYScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvZm9jdXMnLCAnYXV0b3NpemUnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZXJyb3JEZXNjcmlwdGlvbicsICdmbHVpZCcsICdpbnB1dElkJywgJ2xhYmVsJywgJ21heEF1dG9IZWlnaHQnLCAnbWF4bGVuZ3RoJywgJ21lc3NhZ2UnLCAnbWlubGVuZ3RoJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAncmVzaXplJywgJ3Jvd3MnLCAnc3VjY2VzcycsICd2YWxpZGF0aW9uJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsndmFsdWVDaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RmllbGR0ZXh0YXJlYSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52RmllbGR0ZXh0YXJlYUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RmllbGR0ZXh0YXJlYSBleHRlbmRzIENvbXBvbmVudHMuTnZGaWVsZHRleHRhcmVhIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgdGV4dGFyZWEgdmFsdWUgY2hhbmdlcy4gQGJpbmQgdmFsdWVcbiAgICovXG4gIHZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhUmVxdWlyZWRBdHRyJywgJ2F1dG9mb2N1cycsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2Zvcm1hdCcsICdpbnB1dElkJywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdvcGVuJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3N0ZXAnLCAnc3VjY2VzcycsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZmllbGR0aW1lJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhUmVxdWlyZWRBdHRyJywgJ2F1dG9mb2N1cycsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2Zvcm1hdCcsICdpbnB1dElkJywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdvcGVuJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3N0ZXAnLCAnc3VjY2VzcycsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ3ZhbHVlQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkZpZWxkdGltZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52RmllbGR0aW1lRWxlbWVudDtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZGaWVsZHRpbWUgZXh0ZW5kcyBDb21wb25lbnRzLk52RmllbGR0aW1lIHtcbiAgLyoqXG4gICAqIEVtaXQgYW4gZXZlbnQgd2hlbiB0aGUgdGltZSB2YWx1ZSBjaGFuZ2VzLlxuVGhlIGV2ZW50IGRldGFpbCBjb250YWlucyB0aGUgbmV3IHRpbWUgdmFsdWUgaW4gdGhlIGZvcm1hdCBzcGVjaWZpZWQgYnkgdGhlIGZvcm1hdCBwcm9wZXJ0eS4gQGJpbmQgdmFsdWVcbiAgICovXG4gIHZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdsYXJnZScsICdtZWRpdW0nLCAnbmFtZScsICdzaXplJywgJ3NtYWxsJywgJ3hsYXJnZScsICd4c21hbGwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2xhcmdlJywgJ21lZGl1bScsICduYW1lJywgJ3NpemUnLCAnc21hbGwnLCAneGxhcmdlJywgJ3hzbWFsbCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkljb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkljb24gZXh0ZW5kcyBDb21wb25lbnRzLk52SWNvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnZGlzYWJsZVRhYmluZGV4JywgJ2Rpc2FibGVkJywgJ2VtcGhhc2lzJywgJ2xvYWRpbmcnLCAnbmFtZScsICdzaGFwZScsICdzaXplJywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWljb25idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdkaXNhYmxlVGFiaW5kZXgnLCAnZGlzYWJsZWQnLCAnZW1waGFzaXMnLCAnbG9hZGluZycsICduYW1lJywgJ3NoYXBlJywgJ3NpemUnLCAndHlwZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkljb25idXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkljb25idXR0b25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkljb25idXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLk52SWNvbmJ1dHRvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1sb2FkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ3NpemUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZMb2FkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkxvYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52TG9hZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5OdkxvYWRlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlQ2xvc2VPblNlbGVjdCcsICdpdGVtcycsICduZXN0ZWQnLCAnb3BlbicsICdwbGFjZW1lbnQnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1tZW51JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlQ2xvc2VPblNlbGVjdCcsICdpdGVtcycsICduZXN0ZWQnLCAnb3BlbicsICdwbGFjZW1lbnQnXSxcbiAgb3V0cHV0czogWydtZW51aXRlbVNlbGVjdGVkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52TWVudSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52TWVudUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZW51aXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MTnZNZW51aXRlbUVsZW1lbnRFdmVudE1hcFsnbWVudWl0ZW1TZWxlY3RlZCddPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZNZW51IGV4dGVuZHMgQ29tcG9uZW50cy5Odk1lbnUge1xuICAvKipcbiAgICogRW1pdHRlZCBmcm9tIG52LW1lbnVpdGVtIGVsZW1lbnRzIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgaWQgYW5kIG5hbWUgd2hlblxuc2VsZWN0ZWQgKHZpYSBjbGljayBvciBrZXlib2FyZCkuIFRoaXMgZXZlbnQgbGlzdGVuZXIgY2FuIGJlIGF0dGFjaGVkIHRvXG5laXRoZXIgdGhlIG52LW1lbnUgb3IgdGhlIG52LW1lbnVpdGVtIGVsZW1lbnQuXG4gICAqL1xuICBtZW51aXRlbVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTE52TWVudWl0ZW1FbGVtZW50RXZlbnRNYXBbJ21lbnVpdGVtU2VsZWN0ZWQnXT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdoYXNTdWJtZW51JywgJ2ljb24nLCAnbGFiZWwnLCAnbmFtZScsICdzaG9ydGN1dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtbWVudWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hhc1N1Ym1lbnUnLCAnaWNvbicsICdsYWJlbCcsICduYW1lJywgJ3Nob3J0Y3V0J10sXG4gIG91dHB1dHM6IFsnbWVudWl0ZW1TZWxlY3RlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdk1lbnVpdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZNZW51aXRlbUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZW51aXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IC8qKiAqIFRoZSBpZCBvZiB0aGUgbWVudSBpdGVtIHRoYXQgd2FzIHNlbGVjdGVkLiAqLyBpZD86IEhUTUxFbGVtZW50WydpZCddOyAvKiogKiBUaGUgbmFtZSBvZiB0aGUgbWVudSBpdGVtIHRoYXQgd2FzIHNlbGVjdGVkLiAqLyBuYW1lPzogc3RyaW5nOyAvKiogKiBJbmRpY2F0ZXMgaWYgdGhlIG1lbnUgaXRlbSBoYXMgYSBuZXN0ZWQgc3VibWVudS4gKi8gaGFzU3VibWVudT86IGJvb2xlYW47IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdk1lbnVpdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5Odk1lbnVpdGVtIHtcbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIG1lbnUgaXRlbSBpcyBzZWxlY3RlZCAoY2xpY2sgb3Iga2V5cHJlc3MpLiBXaWxsIGluY2x1ZGUgdGhlXG5pZCBhbmQgbmFtZSBvZiB0aGUgbWVudSBpdGVtLlxuICAgKi9cbiAgbWVudWl0ZW1TZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgLyoqICogVGhlIGlkIG9mIHRoZSBtZW51IGl0ZW0gdGhhdCB3YXMgc2VsZWN0ZWQuICovIGlkPzogSFRNTEVsZW1lbnRbJ2lkJ107IC8qKiAqIFRoZSBuYW1lIG9mIHRoZSBtZW51IGl0ZW0gdGhhdCB3YXMgc2VsZWN0ZWQuICovIG5hbWU/OiBzdHJpbmc7IC8qKiAqIEluZGljYXRlcyBpZiB0aGUgbWVudSBpdGVtIGhhcyBhIG5lc3RlZCBzdWJtZW51LiAqLyBoYXNTdWJtZW51PzogYm9vbGVhbjsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNtaXNzaWJsZScsICdlbXBoYXNpcycsICdmZWVkYmFjaycsICdoZWFkaW5nJywgJ2hpZGRlbicsICdpY29uJywgJ2luaXRpYWxseUhpZGRlbicsICdtZXNzYWdlJywgJ3VpZCddLFxuICBtZXRob2RzOiBbJ2Rpc21pc3MnLCAnc2hvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtbm90aWZpY2F0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNtaXNzaWJsZScsICdlbXBoYXNpcycsICdmZWVkYmFjaycsICdoZWFkaW5nJywgJ2hpZGRlbicsICdpY29uJywgJ2luaXRpYWxseUhpZGRlbicsICdtZXNzYWdlJywgJ3VpZCddLFxuICBvdXRwdXRzOiBbJ2hpZGRlbkNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZOb3RpZmljYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdk5vdGlmaWNhdGlvbkVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBoaWRkZW5DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZOb3RpZmljYXRpb24gZXh0ZW5kcyBDb21wb25lbnRzLk52Tm90aWZpY2F0aW9uIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlICdoaWRkZW4nIHByb3AgY2hhbmdlcywgcmVmbGVjdGluZyBhIGNoYW5nZSBpbiB2aXNpYmlsaXR5LlxuUGFzc2VzIGhpZGRlbiB2YWx1ZSB0byB0aGUgZGV0YWlsLiBAYmluZCBoaWRkZW5cbiAgICovXG4gIGhpZGRlbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRyYXN0aW5nQm9yZGVyJywgJ2NvdW50JywgJ2VtcGhhc2lzJywgJ2ludGVudGlvbicsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1ub3RpZmljYXRpb24tYnVsbGV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250cmFzdGluZ0JvcmRlcicsICdjb3VudCcsICdlbXBoYXNpcycsICdpbnRlbnRpb24nLCAnc2l6ZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdk5vdGlmaWNhdGlvbkJ1bGxldCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52Tm90aWZpY2F0aW9uQnVsbGV0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZOb3RpZmljYXRpb25CdWxsZXQgZXh0ZW5kcyBDb21wb25lbnRzLk52Tm90aWZpY2F0aW9uQnVsbGV0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3Bvc2l0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1ub3RpZmljYXRpb25jb250YWluZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3Bvc2l0aW9uJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52Tm90aWZpY2F0aW9uY29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZOb3RpZmljYXRpb25jb250YWluZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdk5vdGlmaWNhdGlvbmNvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuTnZOb3RpZmljYXRpb25jb250YWluZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZUNvbnRyb2xzJywgJ2hpZGVGaXJzdExhc3QnLCAnaGlkZVByZXZOZXh0JywgJ2xhYmVsUGFnZScsICdsYWJlbFBhZ2VTaXplT3B0aW9uJywgJ2xhYmVsVG90YWwnLCAncGFnZUNvdW50JywgJ3BhZ2VJbmRleCcsICdwYWdlU2l6ZScsICdyb3dDb3VudCddLFxuICBtZXRob2RzOiBbJ2ZpcnN0UGFnZScsICdwcmV2aW91c1BhZ2UnLCAnbmV4dFBhZ2UnLCAnbGFzdFBhZ2UnLCAnc2V0UGFnZUluZGV4JywgJ3NldFBhZ2VTaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1wYWdpbmF0aW9udGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hpZGVDb250cm9scycsICdoaWRlRmlyc3RMYXN0JywgJ2hpZGVQcmV2TmV4dCcsICdsYWJlbFBhZ2UnLCAnbGFiZWxQYWdlU2l6ZU9wdGlvbicsICdsYWJlbFRvdGFsJywgJ3BhZ2VDb3VudCcsICdwYWdlSW5kZXgnLCAncGFnZVNpemUnLCAncm93Q291bnQnXSxcbiAgb3V0cHV0czogWydwYWdlSW5kZXhDaGFuZ2VkJywgJ3BhZ2VTaXplQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlBhZ2luYXRpb250YWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52UGFnaW5hdGlvbnRhYmxlRWxlbWVudDtcbiAgQE91dHB1dCgpIHBhZ2VJbmRleENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+KCk7XG4gIEBPdXRwdXQoKSBwYWdlU2l6ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52UGFnaW5hdGlvbnRhYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5OdlBhZ2luYXRpb250YWJsZSB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHBhZ2UgaW5kZXggY2hhbmdlcy4gQGJpbmQgcGFnZUluZGV4XG4gICAqL1xuICBwYWdlSW5kZXhDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHBhZ2Ugc2l6ZSBjaGFuZ2VzLlxuICAgKi9cbiAgcGFnZVNpemVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVGbGlwJywgJ2VudGVyRGVsYXknLCAnZ3JvdXBOYW1lJywgJ2hhc0Fycm93JywgJ25lc3RlZCcsICdvZmZzZXQnLCAnb3BlbicsICdwbGFjZW1lbnQnLCAnc2hpZnRQYWRkaW5nJywgJ3N0cmF0ZWd5JywgJ3RyaWdnZXJNb2RlJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJywgJ3RvZ2dsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtcG9wb3ZlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZUZsaXAnLCAnZW50ZXJEZWxheScsICdncm91cE5hbWUnLCAnaGFzQXJyb3cnLCAnbmVzdGVkJywgJ29mZnNldCcsICdvcGVuJywgJ3BsYWNlbWVudCcsICdzaGlmdFBhZGRpbmcnLCAnc3RyYXRlZ3knLCAndHJpZ2dlck1vZGUnXSxcbiAgb3V0cHV0czogWydvcGVuQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlBvcG92ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdlBvcG92ZXJFbGVtZW50O1xuICBAT3V0cHV0KCkgb3BlbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdlBvcG92ZXIgZXh0ZW5kcyBDb21wb25lbnRzLk52UG9wb3ZlciB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHBvcG92ZXIgaXMgdG9nZ2xlZC4gQGJpbmQgb3BlblxuICAgKi9cbiAgb3BlbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1yb3cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZSb3cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdlJvd0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52Um93IGV4dGVuZHMgQ29tcG9uZW50cy5OdlJvdyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmVQYXRoJywgJ25vdGlmaWNhdGlvbkVtcGhhc2lzJywgJ25vdGlmaWNhdGlvbkludGVudGlvbicsICdvcGVuJywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LXNpZGViYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZVBhdGgnLCAnbm90aWZpY2F0aW9uRW1waGFzaXMnLCAnbm90aWZpY2F0aW9uSW50ZW50aW9uJywgJ29wZW4nLCAndHlwZSddLFxuICBvdXRwdXRzOiBbJ29wZW5DaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52U2lkZWJhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52U2lkZWJhckVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52U2lkZWJhciBleHRlbmRzIENvbXBvbmVudHMuTnZTaWRlYmFyIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgb3BlbiBzdGF0ZSBjaGFuZ2VzLiBAYmluZCBvcGVuXG4gICAqL1xuICBvcGVuQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LXNpZGViYXJjb250ZW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52U2lkZWJhcmNvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdlNpZGViYXJjb250ZW50RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZTaWRlYmFyY29udGVudCBleHRlbmRzIENvbXBvbmVudHMuTnZTaWRlYmFyY29udGVudCB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtc2lkZWJhcmRpdmlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZTaWRlYmFyZGl2aWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52U2lkZWJhcmRpdmlkZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdlNpZGViYXJkaXZpZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5OdlNpZGViYXJkaXZpZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1zaWRlYmFyZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52U2lkZWJhcmZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52U2lkZWJhcmZvb3RlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52U2lkZWJhcmZvb3RlciBleHRlbmRzIENvbXBvbmVudHMuTnZTaWRlYmFyZm9vdGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1zaWRlYmFyZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhYmVsJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52U2lkZWJhcmdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZTaWRlYmFyZ3JvdXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdlNpZGViYXJncm91cCBleHRlbmRzIENvbXBvbmVudHMuTnZTaWRlYmFyZ3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LXNpZGViYXJoZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZTaWRlYmFyaGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZTaWRlYmFyaGVhZGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZTaWRlYmFyaGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5OdlNpZGViYXJoZWFkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sbGFwc2VkTG9nbycsICdsYWJlbCcsICdsb2dvJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1zaWRlYmFybG9nbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sbGFwc2VkTG9nbycsICdsYWJlbCcsICdsb2dvJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52U2lkZWJhcmxvZ28ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdlNpZGViYXJsb2dvRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZTaWRlYmFybG9nbyBleHRlbmRzIENvbXBvbmVudHMuTnZTaWRlYmFybG9nbyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnY29sbGFwc2libGUnLCAnaWNvbicsICdub3RpZmljYXRpb25Db3VudCcsICdvcGVuJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1zaWRlYmFybmF2aXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2NvbGxhcHNpYmxlJywgJ2ljb24nLCAnbm90aWZpY2F0aW9uQ291bnQnLCAnb3BlbiddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlNpZGViYXJuYXZpdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZTaWRlYmFybmF2aXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52U2lkZWJhcm5hdml0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLk52U2lkZWJhcm5hdml0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1zaWRlYmFybmF2c3ViaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52U2lkZWJhcm5hdnN1Yml0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdlNpZGViYXJuYXZzdWJpdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZTaWRlYmFybmF2c3ViaXRlbSBleHRlbmRzIENvbXBvbmVudHMuTnZTaWRlYmFybmF2c3ViaXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXJlY3Rpb24nLCAnZ3V0dGVyU2l6ZScsICdtaW5TaXplcycsICdzaXplcyddLFxuICBtZXRob2RzOiBbJ3NldFNpemVzJywgJ2dldFNpemVzJywgJ2NvbGxhcHNlJywgJ2Rlc3Ryb3knXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LXNwbGl0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXJlY3Rpb24nLCAnZ3V0dGVyU2l6ZScsICdtaW5TaXplcycsICdzaXplcyddLFxuICBvdXRwdXRzOiBbJ3NpemVzQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlNwbGl0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZTcGxpdEVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBzaXplc0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcltdPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZTcGxpdCBleHRlbmRzIENvbXBvbmVudHMuTnZTcGxpdCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gcGFuZSBzaXplcyBhcmUgdXBkYXRlZCAoZHJhZyBzdGFydC9zdG9wIG9yIHByb2dyYW1tYXRpY2FsbHkpLiBAYmluZCBzaXplc1xuICAgKi9cbiAgc2l6ZXNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyW10+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZmlsbCcsICdmbGV4JywgJ2Z1bGwnLCAnZ3V0dGVyJywgJ3ZlcnRpY2FsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1zdGFjaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZmlsbCcsICdmbGV4JywgJ2Z1bGwnLCAnZ3V0dGVyJywgJ3ZlcnRpY2FsJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52U3RhY2sge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdlN0YWNrRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZTdGFjayBleHRlbmRzIENvbXBvbmVudHMuTnZTdGFjayB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtdGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZUYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52VGFibGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdlRhYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5OdlRhYmxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NvcnREaXJlY3Rpb24nLCAnc29ydGFibGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LXRhYmxlaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzb3J0RGlyZWN0aW9uJywgJ3NvcnRhYmxlJ10sXG4gIG91dHB1dHM6IFsnc29ydERpcmVjdGlvbkNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZUYWJsZWhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52VGFibGVoZWFkZXJFbGVtZW50O1xuICBAT3V0cHV0KCkgc29ydERpcmVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52VGFibGVoZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLk52VGFibGVoZWFkZXIge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzb3J0IGRpcmVjdGlvbiBjaGFuZ2VzLiBQYXlsb2FkIGlzIHRoZSBuZXcgc29ydFxuZGlyZWN0aW9uLlxuICAgKi9cbiAgc29ydERpcmVjdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdoaWRlTGFiZWwnLCAnaW5wdXRJZCcsICdsYWJlbCcsICdsYWJlbFBsYWNlbWVudCcsICduYW1lJywgJ3JlYWRvbmx5JywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi10b2dnbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnaGlkZUxhYmVsJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbGFiZWxQbGFjZW1lbnQnLCAnbmFtZScsICdyZWFkb25seScsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2NoZWNrZWRDaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52VG9nZ2xlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZUb2dnbGVFbGVtZW50O1xuICBAT3V0cHV0KCkgY2hlY2tlZENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdlRvZ2dsZSBleHRlbmRzIENvbXBvbmVudHMuTnZUb2dnbGUge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY2hlY2tlZCBzdGF0ZSBjaGFuZ2VzLiBAYmluZCBjaGVja2VkXG4gICAqL1xuICBjaGVja2VkQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2Rpc2FibGVkJywgJ2VtcGhhc2lzJywgJ3NpemUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LXRvZ2dsZWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2Rpc2FibGVkJywgJ2VtcGhhc2lzJywgJ3NpemUnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd0b2dnbGVkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52VG9nZ2xlYnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZUb2dnbGVidXR0b25FbGVtZW50O1xuICBAT3V0cHV0KCkgdG9nZ2xlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyAvKiogVGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUgYnV0dG9uLiAqLyB2YWx1ZTogc3RyaW5nOyAvKiogSWYgdGhlIGJ1dHRvbiBpcyBhY3RpdmUgd2hlbiBjbGlja2VkLiAqLyBhY3RpdmU6IGJvb2xlYW47IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdlRvZ2dsZWJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuTnZUb2dnbGVidXR0b24ge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaXMgdG9nZ2xlZC4gV2lsbCBidWJibGUgdXAgc28gdGhhdCB0aGVcbm52LXRvZ2dsZWJ1dHRvbmdyb3VwIGNhbiB1cGRhdGUgdGhlIHN0YXRlLlxuICAgKi9cbiAgdG9nZ2xlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgLyoqIFRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGJ1dHRvbi4gKi8gdmFsdWU6IHN0cmluZzsgLyoqIElmIHRoZSBidXR0b24gaXMgYWN0aXZlIHdoZW4gY2xpY2tlZC4gKi8gYWN0aXZlOiBib29sZWFuOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2VtcGhhc2lzJywgJ2VuZm9yY2VWYWx1ZScsICdleGNsdXNpdmUnLCAnc2l6ZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtdG9nZ2xlYnV0dG9uZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2VtcGhhc2lzJywgJ2VuZm9yY2VWYWx1ZScsICdleGNsdXNpdmUnLCAnc2l6ZScsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ3ZhbHVlQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlRvZ2dsZWJ1dHRvbmdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZUb2dnbGVidXR0b25ncm91cEVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZ1tdPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZUb2dnbGVidXR0b25ncm91cCBleHRlbmRzIENvbXBvbmVudHMuTnZUb2dnbGVidXR0b25ncm91cCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGVkIHRvZ2dsZSBidXR0b25zIGNoYW5nZS4gQGJpbmQgdmFsdWVcbiAgICovXG4gIHZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZ1tdPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2VudGVyRGVsYXknLCAnbWVzc2FnZScsICdwbGFjZW1lbnQnLCAnc3RyYXRlZ3knXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2VudGVyRGVsYXknLCAnbWVzc2FnZScsICdwbGFjZW1lbnQnLCAnc3RyYXRlZ3knXSxcbiAgb3V0cHV0czogWydvcGVuQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlRvb2x0aXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdlRvb2x0aXBFbGVtZW50O1xuICBAT3V0cHV0KCkgb3BlbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdlRvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLk52VG9vbHRpcCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHRvb2x0aXAgaXMgb3BlbmVkIG9yIGNsb3NlZC4gQnViYmxlcyB1cCBmcm9tIHRoZSBwb3BvdmVyXG5lbGVtZW50LlxuICAgKi9cbiAgb3BlbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuIl19
1845
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdmEtY29tcG9uZW50cy9zcmMvbGliL3N0ZW5jaWwtZ2VuZXJhdGVkL2NvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9CQUFvQjtBQUNwQiw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVoSSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBa0JsRCxJQUFNLFdBQVcsR0FBakIsTUFBTSxXQUFXO0lBR3RCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFEMUQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFFdkUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTlUsV0FBVztrR0FBWCxXQUFXLCtLQU5aLDJCQUEyQjs7QUFNMUIsV0FBVztJQWJ2QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQztRQUN2QyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDO0tBQzNCLENBQUM7R0FVVyxXQUFXLENBT3ZCOzsyRkFQWSxXQUFXO2tCQVR2QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQztvQkFDdkMsT0FB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QUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQztvQkFDMUQsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixVQUFVLEVBQUUsS0FBSztpQkFDbEI7b0lBR1csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQcm94eUNtcCB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0Bub3ZhLWRlc2lnbi1zeXN0ZW0vbm92YS13ZWJjb21wb25lbnRzJztcblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGF0YScsICdtb2RlJywgJ29wZW5JbmRleGVzJ10sXG4gIG1ldGhvZHM6IFsnb3BlbicsICdjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtYWNjb3JkaW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXRhJywgJ21vZGUnLCAnb3BlbkluZGV4ZXMnXSxcbiAgb3V0cHV0czogWydvcGVuSW5kZXhlc0NoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZBY2NvcmRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkFjY29yZGlvbkVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBvcGVuSW5kZXhlc0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcltdPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZBY2NvcmRpb24gZXh0ZW5kcyBDb21wb25lbnRzLk52QWNjb3JkaW9uIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhbiBpdGVtJ3Mgb3BlbiBzdGF0ZSBjaGFuZ2VzIEBiaW5kIG9wZW5JbmRleGVzXG4gICAqL1xuICBvcGVuSW5kZXhlc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXJbXT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdpdGVtVGl0bGUnLCAnbWF4Q29udGVudEhlaWdodCcsICdtb2RlJywgJ29wZW4nLCAnc3VidGl0bGUnXSxcbiAgbWV0aG9kczogWyd0b2dnbGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWFjY29yZGlvbi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdpdGVtVGl0bGUnLCAnbWF4Q29udGVudEhlaWdodCcsICdtb2RlJywgJ29wZW4nLCAnc3VidGl0bGUnXSxcbiAgb3V0cHV0czogWydpdGVtVG9nZ2xlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52QWNjb3JkaW9uSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52QWNjb3JkaW9uSXRlbUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBpdGVtVG9nZ2xlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZBY2NvcmRpb25JdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5OdkFjY29yZGlvbkl0ZW0ge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCBvbiB0b2dnbGUgKGhlYWRlciBjbGljayBvciBwcm9ncmFtbWF0aWMgY2hhbmdlKVxuICAgKi9cbiAgaXRlbVRvZ2dsZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAnZGlzbWlzc2libGUnLCAnZmVlZGJhY2snLCAnaGFzTm9BbmltYXRpb25zJywgJ2hlYWRpbmcnLCAnaGlkZGVuJywgJ2ljb24nLCAnbWVzc2FnZScsICdwcmV2ZW50QXV0b0Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1hbGVydCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sb3InLCAnZGlzbWlzc2libGUnLCAnZmVlZGJhY2snLCAnaGFzTm9BbmltYXRpb25zJywgJ2hlYWRpbmcnLCAnaGlkZGVuJywgJ2ljb24nLCAnbWVzc2FnZScsICdwcmV2ZW50QXV0b0Nsb3NlJ10sXG4gIG91dHB1dHM6IFsnaGlkZGVuQ2hhbmdlZCcsICdoaWRkZW5DaGFuZ2VkQ29tcGxldGUnLCAnY2xvc2VDbGlja2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52QWxlcnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkFsZXJ0RWxlbWVudDtcbiAgQE91dHB1dCgpIGhpZGRlbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PigpO1xuICBAT3V0cHV0KCkgaGlkZGVuQ2hhbmdlZENvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj4oKTtcbiAgQE91dHB1dCgpIGNsb3NlQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52QWxlcnQgZXh0ZW5kcyBDb21wb25lbnRzLk52QWxlcnQge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgJ2hpZGRlbicgcHJvcCBjaGFuZ2VzLCByZWZsZWN0aW5nIGEgY2hhbmdlIGluIHZpc2liaWxpdHkuXG5QYXNzZXMgaGlkZGVuIHZhbHVlIHRvIHRoZSBkZXRhaWwuIEBiaW5kIGhpZGRlblxuICAgKi9cbiAgaGlkZGVuQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgYW5pbWF0aW9ucyBjb21wbGV0ZSwgZGV0YWlsIGluY2x1ZGVzIHRoZSBoaWRkZW4gdmFsdWUuXG4gICAqL1xuICBoaWRkZW5DaGFuZ2VkQ29tcGxldGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNsb3NlIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgY2xvc2VDbGlja2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbHQnLCAnY29sb3InLCAnaW5pdGlhbHMnLCAnbGFyZ2UnLCAnbWVkaXVtJywgJ3NpemUnLCAnc21hbGwnLCAnc3JjJywgJ3RleHQnLCAndXJsJywgJ3hsYXJnZScsICd4c21hbGwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWF2YXRhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWx0JywgJ2NvbG9yJywgJ2luaXRpYWxzJywgJ2xhcmdlJywgJ21lZGl1bScsICdzaXplJywgJ3NtYWxsJywgJ3NyYycsICd0ZXh0JywgJ3VybCcsICd4bGFyZ2UnLCAneHNtYWxsJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52QXZhdGFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZBdmF0YXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkF2YXRhciBleHRlbmRzIENvbXBvbmVudHMuTnZBdmF0YXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAnZGlzbWlzc2FsJywgJ2Rpc21pc3NpYmxlJywgJ2hpZGRlbicsICdpY29uJywgJ2ljb25Mb2NhdGlvbicsICdpc0ljb25Pbmx5JywgJ2xhYmVsJywgJ2xlYWRJY29uJywgJ3ByZXZlbnRBdXRvQ2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWJhZGdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb2xvcicsICdkaXNtaXNzYWwnLCAnZGlzbWlzc2libGUnLCAnaGlkZGVuJywgJ2ljb24nLCAnaWNvbkxvY2F0aW9uJywgJ2lzSWNvbk9ubHknLCAnbGFiZWwnLCAnbGVhZEljb24nLCAncHJldmVudEF1dG9DbG9zZSddLFxuICBvdXRwdXRzOiBbJ2Nsb3NlQ2xpY2tlZCcsICdoaWRkZW5DaGFuZ2VkJywgJ2hpZGRlbkNoYW5nZWRDb21wbGV0ZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkJhZGdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZCYWRnZUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBjbG9zZUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PigpO1xuICBAT3V0cHV0KCkgaGlkZGVuQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+KCk7XG4gIEBPdXRwdXQoKSBoaWRkZW5DaGFuZ2VkQ29tcGxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkJhZGdlIGV4dGVuZHMgQ29tcG9uZW50cy5OdkJhZGdlIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgYmFkZ2UgaXMgZGlzbWlzc2VkLlxuICAgKi9cbiAgY2xvc2VDbGlja2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgJ2hpZGRlbicgcHJvcCBjaGFuZ2VzLCByZWZsZWN0aW5nIGEgY2hhbmdlIGluIHZpc2liaWxpdHkuXG5QYXNzZXMgaGlkZGVuIHZhbHVlIHRvIHRoZSBkZXRhaWwuXG4gICAqL1xuICBoaWRkZW5DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBhbmltYXRpb25zIGNvbXBsZXRlLCBkZXRhaWwgaW5jbHVkZXMgdGhlIGhpZGRlbiB2YWx1ZS5cbiAgICovXG4gIGhpZGRlbkNoYW5nZWRDb21wbGV0ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY3VycmVudCcsICd0b29sdGlwJywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWJyZWFkY3J1bWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2N1cnJlbnQnLCAndG9vbHRpcCcsICd0eXBlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52QnJlYWRjcnVtYiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52QnJlYWRjcnVtYkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52QnJlYWRjcnVtYiBleHRlbmRzIENvbXBvbmVudHMuTnZCcmVhZGNydW1iIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1icmVhZGNydW1icycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkJyZWFkY3J1bWJzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZCcmVhZGNydW1ic0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52QnJlYWRjcnVtYnMgZXh0ZW5kcyBDb21wb25lbnRzLk52QnJlYWRjcnVtYnMge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2RhbmdlcicsICdkaXNhYmxlVGFiaW5kZXgnLCAnZGlzYWJsZWQnLCAnZW1waGFzaXMnLCAnZmx1aWQnLCAnZm9ybScsICdsb2FkaW5nJywgJ3NpemUnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnZGFuZ2VyJywgJ2Rpc2FibGVUYWJpbmRleCcsICdkaXNhYmxlZCcsICdlbXBoYXNpcycsICdmbHVpZCcsICdmb3JtJywgJ2xvYWRpbmcnLCAnc2l6ZScsICd0eXBlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52QnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZCdXR0b25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuTnZCdXR0b24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZW1waGFzaXMnLCAnZmx1aWQnLCAnb3JpZW50YXRpb24nLCAnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtYnV0dG9uZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2VtcGhhc2lzJywgJ2ZsdWlkJywgJ29yaWVudGF0aW9uJywgJ3NpemUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZCdXR0b25ncm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52QnV0dG9uZ3JvdXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkJ1dHRvbmdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5OdkJ1dHRvbmdyb3VwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NhbmNlbExhYmVsJywgJ2RhdGVGb3JtYXQnLCAnZGlzYWJsZWREYXRlcycsICdmaXJzdERheU9mV2VlaycsICdsb2NhbGUnLCAnbWF4JywgJ21pbicsICdudW1iZXJPZkNhbGVuZGFycycsICdwcmltYXJ5TGFiZWwnLCAncmFuZ2VWYWx1ZScsICdzZWxlY3Rpb25UeXBlJywgJ3Nob3J0Y3V0cycsICdzaG9ydGN1dHNQbGFjZW1lbnQnLCAnc2hvd0FjdGlvbnMnLCAnc2hvd1dlZWtOdW1iZXJzJywgJ3NpbmdsZVZhbHVlJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnY2xlYXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWNhbGVuZGFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjYW5jZWxMYWJlbCcsICdkYXRlRm9ybWF0JywgJ2Rpc2FibGVkRGF0ZXMnLCAnZmlyc3REYXlPZldlZWsnLCAnbG9jYWxlJywgJ21heCcsICdtaW4nLCAnbnVtYmVyT2ZDYWxlbmRhcnMnLCAncHJpbWFyeUxhYmVsJywgJ3JhbmdlVmFsdWUnLCAnc2VsZWN0aW9uVHlwZScsICdzaG9ydGN1dHMnLCAnc2hvcnRjdXRzUGxhY2VtZW50JywgJ3Nob3dBY3Rpb25zJywgJ3Nob3dXZWVrTnVtYmVycycsICdzaW5nbGVWYWx1ZScsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ3NpbmdsZURhdGVDaGFuZ2UnLCAncmFuZ2VEYXRlQ2hhbmdlJywgJ3ZhbHVlQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkNhbGVuZGFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZDYWxlbmRhckVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBzaW5nbGVEYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgcmFuZ2VEYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MTnZDYWxlbmRhckVsZW1lbnRbJ3JhbmdlVmFsdWUnXT4+KCk7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52Q2FsZW5kYXIgZXh0ZW5kcyBDb21wb25lbnRzLk52Q2FsZW5kYXIge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIGEgc2luZ2xlIGRhdGUgaXMgc2VsZWN0ZWRcbiAgICovXG4gIHNpbmdsZURhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBhIGRhdGUgcmFuZ2UgaXMgc2VsZWN0ZWRcbiAgICovXG4gIHJhbmdlRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxOdkNhbGVuZGFyRWxlbWVudFsncmFuZ2VWYWx1ZSddPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHVuaWZpZWQgdmFsdWUgY2hhbmdlcyBAYmluZCB2YWx1ZVxuICAgKi9cbiAgdmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWNvbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2l6ZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkNvbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52Q29sRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZDb2wgZXh0ZW5kcyBDb21wb25lbnRzLk52Q29sIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9HZW5lcmF0ZUNvbHVtbnMnLCAnY29sdW1ucycsICdkYXRhJywgJ2VuYWJsZUdsb2JhbEZpbHRlcicsICdlbmFibGVQYWdpbmF0aW9uJywgJ2VuYWJsZVJvd1NlbGVjdGlvbicsICdlbmFibGVTb3J0aW5nJywgJ2ZhbGxiYWNrVmFsdWUnLCAnZ2xvYmFsRmlsdGVyUG9zaXRpb24nLCAnbm9Db2x1bW5zTm9EYXRhTWVzc2FnZScsICdub0RhdGFNZXNzYWdlJywgJ3BhZ2VTaXplJywgJ3BhZ2VTaXplcycsICdzdGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZGF0YWdyaWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9HZW5lcmF0ZUNvbHVtbnMnLCAnY29sdW1ucycsICdkYXRhJywgJ2VuYWJsZUdsb2JhbEZpbHRlcicsICdlbmFibGVQYWdpbmF0aW9uJywgJ2VuYWJsZVJvd1NlbGVjdGlvbicsICdlbmFibGVTb3J0aW5nJywgJ2ZhbGxiYWNrVmFsdWUnLCAnZ2xvYmFsRmlsdGVyUG9zaXRpb24nLCAnbm9Db2x1bW5zTm9EYXRhTWVzc2FnZScsICdub0RhdGFNZXNzYWdlJywgJ3BhZ2VTaXplJywgJ3BhZ2VTaXplcycsICdzdGF0ZSddLFxuICBvdXRwdXRzOiBbJ2FjdGlvbicsICdzZWxlY3RlZFJvd3MnLCAnc3RhdGVDaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RGF0YWdyaWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkRhdGFncmlkRWxlbWVudDtcbiAgQE91dHB1dCgpIGFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyAvKiogKiBLZXkgYWN0aW9uIHRvIGJlIHBlcmZvcm1lZCAqLyBrZXlBY3Rpb246IHN0cmluZzsgLyoqICogRGV0YWlscyBvZiB0aGUgYWN0aW9uIHRvIGJlIHBlcmZvcm1lZCAqLyBkZXRhaWxzOiBhbnk7IH0+PigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRSb3dzID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnlbXT4+KCk7XG4gIEBPdXRwdXQoKSBzdGF0ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgLyoqICogR2xvYmFsIGZpbHRlciBzZWFyY2ggdGVybSAqLyBnbG9iYWxGaWx0ZXJTZWFyY2hUZXJtOiBzdHJpbmc7IC8qKiAqIFBhZ2luYXRpb24gU3RhdGUgKi8gcGFnaW5hdGlvblN0YXRlOiB7IC8qKiAqIFBhZ2UgSW5kZXggKi8gcGFnZUluZGV4OiBudW1iZXI7IC8qKiAqIFBhZ2UgU2l6ZSAqLyBwYWdlU2l6ZTogbnVtYmVyOyB9OyAvKiogKiBTb3J0aW5nIHRoZSBjb2x1bW5zICovIHNvcnRpbmdTdGF0ZTogeyAvKiogKiBEZXNjZW5kaW5nICovIGRlc2M6IGJvb2xlYW47IC8qKiAqIENvbHVtbiBJZCAqLyBpZDogc3RyaW5nOyB9W107IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkRhdGFncmlkIGV4dGVuZHMgQ29tcG9uZW50cy5OdkRhdGFncmlkIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBhbiBhY3Rpb24gaXMgdHJpZ2dlcmVkIG9uIGEgY2VsbC5cbiAgICovXG4gIGFjdGlvbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgLyoqICogS2V5IGFjdGlvbiB0byBiZSBwZXJmb3JtZWQgKi8ga2V5QWN0aW9uOiBzdHJpbmc7IC8qKiAqIERldGFpbHMgb2YgdGhlIGFjdGlvbiB0byBiZSBwZXJmb3JtZWQgKi8gZGV0YWlsczogYW55OyB9Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGlvbiBvZiB0aGUgcm93cyBhcmUgY2hhbmdlZC5cbiAgICovXG4gIHNlbGVjdGVkUm93czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueVtdPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHN0YXRlIGlzIGNoYW5nZWQgQGJpbmQgc3RhdGVcbiAgICovXG4gIHN0YXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgLyoqICogR2xvYmFsIGZpbHRlciBzZWFyY2ggdGVybSAqLyBnbG9iYWxGaWx0ZXJTZWFyY2hUZXJtOiBzdHJpbmc7IC8qKiAqIFBhZ2luYXRpb24gU3RhdGUgKi8gcGFnaW5hdGlvblN0YXRlOiB7IC8qKiAqIFBhZ2UgSW5kZXggKi8gcGFnZUluZGV4OiBudW1iZXI7IC8qKiAqIFBhZ2UgU2l6ZSAqLyBwYWdlU2l6ZTogbnVtYmVyOyB9OyAvKiogKiBTb3J0aW5nIHRoZSBjb2x1bW5zICovIHNvcnRpbmdTdGF0ZTogeyAvKiogKiBEZXNjZW5kaW5nICovIGRlc2M6IGJvb2xlYW47IC8qKiAqIENvbHVtbiBJZCAqLyBpZDogc3RyaW5nOyB9W107IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzb3InLCAnZ3JvdXAnLCAnaGVhZGVyJywgJ3JlcGVhdFRlbXBsYXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1kYXRhZ3JpZGNvbHVtbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFt7IG5hbWU6ICdhY2Nlc3NvcicsIHJlcXVpcmVkOiB0cnVlIH0sICdncm91cCcsICdoZWFkZXInLCAncmVwZWF0VGVtcGxhdGUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZEYXRhZ3JpZGNvbHVtbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52RGF0YWdyaWRjb2x1bW5FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkRhdGFncmlkY29sdW1uIGV4dGVuZHMgQ29tcG9uZW50cy5OdkRhdGFncmlkY29sdW1uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjbGlja091dHNpZGUnLCAnY29udHJvbGxlZCcsICdmdWxsJywgJ29wZW4nLCAndW5kaXNtaXNzYWJsZSddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnY2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWRpYWxvZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2NsaWNrT3V0c2lkZScsICdjb250cm9sbGVkJywgJ2Z1bGwnLCAnb3BlbicsICd1bmRpc21pc3NhYmxlJ10sXG4gIG91dHB1dHM6IFsnb3BlbkNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZEaWFsb2cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkRpYWxvZ0VsZW1lbnQ7XG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RGlhbG9nIGV4dGVuZHMgQ29tcG9uZW50cy5OdkRpYWxvZyB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGRpYWxvZyBpcyBjbG9zaW5nIGluIG9yZGVyIHRvIGFsbG93IGZvciBjbGVhbnVwLCBkYXRhLWNhcHR1cmUsIGV0Yy4gQGJpbmQgb3BlblxuICAgKi9cbiAgb3BlbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NhbmNlbExhYmVsJywgJ2RhbmdlcicsICdkaXNhYmxlZCcsICdmb3JtJywgJ2xlYWRpbmdJY29uJywgJ3ByaW1hcnlCdXR0b25UeXBlJywgJ3ByaW1hcnlMYWJlbCcsICd0cmFpbGluZ0ljb24nLCAndW5kaXNtaXNzYWJsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZGlhbG9nZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjYW5jZWxMYWJlbCcsICdkYW5nZXInLCAnZGlzYWJsZWQnLCAnZm9ybScsICdsZWFkaW5nSWNvbicsICdwcmltYXJ5QnV0dG9uVHlwZScsICdwcmltYXJ5TGFiZWwnLCAndHJhaWxpbmdJY29uJywgJ3VuZGlzbWlzc2FibGUnXSxcbiAgb3V0cHV0czogWydkaWFsb2dDYW5jZWxlZCcsICdkaWFsb2dQcmltYXJ5Q2xpY2tlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkRpYWxvZ2Zvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52RGlhbG9nZm9vdGVyRWxlbWVudDtcbiAgQE91dHB1dCgpIGRpYWxvZ0NhbmNlbGVkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj4oKTtcbiAgQE91dHB1dCgpIGRpYWxvZ1ByaW1hcnlDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZEaWFsb2dmb290ZXIgZXh0ZW5kcyBDb21wb25lbnRzLk52RGlhbG9nZm9vdGVyIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY2FuY2VsIGJ1dHRvbiBpcyBjbGlja2VkLiBUaGlzIHdpbGwgY2xvc2UgdGhlIGRpYWxvZy5cbiAgICovXG4gIGRpYWxvZ0NhbmNlbGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBwcmltYXJ5IGJ1dHRvbiBpcyBjbGlja2VkLiBUaGlzIGFsbG93cyB0byBoYW5kbGUgdGhlXG5wcmltYXJ5IGFjdGlvbiBhbmQgcG90ZW50aWFsIGRhdGEgY2FwdHVyZSBiZWZvcmUgY2xvc2luZyB0aGUgZGlhbG9nLlxuICAgKi9cbiAgZGlhbG9nUHJpbWFyeUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnc3ViaGVhZGluZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZGlhbG9naGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoZWFkaW5nJywgJ3N1YmhlYWRpbmcnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZEaWFsb2doZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkRpYWxvZ2hlYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RGlhbG9naGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5OdkRpYWxvZ2hlYWRlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvZm9jdXMnLCAnY2xpY2tPdXRzaWRlJywgJ2NvbnRyb2xsZWQnLCAnb3BlbicsICdzaWRlJywgJ3NpemUnLCAnc3dpcGVUb09wZW4nLCAndW5kaXNtaXNzYWJsZScsICd3aWR0aCddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnY2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWRyYXdlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2NsaWNrT3V0c2lkZScsICdjb250cm9sbGVkJywgJ29wZW4nLCAnc2lkZScsICdzaXplJywgJ3N3aXBlVG9PcGVuJywgJ3VuZGlzbWlzc2FibGUnLCAnd2lkdGgnXSxcbiAgb3V0cHV0czogWydvcGVuQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkRyYXdlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52RHJhd2VyRWxlbWVudDtcbiAgQE91dHB1dCgpIG9wZW5DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZEcmF3ZXIgZXh0ZW5kcyBDb21wb25lbnRzLk52RHJhd2VyIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgZHJhd2VyIGlzIGNsb3NpbmcgaW4gb3JkZXIgdG8gYWxsb3cgZm9yIGNsZWFudXAsIGRhdGEtY2FwdHVyZSwgZXRjLiBAYmluZCBvcGVuXG4gICAqL1xuICBvcGVuQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2FuY2VsTGFiZWwnLCAnZGFuZ2VyJywgJ2Rpc2FibGVkJywgJ2Zvcm0nLCAnbGVhZGluZ0ljb24nLCAncHJpbWFyeUJ1dHRvblR5cGUnLCAncHJpbWFyeUxhYmVsJywgJ3RyYWlsaW5nSWNvbicsICd1bmRpc21pc3NhYmxlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1kcmF3ZXJmb290ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NhbmNlbExhYmVsJywgJ2RhbmdlcicsICdkaXNhYmxlZCcsICdmb3JtJywgJ2xlYWRpbmdJY29uJywgJ3ByaW1hcnlCdXR0b25UeXBlJywgJ3ByaW1hcnlMYWJlbCcsICd0cmFpbGluZ0ljb24nLCAndW5kaXNtaXNzYWJsZSddLFxuICBvdXRwdXRzOiBbJ2RyYXdlckNhbmNlbGVkJywgJ2RyYXdlclByaW1hcnlDbGlja2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RHJhd2VyZm9vdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZEcmF3ZXJmb290ZXJFbGVtZW50O1xuICBAT3V0cHV0KCkgZHJhd2VyQ2FuY2VsZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PigpO1xuICBAT3V0cHV0KCkgZHJhd2VyUHJpbWFyeUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkRyYXdlcmZvb3RlciBleHRlbmRzIENvbXBvbmVudHMuTnZEcmF3ZXJmb290ZXIge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjYW5jZWwgYnV0dG9uIGlzIGNsaWNrZWQuIFRoaXMgd2lsbCBjbG9zZSB0aGUgZHJhd2VyLlxuICAgKi9cbiAgZHJhd2VyQ2FuY2VsZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHByaW1hcnkgYnV0dG9uIGlzIGNsaWNrZWQuIFRoaXMgYWxsb3dzIHRvIGhhbmRsZSB0aGVcbnByaW1hcnkgYWN0aW9uIGFuZCBwb3RlbnRpYWwgZGF0YSBjYXB0dXJlIGJlZm9yZSBjbG9zaW5nIHRoZSBkcmF3ZXIuXG4gICAqL1xuICBkcmF3ZXJQcmltYXJ5Q2xpY2tlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGVhZGluZycsICdzdWJoZWFkaW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1kcmF3ZXJoZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnc3ViaGVhZGluZyddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkRyYXdlcmhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52RHJhd2VyaGVhZGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZEcmF3ZXJoZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLk52RHJhd2VyaGVhZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFSZXF1aXJlZEF0dHInLCAnYXV0b2ZvY3VzJywgJ2NoZWNrZWQnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZXJyb3JEZXNjcmlwdGlvbicsICdoaWRlTGFiZWwnLCAnaW5kZXRlcm1pbmF0ZScsICdpbnB1dElkJywgJ2xhYmVsJywgJ2xhYmVsQmVmb3JlJywgJ2xhYmVsUGxhY2VtZW50JywgJ21lc3NhZ2UnLCAnbmFtZScsICdyZWFkb25seScsICdyZXF1aXJlZCcsICd2YWxpZGF0aW9uJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1maWVsZGNoZWNrYm94JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhUmVxdWlyZWRBdHRyJywgJ2F1dG9mb2N1cycsICdjaGVja2VkJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnaGlkZUxhYmVsJywgJ2luZGV0ZXJtaW5hdGUnLCAnaW5wdXRJZCcsICdsYWJlbCcsICdsYWJlbEJlZm9yZScsICdsYWJlbFBsYWNlbWVudCcsICdtZXNzYWdlJywgJ25hbWUnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAndmFsaWRhdGlvbicsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2NoZWNrZWRDaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RmllbGRjaGVja2JveCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52RmllbGRjaGVja2JveEVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBjaGVja2VkQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RmllbGRjaGVja2JveCBleHRlbmRzIENvbXBvbmVudHMuTnZGaWVsZGNoZWNrYm94IHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGNoZWNrZWQgc3RhdGUgY2hhbmdlcy4gQGJpbmQgY2hlY2tlZFxuICAgKi9cbiAgY2hlY2tlZENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFSZXF1aXJlZEF0dHInLCAnYXV0b2ZvY3VzJywgJ2RhdGVGb3JtYXQnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZGlzYWJsZWREYXRlcycsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZpcnN0RGF5T2ZXZWVrJywgJ2ZsdWlkJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbG9jYWxlJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdudW1iZXJPZkNhbGVuZGFycycsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaG9ydGN1dHMnLCAnc2hvcnRjdXRzUGxhY2VtZW50JywgJ3Nob3dBY3Rpb25zJywgJ3Nob3dXZWVrTnVtYmVycycsICdzdWNjZXNzJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnY2xlYXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWZpZWxkZGF0ZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvZm9jdXMnLCAnZGF0ZUZvcm1hdCcsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdkaXNhYmxlZERhdGVzJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnZmlyc3REYXlPZldlZWsnLCAnZmx1aWQnLCAnaW5wdXRJZCcsICdsYWJlbCcsICdsb2NhbGUnLCAnbWF4JywgJ21pbicsICduYW1lJywgJ251bWJlck9mQ2FsZW5kYXJzJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3Nob3J0Y3V0cycsICdzaG9ydGN1dHNQbGFjZW1lbnQnLCAnc2hvd0FjdGlvbnMnLCAnc2hvd1dlZWtOdW1iZXJzJywgJ3N1Y2Nlc3MnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd2YWx1ZUNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZGaWVsZGRhdGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkZpZWxkZGF0ZUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RmllbGRkYXRlIGV4dGVuZHMgQ29tcG9uZW50cy5OdkZpZWxkZGF0ZSB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMgKHVuaWZpZWQgdmFsdWUgYmluZGluZykuIEBiaW5kIHZhbHVlXG4gICAqL1xuICB2YWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvZm9jdXMnLCAnZGF0ZUZvcm1hdCcsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdkaXNhYmxlZERhdGVzJywgJ2VuZElucHV0SWQnLCAnZW5kTmFtZScsICdlbmRQbGFjZWhvbGRlcicsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZpcnN0RGF5T2ZXZWVrJywgJ2ZsdWlkJywgJ2xhYmVsJywgJ2xvY2FsZScsICdtYXgnLCAnbWluJywgJ251bWJlck9mQ2FsZW5kYXJzJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3Nob3J0Y3V0cycsICdzaG9ydGN1dHNQbGFjZW1lbnQnLCAnc2hvd0FjdGlvbnMnLCAnc2hvd1dlZWtOdW1iZXJzJywgJ3N0YXJ0SW5wdXRJZCcsICdzdGFydE5hbWUnLCAnc3RhcnRQbGFjZWhvbGRlcicsICdzdWNjZXNzJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnY2xlYXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWZpZWxkZGF0ZXJhbmdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhUmVxdWlyZWRBdHRyJywgJ2F1dG9mb2N1cycsICdkYXRlRm9ybWF0JywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2Rpc2FibGVkRGF0ZXMnLCAnZW5kSW5wdXRJZCcsICdlbmROYW1lJywgJ2VuZFBsYWNlaG9sZGVyJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnZmlyc3REYXlPZldlZWsnLCAnZmx1aWQnLCAnbGFiZWwnLCAnbG9jYWxlJywgJ21heCcsICdtaW4nLCAnbnVtYmVyT2ZDYWxlbmRhcnMnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2hvcnRjdXRzJywgJ3Nob3J0Y3V0c1BsYWNlbWVudCcsICdzaG93QWN0aW9ucycsICdzaG93V2Vla051bWJlcnMnLCAnc3RhcnRJbnB1dElkJywgJ3N0YXJ0TmFtZScsICdzdGFydFBsYWNlaG9sZGVyJywgJ3N1Y2Nlc3MnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydkYXRlUmFuZ2VDaGFuZ2UnLCAndmFsdWVDaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RmllbGRkYXRlcmFuZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkZpZWxkZGF0ZXJhbmdlRWxlbWVudDtcbiAgQE91dHB1dCgpIGRhdGVSYW5nZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTE52Q2FsZW5kYXJFbGVtZW50RXZlbnRNYXBbJ3JhbmdlRGF0ZUNoYW5nZSddPj4oKTtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZGaWVsZGRhdGVyYW5nZSBleHRlbmRzIENvbXBvbmVudHMuTnZGaWVsZGRhdGVyYW5nZSB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGRhdGUgcmFuZ2UgY2hhbmdlcy5cbiAgICovXG4gIGRhdGVSYW5nZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxOdkNhbGVuZGFyRWxlbWVudEV2ZW50TWFwWydyYW5nZURhdGVDaGFuZ2UnXT4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB1bmlmaWVkIHZhbHVlIGNoYW5nZXMgQGJpbmQgdmFsdWVcbiAgICovXG4gIHZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhUmVxdWlyZWRBdHRyJywgJ2F1dG9jb21wbGV0ZScsICdhdXRvZm9jdXMnLCAnY29udHJvbGxlZEZpbHRlcicsICdkZWJvdW5jZURlbGF5JywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2VtcHR5UmVzdWx0JywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnZmlsdGVyTW9kZScsICdmaWx0ZXJhYmxlJywgJ2ZsdWlkJywgJ2Z1enp5VGhyZXNob2xkJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbG9jYWxlJywgJ21heEhlaWdodCcsICdtYXhSZXN1bHRzJywgJ25hbWUnLCAnb3Blbk9uU2VsZWN0JywgJ29wdGlvbnMnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3RhcnRGaWx0ZXJBdCcsICd0cnVuY2F0ZWRSZXN1bHRzVGV4dCcsICd2YWx1ZScsICd3b3JrZXJUaHJlc2hvbGQnXSxcbiAgbWV0aG9kczogWydjbGVhckZpbHRlcicsICd0b2dnbGVEcm9wZG93biddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZmllbGRkcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvY29tcGxldGUnLCAnYXV0b2ZvY3VzJywgJ2NvbnRyb2xsZWRGaWx0ZXInLCAnZGVib3VuY2VEZWxheScsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdlbXB0eVJlc3VsdCcsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZpbHRlck1vZGUnLCAnZmlsdGVyYWJsZScsICdmbHVpZCcsICdmdXp6eVRocmVzaG9sZCcsICdpbnB1dElkJywgJ2xhYmVsJywgJ2xvY2FsZScsICdtYXhIZWlnaHQnLCAnbWF4UmVzdWx0cycsICduYW1lJywgJ29wZW5PblNlbGVjdCcsICdvcHRpb25zJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3N0YXJ0RmlsdGVyQXQnLCAndHJ1bmNhdGVkUmVzdWx0c1RleHQnLCAndmFsdWUnLCAnd29ya2VyVGhyZXNob2xkJ10sXG4gIG91dHB1dHM6IFsndmFsdWVDaGFuZ2VkJywgJ2ZpbHRlclRleHRDaGFuZ2VkJywgJ29wZW5DaGFuZ2VkJywgJ2Ryb3Bkb3duSXRlbVNlbGVjdGVkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RmllbGRkcm9wZG93biB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52RmllbGRkcm9wZG93bkVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBmaWx0ZXJUZXh0Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj4oKTtcbiAgQE91dHB1dCgpIG9wZW5DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MTnZQb3BvdmVyRWxlbWVudEV2ZW50TWFwWydvcGVuQ2hhbmdlZCddPj4oKTtcbiAgQE91dHB1dCgpIGRyb3Bkb3duSXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MTnZGaWVsZGRyb3Bkb3duaXRlbUVsZW1lbnRFdmVudE1hcFsnZHJvcGRvd25JdGVtU2VsZWN0ZWQnXT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RmllbGRkcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuTnZGaWVsZGRyb3Bkb3duIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgdmFsdWUgY2hhbmdlcy4gQGJpbmQgdmFsdWVcbiAgICovXG4gIHZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBmaWx0ZXIgaW5wdXQgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gIGZpbHRlclRleHRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGRyb3Bkb3duIG9wZW5lZCBvciBjbG9zZWQuXG4gICAqL1xuICBvcGVuQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxOdlBvcG92ZXJFbGVtZW50RXZlbnRNYXBbJ29wZW5DaGFuZ2VkJ10+PjtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhbiBpdGVtIGlzIGNsaWNrZWQuIFByb3BhZ2F0aW9uIHByZXZlbnRlZCBpbiBsaXN0ZW5lci5cbiAgICovXG4gIGRyb3Bkb3duSXRlbVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTE52RmllbGRkcm9wZG93bml0ZW1FbGVtZW50RXZlbnRNYXBbJ2Ryb3Bkb3duSXRlbVNlbGVjdGVkJ10+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGV0YWNoZWQnLCAnZGlzYWJsZWQnLCAnbGFiZWwnLCAnc2VsZWN0ZWQnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWZpZWxkZHJvcGRvd25pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZXRhY2hlZCcsICdkaXNhYmxlZCcsICdsYWJlbCcsICdzZWxlY3RlZCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2Ryb3Bkb3duSXRlbVNlbGVjdGVkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RmllbGRkcm9wZG93bml0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkZpZWxkZHJvcGRvd25pdGVtRWxlbWVudDtcbiAgQE91dHB1dCgpIGRyb3Bkb3duSXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IC8qKiBUaGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGVtLiAqLyBsYWJlbD86IHN0cmluZzsgLyoqIFRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGl0ZW0uICovIHZhbHVlOiBzdHJpbmc7IC8qKiBJcyB0aGUgaXRlbSBkZXRhY2hlZD8gKi8gZGV0YWNoZWQ/OiBib29sZWFuOyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZGaWVsZGRyb3Bkb3duaXRlbSBleHRlbmRzIENvbXBvbmVudHMuTnZGaWVsZGRyb3Bkb3duaXRlbSB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGRyb3Bkb3duIGl0ZW0gaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBkcm9wZG93bkl0ZW1TZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgLyoqIFRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGl0ZW0uICovIGxhYmVsPzogc3RyaW5nOyAvKiogVGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUgaXRlbS4gKi8gdmFsdWU6IHN0cmluZzsgLyoqIElzIHRoZSBpdGVtIGRldGFjaGVkPyAqLyBkZXRhY2hlZD86IGJvb2xlYW47IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdncm91cCcsICdsYWJlbCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZmllbGRkcm9wZG93bml0ZW1jaGVjaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdncm91cCcsICdsYWJlbCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2l0ZW1DaGVja2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RmllbGRkcm9wZG93bml0ZW1jaGVjayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52RmllbGRkcm9wZG93bml0ZW1jaGVja0VsZW1lbnQ7XG4gIEBPdXRwdXQoKSBpdGVtQ2hlY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyAvKiogKiBUaGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgaXRlbSAqLyB2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkOyAvKiogKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBjdXJyZW50bHkgY2hlY2tlZCAqLyBjaGVja2VkOiBib29sZWFuOyAvKiogKiBUaGUgZ3JvdXAgdGhpcyBpdGVtIGJlbG9uZ3MgdG8sIGlmIGFueSAqLyBncm91cD86IHN0cmluZyB8IHVuZGVmaW5lZDsgfT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RmllbGRkcm9wZG93bml0ZW1jaGVjayBleHRlbmRzIENvbXBvbmVudHMuTnZGaWVsZGRyb3Bkb3duaXRlbWNoZWNrIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY2hlY2tib3ggaXMgdG9nZ2xlZC5cbkl0IHByb3ZpZGVzIGRldGFpbHMgYWJvdXQgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGl0ZW0uXG4gICAqL1xuICBpdGVtQ2hlY2tlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgLyoqICogVGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGl0ZW0gKi8gdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDsgLyoqICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgY3VycmVudGx5IGNoZWNrZWQgKi8gY2hlY2tlZDogYm9vbGVhbjsgLyoqICogVGhlIGdyb3VwIHRoaXMgaXRlbSBiZWxvbmdzIHRvLCBpZiBhbnkgKi8gZ3JvdXA/OiBzdHJpbmcgfCB1bmRlZmluZWQ7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvY29tcGxldGUnLCAnYXV0b2ZvY3VzJywgJ2JhZGdlTGFiZWwnLCAnZGVib3VuY2VEZWxheScsICdkZXNjcmlwdGlvbicsICdkZXNlbGVjdEFsbExhYmVsJywgJ2Rpc2FibGVkJywgJ2VtcHR5UmVzdWx0JywgJ2VuYWJsZVNlbGVjdEFsbCcsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZpbHRlck1vZGUnLCAnZmlsdGVyVGV4dCcsICdmaWx0ZXJhYmxlJywgJ2ZsdWlkJywgJ2Z1enp5VGhyZXNob2xkJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbG9jYWxlJywgJ21heEhlaWdodCcsICdtYXhSZXN1bHRzJywgJ25hbWUnLCAnb3BlbicsICdvcHRpb25zJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NlbGVjdEFsbExhYmVsJywgJ3N0YXJ0RmlsdGVyQXQnLCAndHJ1bmNhdGVkUmVzdWx0c1RleHQnLCAndmFsdWUnLCAnd29ya2VyVGhyZXNob2xkJ10sXG4gIG1ldGhvZHM6IFsnZ2V0RmlsdGVyVGV4dCcsICdyZXNldEZpbHRlcicsICdnZXRTZWxlY3RlZFZhbHVlcycsICdzZWxlY3RBbGwnLCAnZGVzZWxlY3RBbGwnLCAndG9nZ2xlU2VsZWN0QWxsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1maWVsZG11bHRpc2VsZWN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhUmVxdWlyZWRBdHRyJywgJ2F1dG9jb21wbGV0ZScsICdhdXRvZm9jdXMnLCAnYmFkZ2VMYWJlbCcsICdkZWJvdW5jZURlbGF5JywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2VsZWN0QWxsTGFiZWwnLCAnZGlzYWJsZWQnLCAnZW1wdHlSZXN1bHQnLCAnZW5hYmxlU2VsZWN0QWxsJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnZmlsdGVyTW9kZScsICdmaWx0ZXJUZXh0JywgJ2ZpbHRlcmFibGUnLCAnZmx1aWQnLCAnZnV6enlUaHJlc2hvbGQnLCAnaW5wdXRJZCcsICdsYWJlbCcsICdsb2NhbGUnLCAnbWF4SGVpZ2h0JywgJ21heFJlc3VsdHMnLCAnbmFtZScsICdvcGVuJywgJ29wdGlvbnMnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2VsZWN0QWxsTGFiZWwnLCAnc3RhcnRGaWx0ZXJBdCcsICd0cnVuY2F0ZWRSZXN1bHRzVGV4dCcsICd2YWx1ZScsICd3b3JrZXJUaHJlc2hvbGQnXSxcbiAgb3V0cHV0czogWyd2YWx1ZUNoYW5nZWQnLCAnZmlsdGVyVGV4dENoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZGaWVsZG11bHRpc2VsZWN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZGaWVsZG11bHRpc2VsZWN0RWxlbWVudDtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nW10+PigpO1xuICBAT3V0cHV0KCkgZmlsdGVyVGV4dENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RmllbGRtdWx0aXNlbGVjdCBleHRlbmRzIENvbXBvbmVudHMuTnZGaWVsZG11bHRpc2VsZWN0IHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgdmFsdWVzIGNoYW5nZS4gQGJpbmQgdmFsdWVcbiAgICovXG4gIHZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZ1tdPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGZpbHRlciB0ZXh0IGNoYW5nZXMuXG4gICAqL1xuICBmaWx0ZXJUZXh0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhUmVxdWlyZWRBdHRyJywgJ2F1dG9mb2N1cycsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZsdWlkJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbWF4JywgJ21lc3NhZ2UnLCAnbWluJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3RlcCcsICdzdWNjZXNzJywgJ3ZhbGlkYXRpb24nLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWZpZWxkbnVtYmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhUmVxdWlyZWRBdHRyJywgJ2F1dG9mb2N1cycsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZsdWlkJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbWF4JywgJ21lc3NhZ2UnLCAnbWluJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3RlcCcsICdzdWNjZXNzJywgJ3ZhbGlkYXRpb24nLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd2YWx1ZUNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZGaWVsZG51bWJlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52RmllbGRudW1iZXJFbGVtZW50O1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXIgfCBudWxsPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZGaWVsZG51bWJlciBleHRlbmRzIENvbXBvbmVudHMuTnZGaWVsZG51bWJlciB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGNoYW5nZXMuIEBiaW5kIHZhbHVlXG4gICAqL1xuICB2YWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXIgfCBudWxsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFSZXF1aXJlZEF0dHInLCAnYXV0b2NvbXBsZXRlJywgJ2F1dG9mb2N1cycsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZsdWlkJywgJ2hpZGVQYXNzd29yZEljb24nLCAnaW5wdXRJZCcsICdsYWJlbCcsICdtYXhsZW5ndGgnLCAnbWlubGVuZ3RoJywgJ21vZGUnLCAnbmFtZScsICdwYXR0ZXJuJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3Nob3dQYXNzd29yZCcsICdzdWNjZXNzJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1maWVsZHBhc3N3b3JkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhUmVxdWlyZWRBdHRyJywgJ2F1dG9jb21wbGV0ZScsICdhdXRvZm9jdXMnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZXJyb3JEZXNjcmlwdGlvbicsICdmbHVpZCcsICdoaWRlUGFzc3dvcmRJY29uJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbWF4bGVuZ3RoJywgJ21pbmxlbmd0aCcsICdtb2RlJywgJ25hbWUnLCAncGF0dGVybicsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaG93UGFzc3dvcmQnLCAnc3VjY2VzcycsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ3ZhbHVlQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkZpZWxkcGFzc3dvcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkZpZWxkcGFzc3dvcmRFbGVtZW50O1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkZpZWxkcGFzc3dvcmQgZXh0ZW5kcyBDb21wb25lbnRzLk52RmllbGRwYXNzd29yZCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGNoYW5nZXMuIEBiaW5kIHZhbHVlXG4gICAqL1xuICB2YWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2NoZWNrZWQnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZXJyb3JEZXNjcmlwdGlvbicsICdpbnB1dElkJywgJ2xhYmVsJywgJ2xhYmVsQmVmb3JlJywgJ2xhYmVsUGxhY2VtZW50JywgJ21lc3NhZ2UnLCAnbmFtZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtZmllbGRyYWRpbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2NoZWNrZWQnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZXJyb3JEZXNjcmlwdGlvbicsICdpbnB1dElkJywgJ2xhYmVsJywgJ2xhYmVsQmVmb3JlJywgJ2xhYmVsUGxhY2VtZW50JywgJ21lc3NhZ2UnLCAnbmFtZScsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2NoZWNrZWRDaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RmllbGRyYWRpbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52RmllbGRyYWRpb0VsZW1lbnQ7XG4gIEBPdXRwdXQoKSBjaGVja2VkQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RmllbGRyYWRpbyBleHRlbmRzIENvbXBvbmVudHMuTnZGaWVsZHJhZGlvIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGNoZWNrZWQgc3RhdGUgY2hhbmdlcy4gQGJpbmQgY2hlY2tlZFxuICAgKi9cbiAgY2hlY2tlZENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFSZXF1aXJlZEF0dHInLCAnYXV0b2ZvY3VzJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2Rpc3BsYXlWYWx1ZScsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZsdWlkJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbWVzc2FnZScsICdtdWx0aXBsZScsICduYW1lJywgJ29wdGlvbnMnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3VjY2VzcycsICd2YWxpZGF0aW9uJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1maWVsZHNlbGVjdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvZm9jdXMnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZGlzcGxheVZhbHVlJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnZmx1aWQnLCAnaW5wdXRJZCcsICdsYWJlbCcsICdtZXNzYWdlJywgJ211bHRpcGxlJywgJ25hbWUnLCAnb3B0aW9ucycsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzdWNjZXNzJywgJ3ZhbGlkYXRpb24nLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd2YWx1ZUNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZGaWVsZHNlbGVjdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52RmllbGRzZWxlY3RFbGVtZW50O1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkZpZWxkc2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50cy5OdkZpZWxkc2VsZWN0IHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgdmFsdWUgY2hhbmdlcy4gQGJpbmQgdmFsdWVcbiAgICovXG4gIHZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdlbmRJbnB1dElkJywgJ2VuZE5hbWUnLCAnZXJyb3InLCAnZXJyb3JEZXNjcmlwdGlvbicsICdmbHVpZCcsICdoYXNGaWVsZCcsICdoaWRlTGFiZWwnLCAnbGFiZWwnLCAnbGFiZWxBZnRlclZhbHVlJywgJ2xhYmVsQmVmb3JlVmFsdWUnLCAnbWF4JywgJ21pbicsICduYW1lJywgJ3JhbmdlJywgJ3JlYWRvbmx5JywgJ3Nob3dUaWNrcycsICdzbmFwJywgJ3NuYXBUaWNrcycsICdzdGFydElucHV0SWQnLCAnc3RlcCcsICdzdWNjZXNzJywgJ3RpY2tzJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1maWVsZHNsaWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZW5kSW5wdXRJZCcsICdlbmROYW1lJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnZmx1aWQnLCAnaGFzRmllbGQnLCAnaGlkZUxhYmVsJywgJ2xhYmVsJywgJ2xhYmVsQWZ0ZXJWYWx1ZScsICdsYWJlbEJlZm9yZVZhbHVlJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdyYW5nZScsICdyZWFkb25seScsICdzaG93VGlja3MnLCAnc25hcCcsICdzbmFwVGlja3MnLCAnc3RhcnRJbnB1dElkJywgJ3N0ZXAnLCAnc3VjY2VzcycsICd0aWNrcycsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ3ZhbHVlQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkZpZWxkc2xpZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZGaWVsZHNsaWRlckVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcltdPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZGaWVsZHNsaWRlciBleHRlbmRzIENvbXBvbmVudHMuTnZGaWVsZHNsaWRlciB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHNsaWRlciB2YWx1ZXMgY2hhbmdlLiBAYmluZCB2YWx1ZVxuICAgKi9cbiAgdmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyW10+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvY29tcGxldGUnLCAnYXV0b2ZvY3VzJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnZmx1aWQnLCAnaW5wdXRJZCcsICdsYWJlbCcsICdtYXhsZW5ndGgnLCAnbWVzc2FnZScsICdtaW5sZW5ndGgnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdwYXR0ZXJuJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3N1Y2Nlc3MnLCAndGV4dElucHV0VHlwZScsICd0eXBlJywgJ3ZhbGlkYXRpb24nLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWZpZWxkdGV4dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvY29tcGxldGUnLCAnYXV0b2ZvY3VzJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnZmx1aWQnLCAnaW5wdXRJZCcsICdsYWJlbCcsICdtYXhsZW5ndGgnLCAnbWVzc2FnZScsICdtaW5sZW5ndGgnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdwYXR0ZXJuJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3N1Y2Nlc3MnLCAndGV4dElucHV0VHlwZScsICd0eXBlJywgJ3ZhbGlkYXRpb24nLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd2YWx1ZUNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZGaWVsZHRleHQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdkZpZWxkdGV4dEVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52RmllbGR0ZXh0IGV4dGVuZHMgQ29tcG9uZW50cy5OdkZpZWxkdGV4dCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGNoYW5nZXMuIEBiaW5kIHZhbHVlXG4gICAqL1xuICB2YWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYVJlcXVpcmVkQXR0cicsICdhdXRvZm9jdXMnLCAnYXV0b3NpemUnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZXJyb3JEZXNjcmlwdGlvbicsICdmbHVpZCcsICdpbnB1dElkJywgJ2xhYmVsJywgJ21heEF1dG9IZWlnaHQnLCAnbWF4bGVuZ3RoJywgJ21lc3NhZ2UnLCAnbWlubGVuZ3RoJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAncmVzaXplJywgJ3Jvd3MnLCAnc3VjY2VzcycsICd2YWxpZGF0aW9uJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1maWVsZHRleHRhcmVhJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhUmVxdWlyZWRBdHRyJywgJ2F1dG9mb2N1cycsICdhdXRvc2l6ZScsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdlcnJvcicsICdlcnJvckRlc2NyaXB0aW9uJywgJ2ZsdWlkJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbWF4QXV0b0hlaWdodCcsICdtYXhsZW5ndGgnLCAnbWVzc2FnZScsICdtaW5sZW5ndGgnLCAnbmFtZScsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdyZXNpemUnLCAncm93cycsICdzdWNjZXNzJywgJ3ZhbGlkYXRpb24nLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd2YWx1ZUNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZGaWVsZHRleHRhcmVhIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZGaWVsZHRleHRhcmVhRWxlbWVudDtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZGaWVsZHRleHRhcmVhIGV4dGVuZHMgQ29tcG9uZW50cy5OdkZpZWxkdGV4dGFyZWEge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB0ZXh0YXJlYSB2YWx1ZSBjaGFuZ2VzLiBAYmluZCB2YWx1ZVxuICAgKi9cbiAgdmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFSZXF1aXJlZEF0dHInLCAnYXV0b2ZvY3VzJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnZm9ybWF0JywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbWF4JywgJ21pbicsICduYW1lJywgJ29wZW4nLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3RlcCcsICdzdWNjZXNzJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1maWVsZHRpbWUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFSZXF1aXJlZEF0dHInLCAnYXV0b2ZvY3VzJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9yRGVzY3JpcHRpb24nLCAnZm9ybWF0JywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbWF4JywgJ21pbicsICduYW1lJywgJ29wZW4nLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3RlcCcsICdzdWNjZXNzJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsndmFsdWVDaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52RmllbGR0aW1lIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZGaWVsZHRpbWVFbGVtZW50O1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdkZpZWxkdGltZSBleHRlbmRzIENvbXBvbmVudHMuTnZGaWVsZHRpbWUge1xuICAvKipcbiAgICogRW1pdCBhbiBldmVudCB3aGVuIHRoZSB0aW1lIHZhbHVlIGNoYW5nZXMuXG5UaGUgZXZlbnQgZGV0YWlsIGNvbnRhaW5zIHRoZSBuZXcgdGltZSB2YWx1ZSBpbiB0aGUgZm9ybWF0IHNwZWNpZmllZCBieSB0aGUgZm9ybWF0IHByb3BlcnR5LiBAYmluZCB2YWx1ZVxuICAgKi9cbiAgdmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2xhcmdlJywgJ21lZGl1bScsICduYW1lJywgJ3NpemUnLCAnc21hbGwnLCAneGxhcmdlJywgJ3hzbWFsbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sb3InLCAnbGFyZ2UnLCAnbWVkaXVtJywgJ25hbWUnLCAnc2l6ZScsICdzbWFsbCcsICd4bGFyZ2UnLCAneHNtYWxsJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52SWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52SWNvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52SWNvbiBleHRlbmRzIENvbXBvbmVudHMuTnZJY29uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdkaXNhYmxlVGFiaW5kZXgnLCAnZGlzYWJsZWQnLCAnZW1waGFzaXMnLCAnbG9hZGluZycsICduYW1lJywgJ3NoYXBlJywgJ3NpemUnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtaWNvbmJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2Rpc2FibGVUYWJpbmRleCcsICdkaXNhYmxlZCcsICdlbXBoYXNpcycsICdsb2FkaW5nJywgJ25hbWUnLCAnc2hhcGUnLCAnc2l6ZScsICd0eXBlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52SWNvbmJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52SWNvbmJ1dHRvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52SWNvbmJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuTnZJY29uYnV0dG9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LWxvYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sb3InLCAnc2l6ZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdkxvYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52TG9hZGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZMb2FkZXIgZXh0ZW5kcyBDb21wb25lbnRzLk52TG9hZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVDbG9zZU9uU2VsZWN0JywgJ2l0ZW1zJywgJ25lc3RlZCcsICdvcGVuJywgJ3BsYWNlbWVudCddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnY2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LW1lbnUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVDbG9zZU9uU2VsZWN0JywgJ2l0ZW1zJywgJ25lc3RlZCcsICdvcGVuJywgJ3BsYWNlbWVudCddLFxuICBvdXRwdXRzOiBbJ21lbnVpdGVtU2VsZWN0ZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZNZW51IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZNZW51RWxlbWVudDtcbiAgQE91dHB1dCgpIG1lbnVpdGVtU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxOdk1lbnVpdGVtRWxlbWVudEV2ZW50TWFwWydtZW51aXRlbVNlbGVjdGVkJ10+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdk1lbnUgZXh0ZW5kcyBDb21wb25lbnRzLk52TWVudSB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIGZyb20gbnYtbWVudWl0ZW0gZWxlbWVudHMgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBpZCBhbmQgbmFtZSB3aGVuXG5zZWxlY3RlZCAodmlhIGNsaWNrIG9yIGtleWJvYXJkKS4gVGhpcyBldmVudCBsaXN0ZW5lciBjYW4gYmUgYXR0YWNoZWQgdG9cbmVpdGhlciB0aGUgbnYtbWVudSBvciB0aGUgbnYtbWVudWl0ZW0gZWxlbWVudC5cbiAgICovXG4gIG1lbnVpdGVtU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MTnZNZW51aXRlbUVsZW1lbnRFdmVudE1hcFsnbWVudWl0ZW1TZWxlY3RlZCddPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hhc1N1Ym1lbnUnLCAnaWNvbicsICdsYWJlbCcsICduYW1lJywgJ3Nob3J0Y3V0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1tZW51aXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaGFzU3VibWVudScsICdpY29uJywgJ2xhYmVsJywgJ25hbWUnLCAnc2hvcnRjdXQnXSxcbiAgb3V0cHV0czogWydtZW51aXRlbVNlbGVjdGVkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52TWVudWl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdk1lbnVpdGVtRWxlbWVudDtcbiAgQE91dHB1dCgpIG1lbnVpdGVtU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgLyoqICogVGhlIGlkIG9mIHRoZSBtZW51IGl0ZW0gdGhhdCB3YXMgc2VsZWN0ZWQuICovIGlkPzogSFRNTEVsZW1lbnRbJ2lkJ107IC8qKiAqIFRoZSBuYW1lIG9mIHRoZSBtZW51IGl0ZW0gdGhhdCB3YXMgc2VsZWN0ZWQuICovIG5hbWU/OiBzdHJpbmc7IC8qKiAqIEluZGljYXRlcyBpZiB0aGUgbWVudSBpdGVtIGhhcyBhIG5lc3RlZCBzdWJtZW51LiAqLyBoYXNTdWJtZW51PzogYm9vbGVhbjsgfT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52TWVudWl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLk52TWVudWl0ZW0ge1xuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgbWVudSBpdGVtIGlzIHNlbGVjdGVkIChjbGljayBvciBrZXlwcmVzcykuIFdpbGwgaW5jbHVkZSB0aGVcbmlkIGFuZCBuYW1lIG9mIHRoZSBtZW51IGl0ZW0uXG4gICAqL1xuICBtZW51aXRlbVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyAvKiogKiBUaGUgaWQgb2YgdGhlIG1lbnUgaXRlbSB0aGF0IHdhcyBzZWxlY3RlZC4gKi8gaWQ/OiBIVE1MRWxlbWVudFsnaWQnXTsgLyoqICogVGhlIG5hbWUgb2YgdGhlIG1lbnUgaXRlbSB0aGF0IHdhcyBzZWxlY3RlZC4gKi8gbmFtZT86IHN0cmluZzsgLyoqICogSW5kaWNhdGVzIGlmIHRoZSBtZW51IGl0ZW0gaGFzIGEgbmVzdGVkIHN1Ym1lbnUuICovIGhhc1N1Ym1lbnU/OiBib29sZWFuOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc21pc3NpYmxlJywgJ2VtcGhhc2lzJywgJ2ZlZWRiYWNrJywgJ2hlYWRpbmcnLCAnaGlkZGVuJywgJ2ljb24nLCAnaW5pdGlhbGx5SGlkZGVuJywgJ21lc3NhZ2UnLCAndWlkJ10sXG4gIG1ldGhvZHM6IFsnZGlzbWlzcycsICdzaG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1ub3RpZmljYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc21pc3NpYmxlJywgJ2VtcGhhc2lzJywgJ2ZlZWRiYWNrJywgJ2hlYWRpbmcnLCAnaGlkZGVuJywgJ2ljb24nLCAnaW5pdGlhbGx5SGlkZGVuJywgJ21lc3NhZ2UnLCAndWlkJ10sXG4gIG91dHB1dHM6IFsnaGlkZGVuQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdk5vdGlmaWNhdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52Tm90aWZpY2F0aW9uRWxlbWVudDtcbiAgQE91dHB1dCgpIGhpZGRlbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdk5vdGlmaWNhdGlvbiBleHRlbmRzIENvbXBvbmVudHMuTnZOb3RpZmljYXRpb24ge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgJ2hpZGRlbicgcHJvcCBjaGFuZ2VzLCByZWZsZWN0aW5nIGEgY2hhbmdlIGluIHZpc2liaWxpdHkuXG5QYXNzZXMgaGlkZGVuIHZhbHVlIHRvIHRoZSBkZXRhaWwuIEBiaW5kIGhpZGRlblxuICAgKi9cbiAgaGlkZGVuQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udHJhc3RpbmdCb3JkZXInLCAnY291bnQnLCAnZW1waGFzaXMnLCAnaW50ZW50aW9uJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LW5vdGlmaWNhdGlvbi1idWxsZXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbnRyYXN0aW5nQm9yZGVyJywgJ2NvdW50JywgJ2VtcGhhc2lzJywgJ2ludGVudGlvbicsICdzaXplJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52Tm90aWZpY2F0aW9uQnVsbGV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZOb3RpZmljYXRpb25CdWxsZXRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdk5vdGlmaWNhdGlvbkJ1bGxldCBleHRlbmRzIENvbXBvbmVudHMuTnZOb3RpZmljYXRpb25CdWxsZXQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncG9zaXRpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LW5vdGlmaWNhdGlvbmNvbnRhaW5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsncG9zaXRpb24nXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZOb3RpZmljYXRpb25jb250YWluZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdk5vdGlmaWNhdGlvbmNvbnRhaW5lckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52Tm90aWZpY2F0aW9uY29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5Odk5vdGlmaWNhdGlvbmNvbnRhaW5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjdXJyZW50UGFnZScsICdpc09ubHlJY29uJywgJ25leHRCdXR0b25MYWJlbCcsICdudW1FbmRab25lQnV0dG9ucycsICdudW1NaWRkbGVCdXR0b25zJywgJ251bVN0YXJ0Wm9uZUJ1dHRvbnMnLCAncGFnZVNpemUnLCAncHJldmlvdXNCdXR0b25MYWJlbCcsICdzaG93TWlkZGxlWm9uZScsICd0b3RhbENvdW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1wYWdpbmF0aW9uLW5hdicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3VycmVudFBhZ2UnLCAnaXNPbmx5SWNvbicsICduZXh0QnV0dG9uTGFiZWwnLCAnbnVtRW5kWm9uZUJ1dHRvbnMnLCAnbnVtTWlkZGxlQnV0dG9ucycsICdudW1TdGFydFpvbmVCdXR0b25zJywgJ3BhZ2VTaXplJywgJ3ByZXZpb3VzQnV0dG9uTGFiZWwnLCAnc2hvd01pZGRsZVpvbmUnLCAndG90YWxDb3VudCddLFxuICBvdXRwdXRzOiBbJ2N1cnJlbnRQYWdlQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlBhZ2luYXRpb25OYXYge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdlBhZ2luYXRpb25OYXZFbGVtZW50O1xuICBAT3V0cHV0KCkgY3VycmVudFBhZ2VDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdlBhZ2luYXRpb25OYXYgZXh0ZW5kcyBDb21wb25lbnRzLk52UGFnaW5hdGlvbk5hdiB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGN1cnJlbnQgcGFnZSBjaGFuZ2VzLiBAYmluZCBjdXJyZW50UGFnZVxuICAgKi9cbiAgY3VycmVudFBhZ2VDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hpZGVDb250cm9scycsICdoaWRlRmlyc3RMYXN0JywgJ2hpZGVQcmV2TmV4dCcsICdsYWJlbFBhZ2UnLCAnbGFiZWxQYWdlU2l6ZU9wdGlvbicsICdsYWJlbFRvdGFsJywgJ3BhZ2VDb3VudCcsICdwYWdlSW5kZXgnLCAncGFnZVNpemUnLCAncm93Q291bnQnXSxcbiAgbWV0aG9kczogWydmaXJzdFBhZ2UnLCAncHJldmlvdXNQYWdlJywgJ25leHRQYWdlJywgJ2xhc3RQYWdlJywgJ3NldFBhZ2VJbmRleCcsICdzZXRQYWdlU2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtcGFnaW5hdGlvbnRhYmxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoaWRlQ29udHJvbHMnLCAnaGlkZUZpcnN0TGFzdCcsICdoaWRlUHJldk5leHQnLCAnbGFiZWxQYWdlJywgJ2xhYmVsUGFnZVNpemVPcHRpb24nLCAnbGFiZWxUb3RhbCcsICdwYWdlQ291bnQnLCAncGFnZUluZGV4JywgJ3BhZ2VTaXplJywgJ3Jvd0NvdW50J10sXG4gIG91dHB1dHM6IFsncGFnZUluZGV4Q2hhbmdlZCcsICdwYWdlU2l6ZUNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZQYWdpbmF0aW9udGFibGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdlBhZ2luYXRpb250YWJsZUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBwYWdlSW5kZXhDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PigpO1xuICBAT3V0cHV0KCkgcGFnZVNpemVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdlBhZ2luYXRpb250YWJsZSBleHRlbmRzIENvbXBvbmVudHMuTnZQYWdpbmF0aW9udGFibGUge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBwYWdlIGluZGV4IGNoYW5nZXMuIEBiaW5kIHBhZ2VJbmRleFxuICAgKi9cbiAgcGFnZUluZGV4Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBwYWdlIHNpemUgY2hhbmdlcy5cbiAgICovXG4gIHBhZ2VTaXplQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlRmxpcCcsICdlbnRlckRlbGF5JywgJ2dyb3VwTmFtZScsICdoYXNBcnJvdycsICduZXN0ZWQnLCAnb2Zmc2V0JywgJ29wZW4nLCAncGxhY2VtZW50JywgJ3NoaWZ0UGFkZGluZycsICdzdHJhdGVneScsICd0cmlnZ2VyTW9kZSddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnaGlkZScsICd0b2dnbGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LXBvcG92ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVGbGlwJywgJ2VudGVyRGVsYXknLCAnZ3JvdXBOYW1lJywgJ2hhc0Fycm93JywgJ25lc3RlZCcsICdvZmZzZXQnLCAnb3BlbicsICdwbGFjZW1lbnQnLCAnc2hpZnRQYWRkaW5nJywgJ3N0cmF0ZWd5JywgJ3RyaWdnZXJNb2RlJ10sXG4gIG91dHB1dHM6IFsnb3BlbkNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZQb3BvdmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZQb3BvdmVyRWxlbWVudDtcbiAgQE91dHB1dCgpIG9wZW5DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZQb3BvdmVyIGV4dGVuZHMgQ29tcG9uZW50cy5OdlBvcG92ZXIge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBwb3BvdmVyIGlzIHRvZ2dsZWQuIEBiaW5kIG9wZW5cbiAgICovXG4gIG9wZW5DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtcm93JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52Um93IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZSb3dFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdlJvdyBleHRlbmRzIENvbXBvbmVudHMuTnZSb3cge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlUGF0aCcsICdub3RpZmljYXRpb25FbXBoYXNpcycsICdub3RpZmljYXRpb25JbnRlbnRpb24nLCAnb3BlbicsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1zaWRlYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmVQYXRoJywgJ25vdGlmaWNhdGlvbkVtcGhhc2lzJywgJ25vdGlmaWNhdGlvbkludGVudGlvbicsICdvcGVuJywgJ3R5cGUnXSxcbiAgb3V0cHV0czogWydvcGVuQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlNpZGViYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdlNpZGViYXJFbGVtZW50O1xuICBAT3V0cHV0KCkgb3BlbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdlNpZGViYXIgZXh0ZW5kcyBDb21wb25lbnRzLk52U2lkZWJhciB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIG9wZW4gc3RhdGUgY2hhbmdlcy4gQGJpbmQgb3BlblxuICAgKi9cbiAgb3BlbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1zaWRlYmFyY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlNpZGViYXJjb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZTaWRlYmFyY29udGVudEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52U2lkZWJhcmNvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLk52U2lkZWJhcmNvbnRlbnQge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LXNpZGViYXJkaXZpZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52U2lkZWJhcmRpdmlkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdlNpZGViYXJkaXZpZGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZTaWRlYmFyZGl2aWRlciBleHRlbmRzIENvbXBvbmVudHMuTnZTaWRlYmFyZGl2aWRlciB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtc2lkZWJhcmZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlNpZGViYXJmb290ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdlNpZGViYXJmb290ZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdlNpZGViYXJmb290ZXIgZXh0ZW5kcyBDb21wb25lbnRzLk52U2lkZWJhcmZvb3RlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsYWJlbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtc2lkZWJhcmdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsYWJlbCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlNpZGViYXJncm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52U2lkZWJhcmdyb3VwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZTaWRlYmFyZ3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLk52U2lkZWJhcmdyb3VwIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1zaWRlYmFyaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52U2lkZWJhcmhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52U2lkZWJhcmhlYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52U2lkZWJhcmhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuTnZTaWRlYmFyaGVhZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbGxhcHNlZExvZ28nLCAnbGFiZWwnLCAnbG9nbyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtc2lkZWJhcmxvZ28nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbGxhcHNlZExvZ28nLCAnbGFiZWwnLCAnbG9nbyddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlNpZGViYXJsb2dvIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZTaWRlYmFybG9nb0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52U2lkZWJhcmxvZ28gZXh0ZW5kcyBDb21wb25lbnRzLk52U2lkZWJhcmxvZ28ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2NvbGxhcHNpYmxlJywgJ2ljb24nLCAnbm90aWZpY2F0aW9uQ291bnQnLCAnb3BlbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtc2lkZWJhcm5hdml0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb2xsYXBzaWJsZScsICdpY29uJywgJ25vdGlmaWNhdGlvbkNvdW50JywgJ29wZW4nXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZTaWRlYmFybmF2aXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52U2lkZWJhcm5hdml0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdlNpZGViYXJuYXZpdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5OdlNpZGViYXJuYXZpdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtc2lkZWJhcm5hdnN1Yml0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlNpZGViYXJuYXZzdWJpdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZTaWRlYmFybmF2c3ViaXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52U2lkZWJhcm5hdnN1Yml0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLk52U2lkZWJhcm5hdnN1Yml0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlyZWN0aW9uJywgJ2d1dHRlclNpemUnLCAnbWluU2l6ZXMnLCAnc2l6ZXMnXSxcbiAgbWV0aG9kczogWydzZXRTaXplcycsICdnZXRTaXplcycsICdjb2xsYXBzZScsICdkZXN0cm95J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi1zcGxpdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlyZWN0aW9uJywgJ2d1dHRlclNpemUnLCAnbWluU2l6ZXMnLCAnc2l6ZXMnXSxcbiAgb3V0cHV0czogWydzaXplc0NoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZTcGxpdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52U3BsaXRFbGVtZW50O1xuICBAT3V0cHV0KCkgc2l6ZXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXJbXT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52U3BsaXQgZXh0ZW5kcyBDb21wb25lbnRzLk52U3BsaXQge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHBhbmUgc2l6ZXMgYXJlIHVwZGF0ZWQgKGRyYWcgc3RhcnQvc3RvcCBvciBwcm9ncmFtbWF0aWNhbGx5KS4gQGJpbmQgc2l6ZXNcbiAgICovXG4gIHNpemVzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcltdPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ZpbGwnLCAnZmxleCcsICdmdWxsJywgJ2d1dHRlcicsICd2ZXJ0aWNhbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtc3RhY2snLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ZpbGwnLCAnZmxleCcsICdmdWxsJywgJ2d1dHRlcicsICd2ZXJ0aWNhbCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlN0YWNrIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZTdGFja0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52U3RhY2sgZXh0ZW5kcyBDb21wb25lbnRzLk52U3RhY2sge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LXRhYmxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52VGFibGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdlRhYmxlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZUYWJsZSBleHRlbmRzIENvbXBvbmVudHMuTnZUYWJsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzb3J0RGlyZWN0aW9uJywgJ3NvcnRhYmxlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi10YWJsZWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc29ydERpcmVjdGlvbicsICdzb3J0YWJsZSddLFxuICBvdXRwdXRzOiBbJ3NvcnREaXJlY3Rpb25DaGFuZ2VkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE52VGFibGVoZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxOdlRhYmxlaGVhZGVyRWxlbWVudDtcbiAgQE91dHB1dCgpIHNvcnREaXJlY3Rpb25DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBOdlRhYmxlaGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5OdlRhYmxlaGVhZGVyIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc29ydCBkaXJlY3Rpb24gY2hhbmdlcy4gUGF5bG9hZCBpcyB0aGUgbmV3IHNvcnRcbmRpcmVjdGlvbi5cbiAgICovXG4gIHNvcnREaXJlY3Rpb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnaGlkZUxhYmVsJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbGFiZWxQbGFjZW1lbnQnLCAnbmFtZScsICdyZWFkb25seScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnYtdG9nZ2xlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2hpZGVMYWJlbCcsICdpbnB1dElkJywgJ2xhYmVsJywgJ2xhYmVsUGxhY2VtZW50JywgJ25hbWUnLCAncmVhZG9ubHknLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydjaGVja2VkQ2hhbmdlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlRvZ2dsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52VG9nZ2xlRWxlbWVudDtcbiAgQE91dHB1dCgpIGNoZWNrZWRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZUb2dnbGUgZXh0ZW5kcyBDb21wb25lbnRzLk52VG9nZ2xlIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGNoZWNrZWQgc3RhdGUgY2hhbmdlcy4gQGJpbmQgY2hlY2tlZFxuICAgKi9cbiAgY2hlY2tlZENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdkaXNhYmxlZCcsICdlbXBoYXNpcycsICdzaXplJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi10b2dnbGVidXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdkaXNhYmxlZCcsICdlbXBoYXNpcycsICdzaXplJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsndG9nZ2xlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOdlRvZ2dsZWJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52VG9nZ2xlYnV0dG9uRWxlbWVudDtcbiAgQE91dHB1dCgpIHRvZ2dsZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgLyoqIFRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGJ1dHRvbi4gKi8gdmFsdWU6IHN0cmluZzsgLyoqIElmIHRoZSBidXR0b24gaXMgYWN0aXZlIHdoZW4gY2xpY2tlZC4gKi8gYWN0aXZlOiBib29sZWFuOyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZUb2dnbGVidXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLk52VG9nZ2xlYnV0dG9uIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgYnV0dG9uIGlzIHRvZ2dsZWQuIFdpbGwgYnViYmxlIHVwIHNvIHRoYXQgdGhlXG5udi10b2dnbGVidXR0b25ncm91cCBjYW4gdXBkYXRlIHRoZSBzdGF0ZS5cbiAgICovXG4gIHRvZ2dsZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IC8qKiBUaGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBidXR0b24uICovIHZhbHVlOiBzdHJpbmc7IC8qKiBJZiB0aGUgYnV0dG9uIGlzIGFjdGl2ZSB3aGVuIGNsaWNrZWQuICovIGFjdGl2ZTogYm9vbGVhbjsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydlbXBoYXNpcycsICdlbmZvcmNlVmFsdWUnLCAnZXhjbHVzaXZlJywgJ3NpemUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ252LXRvZ2dsZWJ1dHRvbmdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydlbXBoYXNpcycsICdlbmZvcmNlVmFsdWUnLCAnZXhjbHVzaXZlJywgJ3NpemUnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd2YWx1ZUNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZUb2dnbGVidXR0b25ncm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE52VG9nZ2xlYnV0dG9uZ3JvdXBFbGVtZW50O1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmdbXT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE52VG9nZ2xlYnV0dG9uZ3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLk52VG9nZ2xlYnV0dG9uZ3JvdXAge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCB0b2dnbGUgYnV0dG9ucyBjaGFuZ2UuIEBiaW5kIHZhbHVlXG4gICAqL1xuICB2YWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmdbXT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydlbnRlckRlbGF5JywgJ21lc3NhZ2UnLCAncGxhY2VtZW50JywgJ3N0cmF0ZWd5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudi10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydlbnRlckRlbGF5JywgJ21lc3NhZ2UnLCAncGxhY2VtZW50JywgJ3N0cmF0ZWd5J10sXG4gIG91dHB1dHM6IFsnb3BlbkNoYW5nZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnZUb29sdGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTnZUb29sdGlwRWxlbWVudDtcbiAgQE91dHB1dCgpIG9wZW5DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTnZUb29sdGlwIGV4dGVuZHMgQ29tcG9uZW50cy5OdlRvb2x0aXAge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB0b29sdGlwIGlzIG9wZW5lZCBvciBjbG9zZWQuIEJ1YmJsZXMgdXAgZnJvbSB0aGUgcG9wb3ZlclxuZWxlbWVudC5cbiAgICovXG4gIG9wZW5DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbiJdfQ==