@tuki-io/tuki-widgets 0.0.219-dev.62 → 0.0.219-dev.63
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/di2mt/widgets/site-upgrade/site-upgrade.module.d.ts +9 -8
- package/di2mt/widgets/user-upgrade/user-upgrade.module.d.ts +11 -10
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +12 -11
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.module.mjs +7 -3
- package/esm2020/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.mjs +12 -11
- package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.module.mjs +7 -3
- package/esm2020/locations/src/locations.component.mjs +11 -11
- package/esm2020/locations/src/locations.module.mjs +7 -6
- package/esm2020/meetings/src/components/meeting-spaces/meeting-space/meeting-space.component.mjs +9 -9
- package/esm2020/meetings/src/components/meeting-spaces/meeting-spaces.component.mjs +17 -9
- package/esm2020/meetings/src/meetings.module.mjs +7 -6
- package/esm2020/shared/public-api.mjs +2 -1
- package/esm2020/shared/src/ui/tk-loader/tk-loader.component.mjs +34 -0
- package/esm2020/user-creation/src/user-creation.module.mjs +7 -6
- package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.mjs +16 -16
- package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.mjs +27 -10
- package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +11 -11
- package/esm2020/user-device-manage/src/associate-lines/associate-lines.component.mjs +10 -10
- package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +11 -11
- package/esm2020/user-device-manage/src/device-settings/device-settings.component.mjs +9 -9
- package/esm2020/user-device-manage/src/line-key-config/line-key-config.component.mjs +9 -9
- package/esm2020/user-device-manage/src/user-device-manage.module.mjs +8 -7
- package/esm2020/user-manage/src/user-manage-widget.component.mjs +12 -12
- package/esm2020/user-manage/src/user-manage.module.mjs +8 -7
- package/esm2020/users-list/src/classes/site-option.mjs +2 -0
- package/esm2020/users-list/src/components/table-toolbar/table-toolbar.component.mjs +18 -4
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +15 -15
- package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +5 -5
- package/esm2020/users-list/src/users-list.component.mjs +104 -46
- package/esm2020/users-list/src/users-list.module.mjs +7 -6
- package/esm2020/workspaces/src/components/workspace-detail/workspace-detail.component.mjs +7 -7
- package/esm2020/workspaces/src/components/workspace-device-detail/workspace-device-detail.component.mjs +9 -9
- package/esm2020/workspaces/src/components/workspaces-filters/workspaces-filters.component.mjs +13 -3
- package/esm2020/workspaces/src/types/workspace.mjs +6 -2
- package/esm2020/workspaces/src/workspaces.component.mjs +26 -8
- package/esm2020/workspaces/src/workspaces.module.mjs +7 -6
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +26 -18
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-locations.mjs +16 -24
- package/fesm2015/tuki-io-tuki-widgets-locations.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-meetings.mjs +31 -33
- package/fesm2015/tuki-io-tuki-widgets-meetings.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-shared.mjs +31 -1
- package/fesm2015/tuki-io-tuki-widgets-shared.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +52 -43
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +43 -51
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +20 -29
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +136 -73
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-workspaces.mjs +64 -37
- package/fesm2015/tuki-io-tuki-widgets-workspaces.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +26 -18
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-locations.mjs +16 -24
- package/fesm2020/tuki-io-tuki-widgets-locations.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-meetings.mjs +31 -33
- package/fesm2020/tuki-io-tuki-widgets-meetings.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-shared.mjs +31 -1
- package/fesm2020/tuki-io-tuki-widgets-shared.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +51 -43
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +43 -51
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +20 -29
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +134 -71
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-workspaces.mjs +64 -37
- package/fesm2020/tuki-io-tuki-widgets-workspaces.mjs.map +1 -1
- package/locations/src/locations.module.d.ts +2 -2
- package/meetings/src/meetings.module.d.ts +2 -2
- package/package.json +1 -1
- package/shared/public-api.d.ts +1 -0
- package/shared/src/ui/tk-loader/tk-loader.component.d.ts +15 -0
- package/user-creation/src/user-creation.module.d.ts +3 -3
- package/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.d.ts +2 -0
- package/user-device-manage/src/user-device-manage.module.d.ts +16 -16
- package/user-manage/src/user-manage.module.d.ts +12 -13
- package/users-list/src/classes/site-option.d.ts +4 -0
- package/users-list/src/components/table-toolbar/table-toolbar.component.d.ts +6 -1
- package/users-list/src/users-list.component.d.ts +11 -1
- package/users-list/src/users-list.module.d.ts +9 -9
- package/workspaces/src/components/workspaces-filters/workspaces-filters.component.d.ts +9 -1
- package/workspaces/src/types/workspace.d.ts +5 -0
- package/workspaces/src/workspaces.component.d.ts +4 -1
- package/workspaces/src/workspaces.module.d.ts +2 -2
- package/esm2020/locations/src/utils/app-loader/app-loader.mjs +0 -14
- package/esm2020/meetings/src/utils/app-loader/app-loader.mjs +0 -14
- package/esm2020/user-creation/src/utils/app-loader/app-loader.mjs +0 -14
- package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +0 -14
- package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +0 -14
- package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +0 -14
- package/esm2020/workspaces/src/utils/app-loader/app-loader.mjs +0 -14
- package/locations/src/utils/app-loader/app-loader.d.ts +0 -6
- package/meetings/src/utils/app-loader/app-loader.d.ts +0 -6
- package/user-creation/src/utils/app-loader/app-loader.d.ts +0 -6
- package/user-device-manage/src/utils/app-loader/app-loader.d.ts +0 -6
- package/user-manage/src/utils/app-loader/app-loader.d.ts +0 -6
- package/users-list/src/utils/app-loader/app-loader.d.ts +0 -6
- package/workspaces/src/utils/app-loader/app-loader.d.ts +0 -6
|
@@ -13,7 +13,7 @@ import { NotificationService } from './services/notification.service';
|
|
|
13
13
|
import { RemoveKynFromIBMService } from './services/removeKynFromIBM.service';
|
|
14
14
|
import { HttpClientModule } from '@angular/common/http';
|
|
15
15
|
import { ApiWebexService } from './services/api-webex.service';
|
|
16
|
-
import {
|
|
16
|
+
import { TkLoaderComponent } from '@tuki-io/tuki-widgets/shared';
|
|
17
17
|
import { MoveUserWizardComponent } from './move-user-wizard/move-user-wizard.component';
|
|
18
18
|
import { MoveUserStepperComponent } from './move-user-wizard/move-user-stepper/move-user-stepper.component';
|
|
19
19
|
import { UserListConfirmDialogComponent } from './user-list-confirm-dialog/user-list-confirm-dialog.component';
|
|
@@ -30,14 +30,14 @@ export class UsersListModule {
|
|
|
30
30
|
UsersListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
31
31
|
UsersListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: UsersListModule, declarations: [UsersListComponent,
|
|
32
32
|
PaginationComponent,
|
|
33
|
-
AppLoaderComponent,
|
|
34
33
|
MoveUserWizardComponent,
|
|
35
34
|
MoveUserStepperComponent,
|
|
36
35
|
UserListConfirmDialogComponent,
|
|
37
36
|
DevicesMoveUserWizardTabComponent,
|
|
38
37
|
DeviceMoveUserWizardComponent,
|
|
39
38
|
TableToolbarComponent,
|
|
40
|
-
NotificationsComponent], imports: [
|
|
39
|
+
NotificationsComponent], imports: [TkLoaderComponent,
|
|
40
|
+
BrowserModule,
|
|
41
41
|
FormsModule,
|
|
42
42
|
ReactiveFormsModule,
|
|
43
43
|
HttpClientModule,
|
|
@@ -53,7 +53,8 @@ UsersListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
|
|
|
53
53
|
DnsService,
|
|
54
54
|
SiteSettingsService,
|
|
55
55
|
MoveUserService
|
|
56
|
-
], imports: [
|
|
56
|
+
], imports: [TkLoaderComponent,
|
|
57
|
+
BrowserModule,
|
|
57
58
|
FormsModule,
|
|
58
59
|
ReactiveFormsModule,
|
|
59
60
|
HttpClientModule,
|
|
@@ -64,7 +65,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
64
65
|
declarations: [
|
|
65
66
|
UsersListComponent,
|
|
66
67
|
PaginationComponent,
|
|
67
|
-
AppLoaderComponent,
|
|
68
68
|
MoveUserWizardComponent,
|
|
69
69
|
MoveUserStepperComponent,
|
|
70
70
|
UserListConfirmDialogComponent,
|
|
@@ -74,6 +74,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
74
74
|
NotificationsComponent
|
|
75
75
|
],
|
|
76
76
|
imports: [
|
|
77
|
+
TkLoaderComponent,
|
|
77
78
|
BrowserModule,
|
|
78
79
|
FormsModule,
|
|
79
80
|
ReactiveFormsModule,
|
|
@@ -95,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
95
96
|
exports: [UsersListComponent]
|
|
96
97
|
}]
|
|
97
98
|
}] });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMtbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlcnMtbGlzdC9zcmMvdXNlcnMtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMvRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFDTCxpQ0FBaUMsRUFDbEMsTUFBTSxrR0FBa0csQ0FBQztBQUMxRyxPQUFPLEVBQ0wsNkJBQTZCLEVBQzlCLE1BQU0seUZBQXlGLENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBcUN0RixNQUFNLE9BQU8sZUFBZTs7NkdBQWYsZUFBZTs4R0FBZixlQUFlLGlCQWhDeEIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIsd0JBQXdCO1FBQ3hCLDhCQUE4QjtRQUM5QixpQ0FBaUM7UUFDakMsNkJBQTZCO1FBQzdCLHFCQUFxQjtRQUNyQixzQkFBc0IsYUFHdEIsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixjQUFjLGFBY04sa0JBQWtCOzhHQUVqQixlQUFlLGFBZGY7UUFDVCxXQUFXO1FBQ1gsVUFBVTtRQUNWLDBCQUEwQjtRQUMxQixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLHVCQUF1QjtRQUN2QixlQUFlO1FBQ2YsVUFBVTtRQUNWLG1CQUFtQjtRQUNuQixlQUFlO0tBQ2hCLFlBbEJDLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsY0FBYzs0RkFnQkwsZUFBZTtrQkFsQzNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3dCQUM5QixpQ0FBaUM7d0JBQ2pDLDZCQUE2Qjt3QkFDN0IscUJBQXFCO3dCQUNyQixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsY0FBYztxQkFDZjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsV0FBVzt3QkFDWCxVQUFVO3dCQUNWLDBCQUEwQjt3QkFDMUIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsZUFBZTt3QkFDZixVQUFVO3dCQUNWLG1CQUFtQjt3QkFDbkIsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVXNlcnNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi91c2Vycy1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi9tYXRlcmlhbC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi91dGlscy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFQSVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXZlbnRzQ29tbXVuaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2V2ZW50cy1jb21tdW5pY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2Vyc1NlYXJjaFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3VzZXJzLXNlYXJjaC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZW1vdmVLeW5Gcm9tSUJNU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcmVtb3ZlS3luRnJvbUlCTS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQXBpV2ViZXhTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcGktd2ViZXguc2VydmljZSc7XHJcbmltcG9ydCB7IFRrTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnQHR1a2ktaW8vdHVraS13aWRnZXRzL3NoYXJlZCc7XHJcbmltcG9ydCB7IE1vdmVVc2VyV2l6YXJkQ29tcG9uZW50IH0gZnJvbSAnLi9tb3ZlLXVzZXItd2l6YXJkL21vdmUtdXNlci13aXphcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTW92ZVVzZXJTdGVwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9tb3ZlLXVzZXItd2l6YXJkL21vdmUtdXNlci1zdGVwcGVyL21vdmUtdXNlci1zdGVwcGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVzZXJMaXN0Q29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vdXNlci1saXN0LWNvbmZpcm0tZGlhbG9nL3VzZXItbGlzdC1jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEbnNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IFNpdGVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3NpdGUtc2V0dGluZ3Muc2VydmljZSc7XHJcbmltcG9ydCB7IE1vdmVVc2VyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbW92ZS11c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIERldmljZXNNb3ZlVXNlcldpemFyZFRhYkNvbXBvbmVudFxyXG59IGZyb20gJy4vbW92ZS11c2VyLXdpemFyZC9tb3ZlLXVzZXItc3RlcHBlci9kZXZpY2UtbW92ZS11c2VyLXRhYi9kZXZpY2VzLW1vdmUtdXNlci13aXphcmQtdGFiLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgRGV2aWNlTW92ZVVzZXJXaXphcmRDb21wb25lbnRcclxufSBmcm9tICcuL21vdmUtdXNlci13aXphcmQvbW92ZS11c2VyLXN0ZXBwZXIvZGV2aWNlLW1vdmUtdXNlci9kZXZpY2UtbW92ZS11c2VyLXdpemFyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtdG9vbGJhci90YWJsZS10b29sYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL3V0aWxzL25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFVzZXJzTGlzdENvbXBvbmVudCxcclxuICAgIFBhZ2luYXRpb25Db21wb25lbnQsXHJcbiAgICBNb3ZlVXNlcldpemFyZENvbXBvbmVudCxcclxuICAgIE1vdmVVc2VyU3RlcHBlckNvbXBvbmVudCxcclxuICAgIFVzZXJMaXN0Q29uZmlybURpYWxvZ0NvbXBvbmVudCxcclxuICAgIERldmljZXNNb3ZlVXNlcldpemFyZFRhYkNvbXBvbmVudCxcclxuICAgIERldmljZU1vdmVVc2VyV2l6YXJkQ29tcG9uZW50LFxyXG4gICAgVGFibGVUb29sYmFyQ29tcG9uZW50LFxyXG4gICAgTm90aWZpY2F0aW9uc0NvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgVGtMb2FkZXJDb21wb25lbnQsXHJcbiAgICBCcm93c2VyTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIE1hdGVyaWFsTW9kdWxlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFVzZXJTZXJ2aWNlLFxyXG4gICAgQVBJU2VydmljZSxcclxuICAgIEV2ZW50c0NvbW11bmljYXRpb25TZXJ2aWNlLFxyXG4gICAgVXNlcnNTZWFyY2hTZXJ2aWNlLFxyXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIFJlbW92ZUt5bkZyb21JQk1TZXJ2aWNlLFxyXG4gICAgQXBpV2ViZXhTZXJ2aWNlLFxyXG4gICAgRG5zU2VydmljZSxcclxuICAgIFNpdGVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBNb3ZlVXNlclNlcnZpY2VcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtVc2Vyc0xpc3RDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2Vyc0xpc3RNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -3,10 +3,10 @@ import { getDeviceIcon } from '../../utils/device-icon';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../../services/workspace-detail.service";
|
|
5
5
|
import * as i2 from "@angular/common";
|
|
6
|
-
import * as i3 from "@
|
|
7
|
-
import * as i4 from "@angular/material/
|
|
8
|
-
import * as i5 from "
|
|
9
|
-
import * as i6 from "
|
|
6
|
+
import * as i3 from "@tuki-io/tuki-widgets/shared";
|
|
7
|
+
import * as i4 from "@angular/material/icon";
|
|
8
|
+
import * as i5 from "@angular/material/menu";
|
|
9
|
+
import * as i6 from "../workspace-device-detail/workspace-device-detail.component";
|
|
10
10
|
export class WorkspaceDetailComponent {
|
|
11
11
|
constructor(workspaceDetailService, location) {
|
|
12
12
|
this.workspaceDetailService = workspaceDetailService;
|
|
@@ -80,10 +80,10 @@ export class WorkspaceDetailComponent {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
WorkspaceDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspaceDetailComponent, deps: [{ token: i1.WorkspaceDetailService }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Component });
|
|
83
|
-
WorkspaceDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: WorkspaceDetailComponent, selector: "tk-workspace-detail", inputs: { workspace: "workspace", connectionType: "connectionType", customerId: "customerId" }, outputs: { back: "back" }, ngImport: i0, template: "<ng-container *ngIf=\"view === 'overview'; else deviceDetailView\">\r\n<button type=\"button\" class=\"tk-workspace-detail__breadcrumb\" (click)=\"onBack()\">\r\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-left-bold.svg\" alt=\"Back\" />\r\n Workspaces\r\n</button>\r\n\r\n<div class=\"tk-workspace-detail__header\">\r\n <span class=\"tk-workspace-detail__icon\">\r\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n </span>\r\n <div class=\"tk-workspace-detail__title-block\">\r\n <h1 class=\"tk-workspace-detail__name\">{{ workspace.displayName }}</h1>\r\n <div class=\"tk-workspace-detail__meta\">\r\n <span class=\"tk-workspace-detail__meta-pill\">\r\n <span class=\"tk-workspace-detail__status-dot\"></span>\r\n Live status unavailable\r\n </span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-type\">Type: {{ workspace.typeLabel === 'No type' ? 'Not set' : workspace.typeLabel }}</span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-pill\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\r\n Capacity: {{ workspace.capacity ?? 'Not set' }}\r\n </span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-pill tk-workspace-detail__meta-pill--muted\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n Size not set\r\n </span>\r\n </div>\r\n </div>\r\n <button type=\"button\" class=\"tk-workspace-detail__actions-button\" [matMenuTriggerFor]=\"actionsMenu\">\r\n Actions\r\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\r\n </button>\r\n <mat-menu #actionsMenu=\"matMenu\">\r\n <button type=\"button\" mat-menu-item disabled>More actions coming soon</button>\r\n </mat-menu>\r\n</div>\r\n\r\n<nav class=\"tk-workspace-detail__tabs\">\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__tab\"\r\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'overview'\"\r\n (click)=\"selectTab('overview')\">\r\n Overview\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__tab\"\r\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'calling'\"\r\n (click)=\"selectTab('calling')\">\r\n Calling\r\n </button>\r\n</nav>\r\n\r\n<app-loader *ngIf=\"isLoading\"></app-loader>\r\n\r\n<ng-container *ngIf=\"details\">\r\n <div class=\"tk-workspace-detail__grid\" *ngIf=\"activeTab === 'overview'\">\r\n <div class=\"tk-workspace-detail__col\">\r\n <section class=\"tk-workspace-detail__card\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Issues & Information</h2>\r\n <div class=\"tk-workspace-detail__no-issues\" *ngIf=\"!details.issues.length\">\r\n <mat-icon class=\"tk-workspace-detail__no-issues-icon\">check_circle</mat-icon>\r\n There are currently no issues detected in your workspace.\r\n </div>\r\n <div class=\"tk-workspace-detail__issue\" *ngFor=\"let issue of details.issues\">\r\n <div class=\"tk-workspace-detail__issue-row\">\r\n <div class=\"tk-workspace-detail__issue-info\">\r\n <div class=\"tk-workspace-detail__issue-message-row\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n <div class=\"tk-workspace-detail__issue-message\">{{ issue.message }}</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-timestamp\">{{ issue.timestamp }}</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-actions\">\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">{{ issue.actionLabel }}</button>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__issue-toggle\"\r\n [class.tk-workspace-detail__issue-toggle--open]=\"expandedIssueId === issue.id\"\r\n [attr.aria-expanded]=\"expandedIssueId === issue.id\"\r\n (click)=\"'void 0'\">\r\n <img style=\"width: .75rem; height: .75rem;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-details\" *ngIf=\"expandedIssueId === issue.id\">\r\n <p>{{ issue.description }}</p>\r\n <p>\r\n Suggested action:<br />\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__issue-link\">{{ issue.suggestedAction }}</a>\r\n </p>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Devices</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__devices\" *ngIf=\"workspace.devices.length; else noDevices\">\r\n <div class=\"tk-workspace-detail__device\" *ngFor=\"let device of workspace.devices\">\r\n <img class=\"tk-workspace-detail__device-icon\" [src]=\"resolveIcon(device.model)\" [alt]=\"device.label\" />\r\n <div class=\"tk-workspace-detail__device-info\">\r\n <div style=\"display: flex; gap: 0.5rem; align-items: center;\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__device-link\" (click)=\"onOpenDevice(device)\">{{ device.label }}</a>\r\n <span class=\"tk-workspace-detail__device-primary\">Primary</span>\r\n </div>\r\n <div class=\"tk-workspace-detail__device-status\">\r\n <span class=\"tk-workspace-detail__status-dot\"></span>\r\n Status unavailable\r\n <img class=\"tk-workspace-detail__info-icon\" style=\"width: 12px; height: 12px;\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-template #noDevices>\r\n <div class=\"tk-workspace-detail__no-devices\">\r\n <img class=\"tk-workspace-detail__no-devices-icon\" src=\"assets/icons/desk-phone-bold.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Add device</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Add an IP Phone to collaborate in this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add device</button>\r\n </div>\r\n </ng-template>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Calling</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__calling-license\">\r\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/handset-regular.svg\" alt=\"\" />\r\n {{ details.calling.license }}\r\n </div>\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\r\n <span class=\"tk-workspace-detail__row-label\">Cisco Webex SIP Address</span>\r\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.sipAddress }}</span>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.schedulingConfigured\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Scheduling</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Choose scheduling</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Choose a calendar service or setup hot-desking for this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Choose scheduling</button>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Meetings</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Device hosted meetings unavailable</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Service not supported by Cisco IP phones</p>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <h2 class=\"tk-workspace-detail__card-title\">\r\n Planned Maintenance\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </h2>\r\n <div class=\"tk-workspace-detail__row\">\r\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/tools-regular.svg\" alt=\"\">\r\n <span>{{ details.plannedMaintenanceEnabled ? 'On' : 'Off' }}</span>\r\n </div>\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--with-action\">\r\n <div class=\"tk-workspace-detail__row\" style=\"flex-direction: column; gap: 1rem;\">\r\n <div style=\"display: flex; gap: 1rem; align-items: center;\">\r\n <img class=\"tk-workspace-detail__meta-icon\" style=\"width: 20px; height: 20px;\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\r\n <div>Schedule</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__row-hint\">No schedule set</div>\r\n </div>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Edit schedule</button>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.notes\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Add Notes</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/notes-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Add notes</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Write a note about this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add notes</button>\r\n </section>\r\n </div>\r\n\r\n <div class=\"tk-workspace-detail__col\">\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\" style=\"margin-bottom: 1.25rem;\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Location</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__location\">\r\n <!-- <mat-icon>location_on</mat-icon> -->\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\r\n <div style=\"display: flex; flex-direction: column; gap: .25rem;\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__location-link\">{{ details.location.country }}</a>\r\n <div class=\"tk-workspace-detail__location-address\">{{ details.location.address }}</div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tk-workspace-detail__col\" *ngIf=\"activeTab === 'calling'\">\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__numbers-card\">\r\n <h2 class=\"tk-workspace-detail__numbers-title\">Numbers</h2>\r\n\r\n <div class=\"tk-workspace-detail__numbers-content\">\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Directory number\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <table class=\"tk-workspace-detail__numbers-table\">\r\n <thead>\r\n <tr>\r\n <th>Type</th>\r\n <th>Phone Number</th>\r\n <th>Extension</th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"tk-workspace-detail__badge\">Primary</span></td>\r\n <td>\r\n {{ details.calling.directoryNumber }}\r\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </td>\r\n <td>\r\n {{ details.calling.extension || 'Not set' }}\r\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </td>\r\n <td class=\"tk-workspace-detail__numbers-chevron-cell\">\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Caller ID\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <div class=\"tk-workspace-detail__numbers-row-value\">\r\n <span>{{ callerIdLabel }}</span>\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </div>\r\n </div>\r\n\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Emergency Calling\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <div class=\"tk-workspace-detail__numbers-row-value\">\r\n <span>Not set</span>\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n</ng-container>\r\n</ng-container>\r\n\r\n<ng-template #deviceDetailView>\r\n <tk-workspace-device-detail\r\n [workspace]=\"workspace\"\r\n [device]=\"selectedDevice\"\r\n [details]=\"details?.device ?? null\"\r\n [isLoading]=\"isLoading\"\r\n (back)=\"onDeviceBack()\">\r\n </tk-workspace-device-detail>\r\n</ng-template>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2;padding:1.5rem}.tk-workspace-detail__breadcrumb{display:inline-flex;align-items:center;gap:.5rem;padding:0;margin-bottom:1rem;background:none;border:none;font-family:inherit;font-size:.875rem;font-weight:500;color:#0009;cursor:pointer}.tk-workspace-detail__breadcrumb:hover{color:#000000f2}.tk-workspace-detail__breadcrumb mat-icon{font-size:1.25rem;height:1.25rem;width:1.25rem}.tk-workspace-detail__header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.tk-workspace-detail__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:50%;background:#2b2b2b}.tk-workspace-detail__icon img{height:1.375rem;width:1.375rem;filter:brightness(0) invert(1)}.tk-workspace-detail__title-block{flex:1;min-width:0}.tk-workspace-detail__name{margin:0 0 .375rem;font-size:1.25rem;font-weight:600}.tk-workspace-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.875rem;color:#0009}.tk-workspace-detail__meta-type{color:#000000f2}.tk-workspace-detail__meta-sep{display:inline-flex;align-items:center}.tk-workspace-detail__meta-sep:before{content:\"\";flex-shrink:0;inline-size:.25rem;block-size:.25rem;border-radius:50%;background-color:var(--mch-OutlinePrimary-normal, rgba(0, 0, 0, .45))}.tk-workspace-detail__meta-icon{height:1rem;width:1rem}.tk-workspace-detail__meta-muted{color:#0006}.tk-workspace-detail__meta-pill{display:inline-flex;font-size:.875rem;align-items:center;gap:.35rem;border:1px solid rgba(0,0,0,.2);padding:.25rem .5rem;cursor:pointer;min-inline-size:1.5rem;block-size:100%;max-block-size:1.5rem;color:#000000f2;border-radius:.5rem}.tk-workspace-detail__meta-pill--muted{color:#0006}.tk-workspace-detail__meta-pill-icon{font-size:.875rem;height:.875rem;width:.875rem;opacity:.4}.tk-workspace-detail__status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#707070}.tk-workspace-detail__actions-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;flex-shrink:0}.tk-workspace-detail__actions-button:hover{background:#2b2b2b}.tk-workspace-detail__actions-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__tabs{display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid rgba(0,0,0,.12);margin-bottom:1.25rem}.tk-workspace-detail__tab{padding:.75rem 0;background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:.9375rem;font-weight:500;color:#000000b3;cursor:pointer}.tk-workspace-detail__tab:hover{color:#000000f2}.tk-workspace-detail__tab--active{color:#000000f2;border-bottom-color:#000}.tk-workspace-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media (max-width: 900px){.tk-workspace-detail__grid{grid-template-columns:1fr}}.tk-workspace-detail__col{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.tk-workspace-detail__card{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.5rem;padding:1rem 1.5rem;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-workspace-detail__card--centered{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:1rem 1.5rem}.tk-workspace-detail__card-icon{color:#0009;margin-bottom:.5rem}.tk-workspace-detail__card-heading{margin:0;font-size:.9375rem;font-weight:500}.tk-workspace-detail__card-text{margin:0 0 .5rem;font-size:.875rem;color:#000000b3;max-width:20rem}.tk-workspace-detail__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;width:100%}.tk-workspace-detail__card-title{display:flex;align-items:center;gap:.375rem;margin:0;padding:0;font-size:1rem;font-weight:500;margin-bottom:1rem}.tk-workspace-detail__card-title__settings_icon_wrapper{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.5019607843);color:#000000f2;cursor:pointer}.tk-workspace-detail__card-header .tk-workspace-detail__card-title{margin-bottom:0}.tk-workspace-detail__settings-icon,.tk-workspace-detail__info-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-workspace-detail__divider{border:none;border-top:1px solid rgba(0,0,0,.2);margin:.75rem 0}.tk-workspace-detail__no-issues{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__no-issues-icon{color:#1d805f;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__issue+.tk-workspace-detail__issue{margin-top:.75rem}.tk-workspace-detail__issue-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;border-radius:.5rem;border:.0625rem solid rgba(0,0,0,.2);cursor:pointer;height:46px;box-sizing:content-box}.tk-workspace-detail__issue-row:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.tk-workspace-detail__issue-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:50%;color:#0009;cursor:pointer;flex-shrink:0;background:transparent}.tk-workspace-detail__issue-toggle:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-toggle:active{background:rgba(0,0,0,.2)}.tk-workspace-detail__issue-toggle mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;transition:transform .15s ease}.tk-workspace-detail__issue-toggle--open mat-icon{transform:rotate(180deg)}.tk-workspace-detail__issue-details{padding:.75rem 1rem .25rem 2.75rem;font-size:.8125rem;color:#0009}.tk-workspace-detail__issue-details p{margin:0 0 .5rem}.tk-workspace-detail__issue-link{color:#0353a8;text-decoration:underline}.tk-workspace-detail__issue-info{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;height:100%;justify-content:space-around}.tk-workspace-detail__issue-icon{color:#0353a8;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__issue-message-row{display:flex;align-items:center;gap:.5rem}.tk-workspace-detail__issue-message-row .tk-workspace-detail__issue-message{font-size:.875rem;font-weight:500}.tk-workspace-detail__issue-timestamp{font-size:.75rem;color:#000000b3}.tk-workspace-detail__pill-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#fff;border:1px solid rgba(0,0,0,.5019607843);border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;color:#000000f2;text-overflow:ellipsis;overflow:hidden!important;cursor:pointer;white-space:nowrap}.tk-workspace-detail__pill-button:hover{background:#ededed}.tk-workspace-detail__pill-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__devices{display:flex;flex-wrap:wrap;gap:.75rem;display:grid;grid-template-rows:auto 1fr;grid-template-columns:repeat(auto-fit,minmax(16.75rem,1fr));gap:.5rem}.tk-workspace-detail__device{align-items:center;gap:1.5rem;padding:.75rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;min-width:12rem;align-items:start;display:flex;flex-direction:column;grid-row:span 2;grid-column:1;min-block-size:8rem}.tk-workspace-detail__device-icon{width:3rem;height:3rem;flex-shrink:0}.tk-workspace-detail__device-info{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.tk-workspace-detail__device-info .tk-workspace-detail__device-primary{font-size:.75rem;min-inline-size:1.25rem;block-size:100%;max-block-size:1.25rem;border-color:#5ebff7;background-color:#08599c;color:#fffffff2;display:inline-flex;flex:0 0 auto;gap:.25rem;align-items:center;justify-content:center;overflow:hidden;padding:.25rem .5rem;border:.0625rem solid #5ebff7;border-radius:.25rem;line-height:1;text-overflow:ellipsis;box-sizing:border-box}.tk-workspace-detail__device-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__device-status{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#000000f2}.tk-workspace-detail__no-devices{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:2rem 1.25rem}.tk-workspace-detail__no-devices-icon{width:2rem;height:2rem;margin-bottom:.5rem}.tk-workspace-detail__calling-license{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__calling-license mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__row{display:flex;align-items:center;gap:1rem;font-size:.875rem}.tk-workspace-detail__row mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__row--with-action,.tk-workspace-detail__row--kv{justify-content:space-between}.tk-workspace-detail__row--kv:first-of-type{border-top:none}.tk-workspace-detail__row-label{color:#000000f2}.tk-workspace-detail__row-value{font-weight:500;text-align:right}.tk-workspace-detail__row-hint{font-size:14px;color:#000000b3}.tk-workspace-detail__row-chevron{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__numbers-card{display:flex;gap:1rem}.tk-workspace-detail__numbers-title{width:8.75rem;flex-shrink:0;margin:0;font-size:.9375rem;font-weight:600}.tk-workspace-detail__numbers-content{flex:1;min-width:0;display:flex;flex-direction:column}.tk-workspace-detail__numbers-row{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0}.tk-workspace-detail__numbers-row-label{width:9.375rem;flex-shrink:0;display:flex;align-items:center;gap:.375rem;font-size:.875rem}.tk-workspace-detail__numbers-row-value{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem;color:#0009}.tk-workspace-detail__numbers-table{flex:1;min-width:0;border-collapse:collapse;font-size:.875rem}.tk-workspace-detail__numbers-table th{padding:0 .75rem .5rem 0;text-align:left;font-weight:400;font-size:.8125rem;color:#0009}.tk-workspace-detail__numbers-table td{padding:0 .75rem 0 0;vertical-align:middle;white-space:nowrap}.tk-workspace-detail__numbers-chevron-cell{width:1.5rem;text-align:right;white-space:nowrap}.tk-workspace-detail__copy-icon{font-size:1rem;height:1rem;width:1rem;margin-left:.25rem;color:#0006;vertical-align:middle;cursor:pointer}.tk-workspace-detail__badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:6.25rem;background:#e8f4fc;border:1px solid #b8d9ed;color:#1170a8;font-size:.75rem;font-weight:500}.tk-workspace-detail__location{display:flex;align-items:flex-start;gap:1rem}.tk-workspace-detail__location mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__location-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__location-address{font-size:.875rem;color:#000000f2}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.WorkspaceDeviceDetailComponent, selector: "tk-workspace-device-detail", inputs: ["workspace", "device", "details", "isLoading"], outputs: ["back"] }, { kind: "component", type: i6.AppLoaderComponent, selector: "app-loader" }] });
|
|
83
|
+
WorkspaceDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: WorkspaceDetailComponent, selector: "tk-workspace-detail", inputs: { workspace: "workspace", connectionType: "connectionType", customerId: "customerId" }, outputs: { back: "back" }, ngImport: i0, template: "<ng-container *ngIf=\"view === 'overview'; else deviceDetailView\">\r\n<button type=\"button\" class=\"tk-workspace-detail__breadcrumb\" (click)=\"onBack()\">\r\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-left-bold.svg\" alt=\"Back\" />\r\n Workspaces\r\n</button>\r\n\r\n<div class=\"tk-workspace-detail__header\">\r\n <span class=\"tk-workspace-detail__icon\">\r\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n </span>\r\n <div class=\"tk-workspace-detail__title-block\">\r\n <h1 class=\"tk-workspace-detail__name\">{{ workspace.displayName }}</h1>\r\n <div class=\"tk-workspace-detail__meta\">\r\n <span class=\"tk-workspace-detail__meta-pill\">\r\n <span class=\"tk-workspace-detail__status-dot\"></span>\r\n Live status unavailable\r\n </span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-type\">Type: {{ workspace.typeLabel === 'No type' ? 'Not set' : workspace.typeLabel }}</span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-pill\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\r\n Capacity: {{ workspace.capacity ?? 'Not set' }}\r\n </span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-pill tk-workspace-detail__meta-pill--muted\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n Size not set\r\n </span>\r\n </div>\r\n </div>\r\n <button type=\"button\" class=\"tk-workspace-detail__actions-button\" [matMenuTriggerFor]=\"actionsMenu\">\r\n Actions\r\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\r\n </button>\r\n <mat-menu #actionsMenu=\"matMenu\">\r\n <button type=\"button\" mat-menu-item disabled>More actions coming soon</button>\r\n </mat-menu>\r\n</div>\r\n\r\n<nav class=\"tk-workspace-detail__tabs\">\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__tab\"\r\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'overview'\"\r\n (click)=\"selectTab('overview')\">\r\n Overview\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__tab\"\r\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'calling'\"\r\n (click)=\"selectTab('calling')\">\r\n Calling\r\n </button>\r\n</nav>\r\n\r\n<tk-loader *ngIf=\"isLoading\"></tk-loader>\r\n\r\n<ng-container *ngIf=\"details\">\r\n <div class=\"tk-workspace-detail__grid\" *ngIf=\"activeTab === 'overview'\">\r\n <div class=\"tk-workspace-detail__col\">\r\n <section class=\"tk-workspace-detail__card\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Issues & Information</h2>\r\n <div class=\"tk-workspace-detail__no-issues\" *ngIf=\"!details.issues.length\">\r\n <mat-icon class=\"tk-workspace-detail__no-issues-icon\">check_circle</mat-icon>\r\n There are currently no issues detected in your workspace.\r\n </div>\r\n <div class=\"tk-workspace-detail__issue\" *ngFor=\"let issue of details.issues\">\r\n <div class=\"tk-workspace-detail__issue-row\">\r\n <div class=\"tk-workspace-detail__issue-info\">\r\n <div class=\"tk-workspace-detail__issue-message-row\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n <div class=\"tk-workspace-detail__issue-message\">{{ issue.message }}</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-timestamp\">{{ issue.timestamp }}</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-actions\">\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">{{ issue.actionLabel }}</button>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__issue-toggle\"\r\n [class.tk-workspace-detail__issue-toggle--open]=\"expandedIssueId === issue.id\"\r\n [attr.aria-expanded]=\"expandedIssueId === issue.id\"\r\n (click)=\"'void 0'\">\r\n <img style=\"width: .75rem; height: .75rem;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-details\" *ngIf=\"expandedIssueId === issue.id\">\r\n <p>{{ issue.description }}</p>\r\n <p>\r\n Suggested action:<br />\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__issue-link\">{{ issue.suggestedAction }}</a>\r\n </p>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Devices</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__devices\" *ngIf=\"workspace.devices.length; else noDevices\">\r\n <div class=\"tk-workspace-detail__device\" *ngFor=\"let device of workspace.devices\">\r\n <img class=\"tk-workspace-detail__device-icon\" [src]=\"resolveIcon(device.model)\" [alt]=\"device.label\" />\r\n <div class=\"tk-workspace-detail__device-info\">\r\n <div style=\"display: flex; gap: 0.5rem; align-items: center;\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__device-link\" (click)=\"onOpenDevice(device)\">{{ device.label }}</a>\r\n <span class=\"tk-workspace-detail__device-primary\">Primary</span>\r\n </div>\r\n <div class=\"tk-workspace-detail__device-status\">\r\n <span class=\"tk-workspace-detail__status-dot\"></span>\r\n Status unavailable\r\n <img class=\"tk-workspace-detail__info-icon\" style=\"width: 12px; height: 12px;\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-template #noDevices>\r\n <div class=\"tk-workspace-detail__no-devices\">\r\n <img class=\"tk-workspace-detail__no-devices-icon\" src=\"assets/icons/desk-phone-bold.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Add device</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Add an IP Phone to collaborate in this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add device</button>\r\n </div>\r\n </ng-template>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Calling</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__calling-license\">\r\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/handset-regular.svg\" alt=\"\" />\r\n {{ details.calling.license }}\r\n </div>\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\r\n <span class=\"tk-workspace-detail__row-label\">Cisco Webex SIP Address</span>\r\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.sipAddress }}</span>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.schedulingConfigured\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Scheduling</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Choose scheduling</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Choose a calendar service or setup hot-desking for this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Choose scheduling</button>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Meetings</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Device hosted meetings unavailable</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Service not supported by Cisco IP phones</p>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <h2 class=\"tk-workspace-detail__card-title\">\r\n Planned Maintenance\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </h2>\r\n <div class=\"tk-workspace-detail__row\">\r\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/tools-regular.svg\" alt=\"\">\r\n <span>{{ details.plannedMaintenanceEnabled ? 'On' : 'Off' }}</span>\r\n </div>\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--with-action\">\r\n <div class=\"tk-workspace-detail__row\" style=\"flex-direction: column; gap: 1rem;\">\r\n <div style=\"display: flex; gap: 1rem; align-items: center;\">\r\n <img class=\"tk-workspace-detail__meta-icon\" style=\"width: 20px; height: 20px;\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\r\n <div>Schedule</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__row-hint\">No schedule set</div>\r\n </div>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Edit schedule</button>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.notes\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Add Notes</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/notes-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Add notes</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Write a note about this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add notes</button>\r\n </section>\r\n </div>\r\n\r\n <div class=\"tk-workspace-detail__col\">\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\" style=\"margin-bottom: 1.25rem;\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Location</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__location\">\r\n <!-- <mat-icon>location_on</mat-icon> -->\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\r\n <div style=\"display: flex; flex-direction: column; gap: .25rem;\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__location-link\">{{ details.location.country }}</a>\r\n <div class=\"tk-workspace-detail__location-address\">{{ details.location.address }}</div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tk-workspace-detail__col\" *ngIf=\"activeTab === 'calling'\">\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__numbers-card\">\r\n <h2 class=\"tk-workspace-detail__numbers-title\">Numbers</h2>\r\n\r\n <div class=\"tk-workspace-detail__numbers-content\">\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Directory number\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <table class=\"tk-workspace-detail__numbers-table\">\r\n <thead>\r\n <tr>\r\n <th>Type</th>\r\n <th>Phone Number</th>\r\n <th>Extension</th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"tk-workspace-detail__badge\">Primary</span></td>\r\n <td>\r\n {{ details.calling.directoryNumber }}\r\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </td>\r\n <td>\r\n {{ details.calling.extension || 'Not set' }}\r\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </td>\r\n <td class=\"tk-workspace-detail__numbers-chevron-cell\">\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Caller ID\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <div class=\"tk-workspace-detail__numbers-row-value\">\r\n <span>{{ callerIdLabel }}</span>\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </div>\r\n </div>\r\n\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Emergency Calling\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <div class=\"tk-workspace-detail__numbers-row-value\">\r\n <span>Not set</span>\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n</ng-container>\r\n</ng-container>\r\n\r\n<ng-template #deviceDetailView>\r\n <tk-workspace-device-detail\r\n [workspace]=\"workspace\"\r\n [device]=\"selectedDevice\"\r\n [details]=\"details?.device ?? null\"\r\n [isLoading]=\"isLoading\"\r\n (back)=\"onDeviceBack()\">\r\n </tk-workspace-device-detail>\r\n</ng-template>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2;padding:1.5rem}.tk-workspace-detail__breadcrumb{display:inline-flex;align-items:center;gap:.5rem;padding:0;margin-bottom:1rem;background:none;border:none;font-family:inherit;font-size:.875rem;font-weight:500;color:#0009;cursor:pointer}.tk-workspace-detail__breadcrumb:hover{color:#000000f2}.tk-workspace-detail__breadcrumb mat-icon{font-size:1.25rem;height:1.25rem;width:1.25rem}.tk-workspace-detail__header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.tk-workspace-detail__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:50%;background:#2b2b2b}.tk-workspace-detail__icon img{height:1.375rem;width:1.375rem;filter:brightness(0) invert(1)}.tk-workspace-detail__title-block{flex:1;min-width:0}.tk-workspace-detail__name{margin:0 0 .375rem;font-size:1.25rem;font-weight:600}.tk-workspace-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.875rem;color:#0009}.tk-workspace-detail__meta-type{color:#000000f2}.tk-workspace-detail__meta-sep{display:inline-flex;align-items:center}.tk-workspace-detail__meta-sep:before{content:\"\";flex-shrink:0;inline-size:.25rem;block-size:.25rem;border-radius:50%;background-color:var(--mch-OutlinePrimary-normal, rgba(0, 0, 0, .45))}.tk-workspace-detail__meta-icon{height:1rem;width:1rem}.tk-workspace-detail__meta-muted{color:#0006}.tk-workspace-detail__meta-pill{display:inline-flex;font-size:.875rem;align-items:center;gap:.35rem;border:1px solid rgba(0,0,0,.2);padding:.25rem .5rem;cursor:pointer;min-inline-size:1.5rem;block-size:100%;max-block-size:1.5rem;color:#000000f2;border-radius:.5rem}.tk-workspace-detail__meta-pill--muted{color:#0006}.tk-workspace-detail__meta-pill-icon{font-size:.875rem;height:.875rem;width:.875rem;opacity:.4}.tk-workspace-detail__status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#707070}.tk-workspace-detail__actions-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;flex-shrink:0}.tk-workspace-detail__actions-button:hover{background:#2b2b2b}.tk-workspace-detail__actions-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__tabs{display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid rgba(0,0,0,.12);margin-bottom:1.25rem}.tk-workspace-detail__tab{padding:.75rem 0;background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:.9375rem;font-weight:500;color:#000000b3;cursor:pointer}.tk-workspace-detail__tab:hover{color:#000000f2}.tk-workspace-detail__tab--active{color:#000000f2;border-bottom-color:#000}.tk-workspace-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media (max-width: 900px){.tk-workspace-detail__grid{grid-template-columns:1fr}}.tk-workspace-detail__col{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.tk-workspace-detail__card{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.5rem;padding:1rem 1.5rem;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-workspace-detail__card--centered{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:1rem 1.5rem}.tk-workspace-detail__card-icon{color:#0009;margin-bottom:.5rem}.tk-workspace-detail__card-heading{margin:0;font-size:.9375rem;font-weight:500}.tk-workspace-detail__card-text{margin:0 0 .5rem;font-size:.875rem;color:#000000b3;max-width:20rem}.tk-workspace-detail__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;width:100%}.tk-workspace-detail__card-title{display:flex;align-items:center;gap:.375rem;margin:0;padding:0;font-size:1rem;font-weight:500;margin-bottom:1rem}.tk-workspace-detail__card-title__settings_icon_wrapper{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.5019607843);color:#000000f2;cursor:pointer}.tk-workspace-detail__card-header .tk-workspace-detail__card-title{margin-bottom:0}.tk-workspace-detail__settings-icon,.tk-workspace-detail__info-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-workspace-detail__divider{border:none;border-top:1px solid rgba(0,0,0,.2);margin:.75rem 0}.tk-workspace-detail__no-issues{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__no-issues-icon{color:#1d805f;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__issue+.tk-workspace-detail__issue{margin-top:.75rem}.tk-workspace-detail__issue-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;border-radius:.5rem;border:.0625rem solid rgba(0,0,0,.2);cursor:pointer;height:46px;box-sizing:content-box}.tk-workspace-detail__issue-row:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.tk-workspace-detail__issue-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:50%;color:#0009;cursor:pointer;flex-shrink:0;background:transparent}.tk-workspace-detail__issue-toggle:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-toggle:active{background:rgba(0,0,0,.2)}.tk-workspace-detail__issue-toggle mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;transition:transform .15s ease}.tk-workspace-detail__issue-toggle--open mat-icon{transform:rotate(180deg)}.tk-workspace-detail__issue-details{padding:.75rem 1rem .25rem 2.75rem;font-size:.8125rem;color:#0009}.tk-workspace-detail__issue-details p{margin:0 0 .5rem}.tk-workspace-detail__issue-link{color:#0353a8;text-decoration:underline}.tk-workspace-detail__issue-info{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;height:100%;justify-content:space-around}.tk-workspace-detail__issue-icon{color:#0353a8;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__issue-message-row{display:flex;align-items:center;gap:.5rem}.tk-workspace-detail__issue-message-row .tk-workspace-detail__issue-message{font-size:.875rem;font-weight:500}.tk-workspace-detail__issue-timestamp{font-size:.75rem;color:#000000b3}.tk-workspace-detail__pill-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#fff;border:1px solid rgba(0,0,0,.5019607843);border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;color:#000000f2;text-overflow:ellipsis;overflow:hidden!important;cursor:pointer;white-space:nowrap}.tk-workspace-detail__pill-button:hover{background:#ededed}.tk-workspace-detail__pill-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__devices{display:flex;flex-wrap:wrap;gap:.75rem;display:grid;grid-template-rows:auto 1fr;grid-template-columns:repeat(auto-fit,minmax(16.75rem,1fr));gap:.5rem}.tk-workspace-detail__device{align-items:center;gap:1.5rem;padding:.75rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;min-width:12rem;align-items:start;display:flex;flex-direction:column;grid-row:span 2;grid-column:1;min-block-size:8rem}.tk-workspace-detail__device-icon{width:3rem;height:3rem;flex-shrink:0}.tk-workspace-detail__device-info{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.tk-workspace-detail__device-info .tk-workspace-detail__device-primary{font-size:.75rem;min-inline-size:1.25rem;block-size:100%;max-block-size:1.25rem;border-color:#5ebff7;background-color:#08599c;color:#fffffff2;display:inline-flex;flex:0 0 auto;gap:.25rem;align-items:center;justify-content:center;overflow:hidden;padding:.25rem .5rem;border:.0625rem solid #5ebff7;border-radius:.25rem;line-height:1;text-overflow:ellipsis;box-sizing:border-box}.tk-workspace-detail__device-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__device-status{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#000000f2}.tk-workspace-detail__no-devices{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:2rem 1.25rem}.tk-workspace-detail__no-devices-icon{width:2rem;height:2rem;margin-bottom:.5rem}.tk-workspace-detail__calling-license{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__calling-license mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__row{display:flex;align-items:center;gap:1rem;font-size:.875rem}.tk-workspace-detail__row mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__row--with-action,.tk-workspace-detail__row--kv{justify-content:space-between}.tk-workspace-detail__row--kv:first-of-type{border-top:none}.tk-workspace-detail__row-label{color:#000000f2}.tk-workspace-detail__row-value{font-weight:500;text-align:right}.tk-workspace-detail__row-hint{font-size:14px;color:#000000b3}.tk-workspace-detail__row-chevron{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__numbers-card{display:flex;gap:1rem}.tk-workspace-detail__numbers-title{width:8.75rem;flex-shrink:0;margin:0;font-size:.9375rem;font-weight:600}.tk-workspace-detail__numbers-content{flex:1;min-width:0;display:flex;flex-direction:column}.tk-workspace-detail__numbers-row{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0}.tk-workspace-detail__numbers-row-label{width:9.375rem;flex-shrink:0;display:flex;align-items:center;gap:.375rem;font-size:.875rem}.tk-workspace-detail__numbers-row-value{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem;color:#0009}.tk-workspace-detail__numbers-table{flex:1;min-width:0;border-collapse:collapse;font-size:.875rem}.tk-workspace-detail__numbers-table th{padding:0 .75rem .5rem 0;text-align:left;font-weight:400;font-size:.8125rem;color:#0009}.tk-workspace-detail__numbers-table td{padding:0 .75rem 0 0;vertical-align:middle;white-space:nowrap}.tk-workspace-detail__numbers-chevron-cell{width:1.5rem;text-align:right;white-space:nowrap}.tk-workspace-detail__copy-icon{font-size:1rem;height:1rem;width:1rem;margin-left:.25rem;color:#0006;vertical-align:middle;cursor:pointer}.tk-workspace-detail__badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:6.25rem;background:#e8f4fc;border:1px solid #b8d9ed;color:#1170a8;font-size:.75rem;font-weight:500}.tk-workspace-detail__location{display:flex;align-items:flex-start;gap:1rem}.tk-workspace-detail__location mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__location-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__location-address{font-size:.875rem;color:#000000f2}\n"], dependencies: [{ kind: "component", type: i3.TkLoaderComponent, selector: "tk-loader", inputs: ["diameter", "strokeWidth", "backdrop", "color"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.WorkspaceDeviceDetailComponent, selector: "tk-workspace-device-detail", inputs: ["workspace", "device", "details", "isLoading"], outputs: ["back"] }] });
|
|
84
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspaceDetailComponent, decorators: [{
|
|
85
85
|
type: Component,
|
|
86
|
-
args: [{ selector: 'tk-workspace-detail', template: "<ng-container *ngIf=\"view === 'overview'; else deviceDetailView\">\r\n<button type=\"button\" class=\"tk-workspace-detail__breadcrumb\" (click)=\"onBack()\">\r\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-left-bold.svg\" alt=\"Back\" />\r\n Workspaces\r\n</button>\r\n\r\n<div class=\"tk-workspace-detail__header\">\r\n <span class=\"tk-workspace-detail__icon\">\r\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n </span>\r\n <div class=\"tk-workspace-detail__title-block\">\r\n <h1 class=\"tk-workspace-detail__name\">{{ workspace.displayName }}</h1>\r\n <div class=\"tk-workspace-detail__meta\">\r\n <span class=\"tk-workspace-detail__meta-pill\">\r\n <span class=\"tk-workspace-detail__status-dot\"></span>\r\n Live status unavailable\r\n </span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-type\">Type: {{ workspace.typeLabel === 'No type' ? 'Not set' : workspace.typeLabel }}</span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-pill\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\r\n Capacity: {{ workspace.capacity ?? 'Not set' }}\r\n </span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-pill tk-workspace-detail__meta-pill--muted\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n Size not set\r\n </span>\r\n </div>\r\n </div>\r\n <button type=\"button\" class=\"tk-workspace-detail__actions-button\" [matMenuTriggerFor]=\"actionsMenu\">\r\n Actions\r\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\r\n </button>\r\n <mat-menu #actionsMenu=\"matMenu\">\r\n <button type=\"button\" mat-menu-item disabled>More actions coming soon</button>\r\n </mat-menu>\r\n</div>\r\n\r\n<nav class=\"tk-workspace-detail__tabs\">\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__tab\"\r\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'overview'\"\r\n (click)=\"selectTab('overview')\">\r\n Overview\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__tab\"\r\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'calling'\"\r\n (click)=\"selectTab('calling')\">\r\n Calling\r\n </button>\r\n</nav>\r\n\r\n<app-loader *ngIf=\"isLoading\"></app-loader>\r\n\r\n<ng-container *ngIf=\"details\">\r\n <div class=\"tk-workspace-detail__grid\" *ngIf=\"activeTab === 'overview'\">\r\n <div class=\"tk-workspace-detail__col\">\r\n <section class=\"tk-workspace-detail__card\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Issues & Information</h2>\r\n <div class=\"tk-workspace-detail__no-issues\" *ngIf=\"!details.issues.length\">\r\n <mat-icon class=\"tk-workspace-detail__no-issues-icon\">check_circle</mat-icon>\r\n There are currently no issues detected in your workspace.\r\n </div>\r\n <div class=\"tk-workspace-detail__issue\" *ngFor=\"let issue of details.issues\">\r\n <div class=\"tk-workspace-detail__issue-row\">\r\n <div class=\"tk-workspace-detail__issue-info\">\r\n <div class=\"tk-workspace-detail__issue-message-row\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n <div class=\"tk-workspace-detail__issue-message\">{{ issue.message }}</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-timestamp\">{{ issue.timestamp }}</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-actions\">\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">{{ issue.actionLabel }}</button>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__issue-toggle\"\r\n [class.tk-workspace-detail__issue-toggle--open]=\"expandedIssueId === issue.id\"\r\n [attr.aria-expanded]=\"expandedIssueId === issue.id\"\r\n (click)=\"'void 0'\">\r\n <img style=\"width: .75rem; height: .75rem;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-details\" *ngIf=\"expandedIssueId === issue.id\">\r\n <p>{{ issue.description }}</p>\r\n <p>\r\n Suggested action:<br />\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__issue-link\">{{ issue.suggestedAction }}</a>\r\n </p>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Devices</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__devices\" *ngIf=\"workspace.devices.length; else noDevices\">\r\n <div class=\"tk-workspace-detail__device\" *ngFor=\"let device of workspace.devices\">\r\n <img class=\"tk-workspace-detail__device-icon\" [src]=\"resolveIcon(device.model)\" [alt]=\"device.label\" />\r\n <div class=\"tk-workspace-detail__device-info\">\r\n <div style=\"display: flex; gap: 0.5rem; align-items: center;\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__device-link\" (click)=\"onOpenDevice(device)\">{{ device.label }}</a>\r\n <span class=\"tk-workspace-detail__device-primary\">Primary</span>\r\n </div>\r\n <div class=\"tk-workspace-detail__device-status\">\r\n <span class=\"tk-workspace-detail__status-dot\"></span>\r\n Status unavailable\r\n <img class=\"tk-workspace-detail__info-icon\" style=\"width: 12px; height: 12px;\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-template #noDevices>\r\n <div class=\"tk-workspace-detail__no-devices\">\r\n <img class=\"tk-workspace-detail__no-devices-icon\" src=\"assets/icons/desk-phone-bold.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Add device</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Add an IP Phone to collaborate in this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add device</button>\r\n </div>\r\n </ng-template>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Calling</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__calling-license\">\r\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/handset-regular.svg\" alt=\"\" />\r\n {{ details.calling.license }}\r\n </div>\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\r\n <span class=\"tk-workspace-detail__row-label\">Cisco Webex SIP Address</span>\r\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.sipAddress }}</span>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.schedulingConfigured\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Scheduling</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Choose scheduling</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Choose a calendar service or setup hot-desking for this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Choose scheduling</button>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Meetings</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Device hosted meetings unavailable</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Service not supported by Cisco IP phones</p>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <h2 class=\"tk-workspace-detail__card-title\">\r\n Planned Maintenance\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </h2>\r\n <div class=\"tk-workspace-detail__row\">\r\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/tools-regular.svg\" alt=\"\">\r\n <span>{{ details.plannedMaintenanceEnabled ? 'On' : 'Off' }}</span>\r\n </div>\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--with-action\">\r\n <div class=\"tk-workspace-detail__row\" style=\"flex-direction: column; gap: 1rem;\">\r\n <div style=\"display: flex; gap: 1rem; align-items: center;\">\r\n <img class=\"tk-workspace-detail__meta-icon\" style=\"width: 20px; height: 20px;\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\r\n <div>Schedule</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__row-hint\">No schedule set</div>\r\n </div>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Edit schedule</button>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.notes\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Add Notes</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/notes-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Add notes</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Write a note about this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add notes</button>\r\n </section>\r\n </div>\r\n\r\n <div class=\"tk-workspace-detail__col\">\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\" style=\"margin-bottom: 1.25rem;\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Location</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__location\">\r\n <!-- <mat-icon>location_on</mat-icon> -->\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\r\n <div style=\"display: flex; flex-direction: column; gap: .25rem;\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__location-link\">{{ details.location.country }}</a>\r\n <div class=\"tk-workspace-detail__location-address\">{{ details.location.address }}</div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tk-workspace-detail__col\" *ngIf=\"activeTab === 'calling'\">\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__numbers-card\">\r\n <h2 class=\"tk-workspace-detail__numbers-title\">Numbers</h2>\r\n\r\n <div class=\"tk-workspace-detail__numbers-content\">\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Directory number\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <table class=\"tk-workspace-detail__numbers-table\">\r\n <thead>\r\n <tr>\r\n <th>Type</th>\r\n <th>Phone Number</th>\r\n <th>Extension</th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"tk-workspace-detail__badge\">Primary</span></td>\r\n <td>\r\n {{ details.calling.directoryNumber }}\r\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </td>\r\n <td>\r\n {{ details.calling.extension || 'Not set' }}\r\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </td>\r\n <td class=\"tk-workspace-detail__numbers-chevron-cell\">\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Caller ID\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <div class=\"tk-workspace-detail__numbers-row-value\">\r\n <span>{{ callerIdLabel }}</span>\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </div>\r\n </div>\r\n\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Emergency Calling\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <div class=\"tk-workspace-detail__numbers-row-value\">\r\n <span>Not set</span>\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n</ng-container>\r\n</ng-container>\r\n\r\n<ng-template #deviceDetailView>\r\n <tk-workspace-device-detail\r\n [workspace]=\"workspace\"\r\n [device]=\"selectedDevice\"\r\n [details]=\"details?.device ?? null\"\r\n [isLoading]=\"isLoading\"\r\n (back)=\"onDeviceBack()\">\r\n </tk-workspace-device-detail>\r\n</ng-template>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2;padding:1.5rem}.tk-workspace-detail__breadcrumb{display:inline-flex;align-items:center;gap:.5rem;padding:0;margin-bottom:1rem;background:none;border:none;font-family:inherit;font-size:.875rem;font-weight:500;color:#0009;cursor:pointer}.tk-workspace-detail__breadcrumb:hover{color:#000000f2}.tk-workspace-detail__breadcrumb mat-icon{font-size:1.25rem;height:1.25rem;width:1.25rem}.tk-workspace-detail__header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.tk-workspace-detail__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:50%;background:#2b2b2b}.tk-workspace-detail__icon img{height:1.375rem;width:1.375rem;filter:brightness(0) invert(1)}.tk-workspace-detail__title-block{flex:1;min-width:0}.tk-workspace-detail__name{margin:0 0 .375rem;font-size:1.25rem;font-weight:600}.tk-workspace-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.875rem;color:#0009}.tk-workspace-detail__meta-type{color:#000000f2}.tk-workspace-detail__meta-sep{display:inline-flex;align-items:center}.tk-workspace-detail__meta-sep:before{content:\"\";flex-shrink:0;inline-size:.25rem;block-size:.25rem;border-radius:50%;background-color:var(--mch-OutlinePrimary-normal, rgba(0, 0, 0, .45))}.tk-workspace-detail__meta-icon{height:1rem;width:1rem}.tk-workspace-detail__meta-muted{color:#0006}.tk-workspace-detail__meta-pill{display:inline-flex;font-size:.875rem;align-items:center;gap:.35rem;border:1px solid rgba(0,0,0,.2);padding:.25rem .5rem;cursor:pointer;min-inline-size:1.5rem;block-size:100%;max-block-size:1.5rem;color:#000000f2;border-radius:.5rem}.tk-workspace-detail__meta-pill--muted{color:#0006}.tk-workspace-detail__meta-pill-icon{font-size:.875rem;height:.875rem;width:.875rem;opacity:.4}.tk-workspace-detail__status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#707070}.tk-workspace-detail__actions-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;flex-shrink:0}.tk-workspace-detail__actions-button:hover{background:#2b2b2b}.tk-workspace-detail__actions-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__tabs{display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid rgba(0,0,0,.12);margin-bottom:1.25rem}.tk-workspace-detail__tab{padding:.75rem 0;background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:.9375rem;font-weight:500;color:#000000b3;cursor:pointer}.tk-workspace-detail__tab:hover{color:#000000f2}.tk-workspace-detail__tab--active{color:#000000f2;border-bottom-color:#000}.tk-workspace-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media (max-width: 900px){.tk-workspace-detail__grid{grid-template-columns:1fr}}.tk-workspace-detail__col{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.tk-workspace-detail__card{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.5rem;padding:1rem 1.5rem;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-workspace-detail__card--centered{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:1rem 1.5rem}.tk-workspace-detail__card-icon{color:#0009;margin-bottom:.5rem}.tk-workspace-detail__card-heading{margin:0;font-size:.9375rem;font-weight:500}.tk-workspace-detail__card-text{margin:0 0 .5rem;font-size:.875rem;color:#000000b3;max-width:20rem}.tk-workspace-detail__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;width:100%}.tk-workspace-detail__card-title{display:flex;align-items:center;gap:.375rem;margin:0;padding:0;font-size:1rem;font-weight:500;margin-bottom:1rem}.tk-workspace-detail__card-title__settings_icon_wrapper{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.5019607843);color:#000000f2;cursor:pointer}.tk-workspace-detail__card-header .tk-workspace-detail__card-title{margin-bottom:0}.tk-workspace-detail__settings-icon,.tk-workspace-detail__info-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-workspace-detail__divider{border:none;border-top:1px solid rgba(0,0,0,.2);margin:.75rem 0}.tk-workspace-detail__no-issues{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__no-issues-icon{color:#1d805f;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__issue+.tk-workspace-detail__issue{margin-top:.75rem}.tk-workspace-detail__issue-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;border-radius:.5rem;border:.0625rem solid rgba(0,0,0,.2);cursor:pointer;height:46px;box-sizing:content-box}.tk-workspace-detail__issue-row:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.tk-workspace-detail__issue-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:50%;color:#0009;cursor:pointer;flex-shrink:0;background:transparent}.tk-workspace-detail__issue-toggle:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-toggle:active{background:rgba(0,0,0,.2)}.tk-workspace-detail__issue-toggle mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;transition:transform .15s ease}.tk-workspace-detail__issue-toggle--open mat-icon{transform:rotate(180deg)}.tk-workspace-detail__issue-details{padding:.75rem 1rem .25rem 2.75rem;font-size:.8125rem;color:#0009}.tk-workspace-detail__issue-details p{margin:0 0 .5rem}.tk-workspace-detail__issue-link{color:#0353a8;text-decoration:underline}.tk-workspace-detail__issue-info{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;height:100%;justify-content:space-around}.tk-workspace-detail__issue-icon{color:#0353a8;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__issue-message-row{display:flex;align-items:center;gap:.5rem}.tk-workspace-detail__issue-message-row .tk-workspace-detail__issue-message{font-size:.875rem;font-weight:500}.tk-workspace-detail__issue-timestamp{font-size:.75rem;color:#000000b3}.tk-workspace-detail__pill-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#fff;border:1px solid rgba(0,0,0,.5019607843);border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;color:#000000f2;text-overflow:ellipsis;overflow:hidden!important;cursor:pointer;white-space:nowrap}.tk-workspace-detail__pill-button:hover{background:#ededed}.tk-workspace-detail__pill-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__devices{display:flex;flex-wrap:wrap;gap:.75rem;display:grid;grid-template-rows:auto 1fr;grid-template-columns:repeat(auto-fit,minmax(16.75rem,1fr));gap:.5rem}.tk-workspace-detail__device{align-items:center;gap:1.5rem;padding:.75rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;min-width:12rem;align-items:start;display:flex;flex-direction:column;grid-row:span 2;grid-column:1;min-block-size:8rem}.tk-workspace-detail__device-icon{width:3rem;height:3rem;flex-shrink:0}.tk-workspace-detail__device-info{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.tk-workspace-detail__device-info .tk-workspace-detail__device-primary{font-size:.75rem;min-inline-size:1.25rem;block-size:100%;max-block-size:1.25rem;border-color:#5ebff7;background-color:#08599c;color:#fffffff2;display:inline-flex;flex:0 0 auto;gap:.25rem;align-items:center;justify-content:center;overflow:hidden;padding:.25rem .5rem;border:.0625rem solid #5ebff7;border-radius:.25rem;line-height:1;text-overflow:ellipsis;box-sizing:border-box}.tk-workspace-detail__device-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__device-status{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#000000f2}.tk-workspace-detail__no-devices{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:2rem 1.25rem}.tk-workspace-detail__no-devices-icon{width:2rem;height:2rem;margin-bottom:.5rem}.tk-workspace-detail__calling-license{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__calling-license mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__row{display:flex;align-items:center;gap:1rem;font-size:.875rem}.tk-workspace-detail__row mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__row--with-action,.tk-workspace-detail__row--kv{justify-content:space-between}.tk-workspace-detail__row--kv:first-of-type{border-top:none}.tk-workspace-detail__row-label{color:#000000f2}.tk-workspace-detail__row-value{font-weight:500;text-align:right}.tk-workspace-detail__row-hint{font-size:14px;color:#000000b3}.tk-workspace-detail__row-chevron{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__numbers-card{display:flex;gap:1rem}.tk-workspace-detail__numbers-title{width:8.75rem;flex-shrink:0;margin:0;font-size:.9375rem;font-weight:600}.tk-workspace-detail__numbers-content{flex:1;min-width:0;display:flex;flex-direction:column}.tk-workspace-detail__numbers-row{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0}.tk-workspace-detail__numbers-row-label{width:9.375rem;flex-shrink:0;display:flex;align-items:center;gap:.375rem;font-size:.875rem}.tk-workspace-detail__numbers-row-value{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem;color:#0009}.tk-workspace-detail__numbers-table{flex:1;min-width:0;border-collapse:collapse;font-size:.875rem}.tk-workspace-detail__numbers-table th{padding:0 .75rem .5rem 0;text-align:left;font-weight:400;font-size:.8125rem;color:#0009}.tk-workspace-detail__numbers-table td{padding:0 .75rem 0 0;vertical-align:middle;white-space:nowrap}.tk-workspace-detail__numbers-chevron-cell{width:1.5rem;text-align:right;white-space:nowrap}.tk-workspace-detail__copy-icon{font-size:1rem;height:1rem;width:1rem;margin-left:.25rem;color:#0006;vertical-align:middle;cursor:pointer}.tk-workspace-detail__badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:6.25rem;background:#e8f4fc;border:1px solid #b8d9ed;color:#1170a8;font-size:.75rem;font-weight:500}.tk-workspace-detail__location{display:flex;align-items:flex-start;gap:1rem}.tk-workspace-detail__location mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__location-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__location-address{font-size:.875rem;color:#000000f2}\n"] }]
|
|
86
|
+
args: [{ selector: 'tk-workspace-detail', template: "<ng-container *ngIf=\"view === 'overview'; else deviceDetailView\">\r\n<button type=\"button\" class=\"tk-workspace-detail__breadcrumb\" (click)=\"onBack()\">\r\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-left-bold.svg\" alt=\"Back\" />\r\n Workspaces\r\n</button>\r\n\r\n<div class=\"tk-workspace-detail__header\">\r\n <span class=\"tk-workspace-detail__icon\">\r\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n </span>\r\n <div class=\"tk-workspace-detail__title-block\">\r\n <h1 class=\"tk-workspace-detail__name\">{{ workspace.displayName }}</h1>\r\n <div class=\"tk-workspace-detail__meta\">\r\n <span class=\"tk-workspace-detail__meta-pill\">\r\n <span class=\"tk-workspace-detail__status-dot\"></span>\r\n Live status unavailable\r\n </span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-type\">Type: {{ workspace.typeLabel === 'No type' ? 'Not set' : workspace.typeLabel }}</span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-pill\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\r\n Capacity: {{ workspace.capacity ?? 'Not set' }}\r\n </span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-pill tk-workspace-detail__meta-pill--muted\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n Size not set\r\n </span>\r\n </div>\r\n </div>\r\n <button type=\"button\" class=\"tk-workspace-detail__actions-button\" [matMenuTriggerFor]=\"actionsMenu\">\r\n Actions\r\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\r\n </button>\r\n <mat-menu #actionsMenu=\"matMenu\">\r\n <button type=\"button\" mat-menu-item disabled>More actions coming soon</button>\r\n </mat-menu>\r\n</div>\r\n\r\n<nav class=\"tk-workspace-detail__tabs\">\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__tab\"\r\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'overview'\"\r\n (click)=\"selectTab('overview')\">\r\n Overview\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__tab\"\r\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'calling'\"\r\n (click)=\"selectTab('calling')\">\r\n Calling\r\n </button>\r\n</nav>\r\n\r\n<tk-loader *ngIf=\"isLoading\"></tk-loader>\r\n\r\n<ng-container *ngIf=\"details\">\r\n <div class=\"tk-workspace-detail__grid\" *ngIf=\"activeTab === 'overview'\">\r\n <div class=\"tk-workspace-detail__col\">\r\n <section class=\"tk-workspace-detail__card\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Issues & Information</h2>\r\n <div class=\"tk-workspace-detail__no-issues\" *ngIf=\"!details.issues.length\">\r\n <mat-icon class=\"tk-workspace-detail__no-issues-icon\">check_circle</mat-icon>\r\n There are currently no issues detected in your workspace.\r\n </div>\r\n <div class=\"tk-workspace-detail__issue\" *ngFor=\"let issue of details.issues\">\r\n <div class=\"tk-workspace-detail__issue-row\">\r\n <div class=\"tk-workspace-detail__issue-info\">\r\n <div class=\"tk-workspace-detail__issue-message-row\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n <div class=\"tk-workspace-detail__issue-message\">{{ issue.message }}</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-timestamp\">{{ issue.timestamp }}</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-actions\">\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">{{ issue.actionLabel }}</button>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__issue-toggle\"\r\n [class.tk-workspace-detail__issue-toggle--open]=\"expandedIssueId === issue.id\"\r\n [attr.aria-expanded]=\"expandedIssueId === issue.id\"\r\n (click)=\"'void 0'\">\r\n <img style=\"width: .75rem; height: .75rem;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-details\" *ngIf=\"expandedIssueId === issue.id\">\r\n <p>{{ issue.description }}</p>\r\n <p>\r\n Suggested action:<br />\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__issue-link\">{{ issue.suggestedAction }}</a>\r\n </p>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Devices</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__devices\" *ngIf=\"workspace.devices.length; else noDevices\">\r\n <div class=\"tk-workspace-detail__device\" *ngFor=\"let device of workspace.devices\">\r\n <img class=\"tk-workspace-detail__device-icon\" [src]=\"resolveIcon(device.model)\" [alt]=\"device.label\" />\r\n <div class=\"tk-workspace-detail__device-info\">\r\n <div style=\"display: flex; gap: 0.5rem; align-items: center;\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__device-link\" (click)=\"onOpenDevice(device)\">{{ device.label }}</a>\r\n <span class=\"tk-workspace-detail__device-primary\">Primary</span>\r\n </div>\r\n <div class=\"tk-workspace-detail__device-status\">\r\n <span class=\"tk-workspace-detail__status-dot\"></span>\r\n Status unavailable\r\n <img class=\"tk-workspace-detail__info-icon\" style=\"width: 12px; height: 12px;\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-template #noDevices>\r\n <div class=\"tk-workspace-detail__no-devices\">\r\n <img class=\"tk-workspace-detail__no-devices-icon\" src=\"assets/icons/desk-phone-bold.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Add device</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Add an IP Phone to collaborate in this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add device</button>\r\n </div>\r\n </ng-template>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Calling</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__calling-license\">\r\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/handset-regular.svg\" alt=\"\" />\r\n {{ details.calling.license }}\r\n </div>\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\r\n <span class=\"tk-workspace-detail__row-label\">Cisco Webex SIP Address</span>\r\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.sipAddress }}</span>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.schedulingConfigured\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Scheduling</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Choose scheduling</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Choose a calendar service or setup hot-desking for this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Choose scheduling</button>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Meetings</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Device hosted meetings unavailable</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Service not supported by Cisco IP phones</p>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <h2 class=\"tk-workspace-detail__card-title\">\r\n Planned Maintenance\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </h2>\r\n <div class=\"tk-workspace-detail__row\">\r\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/tools-regular.svg\" alt=\"\">\r\n <span>{{ details.plannedMaintenanceEnabled ? 'On' : 'Off' }}</span>\r\n </div>\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--with-action\">\r\n <div class=\"tk-workspace-detail__row\" style=\"flex-direction: column; gap: 1rem;\">\r\n <div style=\"display: flex; gap: 1rem; align-items: center;\">\r\n <img class=\"tk-workspace-detail__meta-icon\" style=\"width: 20px; height: 20px;\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\r\n <div>Schedule</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__row-hint\">No schedule set</div>\r\n </div>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Edit schedule</button>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.notes\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Add Notes</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/notes-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Add notes</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Write a note about this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add notes</button>\r\n </section>\r\n </div>\r\n\r\n <div class=\"tk-workspace-detail__col\">\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\" style=\"margin-bottom: 1.25rem;\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Location</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__location\">\r\n <!-- <mat-icon>location_on</mat-icon> -->\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\r\n <div style=\"display: flex; flex-direction: column; gap: .25rem;\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__location-link\">{{ details.location.country }}</a>\r\n <div class=\"tk-workspace-detail__location-address\">{{ details.location.address }}</div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tk-workspace-detail__col\" *ngIf=\"activeTab === 'calling'\">\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__numbers-card\">\r\n <h2 class=\"tk-workspace-detail__numbers-title\">Numbers</h2>\r\n\r\n <div class=\"tk-workspace-detail__numbers-content\">\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Directory number\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <table class=\"tk-workspace-detail__numbers-table\">\r\n <thead>\r\n <tr>\r\n <th>Type</th>\r\n <th>Phone Number</th>\r\n <th>Extension</th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"tk-workspace-detail__badge\">Primary</span></td>\r\n <td>\r\n {{ details.calling.directoryNumber }}\r\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </td>\r\n <td>\r\n {{ details.calling.extension || 'Not set' }}\r\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </td>\r\n <td class=\"tk-workspace-detail__numbers-chevron-cell\">\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Caller ID\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <div class=\"tk-workspace-detail__numbers-row-value\">\r\n <span>{{ callerIdLabel }}</span>\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </div>\r\n </div>\r\n\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Emergency Calling\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <div class=\"tk-workspace-detail__numbers-row-value\">\r\n <span>Not set</span>\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n</ng-container>\r\n</ng-container>\r\n\r\n<ng-template #deviceDetailView>\r\n <tk-workspace-device-detail\r\n [workspace]=\"workspace\"\r\n [device]=\"selectedDevice\"\r\n [details]=\"details?.device ?? null\"\r\n [isLoading]=\"isLoading\"\r\n (back)=\"onDeviceBack()\">\r\n </tk-workspace-device-detail>\r\n</ng-template>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2;padding:1.5rem}.tk-workspace-detail__breadcrumb{display:inline-flex;align-items:center;gap:.5rem;padding:0;margin-bottom:1rem;background:none;border:none;font-family:inherit;font-size:.875rem;font-weight:500;color:#0009;cursor:pointer}.tk-workspace-detail__breadcrumb:hover{color:#000000f2}.tk-workspace-detail__breadcrumb mat-icon{font-size:1.25rem;height:1.25rem;width:1.25rem}.tk-workspace-detail__header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.tk-workspace-detail__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:50%;background:#2b2b2b}.tk-workspace-detail__icon img{height:1.375rem;width:1.375rem;filter:brightness(0) invert(1)}.tk-workspace-detail__title-block{flex:1;min-width:0}.tk-workspace-detail__name{margin:0 0 .375rem;font-size:1.25rem;font-weight:600}.tk-workspace-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.875rem;color:#0009}.tk-workspace-detail__meta-type{color:#000000f2}.tk-workspace-detail__meta-sep{display:inline-flex;align-items:center}.tk-workspace-detail__meta-sep:before{content:\"\";flex-shrink:0;inline-size:.25rem;block-size:.25rem;border-radius:50%;background-color:var(--mch-OutlinePrimary-normal, rgba(0, 0, 0, .45))}.tk-workspace-detail__meta-icon{height:1rem;width:1rem}.tk-workspace-detail__meta-muted{color:#0006}.tk-workspace-detail__meta-pill{display:inline-flex;font-size:.875rem;align-items:center;gap:.35rem;border:1px solid rgba(0,0,0,.2);padding:.25rem .5rem;cursor:pointer;min-inline-size:1.5rem;block-size:100%;max-block-size:1.5rem;color:#000000f2;border-radius:.5rem}.tk-workspace-detail__meta-pill--muted{color:#0006}.tk-workspace-detail__meta-pill-icon{font-size:.875rem;height:.875rem;width:.875rem;opacity:.4}.tk-workspace-detail__status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#707070}.tk-workspace-detail__actions-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;flex-shrink:0}.tk-workspace-detail__actions-button:hover{background:#2b2b2b}.tk-workspace-detail__actions-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__tabs{display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid rgba(0,0,0,.12);margin-bottom:1.25rem}.tk-workspace-detail__tab{padding:.75rem 0;background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:.9375rem;font-weight:500;color:#000000b3;cursor:pointer}.tk-workspace-detail__tab:hover{color:#000000f2}.tk-workspace-detail__tab--active{color:#000000f2;border-bottom-color:#000}.tk-workspace-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media (max-width: 900px){.tk-workspace-detail__grid{grid-template-columns:1fr}}.tk-workspace-detail__col{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.tk-workspace-detail__card{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.5rem;padding:1rem 1.5rem;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-workspace-detail__card--centered{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:1rem 1.5rem}.tk-workspace-detail__card-icon{color:#0009;margin-bottom:.5rem}.tk-workspace-detail__card-heading{margin:0;font-size:.9375rem;font-weight:500}.tk-workspace-detail__card-text{margin:0 0 .5rem;font-size:.875rem;color:#000000b3;max-width:20rem}.tk-workspace-detail__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;width:100%}.tk-workspace-detail__card-title{display:flex;align-items:center;gap:.375rem;margin:0;padding:0;font-size:1rem;font-weight:500;margin-bottom:1rem}.tk-workspace-detail__card-title__settings_icon_wrapper{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.5019607843);color:#000000f2;cursor:pointer}.tk-workspace-detail__card-header .tk-workspace-detail__card-title{margin-bottom:0}.tk-workspace-detail__settings-icon,.tk-workspace-detail__info-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-workspace-detail__divider{border:none;border-top:1px solid rgba(0,0,0,.2);margin:.75rem 0}.tk-workspace-detail__no-issues{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__no-issues-icon{color:#1d805f;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__issue+.tk-workspace-detail__issue{margin-top:.75rem}.tk-workspace-detail__issue-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;border-radius:.5rem;border:.0625rem solid rgba(0,0,0,.2);cursor:pointer;height:46px;box-sizing:content-box}.tk-workspace-detail__issue-row:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.tk-workspace-detail__issue-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:50%;color:#0009;cursor:pointer;flex-shrink:0;background:transparent}.tk-workspace-detail__issue-toggle:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-toggle:active{background:rgba(0,0,0,.2)}.tk-workspace-detail__issue-toggle mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;transition:transform .15s ease}.tk-workspace-detail__issue-toggle--open mat-icon{transform:rotate(180deg)}.tk-workspace-detail__issue-details{padding:.75rem 1rem .25rem 2.75rem;font-size:.8125rem;color:#0009}.tk-workspace-detail__issue-details p{margin:0 0 .5rem}.tk-workspace-detail__issue-link{color:#0353a8;text-decoration:underline}.tk-workspace-detail__issue-info{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;height:100%;justify-content:space-around}.tk-workspace-detail__issue-icon{color:#0353a8;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__issue-message-row{display:flex;align-items:center;gap:.5rem}.tk-workspace-detail__issue-message-row .tk-workspace-detail__issue-message{font-size:.875rem;font-weight:500}.tk-workspace-detail__issue-timestamp{font-size:.75rem;color:#000000b3}.tk-workspace-detail__pill-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#fff;border:1px solid rgba(0,0,0,.5019607843);border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;color:#000000f2;text-overflow:ellipsis;overflow:hidden!important;cursor:pointer;white-space:nowrap}.tk-workspace-detail__pill-button:hover{background:#ededed}.tk-workspace-detail__pill-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__devices{display:flex;flex-wrap:wrap;gap:.75rem;display:grid;grid-template-rows:auto 1fr;grid-template-columns:repeat(auto-fit,minmax(16.75rem,1fr));gap:.5rem}.tk-workspace-detail__device{align-items:center;gap:1.5rem;padding:.75rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;min-width:12rem;align-items:start;display:flex;flex-direction:column;grid-row:span 2;grid-column:1;min-block-size:8rem}.tk-workspace-detail__device-icon{width:3rem;height:3rem;flex-shrink:0}.tk-workspace-detail__device-info{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.tk-workspace-detail__device-info .tk-workspace-detail__device-primary{font-size:.75rem;min-inline-size:1.25rem;block-size:100%;max-block-size:1.25rem;border-color:#5ebff7;background-color:#08599c;color:#fffffff2;display:inline-flex;flex:0 0 auto;gap:.25rem;align-items:center;justify-content:center;overflow:hidden;padding:.25rem .5rem;border:.0625rem solid #5ebff7;border-radius:.25rem;line-height:1;text-overflow:ellipsis;box-sizing:border-box}.tk-workspace-detail__device-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__device-status{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#000000f2}.tk-workspace-detail__no-devices{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:2rem 1.25rem}.tk-workspace-detail__no-devices-icon{width:2rem;height:2rem;margin-bottom:.5rem}.tk-workspace-detail__calling-license{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__calling-license mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__row{display:flex;align-items:center;gap:1rem;font-size:.875rem}.tk-workspace-detail__row mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__row--with-action,.tk-workspace-detail__row--kv{justify-content:space-between}.tk-workspace-detail__row--kv:first-of-type{border-top:none}.tk-workspace-detail__row-label{color:#000000f2}.tk-workspace-detail__row-value{font-weight:500;text-align:right}.tk-workspace-detail__row-hint{font-size:14px;color:#000000b3}.tk-workspace-detail__row-chevron{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__numbers-card{display:flex;gap:1rem}.tk-workspace-detail__numbers-title{width:8.75rem;flex-shrink:0;margin:0;font-size:.9375rem;font-weight:600}.tk-workspace-detail__numbers-content{flex:1;min-width:0;display:flex;flex-direction:column}.tk-workspace-detail__numbers-row{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0}.tk-workspace-detail__numbers-row-label{width:9.375rem;flex-shrink:0;display:flex;align-items:center;gap:.375rem;font-size:.875rem}.tk-workspace-detail__numbers-row-value{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem;color:#0009}.tk-workspace-detail__numbers-table{flex:1;min-width:0;border-collapse:collapse;font-size:.875rem}.tk-workspace-detail__numbers-table th{padding:0 .75rem .5rem 0;text-align:left;font-weight:400;font-size:.8125rem;color:#0009}.tk-workspace-detail__numbers-table td{padding:0 .75rem 0 0;vertical-align:middle;white-space:nowrap}.tk-workspace-detail__numbers-chevron-cell{width:1.5rem;text-align:right;white-space:nowrap}.tk-workspace-detail__copy-icon{font-size:1rem;height:1rem;width:1rem;margin-left:.25rem;color:#0006;vertical-align:middle;cursor:pointer}.tk-workspace-detail__badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:6.25rem;background:#e8f4fc;border:1px solid #b8d9ed;color:#1170a8;font-size:.75rem;font-weight:500}.tk-workspace-detail__location{display:flex;align-items:flex-start;gap:1rem}.tk-workspace-detail__location mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__location-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__location-address{font-size:.875rem;color:#000000f2}\n"] }]
|
|
87
87
|
}], ctorParameters: function () { return [{ type: i1.WorkspaceDetailService }, { type: i2.Location }]; }, propDecorators: { workspace: [{
|
|
88
88
|
type: Input
|
|
89
89
|
}], connectionType: [{
|
|
@@ -93,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
93
93
|
}], back: [{
|
|
94
94
|
type: Output
|
|
95
95
|
}] } });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvd29ya3NwYWNlcy9zcmMvY29tcG9uZW50cy93b3Jrc3BhY2UtZGV0YWlsL3dvcmtzcGFjZS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3dvcmtzcGFjZXMvc3JjL2NvbXBvbmVudHMvd29ya3NwYWNlLWRldGFpbC93b3Jrc3BhY2UtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQVV4RCxNQUFNLE9BQU8sd0JBQXdCO0lBY25DLFlBQ1Usc0JBQThDLEVBQzlDLFFBQWtCO1FBRGxCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWRuQixtQkFBYyxHQUE0QixJQUFJLENBQUM7UUFHOUMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFMUMsY0FBUyxHQUF1QixVQUFVLENBQUM7UUFDM0MsU0FBSSxHQUF3QixVQUFVLENBQUM7UUFDdkMsbUJBQWMsR0FBMkIsSUFBSSxDQUFDO1FBQzlDLFlBQU8sR0FBNEIsSUFBSSxDQUFDO1FBQ3hDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsb0JBQWUsR0FBa0IsSUFBSSxDQUFDO0lBS2xDLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN6RyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7Z0JBQ3ZCLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztpQkFDcEU7Z0JBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDdEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRTtZQUNwQyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU8sT0FBTyxDQUFDLG9CQUFvQjtZQUNqQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsb0JBQW9CLEtBQUssT0FBTyxDQUFDLHNCQUFzQixFQUFFO1lBQ3RFLENBQUMsQ0FBQyxvQkFBb0IsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxPQUFPLEVBQUU7WUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1NBQzdGO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFjO1FBQ3hCLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBZTtRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUMzRSxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQXVCO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUF1QjtRQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxlQUFlLElBQUksQ0FBQyxVQUFVLFNBQVMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsZUFBZSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7O3NIQXJGVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixzTENkckMsc3hmQTRTQTs0RkQ5UmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHFCQUFxQjtvSUFLdEIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFdvcmtzcGFjZSwgV29ya3NwYWNlQ29ubmVjdGlvblR5cGUsIFdvcmtzcGFjZURldGFpbHMsIFdvcmtzcGFjZURldmljZSB9IGZyb20gJy4uLy4uL3R5cGVzL3dvcmtzcGFjZSc7XHJcbmltcG9ydCB7IFdvcmtzcGFjZURldGFpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93b3Jrc3BhY2UtZGV0YWlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBnZXREZXZpY2VJY29uIH0gZnJvbSAnLi4vLi4vdXRpbHMvZGV2aWNlLWljb24nO1xyXG5cclxuZXhwb3J0IHR5cGUgV29ya3NwYWNlRGV0YWlsVGFiID0gJ292ZXJ2aWV3JyB8ICdjYWxsaW5nJztcclxuZXhwb3J0IHR5cGUgV29ya3NwYWNlRGV0YWlsVmlldyA9ICdvdmVydmlldycgfCAnZGV2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGstd29ya3NwYWNlLWRldGFpbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3dvcmtzcGFjZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3dvcmtzcGFjZS1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmtzcGFjZURldGFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgd29ya3NwYWNlITogV29ya3NwYWNlO1xyXG4gIEBJbnB1dCgpIGNvbm5lY3Rpb25UeXBlOiBXb3Jrc3BhY2VDb25uZWN0aW9uVHlwZSA9ICdkaSc7XHJcbiAgQElucHV0KCkgY3VzdG9tZXJJZCE6IG51bWJlcjtcclxuXHJcbiAgQE91dHB1dCgpIGJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGFjdGl2ZVRhYjogV29ya3NwYWNlRGV0YWlsVGFiID0gJ292ZXJ2aWV3JztcclxuICB2aWV3OiBXb3Jrc3BhY2VEZXRhaWxWaWV3ID0gJ292ZXJ2aWV3JztcclxuICBzZWxlY3RlZERldmljZTogV29ya3NwYWNlRGV2aWNlIHwgbnVsbCA9IG51bGw7XHJcbiAgZGV0YWlsczogV29ya3NwYWNlRGV0YWlscyB8IG51bGwgPSBudWxsO1xyXG4gIGlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIGV4cGFuZGVkSXNzdWVJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB3b3Jrc3BhY2VEZXRhaWxTZXJ2aWNlOiBXb3Jrc3BhY2VEZXRhaWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLndvcmtzcGFjZURldGFpbFNlcnZpY2UuZ2V0QnlXb3Jrc3BhY2UodGhpcy53b3Jrc3BhY2UsIHRoaXMuY29ubmVjdGlvblR5cGUsIHRoaXMuY3VzdG9tZXJJZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogZGV0YWlscyA9PiB7XHJcbiAgICAgICAgdGhpcy5kZXRhaWxzID0gZGV0YWlscztcclxuICAgICAgICBpZiAoZGV0YWlscy5jYXBhY2l0eSAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLndvcmtzcGFjZSA9IHsgLi4udGhpcy53b3Jrc3BhY2UsIGNhcGFjaXR5OiBkZXRhaWxzLmNhcGFjaXR5IH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy51cGRhdGVVcmwoKTtcclxuICB9XHJcblxyXG4gIGdldCBjYWxsZXJJZExhYmVsKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBjYWxsaW5nID0gdGhpcy5kZXRhaWxzPy5jYWxsaW5nO1xyXG4gICAgaWYgKCFjYWxsaW5nPy5leHRlcm5hbENhbGxlcklkTnVtYmVyKSB7XHJcbiAgICAgIHJldHVybiAnTm90IHNldCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2FsbGluZy5leHRlcm5hbENhbGxlcklkTmFtZVxyXG4gICAgICA/IGAke2NhbGxpbmcuZXh0ZXJuYWxDYWxsZXJJZE5hbWV9OiAke2NhbGxpbmcuZXh0ZXJuYWxDYWxsZXJJZE51bWJlcn1gXHJcbiAgICAgIDogYExvY2F0aW9uIG51bWJlcjogJHtjYWxsaW5nLmV4dGVybmFsQ2FsbGVySWROdW1iZXJ9YDtcclxuICB9XHJcblxyXG4gIGdldCBkZXZpY2VOYW1lKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5jb25uZWN0aW9uVHlwZSA9PT0gJ3dlYmV4Jykge1xyXG4gICAgICByZXR1cm4gdGhpcy53b3Jrc3BhY2UuZGV2aWNlPy53ZWJleFVVSUQgfHwgdGhpcy53b3Jrc3BhY2UuZGV2aWNlPy5uYW1lIHx8IHRoaXMud29ya3NwYWNlLmlkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMud29ya3NwYWNlLmRldmljZT8ubmFtZSB8fCB0aGlzLndvcmtzcGFjZS5pZDtcclxuICB9XHJcblxyXG4gIHJlc29sdmVJY29uKG1vZGVsPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBnZXREZXZpY2VJY29uKG1vZGVsKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUlzc3VlKGlzc3VlSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5leHBhbmRlZElzc3VlSWQgPSB0aGlzLmV4cGFuZGVkSXNzdWVJZCA9PT0gaXNzdWVJZCA/IG51bGwgOiBpc3N1ZUlkO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0VGFiKHRhYjogV29ya3NwYWNlRGV0YWlsVGFiKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZVRhYiA9IHRhYjtcclxuICAgIHRoaXMudXBkYXRlVXJsKCk7XHJcbiAgfVxyXG5cclxuICBvbkJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZSgnL3dvcmtzcGFjZXMnKTtcclxuICAgIHRoaXMuYmFjay5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbk9wZW5EZXZpY2UoZGV2aWNlOiBXb3Jrc3BhY2VEZXZpY2UpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREZXZpY2UgPSBkZXZpY2U7XHJcbiAgICB0aGlzLnZpZXcgPSAnZGV2aWNlJztcclxuICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKGAvd29ya3NwYWNlcy8ke3RoaXMuZGV2aWNlTmFtZX0vZGV2aWNlYCk7XHJcbiAgfVxyXG5cclxuICBvbkRldmljZUJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXcgPSAnb3ZlcnZpZXcnO1xyXG4gICAgdGhpcy5zZWxlY3RlZERldmljZSA9IG51bGw7XHJcbiAgICB0aGlzLnVwZGF0ZVVybCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVVcmwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZShgL3dvcmtzcGFjZXMvJHt0aGlzLmRldmljZU5hbWV9LyR7dGhpcy5hY3RpdmVUYWJ9YCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ2aWV3ID09PSAnb3ZlcnZpZXcnOyBlbHNlIGRldmljZURldGFpbFZpZXdcIj5cclxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19icmVhZGNydW1iXCIgKGNsaWNrKT1cIm9uQmFjaygpXCI+XHJcbiAgPGltZyBzdHlsZT1cIndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7XCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LWxlZnQtYm9sZC5zdmdcIiBhbHQ9XCJCYWNrXCIgLz5cclxuICBXb3Jrc3BhY2VzXHJcbjwvYnV0dG9uPlxyXG5cclxuPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2hlYWRlclwiPlxyXG4gIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faWNvblwiPlxyXG4gICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZGV2aWNlLWluLXJvb20tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gIDwvc3Bhbj5cclxuICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fdGl0bGUtYmxvY2tcIj5cclxuICAgIDxoMSBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25hbWVcIj57eyB3b3Jrc3BhY2UuZGlzcGxheU5hbWUgfX08L2gxPlxyXG4gICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGFcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLXBpbGxcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3N0YXR1cy1kb3RcIj48L3NwYW4+XHJcbiAgICAgICAgTGl2ZSBzdGF0dXMgdW5hdmFpbGFibGVcclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtc2VwXCI+PC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtdHlwZVwiPlR5cGU6IHt7IHdvcmtzcGFjZS50eXBlTGFiZWwgPT09ICdObyB0eXBlJyA/ICdOb3Qgc2V0JyA6IHdvcmtzcGFjZS50eXBlTGFiZWwgfX08L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1zZXBcIj48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1waWxsXCI+XHJcbiAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9wZW9wbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIENhcGFjaXR5OiB7eyB3b3Jrc3BhY2UuY2FwYWNpdHkgPz8gJ05vdCBzZXQnIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLXNlcFwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLXBpbGwgdGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1waWxsLS1tdXRlZFwiPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvZGV2aWNlLWluLXJvb20tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIFNpemUgbm90IHNldFxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2FjdGlvbnMtYnV0dG9uXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFjdGlvbnNNZW51XCI+XHJcbiAgICBBY3Rpb25zXHJcbiAgICA8aW1nIHN0eWxlPVwid2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDtcIiBzcmM9XCJhc3NldHMvaWNvbnMvYXJyb3ctZG93bi1yZWd1bGFyLnN2Z1wiIGFsdD1cIkV4cGFuZFwiIC8+XHJcbiAgPC9idXR0b24+XHJcbiAgPG1hdC1tZW51ICNhY3Rpb25zTWVudT1cIm1hdE1lbnVcIj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1tZW51LWl0ZW0gZGlzYWJsZWQ+TW9yZSBhY3Rpb25zIGNvbWluZyBzb29uPC9idXR0b24+XHJcbiAgPC9tYXQtbWVudT5cclxuPC9kaXY+XHJcblxyXG48bmF2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fdGFic1wiPlxyXG4gIDxidXR0b25cclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX190YWJcIlxyXG4gICAgW2NsYXNzLnRrLXdvcmtzcGFjZS1kZXRhaWxfX3RhYi0tYWN0aXZlXT1cImFjdGl2ZVRhYiA9PT0gJ292ZXJ2aWV3J1wiXHJcbiAgICAoY2xpY2spPVwic2VsZWN0VGFiKCdvdmVydmlldycpXCI+XHJcbiAgICBPdmVydmlld1xyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b25cclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX190YWJcIlxyXG4gICAgW2NsYXNzLnRrLXdvcmtzcGFjZS1kZXRhaWxfX3RhYi0tYWN0aXZlXT1cImFjdGl2ZVRhYiA9PT0gJ2NhbGxpbmcnXCJcclxuICAgIChjbGljayk9XCJzZWxlY3RUYWIoJ2NhbGxpbmcnKVwiPlxyXG4gICAgQ2FsbGluZ1xyXG4gIDwvYnV0dG9uPlxyXG48L25hdj5cclxuXHJcbjxhcHAtbG9hZGVyICpuZ0lmPVwiaXNMb2FkaW5nXCI+PC9hcHAtbG9hZGVyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImRldGFpbHNcIj5cclxuICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZ3JpZFwiICpuZ0lmPVwiYWN0aXZlVGFiID09PSAnb3ZlcnZpZXcnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY29sXCI+XHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZFwiPlxyXG4gICAgICAgIDxoMiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVcIj5Jc3N1ZXMgJmFtcDsgSW5mb3JtYXRpb248L2gyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19uby1pc3N1ZXNcIiAqbmdJZj1cIiFkZXRhaWxzLmlzc3Vlcy5sZW5ndGhcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25vLWlzc3Vlcy1pY29uXCI+Y2hlY2tfY2lyY2xlPC9tYXQtaWNvbj5cclxuICAgICAgICAgIFRoZXJlIGFyZSBjdXJyZW50bHkgbm8gaXNzdWVzIGRldGVjdGVkIGluIHlvdXIgd29ya3NwYWNlLlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZVwiICpuZ0Zvcj1cImxldCBpc3N1ZSBvZiBkZXRhaWxzLmlzc3Vlc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLXJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtaW5mb1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS1tZXNzYWdlLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9pbmZvLWNpcmNsZS1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtbWVzc2FnZVwiPnt7IGlzc3VlLm1lc3NhZ2UgfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtdGltZXN0YW1wXCI+e3sgaXNzdWUudGltZXN0YW1wIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcGlsbC1idXR0b25cIj57eyBpc3N1ZS5hY3Rpb25MYWJlbCB9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS10b2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLnRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLXRvZ2dsZS0tb3Blbl09XCJleHBhbmRlZElzc3VlSWQgPT09IGlzc3VlLmlkXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWRJc3N1ZUlkID09PSBpc3N1ZS5pZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiJ3ZvaWQgMCdcIj5cclxuICAgICAgICAgICAgICAgICA8aW1nIHN0eWxlPVwid2lkdGg6IC43NXJlbTsgaGVpZ2h0OiAuNzVyZW07XCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LWRvd24tcmVndWxhci5zdmdcIiBhbHQ9XCJFeHBhbmRcIiAvPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLWRldGFpbHNcIiAqbmdJZj1cImV4cGFuZGVkSXNzdWVJZCA9PT0gaXNzdWUuaWRcIj5cclxuICAgICAgICAgICAgPHA+e3sgaXNzdWUuZGVzY3JpcHRpb24gfX08L3A+XHJcbiAgICAgICAgICAgIDxwPlxyXG4gICAgICAgICAgICAgIFN1Z2dlc3RlZCBhY3Rpb246PGJyIC8+XHJcbiAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtbGlua1wiPnt7IGlzc3VlLnN1Z2dlc3RlZEFjdGlvbiB9fTwvYT5cclxuICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWhlYWRlclwiPlxyXG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPkRldmljZXM8L2gyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVfX3NldHRpbmdzX2ljb25fd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL3NldHRpbmdzLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kZXZpY2VzXCIgKm5nSWY9XCJ3b3Jrc3BhY2UuZGV2aWNlcy5sZW5ndGg7IGVsc2Ugbm9EZXZpY2VzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGV2aWNlXCIgKm5nRm9yPVwibGV0IGRldmljZSBvZiB3b3Jrc3BhY2UuZGV2aWNlc1wiPlxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGV2aWNlLWljb25cIiBbc3JjXT1cInJlc29sdmVJY29uKGRldmljZS5tb2RlbClcIiBbYWx0XT1cImRldmljZS5sYWJlbFwiIC8+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kZXZpY2UtaW5mb1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDAuNXJlbTsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cclxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RldmljZS1saW5rXCIgKGNsaWNrKT1cIm9uT3BlbkRldmljZShkZXZpY2UpXCI+e3sgZGV2aWNlLmxhYmVsIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kZXZpY2UtcHJpbWFyeVwiPlByaW1hcnk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RldmljZS1zdGF0dXNcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fc3RhdHVzLWRvdFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIFN0YXR1cyB1bmF2YWlsYWJsZVxyXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2luZm8taWNvblwiIHN0eWxlPVwid2lkdGg6IDEycHg7IGhlaWdodDogMTJweDtcIiBzcmM9XCJhc3NldHMvaWNvbnMvaW5mby1jaXJjbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9EZXZpY2VzPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25vLWRldmljZXNcIj5cclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25vLWRldmljZXMtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9kZXNrLXBob25lLWJvbGQuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1oZWFkaW5nXCI+QWRkIGRldmljZTwvaDM+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10ZXh0XCI+QWRkIGFuIElQIFBob25lIHRvIGNvbGxhYm9yYXRlIGluIHRoaXMgd29ya3NwYWNlLjwvcD5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19waWxsLWJ1dHRvblwiPkFkZCBkZXZpY2U8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWhlYWRlclwiPlxyXG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPkNhbGxpbmc8L2gyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVfX3NldHRpbmdzX2ljb25fd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL3NldHRpbmdzLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYWxsaW5nLWxpY2Vuc2VcIj5cclxuICAgICAgICAgIDxpbWcgc3R5bGU9XCJ3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1wiIHNyYz1cImFzc2V0cy9pY29ucy9oYW5kc2V0LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgIHt7IGRldGFpbHMuY2FsbGluZy5saWNlbnNlIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGhyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGl2aWRlclwiIC8+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3JvdyB0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctLWt2XCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1sYWJlbFwiPkNpc2NvIFdlYmV4IFNJUCBBZGRyZXNzPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctdmFsdWVcIj57eyBkZXRhaWxzLmNhbGxpbmcuc2lwQWRkcmVzcyB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9zZWN0aW9uPlxyXG5cclxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkIHRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtLWNlbnRlcmVkXCIgKm5nSWY9XCIhZGV0YWlscy5zY2hlZHVsaW5nQ29uZmlndXJlZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWhlYWRlclwiPlxyXG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPlNjaGVkdWxpbmc8L2gyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvY2FsZW5kYXItbW9udGgtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGluZ1wiPkNob29zZSBzY2hlZHVsaW5nPC9oMz5cclxuICAgICAgICA8cCBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGV4dFwiPkNob29zZSBhIGNhbGVuZGFyIHNlcnZpY2Ugb3Igc2V0dXAgaG90LWRlc2tpbmcgZm9yIHRoaXMgd29ya3NwYWNlLjwvcD5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3BpbGwtYnV0dG9uXCI+Q2hvb3NlIHNjaGVkdWxpbmc8L2J1dHRvbj5cclxuICAgICAgPC9zZWN0aW9uPlxyXG5cclxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkIHRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtLWNlbnRlcmVkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICA8aDIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlXCI+TWVldGluZ3M8L2gyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvaW5mby1jaXJjbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGluZ1wiPkRldmljZSBob3N0ZWQgbWVldGluZ3MgdW5hdmFpbGFibGU8L2gzPlxyXG4gICAgICAgIDxwIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10ZXh0XCI+U2VydmljZSBub3Qgc3VwcG9ydGVkIGJ5IENpc2NvIElQIHBob25lczwvcD5cclxuICAgICAgPC9zZWN0aW9uPlxyXG5cclxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkXCI+XHJcbiAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPlxyXG4gICAgICAgICAgUGxhbm5lZCBNYWludGVuYW5jZVxyXG4gICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2luZm8taWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9pbmZvLWNpcmNsZS1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgPC9oMj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93XCI+XHJcbiAgICAgICAgICA8aW1nIHN0eWxlPVwid2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDtcIiBzcmM9XCJhc3NldHMvaWNvbnMvdG9vbHMtcmVndWxhci5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgIDxzcGFuPnt7IGRldGFpbHMucGxhbm5lZE1haW50ZW5hbmNlRW5hYmxlZCA/ICdPbicgOiAnT2ZmJyB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8aHIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kaXZpZGVyXCIgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93IHRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy0td2l0aC1hY3Rpb25cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3dcIiBzdHlsZT1cImZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMXJlbTtcIj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogMXJlbTsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cclxuICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1pY29uXCIgc3R5bGU9XCJ3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1wiIHNyYz1cImFzc2V0cy9pY29ucy9jYWxlbmRhci1tb250aC1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgICAgPGRpdj5TY2hlZHVsZTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1oaW50XCI+Tm8gc2NoZWR1bGUgc2V0PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcGlsbC1idXR0b25cIj5FZGl0IHNjaGVkdWxlPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZCB0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLS1jZW50ZXJlZFwiICpuZ0lmPVwiIWRldGFpbHMubm90ZXNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgIDxoMiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVcIj5BZGQgTm90ZXM8L2gyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvbm90ZXMtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGluZ1wiPkFkZCBub3RlczwvaDM+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRleHRcIj5Xcml0ZSBhIG5vdGUgYWJvdXQgdGhpcyB3b3Jrc3BhY2UuPC9wPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcGlsbC1idXR0b25cIj5BZGQgbm90ZXM8L2J1dHRvbj5cclxuICAgICAgPC9zZWN0aW9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NvbFwiPlxyXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1oZWFkZXJcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDEuMjVyZW07XCI+XHJcbiAgICAgICAgICA8aDIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlXCI+TG9jYXRpb248L2gyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVfX3NldHRpbmdzX2ljb25fd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL3NldHRpbmdzLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19sb2NhdGlvblwiPlxyXG4gICAgICAgICAgPCEtLSA8bWF0LWljb24+bG9jYXRpb25fb248L21hdC1pY29uPiAtLT5cclxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvbG9jYXRpb24tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogLjI1cmVtO1wiPlxyXG4gICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19sb2NhdGlvbi1saW5rXCI+e3sgZGV0YWlscy5sb2NhdGlvbi5jb3VudHJ5IH19PC9hPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbG9jYXRpb24tYWRkcmVzc1wiPnt7IGRldGFpbHMubG9jYXRpb24uYWRkcmVzcyB9fTwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY29sXCIgKm5nSWY9XCJhY3RpdmVUYWIgPT09ICdjYWxsaW5nJ1wiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkIHRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtY2FyZFwiPlxyXG4gICAgICA8aDIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLXRpdGxlXCI+TnVtYmVyczwvaDI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1jb250ZW50XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1yb3ctbGFiZWxcIj5cclxuICAgICAgICAgICAgRGlyZWN0b3J5IG51bWJlclxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faW5mby1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2luZm8tY2lyY2xlLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy10YWJsZVwiPlxyXG4gICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRoPlR5cGU8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoPlBob25lIE51bWJlcjwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGg+RXh0ZW5zaW9uPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD48L3RoPlxyXG4gICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19iYWRnZVwiPlByaW1hcnk8L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAge3sgZGV0YWlscy5jYWxsaW5nLmRpcmVjdG9yeU51bWJlciB9fVxyXG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY29weS1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2NvcHktcmVndWxhci5zdmdcIiBhbHQ9XCJDb3B5XCIgLz5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGRldGFpbHMuY2FsbGluZy5leHRlbnNpb24gfHwgJ05vdCBzZXQnIH19XHJcbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jb3B5LWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvY29weS1yZWd1bGFyLnN2Z1wiIGFsdD1cIkNvcHlcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtY2hldnJvbi1jZWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctY2hldnJvblwiIHNyYz1cImFzc2V0cy9pY29ucy9hcnJvdy1yaWdodC1yZWd1bGFyLnN2Z1wiIGFsdD1cIkV4cGFuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8aHIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kaXZpZGVyXCIgLz5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1yb3ctbGFiZWxcIj5cclxuICAgICAgICAgICAgQ2FsbGVyIElEXHJcbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pbmZvLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvaW5mby1jaXJjbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1yb3ctdmFsdWVcIj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgY2FsbGVySWRMYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1jaGV2cm9uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LXJpZ2h0LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiRXhwYW5kXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8aHIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kaXZpZGVyXCIgLz5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1yb3ctbGFiZWxcIj5cclxuICAgICAgICAgICAgRW1lcmdlbmN5IENhbGxpbmdcclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2luZm8taWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9pbmZvLWNpcmNsZS1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLXJvdy12YWx1ZVwiPlxyXG4gICAgICAgICAgICA8c3Bhbj5Ob3Qgc2V0PC9zcGFuPlxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93LWNoZXZyb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvYXJyb3ctcmlnaHQtcmVndWxhci5zdmdcIiBhbHQ9XCJFeHBhbmRcIiAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctdGVtcGxhdGUgI2RldmljZURldGFpbFZpZXc+XHJcbiAgPHRrLXdvcmtzcGFjZS1kZXZpY2UtZGV0YWlsXHJcbiAgICBbd29ya3NwYWNlXT1cIndvcmtzcGFjZVwiXHJcbiAgICBbZGV2aWNlXT1cInNlbGVjdGVkRGV2aWNlXCJcclxuICAgIFtkZXRhaWxzXT1cImRldGFpbHM/LmRldmljZSA/PyBudWxsXCJcclxuICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCJcclxuICAgIChiYWNrKT1cIm9uRGV2aWNlQmFjaygpXCI+XHJcbiAgPC90ay13b3Jrc3BhY2UtZGV2aWNlLWRldGFpbD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvd29ya3NwYWNlcy9zcmMvY29tcG9uZW50cy93b3Jrc3BhY2UtZGV0YWlsL3dvcmtzcGFjZS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3dvcmtzcGFjZXMvc3JjL2NvbXBvbmVudHMvd29ya3NwYWNlLWRldGFpbC93b3Jrc3BhY2UtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQVV4RCxNQUFNLE9BQU8sd0JBQXdCO0lBY25DLFlBQ1Usc0JBQThDLEVBQzlDLFFBQWtCO1FBRGxCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWRuQixtQkFBYyxHQUE0QixJQUFJLENBQUM7UUFHOUMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFMUMsY0FBUyxHQUF1QixVQUFVLENBQUM7UUFDM0MsU0FBSSxHQUF3QixVQUFVLENBQUM7UUFDdkMsbUJBQWMsR0FBMkIsSUFBSSxDQUFDO1FBQzlDLFlBQU8sR0FBNEIsSUFBSSxDQUFDO1FBQ3hDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsb0JBQWUsR0FBa0IsSUFBSSxDQUFDO0lBS2xDLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN6RyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7Z0JBQ3ZCLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztpQkFDcEU7Z0JBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDdEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRTtZQUNwQyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU8sT0FBTyxDQUFDLG9CQUFvQjtZQUNqQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsb0JBQW9CLEtBQUssT0FBTyxDQUFDLHNCQUFzQixFQUFFO1lBQ3RFLENBQUMsQ0FBQyxvQkFBb0IsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxPQUFPLEVBQUU7WUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1NBQzdGO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFjO1FBQ3hCLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBZTtRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUMzRSxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQXVCO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUF1QjtRQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxlQUFlLElBQUksQ0FBQyxVQUFVLFNBQVMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsZUFBZSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7O3NIQXJGVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixzTENkckMsb3hmQTRTQTs0RkQ5UmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHFCQUFxQjtvSUFLdEIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFdvcmtzcGFjZSwgV29ya3NwYWNlQ29ubmVjdGlvblR5cGUsIFdvcmtzcGFjZURldGFpbHMsIFdvcmtzcGFjZURldmljZSB9IGZyb20gJy4uLy4uL3R5cGVzL3dvcmtzcGFjZSc7XHJcbmltcG9ydCB7IFdvcmtzcGFjZURldGFpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93b3Jrc3BhY2UtZGV0YWlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBnZXREZXZpY2VJY29uIH0gZnJvbSAnLi4vLi4vdXRpbHMvZGV2aWNlLWljb24nO1xyXG5cclxuZXhwb3J0IHR5cGUgV29ya3NwYWNlRGV0YWlsVGFiID0gJ292ZXJ2aWV3JyB8ICdjYWxsaW5nJztcclxuZXhwb3J0IHR5cGUgV29ya3NwYWNlRGV0YWlsVmlldyA9ICdvdmVydmlldycgfCAnZGV2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGstd29ya3NwYWNlLWRldGFpbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3dvcmtzcGFjZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3dvcmtzcGFjZS1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmtzcGFjZURldGFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgd29ya3NwYWNlITogV29ya3NwYWNlO1xyXG4gIEBJbnB1dCgpIGNvbm5lY3Rpb25UeXBlOiBXb3Jrc3BhY2VDb25uZWN0aW9uVHlwZSA9ICdkaSc7XHJcbiAgQElucHV0KCkgY3VzdG9tZXJJZCE6IG51bWJlcjtcclxuXHJcbiAgQE91dHB1dCgpIGJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGFjdGl2ZVRhYjogV29ya3NwYWNlRGV0YWlsVGFiID0gJ292ZXJ2aWV3JztcclxuICB2aWV3OiBXb3Jrc3BhY2VEZXRhaWxWaWV3ID0gJ292ZXJ2aWV3JztcclxuICBzZWxlY3RlZERldmljZTogV29ya3NwYWNlRGV2aWNlIHwgbnVsbCA9IG51bGw7XHJcbiAgZGV0YWlsczogV29ya3NwYWNlRGV0YWlscyB8IG51bGwgPSBudWxsO1xyXG4gIGlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIGV4cGFuZGVkSXNzdWVJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB3b3Jrc3BhY2VEZXRhaWxTZXJ2aWNlOiBXb3Jrc3BhY2VEZXRhaWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLndvcmtzcGFjZURldGFpbFNlcnZpY2UuZ2V0QnlXb3Jrc3BhY2UodGhpcy53b3Jrc3BhY2UsIHRoaXMuY29ubmVjdGlvblR5cGUsIHRoaXMuY3VzdG9tZXJJZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogZGV0YWlscyA9PiB7XHJcbiAgICAgICAgdGhpcy5kZXRhaWxzID0gZGV0YWlscztcclxuICAgICAgICBpZiAoZGV0YWlscy5jYXBhY2l0eSAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLndvcmtzcGFjZSA9IHsgLi4udGhpcy53b3Jrc3BhY2UsIGNhcGFjaXR5OiBkZXRhaWxzLmNhcGFjaXR5IH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy51cGRhdGVVcmwoKTtcclxuICB9XHJcblxyXG4gIGdldCBjYWxsZXJJZExhYmVsKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBjYWxsaW5nID0gdGhpcy5kZXRhaWxzPy5jYWxsaW5nO1xyXG4gICAgaWYgKCFjYWxsaW5nPy5leHRlcm5hbENhbGxlcklkTnVtYmVyKSB7XHJcbiAgICAgIHJldHVybiAnTm90IHNldCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2FsbGluZy5leHRlcm5hbENhbGxlcklkTmFtZVxyXG4gICAgICA/IGAke2NhbGxpbmcuZXh0ZXJuYWxDYWxsZXJJZE5hbWV9OiAke2NhbGxpbmcuZXh0ZXJuYWxDYWxsZXJJZE51bWJlcn1gXHJcbiAgICAgIDogYExvY2F0aW9uIG51bWJlcjogJHtjYWxsaW5nLmV4dGVybmFsQ2FsbGVySWROdW1iZXJ9YDtcclxuICB9XHJcblxyXG4gIGdldCBkZXZpY2VOYW1lKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5jb25uZWN0aW9uVHlwZSA9PT0gJ3dlYmV4Jykge1xyXG4gICAgICByZXR1cm4gdGhpcy53b3Jrc3BhY2UuZGV2aWNlPy53ZWJleFVVSUQgfHwgdGhpcy53b3Jrc3BhY2UuZGV2aWNlPy5uYW1lIHx8IHRoaXMud29ya3NwYWNlLmlkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMud29ya3NwYWNlLmRldmljZT8ubmFtZSB8fCB0aGlzLndvcmtzcGFjZS5pZDtcclxuICB9XHJcblxyXG4gIHJlc29sdmVJY29uKG1vZGVsPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBnZXREZXZpY2VJY29uKG1vZGVsKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUlzc3VlKGlzc3VlSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5leHBhbmRlZElzc3VlSWQgPSB0aGlzLmV4cGFuZGVkSXNzdWVJZCA9PT0gaXNzdWVJZCA/IG51bGwgOiBpc3N1ZUlkO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0VGFiKHRhYjogV29ya3NwYWNlRGV0YWlsVGFiKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZVRhYiA9IHRhYjtcclxuICAgIHRoaXMudXBkYXRlVXJsKCk7XHJcbiAgfVxyXG5cclxuICBvbkJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZSgnL3dvcmtzcGFjZXMnKTtcclxuICAgIHRoaXMuYmFjay5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbk9wZW5EZXZpY2UoZGV2aWNlOiBXb3Jrc3BhY2VEZXZpY2UpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREZXZpY2UgPSBkZXZpY2U7XHJcbiAgICB0aGlzLnZpZXcgPSAnZGV2aWNlJztcclxuICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKGAvd29ya3NwYWNlcy8ke3RoaXMuZGV2aWNlTmFtZX0vZGV2aWNlYCk7XHJcbiAgfVxyXG5cclxuICBvbkRldmljZUJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXcgPSAnb3ZlcnZpZXcnO1xyXG4gICAgdGhpcy5zZWxlY3RlZERldmljZSA9IG51bGw7XHJcbiAgICB0aGlzLnVwZGF0ZVVybCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVVcmwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZShgL3dvcmtzcGFjZXMvJHt0aGlzLmRldmljZU5hbWV9LyR7dGhpcy5hY3RpdmVUYWJ9YCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ2aWV3ID09PSAnb3ZlcnZpZXcnOyBlbHNlIGRldmljZURldGFpbFZpZXdcIj5cclxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19icmVhZGNydW1iXCIgKGNsaWNrKT1cIm9uQmFjaygpXCI+XHJcbiAgPGltZyBzdHlsZT1cIndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7XCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LWxlZnQtYm9sZC5zdmdcIiBhbHQ9XCJCYWNrXCIgLz5cclxuICBXb3Jrc3BhY2VzXHJcbjwvYnV0dG9uPlxyXG5cclxuPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2hlYWRlclwiPlxyXG4gIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faWNvblwiPlxyXG4gICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZGV2aWNlLWluLXJvb20tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gIDwvc3Bhbj5cclxuICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fdGl0bGUtYmxvY2tcIj5cclxuICAgIDxoMSBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25hbWVcIj57eyB3b3Jrc3BhY2UuZGlzcGxheU5hbWUgfX08L2gxPlxyXG4gICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGFcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLXBpbGxcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3N0YXR1cy1kb3RcIj48L3NwYW4+XHJcbiAgICAgICAgTGl2ZSBzdGF0dXMgdW5hdmFpbGFibGVcclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtc2VwXCI+PC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtdHlwZVwiPlR5cGU6IHt7IHdvcmtzcGFjZS50eXBlTGFiZWwgPT09ICdObyB0eXBlJyA/ICdOb3Qgc2V0JyA6IHdvcmtzcGFjZS50eXBlTGFiZWwgfX08L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1zZXBcIj48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1waWxsXCI+XHJcbiAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9wZW9wbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIENhcGFjaXR5OiB7eyB3b3Jrc3BhY2UuY2FwYWNpdHkgPz8gJ05vdCBzZXQnIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLXNlcFwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLXBpbGwgdGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1waWxsLS1tdXRlZFwiPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvZGV2aWNlLWluLXJvb20tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIFNpemUgbm90IHNldFxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2FjdGlvbnMtYnV0dG9uXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFjdGlvbnNNZW51XCI+XHJcbiAgICBBY3Rpb25zXHJcbiAgICA8aW1nIHN0eWxlPVwid2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDtcIiBzcmM9XCJhc3NldHMvaWNvbnMvYXJyb3ctZG93bi1yZWd1bGFyLnN2Z1wiIGFsdD1cIkV4cGFuZFwiIC8+XHJcbiAgPC9idXR0b24+XHJcbiAgPG1hdC1tZW51ICNhY3Rpb25zTWVudT1cIm1hdE1lbnVcIj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1tZW51LWl0ZW0gZGlzYWJsZWQ+TW9yZSBhY3Rpb25zIGNvbWluZyBzb29uPC9idXR0b24+XHJcbiAgPC9tYXQtbWVudT5cclxuPC9kaXY+XHJcblxyXG48bmF2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fdGFic1wiPlxyXG4gIDxidXR0b25cclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX190YWJcIlxyXG4gICAgW2NsYXNzLnRrLXdvcmtzcGFjZS1kZXRhaWxfX3RhYi0tYWN0aXZlXT1cImFjdGl2ZVRhYiA9PT0gJ292ZXJ2aWV3J1wiXHJcbiAgICAoY2xpY2spPVwic2VsZWN0VGFiKCdvdmVydmlldycpXCI+XHJcbiAgICBPdmVydmlld1xyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b25cclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX190YWJcIlxyXG4gICAgW2NsYXNzLnRrLXdvcmtzcGFjZS1kZXRhaWxfX3RhYi0tYWN0aXZlXT1cImFjdGl2ZVRhYiA9PT0gJ2NhbGxpbmcnXCJcclxuICAgIChjbGljayk9XCJzZWxlY3RUYWIoJ2NhbGxpbmcnKVwiPlxyXG4gICAgQ2FsbGluZ1xyXG4gIDwvYnV0dG9uPlxyXG48L25hdj5cclxuXHJcbjx0ay1sb2FkZXIgKm5nSWY9XCJpc0xvYWRpbmdcIj48L3RrLWxvYWRlcj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJkZXRhaWxzXCI+XHJcbiAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2dyaWRcIiAqbmdJZj1cImFjdGl2ZVRhYiA9PT0gJ292ZXJ2aWV3J1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NvbFwiPlxyXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cclxuICAgICAgICA8aDIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlXCI+SXNzdWVzICZhbXA7IEluZm9ybWF0aW9uPC9oMj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbm8taXNzdWVzXCIgKm5nSWY9XCIhZGV0YWlscy5pc3N1ZXMubGVuZ3RoXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19uby1pc3N1ZXMtaWNvblwiPmNoZWNrX2NpcmNsZTwvbWF0LWljb24+XHJcbiAgICAgICAgICBUaGVyZSBhcmUgY3VycmVudGx5IG5vIGlzc3VlcyBkZXRlY3RlZCBpbiB5b3VyIHdvcmtzcGFjZS5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWVcIiAqbmdGb3I9XCJsZXQgaXNzdWUgb2YgZGV0YWlscy5pc3N1ZXNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS1yb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLWluZm9cIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtbWVzc2FnZS1yb3dcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvaW5mby1jaXJjbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLW1lc3NhZ2VcIj57eyBpc3N1ZS5tZXNzYWdlIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLXRpbWVzdGFtcFwiPnt7IGlzc3VlLnRpbWVzdGFtcCB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLWFjdGlvbnNcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3BpbGwtYnV0dG9uXCI+e3sgaXNzdWUuYWN0aW9uTGFiZWwgfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtdG9nZ2xlXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy50ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS10b2dnbGUtLW9wZW5dPVwiZXhwYW5kZWRJc3N1ZUlkID09PSBpc3N1ZS5pZFwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImV4cGFuZGVkSXNzdWVJZCA9PT0gaXNzdWUuaWRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIid2b2lkIDAnXCI+XHJcbiAgICAgICAgICAgICAgICAgPGltZyBzdHlsZT1cIndpZHRoOiAuNzVyZW07IGhlaWdodDogLjc1cmVtO1wiIHNyYz1cImFzc2V0cy9pY29ucy9hcnJvdy1kb3duLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiRXhwYW5kXCIgLz5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS1kZXRhaWxzXCIgKm5nSWY9XCJleHBhbmRlZElzc3VlSWQgPT09IGlzc3VlLmlkXCI+XHJcbiAgICAgICAgICAgIDxwPnt7IGlzc3VlLmRlc2NyaXB0aW9uIH19PC9wPlxyXG4gICAgICAgICAgICA8cD5cclxuICAgICAgICAgICAgICBTdWdnZXN0ZWQgYWN0aW9uOjxiciAvPlxyXG4gICAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLWxpbmtcIj57eyBpc3N1ZS5zdWdnZXN0ZWRBY3Rpb24gfX08L2E+XHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3NlY3Rpb24+XHJcblxyXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgIDxoMiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVcIj5EZXZpY2VzPC9oMj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlX19zZXR0aW5nc19pY29uX3dyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9zZXR0aW5ncy1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGV2aWNlc1wiICpuZ0lmPVwid29ya3NwYWNlLmRldmljZXMubGVuZ3RoOyBlbHNlIG5vRGV2aWNlc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RldmljZVwiICpuZ0Zvcj1cImxldCBkZXZpY2Ugb2Ygd29ya3NwYWNlLmRldmljZXNcIj5cclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RldmljZS1pY29uXCIgW3NyY109XCJyZXNvbHZlSWNvbihkZXZpY2UubW9kZWwpXCIgW2FsdF09XCJkZXZpY2UubGFiZWxcIiAvPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGV2aWNlLWluZm9cIj5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAwLjVyZW07IGFsaWduLWl0ZW1zOiBjZW50ZXI7XCI+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kZXZpY2UtbGlua1wiIChjbGljayk9XCJvbk9wZW5EZXZpY2UoZGV2aWNlKVwiPnt7IGRldmljZS5sYWJlbCB9fTwvYT5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGV2aWNlLXByaW1hcnlcIj5QcmltYXJ5PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kZXZpY2Utc3RhdHVzXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3N0YXR1cy1kb3RcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICBTdGF0dXMgdW5hdmFpbGFibGVcclxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pbmZvLWljb25cIiBzdHlsZT1cIndpZHRoOiAxMnB4OyBoZWlnaHQ6IDEycHg7XCIgc3JjPVwiYXNzZXRzL2ljb25zL2luZm8tY2lyY2xlLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI25vRGV2aWNlcz5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19uby1kZXZpY2VzXCI+XHJcbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19uby1kZXZpY2VzLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvZGVzay1waG9uZS1ib2xkLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDxoMyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGluZ1wiPkFkZCBkZXZpY2U8L2gzPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGV4dFwiPkFkZCBhbiBJUCBQaG9uZSB0byBjb2xsYWJvcmF0ZSBpbiB0aGlzIHdvcmtzcGFjZS48L3A+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcGlsbC1idXR0b25cIj5BZGQgZGV2aWNlPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L3NlY3Rpb24+XHJcblxyXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgIDxoMiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVcIj5DYWxsaW5nPC9oMj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlX19zZXR0aW5nc19pY29uX3dyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9zZXR0aW5ncy1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FsbGluZy1saWNlbnNlXCI+XHJcbiAgICAgICAgICA8aW1nIHN0eWxlPVwid2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDtcIiBzcmM9XCJhc3NldHMvaWNvbnMvaGFuZHNldC1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICB7eyBkZXRhaWxzLmNhbGxpbmcubGljZW5zZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxociBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RpdmlkZXJcIiAvPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3cgdGstd29ya3NwYWNlLWRldGFpbF9fcm93LS1rdlwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctbGFiZWxcIj5DaXNjbyBXZWJleCBTSVAgQWRkcmVzczwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93LXZhbHVlXCI+e3sgZGV0YWlscy5jYWxsaW5nLnNpcEFkZHJlc3MgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZCB0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLS1jZW50ZXJlZFwiICpuZ0lmPVwiIWRldGFpbHMuc2NoZWR1bGluZ0NvbmZpZ3VyZWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgIDxoMiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVcIj5TY2hlZHVsaW5nPC9oMj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2NhbGVuZGFyLW1vbnRoLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICA8aDMgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWhlYWRpbmdcIj5DaG9vc2Ugc2NoZWR1bGluZzwvaDM+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRleHRcIj5DaG9vc2UgYSBjYWxlbmRhciBzZXJ2aWNlIG9yIHNldHVwIGhvdC1kZXNraW5nIGZvciB0aGlzIHdvcmtzcGFjZS48L3A+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19waWxsLWJ1dHRvblwiPkNob29zZSBzY2hlZHVsaW5nPC9idXR0b24+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZCB0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLS1jZW50ZXJlZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWhlYWRlclwiPlxyXG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPk1lZXRpbmdzPC9oMj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2luZm8tY2lyY2xlLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICA8aDMgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWhlYWRpbmdcIj5EZXZpY2UgaG9zdGVkIG1lZXRpbmdzIHVuYXZhaWxhYmxlPC9oMz5cclxuICAgICAgICA8cCBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGV4dFwiPlNlcnZpY2Ugbm90IHN1cHBvcnRlZCBieSBDaXNjbyBJUCBwaG9uZXM8L3A+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZFwiPlxyXG4gICAgICAgIDxoMiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVcIj5cclxuICAgICAgICAgIFBsYW5uZWQgTWFpbnRlbmFuY2VcclxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pbmZvLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvaW5mby1jaXJjbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIDwvaDI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvd1wiPlxyXG4gICAgICAgICAgPGltZyBzdHlsZT1cIndpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7XCIgc3JjPVwiYXNzZXRzL2ljb25zL3Rvb2xzLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICA8c3Bhbj57eyBkZXRhaWxzLnBsYW5uZWRNYWludGVuYW5jZUVuYWJsZWQgPyAnT24nIDogJ09mZicgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGhyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGl2aWRlclwiIC8+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3JvdyB0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctLXdpdGgtYWN0aW9uXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93XCIgc3R5bGU9XCJmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDFyZW07XCI+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDFyZW07IGFsaWduLWl0ZW1zOiBjZW50ZXI7XCI+XHJcbiAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtaWNvblwiIHN0eWxlPVwid2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDtcIiBzcmM9XCJhc3NldHMvaWNvbnMvY2FsZW5kYXItbW9udGgtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICAgIDxkaXY+U2NoZWR1bGU8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctaGludFwiPk5vIHNjaGVkdWxlIHNldDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3BpbGwtYnV0dG9uXCI+RWRpdCBzY2hlZHVsZTwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3NlY3Rpb24+XHJcblxyXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQgdGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC0tY2VudGVyZWRcIiAqbmdJZj1cIiFkZXRhaWxzLm5vdGVzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICA8aDIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlXCI+QWRkIE5vdGVzPC9oMj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL25vdGVzLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICA8aDMgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWhlYWRpbmdcIj5BZGQgbm90ZXM8L2gzPlxyXG4gICAgICAgIDxwIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10ZXh0XCI+V3JpdGUgYSBub3RlIGFib3V0IHRoaXMgd29ya3NwYWNlLjwvcD5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3BpbGwtYnV0dG9uXCI+QWRkIG5vdGVzPC9idXR0b24+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jb2xcIj5cclxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1wiPlxyXG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPkxvY2F0aW9uPC9oMj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlX19zZXR0aW5nc19pY29uX3dyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9zZXR0aW5ncy1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbG9jYXRpb25cIj5cclxuICAgICAgICAgIDwhLS0gPG1hdC1pY29uPmxvY2F0aW9uX29uPC9tYXQtaWNvbj4gLS0+XHJcbiAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2xvY2F0aW9uLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IC4yNXJlbTtcIj5cclxuICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbG9jYXRpb24tbGlua1wiPnt7IGRldGFpbHMubG9jYXRpb24uY291bnRyeSB9fTwvYT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2xvY2F0aW9uLWFkZHJlc3NcIj57eyBkZXRhaWxzLmxvY2F0aW9uLmFkZHJlc3MgfX08L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3NlY3Rpb24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NvbFwiICpuZ0lmPVwiYWN0aXZlVGFiID09PSAnY2FsbGluZydcIj5cclxuICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZCB0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLWNhcmRcIj5cclxuICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy10aXRsZVwiPk51bWJlcnM8L2gyPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLXJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93LWxhYmVsXCI+XHJcbiAgICAgICAgICAgIERpcmVjdG9yeSBudW1iZXJcclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2luZm8taWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9pbmZvLWNpcmNsZS1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtdGFibGVcIj5cclxuICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDx0aD5UeXBlPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD5QaG9uZSBOdW1iZXI8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoPkV4dGVuc2lvbjwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGg+PC90aD5cclxuICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fYmFkZ2VcIj5QcmltYXJ5PC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGRldGFpbHMuY2FsbGluZy5kaXJlY3RvcnlOdW1iZXIgfX1cclxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NvcHktaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9jb3B5LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiQ29weVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICB7eyBkZXRhaWxzLmNhbGxpbmcuZXh0ZW5zaW9uIHx8ICdOb3Qgc2V0JyB9fVxyXG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY29weS1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2NvcHktcmVndWxhci5zdmdcIiBhbHQ9XCJDb3B5XCIgLz5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLWNoZXZyb24tY2VsbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93LWNoZXZyb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvYXJyb3ctcmlnaHQtcmVndWxhci5zdmdcIiBhbHQ9XCJFeHBhbmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGhyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGl2aWRlclwiIC8+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLXJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93LWxhYmVsXCI+XHJcbiAgICAgICAgICAgIENhbGxlciBJRFxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faW5mby1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2luZm8tY2lyY2xlLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93LXZhbHVlXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IGNhbGxlcklkTGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctY2hldnJvblwiIHNyYz1cImFzc2V0cy9pY29ucy9hcnJvdy1yaWdodC1yZWd1bGFyLnN2Z1wiIGFsdD1cIkV4cGFuZFwiIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGhyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGl2aWRlclwiIC8+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLXJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93LWxhYmVsXCI+XHJcbiAgICAgICAgICAgIEVtZXJnZW5jeSBDYWxsaW5nXHJcbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pbmZvLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvaW5mby1jaXJjbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1yb3ctdmFsdWVcIj5cclxuICAgICAgICAgICAgPHNwYW4+Tm90IHNldDwvc3Bhbj5cclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1jaGV2cm9uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LXJpZ2h0LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiRXhwYW5kXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvc2VjdGlvbj5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZXZpY2VEZXRhaWxWaWV3PlxyXG4gIDx0ay13b3Jrc3BhY2UtZGV2aWNlLWRldGFpbFxyXG4gICAgW3dvcmtzcGFjZV09XCJ3b3Jrc3BhY2VcIlxyXG4gICAgW2RldmljZV09XCJzZWxlY3RlZERldmljZVwiXHJcbiAgICBbZGV0YWlsc109XCJkZXRhaWxzPy5kZXZpY2UgPz8gbnVsbFwiXHJcbiAgICBbaXNMb2FkaW5nXT1cImlzTG9hZGluZ1wiXHJcbiAgICAoYmFjayk9XCJvbkRldmljZUJhY2soKVwiPlxyXG4gIDwvdGstd29ya3NwYWNlLWRldmljZS1kZXRhaWw+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|