@testgorilla/tgo-ui 2.32.3 → 2.33.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { MatDialogRef } from '@angular/material/dialog';
2
- import { ConfirmDialogData } from './confirm-dialog.model';
3
- import { ApplicationTheme } from '../../models/application-theme.model';
4
2
  import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
3
+ import { ApplicationTheme } from '../../models/application-theme.model';
4
+ import { ConfirmDialogData } from './confirm-dialog.model';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class ConfirmDialogComponent {
7
7
  private readonly defaultAppTheme;
@@ -16,6 +16,9 @@ export declare class ConfirmDialogComponent {
16
16
  confirmMessageHtml: SafeHtml | undefined;
17
17
  showCloseButton: boolean;
18
18
  showSecondaryButton: boolean;
19
+ color: string | null;
20
+ primaryButtonDataTestId: string | null;
21
+ secondaryButtonDataTestId: string | null;
19
22
  /**
20
23
  *
21
24
  * Defines the application theme
@@ -9,4 +9,6 @@ export interface ConfirmDialogData {
9
9
  messageHtml?: string;
10
10
  showCloseButton?: boolean;
11
11
  showSecondaryButton?: boolean;
12
+ primaryButtonDataTestId?: string;
13
+ secondaryButtonDataTestId?: string;
12
14
  }
@@ -10,6 +10,7 @@ export declare class MobileNavbarSideSheetComponent {
10
10
  userName: string;
11
11
  menuItems: MenuItem[];
12
12
  contentTemplateRef: TemplateRef<any>;
13
+ userInfoExtraTemplateRef: TemplateRef<any>;
13
14
  isDesktop: boolean;
14
15
  applicationTheme: ApplicationTheme;
15
16
  navigateEvent: EventEmitter<string>;
@@ -22,5 +23,5 @@ export declare class MobileNavbarSideSheetComponent {
22
23
  logout(): void;
23
24
  clickMenuItem(id: string): void;
24
25
  static ɵfac: i0.ɵɵFactoryDeclaration<MobileNavbarSideSheetComponent, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<MobileNavbarSideSheetComponent, "ui-mobile-navbar-side-sheet", never, { "routes": { "alias": "routes"; "required": false; }; "activedRoute": { "alias": "activedRoute"; "required": false; "isSignal": true; }; "email": { "alias": "email"; "required": false; }; "userName": { "alias": "userName"; "required": false; }; "menuItems": { "alias": "menuItems"; "required": false; }; "contentTemplateRef": { "alias": "contentTemplateRef"; "required": false; }; "isDesktop": { "alias": "isDesktop"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; }, { "navigateEvent": "navigateEvent"; "menuItemClicked": "menuItemClicked"; "logoutEvent": "logoutEvent"; }, never, never, true, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<MobileNavbarSideSheetComponent, "ui-mobile-navbar-side-sheet", never, { "routes": { "alias": "routes"; "required": false; }; "activedRoute": { "alias": "activedRoute"; "required": false; "isSignal": true; }; "email": { "alias": "email"; "required": false; }; "userName": { "alias": "userName"; "required": false; }; "menuItems": { "alias": "menuItems"; "required": false; }; "contentTemplateRef": { "alias": "contentTemplateRef"; "required": false; }; "userInfoExtraTemplateRef": { "alias": "userInfoExtraTemplateRef"; "required": false; }; "isDesktop": { "alias": "isDesktop"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; }, { "navigateEvent": "navigateEvent"; "menuItemClicked": "menuItemClicked"; "logoutEvent": "logoutEvent"; }, never, never, true, never>;
26
27
  }
@@ -63,6 +63,12 @@ export declare class NavbarComponent {
63
63
  * @memberof NavbarComponent
64
64
  */
65
65
  contentTemplateRef: TemplateRef<any>;
66
+ /**
67
+ * Additional info template reference for the extra user info in the dropdown/sidesheet
68
+ * @type {TemplateRef<any>}
69
+ * @memberof NavbarComponent
70
+ */
71
+ userInfoExtraTemplateRef: TemplateRef<any>;
66
72
  /**
67
73
  * Mobile breakpoint
68
74
  * @type {number}
@@ -116,5 +122,5 @@ export declare class NavbarComponent {
116
122
  onChangeMenuState(isOpened: boolean, screenSize: ScreenSize): void;
117
123
  protected readonly AvatarSize: typeof AvatarSize;
118
124
  static ɵfac: i0.ɵɵFactoryDeclaration<NavbarComponent, [null, { optional: true; }, null, null]>;
119
- static ɵcmp: i0.ɵɵComponentDeclaration<NavbarComponent, "ui-navbar", never, { "routes": { "alias": "routes"; "required": false; }; "activedRoute": { "alias": "activedRoute"; "required": false; "isSignal": true; }; "userName": { "alias": "userName"; "required": false; }; "email": { "alias": "email"; "required": false; }; "menuItems": { "alias": "menuItems"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "contentTemplateRef": { "alias": "contentTemplateRef"; "required": false; }; "mobileBreakpoint": { "alias": "mobileBreakpoint"; "required": false; }; "isAvatar": { "alias": "isAvatar"; "required": false; }; "menuClass": { "alias": "menuClass"; "required": false; }; }, { "navigateEvent": "navigateEvent"; "menuItemClicked": "menuItemClicked"; "logoutEvent": "logoutEvent"; "menuState": "menuState"; }, never, ["[actions]", "*"], false, never>;
125
+ static ɵcmp: i0.ɵɵComponentDeclaration<NavbarComponent, "ui-navbar", never, { "routes": { "alias": "routes"; "required": false; }; "activedRoute": { "alias": "activedRoute"; "required": false; "isSignal": true; }; "userName": { "alias": "userName"; "required": false; }; "email": { "alias": "email"; "required": false; }; "menuItems": { "alias": "menuItems"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "contentTemplateRef": { "alias": "contentTemplateRef"; "required": false; }; "userInfoExtraTemplateRef": { "alias": "userInfoExtraTemplateRef"; "required": false; }; "mobileBreakpoint": { "alias": "mobileBreakpoint"; "required": false; }; "isAvatar": { "alias": "isAvatar"; "required": false; }; "menuClass": { "alias": "menuClass"; "required": false; }; }, { "navigateEvent": "navigateEvent"; "menuItemClicked": "menuItemClicked"; "logoutEvent": "logoutEvent"; "menuState": "menuState"; }, never, ["[actions]", "*"], false, never>;
120
126
  }
@@ -29,19 +29,24 @@ export class ConfirmDialogComponent {
29
29
  this.cancelButtonText = data.cancelButtonText;
30
30
  this.title = data.title;
31
31
  this.lang = data.language ?? LanguageService.defaultLanguage;
32
- this.confirmMessageHtml = data.messageHtml ? this.domSanitizer.bypassSecurityTrustHtml(data.messageHtml) : undefined;
32
+ this.confirmMessageHtml = data.messageHtml
33
+ ? this.domSanitizer.bypassSecurityTrustHtml(data.messageHtml)
34
+ : undefined;
33
35
  this.showCloseButton = data.showCloseButton ?? false;
34
36
  this.showSecondaryButton = data.showSecondaryButton ?? true;
37
+ this.color = data.color ?? null;
38
+ this.primaryButtonDataTestId = data.primaryButtonDataTestId ?? null;
39
+ this.secondaryButtonDataTestId = data.secondaryButtonDataTestId ?? null;
35
40
  if (defaultAppTheme) {
36
41
  this.applicationTheme = defaultAppTheme;
37
42
  }
38
43
  }
39
44
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ConfirmDialogComponent, selector: "ui-confirm-dialog", inputs: { applicationTheme: "applicationTheme" }, ngImport: i0, template: "<ng-container>\n <ui-dialog\n [title]=\"title ?? (('COMMON.CONFIRM') | uiTranslate | async)!\"\n [primaryButtonLabel]=\"confirmButtonText ?? (('COMMON.YES') | uiTranslate | async)!\"\n [secondaryButtonLabel]=\"showSecondaryButton ? (cancelButtonText ?? (('COMMON.CANCEL') | uiTranslate | async)!) : undefined\"\n (primaryButtonClickEvent)=\"dialogRef.close(true)\"\n (secondaryButtonClickEvent)=\"dialogRef.close(false)\"\n (closeEvent)=\"dialogRef.close(null)\"\n primaryButtonType=\"primary\"\n secondaryButtonType=\"outlined\"\n [applicationTheme]=\"applicationTheme\"\n [showCloseButton]=\"showCloseButton\"\n >\n <div class=\"message\">{{ confirmMessage }}</div>\n @if (confirmMessageHtml) {\n <div class=\"message\" [innerHTML]=\"confirmMessageHtml\"></div>\n }\n </ui-dialog>\n\n</ng-container>\n", styles: ["::ng-deep .ui-dialog-wrapper{max-width:600px!important}\n"], dependencies: [{ kind: "component", type: i3.DialogComponent, selector: "ui-dialog", inputs: ["title", "showCloseButton", "canCloseFn", "secondaryButtonLabel", "primaryButtonLabel", "secondaryButtonType", "primaryButtonType", "primaryButtonDataTestId", "secondaryButtonDataTestId", "companyColor", "applicationTheme", "disablePrimaryButton", "disableClose", "shouldDisableButtons", "ariaLabelledby", "ariaDescribedby", "keyboardOpen"], outputs: ["closeEvent", "secondaryButtonClickEvent", "primaryButtonClickEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.UiTranslatePipe, name: "uiTranslate" }] }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ConfirmDialogComponent, selector: "ui-confirm-dialog", inputs: { applicationTheme: "applicationTheme" }, ngImport: i0, template: "<ng-container>\n <ui-dialog\n [title]=\"title ?? ('COMMON.CONFIRM' | uiTranslate | async)!\"\n [primaryButtonLabel]=\"confirmButtonText ?? ('COMMON.YES' | uiTranslate | async)!\"\n [secondaryButtonLabel]=\"\n showSecondaryButton ? cancelButtonText ?? ('COMMON.CANCEL' | uiTranslate | async)! : undefined\n \"\n (primaryButtonClickEvent)=\"dialogRef.close(true)\"\n (secondaryButtonClickEvent)=\"dialogRef.close(false)\"\n (closeEvent)=\"dialogRef.close(null)\"\n primaryButtonType=\"primary\"\n secondaryButtonType=\"outlined\"\n [applicationTheme]=\"applicationTheme\"\n [showCloseButton]=\"showCloseButton\"\n [companyColor]=\"color\"\n [primaryButtonDataTestId]=\"primaryButtonDataTestId\"\n [secondaryButtonDataTestId]=\"secondaryButtonDataTestId\"\n >\n <div class=\"message\">{{ confirmMessage }}</div>\n @if (confirmMessageHtml) {\n <div class=\"message\" [innerHTML]=\"confirmMessageHtml\"></div>\n }\n </ui-dialog>\n</ng-container>\n", styles: ["::ng-deep .ui-dialog-wrapper{max-width:600px!important}\n"], dependencies: [{ kind: "component", type: i3.DialogComponent, selector: "ui-dialog", inputs: ["title", "showCloseButton", "canCloseFn", "secondaryButtonLabel", "primaryButtonLabel", "secondaryButtonType", "primaryButtonType", "primaryButtonDataTestId", "secondaryButtonDataTestId", "companyColor", "applicationTheme", "disablePrimaryButton", "disableClose", "shouldDisableButtons", "ariaLabelledby", "ariaDescribedby", "keyboardOpen"], outputs: ["closeEvent", "secondaryButtonClickEvent", "primaryButtonClickEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.UiTranslatePipe, name: "uiTranslate" }] }); }
41
46
  }
42
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
43
48
  type: Component,
44
- args: [{ selector: 'ui-confirm-dialog', template: "<ng-container>\n <ui-dialog\n [title]=\"title ?? (('COMMON.CONFIRM') | uiTranslate | async)!\"\n [primaryButtonLabel]=\"confirmButtonText ?? (('COMMON.YES') | uiTranslate | async)!\"\n [secondaryButtonLabel]=\"showSecondaryButton ? (cancelButtonText ?? (('COMMON.CANCEL') | uiTranslate | async)!) : undefined\"\n (primaryButtonClickEvent)=\"dialogRef.close(true)\"\n (secondaryButtonClickEvent)=\"dialogRef.close(false)\"\n (closeEvent)=\"dialogRef.close(null)\"\n primaryButtonType=\"primary\"\n secondaryButtonType=\"outlined\"\n [applicationTheme]=\"applicationTheme\"\n [showCloseButton]=\"showCloseButton\"\n >\n <div class=\"message\">{{ confirmMessage }}</div>\n @if (confirmMessageHtml) {\n <div class=\"message\" [innerHTML]=\"confirmMessageHtml\"></div>\n }\n </ui-dialog>\n\n</ng-container>\n", styles: ["::ng-deep .ui-dialog-wrapper{max-width:600px!important}\n"] }]
49
+ args: [{ selector: 'ui-confirm-dialog', template: "<ng-container>\n <ui-dialog\n [title]=\"title ?? ('COMMON.CONFIRM' | uiTranslate | async)!\"\n [primaryButtonLabel]=\"confirmButtonText ?? ('COMMON.YES' | uiTranslate | async)!\"\n [secondaryButtonLabel]=\"\n showSecondaryButton ? cancelButtonText ?? ('COMMON.CANCEL' | uiTranslate | async)! : undefined\n \"\n (primaryButtonClickEvent)=\"dialogRef.close(true)\"\n (secondaryButtonClickEvent)=\"dialogRef.close(false)\"\n (closeEvent)=\"dialogRef.close(null)\"\n primaryButtonType=\"primary\"\n secondaryButtonType=\"outlined\"\n [applicationTheme]=\"applicationTheme\"\n [showCloseButton]=\"showCloseButton\"\n [companyColor]=\"color\"\n [primaryButtonDataTestId]=\"primaryButtonDataTestId\"\n [secondaryButtonDataTestId]=\"secondaryButtonDataTestId\"\n >\n <div class=\"message\">{{ confirmMessage }}</div>\n @if (confirmMessageHtml) {\n <div class=\"message\" [innerHTML]=\"confirmMessageHtml\"></div>\n }\n </ui-dialog>\n</ng-container>\n", styles: ["::ng-deep .ui-dialog-wrapper{max-width:600px!important}\n"] }]
45
50
  }], ctorParameters: () => [{ type: undefined, decorators: [{
46
51
  type: Optional
47
52
  }, {
@@ -53,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
53
58
  }] }, { type: i2.DomSanitizer }], propDecorators: { applicationTheme: [{
54
59
  type: Input
55
60
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7O0FBUzVFLE1BQU0sT0FBTyxzQkFBc0I7SUFtQmpDLFlBQzZFLGVBQWlDLEVBQ3JHLFNBQStDLEVBQ3JCLElBQXVCLEVBQzlDLFlBQTBCO1FBSHVDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUNyRyxjQUFTLEdBQVQsU0FBUyxDQUFzQztRQUNyQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUM5QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWxCdEMsU0FBSSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUM7UUFFdkMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBRTNCOzs7Ozs7V0FNRztRQUNNLHFCQUFnQixHQUFxQixPQUFPLENBQUM7UUFRcEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLGVBQWUsQ0FBQyxlQUFlLENBQUM7UUFDN0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDckgsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLEtBQUssQ0FBQztRQUNyRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQztRQUU1RCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7K0dBckNVLHNCQUFzQixrQkFvQlgsb0NBQW9DLHlEQUVoRCxlQUFlO21HQXRCZCxzQkFBc0IsMkdDWm5DLG8xQkFvQkE7OzRGRFJhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxtQkFBbUI7OzBCQXdCMUIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQ0FBb0M7OzBCQUV2RCxNQUFNOzJCQUFDLGVBQWU7b0VBTGhCLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhIH0gZnJvbSAnLi9jb25maXJtLWRpYWxvZy5tb2RlbCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9sb2NhbGl6YXRpb24vbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktY29uZmlybS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maXJtRGlhbG9nQ29tcG9uZW50IHtcbiAgY29uZmlybU1lc3NhZ2U6IHN0cmluZztcbiAgY29uZmlybUJ1dHRvblRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0aXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBsYW5nID0gTGFuZ3VhZ2VTZXJ2aWNlLmRlZmF1bHRMYW5ndWFnZTtcbiAgY29uZmlybU1lc3NhZ2VIdG1sOiBTYWZlSHRtbCB8IHVuZGVmaW5lZDtcbiAgc2hvd0Nsb3NlQnV0dG9uID0gZmFsc2U7XG4gIHNob3dTZWNvbmRhcnlCdXR0b24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIERpYWxvZ0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lLFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb25maXJtRGlhbG9nQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkYXRhOiBDb25maXJtRGlhbG9nRGF0YSxcbiAgICBwcm90ZWN0ZWQgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICkge1xuICAgIHRoaXMuY29uZmlybU1lc3NhZ2UgPSBkYXRhLm1lc3NhZ2U7XG4gICAgdGhpcy5jb25maXJtQnV0dG9uVGV4dCA9IGRhdGEuY29uZmlybUJ1dHRvblRleHQ7XG4gICAgdGhpcy5jYW5jZWxCdXR0b25UZXh0ID0gZGF0YS5jYW5jZWxCdXR0b25UZXh0O1xuICAgIHRoaXMudGl0bGUgPSBkYXRhLnRpdGxlO1xuICAgIHRoaXMubGFuZyA9IGRhdGEubGFuZ3VhZ2UgPz8gTGFuZ3VhZ2VTZXJ2aWNlLmRlZmF1bHRMYW5ndWFnZTtcbiAgICB0aGlzLmNvbmZpcm1NZXNzYWdlSHRtbCA9IGRhdGEubWVzc2FnZUh0bWwgPyB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChkYXRhLm1lc3NhZ2VIdG1sKSA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNob3dDbG9zZUJ1dHRvbiA9IGRhdGEuc2hvd0Nsb3NlQnV0dG9uID8/IGZhbHNlO1xuICAgIHRoaXMuc2hvd1NlY29uZGFyeUJ1dHRvbiA9IGRhdGEuc2hvd1NlY29uZGFyeUJ1dHRvbiA/PyB0cnVlO1xuXG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPHVpLWRpYWxvZ1xuICAgIFt0aXRsZV09XCJ0aXRsZSA/PyAoKCdDT01NT04uQ09ORklSTScpIHwgdWlUcmFuc2xhdGUgfCBhc3luYykhXCJcbiAgICBbcHJpbWFyeUJ1dHRvbkxhYmVsXT1cImNvbmZpcm1CdXR0b25UZXh0ID8/ICgoJ0NPTU1PTi5ZRVMnKSB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgW3NlY29uZGFyeUJ1dHRvbkxhYmVsXT1cInNob3dTZWNvbmRhcnlCdXR0b24gPyAoY2FuY2VsQnV0dG9uVGV4dCA/PyAoKCdDT01NT04uQ0FOQ0VMJykgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jKSEpIDogdW5kZWZpbmVkXCJcbiAgICAocHJpbWFyeUJ1dHRvbkNsaWNrRXZlbnQpPVwiZGlhbG9nUmVmLmNsb3NlKHRydWUpXCJcbiAgICAoc2Vjb25kYXJ5QnV0dG9uQ2xpY2tFdmVudCk9XCJkaWFsb2dSZWYuY2xvc2UoZmFsc2UpXCJcbiAgICAoY2xvc2VFdmVudCk9XCJkaWFsb2dSZWYuY2xvc2UobnVsbClcIlxuICAgIHByaW1hcnlCdXR0b25UeXBlPVwicHJpbWFyeVwiXG4gICAgc2Vjb25kYXJ5QnV0dG9uVHlwZT1cIm91dGxpbmVkXCJcbiAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICBbc2hvd0Nsb3NlQnV0dG9uXT1cInNob3dDbG9zZUJ1dHRvblwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZVwiPnt7IGNvbmZpcm1NZXNzYWdlIH19PC9kaXY+XG4gICAgQGlmIChjb25maXJtTWVzc2FnZUh0bWwpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCIgW2lubmVySFRNTF09XCJjb25maXJtTWVzc2FnZUh0bWxcIj48L2Rpdj5cbiAgICB9XG4gIDwvdWktZGlhbG9nPlxuXG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFHekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7O0FBUTVFLE1BQU0sT0FBTyxzQkFBc0I7SUFzQmpDLFlBQzZFLGVBQWlDLEVBQ3JHLFNBQStDLEVBQ3JCLElBQXVCLEVBQzlDLFlBQTBCO1FBSHVDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUNyRyxjQUFTLEdBQVQsU0FBUyxDQUFzQztRQUNyQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUM5QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXJCdEMsU0FBSSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUM7UUFFdkMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBSzNCOzs7Ozs7V0FNRztRQUNNLHFCQUFnQixHQUFxQixPQUFPLENBQUM7UUFRcEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLGVBQWUsQ0FBQyxlQUFlLENBQUM7UUFDN0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxXQUFXO1lBQ3hDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDN0QsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNkLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxLQUFLLENBQUM7UUFDckQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUM7UUFDNUQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQztRQUNoQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixJQUFJLElBQUksQ0FBQztRQUNwRSxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixJQUFJLElBQUksQ0FBQztRQUV4RSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7K0dBN0NVLHNCQUFzQixrQkF1Qlgsb0NBQW9DLHlEQUVoRCxlQUFlO21HQXpCZCxzQkFBc0IsMkdDWm5DLDgrQkF3QkE7OzRGRFphLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxtQkFBbUI7OzBCQTJCMUIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQ0FBb0M7OzBCQUV2RCxNQUFNOzJCQUFDLGVBQWU7b0VBTGhCLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0RhdGEgfSBmcm9tICcuL2NvbmZpcm0tZGlhbG9nLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktY29uZmlybS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maXJtRGlhbG9nQ29tcG9uZW50IHtcbiAgY29uZmlybU1lc3NhZ2U6IHN0cmluZztcbiAgY29uZmlybUJ1dHRvblRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0aXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBsYW5nID0gTGFuZ3VhZ2VTZXJ2aWNlLmRlZmF1bHRMYW5ndWFnZTtcbiAgY29uZmlybU1lc3NhZ2VIdG1sOiBTYWZlSHRtbCB8IHVuZGVmaW5lZDtcbiAgc2hvd0Nsb3NlQnV0dG9uID0gZmFsc2U7XG4gIHNob3dTZWNvbmRhcnlCdXR0b24gPSB0cnVlO1xuICBjb2xvcjogc3RyaW5nIHwgbnVsbDtcbiAgcHJpbWFyeUJ1dHRvbkRhdGFUZXN0SWQ6IHN0cmluZyB8IG51bGw7XG4gIHNlY29uZGFyeUJ1dHRvbkRhdGFUZXN0SWQ6IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqXG4gICAqIERlZmluZXMgdGhlIGFwcGxpY2F0aW9uIHRoZW1lXG4gICAqXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxuICAgKiBAbWVtYmVyb2YgRGlhbG9nQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPENvbmZpcm1EaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIGRhdGE6IENvbmZpcm1EaWFsb2dEYXRhLFxuICAgIHByb3RlY3RlZCBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICApIHtcbiAgICB0aGlzLmNvbmZpcm1NZXNzYWdlID0gZGF0YS5tZXNzYWdlO1xuICAgIHRoaXMuY29uZmlybUJ1dHRvblRleHQgPSBkYXRhLmNvbmZpcm1CdXR0b25UZXh0O1xuICAgIHRoaXMuY2FuY2VsQnV0dG9uVGV4dCA9IGRhdGEuY2FuY2VsQnV0dG9uVGV4dDtcbiAgICB0aGlzLnRpdGxlID0gZGF0YS50aXRsZTtcbiAgICB0aGlzLmxhbmcgPSBkYXRhLmxhbmd1YWdlID8/IExhbmd1YWdlU2VydmljZS5kZWZhdWx0TGFuZ3VhZ2U7XG4gICAgdGhpcy5jb25maXJtTWVzc2FnZUh0bWwgPSBkYXRhLm1lc3NhZ2VIdG1sXG4gICAgICA/IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGRhdGEubWVzc2FnZUh0bWwpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNob3dDbG9zZUJ1dHRvbiA9IGRhdGEuc2hvd0Nsb3NlQnV0dG9uID8/IGZhbHNlO1xuICAgIHRoaXMuc2hvd1NlY29uZGFyeUJ1dHRvbiA9IGRhdGEuc2hvd1NlY29uZGFyeUJ1dHRvbiA/PyB0cnVlO1xuICAgIHRoaXMuY29sb3IgPSBkYXRhLmNvbG9yID8/IG51bGw7XG4gICAgdGhpcy5wcmltYXJ5QnV0dG9uRGF0YVRlc3RJZCA9IGRhdGEucHJpbWFyeUJ1dHRvbkRhdGFUZXN0SWQgPz8gbnVsbDtcbiAgICB0aGlzLnNlY29uZGFyeUJ1dHRvbkRhdGFUZXN0SWQgPSBkYXRhLnNlY29uZGFyeUJ1dHRvbkRhdGFUZXN0SWQgPz8gbnVsbDtcblxuICAgIGlmIChkZWZhdWx0QXBwVGhlbWUpIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IGRlZmF1bHRBcHBUaGVtZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDx1aS1kaWFsb2dcbiAgICBbdGl0bGVdPVwidGl0bGUgPz8gKCdDT01NT04uQ09ORklSTScgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jKSFcIlxuICAgIFtwcmltYXJ5QnV0dG9uTGFiZWxdPVwiY29uZmlybUJ1dHRvblRleHQgPz8gKCdDT01NT04uWUVTJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgW3NlY29uZGFyeUJ1dHRvbkxhYmVsXT1cIlxuICAgICAgc2hvd1NlY29uZGFyeUJ1dHRvbiA/IGNhbmNlbEJ1dHRvblRleHQgPz8gKCdDT01NT04uQ0FOQ0VMJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpISA6IHVuZGVmaW5lZFxuICAgIFwiXG4gICAgKHByaW1hcnlCdXR0b25DbGlja0V2ZW50KT1cImRpYWxvZ1JlZi5jbG9zZSh0cnVlKVwiXG4gICAgKHNlY29uZGFyeUJ1dHRvbkNsaWNrRXZlbnQpPVwiZGlhbG9nUmVmLmNsb3NlKGZhbHNlKVwiXG4gICAgKGNsb3NlRXZlbnQpPVwiZGlhbG9nUmVmLmNsb3NlKG51bGwpXCJcbiAgICBwcmltYXJ5QnV0dG9uVHlwZT1cInByaW1hcnlcIlxuICAgIHNlY29uZGFyeUJ1dHRvblR5cGU9XCJvdXRsaW5lZFwiXG4gICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgW3Nob3dDbG9zZUJ1dHRvbl09XCJzaG93Q2xvc2VCdXR0b25cIlxuICAgIFtjb21wYW55Q29sb3JdPVwiY29sb3JcIlxuICAgIFtwcmltYXJ5QnV0dG9uRGF0YVRlc3RJZF09XCJwcmltYXJ5QnV0dG9uRGF0YVRlc3RJZFwiXG4gICAgW3NlY29uZGFyeUJ1dHRvbkRhdGFUZXN0SWRdPVwic2Vjb25kYXJ5QnV0dG9uRGF0YVRlc3RJZFwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZVwiPnt7IGNvbmZpcm1NZXNzYWdlIH19PC9kaXY+XG4gICAgQGlmIChjb25maXJtTWVzc2FnZUh0bWwpIHtcbiAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZVwiIFtpbm5lckhUTUxdPVwiY29uZmlybU1lc3NhZ2VIdG1sXCI+PC9kaXY+XG4gICAgfVxuICA8L3VpLWRpYWxvZz5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtRGlhbG9nRGF0YSB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgY29uZmlybUJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gIGNhbmNlbEJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZztcbiAgbGFuZ3VhZ2U/OiBMYW5ndWFnZTtcbiAgbWVzc2FnZUh0bWw/OiBzdHJpbmc7XG4gIHNob3dDbG9zZUJ1dHRvbj86IGJvb2xlYW47XG4gIHNob3dTZWNvbmRhcnlCdXR0b24/OiBib29sZWFuO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtRGlhbG9nRGF0YSB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgY29uZmlybUJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gIGNhbmNlbEJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZztcbiAgbGFuZ3VhZ2U/OiBMYW5ndWFnZTtcbiAgbWVzc2FnZUh0bWw/OiBzdHJpbmc7XG4gIHNob3dDbG9zZUJ1dHRvbj86IGJvb2xlYW47XG4gIHNob3dTZWNvbmRhcnlCdXR0b24/OiBib29sZWFuO1xuICBwcmltYXJ5QnV0dG9uRGF0YVRlc3RJZD86IHN0cmluZztcbiAgc2Vjb25kYXJ5QnV0dG9uRGF0YVRlc3RJZD86IHN0cmluZztcbn1cbiJdfQ==
@@ -41,7 +41,7 @@ export class MobileNavbarSideSheetComponent {
41
41
  this.menuItemClicked.emit(id);
42
42
  }
43
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MobileNavbarSideSheetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: MobileNavbarSideSheetComponent, isStandalone: true, selector: "ui-mobile-navbar-side-sheet", inputs: { routes: { classPropertyName: "routes", publicName: "routes", isSignal: false, isRequired: false, transformFunction: null }, activedRoute: { classPropertyName: "activedRoute", publicName: "activedRoute", isSignal: true, isRequired: false, transformFunction: null }, email: { classPropertyName: "email", publicName: "email", isSignal: false, isRequired: false, transformFunction: null }, userName: { classPropertyName: "userName", publicName: "userName", isSignal: false, isRequired: false, transformFunction: null }, menuItems: { classPropertyName: "menuItems", publicName: "menuItems", isSignal: false, isRequired: false, transformFunction: null }, contentTemplateRef: { classPropertyName: "contentTemplateRef", publicName: "contentTemplateRef", isSignal: false, isRequired: false, transformFunction: null }, isDesktop: { classPropertyName: "isDesktop", publicName: "isDesktop", isSignal: false, isRequired: false, transformFunction: null }, applicationTheme: { classPropertyName: "applicationTheme", publicName: "applicationTheme", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { navigateEvent: "navigateEvent", menuItemClicked: "menuItemClicked", logoutEvent: "logoutEvent" }, ngImport: i0, template: "<div class=\"mobile-navbar-container\">\n <ng-container *ngIf=\"isDesktop\" [ngTemplateOutlet]=\"userInfo\"></ng-container>\n\n <div class=\"routes\">\n <div\n *ngFor=\"let route of routes\"\n [attr.data-testid]=\"route.id\"\n data-test-role=\"nav-route\"\n (click)=\"navigate(route.id)\"\n class=\"route\"\n [ngClass]=\"{ active: activeRoutesMap().get(route.id) }\"\n >\n <span>{{ route.title }}</span>\n </div>\n </div>\n\n <div class=\"settings\">\n <ng-container *ngFor=\"let e of menuItems\">\n <div *ngIf=\"e\" class=\"menu-item\">\n <ui-button\n [attr.data-testid]=\"e.id\"\n data-test-role=\"menu-item\"\n [applicationTheme]=\"applicationTheme\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"e.icon\"\n [label]=\"e.text\"\n (buttonClickEvent)=\"clickMenuItem(e.id)\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n [ariaLabel]=\"e.text + '--' + e.text\"\n ></ui-button>\n </div>\n </ng-container>\n </div>\n</div>\n\n<div class=\"bottom-content\" [ngClass]=\"{ desktop: isDesktop }\">\n <ng-container *ngIf=\"!isDesktop\" [ngTemplateOutlet]=\"contentTemplateRef\"></ng-container>\n <ng-container *ngIf=\"isDesktop; else tablet\">\n <div class=\"menu-item\">\n <ui-button\n data-testid=\"logout-button\"\n [applicationTheme]=\"applicationTheme\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"'Logout-in-line'\"\n [label]=\"(translationContext + 'LOG_OUT' | uiTranslate | async)!\"\n (buttonClickEvent)=\"logout()\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n ></ui-button>\n </div>\n </ng-container>\n\n <ng-template #tablet>\n <ng-container [ngTemplateOutlet]=\"userInfo\"></ng-container>\n </ng-template>\n</div>\n\n<ng-template #userInfo>\n <div class=\"user-info\" [ngClass]=\"{ desktop: isDesktop }\">\n <ui-avatar [size]=\"avatarSize.MEDIUM\" [name]=\"userName\"></ui-avatar>\n <div class=\"details-container\">\n <div class=\"name-container\">\n <span class=\"user-name\">{{ userName }}</span>\n <span class=\"user-email\">{{ email }}</span>\n </div>\n <ui-button\n *ngIf=\"!isDesktop\"\n data-testid=\"logout-button\"\n [tooltip]=\"(translationContext + 'LOG_OUT' | uiTranslate | async)!\"\n [iconName]=\"'Logout-in-line'\"\n [applicationTheme]=\"'light'\"\n [variant]=\"'icon-button'\"\n (click)=\"logout()\"\n ></ui-button>\n </div>\n </div>\n</ng-template>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;flex-direction:column;height:100%}.mobile-navbar-container{min-width:340px;padding-top:16px;height:100%}.mobile-navbar-container .routes{display:none}.mobile-navbar-container .routes .route{padding:0 16px;width:100%;height:48px;display:flex;justify-content:flex-start;align-items:center;font-size:14px;cursor:pointer}.mobile-navbar-container .routes .route.active{background-color:#f4f4f4;font-weight:700;font-family:ModernGothic,sans-serif}.mobile-navbar-container .routes .route:hover{background-color:#fff2fc;font-weight:700;font-family:ModernGothic,sans-serif}.mobile-navbar-container .routes .route:active{background-color:#ffe6fa}@media (max-width: 600px){.mobile-navbar-container .routes{display:block}}.menu-item{width:100%;height:48px;display:flex;font-size:14px;font-weight:700;font-family:ModernGothic,sans-serif;flex-direction:row;align-items:center;cursor:pointer}.menu-item ::ng-deep ui-button{width:100%}.menu-item ::ng-deep ui-button button{padding-left:16px!important}.menu-item ::ng-deep ui-button button span.icon{margin-right:16px!important}.menu-item ::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}.menu-item ::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}.bottom-content{width:100%;display:flex;align-items:center;flex-direction:column;position:sticky;bottom:0;background:#fff;z-index:1}.bottom-content.desktop{position:relative;border-top:1px #D3D3D3 solid;margin-top:16px;padding:16px 0 8px}.user-info{display:flex;align-items:center;gap:16px;padding:0 16px;margin-top:32px;margin-bottom:16px;width:100%}.user-info.desktop{margin-top:0;margin-bottom:32px}.user-info .details-container{display:flex;justify-content:space-between;width:100%;gap:8px}.user-info .name-container{display:flex;flex-direction:column;width:224px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info .name-container .user-name{font-weight:700;font-size:14px;line-height:22px;font-family:ModernGothic,sans-serif;white-space:wrap}.user-info .name-container .user-email{width:100%;font-size:14px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: IconComponentModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "pipe", type: UiTranslatePipe, name: "uiTranslate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: AccordionComponentModule }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AvatarComponentModule }, { kind: "component", type: i1.AvatarComponent, selector: "ui-avatar", inputs: ["size", "imageUrl", "name", "tooltipText", "allowEdit", "applicationTheme", "backgroundColor"], outputs: ["editClick"] }, { kind: "ngmodule", type: ButtonComponentModule }, { kind: "component", type: i2.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: MobileNavbarSideSheetComponent, isStandalone: true, selector: "ui-mobile-navbar-side-sheet", inputs: { routes: { classPropertyName: "routes", publicName: "routes", isSignal: false, isRequired: false, transformFunction: null }, activedRoute: { classPropertyName: "activedRoute", publicName: "activedRoute", isSignal: true, isRequired: false, transformFunction: null }, email: { classPropertyName: "email", publicName: "email", isSignal: false, isRequired: false, transformFunction: null }, userName: { classPropertyName: "userName", publicName: "userName", isSignal: false, isRequired: false, transformFunction: null }, menuItems: { classPropertyName: "menuItems", publicName: "menuItems", isSignal: false, isRequired: false, transformFunction: null }, contentTemplateRef: { classPropertyName: "contentTemplateRef", publicName: "contentTemplateRef", isSignal: false, isRequired: false, transformFunction: null }, userInfoExtraTemplateRef: { classPropertyName: "userInfoExtraTemplateRef", publicName: "userInfoExtraTemplateRef", isSignal: false, isRequired: false, transformFunction: null }, isDesktop: { classPropertyName: "isDesktop", publicName: "isDesktop", isSignal: false, isRequired: false, transformFunction: null }, applicationTheme: { classPropertyName: "applicationTheme", publicName: "applicationTheme", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { navigateEvent: "navigateEvent", menuItemClicked: "menuItemClicked", logoutEvent: "logoutEvent" }, ngImport: i0, template: "<div class=\"mobile-navbar-container\">\n <ng-container *ngIf=\"isDesktop\" [ngTemplateOutlet]=\"userInfo\"></ng-container>\n\n <div class=\"routes\">\n <div\n *ngFor=\"let route of routes\"\n [attr.data-testid]=\"route.id\"\n data-test-role=\"nav-route\"\n (click)=\"navigate(route.id)\"\n class=\"route\"\n [ngClass]=\"{ active: activeRoutesMap().get(route.id) }\"\n >\n <span>{{ route.title }}</span>\n </div>\n </div>\n\n <div class=\"settings\">\n <ng-container *ngFor=\"let e of menuItems\">\n <div *ngIf=\"e\" class=\"menu-item\">\n <ui-button\n [attr.data-testid]=\"e.id\"\n data-test-role=\"menu-item\"\n [applicationTheme]=\"applicationTheme\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"e.icon\"\n [label]=\"e.text\"\n (buttonClickEvent)=\"clickMenuItem(e.id)\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n [ariaLabel]=\"e.text + '--' + e.text\"\n ></ui-button>\n </div>\n </ng-container>\n </div>\n</div>\n\n<div class=\"bottom-content\" [ngClass]=\"{ desktop: isDesktop }\">\n <ng-container *ngIf=\"!isDesktop\" [ngTemplateOutlet]=\"contentTemplateRef\"></ng-container>\n <ng-container *ngIf=\"isDesktop; else tablet\">\n <div class=\"menu-item\">\n <ui-button\n data-testid=\"logout-button\"\n [applicationTheme]=\"applicationTheme\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"'Logout-in-line'\"\n [label]=\"(translationContext + 'LOG_OUT' | uiTranslate | async)!\"\n (buttonClickEvent)=\"logout()\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n ></ui-button>\n </div>\n </ng-container>\n\n <ng-template #tablet>\n <ng-container [ngTemplateOutlet]=\"userInfo\"></ng-container>\n </ng-template>\n</div>\n\n<ng-template #userInfo>\n <div class=\"user-info\" [ngClass]=\"{ desktop: isDesktop }\">\n <ui-avatar [size]=\"avatarSize.MEDIUM\" [name]=\"userName\"></ui-avatar>\n <div class=\"details-container\">\n <div class=\"name-container\">\n <span class=\"user-name\">{{ userName }}</span>\n <span class=\"user-email\">{{ email }}</span>\n @if(userInfoExtraTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"userInfoExtraTemplateRef\"></ng-container>\n }\n </div>\n <ui-button\n *ngIf=\"!isDesktop\"\n data-testid=\"logout-button\"\n [tooltip]=\"(translationContext + 'LOG_OUT' | uiTranslate | async)!\"\n [iconName]=\"'Logout-in-line'\"\n [applicationTheme]=\"'light'\"\n [variant]=\"'icon-button'\"\n (click)=\"logout()\"\n ></ui-button>\n </div>\n </div>\n</ng-template>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;flex-direction:column;height:100%}.mobile-navbar-container{min-width:340px;padding-top:16px;height:100%}.mobile-navbar-container .routes{display:none}.mobile-navbar-container .routes .route{padding:0 16px;width:100%;height:48px;display:flex;justify-content:flex-start;align-items:center;font-size:14px;cursor:pointer}.mobile-navbar-container .routes .route.active{background-color:#f4f4f4;font-weight:700;font-family:ModernGothic,sans-serif}.mobile-navbar-container .routes .route:hover{background-color:#fff2fc;font-weight:700;font-family:ModernGothic,sans-serif}.mobile-navbar-container .routes .route:active{background-color:#ffe6fa}@media (max-width: 600px){.mobile-navbar-container .routes{display:block}}.menu-item{width:100%;height:48px;display:flex;font-size:14px;font-weight:700;font-family:ModernGothic,sans-serif;flex-direction:row;align-items:center;cursor:pointer}.menu-item ::ng-deep ui-button{width:100%}.menu-item ::ng-deep ui-button button{padding-left:16px!important}.menu-item ::ng-deep ui-button button span.icon{margin-right:16px!important}.menu-item ::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}.menu-item ::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}.bottom-content{width:100%;display:flex;align-items:center;flex-direction:column;position:sticky;bottom:0;background:#fff;z-index:1}.bottom-content.desktop{position:relative;border-top:1px #D3D3D3 solid;margin-top:16px;padding:16px 0 8px}.user-info{display:flex;align-items:center;gap:16px;padding:0 16px;margin-top:32px;margin-bottom:16px;width:100%}.user-info.desktop{margin-top:0;margin-bottom:32px}.user-info .details-container{display:flex;justify-content:space-between;width:100%;gap:8px}.user-info .name-container{display:flex;flex-direction:column;width:224px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info .name-container .user-name{font-weight:700;font-size:14px;line-height:22px;font-family:ModernGothic,sans-serif;white-space:wrap}.user-info .name-container .user-email{width:100%;font-size:14px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: IconComponentModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "pipe", type: UiTranslatePipe, name: "uiTranslate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: AccordionComponentModule }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AvatarComponentModule }, { kind: "component", type: i1.AvatarComponent, selector: "ui-avatar", inputs: ["size", "imageUrl", "name", "tooltipText", "allowEdit", "applicationTheme", "backgroundColor"], outputs: ["editClick"] }, { kind: "ngmodule", type: ButtonComponentModule }, { kind: "component", type: i2.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
45
45
  }
46
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MobileNavbarSideSheetComponent, decorators: [{
47
47
  type: Component,
@@ -59,7 +59,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
59
59
  AvatarComponentModule,
60
60
  ButtonComponentModule,
61
61
  AsyncPipe,
62
- ], template: "<div class=\"mobile-navbar-container\">\n <ng-container *ngIf=\"isDesktop\" [ngTemplateOutlet]=\"userInfo\"></ng-container>\n\n <div class=\"routes\">\n <div\n *ngFor=\"let route of routes\"\n [attr.data-testid]=\"route.id\"\n data-test-role=\"nav-route\"\n (click)=\"navigate(route.id)\"\n class=\"route\"\n [ngClass]=\"{ active: activeRoutesMap().get(route.id) }\"\n >\n <span>{{ route.title }}</span>\n </div>\n </div>\n\n <div class=\"settings\">\n <ng-container *ngFor=\"let e of menuItems\">\n <div *ngIf=\"e\" class=\"menu-item\">\n <ui-button\n [attr.data-testid]=\"e.id\"\n data-test-role=\"menu-item\"\n [applicationTheme]=\"applicationTheme\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"e.icon\"\n [label]=\"e.text\"\n (buttonClickEvent)=\"clickMenuItem(e.id)\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n [ariaLabel]=\"e.text + '--' + e.text\"\n ></ui-button>\n </div>\n </ng-container>\n </div>\n</div>\n\n<div class=\"bottom-content\" [ngClass]=\"{ desktop: isDesktop }\">\n <ng-container *ngIf=\"!isDesktop\" [ngTemplateOutlet]=\"contentTemplateRef\"></ng-container>\n <ng-container *ngIf=\"isDesktop; else tablet\">\n <div class=\"menu-item\">\n <ui-button\n data-testid=\"logout-button\"\n [applicationTheme]=\"applicationTheme\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"'Logout-in-line'\"\n [label]=\"(translationContext + 'LOG_OUT' | uiTranslate | async)!\"\n (buttonClickEvent)=\"logout()\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n ></ui-button>\n </div>\n </ng-container>\n\n <ng-template #tablet>\n <ng-container [ngTemplateOutlet]=\"userInfo\"></ng-container>\n </ng-template>\n</div>\n\n<ng-template #userInfo>\n <div class=\"user-info\" [ngClass]=\"{ desktop: isDesktop }\">\n <ui-avatar [size]=\"avatarSize.MEDIUM\" [name]=\"userName\"></ui-avatar>\n <div class=\"details-container\">\n <div class=\"name-container\">\n <span class=\"user-name\">{{ userName }}</span>\n <span class=\"user-email\">{{ email }}</span>\n </div>\n <ui-button\n *ngIf=\"!isDesktop\"\n data-testid=\"logout-button\"\n [tooltip]=\"(translationContext + 'LOG_OUT' | uiTranslate | async)!\"\n [iconName]=\"'Logout-in-line'\"\n [applicationTheme]=\"'light'\"\n [variant]=\"'icon-button'\"\n (click)=\"logout()\"\n ></ui-button>\n </div>\n </div>\n</ng-template>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;flex-direction:column;height:100%}.mobile-navbar-container{min-width:340px;padding-top:16px;height:100%}.mobile-navbar-container .routes{display:none}.mobile-navbar-container .routes .route{padding:0 16px;width:100%;height:48px;display:flex;justify-content:flex-start;align-items:center;font-size:14px;cursor:pointer}.mobile-navbar-container .routes .route.active{background-color:#f4f4f4;font-weight:700;font-family:ModernGothic,sans-serif}.mobile-navbar-container .routes .route:hover{background-color:#fff2fc;font-weight:700;font-family:ModernGothic,sans-serif}.mobile-navbar-container .routes .route:active{background-color:#ffe6fa}@media (max-width: 600px){.mobile-navbar-container .routes{display:block}}.menu-item{width:100%;height:48px;display:flex;font-size:14px;font-weight:700;font-family:ModernGothic,sans-serif;flex-direction:row;align-items:center;cursor:pointer}.menu-item ::ng-deep ui-button{width:100%}.menu-item ::ng-deep ui-button button{padding-left:16px!important}.menu-item ::ng-deep ui-button button span.icon{margin-right:16px!important}.menu-item ::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}.menu-item ::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}.bottom-content{width:100%;display:flex;align-items:center;flex-direction:column;position:sticky;bottom:0;background:#fff;z-index:1}.bottom-content.desktop{position:relative;border-top:1px #D3D3D3 solid;margin-top:16px;padding:16px 0 8px}.user-info{display:flex;align-items:center;gap:16px;padding:0 16px;margin-top:32px;margin-bottom:16px;width:100%}.user-info.desktop{margin-top:0;margin-bottom:32px}.user-info .details-container{display:flex;justify-content:space-between;width:100%;gap:8px}.user-info .name-container{display:flex;flex-direction:column;width:224px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info .name-container .user-name{font-weight:700;font-size:14px;line-height:22px;font-family:ModernGothic,sans-serif;white-space:wrap}.user-info .name-container .user-email{width:100%;font-size:14px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
62
+ ], template: "<div class=\"mobile-navbar-container\">\n <ng-container *ngIf=\"isDesktop\" [ngTemplateOutlet]=\"userInfo\"></ng-container>\n\n <div class=\"routes\">\n <div\n *ngFor=\"let route of routes\"\n [attr.data-testid]=\"route.id\"\n data-test-role=\"nav-route\"\n (click)=\"navigate(route.id)\"\n class=\"route\"\n [ngClass]=\"{ active: activeRoutesMap().get(route.id) }\"\n >\n <span>{{ route.title }}</span>\n </div>\n </div>\n\n <div class=\"settings\">\n <ng-container *ngFor=\"let e of menuItems\">\n <div *ngIf=\"e\" class=\"menu-item\">\n <ui-button\n [attr.data-testid]=\"e.id\"\n data-test-role=\"menu-item\"\n [applicationTheme]=\"applicationTheme\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"e.icon\"\n [label]=\"e.text\"\n (buttonClickEvent)=\"clickMenuItem(e.id)\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n [ariaLabel]=\"e.text + '--' + e.text\"\n ></ui-button>\n </div>\n </ng-container>\n </div>\n</div>\n\n<div class=\"bottom-content\" [ngClass]=\"{ desktop: isDesktop }\">\n <ng-container *ngIf=\"!isDesktop\" [ngTemplateOutlet]=\"contentTemplateRef\"></ng-container>\n <ng-container *ngIf=\"isDesktop; else tablet\">\n <div class=\"menu-item\">\n <ui-button\n data-testid=\"logout-button\"\n [applicationTheme]=\"applicationTheme\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"'Logout-in-line'\"\n [label]=\"(translationContext + 'LOG_OUT' | uiTranslate | async)!\"\n (buttonClickEvent)=\"logout()\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n ></ui-button>\n </div>\n </ng-container>\n\n <ng-template #tablet>\n <ng-container [ngTemplateOutlet]=\"userInfo\"></ng-container>\n </ng-template>\n</div>\n\n<ng-template #userInfo>\n <div class=\"user-info\" [ngClass]=\"{ desktop: isDesktop }\">\n <ui-avatar [size]=\"avatarSize.MEDIUM\" [name]=\"userName\"></ui-avatar>\n <div class=\"details-container\">\n <div class=\"name-container\">\n <span class=\"user-name\">{{ userName }}</span>\n <span class=\"user-email\">{{ email }}</span>\n @if(userInfoExtraTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"userInfoExtraTemplateRef\"></ng-container>\n }\n </div>\n <ui-button\n *ngIf=\"!isDesktop\"\n data-testid=\"logout-button\"\n [tooltip]=\"(translationContext + 'LOG_OUT' | uiTranslate | async)!\"\n [iconName]=\"'Logout-in-line'\"\n [applicationTheme]=\"'light'\"\n [variant]=\"'icon-button'\"\n (click)=\"logout()\"\n ></ui-button>\n </div>\n </div>\n</ng-template>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;flex-direction:column;height:100%}.mobile-navbar-container{min-width:340px;padding-top:16px;height:100%}.mobile-navbar-container .routes{display:none}.mobile-navbar-container .routes .route{padding:0 16px;width:100%;height:48px;display:flex;justify-content:flex-start;align-items:center;font-size:14px;cursor:pointer}.mobile-navbar-container .routes .route.active{background-color:#f4f4f4;font-weight:700;font-family:ModernGothic,sans-serif}.mobile-navbar-container .routes .route:hover{background-color:#fff2fc;font-weight:700;font-family:ModernGothic,sans-serif}.mobile-navbar-container .routes .route:active{background-color:#ffe6fa}@media (max-width: 600px){.mobile-navbar-container .routes{display:block}}.menu-item{width:100%;height:48px;display:flex;font-size:14px;font-weight:700;font-family:ModernGothic,sans-serif;flex-direction:row;align-items:center;cursor:pointer}.menu-item ::ng-deep ui-button{width:100%}.menu-item ::ng-deep ui-button button{padding-left:16px!important}.menu-item ::ng-deep ui-button button span.icon{margin-right:16px!important}.menu-item ::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}.menu-item ::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}.bottom-content{width:100%;display:flex;align-items:center;flex-direction:column;position:sticky;bottom:0;background:#fff;z-index:1}.bottom-content.desktop{position:relative;border-top:1px #D3D3D3 solid;margin-top:16px;padding:16px 0 8px}.user-info{display:flex;align-items:center;gap:16px;padding:0 16px;margin-top:32px;margin-bottom:16px;width:100%}.user-info.desktop{margin-top:0;margin-bottom:32px}.user-info .details-container{display:flex;justify-content:space-between;width:100%;gap:8px}.user-info .name-container{display:flex;flex-direction:column;width:224px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info .name-container .user-name{font-weight:700;font-size:14px;line-height:22px;font-family:ModernGothic,sans-serif;white-space:wrap}.user-info .name-container .user-email{width:100%;font-size:14px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
63
63
  }], propDecorators: { routes: [{
64
64
  type: Input
65
65
  }], email: [{
@@ -70,6 +70,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
70
70
  type: Input
71
71
  }], contentTemplateRef: [{
72
72
  type: Input
73
+ }], userInfoExtraTemplateRef: [{
74
+ type: Input
73
75
  }], isDesktop: [{
74
76
  type: Input
75
77
  }], applicationTheme: [{
@@ -81,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
81
83
  }], logoutEvent: [{
82
84
  type: Output
83
85
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLW5hdmJhci1zaWRlLXNoZWV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9uYXZiYXIvbW9iaWxlLW5hdmJhci1zaWRlLXNoZWV0L21vYmlsZS1uYXZiYXItc2lkZS1zaGVldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvbmF2YmFyL21vYmlsZS1uYXZiYXItc2lkZS1zaGVldC9tb2JpbGUtbmF2YmFyLXNpZGUtc2hlZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1IsWUFBWSxFQUNaLEtBQUssRUFDTCxLQUFLLEVBRUwsTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBd0J2RCxNQUFNLE9BQU8sOEJBQThCO0lBckIzQztRQXNCVyxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQy9CLGlCQUFZLEdBQXdCLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGNBQVMsR0FBZSxFQUFFLENBQUM7UUFFM0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixxQkFBZ0IsR0FBcUIsT0FBTyxDQUFDO1FBRTVDLGtCQUFhLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDakUsb0JBQWUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNuRSxnQkFBVyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWxELHVCQUFrQixHQUFHLFNBQVMsQ0FBQztRQUN4QyxlQUFVLEdBQUcsVUFBVSxDQUFDO1FBRWxDLG9CQUFlLEdBQWdDLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDM0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0YsQ0FBQyxDQUFDLENBQUM7S0FhSjtJQVhDLFFBQVEsQ0FBQyxPQUFlO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFVO1FBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7K0dBaENVLDhCQUE4QjttR0FBOUIsOEJBQThCLHd4Q0M3QzNDLCsyRkFvRkEsMnpJRHRESSxPQUFPLG1IQUNQLE9BQU8sbUZBQ1AsbUJBQW1CLDhCQUNuQixhQUFhLDhCQUNiLGFBQWEsMEJBQ2IsZUFBZSxtREFDZixlQUFlLDhCQUNmLHdCQUF3QiwrQkFDeEIsSUFBSSw2RkFDSixnQkFBZ0IsbUpBQ2hCLHFCQUFxQix1T0FDckIscUJBQXFCLHFoQkFDckIsU0FBUzs7NEZBR0EsOEJBQThCO2tCQXJCMUMsU0FBUzsrQkFDRSw2QkFBNkIsY0FHM0IsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWU7d0JBQ2Ysd0JBQXdCO3dCQUN4QixJQUFJO3dCQUNKLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLFNBQVM7cUJBQ1Y7OEJBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRXZlbnRFbWl0dGVyLFxuICBpbnB1dCxcbiAgSW5wdXQsXG4gIElucHV0U2lnbmFsLFxuICBPdXRwdXQsXG4gIFNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVJvdXRlLCBNZW51SXRlbSB9IGZyb20gXCIuLi9uYXZiYXIubW9kZWxcIjtcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdGb3JPZiwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSBcIi4uLy4uL2ljb24vaWNvbi5jb21wb25lbnQubW9kdWxlXCI7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudVwiO1xuaW1wb3J0IHsgVWlUcmFuc2xhdGVQaXBlIH0gZnJvbSBcIi4uLy4uLy4uL3BpcGVzL3VpLXRyYW5zbGF0ZS5waXBlXCI7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XG5pbXBvcnQgeyBBY2NvcmRpb25Db21wb25lbnRNb2R1bGUgfSBmcm9tIFwiLi4vLi4vYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQubW9kdWxlXCI7XG5pbXBvcnQgeyBBdmF0YXJDb21wb25lbnRNb2R1bGUgfSBmcm9tIFwiLi4vLi4vYXZhdGFyL2F2YXRhci5jb21wb25lbnQubW9kdWxlXCI7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnRNb2R1bGUgfSBmcm9tIFwiLi4vLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQubW9kdWxlXCI7XG5pbXBvcnQgeyBBdmF0YXJTaXplIH0gZnJvbSBcIi4uLy4uL2F2YXRhci9hdmF0YXIubW9kZWxcIjtcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLW1vYmlsZS1uYXZiYXItc2lkZS1zaGVldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2JpbGUtbmF2YmFyLXNpZGUtc2hlZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2JpbGUtbmF2YmFyLXNpZGUtc2hlZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nRm9yT2YsXG4gICAgTmdDbGFzcyxcbiAgICBJY29uQ29tcG9uZW50TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBVaVRyYW5zbGF0ZVBpcGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIEFjY29yZGlvbkNvbXBvbmVudE1vZHVsZSxcbiAgICBOZ0lmLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgQXZhdGFyQ29tcG9uZW50TW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudE1vZHVsZSxcbiAgICBBc3luY1BpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1vYmlsZU5hdmJhclNpZGVTaGVldENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHJvdXRlczogSVJvdXRlW10gPSBbXTtcbiAgYWN0aXZlZFJvdXRlOiBJbnB1dFNpZ25hbDxzdHJpbmc+ID0gaW5wdXQoJycpO1xuICBASW5wdXQoKSBlbWFpbCA9ICcnO1xuICBASW5wdXQoKSB1c2VyTmFtZSA9ICcnO1xuICBASW5wdXQoKSBtZW51SXRlbXM6IE1lbnVJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgY29udGVudFRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBpc0Rlc2t0b3AgPSBmYWxzZTtcbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XG5cbiAgQE91dHB1dCgpIG5hdmlnYXRlRXZlbnQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBtZW51SXRlbUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBsb2dvdXRFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGlvbkNvbnRleHQgPSAnTkFWQkFSLic7XG4gIHByb3RlY3RlZCBhdmF0YXJTaXplID0gQXZhdGFyU2l6ZTtcblxuICBhY3RpdmVSb3V0ZXNNYXA6U2lnbmFsPE1hcDxzdHJpbmcsIGJvb2xlYW4+PiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50Um91dGUgPSB0aGlzLmFjdGl2ZWRSb3V0ZSgpO1xuICAgIHJldHVybiBuZXcgTWFwKHRoaXMucm91dGVzLm1hcChyb3V0ZSA9PiBbcm91dGUuaWQsIGN1cnJlbnRSb3V0ZT8uc3RhcnRzV2l0aChyb3V0ZS5pZCldKSk7XG4gIH0pO1xuXG4gIG5hdmlnYXRlKHJvdXRlSWQ6IHN0cmluZykge1xuICAgIHRoaXMubmF2aWdhdGVFdmVudC5lbWl0KGAvJHtyb3V0ZUlkfWApO1xuICB9XG5cbiAgbG9nb3V0KCk6IHZvaWQge1xuICAgIHRoaXMubG9nb3V0RXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgY2xpY2tNZW51SXRlbShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5tZW51SXRlbUNsaWNrZWQuZW1pdChpZCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtb2JpbGUtbmF2YmFyLWNvbnRhaW5lclwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNEZXNrdG9wXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwidXNlckluZm9cIj48L25nLWNvbnRhaW5lcj5cblxuICA8ZGl2IGNsYXNzPVwicm91dGVzXCI+XG4gICAgPGRpdlxuICAgICAgKm5nRm9yPVwibGV0IHJvdXRlIG9mIHJvdXRlc1wiXG4gICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJyb3V0ZS5pZFwiXG4gICAgICBkYXRhLXRlc3Qtcm9sZT1cIm5hdi1yb3V0ZVwiXG4gICAgICAoY2xpY2spPVwibmF2aWdhdGUocm91dGUuaWQpXCJcbiAgICAgIGNsYXNzPVwicm91dGVcIlxuICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IGFjdGl2ZVJvdXRlc01hcCgpLmdldChyb3V0ZS5pZCkgfVwiXG4gICAgPlxuICAgICAgPHNwYW4+e3sgcm91dGUudGl0bGUgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJzZXR0aW5nc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGUgb2YgbWVudUl0ZW1zXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZVwiIGNsYXNzPVwibWVudS1pdGVtXCI+XG4gICAgICAgIDx1aS1idXR0b25cbiAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJlLmlkXCJcbiAgICAgICAgICBkYXRhLXRlc3Qtcm9sZT1cIm1lbnUtaXRlbVwiXG4gICAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgICAgW2Z1bGxXaWR0aF09XCJ0cnVlXCJcbiAgICAgICAgICBbZGlzYWJsZWRTY2FsZU9uQ2xpY2tdPVwidHJ1ZVwiXG4gICAgICAgICAgW3ZhcmlhbnRdPVwiJ21lbnVDZWxsJ1wiXG4gICAgICAgICAgaWNvblBvc2l0aW9uPVwibGVmdFwiXG4gICAgICAgICAgW2ljb25OYW1lXT1cImUuaWNvblwiXG4gICAgICAgICAgW2xhYmVsXT1cImUudGV4dFwiXG4gICAgICAgICAgKGJ1dHRvbkNsaWNrRXZlbnQpPVwiY2xpY2tNZW51SXRlbShlLmlkKVwiXG4gICAgICAgICAgKGtleWRvd24uVGFiKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgKGtleWRvd24uc2hpZnQudGFiKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgW2FyaWFMYWJlbF09XCJlLnRleHQgKyAnLS0nICsgZS50ZXh0XCJcbiAgICAgICAgPjwvdWktYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJib3R0b20tY29udGVudFwiIFtuZ0NsYXNzXT1cInsgZGVza3RvcDogaXNEZXNrdG9wIH1cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0Rlc2t0b3BcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50VGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRGVza3RvcDsgZWxzZSB0YWJsZXRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+XG4gICAgICA8dWktYnV0dG9uXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibG9nb3V0LWJ1dHRvblwiXG4gICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICBbZGlzYWJsZWRTY2FsZU9uQ2xpY2tdPVwidHJ1ZVwiXG4gICAgICAgIFt2YXJpYW50XT1cIidtZW51Q2VsbCdcIlxuICAgICAgICBpY29uUG9zaXRpb249XCJsZWZ0XCJcbiAgICAgICAgW2ljb25OYW1lXT1cIidMb2dvdXQtaW4tbGluZSdcIlxuICAgICAgICBbbGFiZWxdPVwiKHRyYW5zbGF0aW9uQ29udGV4dCArICdMT0dfT1VUJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgICAgIChidXR0b25DbGlja0V2ZW50KT1cImxvZ291dCgpXCJcbiAgICAgICAgKGtleWRvd24uVGFiKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgIChrZXlkb3duLnNoaWZ0LnRhYik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgPjwvdWktYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI3RhYmxldD5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInVzZXJJbmZvXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICN1c2VySW5mbz5cbiAgPGRpdiBjbGFzcz1cInVzZXItaW5mb1wiIFtuZ0NsYXNzXT1cInsgZGVza3RvcDogaXNEZXNrdG9wIH1cIj5cbiAgICA8dWktYXZhdGFyIFtzaXplXT1cImF2YXRhclNpemUuTUVESVVNXCIgW25hbWVdPVwidXNlck5hbWVcIj48L3VpLWF2YXRhcj5cbiAgICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJuYW1lLWNvbnRhaW5lclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXItbmFtZVwiPnt7IHVzZXJOYW1lIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXItZW1haWxcIj57eyBlbWFpbCB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHVpLWJ1dHRvblxuICAgICAgICAqbmdJZj1cIiFpc0Rlc2t0b3BcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImxvZ291dC1idXR0b25cIlxuICAgICAgICBbdG9vbHRpcF09XCIodHJhbnNsYXRpb25Db250ZXh0ICsgJ0xPR19PVVQnIHwgdWlUcmFuc2xhdGUgfCBhc3luYykhXCJcbiAgICAgICAgW2ljb25OYW1lXT1cIidMb2dvdXQtaW4tbGluZSdcIlxuICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCInbGlnaHQnXCJcbiAgICAgICAgW3ZhcmlhbnRdPVwiJ2ljb24tYnV0dG9uJ1wiXG4gICAgICAgIChjbGljayk9XCJsb2dvdXQoKVwiXG4gICAgICA+PC91aS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLW5hdmJhci1zaWRlLXNoZWV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9uYXZiYXIvbW9iaWxlLW5hdmJhci1zaWRlLXNoZWV0L21vYmlsZS1uYXZiYXItc2lkZS1zaGVldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvbmF2YmFyL21vYmlsZS1uYXZiYXItc2lkZS1zaGVldC9tb2JpbGUtbmF2YmFyLXNpZGUtc2hlZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1IsWUFBWSxFQUNaLEtBQUssRUFDTCxLQUFLLEVBRUwsTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBd0J2RCxNQUFNLE9BQU8sOEJBQThCO0lBckIzQztRQXNCVyxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQy9CLGlCQUFZLEdBQXdCLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGNBQVMsR0FBZSxFQUFFLENBQUM7UUFHM0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixxQkFBZ0IsR0FBcUIsT0FBTyxDQUFDO1FBRTVDLGtCQUFhLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDakUsb0JBQWUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNuRSxnQkFBVyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWxELHVCQUFrQixHQUFHLFNBQVMsQ0FBQztRQUN4QyxlQUFVLEdBQUcsVUFBVSxDQUFDO1FBRWxDLG9CQUFlLEdBQWdDLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDM0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0YsQ0FBQyxDQUFDLENBQUM7S0FhSjtJQVhDLFFBQVEsQ0FBQyxPQUFlO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFVO1FBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7K0dBakNVLDhCQUE4QjttR0FBOUIsOEJBQThCLDA4Q0M3QzNDLDQvRkF1RkEsMnpJRHpESSxPQUFPLG1IQUNQLE9BQU8sbUZBQ1AsbUJBQW1CLDhCQUNuQixhQUFhLDhCQUNiLGFBQWEsMEJBQ2IsZUFBZSxtREFDZixlQUFlLDhCQUNmLHdCQUF3QiwrQkFDeEIsSUFBSSw2RkFDSixnQkFBZ0IsbUpBQ2hCLHFCQUFxQix1T0FDckIscUJBQXFCLHFoQkFDckIsU0FBUzs7NEZBR0EsOEJBQThCO2tCQXJCMUMsU0FBUzsrQkFDRSw2QkFBNkIsY0FHM0IsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWU7d0JBQ2Ysd0JBQXdCO3dCQUN4QixJQUFJO3dCQUNKLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLFNBQVM7cUJBQ1Y7OEJBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5wdXQsXG4gIElucHV0LFxuICBJbnB1dFNpZ25hbCxcbiAgT3V0cHV0LFxuICBTaWduYWwsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElSb3V0ZSwgTWVudUl0ZW0gfSBmcm9tIFwiLi4vbmF2YmFyLm1vZGVsXCI7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nRm9yT2YsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gXCIuLi8uLi9pY29uL2ljb24uY29tcG9uZW50Lm1vZHVsZVwiO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcbmltcG9ydCB7IFVpVHJhbnNsYXRlUGlwZSB9IGZyb20gXCIuLi8uLi8uLi9waXBlcy91aS10cmFuc2xhdGUucGlwZVwiO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xuaW1wb3J0IHsgQWNjb3JkaW9uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSBcIi4uLy4uL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50Lm1vZHVsZVwiO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50TW9kdWxlIH0gZnJvbSBcIi4uLy4uL2F2YXRhci9hdmF0YXIuY29tcG9uZW50Lm1vZHVsZVwiO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSBcIi4uLy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lm1vZHVsZVwiO1xuaW1wb3J0IHsgQXZhdGFyU2l6ZSB9IGZyb20gXCIuLi8uLi9hdmF0YXIvYXZhdGFyLm1vZGVsXCI7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1tb2JpbGUtbmF2YmFyLXNpZGUtc2hlZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9iaWxlLW5hdmJhci1zaWRlLXNoZWV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9iaWxlLW5hdmJhci1zaWRlLXNoZWV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0Zvck9mLFxuICAgIE5nQ2xhc3MsXG4gICAgSWNvbkNvbXBvbmVudE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgVWlUcmFuc2xhdGVQaXBlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBBY2NvcmRpb25Db21wb25lbnRNb2R1bGUsXG4gICAgTmdJZixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIEF2YXRhckNvbXBvbmVudE1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnRNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNb2JpbGVOYXZiYXJTaWRlU2hlZXRDb21wb25lbnQge1xuICBASW5wdXQoKSByb3V0ZXM6IElSb3V0ZVtdID0gW107XG4gIGFjdGl2ZWRSb3V0ZTogSW5wdXRTaWduYWw8c3RyaW5nPiA9IGlucHV0KCcnKTtcbiAgQElucHV0KCkgZW1haWwgPSAnJztcbiAgQElucHV0KCkgdXNlck5hbWUgPSAnJztcbiAgQElucHV0KCkgbWVudUl0ZW1zOiBNZW51SXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGNvbnRlbnRUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgdXNlckluZm9FeHRyYVRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBpc0Rlc2t0b3AgPSBmYWxzZTtcbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XG5cbiAgQE91dHB1dCgpIG5hdmlnYXRlRXZlbnQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBtZW51SXRlbUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBsb2dvdXRFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGlvbkNvbnRleHQgPSAnTkFWQkFSLic7XG4gIHByb3RlY3RlZCBhdmF0YXJTaXplID0gQXZhdGFyU2l6ZTtcblxuICBhY3RpdmVSb3V0ZXNNYXA6U2lnbmFsPE1hcDxzdHJpbmcsIGJvb2xlYW4+PiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50Um91dGUgPSB0aGlzLmFjdGl2ZWRSb3V0ZSgpO1xuICAgIHJldHVybiBuZXcgTWFwKHRoaXMucm91dGVzLm1hcChyb3V0ZSA9PiBbcm91dGUuaWQsIGN1cnJlbnRSb3V0ZT8uc3RhcnRzV2l0aChyb3V0ZS5pZCldKSk7XG4gIH0pO1xuXG4gIG5hdmlnYXRlKHJvdXRlSWQ6IHN0cmluZykge1xuICAgIHRoaXMubmF2aWdhdGVFdmVudC5lbWl0KGAvJHtyb3V0ZUlkfWApO1xuICB9XG5cbiAgbG9nb3V0KCk6IHZvaWQge1xuICAgIHRoaXMubG9nb3V0RXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgY2xpY2tNZW51SXRlbShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5tZW51SXRlbUNsaWNrZWQuZW1pdChpZCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtb2JpbGUtbmF2YmFyLWNvbnRhaW5lclwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNEZXNrdG9wXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwidXNlckluZm9cIj48L25nLWNvbnRhaW5lcj5cblxuICA8ZGl2IGNsYXNzPVwicm91dGVzXCI+XG4gICAgPGRpdlxuICAgICAgKm5nRm9yPVwibGV0IHJvdXRlIG9mIHJvdXRlc1wiXG4gICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJyb3V0ZS5pZFwiXG4gICAgICBkYXRhLXRlc3Qtcm9sZT1cIm5hdi1yb3V0ZVwiXG4gICAgICAoY2xpY2spPVwibmF2aWdhdGUocm91dGUuaWQpXCJcbiAgICAgIGNsYXNzPVwicm91dGVcIlxuICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IGFjdGl2ZVJvdXRlc01hcCgpLmdldChyb3V0ZS5pZCkgfVwiXG4gICAgPlxuICAgICAgPHNwYW4+e3sgcm91dGUudGl0bGUgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJzZXR0aW5nc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGUgb2YgbWVudUl0ZW1zXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZVwiIGNsYXNzPVwibWVudS1pdGVtXCI+XG4gICAgICAgIDx1aS1idXR0b25cbiAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJlLmlkXCJcbiAgICAgICAgICBkYXRhLXRlc3Qtcm9sZT1cIm1lbnUtaXRlbVwiXG4gICAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgICAgW2Z1bGxXaWR0aF09XCJ0cnVlXCJcbiAgICAgICAgICBbZGlzYWJsZWRTY2FsZU9uQ2xpY2tdPVwidHJ1ZVwiXG4gICAgICAgICAgW3ZhcmlhbnRdPVwiJ21lbnVDZWxsJ1wiXG4gICAgICAgICAgaWNvblBvc2l0aW9uPVwibGVmdFwiXG4gICAgICAgICAgW2ljb25OYW1lXT1cImUuaWNvblwiXG4gICAgICAgICAgW2xhYmVsXT1cImUudGV4dFwiXG4gICAgICAgICAgKGJ1dHRvbkNsaWNrRXZlbnQpPVwiY2xpY2tNZW51SXRlbShlLmlkKVwiXG4gICAgICAgICAgKGtleWRvd24uVGFiKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgKGtleWRvd24uc2hpZnQudGFiKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgW2FyaWFMYWJlbF09XCJlLnRleHQgKyAnLS0nICsgZS50ZXh0XCJcbiAgICAgICAgPjwvdWktYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJib3R0b20tY29udGVudFwiIFtuZ0NsYXNzXT1cInsgZGVza3RvcDogaXNEZXNrdG9wIH1cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0Rlc2t0b3BcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50VGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRGVza3RvcDsgZWxzZSB0YWJsZXRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+XG4gICAgICA8dWktYnV0dG9uXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibG9nb3V0LWJ1dHRvblwiXG4gICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICBbZGlzYWJsZWRTY2FsZU9uQ2xpY2tdPVwidHJ1ZVwiXG4gICAgICAgIFt2YXJpYW50XT1cIidtZW51Q2VsbCdcIlxuICAgICAgICBpY29uUG9zaXRpb249XCJsZWZ0XCJcbiAgICAgICAgW2ljb25OYW1lXT1cIidMb2dvdXQtaW4tbGluZSdcIlxuICAgICAgICBbbGFiZWxdPVwiKHRyYW5zbGF0aW9uQ29udGV4dCArICdMT0dfT1VUJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgICAgIChidXR0b25DbGlja0V2ZW50KT1cImxvZ291dCgpXCJcbiAgICAgICAgKGtleWRvd24uVGFiKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgIChrZXlkb3duLnNoaWZ0LnRhYik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgPjwvdWktYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI3RhYmxldD5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInVzZXJJbmZvXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICN1c2VySW5mbz5cbiAgPGRpdiBjbGFzcz1cInVzZXItaW5mb1wiIFtuZ0NsYXNzXT1cInsgZGVza3RvcDogaXNEZXNrdG9wIH1cIj5cbiAgICA8dWktYXZhdGFyIFtzaXplXT1cImF2YXRhclNpemUuTUVESVVNXCIgW25hbWVdPVwidXNlck5hbWVcIj48L3VpLWF2YXRhcj5cbiAgICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJuYW1lLWNvbnRhaW5lclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXItbmFtZVwiPnt7IHVzZXJOYW1lIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXItZW1haWxcIj57eyBlbWFpbCB9fTwvc3Bhbj5cbiAgICAgICAgQGlmKHVzZXJJbmZvRXh0cmFUZW1wbGF0ZVJlZikge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidXNlckluZm9FeHRyYVRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgPHVpLWJ1dHRvblxuICAgICAgICAqbmdJZj1cIiFpc0Rlc2t0b3BcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImxvZ291dC1idXR0b25cIlxuICAgICAgICBbdG9vbHRpcF09XCIodHJhbnNsYXRpb25Db250ZXh0ICsgJ0xPR19PVVQnIHwgdWlUcmFuc2xhdGUgfCBhc3luYykhXCJcbiAgICAgICAgW2ljb25OYW1lXT1cIidMb2dvdXQtaW4tbGluZSdcIlxuICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCInbGlnaHQnXCJcbiAgICAgICAgW3ZhcmlhbnRdPVwiJ2ljb24tYnV0dG9uJ1wiXG4gICAgICAgIChjbGljayk9XCJsb2dvdXQoKVwiXG4gICAgICA+PC91aS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==