ngx-st-sap-installed-instruments 17.0.43 → 18.0.0

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.
Files changed (19) hide show
  1. package/esm2022/lib/components/sap-installed-instrument-details/activities-list-view/activities-list-view.component.mjs +13 -10
  2. package/esm2022/lib/components/sap-installed-instrument-details/activity-details-view/activity-details-view.component.mjs +3 -3
  3. package/esm2022/lib/components/sap-installed-instrument-details/attachments-list-view/attachments-list-view.component.mjs +3 -3
  4. package/esm2022/lib/components/sap-installed-instrument-details/call-details-view/call-details-view.component.mjs +3 -3
  5. package/esm2022/lib/components/sap-installed-instrument-details/calls-list-view/calls-list-view.component.mjs +5 -5
  6. package/esm2022/lib/components/sap-installed-instrument-details/data-details-view/data-details-view.component.mjs +3 -3
  7. package/esm2022/lib/components/sap-installed-instrument-details/sap-installed-instrument-details.component.mjs +3 -3
  8. package/esm2022/lib/components/sap-installed-instrument-details/service-contract-details-view/service-contract-details-view.component.mjs +3 -3
  9. package/esm2022/lib/components/sap-installed-instrument-details/service-contracts-list-view/service-contracts-list-view.component.mjs +5 -5
  10. package/esm2022/lib/components/sap-installed-instrument-details/service-contracts-modal-details-view/service-contracts-modal-details-view.component.mjs +3 -3
  11. package/esm2022/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-search/sap-installed-instrument-list-search.component.mjs +3 -3
  12. package/esm2022/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-table/sap-installed-instrument-list-table.component.mjs +3 -3
  13. package/esm2022/lib/components/sap-installed-instrument-list/sap-installed-instrument-list.component.mjs +3 -3
  14. package/esm2022/lib/ngx-st-sap-installed-instruments.module.mjs +4 -4
  15. package/esm2022/lib/services/sap-installed-instruments.service.mjs +3 -3
  16. package/fesm2022/ngx-st-sap-installed-instruments.mjs +57 -54
  17. package/fesm2022/ngx-st-sap-installed-instruments.mjs.map +1 -1
  18. package/lib/components/sap-installed-instrument-details/activities-list-view/activities-list-view.component.d.ts +3 -1
  19. package/package.json +7 -7
@@ -1,4 +1,4 @@
1
- import { Component, ViewChild, input, signal, ChangeDetectionStrategy, } from '@angular/core';
1
+ import { Component, HostBinding, ViewChild, input, ChangeDetectionStrategy, signal, } from '@angular/core';
2
2
  import { animate, state, style, transition, trigger, } from '@angular/animations';
3
3
  import { MatPaginator } from '@angular/material/paginator';
4
4
  import { MatTableDataSource } from '@angular/material/table';
@@ -10,6 +10,7 @@ import * as i4 from "@ngx-translate/core";
10
10
  import * as i5 from "ngx-st-date-format";
11
11
  export class ActivitiesListViewComponent {
12
12
  constructor() {
13
+ this.class = 'display-flex-component';
13
14
  this.activities = input();
14
15
  this.accessToken = input('');
15
16
  this.columnsToDisplay = [
@@ -20,7 +21,6 @@ export class ActivitiesListViewComponent {
20
21
  'startTime',
21
22
  'endTime',
22
23
  ];
23
- this.tableSource = signal(new MatTableDataSource([]));
24
24
  this.expandedElement = signal(null);
25
25
  }
26
26
  ngOnInit() {
@@ -28,13 +28,13 @@ export class ActivitiesListViewComponent {
28
28
  }
29
29
  ngAfterViewInit() {
30
30
  this.paginator.pageSize = 5;
31
- this.tableSource().paginator = this.paginator;
31
+ this.tableSource.paginator = this.paginator;
32
32
  }
33
33
  setTable() {
34
- this.tableSource.set(new MatTableDataSource(this.activities()));
34
+ this.tableSource = new MatTableDataSource(this.activities());
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActivitiesListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ActivitiesListViewComponent, selector: "app-activities-list-view", inputs: { activities: { classPropertyName: "activities", publicName: "activities", isSignal: true, isRequired: false, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "display-flex-component" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<div class=\"activities-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n [multiTemplateDataRows]=\"true\"\r\n >\r\n <ng-container matColumnDef=\"activityNumber\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.activityNo' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.activityNumber }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"type\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.type' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.type }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"detailedSymptom\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.detailedSymptom' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.detailedSymptom }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"solution\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.solution' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.solution }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"coordinator\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.coordinator' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.coordinatorName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"startTime\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.startTime' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.startTime | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"endTime\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.endTime' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.endTime | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n [attr.colspan]=\"columnsToDisplay.length\"\r\n >\r\n <div\r\n class=\"row-detail\"\r\n [@detailExpand]=\"\r\n element == expandedElement() ? 'expanded' : 'collapsed'\r\n \"\r\n >\r\n @if (element == expandedElement()) {\r\n <app-activity-details-view\r\n [activity]=\"element\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-activity-details-view>\r\n }\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let element; columns: columnsToDisplay\"\r\n class=\"details-element-row\"\r\n [class.details-expanded-row]=\"expandedElement() === element\"\r\n (click)=\"expandedElement.set(expandedElement() === element ? null : element)\"\r\n ></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: ['expandedDetail']\"\r\n class=\"detail-row\"\r\n ></tr>\r\n </table>\r\n <mat-paginator\r\n [pageSizeOptions]=\"[5, 10]\"\r\n [showFirstLastButtons]=\"true\"\r\n ></mat-paginator>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".activities-list-view{width:100%}table::ng-deep tbody>tr.active{background-color:#90caf9!important}table::ng-deep tbody>tr:hover{background-color:#90caf9!important}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent!important;cursor:default}table::ng-deep tbody>tr.detail-row{height:0}table::ng-deep tbody>tr.detail-row .row-detail{overflow:hidden;max-height:inherit}table::ng-deep tbody>tr.detail-row .row-detail ul{margin:10px 0}table::ng-deep tbody>tr.details-element-row:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:#bbdefb;border-left:3px solid #bbdefb;border-right:3px solid #bbdefb}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid #bbdefb;border-right:3px solid #bbdefb;border-bottom:3px solid #bbdefb}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"], dependencies: [{ kind: "component", type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i2.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i3.ActivityDetailsViewComponent, selector: "app-activity-details-view", inputs: ["activity", "accessToken"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], animations: [
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActivitiesListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ActivitiesListViewComponent, selector: "app-activities-list-view", inputs: { activities: { classPropertyName: "activities", publicName: "activities", isSignal: true, isRequired: false, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<div class=\"activities-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource\"\r\n [multiTemplateDataRows]=\"true\"\r\n >\r\n <ng-container matColumnDef=\"activityNumber\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.activityNo' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.activityNumber }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"type\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.type' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.type }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"detailedSymptom\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.detailedSymptom' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.detailedSymptom }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"solution\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.solution' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.solution }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"coordinator\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.coordinator' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.coordinatorName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"startTime\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.startTime' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.startTime | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"endTime\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.endTime' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.endTime | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n [attr.colspan]=\"columnsToDisplay.length\"\r\n >\r\n <div\r\n class=\"row-detail\"\r\n [@detailExpand]=\"\r\n element == expandedElement() ? 'expanded' : 'collapsed'\r\n \"\r\n >\r\n @if (element == expandedElement()) {\r\n <app-activity-details-view\r\n [activity]=\"element\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-activity-details-view>\r\n }\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let element; columns: columnsToDisplay\"\r\n class=\"details-element-row\"\r\n [class.details-expanded-row]=\"expandedElement() === element\"\r\n (click)=\"\r\n expandedElement.set(expandedElement() === element ? null : element)\r\n \"\r\n ></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: ['expandedDetail']\"\r\n class=\"detail-row\"\r\n ></tr>\r\n </table>\r\n <mat-paginator\r\n [pageSizeOptions]=\"[5, 10]\"\r\n [showFirstLastButtons]=\"true\"\r\n ></mat-paginator>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".activities-list-view{width:100%}table::ng-deep tbody>tr.active{background-color:#90caf9!important}table::ng-deep tbody>tr:hover{background-color:#90caf9!important}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent!important;cursor:default}table::ng-deep tbody>tr.detail-row{height:0}table::ng-deep tbody>tr.detail-row .row-detail{overflow:hidden;max-height:inherit}table::ng-deep tbody>tr.detail-row .row-detail ul{margin:10px 0}table::ng-deep tbody>tr.details-element-row:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:#bbdefb;border-left:3px solid #bbdefb;border-right:3px solid #bbdefb}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid #bbdefb;border-right:3px solid #bbdefb;border-bottom:3px solid #bbdefb}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"], dependencies: [{ kind: "component", type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i2.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i3.ActivityDetailsViewComponent, selector: "app-activity-details-view", inputs: ["activity", "accessToken"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], animations: [
38
38
  trigger('detailExpand', [
39
39
  state('collapsed', style({ height: '0px', minHeight: '0' })),
40
40
  state('expanded', style({ height: '*' })),
@@ -42,7 +42,7 @@ export class ActivitiesListViewComponent {
42
42
  ]),
43
43
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActivitiesListViewComponent, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActivitiesListViewComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'app-activities-list-view', animations: [
48
48
  trigger('detailExpand', [
@@ -50,9 +50,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
50
50
  state('expanded', style({ height: '*' })),
51
51
  transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
52
52
  ]),
53
- ], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'display-flex-component' }, template: "<div class=\"activities-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n [multiTemplateDataRows]=\"true\"\r\n >\r\n <ng-container matColumnDef=\"activityNumber\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.activityNo' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.activityNumber }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"type\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.type' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.type }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"detailedSymptom\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.detailedSymptom' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.detailedSymptom }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"solution\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.solution' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.solution }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"coordinator\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.coordinator' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.coordinatorName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"startTime\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.startTime' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.startTime | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"endTime\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.endTime' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.endTime | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n [attr.colspan]=\"columnsToDisplay.length\"\r\n >\r\n <div\r\n class=\"row-detail\"\r\n [@detailExpand]=\"\r\n element == expandedElement() ? 'expanded' : 'collapsed'\r\n \"\r\n >\r\n @if (element == expandedElement()) {\r\n <app-activity-details-view\r\n [activity]=\"element\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-activity-details-view>\r\n }\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let element; columns: columnsToDisplay\"\r\n class=\"details-element-row\"\r\n [class.details-expanded-row]=\"expandedElement() === element\"\r\n (click)=\"expandedElement.set(expandedElement() === element ? null : element)\"\r\n ></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: ['expandedDetail']\"\r\n class=\"detail-row\"\r\n ></tr>\r\n </table>\r\n <mat-paginator\r\n [pageSizeOptions]=\"[5, 10]\"\r\n [showFirstLastButtons]=\"true\"\r\n ></mat-paginator>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".activities-list-view{width:100%}table::ng-deep tbody>tr.active{background-color:#90caf9!important}table::ng-deep tbody>tr:hover{background-color:#90caf9!important}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent!important;cursor:default}table::ng-deep tbody>tr.detail-row{height:0}table::ng-deep tbody>tr.detail-row .row-detail{overflow:hidden;max-height:inherit}table::ng-deep tbody>tr.detail-row .row-detail ul{margin:10px 0}table::ng-deep tbody>tr.details-element-row:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:#bbdefb;border-left:3px solid #bbdefb;border-right:3px solid #bbdefb}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid #bbdefb;border-right:3px solid #bbdefb;border-bottom:3px solid #bbdefb}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"] }]
54
- }], propDecorators: { paginator: [{
53
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"activities-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource\"\r\n [multiTemplateDataRows]=\"true\"\r\n >\r\n <ng-container matColumnDef=\"activityNumber\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.activityNo' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.activityNumber }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"type\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.type' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.type }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"detailedSymptom\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.detailedSymptom' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.detailedSymptom }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"solution\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.solution' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.solution }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"coordinator\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.coordinator' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.coordinatorName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"startTime\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.startTime' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.startTime | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"endTime\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.endTime' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.endTime | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n [attr.colspan]=\"columnsToDisplay.length\"\r\n >\r\n <div\r\n class=\"row-detail\"\r\n [@detailExpand]=\"\r\n element == expandedElement() ? 'expanded' : 'collapsed'\r\n \"\r\n >\r\n @if (element == expandedElement()) {\r\n <app-activity-details-view\r\n [activity]=\"element\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-activity-details-view>\r\n }\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let element; columns: columnsToDisplay\"\r\n class=\"details-element-row\"\r\n [class.details-expanded-row]=\"expandedElement() === element\"\r\n (click)=\"\r\n expandedElement.set(expandedElement() === element ? null : element)\r\n \"\r\n ></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: ['expandedDetail']\"\r\n class=\"detail-row\"\r\n ></tr>\r\n </table>\r\n <mat-paginator\r\n [pageSizeOptions]=\"[5, 10]\"\r\n [showFirstLastButtons]=\"true\"\r\n ></mat-paginator>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".activities-list-view{width:100%}table::ng-deep tbody>tr.active{background-color:#90caf9!important}table::ng-deep tbody>tr:hover{background-color:#90caf9!important}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent!important;cursor:default}table::ng-deep tbody>tr.detail-row{height:0}table::ng-deep tbody>tr.detail-row .row-detail{overflow:hidden;max-height:inherit}table::ng-deep tbody>tr.detail-row .row-detail ul{margin:10px 0}table::ng-deep tbody>tr.details-element-row:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:#bbdefb;border-left:3px solid #bbdefb;border-right:3px solid #bbdefb}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid #bbdefb;border-right:3px solid #bbdefb;border-bottom:3px solid #bbdefb}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"] }]
54
+ }], ctorParameters: () => [], propDecorators: { class: [{
55
+ type: HostBinding,
56
+ args: ['class']
57
+ }], paginator: [{
55
58
  type: ViewChild,
56
59
  args: [MatPaginator]
57
60
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdGllcy1saXN0LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXNhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1kZXRhaWxzL2FjdGl2aXRpZXMtbGlzdC12aWV3L2FjdGl2aXRpZXMtbGlzdC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtZGV0YWlscy9hY3Rpdml0aWVzLWxpc3Qtdmlldy9hY3Rpdml0aWVzLWxpc3Qtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLHVCQUF1QixHQUN4QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7OztBQXNCN0QsTUFBTSxPQUFPLDJCQUEyQjtJQXBCeEM7UUF1QkUsZUFBVSxHQUFHLEtBQUssRUFBc0IsQ0FBQztRQUN6QyxnQkFBVyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV4QixxQkFBZ0IsR0FBRztZQUNqQixnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLFVBQVU7WUFDVixhQUFhO1lBQ2IsV0FBVztZQUNYLFNBQVM7U0FDVixDQUFDO1FBQ0YsZ0JBQVcsR0FBRyxNQUFNLENBQXVDLElBQUksa0JBQWtCLENBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekcsb0JBQWUsR0FBRyxNQUFNLENBQTBCLElBQUksQ0FBQyxDQUFDO0tBZ0J6RDtJQWRDLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ2hELENBQUM7SUFFTyxRQUFRO1FBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxrQkFBa0IsQ0FDekMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDOytHQTlCVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiw0YkFDM0IsWUFBWSxnREN6Q3pCLDhpSEFxR0EsdWlHRDFFYztZQUNWLE9BQU8sQ0FBQyxjQUFjLEVBQUU7Z0JBQ3RCLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDNUQsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDekMsVUFBVSxDQUNSLHdCQUF3QixFQUN4QixPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FDaEQ7YUFDRixDQUFDO1NBQ0g7OzRGQUlVLDJCQUEyQjtrQkFwQnZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBTXhCO3dCQUNWLE9BQU8sQ0FBQyxjQUFjLEVBQUU7NEJBQ3RCLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzs0QkFDNUQsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzs0QkFDekMsVUFBVSxDQUNSLHdCQUF3QixFQUN4QixPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FDaEQ7eUJBQ0YsQ0FBQztxQkFDSCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxRQUN6QyxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRTs4QkFHaEIsU0FBUztzQkFBakMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIGlucHV0LFxyXG4gIHNpZ25hbCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2FwQWN0aXZpdHlNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zYXAtYWN0aXZpdHkubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIGFuaW1hdGUsXHJcbiAgc3RhdGUsXHJcbiAgc3R5bGUsXHJcbiAgdHJhbnNpdGlvbixcclxuICB0cmlnZ2VyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hY3Rpdml0aWVzLWxpc3QtdmlldycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2aXRpZXMtbGlzdC12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuLi8uLi8uLi8uLi8uLi9hc3NldHMvZ3JvdXAtZGV0YWlscy5zY3NzJyxcclxuICAgICcuL2FjdGl2aXRpZXMtbGlzdC12aWV3LmNvbXBvbmVudC5zY3NzJyxcclxuICBdLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ2RldGFpbEV4cGFuZCcsIFtcclxuICAgICAgc3RhdGUoJ2NvbGxhcHNlZCcsIHN0eWxlKHsgaGVpZ2h0OiAnMHB4JywgbWluSGVpZ2h0OiAnMCcgfSkpLFxyXG4gICAgICBzdGF0ZSgnZXhwYW5kZWQnLCBzdHlsZSh7IGhlaWdodDogJyonIH0pKSxcclxuICAgICAgdHJhbnNpdGlvbihcclxuICAgICAgICAnZXhwYW5kZWQgPD0+IGNvbGxhcHNlZCcsXHJcbiAgICAgICAgYW5pbWF0ZSgnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpJylcclxuICAgICAgKSxcclxuICAgIF0pLFxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgaG9zdDogeyBjbGFzczogJ2Rpc3BsYXktZmxleC1jb21wb25lbnQnIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGl2aXRpZXNMaXN0Vmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG5cclxuICBhY3Rpdml0aWVzID0gaW5wdXQ8U2FwQWN0aXZpdHlNb2RlbFtdPigpO1xyXG4gIGFjY2Vzc1Rva2VuID0gaW5wdXQoJycpO1xyXG5cclxuICBjb2x1bW5zVG9EaXNwbGF5ID0gW1xyXG4gICAgJ2FjdGl2aXR5TnVtYmVyJyxcclxuICAgICdkZXRhaWxlZFN5bXB0b20nLFxyXG4gICAgJ3NvbHV0aW9uJyxcclxuICAgICdjb29yZGluYXRvcicsXHJcbiAgICAnc3RhcnRUaW1lJyxcclxuICAgICdlbmRUaW1lJyxcclxuICBdO1xyXG4gIHRhYmxlU291cmNlID0gc2lnbmFsPE1hdFRhYmxlRGF0YVNvdXJjZTxTYXBBY3Rpdml0eU1vZGVsPj4obmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxTYXBBY3Rpdml0eU1vZGVsPihbXSkpO1xyXG4gIGV4cGFuZGVkRWxlbWVudCA9IHNpZ25hbDxTYXBBY3Rpdml0eU1vZGVsIHwgbnVsbD4obnVsbCk7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRUYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5wYWdpbmF0b3IucGFnZVNpemUgPSA1O1xyXG4gICAgdGhpcy50YWJsZVNvdXJjZSgpLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRUYWJsZSgpIHtcclxuICAgIHRoaXMudGFibGVTb3VyY2Uuc2V0KG5ldyBNYXRUYWJsZURhdGFTb3VyY2U8U2FwQWN0aXZpdHlNb2RlbD4oXHJcbiAgICAgIHRoaXMuYWN0aXZpdGllcygpXHJcbiAgICApKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFjdGl2aXRpZXMtbGlzdC12aWV3XCI+XHJcbiAgPHRhYmxlXHJcbiAgICBjbGFzcz1cInN0LW1hdGVyaWFsLXRhYmxlXCJcclxuICAgIG1hdC10YWJsZVxyXG4gICAgW2RhdGFTb3VyY2VdPVwidGFibGVTb3VyY2UoKVwiXHJcbiAgICBbbXVsdGlUZW1wbGF0ZURhdGFSb3dzXT1cInRydWVcIlxyXG4gID5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWN0aXZpdHlOdW1iZXJcIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICB7eyAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LmFjdGl2aXR5Tm8nIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvdGg+XHJcbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+e3sgZWxlbWVudC5hY3Rpdml0eU51bWJlciB9fTwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInR5cGVcIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICB7eyAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnR5cGUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvdGg+XHJcbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+e3sgZWxlbWVudC50eXBlIH19PC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZGV0YWlsZWRTeW1wdG9tXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAge3sgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5kZXRhaWxlZFN5bXB0b20nIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvdGg+XHJcbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+e3sgZWxlbWVudC5kZXRhaWxlZFN5bXB0b20gfX08L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzb2x1dGlvblwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgIHt7ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuc29sdXRpb24nIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvdGg+XHJcbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+e3sgZWxlbWVudC5zb2x1dGlvbiB9fTwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNvb3JkaW5hdG9yXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAge3sgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5jb29yZGluYXRvcicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC90aD5cclxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj57eyBlbGVtZW50LmNvb3JkaW5hdG9yTmFtZSB9fTwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInN0YXJ0VGltZVwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgIHt7ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuc3RhcnRUaW1lJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG4gICAgICAgIHt7IGVsZW1lbnQuc3RhcnRUaW1lIHwgc3REYXRlVGltZUZvcm1hdFBpcGUgfX1cclxuICAgICAgPC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZW5kVGltZVwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgIHt7ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuZW5kVGltZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC90aD5cclxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICB7eyBlbGVtZW50LmVuZFRpbWUgfCBzdERhdGVUaW1lRm9ybWF0UGlwZSB9fVxyXG4gICAgICA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJleHBhbmRlZERldGFpbFwiPlxyXG4gICAgICA8dGRcclxuICAgICAgICBtYXQtY2VsbFxyXG4gICAgICAgICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIlxyXG4gICAgICAgIFthdHRyLmNvbHNwYW5dPVwiY29sdW1uc1RvRGlzcGxheS5sZW5ndGhcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJyb3ctZGV0YWlsXCJcclxuICAgICAgICAgIFtAZGV0YWlsRXhwYW5kXT1cIlxyXG4gICAgICAgICAgICBlbGVtZW50ID09IGV4cGFuZGVkRWxlbWVudCgpID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIEBpZiAoZWxlbWVudCA9PSBleHBhbmRlZEVsZW1lbnQoKSkge1xyXG4gICAgICAgICAgICA8YXBwLWFjdGl2aXR5LWRldGFpbHMtdmlld1xyXG4gICAgICAgICAgICAgIFthY3Rpdml0eV09XCJlbGVtZW50XCJcclxuICAgICAgICAgICAgICBbYWNjZXNzVG9rZW5dPVwiYWNjZXNzVG9rZW4oKVwiXHJcbiAgICAgICAgICAgID48L2FwcC1hY3Rpdml0eS1kZXRhaWxzLXZpZXc+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImNvbHVtbnNUb0Rpc3BsYXlcIj48L3RyPlxyXG4gICAgPHRyXHJcbiAgICAgIG1hdC1yb3dcclxuICAgICAgKm1hdFJvd0RlZj1cImxldCBlbGVtZW50OyBjb2x1bW5zOiBjb2x1bW5zVG9EaXNwbGF5XCJcclxuICAgICAgY2xhc3M9XCJkZXRhaWxzLWVsZW1lbnQtcm93XCJcclxuICAgICAgW2NsYXNzLmRldGFpbHMtZXhwYW5kZWQtcm93XT1cImV4cGFuZGVkRWxlbWVudCgpID09PSBlbGVtZW50XCJcclxuICAgICAgKGNsaWNrKT1cImV4cGFuZGVkRWxlbWVudC5zZXQoZXhwYW5kZWRFbGVtZW50KCkgPT09IGVsZW1lbnQgPyBudWxsIDogZWxlbWVudClcIlxyXG4gICAgPjwvdHI+XHJcbiAgICA8dHJcclxuICAgICAgbWF0LXJvd1xyXG4gICAgICAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogWydleHBhbmRlZERldGFpbCddXCJcclxuICAgICAgY2xhc3M9XCJkZXRhaWwtcm93XCJcclxuICAgID48L3RyPlxyXG4gIDwvdGFibGU+XHJcbiAgPG1hdC1wYWdpbmF0b3JcclxuICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwXVwiXHJcbiAgICBbc2hvd0ZpcnN0TGFzdEJ1dHRvbnNdPVwidHJ1ZVwiXHJcbiAgPjwvbWF0LXBhZ2luYXRvcj5cclxuPC9kaXY+XHJcbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdGllcy1saXN0LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXNhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1kZXRhaWxzL2FjdGl2aXRpZXMtbGlzdC12aWV3L2FjdGl2aXRpZXMtbGlzdC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtZGV0YWlscy9hY3Rpdml0aWVzLWxpc3Qtdmlldy9hY3Rpdml0aWVzLWxpc3Qtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFdBQVcsRUFFWCxTQUFTLEVBQ1QsS0FBSyxFQUNMLHVCQUF1QixFQUN2QixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7QUFxQjdELE1BQU0sT0FBTywyQkFBMkI7SUFtQnRDO1FBbEJzQixVQUFLLEdBQUcsd0JBQXdCLENBQUM7UUFHdkQsZUFBVSxHQUFHLEtBQUssRUFBc0IsQ0FBQztRQUV6QyxnQkFBVyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV4QixxQkFBZ0IsR0FBRztZQUNqQixnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLFVBQVU7WUFDVixhQUFhO1lBQ2IsV0FBVztZQUNYLFNBQVM7U0FDVixDQUFDO1FBRUYsb0JBQWUsR0FBRyxNQUFNLENBQTBCLElBQUksQ0FBQyxDQUFDO0lBRXpDLENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzlDLENBQUM7SUFFTyxRQUFRO1FBQ2QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGtCQUFrQixDQUN2QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQ2xCLENBQUM7SUFDSixDQUFDOytHQWxDVSwyQkFBMkI7bUdBQTNCLDJCQUEyQix5YkFFM0IsWUFBWSxnREMxQ3pCLGtrSEF1R0EsdWlHRDNFYztZQUNWLE9BQU8sQ0FBQyxjQUFjLEVBQUU7Z0JBQ3RCLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDNUQsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDekMsVUFBVSxDQUNSLHdCQUF3QixFQUN4QixPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FDaEQ7YUFDRixDQUFDO1NBQ0g7OzRGQUdVLDJCQUEyQjtrQkFuQnZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBTXhCO3dCQUNWLE9BQU8sQ0FBQyxjQUFjLEVBQUU7NEJBQ3RCLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzs0QkFDNUQsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzs0QkFDekMsVUFBVSxDQUNSLHdCQUF3QixFQUN4QixPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FDaEQ7eUJBQ0YsQ0FBQztxQkFDSCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTt3REFHekIsS0FBSztzQkFBMUIsV0FBVzt1QkFBQyxPQUFPO2dCQUNLLFNBQVM7c0JBQWpDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBpbnB1dCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBzaWduYWwsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhcEFjdGl2aXR5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2FwLWFjdGl2aXR5Lm1vZGVsJztcclxuaW1wb3J0IHtcclxuICBhbmltYXRlLFxyXG4gIHN0YXRlLFxyXG4gIHN0eWxlLFxyXG4gIHRyYW5zaXRpb24sXHJcbiAgdHJpZ2dlcixcclxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYWN0aXZpdGllcy1saXN0LXZpZXcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpdml0aWVzLWxpc3Qtdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICAnLi4vLi4vLi4vLi4vLi4vYXNzZXRzL2dyb3VwLWRldGFpbHMuc2NzcycsXHJcbiAgICAnLi9hY3Rpdml0aWVzLWxpc3Qtdmlldy5jb21wb25lbnQuc2NzcycsXHJcbiAgXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdkZXRhaWxFeHBhbmQnLCBbXHJcbiAgICAgIHN0YXRlKCdjb2xsYXBzZWQnLCBzdHlsZSh7IGhlaWdodDogJzBweCcsIG1pbkhlaWdodDogJzAnIH0pKSxcclxuICAgICAgc3RhdGUoJ2V4cGFuZGVkJywgc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oXHJcbiAgICAgICAgJ2V4cGFuZGVkIDw9PiBjb2xsYXBzZWQnLFxyXG4gICAgICAgIGFuaW1hdGUoJzIyNW1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKScpXHJcbiAgICAgICksXHJcbiAgICBdKSxcclxuICBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aXZpdGllc0xpc3RWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3MgPSAnZGlzcGxheS1mbGV4LWNvbXBvbmVudCc7XHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG5cclxuICBhY3Rpdml0aWVzID0gaW5wdXQ8U2FwQWN0aXZpdHlNb2RlbFtdPigpO1xyXG5cclxuICBhY2Nlc3NUb2tlbiA9IGlucHV0KCcnKTtcclxuXHJcbiAgY29sdW1uc1RvRGlzcGxheSA9IFtcclxuICAgICdhY3Rpdml0eU51bWJlcicsXHJcbiAgICAnZGV0YWlsZWRTeW1wdG9tJyxcclxuICAgICdzb2x1dGlvbicsXHJcbiAgICAnY29vcmRpbmF0b3InLFxyXG4gICAgJ3N0YXJ0VGltZScsXHJcbiAgICAnZW5kVGltZScsXHJcbiAgXTtcclxuICB0YWJsZVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPFNhcEFjdGl2aXR5TW9kZWw+O1xyXG4gIGV4cGFuZGVkRWxlbWVudCA9IHNpZ25hbDxTYXBBY3Rpdml0eU1vZGVsIHwgbnVsbD4obnVsbCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldFRhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSA9IDU7XHJcbiAgICB0aGlzLnRhYmxlU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRUYWJsZSgpIHtcclxuICAgIHRoaXMudGFibGVTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPFNhcEFjdGl2aXR5TW9kZWw+KFxyXG4gICAgICB0aGlzLmFjdGl2aXRpZXMoKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFjdGl2aXRpZXMtbGlzdC12aWV3XCI+XHJcbiAgPHRhYmxlXHJcbiAgICBjbGFzcz1cInN0LW1hdGVyaWFsLXRhYmxlXCJcclxuICAgIG1hdC10YWJsZVxyXG4gICAgW2RhdGFTb3VyY2VdPVwidGFibGVTb3VyY2VcIlxyXG4gICAgW211bHRpVGVtcGxhdGVEYXRhUm93c109XCJ0cnVlXCJcclxuICA+XHJcbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFjdGl2aXR5TnVtYmVyXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAge3sgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5hY3Rpdml0eU5vJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQuYWN0aXZpdHlOdW1iZXIgfX08L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0eXBlXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAge3sgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC50eXBlJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQudHlwZSB9fTwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRldGFpbGVkU3ltcHRvbVwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgIHt7ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuZGV0YWlsZWRTeW1wdG9tJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQuZGV0YWlsZWRTeW1wdG9tIH19PC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic29sdXRpb25cIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICB7eyAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnNvbHV0aW9uJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQuc29sdXRpb24gfX08L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjb29yZGluYXRvclwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgIHt7ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuY29vcmRpbmF0b3InIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvdGg+XHJcbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+e3sgZWxlbWVudC5jb29yZGluYXRvck5hbWUgfX08L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzdGFydFRpbWVcIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICB7eyAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnN0YXJ0VGltZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC90aD5cclxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICB7eyBlbGVtZW50LnN0YXJ0VGltZSB8IHN0RGF0ZVRpbWVGb3JtYXRQaXBlIH19XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImVuZFRpbWVcIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICB7eyAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LmVuZFRpbWUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvdGg+XHJcbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgICAge3sgZWxlbWVudC5lbmRUaW1lIHwgc3REYXRlVGltZUZvcm1hdFBpcGUgfX1cclxuICAgICAgPC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZXhwYW5kZWREZXRhaWxcIj5cclxuICAgICAgPHRkXHJcbiAgICAgICAgbWF0LWNlbGxcclxuICAgICAgICAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCJcclxuICAgICAgICBbYXR0ci5jb2xzcGFuXT1cImNvbHVtbnNUb0Rpc3BsYXkubGVuZ3RoXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwicm93LWRldGFpbFwiXHJcbiAgICAgICAgICBbQGRldGFpbEV4cGFuZF09XCJcclxuICAgICAgICAgICAgZWxlbWVudCA9PSBleHBhbmRlZEVsZW1lbnQoKSA/ICdleHBhbmRlZCcgOiAnY29sbGFwc2VkJ1xyXG4gICAgICAgICAgXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICBAaWYgKGVsZW1lbnQgPT0gZXhwYW5kZWRFbGVtZW50KCkpIHtcclxuICAgICAgICAgICAgPGFwcC1hY3Rpdml0eS1kZXRhaWxzLXZpZXdcclxuICAgICAgICAgICAgICBbYWN0aXZpdHldPVwiZWxlbWVudFwiXHJcbiAgICAgICAgICAgICAgW2FjY2Vzc1Rva2VuXT1cImFjY2Vzc1Rva2VuKClcIlxyXG4gICAgICAgICAgICA+PC9hcHAtYWN0aXZpdHktZGV0YWlscy12aWV3PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJjb2x1bW5zVG9EaXNwbGF5XCI+PC90cj5cclxuICAgIDx0clxyXG4gICAgICBtYXQtcm93XHJcbiAgICAgICptYXRSb3dEZWY9XCJsZXQgZWxlbWVudDsgY29sdW1uczogY29sdW1uc1RvRGlzcGxheVwiXHJcbiAgICAgIGNsYXNzPVwiZGV0YWlscy1lbGVtZW50LXJvd1wiXHJcbiAgICAgIFtjbGFzcy5kZXRhaWxzLWV4cGFuZGVkLXJvd109XCJleHBhbmRlZEVsZW1lbnQoKSA9PT0gZWxlbWVudFwiXHJcbiAgICAgIChjbGljayk9XCJcclxuICAgICAgICBleHBhbmRlZEVsZW1lbnQuc2V0KGV4cGFuZGVkRWxlbWVudCgpID09PSBlbGVtZW50ID8gbnVsbCA6IGVsZW1lbnQpXHJcbiAgICAgIFwiXHJcbiAgICA+PC90cj5cclxuICAgIDx0clxyXG4gICAgICBtYXQtcm93XHJcbiAgICAgICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBbJ2V4cGFuZGVkRGV0YWlsJ11cIlxyXG4gICAgICBjbGFzcz1cImRldGFpbC1yb3dcIlxyXG4gICAgPjwvdHI+XHJcbiAgPC90YWJsZT5cclxuICA8bWF0LXBhZ2luYXRvclxyXG4gICAgW3BhZ2VTaXplT3B0aW9uc109XCJbNSwgMTBdXCJcclxuICAgIFtzaG93Rmlyc3RMYXN0QnV0dG9uc109XCJ0cnVlXCJcclxuICA+PC9tYXQtcGFnaW5hdG9yPlxyXG48L2Rpdj5cclxuIl19
@@ -9,10 +9,10 @@ export class ActivityDetailsViewComponent {
9
9
  this.accessToken = input('');
10
10
  }
11
11
  ngOnInit() { }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActivityDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ActivityDetailsViewComponent, selector: "app-activity-details-view", inputs: { activity: { classPropertyName: "activity", publicName: "activity", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"group-details row\" style=\"margin-top: 20px\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.activity' | translate }}</span>\r\n <p>{{ activity().activity || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.type' | translate }}</span>\r\n <p>{{ activity().type || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.subject' | translate }}</span>\r\n <p>{{ activity().subject || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.remarks' | translate }}</span>\r\n <p>{{ activity().remarks || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.startTime' | translate }}</span>\r\n <p>{{ (activity().startTime | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.endTime' | translate }}</span>\r\n <p>{{ (activity().endTime | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.duration' | translate }}</span>\r\n <p>{{ activity().duration || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.content' | translate }}</span>\r\n <p>{{ activity().content || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n<hr />\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.coordinator' | translate }}</span>\r\n <p>{{ activity().coordinatorName || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.orderNumber' | translate }}</span>\r\n <p>{{ activity().orderNumber || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.detailedSymptom' | translate }}</span>\r\n <p>{{ activity().detailedSymptom || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.solution' | translate }}</span>\r\n <p>{{ activity().solution || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.incompleteReason' | translate\r\n }}</span>\r\n <p>{{ activity().incompleteReason || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n@if (activity().attachmentList.length > 0) {\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <app-attachments-list-view\r\n [attachments]=\"activity().attachmentList\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-attachments-list-view>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ""], dependencies: [{ kind: "component", type: i1.AttachmentsListViewComponent, selector: "app-attachments-list-view", inputs: ["attachments", "accessToken"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i3.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActivityDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ActivityDetailsViewComponent, selector: "app-activity-details-view", inputs: { activity: { classPropertyName: "activity", publicName: "activity", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"group-details row\" style=\"margin-top: 20px\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.activity' | translate }}</span>\r\n <p>{{ activity().activity || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.type' | translate }}</span>\r\n <p>{{ activity().type || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.subject' | translate }}</span>\r\n <p>{{ activity().subject || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.remarks' | translate }}</span>\r\n <p>{{ activity().remarks || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.startTime' | translate }}</span>\r\n <p>{{ (activity().startTime | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.endTime' | translate }}</span>\r\n <p>{{ (activity().endTime | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.duration' | translate }}</span>\r\n <p>{{ activity().duration || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.content' | translate }}</span>\r\n <p>{{ activity().content || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n<hr />\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.coordinator' | translate }}</span>\r\n <p>{{ activity().coordinatorName || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.orderNumber' | translate }}</span>\r\n <p>{{ activity().orderNumber || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.detailedSymptom' | translate }}</span>\r\n <p>{{ activity().detailedSymptom || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.solution' | translate }}</span>\r\n <p>{{ activity().solution || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.incompleteReason' | translate\r\n }}</span>\r\n <p>{{ activity().incompleteReason || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n@if (activity().attachmentList.length > 0) {\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <app-attachments-list-view\r\n [attachments]=\"activity().attachmentList\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-attachments-list-view>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ""], dependencies: [{ kind: "component", type: i1.AttachmentsListViewComponent, selector: "app-attachments-list-view", inputs: ["attachments", "accessToken"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i3.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActivityDetailsViewComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActivityDetailsViewComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{ selector: 'app-activity-details-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"group-details row\" style=\"margin-top: 20px\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.activity' | translate }}</span>\r\n <p>{{ activity().activity || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.type' | translate }}</span>\r\n <p>{{ activity().type || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.subject' | translate }}</span>\r\n <p>{{ activity().subject || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.remarks' | translate }}</span>\r\n <p>{{ activity().remarks || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.startTime' | translate }}</span>\r\n <p>{{ (activity().startTime | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.endTime' | translate }}</span>\r\n <p>{{ (activity().endTime | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.duration' | translate }}</span>\r\n <p>{{ activity().duration || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.content' | translate }}</span>\r\n <p>{{ activity().content || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n<hr />\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.coordinator' | translate }}</span>\r\n <p>{{ activity().coordinatorName || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.orderNumber' | translate }}</span>\r\n <p>{{ activity().orderNumber || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.detailedSymptom' | translate }}</span>\r\n <p>{{ activity().detailedSymptom || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.solution' | translate }}</span>\r\n <p>{{ activity().solution || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.incompleteReason' | translate\r\n }}</span>\r\n <p>{{ activity().incompleteReason || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n@if (activity().attachmentList.length > 0) {\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <app-attachments-list-view\r\n [attachments]=\"activity().attachmentList\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-attachments-list-view>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n"] }]
18
18
  }] });
@@ -24,10 +24,10 @@ export class AttachmentsListViewComponent {
24
24
  this.accessToken() +
25
25
  company);
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AttachmentsListViewComponent, deps: [{ token: 'config' }], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: AttachmentsListViewComponent, selector: "app-attachments-list-view", inputs: { attachments: { classPropertyName: "attachments", publicName: "attachments", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"attachments-list-view\">\r\n <p class=\"attachments-title\">\r\n {{ 'sapAdminInstalledInstrument.attachments' | translate }}:\r\n </p>\r\n <ul class=\"row\">\r\n @for (attachment of attachments(); track attachment.id) {\r\n <li class=\"row align-items-center\">\r\n <p>{{ attachment.fileName }}.{{ attachment.fileExt }}</p>\r\n <a\r\n [href]=\"\r\n baseDownloadLink() +\r\n '&id=' +\r\n attachment.id +\r\n '&line=' +\r\n attachment.line +\r\n '&preview=true'\r\n \"\r\n target=\"_blank\"\r\n (click)=\"updateLink()\"\r\n >\r\n <button mat-icon-button>\r\n <mat-icon>preview</mat-icon>\r\n </button>\r\n </a>\r\n <a\r\n [href]=\"\r\n baseDownloadLink() +\r\n '&id=' +\r\n attachment.id +\r\n '&line=' +\r\n attachment.line +\r\n '&preview=false'\r\n \"\r\n target=\"_blank\"\r\n (click)=\"updateLink()\"\r\n >\r\n <button mat-icon-button>\r\n <mat-icon>cloud_download</mat-icon>\r\n </button>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</div>\r\n", styles: [".attachments-list-view .attachments-title{font-weight:500;margin-bottom:0}.attachments-list-view ul{padding-left:0}.attachments-list-view ul li{padding:0 10px;border-right:2px solid #66bb6a}.attachments-list-view ul li:last-child{border-right:0}.attachments-list-view ul li p{margin-bottom:0}.attachments-list-view ul li button{width:32px;height:32px;line-height:32px;opacity:.8}.attachments-list-view ul li button:hover{opacity:1}.attachments-list-view ul li button mat-icon{font-size:22px;line-height:22px;width:22px;height:22px}\n"], dependencies: [{ kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AttachmentsListViewComponent, deps: [{ token: 'config' }], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AttachmentsListViewComponent, selector: "app-attachments-list-view", inputs: { attachments: { classPropertyName: "attachments", publicName: "attachments", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"attachments-list-view\">\r\n <p class=\"attachments-title\">\r\n {{ 'sapAdminInstalledInstrument.attachments' | translate }}:\r\n </p>\r\n <ul class=\"row\">\r\n @for (attachment of attachments(); track attachment.id) {\r\n <li class=\"row align-items-center\">\r\n <p>{{ attachment.fileName }}.{{ attachment.fileExt }}</p>\r\n <a\r\n [href]=\"\r\n baseDownloadLink() +\r\n '&id=' +\r\n attachment.id +\r\n '&line=' +\r\n attachment.line +\r\n '&preview=true'\r\n \"\r\n target=\"_blank\"\r\n (click)=\"updateLink()\"\r\n >\r\n <button mat-icon-button>\r\n <mat-icon>preview</mat-icon>\r\n </button>\r\n </a>\r\n <a\r\n [href]=\"\r\n baseDownloadLink() +\r\n '&id=' +\r\n attachment.id +\r\n '&line=' +\r\n attachment.line +\r\n '&preview=false'\r\n \"\r\n target=\"_blank\"\r\n (click)=\"updateLink()\"\r\n >\r\n <button mat-icon-button>\r\n <mat-icon>cloud_download</mat-icon>\r\n </button>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</div>\r\n", styles: [".attachments-list-view .attachments-title{font-weight:500;margin-bottom:0}.attachments-list-view ul{padding-left:0}.attachments-list-view ul li{padding:0 10px;border-right:2px solid #66bb6a}.attachments-list-view ul li:last-child{border-right:0}.attachments-list-view ul li p{margin-bottom:0}.attachments-list-view ul li button{width:32px;height:32px;line-height:32px;opacity:.8}.attachments-list-view ul li button:hover{opacity:1}.attachments-list-view ul li button mat-icon{font-size:22px;line-height:22px;width:22px;height:22px}\n"], dependencies: [{ kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AttachmentsListViewComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AttachmentsListViewComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ selector: 'app-attachments-list-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"attachments-list-view\">\r\n <p class=\"attachments-title\">\r\n {{ 'sapAdminInstalledInstrument.attachments' | translate }}:\r\n </p>\r\n <ul class=\"row\">\r\n @for (attachment of attachments(); track attachment.id) {\r\n <li class=\"row align-items-center\">\r\n <p>{{ attachment.fileName }}.{{ attachment.fileExt }}</p>\r\n <a\r\n [href]=\"\r\n baseDownloadLink() +\r\n '&id=' +\r\n attachment.id +\r\n '&line=' +\r\n attachment.line +\r\n '&preview=true'\r\n \"\r\n target=\"_blank\"\r\n (click)=\"updateLink()\"\r\n >\r\n <button mat-icon-button>\r\n <mat-icon>preview</mat-icon>\r\n </button>\r\n </a>\r\n <a\r\n [href]=\"\r\n baseDownloadLink() +\r\n '&id=' +\r\n attachment.id +\r\n '&line=' +\r\n attachment.line +\r\n '&preview=false'\r\n \"\r\n target=\"_blank\"\r\n (click)=\"updateLink()\"\r\n >\r\n <button mat-icon-button>\r\n <mat-icon>cloud_download</mat-icon>\r\n </button>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</div>\r\n", styles: [".attachments-list-view .attachments-title{font-weight:500;margin-bottom:0}.attachments-list-view ul{padding-left:0}.attachments-list-view ul li{padding:0 10px;border-right:2px solid #66bb6a}.attachments-list-view ul li:last-child{border-right:0}.attachments-list-view ul li p{margin-bottom:0}.attachments-list-view ul li button{width:32px;height:32px;line-height:32px;opacity:.8}.attachments-list-view ul li button:hover{opacity:1}.attachments-list-view ul li button mat-icon{font-size:22px;line-height:22px;width:22px;height:22px}\n"] }]
33
33
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -45,10 +45,10 @@ export class CallDetailsViewComponent {
45
45
  }));
46
46
  this.activities$.set(activitiesObservable);
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CallDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CallDetailsViewComponent, selector: "app-call-details-view", inputs: { call: { classPropertyName: "call", publicName: "call", isSignal: true, isRequired: true, transformFunction: null }, contracts: { classPropertyName: "contracts", publicName: "contracts", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<mat-tab-group (selectedTabChange)=\"tabChanged($event)\">\r\n <mat-tab label=\"{{ 'sapAdminInstalledInstrument.callDetails' | translate }}\">\r\n <div class=\"group-details row\" style=\"margin-top: 20px\">\r\n <div class=\"col-xs-12 col-sm-6\">\r\n <span>{{ 'sapAdminInstalledInstrument.callId' | translate }}</span>\r\n <p>{{ call().callId || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-6\">\r\n <span>{{ 'sapAdminInstalledInstrument.contractNo' | translate }}</span>\r\n <div class=\"row\">\r\n <p>{{ call().contractNo || '-' }}</p>\r\n @if (contractDetails()) {\r\n <mat-icon class=\"show-contract\" (click)=\"openContractModel()\"\r\n >visibility</mat-icon\r\n >\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.accountNo' | translate }}</span>\r\n <p>{{ call().customer || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.accountName' | translate }}</span>\r\n <p>{{ call().customerName || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.contactPerson' | translate\r\n }}</span>\r\n <p>{{ call().contactPerson || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.phone' | translate }}</span>\r\n <p>{{ call().telephoneNo || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.shipToCode' | translate }}</span>\r\n <p>{{ call().shipToCode || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.shipToAddress' | translate\r\n }}</span>\r\n <p>{{ call().shipToAddress || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.billToCode' | translate }}</span>\r\n <p>{{ call().billToCode || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.billToAddress' | translate\r\n }}</span>\r\n <p>{{ call().billToAddress || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.subject' | translate }}</span>\r\n <p>{{ call().subject || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.callStatus' | translate }}</span>\r\n <p>{{ call().callStatus || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.createdOn' | translate }}</span>\r\n <p>{{ (call().createdOn | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.closedOn' | translate }}</span>\r\n <p>{{ (call().closedOn | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.origin' | translate }}</span>\r\n <p>{{ call().origin || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.problemType' | translate }}</span>\r\n <p>{{ call().problemType || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.problemSubtype' | translate\r\n }}</span>\r\n <p>{{ call().problemSubtype || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.callType' | translate }}</span>\r\n <p>{{ call().callType || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.technician' | translate }}</span>\r\n <p>\r\n {{\r\n call().technicianFirstName\r\n ? call().technicianFirstName + ' ' + call().technicianLastName\r\n : '-'\r\n }}\r\n </p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.engineerName' | translate\r\n }}</span>\r\n <p>{{ call().engeneerName || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{ 'sapAdminInstalledInstrument.remarks' | translate }}</span>\r\n <p>{{ call().remarks || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{ 'sapAdminInstalledInstrument.resolution' | translate }}</span>\r\n <p>{{ call().resolution || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.startTime' | translate }}</span>\r\n <p>{{ (call().startTime | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.endTime' | translate }}</span>\r\n <p>{{ (call().endTime | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.duration' | translate }}</span>\r\n <p>{{ call().duration || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.travelTime' | translate }}</span>\r\n <p>{{ call().travelTime || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.internalComments' | translate\r\n }}</span>\r\n <p>{{ call().internalComments || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n @if (call()?.attachmentList && call().attachmentList!.length > 0) {\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <app-attachments-list-view\r\n [attachments]=\"call().attachmentList!\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-attachments-list-view>\r\n </div>\r\n </div>\r\n }\r\n </mat-tab>\r\n\r\n <mat-tab\r\n label=\"{{ 'sapAdminInstalledInstrument.activities' | translate }} ({{\r\n activities().length || 0\r\n }})\"\r\n >\r\n @if (activities$() | async) {\r\n <app-activities-list-view\r\n [activities]=\"activities()\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-activities-list-view>\r\n }\r\n </mat-tab>\r\n</mat-tab-group>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".show-contract{margin-left:5px;font-size:22px;opacity:.8;cursor:pointer;color:#1976d2}.show-contract:hover{opacity:1}\n"], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: i3.ActivitiesListViewComponent, selector: "app-activities-list-view", inputs: ["activities", "accessToken"] }, { kind: "component", type: i4.AttachmentsListViewComponent, selector: "app-attachments-list-view", inputs: ["attachments", "accessToken"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CallDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CallDetailsViewComponent, selector: "app-call-details-view", inputs: { call: { classPropertyName: "call", publicName: "call", isSignal: true, isRequired: true, transformFunction: null }, contracts: { classPropertyName: "contracts", publicName: "contracts", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<mat-tab-group (selectedTabChange)=\"tabChanged($event)\">\r\n <mat-tab label=\"{{ 'sapAdminInstalledInstrument.callDetails' | translate }}\">\r\n <div class=\"group-details row\" style=\"margin-top: 20px\">\r\n <div class=\"col-xs-12 col-sm-6\">\r\n <span>{{ 'sapAdminInstalledInstrument.callId' | translate }}</span>\r\n <p>{{ call().callId || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-6\">\r\n <span>{{ 'sapAdminInstalledInstrument.contractNo' | translate }}</span>\r\n <div class=\"row\">\r\n <p>{{ call().contractNo || '-' }}</p>\r\n @if (contractDetails()) {\r\n <mat-icon class=\"show-contract\" (click)=\"openContractModel()\"\r\n >visibility</mat-icon\r\n >\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.accountNo' | translate }}</span>\r\n <p>{{ call().customer || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.accountName' | translate }}</span>\r\n <p>{{ call().customerName || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.contactPerson' | translate\r\n }}</span>\r\n <p>{{ call().contactPerson || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.phone' | translate }}</span>\r\n <p>{{ call().telephoneNo || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.shipToCode' | translate }}</span>\r\n <p>{{ call().shipToCode || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.shipToAddress' | translate\r\n }}</span>\r\n <p>{{ call().shipToAddress || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.billToCode' | translate }}</span>\r\n <p>{{ call().billToCode || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.billToAddress' | translate\r\n }}</span>\r\n <p>{{ call().billToAddress || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.subject' | translate }}</span>\r\n <p>{{ call().subject || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.callStatus' | translate }}</span>\r\n <p>{{ call().callStatus || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.createdOn' | translate }}</span>\r\n <p>{{ (call().createdOn | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.closedOn' | translate }}</span>\r\n <p>{{ (call().closedOn | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.origin' | translate }}</span>\r\n <p>{{ call().origin || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.problemType' | translate }}</span>\r\n <p>{{ call().problemType || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.problemSubtype' | translate\r\n }}</span>\r\n <p>{{ call().problemSubtype || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.callType' | translate }}</span>\r\n <p>{{ call().callType || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.technician' | translate }}</span>\r\n <p>\r\n {{\r\n call().technicianFirstName\r\n ? call().technicianFirstName + ' ' + call().technicianLastName\r\n : '-'\r\n }}\r\n </p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.engineerName' | translate\r\n }}</span>\r\n <p>{{ call().engeneerName || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{ 'sapAdminInstalledInstrument.remarks' | translate }}</span>\r\n <p>{{ call().remarks || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{ 'sapAdminInstalledInstrument.resolution' | translate }}</span>\r\n <p>{{ call().resolution || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.startTime' | translate }}</span>\r\n <p>{{ (call().startTime | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.endTime' | translate }}</span>\r\n <p>{{ (call().endTime | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.duration' | translate }}</span>\r\n <p>{{ call().duration || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.travelTime' | translate }}</span>\r\n <p>{{ call().travelTime || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.internalComments' | translate\r\n }}</span>\r\n <p>{{ call().internalComments || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n @if (call()?.attachmentList && call().attachmentList!.length > 0) {\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <app-attachments-list-view\r\n [attachments]=\"call().attachmentList!\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-attachments-list-view>\r\n </div>\r\n </div>\r\n }\r\n </mat-tab>\r\n\r\n <mat-tab\r\n label=\"{{ 'sapAdminInstalledInstrument.activities' | translate }} ({{\r\n activities().length || 0\r\n }})\"\r\n >\r\n @if (activities$() | async) {\r\n <app-activities-list-view\r\n [activities]=\"activities()\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-activities-list-view>\r\n }\r\n </mat-tab>\r\n</mat-tab-group>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".show-contract{margin-left:5px;font-size:22px;opacity:.8;cursor:pointer;color:#1976d2}.show-contract:hover{opacity:1}\n"], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: i3.ActivitiesListViewComponent, selector: "app-activities-list-view", inputs: ["activities", "accessToken"] }, { kind: "component", type: i4.AttachmentsListViewComponent, selector: "app-attachments-list-view", inputs: ["attachments", "accessToken"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CallDetailsViewComponent, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CallDetailsViewComponent, decorators: [{
52
52
  type: Component,
53
53
  args: [{ selector: 'app-call-details-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-tab-group (selectedTabChange)=\"tabChanged($event)\">\r\n <mat-tab label=\"{{ 'sapAdminInstalledInstrument.callDetails' | translate }}\">\r\n <div class=\"group-details row\" style=\"margin-top: 20px\">\r\n <div class=\"col-xs-12 col-sm-6\">\r\n <span>{{ 'sapAdminInstalledInstrument.callId' | translate }}</span>\r\n <p>{{ call().callId || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-6\">\r\n <span>{{ 'sapAdminInstalledInstrument.contractNo' | translate }}</span>\r\n <div class=\"row\">\r\n <p>{{ call().contractNo || '-' }}</p>\r\n @if (contractDetails()) {\r\n <mat-icon class=\"show-contract\" (click)=\"openContractModel()\"\r\n >visibility</mat-icon\r\n >\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.accountNo' | translate }}</span>\r\n <p>{{ call().customer || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.accountName' | translate }}</span>\r\n <p>{{ call().customerName || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.contactPerson' | translate\r\n }}</span>\r\n <p>{{ call().contactPerson || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.phone' | translate }}</span>\r\n <p>{{ call().telephoneNo || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.shipToCode' | translate }}</span>\r\n <p>{{ call().shipToCode || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.shipToAddress' | translate\r\n }}</span>\r\n <p>{{ call().shipToAddress || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.billToCode' | translate }}</span>\r\n <p>{{ call().billToCode || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.billToAddress' | translate\r\n }}</span>\r\n <p>{{ call().billToAddress || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.subject' | translate }}</span>\r\n <p>{{ call().subject || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.callStatus' | translate }}</span>\r\n <p>{{ call().callStatus || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.createdOn' | translate }}</span>\r\n <p>{{ (call().createdOn | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.closedOn' | translate }}</span>\r\n <p>{{ (call().closedOn | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.origin' | translate }}</span>\r\n <p>{{ call().origin || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.problemType' | translate }}</span>\r\n <p>{{ call().problemType || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.problemSubtype' | translate\r\n }}</span>\r\n <p>{{ call().problemSubtype || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.callType' | translate }}</span>\r\n <p>{{ call().callType || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.technician' | translate }}</span>\r\n <p>\r\n {{\r\n call().technicianFirstName\r\n ? call().technicianFirstName + ' ' + call().technicianLastName\r\n : '-'\r\n }}\r\n </p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.engineerName' | translate\r\n }}</span>\r\n <p>{{ call().engeneerName || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{ 'sapAdminInstalledInstrument.remarks' | translate }}</span>\r\n <p>{{ call().remarks || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{ 'sapAdminInstalledInstrument.resolution' | translate }}</span>\r\n <p>{{ call().resolution || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.startTime' | translate }}</span>\r\n <p>{{ (call().startTime | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.endTime' | translate }}</span>\r\n <p>{{ (call().endTime | stDateTimeFormatPipe) || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.duration' | translate }}</span>\r\n <p>{{ call().duration || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.travelTime' | translate }}</span>\r\n <p>{{ call().travelTime || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.internalComments' | translate\r\n }}</span>\r\n <p>{{ call().internalComments || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n @if (call()?.attachmentList && call().attachmentList!.length > 0) {\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <app-attachments-list-view\r\n [attachments]=\"call().attachmentList!\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-attachments-list-view>\r\n </div>\r\n </div>\r\n }\r\n </mat-tab>\r\n\r\n <mat-tab\r\n label=\"{{ 'sapAdminInstalledInstrument.activities' | translate }} ({{\r\n activities().length || 0\r\n }})\"\r\n >\r\n @if (activities$() | async) {\r\n <app-activities-list-view\r\n [activities]=\"activities()\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-activities-list-view>\r\n }\r\n </mat-tab>\r\n</mat-tab-group>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".show-contract{margin-left:5px;font-size:22px;opacity:.8;cursor:pointer;color:#1976d2}.show-contract:hover{opacity:1}\n"] }]
54
54
  }] });
@@ -38,8 +38,8 @@ export class CallsListViewComponent {
38
38
  setTable() {
39
39
  this.tableSource.set(new MatTableDataSource(this.calls()));
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CallsListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CallsListViewComponent, selector: "app-calls-list-view", inputs: { calls: { classPropertyName: "calls", publicName: "calls", isSignal: true, isRequired: true, transformFunction: null }, contracts: { classPropertyName: "contracts", publicName: "contracts", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "display-flex-component" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"calls-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n multiTemplateDataRows\r\n >\r\n <ng-container matColumnDef=\"callId\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.callId' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.callId }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"callStatus\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.status' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.callStatus }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"callType\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.callType' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.callType }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"problemType\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.problemType' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.problemType }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"customer\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.accountNo' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.customer }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"customerName\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.accountName' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.customerName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"engeneerName\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.engineerName' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.engeneerName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"createdOn\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.createdOn' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.createdOn | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"closedOn\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.closedOn' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.closedOn | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n [attr.colspan]=\"columnsToDisplay.length\"\r\n >\r\n <div\r\n class=\"row-detail\"\r\n [@detailExpand]=\"\r\n element == expandedElement() ? 'expanded' : 'collapsed'\r\n \"\r\n >\r\n @if (element == expandedElement()) {\r\n <app-call-details-view\r\n [call]=\"element\"\r\n [contracts]=\"contracts()\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-call-details-view>\r\n }\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let element; columns: columnsToDisplay\"\r\n class=\"details-element-row\"\r\n [class.details-expanded-row]=\"expandedElement() === element\"\r\n (click)=\"expandedElement.set(expandedElement() === element ? null : element)\"\r\n ></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: ['expandedDetail']\"\r\n class=\"detail-row\"\r\n ></tr>\r\n </table>\r\n <mat-paginator\r\n [pageSizeOptions]=\"[10, 20]\"\r\n showFirstLastButtons\r\n ></mat-paginator>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".calls-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent!important;cursor:default}table::ng-deep tbody>tr.detail-row{height:0}table::ng-deep tbody>tr.detail-row .row-detail{overflow:hidden;max-height:inherit}table::ng-deep tbody>tr.detail-row .row-detail ul{margin:10px 0}table::ng-deep tbody>tr.details-element-row:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:var(--active-table-row, var(--active-table-row, #c8e6c9));border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9);border-bottom:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"], dependencies: [{ kind: "component", type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i2.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i3.CallDetailsViewComponent, selector: "app-call-details-view", inputs: ["call", "contracts", "accessToken"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], animations: [
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CallsListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CallsListViewComponent, selector: "app-calls-list-view", inputs: { calls: { classPropertyName: "calls", publicName: "calls", isSignal: true, isRequired: true, transformFunction: null }, contracts: { classPropertyName: "contracts", publicName: "contracts", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "display-flex-component" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"calls-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n multiTemplateDataRows\r\n >\r\n <ng-container matColumnDef=\"callId\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.callId' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.callId }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"callStatus\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.status' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.callStatus }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"callType\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.callType' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.callType }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"problemType\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.problemType' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.problemType }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"customer\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.accountNo' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.customer }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"customerName\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.accountName' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.customerName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"engeneerName\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.engineerName' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.engeneerName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"createdOn\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.createdOn' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.createdOn | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"closedOn\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.closedOn' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.closedOn | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n [attr.colspan]=\"columnsToDisplay.length\"\r\n >\r\n <div\r\n class=\"row-detail\"\r\n [@detailExpand]=\"\r\n element == expandedElement ? 'expanded' : 'collapsed'\r\n \"\r\n >\r\n @if (element == expandedElement) {\r\n <app-call-details-view\r\n [call]=\"element\"\r\n [contracts]=\"contracts()\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-call-details-view>\r\n }\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let element; columns: columnsToDisplay\"\r\n class=\"details-element-row\"\r\n [class.details-expanded-row]=\"expandedElement === element\"\r\n (click)=\"expandedElement = expandedElement === element ? null : element\"\r\n ></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: ['expandedDetail']\"\r\n class=\"detail-row\"\r\n ></tr>\r\n </table>\r\n <mat-paginator\r\n [pageSizeOptions]=\"[10, 20]\"\r\n showFirstLastButtons\r\n ></mat-paginator>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".calls-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent!important;cursor:default}table::ng-deep tbody>tr.detail-row{height:0}table::ng-deep tbody>tr.detail-row .row-detail{overflow:hidden;max-height:inherit}table::ng-deep tbody>tr.detail-row .row-detail ul{margin:10px 0}table::ng-deep tbody>tr.details-element-row:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:var(--active-table-row, var(--active-table-row, #c8e6c9));border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9);border-bottom:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"], dependencies: [{ kind: "component", type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i2.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i3.CallDetailsViewComponent, selector: "app-call-details-view", inputs: ["call", "contracts", "accessToken"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], animations: [
43
43
  trigger('detailExpand', [
44
44
  state('collapsed', style({ height: '0px', minHeight: '0' })),
45
45
  state('expanded', style({ height: '*' })),
@@ -47,7 +47,7 @@ export class CallsListViewComponent {
47
47
  ]),
48
48
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CallsListViewComponent, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CallsListViewComponent, decorators: [{
51
51
  type: Component,
52
52
  args: [{ selector: 'app-calls-list-view', animations: [
53
53
  trigger('detailExpand', [
@@ -55,6 +55,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
55
55
  state('expanded', style({ height: '*' })),
56
56
  transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
57
57
  ]),
58
- ], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'display-flex-component' }, template: "<div class=\"calls-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n multiTemplateDataRows\r\n >\r\n <ng-container matColumnDef=\"callId\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.callId' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.callId }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"callStatus\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.status' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.callStatus }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"callType\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.callType' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.callType }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"problemType\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.problemType' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.problemType }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"customer\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.accountNo' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.customer }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"customerName\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.accountName' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.customerName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"engeneerName\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.engineerName' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.engeneerName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"createdOn\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.createdOn' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.createdOn | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"closedOn\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.closedOn' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.closedOn | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n [attr.colspan]=\"columnsToDisplay.length\"\r\n >\r\n <div\r\n class=\"row-detail\"\r\n [@detailExpand]=\"\r\n element == expandedElement() ? 'expanded' : 'collapsed'\r\n \"\r\n >\r\n @if (element == expandedElement()) {\r\n <app-call-details-view\r\n [call]=\"element\"\r\n [contracts]=\"contracts()\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-call-details-view>\r\n }\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let element; columns: columnsToDisplay\"\r\n class=\"details-element-row\"\r\n [class.details-expanded-row]=\"expandedElement() === element\"\r\n (click)=\"expandedElement.set(expandedElement() === element ? null : element)\"\r\n ></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: ['expandedDetail']\"\r\n class=\"detail-row\"\r\n ></tr>\r\n </table>\r\n <mat-paginator\r\n [pageSizeOptions]=\"[10, 20]\"\r\n showFirstLastButtons\r\n ></mat-paginator>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".calls-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent!important;cursor:default}table::ng-deep tbody>tr.detail-row{height:0}table::ng-deep tbody>tr.detail-row .row-detail{overflow:hidden;max-height:inherit}table::ng-deep tbody>tr.detail-row .row-detail ul{margin:10px 0}table::ng-deep tbody>tr.details-element-row:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:var(--active-table-row, var(--active-table-row, #c8e6c9));border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9);border-bottom:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"] }]
58
+ ], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'display-flex-component' }, template: "<div class=\"calls-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n multiTemplateDataRows\r\n >\r\n <ng-container matColumnDef=\"callId\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.callId' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.callId }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"callStatus\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.status' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.callStatus }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"callType\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.callType' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.callType }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"problemType\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.problemType' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.problemType }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"customer\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.accountNo' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.customer }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"customerName\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.accountName' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.customerName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"engeneerName\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.engineerName' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.engeneerName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"createdOn\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.createdOn' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.createdOn | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"closedOn\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.closedOn' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.closedOn | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n [attr.colspan]=\"columnsToDisplay.length\"\r\n >\r\n <div\r\n class=\"row-detail\"\r\n [@detailExpand]=\"\r\n element == expandedElement ? 'expanded' : 'collapsed'\r\n \"\r\n >\r\n @if (element == expandedElement) {\r\n <app-call-details-view\r\n [call]=\"element\"\r\n [contracts]=\"contracts()\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-call-details-view>\r\n }\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let element; columns: columnsToDisplay\"\r\n class=\"details-element-row\"\r\n [class.details-expanded-row]=\"expandedElement === element\"\r\n (click)=\"expandedElement = expandedElement === element ? null : element\"\r\n ></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: ['expandedDetail']\"\r\n class=\"detail-row\"\r\n ></tr>\r\n </table>\r\n <mat-paginator\r\n [pageSizeOptions]=\"[10, 20]\"\r\n showFirstLastButtons\r\n ></mat-paginator>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".calls-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent!important;cursor:default}table::ng-deep tbody>tr.detail-row{height:0}table::ng-deep tbody>tr.detail-row .row-detail{overflow:hidden;max-height:inherit}table::ng-deep tbody>tr.detail-row .row-detail ul{margin:10px 0}table::ng-deep tbody>tr.details-element-row:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:var(--active-table-row, var(--active-table-row, #c8e6c9));border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9);border-bottom:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"] }]
59
59
  }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbHMtbGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtZGV0YWlscy9jYWxscy1saXN0LXZpZXcvY2FsbHMtbGlzdC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtZGV0YWlscy9jYWxscy1saXN0LXZpZXcvY2FsbHMtbGlzdC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBc0I3RCxNQUFNLE9BQU8sc0JBQXNCO0lBcEJuQztRQXFCRSxjQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBZSxZQUFZLENBQUMsQ0FBQztRQUUzRCxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBa0IsQ0FBQztRQUV6QyxjQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBc0IsQ0FBQztRQUVqRCxnQkFBVyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV4QixxQkFBZ0IsR0FBRztZQUNqQixRQUFRO1lBQ1IsWUFBWTtZQUNaLFVBQVU7WUFDVixhQUFhO1lBQ2IsVUFBVTtZQUNWLGNBQWM7WUFDZCxjQUFjO1lBQ2QsV0FBVztZQUNYLFVBQVU7U0FDWCxDQUFDO1FBQ0YsZ0JBQVcsR0FBRyxNQUFNLENBQ2xCLElBQUksa0JBQWtCLENBQWUsRUFBRSxDQUFDLENBQ3pDLENBQUM7UUFDRixvQkFBZSxHQUFHLE1BQU0sQ0FBc0IsSUFBSSxDQUFDLENBQUM7S0FjckQ7SUFaQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLGtCQUFrQixDQUFlLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQzsrR0FwQ1Usc0JBQXNCO21HQUF0QixzQkFBc0IsMGlCQUNZLFlBQVksZ0VDMUMzRCx5bUlBb0hBLCtrR0R4RmM7WUFDVixPQUFPLENBQUMsY0FBYyxFQUFFO2dCQUN0QixLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQzVELEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ3pDLFVBQVUsQ0FDUix3QkFBd0IsRUFDeEIsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQ2hEO2FBQ0YsQ0FBQztTQUNIOzs0RkFJVSxzQkFBc0I7a0JBcEJsQyxTQUFTOytCQUNFLHFCQUFxQixjQU1uQjt3QkFDVixPQUFPLENBQUMsY0FBYyxFQUFFOzRCQUN0QixLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7NEJBQzVELEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7NEJBQ3pDLFVBQVUsQ0FDUix3QkFBd0IsRUFDeEIsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQ2hEO3lCQUNGLENBQUM7cUJBQ0gsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICB2aWV3Q2hpbGQsXHJcbiAgaW5wdXQsXHJcbiAgc2lnbmFsLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYXBDYWxsTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2FwLWNhbGwubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIGFuaW1hdGUsXHJcbiAgc3RhdGUsXHJcbiAgc3R5bGUsXHJcbiAgdHJhbnNpdGlvbixcclxuICB0cmlnZ2VyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBTYXBDb250cmFjdE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NhcC1jb250cmFjdC5tb2RlbCc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNhbGxzLWxpc3QtdmlldycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGxzLWxpc3Qtdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICAnLi4vLi4vLi4vLi4vLi4vYXNzZXRzL2dyb3VwLWRldGFpbHMuc2NzcycsXHJcbiAgICAnLi9jYWxscy1saXN0LXZpZXcuY29tcG9uZW50LnNjc3MnLFxyXG4gIF0sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignZGV0YWlsRXhwYW5kJywgW1xyXG4gICAgICBzdGF0ZSgnY29sbGFwc2VkJywgc3R5bGUoeyBoZWlnaHQ6ICcwcHgnLCBtaW5IZWlnaHQ6ICcwJyB9KSksXHJcbiAgICAgIHN0YXRlKCdleHBhbmRlZCcsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKFxyXG4gICAgICAgICdleHBhbmRlZCA8PT4gY29sbGFwc2VkJyxcclxuICAgICAgICBhbmltYXRlKCcyMjVtcyBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSknKVxyXG4gICAgICApLFxyXG4gICAgXSksXHJcbiAgXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBob3N0OiB7IGNsYXNzOiAnZGlzcGxheS1mbGV4LWNvbXBvbmVudCcgfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENhbGxzTGlzdFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIHBhZ2luYXRvciA9IHZpZXdDaGlsZC5yZXF1aXJlZDxNYXRQYWdpbmF0b3I+KE1hdFBhZ2luYXRvcik7XHJcblxyXG4gIGNhbGxzID0gaW5wdXQucmVxdWlyZWQ8U2FwQ2FsbE1vZGVsW10+KCk7XHJcblxyXG4gIGNvbnRyYWN0cyA9IGlucHV0LnJlcXVpcmVkPFNhcENvbnRyYWN0TW9kZWxbXT4oKTtcclxuXHJcbiAgYWNjZXNzVG9rZW4gPSBpbnB1dCgnJyk7XHJcblxyXG4gIGNvbHVtbnNUb0Rpc3BsYXkgPSBbXHJcbiAgICAnY2FsbElkJyxcclxuICAgICdjYWxsU3RhdHVzJyxcclxuICAgICdjYWxsVHlwZScsXHJcbiAgICAncHJvYmxlbVR5cGUnLFxyXG4gICAgJ2N1c3RvbWVyJyxcclxuICAgICdjdXN0b21lck5hbWUnLFxyXG4gICAgJ2VuZ2VuZWVyTmFtZScsXHJcbiAgICAnY3JlYXRlZE9uJyxcclxuICAgICdjbG9zZWRPbicsXHJcbiAgXTtcclxuICB0YWJsZVNvdXJjZSA9IHNpZ25hbDxNYXRUYWJsZURhdGFTb3VyY2U8U2FwQ2FsbE1vZGVsPj4oXHJcbiAgICBuZXcgTWF0VGFibGVEYXRhU291cmNlPFNhcENhbGxNb2RlbD4oW10pXHJcbiAgKTtcclxuICBleHBhbmRlZEVsZW1lbnQgPSBzaWduYWw8U2FwQ2FsbE1vZGVsIHwgbnVsbD4obnVsbCk7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRUYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5wYWdpbmF0b3IoKS5wYWdlU2l6ZSA9IDEwO1xyXG4gICAgdGhpcy50YWJsZVNvdXJjZSgpLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFRhYmxlKCkge1xyXG4gICAgdGhpcy50YWJsZVNvdXJjZS5zZXQobmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxTYXBDYWxsTW9kZWw+KHRoaXMuY2FsbHMoKSkpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FsbHMtbGlzdC12aWV3XCI+XHJcbiAgPHRhYmxlXHJcbiAgICBjbGFzcz1cInN0LW1hdGVyaWFsLXRhYmxlXCJcclxuICAgIG1hdC10YWJsZVxyXG4gICAgW2RhdGFTb3VyY2VdPVwidGFibGVTb3VyY2UoKVwiXHJcbiAgICBtdWx0aVRlbXBsYXRlRGF0YVJvd3NcclxuICA+XHJcbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNhbGxJZFwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgIHt7ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuY2FsbElkJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQuY2FsbElkIH19PC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY2FsbFN0YXR1c1wiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgIHt7ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuc3RhdHVzJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQuY2FsbFN0YXR1cyB9fTwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNhbGxUeXBlXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAge3sgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5jYWxsVHlwZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC90aD5cclxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj57eyBlbGVtZW50LmNhbGxUeXBlIH19PC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicHJvYmxlbVR5cGVcIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICB7eyAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnByb2JsZW1UeXBlJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQucHJvYmxlbVR5cGUgfX08L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjdXN0b21lclwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgIHt7ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuYWNjb3VudE5vJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQuY3VzdG9tZXIgfX08L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjdXN0b21lck5hbWVcIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICB7eyAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LmFjY291bnROYW1lJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQuY3VzdG9tZXJOYW1lIH19PC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZW5nZW5lZXJOYW1lXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAge3sgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5lbmdpbmVlck5hbWUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvdGg+XHJcbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+e3sgZWxlbWVudC5lbmdlbmVlck5hbWUgfX08L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjcmVhdGVkT25cIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICB7eyAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LmNyZWF0ZWRPbicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC90aD5cclxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICB7eyBlbGVtZW50LmNyZWF0ZWRPbiB8IHN0RGF0ZVRpbWVGb3JtYXRQaXBlIH19XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNsb3NlZE9uXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAge3sgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5jbG9zZWRPbicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC90aD5cclxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICB7eyBlbGVtZW50LmNsb3NlZE9uIHwgc3REYXRlVGltZUZvcm1hdFBpcGUgfX1cclxuICAgICAgPC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZXhwYW5kZWREZXRhaWxcIj5cclxuICAgICAgPHRkXHJcbiAgICAgICAgbWF0LWNlbGxcclxuICAgICAgICAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCJcclxuICAgICAgICBbYXR0ci5jb2xzcGFuXT1cImNvbHVtbnNUb0Rpc3BsYXkubGVuZ3RoXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwicm93LWRldGFpbFwiXHJcbiAgICAgICAgICBbQGRldGFpbEV4cGFuZF09XCJcclxuICAgICAgICAgICAgZWxlbWVudCA9PSBleHBhbmRlZEVsZW1lbnQoKSA/ICdleHBhbmRlZCcgOiAnY29sbGFwc2VkJ1xyXG4gICAgICAgICAgXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICBAaWYgKGVsZW1lbnQgPT0gZXhwYW5kZWRFbGVtZW50KCkpIHtcclxuICAgICAgICAgICAgPGFwcC1jYWxsLWRldGFpbHMtdmlld1xyXG4gICAgICAgICAgICAgIFtjYWxsXT1cImVsZW1lbnRcIlxyXG4gICAgICAgICAgICAgIFtjb250cmFjdHNdPVwiY29udHJhY3RzKClcIlxyXG4gICAgICAgICAgICAgIFthY2Nlc3NUb2tlbl09XCJhY2Nlc3NUb2tlbigpXCJcclxuICAgICAgICAgICAgPjwvYXBwLWNhbGwtZGV0YWlscy12aWV3PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJjb2x1bW5zVG9EaXNwbGF5XCI+PC90cj5cclxuICAgIDx0clxyXG4gICAgICBtYXQtcm93XHJcbiAgICAgICptYXRSb3dEZWY9XCJsZXQgZWxlbWVudDsgY29sdW1uczogY29sdW1uc1RvRGlzcGxheVwiXHJcbiAgICAgIGNsYXNzPVwiZGV0YWlscy1lbGVtZW50LXJvd1wiXHJcbiAgICAgIFtjbGFzcy5kZXRhaWxzLWV4cGFuZGVkLXJvd109XCJleHBhbmRlZEVsZW1lbnQoKSA9PT0gZWxlbWVudFwiXHJcbiAgICAgIChjbGljayk9XCJleHBhbmRlZEVsZW1lbnQuc2V0KGV4cGFuZGVkRWxlbWVudCgpID09PSBlbGVtZW50ID8gbnVsbCA6IGVsZW1lbnQpXCJcclxuICAgID48L3RyPlxyXG4gICAgPHRyXHJcbiAgICAgIG1hdC1yb3dcclxuICAgICAgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IFsnZXhwYW5kZWREZXRhaWwnXVwiXHJcbiAgICAgIGNsYXNzPVwiZGV0YWlsLXJvd1wiXHJcbiAgICA+PC90cj5cclxuICA8L3RhYmxlPlxyXG4gIDxtYXQtcGFnaW5hdG9yXHJcbiAgICBbcGFnZVNpemVPcHRpb25zXT1cIlsxMCwgMjBdXCJcclxuICAgIHNob3dGaXJzdExhc3RCdXR0b25zXHJcbiAgPjwvbWF0LXBhZ2luYXRvcj5cclxuPC9kaXY+XHJcbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbHMtbGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtZGV0YWlscy9jYWxscy1saXN0LXZpZXcvY2FsbHMtbGlzdC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtZGV0YWlscy9jYWxscy1saXN0LXZpZXcvY2FsbHMtbGlzdC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBc0I3RCxNQUFNLE9BQU8sc0JBQXNCO0lBcEJuQztRQXFCRSxjQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBZSxZQUFZLENBQUMsQ0FBQztRQUUzRCxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBa0IsQ0FBQztRQUV6QyxjQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBc0IsQ0FBQztRQUVqRCxnQkFBVyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV4QixxQkFBZ0IsR0FBRztZQUNqQixRQUFRO1lBQ1IsWUFBWTtZQUNaLFVBQVU7WUFDVixhQUFhO1lBQ2IsVUFBVTtZQUNWLGNBQWM7WUFDZCxjQUFjO1lBQ2QsV0FBVztZQUNYLFVBQVU7U0FDWCxDQUFDO1FBQ0YsZ0JBQVcsR0FBRyxNQUFNLENBQ2xCLElBQUksa0JBQWtCLENBQWUsRUFBRSxDQUFDLENBQ3pDLENBQUM7UUFDRixvQkFBZSxHQUFHLE1BQU0sQ0FBc0IsSUFBSSxDQUFDLENBQUM7S0FjckQ7SUFaQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLGtCQUFrQixDQUFlLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQzsrR0FwQ1Usc0JBQXNCO21HQUF0QixzQkFBc0IsMGlCQUNZLFlBQVksZ0VDMUMzRCw4bElBb0hBLCtrR0R4RmM7WUFDVixPQUFPLENBQUMsY0FBYyxFQUFFO2dCQUN0QixLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQzVELEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ3pDLFVBQVUsQ0FDUix3QkFBd0IsRUFDeEIsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQ2hEO2FBQ0YsQ0FBQztTQUNIOzs0RkFJVSxzQkFBc0I7a0JBcEJsQyxTQUFTOytCQUNFLHFCQUFxQixjQU1uQjt3QkFDVixPQUFPLENBQUMsY0FBYyxFQUFFOzRCQUN0QixLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7NEJBQzVELEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7NEJBQ3pDLFVBQVUsQ0FDUix3QkFBd0IsRUFDeEIsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQ2hEO3lCQUNGLENBQUM7cUJBQ0gsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICB2aWV3Q2hpbGQsXHJcbiAgaW5wdXQsXHJcbiAgc2lnbmFsLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYXBDYWxsTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2FwLWNhbGwubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIGFuaW1hdGUsXHJcbiAgc3RhdGUsXHJcbiAgc3R5bGUsXHJcbiAgdHJhbnNpdGlvbixcclxuICB0cmlnZ2VyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBTYXBDb250cmFjdE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NhcC1jb250cmFjdC5tb2RlbCc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNhbGxzLWxpc3QtdmlldycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGxzLWxpc3Qtdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICAnLi4vLi4vLi4vLi4vLi4vYXNzZXRzL2dyb3VwLWRldGFpbHMuc2NzcycsXHJcbiAgICAnLi9jYWxscy1saXN0LXZpZXcuY29tcG9uZW50LnNjc3MnLFxyXG4gIF0sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignZGV0YWlsRXhwYW5kJywgW1xyXG4gICAgICBzdGF0ZSgnY29sbGFwc2VkJywgc3R5bGUoeyBoZWlnaHQ6ICcwcHgnLCBtaW5IZWlnaHQ6ICcwJyB9KSksXHJcbiAgICAgIHN0YXRlKCdleHBhbmRlZCcsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKFxyXG4gICAgICAgICdleHBhbmRlZCA8PT4gY29sbGFwc2VkJyxcclxuICAgICAgICBhbmltYXRlKCcyMjVtcyBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSknKVxyXG4gICAgICApLFxyXG4gICAgXSksXHJcbiAgXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBob3N0OiB7IGNsYXNzOiAnZGlzcGxheS1mbGV4LWNvbXBvbmVudCcgfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENhbGxzTGlzdFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIHBhZ2luYXRvciA9IHZpZXdDaGlsZC5yZXF1aXJlZDxNYXRQYWdpbmF0b3I+KE1hdFBhZ2luYXRvcik7XHJcblxyXG4gIGNhbGxzID0gaW5wdXQucmVxdWlyZWQ8U2FwQ2FsbE1vZGVsW10+KCk7XHJcblxyXG4gIGNvbnRyYWN0cyA9IGlucHV0LnJlcXVpcmVkPFNhcENvbnRyYWN0TW9kZWxbXT4oKTtcclxuXHJcbiAgYWNjZXNzVG9rZW4gPSBpbnB1dCgnJyk7XHJcblxyXG4gIGNvbHVtbnNUb0Rpc3BsYXkgPSBbXHJcbiAgICAnY2FsbElkJyxcclxuICAgICdjYWxsU3RhdHVzJyxcclxuICAgICdjYWxsVHlwZScsXHJcbiAgICAncHJvYmxlbVR5cGUnLFxyXG4gICAgJ2N1c3RvbWVyJyxcclxuICAgICdjdXN0b21lck5hbWUnLFxyXG4gICAgJ2VuZ2VuZWVyTmFtZScsXHJcbiAgICAnY3JlYXRlZE9uJyxcclxuICAgICdjbG9zZWRPbicsXHJcbiAgXTtcclxuICB0YWJsZVNvdXJjZSA9IHNpZ25hbDxNYXRUYWJsZURhdGFTb3VyY2U8U2FwQ2FsbE1vZGVsPj4oXHJcbiAgICBuZXcgTWF0VGFibGVEYXRhU291cmNlPFNhcENhbGxNb2RlbD4oW10pXHJcbiAgKTtcclxuICBleHBhbmRlZEVsZW1lbnQgPSBzaWduYWw8U2FwQ2FsbE1vZGVsIHwgbnVsbD4obnVsbCk7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRUYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5wYWdpbmF0b3IoKS5wYWdlU2l6ZSA9IDEwO1xyXG4gICAgdGhpcy50YWJsZVNvdXJjZSgpLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFRhYmxlKCkge1xyXG4gICAgdGhpcy50YWJsZVNvdXJjZS5zZXQobmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxTYXBDYWxsTW9kZWw+KHRoaXMuY2FsbHMoKSkpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FsbHMtbGlzdC12aWV3XCI+XHJcbiAgPHRhYmxlXHJcbiAgICBjbGFzcz1cInN0LW1hdGVyaWFsLXRhYmxlXCJcclxuICAgIG1hdC10YWJsZVxyXG4gICAgW2RhdGFTb3VyY2VdPVwidGFibGVTb3VyY2UoKVwiXHJcbiAgICBtdWx0aVRlbXBsYXRlRGF0YVJvd3NcclxuICA+XHJcbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNhbGxJZFwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgIHt7ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuY2FsbElkJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQuY2FsbElkIH19PC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY2FsbFN0YXR1c1wiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgIHt7ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuc3RhdHVzJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQuY2FsbFN0YXR1cyB9fTwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNhbGxUeXBlXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAge3sgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5jYWxsVHlwZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC90aD5cclxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj57eyBlbGVtZW50LmNhbGxUeXBlIH19PC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicHJvYmxlbVR5cGVcIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICB7eyAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnByb2JsZW1UeXBlJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQucHJvYmxlbVR5cGUgfX08L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjdXN0b21lclwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgIHt7ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuYWNjb3VudE5vJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQuY3VzdG9tZXIgfX08L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjdXN0b21lck5hbWVcIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICB7eyAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LmFjY291bnROYW1lJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQuY3VzdG9tZXJOYW1lIH19PC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZW5nZW5lZXJOYW1lXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAge3sgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5lbmdpbmVlck5hbWUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvdGg+XHJcbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+e3sgZWxlbWVudC5lbmdlbmVlck5hbWUgfX08L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjcmVhdGVkT25cIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICB7eyAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LmNyZWF0ZWRPbicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC90aD5cclxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICB7eyBlbGVtZW50LmNyZWF0ZWRPbiB8IHN0RGF0ZVRpbWVGb3JtYXRQaXBlIH19XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNsb3NlZE9uXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAge3sgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5jbG9zZWRPbicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC90aD5cclxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICB7eyBlbGVtZW50LmNsb3NlZE9uIHwgc3REYXRlVGltZUZvcm1hdFBpcGUgfX1cclxuICAgICAgPC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZXhwYW5kZWREZXRhaWxcIj5cclxuICAgICAgPHRkXHJcbiAgICAgICAgbWF0LWNlbGxcclxuICAgICAgICAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCJcclxuICAgICAgICBbYXR0ci5jb2xzcGFuXT1cImNvbHVtbnNUb0Rpc3BsYXkubGVuZ3RoXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwicm93LWRldGFpbFwiXHJcbiAgICAgICAgICBbQGRldGFpbEV4cGFuZF09XCJcclxuICAgICAgICAgICAgZWxlbWVudCA9PSBleHBhbmRlZEVsZW1lbnQgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCdcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgQGlmIChlbGVtZW50ID09IGV4cGFuZGVkRWxlbWVudCkge1xyXG4gICAgICAgICAgICA8YXBwLWNhbGwtZGV0YWlscy12aWV3XHJcbiAgICAgICAgICAgICAgW2NhbGxdPVwiZWxlbWVudFwiXHJcbiAgICAgICAgICAgICAgW2NvbnRyYWN0c109XCJjb250cmFjdHMoKVwiXHJcbiAgICAgICAgICAgICAgW2FjY2Vzc1Rva2VuXT1cImFjY2Vzc1Rva2VuKClcIlxyXG4gICAgICAgICAgICA+PC9hcHAtY2FsbC1kZXRhaWxzLXZpZXc+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImNvbHVtbnNUb0Rpc3BsYXlcIj48L3RyPlxyXG4gICAgPHRyXHJcbiAgICAgIG1hdC1yb3dcclxuICAgICAgKm1hdFJvd0RlZj1cImxldCBlbGVtZW50OyBjb2x1bW5zOiBjb2x1bW5zVG9EaXNwbGF5XCJcclxuICAgICAgY2xhc3M9XCJkZXRhaWxzLWVsZW1lbnQtcm93XCJcclxuICAgICAgW2NsYXNzLmRldGFpbHMtZXhwYW5kZWQtcm93XT1cImV4cGFuZGVkRWxlbWVudCA9PT0gZWxlbWVudFwiXHJcbiAgICAgIChjbGljayk9XCJleHBhbmRlZEVsZW1lbnQgPSBleHBhbmRlZEVsZW1lbnQgPT09IGVsZW1lbnQgPyBudWxsIDogZWxlbWVudFwiXHJcbiAgICA+PC90cj5cclxuICAgIDx0clxyXG4gICAgICBtYXQtcm93XHJcbiAgICAgICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBbJ2V4cGFuZGVkRGV0YWlsJ11cIlxyXG4gICAgICBjbGFzcz1cImRldGFpbC1yb3dcIlxyXG4gICAgPjwvdHI+XHJcbiAgPC90YWJsZT5cclxuICA8bWF0LXBhZ2luYXRvclxyXG4gICAgW3BhZ2VTaXplT3B0aW9uc109XCJbMTAsIDIwXVwiXHJcbiAgICBzaG93Rmlyc3RMYXN0QnV0dG9uc1xyXG4gID48L21hdC1wYWdpbmF0b3I+XHJcbjwvZGl2PlxyXG4iXX0=