@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
151 lines • 17.7 kB
JavaScript
import { CdkTreeModule } from '@angular/cdk/tree';
import { RouterModule } from '@angular/router';
import { NgModule } from '@angular/core';
import { CoreModule, DeviceStatusModule, DropAreaModule, FormsModule, DynamicFormsModule, gettext, hookRoute, ViewContext } from '@c8y/ngx-components';
import { ObjectMappingComponent } from '@c8y/ngx-components/device-protocol-object-mappings';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { AddressSpaceService } from './address-space.service';
import { OpcuaAddressSpaceDetailComponent } from './opcua-address-space-detail.component';
import { OpcuaDeviceProtocolDetailComponent } from './opcua-device-protocol-detail.component';
import { OpcuaDeviceProtocolDataReportingComponent } from './opcua-device-protocol-data-reporting.component';
import { OpcuaDeviceProtocolMapping } from './opcua-device-protocol-mapping.component';
import { ReactiveFormsModule } from '@angular/forms';
import { OpcuaDeviceProtocolObjectMappingStatus } from './opcua-device-protocol-object-mapping-status-icon.component';
import { OpcuaAddressSpaceComponent } from './opcua-address-space.component';
import { OpcuaAgentGuard } from './opcua-agent.guard';
import { OpcuaMicroserviceGuard } from './opcua-microservice.guard';
import { OpcuaServerConfigComponent } from './opcua-server-config.component';
import { OpcuaServerListComponent } from './opcua-server-list.component';
import { OpcuaServerGuard } from './opcua-server.guard';
import { OpcuaServersComponent } from './opcua-servers.component';
import { OpcuaService } from './opcuaService';
import { CollapseModule } from 'ngx-bootstrap/collapse';
import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
import { TooltipModule } from 'ngx-bootstrap/tooltip';
import { PopoverModule } from 'ngx-bootstrap/popover';
import { OpcuaDeviceProtocolDescription } from './opcua-device-protocol-description.component';
import { OpcuaAddressSpaceTreeComponent } from './opcua-address-space-tree.component';
import { OpcuaAutoApplySettingsComponent } from './opcua-auto-apply-settings.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { OpcuaDeviceProtocolBrowsePathValidation } from './opcua-device-protocol-browse-path-validation.directive';
import * as i0 from "@angular/core";
import * as i1 from "@angular/router";
import * as i2 from "ngx-bootstrap/tooltip";
import * as i3 from "ngx-bootstrap/popover";
import * as i4 from "ngx-bootstrap/collapse";
import * as i5 from "ngx-bootstrap/dropdown";
const opcuaRoutes = [
{
context: ViewContext.Device,
path: 'opcua-servers',
component: OpcuaServersComponent,
label: gettext('OPC UA server'),
icon: 'server',
canActivate: [OpcuaAgentGuard, OpcuaMicroserviceGuard]
},
{
context: ViewContext.Device,
path: 'address-space',
component: OpcuaAddressSpaceComponent,
label: gettext('Address space'),
icon: 'cloud-network',
canActivate: [OpcuaServerGuard, OpcuaMicroserviceGuard]
}
];
const deviceProtocolRoutes = [
{
path: 'deviceprotocols/opcuaV2/:id',
component: OpcuaDeviceProtocolDetailComponent
}
];
export class OpcuaProtocolModule {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OpcuaProtocolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: OpcuaProtocolModule, declarations: [OpcuaServersComponent,
OpcuaServerListComponent,
OpcuaServerConfigComponent,
OpcuaAddressSpaceComponent,
OpcuaAddressSpaceTreeComponent,
OpcuaAddressSpaceDetailComponent,
OpcuaDeviceProtocolDescription,
OpcuaDeviceProtocolDetailComponent,
OpcuaDeviceProtocolDataReportingComponent,
OpcuaDeviceProtocolMapping,
OpcuaDeviceProtocolObjectMappingStatus,
OpcuaAutoApplySettingsComponent,
OpcuaDeviceProtocolBrowsePathValidation], imports: [CoreModule,
FormsModule,
ReactiveFormsModule,
DropAreaModule,
ButtonsModule,
CdkTreeModule, i1.RouterModule, i2.TooltipModule, i3.PopoverModule, DeviceStatusModule,
BrowserAnimationsModule, i4.CollapseModule, i5.BsDropdownModule, ObjectMappingComponent,
DynamicFormsModule] }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OpcuaProtocolModule, providers: [
OpcuaAgentGuard,
OpcuaServerGuard,
OpcuaMicroserviceGuard,
OpcuaService,
AddressSpaceService,
hookRoute(opcuaRoutes)
], imports: [CoreModule,
FormsModule,
ReactiveFormsModule,
DropAreaModule,
ButtonsModule,
CdkTreeModule,
RouterModule.forChild(deviceProtocolRoutes),
TooltipModule.forRoot(),
PopoverModule.forRoot(),
DeviceStatusModule,
BrowserAnimationsModule,
CollapseModule.forRoot(),
BsDropdownModule.forRoot(),
ObjectMappingComponent,
DynamicFormsModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OpcuaProtocolModule, decorators: [{
type: NgModule,
args: [{
declarations: [
OpcuaServersComponent,
OpcuaServerListComponent,
OpcuaServerConfigComponent,
OpcuaAddressSpaceComponent,
OpcuaAddressSpaceTreeComponent,
OpcuaAddressSpaceDetailComponent,
OpcuaDeviceProtocolDescription,
OpcuaDeviceProtocolDetailComponent,
OpcuaDeviceProtocolDataReportingComponent,
OpcuaDeviceProtocolMapping,
OpcuaDeviceProtocolObjectMappingStatus,
OpcuaAutoApplySettingsComponent,
OpcuaDeviceProtocolBrowsePathValidation
],
imports: [
CoreModule,
FormsModule,
ReactiveFormsModule,
DropAreaModule,
ButtonsModule,
CdkTreeModule,
RouterModule.forChild(deviceProtocolRoutes),
TooltipModule.forRoot(),
PopoverModule.forRoot(),
DeviceStatusModule,
BrowserAnimationsModule,
CollapseModule.forRoot(),
BsDropdownModule.forRoot(),
ObjectMappingComponent,
DynamicFormsModule
],
providers: [
OpcuaAgentGuard,
OpcuaServerGuard,
OpcuaMicroserviceGuard,
OpcuaService,
AddressSpaceService,
hookRoute(opcuaRoutes)
]
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BjdWEtcHJvdG9jb2wubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvdG9jb2wtb3BjdWEvb3BjdWEtcHJvdG9jb2wubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixPQUFPLEVBQ1AsU0FBUyxFQUVULFdBQVcsRUFDWixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RixPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN0SCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7Ozs7O0FBRW5ILE1BQU0sV0FBVyxHQUFZO0lBQzNCO1FBQ0UsT0FBTyxFQUFFLFdBQVcsQ0FBQyxNQUFNO1FBQzNCLElBQUksRUFBRSxlQUFlO1FBQ3JCLFNBQVMsRUFBRSxxQkFBcUI7UUFDaEMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUM7UUFDL0IsSUFBSSxFQUFFLFFBQVE7UUFDZCxXQUFXLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7S0FDdkQ7SUFDRDtRQUNFLE9BQU8sRUFBRSxXQUFXLENBQUMsTUFBTTtRQUMzQixJQUFJLEVBQUUsZUFBZTtRQUNyQixTQUFTLEVBQUUsMEJBQTBCO1FBQ3JDLEtBQUssRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDO1FBQy9CLElBQUksRUFBRSxlQUFlO1FBQ3JCLFdBQVcsRUFBRSxDQUFDLGdCQUFnQixFQUFFLHNCQUFzQixDQUFDO0tBQ3hEO0NBQ0YsQ0FBQztBQUVGLE1BQU0sb0JBQW9CLEdBQVk7SUFDcEM7UUFDRSxJQUFJLEVBQUUsNkJBQTZCO1FBQ25DLFNBQVMsRUFBRSxrQ0FBa0M7S0FDOUM7Q0FDRixDQUFDO0FBNENGLE1BQU0sT0FBTyxtQkFBbUI7K0dBQW5CLG1CQUFtQjtnSEFBbkIsbUJBQW1CLGlCQXhDNUIscUJBQXFCO1lBQ3JCLHdCQUF3QjtZQUN4QiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLDhCQUE4QjtZQUM5QixnQ0FBZ0M7WUFDaEMsOEJBQThCO1lBQzlCLGtDQUFrQztZQUNsQyx5Q0FBeUM7WUFDekMsMEJBQTBCO1lBQzFCLHNDQUFzQztZQUN0QywrQkFBK0I7WUFDL0IsdUNBQXVDLGFBR3ZDLFVBQVU7WUFDVixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxhQUFhO1lBQ2IsYUFBYSx1REFJYixrQkFBa0I7WUFDbEIsdUJBQXVCLDBDQUd2QixzQkFBc0I7WUFDdEIsa0JBQWtCO2dIQVdULG1CQUFtQixhQVRuQjtZQUNULGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsc0JBQXNCO1lBQ3RCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsU0FBUyxDQUFDLFdBQVcsQ0FBQztTQUN2QixZQXZCQyxVQUFVO1lBQ1YsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsYUFBYTtZQUNiLGFBQWE7WUFDYixZQUFZLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDO1lBQzNDLGFBQWEsQ0FBQyxPQUFPLEVBQUU7WUFDdkIsYUFBYSxDQUFDLE9BQU8sRUFBRTtZQUN2QixrQkFBa0I7WUFDbEIsdUJBQXVCO1lBQ3ZCLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDeEIsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO1lBQzFCLHNCQUFzQjtZQUN0QixrQkFBa0I7OzRGQVdULG1CQUFtQjtrQkExQy9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsd0JBQXdCO3dCQUN4QiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsOEJBQThCO3dCQUM5QixnQ0FBZ0M7d0JBQ2hDLDhCQUE4Qjt3QkFDOUIsa0NBQWtDO3dCQUNsQyx5Q0FBeUM7d0JBQ3pDLDBCQUEwQjt3QkFDMUIsc0NBQXNDO3dCQUN0QywrQkFBK0I7d0JBQy9CLHVDQUF1QztxQkFDeEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFVBQVU7d0JBQ1YsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixhQUFhO3dCQUNiLFlBQVksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUM7d0JBQzNDLGFBQWEsQ0FBQyxPQUFPLEVBQUU7d0JBQ3ZCLGFBQWEsQ0FBQyxPQUFPLEVBQUU7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixjQUFjLENBQUMsT0FBTyxFQUFFO3dCQUN4QixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzFCLHNCQUFzQjt3QkFDdEIsa0JBQWtCO3FCQUNuQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFNBQVMsQ0FBQyxXQUFXLENBQUM7cUJBQ3ZCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrVHJlZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29yZU1vZHVsZSxcbiAgRGV2aWNlU3RhdHVzTW9kdWxlLFxuICBEcm9wQXJlYU1vZHVsZSxcbiAgRm9ybXNNb2R1bGUsXG4gIER5bmFtaWNGb3Jtc01vZHVsZSxcbiAgZ2V0dGV4dCxcbiAgaG9va1JvdXRlLFxuICBSb3V0ZSxcbiAgVmlld0NvbnRleHRcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBPYmplY3RNYXBwaW5nQ29tcG9uZW50IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9kZXZpY2UtcHJvdG9jb2wtb2JqZWN0LW1hcHBpbmdzJztcbmltcG9ydCB7IEJ1dHRvbnNNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2J1dHRvbnMnO1xuaW1wb3J0IHsgQWRkcmVzc1NwYWNlU2VydmljZSB9IGZyb20gJy4vYWRkcmVzcy1zcGFjZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9wY3VhQWRkcmVzc1NwYWNlRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9vcGN1YS1hZGRyZXNzLXNwYWNlLWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3BjdWFEZXZpY2VQcm90b2NvbERldGFpbENvbXBvbmVudCB9IGZyb20gJy4vb3BjdWEtZGV2aWNlLXByb3RvY29sLWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3BjdWFEZXZpY2VQcm90b2NvbERhdGFSZXBvcnRpbmdDb21wb25lbnQgfSBmcm9tICcuL29wY3VhLWRldmljZS1wcm90b2NvbC1kYXRhLXJlcG9ydGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3BjdWFEZXZpY2VQcm90b2NvbE1hcHBpbmcgfSBmcm9tICcuL29wY3VhLWRldmljZS1wcm90b2NvbC1tYXBwaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT3BjdWFEZXZpY2VQcm90b2NvbE9iamVjdE1hcHBpbmdTdGF0dXMgfSBmcm9tICcuL29wY3VhLWRldmljZS1wcm90b2NvbC1vYmplY3QtbWFwcGluZy1zdGF0dXMtaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3BjdWFBZGRyZXNzU3BhY2VDb21wb25lbnQgfSBmcm9tICcuL29wY3VhLWFkZHJlc3Mtc3BhY2UuY29tcG9uZW50JztcbmltcG9ydCB7IE9wY3VhQWdlbnRHdWFyZCB9IGZyb20gJy4vb3BjdWEtYWdlbnQuZ3VhcmQnO1xuaW1wb3J0IHsgT3BjdWFNaWNyb3NlcnZpY2VHdWFyZCB9IGZyb20gJy4vb3BjdWEtbWljcm9zZXJ2aWNlLmd1YXJkJztcbmltcG9ydCB7IE9wY3VhU2VydmVyQ29uZmlnQ29tcG9uZW50IH0gZnJvbSAnLi9vcGN1YS1zZXJ2ZXItY29uZmlnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcGN1YVNlcnZlckxpc3RDb21wb25lbnQgfSBmcm9tICcuL29wY3VhLXNlcnZlci1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcGN1YVNlcnZlckd1YXJkIH0gZnJvbSAnLi9vcGN1YS1zZXJ2ZXIuZ3VhcmQnO1xuaW1wb3J0IHsgT3BjdWFTZXJ2ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9vcGN1YS1zZXJ2ZXJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcGN1YVNlcnZpY2UgfSBmcm9tICcuL29wY3VhU2VydmljZSc7XG5pbXBvcnQgeyBDb2xsYXBzZU1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvY29sbGFwc2UnO1xuaW1wb3J0IHsgQnNEcm9wZG93bk1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvZHJvcGRvd24nO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvdG9vbHRpcCc7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wb3BvdmVyJztcbmltcG9ydCB7IE9wY3VhRGV2aWNlUHJvdG9jb2xEZXNjcmlwdGlvbiB9IGZyb20gJy4vb3BjdWEtZGV2aWNlLXByb3RvY29sLWRlc2NyaXB0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcGN1YUFkZHJlc3NTcGFjZVRyZWVDb21wb25lbnQgfSBmcm9tICcuL29wY3VhLWFkZHJlc3Mtc3BhY2UtdHJlZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3BjdWFBdXRvQXBwbHlTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vb3BjdWEtYXV0by1hcHBseS1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgT3BjdWFEZXZpY2VQcm90b2NvbEJyb3dzZVBhdGhWYWxpZGF0aW9uIH0gZnJvbSAnLi9vcGN1YS1kZXZpY2UtcHJvdG9jb2wtYnJvd3NlLXBhdGgtdmFsaWRhdGlvbi5kaXJlY3RpdmUnO1xuXG5jb25zdCBvcGN1YVJvdXRlczogUm91dGVbXSA9IFtcbiAge1xuICAgIGNvbnRleHQ6IFZpZXdDb250ZXh0LkRldmljZSxcbiAgICBwYXRoOiAnb3BjdWEtc2VydmVycycsXG4gICAgY29tcG9uZW50OiBPcGN1YVNlcnZlcnNDb21wb25lbnQsXG4gICAgbGFiZWw6IGdldHRleHQoJ09QQyBVQSBzZXJ2ZXInKSxcbiAgICBpY29uOiAnc2VydmVyJyxcbiAgICBjYW5BY3RpdmF0ZTogW09wY3VhQWdlbnRHdWFyZCwgT3BjdWFNaWNyb3NlcnZpY2VHdWFyZF1cbiAgfSxcbiAge1xuICAgIGNvbnRleHQ6IFZpZXdDb250ZXh0LkRldmljZSxcbiAgICBwYXRoOiAnYWRkcmVzcy1zcGFjZScsXG4gICAgY29tcG9uZW50OiBPcGN1YUFkZHJlc3NTcGFjZUNvbXBvbmVudCxcbiAgICBsYWJlbDogZ2V0dGV4dCgnQWRkcmVzcyBzcGFjZScpLFxuICAgIGljb246ICdjbG91ZC1uZXR3b3JrJyxcbiAgICBjYW5BY3RpdmF0ZTogW09wY3VhU2VydmVyR3VhcmQsIE9wY3VhTWljcm9zZXJ2aWNlR3VhcmRdXG4gIH1cbl07XG5cbmNvbnN0IGRldmljZVByb3RvY29sUm91dGVzOiBSb3V0ZVtdID0gW1xuICB7XG4gICAgcGF0aDogJ2RldmljZXByb3RvY29scy9vcGN1YVYyLzppZCcsXG4gICAgY29tcG9uZW50OiBPcGN1YURldmljZVByb3RvY29sRGV0YWlsQ29tcG9uZW50XG4gIH1cbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE9wY3VhU2VydmVyc0NvbXBvbmVudCxcbiAgICBPcGN1YVNlcnZlckxpc3RDb21wb25lbnQsXG4gICAgT3BjdWFTZXJ2ZXJDb25maWdDb21wb25lbnQsXG4gICAgT3BjdWFBZGRyZXNzU3BhY2VDb21wb25lbnQsXG4gICAgT3BjdWFBZGRyZXNzU3BhY2VUcmVlQ29tcG9uZW50LFxuICAgIE9wY3VhQWRkcmVzc1NwYWNlRGV0YWlsQ29tcG9uZW50LFxuICAgIE9wY3VhRGV2aWNlUHJvdG9jb2xEZXNjcmlwdGlvbixcbiAgICBPcGN1YURldmljZVByb3RvY29sRGV0YWlsQ29tcG9uZW50LFxuICAgIE9wY3VhRGV2aWNlUHJvdG9jb2xEYXRhUmVwb3J0aW5nQ29tcG9uZW50LFxuICAgIE9wY3VhRGV2aWNlUHJvdG9jb2xNYXBwaW5nLFxuICAgIE9wY3VhRGV2aWNlUHJvdG9jb2xPYmplY3RNYXBwaW5nU3RhdHVzLFxuICAgIE9wY3VhQXV0b0FwcGx5U2V0dGluZ3NDb21wb25lbnQsXG4gICAgT3BjdWFEZXZpY2VQcm90b2NvbEJyb3dzZVBhdGhWYWxpZGF0aW9uXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb3JlTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRHJvcEFyZWFNb2R1bGUsXG4gICAgQnV0dG9uc01vZHVsZSxcbiAgICBDZGtUcmVlTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZS5mb3JDaGlsZChkZXZpY2VQcm90b2NvbFJvdXRlcyksXG4gICAgVG9vbHRpcE1vZHVsZS5mb3JSb290KCksXG4gICAgUG9wb3Zlck1vZHVsZS5mb3JSb290KCksXG4gICAgRGV2aWNlU3RhdHVzTW9kdWxlLFxuICAgIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlLFxuICAgIENvbGxhcHNlTW9kdWxlLmZvclJvb3QoKSxcbiAgICBCc0Ryb3Bkb3duTW9kdWxlLmZvclJvb3QoKSxcbiAgICBPYmplY3RNYXBwaW5nQ29tcG9uZW50LFxuICAgIER5bmFtaWNGb3Jtc01vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBPcGN1YUFnZW50R3VhcmQsXG4gICAgT3BjdWFTZXJ2ZXJHdWFyZCxcbiAgICBPcGN1YU1pY3Jvc2VydmljZUd1YXJkLFxuICAgIE9wY3VhU2VydmljZSxcbiAgICBBZGRyZXNzU3BhY2VTZXJ2aWNlLFxuICAgIGhvb2tSb3V0ZShvcGN1YVJvdXRlcylcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBPcGN1YVByb3RvY29sTW9kdWxlIHt9XG4iXX0=