@c8y/ngx-components 1017.0.335 → 1017.0.338
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/NOTICES +59 -0
- package/esm2020/context-dashboard/cockpit-dashboard/welcome/welcome.component.mjs +3 -3
- package/esm2020/core/bootstrap/bootstrap.component.mjs +7 -1
- package/esm2020/core/data-grid/data-grid.component.mjs +3 -3
- package/fesm2015/c8y-ngx-components-context-dashboard.mjs +2 -2
- package/fesm2015/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components.mjs +8 -2
- package/fesm2015/c8y-ngx-components.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-context-dashboard.mjs +2 -2
- package/fesm2020/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components.mjs +8 -2
- package/fesm2020/c8y-ngx-components.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -97,6 +97,12 @@ export class BootstrapComponent {
|
|
|
97
97
|
if (remoteModules.length) {
|
|
98
98
|
this.pluginsResolve.resolveRemotePlugins(remoteModules);
|
|
99
99
|
}
|
|
100
|
+
else {
|
|
101
|
+
// in case loading all modules via pluginsResolve.loadRemotes failed
|
|
102
|
+
// (e.g. all plugins that were installed have been deleted from the tenant)
|
|
103
|
+
// we still need to mark loading the plugins as successful.
|
|
104
|
+
this.ensureWeMarkPluginsAsLoaded();
|
|
105
|
+
}
|
|
100
106
|
}
|
|
101
107
|
subscribeToLoadRemotes() {
|
|
102
108
|
if (this.options.get('noPlugins', false)) {
|
|
@@ -118,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
118
124
|
type: Component,
|
|
119
125
|
args: [{ selector: 'c8y-bootstrap', template: "<c8y-login *ngIf=\"!noLogin && !(ui.currentUser | async)\"></c8y-login>\n\n<div\n *ngIf=\"noLogin || ((ui.currentUser | async) && !(setupService.isSetupNeeded$ | async))\"\n [class.head-open]=\"headerService.headerOpen\"\n>\n <c8y-header-bar #header></c8y-header-bar>\n <c8y-navigator-outlet\n [nodes]=\"navigator.items$ | async\"\n [open]=\"headerService.navigatorOpen$ | async\"\n role=\"region\"\n title=\"{{ 'Navigator menu' | translate }}\"\n >\n <header class=\"title navigator-slot-top\">\n <div class=\"tenant-brand\"></div>\n <c8y-app-icon\n [name]=\"(ui.state$ | async).app.name\"\n [contextPath]=\"(ui.state$ | async).app.contextPath\"\n ></c8y-app-icon>\n <span>{{ (ui.state$ | async).app | humanizeAppName | async }}</span>\n </header>\n <div class=\"powered-by navigator-slot-bottom\" *ngIf=\"showPoweredBy\">\n <p translate>powered by Cumulocity</p>\n </div>\n </c8y-navigator-outlet>\n\n <div class=\"alerts\">\n <c8y-alert-outlet></c8y-alert-outlet>\n </div>\n <c8y-tabs-outlet\n #tabsComponent\n [tabs]=\"tabs.items$ | async\"\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [orientation]=\"tabs.orientation$ | async\"\n role=\"navigation\"\n ></c8y-tabs-outlet>\n <c8y-action-bar\n #actionBarComponent\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [hasTabs]=\"tabsComponent.hasTabs\"\n [isTabsHorizontal]=\"tabsComponent?.isHorizontal\"\n [items$]=\"actionBar.items$\"\n role=\"group\"\n ></c8y-action-bar>\n\n <div\n class=\"mcontainer\"\n [ngClass]=\"{\n open: headerService.navigatorOpen$ | async,\n 'no-apps-margin': noAppsMargin$ | async,\n 'horizontal-tabs': tabsComponent.isHorizontal,\n 'vertical-tabs': !tabsComponent.isHorizontal,\n 'has-tabs': tabsComponent.hasTabs,\n 'has-action-bar': !actionBarComponent?.hidden\n }\"\n >\n <main id=\"main-content\" class=\"container-fluid\" tabindex=\"-1\">\n <router-outlet></router-outlet>\n <ng-content select=\"#c8y-legacy-view\"></ng-content>\n <!-- legacy ng-view, will not be migrated atm -->\n </main>\n </div>\n</div>\n\n<div *ngIf=\"(ui.currentUser | async) && (setupService.isSetupNeeded$ | async)\">\n <c8y-header-bar [simple]=\"true\"></c8y-header-bar>\n <div class=\"mcontainer\" role=\"main\">\n <div class=\"container-fluid\">\n <c8y-setup></c8y-setup>\n </div>\n </div>\n</div>\n\n<c8y-cookie-banner></c8y-cookie-banner>\n" }]
|
|
120
126
|
}], ctorParameters: function () { return [{ type: i1.TabsService }, { type: i2.AppStateService }, { type: i3.NavigatorService }, { type: i4.ActionBarService }, { type: i5.HeaderService }, { type: i6.OptionsService }, { type: i7.PluginsResolveService }, { type: i8.SetupService }]; } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvYm9vdHN0cmFwL2Jvb3RzdHJhcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2Jvb3RzdHJhcC9ib290c3RyYXAudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1wQyxNQUFNLE9BQU8sa0JBQWtCO0lBUzdCLFlBQ1MsSUFBaUIsRUFDakIsRUFBbUIsRUFDbkIsU0FBMkIsRUFDM0IsU0FBMkIsRUFDM0IsYUFBNEIsRUFDM0IsT0FBdUIsRUFDdkIsY0FBcUMsRUFDdEMsWUFBMEI7UUFQMUIsU0FBSSxHQUFKLElBQUksQ0FB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O1lBQ25DLE9BQU87U0FDUjtRQUNELE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFckUsd0JBQXdCO1FBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQ3pDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUMxRCxDQUFDO1FBRUYsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDekQ7SUFDSCxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1lBQ25DLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCO2FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxDQUFDLE1BQXFCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVPLDJCQUEyQjtRQUNqQyxvRUFBb0U7UUFDcEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzVDLENBQUM7OytHQTVGVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixxRENuQi9CLDY5RUEwRUE7MkZEdkRhLGtCQUFrQjtrQkFKOUIsU0FBUzsrQkFDRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25SZW1vdGVQbHVnaW5zIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjdGlvbkJhclNlcnZpY2UgfSBmcm9tICcuLi9hY3Rpb24tYmFyL2FjdGlvbi1iYXIuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9vcHRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJy4uL2hlYWRlci9oZWFkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vbmF2aWdhdG9yL25hdmlnYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFBsdWdpbnNSZXNvbHZlU2VydmljZSB9IGZyb20gJy4uL3BsdWdpbnMvcGx1Z2lucy1yZXNvbHZlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGx1Z2luc0NvbmZpZyB9IGZyb20gJy4uL3BsdWdpbnMvcGx1Z2lucy5tb2RlbCc7XG5pbXBvcnQgeyBTZXR1cFNlcnZpY2UgfSBmcm9tICcuLi9zZXR1cC9zZXR1cC5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYnNTZXJ2aWNlIH0gZnJvbSAnLi4vdGFicy90YWJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1ib290c3RyYXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vYm9vdHN0cmFwLnRlbXBsYXRlLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEJvb3RzdHJhcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgbmF2aWdhdG9yT3BlbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIG5vQXBwc01hcmdpbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHRhYnNPcmllbnRhdGlvbjogc3RyaW5nO1xuICBzaG93UG93ZXJlZEJ5OiBib29sZWFuID0gdHJ1ZTtcbiAgbm9Mb2dpbjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSBsb2FkZWRSZW1vdGVzQ29udGV4dFBhdGhDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0YWJzOiBUYWJzU2VydmljZSxcbiAgICBwdWJsaWMgdWk6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwdWJsaWMgbmF2aWdhdG9yOiBOYXZpZ2F0b3JTZXJ2aWNlLFxuICAgIHB1YmxpYyBhY3Rpb25CYXI6IEFjdGlvbkJhclNlcnZpY2UsXG4gICAgcHVibGljIGhlYWRlclNlcnZpY2U6IEhlYWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcHRpb25zOiBPcHRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIHBsdWdpbnNSZXNvbHZlOiBQbHVnaW5zUmVzb2x2ZVNlcnZpY2UsXG4gICAgcHVibGljIHNldHVwU2VydmljZTogU2V0dXBTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubm9BcHBzTWFyZ2luJCA9IHRoaXMuaGVhZGVyU2VydmljZS5tYXAoKHsgbmF2IH0pID0+ICFuYXYub3BlbiAmJiBuYXYuaGlkZGVuT25TdGFydHVwKTtcbiAgICB0aGlzLnRhYnNPcmllbnRhdGlvbiA9IHRoaXMub3B0aW9ucy50YWJzSG9yaXpvbnRhbCA/ICdob3Jpem9udGFsJyA6ICd2ZXJ0aWNhbCc7XG4gICAgdGhpcy51aVxuICAgICAgLm1hcCgoeyBsYW5nIH0pID0+IGxhbmcpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5hY3Rpb25CYXIucmVmcmVzaCgpO1xuICAgICAgfSk7XG4gICAgdGhpcy5zaG93UG93ZXJlZEJ5ID0gIXRoaXMub3B0aW9ucy5nZXQoJ2hpZGVQb3dlcmVkJyk7XG4gICAgdGhpcy5ub0xvZ2luID0gdGhpcy5vcHRpb25zLmdldCgnbm9Mb2dpbicsIGZhbHNlKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3Vic2NyaWJlVG9Mb2FkUmVtb3RlcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZW1vdGVzKGNvbmZpZzogUGx1Z2luc0NvbmZpZyk6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyB7XG4gICAgbGV0IHJlbW90ZXM6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucztcbiAgICBpZiAoISFjb25maWc/LnJlbW90ZXMpIHtcbiAgICAgIC8vIE1lcmdlIHBsdWdpbnMgY29uZmlnIHJlbW90ZXMgYW5kIHJlbW90ZXMgcGFzc2VkIGluIHRoZSBVUkwuXG4gICAgICAvLyBSZW1vdGVzIGluIHRoZSBVUkwgYXJlIHVzZWQgaW4gdGhlIGRldmVsb3BtZW50IHByb2Nlc3MuXG4gICAgICByZW1vdGVzID0gdGhpcy5wbHVnaW5zUmVzb2x2ZS5tZXJnZU1GUmVtb3RlcyhbXG4gICAgICAgIGNvbmZpZy5yZW1vdGVzLFxuICAgICAgICB0aGlzLnBsdWdpbnNSZXNvbHZlLmxvYWRVcmxSZW1vdGVzKClcbiAgICAgIF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZW1vdGVzID0gdGhpcy5vcHRpb25zPy5yZW1vdGVzO1xuICAgIH1cblxuICAgIC8vIEJsb2NrIHRoZSBwb3NzaWJpbGl0eSBvZiBsb2FkaW5nIHBsdWdpbnMgbXVsdGlwbGUgdGltZXMuXG4gICAgT2JqZWN0LmtleXMocmVtb3RlcyB8fCB7fSkuZm9yRWFjaChjb250ZXh0UGF0aCA9PiB7XG4gICAgICBpZiAodGhpcy5sb2FkZWRSZW1vdGVzQ29udGV4dFBhdGhDYWNoZS5nZXQoY29udGV4dFBhdGgpKSB7XG4gICAgICAgIGRlbGV0ZSByZW1vdGVzW2NvbnRleHRQYXRoXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaXNFbXB0eShyZW1vdGVzKSA/IHVuZGVmaW5lZCA6IHJlbW90ZXM7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRSZW1vdGVzKHJlbW90ZXM6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucykge1xuICAgIGlmICghcmVtb3Rlcykge1xuICAgICAgdGhpcy5lbnN1cmVXZU1hcmtQbHVnaW5zQXNMb2FkZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVtb3RlTW9kdWxlcyA9IGF3YWl0IHRoaXMucGx1Z2luc1Jlc29sdmUubG9hZFJlbW90ZXMocmVtb3Rlcyk7XG5cbiAgICAvLyBDYWNoZSBsb2FkZWQgcmVtb3Rlcy5cbiAgICBPYmplY3Qua2V5cyhyZW1vdGVzKS5mb3JFYWNoKGNvbnRleHRQYXRoID0+XG4gICAgICB0aGlzLmxvYWRlZFJlbW90ZXNDb250ZXh0UGF0aENhY2hlLnNldChjb250ZXh0UGF0aCwgdHJ1ZSlcbiAgICApO1xuXG4gICAgaWYgKHJlbW90ZU1vZHVsZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnBsdWdpbnNSZXNvbHZlLnJlc29sdmVSZW1vdGVQbHVnaW5zKHJlbW90ZU1vZHVsZXMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9Mb2FkUmVtb3RlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLmdldCgnbm9QbHVnaW5zJywgZmFsc2UpKSB7XG4gICAgICB0aGlzLmVuc3VyZVdlTWFya1BsdWdpbnNBc0xvYWRlZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnVpLmN1cnJlbnRBcHBsaWNhdGlvbkNvbmZpZ1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoY29uZmlnOiBQbHVnaW5zQ29uZmlnKSA9PiB0aGlzLmxvYWRSZW1vdGVzKHRoaXMuZ2V0UmVtb3Rlcyhjb25maWcpKSk7XG4gIH1cblxuICBwcml2YXRlIGVuc3VyZVdlTWFya1BsdWdpbnNBc0xvYWRlZCgpOiB2b2lkIHtcbiAgICAvLyBlbnN1cmUgd2UgY2FsbCBtYXJrUGx1Z2luc0FzTG9hZGVkIG9uIHRoZSBEeW5hbWljQ29tcG9uZW50U2VydmljZVxuICAgIHRoaXMucGx1Z2luc1Jlc29sdmUubWFya1BsdWdpbnNBc0xvYWRlZCgpO1xuICB9XG59XG4iLCI8Yzh5LWxvZ2luICpuZ0lmPVwiIW5vTG9naW4gJiYgISh1aS5jdXJyZW50VXNlciB8IGFzeW5jKVwiPjwvYzh5LWxvZ2luPlxuXG48ZGl2XG4gICpuZ0lmPVwibm9Mb2dpbiB8fCAoKHVpLmN1cnJlbnRVc2VyIHwgYXN5bmMpICYmICEoc2V0dXBTZXJ2aWNlLmlzU2V0dXBOZWVkZWQkIHwgYXN5bmMpKVwiXG4gIFtjbGFzcy5oZWFkLW9wZW5dPVwiaGVhZGVyU2VydmljZS5oZWFkZXJPcGVuXCJcbj5cbiAgPGM4eS1oZWFkZXItYmFyICNoZWFkZXI+PC9jOHktaGVhZGVyLWJhcj5cbiAgPGM4eS1uYXZpZ2F0b3Itb3V0bGV0XG4gICAgW25vZGVzXT1cIm5hdmlnYXRvci5pdGVtcyQgfCBhc3luY1wiXG4gICAgW29wZW5dPVwiaGVhZGVyU2VydmljZS5uYXZpZ2F0b3JPcGVuJCB8IGFzeW5jXCJcbiAgICByb2xlPVwicmVnaW9uXCJcbiAgICB0aXRsZT1cInt7ICdOYXZpZ2F0b3IgbWVudScgfCB0cmFuc2xhdGUgfX1cIlxuICA+XG4gICAgPGhlYWRlciBjbGFzcz1cInRpdGxlIG5hdmlnYXRvci1zbG90LXRvcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRlbmFudC1icmFuZFwiPjwvZGl2PlxuICAgICAgPGM4eS1hcHAtaWNvblxuICAgICAgICBbbmFtZV09XCIodWkuc3RhdGUkIHwgYXN5bmMpLmFwcC5uYW1lXCJcbiAgICAgICAgW2NvbnRleHRQYXRoXT1cIih1aS5zdGF0ZSQgfCBhc3luYykuYXBwLmNvbnRleHRQYXRoXCJcbiAgICAgID48L2M4eS1hcHAtaWNvbj5cbiAgICAgIDxzcGFuPnt7ICh1aS5zdGF0ZSQgfCBhc3luYykuYXBwIHwgaHVtYW5pemVBcHBOYW1lIHwgYXN5bmMgfX08L3NwYW4+XG4gICAgPC9oZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cInBvd2VyZWQtYnkgbmF2aWdhdG9yLXNsb3QtYm90dG9tXCIgKm5nSWY9XCJzaG93UG93ZXJlZEJ5XCI+XG4gICAgICA8cCB0cmFuc2xhdGU+cG93ZXJlZCBieSBDdW11bG9jaXR5PC9wPlxuICAgIDwvZGl2PlxuICA8L2M4eS1uYXZpZ2F0b3Itb3V0bGV0PlxuXG4gIDxkaXYgY2xhc3M9XCJhbGVydHNcIj5cbiAgICA8Yzh5LWFsZXJ0LW91dGxldD48L2M4eS1hbGVydC1vdXRsZXQ+XG4gIDwvZGl2PlxuICA8Yzh5LXRhYnMtb3V0bGV0XG4gICAgI3RhYnNDb21wb25lbnRcbiAgICBbdGFic109XCJ0YWJzLml0ZW1zJCB8IGFzeW5jXCJcbiAgICBbbmF2aWdhdG9yT3Blbl09XCJoZWFkZXJTZXJ2aWNlLm5hdmlnYXRvck9wZW4kIHwgYXN5bmNcIlxuICAgIFtvcmllbnRhdGlvbl09XCJ0YWJzLm9yaWVudGF0aW9uJCB8IGFzeW5jXCJcbiAgICByb2xlPVwibmF2aWdhdGlvblwiXG4gID48L2M4eS10YWJzLW91dGxldD5cbiAgPGM4eS1hY3Rpb24tYmFyXG4gICAgI2FjdGlvbkJhckNvbXBvbmVudFxuICAgIFtuYXZpZ2F0b3JPcGVuXT1cImhlYWRlclNlcnZpY2UubmF2aWdhdG9yT3BlbiQgfCBhc3luY1wiXG4gICAgW2hhc1RhYnNdPVwidGFic0NvbXBvbmVudC5oYXNUYWJzXCJcbiAgICBbaXNUYWJzSG9yaXpvbnRhbF09XCJ0YWJzQ29tcG9uZW50Py5pc0hvcml6b250YWxcIlxuICAgIFtpdGVtcyRdPVwiYWN0aW9uQmFyLml0ZW1zJFwiXG4gICAgcm9sZT1cImdyb3VwXCJcbiAgPjwvYzh5LWFjdGlvbi1iYXI+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwibWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgb3BlbjogaGVhZGVyU2VydmljZS5uYXZpZ2F0b3JPcGVuJCB8IGFzeW5jLFxuICAgICAgJ25vLWFwcHMtbWFyZ2luJzogbm9BcHBzTWFyZ2luJCB8IGFzeW5jLFxuICAgICAgJ2hvcml6b250YWwtdGFicyc6IHRhYnNDb21wb25lbnQuaXNIb3Jpem9udGFsLFxuICAgICAgJ3ZlcnRpY2FsLXRhYnMnOiAhdGFic0NvbXBvbmVudC5pc0hvcml6b250YWwsXG4gICAgICAnaGFzLXRhYnMnOiB0YWJzQ29tcG9uZW50Lmhhc1RhYnMsXG4gICAgICAnaGFzLWFjdGlvbi1iYXInOiAhYWN0aW9uQmFyQ29tcG9uZW50Py5oaWRkZW5cbiAgICB9XCJcbiAgPlxuICAgIDxtYWluIGlkPVwibWFpbi1jb250ZW50XCIgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCIjYzh5LWxlZ2FjeS12aWV3XCI+PC9uZy1jb250ZW50PlxuICAgICAgPCEtLSBsZWdhY3kgbmctdmlldywgd2lsbCBub3QgYmUgbWlncmF0ZWQgYXRtIC0tPlxuICAgIDwvbWFpbj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cIih1aS5jdXJyZW50VXNlciB8IGFzeW5jKSAmJiAoc2V0dXBTZXJ2aWNlLmlzU2V0dXBOZWVkZWQkIHwgYXN5bmMpXCI+XG4gIDxjOHktaGVhZGVyLWJhciBbc2ltcGxlXT1cInRydWVcIj48L2M4eS1oZWFkZXItYmFyPlxuICA8ZGl2IGNsYXNzPVwibWNvbnRhaW5lclwiIHJvbGU9XCJtYWluXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICAgICAgPGM4eS1zZXR1cD48L2M4eS1zZXR1cD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGM4eS1jb29raWUtYmFubmVyPjwvYzh5LWNvb2tpZS1iYW5uZXI+XG4iXX0=
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvYm9vdHN0cmFwL2Jvb3RzdHJhcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2Jvb3RzdHJhcC9ib290c3RyYXAudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1wQyxNQUFNLE9BQU8sa0JBQWtCO0lBUzdCLFlBQ1MsSUFBaUIsRUFDakIsRUFBbUIsRUFDbkIsU0FBMkIsRUFDM0IsU0FBMkIsRUFDM0IsYUFBNEIsRUFDM0IsT0FBdUIsRUFDdkIsY0FBcUMsRUFDdEMsWUFBMEI7UUFQMUIsU0FBSSxHQUFKLElBQUksQ0FB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ZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY3Rpb25CYXJTZXJ2aWNlIH0gZnJvbSAnLi4vYWN0aW9uLWJhci9hY3Rpb24tYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi91aS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEhlYWRlclNlcnZpY2UgfSBmcm9tICcuLi9oZWFkZXIvaGVhZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmF2aWdhdG9yU2VydmljZSB9IGZyb20gJy4uL25hdmlnYXRvci9uYXZpZ2F0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBQbHVnaW5zUmVzb2x2ZVNlcnZpY2UgfSBmcm9tICcuLi9wbHVnaW5zL3BsdWdpbnMtcmVzb2x2ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBsdWdpbnNDb25maWcgfSBmcm9tICcuLi9wbHVnaW5zL3BsdWdpbnMubW9kZWwnO1xuaW1wb3J0IHsgU2V0dXBTZXJ2aWNlIH0gZnJvbSAnLi4vc2V0dXAvc2V0dXAuc2VydmljZSc7XG5pbXBvcnQgeyBUYWJzU2VydmljZSB9IGZyb20gJy4uL3RhYnMvdGFicy5zZXJ2aWNlJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYm9vdHN0cmFwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Jvb3RzdHJhcC50ZW1wbGF0ZS5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCb290c3RyYXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIG5hdmlnYXRvck9wZW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBub0FwcHNNYXJnaW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICB0YWJzT3JpZW50YXRpb246IHN0cmluZztcbiAgc2hvd1Bvd2VyZWRCeTogYm9vbGVhbiA9IHRydWU7XG4gIG5vTG9naW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgbG9hZGVkUmVtb3Rlc0NvbnRleHRQYXRoQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdGFiczogVGFic1NlcnZpY2UsXG4gICAgcHVibGljIHVpOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIG5hdmlnYXRvcjogTmF2aWdhdG9yU2VydmljZSxcbiAgICBwdWJsaWMgYWN0aW9uQmFyOiBBY3Rpb25CYXJTZXJ2aWNlLFxuICAgIHB1YmxpYyBoZWFkZXJTZXJ2aWNlOiBIZWFkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgb3B0aW9uczogT3B0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwbHVnaW5zUmVzb2x2ZTogUGx1Z2luc1Jlc29sdmVTZXJ2aWNlLFxuICAgIHB1YmxpYyBzZXR1cFNlcnZpY2U6IFNldHVwU2VydmljZVxuICApIHtcbiAgICB0aGlzLm5vQXBwc01hcmdpbiQgPSB0aGlzLmhlYWRlclNlcnZpY2UubWFwKCh7IG5hdiB9KSA9PiAhbmF2Lm9wZW4gJiYgbmF2LmhpZGRlbk9uU3RhcnR1cCk7XG4gICAgdGhpcy50YWJzT3JpZW50YXRpb24gPSB0aGlzLm9wdGlvbnMudGFic0hvcml6b250YWwgPyAnaG9yaXpvbnRhbCcgOiAndmVydGljYWwnO1xuICAgIHRoaXMudWlcbiAgICAgIC5tYXAoKHsgbGFuZyB9KSA9PiBsYW5nKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aW9uQmFyLnJlZnJlc2goKTtcbiAgICAgIH0pO1xuICAgIHRoaXMuc2hvd1Bvd2VyZWRCeSA9ICF0aGlzLm9wdGlvbnMuZ2V0KCdoaWRlUG93ZXJlZCcpO1xuICAgIHRoaXMubm9Mb2dpbiA9IHRoaXMub3B0aW9ucy5nZXQoJ25vTG9naW4nLCBmYWxzZSk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN1YnNjcmliZVRvTG9hZFJlbW90ZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVtb3Rlcyhjb25maWc6IFBsdWdpbnNDb25maWcpOiBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnMge1xuICAgIGxldCByZW1vdGVzOiBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnM7XG4gICAgaWYgKCEhY29uZmlnPy5yZW1vdGVzKSB7XG4gICAgICAvLyBNZXJnZSBwbHVnaW5zIGNvbmZpZyByZW1vdGVzIGFuZCByZW1vdGVzIHBhc3NlZCBpbiB0aGUgVVJMLlxuICAgICAgLy8gUmVtb3RlcyBpbiB0aGUgVVJMIGFyZSB1c2VkIGluIHRoZSBkZXZlbG9wbWVudCBwcm9jZXNzLlxuICAgICAgcmVtb3RlcyA9IHRoaXMucGx1Z2luc1Jlc29sdmUubWVyZ2VNRlJlbW90ZXMoW1xuICAgICAgICBjb25maWcucmVtb3RlcyxcbiAgICAgICAgdGhpcy5wbHVnaW5zUmVzb2x2ZS5sb2FkVXJsUmVtb3RlcygpXG4gICAgICBdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVtb3RlcyA9IHRoaXMub3B0aW9ucz8ucmVtb3RlcztcbiAgICB9XG5cbiAgICAvLyBCbG9jayB0aGUgcG9zc2liaWxpdHkgb2YgbG9hZGluZyBwbHVnaW5zIG11bHRpcGxlIHRpbWVzLlxuICAgIE9iamVjdC5rZXlzKHJlbW90ZXMgfHwge30pLmZvckVhY2goY29udGV4dFBhdGggPT4ge1xuICAgICAgaWYgKHRoaXMubG9hZGVkUmVtb3Rlc0NvbnRleHRQYXRoQ2FjaGUuZ2V0KGNvbnRleHRQYXRoKSkge1xuICAgICAgICBkZWxldGUgcmVtb3Rlc1tjb250ZXh0UGF0aF07XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGlzRW1wdHkocmVtb3RlcykgPyB1bmRlZmluZWQgOiByZW1vdGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkUmVtb3RlcyhyZW1vdGVzOiBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnMpIHtcbiAgICBpZiAoIXJlbW90ZXMpIHtcbiAgICAgIHRoaXMuZW5zdXJlV2VNYXJrUGx1Z2luc0FzTG9hZGVkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHJlbW90ZU1vZHVsZXMgPSBhd2FpdCB0aGlzLnBsdWdpbnNSZXNvbHZlLmxvYWRSZW1vdGVzKHJlbW90ZXMpO1xuXG4gICAgLy8gQ2FjaGUgbG9hZGVkIHJlbW90ZXMuXG4gICAgT2JqZWN0LmtleXMocmVtb3RlcykuZm9yRWFjaChjb250ZXh0UGF0aCA9PlxuICAgICAgdGhpcy5sb2FkZWRSZW1vdGVzQ29udGV4dFBhdGhDYWNoZS5zZXQoY29udGV4dFBhdGgsIHRydWUpXG4gICAgKTtcblxuICAgIGlmIChyZW1vdGVNb2R1bGVzLmxlbmd0aCkge1xuICAgICAgdGhpcy5wbHVnaW5zUmVzb2x2ZS5yZXNvbHZlUmVtb3RlUGx1Z2lucyhyZW1vdGVNb2R1bGVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaW4gY2FzZSBsb2FkaW5nIGFsbCBtb2R1bGVzIHZpYSBwbHVnaW5zUmVzb2x2ZS5sb2FkUmVtb3RlcyBmYWlsZWRcbiAgICAgIC8vIChlLmcuIGFsbCBwbHVnaW5zIHRoYXQgd2VyZSBpbnN0YWxsZWQgaGF2ZSBiZWVuIGRlbGV0ZWQgZnJvbSB0aGUgdGVuYW50KVxuICAgICAgLy8gd2Ugc3RpbGwgbmVlZCB0byBtYXJrIGxvYWRpbmcgdGhlIHBsdWdpbnMgYXMgc3VjY2Vzc2Z1bC5cbiAgICAgIHRoaXMuZW5zdXJlV2VNYXJrUGx1Z2luc0FzTG9hZGVkKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0xvYWRSZW1vdGVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9wdGlvbnMuZ2V0KCdub1BsdWdpbnMnLCBmYWxzZSkpIHtcbiAgICAgIHRoaXMuZW5zdXJlV2VNYXJrUGx1Z2luc0FzTG9hZGVkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudWkuY3VycmVudEFwcGxpY2F0aW9uQ29uZmlnXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChjb25maWc6IFBsdWdpbnNDb25maWcpID0+IHRoaXMubG9hZFJlbW90ZXModGhpcy5nZXRSZW1vdGVzKGNvbmZpZykpKTtcbiAgfVxuXG4gIHByaXZhdGUgZW5zdXJlV2VNYXJrUGx1Z2luc0FzTG9hZGVkKCk6IHZvaWQge1xuICAgIC8vIGVuc3VyZSB3ZSBjYWxsIG1hcmtQbHVnaW5zQXNMb2FkZWQgb24gdGhlIER5bmFtaWNDb21wb25lbnRTZXJ2aWNlXG4gICAgdGhpcy5wbHVnaW5zUmVzb2x2ZS5tYXJrUGx1Z2luc0FzTG9hZGVkKCk7XG4gIH1cbn1cbiIsIjxjOHktbG9naW4gKm5nSWY9XCIhbm9Mb2dpbiAmJiAhKHVpLmN1cnJlbnRVc2VyIHwgYXN5bmMpXCI+PC9jOHktbG9naW4+XG5cbjxkaXZcbiAgKm5nSWY9XCJub0xvZ2luIHx8ICgodWkuY3VycmVudFVzZXIgfCBhc3luYykgJiYgIShzZXR1cFNlcnZpY2UuaXNTZXR1cE5lZWRlZCQgfCBhc3luYykpXCJcbiAgW2NsYXNzLmhlYWQtb3Blbl09XCJoZWFkZXJTZXJ2aWNlLmhlYWRlck9wZW5cIlxuPlxuICA8Yzh5LWhlYWRlci1iYXIgI2hlYWRlcj48L2M4eS1oZWFkZXItYmFyPlxuICA8Yzh5LW5hdmlnYXRvci1vdXRsZXRcbiAgICBbbm9kZXNdPVwibmF2aWdhdG9yLml0ZW1zJCB8IGFzeW5jXCJcbiAgICBbb3Blbl09XCJoZWFkZXJTZXJ2aWNlLm5hdmlnYXRvck9wZW4kIHwgYXN5bmNcIlxuICAgIHJvbGU9XCJyZWdpb25cIlxuICAgIHRpdGxlPVwie3sgJ05hdmlnYXRvciBtZW51JyB8IHRyYW5zbGF0ZSB9fVwiXG4gID5cbiAgICA8aGVhZGVyIGNsYXNzPVwidGl0bGUgbmF2aWdhdG9yLXNsb3QtdG9wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGVuYW50LWJyYW5kXCI+PC9kaXY+XG4gICAgICA8Yzh5LWFwcC1pY29uXG4gICAgICAgIFtuYW1lXT1cIih1aS5zdGF0ZSQgfCBhc3luYykuYXBwLm5hbWVcIlxuICAgICAgICBbY29udGV4dFBhdGhdPVwiKHVpLnN0YXRlJCB8IGFzeW5jKS5hcHAuY29udGV4dFBhdGhcIlxuICAgICAgPjwvYzh5LWFwcC1pY29uPlxuICAgICAgPHNwYW4+e3sgKHVpLnN0YXRlJCB8IGFzeW5jKS5hcHAgfCBodW1hbml6ZUFwcE5hbWUgfCBhc3luYyB9fTwvc3Bhbj5cbiAgICA8L2hlYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwicG93ZXJlZC1ieSBuYXZpZ2F0b3Itc2xvdC1ib3R0b21cIiAqbmdJZj1cInNob3dQb3dlcmVkQnlcIj5cbiAgICAgIDxwIHRyYW5zbGF0ZT5wb3dlcmVkIGJ5IEN1bXVsb2NpdHk8L3A+XG4gICAgPC9kaXY+XG4gIDwvYzh5LW5hdmlnYXRvci1vdXRsZXQ+XG5cbiAgPGRpdiBjbGFzcz1cImFsZXJ0c1wiPlxuICAgIDxjOHktYWxlcnQtb3V0bGV0PjwvYzh5LWFsZXJ0LW91dGxldD5cbiAgPC9kaXY+XG4gIDxjOHktdGFicy1vdXRsZXRcbiAgICAjdGFic0NvbXBvbmVudFxuICAgIFt0YWJzXT1cInRhYnMuaXRlbXMkIHwgYXN5bmNcIlxuICAgIFtuYXZpZ2F0b3JPcGVuXT1cImhlYWRlclNlcnZpY2UubmF2aWdhdG9yT3BlbiQgfCBhc3luY1wiXG4gICAgW29yaWVudGF0aW9uXT1cInRhYnMub3JpZW50YXRpb24kIHwgYXN5bmNcIlxuICAgIHJvbGU9XCJuYXZpZ2F0aW9uXCJcbiAgPjwvYzh5LXRhYnMtb3V0bGV0PlxuICA8Yzh5LWFjdGlvbi1iYXJcbiAgICAjYWN0aW9uQmFyQ29tcG9uZW50XG4gICAgW25hdmlnYXRvck9wZW5dPVwiaGVhZGVyU2VydmljZS5uYXZpZ2F0b3JPcGVuJCB8IGFzeW5jXCJcbiAgICBbaGFzVGFic109XCJ0YWJzQ29tcG9uZW50Lmhhc1RhYnNcIlxuICAgIFtpc1RhYnNIb3Jpem9udGFsXT1cInRhYnNDb21wb25lbnQ/LmlzSG9yaXpvbnRhbFwiXG4gICAgW2l0ZW1zJF09XCJhY3Rpb25CYXIuaXRlbXMkXCJcbiAgICByb2xlPVwiZ3JvdXBcIlxuICA+PC9jOHktYWN0aW9uLWJhcj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJtY29udGFpbmVyXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICBvcGVuOiBoZWFkZXJTZXJ2aWNlLm5hdmlnYXRvck9wZW4kIHwgYXN5bmMsXG4gICAgICAnbm8tYXBwcy1tYXJnaW4nOiBub0FwcHNNYXJnaW4kIHwgYXN5bmMsXG4gICAgICAnaG9yaXpvbnRhbC10YWJzJzogdGFic0NvbXBvbmVudC5pc0hvcml6b250YWwsXG4gICAgICAndmVydGljYWwtdGFicyc6ICF0YWJzQ29tcG9uZW50LmlzSG9yaXpvbnRhbCxcbiAgICAgICdoYXMtdGFicyc6IHRhYnNDb21wb25lbnQuaGFzVGFicyxcbiAgICAgICdoYXMtYWN0aW9uLWJhcic6ICFhY3Rpb25CYXJDb21wb25lbnQ/LmhpZGRlblxuICAgIH1cIlxuICA+XG4gICAgPG1haW4gaWQ9XCJtYWluLWNvbnRlbnRcIiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIiNjOHktbGVnYWN5LXZpZXdcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8IS0tIGxlZ2FjeSBuZy12aWV3LCB3aWxsIG5vdCBiZSBtaWdyYXRlZCBhdG0gLS0+XG4gICAgPC9tYWluPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiKHVpLmN1cnJlbnRVc2VyIHwgYXN5bmMpICYmIChzZXR1cFNlcnZpY2UuaXNTZXR1cE5lZWRlZCQgfCBhc3luYylcIj5cbiAgPGM4eS1oZWFkZXItYmFyIFtzaW1wbGVdPVwidHJ1ZVwiPjwvYzh5LWhlYWRlci1iYXI+XG4gIDxkaXYgY2xhc3M9XCJtY29udGFpbmVyXCIgcm9sZT1cIm1haW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XG4gICAgICA8Yzh5LXNldHVwPjwvYzh5LXNldHVwPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48Yzh5LWNvb2tpZS1iYW5uZXI+PC9jOHktY29va2llLWJhbm5lcj5cbiJdfQ==
|