UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

90 lines 15 kB
import { NgModule } from '@angular/core'; import { gettext, hookDataGridActionControls, hookNavigator, hookPatternMessages, hookRoute, ViewContext } from '@c8y/ngx-components'; import { Lwm2mDeviceGridFactory, LWM2MPostOpertaionsNavigationFactory } from '@c8y/ngx-components/protocol-lwm2m/factories'; import { Lwm2mBootstrapParametersApiGuard, Lwm2mConfigurationApiGuard, Lwm2mDeviceTypeGuard, Lwm2mMicroserviceGuard } from '@c8y/ngx-components/protocol-lwm2m/guards'; import { LWM2MEndpoint, lwm2mRegisterDeviceStringsIncomingFromMS } from '@c8y/ngx-components/protocol-lwm2m/model'; import { Lwm2mUIThemeModule } from './formly'; import * as i0 from "@angular/core"; export class Lwm2mModule { static forRoot() { return { ngModule: Lwm2mModule, providers: [ hookNavigator(LWM2MPostOpertaionsNavigationFactory), hookDataGridActionControls(Lwm2mDeviceGridFactory), hookRoute({ path: 'post-operations', loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/post-registration-operations').then(m => m.LWM2MPostOperationsComponent), icon: 'terminal', priority: 2000, canActivate: [Lwm2mMicroserviceGuard] }), hookRoute({ label: gettext('LWM2M Configuration'), icon: 'c8y-device-protocols', path: 'lwm2m-configuration', context: ViewContext.Device, loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(m => m.Lwm2mConfigurationComponent), canActivate: [Lwm2mMicroserviceGuard, Lwm2mDeviceTypeGuard, Lwm2mConfigurationApiGuard], children: [ { path: '', redirectTo: 'basic', pathMatch: 'full' }, { path: LWM2MEndpoint.deviceSettings, loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(m => m.Lwm2mFormDeviceSettings) }, { path: LWM2MEndpoint.connectivity, loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(m => m.Lwm2mFormConnectivitySettings) }, { path: LWM2MEndpoint.firmware, loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(m => m.Lwm2mFormFirmwareSettings) }, { path: LWM2MEndpoint.bootstrap, loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(m => m.Lwm2mFormBootstrapSettings) }, { path: LWM2MEndpoint.servers, loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/configuration').then(m => m.Lwm2mFormServerSettings) } ] }), hookRoute({ path: 'lwm2m-bootstrap-parameters', context: ViewContext.Device, loadComponent: () => import('@c8y/ngx-components/protocol-lwm2m/components/bootstrap-parameters').then(m => m.Lwm2mBootstrapParametersComponent), label: gettext('LWM2M bootstrap parameters'), icon: 'c8y-device-protocols', canActivate: [ Lwm2mMicroserviceGuard, Lwm2mDeviceTypeGuard, Lwm2mBootstrapParametersApiGuard ] }), hookPatternMessages(lwm2mRegisterDeviceStringsIncomingFromMS) ] }; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Lwm2mModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); } static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: Lwm2mModule, imports: [Lwm2mUIThemeModule] }); } static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Lwm2mModule, imports: [Lwm2mUIThemeModule] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Lwm2mModule, decorators: [{ type: NgModule, args: [{ imports: [Lwm2mUIThemeModule] }] }] }); export class LWM2Module { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LWM2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); } static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: LWM2Module, imports: [Lwm2mModule] }); } static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LWM2Module, imports: [Lwm2mModule.forRoot()] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LWM2Module, decorators: [{ type: NgModule, args: [{ imports: [Lwm2mModule.forRoot()] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHdtMm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvdG9jb2wtbHdtMm0vbHdtMm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFDTCxPQUFPLEVBQ1AsMEJBQTBCLEVBQzFCLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsU0FBUyxFQUNULFdBQVcsRUFDWixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsb0NBQW9DLEVBQ3JDLE1BQU0sOENBQThDLENBQUM7QUFDdEQsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQywwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUN2QixNQUFNLDJDQUEyQyxDQUFDO0FBQ25ELE9BQU8sRUFDTCxhQUFhLEVBQ2Isd0NBQXdDLEVBQ3pDLE1BQU0sMENBQTBDLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUk5QyxNQUFNLE9BQU8sV0FBVztJQUN0QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsV0FBVztZQUNyQixTQUFTLEVBQUU7Z0JBQ1QsYUFBYSxDQUFDLG9DQUFvQyxDQUFDO2dCQUNuRCwwQkFBMEIsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDbEQsU0FBUyxDQUFDO29CQUNSLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUNKLDRFQUE0RSxDQUM3RSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDN0MsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFFBQVEsRUFBRSxJQUFJO29CQUNkLFdBQVcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUN0QyxDQUFDO2dCQUNGLFNBQVMsQ0FBQztvQkFDUixLQUFLLEVBQUUsT0FBTyxDQUFDLHFCQUFxQixDQUFDO29CQUNyQyxJQUFJLEVBQUUsc0JBQXNCO29CQUM1QixJQUFJLEVBQUUscUJBQXFCO29CQUMzQixPQUFPLEVBQUUsV0FBVyxDQUFDLE1BQU07b0JBQzNCLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLDZEQUE2RCxDQUFDLENBQUMsSUFBSSxDQUN4RSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FDbkM7b0JBQ0gsV0FBVyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsMEJBQTBCLENBQUM7b0JBQ3ZGLFFBQVEsRUFBRTt3QkFDUixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO3dCQUNwRDs0QkFDRSxJQUFJLEVBQUUsYUFBYSxDQUFDLGNBQWM7NEJBQ2xDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLDZEQUE2RCxDQUFDLENBQUMsSUFBSSxDQUN4RSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FDL0I7eUJBQ0o7d0JBQ0Q7NEJBQ0UsSUFBSSxFQUFFLGFBQWEsQ0FBQyxZQUFZOzRCQUNoQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FBQyw2REFBNkQsQ0FBQyxDQUFDLElBQUksQ0FDeEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNkJBQTZCLENBQ3JDO3lCQUNKO3dCQUNEOzRCQUNFLElBQUksRUFBRSxhQUFhLENBQUMsUUFBUTs0QkFDNUIsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUNsQixNQUFNLENBQUMsNkRBQTZELENBQUMsQ0FBQyxJQUFJLENBQ3hFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUNqQzt5QkFDSjt3QkFDRDs0QkFDRSxJQUFJLEVBQUUsYUFBYSxDQUFDLFNBQVM7NEJBQzdCLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLDZEQUE2RCxDQUFDLENBQUMsSUFBSSxDQUN4RSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FDbEM7eUJBQ0o7d0JBQ0Q7NEJBQ0UsSUFBSSxFQUFFLGFBQWEsQ0FBQyxPQUFPOzRCQUMzQixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FBQyw2REFBNkQsQ0FBQyxDQUFDLElBQUksQ0FDeEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQy9CO3lCQUNKO3FCQUNGO2lCQUNGLENBQUM7Z0JBQ0YsU0FBUyxDQUFDO29CQUNSLElBQUksRUFBRSw0QkFBNEI7b0JBQ2xDLE9BQU8sRUFBRSxXQUFXLENBQUMsTUFBTTtvQkFDM0IsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUNsQixNQUFNLENBQUMsb0VBQW9FLENBQUMsQ0FBQyxJQUFJLENBQy9FLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlDQUFpQyxDQUN6QztvQkFDSCxLQUFLLEVBQUUsT0FBTyxDQUFDLDRCQUE0QixDQUFDO29CQUM1QyxJQUFJLEVBQUUsc0JBQXNCO29CQUM1QixXQUFXLEVBQUU7d0JBQ1gsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLGdDQUFnQztxQkFDakM7aUJBQ0YsQ0FBQztnQkFDRixtQkFBbUIsQ0FBQyx3Q0FBd0MsQ0FBQzthQUM5RDtTQUNGLENBQUM7SUFDSixDQUFDOytHQXBGVSxXQUFXO2dIQUFYLFdBQVcsWUFGWixrQkFBa0I7Z0hBRWpCLFdBQVcsWUFGWixrQkFBa0I7OzRGQUVqQixXQUFXO2tCQUh2QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM5Qjs7QUEyRkQsTUFBTSxPQUFPLFVBQVU7K0dBQVYsVUFBVTtnSEFBVixVQUFVLFlBMUZWLFdBQVc7Z0hBMEZYLFVBQVUsWUFGWCxXQUFXLENBQUMsT0FBTyxFQUFFOzs0RkFFcEIsVUFBVTtrQkFIdEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGdldHRleHQsXG4gIGhvb2tEYXRhR3JpZEFjdGlvbkNvbnRyb2xzLFxuICBob29rTmF2aWdhdG9yLFxuICBob29rUGF0dGVybk1lc3NhZ2VzLFxuICBob29rUm91dGUsXG4gIFZpZXdDb250ZXh0XG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHtcbiAgTHdtMm1EZXZpY2VHcmlkRmFjdG9yeSxcbiAgTFdNMk1Qb3N0T3BlcnRhaW9uc05hdmlnYXRpb25GYWN0b3J5XG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvcHJvdG9jb2wtbHdtMm0vZmFjdG9yaWVzJztcbmltcG9ydCB7XG4gIEx3bTJtQm9vdHN0cmFwUGFyYW1ldGVyc0FwaUd1YXJkLFxuICBMd20ybUNvbmZpZ3VyYXRpb25BcGlHdWFyZCxcbiAgTHdtMm1EZXZpY2VUeXBlR3VhcmQsXG4gIEx3bTJtTWljcm9zZXJ2aWNlR3VhcmRcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9wcm90b2NvbC1sd20ybS9ndWFyZHMnO1xuaW1wb3J0IHtcbiAgTFdNMk1FbmRwb2ludCxcbiAgbHdtMm1SZWdpc3RlckRldmljZVN0cmluZ3NJbmNvbWluZ0Zyb21NU1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL3Byb3RvY29sLWx3bTJtL21vZGVsJztcbmltcG9ydCB7IEx3bTJtVUlUaGVtZU1vZHVsZSB9IGZyb20gJy4vZm9ybWx5JztcbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtMd20ybVVJVGhlbWVNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEx3bTJtTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxMd20ybU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTHdtMm1Nb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgaG9va05hdmlnYXRvcihMV00yTVBvc3RPcGVydGFpb25zTmF2aWdhdGlvbkZhY3RvcnkpLFxuICAgICAgICBob29rRGF0YUdyaWRBY3Rpb25Db250cm9scyhMd20ybURldmljZUdyaWRGYWN0b3J5KSxcbiAgICAgICAgaG9va1JvdXRlKHtcbiAgICAgICAgICBwYXRoOiAncG9zdC1vcGVyYXRpb25zJyxcbiAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KFxuICAgICAgICAgICAgICAnQGM4eS9uZ3gtY29tcG9uZW50cy9wcm90b2NvbC1sd20ybS9jb21wb25lbnRzL3Bvc3QtcmVnaXN0cmF0aW9uLW9wZXJhdGlvbnMnXG4gICAgICAgICAgICApLnRoZW4obSA9PiBtLkxXTTJNUG9zdE9wZXJhdGlvbnNDb21wb25lbnQpLFxuICAgICAgICAgIGljb246ICd0ZXJtaW5hbCcsXG4gICAgICAgICAgcHJpb3JpdHk6IDIwMDAsXG4gICAgICAgICAgY2FuQWN0aXZhdGU6IFtMd20ybU1pY3Jvc2VydmljZUd1YXJkXVxuICAgICAgICB9KSxcbiAgICAgICAgaG9va1JvdXRlKHtcbiAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnTFdNMk0gQ29uZmlndXJhdGlvbicpLFxuICAgICAgICAgIGljb246ICdjOHktZGV2aWNlLXByb3RvY29scycsXG4gICAgICAgICAgcGF0aDogJ2x3bTJtLWNvbmZpZ3VyYXRpb24nLFxuICAgICAgICAgIGNvbnRleHQ6IFZpZXdDb250ZXh0LkRldmljZSxcbiAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCdAYzh5L25neC1jb21wb25lbnRzL3Byb3RvY29sLWx3bTJtL2NvbXBvbmVudHMvY29uZmlndXJhdGlvbicpLnRoZW4oXG4gICAgICAgICAgICAgIG0gPT4gbS5Md20ybUNvbmZpZ3VyYXRpb25Db21wb25lbnRcbiAgICAgICAgICAgICksXG4gICAgICAgICAgY2FuQWN0aXZhdGU6IFtMd20ybU1pY3Jvc2VydmljZUd1YXJkLCBMd20ybURldmljZVR5cGVHdWFyZCwgTHdtMm1Db25maWd1cmF0aW9uQXBpR3VhcmRdLFxuICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICB7IHBhdGg6ICcnLCByZWRpcmVjdFRvOiAnYmFzaWMnLCBwYXRoTWF0Y2g6ICdmdWxsJyB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwYXRoOiBMV00yTUVuZHBvaW50LmRldmljZVNldHRpbmdzLFxuICAgICAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgICAgIGltcG9ydCgnQGM4eS9uZ3gtY29tcG9uZW50cy9wcm90b2NvbC1sd20ybS9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb24nKS50aGVuKFxuICAgICAgICAgICAgICAgICAgbSA9PiBtLkx3bTJtRm9ybURldmljZVNldHRpbmdzXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcGF0aDogTFdNMk1FbmRwb2ludC5jb25uZWN0aXZpdHksXG4gICAgICAgICAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICAgICAgaW1wb3J0KCdAYzh5L25neC1jb21wb25lbnRzL3Byb3RvY29sLWx3bTJtL2NvbXBvbmVudHMvY29uZmlndXJhdGlvbicpLnRoZW4oXG4gICAgICAgICAgICAgICAgICBtID0+IG0uTHdtMm1Gb3JtQ29ubmVjdGl2aXR5U2V0dGluZ3NcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwYXRoOiBMV00yTUVuZHBvaW50LmZpcm13YXJlLFxuICAgICAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgICAgIGltcG9ydCgnQGM4eS9uZ3gtY29tcG9uZW50cy9wcm90b2NvbC1sd20ybS9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb24nKS50aGVuKFxuICAgICAgICAgICAgICAgICAgbSA9PiBtLkx3bTJtRm9ybUZpcm13YXJlU2V0dGluZ3NcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwYXRoOiBMV00yTUVuZHBvaW50LmJvb3RzdHJhcCxcbiAgICAgICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgICAgICBpbXBvcnQoJ0BjOHkvbmd4LWNvbXBvbmVudHMvcHJvdG9jb2wtbHdtMm0vY29tcG9uZW50cy9jb25maWd1cmF0aW9uJykudGhlbihcbiAgICAgICAgICAgICAgICAgIG0gPT4gbS5Md20ybUZvcm1Cb290c3RyYXBTZXR0aW5nc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHBhdGg6IExXTTJNRW5kcG9pbnQuc2VydmVycyxcbiAgICAgICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgICAgICBpbXBvcnQoJ0BjOHkvbmd4LWNvbXBvbmVudHMvcHJvdG9jb2wtbHdtMm0vY29tcG9uZW50cy9jb25maWd1cmF0aW9uJykudGhlbihcbiAgICAgICAgICAgICAgICAgIG0gPT4gbS5Md20ybUZvcm1TZXJ2ZXJTZXR0aW5nc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH0pLFxuICAgICAgICBob29rUm91dGUoe1xuICAgICAgICAgIHBhdGg6ICdsd20ybS1ib290c3RyYXAtcGFyYW1ldGVycycsXG4gICAgICAgICAgY29udGV4dDogVmlld0NvbnRleHQuRGV2aWNlLFxuICAgICAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJ0BjOHkvbmd4LWNvbXBvbmVudHMvcHJvdG9jb2wtbHdtMm0vY29tcG9uZW50cy9ib290c3RyYXAtcGFyYW1ldGVycycpLnRoZW4oXG4gICAgICAgICAgICAgIG0gPT4gbS5Md20ybUJvb3RzdHJhcFBhcmFtZXRlcnNDb21wb25lbnRcbiAgICAgICAgICAgICksXG4gICAgICAgICAgbGFiZWw6IGdldHRleHQoJ0xXTTJNIGJvb3RzdHJhcCBwYXJhbWV0ZXJzJyksXG4gICAgICAgICAgaWNvbjogJ2M4eS1kZXZpY2UtcHJvdG9jb2xzJyxcbiAgICAgICAgICBjYW5BY3RpdmF0ZTogW1xuICAgICAgICAgICAgTHdtMm1NaWNyb3NlcnZpY2VHdWFyZCxcbiAgICAgICAgICAgIEx3bTJtRGV2aWNlVHlwZUd1YXJkLFxuICAgICAgICAgICAgTHdtMm1Cb290c3RyYXBQYXJhbWV0ZXJzQXBpR3VhcmRcbiAgICAgICAgICBdXG4gICAgICAgIH0pLFxuICAgICAgICBob29rUGF0dGVybk1lc3NhZ2VzKGx3bTJtUmVnaXN0ZXJEZXZpY2VTdHJpbmdzSW5jb21pbmdGcm9tTVMpXG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbTHdtMm1Nb2R1bGUuZm9yUm9vdCgpXVxufSlcbmV4cG9ydCBjbGFzcyBMV00yTW9kdWxlIHt9XG4iXX0=