@coreui/angular 4.5.13 → 4.5.14

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.
@@ -8,12 +8,11 @@ import { SidebarNavHelper } from './sidebar-nav.service';
8
8
  import { SidebarNavLinkPipe } from './sidebar-nav-link.pipe';
9
9
  import { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';
10
10
  import { SidebarNavIconPipe } from './sidebar-nav-icon.pipe';
11
- import { IconModule } from '@coreui/icons-angular';
11
+ import { IconDirective } from '@coreui/icons-angular';
12
12
  import * as i0 from "@angular/core";
13
13
  import * as i1 from "./sidebar-nav.service";
14
14
  import * as i2 from "@angular/router";
15
15
  import * as i3 from "@angular/common";
16
- import * as i4 from "@coreui/icons-angular";
17
16
  export class SidebarNavLinkContentComponent {
18
17
  constructor(helper) {
19
18
  this.helper = helper;
@@ -90,14 +89,23 @@ export class SidebarNavLinkComponent {
90
89
  this.linkClick.emit();
91
90
  }
92
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: SidebarNavLinkComponent, deps: [{ token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: SidebarNavLinkComponent, isStandalone: true, selector: "c-sidebar-nav-link", inputs: { item: "item" }, outputs: { linkClick: "linkClick" }, providers: [SidebarNavHelper], ngImport: i0, template: "<ng-container [ngSwitch]=\"linkType\">\n <a *ngSwitchCase=\"'disabled'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchCase=\"'external'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [href]=\"href\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n (click)=\"linkClicked()\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchDefault\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [target]=\"item.attributes?.['target']\"\n [queryParams]=\"item.linkProps?.queryParams ?? null\"\n [fragment]=\"item.linkProps?.fragment\"\n [queryParamsHandling]=\"item.linkProps?.queryParamsHandling\"\n [preserveFragment]=\"item.linkProps?.preserveFragment ?? false\"\n [skipLocationChange]=\"item.linkProps?.skipLocationChange ?? false\"\n [replaceUrl]=\"item.linkProps?.replaceUrl ?? false\"\n [state]=\"item.linkProps?.state ?? {}\"\n [routerLink]=\"item.url\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"item.linkProps?.routerLinkActiveOptions ?? { exact: false }\"\n (click)=\"linkClicked()\"\n >\n<!-- [class.active]=\"linkActive\"-->\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n</ng-container>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [name]=\"item.iconComponent?.name\"\n [customClasses]=\"item | cSidebarNavIcon\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "component", type: SidebarNavLinkContentComponent, selector: "c-sidebar-nav-link-content", inputs: ["item"] }, { kind: "pipe", type: SidebarNavLinkPipe, name: "cSidebarNavLink" }, { kind: "pipe", type: SidebarNavBadgePipe, name: "cSidebarNavBadge" }, { kind: "pipe", type: SidebarNavIconPipe, name: "cSidebarNavIcon" }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i4.IconDirective, selector: "svg[cIcon]", inputs: ["cIcon", "size", "title", "customClasses", "width", "height", "name", "viewBox", "xmlns", "pointer-events", "role"], exportAs: ["cIcon"] }] }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: SidebarNavLinkComponent, isStandalone: true, selector: "c-sidebar-nav-link", inputs: { item: "item" }, outputs: { linkClick: "linkClick" }, providers: [SidebarNavHelper], ngImport: i0, template: "<ng-container [ngSwitch]=\"linkType\">\n <a *ngSwitchCase=\"'disabled'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchCase=\"'external'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [href]=\"href\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n (click)=\"linkClicked()\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchDefault\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [target]=\"item.attributes?.['target']\"\n [queryParams]=\"item.linkProps?.queryParams ?? null\"\n [fragment]=\"item.linkProps?.fragment\"\n [queryParamsHandling]=\"item.linkProps?.queryParamsHandling\"\n [preserveFragment]=\"item.linkProps?.preserveFragment ?? false\"\n [skipLocationChange]=\"item.linkProps?.skipLocationChange ?? false\"\n [replaceUrl]=\"item.linkProps?.replaceUrl ?? false\"\n [state]=\"item.linkProps?.state ?? {}\"\n [routerLink]=\"item.url\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"item.linkProps?.routerLinkActiveOptions ?? { exact: false }\"\n (click)=\"linkClicked()\"\n >\n<!-- [class.active]=\"linkActive\"-->\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n</ng-container>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [name]=\"item.iconComponent?.name\"\n [customClasses]=\"item | cSidebarNavIcon\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: IconDirective, selector: "svg[cIcon]", inputs: ["cIcon", "size", "title", "customClasses", "width", "height", "name", "viewBox", "xmlns", "pointer-events", "role"], exportAs: ["cIcon"] }, { kind: "component", type: SidebarNavLinkContentComponent, selector: "c-sidebar-nav-link-content", inputs: ["item"] }, { kind: "pipe", type: SidebarNavLinkPipe, name: "cSidebarNavLink" }, { kind: "pipe", type: SidebarNavBadgePipe, name: "cSidebarNavBadge" }, { kind: "pipe", type: SidebarNavIconPipe, name: "cSidebarNavIcon" }] }); }
94
93
  }
95
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: SidebarNavLinkComponent, decorators: [{
96
95
  type: Component,
97
- args: [{ selector: 'c-sidebar-nav-link', providers: [SidebarNavHelper], standalone: true, imports: [CommonModule, RouterModule, HtmlAttributesDirective, SidebarNavLinkContentComponent, SidebarNavLinkPipe, SidebarNavBadgePipe, SidebarNavIconPipe, IconModule], template: "<ng-container [ngSwitch]=\"linkType\">\n <a *ngSwitchCase=\"'disabled'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchCase=\"'external'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [href]=\"href\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n (click)=\"linkClicked()\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchDefault\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [target]=\"item.attributes?.['target']\"\n [queryParams]=\"item.linkProps?.queryParams ?? null\"\n [fragment]=\"item.linkProps?.fragment\"\n [queryParamsHandling]=\"item.linkProps?.queryParamsHandling\"\n [preserveFragment]=\"item.linkProps?.preserveFragment ?? false\"\n [skipLocationChange]=\"item.linkProps?.skipLocationChange ?? false\"\n [replaceUrl]=\"item.linkProps?.replaceUrl ?? false\"\n [state]=\"item.linkProps?.state ?? {}\"\n [routerLink]=\"item.url\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"item.linkProps?.routerLinkActiveOptions ?? { exact: false }\"\n (click)=\"linkClicked()\"\n >\n<!-- [class.active]=\"linkActive\"-->\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n</ng-container>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [name]=\"item.iconComponent?.name\"\n [customClasses]=\"item | cSidebarNavIcon\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n" }]
96
+ args: [{ selector: 'c-sidebar-nav-link', providers: [SidebarNavHelper], standalone: true, imports: [
97
+ CommonModule,
98
+ RouterModule,
99
+ HtmlAttributesDirective,
100
+ IconDirective,
101
+ SidebarNavLinkContentComponent,
102
+ SidebarNavLinkPipe,
103
+ SidebarNavBadgePipe,
104
+ SidebarNavIconPipe
105
+ ], template: "<ng-container [ngSwitch]=\"linkType\">\n <a *ngSwitchCase=\"'disabled'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchCase=\"'external'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [href]=\"href\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n (click)=\"linkClicked()\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchDefault\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [target]=\"item.attributes?.['target']\"\n [queryParams]=\"item.linkProps?.queryParams ?? null\"\n [fragment]=\"item.linkProps?.fragment\"\n [queryParamsHandling]=\"item.linkProps?.queryParamsHandling\"\n [preserveFragment]=\"item.linkProps?.preserveFragment ?? false\"\n [skipLocationChange]=\"item.linkProps?.skipLocationChange ?? false\"\n [replaceUrl]=\"item.linkProps?.replaceUrl ?? false\"\n [state]=\"item.linkProps?.state ?? {}\"\n [routerLink]=\"item.url\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"item.linkProps?.routerLinkActiveOptions ?? { exact: false }\"\n (click)=\"linkClicked()\"\n >\n<!-- [class.active]=\"linkActive\"-->\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n</ng-container>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [name]=\"item.iconComponent?.name\"\n [customClasses]=\"item | cSidebarNavIcon\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n" }]
98
106
  }], ctorParameters: function () { return [{ type: i2.Router }]; }, propDecorators: { item: [{
99
107
  type: Input
100
108
  }], linkClick: [{
101
109
  type: Output
102
110
  }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1uYXYtbGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NpZGViYXIvc2lkZWJhci1uYXYvc2lkZWJhci1uYXYtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NpZGViYXIvc2lkZWJhci1uYXYvc2lkZWJhci1uYXYtbGluay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLHFEQUFxRDtBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFBOzs7Ozs7QUFhbEQsTUFBTSxPQUFPLDhCQUE4QjtJQUd6QyxZQUNTLE1BQXdCO1FBQXhCLFdBQU0sR0FBTixNQUFNLENBQWtCO0lBQzdCLENBQUM7OEdBTE0sOEJBQThCO2tHQUE5Qiw4QkFBOEIsbUdBSjlCLENBQUMsZ0JBQWdCLENBQUMsMEJBTG5COzs7O0dBSVQsNERBR1MsSUFBSTs7MkZBRUgsOEJBQThCO2tCQVgxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELFNBQVMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUM3QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDO2lCQUNoQjt1R0FFVSxJQUFJO3NCQUFaLEtBQUs7O0FBY1IsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQyxJQUNJLElBQUksQ0FBQyxJQUFjO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBaUJELFlBQ1MsTUFBYztJQUNyQiwrQkFBK0I7SUFDL0IsbUNBQW1DO0lBQ25DLHlDQUF5Qzs7UUFIbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTVCdkIseUNBQXlDO1FBQy9CLFVBQUssR0FBYSxFQUFFLENBQUM7UUFXckIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFxQnZDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDL0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2IsT0FBTyxLQUFLLFlBQVksYUFBYSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUMwQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRO1FBQ04sYUFBYTtRQUNiLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEksSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3RCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0RixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sY0FBYztRQUNuQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNqRixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUM7SUFDakUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7OEdBMUVVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGdJQUp2QixDQUFDLGdCQUFnQixDQUFDLDBCQ3JDL0IsbzhFQXFEQSwyQ0RkWSxZQUFZLG1wQkFBRSxZQUFZLHllQUFFLHVCQUF1Qix3R0FibEQsOEJBQThCLG9GQWFzRCxrQkFBa0IsbURBQUUsbUJBQW1CLG9EQUFFLGtCQUFrQix1REFBRSxVQUFVOzsyRkFFM0osdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNFLG9CQUFvQixhQUVuQixDQUFDLGdCQUFnQixDQUFDLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsOEJBQThCLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxDQUFDOzZGQVFuSyxJQUFJO3NCQURQLEtBQUs7Z0JBU0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBpbXBvcnQge1NpZGViYXJTZXJ2aWNlfSBmcm9tICcuLi9zaWRlYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSHRtbEF0dHJpYnV0ZXNEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkhlbHBlciB9IGZyb20gJy4vc2lkZWJhci1uYXYuc2VydmljZSc7XG5pbXBvcnQgeyBJTmF2RGF0YSB9IGZyb20gJy4vc2lkZWJhci1uYXYnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkxpbmtQaXBlIH0gZnJvbSAnLi9zaWRlYmFyLW5hdi1saW5rLnBpcGUnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkJhZGdlUGlwZSB9IGZyb20gJy4vc2lkZWJhci1uYXYtYmFkZ2UucGlwZSc7XG5pbXBvcnQgeyBTaWRlYmFyTmF2SWNvblBpcGUgfSBmcm9tICcuL3NpZGViYXItbmF2LWljb24ucGlwZSc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGNvcmV1aS9pY29ucy1hbmd1bGFyJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXNpZGViYXItbmF2LWxpbmstY29udGVudCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRydWVcIj5cbiAgICAgIDxuZy1jb250YWluZXI+e3tpdGVtPy5uYW1lID8/ICcnfX08L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbU2lkZWJhck5hdkhlbHBlcl0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmXVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyTmF2TGlua0NvbnRlbnRDb21wb25lbnQge1xuICBASW5wdXQoKSBpdGVtPzogSU5hdkRhdGE7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGhlbHBlcjogU2lkZWJhck5hdkhlbHBlclxuICApIHsgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXNpZGViYXItbmF2LWxpbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci1uYXYtbGluay5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1NpZGViYXJOYXZIZWxwZXJdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlLCBTaWRlYmFyTmF2TGlua0NvbnRlbnRDb21wb25lbnQsIFNpZGViYXJOYXZMaW5rUGlwZSwgU2lkZWJhck5hdkJhZGdlUGlwZSwgU2lkZWJhck5hdkljb25QaXBlLCBJY29uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyTmF2TGlua0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBwcm90ZWN0ZWQgX2l0ZW06IElOYXZEYXRhID0ge307XG5cbiAgQElucHV0KClcbiAgc2V0IGl0ZW0oaXRlbTogSU5hdkRhdGEpIHtcbiAgICB0aGlzLl9pdGVtID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpdGVtKSk7XG4gIH1cblxuICBnZXQgaXRlbSgpOiBJTmF2RGF0YSB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW07XG4gIH1cblxuICBAT3V0cHV0KCkgbGlua0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcHVibGljIGxpbmtUeXBlOiBzdHJpbmc7XG4gIC8vIEB0cy1pZ25vcmVcbiAgcHVibGljIGhyZWY6IHN0cmluZztcbiAgLy8gQHRzLWlnbm9yZVxuICBwdWJsaWMgbGlua0FjdGl2ZTogYm9vbGVhbjtcbiAgLy8gQHRzLWlnbm9yZVxuICBwcml2YXRlIHVybDogc3RyaW5nO1xuXG4gIHByaXZhdGUgbmF2aWdhdGlvbkVuZE9ic2VydmFibGU6IE9ic2VydmFibGU8TmF2aWdhdGlvbkVuZD47XG4gIC8vIEB0cy1pZ25vcmVcbiAgcHJpdmF0ZSBuYXZTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXJcbiAgICAvLyBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgLy8gcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICAvLyBwcml2YXRlIHNpZGViYXJTZXJ2aWNlOiBTaWRlYmFyU2VydmljZVxuICApIHtcbiAgICB0aGlzLm5hdmlnYXRpb25FbmRPYnNlcnZhYmxlID0gcm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKGV2ZW50ID0+IHtcbiAgICAgICAgcmV0dXJuIGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZDtcbiAgICAgIH0pXG4gICAgKSBhcyBPYnNlcnZhYmxlPE5hdmlnYXRpb25FbmQ+O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMudXJsID0gdHlwZW9mIHRoaXMuaXRlbS51cmwgPT09ICdzdHJpbmcnID8gdGhpcy5pdGVtLnVybCA6IHRoaXMucm91dGVyLnNlcmlhbGl6ZVVybCh0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKHRoaXMuaXRlbS51cmwpKTtcbiAgICB0aGlzLmxpbmtUeXBlID0gdGhpcy5nZXRMaW5rVHlwZSgpO1xuICAgIHRoaXMuaHJlZiA9IHRoaXMuaXNEaXNhYmxlZCgpID8gJycgOiAodGhpcy5pdGVtLmhyZWYgfHwgdGhpcy51cmwpO1xuICAgIHRoaXMubGlua0FjdGl2ZSA9IHRoaXMucm91dGVyLnVybC5zcGxpdCgvWz8jKDtdLylbMF0gPT09IHRoaXMuaHJlZi5zcGxpdCgvWz8jKDtdLylbMF07XG4gICAgdGhpcy5uYXZTdWJzY3JpcHRpb24gPSB0aGlzLm5hdmlnYXRpb25FbmRPYnNlcnZhYmxlLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBjb25zdCBpdGVtVXJsQXJyYXkgPSB0aGlzLmhyZWYuc3BsaXQoL1s/Iyg7XS8pWzBdLnNwbGl0KCcvJyk7XG4gICAgICBjb25zdCB1cmxBcnJheSA9IGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzLnNwbGl0KC9bPyMoO10vKVswXS5zcGxpdCgnLycpO1xuICAgICAgdGhpcy5saW5rQWN0aXZlID0gaXRlbVVybEFycmF5LmV2ZXJ5KCh2YWx1ZSwgaW5kZXgpID0+IHZhbHVlID09PSB1cmxBcnJheVtpbmRleF0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uYXZTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlua1R5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc0Rpc2FibGVkKCkgPyAnZGlzYWJsZWQnIDogdGhpcy5pc0V4dGVybmFsTGluaygpID8gJ2V4dGVybmFsJyA6ICdsaW5rJztcbiAgfVxuXG4gIHB1YmxpYyBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLml0ZW0/LmF0dHJpYnV0ZXM/LlsnZGlzYWJsZWQnXTtcbiAgfVxuXG4gIHB1YmxpYyBpc0V4dGVybmFsTGluaygpOiBib29sZWFuIHtcbiAgICBjb25zdCBsaW5rUGF0aCA9IEFycmF5LmlzQXJyYXkodGhpcy5pdGVtLnVybCkgPyB0aGlzLml0ZW0udXJsWzBdIDogdGhpcy5pdGVtLnVybDtcbiAgICByZXR1cm4gISF0aGlzLml0ZW0uaHJlZiB8fCBsaW5rUGF0aC5zdWJzdHJpbmcoMCwgNCkgPT09ICdodHRwJztcbiAgfVxuXG4gIGxpbmtDbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMubGlua0NsaWNrLmVtaXQoKTtcbiAgfVxuXG4gIC8vIHB1YmxpYyBoaWRlTW9iaWxlKCkge1xuICAvLyAgIC8vIHRvZG86IHByb3BlciBzY3JvbGxJbnRvVmlldygpIGFmdGVyIE5hdmlnYXRpb25FbmRcbiAgLy8gICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgLy8gICAgIGNvbnNvbGUubG9nKCdzY3JvbGwnKVxuICAvLyAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KCk7XG4gIC8vICAgfSwgMTAwMClcbiAgLy8gICB0aGlzLnNpZGViYXJTZXJ2aWNlLnRvZ2dsZSh7b3BlbjogZmFsc2UsIGJyZWFrcG9pbnQ6ICcnfSk7XG4gIC8vIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImxpbmtUeXBlXCI+XG4gIDxhICpuZ1N3aXRjaENhc2U9XCInZGlzYWJsZWQnXCJcbiAgICAgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2TGlua1wiXG4gICAgIFtjSHRtbEF0dHJdPVwiaXRlbS5hdHRyaWJ1dGVzID8/IHt9XCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uVGVtcGxhdGU7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgPGMtc2lkZWJhci1uYXYtbGluay1jb250ZW50IFtpdGVtXT1cIml0ZW1cIj48L2Mtc2lkZWJhci1uYXYtbGluay1jb250ZW50PlxuICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5iYWRnZVwiIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkJhZGdlXCI+e3sgaXRlbS5iYWRnZT8udGV4dCB9fTwvc3Bhbj5cbiAgPC9hPlxuICA8YSAqbmdTd2l0Y2hDYXNlPVwiJ2V4dGVybmFsJ1wiXG4gICAgIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkxpbmtcIlxuICAgICBbaHJlZl09XCJocmVmXCJcbiAgICAgW2NIdG1sQXR0cl09XCJpdGVtLmF0dHJpYnV0ZXMgPz8ge31cIlxuICAgICAoY2xpY2spPVwibGlua0NsaWNrZWQoKVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvblRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDxjLXNpZGViYXItbmF2LWxpbmstY29udGVudCBbaXRlbV09XCJpdGVtXCI+PC9jLXNpZGViYXItbmF2LWxpbmstY29udGVudD5cbiAgICA8c3BhbiAqbmdJZj1cIml0ZW0uYmFkZ2VcIiBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZCYWRnZVwiPnt7IGl0ZW0uYmFkZ2U/LnRleHQgfX08L3NwYW4+XG4gIDwvYT5cbiAgPGEgKm5nU3dpdGNoRGVmYXVsdFxuICAgICBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZMaW5rXCJcbiAgICAgW2NIdG1sQXR0cl09XCJpdGVtLmF0dHJpYnV0ZXMgPz8ge31cIlxuICAgICBbdGFyZ2V0XT1cIml0ZW0uYXR0cmlidXRlcz8uWyd0YXJnZXQnXVwiXG4gICAgIFtxdWVyeVBhcmFtc109XCJpdGVtLmxpbmtQcm9wcz8ucXVlcnlQYXJhbXMgPz8gbnVsbFwiXG4gICAgIFtmcmFnbWVudF09XCJpdGVtLmxpbmtQcm9wcz8uZnJhZ21lbnRcIlxuICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJpdGVtLmxpbmtQcm9wcz8ucXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgIFtwcmVzZXJ2ZUZyYWdtZW50XT1cIml0ZW0ubGlua1Byb3BzPy5wcmVzZXJ2ZUZyYWdtZW50ID8/IGZhbHNlXCJcbiAgICAgW3NraXBMb2NhdGlvbkNoYW5nZV09XCJpdGVtLmxpbmtQcm9wcz8uc2tpcExvY2F0aW9uQ2hhbmdlID8/IGZhbHNlXCJcbiAgICAgW3JlcGxhY2VVcmxdPVwiaXRlbS5saW5rUHJvcHM/LnJlcGxhY2VVcmwgPz8gZmFsc2VcIlxuICAgICBbc3RhdGVdPVwiaXRlbS5saW5rUHJvcHM/LnN0YXRlID8/IHt9XCJcbiAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS51cmxcIlxuICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcbiAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIml0ZW0ubGlua1Byb3BzPy5yb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucyA/PyB7IGV4YWN0OiBmYWxzZSB9XCJcbiAgICAgKGNsaWNrKT1cImxpbmtDbGlja2VkKClcIlxuICA+XG48IS0tICAgIFtjbGFzcy5hY3RpdmVdPVwibGlua0FjdGl2ZVwiLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25UZW1wbGF0ZSA7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgPGMtc2lkZWJhci1uYXYtbGluay1jb250ZW50IFtpdGVtXT1cIml0ZW1cIj48L2Mtc2lkZWJhci1uYXYtbGluay1jb250ZW50PlxuICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5iYWRnZVwiIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkJhZGdlXCI+e3sgaXRlbS5iYWRnZT8udGV4dCB9fTwvc3Bhbj5cbiAgPC9hPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjaWNvblRlbXBsYXRlIGxldC1pdGVtPlxuICA8aSAqbmdJZj1cIml0ZW0/Lmljb25cIiBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJY29uXCI+PC9pPlxuICA8bmctdGVtcGxhdGUgW25nSWZdPVwiaXRlbT8uaWNvbkNvbXBvbmVudFwiPlxuICAgIDxzdmdcbiAgICAgIFtjSWNvbl09XCJpdGVtLmljb25Db21wb25lbnQ/LmNvbnRlbnRcIlxuICAgICAgW25hbWVdPVwiaXRlbS5pY29uQ29tcG9uZW50Py5uYW1lXCJcbiAgICAgIFtjdXN0b21DbGFzc2VzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkljb25cIlxuICAgID48L3N2Zz5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPHNwYW4gKm5nSWY9XCIhaXRlbT8uaWNvbiAmJiAhaXRlbT8uaWNvbkNvbXBvbmVudFwiIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkljb25cIj48L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1uYXYtbGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NpZGViYXIvc2lkZWJhci1uYXYvc2lkZWJhci1uYXYtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NpZGViYXIvc2lkZWJhci1uYXYvc2lkZWJhci1uYXYtbGluay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLHFEQUFxRDtBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQWF0RCxNQUFNLE9BQU8sOEJBQThCO0lBR3pDLFlBQ1MsTUFBd0I7UUFBeEIsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7SUFDN0IsQ0FBQzs4R0FMTSw4QkFBOEI7a0dBQTlCLDhCQUE4QixtR0FKOUIsQ0FBQyxnQkFBZ0IsQ0FBQywwQkFMbkI7Ozs7R0FJVCw0REFHUyxJQUFJOzsyRkFFSCw4QkFBOEI7a0JBWDFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFOzs7O0dBSVQ7b0JBQ0QsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUM7aUJBQ2hCO3VHQUVVLElBQUk7c0JBQVosS0FBSzs7QUF1QlIsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQyxJQUNJLElBQUksQ0FBQyxJQUFjO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBaUJELFlBQ1MsTUFBYztJQUNyQiwrQkFBK0I7SUFDL0IsbUNBQW1DO0lBQ25DLHlDQUF5Qzs7UUFIbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTVCdkIseUNBQXlDO1FBQy9CLFVBQUssR0FBYSxFQUFFLENBQUM7UUFXckIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFxQnZDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDL0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2IsT0FBTyxLQUFLLFlBQVksYUFBYSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUMwQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRO1FBQ04sYUFBYTtRQUNiLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEksSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3RCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0RixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sY0FBYztRQUNuQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNqRixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUM7SUFDakUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7OEdBMUVVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGdJQWJ2QixDQUFDLGdCQUFnQixDQUFDLDBCQ3JDL0IsbzhFQXFEQSwyQ0RiSSxZQUFZLG1wQkFDWixZQUFZLHllQUNaLHVCQUF1Qix3R0FDdkIsYUFBYSwwTUFqQkosOEJBQThCLG9GQW1CdkMsa0JBQWtCLG1EQUNsQixtQkFBbUIsb0RBQ25CLGtCQUFrQjs7MkZBR1QsdUJBQXVCO2tCQWhCbkMsU0FBUzsrQkFDRSxvQkFBb0IsYUFFbkIsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUNqQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLHVCQUF1Qjt3QkFDdkIsYUFBYTt3QkFDYiw4QkFBOEI7d0JBQzlCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7cUJBQ25COzZGQVFHLElBQUk7c0JBRFAsS0FBSztnQkFTSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIGltcG9ydCB7U2lkZWJhclNlcnZpY2V9IGZyb20gJy4uL3NpZGViYXIuc2VydmljZSc7XG5pbXBvcnQgeyBIdG1sQXR0cmlidXRlc0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBTaWRlYmFyTmF2SGVscGVyIH0gZnJvbSAnLi9zaWRlYmFyLW5hdi5zZXJ2aWNlJztcbmltcG9ydCB7IElOYXZEYXRhIH0gZnJvbSAnLi9zaWRlYmFyLW5hdic7XG5pbXBvcnQgeyBTaWRlYmFyTmF2TGlua1BpcGUgfSBmcm9tICcuL3NpZGViYXItbmF2LWxpbmsucGlwZSc7XG5pbXBvcnQgeyBTaWRlYmFyTmF2QmFkZ2VQaXBlIH0gZnJvbSAnLi9zaWRlYmFyLW5hdi1iYWRnZS5waXBlJztcbmltcG9ydCB7IFNpZGViYXJOYXZJY29uUGlwZSB9IGZyb20gJy4vc2lkZWJhci1uYXYtaWNvbi5waXBlJztcbmltcG9ydCB7IEljb25EaXJlY3RpdmUgfSBmcm9tICdAY29yZXVpL2ljb25zLWFuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXNpZGViYXItbmF2LWxpbmstY29udGVudCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRydWVcIj5cbiAgICAgIDxuZy1jb250YWluZXI+e3tpdGVtPy5uYW1lID8/ICcnfX08L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbU2lkZWJhck5hdkhlbHBlcl0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmXVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyTmF2TGlua0NvbnRlbnRDb21wb25lbnQge1xuICBASW5wdXQoKSBpdGVtPzogSU5hdkRhdGE7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGhlbHBlcjogU2lkZWJhck5hdkhlbHBlclxuICApIHsgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXNpZGViYXItbmF2LWxpbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci1uYXYtbGluay5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1NpZGViYXJOYXZIZWxwZXJdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBIdG1sQXR0cmlidXRlc0RpcmVjdGl2ZSxcbiAgICBJY29uRGlyZWN0aXZlLFxuICAgIFNpZGViYXJOYXZMaW5rQ29udGVudENvbXBvbmVudCxcbiAgICBTaWRlYmFyTmF2TGlua1BpcGUsXG4gICAgU2lkZWJhck5hdkJhZGdlUGlwZSxcbiAgICBTaWRlYmFyTmF2SWNvblBpcGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyTmF2TGlua0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBwcm90ZWN0ZWQgX2l0ZW06IElOYXZEYXRhID0ge307XG5cbiAgQElucHV0KClcbiAgc2V0IGl0ZW0oaXRlbTogSU5hdkRhdGEpIHtcbiAgICB0aGlzLl9pdGVtID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpdGVtKSk7XG4gIH1cblxuICBnZXQgaXRlbSgpOiBJTmF2RGF0YSB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW07XG4gIH1cblxuICBAT3V0cHV0KCkgbGlua0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcHVibGljIGxpbmtUeXBlOiBzdHJpbmc7XG4gIC8vIEB0cy1pZ25vcmVcbiAgcHVibGljIGhyZWY6IHN0cmluZztcbiAgLy8gQHRzLWlnbm9yZVxuICBwdWJsaWMgbGlua0FjdGl2ZTogYm9vbGVhbjtcbiAgLy8gQHRzLWlnbm9yZVxuICBwcml2YXRlIHVybDogc3RyaW5nO1xuXG4gIHByaXZhdGUgbmF2aWdhdGlvbkVuZE9ic2VydmFibGU6IE9ic2VydmFibGU8TmF2aWdhdGlvbkVuZD47XG4gIC8vIEB0cy1pZ25vcmVcbiAgcHJpdmF0ZSBuYXZTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXJcbiAgICAvLyBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgLy8gcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICAvLyBwcml2YXRlIHNpZGViYXJTZXJ2aWNlOiBTaWRlYmFyU2VydmljZVxuICApIHtcbiAgICB0aGlzLm5hdmlnYXRpb25FbmRPYnNlcnZhYmxlID0gcm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKGV2ZW50ID0+IHtcbiAgICAgICAgcmV0dXJuIGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZDtcbiAgICAgIH0pXG4gICAgKSBhcyBPYnNlcnZhYmxlPE5hdmlnYXRpb25FbmQ+O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMudXJsID0gdHlwZW9mIHRoaXMuaXRlbS51cmwgPT09ICdzdHJpbmcnID8gdGhpcy5pdGVtLnVybCA6IHRoaXMucm91dGVyLnNlcmlhbGl6ZVVybCh0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKHRoaXMuaXRlbS51cmwpKTtcbiAgICB0aGlzLmxpbmtUeXBlID0gdGhpcy5nZXRMaW5rVHlwZSgpO1xuICAgIHRoaXMuaHJlZiA9IHRoaXMuaXNEaXNhYmxlZCgpID8gJycgOiAodGhpcy5pdGVtLmhyZWYgfHwgdGhpcy51cmwpO1xuICAgIHRoaXMubGlua0FjdGl2ZSA9IHRoaXMucm91dGVyLnVybC5zcGxpdCgvWz8jKDtdLylbMF0gPT09IHRoaXMuaHJlZi5zcGxpdCgvWz8jKDtdLylbMF07XG4gICAgdGhpcy5uYXZTdWJzY3JpcHRpb24gPSB0aGlzLm5hdmlnYXRpb25FbmRPYnNlcnZhYmxlLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBjb25zdCBpdGVtVXJsQXJyYXkgPSB0aGlzLmhyZWYuc3BsaXQoL1s/Iyg7XS8pWzBdLnNwbGl0KCcvJyk7XG4gICAgICBjb25zdCB1cmxBcnJheSA9IGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzLnNwbGl0KC9bPyMoO10vKVswXS5zcGxpdCgnLycpO1xuICAgICAgdGhpcy5saW5rQWN0aXZlID0gaXRlbVVybEFycmF5LmV2ZXJ5KCh2YWx1ZSwgaW5kZXgpID0+IHZhbHVlID09PSB1cmxBcnJheVtpbmRleF0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uYXZTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlua1R5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc0Rpc2FibGVkKCkgPyAnZGlzYWJsZWQnIDogdGhpcy5pc0V4dGVybmFsTGluaygpID8gJ2V4dGVybmFsJyA6ICdsaW5rJztcbiAgfVxuXG4gIHB1YmxpYyBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLml0ZW0/LmF0dHJpYnV0ZXM/LlsnZGlzYWJsZWQnXTtcbiAgfVxuXG4gIHB1YmxpYyBpc0V4dGVybmFsTGluaygpOiBib29sZWFuIHtcbiAgICBjb25zdCBsaW5rUGF0aCA9IEFycmF5LmlzQXJyYXkodGhpcy5pdGVtLnVybCkgPyB0aGlzLml0ZW0udXJsWzBdIDogdGhpcy5pdGVtLnVybDtcbiAgICByZXR1cm4gISF0aGlzLml0ZW0uaHJlZiB8fCBsaW5rUGF0aC5zdWJzdHJpbmcoMCwgNCkgPT09ICdodHRwJztcbiAgfVxuXG4gIGxpbmtDbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMubGlua0NsaWNrLmVtaXQoKTtcbiAgfVxuXG4gIC8vIHB1YmxpYyBoaWRlTW9iaWxlKCkge1xuICAvLyAgIC8vIHRvZG86IHByb3BlciBzY3JvbGxJbnRvVmlldygpIGFmdGVyIE5hdmlnYXRpb25FbmRcbiAgLy8gICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgLy8gICAgIGNvbnNvbGUubG9nKCdzY3JvbGwnKVxuICAvLyAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KCk7XG4gIC8vICAgfSwgMTAwMClcbiAgLy8gICB0aGlzLnNpZGViYXJTZXJ2aWNlLnRvZ2dsZSh7b3BlbjogZmFsc2UsIGJyZWFrcG9pbnQ6ICcnfSk7XG4gIC8vIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImxpbmtUeXBlXCI+XG4gIDxhICpuZ1N3aXRjaENhc2U9XCInZGlzYWJsZWQnXCJcbiAgICAgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2TGlua1wiXG4gICAgIFtjSHRtbEF0dHJdPVwiaXRlbS5hdHRyaWJ1dGVzID8/IHt9XCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uVGVtcGxhdGU7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgPGMtc2lkZWJhci1uYXYtbGluay1jb250ZW50IFtpdGVtXT1cIml0ZW1cIj48L2Mtc2lkZWJhci1uYXYtbGluay1jb250ZW50PlxuICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5iYWRnZVwiIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkJhZGdlXCI+e3sgaXRlbS5iYWRnZT8udGV4dCB9fTwvc3Bhbj5cbiAgPC9hPlxuICA8YSAqbmdTd2l0Y2hDYXNlPVwiJ2V4dGVybmFsJ1wiXG4gICAgIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkxpbmtcIlxuICAgICBbaHJlZl09XCJocmVmXCJcbiAgICAgW2NIdG1sQXR0cl09XCJpdGVtLmF0dHJpYnV0ZXMgPz8ge31cIlxuICAgICAoY2xpY2spPVwibGlua0NsaWNrZWQoKVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvblRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDxjLXNpZGViYXItbmF2LWxpbmstY29udGVudCBbaXRlbV09XCJpdGVtXCI+PC9jLXNpZGViYXItbmF2LWxpbmstY29udGVudD5cbiAgICA8c3BhbiAqbmdJZj1cIml0ZW0uYmFkZ2VcIiBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZCYWRnZVwiPnt7IGl0ZW0uYmFkZ2U/LnRleHQgfX08L3NwYW4+XG4gIDwvYT5cbiAgPGEgKm5nU3dpdGNoRGVmYXVsdFxuICAgICBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZMaW5rXCJcbiAgICAgW2NIdG1sQXR0cl09XCJpdGVtLmF0dHJpYnV0ZXMgPz8ge31cIlxuICAgICBbdGFyZ2V0XT1cIml0ZW0uYXR0cmlidXRlcz8uWyd0YXJnZXQnXVwiXG4gICAgIFtxdWVyeVBhcmFtc109XCJpdGVtLmxpbmtQcm9wcz8ucXVlcnlQYXJhbXMgPz8gbnVsbFwiXG4gICAgIFtmcmFnbWVudF09XCJpdGVtLmxpbmtQcm9wcz8uZnJhZ21lbnRcIlxuICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJpdGVtLmxpbmtQcm9wcz8ucXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgIFtwcmVzZXJ2ZUZyYWdtZW50XT1cIml0ZW0ubGlua1Byb3BzPy5wcmVzZXJ2ZUZyYWdtZW50ID8/IGZhbHNlXCJcbiAgICAgW3NraXBMb2NhdGlvbkNoYW5nZV09XCJpdGVtLmxpbmtQcm9wcz8uc2tpcExvY2F0aW9uQ2hhbmdlID8/IGZhbHNlXCJcbiAgICAgW3JlcGxhY2VVcmxdPVwiaXRlbS5saW5rUHJvcHM/LnJlcGxhY2VVcmwgPz8gZmFsc2VcIlxuICAgICBbc3RhdGVdPVwiaXRlbS5saW5rUHJvcHM/LnN0YXRlID8/IHt9XCJcbiAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS51cmxcIlxuICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcbiAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIml0ZW0ubGlua1Byb3BzPy5yb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucyA/PyB7IGV4YWN0OiBmYWxzZSB9XCJcbiAgICAgKGNsaWNrKT1cImxpbmtDbGlja2VkKClcIlxuICA+XG48IS0tICAgIFtjbGFzcy5hY3RpdmVdPVwibGlua0FjdGl2ZVwiLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25UZW1wbGF0ZSA7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgPGMtc2lkZWJhci1uYXYtbGluay1jb250ZW50IFtpdGVtXT1cIml0ZW1cIj48L2Mtc2lkZWJhci1uYXYtbGluay1jb250ZW50PlxuICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5iYWRnZVwiIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkJhZGdlXCI+e3sgaXRlbS5iYWRnZT8udGV4dCB9fTwvc3Bhbj5cbiAgPC9hPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjaWNvblRlbXBsYXRlIGxldC1pdGVtPlxuICA8aSAqbmdJZj1cIml0ZW0/Lmljb25cIiBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJY29uXCI+PC9pPlxuICA8bmctdGVtcGxhdGUgW25nSWZdPVwiaXRlbT8uaWNvbkNvbXBvbmVudFwiPlxuICAgIDxzdmdcbiAgICAgIFtjSWNvbl09XCJpdGVtLmljb25Db21wb25lbnQ/LmNvbnRlbnRcIlxuICAgICAgW25hbWVdPVwiaXRlbS5pY29uQ29tcG9uZW50Py5uYW1lXCJcbiAgICAgIFtjdXN0b21DbGFzc2VzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkljb25cIlxuICAgID48L3N2Zz5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPHNwYW4gKm5nSWY9XCIhaXRlbT8uaWNvbiAmJiAhaXRlbT8uaWNvbkNvbXBvbmVudFwiIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkljb25cIj48L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -6,7 +6,6 @@ import { filter } from 'rxjs/operators';
6
6
  import { SidebarNavHelper } from './sidebar-nav.service';
7
7
  import { SidebarNavGroupService } from './sidebar-nav-group.service';
8
8
  import { HtmlAttributesDirective } from '../../shared';
9
- import { IconModule } from '@coreui/icons-angular';
10
9
  import { SidebarNavIconPipe } from './sidebar-nav-icon.pipe';
11
10
  import { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';
12
11
  import { SidebarNavLinkComponent } from './sidebar-nav-link.component';
@@ -14,13 +13,13 @@ import { SidebarNavLabelComponent } from './sidebar-nav-label.component';
14
13
  import { SidebarNavTitleComponent } from './sidebar-nav-title.component';
15
14
  import { SidebarNavDividerComponent } from './sidebar-nav-divider.component';
16
15
  import { SidebarNavItemClassPipe } from './sidebar-nav-item-class.pipe';
16
+ import { IconDirective } from '@coreui/icons-angular';
17
17
  import * as i0 from "@angular/core";
18
18
  import * as i1 from "@angular/router";
19
19
  import * as i2 from "./sidebar-nav.service";
20
20
  import * as i3 from "./sidebar-nav-group.service";
21
- import * as i4 from "@coreui/icons-angular";
22
- import * as i5 from "../sidebar/sidebar.component";
23
- import * as i6 from "../sidebar.service";
21
+ import * as i4 from "../sidebar/sidebar.component";
22
+ import * as i5 from "../sidebar.service";
24
23
  export class SidebarNavGroupComponent {
25
24
  constructor(router, renderer, hostElement, helper, sidebarNavGroupService) {
26
25
  this.router = router;
@@ -104,7 +103,7 @@ export class SidebarNavGroupComponent {
104
103
  }
105
104
  }
106
105
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: SidebarNavGroupComponent, deps: [{ token: i1.Router }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.SidebarNavHelper }, { token: i3.SidebarNavGroupService }], target: i0.ɵɵFactoryTarget.Component }); }
107
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: SidebarNavGroupComponent, isStandalone: true, selector: "c-sidebar-nav-group", inputs: { item: "item", dropdownMode: "dropdownMode", show: "show" }, host: { properties: { "class": "this.hostClasses" } }, providers: [SidebarNavHelper, SidebarNavGroupService], viewQueries: [{ propertyName: "sidebarNav", first: true, predicate: i0.forwardRef(function () { return SidebarNavComponent; }), descendants: true, read: ElementRef }], ngImport: i0, template: "<a (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"item.attributes\"\n class=\"nav-link nav-group-toggle\"\n href>\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n<c-sidebar-nav\n (@openClose.done)=\"onAnimationDone($event)\"\n (@openClose.start)=\"onAnimationStart($event)\"\n [@openClose]=\"open ? 'open' : 'closed'\"\n [dropdownMode]=\"dropdownMode\"\n [groupItems]=\"true\"\n [navItems]=\"navItems\"\n [ngStyle]=\"display\"\n>\n</c-sidebar-nav>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"item.iconComponent?.name\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return HtmlAttributesDirective; }), selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: i0.forwardRef(function () { return NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return IconModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i4.IconDirective; }), selector: "svg[cIcon]", inputs: ["cIcon", "size", "title", "customClasses", "width", "height", "name", "viewBox", "xmlns", "pointer-events", "role"], exportAs: ["cIcon"] }, { kind: "pipe", type: i0.forwardRef(function () { return SidebarNavIconPipe; }), name: "cSidebarNavIcon" }, { kind: "pipe", type: i0.forwardRef(function () { return SidebarNavBadgePipe; }), name: "cSidebarNavBadge" }, { kind: "component", type: i0.forwardRef(function () { return SidebarNavComponent; }), selector: "c-sidebar-nav", inputs: ["navItems", "dropdownMode", "groupItems", "compact"] }, { kind: "directive", type: i0.forwardRef(function () { return NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }], animations: [
106
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: SidebarNavGroupComponent, isStandalone: true, selector: "c-sidebar-nav-group", inputs: { item: "item", dropdownMode: "dropdownMode", show: "show" }, host: { properties: { "class": "this.hostClasses" } }, providers: [SidebarNavHelper, SidebarNavGroupService], viewQueries: [{ propertyName: "sidebarNav", first: true, predicate: i0.forwardRef(function () { return SidebarNavComponent; }), descendants: true, read: ElementRef }], ngImport: i0, template: "<a (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"item.attributes\"\n class=\"nav-link nav-group-toggle\"\n href>\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\" />\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n<c-sidebar-nav\n (@openClose.done)=\"onAnimationDone($event)\"\n (@openClose.start)=\"onAnimationStart($event)\"\n [@openClose]=\"open ? 'open' : 'closed'\"\n [dropdownMode]=\"dropdownMode\"\n [groupItems]=\"true\"\n [navItems]=\"navItems\"\n [ngStyle]=\"display\"\n/>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"item.iconComponent?.name\"\n />\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return HtmlAttributesDirective; }), selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: i0.forwardRef(function () { return IconDirective; }), selector: "svg[cIcon]", inputs: ["cIcon", "size", "title", "customClasses", "width", "height", "name", "viewBox", "xmlns", "pointer-events", "role"], exportAs: ["cIcon"] }, { kind: "directive", type: i0.forwardRef(function () { return NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i0.forwardRef(function () { return SidebarNavIconPipe; }), name: "cSidebarNavIcon" }, { kind: "pipe", type: i0.forwardRef(function () { return SidebarNavBadgePipe; }), name: "cSidebarNavBadge" }, { kind: "component", type: i0.forwardRef(function () { return SidebarNavComponent; }), selector: "c-sidebar-nav", inputs: ["navItems", "dropdownMode", "groupItems", "compact"] }, { kind: "directive", type: i0.forwardRef(function () { return NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }], animations: [
108
107
  trigger('openClose', [
109
108
  state('open', style({
110
109
  height: '*'
@@ -122,10 +121,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
122
121
  type: Component,
123
122
  args: [{ selector: 'c-sidebar-nav-group', providers: [SidebarNavHelper, SidebarNavGroupService], standalone: true, imports: [
124
123
  HtmlAttributesDirective,
124
+ IconDirective,
125
125
  NgTemplateOutlet,
126
126
  NgIf,
127
127
  NgClass,
128
- IconModule,
129
128
  SidebarNavIconPipe,
130
129
  SidebarNavBadgePipe,
131
130
  forwardRef(() => SidebarNavComponent),
@@ -142,7 +141,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
142
141
  animate('.15s ease')
143
142
  ])
144
143
  ])
145
- ], template: "<a (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"item.attributes\"\n class=\"nav-link nav-group-toggle\"\n href>\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n<c-sidebar-nav\n (@openClose.done)=\"onAnimationDone($event)\"\n (@openClose.start)=\"onAnimationStart($event)\"\n [@openClose]=\"open ? 'open' : 'closed'\"\n [dropdownMode]=\"dropdownMode\"\n [groupItems]=\"true\"\n [navItems]=\"navItems\"\n [ngStyle]=\"display\"\n>\n</c-sidebar-nav>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"item.iconComponent?.name\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"] }]
144
+ ], template: "<a (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"item.attributes\"\n class=\"nav-link nav-group-toggle\"\n href>\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\" />\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n<c-sidebar-nav\n (@openClose.done)=\"onAnimationDone($event)\"\n (@openClose.start)=\"onAnimationStart($event)\"\n [@openClose]=\"open ? 'open' : 'closed'\"\n [dropdownMode]=\"dropdownMode\"\n [groupItems]=\"true\"\n [navItems]=\"navItems\"\n [ngStyle]=\"display\"\n/>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"item.iconComponent?.name\"\n />\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"] }]
146
145
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.SidebarNavHelper }, { type: i3.SidebarNavGroupService }]; }, propDecorators: { item: [{
147
146
  type: Input
148
147
  }], dropdownMode: [{
@@ -187,7 +186,7 @@ export class SidebarNavComponent {
187
186
  this.sidebarService.toggle({ toggle: 'visible', sidebar: this.sidebar });
188
187
  }
189
188
  }
190
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: SidebarNavComponent, deps: [{ token: i5.SidebarComponent, optional: true }, { token: i2.SidebarNavHelper }, { token: i1.Router }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i6.SidebarService }], target: i0.ɵɵFactoryTarget.Component }); }
189
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: SidebarNavComponent, deps: [{ token: i4.SidebarComponent, optional: true }, { token: i2.SidebarNavHelper }, { token: i1.Router }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i5.SidebarService }], target: i0.ɵɵFactoryTarget.Component }); }
191
190
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: SidebarNavComponent, isStandalone: true, selector: "c-sidebar-nav", inputs: { navItems: "navItems", dropdownMode: "dropdownMode", groupItems: "groupItems", compact: "compact" }, host: { properties: { "class": "this.hostClasses", "class.nav-group-items": "this.sidebarNavGroupItemsClass", "attr.role": "this.role" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngFor=\"let item of navItemsArray\">\n <ng-container [ngSwitch]=\"helper.itemType(item)\">\n <c-sidebar-nav-group\n #rla=\"routerLinkActive\"\n *ngSwitchCase=\"'group'\"\n [dropdownMode]=\"dropdownMode\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n routerLinkActive=\"show\"\n >\n </c-sidebar-nav-group>\n <c-sidebar-nav-divider\n *ngSwitchCase=\"'divider'\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\">\n </c-sidebar-nav-divider>\n <c-sidebar-nav-title\n *ngSwitchCase=\"'title'\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\">\n </c-sidebar-nav-title>\n <c-sidebar-nav-label\n *ngSwitchCase=\"'label'\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\">\n </c-sidebar-nav-label>\n <ng-container\n *ngSwitchCase=\"'empty'\">\n </ng-container>\n <c-sidebar-nav-link\n (linkClick)=\"hideMobile()\"\n *ngSwitchDefault\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n >\n </c-sidebar-nav-link>\n </ng-container>\n</ng-container>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "component", type: SidebarNavLinkComponent, selector: "c-sidebar-nav-link", inputs: ["item"], outputs: ["linkClick"] }, { kind: "component", type: SidebarNavLabelComponent, selector: "c-sidebar-nav-label", inputs: ["item"] }, { kind: "component", type: SidebarNavTitleComponent, selector: "c-sidebar-nav-title", inputs: ["item"] }, { kind: "component", type: SidebarNavDividerComponent, selector: "c-sidebar-nav-divider", inputs: ["item"] }, { kind: "component", type: SidebarNavGroupComponent, selector: "c-sidebar-nav-group", inputs: ["item", "dropdownMode", "show"] }, { kind: "pipe", type: SidebarNavItemClassPipe, name: "cSidebarNavItemClass" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] }); }
192
191
  }
193
192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: SidebarNavComponent, decorators: [{
@@ -207,9 +206,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
207
206
  SidebarNavItemClassPipe,
208
207
  RouterModule
209
208
  ], template: "<ng-container *ngFor=\"let item of navItemsArray\">\n <ng-container [ngSwitch]=\"helper.itemType(item)\">\n <c-sidebar-nav-group\n #rla=\"routerLinkActive\"\n *ngSwitchCase=\"'group'\"\n [dropdownMode]=\"dropdownMode\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n routerLinkActive=\"show\"\n >\n </c-sidebar-nav-group>\n <c-sidebar-nav-divider\n *ngSwitchCase=\"'divider'\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\">\n </c-sidebar-nav-divider>\n <c-sidebar-nav-title\n *ngSwitchCase=\"'title'\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\">\n </c-sidebar-nav-title>\n <c-sidebar-nav-label\n *ngSwitchCase=\"'label'\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\">\n </c-sidebar-nav-label>\n <ng-container\n *ngSwitchCase=\"'empty'\">\n </ng-container>\n <c-sidebar-nav-link\n (linkClick)=\"hideMobile()\"\n *ngSwitchDefault\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n >\n </c-sidebar-nav-link>\n </ng-container>\n</ng-container>\n<ng-content></ng-content>\n" }]
210
- }], ctorParameters: function () { return [{ type: i5.SidebarComponent, decorators: [{
209
+ }], ctorParameters: function () { return [{ type: i4.SidebarComponent, decorators: [{
211
210
  type: Optional
212
- }] }, { type: i2.SidebarNavHelper }, { type: i1.Router }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i6.SidebarService }]; }, propDecorators: { navItems: [{
211
+ }] }, { type: i2.SidebarNavHelper }, { type: i1.Router }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i5.SidebarService }]; }, propDecorators: { navItems: [{
213
212
  type: Input
214
213
  }], dropdownMode: [{
215
214
  type: Input
@@ -227,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
227
226
  type: HostBinding,
228
227
  args: ['attr.role']
229
228
  }] } });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zaWRlYmFyL3NpZGViYXItbmF2L3NpZGViYXItbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9zaWRlYmFyLW5hdi9zaWRlYmFyLW5hdi1ncm91cC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9zaWRlYmFyLW5hdi9zaWRlYmFyLW5hdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFrQixLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRyxPQUFPLEVBQ0wsT0FBTyxFQUNQLE9BQU8sRUFDUCxJQUFJLEVBQ0osT0FBTyxFQUNQLFFBQVEsRUFDUixZQUFZLEVBQ1osZUFBZSxFQUNmLGdCQUFnQixFQUNqQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUlMLFFBQVEsRUFHUixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFF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SUFDSCxDQUFDOzhHQTFDVSxtQkFBbUI7a0dBQW5CLG1CQUFtQix3VkUvTWhDLHd6Q0EwQ0EsNENGc0pJLE9BQU8sbUhBQ1AsT0FBTyxvRkFDUCxRQUFRLDZFQUNSLFlBQVkscUZBQ1osZUFBZSw4REFDZix1QkFBdUIsd0dBQ3ZCLHVCQUF1Qix5R0FDdkIsd0JBQXdCLGtGQUN4Qix3QkFBd0Isa0ZBQ3hCLDBCQUEwQixvRkE5SGpCLHdCQUF3QixxR0FnSWpDLHVCQUF1Qiw0REFDdkIsWUFBWTs7MkZBR0gsbUJBQW1CO2tCQXBCL0IsU0FBUzsrQkFDRSxlQUFlLGNBRWIsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxRQUFRO3dCQUNSLFlBQVk7d0JBQ1osZUFBZTt3QkFDZix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLFlBQVk7cUJBQ2I7OzBCQUtFLFFBQVE7OEtBUUYsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUdGLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQVNoQix5QkFBeUI7c0JBRDVCLFdBQVc7dUJBQUMsdUJBQXVCO2dCQUtWLElBQUk7c0JBQTdCLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIE5nQ2xhc3MsXG4gIE5nRm9yT2YsXG4gIE5nSWYsXG4gIE5nU3R5bGUsXG4gIE5nU3dpdGNoLFxuICBOZ1N3aXRjaENhc2UsXG4gIE5nU3dpdGNoRGVmYXVsdCxcbiAgTmdUZW1wbGF0ZU91dGxldFxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTaWRlYmFyU2VydmljZSB9IGZyb20gJy4uL3NpZGViYXIuc2VydmljZSc7XG5pbXBvcnQgeyBTaWRlYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJTmF2RGF0YSB9IGZyb20gJy4vc2lkZWJhci1uYXYnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkhlbHBlciB9IGZyb20gJy4vc2lkZWJhci1uYXYuc2VydmljZSc7XG5pbXBvcnQgeyBTaWRlYmFyTmF2R3JvdXBTZXJ2aWNlIH0gZnJvbSAnLi9zaWRlYmFyLW5hdi1ncm91cC5zZXJ2aWNlJztcbmltcG9ydCB7IEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vc2hhcmVkJztcbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICdAY29yZXVpL2ljb25zLWFuZ3VsYXInO1xuaW1wb3J0IHsgU2lkZWJhck5hdkljb25QaXBlIH0gZnJvbSAnLi9zaWRlYmFyLW5hdi1pY29uLnBpcGUnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkJhZGdlUGlwZSB9IGZyb20gJy4vc2lkZWJhci1uYXYtYmFkZ2UucGlwZSc7XG5pbXBvcnQgeyBTaWRlYmFyTmF2TGlua0NvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci1uYXYtbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyLW5hdi1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lkZWJhck5hdlRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyLW5hdi10aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkRpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuL3NpZGViYXItbmF2LWRpdmlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNpZGViYXJOYXZJdGVtQ2xhc3NQaXBlIH0gZnJvbSAnLi9zaWRlYmFyLW5hdi1pdGVtLWNsYXNzLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXNpZGViYXItbmF2LWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGViYXItbmF2LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2lkZWJhci1uYXYtZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2lkZWJhck5hdkhlbHBlciwgU2lkZWJhck5hdkdyb3VwU2VydmljZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBIdG1sQXR0cmlidXRlc0RpcmVjdGl2ZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE5nSWYsXG4gICAgTmdDbGFzcyxcbiAgICBJY29uTW9kdWxlLFxuICAgIFNpZGViYXJOYXZJY29uUGlwZSxcbiAgICBTaWRlYmFyTmF2QmFkZ2VQaXBlLFxuICAgIGZvcndhcmRSZWYoKCkgPT4gU2lkZWJhck5hdkNvbXBvbmVudCksXG4gICAgTmdTdHlsZVxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignb3BlbkNsb3NlJywgW1xuICAgICAgc3RhdGUoJ29wZW4nLCBzdHlsZSh7XG4gICAgICAgIGhlaWdodDogJyonXG4gICAgICB9KSksXG4gICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoe1xuICAgICAgICBoZWlnaHQ6ICcwcHgnXG4gICAgICB9KSksXG4gICAgICB0cmFuc2l0aW9uKCdvcGVuIDw9PiBjbG9zZWQnLCBbXG4gICAgICAgIGFuaW1hdGUoJy4xNXMgZWFzZScpXG4gICAgICBdKVxuICAgIF0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2lkZWJhck5hdkdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHVibGljIGhlbHBlcjogU2lkZWJhck5hdkhlbHBlcixcbiAgICBwcml2YXRlIHNpZGViYXJOYXZHcm91cFNlcnZpY2U6IFNpZGViYXJOYXZHcm91cFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5uYXZpZ2F0aW9uRW5kT2JzZXJ2YWJsZSA9IHJvdXRlci5ldmVudHMucGlwZShcbiAgICAgIGZpbHRlcigoZXZlbnQ6IGFueSkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKVxuICAgICkgYXMgT2JzZXJ2YWJsZTxOYXZpZ2F0aW9uRW5kPjtcbiAgfVxuXG4gIEBJbnB1dCgpIGl0ZW06IGFueTtcbiAgQElucHV0KCkgZHJvcGRvd25Nb2RlOiAncGF0aCcgfCAnbm9uZScgfCAnY2xvc2UnID0gJ3BhdGgnO1xuICBASW5wdXQoKSBzaG93PzogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICduYXYtZ3JvdXAnOiB0cnVlLFxuICAgICAgc2hvdzogdGhpcy5vcGVuXG4gICAgfTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBTaWRlYmFyTmF2Q29tcG9uZW50KSwgeyByZWFkOiBFbGVtZW50UmVmIH0pIHNpZGViYXJOYXYhOiBFbGVtZW50UmVmO1xuXG4gIG5hdmlnYXRpb25FbmRPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPE5hdmlnYXRpb25FbmQ+O1xuICBuYXZTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIG5hdkdyb3VwU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIHB1YmxpYyBvcGVuITogYm9vbGVhbjtcbiAgcHVibGljIG5hdkl0ZW1zOiBJTmF2RGF0YVtdID0gW107XG4gIHB1YmxpYyBkaXNwbGF5OiBhbnkgPSB7IGRpc3BsYXk6ICdibG9jaycgfTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICAgIHRoaXMubmF2SXRlbXMgPSBbLi4udGhpcy5pdGVtLmNoaWxkcmVuXTtcblxuICAgIHRoaXMubmF2U3Vic2NyaXB0aW9uID0gdGhpcy5uYXZpZ2F0aW9uRW5kT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKSA9PiB7XG4gICAgICBpZiAodGhpcy5kcm9wZG93bk1vZGUgIT09ICdub25lJykge1xuICAgICAgICBjb25zdCBzYW1lUGF0aCA9IHRoaXMuc2FtZVBhdGgoZXZlbnQudXJsKTtcbiAgICAgICAgdGhpcy5vcGVuR3JvdXAoc2FtZVBhdGgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuc2FtZVBhdGgodGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QudXJsKSkge1xuICAgICAgdGhpcy5vcGVuR3JvdXAodHJ1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5uYXZHcm91cFN1YnNjcmlwdGlvbiA9IHRoaXMuc2lkZWJhck5hdkdyb3VwU2VydmljZS5zaWRlYmFyTmF2R3JvdXBTdGF0ZSQuc3Vic2NyaWJlKG5leHQgPT4ge1xuICAgICAgaWYgKHRoaXMuZHJvcGRvd25Nb2RlID09PSAnY2xvc2UnICYmIG5leHQuc2lkZWJhck5hdkdyb3VwICYmIG5leHQuc2lkZWJhck5hdkdyb3VwICE9PSB0aGlzKSB7XG4gICAgICAgIGlmIChuZXh0LnNpZGViYXJOYXZHcm91cC5pdGVtLnVybC5zdGFydHNXaXRoKHRoaXMuaXRlbS51cmwpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNhbWVQYXRoKHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnVybCkpIHtcbiAgICAgICAgICB0aGlzLm9wZW5Hcm91cCh0cnVlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcGVuR3JvdXAoZmFsc2UpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2FtZVBhdGgodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAvLyBjb25zb2xlLmxvZygnaXRlbTonLCB0aGlzLml0ZW0ubmFtZSwgdGhpcy5pdGVtLnVybCwgJ3VybDonLCB1cmwpO1xuICAgIGNvbnN0IGl0ZW1BcnJheSA9IHRoaXMuaXRlbS51cmw/LnNwbGl0KCcvJyk7XG4gICAgY29uc3QgdXJsQXJyYXkgPSB1cmwuc3BsaXQoJy8nKTtcbiAgICByZXR1cm4gaXRlbUFycmF5Py5ldmVyeSgodmFsdWU6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgLy8gY29uc29sZS5sb2codmFsdWUgPT09IHVybEFycmF5W2luZGV4XSwgJ3ZhbHVlOicsIHZhbHVlLCAnaW5kZXg6JywgaW5kZXgsIHVybEFycmF5W2luZGV4XSwgdXJsKTtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gdXJsQXJyYXlbaW5kZXhdO1xuICAgIH0pO1xuICB9XG5cbiAgb3Blbkdyb3VwKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICB9XG5cbiAgdG9nZ2xlR3JvdXAoJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLm9wZW5Hcm91cCghdGhpcy5vcGVuKTtcbiAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICB0aGlzLnNpZGViYXJOYXZHcm91cFNlcnZpY2UudG9nZ2xlKHsgb3BlbjogdGhpcy5vcGVuLCBzaWRlYmFyTmF2R3JvdXA6IHRoaXMgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uYXZTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvbkFuaW1hdGlvblN0YXJ0KCRldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICB0aGlzLmRpc3BsYXkgPSB7IGRpc3BsYXk6ICdibG9jaycgfTtcbiAgICBpZiAoJGV2ZW50LnRvU3RhdGUgPT09ICdvcGVuJykge1xuICAgICAgY29uc3QgaG9zdCA9IHRoaXMuc2lkZWJhck5hdi5uYXRpdmVFbGVtZW50O1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShob3N0LCAnaGVpZ2h0JywgYCR7aG9zdFsnc2Nyb2xsSGVpZ2h0J119cHhgKTtcbiAgICB9XG4gIH1cblxuICBvbkFuaW1hdGlvbkRvbmUoJGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIGlmICgkZXZlbnQudG9TdGF0ZSA9PT0gJ29wZW4nKSB7XG4gICAgICBjb25zdCBob3N0ID0gdGhpcy5zaWRlYmFyTmF2Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGhvc3QsICdoZWlnaHQnLCAnYXV0bycpO1xuICAgIH1cbiAgICBpZiAoJGV2ZW50LnRvU3RhdGUgPT09ICdjbG9zZWQnKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5kaXNwbGF5ID0gbnVsbDtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXNpZGViYXItbmF2JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGViYXItbmF2LmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nRm9yT2YsXG4gICAgTmdDbGFzcyxcbiAgICBOZ1N3aXRjaCxcbiAgICBOZ1N3aXRjaENhc2UsXG4gICAgTmdTd2l0Y2hEZWZhdWx0LFxuICAgIEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlLFxuICAgIFNpZGViYXJOYXZMaW5rQ29tcG9uZW50LFxuICAgIFNpZGViYXJOYXZMYWJlbENvbXBvbmVudCxcbiAgICBTaWRlYmFyTmF2VGl0bGVDb21wb25lbnQsXG4gICAgU2lkZWJhck5hdkRpdmlkZXJDb21wb25lbnQsXG4gICAgU2lkZWJhck5hdkdyb3VwQ29tcG9uZW50LFxuICAgIFNpZGViYXJOYXZJdGVtQ2xhc3NQaXBlLFxuICAgIFJvdXRlck1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNpZGViYXJOYXZDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBzaWRlYmFyOiBTaWRlYmFyQ29tcG9uZW50LFxuICAgIHB1YmxpYyBoZWxwZXI6IFNpZGViYXJOYXZIZWxwZXIsXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgc2lkZWJhclNlcnZpY2U6IFNpZGViYXJTZXJ2aWNlXG4gICkgeyB9XG5cbiAgQElucHV0KCkgbmF2SXRlbXM/OiBJTmF2RGF0YVtdID0gW107XG4gIEBJbnB1dCgpIGRyb3Bkb3duTW9kZTogJ3BhdGgnIHwgJ25vbmUnIHwgJ2Nsb3NlJyA9ICdwYXRoJztcbiAgQElucHV0KCkgZ3JvdXBJdGVtcz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNvbXBhY3Q/OiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ3NpZGViYXItbmF2JzogIXRoaXMuZ3JvdXBJdGVtcyxcbiAgICAgIGNvbXBhY3Q6ICF0aGlzLmdyb3VwSXRlbXMgJiYgISF0aGlzLmNvbXBhY3RcbiAgICB9O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5uYXYtZ3JvdXAtaXRlbXMnKVxuICBnZXQgc2lkZWJhck5hdkdyb3VwSXRlbXNDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdyb3VwSXRlbXM7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnbmF2JztcblxuICBwdWJsaWMgbmF2SXRlbXNBcnJheTogSU5hdkRhdGFbXSA9IFtdO1xuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5uYXZJdGVtc0FycmF5ID0gQXJyYXkuaXNBcnJheSh0aGlzLm5hdkl0ZW1zKSA/IHRoaXMubmF2SXRlbXMuc2xpY2UoKSA6IFtdO1xuICB9XG5cbiAgcHVibGljIGhpZGVNb2JpbGUoKTogdm9pZCB7XG4gICAgLy8gdG9kbzogcHJvcGVyIHNjcm9sbEludG9WaWV3KCkgYWZ0ZXIgTmF2aWdhdGlvbkVuZFxuICAgIGlmICh0aGlzLnNpZGViYXIgJiYgdGhpcy5zaWRlYmFyLnNpZGViYXJTdGF0ZS5tb2JpbGUpIHtcbiAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2UudG9nZ2xlKHsgdG9nZ2xlOiAndmlzaWJsZScsIHNpZGViYXI6IHRoaXMuc2lkZWJhciB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxhIChjbGljayk9XCJ0b2dnbGVHcm91cCgkZXZlbnQpXCJcbiAgIFtjSHRtbEF0dHJdPVwiaXRlbS5hdHRyaWJ1dGVzXCJcbiAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWdyb3VwLXRvZ2dsZVwiXG4gICBocmVmPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvblRlbXBsYXRlIDsgY29udGV4dDogeyRpbXBsaWNpdDogaXRlbX1cIj48L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lcj57eyBpdGVtLm5hbWUgfX08L25nLWNvbnRhaW5lcj5cbiAgPHNwYW4gKm5nSWY9XCJoZWxwZXIuaGFzQmFkZ2UoaXRlbSlcIiBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZCYWRnZVwiPnt7IGl0ZW0uYmFkZ2UudGV4dCB9fTwvc3Bhbj5cbjwvYT5cbjxjLXNpZGViYXItbmF2XG4gIChAb3BlbkNsb3NlLmRvbmUpPVwib25BbmltYXRpb25Eb25lKCRldmVudClcIlxuICAoQG9wZW5DbG9zZS5zdGFydCk9XCJvbkFuaW1hdGlvblN0YXJ0KCRldmVudClcIlxuICBbQG9wZW5DbG9zZV09XCJvcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCdcIlxuICBbZHJvcGRvd25Nb2RlXT1cImRyb3Bkb3duTW9kZVwiXG4gIFtncm91cEl0ZW1zXT1cInRydWVcIlxuICBbbmF2SXRlbXNdPVwibmF2SXRlbXNcIlxuICBbbmdTdHlsZV09XCJkaXNwbGF5XCJcbj5cbjwvYy1zaWRlYmFyLW5hdj5cblxuPG5nLXRlbXBsYXRlICNpY29uVGVtcGxhdGUgbGV0LWl0ZW0+XG4gIDxpICpuZ0lmPVwiaXRlbT8uaWNvblwiIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkljb25cIj48L2k+XG4gIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJpdGVtPy5pY29uQ29tcG9uZW50XCI+XG4gICAgPHN2Z1xuICAgICAgW2NJY29uXT1cIml0ZW0uaWNvbkNvbXBvbmVudD8uY29udGVudFwiXG4gICAgICBbY3VzdG9tQ2xhc3Nlc109XCJpdGVtIHwgY1NpZGViYXJOYXZJY29uXCJcbiAgICAgIFtuYW1lXT1cIml0ZW0uaWNvbkNvbXBvbmVudD8ubmFtZVwiXG4gICAgPjwvc3ZnPlxuICA8L25nLXRlbXBsYXRlPlxuICA8c3BhbiAqbmdJZj1cIiFpdGVtPy5pY29uICYmICFpdGVtPy5pY29uQ29tcG9uZW50XCIgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2SWNvblwiPjwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5hdkl0ZW1zQXJyYXlcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaGVscGVyLml0ZW1UeXBlKGl0ZW0pXCI+XG4gICAgPGMtc2lkZWJhci1uYXYtZ3JvdXBcbiAgICAgICNybGE9XCJyb3V0ZXJMaW5rQWN0aXZlXCJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCInZ3JvdXAnXCJcbiAgICAgIFtkcm9wZG93bk1vZGVdPVwiZHJvcGRvd25Nb2RlXCJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2SXRlbUNsYXNzXCJcbiAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7ZXhhY3Q6IHRydWV9XCJcbiAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJzaG93XCJcbiAgICA+XG4gICAgPC9jLXNpZGViYXItbmF2LWdyb3VwPlxuICAgIDxjLXNpZGViYXItbmF2LWRpdmlkZXJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCInZGl2aWRlcidcIlxuICAgICAgW2NIdG1sQXR0cl09XCJpdGVtLmF0dHJpYnV0ZXMgPz8ge31cIlxuICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJdGVtQ2xhc3NcIj5cbiAgICA8L2Mtc2lkZWJhci1uYXYtZGl2aWRlcj5cbiAgICA8Yy1zaWRlYmFyLW5hdi10aXRsZVxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIid0aXRsZSdcIlxuICAgICAgW2NIdG1sQXR0cl09XCJpdGVtLmF0dHJpYnV0ZXMgPz8ge31cIlxuICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJdGVtQ2xhc3NcIj5cbiAgICA8L2Mtc2lkZWJhci1uYXYtdGl0bGU+XG4gICAgPGMtc2lkZWJhci1uYXYtbGFiZWxcbiAgICAgICpuZ1N3aXRjaENhc2U9XCInbGFiZWwnXCJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2SXRlbUNsYXNzXCI+XG4gICAgPC9jLXNpZGViYXItbmF2LWxhYmVsPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCInZW1wdHknXCI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGMtc2lkZWJhci1uYXYtbGlua1xuICAgICAgKGxpbmtDbGljayk9XCJoaWRlTW9iaWxlKClcIlxuICAgICAgKm5nU3dpdGNoRGVmYXVsdFxuICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJdGVtQ2xhc3NcIlxuICAgID5cbiAgICA8L2Mtc2lkZWJhci1uYXYtbGluaz5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zaWRlYmFyL3NpZGViYXItbmF2L3NpZGViYXItbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9zaWRlYmFyLW5hdi9zaWRlYmFyLW5hdi1ncm91cC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9zaWRlYmFyLW5hdi9zaWRlYmFyLW5hdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFrQixLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRyxPQUFPLEVBQ0wsT0FBTyxFQUNQLE9BQU8sRUFDUCxJQUFJLEVBQ0osT0FBTyxFQUNQLFFBQVEsRUFDUixZQUFZLEVBQ1osZUFBZSxFQUNmLGdCQUFnQixFQUNqQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUlMLFFBQVEsRUFHUixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFF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QUNILENBQUM7OEdBMUNVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHdWRS9NaEMsd3pDQTBDQSw0Q0ZzSkksT0FBTyxtSEFDUCxPQUFPLG9GQUNQLFFBQVEsNkVBQ1IsWUFBWSxxRkFDWixlQUFlLDhEQUNmLHVCQUF1Qix3R0FDdkIsdUJBQXVCLHlHQUN2Qix3QkFBd0Isa0ZBQ3hCLHdCQUF3QixrRkFDeEIsMEJBQTBCLG9GQTlIakIsd0JBQXdCLHFHQWdJakMsdUJBQXVCLDREQUN2QixZQUFZOzsyRkFHSCxtQkFBbUI7a0JBcEIvQixTQUFTOytCQUNFLGVBQWUsY0FFYixJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLFFBQVE7d0JBQ1IsWUFBWTt3QkFDWixlQUFlO3dCQUNmLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLHVCQUF1Qjt3QkFDdkIsWUFBWTtxQkFDYjs7MEJBS0UsUUFBUTs4S0FRRixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0YsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBU2hCLHlCQUF5QjtzQkFENUIsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBS1YsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uRXZlbnQsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgTmdDbGFzcyxcbiAgTmdGb3JPZixcbiAgTmdJZixcbiAgTmdTdHlsZSxcbiAgTmdTd2l0Y2gsXG4gIE5nU3dpdGNoQ2FzZSxcbiAgTmdTd2l0Y2hEZWZhdWx0LFxuICBOZ1RlbXBsYXRlT3V0bGV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNpZGViYXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2lkZWJhci5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuLi9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50JztcbmltcG9ydCB7IElOYXZEYXRhIH0gZnJvbSAnLi9zaWRlYmFyLW5hdic7XG5pbXBvcnQgeyBTaWRlYmFyTmF2SGVscGVyIH0gZnJvbSAnLi9zaWRlYmFyLW5hdi5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZGViYXJOYXZHcm91cFNlcnZpY2UgfSBmcm9tICcuL3NpZGViYXItbmF2LWdyb3VwLnNlcnZpY2UnO1xuaW1wb3J0IHsgSHRtbEF0dHJpYnV0ZXNEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkljb25QaXBlIH0gZnJvbSAnLi9zaWRlYmFyLW5hdi1pY29uLnBpcGUnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkJhZGdlUGlwZSB9IGZyb20gJy4vc2lkZWJhci1uYXYtYmFkZ2UucGlwZSc7XG5pbXBvcnQgeyBTaWRlYmFyTmF2TGlua0NvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci1uYXYtbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyLW5hdi1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lkZWJhck5hdlRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyLW5hdi10aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lkZWJhck5hdkRpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuL3NpZGViYXItbmF2LWRpdmlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNpZGViYXJOYXZJdGVtQ2xhc3NQaXBlIH0gZnJvbSAnLi9zaWRlYmFyLW5hdi1pdGVtLWNsYXNzLnBpcGUnO1xuaW1wb3J0IHsgSWNvbkRpcmVjdGl2ZSB9IGZyb20gJ0Bjb3JldWkvaWNvbnMtYW5ndWxhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Mtc2lkZWJhci1uYXYtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci1uYXYtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaWRlYmFyLW5hdi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTaWRlYmFyTmF2SGVscGVyLCBTaWRlYmFyTmF2R3JvdXBTZXJ2aWNlXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlLFxuICAgIEljb25EaXJlY3RpdmUsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBOZ0lmLFxuICAgIE5nQ2xhc3MsXG4gICAgU2lkZWJhck5hdkljb25QaXBlLFxuICAgIFNpZGViYXJOYXZCYWRnZVBpcGUsXG4gICAgZm9yd2FyZFJlZigoKSA9PiBTaWRlYmFyTmF2Q29tcG9uZW50KSxcbiAgICBOZ1N0eWxlXG4gIF0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXG4gICAgICBzdGF0ZSgnb3BlbicsIHN0eWxlKHtcbiAgICAgICAgaGVpZ2h0OiAnKidcbiAgICAgIH0pKSxcbiAgICAgIHN0YXRlKCdjbG9zZWQnLCBzdHlsZSh7XG4gICAgICAgIGhlaWdodDogJzBweCdcbiAgICAgIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ29wZW4gPD0+IGNsb3NlZCcsIFtcbiAgICAgICAgYW5pbWF0ZSgnLjE1cyBlYXNlJylcbiAgICAgIF0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyTmF2R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwdWJsaWMgaGVscGVyOiBTaWRlYmFyTmF2SGVscGVyLFxuICAgIHByaXZhdGUgc2lkZWJhck5hdkdyb3VwU2VydmljZTogU2lkZWJhck5hdkdyb3VwU2VydmljZVxuICApIHtcbiAgICB0aGlzLm5hdmlnYXRpb25FbmRPYnNlcnZhYmxlID0gcm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKChldmVudDogYW55KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpXG4gICAgKSBhcyBPYnNlcnZhYmxlPE5hdmlnYXRpb25FbmQ+O1xuICB9XG5cbiAgQElucHV0KCkgaXRlbTogYW55O1xuICBASW5wdXQoKSBkcm9wZG93bk1vZGU6ICdwYXRoJyB8ICdub25lJyB8ICdjbG9zZScgPSAncGF0aCc7XG4gIEBJbnB1dCgpIHNob3c/OiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ25hdi1ncm91cCc6IHRydWUsXG4gICAgICBzaG93OiB0aGlzLm9wZW5cbiAgICB9O1xuICB9XG5cbiAgQFZpZXdDaGlsZChmb3J3YXJkUmVmKCgpID0+IFNpZGViYXJOYXZDb21wb25lbnQpLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgc2lkZWJhck5hdiE6IEVsZW1lbnRSZWY7XG5cbiAgbmF2aWdhdGlvbkVuZE9ic2VydmFibGU6IE9ic2VydmFibGU8TmF2aWdhdGlvbkVuZD47XG4gIG5hdlN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgbmF2R3JvdXBTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIG9wZW4hOiBib29sZWFuO1xuICBwdWJsaWMgbmF2SXRlbXM6IElOYXZEYXRhW10gPSBbXTtcbiAgcHVibGljIGRpc3BsYXk6IGFueSA9IHsgZGlzcGxheTogJ2Jsb2NrJyB9O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgdGhpcy5uYXZJdGVtcyA9IFsuLi50aGlzLml0ZW0uY2hpbGRyZW5dO1xuXG4gICAgdGhpcy5uYXZTdWJzY3JpcHRpb24gPSB0aGlzLm5hdmlnYXRpb25FbmRPYnNlcnZhYmxlLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcbiAgICAgIGlmICh0aGlzLmRyb3Bkb3duTW9kZSAhPT0gJ25vbmUnKSB7XG4gICAgICAgIGNvbnN0IHNhbWVQYXRoID0gdGhpcy5zYW1lUGF0aChldmVudC51cmwpO1xuICAgICAgICB0aGlzLm9wZW5Hcm91cChzYW1lUGF0aCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5zYW1lUGF0aCh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwpKSB7XG4gICAgICB0aGlzLm9wZW5Hcm91cCh0cnVlKTtcbiAgICB9XG5cbiAgICB0aGlzLm5hdkdyb3VwU3Vic2NyaXB0aW9uID0gdGhpcy5zaWRlYmFyTmF2R3JvdXBTZXJ2aWNlLnNpZGViYXJOYXZHcm91cFN0YXRlJC5zdWJzY3JpYmUobmV4dCA9PiB7XG4gICAgICBpZiAodGhpcy5kcm9wZG93bk1vZGUgPT09ICdjbG9zZScgJiYgbmV4dC5zaWRlYmFyTmF2R3JvdXAgJiYgbmV4dC5zaWRlYmFyTmF2R3JvdXAgIT09IHRoaXMpIHtcbiAgICAgICAgaWYgKG5leHQuc2lkZWJhck5hdkdyb3VwLml0ZW0udXJsLnN0YXJ0c1dpdGgodGhpcy5pdGVtLnVybCkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc2FtZVBhdGgodGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QudXJsKSkge1xuICAgICAgICAgIHRoaXMub3Blbkdyb3VwKHRydWUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZW5Hcm91cChmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzYW1lUGF0aCh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8vIGNvbnNvbGUubG9nKCdpdGVtOicsIHRoaXMuaXRlbS5uYW1lLCB0aGlzLml0ZW0udXJsLCAndXJsOicsIHVybCk7XG4gICAgY29uc3QgaXRlbUFycmF5ID0gdGhpcy5pdGVtLnVybD8uc3BsaXQoJy8nKTtcbiAgICBjb25zdCB1cmxBcnJheSA9IHVybC5zcGxpdCgnLycpO1xuICAgIHJldHVybiBpdGVtQXJyYXk/LmV2ZXJ5KCh2YWx1ZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAvLyBjb25zb2xlLmxvZyh2YWx1ZSA9PT0gdXJsQXJyYXlbaW5kZXhdLCAndmFsdWU6JywgdmFsdWUsICdpbmRleDonLCBpbmRleCwgdXJsQXJyYXlbaW5kZXhdLCB1cmwpO1xuICAgICAgcmV0dXJuIHZhbHVlID09PSB1cmxBcnJheVtpbmRleF07XG4gICAgfSk7XG4gIH1cblxuICBvcGVuR3JvdXAob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMub3BlbiA9IG9wZW47XG4gIH1cblxuICB0b2dnbGVHcm91cCgkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMub3Blbkdyb3VwKCF0aGlzLm9wZW4pO1xuICAgIGlmICh0aGlzLm9wZW4pIHtcbiAgICAgIHRoaXMuc2lkZWJhck5hdkdyb3VwU2VydmljZS50b2dnbGUoeyBvcGVuOiB0aGlzLm9wZW4sIHNpZGViYXJOYXZHcm91cDogdGhpcyB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5hdlN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG9uQW5pbWF0aW9uU3RhcnQoJGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIHRoaXMuZGlzcGxheSA9IHsgZGlzcGxheTogJ2Jsb2NrJyB9O1xuICAgIGlmICgkZXZlbnQudG9TdGF0ZSA9PT0gJ29wZW4nKSB7XG4gICAgICBjb25zdCBob3N0ID0gdGhpcy5zaWRlYmFyTmF2Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGhvc3QsICdoZWlnaHQnLCBgJHtob3N0WydzY3JvbGxIZWlnaHQnXX1weGApO1xuICAgIH1cbiAgfVxuXG4gIG9uQW5pbWF0aW9uRG9uZSgkZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgaWYgKCRldmVudC50b1N0YXRlID09PSAnb3BlbicpIHtcbiAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLnNpZGViYXJOYXYubmF0aXZlRWxlbWVudDtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoaG9zdCwgJ2hlaWdodCcsICdhdXRvJyk7XG4gICAgfVxuICAgIGlmICgkZXZlbnQudG9TdGF0ZSA9PT0gJ2Nsb3NlZCcpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmRpc3BsYXkgPSBudWxsO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Mtc2lkZWJhci1uYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci1uYXYuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdGb3JPZixcbiAgICBOZ0NsYXNzLFxuICAgIE5nU3dpdGNoLFxuICAgIE5nU3dpdGNoQ2FzZSxcbiAgICBOZ1N3aXRjaERlZmF1bHQsXG4gICAgSHRtbEF0dHJpYnV0ZXNEaXJlY3RpdmUsXG4gICAgU2lkZWJhck5hdkxpbmtDb21wb25lbnQsXG4gICAgU2lkZWJhck5hdkxhYmVsQ29tcG9uZW50LFxuICAgIFNpZGViYXJOYXZUaXRsZUNvbXBvbmVudCxcbiAgICBTaWRlYmFyTmF2RGl2aWRlckNvbXBvbmVudCxcbiAgICBTaWRlYmFyTmF2R3JvdXBDb21wb25lbnQsXG4gICAgU2lkZWJhck5hdkl0ZW1DbGFzc1BpcGUsXG4gICAgUm91dGVyTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2lkZWJhck5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIHNpZGViYXI6IFNpZGViYXJDb21wb25lbnQsXG4gICAgcHVibGljIGhlbHBlcjogU2lkZWJhck5hdkhlbHBlcixcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBzaWRlYmFyU2VydmljZTogU2lkZWJhclNlcnZpY2VcbiAgKSB7IH1cblxuICBASW5wdXQoKSBuYXZJdGVtcz86IElOYXZEYXRhW10gPSBbXTtcbiAgQElucHV0KCkgZHJvcGRvd25Nb2RlOiAncGF0aCcgfCAnbm9uZScgfCAnY2xvc2UnID0gJ3BhdGgnO1xuICBASW5wdXQoKSBncm91cEl0ZW1zPzogYm9vbGVhbjtcbiAgQElucHV0KCkgY29tcGFjdD86IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICAnc2lkZWJhci1uYXYnOiAhdGhpcy5ncm91cEl0ZW1zLFxuICAgICAgY29tcGFjdDogIXRoaXMuZ3JvdXBJdGVtcyAmJiAhIXRoaXMuY29tcGFjdFxuICAgIH07XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5hdi1ncm91cC1pdGVtcycpXG4gIGdldCBzaWRlYmFyTmF2R3JvdXBJdGVtc0NsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZ3JvdXBJdGVtcztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICduYXYnO1xuXG4gIHB1YmxpYyBuYXZJdGVtc0FycmF5OiBJTmF2RGF0YVtdID0gW107XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLm5hdkl0ZW1zQXJyYXkgPSBBcnJheS5pc0FycmF5KHRoaXMubmF2SXRlbXMpID8gdGhpcy5uYXZJdGVtcy5zbGljZSgpIDogW107XG4gIH1cblxuICBwdWJsaWMgaGlkZU1vYmlsZSgpOiB2b2lkIHtcbiAgICAvLyB0b2RvOiBwcm9wZXIgc2Nyb2xsSW50b1ZpZXcoKSBhZnRlciBOYXZpZ2F0aW9uRW5kXG4gICAgaWYgKHRoaXMuc2lkZWJhciAmJiB0aGlzLnNpZGViYXIuc2lkZWJhclN0YXRlLm1vYmlsZSkge1xuICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS50b2dnbGUoeyB0b2dnbGU6ICd2aXNpYmxlJywgc2lkZWJhcjogdGhpcy5zaWRlYmFyIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGEgKGNsaWNrKT1cInRvZ2dsZUdyb3VwKCRldmVudClcIlxuICAgW2NIdG1sQXR0cl09XCJpdGVtLmF0dHJpYnV0ZXNcIlxuICAgY2xhc3M9XCJuYXYtbGluayBuYXYtZ3JvdXAtdG9nZ2xlXCJcbiAgIGhyZWY+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uVGVtcGxhdGUgOyBjb250ZXh0OiB7JGltcGxpY2l0OiBpdGVtfVwiIC8+XG4gIDxuZy1jb250YWluZXI+e3sgaXRlbS5uYW1lIH19PC9uZy1jb250YWluZXI+XG4gIDxzcGFuICpuZ0lmPVwiaGVscGVyLmhhc0JhZGdlKGl0ZW0pXCIgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2QmFkZ2VcIj57eyBpdGVtLmJhZGdlLnRleHQgfX08L3NwYW4+XG48L2E+XG48Yy1zaWRlYmFyLW5hdlxuICAoQG9wZW5DbG9zZS5kb25lKT1cIm9uQW5pbWF0aW9uRG9uZSgkZXZlbnQpXCJcbiAgKEBvcGVuQ2xvc2Uuc3RhcnQpPVwib25BbmltYXRpb25TdGFydCgkZXZlbnQpXCJcbiAgW0BvcGVuQ2xvc2VdPVwib3BlbiA/ICdvcGVuJyA6ICdjbG9zZWQnXCJcbiAgW2Ryb3Bkb3duTW9kZV09XCJkcm9wZG93bk1vZGVcIlxuICBbZ3JvdXBJdGVtc109XCJ0cnVlXCJcbiAgW25hdkl0ZW1zXT1cIm5hdkl0ZW1zXCJcbiAgW25nU3R5bGVdPVwiZGlzcGxheVwiXG4vPlxuXG48bmctdGVtcGxhdGUgI2ljb25UZW1wbGF0ZSBsZXQtaXRlbT5cbiAgPGkgKm5nSWY9XCJpdGVtPy5pY29uXCIgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2SWNvblwiPjwvaT5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIml0ZW0/Lmljb25Db21wb25lbnRcIj5cbiAgICA8c3ZnXG4gICAgICBbY0ljb25dPVwiaXRlbS5pY29uQ29tcG9uZW50Py5jb250ZW50XCJcbiAgICAgIFtjdXN0b21DbGFzc2VzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkljb25cIlxuICAgICAgW25hbWVdPVwiaXRlbS5pY29uQ29tcG9uZW50Py5uYW1lXCJcbiAgICAvPlxuICA8L25nLXRlbXBsYXRlPlxuICA8c3BhbiAqbmdJZj1cIiFpdGVtPy5pY29uICYmICFpdGVtPy5pY29uQ29tcG9uZW50XCIgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2SWNvblwiPjwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5hdkl0ZW1zQXJyYXlcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaGVscGVyLml0ZW1UeXBlKGl0ZW0pXCI+XG4gICAgPGMtc2lkZWJhci1uYXYtZ3JvdXBcbiAgICAgICNybGE9XCJyb3V0ZXJMaW5rQWN0aXZlXCJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCInZ3JvdXAnXCJcbiAgICAgIFtkcm9wZG93bk1vZGVdPVwiZHJvcGRvd25Nb2RlXCJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2SXRlbUNsYXNzXCJcbiAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7ZXhhY3Q6IHRydWV9XCJcbiAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJzaG93XCJcbiAgICA+XG4gICAgPC9jLXNpZGViYXItbmF2LWdyb3VwPlxuICAgIDxjLXNpZGViYXItbmF2LWRpdmlkZXJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCInZGl2aWRlcidcIlxuICAgICAgW2NIdG1sQXR0cl09XCJpdGVtLmF0dHJpYnV0ZXMgPz8ge31cIlxuICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJdGVtQ2xhc3NcIj5cbiAgICA8L2Mtc2lkZWJhci1uYXYtZGl2aWRlcj5cbiAgICA8Yy1zaWRlYmFyLW5hdi10aXRsZVxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIid0aXRsZSdcIlxuICAgICAgW2NIdG1sQXR0cl09XCJpdGVtLmF0dHJpYnV0ZXMgPz8ge31cIlxuICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJdGVtQ2xhc3NcIj5cbiAgICA8L2Mtc2lkZWJhci1uYXYtdGl0bGU+XG4gICAgPGMtc2lkZWJhci1uYXYtbGFiZWxcbiAgICAgICpuZ1N3aXRjaENhc2U9XCInbGFiZWwnXCJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2SXRlbUNsYXNzXCI+XG4gICAgPC9jLXNpZGViYXItbmF2LWxhYmVsPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCInZW1wdHknXCI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGMtc2lkZWJhci1uYXYtbGlua1xuICAgICAgKGxpbmtDbGljayk9XCJoaWRlTW9iaWxlKClcIlxuICAgICAgKm5nU3dpdGNoRGVmYXVsdFxuICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJdGVtQ2xhc3NcIlxuICAgID5cbiAgICA8L2Mtc2lkZWJhci1uYXYtbGluaz5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -14,8 +14,7 @@ import { createPopper } from '@popperjs/core';
14
14
  import * as i1$2 from '@angular/cdk/layout';
15
15
  import * as i3 from '@angular/cdk/a11y';
16
16
  import { A11yModule } from '@angular/cdk/a11y';
17
- import * as i4 from '@coreui/icons-angular';
18
- import { IconModule } from '@coreui/icons-angular';
17
+ import { IconDirective } from '@coreui/icons-angular';
19
18
 
20
19
  var BreakpointInfix;
21
20
  (function (BreakpointInfix) {
@@ -7367,11 +7366,20 @@ class SidebarNavLinkComponent {
7367
7366
  this.linkClick.emit();
7368
7367
  }
7369
7368
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: SidebarNavLinkComponent, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
7370
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: SidebarNavLinkComponent, isStandalone: true, selector: "c-sidebar-nav-link", inputs: { item: "item" }, outputs: { linkClick: "linkClick" }, providers: [SidebarNavHelper], ngImport: i0, template: "<ng-container [ngSwitch]=\"linkType\">\n <a *ngSwitchCase=\"'disabled'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchCase=\"'external'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [href]=\"href\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n (click)=\"linkClicked()\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchDefault\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [target]=\"item.attributes?.['target']\"\n [queryParams]=\"item.linkProps?.queryParams ?? null\"\n [fragment]=\"item.linkProps?.fragment\"\n [queryParamsHandling]=\"item.linkProps?.queryParamsHandling\"\n [preserveFragment]=\"item.linkProps?.preserveFragment ?? false\"\n [skipLocationChange]=\"item.linkProps?.skipLocationChange ?? false\"\n [replaceUrl]=\"item.linkProps?.replaceUrl ?? false\"\n [state]=\"item.linkProps?.state ?? {}\"\n [routerLink]=\"item.url\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"item.linkProps?.routerLinkActiveOptions ?? { exact: false }\"\n (click)=\"linkClicked()\"\n >\n<!-- [class.active]=\"linkActive\"-->\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n</ng-container>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [name]=\"item.iconComponent?.name\"\n [customClasses]=\"item | cSidebarNavIcon\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "component", type: SidebarNavLinkContentComponent, selector: "c-sidebar-nav-link-content", inputs: ["item"] }, { kind: "pipe", type: SidebarNavLinkPipe, name: "cSidebarNavLink" }, { kind: "pipe", type: SidebarNavBadgePipe, name: "cSidebarNavBadge" }, { kind: "pipe", type: SidebarNavIconPipe, name: "cSidebarNavIcon" }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i4.IconDirective, selector: "svg[cIcon]", inputs: ["cIcon", "size", "title", "customClasses", "width", "height", "name", "viewBox", "xmlns", "pointer-events", "role"], exportAs: ["cIcon"] }] }); }
7369
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: SidebarNavLinkComponent, isStandalone: true, selector: "c-sidebar-nav-link", inputs: { item: "item" }, outputs: { linkClick: "linkClick" }, providers: [SidebarNavHelper], ngImport: i0, template: "<ng-container [ngSwitch]=\"linkType\">\n <a *ngSwitchCase=\"'disabled'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchCase=\"'external'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [href]=\"href\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n (click)=\"linkClicked()\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchDefault\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [target]=\"item.attributes?.['target']\"\n [queryParams]=\"item.linkProps?.queryParams ?? null\"\n [fragment]=\"item.linkProps?.fragment\"\n [queryParamsHandling]=\"item.linkProps?.queryParamsHandling\"\n [preserveFragment]=\"item.linkProps?.preserveFragment ?? false\"\n [skipLocationChange]=\"item.linkProps?.skipLocationChange ?? false\"\n [replaceUrl]=\"item.linkProps?.replaceUrl ?? false\"\n [state]=\"item.linkProps?.state ?? {}\"\n [routerLink]=\"item.url\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"item.linkProps?.routerLinkActiveOptions ?? { exact: false }\"\n (click)=\"linkClicked()\"\n >\n<!-- [class.active]=\"linkActive\"-->\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n</ng-container>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [name]=\"item.iconComponent?.name\"\n [customClasses]=\"item | cSidebarNavIcon\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: IconDirective, selector: "svg[cIcon]", inputs: ["cIcon", "size", "title", "customClasses", "width", "height", "name", "viewBox", "xmlns", "pointer-events", "role"], exportAs: ["cIcon"] }, { kind: "component", type: SidebarNavLinkContentComponent, selector: "c-sidebar-nav-link-content", inputs: ["item"] }, { kind: "pipe", type: SidebarNavLinkPipe, name: "cSidebarNavLink" }, { kind: "pipe", type: SidebarNavBadgePipe, name: "cSidebarNavBadge" }, { kind: "pipe", type: SidebarNavIconPipe, name: "cSidebarNavIcon" }] }); }
7371
7370
  }
7372
7371
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: SidebarNavLinkComponent, decorators: [{
7373
7372
  type: Component,
7374
- args: [{ selector: 'c-sidebar-nav-link', providers: [SidebarNavHelper], standalone: true, imports: [CommonModule, RouterModule, HtmlAttributesDirective, SidebarNavLinkContentComponent, SidebarNavLinkPipe, SidebarNavBadgePipe, SidebarNavIconPipe, IconModule], template: "<ng-container [ngSwitch]=\"linkType\">\n <a *ngSwitchCase=\"'disabled'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchCase=\"'external'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [href]=\"href\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n (click)=\"linkClicked()\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchDefault\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [target]=\"item.attributes?.['target']\"\n [queryParams]=\"item.linkProps?.queryParams ?? null\"\n [fragment]=\"item.linkProps?.fragment\"\n [queryParamsHandling]=\"item.linkProps?.queryParamsHandling\"\n [preserveFragment]=\"item.linkProps?.preserveFragment ?? false\"\n [skipLocationChange]=\"item.linkProps?.skipLocationChange ?? false\"\n [replaceUrl]=\"item.linkProps?.replaceUrl ?? false\"\n [state]=\"item.linkProps?.state ?? {}\"\n [routerLink]=\"item.url\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"item.linkProps?.routerLinkActiveOptions ?? { exact: false }\"\n (click)=\"linkClicked()\"\n >\n<!-- [class.active]=\"linkActive\"-->\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n</ng-container>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [name]=\"item.iconComponent?.name\"\n [customClasses]=\"item | cSidebarNavIcon\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n" }]
7373
+ args: [{ selector: 'c-sidebar-nav-link', providers: [SidebarNavHelper], standalone: true, imports: [
7374
+ CommonModule,
7375
+ RouterModule,
7376
+ HtmlAttributesDirective,
7377
+ IconDirective,
7378
+ SidebarNavLinkContentComponent,
7379
+ SidebarNavLinkPipe,
7380
+ SidebarNavBadgePipe,
7381
+ SidebarNavIconPipe
7382
+ ], template: "<ng-container [ngSwitch]=\"linkType\">\n <a *ngSwitchCase=\"'disabled'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchCase=\"'external'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [href]=\"href\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n (click)=\"linkClicked()\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchDefault\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [target]=\"item.attributes?.['target']\"\n [queryParams]=\"item.linkProps?.queryParams ?? null\"\n [fragment]=\"item.linkProps?.fragment\"\n [queryParamsHandling]=\"item.linkProps?.queryParamsHandling\"\n [preserveFragment]=\"item.linkProps?.preserveFragment ?? false\"\n [skipLocationChange]=\"item.linkProps?.skipLocationChange ?? false\"\n [replaceUrl]=\"item.linkProps?.replaceUrl ?? false\"\n [state]=\"item.linkProps?.state ?? {}\"\n [routerLink]=\"item.url\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"item.linkProps?.routerLinkActiveOptions ?? { exact: false }\"\n (click)=\"linkClicked()\"\n >\n<!-- [class.active]=\"linkActive\"-->\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n</ng-container>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [name]=\"item.iconComponent?.name\"\n [customClasses]=\"item | cSidebarNavIcon\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n" }]
7375
7383
  }], ctorParameters: function () { return [{ type: i1$1.Router }]; }, propDecorators: { item: [{
7376
7384
  type: Input
7377
7385
  }], linkClick: [{
@@ -7611,7 +7619,7 @@ class SidebarNavGroupComponent {
7611
7619
  }
7612
7620
  }
7613
7621
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: SidebarNavGroupComponent, deps: [{ token: i1$1.Router }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: SidebarNavHelper }, { token: SidebarNavGroupService }], target: i0.ɵɵFactoryTarget.Component }); }
7614
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: SidebarNavGroupComponent, isStandalone: true, selector: "c-sidebar-nav-group", inputs: { item: "item", dropdownMode: "dropdownMode", show: "show" }, host: { properties: { "class": "this.hostClasses" } }, providers: [SidebarNavHelper, SidebarNavGroupService], viewQueries: [{ propertyName: "sidebarNav", first: true, predicate: i0.forwardRef(function () { return SidebarNavComponent; }), descendants: true, read: ElementRef }], ngImport: i0, template: "<a (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"item.attributes\"\n class=\"nav-link nav-group-toggle\"\n href>\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n<c-sidebar-nav\n (@openClose.done)=\"onAnimationDone($event)\"\n (@openClose.start)=\"onAnimationStart($event)\"\n [@openClose]=\"open ? 'open' : 'closed'\"\n [dropdownMode]=\"dropdownMode\"\n [groupItems]=\"true\"\n [navItems]=\"navItems\"\n [ngStyle]=\"display\"\n>\n</c-sidebar-nav>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"item.iconComponent?.name\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return HtmlAttributesDirective; }), selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: i0.forwardRef(function () { return NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return IconModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i4.IconDirective; }), selector: "svg[cIcon]", inputs: ["cIcon", "size", "title", "customClasses", "width", "height", "name", "viewBox", "xmlns", "pointer-events", "role"], exportAs: ["cIcon"] }, { kind: "pipe", type: i0.forwardRef(function () { return SidebarNavIconPipe; }), name: "cSidebarNavIcon" }, { kind: "pipe", type: i0.forwardRef(function () { return SidebarNavBadgePipe; }), name: "cSidebarNavBadge" }, { kind: "component", type: i0.forwardRef(function () { return SidebarNavComponent; }), selector: "c-sidebar-nav", inputs: ["navItems", "dropdownMode", "groupItems", "compact"] }, { kind: "directive", type: i0.forwardRef(function () { return NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }], animations: [
7622
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: SidebarNavGroupComponent, isStandalone: true, selector: "c-sidebar-nav-group", inputs: { item: "item", dropdownMode: "dropdownMode", show: "show" }, host: { properties: { "class": "this.hostClasses" } }, providers: [SidebarNavHelper, SidebarNavGroupService], viewQueries: [{ propertyName: "sidebarNav", first: true, predicate: i0.forwardRef(function () { return SidebarNavComponent; }), descendants: true, read: ElementRef }], ngImport: i0, template: "<a (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"item.attributes\"\n class=\"nav-link nav-group-toggle\"\n href>\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\" />\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n<c-sidebar-nav\n (@openClose.done)=\"onAnimationDone($event)\"\n (@openClose.start)=\"onAnimationStart($event)\"\n [@openClose]=\"open ? 'open' : 'closed'\"\n [dropdownMode]=\"dropdownMode\"\n [groupItems]=\"true\"\n [navItems]=\"navItems\"\n [ngStyle]=\"display\"\n/>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"item.iconComponent?.name\"\n />\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return HtmlAttributesDirective; }), selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: i0.forwardRef(function () { return IconDirective; }), selector: "svg[cIcon]", inputs: ["cIcon", "size", "title", "customClasses", "width", "height", "name", "viewBox", "xmlns", "pointer-events", "role"], exportAs: ["cIcon"] }, { kind: "directive", type: i0.forwardRef(function () { return NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i0.forwardRef(function () { return SidebarNavIconPipe; }), name: "cSidebarNavIcon" }, { kind: "pipe", type: i0.forwardRef(function () { return SidebarNavBadgePipe; }), name: "cSidebarNavBadge" }, { kind: "component", type: i0.forwardRef(function () { return SidebarNavComponent; }), selector: "c-sidebar-nav", inputs: ["navItems", "dropdownMode", "groupItems", "compact"] }, { kind: "directive", type: i0.forwardRef(function () { return NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }], animations: [
7615
7623
  trigger('openClose', [
7616
7624
  state('open', style({
7617
7625
  height: '*'
@@ -7629,10 +7637,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
7629
7637
  type: Component,
7630
7638
  args: [{ selector: 'c-sidebar-nav-group', providers: [SidebarNavHelper, SidebarNavGroupService], standalone: true, imports: [
7631
7639
  HtmlAttributesDirective,
7640
+ IconDirective,
7632
7641
  NgTemplateOutlet,
7633
7642
  NgIf,
7634
7643
  NgClass,
7635
- IconModule,
7636
7644
  SidebarNavIconPipe,
7637
7645
  SidebarNavBadgePipe,
7638
7646
  forwardRef(() => SidebarNavComponent),
@@ -7649,7 +7657,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
7649
7657
  animate('.15s ease')
7650
7658
  ])
7651
7659
  ])
7652
- ], template: "<a (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"item.attributes\"\n class=\"nav-link nav-group-toggle\"\n href>\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n<c-sidebar-nav\n (@openClose.done)=\"onAnimationDone($event)\"\n (@openClose.start)=\"onAnimationStart($event)\"\n [@openClose]=\"open ? 'open' : 'closed'\"\n [dropdownMode]=\"dropdownMode\"\n [groupItems]=\"true\"\n [navItems]=\"navItems\"\n [ngStyle]=\"display\"\n>\n</c-sidebar-nav>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"item.iconComponent?.name\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"] }]
7660
+ ], template: "<a (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"item.attributes\"\n class=\"nav-link nav-group-toggle\"\n href>\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\" />\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n<c-sidebar-nav\n (@openClose.done)=\"onAnimationDone($event)\"\n (@openClose.start)=\"onAnimationStart($event)\"\n [@openClose]=\"open ? 'open' : 'closed'\"\n [dropdownMode]=\"dropdownMode\"\n [groupItems]=\"true\"\n [navItems]=\"navItems\"\n [ngStyle]=\"display\"\n/>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"item.iconComponent?.name\"\n />\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"] }]
7653
7661
  }], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: SidebarNavHelper }, { type: SidebarNavGroupService }]; }, propDecorators: { item: [{
7654
7662
  type: Input
7655
7663
  }], dropdownMode: [{