@c8y/ngx-components 1021.56.5 → 1021.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/context-dashboard/context-dashboard.component.d.ts.map +1 -1
  2. package/context-dashboard/context-dashboard.service.d.ts +1 -1
  3. package/context-dashboard/context-dashboard.service.d.ts.map +1 -1
  4. package/core/dashboard/dashboard.model.d.ts +1 -1
  5. package/core/dashboard/dashboard.model.d.ts.map +1 -1
  6. package/core/dashboard/widgets-dashboard.component.d.ts +3 -2
  7. package/core/dashboard/widgets-dashboard.component.d.ts.map +1 -1
  8. package/datapoint-explorer/view/configuration/name-generator.service.d.ts +7 -0
  9. package/datapoint-explorer/view/configuration/name-generator.service.d.ts.map +1 -0
  10. package/datapoint-explorer/view/configuration/workspace-configuration.component.d.ts +1 -0
  11. package/datapoint-explorer/view/configuration/workspace-configuration.component.d.ts.map +1 -1
  12. package/ecosystem/microservices/add-microservice.component.d.ts.map +1 -1
  13. package/esm2022/context-dashboard/context-dashboard.component.mjs +2 -6
  14. package/esm2022/context-dashboard/context-dashboard.service.mjs +14 -8
  15. package/esm2022/context-dashboard/dashboard-detail.component.mjs +2 -2
  16. package/esm2022/core/dashboard/dashboard.model.mjs +2 -2
  17. package/esm2022/core/dashboard/widgets-dashboard.component.mjs +9 -8
  18. package/esm2022/datapoint-explorer/view/configuration/name-generator.service.mjs +20 -0
  19. package/esm2022/datapoint-explorer/view/configuration/workspace-configuration.component.mjs +4 -4
  20. package/esm2022/ecosystem/microservices/add-microservice.component.mjs +2 -2
  21. package/esm2022/upgrade/upgraded-services/roles.service.mjs +1 -1
  22. package/esm2022/user-roles/roles-asset-tree/roles-asset-tree.component.mjs +2 -2
  23. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +14 -12
  24. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  25. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +19 -2
  26. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
  27. package/fesm2022/c8y-ngx-components-ecosystem.mjs +1 -1
  28. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  29. package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs.map +1 -1
  30. package/fesm2022/c8y-ngx-components-user-roles.mjs +1 -1
  31. package/fesm2022/c8y-ngx-components-user-roles.mjs.map +1 -1
  32. package/fesm2022/c8y-ngx-components.mjs +8 -7
  33. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  34. package/package.json +1 -1
  35. package/upgrade/upgraded-services/roles.service.d.ts +1 -1
  36. package/upgrade/upgraded-services/roles.service.d.ts.map +1 -1
@@ -231,7 +231,7 @@ export class DashboardDetailComponent {
231
231
  const mo = await this.contextDashboardService.create(this.dashboard, this.currentContext);
232
232
  await this.onCreateGSEvent(mo);
233
233
  this.cleanupAfterDetailsClose();
234
- await this.contextDashboardService.navigateToDashboard(mo);
234
+ await this.contextDashboardService.navigateToDashboard(mo, true);
235
235
  }
236
236
  async onCreateGSEvent(mo) {
237
237
  const parentName = await this.convertStringToHash(this.context?.name);
@@ -409,4 +409,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
409
409
  }], previewChanged: [{
410
410
  type: Output
411
411
  }], convertStringToHash: [] } });
412
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb250ZXh0LWRhc2hib2FyZC9kYXNoYm9hcmQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL2Rhc2hib2FyZC1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsZUFBZSxFQUVmLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsT0FBTyxFQUNQLFlBQVksRUFDWixPQUFPLEVBQ1AsWUFBWSxFQUNaLE1BQU0sRUFFTixXQUFXLEVBQ1osTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBSUwsMEJBQTBCLEVBQzFCLHFCQUFxQixFQUdyQixrQkFBa0IsRUFDbEIsdUNBQXVDLEVBQ3hDLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxz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IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEFwcFN0YXRlU2VydmljZSxcbiAgQ29udGV4dERhdGEsXG4gIENvbnRleHRSb3V0ZVNlcnZpY2UsXG4gIEdhaW5zaWdodFNlcnZpY2UsXG4gIGdldHRleHQsXG4gIEdyb3VwU2VydmljZSxcbiAgbWVtb2l6ZSxcbiAgTW9kYWxTZXJ2aWNlLFxuICBTdGF0dXMsXG4gIFRhYixcbiAgVGFic1NlcnZpY2Vcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBjbG9uZSwgY2xvbmVEZWVwLCBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFsbG93VHlwZURhc2hib2FyZCxcbiAgQ29udGV4dERhc2hib2FyZCxcbiAgQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3QsXG4gIERBU0hCT0FSRF9TRVRUSU5HU19DSEFOR0VTLFxuICBEYXNoYm9hcmREZXRhaWxzVGFiSWQsXG4gIERhc2hib2FyZERldGFpbHNUYWJzLFxuICBEYXNoYm9hcmRIaXN0b3J5RGVzY3JpcHRpb24sXG4gIFBST0RVQ1RfRVhQRVJJRU5DRSxcbiAgUkVQT1JUX0RFRkFVTFRfTkFWSUdBVElPTl9OT0RFX1BSSU9SSVRZXG59IGZyb20gJy4vY29udGV4dC1kYXNoYm9hcmQubW9kZWwnO1xuaW1wb3J0IHsgQ29udGV4dERhc2hib2FyZFNlcnZpY2UgfSBmcm9tICcuL2NvbnRleHQtZGFzaGJvYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QsIEludmVudG9yeVNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG5ld0Rhc2hib2FyZFRhYiB9IGZyb20gJy4vbmV3LWRhc2hib2FyZC5ndWFyZCc7XG5pbXBvcnQgeyBEYXNoYm9hcmREZXRhaWxTZXJ2aWNlIH0gZnJvbSAnLi9kYXNoYm9hcmQtZGV0YWlsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZGFzaGJvYXJkLWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXNoYm9hcmQtZGV0YWlsLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmREZXRhaWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgaXNDb2xsYXBzZWQgPSB0cnVlO1xuICBjdXJyZW50Q29udGV4dDogQ29udGV4dERhdGE7XG4gIGN1cnJlbnREYXNoYm9hcmQ6IENvbnRleHREYXNoYm9hcmQ7XG4gIEBJbnB1dCgpIGlzUmVwb3J0OiBib29sZWFuO1xuICBASW5wdXQoKSBkZXZpY2VUeXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRleHQ6IGFueTtcbiAgQElucHV0KCkgbW86IENvbnRleHREYXNoYm9hcmRNYW5hZ2VkT2JqZWN0O1xuICBASW5wdXQoKSBkYXNoYm9hcmQ6IENvbnRleHREYXNoYm9hcmQ7XG4gIEBJbnB1dCgpIGlzTmFtZWREYXNoYm9hcmQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhpZGVBdmFpbGFiaWxpdHkgPSBmYWxzZTtcbiAgZGV2aWNlVHlwZVZhbHVlOiBzdHJpbmc7XG4gIGRpc3BsYXlEZXZpY2VUeXBlVmFsdWU6IHN0cmluZztcbiAgaWNvbnM6IHN0cmluZ1tdO1xuICBuYW1lUGxhY2Vob2xkZXI6IHN0cmluZztcbiAgdGFicyQ6IE9ic2VydmFibGU8VGFiW10+O1xuICBzZWxlY3RlZFRhYjogRGFzaGJvYXJkRGV0YWlsc1RhYklkID0gRGFzaGJvYXJkRGV0YWlsc1RhYklkLkdFTkVSQUw7XG4gIGRhc2hib2FyZERldGFpbHNGb3JtOiBSZXR1cm5UeXBlPERhc2hib2FyZERldGFpbFNlcnZpY2VbJ2luaXRGb3JtJ10+O1xuICBnZW5lcmFsU2V0dGluZ3NGb3JtOiBSZXR1cm5UeXBlPERhc2hib2FyZERldGFpbFNlcnZpY2VbJ2luaXRHZW5lcmFsU2V0dGluZ3NGb3JtJ10+O1xuICBhcHBlYXJhbmNlU2V0dGluZ3NGb3JtOiBSZXR1cm5UeXBlPERhc2hib2FyZERldGFpbFNlcnZpY2VbJ2luaXRBcHBlYXJhbmNlU2V0dGluZ3NGb3JtJ10+O1xuICBhbGxvd1R5cGVEYXNoYm9hcmQ6IEFsbG93VHlwZURhc2hib2FyZDtcbiAgaXNFZGl0OiBib29sZWFuO1xuICBAT3V0cHV0KCkgZGFzaGJvYXJkU2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbnRleHREYXNoYm9hcmQ+KCk7XG4gIEBPdXRwdXQoKSBwcmV2aWV3Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICByZWFkb25seSBUQUJTX09VVExFVF9OQU1FID0gJ2Rhc2hib2FyZFRhYnMnO1xuICByZWFkb25seSBUQUJTOiBEYXNoYm9hcmREZXRhaWxzVGFicyA9IHtcbiAgICBnZW5lcmFsOiB7XG4gICAgICBmZWF0dXJlSWQ6IERhc2hib2FyZERldGFpbHNUYWJJZC5HRU5FUkFMLFxuICAgICAgcHJpb3JpdHk6IDMwLFxuICAgICAgbGFiZWw6IGdldHRleHQoJ0dlbmVyYWwnKVxuICAgIH0sXG4gICAgYXBwZWFyYW5jZToge1xuICAgICAgZmVhdHVyZUlkOiBEYXNoYm9hcmREZXRhaWxzVGFiSWQuQVBQRUFSQU5DRSxcbiAgICAgIHByaW9yaXR5OiAyMCxcbiAgICAgIGxhYmVsOiBnZXR0ZXh0KCdBcHBlYXJhbmNlJylcbiAgICB9LFxuICAgIHZlcnNpb25IaXN0b3J5OiB7XG4gICAgICBmZWF0dXJlSWQ6IERhc2hib2FyZERldGFpbHNUYWJJZC5WRVJTSU9OSElTVE9SWSxcbiAgICAgIHByaW9yaXR5OiAxMCxcbiAgICAgIGxhYmVsOiBnZXR0ZXh0KCdWZXJzaW9uIGhpc3RvcnknKVxuICAgIH1cbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnRleHREYXNoYm9hcmRTZXJ2aWNlOiBDb250ZXh0RGFzaGJvYXJkU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0Um91dGU6IENvbnRleHRSb3V0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSB0YWJzU2VydmljZTogVGFic1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGludmVudG9yeTogSW52ZW50b3J5U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGRhc2hib2FyZERldGFpbFNlcnZpY2U6IERhc2hib2FyZERldGFpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ3JvdXBTZXJ2aWNlOiBHcm91cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2RhbDogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ2FpbnNpZ2h0U2VydmljZTogR2FpbnNpZ2h0U2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy50YWJzJCA9IHRoaXMudGFic1NlcnZpY2UuaXRlbXMkO1xuICAgIHRoaXMuY3VycmVudENvbnRleHQgPSB0aGlzLmNvbnRleHRSb3V0ZS5nZXRDb250ZXh0RGF0YSh0aGlzLmFjdGl2YXRlZFJvdXRlKTtcbiAgICB0aGlzLmRldmljZVR5cGVWYWx1ZSA9IHRoaXMuY29udGV4dD8udHlwZTtcbiAgICB0aGlzLmRpc3BsYXlEZXZpY2VUeXBlVmFsdWUgPVxuICAgICAgdGhpcy5jb250ZXh0ICYmXG4gICAgICB0aGlzLmdyb3VwU2VydmljZS5pc0dyb3VwKHRoaXMuY29udGV4dCkgJiZcbiAgICAgICF0aGlzLmdyb3VwU2VydmljZS5pc0Fzc2V0KHRoaXMuY29udGV4dClcbiAgICAgICAgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChnZXR0ZXh0KCdHcm91cCcpKVxuICAgICAgICA6IHRoaXMuZGV2aWNlVHlwZVZhbHVlO1xuXG4gICAgdGhpcy51cGRhdGVBbGxvd1R5cGVEYXNoYm9hcmQoKTtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFsbG93VHlwZURhc2hib2FyZCgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0VkaXQpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvbmZpZ3VyYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBhc3luYyBzYXZlKCkge1xuICAgIGNvbnN0IG9sZERhc2hib2FyZCA9IGNsb25lRGVlcCh0aGlzLmRhc2hib2FyZCk7XG4gICAgdGhpcy5kYXNoYm9hcmQgPSB7XG4gICAgICAuLi50aGlzLmRhc2hib2FyZCxcbiAgICAgIC4uLnRoaXMuZ2VuZXJhbFNldHRpbmdzRm9ybS52YWx1ZSxcbiAgICAgIC4uLnRoaXMuYXBwZWFyYW5jZVNldHRpbmdzRm9ybS52YWx1ZVxuICAgIH07XG4gICAgY29uc3QgZGFzaGJvYXJkU2V0dGluZ0NoYW5nZXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXModGhpcy5kYXNoYm9hcmQpLmZpbHRlcihrZXkgPT4ge1xuICAgICAgaWYgKGtleSA9PT0gJ2M4eV9Jc05hdmlnYXRvck5vZGUnKSB7XG4gICAgICAgIHJldHVybiAhIW9sZERhc2hib2FyZFtrZXldICE9PSAhIXRoaXMuZGFzaGJvYXJkW2tleV07XG4gICAgICB9XG4gICAgICByZXR1cm4gIWlzRXF1YWwob2xkRGFzaGJvYXJkW2tleV0sIHRoaXMuZGFzaGJvYXJkW2tleV0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5kYXNoYm9hcmQuYXV0aG9yID0gdGhpcy5hcHBTdGF0ZS5jdXJyZW50VXNlci52YWx1ZS51c2VyTmFtZTtcbiAgICB0aGlzLmRhc2hib2FyZC5jOHlfSXNOYXZpZ2F0b3JOb2RlID0gdGhpcy5kYXNoYm9hcmQuYzh5X0lzTmF2aWdhdG9yTm9kZVxuICAgICAgPyB7fVxuICAgICAgOiB0aGlzLmN1cnJlbnREYXNoYm9hcmRcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5kYXNoYm9hcmQuZGV2aWNlVHlwZVZhbHVlID8/PSB0aGlzLmRldmljZVR5cGVWYWx1ZTtcbiAgICB0aGlzLmRhc2hib2FyZC5oaXN0b3J5RGVzY3JpcHRpb24gPVxuICAgICAgdGhpcy51cGRhdGVEYXNoYm9hcmRIaXN0b3J5RGVzY3JpcHRpb24oZGFzaGJvYXJkU2V0dGluZ0NoYW5nZXMpO1xuICAgIGlmICghdGhpcy5pc0VkaXQgJiYgIXRoaXMuaXNSZXBvcnQpIHtcbiAgICAgIGF3YWl0IHRoaXMuY3JlYXRlTmV3RGFzaGJvYXJkKCk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5pc0VkaXQgJiYgdGhpcy5pc1JlcG9ydCkge1xuICAgICAgYXdhaXQgdGhpcy5jcmVhdGVOZXdSZXBvcnQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy51cGRhdGVEYXNoYm9hcmQoKTtcbiAgICAgIHRoaXMubW8uYzh5X0Rhc2hib2FyZEhpc3RvcnkgPSBbXG4gICAgICAgIHRoaXMuZGFzaGJvYXJkLFxuICAgICAgICAuLi4odGhpcy5tbz8uYzh5X0Rhc2hib2FyZEhpc3RvcnkgPyB0aGlzLm1vLmM4eV9EYXNoYm9hcmRIaXN0b3J5IDogW10pXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZURhc2hib2FyZEhpc3RvcnlEZXNjcmlwdGlvbihkYXNoYm9hcmRDaGFuZ2VzOiBzdHJpbmdbXSk6IERhc2hib2FyZEhpc3RvcnlEZXNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNoYW5nZVR5cGU6IHRoaXMuaXNFZGl0ID8gJ3VwZGF0ZScgOiAnY3JlYXRlJyxcbiAgICAgIGRhc2hib2FyZFNldHRpbmdDaGFuZ2VzOiBkYXNoYm9hcmRDaGFuZ2VzXG4gICAgICAgIC5maWx0ZXIodmFsdWUgPT4gdmFsdWUgIT09ICdkZXZpY2VUeXBlJylcbiAgICAgICAgLm1hcCh2YWx1ZSA9PiBEQVNIQk9BUkRfU0VUVElOR1NfQ0hBTkdFU1t2YWx1ZV0gfHwgdmFsdWUpLFxuICAgICAgZGV2aWNlVHlwZTogZGFzaGJvYXJkQ2hhbmdlcy5maW5kKHZhbHVlID0+IHZhbHVlID09PSAnZGV2aWNlVHlwZScpXG4gICAgICAgID8gdGhpcy5kYXNoYm9hcmQuZGV2aWNlVHlwZVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgIH07XG4gIH1cblxuICBzZWxlY3RUYWIoc2VsZWN0ZWRUYWI6IERhc2hib2FyZERldGFpbHNUYWJJZCkge1xuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBzZWxlY3RlZFRhYjtcbiAgICB0aGlzLnRhYnNTZXJ2aWNlLnJlZnJlc2goKTtcbiAgfVxuXG4gIGFzeW5jIGNhbmNlbCgpIHtcbiAgICBpZiAoIXRoaXMuaXNFZGl0ICYmICF0aGlzLmlzUmVwb3J0KSB7XG4gICAgICAvLyBkYXNoYm9hcmQgY3JlYXRpb24gaW4gaXQncyBvd24gdGFiLSBjb25maXJtIGFuZCBjbGVhbnVwIHRyaWdnZXJlZCBpbiBjYW5EZWFjdGl2YXRlIGR1cmluZyByb3V0aW5nXG4gICAgICB0aGlzLnRhYnNTZXJ2aWNlLml0ZW1zJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodGFiczogVGFiW10pID0+IHtcbiAgICAgICAgY29uc3QgdGFiID0gdGFicy5maW5kKHQgPT4gdC5mZWF0dXJlSWQgIT09IG5ld0Rhc2hib2FyZFRhYi5mZWF0dXJlSWQpO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZSh0eXBlb2YgdGFiLnBhdGggPT09ICdzdHJpbmcnID8gW3RhYi5wYXRoXSA6IHRhYi5wYXRoLCB7XG4gICAgICAgICAgcmVwbGFjZVVybDogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNFZGl0ICYmIHRoaXMuaXNSZXBvcnQpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsncmVwb3J0cyddKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0uZGlydHkgJiYgIShhd2FpdCB0aGlzLmNvbmZpcm1DbG9zaW5nKCkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY2xlYW51cEFmdGVyRGV0YWlsc0Nsb3NlKCk7XG4gIH1cblxuICBhc3luYyBjYW5EZWFjdGl2YXRlKG9taXRDb25maXJtID0gZmFsc2UpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBsZXQgY2FuRGVhY3RpdmF0ZTogYm9vbGVhbjtcbiAgICBpZiAodGhpcy5pc0NvbGxhcHNlZCB8fCAhdGhpcy5kYXNoYm9hcmREZXRhaWxzRm9ybS5kaXJ0eSkge1xuICAgICAgY2FuRGVhY3RpdmF0ZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChvbWl0Q29uZmlybSkge1xuICAgICAgICBjYW5EZWFjdGl2YXRlID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjYW5EZWFjdGl2YXRlID0gYXdhaXQgdGhpcy5jb25maXJtQ2xvc2luZygpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2FuRGVhY3RpdmF0ZSkge1xuICAgICAgdGhpcy5jbGVhbnVwQWZ0ZXJEZXRhaWxzQ2xvc2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIGNhbkRlYWN0aXZhdGU7XG4gIH1cblxuICBzaG93KGlzRWRpdDogYm9vbGVhbikge1xuICAgIHRoaXMuaXNFZGl0ID0gaXNFZGl0O1xuICAgIGlmICh0aGlzLmlzRWRpdCkge1xuICAgICAgdGhpcy5lZGl0KCk7XG4gICAgfVxuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gZmFsc2U7XG4gIH1cblxuICBhc3luYyByZXZlcnREYXNoYm9hcmQoZGFzaGJvYXJkOiBDb250ZXh0RGFzaGJvYXJkKSB7XG4gICAgdGhpcy5kYXNoYm9hcmQgPSBkYXNoYm9hcmQ7XG4gICAgdGhpcy5kYXNoYm9hcmQuYzh5X0lzTmF2aWdhdG9yTm9kZSA9IHRoaXMuZGFzaGJvYXJkLmM4eV9Jc05hdmlnYXRvck5vZGVcbiAgICAgID8ge31cbiAgICAgIDogdGhpcy5jdXJyZW50RGFzaGJvYXJkXG4gICAgICAgID8gbnVsbFxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZURhc2hib2FyZCgpO1xuICB9XG5cbiAgYXN5bmMgZHVwbGljYXRlV2l0aG91dFR5cGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbmV3RGFzaGJvYXJkTmFtZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ3t7IGRhc2hib2FyZE5hbWUgfX0gKGNvcHkpJyksIHtcbiAgICAgIGRhc2hib2FyZE5hbWU6IHRoaXMuZ2VuZXJhbFNldHRpbmdzRm9ybS52YWx1ZS5uYW1lXG4gICAgfSk7XG4gICAgdGhpcy5nZW5lcmFsU2V0dGluZ3NGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgZGV2aWNlVHlwZTogZmFsc2UsXG4gICAgICBuYW1lOiBuZXdEYXNoYm9hcmROYW1lXG4gICAgfSk7XG4gICAgLy8gc2V0dGluZyBlZGl0aW9uIHRvIGZhbHNlIHNvIG5ldyBkYXNoYm9hcmQgY2FuIGJlIGNyZWF0ZWQgYXMgY29weSBvZiBjdXJyZW50IG9uZVxuICAgIHRoaXMuaXNFZGl0ID0gZmFsc2U7XG4gICAgYXdhaXQgdGhpcy5zYXZlKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFsbG93VHlwZURhc2hib2FyZCgpOiB2b2lkIHtcbiAgICB0aGlzLmFsbG93VHlwZURhc2hib2FyZCA9IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2Uuc2hvdWxkQWxsb3dUb1NldERhc2hib2FyZFR5cGUoXG4gICAgICB0aGlzLm1vLFxuICAgICAgdGhpcy5jdXJyZW50Q29udGV4dFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0gPSB0aGlzLmRhc2hib2FyZERldGFpbFNlcnZpY2UuaW5pdEZvcm0oXG4gICAgICB0aGlzLmRhc2hib2FyZCxcbiAgICAgIHRoaXMuaXNSZXBvcnQsXG4gICAgICB0aGlzLmFsbG93VHlwZURhc2hib2FyZFxuICAgICk7XG4gICAgdGhpcy5nZW5lcmFsU2V0dGluZ3NGb3JtID0gdGhpcy5kYXNoYm9hcmREZXRhaWxzRm9ybS5nZXQoJ2dlbmVyYWxTZXR0aW5nc0Zvcm0nKSBhcyBGb3JtR3JvdXA7XG4gICAgdGhpcy5hcHBlYXJhbmNlU2V0dGluZ3NGb3JtID0gdGhpcy5kYXNoYm9hcmREZXRhaWxzRm9ybS5nZXQoXG4gICAgICAnYXBwZWFyYW5jZVNldHRpbmdzRm9ybSdcbiAgICApIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY29uZmlybUNsb3NpbmcoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMubW9kYWwuY29uZmlybShcbiAgICAgICAgZ2V0dGV4dCgnQ2xvc2UgZGFzaGJvYXJkIGRldGFpbHMnKSxcbiAgICAgICAgZ2V0dGV4dChcbiAgICAgICAgICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsb3NlIGRhc2hib2FyZCBkZXRhaWxzPyBBbGwgdW5zYXZlZCBjaGFuZ2VzIHdpbGwgYmUgbG9zdC4nXG4gICAgICAgICksXG4gICAgICAgIFN0YXR1cy5XQVJOSU5HLFxuICAgICAgICB7XG4gICAgICAgICAgb2s6IGdldHRleHQoJ0Nsb3NlJyksXG4gICAgICAgICAgY2FuY2VsOiBnZXR0ZXh0KCdDYW5jZWwnKVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlTmV3RGFzaGJvYXJkKCkge1xuICAgIGNvbnN0IG1vOiBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCA9IGF3YWl0IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UuY3JlYXRlKFxuICAgICAgdGhpcy5kYXNoYm9hcmQsXG4gICAgICB0aGlzLmN1cnJlbnRDb250ZXh0XG4gICAgKTtcblxuICAgIGF3YWl0IHRoaXMub25DcmVhdGVHU0V2ZW50KG1vKTtcbiAgICB0aGlzLmNsZWFudXBBZnRlckRldGFpbHNDbG9zZSgpO1xuICAgIGF3YWl0IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UubmF2aWdhdGVUb0Rhc2hib2FyZChtbyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG9uQ3JlYXRlR1NFdmVudChtbzogQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3QpIHtcbiAgICBjb25zdCBwYXJlbnROYW1lID0gYXdhaXQgdGhpcy5jb252ZXJ0U3RyaW5nVG9IYXNoKHRoaXMuY29udGV4dD8ubmFtZSk7XG4gICAgY29uc3QgZGFzaGJvYXJkTmFtZSA9IGF3YWl0IHRoaXMuY29udmVydFN0cmluZ1RvSGFzaCh0aGlzLmRhc2hib2FyZD8ubmFtZSk7XG5cbiAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuRVZFTlRTLkRBU0hCT0FSRFMsIHtcbiAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5DT01QT05FTlRTLkFERF9EQVNIQk9BUkQsXG4gICAgICBhY3Rpb246IFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuQUNUSU9OUy5DUkVBVEUsXG4gICAgICBuYW1lOiBkYXNoYm9hcmROYW1lLFxuICAgICAgaWQ6IG1vLmlkLFxuICAgICAgbmFtZUlkOiBgJHtkYXNoYm9hcmROYW1lfV8ke3RoaXMubW8uaWR9YCxcbiAgICAgIHBhcmVudEFzc2V0SWQ6IHRoaXMuY29udGV4dD8uaWQgPyB0aGlzLmNvbnRleHQuaWQgOiAnbm9Db250ZXh0JyxcbiAgICAgIHBhcmVudEFzc2V0TmFtZTogdGhpcy5jb250ZXh0Py5pZCA/IHBhcmVudE5hbWUgOiAnbm9Db250ZXh0JyxcbiAgICAgIHBhcmVudEFzc2V0VHlwZTogdGhpcy5jb250ZXh0Py5pZCA/IHRoaXMuY29udGV4dC50eXBlIDogJ25vQ29udGV4dCcsXG4gICAgICBwYXJlbnRBc3NldE5hbWVJZDogdGhpcy5jb250ZXh0Py5pZCA/IGAke3BhcmVudE5hbWV9XyR7dGhpcy5jb250ZXh0LmlkfWAgOiAnbm9Db250ZXh0JyxcbiAgICAgIHBhcmVudEFzc2V0TmFtZURhc2hib2FyZE5hbWU6IHRoaXMuY29udGV4dD8uaWRcbiAgICAgICAgPyBgJHtwYXJlbnROYW1lfV8ke2Rhc2hib2FyZE5hbWV9YFxuICAgICAgICA6ICdub0NvbnRleHQnLFxuICAgICAgcGFyZW50QXNzZXRJZERhc2hib2FyZElkOiB0aGlzLmNvbnRleHQ/LmlkID8gYCR7dGhpcy5jb250ZXh0LmlkfV8ke3RoaXMubW8uaWR9YCA6ICdub0NvbnRleHQnLFxuICAgICAgcGFyZW50QXNzZXROYW1lRGFzaGJvYXJkSWQ6IHRoaXMuY29udGV4dD8uaWQgPyBgJHtwYXJlbnROYW1lfV8ke3RoaXMubW8uaWR9YCA6ICdub0NvbnRleHQnLFxuICAgICAgcGFyZW50QXNzZXROYW1lSWREYXNoYm9hcmROYW1lSWQ6IHRoaXMuY29udGV4dD8uaWRcbiAgICAgICAgPyBgJHtwYXJlbnROYW1lfV8ke3RoaXMuY29udGV4dC5pZH1fJHtkYXNoYm9hcmROYW1lfV8ke3RoaXMubW8uaWR9YFxuICAgICAgICA6ICdub0NvbnRleHQnLFxuICAgICAgZGFzaGJvYXJkVHlwZTogbW8uYzh5X0Rhc2hib2FyZC5kZXZpY2VUeXBlID8gbW8uYzh5X0Rhc2hib2FyZC5kZXZpY2VUeXBlVmFsdWUgOiBudWxsLFxuICAgICAgY29udGV4dDogdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5nZXRDb250ZXh0Rm9yR1MoXG4gICAgICAgIHRoaXMuY3VycmVudENvbnRleHQuY29udGV4dERhdGEgYXMgSU1hbmFnZWRPYmplY3RcbiAgICAgIClcbiAgICB9KTtcbiAgfVxuXG4gIEBtZW1vaXplKClcbiAgcHJpdmF0ZSBhc3luYyBjb252ZXJ0U3RyaW5nVG9IYXNoKHN0cjogc3RyaW5nKSB7XG4gICAgaWYgKCFzdHIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2FpbnNpZ2h0U2VydmljZS5zaG91bGRTZW5kUGlpRGF0YSgpKVxuICAgICAgPyBzdHJcbiAgICAgIDogYXdhaXQgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLmhhc2hHcm91cE5hbWUoc3RyKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlTmV3UmVwb3J0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IG5hbWUsIGljb24sIGM4eV9Jc05hdmlnYXRvck5vZGUsIHByaW9yaXR5LCBkZXNjcmlwdGlvbiB9ID0gdGhpcy5kYXNoYm9hcmQ7XG4gICAgICBjb25zdCByZXBvcnQgPSAoXG4gICAgICAgIGF3YWl0IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UuY3JlYXRlUmVwb3J0KHtcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIGljb24sXG4gICAgICAgICAgYzh5X0lzTmF2aWdhdG9yTm9kZSxcbiAgICAgICAgICBwcmlvcml0eSxcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICB9IGFzIFBhcnRpYWw8SU1hbmFnZWRPYmplY3Q+KVxuICAgICAgKS5kYXRhO1xuXG4gICAgICBhd2FpdCB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLmNyZWF0ZShcbiAgICAgICAgdGhpcy5kYXNoYm9hcmQsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgYCR7dGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5SRVBPUlRfUEFSVElBTF9OQU1FfSR7cmVwb3J0LmlkfWBcbiAgICAgICk7XG4gICAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuRVZFTlRTLlJFUE9SVFMsIHtcbiAgICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkNPTVBPTkVOVFMuQUREX1JFUE9SVCxcbiAgICAgICAgYWN0aW9uOiBQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkFDVElPTlMuQ1JFQVRFLFxuICAgICAgICBuYW1lOiByZXBvcnQubmFtZSxcbiAgICAgICAgaWQ6IHJlcG9ydC5pZCxcbiAgICAgICAgY29udGV4dDogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5DT05URVhULlJFUE9SVFxuICAgICAgfSk7XG4gICAgICBpZiAocmVwb3J0LmM4eV9Jc05hdmlnYXRvck5vZGUpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5hZGRSZXBvcnROYXZpZ2F0b3JOb2RlKHJlcG9ydCk7XG4gICAgICB9XG4gICAgICB0aGlzLmNsZWFudXBBZnRlckRldGFpbHNDbG9zZSgpO1xuICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydyZXBvcnRzJywgcmVwb3J0LmlkXSk7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIC8vIGludGVuZGVkIGVtcHR5XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVEYXNoYm9hcmQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhc2hib2FyZE1POiBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCA9IGNsb25lRGVlcCh0aGlzLm1vKTtcbiAgICAgIGNvbnN0IGNmZyA9IHRoaXMuZGFzaGJvYXJkO1xuICAgICAgaWYgKHRoaXMuaXNSZXBvcnQpIHtcbiAgICAgICAgY29uc3QgeyBuYW1lLCBpY29uLCBjOHlfSXNOYXZpZ2F0b3JOb2RlLCBwcmlvcml0eSwgZGVzY3JpcHRpb24gfSA9IGNmZztcbiAgICAgICAgZGFzaGJvYXJkTU8uYzh5X0Rhc2hib2FyZCA9IGNmZztcbiAgICAgICAgYXdhaXQgdGhpcy51cGRhdGVSZXBvcnQoe1xuICAgICAgICAgIGlkOiB0aGlzLmNvbnRleHQuaWQsXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBpY29uLFxuICAgICAgICAgIGM4eV9Jc05hdmlnYXRvck5vZGUsXG4gICAgICAgICAgcHJpb3JpdHksXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXNoYm9hcmRNTy5jOHlfRGFzaGJvYXJkID0gY2ZnO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB1cGRhdGVkRGFzaGJvYXJkTW8gPSBhd2FpdCB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLnVwZGF0ZShcbiAgICAgICAgZGFzaGJvYXJkTU8sXG4gICAgICAgIHRoaXMuY3VycmVudENvbnRleHRcbiAgICAgICk7XG4gICAgICB0aGlzLmNsZWFudXBBZnRlckRldGFpbHNDbG9zZSgpO1xuXG4gICAgICB0aGlzLmRhc2hib2FyZFNhdmVkLmVtaXQodXBkYXRlZERhc2hib2FyZE1vKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgLy8gaW50ZW5kZWQgZW1wdHlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVkaXQoKSB7XG4gICAgaWYgKHRoaXMuaXNSZXBvcnQpIHtcbiAgICAgIGNvbnN0IHsgbmFtZSwgaWNvbiwgcHJpb3JpdHksIGM4eV9Jc05hdmlnYXRvck5vZGUsIGRlc2NyaXB0aW9uIH0gPSB0aGlzLmNvbnRleHQ7XG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuZGFzaGJvYXJkLCB7IG5hbWUsIGljb24sIHByaW9yaXR5LCBjOHlfSXNOYXZpZ2F0b3JOb2RlLCBkZXNjcmlwdGlvbiB9KTtcbiAgICB9XG4gICAgdGhpcy5pc05hbWVkRGFzaGJvYXJkID0gdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5pc05hbWVkKHRoaXMubW8pO1xuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPVxuICAgICAgdGhpcy5oaWRlQXZhaWxhYmlsaXR5ICYmIHRoaXMuaXNOYW1lZERhc2hib2FyZFxuICAgICAgICA/IERhc2hib2FyZERldGFpbHNUYWJJZC5BUFBFQVJBTkNFXG4gICAgICAgIDogRGFzaGJvYXJkRGV0YWlsc1RhYklkLkdFTkVSQUw7XG4gICAgdGhpcy5pbml0aWFsaXplQ29uZmlndXJhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ29uZmlndXJhdGlvbigpIHtcbiAgICBjb25zdCBkZWZhdWx0RGFzaGJvYXJkQ2ZnOiBQYXJ0aWFsPENvbnRleHREYXNoYm9hcmQ+ID0ge1xuICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy5pc1JlcG9ydCA/IGdldHRleHQoJ1JlcG9ydCcpIDogZ2V0dGV4dCgnRGFzaGJvYXJkJykpLFxuICAgICAgcHJpb3JpdHk6IHRoaXMuaXNSZXBvcnRcbiAgICAgICAgPyBSRVBPUlRfREVGQVVMVF9OQVZJR0FUSU9OX05PREVfUFJJT1JJVFlcbiAgICAgICAgOiB0aGlzLmRhc2hib2FyZERldGFpbFNlcnZpY2UuREVGQVVMVF9EQVNIQk9BUkRfUFJJT1JJVFksXG4gICAgICBpY29uOiB0aGlzLmRhc2hib2FyZERldGFpbFNlcnZpY2UuREVGQVVMVF9EQVNIQk9BUkRfSUNPTixcbiAgICAgIGRldmljZVR5cGVWYWx1ZTogdGhpcy5kZXZpY2VUeXBlLFxuICAgICAgY29sdW1uczogMjRcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuZGFzaGJvYXJkKSB7XG4gICAgICB0aGlzLmN1cnJlbnREYXNoYm9hcmQgPSBjbG9uZSh0aGlzLmRhc2hib2FyZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGFzaGJvYXJkID0gZGVmYXVsdERhc2hib2FyZENmZztcbiAgICAgIHRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0ubWFya0FzRGlydHkoKTtcbiAgICB9XG4gICAgdGhpcy5uYW1lUGxhY2Vob2xkZXIgPSB0aGlzLmlzUmVwb3J0ID8gZ2V0dGV4dCgnZS5nLiBNeSByZXBvcnQnKSA6IGdldHRleHQoJ2UuZy4gTXkgZGFzaGJvYXJkJyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZVJlcG9ydChtbzogUGFydGlhbDxJTWFuYWdlZE9iamVjdD4pIHtcbiAgICBtby5jOHlfSXNOYXZpZ2F0b3JOb2RlID0gbW8uYzh5X0lzTmF2aWdhdG9yTm9kZSA/IHt9IDogbnVsbDtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmludmVudG9yeS51cGRhdGUobW8pO1xuICAgIHRoaXMuY29udGV4dCA9IHJlcy5kYXRhO1xuICAgIGlmICh0aGlzLnJvdXRlLnBhcmVudCkge1xuICAgICAgdGhpcy5yb3V0ZS5wYXJlbnQuc25hcHNob3QuZGF0YS5jb250ZXh0RGF0YSA9IHRoaXMuY29udGV4dDtcbiAgICB9XG4gICAgdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS51cGRhdGVOYXZpZ2F0b3JJdGVtKHJlcy5kYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYW51cEFmdGVyRGV0YWlsc0Nsb3NlKCkge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSB0cnVlO1xuICAgIGlmICghdGhpcy5pc0VkaXQpIHtcbiAgICAgIGNvbnN0IGRhc2hib2FyZENvbnRleHQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuZGFzaGJvYXJkO1xuICAgICAgLy8gaGlkZSBOZXcgZGFzaGJvYXJkIHRhYlxuICAgICAgY29uc3QgdG1wTmV3RGFzaGJvYXJkVGFiID0gWy4uLnRoaXMudGFic1NlcnZpY2Uuc3RhdGVdLmZpbmQoXG4gICAgICAgIHQgPT4gdC5mZWF0dXJlSWQgPT09IG5ld0Rhc2hib2FyZFRhYi5mZWF0dXJlSWRcbiAgICAgICk7XG4gICAgICAvLyBkb24ndCBoaWRlIHRoZSBuZXcgZGFzaGJvYXJkIHRhYiB3aGVuIGNsaWNraW5nIG9uIHRoZSBhZGQgZGFzaGJvYXJkIGJ1dHRvbiBmcm9tIGFub3RoZXIgZGFzaGJvYXJkLlxuICAgICAgaWYgKCF0bXBOZXdEYXNoYm9hcmRUYWIgfHwgZGFzaGJvYXJkQ29udGV4dD8uYzh5X0Rhc2hib2FyZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBoaWRlIHRhYiBhbmQgbWFrZSBpdCBhcHBlYXIgYXMgbGFzdCBvbmUgdG8gcHJldmVudCBuYXZpZ2F0aW5nIHRvIGl0XG4gICAgICB0bXBOZXdEYXNoYm9hcmRUYWIuaGlkZSA9IHRydWU7XG4gICAgICB0bXBOZXdEYXNoYm9hcmRUYWIucHJpb3JpdHkgPSAtSW5maW5pdHk7XG4gICAgICB0aGlzLnRhYnNTZXJ2aWNlLnJlZnJlc2goKTtcbiAgICB9XG4gICAgdGhpcy5wcmV2aWV3Q2hhbmdlZC5lbWl0KHRoaXMuZGFzaGJvYXJkKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImNvbGxhcHNlIGM4eS10b3AtZHJhd2VyXCJcbiAgW2NvbGxhcHNlXT1cImlzQ29sbGFwc2VkXCJcbiAgW2lzQW5pbWF0ZWRdPVwidHJ1ZVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJwLXQtMTYgcC1iLTE2IHAtbC0yNCBwLXItMjQgc2VwYXJhdG9yLWJvdHRvbVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiaDRcIj57eyAnRGFzaGJvYXJkIHNldHRpbmdzJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZC1mbGV4XCJcbiAgICBbZm9ybUdyb3VwXT1cImRhc2hib2FyZERldGFpbHNGb3JtXCJcbiAgICAqbmdJZj1cIiFpc0NvbGxhcHNlZFwiXG4gID5cbiAgICA8Yzh5LXRhYnMtb3V0bGV0XG4gICAgICBbdGFic109XCJ0YWJzJCB8IGFzeW5jXCJcbiAgICAgIFtvdXRsZXROYW1lXT1cIlRBQlNfT1VUTEVUX05BTUVcIlxuICAgICAgW29yaWVudGF0aW9uXT1cIid2ZXJ0aWNhbCdcIlxuICAgICAgY2xhc3M9XCJjOHktdG9wLWRyYXdlci0tdGFic1wiXG4gICAgPjwvYzh5LXRhYnMtb3V0bGV0PlxuICAgIDxkaXYgY2xhc3M9XCJpbm5lci1zY3JvbGwgYzh5LXRvcC1kcmF3ZXJfX3RhYnMtY29udGFpbmVyIGZsZXgtZ3JvdyBwLWwtMjQgcC1yLWxnLTMyIHAtci14cy0yNCBwLXItc20tMjRcIj5cbiAgICAgIDxjOHktdGFiXG4gICAgICAgICpuZ0lmPVwiKCFpc05hbWVkRGFzaGJvYXJkICYmICFoaWRlQXZhaWxhYmlsaXR5KSB8fCBpc1JlcG9ydFwiXG4gICAgICAgIFtsYWJlbF09XCJUQUJTLmdlbmVyYWwubGFiZWxcIlxuICAgICAgICBbaWNvbl09XCInaW1hYy1zZXR0aW5ncydcIlxuICAgICAgICBbcHJpb3JpdHldPVwiMTAwXCJcbiAgICAgICAgW3RhYnNPdXRsZXRdPVwiVEFCU19PVVRMRVRfTkFNRVwiXG4gICAgICAgIChvblNlbGVjdCk9XCJzZWxlY3RUYWIoVEFCUy5nZW5lcmFsLmZlYXR1cmVJZClcIlxuICAgICAgICBbaXNBY3RpdmVdPVwic2VsZWN0ZWRUYWIgPT09IFRBQlMuZ2VuZXJhbC5mZWF0dXJlSWRcIlxuICAgICAgPjwvYzh5LXRhYj5cbiAgICAgIDxjOHktdGFiXG4gICAgICAgIFtsYWJlbF09XCJUQUJTLmFwcGVhcmFuY2UubGFiZWxcIlxuICAgICAgICBbcHJpb3JpdHldPVwiNTBcIlxuICAgICAgICBbaWNvbl09XCInd2ViLWRlc2lnbidcIlxuICAgICAgICBbdGFic091dGxldF09XCJUQUJTX09VVExFVF9OQU1FXCJcbiAgICAgICAgKG9uU2VsZWN0KT1cInNlbGVjdFRhYihUQUJTLmFwcGVhcmFuY2UuZmVhdHVyZUlkKVwiXG4gICAgICAgIFtpc0FjdGl2ZV09XCJzZWxlY3RlZFRhYiA9PT0gVEFCUy5hcHBlYXJhbmNlLmZlYXR1cmVJZFwiXG4gICAgICA+PC9jOHktdGFiPlxuICAgICAgPGM4eS10YWJcbiAgICAgICAgKm5nSWY9XCJtbz8uYzh5X0Rhc2hib2FyZEhpc3RvcnlcIlxuICAgICAgICBbbGFiZWxdPVwiVEFCUy52ZXJzaW9uSGlzdG9yeS5sYWJlbFwiXG4gICAgICAgIFtpY29uXT1cIid2ZXJzaW9ucydcIlxuICAgICAgICBbcHJpb3JpdHldPVwiMTBcIlxuICAgICAgICBbdGFic091dGxldF09XCJUQUJTX09VVExFVF9OQU1FXCJcbiAgICAgICAgKG9uU2VsZWN0KT1cInNlbGVjdFRhYihUQUJTLnZlcnNpb25IaXN0b3J5LmZlYXR1cmVJZClcIlxuICAgICAgICBbaXNBY3RpdmVdPVwic2VsZWN0ZWRUYWIgPT09IFRBQlMudmVyc2lvbkhpc3RvcnkuZmVhdHVyZUlkXCJcbiAgICAgID48L2M4eS10YWI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWxlY3RlZFRhYlwiPlxuICAgICAgICA8Yzh5LWRhc2hib2FyZC1nZW5lcmFsLXNldHRpbmdzXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlRBQlMuZ2VuZXJhbC5mZWF0dXJlSWRcIlxuICAgICAgICAgIFtpc1JlcG9ydF09XCJpc1JlcG9ydFwiXG4gICAgICAgICAgW2lzTmFtZWREYXNoYm9hcmRdPVwiaXNOYW1lZERhc2hib2FyZFwiXG4gICAgICAgICAgW2hpZGVBdmFpbGFiaWxpdHldPVwiaGlkZUF2YWlsYWJpbGl0eVwiXG4gICAgICAgICAgW2Rhc2hib2FyZF09XCJkYXNoYm9hcmRcIlxuICAgICAgICAgIFtnZW5lcmFsU2V0dGluZ3NGb3JtXT1cImdlbmVyYWxTZXR0aW5nc0Zvcm1cIlxuICAgICAgICAgIFtkZXZpY2VUeXBlVmFsdWVdPVwiZGV2aWNlVHlwZVZhbHVlXCJcbiAgICAgICAgICBbZGlzcGxheURldmljZVR5cGVWYWx1ZV09XCJkaXNwbGF5RGV2aWNlVHlwZVZhbHVlXCJcbiAgICAgICAgICBbbW9dPVwibW9cIlxuICAgICAgICAgIFthbGxvd1R5cGVEYXNoYm9hcmRdPVwiYWxsb3dUeXBlRGFzaGJvYXJkXCJcbiAgICAgICAgICBbaXNEZXZpY2VdPVwiISFjb250ZXh0Py5jOHlfSXNEZXZpY2VcIlxuICAgICAgICAgIGNsYXNzPVwiYW5pbWF0ZWQgZmFkZUluXCJcbiAgICAgICAgICAob25EdXBsaWNhdGVXaXRob3V0VHlwZSk9XCJkdXBsaWNhdGVXaXRob3V0VHlwZSgpXCJcbiAgICAgICAgPjwvYzh5LWRhc2hib2FyZC1nZW5lcmFsLXNldHRpbmdzPlxuICAgICAgICA8Yzh5LWRhc2hib2FyZC1hcHBlYXJhbmNlLXNldHRpbmdzXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlRBQlMuYXBwZWFyYW5jZS5mZWF0dXJlSWRcIlxuICAgICAgICAgIFtkYXNoYm9hcmRdPVwiZGFzaGJvYXJkXCJcbiAgICAgICAgICBbYXBwZWFyYW5jZVNldHRpbmdzRm9ybV09XCJhcHBlYXJhbmNlU2V0dGluZ3NGb3JtXCJcbiAgICAgICAgICAocHJldmlld0NoYW5nZWQpPVwicHJldmlld0NoYW5nZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICBjbGFzcz1cImFuaW1hdGVkIGZhZGVJblwiXG4gICAgICAgID48L2M4eS1kYXNoYm9hcmQtYXBwZWFyYW5jZS1zZXR0aW5ncz5cbiAgICAgICAgPGM4eS1kYXNoYm9hcmQtdmVyc2lvbi1oaXN0b3J5XG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlRBQlMudmVyc2lvbkhpc3RvcnkuZmVhdHVyZUlkXCJcbiAgICAgICAgICBbZGFzaGJvYXJkSGlzdG9yeV09XCJtby5jOHlfRGFzaGJvYXJkSGlzdG9yeVwiXG4gICAgICAgICAgW2lzUmVwb3J0XT1cImlzUmVwb3J0XCJcbiAgICAgICAgICAob25SZXZlcnQpPVwicmV2ZXJ0RGFzaGJvYXJkKCRldmVudClcIlxuICAgICAgICAgIGNsYXNzPVwiYW5pbWF0ZWQgZmFkZUluXCJcbiAgICAgICAgPjwvYzh5LWRhc2hib2FyZC12ZXJzaW9uLWhpc3Rvcnk+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImM4eS10b3AtZHJhd2VyLS1mb290ZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiXG4gICAgICB0aXRsZT1cInt7ICdDYW5jZWwnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgZGF0YS1jeT1cImRhc2hib2FyZC1kZXRhaWwtLWNhbmNlbC1kYXNoYm9hcmRcIlxuICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICA+XG4gICAgICB7eyAnQ2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgIHRpdGxlPVwie3sgJ1NhdmUnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgZGF0YS1jeT1cImRhc2hib2FyZC1kZXRhaWwtLXNhdmUtZGFzaGJvYXJkXCJcbiAgICAgIChjbGljayk9XCJzYXZlKClcIlxuICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAoZGFzaGJvYXJkRGV0YWlsc0Zvcm0/LmludmFsaWQgfHwgZGFzaGJvYXJkRGV0YWlsc0Zvcm0/LnByaXN0aW5lKSAmJiB0aGlzLmlzRWRpdFxuICAgICAgXCJcbiAgICA+XG4gICAgICB7eyAnU2F2ZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
412
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb250ZXh0LWRhc2hib2FyZC9kYXNoYm9hcmQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL2Rhc2hib2FyZC1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsZUFBZSxFQUVmLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsT0FBTyxFQUNQLFlBQVksRUFDWixPQUFPLEVBQ1AsWUFBWSxFQUNaLE1BQU0sRUFFTixXQUFXLEVBQ1osTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBSUwsMEJBQTBCLEVBQzFCLHFCQUFxQixFQUdyQixrQkFBa0IsRUFDbEIsdUNBQXVDLEVBQ3hDLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxz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IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBBcHBTdGF0ZVNlcnZpY2UsXG4gIENvbnRleHREYXRhLFxuICBDb250ZXh0Um91dGVTZXJ2aWNlLFxuICBHYWluc2lnaHRTZXJ2aWNlLFxuICBnZXR0ZXh0LFxuICBHcm91cFNlcnZpY2UsXG4gIG1lbW9pemUsXG4gIE1vZGFsU2VydmljZSxcbiAgU3RhdHVzLFxuICBUYWIsXG4gIFRhYnNTZXJ2aWNlXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmUsIGNsb25lRGVlcCwgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBBbGxvd1R5cGVEYXNoYm9hcmQsXG4gIENvbnRleHREYXNoYm9hcmQsXG4gIENvbnRleHREYXNoYm9hcmRNYW5hZ2VkT2JqZWN0LFxuICBEQVNIQk9BUkRfU0VUVElOR1NfQ0hBTkdFUyxcbiAgRGFzaGJvYXJkRGV0YWlsc1RhYklkLFxuICBEYXNoYm9hcmREZXRhaWxzVGFicyxcbiAgRGFzaGJvYXJkSGlzdG9yeURlc2NyaXB0aW9uLFxuICBQUk9EVUNUX0VYUEVSSUVOQ0UsXG4gIFJFUE9SVF9ERUZBVUxUX05BVklHQVRJT05fTk9ERV9QUklPUklUWVxufSBmcm9tICcuL2NvbnRleHQtZGFzaGJvYXJkLm1vZGVsJztcbmltcG9ydCB7IENvbnRleHREYXNoYm9hcmRTZXJ2aWNlIH0gZnJvbSAnLi9jb250ZXh0LWRhc2hib2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0LCBJbnZlbnRvcnlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBuZXdEYXNoYm9hcmRUYWIgfSBmcm9tICcuL25ldy1kYXNoYm9hcmQuZ3VhcmQnO1xuaW1wb3J0IHsgRGFzaGJvYXJkRGV0YWlsU2VydmljZSB9IGZyb20gJy4vZGFzaGJvYXJkLWRldGFpbC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWRhc2hib2FyZC1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGFzaGJvYXJkLWRldGFpbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkRGV0YWlsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIGlzQ29sbGFwc2VkID0gdHJ1ZTtcbiAgY3VycmVudENvbnRleHQ6IENvbnRleHREYXRhO1xuICBjdXJyZW50RGFzaGJvYXJkOiBDb250ZXh0RGFzaGJvYXJkO1xuICBASW5wdXQoKSBpc1JlcG9ydDogYm9vbGVhbjtcbiAgQElucHV0KCkgZGV2aWNlVHlwZTogc3RyaW5nO1xuICBASW5wdXQoKSBjb250ZXh0OiBhbnk7XG4gIEBJbnB1dCgpIG1vOiBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdDtcbiAgQElucHV0KCkgZGFzaGJvYXJkOiBDb250ZXh0RGFzaGJvYXJkO1xuICBASW5wdXQoKSBpc05hbWVkRGFzaGJvYXJkOiBib29sZWFuO1xuICBASW5wdXQoKSBoaWRlQXZhaWxhYmlsaXR5ID0gZmFsc2U7XG4gIGRldmljZVR5cGVWYWx1ZTogc3RyaW5nO1xuICBkaXNwbGF5RGV2aWNlVHlwZVZhbHVlOiBzdHJpbmc7XG4gIGljb25zOiBzdHJpbmdbXTtcbiAgbmFtZVBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIHRhYnMkOiBPYnNlcnZhYmxlPFRhYltdPjtcbiAgc2VsZWN0ZWRUYWI6IERhc2hib2FyZERldGFpbHNUYWJJZCA9IERhc2hib2FyZERldGFpbHNUYWJJZC5HRU5FUkFMO1xuICBkYXNoYm9hcmREZXRhaWxzRm9ybTogUmV0dXJuVHlwZTxEYXNoYm9hcmREZXRhaWxTZXJ2aWNlWydpbml0Rm9ybSddPjtcbiAgZ2VuZXJhbFNldHRpbmdzRm9ybTogUmV0dXJuVHlwZTxEYXNoYm9hcmREZXRhaWxTZXJ2aWNlWydpbml0R2VuZXJhbFNldHRpbmdzRm9ybSddPjtcbiAgYXBwZWFyYW5jZVNldHRpbmdzRm9ybTogUmV0dXJuVHlwZTxEYXNoYm9hcmREZXRhaWxTZXJ2aWNlWydpbml0QXBwZWFyYW5jZVNldHRpbmdzRm9ybSddPjtcbiAgYWxsb3dUeXBlRGFzaGJvYXJkOiBBbGxvd1R5cGVEYXNoYm9hcmQ7XG4gIGlzRWRpdDogYm9vbGVhbjtcbiAgQE91dHB1dCgpIGRhc2hib2FyZFNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxDb250ZXh0RGFzaGJvYXJkPigpO1xuICBAT3V0cHV0KCkgcHJldmlld0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcmVhZG9ubHkgVEFCU19PVVRMRVRfTkFNRSA9ICdkYXNoYm9hcmRUYWJzJztcbiAgcmVhZG9ubHkgVEFCUzogRGFzaGJvYXJkRGV0YWlsc1RhYnMgPSB7XG4gICAgZ2VuZXJhbDoge1xuICAgICAgZmVhdHVyZUlkOiBEYXNoYm9hcmREZXRhaWxzVGFiSWQuR0VORVJBTCxcbiAgICAgIHByaW9yaXR5OiAzMCxcbiAgICAgIGxhYmVsOiBnZXR0ZXh0KCdHZW5lcmFsJylcbiAgICB9LFxuICAgIGFwcGVhcmFuY2U6IHtcbiAgICAgIGZlYXR1cmVJZDogRGFzaGJvYXJkRGV0YWlsc1RhYklkLkFQUEVBUkFOQ0UsXG4gICAgICBwcmlvcml0eTogMjAsXG4gICAgICBsYWJlbDogZ2V0dGV4dCgnQXBwZWFyYW5jZScpXG4gICAgfSxcbiAgICB2ZXJzaW9uSGlzdG9yeToge1xuICAgICAgZmVhdHVyZUlkOiBEYXNoYm9hcmREZXRhaWxzVGFiSWQuVkVSU0lPTkhJU1RPUlksXG4gICAgICBwcmlvcml0eTogMTAsXG4gICAgICBsYWJlbDogZ2V0dGV4dCgnVmVyc2lvbiBoaXN0b3J5JylcbiAgICB9XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb250ZXh0RGFzaGJvYXJkU2VydmljZTogQ29udGV4dERhc2hib2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFJvdXRlOiBDb250ZXh0Um91dGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgdGFic1NlcnZpY2U6IFRhYnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBpbnZlbnRvcnk6IEludmVudG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBkYXNoYm9hcmREZXRhaWxTZXJ2aWNlOiBEYXNoYm9hcmREZXRhaWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwU3RhdGU6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGdyb3VwU2VydmljZTogR3JvdXBTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9kYWw6IE1vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGdhaW5zaWdodFNlcnZpY2U6IEdhaW5zaWdodFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudGFicyQgPSB0aGlzLnRhYnNTZXJ2aWNlLml0ZW1zJDtcbiAgICB0aGlzLmN1cnJlbnRDb250ZXh0ID0gdGhpcy5jb250ZXh0Um91dGUuZ2V0Q29udGV4dERhdGEodGhpcy5hY3RpdmF0ZWRSb3V0ZSk7XG4gICAgdGhpcy5kZXZpY2VUeXBlVmFsdWUgPSB0aGlzLmNvbnRleHQ/LnR5cGU7XG4gICAgdGhpcy5kaXNwbGF5RGV2aWNlVHlwZVZhbHVlID1cbiAgICAgIHRoaXMuY29udGV4dCAmJlxuICAgICAgdGhpcy5ncm91cFNlcnZpY2UuaXNHcm91cCh0aGlzLmNvbnRleHQpICYmXG4gICAgICAhdGhpcy5ncm91cFNlcnZpY2UuaXNBc3NldCh0aGlzLmNvbnRleHQpXG4gICAgICAgID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZ2V0dGV4dCgnR3JvdXAnKSlcbiAgICAgICAgOiB0aGlzLmRldmljZVR5cGVWYWx1ZTtcblxuICAgIHRoaXMudXBkYXRlQWxsb3dUeXBlRGFzaGJvYXJkKCk7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBbGxvd1R5cGVEYXNoYm9hcmQoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNFZGl0KSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVDb25maWd1cmF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgYXN5bmMgc2F2ZSgpIHtcbiAgICBjb25zdCBvbGREYXNoYm9hcmQgPSBjbG9uZURlZXAodGhpcy5kYXNoYm9hcmQpO1xuICAgIHRoaXMuZGFzaGJvYXJkID0ge1xuICAgICAgLi4udGhpcy5kYXNoYm9hcmQsXG4gICAgICAuLi50aGlzLmdlbmVyYWxTZXR0aW5nc0Zvcm0udmFsdWUsXG4gICAgICAuLi50aGlzLmFwcGVhcmFuY2VTZXR0aW5nc0Zvcm0udmFsdWVcbiAgICB9O1xuICAgIGNvbnN0IGRhc2hib2FyZFNldHRpbmdDaGFuZ2VzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKHRoaXMuZGFzaGJvYXJkKS5maWx0ZXIoa2V5ID0+IHtcbiAgICAgIGlmIChrZXkgPT09ICdjOHlfSXNOYXZpZ2F0b3JOb2RlJykge1xuICAgICAgICByZXR1cm4gISFvbGREYXNoYm9hcmRba2V5XSAhPT0gISF0aGlzLmRhc2hib2FyZFtrZXldO1xuICAgICAgfVxuICAgICAgcmV0dXJuICFpc0VxdWFsKG9sZERhc2hib2FyZFtrZXldLCB0aGlzLmRhc2hib2FyZFtrZXldKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZGFzaGJvYXJkLmF1dGhvciA9IHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIudmFsdWUudXNlck5hbWU7XG4gICAgdGhpcy5kYXNoYm9hcmQuYzh5X0lzTmF2aWdhdG9yTm9kZSA9IHRoaXMuZGFzaGJvYXJkLmM4eV9Jc05hdmlnYXRvck5vZGVcbiAgICAgID8ge31cbiAgICAgIDogdGhpcy5jdXJyZW50RGFzaGJvYXJkXG4gICAgICAgID8gbnVsbFxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHRoaXMuZGFzaGJvYXJkLmRldmljZVR5cGVWYWx1ZSA/Pz0gdGhpcy5kZXZpY2VUeXBlVmFsdWU7XG4gICAgdGhpcy5kYXNoYm9hcmQuaGlzdG9yeURlc2NyaXB0aW9uID1cbiAgICAgIHRoaXMudXBkYXRlRGFzaGJvYXJkSGlzdG9yeURlc2NyaXB0aW9uKGRhc2hib2FyZFNldHRpbmdDaGFuZ2VzKTtcbiAgICBpZiAoIXRoaXMuaXNFZGl0ICYmICF0aGlzLmlzUmVwb3J0KSB7XG4gICAgICBhd2FpdCB0aGlzLmNyZWF0ZU5ld0Rhc2hib2FyZCgpO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNFZGl0ICYmIHRoaXMuaXNSZXBvcnQpIHtcbiAgICAgIGF3YWl0IHRoaXMuY3JlYXRlTmV3UmVwb3J0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHRoaXMudXBkYXRlRGFzaGJvYXJkKCk7XG4gICAgICB0aGlzLm1vLmM4eV9EYXNoYm9hcmRIaXN0b3J5ID0gW1xuICAgICAgICB0aGlzLmRhc2hib2FyZCxcbiAgICAgICAgLi4uKHRoaXMubW8/LmM4eV9EYXNoYm9hcmRIaXN0b3J5ID8gdGhpcy5tby5jOHlfRGFzaGJvYXJkSGlzdG9yeSA6IFtdKVxuICAgICAgXTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVEYXNoYm9hcmRIaXN0b3J5RGVzY3JpcHRpb24oZGFzaGJvYXJkQ2hhbmdlczogc3RyaW5nW10pOiBEYXNoYm9hcmRIaXN0b3J5RGVzY3JpcHRpb24ge1xuICAgIHJldHVybiB7XG4gICAgICBjaGFuZ2VUeXBlOiB0aGlzLmlzRWRpdCA/ICd1cGRhdGUnIDogJ2NyZWF0ZScsXG4gICAgICBkYXNoYm9hcmRTZXR0aW5nQ2hhbmdlczogZGFzaGJvYXJkQ2hhbmdlc1xuICAgICAgICAuZmlsdGVyKHZhbHVlID0+IHZhbHVlICE9PSAnZGV2aWNlVHlwZScpXG4gICAgICAgIC5tYXAodmFsdWUgPT4gREFTSEJPQVJEX1NFVFRJTkdTX0NIQU5HRVNbdmFsdWVdIHx8IHZhbHVlKSxcbiAgICAgIGRldmljZVR5cGU6IGRhc2hib2FyZENoYW5nZXMuZmluZCh2YWx1ZSA9PiB2YWx1ZSA9PT0gJ2RldmljZVR5cGUnKVxuICAgICAgICA/IHRoaXMuZGFzaGJvYXJkLmRldmljZVR5cGVcbiAgICAgICAgOiB1bmRlZmluZWRcbiAgICB9O1xuICB9XG5cbiAgc2VsZWN0VGFiKHNlbGVjdGVkVGFiOiBEYXNoYm9hcmREZXRhaWxzVGFiSWQpIHtcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gc2VsZWN0ZWRUYWI7XG4gICAgdGhpcy50YWJzU2VydmljZS5yZWZyZXNoKCk7XG4gIH1cblxuICBhc3luYyBjYW5jZWwoKSB7XG4gICAgaWYgKCF0aGlzLmlzRWRpdCAmJiAhdGhpcy5pc1JlcG9ydCkge1xuICAgICAgLy8gZGFzaGJvYXJkIGNyZWF0aW9uIGluIGl0J3Mgb3duIHRhYi0gY29uZmlybSBhbmQgY2xlYW51cCB0cmlnZ2VyZWQgaW4gY2FuRGVhY3RpdmF0ZSBkdXJpbmcgcm91dGluZ1xuICAgICAgdGhpcy50YWJzU2VydmljZS5pdGVtcyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHRhYnM6IFRhYltdKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhYiA9IHRhYnMuZmluZCh0ID0+IHQuZmVhdHVyZUlkICE9PSBuZXdEYXNoYm9hcmRUYWIuZmVhdHVyZUlkKTtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUodHlwZW9mIHRhYi5wYXRoID09PSAnc3RyaW5nJyA/IFt0YWIucGF0aF0gOiB0YWIucGF0aCwge1xuICAgICAgICAgIHJlcGxhY2VVcmw6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmlzRWRpdCAmJiB0aGlzLmlzUmVwb3J0KSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ3JlcG9ydHMnXSk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICh0aGlzLmRhc2hib2FyZERldGFpbHNGb3JtLmRpcnR5ICYmICEoYXdhaXQgdGhpcy5jb25maXJtQ2xvc2luZygpKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNsZWFudXBBZnRlckRldGFpbHNDbG9zZSgpO1xuICB9XG5cbiAgYXN5bmMgY2FuRGVhY3RpdmF0ZShvbWl0Q29uZmlybSA9IGZhbHNlKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgbGV0IGNhbkRlYWN0aXZhdGU6IGJvb2xlYW47XG4gICAgaWYgKHRoaXMuaXNDb2xsYXBzZWQgfHwgIXRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0uZGlydHkpIHtcbiAgICAgIGNhbkRlYWN0aXZhdGUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAob21pdENvbmZpcm0pIHtcbiAgICAgICAgY2FuRGVhY3RpdmF0ZSA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FuRGVhY3RpdmF0ZSA9IGF3YWl0IHRoaXMuY29uZmlybUNsb3NpbmcoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNhbkRlYWN0aXZhdGUpIHtcbiAgICAgIHRoaXMuY2xlYW51cEFmdGVyRGV0YWlsc0Nsb3NlKCk7XG4gICAgfVxuICAgIHJldHVybiBjYW5EZWFjdGl2YXRlO1xuICB9XG5cbiAgc2hvdyhpc0VkaXQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzRWRpdCA9IGlzRWRpdDtcbiAgICBpZiAodGhpcy5pc0VkaXQpIHtcbiAgICAgIHRoaXMuZWRpdCgpO1xuICAgIH1cbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgdGhpcy5pc0NvbGxhcHNlZCA9IGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgcmV2ZXJ0RGFzaGJvYXJkKGRhc2hib2FyZDogQ29udGV4dERhc2hib2FyZCkge1xuICAgIHRoaXMuZGFzaGJvYXJkID0gZGFzaGJvYXJkO1xuICAgIHRoaXMuZGFzaGJvYXJkLmM4eV9Jc05hdmlnYXRvck5vZGUgPSB0aGlzLmRhc2hib2FyZC5jOHlfSXNOYXZpZ2F0b3JOb2RlXG4gICAgICA/IHt9XG4gICAgICA6IHRoaXMuY3VycmVudERhc2hib2FyZFxuICAgICAgICA/IG51bGxcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgYXdhaXQgdGhpcy51cGRhdGVEYXNoYm9hcmQoKTtcbiAgfVxuXG4gIGFzeW5jIGR1cGxpY2F0ZVdpdGhvdXRUeXBlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG5ld0Rhc2hib2FyZE5hbWUgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChnZXR0ZXh0KCd7eyBkYXNoYm9hcmROYW1lIH19IChjb3B5KScpLCB7XG4gICAgICBkYXNoYm9hcmROYW1lOiB0aGlzLmdlbmVyYWxTZXR0aW5nc0Zvcm0udmFsdWUubmFtZVxuICAgIH0pO1xuICAgIHRoaXMuZ2VuZXJhbFNldHRpbmdzRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIGRldmljZVR5cGU6IGZhbHNlLFxuICAgICAgbmFtZTogbmV3RGFzaGJvYXJkTmFtZVxuICAgIH0pO1xuICAgIC8vIHNldHRpbmcgZWRpdGlvbiB0byBmYWxzZSBzbyBuZXcgZGFzaGJvYXJkIGNhbiBiZSBjcmVhdGVkIGFzIGNvcHkgb2YgY3VycmVudCBvbmVcbiAgICB0aGlzLmlzRWRpdCA9IGZhbHNlO1xuICAgIGF3YWl0IHRoaXMuc2F2ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVBbGxvd1R5cGVEYXNoYm9hcmQoKTogdm9pZCB7XG4gICAgdGhpcy5hbGxvd1R5cGVEYXNoYm9hcmQgPSB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLnNob3VsZEFsbG93VG9TZXREYXNoYm9hcmRUeXBlKFxuICAgICAgdGhpcy5tbyxcbiAgICAgIHRoaXMuY3VycmVudENvbnRleHRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmRhc2hib2FyZERldGFpbHNGb3JtID0gdGhpcy5kYXNoYm9hcmREZXRhaWxTZXJ2aWNlLmluaXRGb3JtKFxuICAgICAgdGhpcy5kYXNoYm9hcmQsXG4gICAgICB0aGlzLmlzUmVwb3J0LFxuICAgICAgdGhpcy5hbGxvd1R5cGVEYXNoYm9hcmRcbiAgICApO1xuICAgIHRoaXMuZ2VuZXJhbFNldHRpbmdzRm9ybSA9IHRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0uZ2V0KCdnZW5lcmFsU2V0dGluZ3NGb3JtJykgYXMgRm9ybUdyb3VwO1xuICAgIHRoaXMuYXBwZWFyYW5jZVNldHRpbmdzRm9ybSA9IHRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0uZ2V0KFxuICAgICAgJ2FwcGVhcmFuY2VTZXR0aW5nc0Zvcm0nXG4gICAgKSBhcyBGb3JtR3JvdXA7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNvbmZpcm1DbG9zaW5nKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLm1vZGFsLmNvbmZpcm0oXG4gICAgICAgIGdldHRleHQoJ0Nsb3NlIGRhc2hib2FyZCBkZXRhaWxzJyksXG4gICAgICAgIGdldHRleHQoXG4gICAgICAgICAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjbG9zZSBkYXNoYm9hcmQgZGV0YWlscz8gQWxsIHVuc2F2ZWQgY2hhbmdlcyB3aWxsIGJlIGxvc3QuJ1xuICAgICAgICApLFxuICAgICAgICBTdGF0dXMuV0FSTklORyxcbiAgICAgICAge1xuICAgICAgICAgIG9rOiBnZXR0ZXh0KCdDbG9zZScpLFxuICAgICAgICAgIGNhbmNlbDogZ2V0dGV4dCgnQ2FuY2VsJylcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNyZWF0ZU5ld0Rhc2hib2FyZCgpIHtcbiAgICBjb25zdCBtbzogQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3QgPSBhd2FpdCB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLmNyZWF0ZShcbiAgICAgIHRoaXMuZGFzaGJvYXJkLFxuICAgICAgdGhpcy5jdXJyZW50Q29udGV4dFxuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLm9uQ3JlYXRlR1NFdmVudChtbyk7XG4gICAgdGhpcy5jbGVhbnVwQWZ0ZXJEZXRhaWxzQ2xvc2UoKTtcbiAgICBhd2FpdCB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLm5hdmlnYXRlVG9EYXNoYm9hcmQobW8sIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBvbkNyZWF0ZUdTRXZlbnQobW86IENvbnRleHREYXNoYm9hcmRNYW5hZ2VkT2JqZWN0KSB7XG4gICAgY29uc3QgcGFyZW50TmFtZSA9IGF3YWl0IHRoaXMuY29udmVydFN0cmluZ1RvSGFzaCh0aGlzLmNvbnRleHQ/Lm5hbWUpO1xuICAgIGNvbnN0IGRhc2hib2FyZE5hbWUgPSBhd2FpdCB0aGlzLmNvbnZlcnRTdHJpbmdUb0hhc2godGhpcy5kYXNoYm9hcmQ/Lm5hbWUpO1xuXG4gICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkVWRU5UUy5EQVNIQk9BUkRTLCB7XG4gICAgICBjb21wb25lbnQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuQ09NUE9ORU5UUy5BRERfREFTSEJPQVJELFxuICAgICAgYWN0aW9uOiBQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkFDVElPTlMuQ1JFQVRFLFxuICAgICAgbmFtZTogZGFzaGJvYXJkTmFtZSxcbiAgICAgIGlkOiBtby5pZCxcbiAgICAgIG5hbWVJZDogYCR7ZGFzaGJvYXJkTmFtZX1fJHt0aGlzLm1vLmlkfWAsXG4gICAgICBwYXJlbnRBc3NldElkOiB0aGlzLmNvbnRleHQ/LmlkID8gdGhpcy5jb250ZXh0LmlkIDogJ25vQ29udGV4dCcsXG4gICAgICBwYXJlbnRBc3NldE5hbWU6IHRoaXMuY29udGV4dD8uaWQgPyBwYXJlbnROYW1lIDogJ25vQ29udGV4dCcsXG4gICAgICBwYXJlbnRBc3NldFR5cGU6IHRoaXMuY29udGV4dD8uaWQgPyB0aGlzLmNvbnRleHQudHlwZSA6ICdub0NvbnRleHQnLFxuICAgICAgcGFyZW50QXNzZXROYW1lSWQ6IHRoaXMuY29udGV4dD8uaWQgPyBgJHtwYXJlbnROYW1lfV8ke3RoaXMuY29udGV4dC5pZH1gIDogJ25vQ29udGV4dCcsXG4gICAgICBwYXJlbnRBc3NldE5hbWVEYXNoYm9hcmROYW1lOiB0aGlzLmNvbnRleHQ/LmlkXG4gICAgICAgID8gYCR7cGFyZW50TmFtZX1fJHtkYXNoYm9hcmROYW1lfWBcbiAgICAgICAgOiAnbm9Db250ZXh0JyxcbiAgICAgIHBhcmVudEFzc2V0SWREYXNoYm9hcmRJZDogdGhpcy5jb250ZXh0Py5pZCA/IGAke3RoaXMuY29udGV4dC5pZH1fJHt0aGlzLm1vLmlkfWAgOiAnbm9Db250ZXh0JyxcbiAgICAgIHBhcmVudEFzc2V0TmFtZURhc2hib2FyZElkOiB0aGlzLmNvbnRleHQ/LmlkID8gYCR7cGFyZW50TmFtZX1fJHt0aGlzLm1vLmlkfWAgOiAnbm9Db250ZXh0JyxcbiAgICAgIHBhcmVudEFzc2V0TmFtZUlkRGFzaGJvYXJkTmFtZUlkOiB0aGlzLmNvbnRleHQ/LmlkXG4gICAgICAgID8gYCR7cGFyZW50TmFtZX1fJHt0aGlzLmNvbnRleHQuaWR9XyR7ZGFzaGJvYXJkTmFtZX1fJHt0aGlzLm1vLmlkfWBcbiAgICAgICAgOiAnbm9Db250ZXh0JyxcbiAgICAgIGRhc2hib2FyZFR5cGU6IG1vLmM4eV9EYXNoYm9hcmQuZGV2aWNlVHlwZSA/IG1vLmM4eV9EYXNoYm9hcmQuZGV2aWNlVHlwZVZhbHVlIDogbnVsbCxcbiAgICAgIGNvbnRleHQ6IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UuZ2V0Q29udGV4dEZvckdTKFxuICAgICAgICB0aGlzLmN1cnJlbnRDb250ZXh0LmNvbnRleHREYXRhIGFzIElNYW5hZ2VkT2JqZWN0XG4gICAgICApXG4gICAgfSk7XG4gIH1cblxuICBAbWVtb2l6ZSgpXG4gIHByaXZhdGUgYXN5bmMgY29udmVydFN0cmluZ1RvSGFzaChzdHI6IHN0cmluZykge1xuICAgIGlmICghc3RyKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmdhaW5zaWdodFNlcnZpY2Uuc2hvdWxkU2VuZFBpaURhdGEoKSlcbiAgICAgID8gc3RyXG4gICAgICA6IGF3YWl0IHRoaXMuZ2FpbnNpZ2h0U2VydmljZS5oYXNoR3JvdXBOYW1lKHN0cik7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNyZWF0ZU5ld1JlcG9ydCgpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBuYW1lLCBpY29uLCBjOHlfSXNOYXZpZ2F0b3JOb2RlLCBwcmlvcml0eSwgZGVzY3JpcHRpb24gfSA9IHRoaXMuZGFzaGJvYXJkO1xuICAgICAgY29uc3QgcmVwb3J0ID0gKFxuICAgICAgICBhd2FpdCB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLmNyZWF0ZVJlcG9ydCh7XG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBpY29uLFxuICAgICAgICAgIGM4eV9Jc05hdmlnYXRvck5vZGUsXG4gICAgICAgICAgcHJpb3JpdHksXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgfSBhcyBQYXJ0aWFsPElNYW5hZ2VkT2JqZWN0PilcbiAgICAgICkuZGF0YTtcblxuICAgICAgYXdhaXQgdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5jcmVhdGUoXG4gICAgICAgIHRoaXMuZGFzaGJvYXJkLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIGAke3RoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UuUkVQT1JUX1BBUlRJQUxfTkFNRX0ke3JlcG9ydC5pZH1gXG4gICAgICApO1xuICAgICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkVWRU5UUy5SRVBPUlRTLCB7XG4gICAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5DT01QT05FTlRTLkFERF9SRVBPUlQsXG4gICAgICAgIGFjdGlvbjogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5BQ1RJT05TLkNSRUFURSxcbiAgICAgICAgbmFtZTogcmVwb3J0Lm5hbWUsXG4gICAgICAgIGlkOiByZXBvcnQuaWQsXG4gICAgICAgIGNvbnRleHQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuQ09OVEVYVC5SRVBPUlRcbiAgICAgIH0pO1xuICAgICAgaWYgKHJlcG9ydC5jOHlfSXNOYXZpZ2F0b3JOb2RlKSB7XG4gICAgICAgIHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UuYWRkUmVwb3J0TmF2aWdhdG9yTm9kZShyZXBvcnQpO1xuICAgICAgfVxuICAgICAgdGhpcy5jbGVhbnVwQWZ0ZXJEZXRhaWxzQ2xvc2UoKTtcbiAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFsncmVwb3J0cycsIHJlcG9ydC5pZF0pO1xuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAvLyBpbnRlbmRlZCBlbXB0eVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlRGFzaGJvYXJkKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkYXNoYm9hcmRNTzogQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3QgPSBjbG9uZURlZXAodGhpcy5tbyk7XG4gICAgICBjb25zdCBjZmcgPSB0aGlzLmRhc2hib2FyZDtcbiAgICAgIGlmICh0aGlzLmlzUmVwb3J0KSB7XG4gICAgICAgIGNvbnN0IHsgbmFtZSwgaWNvbiwgYzh5X0lzTmF2aWdhdG9yTm9kZSwgcHJpb3JpdHksIGRlc2NyaXB0aW9uIH0gPSBjZmc7XG4gICAgICAgIGRhc2hib2FyZE1PLmM4eV9EYXNoYm9hcmQgPSBjZmc7XG4gICAgICAgIGF3YWl0IHRoaXMudXBkYXRlUmVwb3J0KHtcbiAgICAgICAgICBpZDogdGhpcy5jb250ZXh0LmlkLFxuICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgaWNvbixcbiAgICAgICAgICBjOHlfSXNOYXZpZ2F0b3JOb2RlLFxuICAgICAgICAgIHByaW9yaXR5LFxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGFzaGJvYXJkTU8uYzh5X0Rhc2hib2FyZCA9IGNmZztcbiAgICAgIH1cblxuICAgICAgY29uc3QgdXBkYXRlZERhc2hib2FyZE1vID0gYXdhaXQgdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS51cGRhdGUoXG4gICAgICAgIGRhc2hib2FyZE1PLFxuICAgICAgICB0aGlzLmN1cnJlbnRDb250ZXh0XG4gICAgICApO1xuICAgICAgdGhpcy5jbGVhbnVwQWZ0ZXJEZXRhaWxzQ2xvc2UoKTtcblxuICAgICAgdGhpcy5kYXNoYm9hcmRTYXZlZC5lbWl0KHVwZGF0ZWREYXNoYm9hcmRNbyk7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIC8vIGludGVuZGVkIGVtcHR5XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlZGl0KCkge1xuICAgIGlmICh0aGlzLmlzUmVwb3J0KSB7XG4gICAgICBjb25zdCB7IG5hbWUsIGljb24sIHByaW9yaXR5LCBjOHlfSXNOYXZpZ2F0b3JOb2RlLCBkZXNjcmlwdGlvbiB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmRhc2hib2FyZCwgeyBuYW1lLCBpY29uLCBwcmlvcml0eSwgYzh5X0lzTmF2aWdhdG9yTm9kZSwgZGVzY3JpcHRpb24gfSk7XG4gICAgfVxuICAgIHRoaXMuaXNOYW1lZERhc2hib2FyZCA9IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UuaXNOYW1lZCh0aGlzLm1vKTtcbiAgICB0aGlzLnNlbGVjdGVkVGFiID1cbiAgICAgIHRoaXMuaGlkZUF2YWlsYWJpbGl0eSAmJiB0aGlzLmlzTmFtZWREYXNoYm9hcmRcbiAgICAgICAgPyBEYXNoYm9hcmREZXRhaWxzVGFiSWQuQVBQRUFSQU5DRVxuICAgICAgICA6IERhc2hib2FyZERldGFpbHNUYWJJZC5HRU5FUkFMO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUNvbmZpZ3VyYXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUNvbmZpZ3VyYXRpb24oKSB7XG4gICAgY29uc3QgZGVmYXVsdERhc2hib2FyZENmZzogUGFydGlhbDxDb250ZXh0RGFzaGJvYXJkPiA9IHtcbiAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMuaXNSZXBvcnQgPyBnZXR0ZXh0KCdSZXBvcnQnKSA6IGdldHRleHQoJ0Rhc2hib2FyZCcpKSxcbiAgICAgIHByaW9yaXR5OiB0aGlzLmlzUmVwb3J0XG4gICAgICAgID8gUkVQT1JUX0RFRkFVTFRfTkFWSUdBVElPTl9OT0RFX1BSSU9SSVRZXG4gICAgICAgIDogdGhpcy5kYXNoYm9hcmREZXRhaWxTZXJ2aWNlLkRFRkFVTFRfREFTSEJPQVJEX1BSSU9SSVRZLFxuICAgICAgaWNvbjogdGhpcy5kYXNoYm9hcmREZXRhaWxTZXJ2aWNlLkRFRkFVTFRfREFTSEJPQVJEX0lDT04sXG4gICAgICBkZXZpY2VUeXBlVmFsdWU6IHRoaXMuZGV2aWNlVHlwZSxcbiAgICAgIGNvbHVtbnM6IDI0XG4gICAgfTtcblxuICAgIGlmICh0aGlzLmRhc2hib2FyZCkge1xuICAgICAgdGhpcy5jdXJyZW50RGFzaGJvYXJkID0gY2xvbmUodGhpcy5kYXNoYm9hcmQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhc2hib2FyZCA9IGRlZmF1bHREYXNoYm9hcmRDZmc7XG4gICAgICB0aGlzLmRhc2hib2FyZERldGFpbHNGb3JtLm1hcmtBc0RpcnR5KCk7XG4gICAgfVxuICAgIHRoaXMubmFtZVBsYWNlaG9sZGVyID0gdGhpcy5pc1JlcG9ydCA/IGdldHRleHQoJ2UuZy4gTXkgcmVwb3J0JykgOiBnZXR0ZXh0KCdlLmcuIE15IGRhc2hib2FyZCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVSZXBvcnQobW86IFBhcnRpYWw8SU1hbmFnZWRPYmplY3Q+KSB7XG4gICAgbW8uYzh5X0lzTmF2aWdhdG9yTm9kZSA9IG1vLmM4eV9Jc05hdmlnYXRvck5vZGUgPyB7fSA6IG51bGw7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5pbnZlbnRvcnkudXBkYXRlKG1vKTtcbiAgICB0aGlzLmNvbnRleHQgPSByZXMuZGF0YTtcbiAgICBpZiAodGhpcy5yb3V0ZS5wYXJlbnQpIHtcbiAgICAgIHRoaXMucm91dGUucGFyZW50LnNuYXBzaG90LmRhdGEuY29udGV4dERhdGEgPSB0aGlzLmNvbnRleHQ7XG4gICAgfVxuICAgIHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UudXBkYXRlTmF2aWdhdG9ySXRlbShyZXMuZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFudXBBZnRlckRldGFpbHNDbG9zZSgpIHtcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gdHJ1ZTtcbiAgICBpZiAoIXRoaXMuaXNFZGl0KSB7XG4gICAgICBjb25zdCBkYXNoYm9hcmRDb250ZXh0ID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmRhc2hib2FyZDtcbiAgICAgIC8vIGhpZGUgTmV3IGRhc2hib2FyZCB0YWJcbiAgICAgIGNvbnN0IHRtcE5ld0Rhc2hib2FyZFRhYiA9IFsuLi50aGlzLnRhYnNTZXJ2aWNlLnN0YXRlXS5maW5kKFxuICAgICAgICB0ID0+IHQuZmVhdHVyZUlkID09PSBuZXdEYXNoYm9hcmRUYWIuZmVhdHVyZUlkXG4gICAgICApO1xuICAgICAgLy8gZG9uJ3QgaGlkZSB0aGUgbmV3IGRhc2hib2FyZCB0YWIgd2hlbiBjbGlja2luZyBvbiB0aGUgYWRkIGRhc2hib2FyZCBidXR0b24gZnJvbSBhbm90aGVyIGRhc2hib2FyZC5cbiAgICAgIGlmICghdG1wTmV3RGFzaGJvYXJkVGFiIHx8IGRhc2hib2FyZENvbnRleHQ/LmM4eV9EYXNoYm9hcmQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy8gaGlkZSB0YWIgYW5kIG1ha2UgaXQgYXBwZWFyIGFzIGxhc3Qgb25lIHRvIHByZXZlbnQgbmF2aWdhdGluZyB0byBpdFxuICAgICAgdG1wTmV3RGFzaGJvYXJkVGFiLmhpZGUgPSB0cnVlO1xuICAgICAgdG1wTmV3RGFzaGJvYXJkVGFiLnByaW9yaXR5ID0gLUluZmluaXR5O1xuICAgICAgdGhpcy50YWJzU2VydmljZS5yZWZyZXNoKCk7XG4gICAgfVxuICAgIHRoaXMucHJldmlld0NoYW5nZWQuZW1pdCh0aGlzLmRhc2hib2FyZCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJjb2xsYXBzZSBjOHktdG9wLWRyYXdlclwiXG4gIFtjb2xsYXBzZV09XCJpc0NvbGxhcHNlZFwiXG4gIFtpc0FuaW1hdGVkXT1cInRydWVcIlxuPlxuICA8ZGl2IGNsYXNzPVwicC10LTE2IHAtYi0xNiBwLWwtMjQgcC1yLTI0IHNlcGFyYXRvci1ib3R0b21cIj5cbiAgICA8c3BhbiBjbGFzcz1cImg0XCI+e3sgJ0Rhc2hib2FyZCBzZXR0aW5ncycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cImQtZmxleFwiXG4gICAgW2Zvcm1Hcm91cF09XCJkYXNoYm9hcmREZXRhaWxzRm9ybVwiXG4gICAgKm5nSWY9XCIhaXNDb2xsYXBzZWRcIlxuICA+XG4gICAgPGM4eS10YWJzLW91dGxldFxuICAgICAgW3RhYnNdPVwidGFicyQgfCBhc3luY1wiXG4gICAgICBbb3V0bGV0TmFtZV09XCJUQUJTX09VVExFVF9OQU1FXCJcbiAgICAgIFtvcmllbnRhdGlvbl09XCIndmVydGljYWwnXCJcbiAgICAgIGNsYXNzPVwiYzh5LXRvcC1kcmF3ZXItLXRhYnNcIlxuICAgID48L2M4eS10YWJzLW91dGxldD5cbiAgICA8ZGl2IGNsYXNzPVwiaW5uZXItc2Nyb2xsIGM4eS10b3AtZHJhd2VyX190YWJzLWNvbnRhaW5lciBmbGV4LWdyb3cgcC1sLTI0IHAtci1sZy0zMiBwLXIteHMtMjQgcC1yLXNtLTI0XCI+XG4gICAgICA8Yzh5LXRhYlxuICAgICAgICAqbmdJZj1cIighaXNOYW1lZERhc2hib2FyZCAmJiAhaGlkZUF2YWlsYWJpbGl0eSkgfHwgaXNSZXBvcnRcIlxuICAgICAgICBbbGFiZWxdPVwiVEFCUy5nZW5lcmFsLmxhYmVsXCJcbiAgICAgICAgW2ljb25dPVwiJ2ltYWMtc2V0dGluZ3MnXCJcbiAgICAgICAgW3ByaW9yaXR5XT1cIjEwMFwiXG4gICAgICAgIFt0YWJzT3V0bGV0XT1cIlRBQlNfT1VUTEVUX05BTUVcIlxuICAgICAgICAob25TZWxlY3QpPVwic2VsZWN0VGFiKFRBQlMuZ2VuZXJhbC5mZWF0dXJlSWQpXCJcbiAgICAgICAgW2lzQWN0aXZlXT1cInNlbGVjdGVkVGFiID09PSBUQUJTLmdlbmVyYWwuZmVhdHVyZUlkXCJcbiAgICAgID48L2M4eS10YWI+XG4gICAgICA8Yzh5LXRhYlxuICAgICAgICBbbGFiZWxdPVwiVEFCUy5hcHBlYXJhbmNlLmxhYmVsXCJcbiAgICAgICAgW3ByaW9yaXR5XT1cIjUwXCJcbiAgICAgICAgW2ljb25dPVwiJ3dlYi1kZXNpZ24nXCJcbiAgICAgICAgW3RhYnNPdXRsZXRdPVwiVEFCU19PVVRMRVRfTkFNRVwiXG4gICAgICAgIChvblNlbGVjdCk9XCJzZWxlY3RUYWIoVEFCUy5hcHBlYXJhbmNlLmZlYXR1cmVJZClcIlxuICAgICAgICBbaXNBY3RpdmVdPVwic2VsZWN0ZWRUYWIgPT09IFRBQlMuYXBwZWFyYW5jZS5mZWF0dXJlSWRcIlxuICAgICAgPjwvYzh5LXRhYj5cbiAgICAgIDxjOHktdGFiXG4gICAgICAgICpuZ0lmPVwibW8/LmM4eV9EYXNoYm9hcmRIaXN0b3J5XCJcbiAgICAgICAgW2xhYmVsXT1cIlRBQlMudmVyc2lvbkhpc3RvcnkubGFiZWxcIlxuICAgICAgICBbaWNvbl09XCIndmVyc2lvbnMnXCJcbiAgICAgICAgW3ByaW9yaXR5XT1cIjEwXCJcbiAgICAgICAgW3RhYnNPdXRsZXRdPVwiVEFCU19PVVRMRVRfTkFNRVwiXG4gICAgICAgIChvblNlbGVjdCk9XCJzZWxlY3RUYWIoVEFCUy52ZXJzaW9uSGlzdG9yeS5mZWF0dXJlSWQpXCJcbiAgICAgICAgW2lzQWN0aXZlXT1cInNlbGVjdGVkVGFiID09PSBUQUJTLnZlcnNpb25IaXN0b3J5LmZlYXR1cmVJZFwiXG4gICAgICA+PC9jOHktdGFiPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic2VsZWN0ZWRUYWJcIj5cbiAgICAgICAgPGM4eS1kYXNoYm9hcmQtZ2VuZXJhbC1zZXR0aW5nc1xuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJUQUJTLmdlbmVyYWwuZmVhdHVyZUlkXCJcbiAgICAgICAgICBbaXNSZXBvcnRdPVwiaXNSZXBvcnRcIlxuICAgICAgICAgIFtpc05hbWVkRGFzaGJvYXJkXT1cImlzTmFtZWREYXNoYm9hcmRcIlxuICAgICAgICAgIFtoaWRlQXZhaWxhYmlsaXR5XT1cImhpZGVBdmFpbGFiaWxpdHlcIlxuICAgICAgICAgIFtkYXNoYm9hcmRdPVwiZGFzaGJvYXJkXCJcbiAgICAgICAgICBbZ2VuZXJhbFNldHRpbmdzRm9ybV09XCJnZW5lcmFsU2V0dGluZ3NGb3JtXCJcbiAgICAgICAgICBbZGV2aWNlVHlwZVZhbHVlXT1cImRldmljZVR5cGVWYWx1ZVwiXG4gICAgICAgICAgW2Rpc3BsYXlEZXZpY2VUeXBlVmFsdWVdPVwiZGlzcGxheURldmljZVR5cGVWYWx1ZVwiXG4gICAgICAgICAgW21vXT1cIm1vXCJcbiAgICAgICAgICBbYWxsb3dUeXBlRGFzaGJvYXJkXT1cImFsbG93VHlwZURhc2hib2FyZFwiXG4gICAgICAgICAgW2lzRGV2aWNlXT1cIiEhY29udGV4dD8uYzh5X0lzRGV2aWNlXCJcbiAgICAgICAgICBjbGFzcz1cImFuaW1hdGVkIGZhZGVJblwiXG4gICAgICAgICAgKG9uRHVwbGljYXRlV2l0aG91dFR5cGUpPVwiZHVwbGljYXRlV2l0aG91dFR5cGUoKVwiXG4gICAgICAgID48L2M4eS1kYXNoYm9hcmQtZ2VuZXJhbC1zZXR0aW5ncz5cbiAgICAgICAgPGM4eS1kYXNoYm9hcmQtYXBwZWFyYW5jZS1zZXR0aW5nc1xuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJUQUJTLmFwcGVhcmFuY2UuZmVhdHVyZUlkXCJcbiAgICAgICAgICBbZGFzaGJvYXJkXT1cImRhc2hib2FyZFwiXG4gICAgICAgICAgW2FwcGVhcmFuY2VTZXR0aW5nc0Zvcm1dPVwiYXBwZWFyYW5jZVNldHRpbmdzRm9ybVwiXG4gICAgICAgICAgKHByZXZpZXdDaGFuZ2VkKT1cInByZXZpZXdDaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgY2xhc3M9XCJhbmltYXRlZCBmYWRlSW5cIlxuICAgICAgICA+PC9jOHktZGFzaGJvYXJkLWFwcGVhcmFuY2Utc2V0dGluZ3M+XG4gICAgICAgIDxjOHktZGFzaGJvYXJkLXZlcnNpb24taGlzdG9yeVxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJUQUJTLnZlcnNpb25IaXN0b3J5LmZlYXR1cmVJZFwiXG4gICAgICAgICAgW2Rhc2hib2FyZEhpc3RvcnldPVwibW8uYzh5X0Rhc2hib2FyZEhpc3RvcnlcIlxuICAgICAgICAgIFtpc1JlcG9ydF09XCJpc1JlcG9ydFwiXG4gICAgICAgICAgKG9uUmV2ZXJ0KT1cInJldmVydERhc2hib2FyZCgkZXZlbnQpXCJcbiAgICAgICAgICBjbGFzcz1cImFuaW1hdGVkIGZhZGVJblwiXG4gICAgICAgID48L2M4eS1kYXNoYm9hcmQtdmVyc2lvbi1oaXN0b3J5PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjOHktdG9wLWRyYXdlci0tZm9vdGVyXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxuICAgICAgdGl0bGU9XCJ7eyAnQ2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGRhdGEtY3k9XCJkYXNoYm9hcmQtZGV0YWlsLS1jYW5jZWwtZGFzaGJvYXJkXCJcbiAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgPlxuICAgICAge3sgJ0NhbmNlbCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgICB0aXRsZT1cInt7ICdTYXZlJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGRhdGEtY3k9XCJkYXNoYm9hcmQtZGV0YWlsLS1zYXZlLWRhc2hib2FyZFwiXG4gICAgICAoY2xpY2spPVwic2F2ZSgpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgKGRhc2hib2FyZERldGFpbHNGb3JtPy5pbnZhbGlkIHx8IGRhc2hib2FyZERldGFpbHNGb3JtPy5wcmlzdGluZSkgJiYgdGhpcy5pc0VkaXRcbiAgICAgIFwiXG4gICAgPlxuICAgICAge3sgJ1NhdmUnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -2,5 +2,5 @@ export const CopyDashboardDisabledReason = {
2
2
  PERMISSIONS: 'PERMISSIONS',
3
3
  WRONG_REFERENCE: 'WRONG_REFERENCE'
4
4
  };
5
- export const NEW_DASHBOARD_QUERY_PARAM = 'newDashboard';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9kYXNoYm9hcmQvZGFzaGJvYXJkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdNQSxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRztJQUN6QyxXQUFXLEVBQUUsYUFBYTtJQUMxQixlQUFlLEVBQUUsaUJBQWlCO0NBQzFCLENBQUM7QUFZWCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXNoYm9hcmRDaGlsZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkLWNoaWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXNoYm9hcmRDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZC5jb21wb25lbnQnO1xuXG4vKipcbiAqIERlc2NyaWJlcyBhIGxlZ2FjeSB3aWRnZXQuIFBsZWFzZSB1c2VcbiAqIHRoZSBwcm9wZXIgV2lkZ2V0IGludGVyZmFjZSBpbnN0ZWFkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExlZ2FjeVdpZGdldCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgd2lkZ2V0LlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgY29tcG9uZW5JZFxuICAgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB0ZW1wbGF0ZSBVUkwgZm9yIGxlZ2FjeSBwbHVnaW5zLlxuICAgKiBAZGVwcmVjYXRlZDogT25seSB1c2VkIGZvciBhbmd1bGFyanMgcGx1Z2lucy5cbiAgICovXG4gIHRlbXBsYXRlVXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uZmlnIHRlbXBsYXRlIFVSTCBmb3IgbGVnYWN5IHBsdWdpbnMuXG4gICAqIEBkZXByZWNhdGVkOiBPbmx5IHVzZWQgZm9yIGFuZ3VsYXJqcyBwbHVnaW5zLlxuICAgKi9cbiAgY29uZmlnVGVtcGxhdGVVcmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25maWcgY29tcG9uZW50IG5hbWUuXG4gICAqIEBkZXByZWNhdGVkOiBPbmx5IHVzZWQgZm9yIGFuZ3VsYXJqcyBwbHVnaW5zLlxuICAgKi9cbiAgY29uZmlnQ29tcG9uZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgd2lkZ2V0IGNvbXBvbmVudCBuYW1lLlxuICAgKiBAZGVwcmVjYXRlZDogT25seSB1c2VkIGZvciBhbmd1bGFyanMgcGx1Z2lucy5cbiAgICovXG4gIHdpZGdldENvbXBvbmVudD86IHN0cmluZztcbiAgdHJhbnNmb3JtQ29uZmlnV2l0aENvbnRleHQ/OiAoKSA9PiB2b2lkO1xufVxuXG4vKipcbiAqIEEgd2lkZ2V0IGlzIGEgY2hpbGQgb24gYSBkYXNoYm9hcmQgd2hpY2ggY2FuIGJlIGFkZGVkIGFuZCBjb25maWd1cmVkXG4gKiBieSB0aGUgdXNlci4gQSB3aWRnZXQgY2FuIGJlIGRlZmluZWQgYnkgdGhlIFtbRHluYW1pY0NvbXBvbmVudERlZmluaXRpb25dXVxuICogYnkgYW55IG1vZHVsZSBvZiBhbiBhcHBsaWNhdGlvbi4gVGhldyB3aWRnZXQgaXRzZWxmIHN0b3JlcyBiZXNpZGUgaXQnc1xuICogbGluayAoY29tcG9uZW50SWQpIHRvIHRoZSBEeW5hbWljQ29tcG9uZW50RGVmaW5pdGlvbiB0aGUgaW5mb3JtYXRpb25cbiAqIGFib3V0IHRoZSB0aXRsZSwgbGF5b3V0IChjbGFzc2VzKSBhbmQgdGhlIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0IGV4dGVuZHMgTGVnYWN5V2lkZ2V0IHtcbiAgLyoqXG4gICAqIHggZGltZW5zaW9uIHBhcmFtZXRlcnNcbiAgICovXG4gIF94PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiB5IGRpbWVuc2lvbiBwYXJhbWV0ZXJzXG4gICAqL1xuICBfeT86IG51bWJlcjtcblxuICAvKipcbiAgICogd2lkdGggZGltZW5zaW9uIHBhcmFtZXRlcnNcbiAgICovXG4gIF93aWR0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogaGVpZ2h0IGRpbWVuc2lvbiBwYXJhbWV0ZXJzXG4gICAqL1xuICBfaGVpZ2h0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdW5pcXVlIGNvbXBvbmVudCBpZCB0byBmaW5kIHRoZSBjb21wb25lbnQgaW4gdGhlXG4gICAqIEhPT0tfQ09NUE9ORU5UUyBkeW5hbWljLWNvbXBvbmVudCBpbXBsZW1lbnRhdGlvbi5cbiAgICovXG4gIGNvbXBvbmVudElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgcmFuZG9tIGtleSBmb3Igc2F2aW5nIGl0IHRvIHRoZSBvYmplY3QuXG4gICAqL1xuICBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBjb25maWd1cmF0aW9uIG9mIHRoZSB3aWRnZXQuXG4gICAqL1xuICBjb25maWc6IGFueTtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgdGl0bGUgb2YgdGhlIHdpZGdldC5cbiAgICovXG4gIHRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGljaCBjbGFzc2VzIHNob3VsZCBiZSBhZGRlZC5cbiAgICovXG4gIGNsYXNzZXM/OiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfTtcbn1cblxuLyoqXG4gKiBJcyB1c2VkIHRvIGNvbmZpZ3VyZSBhIHdpZGdldCBkYXNoYm9hcmQuIEl0IGFsbG93c1xuICogdG8gc2V0IGNlcnRhaW4gcGFyYW1ldGVyIHRoYXQgY2hhbmdlIHRoZSBiZWhhdmlvclxuICogb2YgdGhlIGRhc2hib2FyZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBJZiB0aGUgZGFzaGJvYXJkIGlzIGZyb3plbiwgdGhlIHVzZXIgY2FuJ3QgZWRpdCBpdCBhbnkgbW9yZS5cbiAgICogSG93ZXZlciBoZSBjYW4gZGVsZXRlIGl0IGFuZCBjaGFuZ2UgdGhlIGZyb3plbiBzdGF0ZS5cbiAgICovXG4gIGlzRnJvemVuOiBib29sZWFuO1xuICAvKipcbiAgICogSWYgdGhlIGRhc2hib2FyZCBpcyBkaXNhYmxlZCwgbm8gY2hhbmdlcyBvbiB0aGlzIGRhc2hib2FyZCBhcmUgYWxsb3dlZC5cbiAgICogRS5nLiBiZWNhdXNlIHRoZSB1c2VyIGRvZXNuJ3QgaGF2ZSB0aGUgcmlnaHRzLlxuICAgKi9cbiAgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBnYXAgYmV0d2VlbiBlYWNoIHdpZGdldCBhcyBwaXhlbFxuICAgKi9cbiAgd2lkZ2V0TWFyZ2luOiBudW1iZXI7XG4gIC8qKlxuICAgKiBTaG91bGQgdGhlIGFwcGxpY2F0aW9uIGNoZWNrIGlmIGEgdHJhbnNsYXRpb24gaXMgcHJlc2VudCBmb3IgdGhlXG4gICAqIHdpZGdldCB0aXRsZS5cbiAgICovXG4gIHRyYW5zbGF0ZVdpZGdldFRpdGxlOiBib29sZWFuO1xuICAvKipcbiAgICogTmV3IGFkZGVkIHdpZGdldHMgZ2V0IHRoYXQgaGVpZ2h0IGF0dGFjaGVkIChpbiBjc3MgZ3JpZCBjb2x1bW5zIHVuaXRzKVxuICAgKi9cbiAgZGVmYXVsdEhlaWdodDogbnVtYmVyO1xuICAvKipcbiAgICogTmV3IGFkZGVkIHdpZGdldHMgZ2V0IHRoYXQgd2lkdGggYXR0YWNoZWQgKGluIGNzcyBncmlkIHJvdyB1bml0cylcbiAgICovXG4gIGRlZmF1bHRXaWR0aDogbnVtYmVyO1xuICAvKipcbiAgICogU2hvdWxkIHRoZSB1c2VyIGJlIGFibGUgdG8gc3dpdGNoIHRvIGZ1bGxzY3JlZW4gbW9kZS5cbiAgICovXG4gIGFsbG93RnVsbHNjcmVlbjogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEEgZ2xvYmFsIHRpdGxlIHRoYXQgaXMgdXNlZCBmb3IgdGhpcyBkYXNoYm9hcmQuXG4gICAqL1xuICB0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgc2V0IHRvIGZhbHNlLCB0aGUgZGFzaGJvYXJkIGNhbiBub3QgYmUgY29waWVkIChkZWZhdWx0IHRydWUpLlxuICAgKi9cbiAgY2FuQ29weT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byBmYWxzZSwgdGhlIGRhc2hib2FyZCBjYW4gbm90IGJlIHJlbW92ZWQgKGRlZmF1bHQgdHJ1ZSkuXG4gICAqL1xuICBjYW5EZWxldGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgZGFzaGJvYXJkIGlzIGxvYWRpbmcuXG4gICAqL1xuICBpc0xvYWRpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIGNvbHVtbnMgb24gdGhhdCBkYXNoYm9hcmQuXG4gICAqIENhbiBiZSBmcmVlbHkgY2hvc2VuLCBidXQgcHJvZHVjdCB1c2VzIGVpdGhlciAxMiBvciAyNC5cbiAgICovXG4gIGNvbHVtbnM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGFzaGJvYXJkQ2hpbGREaW1lbnNpb24ge1xuICB4PzogbnVtYmVyO1xuICB5PzogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRDaGlsZFJlc2l6ZURpbWVuc2lvbiB7XG4gIHBvaW50ZXI6IHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICB9O1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRDaGlsZEFycmFuZ2VtZW50IHtcbiAgY3VycmVudDogRGFzaGJvYXJkQ2hpbGREaW1lbnNpb247XG4gIHNjYW46IERhc2hib2FyZENoaWxkQ29tcG9uZW50W107XG4gIHNwYWNpbmc6IG51bWJlcjtcbiAgb3JpZ2luOiBEYXNoYm9hcmRDaGlsZERpbWVuc2lvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRDaGFuZ2Uge1xuICBzb3VyY2U6IERhc2hib2FyZENoaWxkQ29tcG9uZW50O1xuICBjaGlsZHJlbjogRGFzaGJvYXJkQ2hpbGRDb21wb25lbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaWRnZXRDaGFuZ2Uge1xuICB3aWRnZXQ6IFdpZGdldDtcbiAgZGFzaGJvYXJkOiBEYXNoYm9hcmRDb21wb25lbnQ7XG4gIHNvdXJjZTogRGFzaGJvYXJkQ2hpbGRDb21wb25lbnQ7XG59XG5cbmV4cG9ydCBjb25zdCBDb3B5RGFzaGJvYXJkRGlzYWJsZWRSZWFzb24gPSB7XG4gIFBFUk1JU1NJT05TOiAnUEVSTUlTU0lPTlMnLFxuICBXUk9OR19SRUZFUkVOQ0U6ICdXUk9OR19SRUZFUkVOQ0UnXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBEYXNoYm9hcmRDb3B5UGVybWlzc2lvbiA9XG4gIHwge1xuICAgICAgc3RhdGU6IHRydWU7XG4gICAgICByZWFzb24/OiBuZXZlcjtcbiAgICB9XG4gIHwge1xuICAgICAgc3RhdGU6IGZhbHNlO1xuICAgICAgcmVhc29uOiAodHlwZW9mIENvcHlEYXNoYm9hcmREaXNhYmxlZFJlYXNvbilba2V5b2YgdHlwZW9mIENvcHlEYXNoYm9hcmREaXNhYmxlZFJlYXNvbl07XG4gICAgfTtcblxuZXhwb3J0IGNvbnN0IE5FV19EQVNIQk9BUkRfUVVFUllfUEFSQU0gPSAnbmV3RGFzaGJvYXJkJztcbiJdfQ==
5
+ export const NEW_DASHBOARD_ROUTER_STATE_PROP = 'newDashboard';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9kYXNoYm9hcmQvZGFzaGJvYXJkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdNQSxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRztJQUN6QyxXQUFXLEVBQUUsYUFBYTtJQUMxQixlQUFlLEVBQUUsaUJBQWlCO0NBQzFCLENBQUM7QUFZWCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXNoYm9hcmRDaGlsZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkLWNoaWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXNoYm9hcmRDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZC5jb21wb25lbnQnO1xuXG4vKipcbiAqIERlc2NyaWJlcyBhIGxlZ2FjeSB3aWRnZXQuIFBsZWFzZSB1c2VcbiAqIHRoZSBwcm9wZXIgV2lkZ2V0IGludGVyZmFjZSBpbnN0ZWFkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExlZ2FjeVdpZGdldCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgd2lkZ2V0LlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgY29tcG9uZW5JZFxuICAgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB0ZW1wbGF0ZSBVUkwgZm9yIGxlZ2FjeSBwbHVnaW5zLlxuICAgKiBAZGVwcmVjYXRlZDogT25seSB1c2VkIGZvciBhbmd1bGFyanMgcGx1Z2lucy5cbiAgICovXG4gIHRlbXBsYXRlVXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uZmlnIHRlbXBsYXRlIFVSTCBmb3IgbGVnYWN5IHBsdWdpbnMuXG4gICAqIEBkZXByZWNhdGVkOiBPbmx5IHVzZWQgZm9yIGFuZ3VsYXJqcyBwbHVnaW5zLlxuICAgKi9cbiAgY29uZmlnVGVtcGxhdGVVcmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25maWcgY29tcG9uZW50IG5hbWUuXG4gICAqIEBkZXByZWNhdGVkOiBPbmx5IHVzZWQgZm9yIGFuZ3VsYXJqcyBwbHVnaW5zLlxuICAgKi9cbiAgY29uZmlnQ29tcG9uZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgd2lkZ2V0IGNvbXBvbmVudCBuYW1lLlxuICAgKiBAZGVwcmVjYXRlZDogT25seSB1c2VkIGZvciBhbmd1bGFyanMgcGx1Z2lucy5cbiAgICovXG4gIHdpZGdldENvbXBvbmVudD86IHN0cmluZztcbiAgdHJhbnNmb3JtQ29uZmlnV2l0aENvbnRleHQ/OiAoKSA9PiB2b2lkO1xufVxuXG4vKipcbiAqIEEgd2lkZ2V0IGlzIGEgY2hpbGQgb24gYSBkYXNoYm9hcmQgd2hpY2ggY2FuIGJlIGFkZGVkIGFuZCBjb25maWd1cmVkXG4gKiBieSB0aGUgdXNlci4gQSB3aWRnZXQgY2FuIGJlIGRlZmluZWQgYnkgdGhlIFtbRHluYW1pY0NvbXBvbmVudERlZmluaXRpb25dXVxuICogYnkgYW55IG1vZHVsZSBvZiBhbiBhcHBsaWNhdGlvbi4gVGhldyB3aWRnZXQgaXRzZWxmIHN0b3JlcyBiZXNpZGUgaXQnc1xuICogbGluayAoY29tcG9uZW50SWQpIHRvIHRoZSBEeW5hbWljQ29tcG9uZW50RGVmaW5pdGlvbiB0aGUgaW5mb3JtYXRpb25cbiAqIGFib3V0IHRoZSB0aXRsZSwgbGF5b3V0IChjbGFzc2VzKSBhbmQgdGhlIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0IGV4dGVuZHMgTGVnYWN5V2lkZ2V0IHtcbiAgLyoqXG4gICAqIHggZGltZW5zaW9uIHBhcmFtZXRlcnNcbiAgICovXG4gIF94PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiB5IGRpbWVuc2lvbiBwYXJhbWV0ZXJzXG4gICAqL1xuICBfeT86IG51bWJlcjtcblxuICAvKipcbiAgICogd2lkdGggZGltZW5zaW9uIHBhcmFtZXRlcnNcbiAgICovXG4gIF93aWR0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogaGVpZ2h0IGRpbWVuc2lvbiBwYXJhbWV0ZXJzXG4gICAqL1xuICBfaGVpZ2h0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdW5pcXVlIGNvbXBvbmVudCBpZCB0byBmaW5kIHRoZSBjb21wb25lbnQgaW4gdGhlXG4gICAqIEhPT0tfQ09NUE9ORU5UUyBkeW5hbWljLWNvbXBvbmVudCBpbXBsZW1lbnRhdGlvbi5cbiAgICovXG4gIGNvbXBvbmVudElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgcmFuZG9tIGtleSBmb3Igc2F2aW5nIGl0IHRvIHRoZSBvYmplY3QuXG4gICAqL1xuICBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBjb25maWd1cmF0aW9uIG9mIHRoZSB3aWRnZXQuXG4gICAqL1xuICBjb25maWc6IGFueTtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgdGl0bGUgb2YgdGhlIHdpZGdldC5cbiAgICovXG4gIHRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGljaCBjbGFzc2VzIHNob3VsZCBiZSBhZGRlZC5cbiAgICovXG4gIGNsYXNzZXM/OiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfTtcbn1cblxuLyoqXG4gKiBJcyB1c2VkIHRvIGNvbmZpZ3VyZSBhIHdpZGdldCBkYXNoYm9hcmQuIEl0IGFsbG93c1xuICogdG8gc2V0IGNlcnRhaW4gcGFyYW1ldGVyIHRoYXQgY2hhbmdlIHRoZSBiZWhhdmlvclxuICogb2YgdGhlIGRhc2hib2FyZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBJZiB0aGUgZGFzaGJvYXJkIGlzIGZyb3plbiwgdGhlIHVzZXIgY2FuJ3QgZWRpdCBpdCBhbnkgbW9yZS5cbiAgICogSG93ZXZlciBoZSBjYW4gZGVsZXRlIGl0IGFuZCBjaGFuZ2UgdGhlIGZyb3plbiBzdGF0ZS5cbiAgICovXG4gIGlzRnJvemVuOiBib29sZWFuO1xuICAvKipcbiAgICogSWYgdGhlIGRhc2hib2FyZCBpcyBkaXNhYmxlZCwgbm8gY2hhbmdlcyBvbiB0aGlzIGRhc2hib2FyZCBhcmUgYWxsb3dlZC5cbiAgICogRS5nLiBiZWNhdXNlIHRoZSB1c2VyIGRvZXNuJ3QgaGF2ZSB0aGUgcmlnaHRzLlxuICAgKi9cbiAgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBnYXAgYmV0d2VlbiBlYWNoIHdpZGdldCBhcyBwaXhlbFxuICAgKi9cbiAgd2lkZ2V0TWFyZ2luOiBudW1iZXI7XG4gIC8qKlxuICAgKiBTaG91bGQgdGhlIGFwcGxpY2F0aW9uIGNoZWNrIGlmIGEgdHJhbnNsYXRpb24gaXMgcHJlc2VudCBmb3IgdGhlXG4gICAqIHdpZGdldCB0aXRsZS5cbiAgICovXG4gIHRyYW5zbGF0ZVdpZGdldFRpdGxlOiBib29sZWFuO1xuICAvKipcbiAgICogTmV3IGFkZGVkIHdpZGdldHMgZ2V0IHRoYXQgaGVpZ2h0IGF0dGFjaGVkIChpbiBjc3MgZ3JpZCBjb2x1bW5zIHVuaXRzKVxuICAgKi9cbiAgZGVmYXVsdEhlaWdodDogbnVtYmVyO1xuICAvKipcbiAgICogTmV3IGFkZGVkIHdpZGdldHMgZ2V0IHRoYXQgd2lkdGggYXR0YWNoZWQgKGluIGNzcyBncmlkIHJvdyB1bml0cylcbiAgICovXG4gIGRlZmF1bHRXaWR0aDogbnVtYmVyO1xuICAvKipcbiAgICogU2hvdWxkIHRoZSB1c2VyIGJlIGFibGUgdG8gc3dpdGNoIHRvIGZ1bGxzY3JlZW4gbW9kZS5cbiAgICovXG4gIGFsbG93RnVsbHNjcmVlbjogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEEgZ2xvYmFsIHRpdGxlIHRoYXQgaXMgdXNlZCBmb3IgdGhpcyBkYXNoYm9hcmQuXG4gICAqL1xuICB0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgc2V0IHRvIGZhbHNlLCB0aGUgZGFzaGJvYXJkIGNhbiBub3QgYmUgY29waWVkIChkZWZhdWx0IHRydWUpLlxuICAgKi9cbiAgY2FuQ29weT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byBmYWxzZSwgdGhlIGRhc2hib2FyZCBjYW4gbm90IGJlIHJlbW92ZWQgKGRlZmF1bHQgdHJ1ZSkuXG4gICAqL1xuICBjYW5EZWxldGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgZGFzaGJvYXJkIGlzIGxvYWRpbmcuXG4gICAqL1xuICBpc0xvYWRpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIGNvbHVtbnMgb24gdGhhdCBkYXNoYm9hcmQuXG4gICAqIENhbiBiZSBmcmVlbHkgY2hvc2VuLCBidXQgcHJvZHVjdCB1c2VzIGVpdGhlciAxMiBvciAyNC5cbiAgICovXG4gIGNvbHVtbnM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGFzaGJvYXJkQ2hpbGREaW1lbnNpb24ge1xuICB4PzogbnVtYmVyO1xuICB5PzogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRDaGlsZFJlc2l6ZURpbWVuc2lvbiB7XG4gIHBvaW50ZXI6IHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICB9O1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRDaGlsZEFycmFuZ2VtZW50IHtcbiAgY3VycmVudDogRGFzaGJvYXJkQ2hpbGREaW1lbnNpb247XG4gIHNjYW46IERhc2hib2FyZENoaWxkQ29tcG9uZW50W107XG4gIHNwYWNpbmc6IG51bWJlcjtcbiAgb3JpZ2luOiBEYXNoYm9hcmRDaGlsZERpbWVuc2lvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRDaGFuZ2Uge1xuICBzb3VyY2U6IERhc2hib2FyZENoaWxkQ29tcG9uZW50O1xuICBjaGlsZHJlbjogRGFzaGJvYXJkQ2hpbGRDb21wb25lbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaWRnZXRDaGFuZ2Uge1xuICB3aWRnZXQ6IFdpZGdldDtcbiAgZGFzaGJvYXJkOiBEYXNoYm9hcmRDb21wb25lbnQ7XG4gIHNvdXJjZTogRGFzaGJvYXJkQ2hpbGRDb21wb25lbnQ7XG59XG5cbmV4cG9ydCBjb25zdCBDb3B5RGFzaGJvYXJkRGlzYWJsZWRSZWFzb24gPSB7XG4gIFBFUk1JU1NJT05TOiAnUEVSTUlTU0lPTlMnLFxuICBXUk9OR19SRUZFUkVOQ0U6ICdXUk9OR19SRUZFUkVOQ0UnXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBEYXNoYm9hcmRDb3B5UGVybWlzc2lvbiA9XG4gIHwge1xuICAgICAgc3RhdGU6IHRydWU7XG4gICAgICByZWFzb24/OiBuZXZlcjtcbiAgICB9XG4gIHwge1xuICAgICAgc3RhdGU6IGZhbHNlO1xuICAgICAgcmVhc29uOiAodHlwZW9mIENvcHlEYXNoYm9hcmREaXNhYmxlZFJlYXNvbilba2V5b2YgdHlwZW9mIENvcHlEYXNoYm9hcmREaXNhYmxlZFJlYXNvbl07XG4gICAgfTtcblxuZXhwb3J0IGNvbnN0IE5FV19EQVNIQk9BUkRfUk9VVEVSX1NUQVRFX1BST1AgPSAnbmV3RGFzaGJvYXJkJztcbiJdfQ==