@trudb/tru-common-lib 0.1.554 → 0.1.557

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.
@@ -1,9 +1,11 @@
1
1
  export class TruErrorDialogConfig {
2
2
  title;
3
3
  message;
4
- constructor(title, message) {
4
+ stackTrace;
5
+ constructor(title, message, stackTrace) {
5
6
  this.title = title;
6
7
  this.message = message;
8
+ this.stackTrace = stackTrace;
7
9
  }
8
10
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWVycm9yLWRpYWxvZy1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZXJyb3ItZGlhbG9nL2NsYXNzZXMvdHJ1LWVycm9yLWRpYWxvZy1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLG9CQUFvQjtJQUV0QjtJQUNBO0lBRlQsWUFDUyxLQUFhLEVBQ2IsT0FBZTtRQURmLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBUcnVFcnJvckRpYWxvZ0NvbmZpZyB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZyxcclxuICAgIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcpIHtcclxuICB9XHJcbn1cclxuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWVycm9yLWRpYWxvZy1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZXJyb3ItZGlhbG9nL2NsYXNzZXMvdHJ1LWVycm9yLWRpYWxvZy1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLG9CQUFvQjtJQUV0QjtJQUNBO0lBQ0E7SUFIVCxZQUNTLEtBQWEsRUFDYixPQUFlLEVBQ2YsVUFBa0I7UUFGbEIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixlQUFVLEdBQVYsVUFBVSxDQUFRO0lBQzNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBUcnVFcnJvckRpYWxvZ0NvbmZpZyB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZyxcclxuICAgIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICBwdWJsaWMgc3RhY2tUcmFjZTogc3RyaW5nKSB7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -4,17 +4,20 @@ import { FormsModule } from "@angular/forms";
4
4
  import { MaterialModule } from '../../material.module';
5
5
  import { MatSidenavModule } from '@angular/material/sidenav';
6
6
  import { TruErrorDialog } from "./tru-error-dialog";
7
+ import { MatExpansionModule } from "@angular/material/expansion";
7
8
  import * as i0 from "@angular/core";
8
9
  export class TruErrorDialogModule {
9
10
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruErrorDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
11
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: TruErrorDialogModule, declarations: [TruErrorDialog], imports: [CommonModule,
11
12
  FormsModule,
12
13
  MaterialModule,
13
- MatSidenavModule], exports: [TruErrorDialog] });
14
+ MatSidenavModule,
15
+ MatExpansionModule], exports: [TruErrorDialog] });
14
16
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruErrorDialogModule, imports: [CommonModule,
15
17
  FormsModule,
16
18
  MaterialModule,
17
- MatSidenavModule] });
19
+ MatSidenavModule,
20
+ MatExpansionModule] });
18
21
  }
19
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruErrorDialogModule, decorators: [{
20
23
  type: NgModule,
@@ -24,9 +27,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
24
27
  CommonModule,
25
28
  FormsModule,
26
29
  MaterialModule,
27
- MatSidenavModule
30
+ MatSidenavModule,
31
+ MatExpansionModule
28
32
  ],
29
33
  exports: [TruErrorDialog]
30
34
  }]
31
35
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWVycm9yLWRpYWxvZy1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZXJyb3ItZGlhbG9nL3RydS1lcnJvci1kaWFsb2ctbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQVlwRCxNQUFNLE9BQU8sb0JBQW9CO3VHQUFwQixvQkFBb0I7d0dBQXBCLG9CQUFvQixpQkFUaEIsY0FBYyxhQUUzQixZQUFZO1lBQ1osV0FBVztZQUNYLGNBQWM7WUFDZCxnQkFBZ0IsYUFFUixjQUFjO3dHQUViLG9CQUFvQixZQVA3QixZQUFZO1lBQ1osV0FBVztZQUNYLGNBQWM7WUFDZCxnQkFBZ0I7OzJGQUlQLG9CQUFvQjtrQkFWaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQzlCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBNYXRTaWRlbmF2TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuXHJcbmltcG9ydCB7IFRydUVycm9yRGlhbG9nIH0gZnJvbSBcIi4vdHJ1LWVycm9yLWRpYWxvZ1wiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtUcnVFcnJvckRpYWxvZ10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRlcmlhbE1vZHVsZSxcclxuICAgIE1hdFNpZGVuYXZNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtUcnVFcnJvckRpYWxvZ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRydUVycm9yRGlhbG9nTW9kdWxlIHsgfVxyXG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWVycm9yLWRpYWxvZy1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZXJyb3ItZGlhbG9nL3RydS1lcnJvci1kaWFsb2ctbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQWFqRSxNQUFNLE9BQU8sb0JBQW9CO3VHQUFwQixvQkFBb0I7d0dBQXBCLG9CQUFvQixpQkFWaEIsY0FBYyxhQUUzQixZQUFZO1lBQ1osV0FBVztZQUNYLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsa0JBQWtCLGFBRVYsY0FBYzt3R0FFYixvQkFBb0IsWUFSN0IsWUFBWTtZQUNaLFdBQVc7WUFDWCxjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGtCQUFrQjs7MkZBSVQsb0JBQW9CO2tCQVhoQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDOUIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vLi4vbWF0ZXJpYWwubW9kdWxlJztcclxuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcblxyXG5pbXBvcnQgeyBUcnVFcnJvckRpYWxvZyB9IGZyb20gXCIuL3RydS1lcnJvci1kaWFsb2dcIjtcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvblwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtUcnVFcnJvckRpYWxvZ10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRlcmlhbE1vZHVsZSxcclxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXHJcbiAgICBNYXRFeHBhbnNpb25Nb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtUcnVFcnJvckRpYWxvZ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRydUVycm9yRGlhbG9nTW9kdWxlIHsgfVxyXG4iXX0=
@@ -1,32 +1,36 @@
1
1
  import { MAT_DIALOG_DATA } from '@angular/material/dialog';
2
- import { Component, Inject } from '@angular/core';
2
+ import { Component, Inject, signal, ChangeDetectionStrategy } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/material/dialog";
5
5
  import * as i2 from "@angular/material/button";
6
- import * as i3 from "@angular/material/icon";
6
+ import * as i3 from "@angular/material/expansion";
7
+ import * as i4 from "@angular/material/icon";
7
8
  export class TruErrorDialog {
8
9
  dialogRef;
9
10
  data;
10
11
  title;
11
12
  message;
13
+ stackTrace;
12
14
  constructor(dialogRef, data) {
13
15
  this.dialogRef = dialogRef;
14
16
  this.data = data;
15
17
  this.title = data.title;
16
18
  this.message = data.message;
19
+ this.stackTrace = data.stackTrace;
17
20
  }
21
+ panelOpenState = signal(false);
18
22
  ngOnInit() { }
19
23
  onDismiss() {
20
24
  this.dialogRef.close(false);
21
25
  }
22
26
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruErrorDialog, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
23
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: TruErrorDialog, selector: "tru-error-dialog", ngImport: i0, template: "<div mat-dialog-title class=\"mat-dialog-title\">\r\n <div class=\"mat-dialog-title-container\">\r\n <mat-icon [svgIcon]=\"'error-icon'\"\r\n title=\"Error\">\r\n </mat-icon>\r\n Error - {{title}}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content class=\"mat-dialog-content\">\r\n <div class=\"tru-about-description\">\r\n {{message}}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"mat-dialog-actions\">\r\n <button mat-raised-button (click)=\"onDismiss()\">Close</button>\r\n</div>\r\n", styles: ["::ng-deep .mat-mdc-dialog-surface{padding:20px}.mat-mdc-dialog-title:before{content:unset!important;height:unset!important;padding:0 0 10px!important}.mat-dialog-title-container mat-icon{vertical-align:sub;height:24px;width:24px}.mat-dialog-title-container{display:inline}.mdc-dialog__title{padding:0 0 10px!important}.mdc-dialog__content{padding:10px 0 15px!important}.mat-mdc-dialog-content p{margin-bottom:0;font-size:14px;color:#545454}.mat-mdc-dialog-actions{padding:0!important}.mat-mdc-dialog-actions button{margin-right:10px}.tru-about-description{width:550px;height:200px;padding:5px;margin-bottom:5px;border:1px #cbcbcb solid}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
27
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: TruErrorDialog, selector: "tru-error-dialog", ngImport: i0, template: "<div mat-dialog-title class=\"tru-error-dialog-title mat-dialog-title\">\r\n <div class=\"mat-dialog-title-container\">\r\n <mat-icon [svgIcon]=\"'error-icon'\"\r\n title=\"Error\">\r\n </mat-icon>\r\n Error - {{title}}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content class=\"mat-dialog-content\">\r\n <div class=\"tru-about-description\">\r\n {{message}}\r\n </div>\r\n <mat-expansion-panel (opened)=\"panelOpenState.set(true)\" (closed)=\"panelOpenState.set(false)\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-description>\r\n Show Stack Trace\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <p>{{stackTrace}}</p>\r\n </mat-expansion-panel>\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"mat-dialog-actions\">\r\n <button mat-raised-button (click)=\"onDismiss()\">Close</button>\r\n</div>\r\n", styles: ["::ng-deep .mat-mdc-dialog-surface{padding:20px}.mat-mdc-dialog-title:before{content:unset!important;height:unset!important;padding:0 0 10px!important}.mat-dialog-title-container mat-icon{vertical-align:sub;height:24px;width:24px}.mat-dialog-title-container{display:inline}.mdc-dialog__title{padding:0 0 10px!important}.mdc-dialog__content{padding:10px 0 15px!important}.mat-mdc-dialog-content p{margin-bottom:0;font-size:14px;color:#545454}.mat-mdc-dialog-actions{padding:0!important}.mat-mdc-dialog-actions button{margin-right:10px}.tru-about-description{width:550px;height:200px;padding:5px;margin-bottom:5px;border:1px #cbcbcb solid}.mat-expansion-panel{border-radius:0!important}mat-panel-description{font-size:12px;text-decoration:underline;border-radius:0}::ng-deep .tru-error-dialog-title svg{fill:red}::ng-deep .tru-error-dialog-title svg path{fill:red}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i3.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
28
  }
25
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruErrorDialog, decorators: [{
26
30
  type: Component,
27
- args: [{ selector: 'tru-error-dialog', template: "<div mat-dialog-title class=\"mat-dialog-title\">\r\n <div class=\"mat-dialog-title-container\">\r\n <mat-icon [svgIcon]=\"'error-icon'\"\r\n title=\"Error\">\r\n </mat-icon>\r\n Error - {{title}}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content class=\"mat-dialog-content\">\r\n <div class=\"tru-about-description\">\r\n {{message}}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"mat-dialog-actions\">\r\n <button mat-raised-button (click)=\"onDismiss()\">Close</button>\r\n</div>\r\n", styles: ["::ng-deep .mat-mdc-dialog-surface{padding:20px}.mat-mdc-dialog-title:before{content:unset!important;height:unset!important;padding:0 0 10px!important}.mat-dialog-title-container mat-icon{vertical-align:sub;height:24px;width:24px}.mat-dialog-title-container{display:inline}.mdc-dialog__title{padding:0 0 10px!important}.mdc-dialog__content{padding:10px 0 15px!important}.mat-mdc-dialog-content p{margin-bottom:0;font-size:14px;color:#545454}.mat-mdc-dialog-actions{padding:0!important}.mat-mdc-dialog-actions button{margin-right:10px}.tru-about-description{width:550px;height:200px;padding:5px;margin-bottom:5px;border:1px #cbcbcb solid}\n"] }]
31
+ args: [{ selector: 'tru-error-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div mat-dialog-title class=\"tru-error-dialog-title mat-dialog-title\">\r\n <div class=\"mat-dialog-title-container\">\r\n <mat-icon [svgIcon]=\"'error-icon'\"\r\n title=\"Error\">\r\n </mat-icon>\r\n Error - {{title}}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content class=\"mat-dialog-content\">\r\n <div class=\"tru-about-description\">\r\n {{message}}\r\n </div>\r\n <mat-expansion-panel (opened)=\"panelOpenState.set(true)\" (closed)=\"panelOpenState.set(false)\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-description>\r\n Show Stack Trace\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <p>{{stackTrace}}</p>\r\n </mat-expansion-panel>\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"mat-dialog-actions\">\r\n <button mat-raised-button (click)=\"onDismiss()\">Close</button>\r\n</div>\r\n", styles: ["::ng-deep .mat-mdc-dialog-surface{padding:20px}.mat-mdc-dialog-title:before{content:unset!important;height:unset!important;padding:0 0 10px!important}.mat-dialog-title-container mat-icon{vertical-align:sub;height:24px;width:24px}.mat-dialog-title-container{display:inline}.mdc-dialog__title{padding:0 0 10px!important}.mdc-dialog__content{padding:10px 0 15px!important}.mat-mdc-dialog-content p{margin-bottom:0;font-size:14px;color:#545454}.mat-mdc-dialog-actions{padding:0!important}.mat-mdc-dialog-actions button{margin-right:10px}.tru-about-description{width:550px;height:200px;padding:5px;margin-bottom:5px;border:1px #cbcbcb solid}.mat-expansion-panel{border-radius:0!important}mat-panel-description{font-size:12px;text-decoration:underline;border-radius:0}::ng-deep .tru-error-dialog-title svg{fill:red}::ng-deep .tru-error-dialog-title svg path{fill:red}\n"] }]
28
32
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: TruErrorDialog, decorators: [{
29
33
  type: Inject,
30
34
  args: [MAT_DIALOG_DATA]
31
35
  }] }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWVycm9yLWRpYWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9lcnJvci1kaWFsb2cvdHJ1LWVycm9yLWRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9lcnJvci1kaWFsb2cvdHJ1LWVycm9yLWRpYWxvZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMkIsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBTzFELE1BQU0sT0FBTyxjQUFjO0lBS2hCO0lBQ3lCO0lBTGxDLEtBQUssQ0FBUztJQUNkLE9BQU8sQ0FBUztJQUVoQixZQUNTLFNBQXVDLEVBQ2QsSUFBb0I7UUFEN0MsY0FBUyxHQUFULFNBQVMsQ0FBOEI7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUFnQjtRQUNwRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRLEtBQUksQ0FBQztJQUViLFNBQVM7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO3VHQWZVLGNBQWMsOENBTWYsZUFBZTsyRkFOZCxjQUFjLHdEQ1IzQixxaEJBa0JBOzsyRkRWYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLGtCQUFrQjs7MEJBVXpCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RydS1lcnJvci1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cnUtZXJyb3ItZGlhbG9nLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RydS1lcnJvci1kaWFsb2cuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRydUVycm9yRGlhbG9nIGltcGxlbWVudHMgT25Jbml0IHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIG1lc3NhZ2U6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VHJ1RXJyb3JEaWFsb2c+LFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBUcnVFcnJvckRpYWxvZykge1xyXG4gICAgdGhpcy50aXRsZSA9IGRhdGEudGl0bGU7XHJcbiAgICB0aGlzLm1lc3NhZ2UgPSBkYXRhLm1lc3NhZ2U7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIG9uRGlzbWlzcygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGZhbHNlKTtcclxuICB9XHJcbn1cclxuXHJcbiIsIjxkaXYgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cIm1hdC1kaWFsb2ctdGl0bGVcIj5cclxuICA8ZGl2IGNsYXNzPVwibWF0LWRpYWxvZy10aXRsZS1jb250YWluZXJcIj5cclxuICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCInZXJyb3ItaWNvbidcIlxyXG4gICAgICAgICAgICAgIHRpdGxlPVwiRXJyb3JcIj5cclxuICAgIDwvbWF0LWljb24+XHJcbiAgICBFcnJvciAtIHt7dGl0bGV9fVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwibWF0LWRpYWxvZy1jb250ZW50XCI+XHJcbiAgPGRpdiBjbGFzcz1cInRydS1hYm91dC1kZXNjcmlwdGlvblwiPlxyXG4gICAge3ttZXNzYWdlfX1cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBjbGFzcz1cIm1hdC1kaWFsb2ctYWN0aW9uc1wiPlxyXG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIm9uRGlzbWlzcygpXCI+Q2xvc2U8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWVycm9yLWRpYWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9lcnJvci1kaWFsb2cvdHJ1LWVycm9yLWRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9lcnJvci1kaWFsb2cvdHJ1LWVycm9yLWRpYWxvZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMkIsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRM0YsTUFBTSxPQUFPLGNBQWM7SUFNaEI7SUFDeUI7SUFObEMsS0FBSyxDQUFTO0lBQ2QsT0FBTyxDQUFTO0lBQ2hCLFVBQVUsQ0FBUztJQUVuQixZQUNTLFNBQXVDLEVBQ2QsSUFBb0I7UUFEN0MsY0FBUyxHQUFULFNBQVMsQ0FBOEI7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUFnQjtRQUNwRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBRVEsY0FBYyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUV4QyxRQUFRLEtBQUksQ0FBQztJQUViLFNBQVM7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO3VHQW5CVSxjQUFjLDhDQU9mLGVBQWU7MkZBUGQsY0FBYyx3RENUM0IscTNCQTBCQTs7MkZEakJhLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07OzBCQVM1QyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCwgc2lnbmFsLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0cnUtZXJyb3ItZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJ1LWVycm9yLWRpYWxvZy5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90cnUtZXJyb3ItZGlhbG9nLmNzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVFcnJvckRpYWxvZyBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgc3RhY2tUcmFjZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxUcnVFcnJvckRpYWxvZz4sXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IFRydUVycm9yRGlhbG9nKSB7XHJcbiAgICB0aGlzLnRpdGxlID0gZGF0YS50aXRsZTtcclxuICAgIHRoaXMubWVzc2FnZSA9IGRhdGEubWVzc2FnZTtcclxuICAgIHRoaXMuc3RhY2tUcmFjZSA9IGRhdGEuc3RhY2tUcmFjZTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHBhbmVsT3BlblN0YXRlID0gc2lnbmFsKGZhbHNlKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICBvbkRpc21pc3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShmYWxzZSk7XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8ZGl2IG1hdC1kaWFsb2ctdGl0bGUgY2xhc3M9XCJ0cnUtZXJyb3ItZGlhbG9nLXRpdGxlIG1hdC1kaWFsb2ctdGl0bGVcIj5cclxuICA8ZGl2IGNsYXNzPVwibWF0LWRpYWxvZy10aXRsZS1jb250YWluZXJcIj5cclxuICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCInZXJyb3ItaWNvbidcIlxyXG4gICAgICAgICAgICAgIHRpdGxlPVwiRXJyb3JcIj5cclxuICAgIDwvbWF0LWljb24+XHJcbiAgICBFcnJvciAtIHt7dGl0bGV9fVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwibWF0LWRpYWxvZy1jb250ZW50XCI+XHJcbiAgPGRpdiBjbGFzcz1cInRydS1hYm91dC1kZXNjcmlwdGlvblwiPlxyXG4gICAge3ttZXNzYWdlfX1cclxuICA8L2Rpdj5cclxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbCAob3BlbmVkKT1cInBhbmVsT3BlblN0YXRlLnNldCh0cnVlKVwiIChjbG9zZWQpPVwicGFuZWxPcGVuU3RhdGUuc2V0KGZhbHNlKVwiPlxyXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICA8bWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxyXG4gICAgICAgIFNob3cgU3RhY2sgVHJhY2VcclxuICAgICAgPC9tYXQtcGFuZWwtZGVzY3JpcHRpb24+XHJcbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgPHA+e3tzdGFja1RyYWNlfX08L3A+XHJcbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwibWF0LWRpYWxvZy1hY3Rpb25zXCI+XHJcbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwib25EaXNtaXNzKClcIj5DbG9zZTwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
@@ -54,7 +54,7 @@ export class TruErrorManager {
54
54
  //service(exceptionData);
55
55
  }
56
56
  else if (serverError.type.indexOf('TruDbRequireValidChoiceException') !== -1) {
57
- let dialogConfig = new TruErrorDialogConfig('Require Valid Choice Exception', error.message);
57
+ let dialogConfig = new TruErrorDialogConfig('Require Valid Choice Exception', error.message, serverError.stackTrace);
58
58
  this.dialog.open(TruErrorDialog, {
59
59
  disableClose: true,
60
60
  minWidth: "400px",
@@ -67,7 +67,7 @@ export class TruErrorManager {
67
67
  .replace('Cannot insert duplicate key row in object', 'Cannot insert duplicate value in table')
68
68
  .replace('dbo.', '')
69
69
  .replace('UIX_', '')
70
- .replace('The statement has been terminated.', ''));
70
+ .replace('The statement has been terminated.', ''), serverError.stackTrace);
71
71
  this.dialog.open(TruErrorDialog, {
72
72
  disableClose: true,
73
73
  minWidth: "400px",
@@ -76,7 +76,7 @@ export class TruErrorManager {
76
76
  });
77
77
  }
78
78
  else if (serverError.type.indexOf('OptimisticLockViolation') !== -1) {
79
- let dialogConfig = new TruErrorDialogConfig('Concurrent saves not allowed', 'Please review any changes and save again.');
79
+ let dialogConfig = new TruErrorDialogConfig('Concurrent saves not allowed', 'Please review any changes and save again.', serverError.stackTrace);
80
80
  this.dialog.open(TruErrorDialog, {
81
81
  disableClose: true,
82
82
  minWidth: "400px",
@@ -89,7 +89,7 @@ export class TruErrorManager {
89
89
  }
90
90
  else {
91
91
  var message = this.textManager.fmtErrorToShow(serverError);
92
- let dialogConfig = new TruErrorDialogConfig(serverError.statusText, message);
92
+ let dialogConfig = new TruErrorDialogConfig(serverError.type, serverError.message, serverError.stackTrace);
93
93
  this.dialog.open(TruErrorDialog, {
94
94
  disableClose: true,
95
95
  minWidth: "400px",
@@ -113,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
113
113
  providedIn: 'root',
114
114
  }]
115
115
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.MatDialog }, { type: i3.TruTextManager }, { type: i4.TruUiNotification }, { type: i5.TruAppEnvironment }] });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWVycm9yLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL3RydS1lcnJvci1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBSWxHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7OztBQUs3RCxNQUFNLE9BQU8sZUFBZTtJQUtoQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBUkYsT0FBTyxDQUFTO0lBQ2hCLE9BQU8sQ0FBUztJQUV4QixZQUNVLElBQWdCLEVBQ2hCLE1BQWlCLEVBQ2pCLFdBQTJCLEVBQzNCLGNBQWlDLEVBQ2pDLGNBQWlDO1FBSmpDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxhQUFhLEdBQUcsQ0FBQyxPQUFlLEVBQUUsT0FBZSxFQUFFLElBQVksRUFBRSxFQUFFO1FBQ3pFLElBQUksR0FBRyxJQUFJLElBQUksU0FBUyxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsT0FBTyxHQUFHLElBQUksR0FBRyxP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SSxDQUFDLFdBQVcsQ0FBQyxpQ0FBaUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwRixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUMvQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNsRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzNELElBQUksWUFBWSxHQUFHLElBQUksb0JBQW9CLENBQ3pDLFdBQVcsQ0FBQyxVQUFVLEVBQ3RCLE9BQU8sQ0FBQyxDQUFDO1lBRVgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUMvQixZQUFZLEVBQUUsSUFBSTtnQkFDbEIsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixJQUFJLEVBQUUsWUFBWTthQUNuQixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsV0FBVyxHQUFHLENBQUMsS0FBd0IsRUFBRSxFQUFFO1FBQ3pDLElBQUksS0FBSyxDQUFDLElBQUk7WUFDWixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7O1lBRWxDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUE7dUdBOUdVLGVBQWU7MkdBQWYsZUFBZSxjQUZkLE1BQU07OzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRydVVpTm90aWZpY2F0aW9uIH0gZnJvbSBcIi4vdHJ1LXVpLW5vdGlmaWNhdGlvblwiO1xyXG5pbXBvcnQgeyBUcnVUZXh0TWFuYWdlciB9IGZyb20gXCIuL3RydS10ZXh0LW1hbmFnZXJcIjtcclxuaW1wb3J0IHsgVHJ1RXJyb3JEaWFsb2cgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9lcnJvci1kaWFsb2cvdHJ1LWVycm9yLWRpYWxvZ1wiO1xyXG5pbXBvcnQgeyBUcnVFcnJvckRpYWxvZ0NvbmZpZyB9IGZyb20gXCIuLi9jb21wb25lbnRzL2Vycm9yLWRpYWxvZy9jbGFzc2VzL3RydS1lcnJvci1kaWFsb2ctY29uZmlnXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgVHJ1QXBwRW52aXJvbm1lbnQgfSBmcm9tIFwiLi90cnUtYXBwLWVudmlyb25tZW50XCI7XHJcbmltcG9ydCB7IFRydVNlcnZlckVycm9yIH0gZnJvbSBcIi4uL2NsYXNzZXMvdHJ1LXNlcnZlci1lcnJvclwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRydUVycm9yTWFuYWdlciB7XHJcbiAgcHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBhcHBOYW1lOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgdGV4dE1hbmFnZXI6IFRydVRleHRNYW5hZ2VyLFxyXG4gICAgcHJpdmF0ZSB1aU5vdGlmaWNhdGlvbjogVHJ1VWlOb3RpZmljYXRpb24sXHJcbiAgICBwcml2YXRlIGFwcEVudmlyb25tZW50OiBUcnVBcHBFbnZpcm9ubWVudCkge1xyXG4gICAgdGhpcy5iYXNlVXJsID0gYXBwRW52aXJvbm1lbnQuYXBwVXJpO1xyXG4gICAgdGhpcy5hcHBOYW1lID0gYXBwRW52aXJvbm1lbnQuYXBwTmFtZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9nRXJyb3JFdmVudCA9IChtZXNzYWdlOiBzdHJpbmcsIGNvbnRleHQ6IHN0cmluZywgYXJlYTogc3RyaW5nKSA9PiB7XHJcbiAgICBhcmVhID0gYXJlYSB8fCAndW5rbm93bic7XHJcbiAgICBjb25zb2xlLmxvZygnWycgKyBhcmVhICsgJ3wnICsgY29udGV4dCArICddICcgKyBtZXNzYWdlKTtcclxuICAgIHZhciBsb2dFdmVudCA9IHtcclxuICAgICAgZXZlbnRUeXBlOiAnRXJyb3InLFxyXG4gICAgICBldmVudERhdGU6IG5ldyBEYXRlKCksXHJcbiAgICAgIGFwcGxpY2F0aW9uTmFtZTogdGhpcy5hcHBOYW1lLFxyXG4gICAgICBhcHBsaWNhdGlvblVybDogdGhpcy5iYXNlVXJsLFxyXG4gICAgICBhcHBsaWNhdGlvbkFyZWE6IGFyZWEsXHJcbiAgICAgIGNvbnRleHQ6IGNvbnRleHQsXHJcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2VcclxuICAgIH07XHJcbiAgICB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmJhc2VVcmx9L2FwaS9sb2cvbG9nZXZlbnRgLCBsb2dFdmVudClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcblxyXG4gICAgICB9LCAoZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdVbmFibGUgdG8gbG9nIGVycm9yIHRvIHNlcnZlci4gJyArIGV4KTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUNsaWVudFNpZGVFcnJvciA9IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVNlcnZlclNpZGVFcnJvciA9IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgIGxldCBzZXJ2ZXJFcnJvciA9IG5ldyBUcnVTZXJ2ZXJFcnJvcihlcnJvcik7XHJcbiAgICBpZiAoc2VydmVyRXJyb3IudHlwZSA9PT0gJ3RydS1kYi1jdXN0b20tZXhjZXB0aW9uJykge1xyXG4gICAgICAvL3ZhciBzZXJ2aWNlID0gJGluamVjdG9yLmdldChlcnJvci5odHRwUmVzcG9uc2UuZGF0YS5zZXJ2aWNlTmFtZSk7XHJcbiAgICAgIC8vdmFyIGV4Y2VwdGlvbkRhdGEgPSBlcnJvci5odHRwUmVzcG9uc2UuZGF0YS5kYXRhO1xyXG4gICAgICAvL3NlcnZpY2UoZXhjZXB0aW9uRGF0YSk7XHJcbiAgICB9IGVsc2UgaWYgKHNlcnZlckVycm9yLnR5cGUuaW5kZXhPZignVHJ1RGJSZXF1aXJlVmFsaWRDaG9pY2VFeGNlcHRpb24nKSAhPT0gLTEpIHtcclxuXHJcbiAgICAgIGxldCBkaWFsb2dDb25maWcgPSBuZXcgVHJ1RXJyb3JEaWFsb2dDb25maWcoXHJcbiAgICAgICAgJ1JlcXVpcmUgVmFsaWQgQ2hvaWNlIEV4Y2VwdGlvbicsXHJcbiAgICAgICAgZXJyb3IubWVzc2FnZSk7XHJcblxyXG4gICAgICB0aGlzLmRpYWxvZy5vcGVuKFRydUVycm9yRGlhbG9nLCB7XHJcbiAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICAgIG1pbldpZHRoOiBcIjQwMHB4XCIsXHJcbiAgICAgICAgbWF4V2lkdGg6IFwiNjAwcHhcIixcclxuICAgICAgICBkYXRhOiBkaWFsb2dDb25maWdcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKHNlcnZlckVycm9yLnR5cGUuaW5kZXhPZignRHVwbGljYXRlS2V5RXJyb3InKSAhPT0gLTEpIHtcclxuXHJcbiAgICAgIGxldCBkaWFsb2dDb25maWcgPSBuZXcgVHJ1RXJyb3JEaWFsb2dDb25maWcoXHJcbiAgICAgICAgJ0R1cGxpY2F0ZSBLZXkgRXJyb3InLFxyXG4gICAgICAgIGVycm9yLm1lc3NhZ2VcclxuICAgICAgICAgIC5yZXBsYWNlKCdDYW5ub3QgaW5zZXJ0IGR1cGxpY2F0ZSBrZXkgcm93IGluIG9iamVjdCcsICdDYW5ub3QgaW5zZXJ0IGR1cGxpY2F0ZSB2YWx1ZSBpbiB0YWJsZScpXHJcbiAgICAgICAgICAucmVwbGFjZSgnZGJvLicsICcnKVxyXG4gICAgICAgICAgLnJlcGxhY2UoJ1VJWF8nLCAnJylcclxuICAgICAgICAgIC5yZXBsYWNlKCdUaGUgc3RhdGVtZW50IGhhcyBiZWVuIHRlcm1pbmF0ZWQuJywgJycpKTtcclxuXHJcbiAgICAgIHRoaXMuZGlhbG9nLm9wZW4oVHJ1RXJyb3JEaWFsb2csIHtcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgbWluV2lkdGg6IFwiNDAwcHhcIixcclxuICAgICAgICBtYXhXaWR0aDogXCI2MDBweFwiLFxyXG4gICAgICAgIGRhdGE6IGRpYWxvZ0NvbmZpZ1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB9IGVsc2UgaWYgKHNlcnZlckVycm9yLnR5cGUuaW5kZXhPZignT3B0aW1pc3RpY0xvY2tWaW9sYXRpb24nKSAhPT0gLTEpIHtcclxuXHJcbiAgICAgIGxldCBkaWFsb2dDb25maWcgPSBuZXcgVHJ1RXJyb3JEaWFsb2dDb25maWcoXHJcbiAgICAgICAgJ0NvbmN1cnJlbnQgc2F2ZXMgbm90IGFsbG93ZWQnLFxyXG4gICAgICAgICdQbGVhc2UgcmV2aWV3IGFueSBjaGFuZ2VzIGFuZCBzYXZlIGFnYWluLicpO1xyXG5cclxuICAgICAgdGhpcy5kaWFsb2cub3BlbihUcnVFcnJvckRpYWxvZywge1xyXG4gICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICBtaW5XaWR0aDogXCI0MDBweFwiLFxyXG4gICAgICAgIG1heFdpZHRoOiBcIjYwMHB4XCIsXHJcbiAgICAgICAgZGF0YTogZGlhbG9nQ29uZmlnXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChzZXJ2ZXJFcnJvci50eXBlLmxhc3RJbmRleE9mKCdUcnVEQi5FZk1zc3FsLlJ1bnRpbWUuRGF0YUVycm9yJywgMCkgPT09IDApIHtcclxuICAgICAgdGhpcy51aU5vdGlmaWNhdGlvbi5lcnJvcihcclxuICAgICAgICB0aGlzLnRleHRNYW5hZ2VyLmZtdERhdGFFcnJvcihzZXJ2ZXJFcnJvci50eXBlKSxcclxuICAgICAgICBbdGhpcy50ZXh0TWFuYWdlci5mbXRFeGNlcHRpb25Ub1Nob3coc2VydmVyRXJyb3Iuc3RhY2tUcmFjZSldKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdmFyIG1lc3NhZ2UgPSB0aGlzLnRleHRNYW5hZ2VyLmZtdEVycm9yVG9TaG93KHNlcnZlckVycm9yKTtcclxuICAgICAgbGV0IGRpYWxvZ0NvbmZpZyA9IG5ldyBUcnVFcnJvckRpYWxvZ0NvbmZpZyhcclxuICAgICAgICBzZXJ2ZXJFcnJvci5zdGF0dXNUZXh0LFxyXG4gICAgICAgIG1lc3NhZ2UpO1xyXG5cclxuICAgICAgdGhpcy5kaWFsb2cub3BlbihUcnVFcnJvckRpYWxvZywge1xyXG4gICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICBtaW5XaWR0aDogXCI0MDBweFwiLFxyXG4gICAgICAgIG1heFdpZHRoOiBcIjYwMHB4XCIsXHJcbiAgICAgICAgZGF0YTogZGlhbG9nQ29uZmlnXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlRXJyb3IgPSAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICBpZiAoZXJyb3IudHlwZSlcclxuICAgICAgdGhpcy5oYW5kbGVDbGllbnRTaWRlRXJyb3IoZXJyb3IpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmhhbmRsZVNlcnZlclNpZGVFcnJvcihlcnJvcik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWVycm9yLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL3RydS1lcnJvci1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBSWxHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7OztBQUs3RCxNQUFNLE9BQU8sZUFBZTtJQUtoQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBUkYsT0FBTyxDQUFTO0lBQ2hCLE9BQU8sQ0FBUztJQUV4QixZQUNVLElBQWdCLEVBQ2hCLE1BQWlCLEVBQ2pCLFdBQTJCLEVBQzNCLGNBQWlDLEVBQ2pDLGNBQWlDO1FBSmpDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxhQUFhLEdBQUcsQ0FBQyxPQUFlLEVBQUUsT0FBZSxFQUFFLElBQVksRUFBRSxFQUFFO1FBQ3pFLElBQUksR0FBRyxJQUFJLElBQUksU0FBUyxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsT0FBTyxHQUFHLElBQUksR0FBRyxP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O2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUcnVVaU5vdGlmaWNhdGlvbiB9IGZyb20gXCIuL3RydS11aS1ub3RpZmljYXRpb25cIjtcclxuaW1wb3J0IHsgVHJ1VGV4dE1hbmFnZXIgfSBmcm9tIFwiLi90cnUtdGV4dC1tYW5hZ2VyXCI7XHJcbmltcG9ydCB7IFRydUVycm9yRGlhbG9nIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvZXJyb3ItZGlhbG9nL3RydS1lcnJvci1kaWFsb2dcIjtcclxuaW1wb3J0IHsgVHJ1RXJyb3JEaWFsb2dDb25maWcgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9lcnJvci1kaWFsb2cvY2xhc3Nlcy90cnUtZXJyb3ItZGlhbG9nLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IFRydUFwcEVudmlyb25tZW50IH0gZnJvbSBcIi4vdHJ1LWFwcC1lbnZpcm9ubWVudFwiO1xyXG5pbXBvcnQgeyBUcnVTZXJ2ZXJFcnJvciB9IGZyb20gXCIuLi9jbGFzc2VzL3RydS1zZXJ2ZXItZXJyb3JcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVFcnJvck1hbmFnZXIge1xyXG4gIHByaXZhdGUgYmFzZVVybDogc3RyaW5nO1xyXG4gIHByaXZhdGUgYXBwTmFtZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIHRleHRNYW5hZ2VyOiBUcnVUZXh0TWFuYWdlcixcclxuICAgIHByaXZhdGUgdWlOb3RpZmljYXRpb246IFRydVVpTm90aWZpY2F0aW9uLFxyXG4gICAgcHJpdmF0ZSBhcHBFbnZpcm9ubWVudDogVHJ1QXBwRW52aXJvbm1lbnQpIHtcclxuICAgIHRoaXMuYmFzZVVybCA9IGFwcEVudmlyb25tZW50LmFwcFVyaTtcclxuICAgIHRoaXMuYXBwTmFtZSA9IGFwcEVudmlyb25tZW50LmFwcE5hbWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvZ0Vycm9yRXZlbnQgPSAobWVzc2FnZTogc3RyaW5nLCBjb250ZXh0OiBzdHJpbmcsIGFyZWE6IHN0cmluZykgPT4ge1xyXG4gICAgYXJlYSA9IGFyZWEgfHwgJ3Vua25vd24nO1xyXG4gICAgY29uc29sZS5sb2coJ1snICsgYXJlYSArICd8JyArIGNvbnRleHQgKyAnXSAnICsgbWVzc2FnZSk7XHJcbiAgICB2YXIgbG9nRXZlbnQgPSB7XHJcbiAgICAgIGV2ZW50VHlwZTogJ0Vycm9yJyxcclxuICAgICAgZXZlbnREYXRlOiBuZXcgRGF0ZSgpLFxyXG4gICAgICBhcHBsaWNhdGlvbk5hbWU6IHRoaXMuYXBwTmFtZSxcclxuICAgICAgYXBwbGljYXRpb25Vcmw6IHRoaXMuYmFzZVVybCxcclxuICAgICAgYXBwbGljYXRpb25BcmVhOiBhcmVhLFxyXG4gICAgICBjb250ZXh0OiBjb250ZXh0LFxyXG4gICAgICBtZXNzYWdlOiBtZXNzYWdlXHJcbiAgICB9O1xyXG4gICAgdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy5iYXNlVXJsfS9hcGkvbG9nL2xvZ2V2ZW50YCwgbG9nRXZlbnQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cclxuICAgICAgfSwgKGV4OiBhbnkpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnVW5hYmxlIHRvIGxvZyBlcnJvciB0byBzZXJ2ZXIuICcgKyBleCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVDbGllbnRTaWRlRXJyb3IgPSAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcblxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVTZXJ2ZXJTaWRlRXJyb3IgPSAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICBsZXQgc2VydmVyRXJyb3IgPSBuZXcgVHJ1U2VydmVyRXJyb3IoZXJyb3IpO1xyXG4gICAgaWYgKHNlcnZlckVycm9yLnR5cGUgPT09ICd0cnUtZGItY3VzdG9tLWV4Y2VwdGlvbicpIHtcclxuICAgICAgLy92YXIgc2VydmljZSA9ICRpbmplY3Rvci5nZXQoZXJyb3IuaHR0cFJlc3BvbnNlLmRhdGEuc2VydmljZU5hbWUpO1xyXG4gICAgICAvL3ZhciBleGNlcHRpb25EYXRhID0gZXJyb3IuaHR0cFJlc3BvbnNlLmRhdGEuZGF0YTtcclxuICAgICAgLy9zZXJ2aWNlKGV4Y2VwdGlvbkRhdGEpO1xyXG4gICAgfSBlbHNlIGlmIChzZXJ2ZXJFcnJvci50eXBlLmluZGV4T2YoJ1RydURiUmVxdWlyZVZhbGlkQ2hvaWNlRXhjZXB0aW9uJykgIT09IC0xKSB7XHJcblxyXG4gICAgICBsZXQgZGlhbG9nQ29uZmlnID0gbmV3IFRydUVycm9yRGlhbG9nQ29uZmlnKFxyXG4gICAgICAgICdSZXF1aXJlIFZhbGlkIENob2ljZSBFeGNlcHRpb24nLFxyXG4gICAgICAgIGVycm9yLm1lc3NhZ2UsXHJcbiAgICAgICAgc2VydmVyRXJyb3Iuc3RhY2tUcmFjZSk7XHJcblxyXG4gICAgICB0aGlzLmRpYWxvZy5vcGVuKFRydUVycm9yRGlhbG9nLCB7XHJcbiAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICAgIG1pbldpZHRoOiBcIjQwMHB4XCIsXHJcbiAgICAgICAgbWF4V2lkdGg6IFwiNjAwcHhcIixcclxuICAgICAgICBkYXRhOiBkaWFsb2dDb25maWdcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKHNlcnZlckVycm9yLnR5cGUuaW5kZXhPZignRHVwbGljYXRlS2V5RXJyb3InKSAhPT0gLTEpIHtcclxuXHJcbiAgICAgIGxldCBkaWFsb2dDb25maWcgPSBuZXcgVHJ1RXJyb3JEaWFsb2dDb25maWcoXHJcbiAgICAgICAgJ0R1cGxpY2F0ZSBLZXkgRXJyb3InLFxyXG4gICAgICAgIGVycm9yLm1lc3NhZ2VcclxuICAgICAgICAgIC5yZXBsYWNlKCdDYW5ub3QgaW5zZXJ0IGR1cGxpY2F0ZSBrZXkgcm93IGluIG9iamVjdCcsICdDYW5ub3QgaW5zZXJ0IGR1cGxpY2F0ZSB2YWx1ZSBpbiB0YWJsZScpXHJcbiAgICAgICAgICAucmVwbGFjZSgnZGJvLicsICcnKVxyXG4gICAgICAgICAgLnJlcGxhY2UoJ1VJWF8nLCAnJylcclxuICAgICAgICAgIC5yZXBsYWNlKCdUaGUgc3RhdGVtZW50IGhhcyBiZWVuIHRlcm1pbmF0ZWQuJywgJycpLFxyXG4gICAgICAgIHNlcnZlckVycm9yLnN0YWNrVHJhY2UgICAgICApO1xyXG5cclxuICAgICAgdGhpcy5kaWFsb2cub3BlbihUcnVFcnJvckRpYWxvZywge1xyXG4gICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICBtaW5XaWR0aDogXCI0MDBweFwiLFxyXG4gICAgICAgIG1heFdpZHRoOiBcIjYwMHB4XCIsXHJcbiAgICAgICAgZGF0YTogZGlhbG9nQ29uZmlnXHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH0gZWxzZSBpZiAoc2VydmVyRXJyb3IudHlwZS5pbmRleE9mKCdPcHRpbWlzdGljTG9ja1Zpb2xhdGlvbicpICE9PSAtMSkge1xyXG5cclxuICAgICAgbGV0IGRpYWxvZ0NvbmZpZyA9IG5ldyBUcnVFcnJvckRpYWxvZ0NvbmZpZyhcclxuICAgICAgICAnQ29uY3VycmVudCBzYXZlcyBub3QgYWxsb3dlZCcsXHJcbiAgICAgICAgJ1BsZWFzZSByZXZpZXcgYW55IGNoYW5nZXMgYW5kIHNhdmUgYWdhaW4uJyxcclxuICAgICAgICBzZXJ2ZXJFcnJvci5zdGFja1RyYWNlKTtcclxuXHJcbiAgICAgIHRoaXMuZGlhbG9nLm9wZW4oVHJ1RXJyb3JEaWFsb2csIHtcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgbWluV2lkdGg6IFwiNDAwcHhcIixcclxuICAgICAgICBtYXhXaWR0aDogXCI2MDBweFwiLFxyXG4gICAgICAgIGRhdGE6IGRpYWxvZ0NvbmZpZ1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoc2VydmVyRXJyb3IudHlwZS5sYXN0SW5kZXhPZignVHJ1REIuRWZNc3NxbC5SdW50aW1lLkRhdGFFcnJvcicsIDApID09PSAwKSB7XHJcbiAgICAgIHRoaXMudWlOb3RpZmljYXRpb24uZXJyb3IoXHJcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlci5mbXREYXRhRXJyb3Ioc2VydmVyRXJyb3IudHlwZSksXHJcbiAgICAgICAgW3RoaXMudGV4dE1hbmFnZXIuZm10RXhjZXB0aW9uVG9TaG93KHNlcnZlckVycm9yLnN0YWNrVHJhY2UpXSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHZhciBtZXNzYWdlID0gdGhpcy50ZXh0TWFuYWdlci5mbXRFcnJvclRvU2hvdyhzZXJ2ZXJFcnJvcik7XHJcbiAgICAgIGxldCBkaWFsb2dDb25maWcgPSBuZXcgVHJ1RXJyb3JEaWFsb2dDb25maWcoXHJcbiAgICAgICAgc2VydmVyRXJyb3IudHlwZSxcclxuICAgICAgICBzZXJ2ZXJFcnJvci5tZXNzYWdlLFxyXG4gICAgICAgIHNlcnZlckVycm9yLnN0YWNrVHJhY2UpO1xyXG5cclxuICAgICAgdGhpcy5kaWFsb2cub3BlbihUcnVFcnJvckRpYWxvZywge1xyXG4gICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICBtaW5XaWR0aDogXCI0MDBweFwiLFxyXG4gICAgICAgIG1heFdpZHRoOiBcIjYwMHB4XCIsXHJcbiAgICAgICAgZGF0YTogZGlhbG9nQ29uZmlnXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlRXJyb3IgPSAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICBpZiAoZXJyb3IudHlwZSlcclxuICAgICAgdGhpcy5oYW5kbGVDbGllbnRTaWRlRXJyb3IoZXJyb3IpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmhhbmRsZVNlcnZlclNpZGVFcnJvcihlcnJvcik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, Input, Injectable, Component, Inject, HostListener, InjectionToken, NgModule, Pipe, ViewEncapsulation, EventEmitter, Output, ViewChild, createComponent, Optional, APP_INITIALIZER, ViewChildren, QueryList, ContentChildren } from '@angular/core';
2
+ import { Directive, Input, Injectable, Component, Inject, HostListener, InjectionToken, NgModule, Pipe, ViewEncapsulation, EventEmitter, Output, ViewChild, createComponent, Optional, APP_INITIALIZER, ViewChildren, signal, ChangeDetectionStrategy, QueryList, ContentChildren } from '@angular/core';
3
3
  import { EntityAspect, MetadataStore, DataService, EntityManager, EntityQuery, Predicate, FetchStrategy, breeze, EntityState, BinaryPredicate, AndOrPredicate } from 'breeze-client';
4
4
  import { BehaviorSubject, defer, from, of, Subject, Observable, fromEvent, skip, forkJoin, throwError, finalize } from 'rxjs';
5
5
  import * as _ from 'underscore';
@@ -45,6 +45,7 @@ import { MatStepperModule } from '@angular/material/stepper';
45
45
  import { MatDatepickerModule } from '@angular/material/datepicker';
46
46
  import * as i9$1 from '@angular/material/divider';
47
47
  import { MatDividerModule } from '@angular/material/divider';
48
+ import * as i3$1 from '@angular/material/expansion';
48
49
  import { MatExpansionModule } from '@angular/material/expansion';
49
50
  import { MatGridListModule } from '@angular/material/grid-list';
50
51
  import * as i5$1 from '@angular/material/list';
@@ -9181,22 +9182,25 @@ class TruErrorDialog {
9181
9182
  data;
9182
9183
  title;
9183
9184
  message;
9185
+ stackTrace;
9184
9186
  constructor(dialogRef, data) {
9185
9187
  this.dialogRef = dialogRef;
9186
9188
  this.data = data;
9187
9189
  this.title = data.title;
9188
9190
  this.message = data.message;
9191
+ this.stackTrace = data.stackTrace;
9189
9192
  }
9193
+ panelOpenState = signal(false);
9190
9194
  ngOnInit() { }
9191
9195
  onDismiss() {
9192
9196
  this.dialogRef.close(false);
9193
9197
  }
9194
9198
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruErrorDialog, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
9195
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: TruErrorDialog, selector: "tru-error-dialog", ngImport: i0, template: "<div mat-dialog-title class=\"mat-dialog-title\">\r\n <div class=\"mat-dialog-title-container\">\r\n <mat-icon [svgIcon]=\"'error-icon'\"\r\n title=\"Error\">\r\n </mat-icon>\r\n Error - {{title}}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content class=\"mat-dialog-content\">\r\n <div class=\"tru-about-description\">\r\n {{message}}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"mat-dialog-actions\">\r\n <button mat-raised-button (click)=\"onDismiss()\">Close</button>\r\n</div>\r\n", styles: ["::ng-deep .mat-mdc-dialog-surface{padding:20px}.mat-mdc-dialog-title:before{content:unset!important;height:unset!important;padding:0 0 10px!important}.mat-dialog-title-container mat-icon{vertical-align:sub;height:24px;width:24px}.mat-dialog-title-container{display:inline}.mdc-dialog__title{padding:0 0 10px!important}.mdc-dialog__content{padding:10px 0 15px!important}.mat-mdc-dialog-content p{margin-bottom:0;font-size:14px;color:#545454}.mat-mdc-dialog-actions{padding:0!important}.mat-mdc-dialog-actions button{margin-right:10px}.tru-about-description{width:550px;height:200px;padding:5px;margin-bottom:5px;border:1px #cbcbcb solid}\n"], dependencies: [{ kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
9199
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: TruErrorDialog, selector: "tru-error-dialog", ngImport: i0, template: "<div mat-dialog-title class=\"tru-error-dialog-title mat-dialog-title\">\r\n <div class=\"mat-dialog-title-container\">\r\n <mat-icon [svgIcon]=\"'error-icon'\"\r\n title=\"Error\">\r\n </mat-icon>\r\n Error - {{title}}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content class=\"mat-dialog-content\">\r\n <div class=\"tru-about-description\">\r\n {{message}}\r\n </div>\r\n <mat-expansion-panel (opened)=\"panelOpenState.set(true)\" (closed)=\"panelOpenState.set(false)\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-description>\r\n Show Stack Trace\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <p>{{stackTrace}}</p>\r\n </mat-expansion-panel>\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"mat-dialog-actions\">\r\n <button mat-raised-button (click)=\"onDismiss()\">Close</button>\r\n</div>\r\n", styles: ["::ng-deep .mat-mdc-dialog-surface{padding:20px}.mat-mdc-dialog-title:before{content:unset!important;height:unset!important;padding:0 0 10px!important}.mat-dialog-title-container mat-icon{vertical-align:sub;height:24px;width:24px}.mat-dialog-title-container{display:inline}.mdc-dialog__title{padding:0 0 10px!important}.mdc-dialog__content{padding:10px 0 15px!important}.mat-mdc-dialog-content p{margin-bottom:0;font-size:14px;color:#545454}.mat-mdc-dialog-actions{padding:0!important}.mat-mdc-dialog-actions button{margin-right:10px}.tru-about-description{width:550px;height:200px;padding:5px;margin-bottom:5px;border:1px #cbcbcb solid}.mat-expansion-panel{border-radius:0!important}mat-panel-description{font-size:12px;text-decoration:underline;border-radius:0}::ng-deep .tru-error-dialog-title svg{fill:red}::ng-deep .tru-error-dialog-title svg path{fill:red}\n"], dependencies: [{ kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i3$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i3$1.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9196
9200
  }
9197
9201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruErrorDialog, decorators: [{
9198
9202
  type: Component,
9199
- args: [{ selector: 'tru-error-dialog', template: "<div mat-dialog-title class=\"mat-dialog-title\">\r\n <div class=\"mat-dialog-title-container\">\r\n <mat-icon [svgIcon]=\"'error-icon'\"\r\n title=\"Error\">\r\n </mat-icon>\r\n Error - {{title}}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content class=\"mat-dialog-content\">\r\n <div class=\"tru-about-description\">\r\n {{message}}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"mat-dialog-actions\">\r\n <button mat-raised-button (click)=\"onDismiss()\">Close</button>\r\n</div>\r\n", styles: ["::ng-deep .mat-mdc-dialog-surface{padding:20px}.mat-mdc-dialog-title:before{content:unset!important;height:unset!important;padding:0 0 10px!important}.mat-dialog-title-container mat-icon{vertical-align:sub;height:24px;width:24px}.mat-dialog-title-container{display:inline}.mdc-dialog__title{padding:0 0 10px!important}.mdc-dialog__content{padding:10px 0 15px!important}.mat-mdc-dialog-content p{margin-bottom:0;font-size:14px;color:#545454}.mat-mdc-dialog-actions{padding:0!important}.mat-mdc-dialog-actions button{margin-right:10px}.tru-about-description{width:550px;height:200px;padding:5px;margin-bottom:5px;border:1px #cbcbcb solid}\n"] }]
9203
+ args: [{ selector: 'tru-error-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div mat-dialog-title class=\"tru-error-dialog-title mat-dialog-title\">\r\n <div class=\"mat-dialog-title-container\">\r\n <mat-icon [svgIcon]=\"'error-icon'\"\r\n title=\"Error\">\r\n </mat-icon>\r\n Error - {{title}}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content class=\"mat-dialog-content\">\r\n <div class=\"tru-about-description\">\r\n {{message}}\r\n </div>\r\n <mat-expansion-panel (opened)=\"panelOpenState.set(true)\" (closed)=\"panelOpenState.set(false)\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-description>\r\n Show Stack Trace\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <p>{{stackTrace}}</p>\r\n </mat-expansion-panel>\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"mat-dialog-actions\">\r\n <button mat-raised-button (click)=\"onDismiss()\">Close</button>\r\n</div>\r\n", styles: ["::ng-deep .mat-mdc-dialog-surface{padding:20px}.mat-mdc-dialog-title:before{content:unset!important;height:unset!important;padding:0 0 10px!important}.mat-dialog-title-container mat-icon{vertical-align:sub;height:24px;width:24px}.mat-dialog-title-container{display:inline}.mdc-dialog__title{padding:0 0 10px!important}.mdc-dialog__content{padding:10px 0 15px!important}.mat-mdc-dialog-content p{margin-bottom:0;font-size:14px;color:#545454}.mat-mdc-dialog-actions{padding:0!important}.mat-mdc-dialog-actions button{margin-right:10px}.tru-about-description{width:550px;height:200px;padding:5px;margin-bottom:5px;border:1px #cbcbcb solid}.mat-expansion-panel{border-radius:0!important}mat-panel-description{font-size:12px;text-decoration:underline;border-radius:0}::ng-deep .tru-error-dialog-title svg{fill:red}::ng-deep .tru-error-dialog-title svg path{fill:red}\n"] }]
9200
9204
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: TruErrorDialog, decorators: [{
9201
9205
  type: Inject,
9202
9206
  args: [MAT_DIALOG_DATA]
@@ -9205,9 +9209,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
9205
9209
  class TruErrorDialogConfig {
9206
9210
  title;
9207
9211
  message;
9208
- constructor(title, message) {
9212
+ stackTrace;
9213
+ constructor(title, message, stackTrace) {
9209
9214
  this.title = title;
9210
9215
  this.message = message;
9216
+ this.stackTrace = stackTrace;
9211
9217
  }
9212
9218
  }
9213
9219
 
@@ -9277,7 +9283,7 @@ class TruErrorManager {
9277
9283
  //service(exceptionData);
9278
9284
  }
9279
9285
  else if (serverError.type.indexOf('TruDbRequireValidChoiceException') !== -1) {
9280
- let dialogConfig = new TruErrorDialogConfig('Require Valid Choice Exception', error.message);
9286
+ let dialogConfig = new TruErrorDialogConfig('Require Valid Choice Exception', error.message, serverError.stackTrace);
9281
9287
  this.dialog.open(TruErrorDialog, {
9282
9288
  disableClose: true,
9283
9289
  minWidth: "400px",
@@ -9290,7 +9296,7 @@ class TruErrorManager {
9290
9296
  .replace('Cannot insert duplicate key row in object', 'Cannot insert duplicate value in table')
9291
9297
  .replace('dbo.', '')
9292
9298
  .replace('UIX_', '')
9293
- .replace('The statement has been terminated.', ''));
9299
+ .replace('The statement has been terminated.', ''), serverError.stackTrace);
9294
9300
  this.dialog.open(TruErrorDialog, {
9295
9301
  disableClose: true,
9296
9302
  minWidth: "400px",
@@ -9299,7 +9305,7 @@ class TruErrorManager {
9299
9305
  });
9300
9306
  }
9301
9307
  else if (serverError.type.indexOf('OptimisticLockViolation') !== -1) {
9302
- let dialogConfig = new TruErrorDialogConfig('Concurrent saves not allowed', 'Please review any changes and save again.');
9308
+ let dialogConfig = new TruErrorDialogConfig('Concurrent saves not allowed', 'Please review any changes and save again.', serverError.stackTrace);
9303
9309
  this.dialog.open(TruErrorDialog, {
9304
9310
  disableClose: true,
9305
9311
  minWidth: "400px",
@@ -9312,7 +9318,7 @@ class TruErrorManager {
9312
9318
  }
9313
9319
  else {
9314
9320
  var message = this.textManager.fmtErrorToShow(serverError);
9315
- let dialogConfig = new TruErrorDialogConfig(serverError.statusText, message);
9321
+ let dialogConfig = new TruErrorDialogConfig(serverError.type, serverError.message, serverError.stackTrace);
9316
9322
  this.dialog.open(TruErrorDialog, {
9317
9323
  disableClose: true,
9318
9324
  minWidth: "400px",
@@ -9360,11 +9366,13 @@ class TruErrorDialogModule {
9360
9366
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: TruErrorDialogModule, declarations: [TruErrorDialog], imports: [CommonModule,
9361
9367
  FormsModule,
9362
9368
  MaterialModule,
9363
- MatSidenavModule], exports: [TruErrorDialog] });
9369
+ MatSidenavModule,
9370
+ MatExpansionModule], exports: [TruErrorDialog] });
9364
9371
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruErrorDialogModule, imports: [CommonModule,
9365
9372
  FormsModule,
9366
9373
  MaterialModule,
9367
- MatSidenavModule] });
9374
+ MatSidenavModule,
9375
+ MatExpansionModule] });
9368
9376
  }
9369
9377
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruErrorDialogModule, decorators: [{
9370
9378
  type: NgModule,
@@ -9374,7 +9382,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
9374
9382
  CommonModule,
9375
9383
  FormsModule,
9376
9384
  MaterialModule,
9377
- MatSidenavModule
9385
+ MatSidenavModule,
9386
+ MatExpansionModule
9378
9387
  ],
9379
9388
  exports: [TruErrorDialog]
9380
9389
  }]