@c8y/ngx-components 1021.22.60 → 1021.22.61
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.
- package/context-dashboard/context-dashboard.component.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.service.d.ts +1 -1
- package/context-dashboard/context-dashboard.service.d.ts.map +1 -1
- package/core/dashboard/dashboard.model.d.ts +1 -1
- package/core/dashboard/dashboard.model.d.ts.map +1 -1
- package/core/dashboard/widgets-dashboard.component.d.ts +3 -2
- package/core/dashboard/widgets-dashboard.component.d.ts.map +1 -1
- package/esm2022/context-dashboard/context-dashboard.component.mjs +2 -8
- package/esm2022/context-dashboard/context-dashboard.service.mjs +14 -8
- package/esm2022/context-dashboard/dashboard-detail.component.mjs +2 -2
- package/esm2022/core/dashboard/dashboard.model.mjs +2 -2
- package/esm2022/core/dashboard/widgets-dashboard.component.mjs +9 -8
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +14 -14
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +8 -7
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +3 -4
- package/locales/fr.po +7 -7
- package/locales/ja_JP.po +2 -2
- package/package.json +1 -1
|
@@ -229,7 +229,7 @@ export class DashboardDetailComponent {
|
|
|
229
229
|
const mo = await this.contextDashboardService.create(this.dashboard, this.currentContext);
|
|
230
230
|
await this.onCreateGSEvent(mo);
|
|
231
231
|
this.cleanupAfterDetailsClose();
|
|
232
|
-
await this.contextDashboardService.navigateToDashboard(mo);
|
|
232
|
+
await this.contextDashboardService.navigateToDashboard(mo, true);
|
|
233
233
|
}
|
|
234
234
|
async onCreateGSEvent(mo) {
|
|
235
235
|
const parentName = await this.convertStringToHash(this.context?.name);
|
|
@@ -407,4 +407,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
407
407
|
}], previewChanged: [{
|
|
408
408
|
type: Output
|
|
409
409
|
}], convertStringToHash: [] } });
|
|
410
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb250ZXh0LWRhc2hib2FyZC9kYXNoYm9hcmQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL2Rhc2hib2FyZC1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsZUFBZSxFQUVmLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsT0FBTyxFQUNQLFlBQVksRUFDWixPQUFPLEVBQ1AsWUFBWSxFQUNaLE1BQU0sRUFFTixXQUFXLEVBQ1osTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBSUwsMEJBQTBCLEVBQzFCLHFCQUFxQixFQUdyQixrQkFBa0IsRUFDbEIsdUNBQXVDLEVBQ3hDLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxz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ekIsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ3pELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxlQUFlLENBQUMsU0FBUyxDQUMvQyxDQUFDO1lBQ0YscUdBQXFHO1lBQ3JHLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsQ0FBQztnQkFDM0QsT0FBTztZQUNULENBQUM7WUFDRCxzRUFBc0U7WUFDdEUsa0JBQWtCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUMvQixrQkFBa0IsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDeEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OEdBMWFVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLGdXQ2hEckMseXdIQXlHQTs7QUR5T2dCO0lBRGIsT0FBTyxFQUFFOzs7O21FQVFUOzJGQXpTVSx3QkFBd0I7a0JBSnBDLFNBQVM7K0JBQ0Usc0JBQXNCOzZiQU92QixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBWUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQTJRTyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQXBwU3RhdGVTZXJ2aWNlLFxuICBDb250ZXh0RGF0YSxcbiAgQ29udGV4dFJvdXRlU2VydmljZSxcbiAgR2FpbnNpZ2h0U2VydmljZSxcbiAgZ2V0dGV4dCxcbiAgR3JvdXBTZXJ2aWNlLFxuICBtZW1vaXplLFxuICBNb2RhbFNlcnZpY2UsXG4gIFN0YXR1cyxcbiAgVGFiLFxuICBUYWJzU2VydmljZVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGNsb25lLCBjbG9uZURlZXAsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQWxsb3dUeXBlRGFzaGJvYXJkLFxuICBDb250ZXh0RGFzaGJvYXJkLFxuICBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCxcbiAgREFTSEJPQVJEX1NFVFRJTkdTX0NIQU5HRVMsXG4gIERhc2hib2FyZERldGFpbHNUYWJJZCxcbiAgRGFzaGJvYXJkRGV0YWlsc1RhYnMsXG4gIERhc2hib2FyZEhpc3RvcnlEZXNjcmlwdGlvbixcbiAgUFJPRFVDVF9FWFBFUklFTkNFLFxuICBSRVBPUlRfREVGQVVMVF9OQVZJR0FUSU9OX05PREVfUFJJT1JJVFlcbn0gZnJvbSAnLi9jb250ZXh0LWRhc2hib2FyZC5tb2RlbCc7XG5pbXBvcnQgeyBDb250ZXh0RGFzaGJvYXJkU2VydmljZSB9IGZyb20gJy4vY29udGV4dC1kYXNoYm9hcmQuc2VydmljZSc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCwgSW52ZW50b3J5U2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgbmV3RGFzaGJvYXJkVGFiIH0gZnJvbSAnLi9uZXctZGFzaGJvYXJkLmd1YXJkJztcbmltcG9ydCB7IERhc2hib2FyZERldGFpbFNlcnZpY2UgfSBmcm9tICcuL2Rhc2hib2FyZC1kZXRhaWwuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1kYXNoYm9hcmQtZGV0YWlsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rhc2hib2FyZC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZERldGFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBpc0NvbGxhcHNlZCA9IHRydWU7XG4gIGN1cnJlbnRDb250ZXh0OiBDb250ZXh0RGF0YTtcbiAgY3VycmVudERhc2hib2FyZDogQ29udGV4dERhc2hib2FyZDtcbiAgQElucHV0KCkgaXNSZXBvcnQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRldmljZVR5cGU6IHN0cmluZztcbiAgQElucHV0KCkgY29udGV4dDogYW55O1xuICBASW5wdXQoKSBtbzogQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3Q7XG4gIEBJbnB1dCgpIGRhc2hib2FyZDogQ29udGV4dERhc2hib2FyZDtcbiAgQElucHV0KCkgaXNOYW1lZERhc2hib2FyZDogYm9vbGVhbjtcbiAgQElucHV0KCkgaGlkZUF2YWlsYWJpbGl0eSA9IGZhbHNlO1xuICBkZXZpY2VUeXBlVmFsdWU6IHN0cmluZztcbiAgZGlzcGxheURldmljZVR5cGVWYWx1ZTogc3RyaW5nO1xuICBpY29uczogc3RyaW5nW107XG4gIG5hbWVQbGFjZWhvbGRlcjogc3RyaW5nO1xuICB0YWJzJDogT2JzZXJ2YWJsZTxUYWJbXT47XG4gIHNlbGVjdGVkVGFiOiBEYXNoYm9hcmREZXRhaWxzVGFiSWQgPSBEYXNoYm9hcmREZXRhaWxzVGFiSWQuR0VORVJBTDtcbiAgZGFzaGJvYXJkRGV0YWlsc0Zvcm06IFJldHVyblR5cGU8RGFzaGJvYXJkRGV0YWlsU2VydmljZVsnaW5pdEZvcm0nXT47XG4gIGdlbmVyYWxTZXR0aW5nc0Zvcm06IFJldHVyblR5cGU8RGFzaGJvYXJkRGV0YWlsU2VydmljZVsnaW5pdEdlbmVyYWxTZXR0aW5nc0Zvcm0nXT47XG4gIGFwcGVhcmFuY2VTZXR0aW5nc0Zvcm06IFJldHVyblR5cGU8RGFzaGJvYXJkRGV0YWlsU2VydmljZVsnaW5pdEFwcGVhcmFuY2VTZXR0aW5nc0Zvcm0nXT47XG4gIGFsbG93VHlwZURhc2hib2FyZDogQWxsb3dUeXBlRGFzaGJvYXJkO1xuICBpc0VkaXQ6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBkYXNoYm9hcmRTYXZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29udGV4dERhc2hib2FyZD4oKTtcbiAgQE91dHB1dCgpIHByZXZpZXdDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHJlYWRvbmx5IFRBQlNfT1VUTEVUX05BTUUgPSAnZGFzaGJvYXJkVGFicyc7XG4gIHJlYWRvbmx5IFRBQlM6IERhc2hib2FyZERldGFpbHNUYWJzID0ge1xuICAgIGdlbmVyYWw6IHtcbiAgICAgIGZlYXR1cmVJZDogRGFzaGJvYXJkRGV0YWlsc1RhYklkLkdFTkVSQUwsXG4gICAgICBwcmlvcml0eTogMzAsXG4gICAgICBsYWJlbDogZ2V0dGV4dCgnR2VuZXJhbCcpXG4gICAgfSxcbiAgICBhcHBlYXJhbmNlOiB7XG4gICAgICBmZWF0dXJlSWQ6IERhc2hib2FyZERldGFpbHNUYWJJZC5BUFBFQVJBTkNFLFxuICAgICAgcHJpb3JpdHk6IDIwLFxuICAgICAgbGFiZWw6IGdldHRleHQoJ0FwcGVhcmFuY2UnKVxuICAgIH0sXG4gICAgdmVyc2lvbkhpc3Rvcnk6IHtcbiAgICAgIGZlYXR1cmVJZDogRGFzaGJvYXJkRGV0YWlsc1RhYklkLlZFUlNJT05ISVNUT1JZLFxuICAgICAgcHJpb3JpdHk6IDEwLFxuICAgICAgbGFiZWw6IGdldHRleHQoJ1ZlcnNpb24gaGlzdG9yeScpXG4gICAgfVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udGV4dERhc2hib2FyZFNlcnZpY2U6IENvbnRleHREYXNoYm9hcmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRSb3V0ZTogQ29udGV4dFJvdXRlU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHRhYnNTZXJ2aWNlOiBUYWJzU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgaW52ZW50b3J5OiBJbnZlbnRvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgZGFzaGJvYXJkRGV0YWlsU2VydmljZTogRGFzaGJvYXJkRGV0YWlsU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBncm91cFNlcnZpY2U6IEdyb3VwU2VydmljZSxcbiAgICBwcml2YXRlIG1vZGFsOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBnYWluc2lnaHRTZXJ2aWNlOiBHYWluc2lnaHRTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRhYnMkID0gdGhpcy50YWJzU2VydmljZS5pdGVtcyQ7XG4gICAgdGhpcy5jdXJyZW50Q29udGV4dCA9IHRoaXMuY29udGV4dFJvdXRlLmdldENvbnRleHREYXRhKHRoaXMuYWN0aXZhdGVkUm91dGUpO1xuICAgIHRoaXMuZGV2aWNlVHlwZVZhbHVlID0gdGhpcy5jb250ZXh0Py50eXBlO1xuICAgIHRoaXMuZGlzcGxheURldmljZVR5cGVWYWx1ZSA9XG4gICAgICB0aGlzLmNvbnRleHQgJiZcbiAgICAgIHRoaXMuZ3JvdXBTZXJ2aWNlLmlzR3JvdXAodGhpcy5jb250ZXh0KSAmJlxuICAgICAgIXRoaXMuZ3JvdXBTZXJ2aWNlLmlzQXNzZXQodGhpcy5jb250ZXh0KVxuICAgICAgICA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ0dyb3VwJykpXG4gICAgICAgIDogdGhpcy5kZXZpY2VUeXBlVmFsdWU7XG5cbiAgICB0aGlzLnVwZGF0ZUFsbG93VHlwZURhc2hib2FyZCgpO1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWxsb3dUeXBlRGFzaGJvYXJkKCk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRWRpdCkge1xuICAgICAgdGhpcy5pbml0aWFsaXplQ29uZmlndXJhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmUoKSB7XG4gICAgY29uc3Qgb2xkRGFzaGJvYXJkID0gY2xvbmVEZWVwKHRoaXMuZGFzaGJvYXJkKTtcbiAgICB0aGlzLmRhc2hib2FyZCA9IHtcbiAgICAgIC4uLnRoaXMuZGFzaGJvYXJkLFxuICAgICAgLi4udGhpcy5nZW5lcmFsU2V0dGluZ3NGb3JtLnZhbHVlLFxuICAgICAgLi4udGhpcy5hcHBlYXJhbmNlU2V0dGluZ3NGb3JtLnZhbHVlXG4gICAgfTtcbiAgICBjb25zdCBkYXNoYm9hcmRTZXR0aW5nQ2hhbmdlczogc3RyaW5nW10gPSBPYmplY3Qua2V5cyh0aGlzLmRhc2hib2FyZCkuZmlsdGVyKGtleSA9PiB7XG4gICAgICBpZiAoa2V5ID09PSAnYzh5X0lzTmF2aWdhdG9yTm9kZScpIHtcbiAgICAgICAgcmV0dXJuICEhb2xkRGFzaGJvYXJkW2tleV0gIT09ICEhdGhpcy5kYXNoYm9hcmRba2V5XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAhaXNFcXVhbChvbGREYXNoYm9hcmRba2V5XSwgdGhpcy5kYXNoYm9hcmRba2V5XSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRhc2hib2FyZC5hdXRob3IgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlLnVzZXJOYW1lO1xuICAgIHRoaXMuZGFzaGJvYXJkLmM4eV9Jc05hdmlnYXRvck5vZGUgPSB0aGlzLmRhc2hib2FyZC5jOHlfSXNOYXZpZ2F0b3JOb2RlXG4gICAgICA/IHt9XG4gICAgICA6IHRoaXMuY3VycmVudERhc2hib2FyZFxuICAgICAgICA/IG51bGxcbiAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLmRhc2hib2FyZC5kZXZpY2VUeXBlVmFsdWUgPz89IHRoaXMuZGV2aWNlVHlwZVZhbHVlO1xuICAgIHRoaXMuZGFzaGJvYXJkLmhpc3RvcnlEZXNjcmlwdGlvbiA9XG4gICAgICB0aGlzLnVwZGF0ZURhc2hib2FyZEhpc3RvcnlEZXNjcmlwdGlvbihkYXNoYm9hcmRTZXR0aW5nQ2hhbmdlcyk7XG4gICAgaWYgKCF0aGlzLmlzRWRpdCAmJiAhdGhpcy5pc1JlcG9ydCkge1xuICAgICAgYXdhaXQgdGhpcy5jcmVhdGVOZXdEYXNoYm9hcmQoKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmlzRWRpdCAmJiB0aGlzLmlzUmVwb3J0KSB7XG4gICAgICBhd2FpdCB0aGlzLmNyZWF0ZU5ld1JlcG9ydCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB0aGlzLnVwZGF0ZURhc2hib2FyZCgpO1xuICAgICAgdGhpcy5tby5jOHlfRGFzaGJvYXJkSGlzdG9yeSA9IFtcbiAgICAgICAgdGhpcy5kYXNoYm9hcmQsXG4gICAgICAgIC4uLih0aGlzLm1vPy5jOHlfRGFzaGJvYXJkSGlzdG9yeSA/IHRoaXMubW8uYzh5X0Rhc2hib2FyZEhpc3RvcnkgOiBbXSlcbiAgICAgIF07XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlRGFzaGJvYXJkSGlzdG9yeURlc2NyaXB0aW9uKGRhc2hib2FyZENoYW5nZXM6IHN0cmluZ1tdKTogRGFzaGJvYXJkSGlzdG9yeURlc2NyaXB0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgY2hhbmdlVHlwZTogdGhpcy5pc0VkaXQgPyAndXBkYXRlJyA6ICdjcmVhdGUnLFxuICAgICAgZGFzaGJvYXJkU2V0dGluZ0NoYW5nZXM6IGRhc2hib2FyZENoYW5nZXNcbiAgICAgICAgLmZpbHRlcih2YWx1ZSA9PiB2YWx1ZSAhPT0gJ2RldmljZVR5cGUnKVxuICAgICAgICAubWFwKHZhbHVlID0+IERBU0hCT0FSRF9TRVRUSU5HU19DSEFOR0VTW3ZhbHVlXSB8fCB2YWx1ZSksXG4gICAgICBkZXZpY2VUeXBlOiBkYXNoYm9hcmRDaGFuZ2VzLmZpbmQodmFsdWUgPT4gdmFsdWUgPT09ICdkZXZpY2VUeXBlJylcbiAgICAgICAgPyB0aGlzLmRhc2hib2FyZC5kZXZpY2VUeXBlXG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgfTtcbiAgfVxuXG4gIHNlbGVjdFRhYihzZWxlY3RlZFRhYjogRGFzaGJvYXJkRGV0YWlsc1RhYklkKSB7XG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9IHNlbGVjdGVkVGFiO1xuICAgIHRoaXMudGFic1NlcnZpY2UucmVmcmVzaCgpO1xuICB9XG5cbiAgYXN5bmMgY2FuY2VsKCkge1xuICAgIGlmICghdGhpcy5pc0VkaXQgJiYgIXRoaXMuaXNSZXBvcnQpIHtcbiAgICAgIC8vIGRhc2hib2FyZCBjcmVhdGlvbiBpbiBpdCdzIG93biB0YWItIGNvbmZpcm0gYW5kIGNsZWFudXAgdHJpZ2dlcmVkIGluIGNhbkRlYWN0aXZhdGUgZHVyaW5nIHJvdXRpbmdcbiAgICAgIHRoaXMudGFic1NlcnZpY2UuaXRlbXMkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh0YWJzOiBUYWJbXSkgPT4ge1xuICAgICAgICBjb25zdCB0YWIgPSB0YWJzLmZpbmQodCA9PiB0LmZlYXR1cmVJZCAhPT0gbmV3RGFzaGJvYXJkVGFiLmZlYXR1cmVJZCk7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGFiLnBhdGgsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNFZGl0ICYmIHRoaXMuaXNSZXBvcnQpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsncmVwb3J0cyddKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0uZGlydHkgJiYgIShhd2FpdCB0aGlzLmNvbmZpcm1DbG9zaW5nKCkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY2xlYW51cEFmdGVyRGV0YWlsc0Nsb3NlKCk7XG4gIH1cblxuICBhc3luYyBjYW5EZWFjdGl2YXRlKG9taXRDb25maXJtID0gZmFsc2UpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBsZXQgY2FuRGVhY3RpdmF0ZTogYm9vbGVhbjtcbiAgICBpZiAodGhpcy5pc0NvbGxhcHNlZCB8fCAhdGhpcy5kYXNoYm9hcmREZXRhaWxzRm9ybS5kaXJ0eSkge1xuICAgICAgY2FuRGVhY3RpdmF0ZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChvbWl0Q29uZmlybSkge1xuICAgICAgICBjYW5EZWFjdGl2YXRlID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjYW5EZWFjdGl2YXRlID0gYXdhaXQgdGhpcy5jb25maXJtQ2xvc2luZygpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2FuRGVhY3RpdmF0ZSkge1xuICAgICAgdGhpcy5jbGVhbnVwQWZ0ZXJEZXRhaWxzQ2xvc2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIGNhbkRlYWN0aXZhdGU7XG4gIH1cblxuICBzaG93KGlzRWRpdDogYm9vbGVhbikge1xuICAgIHRoaXMuaXNFZGl0ID0gaXNFZGl0O1xuICAgIGlmICh0aGlzLmlzRWRpdCkge1xuICAgICAgdGhpcy5lZGl0KCk7XG4gICAgfVxuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gZmFsc2U7XG4gIH1cblxuICBhc3luYyByZXZlcnREYXNoYm9hcmQoZGFzaGJvYXJkOiBDb250ZXh0RGFzaGJvYXJkKSB7XG4gICAgdGhpcy5kYXNoYm9hcmQgPSBkYXNoYm9hcmQ7XG4gICAgdGhpcy5kYXNoYm9hcmQuYzh5X0lzTmF2aWdhdG9yTm9kZSA9IHRoaXMuZGFzaGJvYXJkLmM4eV9Jc05hdmlnYXRvck5vZGVcbiAgICAgID8ge31cbiAgICAgIDogdGhpcy5jdXJyZW50RGFzaGJvYXJkXG4gICAgICAgID8gbnVsbFxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZURhc2hib2FyZCgpO1xuICB9XG5cbiAgYXN5bmMgZHVwbGljYXRlV2l0aG91dFR5cGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbmV3RGFzaGJvYXJkTmFtZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ3t7IGRhc2hib2FyZE5hbWUgfX0gKGNvcHkpJyksIHtcbiAgICAgIGRhc2hib2FyZE5hbWU6IHRoaXMuZ2VuZXJhbFNldHRpbmdzRm9ybS52YWx1ZS5uYW1lXG4gICAgfSk7XG4gICAgdGhpcy5nZW5lcmFsU2V0dGluZ3NGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgZGV2aWNlVHlwZTogZmFsc2UsXG4gICAgICBuYW1lOiBuZXdEYXNoYm9hcmROYW1lXG4gICAgfSk7XG4gICAgLy8gc2V0dGluZyBlZGl0aW9uIHRvIGZhbHNlIHNvIG5ldyBkYXNoYm9hcmQgY2FuIGJlIGNyZWF0ZWQgYXMgY29weSBvZiBjdXJyZW50IG9uZVxuICAgIHRoaXMuaXNFZGl0ID0gZmFsc2U7XG4gICAgYXdhaXQgdGhpcy5zYXZlKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFsbG93VHlwZURhc2hib2FyZCgpOiB2b2lkIHtcbiAgICB0aGlzLmFsbG93VHlwZURhc2hib2FyZCA9IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2Uuc2hvdWxkQWxsb3dUb1NldERhc2hib2FyZFR5cGUoXG4gICAgICB0aGlzLm1vLFxuICAgICAgdGhpcy5jdXJyZW50Q29udGV4dFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0gPSB0aGlzLmRhc2hib2FyZERldGFpbFNlcnZpY2UuaW5pdEZvcm0oXG4gICAgICB0aGlzLmRhc2hib2FyZCxcbiAgICAgIHRoaXMuaXNSZXBvcnQsXG4gICAgICB0aGlzLmFsbG93VHlwZURhc2hib2FyZFxuICAgICk7XG4gICAgdGhpcy5nZW5lcmFsU2V0dGluZ3NGb3JtID0gdGhpcy5kYXNoYm9hcmREZXRhaWxzRm9ybS5nZXQoJ2dlbmVyYWxTZXR0aW5nc0Zvcm0nKSBhcyBGb3JtR3JvdXA7XG4gICAgdGhpcy5hcHBlYXJhbmNlU2V0dGluZ3NGb3JtID0gdGhpcy5kYXNoYm9hcmREZXRhaWxzRm9ybS5nZXQoXG4gICAgICAnYXBwZWFyYW5jZVNldHRpbmdzRm9ybSdcbiAgICApIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY29uZmlybUNsb3NpbmcoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMubW9kYWwuY29uZmlybShcbiAgICAgICAgZ2V0dGV4dCgnQ2xvc2UgZGFzaGJvYXJkIGRldGFpbHMnKSxcbiAgICAgICAgZ2V0dGV4dChcbiAgICAgICAgICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsb3NlIGRhc2hib2FyZCBkZXRhaWxzPyBBbGwgdW5zYXZlZCBjaGFuZ2VzIHdpbGwgYmUgbG9zdC4nXG4gICAgICAgICksXG4gICAgICAgIFN0YXR1cy5XQVJOSU5HLFxuICAgICAgICB7XG4gICAgICAgICAgb2s6IGdldHRleHQoJ0Nsb3NlJyksXG4gICAgICAgICAgY2FuY2VsOiBnZXR0ZXh0KCdDYW5jZWwnKVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlTmV3RGFzaGJvYXJkKCkge1xuICAgIGNvbnN0IG1vOiBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCA9IGF3YWl0IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UuY3JlYXRlKFxuICAgICAgdGhpcy5kYXNoYm9hcmQsXG4gICAgICB0aGlzLmN1cnJlbnRDb250ZXh0XG4gICAgKTtcblxuICAgIGF3YWl0IHRoaXMub25DcmVhdGVHU0V2ZW50KG1vKTtcbiAgICB0aGlzLmNsZWFudXBBZnRlckRldGFpbHNDbG9zZSgpO1xuICAgIGF3YWl0IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UubmF2aWdhdGVUb0Rhc2hib2FyZChtbyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG9uQ3JlYXRlR1NFdmVudChtbzogQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3QpIHtcbiAgICBjb25zdCBwYXJlbnROYW1lID0gYXdhaXQgdGhpcy5jb252ZXJ0U3RyaW5nVG9IYXNoKHRoaXMuY29udGV4dD8ubmFtZSk7XG4gICAgY29uc3QgZGFzaGJvYXJkTmFtZSA9IGF3YWl0IHRoaXMuY29udmVydFN0cmluZ1RvSGFzaCh0aGlzLmRhc2hib2FyZD8ubmFtZSk7XG5cbiAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuRVZFTlRTLkRBU0hCT0FSRFMsIHtcbiAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5DT01QT05FTlRTLkFERF9EQVNIQk9BUkQsXG4gICAgICBhY3Rpb246IFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuQUNUSU9OUy5DUkVBVEUsXG4gICAgICBuYW1lOiBkYXNoYm9hcmROYW1lLFxuICAgICAgaWQ6IG1vLmlkLFxuICAgICAgbmFtZUlkOiBgJHtkYXNoYm9hcmROYW1lfV8ke3RoaXMubW8uaWR9YCxcbiAgICAgIHBhcmVudEFzc2V0SWQ6IHRoaXMuY29udGV4dD8uaWQgPyB0aGlzLmNvbnRleHQuaWQgOiAnbm9Db250ZXh0JyxcbiAgICAgIHBhcmVudEFzc2V0TmFtZTogdGhpcy5jb250ZXh0Py5pZCA/IHBhcmVudE5hbWUgOiAnbm9Db250ZXh0JyxcbiAgICAgIHBhcmVudEFzc2V0VHlwZTogdGhpcy5jb250ZXh0Py5pZCA/IHRoaXMuY29udGV4dC50eXBlIDogJ25vQ29udGV4dCcsXG4gICAgICBwYXJlbnRBc3NldE5hbWVJZDogdGhpcy5jb250ZXh0Py5pZCA/IGAke3BhcmVudE5hbWV9XyR7dGhpcy5jb250ZXh0LmlkfWAgOiAnbm9Db250ZXh0JyxcbiAgICAgIHBhcmVudEFzc2V0TmFtZURhc2hib2FyZE5hbWU6IHRoaXMuY29udGV4dD8uaWRcbiAgICAgICAgPyBgJHtwYXJlbnROYW1lfV8ke2Rhc2hib2FyZE5hbWV9YFxuICAgICAgICA6ICdub0NvbnRleHQnLFxuICAgICAgcGFyZW50QXNzZXRJZERhc2hib2FyZElkOiB0aGlzLmNvbnRleHQ/LmlkID8gYCR7dGhpcy5jb250ZXh0LmlkfV8ke3RoaXMubW8uaWR9YCA6ICdub0NvbnRleHQnLFxuICAgICAgcGFyZW50QXNzZXROYW1lRGFzaGJvYXJkSWQ6IHRoaXMuY29udGV4dD8uaWQgPyBgJHtwYXJlbnROYW1lfV8ke3RoaXMubW8uaWR9YCA6ICdub0NvbnRleHQnLFxuICAgICAgcGFyZW50QXNzZXROYW1lSWREYXNoYm9hcmROYW1lSWQ6IHRoaXMuY29udGV4dD8uaWRcbiAgICAgICAgPyBgJHtwYXJlbnROYW1lfV8ke3RoaXMuY29udGV4dC5pZH1fJHtkYXNoYm9hcmROYW1lfV8ke3RoaXMubW8uaWR9YFxuICAgICAgICA6ICdub0NvbnRleHQnLFxuICAgICAgZGFzaGJvYXJkVHlwZTogbW8uYzh5X0Rhc2hib2FyZC5kZXZpY2VUeXBlID8gbW8uYzh5X0Rhc2hib2FyZC5kZXZpY2VUeXBlVmFsdWUgOiBudWxsLFxuICAgICAgY29udGV4dDogdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5nZXRDb250ZXh0Rm9yR1MoXG4gICAgICAgIHRoaXMuY3VycmVudENvbnRleHQuY29udGV4dERhdGEgYXMgSU1hbmFnZWRPYmplY3RcbiAgICAgIClcbiAgICB9KTtcbiAgfVxuXG4gIEBtZW1vaXplKClcbiAgcHJpdmF0ZSBhc3luYyBjb252ZXJ0U3RyaW5nVG9IYXNoKHN0cjogc3RyaW5nKSB7XG4gICAgaWYgKCFzdHIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2FpbnNpZ2h0U2VydmljZS5zaG91bGRTZW5kUGlpRGF0YSgpKVxuICAgICAgPyBzdHJcbiAgICAgIDogYXdhaXQgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLmhhc2hHcm91cE5hbWUoc3RyKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlTmV3UmVwb3J0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IG5hbWUsIGljb24sIGM4eV9Jc05hdmlnYXRvck5vZGUsIHByaW9yaXR5LCBkZXNjcmlwdGlvbiB9ID0gdGhpcy5kYXNoYm9hcmQ7XG4gICAgICBjb25zdCByZXBvcnQgPSAoXG4gICAgICAgIGF3YWl0IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UuY3JlYXRlUmVwb3J0KHtcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIGljb24sXG4gICAgICAgICAgYzh5X0lzTmF2aWdhdG9yTm9kZSxcbiAgICAgICAgICBwcmlvcml0eSxcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICB9IGFzIFBhcnRpYWw8SU1hbmFnZWRPYmplY3Q+KVxuICAgICAgKS5kYXRhO1xuXG4gICAgICBhd2FpdCB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLmNyZWF0ZShcbiAgICAgICAgdGhpcy5kYXNoYm9hcmQsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgYCR7dGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5SRVBPUlRfUEFSVElBTF9OQU1FfSR7cmVwb3J0LmlkfWBcbiAgICAgICk7XG4gICAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuRVZFTlRTLlJFUE9SVFMsIHtcbiAgICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkNPTVBPTkVOVFMuQUREX1JFUE9SVCxcbiAgICAgICAgYWN0aW9uOiBQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkFDVElPTlMuQ1JFQVRFLFxuICAgICAgICBuYW1lOiByZXBvcnQubmFtZSxcbiAgICAgICAgaWQ6IHJlcG9ydC5pZCxcbiAgICAgICAgY29udGV4dDogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5DT05URVhULlJFUE9SVFxuICAgICAgfSk7XG4gICAgICBpZiAocmVwb3J0LmM4eV9Jc05hdmlnYXRvck5vZGUpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5hZGRSZXBvcnROYXZpZ2F0b3JOb2RlKHJlcG9ydCk7XG4gICAgICB9XG4gICAgICB0aGlzLmNsZWFudXBBZnRlckRldGFpbHNDbG9zZSgpO1xuICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydyZXBvcnRzJywgcmVwb3J0LmlkXSk7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIC8vIGludGVuZGVkIGVtcHR5XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVEYXNoYm9hcmQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhc2hib2FyZE1POiBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCA9IGNsb25lRGVlcCh0aGlzLm1vKTtcbiAgICAgIGNvbnN0IGNmZyA9IHRoaXMuZGFzaGJvYXJkO1xuICAgICAgaWYgKHRoaXMuaXNSZXBvcnQpIHtcbiAgICAgICAgY29uc3QgeyBuYW1lLCBpY29uLCBjOHlfSXNOYXZpZ2F0b3JOb2RlLCBwcmlvcml0eSwgZGVzY3JpcHRpb24gfSA9IGNmZztcbiAgICAgICAgZGFzaGJvYXJkTU8uYzh5X0Rhc2hib2FyZCA9IGNmZztcbiAgICAgICAgYXdhaXQgdGhpcy51cGRhdGVSZXBvcnQoe1xuICAgICAgICAgIGlkOiB0aGlzLmNvbnRleHQuaWQsXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBpY29uLFxuICAgICAgICAgIGM4eV9Jc05hdmlnYXRvck5vZGUsXG4gICAgICAgICAgcHJpb3JpdHksXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXNoYm9hcmRNTy5jOHlfRGFzaGJvYXJkID0gY2ZnO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB1cGRhdGVkRGFzaGJvYXJkTW8gPSBhd2FpdCB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLnVwZGF0ZShcbiAgICAgICAgZGFzaGJvYXJkTU8sXG4gICAgICAgIHRoaXMuY3VycmVudENvbnRleHRcbiAgICAgICk7XG4gICAgICB0aGlzLmNsZWFudXBBZnRlckRldGFpbHNDbG9zZSgpO1xuXG4gICAgICB0aGlzLmRhc2hib2FyZFNhdmVkLmVtaXQodXBkYXRlZERhc2hib2FyZE1vKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgLy8gaW50ZW5kZWQgZW1wdHlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVkaXQoKSB7XG4gICAgaWYgKHRoaXMuaXNSZXBvcnQpIHtcbiAgICAgIGNvbnN0IHsgbmFtZSwgaWNvbiwgcHJpb3JpdHksIGM4eV9Jc05hdmlnYXRvck5vZGUsIGRlc2NyaXB0aW9uIH0gPSB0aGlzLmNvbnRleHQ7XG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuZGFzaGJvYXJkLCB7IG5hbWUsIGljb24sIHByaW9yaXR5LCBjOHlfSXNOYXZpZ2F0b3JOb2RlLCBkZXNjcmlwdGlvbiB9KTtcbiAgICB9XG4gICAgdGhpcy5pc05hbWVkRGFzaGJvYXJkID0gdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5pc05hbWVkKHRoaXMubW8pO1xuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPVxuICAgICAgdGhpcy5oaWRlQXZhaWxhYmlsaXR5ICYmIHRoaXMuaXNOYW1lZERhc2hib2FyZFxuICAgICAgICA/IERhc2hib2FyZERldGFpbHNUYWJJZC5BUFBFQVJBTkNFXG4gICAgICAgIDogRGFzaGJvYXJkRGV0YWlsc1RhYklkLkdFTkVSQUw7XG4gICAgdGhpcy5pbml0aWFsaXplQ29uZmlndXJhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ29uZmlndXJhdGlvbigpIHtcbiAgICBjb25zdCBkZWZhdWx0RGFzaGJvYXJkQ2ZnOiBQYXJ0aWFsPENvbnRleHREYXNoYm9hcmQ+ID0ge1xuICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy5pc1JlcG9ydCA/IGdldHRleHQoJ1JlcG9ydCcpIDogZ2V0dGV4dCgnRGFzaGJvYXJkJykpLFxuICAgICAgcHJpb3JpdHk6IHRoaXMuaXNSZXBvcnRcbiAgICAgICAgPyBSRVBPUlRfREVGQVVMVF9OQVZJR0FUSU9OX05PREVfUFJJT1JJVFlcbiAgICAgICAgOiB0aGlzLmRhc2hib2FyZERldGFpbFNlcnZpY2UuREVGQVVMVF9EQVNIQk9BUkRfUFJJT1JJVFksXG4gICAgICBpY29uOiB0aGlzLmRhc2hib2FyZERldGFpbFNlcnZpY2UuREVGQVVMVF9EQVNIQk9BUkRfSUNPTixcbiAgICAgIGRldmljZVR5cGVWYWx1ZTogdGhpcy5kZXZpY2VUeXBlLFxuICAgICAgY29sdW1uczogMjRcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuZGFzaGJvYXJkKSB7XG4gICAgICB0aGlzLmN1cnJlbnREYXNoYm9hcmQgPSBjbG9uZSh0aGlzLmRhc2hib2FyZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGFzaGJvYXJkID0gZGVmYXVsdERhc2hib2FyZENmZztcbiAgICAgIHRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0ubWFya0FzRGlydHkoKTtcbiAgICB9XG4gICAgdGhpcy5uYW1lUGxhY2Vob2xkZXIgPSB0aGlzLmlzUmVwb3J0ID8gZ2V0dGV4dCgnZS5nLiBNeSByZXBvcnQnKSA6IGdldHRleHQoJ2UuZy4gTXkgZGFzaGJvYXJkJyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZVJlcG9ydChtbzogUGFydGlhbDxJTWFuYWdlZE9iamVjdD4pIHtcbiAgICBtby5jOHlfSXNOYXZpZ2F0b3JOb2RlID0gbW8uYzh5X0lzTmF2aWdhdG9yTm9kZSA/IHt9IDogbnVsbDtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmludmVudG9yeS51cGRhdGUobW8pO1xuICAgIHRoaXMuY29udGV4dCA9IHJlcy5kYXRhO1xuICAgIGlmICh0aGlzLnJvdXRlLnBhcmVudCkge1xuICAgICAgdGhpcy5yb3V0ZS5wYXJlbnQuc25hcHNob3QuZGF0YS5jb250ZXh0RGF0YSA9IHRoaXMuY29udGV4dDtcbiAgICB9XG4gICAgdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS51cGRhdGVOYXZpZ2F0b3JJdGVtKHJlcy5kYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYW51cEFmdGVyRGV0YWlsc0Nsb3NlKCkge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSB0cnVlO1xuICAgIGlmICghdGhpcy5pc0VkaXQpIHtcbiAgICAgIGNvbnN0IGRhc2hib2FyZENvbnRleHQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuZGFzaGJvYXJkO1xuICAgICAgLy8gaGlkZSBOZXcgZGFzaGJvYXJkIHRhYlxuICAgICAgY29uc3QgdG1wTmV3RGFzaGJvYXJkVGFiID0gWy4uLnRoaXMudGFic1NlcnZpY2Uuc3RhdGVdLmZpbmQoXG4gICAgICAgIHQgPT4gdC5mZWF0dXJlSWQgPT09IG5ld0Rhc2hib2FyZFRhYi5mZWF0dXJlSWRcbiAgICAgICk7XG4gICAgICAvLyBkb24ndCBoaWRlIHRoZSBuZXcgZGFzaGJvYXJkIHRhYiB3aGVuIGNsaWNraW5nIG9uIHRoZSBhZGQgZGFzaGJvYXJkIGJ1dHRvbiBmcm9tIGFub3RoZXIgZGFzaGJvYXJkLlxuICAgICAgaWYgKCF0bXBOZXdEYXNoYm9hcmRUYWIgfHwgZGFzaGJvYXJkQ29udGV4dD8uYzh5X0Rhc2hib2FyZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBoaWRlIHRhYiBhbmQgbWFrZSBpdCBhcHBlYXIgYXMgbGFzdCBvbmUgdG8gcHJldmVudCBuYXZpZ2F0aW5nIHRvIGl0XG4gICAgICB0bXBOZXdEYXNoYm9hcmRUYWIuaGlkZSA9IHRydWU7XG4gICAgICB0bXBOZXdEYXNoYm9hcmRUYWIucHJpb3JpdHkgPSAtSW5maW5pdHk7XG4gICAgICB0aGlzLnRhYnNTZXJ2aWNlLnJlZnJlc2goKTtcbiAgICB9XG4gICAgdGhpcy5wcmV2aWV3Q2hhbmdlZC5lbWl0KHRoaXMuZGFzaGJvYXJkKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImNvbGxhcHNlIGM4eS10b3AtZHJhd2VyXCJcbiAgW2NvbGxhcHNlXT1cImlzQ29sbGFwc2VkXCJcbiAgW2lzQW5pbWF0ZWRdPVwidHJ1ZVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJwLXQtMTYgcC1iLTE2IHAtbC0yNCBwLXItMjQgc2VwYXJhdG9yLWJvdHRvbVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiaDRcIj57eyAnRGFzaGJvYXJkIHNldHRpbmdzJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZC1mbGV4XCJcbiAgICBbZm9ybUdyb3VwXT1cImRhc2hib2FyZERldGFpbHNGb3JtXCJcbiAgICAqbmdJZj1cIiFpc0NvbGxhcHNlZFwiXG4gID5cbiAgICA8Yzh5LXRhYnMtb3V0bGV0XG4gICAgICBbdGFic109XCJ0YWJzJCB8IGFzeW5jXCJcbiAgICAgIFtvdXRsZXROYW1lXT1cIlRBQlNfT1VUTEVUX05BTUVcIlxuICAgICAgW29yaWVudGF0aW9uXT1cIid2ZXJ0aWNhbCdcIlxuICAgICAgY2xhc3M9XCJjOHktdG9wLWRyYXdlci0tdGFic1wiXG4gICAgPjwvYzh5LXRhYnMtb3V0bGV0PlxuICAgIDxkaXYgY2xhc3M9XCJpbm5lci1zY3JvbGwgYzh5LXRvcC1kcmF3ZXJfX3RhYnMtY29udGFpbmVyIGZsZXgtZ3JvdyBwLWwtMjQgcC1yLWxnLTMyIHAtci14cy0yNCBwLXItc20tMjRcIj5cbiAgICAgIDxjOHktdGFiXG4gICAgICAgICpuZ0lmPVwiKCFpc05hbWVkRGFzaGJvYXJkICYmICFoaWRlQXZhaWxhYmlsaXR5KSB8fCBpc1JlcG9ydFwiXG4gICAgICAgIFtsYWJlbF09XCJUQUJTLmdlbmVyYWwubGFiZWxcIlxuICAgICAgICBbaWNvbl09XCInaW1hYy1zZXR0aW5ncydcIlxuICAgICAgICBbcHJpb3JpdHldPVwiMTAwXCJcbiAgICAgICAgW3RhYnNPdXRsZXRdPVwiVEFCU19PVVRMRVRfTkFNRVwiXG4gICAgICAgIChvblNlbGVjdCk9XCJzZWxlY3RUYWIoVEFCUy5nZW5lcmFsLmZlYXR1cmVJZClcIlxuICAgICAgICBbaXNBY3RpdmVdPVwic2VsZWN0ZWRUYWIgPT09IFRBQlMuZ2VuZXJhbC5mZWF0dXJlSWRcIlxuICAgICAgPjwvYzh5LXRhYj5cbiAgICAgIDxjOHktdGFiXG4gICAgICAgIFtsYWJlbF09XCJUQUJTLmFwcGVhcmFuY2UubGFiZWxcIlxuICAgICAgICBbcHJpb3JpdHldPVwiNTBcIlxuICAgICAgICBbaWNvbl09XCInd2ViLWRlc2lnbidcIlxuICAgICAgICBbdGFic091dGxldF09XCJUQUJTX09VVExFVF9OQU1FXCJcbiAgICAgICAgKG9uU2VsZWN0KT1cInNlbGVjdFRhYihUQUJTLmFwcGVhcmFuY2UuZmVhdHVyZUlkKVwiXG4gICAgICAgIFtpc0FjdGl2ZV09XCJzZWxlY3RlZFRhYiA9PT0gVEFCUy5hcHBlYXJhbmNlLmZlYXR1cmVJZFwiXG4gICAgICA+PC9jOHktdGFiPlxuICAgICAgPGM4eS10YWJcbiAgICAgICAgKm5nSWY9XCJtbz8uYzh5X0Rhc2hib2FyZEhpc3RvcnlcIlxuICAgICAgICBbbGFiZWxdPVwiVEFCUy52ZXJzaW9uSGlzdG9yeS5sYWJlbFwiXG4gICAgICAgIFtpY29uXT1cIid2ZXJzaW9ucydcIlxuICAgICAgICBbcHJpb3JpdHldPVwiMTBcIlxuICAgICAgICBbdGFic091dGxldF09XCJUQUJTX09VVExFVF9OQU1FXCJcbiAgICAgICAgKG9uU2VsZWN0KT1cInNlbGVjdFRhYihUQUJTLnZlcnNpb25IaXN0b3J5LmZlYXR1cmVJZClcIlxuICAgICAgICBbaXNBY3RpdmVdPVwic2VsZWN0ZWRUYWIgPT09IFRBQlMudmVyc2lvbkhpc3RvcnkuZmVhdHVyZUlkXCJcbiAgICAgID48L2M4eS10YWI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWxlY3RlZFRhYlwiPlxuICAgICAgICA8Yzh5LWRhc2hib2FyZC1nZW5lcmFsLXNldHRpbmdzXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlRBQlMuZ2VuZXJhbC5mZWF0dXJlSWRcIlxuICAgICAgICAgIFtpc1JlcG9ydF09XCJpc1JlcG9ydFwiXG4gICAgICAgICAgW2lzTmFtZWREYXNoYm9hcmRdPVwiaXNOYW1lZERhc2hib2FyZFwiXG4gICAgICAgICAgW2hpZGVBdmFpbGFiaWxpdHldPVwiaGlkZUF2YWlsYWJpbGl0eVwiXG4gICAgICAgICAgW2Rhc2hib2FyZF09XCJkYXNoYm9hcmRcIlxuICAgICAgICAgIFtnZW5lcmFsU2V0dGluZ3NGb3JtXT1cImdlbmVyYWxTZXR0aW5nc0Zvcm1cIlxuICAgICAgICAgIFtkZXZpY2VUeXBlVmFsdWVdPVwiZGV2aWNlVHlwZVZhbHVlXCJcbiAgICAgICAgICBbZGlzcGxheURldmljZVR5cGVWYWx1ZV09XCJkaXNwbGF5RGV2aWNlVHlwZVZhbHVlXCJcbiAgICAgICAgICBbbW9dPVwibW9cIlxuICAgICAgICAgIFthbGxvd1R5cGVEYXNoYm9hcmRdPVwiYWxsb3dUeXBlRGFzaGJvYXJkXCJcbiAgICAgICAgICBbaXNEZXZpY2VdPVwiISFjb250ZXh0Py5jOHlfSXNEZXZpY2VcIlxuICAgICAgICAgIGNsYXNzPVwiYW5pbWF0ZWQgZmFkZUluXCJcbiAgICAgICAgICAob25EdXBsaWNhdGVXaXRob3V0VHlwZSk9XCJkdXBsaWNhdGVXaXRob3V0VHlwZSgpXCJcbiAgICAgICAgPjwvYzh5LWRhc2hib2FyZC1nZW5lcmFsLXNldHRpbmdzPlxuICAgICAgICA8Yzh5LWRhc2hib2FyZC1hcHBlYXJhbmNlLXNldHRpbmdzXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlRBQlMuYXBwZWFyYW5jZS5mZWF0dXJlSWRcIlxuICAgICAgICAgIFtkYXNoYm9hcmRdPVwiZGFzaGJvYXJkXCJcbiAgICAgICAgICBbYXBwZWFyYW5jZVNldHRpbmdzRm9ybV09XCJhcHBlYXJhbmNlU2V0dGluZ3NGb3JtXCJcbiAgICAgICAgICAocHJldmlld0NoYW5nZWQpPVwicHJldmlld0NoYW5nZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICBjbGFzcz1cImFuaW1hdGVkIGZhZGVJblwiXG4gICAgICAgID48L2M4eS1kYXNoYm9hcmQtYXBwZWFyYW5jZS1zZXR0aW5ncz5cbiAgICAgICAgPGM4eS1kYXNoYm9hcmQtdmVyc2lvbi1oaXN0b3J5XG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlRBQlMudmVyc2lvbkhpc3RvcnkuZmVhdHVyZUlkXCJcbiAgICAgICAgICBbZGFzaGJvYXJkSGlzdG9yeV09XCJtby5jOHlfRGFzaGJvYXJkSGlzdG9yeVwiXG4gICAgICAgICAgW2lzUmVwb3J0XT1cImlzUmVwb3J0XCJcbiAgICAgICAgICAob25SZXZlcnQpPVwicmV2ZXJ0RGFzaGJvYXJkKCRldmVudClcIlxuICAgICAgICAgIGNsYXNzPVwiYW5pbWF0ZWQgZmFkZUluXCJcbiAgICAgICAgPjwvYzh5LWRhc2hib2FyZC12ZXJzaW9uLWhpc3Rvcnk+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImM4eS10b3AtZHJhd2VyLS1mb290ZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiXG4gICAgICB0aXRsZT1cInt7ICdDYW5jZWwnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgZGF0YS1jeT1cImRhc2hib2FyZC1kZXRhaWwtLWNhbmNlbC1kYXNoYm9hcmRcIlxuICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICA+XG4gICAgICB7eyAnQ2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgIHRpdGxlPVwie3sgJ1NhdmUnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgZGF0YS1jeT1cImRhc2hib2FyZC1kZXRhaWwtLXNhdmUtZGFzaGJvYXJkXCJcbiAgICAgIChjbGljayk9XCJzYXZlKClcIlxuICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAoZGFzaGJvYXJkRGV0YWlsc0Zvcm0/LmludmFsaWQgfHwgZGFzaGJvYXJkRGV0YWlsc0Zvcm0/LnByaXN0aW5lKSAmJiB0aGlzLmlzRWRpdFxuICAgICAgXCJcbiAgICA+XG4gICAgICB7eyAnU2F2ZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
410
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb250ZXh0LWRhc2hib2FyZC9kYXNoYm9hcmQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL2Rhc2hib2FyZC1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsZUFBZSxFQUVmLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsT0FBTyxFQUNQLFlBQVksRUFDWixPQUFPLEVBQ1AsWUFBWSxFQUNaLE1BQU0sRUFFTixXQUFXLEVBQ1osTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBSUwsMEJBQTBCLEVBQzFCLHFCQUFxQixFQUdyQixrQkFBa0IsRUFDbEIsdUNBQXVDLEVBQ3hDLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxz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eUJBQXlCO1lBQ3pCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUN6RCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssZUFBZSxDQUFDLFNBQVMsQ0FDL0MsQ0FBQztZQUNGLHFHQUFxRztZQUNyRyxJQUFJLENBQUMsa0JBQWtCLElBQUksZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLENBQUM7Z0JBQzNELE9BQU87WUFDVCxDQUFDO1lBQ0Qsc0VBQXNFO1lBQ3RFLGtCQUFrQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDL0Isa0JBQWtCLENBQUMsUUFBUSxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0IsQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQyxDQUFDOzhHQTFhVSx3QkFBd0I7a0dBQXhCLHdCQUF3QixnV0NoRHJDLHl3SEF5R0E7O0FEeU9nQjtJQURiLE9BQU8sRUFBRTs7OzttRUFRVDsyRkF6U1Usd0JBQXdCO2tCQUpwQyxTQUFTOytCQUNFLHNCQUFzQjs2YkFPdkIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVlJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkEyUU8sbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEFwcFN0YXRlU2VydmljZSxcbiAgQ29udGV4dERhdGEsXG4gIENvbnRleHRSb3V0ZVNlcnZpY2UsXG4gIEdhaW5zaWdodFNlcnZpY2UsXG4gIGdldHRleHQsXG4gIEdyb3VwU2VydmljZSxcbiAgbWVtb2l6ZSxcbiAgTW9kYWxTZXJ2aWNlLFxuICBTdGF0dXMsXG4gIFRhYixcbiAgVGFic1NlcnZpY2Vcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBjbG9uZSwgY2xvbmVEZWVwLCBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFsbG93VHlwZURhc2hib2FyZCxcbiAgQ29udGV4dERhc2hib2FyZCxcbiAgQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3QsXG4gIERBU0hCT0FSRF9TRVRUSU5HU19DSEFOR0VTLFxuICBEYXNoYm9hcmREZXRhaWxzVGFiSWQsXG4gIERhc2hib2FyZERldGFpbHNUYWJzLFxuICBEYXNoYm9hcmRIaXN0b3J5RGVzY3JpcHRpb24sXG4gIFBST0RVQ1RfRVhQRVJJRU5DRSxcbiAgUkVQT1JUX0RFRkFVTFRfTkFWSUdBVElPTl9OT0RFX1BSSU9SSVRZXG59IGZyb20gJy4vY29udGV4dC1kYXNoYm9hcmQubW9kZWwnO1xuaW1wb3J0IHsgQ29udGV4dERhc2hib2FyZFNlcnZpY2UgfSBmcm9tICcuL2NvbnRleHQtZGFzaGJvYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QsIEludmVudG9yeVNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG5ld0Rhc2hib2FyZFRhYiB9IGZyb20gJy4vbmV3LWRhc2hib2FyZC5ndWFyZCc7XG5pbXBvcnQgeyBEYXNoYm9hcmREZXRhaWxTZXJ2aWNlIH0gZnJvbSAnLi9kYXNoYm9hcmQtZGV0YWlsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZGFzaGJvYXJkLWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXNoYm9hcmQtZGV0YWlsLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmREZXRhaWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgaXNDb2xsYXBzZWQgPSB0cnVlO1xuICBjdXJyZW50Q29udGV4dDogQ29udGV4dERhdGE7XG4gIGN1cnJlbnREYXNoYm9hcmQ6IENvbnRleHREYXNoYm9hcmQ7XG4gIEBJbnB1dCgpIGlzUmVwb3J0OiBib29sZWFuO1xuICBASW5wdXQoKSBkZXZpY2VUeXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRleHQ6IGFueTtcbiAgQElucHV0KCkgbW86IENvbnRleHREYXNoYm9hcmRNYW5hZ2VkT2JqZWN0O1xuICBASW5wdXQoKSBkYXNoYm9hcmQ6IENvbnRleHREYXNoYm9hcmQ7XG4gIEBJbnB1dCgpIGlzTmFtZWREYXNoYm9hcmQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhpZGVBdmFpbGFiaWxpdHkgPSBmYWxzZTtcbiAgZGV2aWNlVHlwZVZhbHVlOiBzdHJpbmc7XG4gIGRpc3BsYXlEZXZpY2VUeXBlVmFsdWU6IHN0cmluZztcbiAgaWNvbnM6IHN0cmluZ1tdO1xuICBuYW1lUGxhY2Vob2xkZXI6IHN0cmluZztcbiAgdGFicyQ6IE9ic2VydmFibGU8VGFiW10+O1xuICBzZWxlY3RlZFRhYjogRGFzaGJvYXJkRGV0YWlsc1RhYklkID0gRGFzaGJvYXJkRGV0YWlsc1RhYklkLkdFTkVSQUw7XG4gIGRhc2hib2FyZERldGFpbHNGb3JtOiBSZXR1cm5UeXBlPERhc2hib2FyZERldGFpbFNlcnZpY2VbJ2luaXRGb3JtJ10+O1xuICBnZW5lcmFsU2V0dGluZ3NGb3JtOiBSZXR1cm5UeXBlPERhc2hib2FyZERldGFpbFNlcnZpY2VbJ2luaXRHZW5lcmFsU2V0dGluZ3NGb3JtJ10+O1xuICBhcHBlYXJhbmNlU2V0dGluZ3NGb3JtOiBSZXR1cm5UeXBlPERhc2hib2FyZERldGFpbFNlcnZpY2VbJ2luaXRBcHBlYXJhbmNlU2V0dGluZ3NGb3JtJ10+O1xuICBhbGxvd1R5cGVEYXNoYm9hcmQ6IEFsbG93VHlwZURhc2hib2FyZDtcbiAgaXNFZGl0OiBib29sZWFuO1xuICBAT3V0cHV0KCkgZGFzaGJvYXJkU2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbnRleHREYXNoYm9hcmQ+KCk7XG4gIEBPdXRwdXQoKSBwcmV2aWV3Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICByZWFkb25seSBUQUJTX09VVExFVF9OQU1FID0gJ2Rhc2hib2FyZFRhYnMnO1xuICByZWFkb25seSBUQUJTOiBEYXNoYm9hcmREZXRhaWxzVGFicyA9IHtcbiAgICBnZW5lcmFsOiB7XG4gICAgICBmZWF0dXJlSWQ6IERhc2hib2FyZERldGFpbHNUYWJJZC5HRU5FUkFMLFxuICAgICAgcHJpb3JpdHk6IDMwLFxuICAgICAgbGFiZWw6IGdldHRleHQoJ0dlbmVyYWwnKVxuICAgIH0sXG4gICAgYXBwZWFyYW5jZToge1xuICAgICAgZmVhdHVyZUlkOiBEYXNoYm9hcmREZXRhaWxzVGFiSWQuQVBQRUFSQU5DRSxcbiAgICAgIHByaW9yaXR5OiAyMCxcbiAgICAgIGxhYmVsOiBnZXR0ZXh0KCdBcHBlYXJhbmNlJylcbiAgICB9LFxuICAgIHZlcnNpb25IaXN0b3J5OiB7XG4gICAgICBmZWF0dXJlSWQ6IERhc2hib2FyZERldGFpbHNUYWJJZC5WRVJTSU9OSElTVE9SWSxcbiAgICAgIHByaW9yaXR5OiAxMCxcbiAgICAgIGxhYmVsOiBnZXR0ZXh0KCdWZXJzaW9uIGhpc3RvcnknKVxuICAgIH1cbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnRleHREYXNoYm9hcmRTZXJ2aWNlOiBDb250ZXh0RGFzaGJvYXJkU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0Um91dGU6IENvbnRleHRSb3V0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSB0YWJzU2VydmljZTogVGFic1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGludmVudG9yeTogSW52ZW50b3J5U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGRhc2hib2FyZERldGFpbFNlcnZpY2U6IERhc2hib2FyZERldGFpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ3JvdXBTZXJ2aWNlOiBHcm91cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2RhbDogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ2FpbnNpZ2h0U2VydmljZTogR2FpbnNpZ2h0U2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy50YWJzJCA9IHRoaXMudGFic1NlcnZpY2UuaXRlbXMkO1xuICAgIHRoaXMuY3VycmVudENvbnRleHQgPSB0aGlzLmNvbnRleHRSb3V0ZS5nZXRDb250ZXh0RGF0YSh0aGlzLmFjdGl2YXRlZFJvdXRlKTtcbiAgICB0aGlzLmRldmljZVR5cGVWYWx1ZSA9IHRoaXMuY29udGV4dD8udHlwZTtcbiAgICB0aGlzLmRpc3BsYXlEZXZpY2VUeXBlVmFsdWUgPVxuICAgICAgdGhpcy5jb250ZXh0ICYmXG4gICAgICB0aGlzLmdyb3VwU2VydmljZS5pc0dyb3VwKHRoaXMuY29udGV4dCkgJiZcbiAgICAgICF0aGlzLmdyb3VwU2VydmljZS5pc0Fzc2V0KHRoaXMuY29udGV4dClcbiAgICAgICAgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChnZXR0ZXh0KCdHcm91cCcpKVxuICAgICAgICA6IHRoaXMuZGV2aWNlVHlwZVZhbHVlO1xuXG4gICAgdGhpcy51cGRhdGVBbGxvd1R5cGVEYXNoYm9hcmQoKTtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFsbG93VHlwZURhc2hib2FyZCgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0VkaXQpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvbmZpZ3VyYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBhc3luYyBzYXZlKCkge1xuICAgIGNvbnN0IG9sZERhc2hib2FyZCA9IGNsb25lRGVlcCh0aGlzLmRhc2hib2FyZCk7XG4gICAgdGhpcy5kYXNoYm9hcmQgPSB7XG4gICAgICAuLi50aGlzLmRhc2hib2FyZCxcbiAgICAgIC4uLnRoaXMuZ2VuZXJhbFNldHRpbmdzRm9ybS52YWx1ZSxcbiAgICAgIC4uLnRoaXMuYXBwZWFyYW5jZVNldHRpbmdzRm9ybS52YWx1ZVxuICAgIH07XG4gICAgY29uc3QgZGFzaGJvYXJkU2V0dGluZ0NoYW5nZXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXModGhpcy5kYXNoYm9hcmQpLmZpbHRlcihrZXkgPT4ge1xuICAgICAgaWYgKGtleSA9PT0gJ2M4eV9Jc05hdmlnYXRvck5vZGUnKSB7XG4gICAgICAgIHJldHVybiAhIW9sZERhc2hib2FyZFtrZXldICE9PSAhIXRoaXMuZGFzaGJvYXJkW2tleV07XG4gICAgICB9XG4gICAgICByZXR1cm4gIWlzRXF1YWwob2xkRGFzaGJvYXJkW2tleV0sIHRoaXMuZGFzaGJvYXJkW2tleV0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5kYXNoYm9hcmQuYXV0aG9yID0gdGhpcy5hcHBTdGF0ZS5jdXJyZW50VXNlci52YWx1ZS51c2VyTmFtZTtcbiAgICB0aGlzLmRhc2hib2FyZC5jOHlfSXNOYXZpZ2F0b3JOb2RlID0gdGhpcy5kYXNoYm9hcmQuYzh5X0lzTmF2aWdhdG9yTm9kZVxuICAgICAgPyB7fVxuICAgICAgOiB0aGlzLmN1cnJlbnREYXNoYm9hcmRcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5kYXNoYm9hcmQuZGV2aWNlVHlwZVZhbHVlID8/PSB0aGlzLmRldmljZVR5cGVWYWx1ZTtcbiAgICB0aGlzLmRhc2hib2FyZC5oaXN0b3J5RGVzY3JpcHRpb24gPVxuICAgICAgdGhpcy51cGRhdGVEYXNoYm9hcmRIaXN0b3J5RGVzY3JpcHRpb24oZGFzaGJvYXJkU2V0dGluZ0NoYW5nZXMpO1xuICAgIGlmICghdGhpcy5pc0VkaXQgJiYgIXRoaXMuaXNSZXBvcnQpIHtcbiAgICAgIGF3YWl0IHRoaXMuY3JlYXRlTmV3RGFzaGJvYXJkKCk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5pc0VkaXQgJiYgdGhpcy5pc1JlcG9ydCkge1xuICAgICAgYXdhaXQgdGhpcy5jcmVhdGVOZXdSZXBvcnQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy51cGRhdGVEYXNoYm9hcmQoKTtcbiAgICAgIHRoaXMubW8uYzh5X0Rhc2hib2FyZEhpc3RvcnkgPSBbXG4gICAgICAgIHRoaXMuZGFzaGJvYXJkLFxuICAgICAgICAuLi4odGhpcy5tbz8uYzh5X0Rhc2hib2FyZEhpc3RvcnkgPyB0aGlzLm1vLmM4eV9EYXNoYm9hcmRIaXN0b3J5IDogW10pXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZURhc2hib2FyZEhpc3RvcnlEZXNjcmlwdGlvbihkYXNoYm9hcmRDaGFuZ2VzOiBzdHJpbmdbXSk6IERhc2hib2FyZEhpc3RvcnlEZXNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNoYW5nZVR5cGU6IHRoaXMuaXNFZGl0ID8gJ3VwZGF0ZScgOiAnY3JlYXRlJyxcbiAgICAgIGRhc2hib2FyZFNldHRpbmdDaGFuZ2VzOiBkYXNoYm9hcmRDaGFuZ2VzXG4gICAgICAgIC5maWx0ZXIodmFsdWUgPT4gdmFsdWUgIT09ICdkZXZpY2VUeXBlJylcbiAgICAgICAgLm1hcCh2YWx1ZSA9PiBEQVNIQk9BUkRfU0VUVElOR1NfQ0hBTkdFU1t2YWx1ZV0gfHwgdmFsdWUpLFxuICAgICAgZGV2aWNlVHlwZTogZGFzaGJvYXJkQ2hhbmdlcy5maW5kKHZhbHVlID0+IHZhbHVlID09PSAnZGV2aWNlVHlwZScpXG4gICAgICAgID8gdGhpcy5kYXNoYm9hcmQuZGV2aWNlVHlwZVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgIH07XG4gIH1cblxuICBzZWxlY3RUYWIoc2VsZWN0ZWRUYWI6IERhc2hib2FyZERldGFpbHNUYWJJZCkge1xuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBzZWxlY3RlZFRhYjtcbiAgICB0aGlzLnRhYnNTZXJ2aWNlLnJlZnJlc2goKTtcbiAgfVxuXG4gIGFzeW5jIGNhbmNlbCgpIHtcbiAgICBpZiAoIXRoaXMuaXNFZGl0ICYmICF0aGlzLmlzUmVwb3J0KSB7XG4gICAgICAvLyBkYXNoYm9hcmQgY3JlYXRpb24gaW4gaXQncyBvd24gdGFiLSBjb25maXJtIGFuZCBjbGVhbnVwIHRyaWdnZXJlZCBpbiBjYW5EZWFjdGl2YXRlIGR1cmluZyByb3V0aW5nXG4gICAgICB0aGlzLnRhYnNTZXJ2aWNlLml0ZW1zJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodGFiczogVGFiW10pID0+IHtcbiAgICAgICAgY29uc3QgdGFiID0gdGFicy5maW5kKHQgPT4gdC5mZWF0dXJlSWQgIT09IG5ld0Rhc2hib2FyZFRhYi5mZWF0dXJlSWQpO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRhYi5wYXRoLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmlzRWRpdCAmJiB0aGlzLmlzUmVwb3J0KSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ3JlcG9ydHMnXSk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICh0aGlzLmRhc2hib2FyZERldGFpbHNGb3JtLmRpcnR5ICYmICEoYXdhaXQgdGhpcy5jb25maXJtQ2xvc2luZygpKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNsZWFudXBBZnRlckRldGFpbHNDbG9zZSgpO1xuICB9XG5cbiAgYXN5bmMgY2FuRGVhY3RpdmF0ZShvbWl0Q29uZmlybSA9IGZhbHNlKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgbGV0IGNhbkRlYWN0aXZhdGU6IGJvb2xlYW47XG4gICAgaWYgKHRoaXMuaXNDb2xsYXBzZWQgfHwgIXRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0uZGlydHkpIHtcbiAgICAgIGNhbkRlYWN0aXZhdGUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAob21pdENvbmZpcm0pIHtcbiAgICAgICAgY2FuRGVhY3RpdmF0ZSA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FuRGVhY3RpdmF0ZSA9IGF3YWl0IHRoaXMuY29uZmlybUNsb3NpbmcoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNhbkRlYWN0aXZhdGUpIHtcbiAgICAgIHRoaXMuY2xlYW51cEFmdGVyRGV0YWlsc0Nsb3NlKCk7XG4gICAgfVxuICAgIHJldHVybiBjYW5EZWFjdGl2YXRlO1xuICB9XG5cbiAgc2hvdyhpc0VkaXQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzRWRpdCA9IGlzRWRpdDtcbiAgICBpZiAodGhpcy5pc0VkaXQpIHtcbiAgICAgIHRoaXMuZWRpdCgpO1xuICAgIH1cbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgdGhpcy5pc0NvbGxhcHNlZCA9IGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgcmV2ZXJ0RGFzaGJvYXJkKGRhc2hib2FyZDogQ29udGV4dERhc2hib2FyZCkge1xuICAgIHRoaXMuZGFzaGJvYXJkID0gZGFzaGJvYXJkO1xuICAgIHRoaXMuZGFzaGJvYXJkLmM4eV9Jc05hdmlnYXRvck5vZGUgPSB0aGlzLmRhc2hib2FyZC5jOHlfSXNOYXZpZ2F0b3JOb2RlXG4gICAgICA/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
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const NEW_DASHBOARD_ROUTER_STATE_PROP = 'newDashboard';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9kYXNoYm9hcmQvZGFzaGJvYXJkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdNQSxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRztJQUN6QyxXQUFXLEVBQUUsYUFBYTtJQUMxQixlQUFlLEVBQUUsaUJBQWlCO0NBQzFCLENBQUM7QUFZWCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXNoYm9hcmRDaGlsZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkLWNoaWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXNoYm9hcmRDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZC5jb21wb25lbnQnO1xuXG4vKipcbiAqIERlc2NyaWJlcyBhIGxlZ2FjeSB3aWRnZXQuIFBsZWFzZSB1c2VcbiAqIHRoZSBwcm9wZXIgV2lkZ2V0IGludGVyZmFjZSBpbnN0ZWFkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExlZ2FjeVdpZGdldCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgd2lkZ2V0LlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgY29tcG9uZW5JZFxuICAgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB0ZW1wbGF0ZSBVUkwgZm9yIGxlZ2FjeSBwbHVnaW5zLlxuICAgKiBAZGVwcmVjYXRlZDogT25seSB1c2VkIGZvciBhbmd1bGFyanMgcGx1Z2lucy5cbiAgICovXG4gIHRlbXBsYXRlVXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uZmlnIHRlbXBsYXRlIFVSTCBmb3IgbGVnYWN5IHBsdWdpbnMuXG4gICAqIEBkZXByZWNhdGVkOiBPbmx5IHVzZWQgZm9yIGFuZ3VsYXJqcyBwbHVnaW5zLlxuICAgKi9cbiAgY29uZmlnVGVtcGxhdGVVcmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25maWcgY29tcG9uZW50IG5hbWUuXG4gICAqIEBkZXByZWNhdGVkOiBPbmx5IHVzZWQgZm9yIGFuZ3VsYXJqcyBwbHVnaW5zLlxuICAgKi9cbiAgY29uZmlnQ29tcG9uZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgd2lkZ2V0IGNvbXBvbmVudCBuYW1lLlxuICAgKiBAZGVwcmVjYXRlZDogT25seSB1c2VkIGZvciBhbmd1bGFyanMgcGx1Z2lucy5cbiAgICovXG4gIHdpZGdldENvbXBvbmVudD86IHN0cmluZztcbiAgdHJhbnNmb3JtQ29uZmlnV2l0aENvbnRleHQ/OiAoKSA9PiB2b2lkO1xufVxuXG4vKipcbiAqIEEgd2lkZ2V0IGlzIGEgY2hpbGQgb24gYSBkYXNoYm9hcmQgd2hpY2ggY2FuIGJlIGFkZGVkIGFuZCBjb25maWd1cmVkXG4gKiBieSB0aGUgdXNlci4gQSB3aWRnZXQgY2FuIGJlIGRlZmluZWQgYnkgdGhlIFtbRHluYW1pY0NvbXBvbmVudERlZmluaXRpb25dXVxuICogYnkgYW55IG1vZHVsZSBvZiBhbiBhcHBsaWNhdGlvbi4gVGhldyB3aWRnZXQgaXRzZWxmIHN0b3JlcyBiZXNpZGUgaXQnc1xuICogbGluayAoY29tcG9uZW50SWQpIHRvIHRoZSBEeW5hbWljQ29tcG9uZW50RGVmaW5pdGlvbiB0aGUgaW5mb3JtYXRpb25cbiAqIGFib3V0IHRoZSB0aXRsZSwgbGF5b3V0IChjbGFzc2VzKSBhbmQgdGhlIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0IGV4dGVuZHMgTGVnYWN5V2lkZ2V0IHtcbiAgLyoqXG4gICAqIHggZGltZW5zaW9uIHBhcmFtZXRlcnNcbiAgICovXG4gIF94PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiB5IGRpbWVuc2lvbiBwYXJhbWV0ZXJzXG4gICAqL1xuICBfeT86IG51bWJlcjtcblxuICAvKipcbiAgICogd2lkdGggZGltZW5zaW9uIHBhcmFtZXRlcnNcbiAgICovXG4gIF93aWR0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogaGVpZ2h0IGRpbWVuc2lvbiBwYXJhbWV0ZXJzXG4gICAqL1xuICBfaGVpZ2h0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdW5pcXVlIGNvbXBvbmVudCBpZCB0byBmaW5kIHRoZSBjb21wb25lbnQgaW4gdGhlXG4gICAqIEhPT0tfQ09NUE9ORU5UUyBkeW5hbWljLWNvbXBvbmVudCBpbXBsZW1lbnRhdGlvbi5cbiAgICovXG4gIGNvbXBvbmVudElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgcmFuZG9tIGtleSBmb3Igc2F2aW5nIGl0IHRvIHRoZSBvYmplY3QuXG4gICAqL1xuICBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBjb25maWd1cmF0aW9uIG9mIHRoZSB3aWRnZXQuXG4gICAqL1xuICBjb25maWc6IGFueTtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgdGl0bGUgb2YgdGhlIHdpZGdldC5cbiAgICovXG4gIHRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGljaCBjbGFzc2VzIHNob3VsZCBiZSBhZGRlZC5cbiAgICovXG4gIGNsYXNzZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbn1cblxuLyoqXG4gKiBJcyB1c2VkIHRvIGNvbmZpZ3VyZSBhIHdpZGdldCBkYXNoYm9hcmQuIEl0IGFsbG93c1xuICogdG8gc2V0IGNlcnRhaW4gcGFyYW1ldGVyIHRoYXQgY2hhbmdlIHRoZSBiZWhhdmlvclxuICogb2YgdGhlIGRhc2hib2FyZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBJZiB0aGUgZGFzaGJvYXJkIGlzIGZyb3plbiwgdGhlIHVzZXIgY2FuJ3QgZWRpdCBpdCBhbnkgbW9yZS5cbiAgICogSG93ZXZlciBoZSBjYW4gZGVsZXRlIGl0IGFuZCBjaGFuZ2UgdGhlIGZyb3plbiBzdGF0ZS5cbiAgICovXG4gIGlzRnJvemVuOiBib29sZWFuO1xuICAvKipcbiAgICogSWYgdGhlIGRhc2hib2FyZCBpcyBkaXNhYmxlZCwgbm8gY2hhbmdlcyBvbiB0aGlzIGRhc2hib2FyZCBhcmUgYWxsb3dlZC5cbiAgICogRS5nLiBiZWNhdXNlIHRoZSB1c2VyIGRvZXNuJ3QgaGF2ZSB0aGUgcmlnaHRzLlxuICAgKi9cbiAgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBnYXAgYmV0d2VlbiBlYWNoIHdpZGdldCBhcyBwaXhlbFxuICAgKi9cbiAgd2lkZ2V0TWFyZ2luOiBudW1iZXI7XG4gIC8qKlxuICAgKiBTaG91bGQgdGhlIGFwcGxpY2F0aW9uIGNoZWNrIGlmIGEgdHJhbnNsYXRpb24gaXMgcHJlc2VudCBmb3IgdGhlXG4gICAqIHdpZGdldCB0aXRsZS5cbiAgICovXG4gIHRyYW5zbGF0ZVdpZGdldFRpdGxlOiBib29sZWFuO1xuICAvKipcbiAgICogTmV3IGFkZGVkIHdpZGdldHMgZ2V0IHRoYXQgaGVpZ2h0IGF0dGFjaGVkIChpbiBjc3MgZ3JpZCBjb2x1bW5zIHVuaXRzKVxuICAgKi9cbiAgZGVmYXVsdEhlaWdodDogbnVtYmVyO1xuICAvKipcbiAgICogTmV3IGFkZGVkIHdpZGdldHMgZ2V0IHRoYXQgd2lkdGggYXR0YWNoZWQgKGluIGNzcyBncmlkIHJvdyB1bml0cylcbiAgICovXG4gIGRlZmF1bHRXaWR0aDogbnVtYmVyO1xuICAvKipcbiAgICogU2hvdWxkIHRoZSB1c2VyIGJlIGFibGUgdG8gc3dpdGNoIHRvIGZ1bGxzY3JlZW4gbW9kZS5cbiAgICovXG4gIGFsbG93RnVsbHNjcmVlbjogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEEgZ2xvYmFsIHRpdGxlIHRoYXQgaXMgdXNlZCBmb3IgdGhpcyBkYXNoYm9hcmQuXG4gICAqL1xuICB0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgc2V0IHRvIGZhbHNlLCB0aGUgZGFzaGJvYXJkIGNhbiBub3QgYmUgY29waWVkIChkZWZhdWx0IHRydWUpLlxuICAgKi9cbiAgY2FuQ29weT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byBmYWxzZSwgdGhlIGRhc2hib2FyZCBjYW4gbm90IGJlIHJlbW92ZWQgKGRlZmF1bHQgdHJ1ZSkuXG4gICAqL1xuICBjYW5EZWxldGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgZGFzaGJvYXJkIGlzIGxvYWRpbmcuXG4gICAqL1xuICBpc0xvYWRpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIGNvbHVtbnMgb24gdGhhdCBkYXNoYm9hcmQuXG4gICAqIENhbiBiZSBmcmVlbHkgY2hvc2VuLCBidXQgcHJvZHVjdCB1c2VzIGVpdGhlciAxMiBvciAyNC5cbiAgICovXG4gIGNvbHVtbnM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGFzaGJvYXJkQ2hpbGREaW1lbnNpb24ge1xuICB4PzogbnVtYmVyO1xuICB5PzogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRDaGlsZFJlc2l6ZURpbWVuc2lvbiB7XG4gIHBvaW50ZXI6IHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICB9O1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRDaGlsZEFycmFuZ2VtZW50IHtcbiAgY3VycmVudDogRGFzaGJvYXJkQ2hpbGREaW1lbnNpb247XG4gIHNjYW46IERhc2hib2FyZENoaWxkQ29tcG9uZW50W107XG4gIHNwYWNpbmc6IG51bWJlcjtcbiAgb3JpZ2luOiBEYXNoYm9hcmRDaGlsZERpbWVuc2lvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRDaGFuZ2Uge1xuICBzb3VyY2U6IERhc2hib2FyZENoaWxkQ29tcG9uZW50O1xuICBjaGlsZHJlbjogRGFzaGJvYXJkQ2hpbGRDb21wb25lbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaWRnZXRDaGFuZ2Uge1xuICB3aWRnZXQ6IFdpZGdldDtcbiAgZGFzaGJvYXJkOiBEYXNoYm9hcmRDb21wb25lbnQ7XG4gIHNvdXJjZTogRGFzaGJvYXJkQ2hpbGRDb21wb25lbnQ7XG59XG5cbmV4cG9ydCBjb25zdCBDb3B5RGFzaGJvYXJkRGlzYWJsZWRSZWFzb24gPSB7XG4gIFBFUk1JU1NJT05TOiAnUEVSTUlTU0lPTlMnLFxuICBXUk9OR19SRUZFUkVOQ0U6ICdXUk9OR19SRUZFUkVOQ0UnXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBEYXNoYm9hcmRDb3B5UGVybWlzc2lvbiA9XG4gIHwge1xuICAgICAgc3RhdGU6IHRydWU7XG4gICAgICByZWFzb24/OiBuZXZlcjtcbiAgICB9XG4gIHwge1xuICAgICAgc3RhdGU6IGZhbHNlO1xuICAgICAgcmVhc29uOiAodHlwZW9mIENvcHlEYXNoYm9hcmREaXNhYmxlZFJlYXNvbilba2V5b2YgdHlwZW9mIENvcHlEYXNoYm9hcmREaXNhYmxlZFJlYXNvbl07XG4gICAgfTtcblxuZXhwb3J0IGNvbnN0IE5FV19EQVNIQk9BUkRfUk9VVEVSX1NUQVRFX1BST1AgPSAnbmV3RGFzaGJvYXJkJztcbiJdfQ==
|