ecabs-components 1.1.21 → 1.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -77,4 +77,5 @@ v1.1.17 — Fix peerDependency on `libphonenumber-js`.
77
77
  v1.1.18 — Adjust position of `sticky` header on `MatTable`.
78
78
  v1.1.19 — Increase delay for phone control and to config.
79
79
  v1.1.20 — Improve the appearance for the scrollbar.
80
- v1.1.21 — Improve style for hovered disabled calendar date.
80
+ v1.1.21 — Improve style for hovered disabled calendar date.
81
+ v1.1.22 — Added statuses for mat-chips. Added badget for menu items.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9tb2RlbHMvc2lkZWJhci5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2lkZWJhck1lbnVJdGVtIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIGV4cGFuZD86IGJvb2xlYW47XHJcbiAgc3ViSXRlbXM/OiBTaWRlYmFyTWVudUl0ZW1bXTtcclxuICBwZXJtaXNzaW9ucz86IFBlcm1pc3Npb25WYWx1ZUVudW08c3RyaW5nPltdO1xyXG4gIGljb25SZXNvdXJjZT86IFNpZGViYXJJY29uUmVzb3VyY2U7XHJcbn1cclxuXHJcbnR5cGUgUGVybWlzc2lvblZhbHVlRW51bTxUIGV4dGVuZHMgc3RyaW5nPiA9IHtcclxuICB2YWx1ZXM6IFJlY29yZDxULCBzdHJpbmc+O1xyXG59O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaWRlYmFySWNvblJlc291cmNlIHtcclxuICBwYXRoOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9tb2RlbHMvc2lkZWJhci5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2lkZWJhck1lbnVJdGVtIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIGV4cGFuZD86IGJvb2xlYW47XHJcbiAgc3ViSXRlbXM/OiBTaWRlYmFyTWVudUl0ZW1bXTtcclxuICBwZXJtaXNzaW9ucz86IFBlcm1pc3Npb25WYWx1ZUVudW08c3RyaW5nPltdO1xyXG4gIGljb25SZXNvdXJjZT86IFNpZGViYXJJY29uUmVzb3VyY2U7XHJcbiAgYmFkZ2V0Pzogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIFBlcm1pc3Npb25WYWx1ZUVudW08VCBleHRlbmRzIHN0cmluZz4gPSB7XHJcbiAgdmFsdWVzOiBSZWNvcmQ8VCwgc3RyaW5nPjtcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2lkZWJhckljb25SZXNvdXJjZSB7XHJcbiAgcGF0aDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxufVxyXG4iXX0=
@@ -117,11 +117,11 @@ export class EcabsMenuItemsComponent {
117
117
  }
118
118
  }
119
119
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsMenuItemsComponent, deps: [{ token: i1.UnsubscribeService }, { token: i2.MatIconRegistry }, { token: i3.DomSanitizer }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component });
120
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsMenuItemsComponent, selector: "ecabs-menu-items", inputs: { menuItems: "menuItems", minimizeSidebar: "minimizeSidebar", truncateTo: "truncateTo" }, outputs: { toggleSidebar: "toggleSidebar" }, providers: [UnsubscribeService], usesOnChanges: true, ngImport: i0, template: "<ul>\r\n <li\r\n *ngFor=\"let item of menuItems; let i = index\"\r\n class=\"mb-2 hover:text-brand-dark cursor-pointer\"\r\n [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <a (click)=\"toggleItem(item, i)\" [id]=\"i\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n class=\"p-4 flex items-center h-max\"\r\n [ngClass]=\"item.expand ? 'text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <mat-icon [svgIcon]=\"item.iconResource?.name || ''\"\r\n class=\"inline-block align-middle mr-4 text-inherit hover:text-inherit\">\r\n {{ item.icon }}\r\n </mat-icon>\r\n <span *ngIf=\"!minimizeSidebar\"\r\n class=\"inline-block align-middle\">\r\n {{ item.title }}\r\n </span>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"firstChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n</ul>\r\n\r\n<ng-template #firstChildren let-subItems=\"subItems\">\r\n <ng-container *ngIf=\"!minimizeSidebar\">\r\n <ul class=\"ml-12\">\r\n <li *ngFor=\"let item of subItems\" [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\">\r\n <a #rla=\"routerLinkActive\"\r\n (click)=\"toggleSubItem(item, subItems)\"\r\n class=\"text-sm font-light p-4 h-12 rounded-md hover:text-brand-dark flex items-center\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n >\r\n <span [title]=\"item.title\">\r\n {{ item.title | truncate: truncateTo }}\r\n </span>\r\n <div *ngIf=\"item.subItems?.length > 0\" class=\"flex-1 text-right\">\r\n <mat-icon class=\"align-middle hover:text-inherit\" [ngClass]=\"{ 'rotate-90': item.expand }\">\r\n keyboard_arrow_right\r\n </mat-icon>\r\n </div>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"secondChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #secondChildren let-subItems=\"subItems\">\r\n <ul class=\"ml-3\">\r\n <li *ngFor=\"let item of subItems\">\r\n <a #rla=\"routerLinkActive\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n class=\"text-xs font-light block p-4 h-12 rounded-md hover:text-brand-dark\">\r\n <span>{{ item.title }}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: [":host::ng-deep li.text-brand-dark svg path{fill:currentColor}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i6.EcabsTruncatePipe, name: "truncate" }] });
120
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsMenuItemsComponent, selector: "ecabs-menu-items", inputs: { menuItems: "menuItems", minimizeSidebar: "minimizeSidebar", truncateTo: "truncateTo" }, outputs: { toggleSidebar: "toggleSidebar" }, providers: [UnsubscribeService], usesOnChanges: true, ngImport: i0, template: "<ul>\r\n <li\r\n *ngFor=\"let item of menuItems; let i = index\"\r\n class=\"mb-2 hover:text-brand-dark cursor-pointer\"\r\n [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <a (click)=\"toggleItem(item, i)\" [id]=\"i\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n class=\"p-4 flex items-center h-max\"\r\n [ngClass]=\"item.expand ? 'text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <mat-icon [svgIcon]=\"item.iconResource?.name || ''\"\r\n class=\"inline-block align-middle mr-4 text-inherit hover:text-inherit\">\r\n {{ item.icon }}\r\n </mat-icon>\r\n <span *ngIf=\"!minimizeSidebar\"\r\n class=\"inline-block align-middle\">\r\n {{ item.title }}\r\n </span>\r\n <div *ngIf=\"item.badget\" class=\"badget text-white\">\r\n {{ item.badget }}\r\n </div>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"firstChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n</ul>\r\n\r\n<ng-template #firstChildren let-subItems=\"subItems\">\r\n <ng-container *ngIf=\"!minimizeSidebar\">\r\n <ul class=\"ml-12\">\r\n <li *ngFor=\"let item of subItems\" [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\">\r\n <a #rla=\"routerLinkActive\"\r\n (click)=\"toggleSubItem(item, subItems)\"\r\n class=\"text-sm font-light p-4 h-12 rounded-md hover:text-brand-dark flex items-center\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n >\r\n <span [title]=\"item.title\">\r\n {{ item.title | truncate: truncateTo }}\r\n </span>\r\n <div *ngIf=\"item.badget\" class=\"badget text-white\">\r\n {{ item.badget }}\r\n </div>\r\n <div *ngIf=\"item.subItems?.length > 0\" class=\"flex-1 text-right\">\r\n <mat-icon class=\"align-middle hover:text-inherit\" [ngClass]=\"{ 'rotate-90': item.expand }\">\r\n keyboard_arrow_right\r\n </mat-icon>\r\n </div>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"secondChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #secondChildren let-subItems=\"subItems\">\r\n <ul class=\"ml-3\">\r\n <li *ngFor=\"let item of subItems\">\r\n <a #rla=\"routerLinkActive\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n class=\"text-xs font-light block p-4 h-12 rounded-md hover:text-brand-dark\">\r\n <span>{{ item.title }}</span>\r\n <div *ngIf=\"item.badget\" class=\"badget text-white\">\r\n {{ item.badget }}\r\n </div>\r\n </a>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: [":host::ng-deep li.text-brand-dark svg path{fill:currentColor}:host::ng-deep .badget{display:inline-flex;justify-content:center;align-items:center;width:41px;height:24px;border-radius:4px;font-size:12px;margin-left:12px;background-color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i6.EcabsTruncatePipe, name: "truncate" }] });
121
121
  }
122
122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsMenuItemsComponent, decorators: [{
123
123
  type: Component,
124
- args: [{ selector: 'ecabs-menu-items', providers: [UnsubscribeService], template: "<ul>\r\n <li\r\n *ngFor=\"let item of menuItems; let i = index\"\r\n class=\"mb-2 hover:text-brand-dark cursor-pointer\"\r\n [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <a (click)=\"toggleItem(item, i)\" [id]=\"i\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n class=\"p-4 flex items-center h-max\"\r\n [ngClass]=\"item.expand ? 'text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <mat-icon [svgIcon]=\"item.iconResource?.name || ''\"\r\n class=\"inline-block align-middle mr-4 text-inherit hover:text-inherit\">\r\n {{ item.icon }}\r\n </mat-icon>\r\n <span *ngIf=\"!minimizeSidebar\"\r\n class=\"inline-block align-middle\">\r\n {{ item.title }}\r\n </span>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"firstChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n</ul>\r\n\r\n<ng-template #firstChildren let-subItems=\"subItems\">\r\n <ng-container *ngIf=\"!minimizeSidebar\">\r\n <ul class=\"ml-12\">\r\n <li *ngFor=\"let item of subItems\" [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\">\r\n <a #rla=\"routerLinkActive\"\r\n (click)=\"toggleSubItem(item, subItems)\"\r\n class=\"text-sm font-light p-4 h-12 rounded-md hover:text-brand-dark flex items-center\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n >\r\n <span [title]=\"item.title\">\r\n {{ item.title | truncate: truncateTo }}\r\n </span>\r\n <div *ngIf=\"item.subItems?.length > 0\" class=\"flex-1 text-right\">\r\n <mat-icon class=\"align-middle hover:text-inherit\" [ngClass]=\"{ 'rotate-90': item.expand }\">\r\n keyboard_arrow_right\r\n </mat-icon>\r\n </div>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"secondChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #secondChildren let-subItems=\"subItems\">\r\n <ul class=\"ml-3\">\r\n <li *ngFor=\"let item of subItems\">\r\n <a #rla=\"routerLinkActive\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n class=\"text-xs font-light block p-4 h-12 rounded-md hover:text-brand-dark\">\r\n <span>{{ item.title }}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: [":host::ng-deep li.text-brand-dark svg path{fill:currentColor}\n"] }]
124
+ args: [{ selector: 'ecabs-menu-items', providers: [UnsubscribeService], template: "<ul>\r\n <li\r\n *ngFor=\"let item of menuItems; let i = index\"\r\n class=\"mb-2 hover:text-brand-dark cursor-pointer\"\r\n [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <a (click)=\"toggleItem(item, i)\" [id]=\"i\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n class=\"p-4 flex items-center h-max\"\r\n [ngClass]=\"item.expand ? 'text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <mat-icon [svgIcon]=\"item.iconResource?.name || ''\"\r\n class=\"inline-block align-middle mr-4 text-inherit hover:text-inherit\">\r\n {{ item.icon }}\r\n </mat-icon>\r\n <span *ngIf=\"!minimizeSidebar\"\r\n class=\"inline-block align-middle\">\r\n {{ item.title }}\r\n </span>\r\n <div *ngIf=\"item.badget\" class=\"badget text-white\">\r\n {{ item.badget }}\r\n </div>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"firstChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n</ul>\r\n\r\n<ng-template #firstChildren let-subItems=\"subItems\">\r\n <ng-container *ngIf=\"!minimizeSidebar\">\r\n <ul class=\"ml-12\">\r\n <li *ngFor=\"let item of subItems\" [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\">\r\n <a #rla=\"routerLinkActive\"\r\n (click)=\"toggleSubItem(item, subItems)\"\r\n class=\"text-sm font-light p-4 h-12 rounded-md hover:text-brand-dark flex items-center\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n >\r\n <span [title]=\"item.title\">\r\n {{ item.title | truncate: truncateTo }}\r\n </span>\r\n <div *ngIf=\"item.badget\" class=\"badget text-white\">\r\n {{ item.badget }}\r\n </div>\r\n <div *ngIf=\"item.subItems?.length > 0\" class=\"flex-1 text-right\">\r\n <mat-icon class=\"align-middle hover:text-inherit\" [ngClass]=\"{ 'rotate-90': item.expand }\">\r\n keyboard_arrow_right\r\n </mat-icon>\r\n </div>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"secondChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #secondChildren let-subItems=\"subItems\">\r\n <ul class=\"ml-3\">\r\n <li *ngFor=\"let item of subItems\">\r\n <a #rla=\"routerLinkActive\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n class=\"text-xs font-light block p-4 h-12 rounded-md hover:text-brand-dark\">\r\n <span>{{ item.title }}</span>\r\n <div *ngIf=\"item.badget\" class=\"badget text-white\">\r\n {{ item.badget }}\r\n </div>\r\n </a>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: [":host::ng-deep li.text-brand-dark svg path{fill:currentColor}:host::ng-deep .badget{display:inline-flex;justify-content:center;align-items:center;width:41px;height:24px;border-radius:4px;font-size:12px;margin-left:12px;background-color:var(--color-error)}\n"] }]
125
125
  }], ctorParameters: function () { return [{ type: i1.UnsubscribeService }, { type: i2.MatIconRegistry }, { type: i3.DomSanitizer }, { type: i4.Router }]; }, propDecorators: { menuItems: [{
126
126
  type: Input
127
127
  }], minimizeSidebar: [{
@@ -131,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
131
131
  }], toggleSidebar: [{
132
132
  type: Output
133
133
  }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtbWVudS1pdGVtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtbWVudS1pdGVtcy9lY2Ficy1tZW51LWl0ZW1zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1tZW51LWl0ZW1zL2VjYWJzLW1lbnUtaXRlbXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRTFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFRaEQsTUFBTSxPQUFPLHVCQUF1QjtJQWNmO0lBQ0E7SUFDQTtJQUNBO0lBZm5CLFNBQVMsQ0FBb0I7SUFHN0IsZUFBZSxDQUFVO0lBR3pCLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFHaEIsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFNUMsWUFDbUIsa0JBQXNDLEVBQ3RDLFlBQTZCLEVBQzdCLFNBQXVCLEVBQ3ZCLE1BQWM7UUFIZCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3ZCLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDOUIsQ0FBQztJQUVKLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRTlCLElBQUksU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUU7WUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FDOUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUM5QixDQUFDO1lBRUYsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO2dCQUMzQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLFlBQVksSUFBSSxFQUFFLENBQUM7Z0JBRTFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUMxQixJQUFJLEVBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsQ0FDcEQsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQ0gsS0FBSyxFQUFFLEVBQ1AsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUNqRCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsQ0FDcEQ7YUFDQSxTQUFTLENBQUMsQ0FBQyxLQUFzQixFQUFFLEVBQUU7WUFDcEMsTUFBTSx3QkFBd0IsR0FBb0IsY0FBYyxDQUM5RCxLQUFLLENBQUMsR0FBRyxFQUNULElBQUksQ0FBQyxTQUFTLENBQ2YsQ0FBQztZQUVGLElBQUksd0JBQXdCLEVBQUU7Z0JBQzVCLElBQUksd0JBQXdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQ2xELE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxDQUN2QyxLQUFLLENBQUMsR0FBRyxFQUNULHdCQUF3QixDQUFDLFFBQVEsQ0FDbEMsQ0FBQztvQkFFRixJQUFJLGtCQUFrQixFQUFFO3dCQUN0QixrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO3FCQUNsQztpQkFDRjtnQkFFRCxJQUFJLENBQUMsU0FBUztxQkFDWCxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7b0JBQzlCLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzdDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNsQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7b0JBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQzdELENBQUM7Z0JBQ0YsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQzthQUNsRTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUNqRCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsQ0FDcEQ7YUFDQSxTQUFTLENBQUMsQ0FBQyxLQUFzQixFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDOUMsSUFBSSxDQUFDLFNBQVM7b0JBQ1osRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUNqQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVCLENBQUMsQ0FBQyxDQUFDO2FBQ047aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDakM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBcUIsRUFBRSxLQUFhO1FBQzdDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBRTFCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQ3BELE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNqRCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDVDtRQUVELElBQUksQ0FBQyxTQUFTO2FBQ1gsTUFBTSxDQUNMLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FDWCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2pELENBQUMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUNyQjtZQUNELEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDbEUsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFxQixFQUFFLFFBQTJCO1FBQzlELFFBQVE7YUFDTCxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQzthQUNyQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRWhELElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsSUFBcUI7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxlQUFlLENBQUMsR0FBVztRQUN6QixNQUFNLHdCQUF3QixHQUFvQixjQUFjLENBQzlELEdBQUcsRUFDSCxJQUFJLENBQUMsU0FBUyxDQUNmLENBQUM7UUFFRixJQUFJLHdCQUF3QixFQUFFLFFBQVEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2xELE1BQU0sa0JBQWtCLEdBQW9CLGNBQWMsQ0FDeEQsR0FBRyxFQUNILHdCQUF3QixDQUFDLFFBQVEsQ0FDbEMsQ0FBQztZQUVGLElBQUksQ0FBQyxTQUFTO2dCQUNaLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLHdCQUF3QixDQUFDLEdBQUcsQ0FBQztnQkFDM0QsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3pCLE9BQU8sQ0FBQyxNQUFNLEdBQUcsT0FBTyxFQUFFLEdBQUcsS0FBSyxrQkFBa0IsRUFBRSxHQUFHLENBQUM7WUFDNUQsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7d0dBL0pVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLDBMQUZ2QixDQUFDLGtCQUFrQixDQUFDLCtDQ3JCakMsKzZGQW1FQTs7NEZENUNhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxrQkFBa0IsYUFHakIsQ0FBQyxrQkFBa0IsQ0FBQzt1TEFJL0IsU0FBUztzQkFEUixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpZGViYXJNZW51SXRlbSB9IGZyb20gJy4uL2Jhc2UvbW9kZWxzL3NpZGViYXIubW9kZWxzJztcclxuaW1wb3J0IHsgbWF0Y2hNZW51VG9VcmwgfSBmcm9tICcuLi9iYXNlL3V0aWxzL21lbnUtdXRpbHMnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgVW5zdWJzY3JpYmVTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS9zZXJ2aWNlcy91bnN1YnNjcmliZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLW1lbnUtaXRlbXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1tZW51LWl0ZW1zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lY2Ficy1tZW51LWl0ZW1zLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbVW5zdWJzY3JpYmVTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzTWVudUl0ZW1zQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpXHJcbiAgbWVudUl0ZW1zOiBTaWRlYmFyTWVudUl0ZW1bXTtcclxuXHJcbiAgQElucHV0KClcclxuICBtaW5pbWl6ZVNpZGViYXI6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdHJ1bmNhdGVUbyA9IDIwO1xyXG5cclxuICBAT3V0cHV0KClcclxuICB0b2dnbGVTaWRlYmFyID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmVTZXJ2aWNlOiBVbnN1YnNjcmliZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IG1lbnVJdGVtcyB9ID0gY2hhbmdlcztcclxuXHJcbiAgICBpZiAobWVudUl0ZW1zPy5jdXJyZW50VmFsdWU/Lmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBpdGVtc1dpdGhSZXNvdXJjZXMgPSB0aGlzLm1lbnVJdGVtcy5maWx0ZXIoXHJcbiAgICAgICAgKGl0ZW0pID0+ICEhaXRlbS5pY29uUmVzb3VyY2UsXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBpdGVtc1dpdGhSZXNvdXJjZXM/Lm1hcCgoeyBpY29uUmVzb3VyY2UgfSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHsgbmFtZSwgcGF0aCB9ID0gaWNvblJlc291cmNlID8/IHt9O1xyXG5cclxuICAgICAgICB0aGlzLmljb25SZWdpc3RyeS5hZGRTdmdJY29uKFxyXG4gICAgICAgICAgbmFtZSxcclxuICAgICAgICAgIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChwYXRoKSxcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMubWF0Y2hNZW51SXRlbXNPbkxvYWQoKTtcclxuICAgICAgdGhpcy50cmFja01lbnUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZVNlcnZpY2UuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgbWF0Y2hNZW51SXRlbXNPbkxvYWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlyc3QoKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZVNlcnZpY2Uuc3Vic2NyaXB0aW9uKCkpLFxyXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvblN0YXJ0KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbWF0Y2hlZE1lbnVJdGVtRnJvbVJvdXRlOiBTaWRlYmFyTWVudUl0ZW0gPSBtYXRjaE1lbnVUb1VybChcclxuICAgICAgICAgIGV2ZW50LnVybCxcclxuICAgICAgICAgIHRoaXMubWVudUl0ZW1zLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmIChtYXRjaGVkTWVudUl0ZW1Gcm9tUm91dGUpIHtcclxuICAgICAgICAgIGlmIChtYXRjaGVkTWVudUl0ZW1Gcm9tUm91dGU/LnN1Ykl0ZW1zPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoZWRTdWJtZW51SXRlbSA9IG1hdGNoTWVudVRvVXJsKFxyXG4gICAgICAgICAgICAgIGV2ZW50LnVybCxcclxuICAgICAgICAgICAgICBtYXRjaGVkTWVudUl0ZW1Gcm9tUm91dGUuc3ViSXRlbXMsXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICBpZiAobWF0Y2hlZFN1Ym1lbnVJdGVtKSB7XHJcbiAgICAgICAgICAgICAgbWF0Y2hlZFN1Ym1lbnVJdGVtLmV4cGFuZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLm1lbnVJdGVtc1xyXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmV4cGFuZClcclxuICAgICAgICAgICAgPy5tYXAoKGl0ZW0pID0+IHRoaXMuY2xvc2VNZW51R3JvdXAoaXRlbSkpO1xyXG4gICAgICAgICAgY29uc3QgdG9FeHBhbmQgPSB0aGlzLm1lbnVJdGVtcy5maW5kKFxyXG4gICAgICAgICAgICAoaXRlbSkgPT5cclxuICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeShpdGVtKSA9PT1cclxuICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KG1hdGNoZWRNZW51SXRlbUZyb21Sb3V0ZSkgJiYgIWl0ZW0uZXhwYW5kLFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRvRXhwYW5kLmV4cGFuZCA9IHRoaXMubWluaW1pemVTaWRlYmFyID8gdHJ1ZSA6ICF0b0V4cGFuZC5leHBhbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHRyYWNrTWVudSgpOiB2b2lkIHtcclxuICAgIHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZVNlcnZpY2Uuc3Vic2NyaXB0aW9uKCkpLFxyXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvblN0YXJ0KSA9PiB7XHJcbiAgICAgICAgaWYgKCFtYXRjaE1lbnVUb1VybChldmVudC51cmwsIHRoaXMubWVudUl0ZW1zKSkge1xyXG4gICAgICAgICAgdGhpcy5tZW51SXRlbXNcclxuICAgICAgICAgICAgPy5maWx0ZXIoKGl0ZW0pID0+ICEhaXRlbS5leHBhbmQpXHJcbiAgICAgICAgICAgID8ubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jbG9zZU1lbnVHcm91cChpdGVtKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubWF0Y2hBY3RpdmVJdGVtKGV2ZW50LnVybCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUl0ZW0oaXRlbTogU2lkZWJhck1lbnVJdGVtLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5taW5pbWl6ZVNpZGViYXIpIHtcclxuICAgICAgdGhpcy50b2dnbGVTaWRlYmFyLmVtaXQoKTtcclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHtpbmRleH1gKTtcclxuICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubWVudUl0ZW1zXHJcbiAgICAgIC5maWx0ZXIoXHJcbiAgICAgICAgKG1lbnVJdGVtKSA9PlxyXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkobWVudUl0ZW0pICE9PSBKU09OLnN0cmluZ2lmeShpdGVtKSAmJlxyXG4gICAgICAgICAgISFtZW51SXRlbT8uZXhwYW5kLFxyXG4gICAgICApXHJcbiAgICAgID8ubWFwKChtZW51KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jbG9zZU1lbnVHcm91cChtZW51KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgaXRlbS5leHBhbmQgPSBpdGVtLnVybCAhPT0gdGhpcy5yb3V0ZXIudXJsID8gdHJ1ZSA6IGl0ZW0uZXhwYW5kO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlU3ViSXRlbShpdGVtOiBTaWRlYmFyTWVudUl0ZW0sIHNpYmxpbmdzOiBTaWRlYmFyTWVudUl0ZW1bXSk6IHZvaWQge1xyXG4gICAgc2libGluZ3NcclxuICAgICAgLmZpbHRlcigoeyB1cmwgfSkgPT4gdXJsICE9PSBpdGVtLnVybClcclxuICAgICAgLm1hcCgoZmlsdGVyZWQpID0+IChmaWx0ZXJlZC5leHBhbmQgPSBmYWxzZSkpO1xyXG5cclxuICAgIGlmIChpdGVtLnVybCAhPT0gdGhpcy5yb3V0ZXIudXJsKSB7XHJcbiAgICAgIGl0ZW0uZXhwYW5kID0gIWl0ZW0uZXhwYW5kO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VNZW51R3JvdXAoaXRlbTogU2lkZWJhck1lbnVJdGVtKTogdm9pZCB7XHJcbiAgICBpdGVtLmV4cGFuZCA9IGZhbHNlO1xyXG4gICAgaXRlbS5zdWJJdGVtcz8ubWFwKChzdWJJdGVtKSA9PiAoc3ViSXRlbS5leHBhbmQgPSBmYWxzZSkpO1xyXG4gIH1cclxuXHJcbiAgbWF0Y2hBY3RpdmVJdGVtKHVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBtYXRjaGVkTWVudUl0ZW1Gcm9tUm91dGU6IFNpZGViYXJNZW51SXRlbSA9IG1hdGNoTWVudVRvVXJsKFxyXG4gICAgICB1cmwsXHJcbiAgICAgIHRoaXMubWVudUl0ZW1zLFxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAobWF0Y2hlZE1lbnVJdGVtRnJvbVJvdXRlPy5zdWJJdGVtcz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBtYXRjaGVkU3VibWVudUl0ZW06IFNpZGViYXJNZW51SXRlbSA9IG1hdGNoTWVudVRvVXJsKFxyXG4gICAgICAgIHVybCxcclxuICAgICAgICBtYXRjaGVkTWVudUl0ZW1Gcm9tUm91dGUuc3ViSXRlbXMsXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLm1lbnVJdGVtc1xyXG4gICAgICAgID8uZmluZCgoaXRlbSkgPT4gaXRlbS51cmwgPT09IG1hdGNoZWRNZW51SXRlbUZyb21Sb3V0ZS51cmwpXHJcbiAgICAgICAgPy5zdWJJdGVtcy5tYXAoKHN1Ykl0ZW0pID0+IHtcclxuICAgICAgICAgIHN1Ykl0ZW0uZXhwYW5kID0gc3ViSXRlbT8udXJsID09PSBtYXRjaGVkU3VibWVudUl0ZW0/LnVybDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHVsPlxyXG4gIDxsaVxyXG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWVudUl0ZW1zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgIGNsYXNzPVwibWItMiBob3Zlcjp0ZXh0LWJyYW5kLWRhcmsgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgW25nQ2xhc3NdPVwiaXRlbS5leHBhbmQgPyAnZm9udC1ib2xkIHRleHQtYnJhbmQtZGFyaycgOiAndGV4dC1ncmF5LTUwMCdcIlxyXG4gID5cclxuICAgIDxhIChjbGljayk9XCJ0b2dnbGVJdGVtKGl0ZW0sIGkpXCIgW2lkXT1cImlcIlxyXG4gICAgICBbcm91dGVyTGlua109XCJpdGVtLnVybCA/IFtpdGVtLnVybF0gOiBbXVwiXHJcbiAgICAgIGNsYXNzPVwicC00IGZsZXggaXRlbXMtY2VudGVyIGgtbWF4XCJcclxuICAgICAgW25nQ2xhc3NdPVwiaXRlbS5leHBhbmQgPyAndGV4dC1icmFuZC1kYXJrJyA6ICd0ZXh0LWdyYXktNTAwJ1wiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCJpdGVtLmljb25SZXNvdXJjZT8ubmFtZSB8fCAnJ1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlubGluZS1ibG9jayBhbGlnbi1taWRkbGUgbXItNCB0ZXh0LWluaGVyaXQgaG92ZXI6dGV4dC1pbmhlcml0XCI+XHJcbiAgICAgICAge3sgaXRlbS5pY29uIH19XHJcbiAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiIW1pbmltaXplU2lkZWJhclwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5saW5lLWJsb2NrIGFsaWduLW1pZGRsZVwiPlxyXG4gICAgICAgIHt7IGl0ZW0udGl0bGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9hPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZXhwYW5kICYmIGl0ZW0uc3ViSXRlbXM/Lmxlbmd0aCA+IDBcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpcnN0Q2hpbGRyZW47IGNvbnRleHQ6IGl0ZW1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbGk+XHJcbjwvdWw+XHJcblxyXG48bmctdGVtcGxhdGUgI2ZpcnN0Q2hpbGRyZW4gbGV0LXN1Ykl0ZW1zPVwic3ViSXRlbXNcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW1pbmltaXplU2lkZWJhclwiPlxyXG4gICAgPHVsIGNsYXNzPVwibWwtMTJcIj5cclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIHN1Ykl0ZW1zXCIgW25nQ2xhc3NdPVwiaXRlbS5leHBhbmQgPyAnZm9udC1ib2xkIHRleHQtYnJhbmQtZGFyaycgOiAndGV4dC1ncmF5LTUwMCdcIj5cclxuICAgICAgICA8YSAjcmxhPVwicm91dGVyTGlua0FjdGl2ZVwiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVN1Ykl0ZW0oaXRlbSwgc3ViSXRlbXMpXCJcclxuICAgICAgICAgICBjbGFzcz1cInRleHQtc20gZm9udC1saWdodCBwLTQgaC0xMiByb3VuZGVkLW1kIGhvdmVyOnRleHQtYnJhbmQtZGFyayBmbGV4IGl0ZW1zLWNlbnRlclwiXHJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5leHBhbmQgJiYgcmxhLmlzQWN0aXZlID8gJ3RleHQtYnJhbmQtZGFyaycgOiAndGV4dC1ncmF5LTUwMCdcIlxyXG4gICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0udXJsID8gW2l0ZW0udXJsXSA6IFtdXCJcclxuICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZV09XCIgaXRlbS51cmwgPyAnYmctYnJhbmQtMzAwIHRleHQtYnJhbmQtZGFyaycgOiAnJ1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW4gW3RpdGxlXT1cIml0ZW0udGl0bGVcIj5cclxuICAgICAgICAgICAge3sgaXRlbS50aXRsZSB8IHRydW5jYXRlOiB0cnVuY2F0ZVRvIH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5zdWJJdGVtcz8ubGVuZ3RoID4gMFwiIGNsYXNzPVwiZmxleC0xIHRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYWxpZ24tbWlkZGxlIGhvdmVyOnRleHQtaW5oZXJpdFwiIFtuZ0NsYXNzXT1cInsgJ3JvdGF0ZS05MCc6IGl0ZW0uZXhwYW5kIH1cIj5cclxuICAgICAgICAgICAgICBrZXlib2FyZF9hcnJvd19yaWdodFxyXG4gICAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmV4cGFuZCAmJiBpdGVtLnN1Ykl0ZW1zPy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2Vjb25kQ2hpbGRyZW47IGNvbnRleHQ6IGl0ZW1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3NlY29uZENoaWxkcmVuIGxldC1zdWJJdGVtcz1cInN1Ykl0ZW1zXCI+XHJcbiAgPHVsIGNsYXNzPVwibWwtM1wiPlxyXG4gICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIHN1Ykl0ZW1zXCI+XHJcbiAgICAgIDxhICNybGE9XCJyb3V0ZXJMaW5rQWN0aXZlXCJcclxuICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5leHBhbmQgJiYgcmxhLmlzQWN0aXZlID8gJ3RleHQtYnJhbmQtZGFyaycgOiAndGV4dC1ncmF5LTUwMCdcIlxyXG4gICAgICAgICBbcm91dGVyTGlua109XCJpdGVtLnVybCA/IFtpdGVtLnVybF0gOiBbXVwiXHJcbiAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlXT1cIiBpdGVtLnVybCA/ICdiZy1icmFuZC0zMDAgdGV4dC1icmFuZC1kYXJrJyA6ICcnXCJcclxuICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzIGZvbnQtbGlnaHQgYmxvY2sgcC00IGgtMTIgcm91bmRlZC1tZCBob3Zlcjp0ZXh0LWJyYW5kLWRhcmtcIj5cclxuICAgICAgICA8c3Bhbj57eyBpdGVtLnRpdGxlIH19PC9zcGFuPlxyXG4gICAgICA8L2E+XHJcbiAgICA8L2xpPlxyXG4gIDwvdWw+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtbWVudS1pdGVtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtbWVudS1pdGVtcy9lY2Ficy1tZW51LWl0ZW1zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1tZW51LWl0ZW1zL2VjYWJzLW1lbnUtaXRlbXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRTFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFRaEQsTUFBTSxPQUFPLHVCQUF1QjtJQWNmO0lBQ0E7SUFDQTtJQUNBO0lBZm5CLFNBQVMsQ0FBb0I7SUFHN0IsZUFBZSxDQUFVO0lBR3pCLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFHaEIsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFNUMsWUFDbUIsa0JBQXNDLEVBQ3RDLFlBQTZCLEVBQzdCLFNBQXVCLEVBQ3ZCLE1BQWM7UUFIZCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3ZCLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDOUIsQ0FBQztJQUVKLFdBQVcsQ0FBQyxP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Q0FBQztZQUVGLElBQUksQ0FBQyxTQUFTO2dCQUNaLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLHdCQUF3QixDQUFDLEdBQUcsQ0FBQztnQkFDM0QsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3pCLE9BQU8sQ0FBQyxNQUFNLEdBQUcsT0FBTyxFQUFFLEdBQUcsS0FBSyxrQkFBa0IsRUFBRSxHQUFHLENBQUM7WUFDNUQsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7d0dBL0pVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLDBMQUZ2QixDQUFDLGtCQUFrQixDQUFDLCtDQ3JCakMsMndHQTRFQTs7NEZEckRhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxrQkFBa0IsYUFHakIsQ0FBQyxrQkFBa0IsQ0FBQzt1TEFJL0IsU0FBUztzQkFEUixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpZGViYXJNZW51SXRlbSB9IGZyb20gJy4uL2Jhc2UvbW9kZWxzL3NpZGViYXIubW9kZWxzJztcclxuaW1wb3J0IHsgbWF0Y2hNZW51VG9VcmwgfSBmcm9tICcuLi9iYXNlL3V0aWxzL21lbnUtdXRpbHMnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgVW5zdWJzY3JpYmVTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS9zZXJ2aWNlcy91bnN1YnNjcmliZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLW1lbnUtaXRlbXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1tZW51LWl0ZW1zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lY2Ficy1tZW51LWl0ZW1zLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbVW5zdWJzY3JpYmVTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzTWVudUl0ZW1zQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpXHJcbiAgbWVudUl0ZW1zOiBTaWRlYmFyTWVudUl0ZW1bXTtcclxuXHJcbiAgQElucHV0KClcclxuICBtaW5pbWl6ZVNpZGViYXI6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdHJ1bmNhdGVUbyA9IDIwO1xyXG5cclxuICBAT3V0cHV0KClcclxuICB0b2dnbGVTaWRlYmFyID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmVTZXJ2aWNlOiBVbnN1YnNjcmliZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IG1lbnVJdGVtcyB9ID0gY2hhbmdlcztcclxuXHJcbiAgICBpZiAobWVudUl0ZW1zPy5jdXJyZW50VmFsdWU/Lmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBpdGVtc1dpdGhSZXNvdXJjZXMgPSB0aGlzLm1lbnVJdGVtcy5maWx0ZXIoXHJcbiAgICAgICAgKGl0ZW0pID0+ICEhaXRlbS5pY29uUmVzb3VyY2UsXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBpdGVtc1dpdGhSZXNvdXJjZXM/Lm1hcCgoeyBpY29uUmVzb3VyY2UgfSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHsgbmFtZSwgcGF0aCB9ID0gaWNvblJlc291cmNlID8/IHt9O1xyXG5cclxuICAgICAgICB0aGlzLmljb25SZWdpc3RyeS5hZGRTdmdJY29uKFxyXG4gICAgICAgICAgbmFtZSxcclxuICAgICAgICAgIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChwYXRoKSxcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMubWF0Y2hNZW51SXRlbXNPbkxvYWQoKTtcclxuICAgICAgdGhpcy50cmFja01lbnUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZVNlcnZpY2UuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgbWF0Y2hNZW51SXRlbXNPbkxvYWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlyc3QoKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZVNlcnZpY2Uuc3Vic2NyaXB0aW9uKCkpLFxyXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvblN0YXJ0KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbWF0Y2hlZE1lbnVJdGVtRnJvbVJvdXRlOiBTaWRlYmFyTWVudUl0ZW0gPSBtYXRjaE1lbnVUb1VybChcclxuICAgICAgICAgIGV2ZW50LnVybCxcclxuICAgICAgICAgIHRoaXMubWVudUl0ZW1zLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmIChtYXRjaGVkTWVudUl0ZW1Gcm9tUm91dGUpIHtcclxuICAgICAgICAgIGlmIChtYXRjaGVkTWVudUl0ZW1Gcm9tUm91dGU/LnN1Ykl0ZW1zPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoZWRTdWJtZW51SXRlbSA9IG1hdGNoTWVudVRvVXJsKFxyXG4gICAgICAgICAgICAgIGV2ZW50LnVybCxcclxuICAgICAgICAgICAgICBtYXRjaGVkTWVudUl0ZW1Gcm9tUm91dGUuc3ViSXRlbXMsXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICBpZiAobWF0Y2hlZFN1Ym1lbnVJdGVtKSB7XHJcbiAgICAgICAgICAgICAgbWF0Y2hlZFN1Ym1lbnVJdGVtLmV4cGFuZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLm1lbnVJdGVtc1xyXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmV4cGFuZClcclxuICAgICAgICAgICAgPy5tYXAoKGl0ZW0pID0+IHRoaXMuY2xvc2VNZW51R3JvdXAoaXRlbSkpO1xyXG4gICAgICAgICAgY29uc3QgdG9FeHBhbmQgPSB0aGlzLm1lbnVJdGVtcy5maW5kKFxyXG4gICAgICAgICAgICAoaXRlbSkgPT5cclxuICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeShpdGVtKSA9PT1cclxuICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KG1hdGNoZWRNZW51SXRlbUZyb21Sb3V0ZSkgJiYgIWl0ZW0uZXhwYW5kLFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRvRXhwYW5kLmV4cGFuZCA9IHRoaXMubWluaW1pemVTaWRlYmFyID8gdHJ1ZSA6ICF0b0V4cGFuZC5leHBhbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHRyYWNrTWVudSgpOiB2b2lkIHtcclxuICAgIHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZVNlcnZpY2Uuc3Vic2NyaXB0aW9uKCkpLFxyXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvblN0YXJ0KSA9PiB7XHJcbiAgICAgICAgaWYgKCFtYXRjaE1lbnVUb1VybChldmVudC51cmwsIHRoaXMubWVudUl0ZW1zKSkge1xyXG4gICAgICAgICAgdGhpcy5tZW51SXRlbXNcclxuICAgICAgICAgICAgPy5maWx0ZXIoKGl0ZW0pID0+ICEhaXRlbS5leHBhbmQpXHJcbiAgICAgICAgICAgID8ubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jbG9zZU1lbnVHcm91cChpdGVtKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubWF0Y2hBY3RpdmVJdGVtKGV2ZW50LnVybCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUl0ZW0oaXRlbTogU2lkZWJhck1lbnVJdGVtLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5taW5pbWl6ZVNpZGViYXIpIHtcclxuICAgICAgdGhpcy50b2dnbGVTaWRlYmFyLmVtaXQoKTtcclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHtpbmRleH1gKTtcclxuICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubWVudUl0ZW1zXHJcbiAgICAgIC5maWx0ZXIoXHJcbiAgICAgICAgKG1lbnVJdGVtKSA9PlxyXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkobWVudUl0ZW0pICE9PSBKU09OLnN0cmluZ2lmeShpdGVtKSAmJlxyXG4gICAgICAgICAgISFtZW51SXRlbT8uZXhwYW5kLFxyXG4gICAgICApXHJcbiAgICAgID8ubWFwKChtZW51KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jbG9zZU1lbnVHcm91cChtZW51KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgaXRlbS5leHBhbmQgPSBpdGVtLnVybCAhPT0gdGhpcy5yb3V0ZXIudXJsID8gdHJ1ZSA6IGl0ZW0uZXhwYW5kO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlU3ViSXRlbShpdGVtOiBTaWRlYmFyTWVudUl0ZW0sIHNpYmxpbmdzOiBTaWRlYmFyTWVudUl0ZW1bXSk6IHZvaWQge1xyXG4gICAgc2libGluZ3NcclxuICAgICAgLmZpbHRlcigoeyB1cmwgfSkgPT4gdXJsICE9PSBpdGVtLnVybClcclxuICAgICAgLm1hcCgoZmlsdGVyZWQpID0+IChmaWx0ZXJlZC5leHBhbmQgPSBmYWxzZSkpO1xyXG5cclxuICAgIGlmIChpdGVtLnVybCAhPT0gdGhpcy5yb3V0ZXIudXJsKSB7XHJcbiAgICAgIGl0ZW0uZXhwYW5kID0gIWl0ZW0uZXhwYW5kO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VNZW51R3JvdXAoaXRlbTogU2lkZWJhck1lbnVJdGVtKTogdm9pZCB7XHJcbiAgICBpdGVtLmV4cGFuZCA9IGZhbHNlO1xyXG4gICAgaXRlbS5zdWJJdGVtcz8ubWFwKChzdWJJdGVtKSA9PiAoc3ViSXRlbS5leHBhbmQgPSBmYWxzZSkpO1xyXG4gIH1cclxuXHJcbiAgbWF0Y2hBY3RpdmVJdGVtKHVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBtYXRjaGVkTWVudUl0ZW1Gcm9tUm91dGU6IFNpZGViYXJNZW51SXRlbSA9IG1hdGNoTWVudVRvVXJsKFxyXG4gICAgICB1cmwsXHJcbiAgICAgIHRoaXMubWVudUl0ZW1zLFxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAobWF0Y2hlZE1lbnVJdGVtRnJvbVJvdXRlPy5zdWJJdGVtcz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBtYXRjaGVkU3VibWVudUl0ZW06IFNpZGViYXJNZW51SXRlbSA9IG1hdGNoTWVudVRvVXJsKFxyXG4gICAgICAgIHVybCxcclxuICAgICAgICBtYXRjaGVkTWVudUl0ZW1Gcm9tUm91dGUuc3ViSXRlbXMsXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLm1lbnVJdGVtc1xyXG4gICAgICAgID8uZmluZCgoaXRlbSkgPT4gaXRlbS51cmwgPT09IG1hdGNoZWRNZW51SXRlbUZyb21Sb3V0ZS51cmwpXHJcbiAgICAgICAgPy5zdWJJdGVtcy5tYXAoKHN1Ykl0ZW0pID0+IHtcclxuICAgICAgICAgIHN1Ykl0ZW0uZXhwYW5kID0gc3ViSXRlbT8udXJsID09PSBtYXRjaGVkU3VibWVudUl0ZW0/LnVybDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHVsPlxyXG4gIDxsaVxyXG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWVudUl0ZW1zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgIGNsYXNzPVwibWItMiBob3Zlcjp0ZXh0LWJyYW5kLWRhcmsgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgW25nQ2xhc3NdPVwiaXRlbS5leHBhbmQgPyAnZm9udC1ib2xkIHRleHQtYnJhbmQtZGFyaycgOiAndGV4dC1ncmF5LTUwMCdcIlxyXG4gID5cclxuICAgIDxhIChjbGljayk9XCJ0b2dnbGVJdGVtKGl0ZW0sIGkpXCIgW2lkXT1cImlcIlxyXG4gICAgICBbcm91dGVyTGlua109XCJpdGVtLnVybCA/IFtpdGVtLnVybF0gOiBbXVwiXHJcbiAgICAgIGNsYXNzPVwicC00IGZsZXggaXRlbXMtY2VudGVyIGgtbWF4XCJcclxuICAgICAgW25nQ2xhc3NdPVwiaXRlbS5leHBhbmQgPyAndGV4dC1icmFuZC1kYXJrJyA6ICd0ZXh0LWdyYXktNTAwJ1wiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCJpdGVtLmljb25SZXNvdXJjZT8ubmFtZSB8fCAnJ1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlubGluZS1ibG9jayBhbGlnbi1taWRkbGUgbXItNCB0ZXh0LWluaGVyaXQgaG92ZXI6dGV4dC1pbmhlcml0XCI+XHJcbiAgICAgICAge3sgaXRlbS5pY29uIH19XHJcbiAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiIW1pbmltaXplU2lkZWJhclwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5saW5lLWJsb2NrIGFsaWduLW1pZGRsZVwiPlxyXG4gICAgICAgIHt7IGl0ZW0udGl0bGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5iYWRnZXRcIiBjbGFzcz1cImJhZGdldCB0ZXh0LXdoaXRlXCI+XHJcbiAgICAgICAge3sgaXRlbS5iYWRnZXQgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2E+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5leHBhbmQgJiYgaXRlbS5zdWJJdGVtcz8ubGVuZ3RoID4gMFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlyc3RDaGlsZHJlbjsgY29udGV4dDogaXRlbVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9saT5cclxuPC91bD5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZmlyc3RDaGlsZHJlbiBsZXQtc3ViSXRlbXM9XCJzdWJJdGVtc1wiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbWluaW1pemVTaWRlYmFyXCI+XHJcbiAgICA8dWwgY2xhc3M9XCJtbC0xMlwiPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc3ViSXRlbXNcIiBbbmdDbGFzc109XCJpdGVtLmV4cGFuZCA/ICdmb250LWJvbGQgdGV4dC1icmFuZC1kYXJrJyA6ICd0ZXh0LWdyYXktNTAwJ1wiPlxyXG4gICAgICAgIDxhICNybGE9XCJyb3V0ZXJMaW5rQWN0aXZlXCJcclxuICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU3ViSXRlbShpdGVtLCBzdWJJdGVtcylcIlxyXG4gICAgICAgICAgIGNsYXNzPVwidGV4dC1zbSBmb250LWxpZ2h0IHAtNCBoLTEyIHJvdW5kZWQtbWQgaG92ZXI6dGV4dC1icmFuZC1kYXJrIGZsZXggaXRlbXMtY2VudGVyXCJcclxuICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLmV4cGFuZCAmJiBybGEuaXNBY3RpdmUgPyAndGV4dC1icmFuZC1kYXJrJyA6ICd0ZXh0LWdyYXktNTAwJ1wiXHJcbiAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS51cmwgPyBbaXRlbS51cmxdIDogW11cIlxyXG4gICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlXT1cIiBpdGVtLnVybCA/ICdiZy1icmFuZC0zMDAgdGV4dC1icmFuZC1kYXJrJyA6ICcnXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiaXRlbS50aXRsZVwiPlxyXG4gICAgICAgICAgICB7eyBpdGVtLnRpdGxlIHwgdHJ1bmNhdGU6IHRydW5jYXRlVG8gfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLmJhZGdldFwiIGNsYXNzPVwiYmFkZ2V0IHRleHQtd2hpdGVcIj5cclxuICAgICAgICAgICAge3sgaXRlbS5iYWRnZXQgfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0uc3ViSXRlbXM/Lmxlbmd0aCA+IDBcIiBjbGFzcz1cImZsZXgtMSB0ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFsaWduLW1pZGRsZSBob3Zlcjp0ZXh0LWluaGVyaXRcIiBbbmdDbGFzc109XCJ7ICdyb3RhdGUtOTAnOiBpdGVtLmV4cGFuZCB9XCI+XHJcbiAgICAgICAgICAgICAga2V5Ym9hcmRfYXJyb3dfcmlnaHRcclxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5leHBhbmQgJiYgaXRlbS5zdWJJdGVtcz8ubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlY29uZENoaWxkcmVuOyBjb250ZXh0OiBpdGVtXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNzZWNvbmRDaGlsZHJlbiBsZXQtc3ViSXRlbXM9XCJzdWJJdGVtc1wiPlxyXG4gIDx1bCBjbGFzcz1cIm1sLTNcIj5cclxuICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzdWJJdGVtc1wiPlxyXG4gICAgICA8YSAjcmxhPVwicm91dGVyTGlua0FjdGl2ZVwiXHJcbiAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uZXhwYW5kICYmIHJsYS5pc0FjdGl2ZSA/ICd0ZXh0LWJyYW5kLWRhcmsnIDogJ3RleHQtZ3JheS01MDAnXCJcclxuICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS51cmwgPyBbaXRlbS51cmxdIDogW11cIlxyXG4gICAgICAgICBbcm91dGVyTGlua0FjdGl2ZV09XCIgaXRlbS51cmwgPyAnYmctYnJhbmQtMzAwIHRleHQtYnJhbmQtZGFyaycgOiAnJ1wiXHJcbiAgICAgICAgIGNsYXNzPVwidGV4dC14cyBmb250LWxpZ2h0IGJsb2NrIHAtNCBoLTEyIHJvdW5kZWQtbWQgaG92ZXI6dGV4dC1icmFuZC1kYXJrXCI+XHJcbiAgICAgICAgPHNwYW4+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5iYWRnZXRcIiBjbGFzcz1cImJhZGdldCB0ZXh0LXdoaXRlXCI+XHJcbiAgICAgICAgICB7eyBpdGVtLmJhZGdldCB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2E+XHJcbiAgICA8L2xpPlxyXG4gIDwvdWw+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -7018,11 +7018,11 @@ class EcabsMenuItemsComponent {
7018
7018
  }
7019
7019
  }
7020
7020
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsMenuItemsComponent, deps: [{ token: UnsubscribeService }, { token: i5.MatIconRegistry }, { token: i3$5.DomSanitizer }, { token: i4$4.Router }], target: i0.ɵɵFactoryTarget.Component });
7021
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsMenuItemsComponent, selector: "ecabs-menu-items", inputs: { menuItems: "menuItems", minimizeSidebar: "minimizeSidebar", truncateTo: "truncateTo" }, outputs: { toggleSidebar: "toggleSidebar" }, providers: [UnsubscribeService], usesOnChanges: true, ngImport: i0, template: "<ul>\r\n <li\r\n *ngFor=\"let item of menuItems; let i = index\"\r\n class=\"mb-2 hover:text-brand-dark cursor-pointer\"\r\n [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <a (click)=\"toggleItem(item, i)\" [id]=\"i\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n class=\"p-4 flex items-center h-max\"\r\n [ngClass]=\"item.expand ? 'text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <mat-icon [svgIcon]=\"item.iconResource?.name || ''\"\r\n class=\"inline-block align-middle mr-4 text-inherit hover:text-inherit\">\r\n {{ item.icon }}\r\n </mat-icon>\r\n <span *ngIf=\"!minimizeSidebar\"\r\n class=\"inline-block align-middle\">\r\n {{ item.title }}\r\n </span>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"firstChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n</ul>\r\n\r\n<ng-template #firstChildren let-subItems=\"subItems\">\r\n <ng-container *ngIf=\"!minimizeSidebar\">\r\n <ul class=\"ml-12\">\r\n <li *ngFor=\"let item of subItems\" [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\">\r\n <a #rla=\"routerLinkActive\"\r\n (click)=\"toggleSubItem(item, subItems)\"\r\n class=\"text-sm font-light p-4 h-12 rounded-md hover:text-brand-dark flex items-center\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n >\r\n <span [title]=\"item.title\">\r\n {{ item.title | truncate: truncateTo }}\r\n </span>\r\n <div *ngIf=\"item.subItems?.length > 0\" class=\"flex-1 text-right\">\r\n <mat-icon class=\"align-middle hover:text-inherit\" [ngClass]=\"{ 'rotate-90': item.expand }\">\r\n keyboard_arrow_right\r\n </mat-icon>\r\n </div>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"secondChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #secondChildren let-subItems=\"subItems\">\r\n <ul class=\"ml-3\">\r\n <li *ngFor=\"let item of subItems\">\r\n <a #rla=\"routerLinkActive\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n class=\"text-xs font-light block p-4 h-12 rounded-md hover:text-brand-dark\">\r\n <span>{{ item.title }}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: [":host::ng-deep li.text-brand-dark svg path{fill:currentColor}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4$4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4$4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: EcabsTruncatePipe, name: "truncate" }] });
7021
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsMenuItemsComponent, selector: "ecabs-menu-items", inputs: { menuItems: "menuItems", minimizeSidebar: "minimizeSidebar", truncateTo: "truncateTo" }, outputs: { toggleSidebar: "toggleSidebar" }, providers: [UnsubscribeService], usesOnChanges: true, ngImport: i0, template: "<ul>\r\n <li\r\n *ngFor=\"let item of menuItems; let i = index\"\r\n class=\"mb-2 hover:text-brand-dark cursor-pointer\"\r\n [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <a (click)=\"toggleItem(item, i)\" [id]=\"i\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n class=\"p-4 flex items-center h-max\"\r\n [ngClass]=\"item.expand ? 'text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <mat-icon [svgIcon]=\"item.iconResource?.name || ''\"\r\n class=\"inline-block align-middle mr-4 text-inherit hover:text-inherit\">\r\n {{ item.icon }}\r\n </mat-icon>\r\n <span *ngIf=\"!minimizeSidebar\"\r\n class=\"inline-block align-middle\">\r\n {{ item.title }}\r\n </span>\r\n <div *ngIf=\"item.badget\" class=\"badget text-white\">\r\n {{ item.badget }}\r\n </div>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"firstChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n</ul>\r\n\r\n<ng-template #firstChildren let-subItems=\"subItems\">\r\n <ng-container *ngIf=\"!minimizeSidebar\">\r\n <ul class=\"ml-12\">\r\n <li *ngFor=\"let item of subItems\" [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\">\r\n <a #rla=\"routerLinkActive\"\r\n (click)=\"toggleSubItem(item, subItems)\"\r\n class=\"text-sm font-light p-4 h-12 rounded-md hover:text-brand-dark flex items-center\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n >\r\n <span [title]=\"item.title\">\r\n {{ item.title | truncate: truncateTo }}\r\n </span>\r\n <div *ngIf=\"item.badget\" class=\"badget text-white\">\r\n {{ item.badget }}\r\n </div>\r\n <div *ngIf=\"item.subItems?.length > 0\" class=\"flex-1 text-right\">\r\n <mat-icon class=\"align-middle hover:text-inherit\" [ngClass]=\"{ 'rotate-90': item.expand }\">\r\n keyboard_arrow_right\r\n </mat-icon>\r\n </div>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"secondChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #secondChildren let-subItems=\"subItems\">\r\n <ul class=\"ml-3\">\r\n <li *ngFor=\"let item of subItems\">\r\n <a #rla=\"routerLinkActive\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n class=\"text-xs font-light block p-4 h-12 rounded-md hover:text-brand-dark\">\r\n <span>{{ item.title }}</span>\r\n <div *ngIf=\"item.badget\" class=\"badget text-white\">\r\n {{ item.badget }}\r\n </div>\r\n </a>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: [":host::ng-deep li.text-brand-dark svg path{fill:currentColor}:host::ng-deep .badget{display:inline-flex;justify-content:center;align-items:center;width:41px;height:24px;border-radius:4px;font-size:12px;margin-left:12px;background-color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4$4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4$4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: EcabsTruncatePipe, name: "truncate" }] });
7022
7022
  }
7023
7023
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsMenuItemsComponent, decorators: [{
7024
7024
  type: Component,
7025
- args: [{ selector: 'ecabs-menu-items', providers: [UnsubscribeService], template: "<ul>\r\n <li\r\n *ngFor=\"let item of menuItems; let i = index\"\r\n class=\"mb-2 hover:text-brand-dark cursor-pointer\"\r\n [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <a (click)=\"toggleItem(item, i)\" [id]=\"i\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n class=\"p-4 flex items-center h-max\"\r\n [ngClass]=\"item.expand ? 'text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <mat-icon [svgIcon]=\"item.iconResource?.name || ''\"\r\n class=\"inline-block align-middle mr-4 text-inherit hover:text-inherit\">\r\n {{ item.icon }}\r\n </mat-icon>\r\n <span *ngIf=\"!minimizeSidebar\"\r\n class=\"inline-block align-middle\">\r\n {{ item.title }}\r\n </span>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"firstChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n</ul>\r\n\r\n<ng-template #firstChildren let-subItems=\"subItems\">\r\n <ng-container *ngIf=\"!minimizeSidebar\">\r\n <ul class=\"ml-12\">\r\n <li *ngFor=\"let item of subItems\" [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\">\r\n <a #rla=\"routerLinkActive\"\r\n (click)=\"toggleSubItem(item, subItems)\"\r\n class=\"text-sm font-light p-4 h-12 rounded-md hover:text-brand-dark flex items-center\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n >\r\n <span [title]=\"item.title\">\r\n {{ item.title | truncate: truncateTo }}\r\n </span>\r\n <div *ngIf=\"item.subItems?.length > 0\" class=\"flex-1 text-right\">\r\n <mat-icon class=\"align-middle hover:text-inherit\" [ngClass]=\"{ 'rotate-90': item.expand }\">\r\n keyboard_arrow_right\r\n </mat-icon>\r\n </div>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"secondChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #secondChildren let-subItems=\"subItems\">\r\n <ul class=\"ml-3\">\r\n <li *ngFor=\"let item of subItems\">\r\n <a #rla=\"routerLinkActive\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n class=\"text-xs font-light block p-4 h-12 rounded-md hover:text-brand-dark\">\r\n <span>{{ item.title }}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: [":host::ng-deep li.text-brand-dark svg path{fill:currentColor}\n"] }]
7025
+ args: [{ selector: 'ecabs-menu-items', providers: [UnsubscribeService], template: "<ul>\r\n <li\r\n *ngFor=\"let item of menuItems; let i = index\"\r\n class=\"mb-2 hover:text-brand-dark cursor-pointer\"\r\n [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <a (click)=\"toggleItem(item, i)\" [id]=\"i\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n class=\"p-4 flex items-center h-max\"\r\n [ngClass]=\"item.expand ? 'text-brand-dark' : 'text-gray-500'\"\r\n >\r\n <mat-icon [svgIcon]=\"item.iconResource?.name || ''\"\r\n class=\"inline-block align-middle mr-4 text-inherit hover:text-inherit\">\r\n {{ item.icon }}\r\n </mat-icon>\r\n <span *ngIf=\"!minimizeSidebar\"\r\n class=\"inline-block align-middle\">\r\n {{ item.title }}\r\n </span>\r\n <div *ngIf=\"item.badget\" class=\"badget text-white\">\r\n {{ item.badget }}\r\n </div>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"firstChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n</ul>\r\n\r\n<ng-template #firstChildren let-subItems=\"subItems\">\r\n <ng-container *ngIf=\"!minimizeSidebar\">\r\n <ul class=\"ml-12\">\r\n <li *ngFor=\"let item of subItems\" [ngClass]=\"item.expand ? 'font-bold text-brand-dark' : 'text-gray-500'\">\r\n <a #rla=\"routerLinkActive\"\r\n (click)=\"toggleSubItem(item, subItems)\"\r\n class=\"text-sm font-light p-4 h-12 rounded-md hover:text-brand-dark flex items-center\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n >\r\n <span [title]=\"item.title\">\r\n {{ item.title | truncate: truncateTo }}\r\n </span>\r\n <div *ngIf=\"item.badget\" class=\"badget text-white\">\r\n {{ item.badget }}\r\n </div>\r\n <div *ngIf=\"item.subItems?.length > 0\" class=\"flex-1 text-right\">\r\n <mat-icon class=\"align-middle hover:text-inherit\" [ngClass]=\"{ 'rotate-90': item.expand }\">\r\n keyboard_arrow_right\r\n </mat-icon>\r\n </div>\r\n </a>\r\n <ng-container *ngIf=\"item.expand && item.subItems?.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"secondChildren; context: item\"></ng-container>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #secondChildren let-subItems=\"subItems\">\r\n <ul class=\"ml-3\">\r\n <li *ngFor=\"let item of subItems\">\r\n <a #rla=\"routerLinkActive\"\r\n [ngClass]=\"item.expand && rla.isActive ? 'text-brand-dark' : 'text-gray-500'\"\r\n [routerLink]=\"item.url ? [item.url] : []\"\r\n [routerLinkActive]=\" item.url ? 'bg-brand-300 text-brand-dark' : ''\"\r\n class=\"text-xs font-light block p-4 h-12 rounded-md hover:text-brand-dark\">\r\n <span>{{ item.title }}</span>\r\n <div *ngIf=\"item.badget\" class=\"badget text-white\">\r\n {{ item.badget }}\r\n </div>\r\n </a>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: [":host::ng-deep li.text-brand-dark svg path{fill:currentColor}:host::ng-deep .badget{display:inline-flex;justify-content:center;align-items:center;width:41px;height:24px;border-radius:4px;font-size:12px;margin-left:12px;background-color:var(--color-error)}\n"] }]
7026
7026
  }], ctorParameters: function () { return [{ type: UnsubscribeService }, { type: i5.MatIconRegistry }, { type: i3$5.DomSanitizer }, { type: i4$4.Router }]; }, propDecorators: { menuItems: [{
7027
7027
  type: Input
7028
7028
  }], minimizeSidebar: [{