@c8y/ngx-components 1018.0.143 → 1018.0.147

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.
@@ -93,6 +93,12 @@ export class BootstrapComponent {
93
93
  if (remoteModules.length) {
94
94
  this.pluginsResolve.resolveRemotePlugins(remoteModules);
95
95
  }
96
+ else {
97
+ // in case loading all modules via pluginsResolve.loadRemotes failed
98
+ // (e.g. all plugins that were installed have been deleted from the tenant)
99
+ // we still need to mark loading the plugins as successful.
100
+ this.ensureWeMarkPluginsAsLoaded();
101
+ }
96
102
  }
97
103
  subscribeToLoadRemotes() {
98
104
  if (this.options.get('noPlugins', false)) {
@@ -114,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
114
120
  type: Component,
115
121
  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-drawer-outlet\n role=\"region\"\n position=\"left\"\n [open]=\"headerService.navigatorOpen$ | async\"\n ></c8y-drawer-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" }]
116
122
  }], 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 }]; } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvYm9vdHN0cmFwL2Jvb3RzdHJhcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2Jvb3RzdHJhcC9ib290c3RyYXAudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTXBDLE1BQU0sT0FBTyxrQkFBa0I7SUFTN0IsWUFDUyxJQUFpQixFQUNqQixFQUFtQixFQUNuQixTQUEyQixFQUMzQixTQUEyQixFQUMzQixhQUE0QixFQUMzQixPQUF1QixFQUN2QixjQUFxQyxFQUN0QyxZQUEwQjtRQVAxQixTQUFJLEdBQUosSUFBSSxDQUFhO1FB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QyxPQUFPO1NBQ1I7UUFDRCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJFLHdCQUF3QjtRQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUN6QyxJQUFJLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FDMUQsQ0FBQztRQUVGLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QjthQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsQ0FBQyxNQUFxQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFTywyQkFBMkI7UUFDakMsb0VBQW9FO1FBQ3BFLElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM1QyxDQUFDOzsrR0E1RlUsa0JBQWtCO21HQUFsQixrQkFBa0IscURDbkIvQixtN0RBNkRBOzJGRDFDYSxrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0UsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY3Rpb25CYXJTZXJ2aWNlIH0gZnJvbSAnLi4vYWN0aW9uLWJhci9hY3Rpb24tYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi91aS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEhlYWRlclNlcnZpY2UgfSBmcm9tICcuLi9oZWFkZXIvaGVhZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmF2aWdhdG9yU2VydmljZSB9IGZyb20gJy4uL25hdmlnYXRvci9uYXZpZ2F0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBQbHVnaW5zUmVzb2x2ZVNlcnZpY2UgfSBmcm9tICcuLi9wbHVnaW5zL3BsdWdpbnMtcmVzb2x2ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBsdWdpbnNDb25maWcgfSBmcm9tICcuLi9wbHVnaW5zL3BsdWdpbnMubW9kZWwnO1xuaW1wb3J0IHsgU2V0dXBTZXJ2aWNlIH0gZnJvbSAnLi4vc2V0dXAvc2V0dXAuc2VydmljZSc7XG5pbXBvcnQgeyBUYWJzU2VydmljZSB9IGZyb20gJy4uL3RhYnMvdGFicy5zZXJ2aWNlJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYm9vdHN0cmFwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Jvb3RzdHJhcC50ZW1wbGF0ZS5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCb290c3RyYXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIG5hdmlnYXRvck9wZW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBub0FwcHNNYXJnaW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICB0YWJzT3JpZW50YXRpb246IHN0cmluZztcbiAgc2hvd1Bvd2VyZWRCeSA9IHRydWU7XG4gIG5vTG9naW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgbG9hZGVkUmVtb3Rlc0NvbnRleHRQYXRoQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdGFiczogVGFic1NlcnZpY2UsXG4gICAgcHVibGljIHVpOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIG5hdmlnYXRvcjogTmF2aWdhdG9yU2VydmljZSxcbiAgICBwdWJsaWMgYWN0aW9uQmFyOiBBY3Rpb25CYXJTZXJ2aWNlLFxuICAgIHB1YmxpYyBoZWFkZXJTZXJ2aWNlOiBIZWFkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgb3B0aW9uczogT3B0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwbHVnaW5zUmVzb2x2ZTogUGx1Z2luc1Jlc29sdmVTZXJ2aWNlLFxuICAgIHB1YmxpYyBzZXR1cFNlcnZpY2U6IFNldHVwU2VydmljZVxuICApIHtcbiAgICB0aGlzLm5vQXBwc01hcmdpbiQgPSB0aGlzLmhlYWRlclNlcnZpY2UubWFwKCh7IG5hdiB9KSA9PiAhbmF2Lm9wZW4gJiYgbmF2LmhpZGRlbk9uU3RhcnR1cCk7XG4gICAgdGhpcy50YWJzT3JpZW50YXRpb24gPSB0aGlzLm9wdGlvbnMudGFic0hvcml6b250YWwgPyAnaG9yaXpvbnRhbCcgOiAndmVydGljYWwnO1xuICAgIHRoaXMudWlcbiAgICAgIC5tYXAoKHsgbGFuZyB9KSA9PiBsYW5nKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aW9uQmFyLnJlZnJlc2goKTtcbiAgICAgIH0pO1xuICAgIHRoaXMuc2hvd1Bvd2VyZWRCeSA9ICF0aGlzLm9wdGlvbnMuZ2V0KCdoaWRlUG93ZXJlZCcpO1xuICAgIHRoaXMubm9Mb2dpbiA9IHRoaXMub3B0aW9ucy5nZXQoJ25vTG9naW4nLCBmYWxzZSk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN1YnNjcmliZVRvTG9hZFJlbW90ZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVtb3Rlcyhjb25maWc6IFBsdWdpbnNDb25maWcpOiBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnMge1xuICAgIGxldCByZW1vdGVzOiBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnM7XG4gICAgaWYgKCEhY29uZmlnPy5yZW1vdGVzKSB7XG4gICAgICAvLyBNZXJnZSBwbHVnaW5zIGNvbmZpZyByZW1vdGVzIGFuZCByZW1vdGVzIHBhc3NlZCBpbiB0aGUgVVJMLlxuICAgICAgLy8gUmVtb3RlcyBpbiB0aGUgVVJMIGFyZSB1c2VkIGluIHRoZSBkZXZlbG9wbWVudCBwcm9jZXNzLlxuICAgICAgcmVtb3RlcyA9IHRoaXMucGx1Z2luc1Jlc29sdmUubWVyZ2VNRlJlbW90ZXMoW1xuICAgICAgICBjb25maWcucmVtb3RlcyxcbiAgICAgICAgdGhpcy5wbHVnaW5zUmVzb2x2ZS5sb2FkVXJsUmVtb3RlcygpXG4gICAgICBdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVtb3RlcyA9IHRoaXMub3B0aW9ucz8ucmVtb3RlcztcbiAgICB9XG5cbiAgICAvLyBCbG9jayB0aGUgcG9zc2liaWxpdHkgb2YgbG9hZGluZyBwbHVnaW5zIG11bHRpcGxlIHRpbWVzLlxuICAgIE9iamVjdC5rZXlzKHJlbW90ZXMgfHwge30pLmZvckVhY2goY29udGV4dFBhdGggPT4ge1xuICAgICAgaWYgKHRoaXMubG9hZGVkUmVtb3Rlc0NvbnRleHRQYXRoQ2FjaGUuZ2V0KGNvbnRleHRQYXRoKSkge1xuICAgICAgICBkZWxldGUgcmVtb3Rlc1tjb250ZXh0UGF0aF07XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGlzRW1wdHkocmVtb3RlcykgPyB1bmRlZmluZWQgOiByZW1vdGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkUmVtb3RlcyhyZW1vdGVzOiBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnMpIHtcbiAgICBpZiAoIXJlbW90ZXMpIHtcbiAgICAgIHRoaXMuZW5zdXJlV2VNYXJrUGx1Z2luc0FzTG9hZGVkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHJlbW90ZU1vZHVsZXMgPSBhd2FpdCB0aGlzLnBsdWdpbnNSZXNvbHZlLmxvYWRSZW1vdGVzKHJlbW90ZXMpO1xuXG4gICAgLy8gQ2FjaGUgbG9hZGVkIHJlbW90ZXMuXG4gICAgT2JqZWN0LmtleXMocmVtb3RlcykuZm9yRWFjaChjb250ZXh0UGF0aCA9PlxuICAgICAgdGhpcy5sb2FkZWRSZW1vdGVzQ29udGV4dFBhdGhDYWNoZS5zZXQoY29udGV4dFBhdGgsIHRydWUpXG4gICAgKTtcblxuICAgIGlmIChyZW1vdGVNb2R1bGVzLmxlbmd0aCkge1xuICAgICAgdGhpcy5wbHVnaW5zUmVzb2x2ZS5yZXNvbHZlUmVtb3RlUGx1Z2lucyhyZW1vdGVNb2R1bGVzKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvTG9hZFJlbW90ZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5nZXQoJ25vUGx1Z2lucycsIGZhbHNlKSkge1xuICAgICAgdGhpcy5lbnN1cmVXZU1hcmtQbHVnaW5zQXNMb2FkZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy51aS5jdXJyZW50QXBwbGljYXRpb25Db25maWdcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZzogUGx1Z2luc0NvbmZpZykgPT4gdGhpcy5sb2FkUmVtb3Rlcyh0aGlzLmdldFJlbW90ZXMoY29uZmlnKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnN1cmVXZU1hcmtQbHVnaW5zQXNMb2FkZWQoKTogdm9pZCB7XG4gICAgLy8gZW5zdXJlIHdlIGNhbGwgbWFya1BsdWdpbnNBc0xvYWRlZCBvbiB0aGUgRHluYW1pY0NvbXBvbmVudFNlcnZpY2VcbiAgICB0aGlzLnBsdWdpbnNSZXNvbHZlLm1hcmtQbHVnaW5zQXNMb2FkZWQoKTtcbiAgfVxufVxuIiwiPGM4eS1sb2dpbiAqbmdJZj1cIiFub0xvZ2luICYmICEodWkuY3VycmVudFVzZXIgfCBhc3luYylcIj48L2M4eS1sb2dpbj5cblxuPGRpdlxuICAqbmdJZj1cIm5vTG9naW4gfHwgKCh1aS5jdXJyZW50VXNlciB8IGFzeW5jKSAmJiAhKHNldHVwU2VydmljZS5pc1NldHVwTmVlZGVkJCB8IGFzeW5jKSlcIlxuICBbY2xhc3MuaGVhZC1vcGVuXT1cImhlYWRlclNlcnZpY2UuaGVhZGVyT3BlblwiXG4+XG4gIDxjOHktaGVhZGVyLWJhciAjaGVhZGVyPjwvYzh5LWhlYWRlci1iYXI+XG4gIDxjOHktZHJhd2VyLW91dGxldFxuICAgIHJvbGU9XCJyZWdpb25cIlxuICAgIHBvc2l0aW9uPVwibGVmdFwiXG4gICAgW29wZW5dPVwiaGVhZGVyU2VydmljZS5uYXZpZ2F0b3JPcGVuJCB8IGFzeW5jXCJcbiAgPjwvYzh5LWRyYXdlci1vdXRsZXQ+XG5cbiAgPGRpdiBjbGFzcz1cImFsZXJ0c1wiPlxuICAgIDxjOHktYWxlcnQtb3V0bGV0PjwvYzh5LWFsZXJ0LW91dGxldD5cbiAgPC9kaXY+XG4gIDxjOHktdGFicy1vdXRsZXRcbiAgICAjdGFic0NvbXBvbmVudFxuICAgIFt0YWJzXT1cInRhYnMuaXRlbXMkIHwgYXN5bmNcIlxuICAgIFtuYXZpZ2F0b3JPcGVuXT1cImhlYWRlclNlcnZpY2UubmF2aWdhdG9yT3BlbiQgfCBhc3luY1wiXG4gICAgW29yaWVudGF0aW9uXT1cInRhYnMub3JpZW50YXRpb24kIHwgYXN5bmNcIlxuICAgIHJvbGU9XCJuYXZpZ2F0aW9uXCJcbiAgPjwvYzh5LXRhYnMtb3V0bGV0PlxuICA8Yzh5LWFjdGlvbi1iYXJcbiAgICAjYWN0aW9uQmFyQ29tcG9uZW50XG4gICAgW25hdmlnYXRvck9wZW5dPVwiaGVhZGVyU2VydmljZS5uYXZpZ2F0b3JPcGVuJCB8IGFzeW5jXCJcbiAgICBbaGFzVGFic109XCJ0YWJzQ29tcG9uZW50Lmhhc1RhYnNcIlxuICAgIFtpc1RhYnNIb3Jpem9udGFsXT1cInRhYnNDb21wb25lbnQ/LmlzSG9yaXpvbnRhbFwiXG4gICAgW2l0ZW1zJF09XCJhY3Rpb25CYXIuaXRlbXMkXCJcbiAgICByb2xlPVwiZ3JvdXBcIlxuICA+PC9jOHktYWN0aW9uLWJhcj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJtY29udGFpbmVyXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICBvcGVuOiBoZWFkZXJTZXJ2aWNlLm5hdmlnYXRvck9wZW4kIHwgYXN5bmMsXG4gICAgICAnbm8tYXBwcy1tYXJnaW4nOiBub0FwcHNNYXJnaW4kIHwgYXN5bmMsXG4gICAgICAnaG9yaXpvbnRhbC10YWJzJzogdGFic0NvbXBvbmVudC5pc0hvcml6b250YWwsXG4gICAgICAndmVydGljYWwtdGFicyc6ICF0YWJzQ29tcG9uZW50LmlzSG9yaXpvbnRhbCxcbiAgICAgICdoYXMtdGFicyc6IHRhYnNDb21wb25lbnQuaGFzVGFicyxcbiAgICAgICdoYXMtYWN0aW9uLWJhcic6ICFhY3Rpb25CYXJDb21wb25lbnQ/LmhpZGRlblxuICAgIH1cIlxuICA+XG4gICAgPG1haW4gaWQ9XCJtYWluLWNvbnRlbnRcIiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIiNjOHktbGVnYWN5LXZpZXdcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8IS0tIGxlZ2FjeSBuZy12aWV3LCB3aWxsIG5vdCBiZSBtaWdyYXRlZCBhdG0gLS0+XG4gICAgPC9tYWluPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiKHVpLmN1cnJlbnRVc2VyIHwgYXN5bmMpICYmIChzZXR1cFNlcnZpY2UuaXNTZXR1cE5lZWRlZCQgfCBhc3luYylcIj5cbiAgPGM4eS1oZWFkZXItYmFyIFtzaW1wbGVdPVwidHJ1ZVwiPjwvYzh5LWhlYWRlci1iYXI+XG4gIDxkaXYgY2xhc3M9XCJtY29udGFpbmVyXCIgcm9sZT1cIm1haW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XG4gICAgICA8Yzh5LXNldHVwPjwvYzh5LXNldHVwPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48Yzh5LWNvb2tpZS1iYW5uZXI+PC9jOHktY29va2llLWJhbm5lcj5cbiJdfQ==
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvYm9vdHN0cmFwL2Jvb3RzdHJhcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2Jvb3RzdHJhcC9ib290c3RyYXAudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTXBDLE1BQU0sT0FBTyxrQkFBa0I7SUFTN0IsWUFDUyxJQUFpQixFQUNqQixFQUFtQixFQUNuQixTQUEyQixFQUMzQixTQUEyQixFQUMzQixhQUE0QixFQUMzQixPQUF1QixFQUN2QixjQUFxQyxFQUN0QyxZQUEwQjtRQVAxQixTQUFJLEdBQUosSUFBSSxDQUFhO1FB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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnMgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWN0aW9uQmFyU2VydmljZSB9IGZyb20gJy4uL2FjdGlvbi1iYXIvYWN0aW9uLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL29wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vdWktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBIZWFkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vaGVhZGVyL2hlYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IE5hdmlnYXRvclNlcnZpY2UgfSBmcm9tICcuLi9uYXZpZ2F0b3IvbmF2aWdhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGx1Z2luc1Jlc29sdmVTZXJ2aWNlIH0gZnJvbSAnLi4vcGx1Z2lucy9wbHVnaW5zLXJlc29sdmUuc2VydmljZSc7XG5pbXBvcnQgeyBQbHVnaW5zQ29uZmlnIH0gZnJvbSAnLi4vcGx1Z2lucy9wbHVnaW5zLm1vZGVsJztcbmltcG9ydCB7IFNldHVwU2VydmljZSB9IGZyb20gJy4uL3NldHVwL3NldHVwLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFic1NlcnZpY2UgfSBmcm9tICcuLi90YWJzL3RhYnMuc2VydmljZSc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWJvb3RzdHJhcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ib290c3RyYXAudGVtcGxhdGUuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQm9vdHN0cmFwQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBuYXZpZ2F0b3JPcGVuJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgbm9BcHBzTWFyZ2luJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgdGFic09yaWVudGF0aW9uOiBzdHJpbmc7XG4gIHNob3dQb3dlcmVkQnkgPSB0cnVlO1xuICBub0xvZ2luID0gZmFsc2U7XG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcml2YXRlIGxvYWRlZFJlbW90ZXNDb250ZXh0UGF0aENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRhYnM6IFRhYnNTZXJ2aWNlLFxuICAgIHB1YmxpYyB1aTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBuYXZpZ2F0b3I6IE5hdmlnYXRvclNlcnZpY2UsXG4gICAgcHVibGljIGFjdGlvbkJhcjogQWN0aW9uQmFyU2VydmljZSxcbiAgICBwdWJsaWMgaGVhZGVyU2VydmljZTogSGVhZGVyU2VydmljZSxcbiAgICBwcml2YXRlIG9wdGlvbnM6IE9wdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGx1Z2luc1Jlc29sdmU6IFBsdWdpbnNSZXNvbHZlU2VydmljZSxcbiAgICBwdWJsaWMgc2V0dXBTZXJ2aWNlOiBTZXR1cFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5ub0FwcHNNYXJnaW4kID0gdGhpcy5oZWFkZXJTZXJ2aWNlLm1hcCgoeyBuYXYgfSkgPT4gIW5hdi5vcGVuICYmIG5hdi5oaWRkZW5PblN0YXJ0dXApO1xuICAgIHRoaXMudGFic09yaWVudGF0aW9uID0gdGhpcy5vcHRpb25zLnRhYnNIb3Jpem9udGFsID8gJ2hvcml6b250YWwnIDogJ3ZlcnRpY2FsJztcbiAgICB0aGlzLnVpXG4gICAgICAubWFwKCh7IGxhbmcgfSkgPT4gbGFuZylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmFjdGlvbkJhci5yZWZyZXNoKCk7XG4gICAgICB9KTtcbiAgICB0aGlzLnNob3dQb3dlcmVkQnkgPSAhdGhpcy5vcHRpb25zLmdldCgnaGlkZVBvd2VyZWQnKTtcbiAgICB0aGlzLm5vTG9naW4gPSB0aGlzLm9wdGlvbnMuZ2V0KCdub0xvZ2luJywgZmFsc2UpO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdWJzY3JpYmVUb0xvYWRSZW1vdGVzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFJlbW90ZXMoY29uZmlnOiBQbHVnaW5zQ29uZmlnKTogQXBwbGljYXRpb25SZW1vdGVQbHVnaW5zIHtcbiAgICBsZXQgcmVtb3RlczogQXBwbGljYXRpb25SZW1vdGVQbHVnaW5zO1xuICAgIGlmICghIWNvbmZpZz8ucmVtb3Rlcykge1xuICAgICAgLy8gTWVyZ2UgcGx1Z2lucyBjb25maWcgcmVtb3RlcyBhbmQgcmVtb3RlcyBwYXNzZWQgaW4gdGhlIFVSTC5cbiAgICAgIC8vIFJlbW90ZXMgaW4gdGhlIFVSTCBhcmUgdXNlZCBpbiB0aGUgZGV2ZWxvcG1lbnQgcHJvY2Vzcy5cbiAgICAgIHJlbW90ZXMgPSB0aGlzLnBsdWdpbnNSZXNvbHZlLm1lcmdlTUZSZW1vdGVzKFtcbiAgICAgICAgY29uZmlnLnJlbW90ZXMsXG4gICAgICAgIHRoaXMucGx1Z2luc1Jlc29sdmUubG9hZFVybFJlbW90ZXMoKVxuICAgICAgXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlbW90ZXMgPSB0aGlzLm9wdGlvbnM/LnJlbW90ZXM7XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgdGhlIHBvc3NpYmlsaXR5IG9mIGxvYWRpbmcgcGx1Z2lucyBtdWx0aXBsZSB0aW1lcy5cbiAgICBPYmplY3Qua2V5cyhyZW1vdGVzIHx8IHt9KS5mb3JFYWNoKGNvbnRleHRQYXRoID0+IHtcbiAgICAgIGlmICh0aGlzLmxvYWRlZFJlbW90ZXNDb250ZXh0UGF0aENhY2hlLmdldChjb250ZXh0UGF0aCkpIHtcbiAgICAgICAgZGVsZXRlIHJlbW90ZXNbY29udGV4dFBhdGhdO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBpc0VtcHR5KHJlbW90ZXMpID8gdW5kZWZpbmVkIDogcmVtb3RlcztcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZFJlbW90ZXMocmVtb3RlczogQXBwbGljYXRpb25SZW1vdGVQbHVnaW5zKSB7XG4gICAgaWYgKCFyZW1vdGVzKSB7XG4gICAgICB0aGlzLmVuc3VyZVdlTWFya1BsdWdpbnNBc0xvYWRlZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCByZW1vdGVNb2R1bGVzID0gYXdhaXQgdGhpcy5wbHVnaW5zUmVzb2x2ZS5sb2FkUmVtb3RlcyhyZW1vdGVzKTtcblxuICAgIC8vIENhY2hlIGxvYWRlZCByZW1vdGVzLlxuICAgIE9iamVjdC5rZXlzKHJlbW90ZXMpLmZvckVhY2goY29udGV4dFBhdGggPT5cbiAgICAgIHRoaXMubG9hZGVkUmVtb3Rlc0NvbnRleHRQYXRoQ2FjaGUuc2V0KGNvbnRleHRQYXRoLCB0cnVlKVxuICAgICk7XG5cbiAgICBpZiAocmVtb3RlTW9kdWxlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMucGx1Z2luc1Jlc29sdmUucmVzb2x2ZVJlbW90ZVBsdWdpbnMocmVtb3RlTW9kdWxlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGluIGNhc2UgbG9hZGluZyBhbGwgbW9kdWxlcyB2aWEgcGx1Z2luc1Jlc29sdmUubG9hZFJlbW90ZXMgZmFpbGVkXG4gICAgICAvLyAoZS5nLiBhbGwgcGx1Z2lucyB0aGF0IHdlcmUgaW5zdGFsbGVkIGhhdmUgYmVlbiBkZWxldGVkIGZyb20gdGhlIHRlbmFudClcbiAgICAgIC8vIHdlIHN0aWxsIG5lZWQgdG8gbWFyayBsb2FkaW5nIHRoZSBwbHVnaW5zIGFzIHN1Y2Nlc3NmdWwuXG4gICAgICB0aGlzLmVuc3VyZVdlTWFya1BsdWdpbnNBc0xvYWRlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9Mb2FkUmVtb3RlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLmdldCgnbm9QbHVnaW5zJywgZmFsc2UpKSB7XG4gICAgICB0aGlzLmVuc3VyZVdlTWFya1BsdWdpbnNBc0xvYWRlZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnVpLmN1cnJlbnRBcHBsaWNhdGlvbkNvbmZpZ1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoY29uZmlnOiBQbHVnaW5zQ29uZmlnKSA9PiB0aGlzLmxvYWRSZW1vdGVzKHRoaXMuZ2V0UmVtb3Rlcyhjb25maWcpKSk7XG4gIH1cblxuICBwcml2YXRlIGVuc3VyZVdlTWFya1BsdWdpbnNBc0xvYWRlZCgpOiB2b2lkIHtcbiAgICAvLyBlbnN1cmUgd2UgY2FsbCBtYXJrUGx1Z2luc0FzTG9hZGVkIG9uIHRoZSBEeW5hbWljQ29tcG9uZW50U2VydmljZVxuICAgIHRoaXMucGx1Z2luc1Jlc29sdmUubWFya1BsdWdpbnNBc0xvYWRlZCgpO1xuICB9XG59XG4iLCI8Yzh5LWxvZ2luICpuZ0lmPVwiIW5vTG9naW4gJiYgISh1aS5jdXJyZW50VXNlciB8IGFzeW5jKVwiPjwvYzh5LWxvZ2luPlxuXG48ZGl2XG4gICpuZ0lmPVwibm9Mb2dpbiB8fCAoKHVpLmN1cnJlbnRVc2VyIHwgYXN5bmMpICYmICEoc2V0dXBTZXJ2aWNlLmlzU2V0dXBOZWVkZWQkIHwgYXN5bmMpKVwiXG4gIFtjbGFzcy5oZWFkLW9wZW5dPVwiaGVhZGVyU2VydmljZS5oZWFkZXJPcGVuXCJcbj5cbiAgPGM4eS1oZWFkZXItYmFyICNoZWFkZXI+PC9jOHktaGVhZGVyLWJhcj5cbiAgPGM4eS1kcmF3ZXItb3V0bGV0XG4gICAgcm9sZT1cInJlZ2lvblwiXG4gICAgcG9zaXRpb249XCJsZWZ0XCJcbiAgICBbb3Blbl09XCJoZWFkZXJTZXJ2aWNlLm5hdmlnYXRvck9wZW4kIHwgYXN5bmNcIlxuICA+PC9jOHktZHJhd2VyLW91dGxldD5cblxuICA8ZGl2IGNsYXNzPVwiYWxlcnRzXCI+XG4gICAgPGM4eS1hbGVydC1vdXRsZXQ+PC9jOHktYWxlcnQtb3V0bGV0PlxuICA8L2Rpdj5cbiAgPGM4eS10YWJzLW91dGxldFxuICAgICN0YWJzQ29tcG9uZW50XG4gICAgW3RhYnNdPVwidGFicy5pdGVtcyQgfCBhc3luY1wiXG4gICAgW25hdmlnYXRvck9wZW5dPVwiaGVhZGVyU2VydmljZS5uYXZpZ2F0b3JPcGVuJCB8IGFzeW5jXCJcbiAgICBbb3JpZW50YXRpb25dPVwidGFicy5vcmllbnRhdGlvbiQgfCBhc3luY1wiXG4gICAgcm9sZT1cIm5hdmlnYXRpb25cIlxuICA+PC9jOHktdGFicy1vdXRsZXQ+XG4gIDxjOHktYWN0aW9uLWJhclxuICAgICNhY3Rpb25CYXJDb21wb25lbnRcbiAgICBbbmF2aWdhdG9yT3Blbl09XCJoZWFkZXJTZXJ2aWNlLm5hdmlnYXRvck9wZW4kIHwgYXN5bmNcIlxuICAgIFtoYXNUYWJzXT1cInRhYnNDb21wb25lbnQuaGFzVGFic1wiXG4gICAgW2lzVGFic0hvcml6b250YWxdPVwidGFic0NvbXBvbmVudD8uaXNIb3Jpem9udGFsXCJcbiAgICBbaXRlbXMkXT1cImFjdGlvbkJhci5pdGVtcyRcIlxuICAgIHJvbGU9XCJncm91cFwiXG4gID48L2M4eS1hY3Rpb24tYmFyPlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cIm1jb250YWluZXJcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgIG9wZW46IGhlYWRlclNlcnZpY2UubmF2aWdhdG9yT3BlbiQgfCBhc3luYyxcbiAgICAgICduby1hcHBzLW1hcmdpbic6IG5vQXBwc01hcmdpbiQgfCBhc3luYyxcbiAgICAgICdob3Jpem9udGFsLXRhYnMnOiB0YWJzQ29tcG9uZW50LmlzSG9yaXpvbnRhbCxcbiAgICAgICd2ZXJ0aWNhbC10YWJzJzogIXRhYnNDb21wb25lbnQuaXNIb3Jpem9udGFsLFxuICAgICAgJ2hhcy10YWJzJzogdGFic0NvbXBvbmVudC5oYXNUYWJzLFxuICAgICAgJ2hhcy1hY3Rpb24tYmFyJzogIWFjdGlvbkJhckNvbXBvbmVudD8uaGlkZGVuXG4gICAgfVwiXG4gID5cbiAgICA8bWFpbiBpZD1cIm1haW4tY29udGVudFwiIGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCIgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiI2M4eS1sZWdhY3ktdmlld1wiPjwvbmctY29udGVudD5cbiAgICAgIDwhLS0gbGVnYWN5IG5nLXZpZXcsIHdpbGwgbm90IGJlIG1pZ3JhdGVkIGF0bSAtLT5cbiAgICA8L21haW4+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCIodWkuY3VycmVudFVzZXIgfCBhc3luYykgJiYgKHNldHVwU2VydmljZS5pc1NldHVwTmVlZGVkJCB8IGFzeW5jKVwiPlxuICA8Yzh5LWhlYWRlci1iYXIgW3NpbXBsZV09XCJ0cnVlXCI+PC9jOHktaGVhZGVyLWJhcj5cbiAgPGRpdiBjbGFzcz1cIm1jb250YWluZXJcIiByb2xlPVwibWFpblwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cbiAgICAgIDxjOHktc2V0dXA+PC9jOHktc2V0dXA+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxjOHktY29va2llLWJhbm5lcj48L2M4eS1jb29raWUtYmFubmVyPlxuIl19
@@ -15727,6 +15727,12 @@ class BootstrapComponent {
15727
15727
  if (remoteModules.length) {
15728
15728
  this.pluginsResolve.resolveRemotePlugins(remoteModules);
15729
15729
  }
15730
+ else {
15731
+ // in case loading all modules via pluginsResolve.loadRemotes failed
15732
+ // (e.g. all plugins that were installed have been deleted from the tenant)
15733
+ // we still need to mark loading the plugins as successful.
15734
+ this.ensureWeMarkPluginsAsLoaded();
15735
+ }
15730
15736
  });
15731
15737
  }
15732
15738
  subscribeToLoadRemotes() {