@nova-ui/bits
Version:
SolarWinds Nova Framework
135 lines • 16.6 kB
JavaScript
export const APP_MODULE = (filenamePrefix, context, imports, mainComponentName, componentNames, customRoutes, chartsImport, dashboardsImport) => `import { BrowserModule } from "@angular/platform-browser";\n` +
"import { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n" +
"import { FormsModule, ReactiveFormsModule } from '@angular/forms';\n" +
"import { HttpClientModule } from '@angular/common/http';\n" +
`import { NgModule, TRANSLATIONS, TRANSLATIONS_FORMAT } from "@angular/core";\n` +
`import { RouterModule } from "@angular/router";\n` +
`import { AppComponent } from "./app.component";\n` +
`${customRoutes ? `import { ROUTES } from "./routes";` : ""}\n` +
"import {\n" +
" NuiButtonModule,\n" +
" NuiCheckboxModule,\n" +
" NuiCommonModule,\n" +
" NuiDividerModule,\n" +
" NuiIconModule,\n" +
" NuiMessageModule,\n" +
" NuiImageModule,\n" +
" NuiMenuModule,\n" +
" NuiPopupModule,\n" +
" NuiSwitchModule,\n" +
" NuiSelectModule,\n" +
" NuiSelectV2Module,\n" +
" NuiSpinnerModule,\n" +
" NuiTabsModule,\n" +
" NuiTextboxModule,\n" +
" NuiTooltipModule,\n" +
" NuiLayoutModule,\n" +
" NuiOverlayModule,\n" +
" NuiOverlayAdditionsModule,\n" +
" NuiBreadcrumbModule,\n" +
" NuiBusyModule,\n" +
" NuiChipsModule,\n" +
" NuiContentModule,\n" +
" NuiDatePickerModule,\n" +
" NuiDateTimePickerModule,\n" +
" NuiDialogModule,\n" +
" NuiExpanderModule,\n" +
" NuiFormFieldModule,\n" +
" NuiPaginatorModule,\n" +
" NuiPanelModule,\n" +
" NuiPopoverModule,\n" +
" NuiProgressModule,\n" +
" NuiRadioModule,\n" +
" NuiRepeatModule,\n" +
" NuiSearchModule,\n" +
" NuiSelectorModule,\n" +
" NuiSorterModule,\n" +
" NuiTableModule,\n" +
" NuiTimeFrameBarModule,\n" +
" NuiTimeFramePickerModule,\n" +
" NuiTimePickerModule,\n" +
" NuiToastModule,\n" +
" NuiToolbarModule,\n" +
" NuiValidationMessageModule,\n" +
" NuiWizardModule,\n" +
" NuiWizardV2Module,\n" +
"} from '@nova-ui/bits';\n" +
`${chartsImport
? `import { NuiChartsModule } from "@nova-ui/charts";\n`
: ""}` +
"\n" +
`${dashboardsImport
? `import { NuiDashboardsModule } from "@nova-ui/dashboards";\n`
: ""}` +
"\n" +
`${imports}\n` +
"\n" +
"@NgModule({\n" +
` declarations: [AppComponent, ${componentNames}],\n` +
" imports: [\n" +
" BrowserModule,\n" +
" BrowserModule,\n" +
" BrowserAnimationsModule,\n" +
" FormsModule,\n" +
" ReactiveFormsModule,\n" +
" HttpClientModule,\n" +
" NuiButtonModule,\n" +
" NuiCheckboxModule,\n" +
" NuiCommonModule,\n" +
" NuiDividerModule,\n" +
" NuiIconModule,\n" +
" NuiMessageModule,\n" +
" NuiImageModule,\n" +
" NuiMenuModule,\n" +
" NuiPopupModule,\n" +
" NuiSwitchModule,\n" +
" NuiSelectModule,\n" +
" NuiSelectV2Module,\n" +
" NuiSpinnerModule,\n" +
" NuiTabsModule,\n" +
" NuiTextboxModule,\n" +
" NuiTooltipModule,\n" +
" NuiLayoutModule,\n" +
" NuiOverlayModule,\n" +
" NuiOverlayAdditionsModule,\n" +
" NuiBreadcrumbModule,\n" +
" NuiBusyModule,\n" +
" NuiChipsModule,\n" +
" NuiContentModule,\n" +
" NuiDatePickerModule,\n" +
" NuiDateTimePickerModule,\n" +
" NuiDialogModule,\n" +
" NuiExpanderModule,\n" +
" NuiFormFieldModule,\n" +
" NuiPaginatorModule,\n" +
" NuiPanelModule,\n" +
" NuiPopoverModule,\n" +
" NuiProgressModule,\n" +
" NuiRadioModule,\n" +
" NuiRepeatModule,\n" +
" NuiSearchModule,\n" +
" NuiSelectorModule,\n" +
" NuiSorterModule,\n" +
" NuiTableModule,\n" +
" NuiTimeFrameBarModule,\n" +
" NuiTimeFramePickerModule,\n" +
" NuiTimePickerModule,\n" +
" NuiToastModule,\n" +
" NuiToolbarModule,\n" +
" NuiValidationMessageModule,\n" +
" NuiWizardModule,\n" +
" NuiWizardV2Module,\n" +
`${chartsImport ? " NuiChartsModule," : ""}` +
`${dashboardsImport ? " NuiDashboardsModule," : ""}` +
` RouterModule.forRoot(${customRoutes
? getCustomRoute(context)
: getDefaultRoute(context, mainComponentName)})\n` +
" ],\n" +
" bootstrap: [AppComponent]\n" +
"})\n" +
"export class AppModule {}\n";
const getDefaultRoute = (context, mainComponentName) => `[{path: "", redirectTo: "${context}",pathMatch: "full"},\n` +
`{path: "${context}", component: ${mainComponentName} }]`;
const getCustomRoute = (context) => `[{path: "", redirectTo: "${context}",pathMatch: "full"},\n` +
`{path: "${context}", children: ROUTES }]`;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZG9jcy9saXZlLWV4YW1wbGUtZmlsZXMvYXBwLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FDdEIsY0FBc0IsRUFDdEIsT0FBZSxFQUNmLE9BQWUsRUFDZixpQkFBeUIsRUFDekIsY0FBc0IsRUFDdEIsWUFBcUIsRUFDckIsWUFBc0IsRUFDdEIsZ0JBQTBCLEVBQ3BCLEVBQUUsQ0FDUiw4REFBOEQ7SUFDOUQsbUZBQW1GO0lBQ25GLHNFQUFzRTtJQUN0RSw0REFBNEQ7SUFDNUQsZ0ZBQWdGO0lBQ2hGLG1EQUFtRDtJQUNuRCxtREFBbUQ7SUFDbkQsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUk7SUFDL0QsWUFBWTtJQUNaLHdCQUF3QjtJQUN4QiwwQkFBMEI7SUFDMUIsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFDdEIseUJBQXlCO0lBQ3pCLHVCQUF1QjtJQUN2QixzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsMEJBQTBCO0lBQzFCLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFDdEIseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6Qix3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLGtDQUFrQztJQUNsQyw0QkFBNEI7SUFDNUIsc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2Qix5QkFBeUI7SUFDekIsNEJBQTRCO0lBQzVCLGdDQUFnQztJQUNoQyx3QkFBd0I7SUFDeEIsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsdUJBQXVCO0lBQ3ZCLHlCQUF5QjtJQUN6QiwwQkFBMEI7SUFDMUIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsMEJBQTBCO0lBQzFCLHdCQUF3QjtJQUN4Qix1QkFBdUI7SUFDdkIsOEJBQThCO0lBQzlCLGlDQUFpQztJQUNqQyw0QkFBNEI7SUFDNUIsdUJBQXVCO0lBQ3ZCLHlCQUF5QjtJQUN6QixtQ0FBbUM7SUFDbkMsd0JBQXdCO0lBQ3hCLDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsR0FDSSxZQUFZO1FBQ1IsQ0FBQyxDQUFDLHNEQUFzRDtRQUN4RCxDQUFDLENBQUMsRUFDVixFQUFFO0lBQ0YsSUFBSTtJQUNKLEdBQ0ksZ0JBQWdCO1FBQ1osQ0FBQyxDQUFDLDhEQUE4RDtRQUNoRSxDQUFDLENBQUMsRUFDVixFQUFFO0lBQ0YsSUFBSTtJQUNKLEdBQUcsT0FBTyxJQUFJO0lBQ2QsSUFBSTtJQUNKLGVBQWU7SUFDZixvQ0FBb0MsY0FBYyxNQUFNO0lBQ3hELGtCQUFrQjtJQUNsQiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLG9DQUFvQztJQUNwQyx3QkFBd0I7SUFDeEIsZ0NBQWdDO0lBQ2hDLDZCQUE2QjtJQUM3Qiw0QkFBNEI7SUFDNUIsOEJBQThCO0lBQzlCLDRCQUE0QjtJQUM1Qiw2QkFBNkI7SUFDN0IsMEJBQTBCO0lBQzFCLDZCQUE2QjtJQUM3QiwyQkFBMkI7SUFDM0IsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsNEJBQTRCO0lBQzVCLDhCQUE4QjtJQUM5Qiw2QkFBNkI7SUFDN0IsMEJBQTBCO0lBQzFCLDZCQUE2QjtJQUM3Qiw2QkFBNkI7SUFDN0IsNEJBQTRCO0lBQzVCLDZCQUE2QjtJQUM3QixzQ0FBc0M7SUFDdEMsZ0NBQWdDO0lBQ2hDLDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsNkJBQTZCO0lBQzdCLGdDQUFnQztJQUNoQyxvQ0FBb0M7SUFDcEMsNEJBQTRCO0lBQzVCLDhCQUE4QjtJQUM5QiwrQkFBK0I7SUFDL0IsK0JBQStCO0lBQy9CLDJCQUEyQjtJQUMzQiw2QkFBNkI7SUFDN0IsOEJBQThCO0lBQzlCLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsNEJBQTRCO0lBQzVCLDhCQUE4QjtJQUM5Qiw0QkFBNEI7SUFDNUIsMkJBQTJCO0lBQzNCLGtDQUFrQztJQUNsQyxxQ0FBcUM7SUFDckMsZ0NBQWdDO0lBQ2hDLDJCQUEyQjtJQUMzQiw2QkFBNkI7SUFDN0IsdUNBQXVDO0lBQ3ZDLDRCQUE0QjtJQUM1Qiw4QkFBOEI7SUFDOUIsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDbkQsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUMzRCxnQ0FDSSxZQUFZO1FBQ1IsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFDekIsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQ3BELEtBQUs7SUFDTCxVQUFVO0lBQ1YsaUNBQWlDO0lBQ2pDLE1BQU07SUFDTiw2QkFBNkIsQ0FBQztBQUVsQyxNQUFNLGVBQWUsR0FBRyxDQUFDLE9BQWUsRUFBRSxpQkFBeUIsRUFBVSxFQUFFLENBQzNFLDRCQUE0QixPQUFPLHlCQUF5QjtJQUM1RCxXQUFXLE9BQU8saUJBQWlCLGlCQUFpQixLQUFLLENBQUM7QUFFOUQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFlLEVBQVUsRUFBRSxDQUMvQyw0QkFBNEIsT0FBTyx5QkFBeUI7SUFDNUQsV0FBVyxPQUFPLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEFQUF9NT0RVTEUgPSAoXG4gICAgZmlsZW5hbWVQcmVmaXg6IHN0cmluZyxcbiAgICBjb250ZXh0OiBzdHJpbmcsXG4gICAgaW1wb3J0czogc3RyaW5nLFxuICAgIG1haW5Db21wb25lbnROYW1lOiBzdHJpbmcsXG4gICAgY29tcG9uZW50TmFtZXM6IHN0cmluZyxcbiAgICBjdXN0b21Sb3V0ZXM6IGJvb2xlYW4sXG4gICAgY2hhcnRzSW1wb3J0PzogYm9vbGVhbixcbiAgICBkYXNoYm9hcmRzSW1wb3J0PzogYm9vbGVhblxuKTogc3RyaW5nID0+XG4gICAgYGltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xcbmAgK1xuICAgIFwiaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xcblwiICtcbiAgICBcImltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xcblwiICtcbiAgICBcImltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XFxuXCIgK1xuICAgIGBpbXBvcnQgeyBOZ01vZHVsZSwgVFJBTlNMQVRJT05TLCBUUkFOU0xBVElPTlNfRk9STUFUIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcXG5gICtcbiAgICBgaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xcbmAgK1xuICAgIGBpbXBvcnQgeyBBcHBDb21wb25lbnQgfSBmcm9tIFwiLi9hcHAuY29tcG9uZW50XCI7XFxuYCArXG4gICAgYCR7Y3VzdG9tUm91dGVzID8gYGltcG9ydCB7IFJPVVRFUyB9IGZyb20gXCIuL3JvdXRlc1wiO2AgOiBcIlwifVxcbmAgK1xuICAgIFwiaW1wb3J0IHtcXG5cIiArXG4gICAgXCIgICAgTnVpQnV0dG9uTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICBOdWlDaGVja2JveE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpQ29tbW9uTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICBOdWlEaXZpZGVyTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICBOdWlJY29uTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICBOdWlNZXNzYWdlTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICBOdWlJbWFnZU1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpTWVudU1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpUG9wdXBNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgIE51aVN3aXRjaE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpU2VsZWN0TW9kdWxlLFxcblwiICtcbiAgICBcIiAgICBOdWlTZWxlY3RWMk1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpU3Bpbm5lck1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpVGFic01vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpVGV4dGJveE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpVG9vbHRpcE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpTGF5b3V0TW9kdWxlLFxcblwiICtcbiAgICBcIiAgICBOdWlPdmVybGF5TW9kdWxlLFxcblwiICtcbiAgICBcIiAgICBOdWlPdmVybGF5QWRkaXRpb25zTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICBOdWlCcmVhZGNydW1iTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICBOdWlCdXN5TW9kdWxlLFxcblwiICtcbiAgICBcIiAgICBOdWlDaGlwc01vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpQ29udGVudE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpRGF0ZVBpY2tlck1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpRGF0ZVRpbWVQaWNrZXJNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgIE51aURpYWxvZ01vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpRXhwYW5kZXJNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgIE51aUZvcm1GaWVsZE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpUGFnaW5hdG9yTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICBOdWlQYW5lbE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpUG9wb3Zlck1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpUHJvZ3Jlc3NNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgIE51aVJhZGlvTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICBOdWlSZXBlYXRNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgIE51aVNlYXJjaE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpU2VsZWN0b3JNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgIE51aVNvcnRlck1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpVGFibGVNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgIE51aVRpbWVGcmFtZUJhck1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpVGltZUZyYW1lUGlja2VyTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICBOdWlUaW1lUGlja2VyTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICBOdWlUb2FzdE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpVG9vbGJhck1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpVmFsaWRhdGlvbk1lc3NhZ2VNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgIE51aVdpemFyZE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgTnVpV2l6YXJkVjJNb2R1bGUsXFxuXCIgK1xuICAgIFwifSBmcm9tICdAbm92YS11aS9iaXRzJztcXG5cIiArXG4gICAgYCR7XG4gICAgICAgIGNoYXJ0c0ltcG9ydFxuICAgICAgICAgICAgPyBgaW1wb3J0IHsgTnVpQ2hhcnRzTW9kdWxlIH0gZnJvbSBcIkBub3ZhLXVpL2NoYXJ0c1wiO1xcbmBcbiAgICAgICAgICAgIDogXCJcIlxuICAgIH1gICtcbiAgICBcIlxcblwiICtcbiAgICBgJHtcbiAgICAgICAgZGFzaGJvYXJkc0ltcG9ydFxuICAgICAgICAgICAgPyBgaW1wb3J0IHsgTnVpRGFzaGJvYXJkc01vZHVsZSB9IGZyb20gXCJAbm92YS11aS9kYXNoYm9hcmRzXCI7XFxuYFxuICAgICAgICAgICAgOiBcIlwiXG4gICAgfWAgK1xuICAgIFwiXFxuXCIgK1xuICAgIGAke2ltcG9ydHN9XFxuYCArXG4gICAgXCJcXG5cIiArXG4gICAgXCJATmdNb2R1bGUoe1xcblwiICtcbiAgICBgICAgIGRlY2xhcmF0aW9uczogW0FwcENvbXBvbmVudCwgJHtjb21wb25lbnROYW1lc31dLFxcbmAgK1xuICAgIFwiICAgIGltcG9ydHM6IFtcXG5cIiArXG4gICAgXCIgICAgICAgIEJyb3dzZXJNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBCcm93c2VyTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBGb3Jtc01vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgTnVpQnV0dG9uTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgTnVpQ2hlY2tib3hNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBOdWlDb21tb25Nb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBOdWlEaXZpZGVyTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgTnVpSWNvbk1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aU1lc3NhZ2VNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBOdWlJbWFnZU1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aU1lbnVNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBOdWlQb3B1cE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aVN3aXRjaE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aVNlbGVjdE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aVNlbGVjdFYyTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgTnVpU3Bpbm5lck1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aVRhYnNNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBOdWlUZXh0Ym94TW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgTnVpVG9vbHRpcE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aUxheW91dE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aU92ZXJsYXlNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBOdWlPdmVybGF5QWRkaXRpb25zTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgTnVpQnJlYWRjcnVtYk1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aUJ1c3lNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBOdWlDaGlwc01vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aUNvbnRlbnRNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBOdWlEYXRlUGlja2VyTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgTnVpRGF0ZVRpbWVQaWNrZXJNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBOdWlEaWFsb2dNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBOdWlFeHBhbmRlck1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aUZvcm1GaWVsZE1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aVBhZ2luYXRvck1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aVBhbmVsTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgTnVpUG9wb3Zlck1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aVByb2dyZXNzTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgTnVpUmFkaW9Nb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBOdWlSZXBlYXRNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBOdWlTZWFyY2hNb2R1bGUsXFxuXCIgK1xuICAgIFwiICAgICAgICBOdWlTZWxlY3Rvck1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aVNvcnRlck1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aVRhYmxlTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgTnVpVGltZUZyYW1lQmFyTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgTnVpVGltZUZyYW1lUGlja2VyTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgTnVpVGltZVBpY2tlck1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aVRvYXN0TW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgTnVpVG9vbGJhck1vZHVsZSxcXG5cIiArXG4gICAgXCIgICAgICAgIE51aVZhbGlkYXRpb25NZXNzYWdlTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgTnVpV2l6YXJkTW9kdWxlLFxcblwiICtcbiAgICBcIiAgICAgICAgTnVpV2l6YXJkVjJNb2R1bGUsXFxuXCIgK1xuICAgIGAke2NoYXJ0c0ltcG9ydCA/IFwiICAgICAgICBOdWlDaGFydHNNb2R1bGUsXCIgOiBcIlwifWAgK1xuICAgIGAke2Rhc2hib2FyZHNJbXBvcnQgPyBcIiAgICAgICAgTnVpRGFzaGJvYXJkc01vZHVsZSxcIiA6IFwiXCJ9YCArXG4gICAgYCAgICAgICAgUm91dGVyTW9kdWxlLmZvclJvb3QoJHtcbiAgICAgICAgY3VzdG9tUm91dGVzXG4gICAgICAgICAgICA/IGdldEN1c3RvbVJvdXRlKGNvbnRleHQpXG4gICAgICAgICAgICA6IGdldERlZmF1bHRSb3V0ZShjb250ZXh0LCBtYWluQ29tcG9uZW50TmFtZSlcbiAgICB9KVxcbmAgK1xuICAgIFwiICAgIF0sXFxuXCIgK1xuICAgIFwiICAgIGJvb3RzdHJhcDogW0FwcENvbXBvbmVudF1cXG5cIiArXG4gICAgXCJ9KVxcblwiICtcbiAgICBcImV4cG9ydCBjbGFzcyBBcHBNb2R1bGUge31cXG5cIjtcblxuY29uc3QgZ2V0RGVmYXVsdFJvdXRlID0gKGNvbnRleHQ6IHN0cmluZywgbWFpbkNvbXBvbmVudE5hbWU6IHN0cmluZyk6IHN0cmluZyA9PlxuICAgIGBbe3BhdGg6IFwiXCIsIHJlZGlyZWN0VG86IFwiJHtjb250ZXh0fVwiLHBhdGhNYXRjaDogXCJmdWxsXCJ9LFxcbmAgK1xuICAgIGB7cGF0aDogXCIke2NvbnRleHR9XCIsIGNvbXBvbmVudDogJHttYWluQ29tcG9uZW50TmFtZX0gfV1gO1xuXG5jb25zdCBnZXRDdXN0b21Sb3V0ZSA9IChjb250ZXh0OiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgICBgW3twYXRoOiBcIlwiLCByZWRpcmVjdFRvOiBcIiR7Y29udGV4dH1cIixwYXRoTWF0Y2g6IFwiZnVsbFwifSxcXG5gICtcbiAgICBge3BhdGg6IFwiJHtjb250ZXh0fVwiLCBjaGlsZHJlbjogUk9VVEVTIH1dYDtcbiJdfQ==