@testgorilla/tgo-ui 2.3.13 → 2.3.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/components/snackbar/snackbar.component.d.ts +12 -3
  2. package/components/snackbar/snackbar.service.d.ts +2 -2
  3. package/esm2022/components/checkbox/checkbox.component.mjs +3 -3
  4. package/esm2022/components/phone-input/phone-input.component.mjs +3 -3
  5. package/esm2022/components/snackbar/snackbar.component.mjs +25 -10
  6. package/esm2022/components/snackbar/snackbar.service.mjs +5 -3
  7. package/esm2022/public-api.mjs +1 -8
  8. package/fesm2022/testgorilla-tgo-ui.mjs +114 -295
  9. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/public-api.d.ts +0 -5
  12. package/src/theme/_input.scss +29 -0
  13. package/src/theme/theme.scss +0 -25
  14. package/components/banner-action/banner-action.component.d.ts +0 -79
  15. package/components/banner-action/banner-action.component.module.d.ts +0 -11
  16. package/components/banner-action/banner-action.model.d.ts +0 -15
  17. package/components/navigation/navigation.component.d.ts +0 -51
  18. package/components/navigation/navigation.component.module.d.ts +0 -10
  19. package/components/navigation/navigation.model.d.ts +0 -12
  20. package/esm2022/components/banner-action/banner-action.component.mjs +0 -104
  21. package/esm2022/components/banner-action/banner-action.component.module.mjs +0 -22
  22. package/esm2022/components/banner-action/banner-action.model.mjs +0 -17
  23. package/esm2022/components/navigation/navigation.component.mjs +0 -52
  24. package/esm2022/components/navigation/navigation.component.module.mjs +0 -21
  25. package/esm2022/components/navigation/navigation.model.mjs +0 -7
@@ -4,11 +4,13 @@ import { IconName } from '../../components/icon/icon.model';
4
4
  import { SnackbarType, SnackbarVariant } from '../../components/snackbar/snackbar.model';
5
5
  import { ApplicationTheme } from '../../models/application-theme.model';
6
6
  import { LinkTargetType } from '../alert-banner/alert-banner.model';
7
+ import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
7
8
  import * as i0 from "@angular/core";
8
9
  export declare class SnackbarComponent implements OnInit {
9
10
  private readonly defaultAppTheme;
10
11
  private data;
11
12
  private snackbarRef;
13
+ private domSanitizer;
12
14
  /**
13
15
  * Background color of the button while in active state
14
16
  *
@@ -22,6 +24,12 @@ export declare class SnackbarComponent implements OnInit {
22
24
  * @memberof SnackbarComponent
23
25
  */
24
26
  message: string;
27
+ /**
28
+ * Snackbar message from html
29
+ *
30
+ * @memberof SnackbarComponent
31
+ */
32
+ set html(value: string);
25
33
  /**
26
34
  * Set the time that the snackbar will be visible
27
35
  *
@@ -89,14 +97,15 @@ export declare class SnackbarComponent implements OnInit {
89
97
  timerStartedAt: number;
90
98
  timerPausedAt: number;
91
99
  position: string;
100
+ safeHtml: SafeHtml;
92
101
  translationContext: string;
93
- constructor(defaultAppTheme: ApplicationTheme, data: any, snackbarRef: MatSnackBarRef<SnackbarComponent>);
102
+ constructor(defaultAppTheme: ApplicationTheme, data: any, snackbarRef: MatSnackBarRef<SnackbarComponent>, domSanitizer: DomSanitizer);
94
103
  ngOnInit(): void;
95
104
  show(): void;
96
105
  hide(): void;
97
106
  onMouseEnter(): void;
98
107
  onMouseLeave(): void;
99
108
  dismissClick(): void;
100
- static ɵfac: i0.ɵɵFactoryDeclaration<SnackbarComponent, [{ optional: true; }, null, null]>;
101
- static ɵcmp: i0.ɵɵComponentDeclaration<SnackbarComponent, "ui-snackbar", never, { "snackbarType": { "alias": "snackbarType"; "required": false; }; "message": { "alias": "message"; "required": false; }; "seconds": { "alias": "seconds"; "required": false; }; "includeDismissButton": { "alias": "includeDismissButton"; "required": false; }; "fixed": { "alias": "fixed"; "required": false; }; "linkText": { "alias": "linkText"; "required": false; }; "linkUrl": { "alias": "linkUrl"; "required": false; }; "linkTarget": { "alias": "linkTarget"; "required": false; }; "language": { "alias": "language"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; }, {}, never, never, false, never>;
109
+ static ɵfac: i0.ɵɵFactoryDeclaration<SnackbarComponent, [{ optional: true; }, null, null, null]>;
110
+ static ɵcmp: i0.ɵɵComponentDeclaration<SnackbarComponent, "ui-snackbar", never, { "snackbarType": { "alias": "snackbarType"; "required": false; }; "message": { "alias": "message"; "required": false; }; "html": { "alias": "html"; "required": false; }; "seconds": { "alias": "seconds"; "required": false; }; "includeDismissButton": { "alias": "includeDismissButton"; "required": false; }; "fixed": { "alias": "fixed"; "required": false; }; "linkText": { "alias": "linkText"; "required": false; }; "linkUrl": { "alias": "linkUrl"; "required": false; }; "linkTarget": { "alias": "linkTarget"; "required": false; }; "language": { "alias": "language"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; }, {}, never, never, false, never>;
102
111
  }
@@ -5,8 +5,8 @@ import * as i0 from "@angular/core";
5
5
  export declare class SnackbarService {
6
6
  private snackBar;
7
7
  constructor(snackBar: MatSnackBar);
8
- error(message: string, applicationTheme?: ApplicationTheme): import("@angular/material/snack-bar").MatSnackBarRef<SnackbarComponent>;
9
- success(message: string, applicationTheme?: ApplicationTheme): import("@angular/material/snack-bar").MatSnackBarRef<SnackbarComponent>;
8
+ error(message: string, applicationTheme?: ApplicationTheme, html?: string): import("@angular/material/snack-bar").MatSnackBarRef<SnackbarComponent>;
9
+ success(message: string, applicationTheme?: ApplicationTheme, html?: string): import("@angular/material/snack-bar").MatSnackBarRef<SnackbarComponent>;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<SnackbarService, never>;
11
11
  static ɵprov: i0.ɵɵInjectableDeclaration<SnackbarService>;
12
12
  }
@@ -163,11 +163,11 @@ export class CheckboxComponent {
163
163
  this.cdr.markForCheck();
164
164
  }
165
165
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i0.ChangeDetectorRef }, { token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
166
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckboxComponent, selector: "ui-checkbox", inputs: { disabled: "disabled", checked: "checked", indeterminate: "indeterminate", companyColor: "companyColor", name: "name", label: "label", multiple: "multiple", applicationTheme: "applicationTheme", ariaLabel: "ariaLabel", ariaRequired: "ariaRequired", hasError: "hasError", language: "language" }, outputs: { changed: "changed" }, host: { properties: { "style.--color": "this.companyColor" } }, ngImport: i0, template: "<div [ngClass]=\"classMultiple\" [attr.theme]=\"applicationTheme\" [attr.hasError]=\"hasError\">\n <mat-checkbox\n [indeterminate]=\"indeterminate\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (change)=\"toggleChecked($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\"\n class=\"checkbox\"\n >\n {{ label }}\n <ng-content select=\"[checkbox-label]\"></ng-content>\n </mat-checkbox>\n\n <mat-hint class=\"error\" *ngIf=\"ngControl?.errors | hasValidationError\">\n <ui-validation-error [ngControl]=\"ngControl\" [label]=\"label\" [language]=\"language\"></ui-validation-error>\n </mat-hint>\n</div>\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}.mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{background-color:var(--color)!important;border-color:var(--color)!important}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked .mdc-checkbox__background{background-color:var(--color)!important;border-color:var(--color)!important}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked .mdc-checkbox__background .mdc-checkbox__checkmark{color:#fff!important}.mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__ripple{background-color:var(--color)}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mdc-checkbox__native-control:indeterminate~.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#888}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#888;--color: $tgo-dark!important}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox{opacity:.5}[theme=dark],[theme=light]{--color: #D410AA!important;--mdc-checkbox-unselected-icon-color: #242424 !important}[theme=dark] ::ng-deep .mdc-checkbox__background,[theme=light] ::ng-deep .mdc-checkbox__background{border-radius:4px;transform:scale(.9);background:#fff!important;border-width:1px}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox{opacity:1!important}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#e9e9e9!important;border-color:#919191!important}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background .mdc-checkbox__mixedmark,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:#919191;width:8px}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background svg,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background svg{color:#919191!important}[theme=dark] ::ng-deep .mdc-checkbox__checkmark,[theme=light] ::ng-deep .mdc-checkbox__checkmark{width:12px;height:12px;left:calc(50% - 6px);top:calc(50% - 6px)}[theme=dark] ::ng-deep .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark,[theme=light] ::ng-deep .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{width:12px}::ng-deep .mdc-checkbox__ripple{background:var(--color)!important}::ng-deep .mat-mdc-checkbox .mdc-form-field .mdc-label{padding-left:0}.multiple-checked{border:1px solid var(--color);display:flex;flex-direction:row;align-items:center;gap:16px;background:var(--color);border-radius:8px}.multiple-checked ::ng-deep .mat-mdc-checkbox{width:100%;height:100%}.multiple-checked ::ng-deep .mdc-form-field{padding:8px;width:100%;height:100%;align-items:center}.multiple-checked .mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__background{border:1px solid #ffffff!important;border-color:#fff!important}.multiple-checked ::ng-deep label{color:#fff}.multiple-checked[theme=dark][hasError=false],.multiple-checked[theme=light][hasError=false]{background:#fff;border-radius:10px;border-color:#242424;outline:1px solid #242424}.multiple-checked[theme=dark][hasError=false] .mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__background,.multiple-checked[theme=light][hasError=false] .mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__background{border:unset!important}.multiple-checked[theme=dark][hasError=false] ::ng-deep label,.multiple-checked[theme=light][hasError=false] ::ng-deep label{color:#242424}.multiple-checked[theme=dark][hasError=true],.multiple-checked[theme=light][hasError=true]{border:1px solid #E02800;outline:1px solid #E02800;background:#fff;border-radius:10px}.multiple-checked[theme=dark][hasError=true] ::ng-deep label,.multiple-checked[theme=light][hasError=true] ::ng-deep label{color:#242424}.multiple-checked[theme=classic][hasError=true]{border:1px solid #E02800;outline:1px solid #E02800}.multiple-unchecked{border:1px solid #E0E0E0;display:flex;flex-direction:row;align-items:center;gap:16px;background:#fff;border-radius:8px}.multiple-unchecked ::ng-deep .mat-mdc-checkbox{width:100%;height:100%}.multiple-unchecked ::ng-deep .mdc-form-field{padding:8px;width:100%;height:100%;align-items:center}.multiple-unchecked:hover{background:#f6f6f6;border:1px solid #E0E0E0}.multiple-unchecked ::ng-deep .mdc-checkbox__background{border:1px solid #000000}.multiple-unchecked ::ng-deep .mdc-checkbox__native-control:not([disabled]):focus~.mdc-checkbox__ripple{opacity:0!important}.multiple-unchecked[theme=dark][hasError=false],.multiple-unchecked[theme=light][hasError=false]{border:1px solid #919191;background:#fff;border-radius:10px}.multiple-unchecked[theme=dark][hasError=false] ::ng-deep .mdc-checkbox__background,.multiple-unchecked[theme=light][hasError=false] ::ng-deep .mdc-checkbox__background{border:1px solid #242424!important}.multiple-unchecked[theme=dark][hasError=false]:hover,.multiple-unchecked[theme=light][hasError=false]:hover{outline:1px solid #242424;border-color:#242424!important}.multiple-unchecked[hasError=true]{border:1px solid #E02800;outline:1px solid #E02800;background:#fff}.multiple-unchecked[hasError=true]:not([theme=classic]){border-radius:10px}*[hasError=true]{--mdc-checkbox-unselected-icon-color: #E02800 !important;--mdc-checkbox-unselected-hover-icon-color: #E02800 !important;--mdc-checkbox-unselected-focus-icon-color: #E02800 !important}*[hasError=true] ::ng-deep .mdc-checkbox__background{border-width:2px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i5.ValidationErrorComponent, selector: "ui-validation-error", inputs: ["ngControl", "label", "applicationTheme", "language"] }, { kind: "pipe", type: i6.HasValidationErrorPipe, name: "hasValidationError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
166
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckboxComponent, selector: "ui-checkbox", inputs: { disabled: "disabled", checked: "checked", indeterminate: "indeterminate", companyColor: "companyColor", name: "name", label: "label", multiple: "multiple", applicationTheme: "applicationTheme", ariaLabel: "ariaLabel", ariaRequired: "ariaRequired", hasError: "hasError", language: "language" }, outputs: { changed: "changed" }, host: { properties: { "style.--color": "this.companyColor" } }, ngImport: i0, template: "<div [ngClass]=\"classMultiple\" [attr.theme]=\"applicationTheme\" [attr.hasError]=\"hasError\">\n <mat-checkbox\n #checkbox\n (mouseleave)=\"checkbox.disableRipple = true\"\n (mouseenter)=\"checkbox.disableRipple = false\"\n [indeterminate]=\"indeterminate\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [ngClass]=\"{ 'disable-ripple': checkbox.disableRipple }\"\n (change)=\"toggleChecked($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\"\n class=\"checkbox\"\n >\n {{ label }}\n <ng-content select=\"[checkbox-label]\"></ng-content>\n </mat-checkbox>\n\n <mat-hint class=\"error\" *ngIf=\"ngControl?.errors | hasValidationError\">\n <ui-validation-error [ngControl]=\"ngControl\" [label]=\"label\" [language]=\"language\"></ui-validation-error>\n </mat-hint>\n</div>\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}.mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{background-color:var(--color)!important;border-color:var(--color)!important}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked .mdc-checkbox__background{background-color:var(--color)!important;border-color:var(--color)!important}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked .mdc-checkbox__background .mdc-checkbox__checkmark{color:#fff!important}.mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__ripple{background-color:var(--color)}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mdc-checkbox__native-control:indeterminate~.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#888}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#888;--color: $tgo-dark!important}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox{opacity:.5}[theme=dark],[theme=light],.dark,.light{--color: #D410AA!important;--mdc-checkbox-unselected-icon-color: #242424 !important}[theme=dark] .mat-mdc-checkbox.disable-ripple ::ng-deep .mdc-checkbox__ripple,[theme=light] .mat-mdc-checkbox.disable-ripple ::ng-deep .mdc-checkbox__ripple,.dark .mat-mdc-checkbox.disable-ripple ::ng-deep .mdc-checkbox__ripple,.light .mat-mdc-checkbox.disable-ripple ::ng-deep .mdc-checkbox__ripple{display:none}[theme=dark] ::ng-deep .mdc-checkbox__background,[theme=light] ::ng-deep .mdc-checkbox__background,.dark ::ng-deep .mdc-checkbox__background,.light ::ng-deep .mdc-checkbox__background{border-radius:4px;transform:scale(.9);background:#fff!important;border-width:1px}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox,.dark ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox,.light ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox{opacity:1!important}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background,.dark ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background,.light ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#e9e9e9!important;border-color:#919191!important}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background .mdc-checkbox__mixedmark,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background .mdc-checkbox__mixedmark,.dark ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background .mdc-checkbox__mixedmark,.light ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:#919191;width:8px}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background svg,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background svg,.dark ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background svg,.light ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background svg{color:#919191!important}[theme=dark] ::ng-deep .mdc-checkbox__checkmark,[theme=light] ::ng-deep .mdc-checkbox__checkmark,.dark ::ng-deep .mdc-checkbox__checkmark,.light ::ng-deep .mdc-checkbox__checkmark{width:12px;height:12px;left:calc(50% - 6px);top:calc(50% - 6px)}[theme=dark] ::ng-deep .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark,[theme=light] ::ng-deep .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark,.dark ::ng-deep .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark,.light ::ng-deep .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{width:12px}::ng-deep .mdc-checkbox__ripple{background:var(--color)!important}::ng-deep .mat-mdc-checkbox .mdc-form-field .mdc-label{padding-left:0}.multiple-checked{border:1px solid var(--color);display:flex;flex-direction:row;align-items:center;gap:16px;background:var(--color);border-radius:8px}.multiple-checked ::ng-deep .mat-mdc-checkbox{width:100%;height:100%}.multiple-checked ::ng-deep .mdc-form-field{padding:8px;width:100%;height:100%;align-items:center}.multiple-checked .mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__background{border:1px solid #ffffff!important;border-color:#fff!important}.multiple-checked ::ng-deep label{color:#fff}.multiple-checked[theme=dark][hasError=false],.multiple-checked[theme=light][hasError=false]{background:#fff;border-radius:10px;border-color:#242424;outline:1px solid #242424}.multiple-checked[theme=dark][hasError=false] .mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__background,.multiple-checked[theme=light][hasError=false] .mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__background{border:unset!important}.multiple-checked[theme=dark][hasError=false] ::ng-deep label,.multiple-checked[theme=light][hasError=false] ::ng-deep label{color:#242424}.multiple-checked[theme=dark][hasError=true],.multiple-checked[theme=light][hasError=true]{border:1px solid #E02800;outline:1px solid #E02800;background:#fff;border-radius:10px}.multiple-checked[theme=dark][hasError=true] ::ng-deep label,.multiple-checked[theme=light][hasError=true] ::ng-deep label{color:#242424}.multiple-checked[theme=classic][hasError=true]{border:1px solid #E02800;outline:1px solid #E02800}.multiple-unchecked{border:1px solid #E0E0E0;display:flex;flex-direction:row;align-items:center;gap:16px;background:#fff;border-radius:8px}.multiple-unchecked ::ng-deep .mat-mdc-checkbox{width:100%;height:100%}.multiple-unchecked ::ng-deep .mdc-form-field{padding:8px;width:100%;height:100%;align-items:center}.multiple-unchecked:hover{background:#f6f6f6;border:1px solid #E0E0E0}.multiple-unchecked ::ng-deep .mdc-checkbox__background{border:1px solid #000000}.multiple-unchecked ::ng-deep .mdc-checkbox__native-control:not([disabled]):focus~.mdc-checkbox__ripple{opacity:0!important}.multiple-unchecked[theme=dark][hasError=false],.multiple-unchecked[theme=light][hasError=false]{border:1px solid #919191;background:#fff;border-radius:10px}.multiple-unchecked[theme=dark][hasError=false] ::ng-deep .mdc-checkbox__background,.multiple-unchecked[theme=light][hasError=false] ::ng-deep .mdc-checkbox__background{border:1px solid #242424!important}.multiple-unchecked[theme=dark][hasError=false]:hover,.multiple-unchecked[theme=light][hasError=false]:hover{outline:1px solid #242424;border-color:#242424!important}.multiple-unchecked[hasError=true]{border:1px solid #E02800;outline:1px solid #E02800;background:#fff}.multiple-unchecked[hasError=true]:not([theme=classic]){border-radius:10px}*[hasError=true]{--mdc-checkbox-unselected-icon-color: #E02800 !important;--mdc-checkbox-unselected-hover-icon-color: #E02800 !important;--mdc-checkbox-unselected-focus-icon-color: #E02800 !important}*[hasError=true] ::ng-deep .mdc-checkbox__background{border-width:2px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i5.ValidationErrorComponent, selector: "ui-validation-error", inputs: ["ngControl", "label", "applicationTheme", "language"] }, { kind: "pipe", type: i6.HasValidationErrorPipe, name: "hasValidationError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
167
167
  }
168
168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxComponent, decorators: [{
169
169
  type: Component,
170
- args: [{ selector: 'ui-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"classMultiple\" [attr.theme]=\"applicationTheme\" [attr.hasError]=\"hasError\">\n <mat-checkbox\n [indeterminate]=\"indeterminate\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (change)=\"toggleChecked($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\"\n class=\"checkbox\"\n >\n {{ label }}\n <ng-content select=\"[checkbox-label]\"></ng-content>\n </mat-checkbox>\n\n <mat-hint class=\"error\" *ngIf=\"ngControl?.errors | hasValidationError\">\n <ui-validation-error [ngControl]=\"ngControl\" [label]=\"label\" [language]=\"language\"></ui-validation-error>\n </mat-hint>\n</div>\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}.mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{background-color:var(--color)!important;border-color:var(--color)!important}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked .mdc-checkbox__background{background-color:var(--color)!important;border-color:var(--color)!important}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked .mdc-checkbox__background .mdc-checkbox__checkmark{color:#fff!important}.mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__ripple{background-color:var(--color)}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mdc-checkbox__native-control:indeterminate~.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#888}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#888;--color: $tgo-dark!important}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox{opacity:.5}[theme=dark],[theme=light]{--color: #D410AA!important;--mdc-checkbox-unselected-icon-color: #242424 !important}[theme=dark] ::ng-deep .mdc-checkbox__background,[theme=light] ::ng-deep .mdc-checkbox__background{border-radius:4px;transform:scale(.9);background:#fff!important;border-width:1px}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox{opacity:1!important}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#e9e9e9!important;border-color:#919191!important}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background .mdc-checkbox__mixedmark,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:#919191;width:8px}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background svg,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background svg{color:#919191!important}[theme=dark] ::ng-deep .mdc-checkbox__checkmark,[theme=light] ::ng-deep .mdc-checkbox__checkmark{width:12px;height:12px;left:calc(50% - 6px);top:calc(50% - 6px)}[theme=dark] ::ng-deep .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark,[theme=light] ::ng-deep .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{width:12px}::ng-deep .mdc-checkbox__ripple{background:var(--color)!important}::ng-deep .mat-mdc-checkbox .mdc-form-field .mdc-label{padding-left:0}.multiple-checked{border:1px solid var(--color);display:flex;flex-direction:row;align-items:center;gap:16px;background:var(--color);border-radius:8px}.multiple-checked ::ng-deep .mat-mdc-checkbox{width:100%;height:100%}.multiple-checked ::ng-deep .mdc-form-field{padding:8px;width:100%;height:100%;align-items:center}.multiple-checked .mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__background{border:1px solid #ffffff!important;border-color:#fff!important}.multiple-checked ::ng-deep label{color:#fff}.multiple-checked[theme=dark][hasError=false],.multiple-checked[theme=light][hasError=false]{background:#fff;border-radius:10px;border-color:#242424;outline:1px solid #242424}.multiple-checked[theme=dark][hasError=false] .mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__background,.multiple-checked[theme=light][hasError=false] .mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__background{border:unset!important}.multiple-checked[theme=dark][hasError=false] ::ng-deep label,.multiple-checked[theme=light][hasError=false] ::ng-deep label{color:#242424}.multiple-checked[theme=dark][hasError=true],.multiple-checked[theme=light][hasError=true]{border:1px solid #E02800;outline:1px solid #E02800;background:#fff;border-radius:10px}.multiple-checked[theme=dark][hasError=true] ::ng-deep label,.multiple-checked[theme=light][hasError=true] ::ng-deep label{color:#242424}.multiple-checked[theme=classic][hasError=true]{border:1px solid #E02800;outline:1px solid #E02800}.multiple-unchecked{border:1px solid #E0E0E0;display:flex;flex-direction:row;align-items:center;gap:16px;background:#fff;border-radius:8px}.multiple-unchecked ::ng-deep .mat-mdc-checkbox{width:100%;height:100%}.multiple-unchecked ::ng-deep .mdc-form-field{padding:8px;width:100%;height:100%;align-items:center}.multiple-unchecked:hover{background:#f6f6f6;border:1px solid #E0E0E0}.multiple-unchecked ::ng-deep .mdc-checkbox__background{border:1px solid #000000}.multiple-unchecked ::ng-deep .mdc-checkbox__native-control:not([disabled]):focus~.mdc-checkbox__ripple{opacity:0!important}.multiple-unchecked[theme=dark][hasError=false],.multiple-unchecked[theme=light][hasError=false]{border:1px solid #919191;background:#fff;border-radius:10px}.multiple-unchecked[theme=dark][hasError=false] ::ng-deep .mdc-checkbox__background,.multiple-unchecked[theme=light][hasError=false] ::ng-deep .mdc-checkbox__background{border:1px solid #242424!important}.multiple-unchecked[theme=dark][hasError=false]:hover,.multiple-unchecked[theme=light][hasError=false]:hover{outline:1px solid #242424;border-color:#242424!important}.multiple-unchecked[hasError=true]{border:1px solid #E02800;outline:1px solid #E02800;background:#fff}.multiple-unchecked[hasError=true]:not([theme=classic]){border-radius:10px}*[hasError=true]{--mdc-checkbox-unselected-icon-color: #E02800 !important;--mdc-checkbox-unselected-hover-icon-color: #E02800 !important;--mdc-checkbox-unselected-focus-icon-color: #E02800 !important}*[hasError=true] ::ng-deep .mdc-checkbox__background{border-width:2px!important}\n"] }]
170
+ args: [{ selector: 'ui-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"classMultiple\" [attr.theme]=\"applicationTheme\" [attr.hasError]=\"hasError\">\n <mat-checkbox\n #checkbox\n (mouseleave)=\"checkbox.disableRipple = true\"\n (mouseenter)=\"checkbox.disableRipple = false\"\n [indeterminate]=\"indeterminate\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [ngClass]=\"{ 'disable-ripple': checkbox.disableRipple }\"\n (change)=\"toggleChecked($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\"\n class=\"checkbox\"\n >\n {{ label }}\n <ng-content select=\"[checkbox-label]\"></ng-content>\n </mat-checkbox>\n\n <mat-hint class=\"error\" *ngIf=\"ngControl?.errors | hasValidationError\">\n <ui-validation-error [ngControl]=\"ngControl\" [label]=\"label\" [language]=\"language\"></ui-validation-error>\n </mat-hint>\n</div>\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}.mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{background-color:var(--color)!important;border-color:var(--color)!important}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked .mdc-checkbox__background{background-color:var(--color)!important;border-color:var(--color)!important}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked .mdc-checkbox__background .mdc-checkbox__checkmark{color:#fff!important}.mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__ripple{background-color:var(--color)}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mdc-checkbox__native-control:indeterminate~.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#888}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#888;--color: $tgo-dark!important}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox{opacity:.5}[theme=dark],[theme=light],.dark,.light{--color: #D410AA!important;--mdc-checkbox-unselected-icon-color: #242424 !important}[theme=dark] .mat-mdc-checkbox.disable-ripple ::ng-deep .mdc-checkbox__ripple,[theme=light] .mat-mdc-checkbox.disable-ripple ::ng-deep .mdc-checkbox__ripple,.dark .mat-mdc-checkbox.disable-ripple ::ng-deep .mdc-checkbox__ripple,.light .mat-mdc-checkbox.disable-ripple ::ng-deep .mdc-checkbox__ripple{display:none}[theme=dark] ::ng-deep .mdc-checkbox__background,[theme=light] ::ng-deep .mdc-checkbox__background,.dark ::ng-deep .mdc-checkbox__background,.light ::ng-deep .mdc-checkbox__background{border-radius:4px;transform:scale(.9);background:#fff!important;border-width:1px}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox,.dark ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox,.light ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-form-field .mdc-checkbox{opacity:1!important}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background,.dark ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background,.light ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#e9e9e9!important;border-color:#919191!important}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background .mdc-checkbox__mixedmark,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background .mdc-checkbox__mixedmark,.dark ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background .mdc-checkbox__mixedmark,.light ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:#919191;width:8px}[theme=dark] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background svg,[theme=light] ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background svg,.dark ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background svg,.light ::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-disabled .mdc-checkbox__background svg{color:#919191!important}[theme=dark] ::ng-deep .mdc-checkbox__checkmark,[theme=light] ::ng-deep .mdc-checkbox__checkmark,.dark ::ng-deep .mdc-checkbox__checkmark,.light ::ng-deep .mdc-checkbox__checkmark{width:12px;height:12px;left:calc(50% - 6px);top:calc(50% - 6px)}[theme=dark] ::ng-deep .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark,[theme=light] ::ng-deep .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark,.dark ::ng-deep .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark,.light ::ng-deep .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{width:12px}::ng-deep .mdc-checkbox__ripple{background:var(--color)!important}::ng-deep .mat-mdc-checkbox .mdc-form-field .mdc-label{padding-left:0}.multiple-checked{border:1px solid var(--color);display:flex;flex-direction:row;align-items:center;gap:16px;background:var(--color);border-radius:8px}.multiple-checked ::ng-deep .mat-mdc-checkbox{width:100%;height:100%}.multiple-checked ::ng-deep .mdc-form-field{padding:8px;width:100%;height:100%;align-items:center}.multiple-checked .mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__background{border:1px solid #ffffff!important;border-color:#fff!important}.multiple-checked ::ng-deep label{color:#fff}.multiple-checked[theme=dark][hasError=false],.multiple-checked[theme=light][hasError=false]{background:#fff;border-radius:10px;border-color:#242424;outline:1px solid #242424}.multiple-checked[theme=dark][hasError=false] .mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__background,.multiple-checked[theme=light][hasError=false] .mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__background{border:unset!important}.multiple-checked[theme=dark][hasError=false] ::ng-deep label,.multiple-checked[theme=light][hasError=false] ::ng-deep label{color:#242424}.multiple-checked[theme=dark][hasError=true],.multiple-checked[theme=light][hasError=true]{border:1px solid #E02800;outline:1px solid #E02800;background:#fff;border-radius:10px}.multiple-checked[theme=dark][hasError=true] ::ng-deep label,.multiple-checked[theme=light][hasError=true] ::ng-deep label{color:#242424}.multiple-checked[theme=classic][hasError=true]{border:1px solid #E02800;outline:1px solid #E02800}.multiple-unchecked{border:1px solid #E0E0E0;display:flex;flex-direction:row;align-items:center;gap:16px;background:#fff;border-radius:8px}.multiple-unchecked ::ng-deep .mat-mdc-checkbox{width:100%;height:100%}.multiple-unchecked ::ng-deep .mdc-form-field{padding:8px;width:100%;height:100%;align-items:center}.multiple-unchecked:hover{background:#f6f6f6;border:1px solid #E0E0E0}.multiple-unchecked ::ng-deep .mdc-checkbox__background{border:1px solid #000000}.multiple-unchecked ::ng-deep .mdc-checkbox__native-control:not([disabled]):focus~.mdc-checkbox__ripple{opacity:0!important}.multiple-unchecked[theme=dark][hasError=false],.multiple-unchecked[theme=light][hasError=false]{border:1px solid #919191;background:#fff;border-radius:10px}.multiple-unchecked[theme=dark][hasError=false] ::ng-deep .mdc-checkbox__background,.multiple-unchecked[theme=light][hasError=false] ::ng-deep .mdc-checkbox__background{border:1px solid #242424!important}.multiple-unchecked[theme=dark][hasError=false]:hover,.multiple-unchecked[theme=light][hasError=false]:hover{outline:1px solid #242424;border-color:#242424!important}.multiple-unchecked[hasError=true]{border:1px solid #E02800;outline:1px solid #E02800;background:#fff}.multiple-unchecked[hasError=true]:not([theme=classic]){border-radius:10px}*[hasError=true]{--mdc-checkbox-unselected-icon-color: #E02800 !important;--mdc-checkbox-unselected-hover-icon-color: #E02800 !important;--mdc-checkbox-unselected-focus-icon-color: #E02800 !important}*[hasError=true] ::ng-deep .mdc-checkbox__background{border-width:2px!important}\n"] }]
171
171
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
172
172
  type: Optional
173
173
  }, {
@@ -207,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
207
207
  }], changed: [{
208
208
  type: Output
209
209
  }] } });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7QUFRNUUsTUFBTSxPQUFPLGlCQUFpQjtJQTZINUIsWUFDNkUsZUFBaUMsRUFDcEcsR0FBc0IsRUFDSCxTQUFvQjtRQUY0QixvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDcEcsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDSCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBL0hqRDs7Ozs7O1dBTUc7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRTFCOzs7Ozs7V0FNRztRQUNNLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFekI7Ozs7Ozs7V0FPRztRQUNNLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRS9COzs7Ozs7V0FNRztRQUVNLGlCQUFZLEdBQUcsU0FBUyxDQUFDO1FBRWxDOzs7OztXQUtHO1FBQ00sU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVuQjs7Ozs7V0FLRztRQUNNLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFcEI7Ozs7OztXQU1HO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7Ozs7O1dBTUc7UUFDTSxxQkFBZ0IsR0FBcUIsT0FBTyxDQUFDO1FBVXREOzs7OztXQUtHO1FBQ00saUJBQVks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TztzQkFBZixLQUFLO2dCQVVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBVUcsWUFBWTtzQkFEcEIsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsS0FBSztnQkFRRyxJQUFJO3NCQUFaLEtBQUs7Z0JBUUcsS0FBSztzQkFBYixLQUFLO2dCQVNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBU0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBUUcsWUFBWTtzQkFBcEIsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBUUksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9sb2NhbGl6YXRpb24vbGFuZ3VhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRG9DaGVjayB7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGRpc2FibGVkLlxuICAgKiBEZWZhdWx0OiBmYWxzZS5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBDaGVja2JveENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLlxuICAgKiBEZWZhdWx0OiBmYWxzZS5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBDaGVja2JveENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgY2hlY2tlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGluZGV0ZXJtaW5hdGUuXG4gICAqIEl0IGNhbiBiZSB1c2VkIHRvIHJlcHJlc2VudCBhIGNoZWNrYm94IHdpdGggdGhyZWUgc3RhdGVzLCBlLmcuIGEgY2hlY2tib3ggdGhhdCByZXByZXNlbnRzIGEgbmVzdGVkIGxpc3Qgb2YgY2hlY2thYmxlIGl0ZW1zLlxuICAgKiBEZWZhdWx0OiBmYWxzZS5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBDaGVja2JveENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGNoZWNrYm94IGNvbG9yLlxuICAgKiBEZWZhdWx0OiBUZXN0IEdvcmlsbGEgcHJpbWFyeSBjb2xvci5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIENoZWNrYm94Q29tcG9uZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tY29sb3InKVxuICBASW5wdXQoKSBjb21wYW55Q29sb3IgPSAnIzQ2QTk5Nyc7XG5cbiAgLyoqXG4gICAqIE5hbWUgdmFsdWUgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBpbnB1dCBlbGVtZW50IGlmIHByZXNlbnQuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBDaGVja2JveENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbmFtZSA9ICcnO1xuXG4gIC8qKlxuICAgKiBUZXh0IGNvbnRlbnQgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBpbnB1dCBlbGVtZW50IGlmIHByZXNlbnQuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBDaGVja2JveENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFiZWwgPSAnJztcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjaGVja2JveCBpcyBhIG11bHRpcGxlIGNob2ljZSBjZWxsLlxuICAgKiBEZWZhdWx0OiBmYWxzZVxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIENoZWNrYm94Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIENoZWNrYm94Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIGxhYmVsIGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGxhYmVsIGlzIHVzZWQgdG8gcHJvdmlkZSBhbiBhY2Nlc3NpYmxlIG5hbWUgZm9yIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQ2hlY2tib3hDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIENoZWNrYm94Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhUmVxdWlyZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRGVmaW5lcyBpZiBjaGVja2JveCBoYXMgZXJyb3JcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBDaGVja2JveENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaGFzRXJyb3IgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIHRvIGJlIHVzZWRcbiAgICogQHByb3BlcnR5IGxhbmd1YWdlXG4gICAqIEB0eXBlIHtMYW5ndWFnZX1cbiAgICogQG1lbWJlcm9mIERyb3Bkb3duQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsYW5ndWFnZSA9IExhbmd1YWdlU2VydmljZS5kZWZhdWx0TGFuZ3VhZ2U7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY2hlY2tib3gncyBjaGVja2VkIHZhbHVlIGNoYW5nZXMuXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgQ2hlY2tib3hDb21wb25lbnRcbiAgICovXG4gIEBPdXRwdXQoKSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBvblRvdWNoID0gKCkgPT4ge307XG5cbiAgY2xhc3NNdWx0aXBsZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2xcbiAgKSB7XG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXNlZCB0byBtYXJrIGNvbXBvbmVudCB2aWV3IGFzIGRpcnR5IHdoZW4gdG91Y2hlZCBwcm9ncmFtbWF0aWNhbGx5IHdpdGggbWFya0FzVG91Y2hlZC9tYXJrQWxsQXNUb3VjaGVkIG9yIGVycm9yc1xuICAgKiB0byBkaXNwbGF5IHZhbGlkYXRpb24gZXJyb3JzIHRoYXQgbWlnaHQgaGFwcGVuIChlLmcuIHJlcXVpcmVkKVxuICAgKi9cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbD8udG91Y2hlZCB8fCB0aGlzLm5nQ29udHJvbD8uZXJyb3JzKSB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBlbWl0Q2hhbmdlKGV2ZW50OiBNYXRDaGVja2JveENoYW5nZSk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlZC5lbWl0KGV2ZW50LmNoZWNrZWQpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jbGFzc011bHRpcGxlID0gdGhpcy5zZXRDbGFzcygpO1xuICB9XG5cbiAgdG9nZ2xlQ2hlY2tlZChldmVudDogTWF0Q2hlY2tib3hDaGFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZWQuZW1pdChldmVudC5jaGVja2VkKTtcbiAgICB0aGlzLmNoZWNrZWQgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMub25Ub3VjaCgpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy5jaGVja2VkKTtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5jbGFzc011bHRpcGxlID0gdGhpcy5zZXRDbGFzcygpO1xuICAgIH1cbiAgfVxuXG4gIHNldENsYXNzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrZWQgfHwgdGhpcy5pbmRldGVybWluYXRlID8gJ211bHRpcGxlLWNoZWNrZWQnIDogJ211bHRpcGxlLXVuY2hlY2tlZCc7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImNsYXNzTXVsdGlwbGVcIiBbYXR0ci50aGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCIgW2F0dHIuaGFzRXJyb3JdPVwiaGFzRXJyb3JcIj5cbiAgPG1hdC1jaGVja2JveFxuICAgIFtpbmRldGVybWluYXRlXT1cImluZGV0ZXJtaW5hdGVcIlxuICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgKGNoYW5nZSk9XCJ0b2dnbGVDaGVja2VkKCRldmVudClcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cImFyaWFSZXF1aXJlZFwiXG4gICAgY2xhc3M9XCJjaGVja2JveFwiXG4gID5cbiAgICB7eyBsYWJlbCB9fVxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltjaGVja2JveC1sYWJlbF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvbWF0LWNoZWNrYm94PlxuXG4gIDxtYXQtaGludCBjbGFzcz1cImVycm9yXCIgKm5nSWY9XCJuZ0NvbnRyb2w/LmVycm9ycyB8IGhhc1ZhbGlkYXRpb25FcnJvclwiPlxuICAgIDx1aS12YWxpZGF0aW9uLWVycm9yIFtuZ0NvbnRyb2xdPVwibmdDb250cm9sXCIgW2xhYmVsXT1cImxhYmVsXCIgW2xhbmd1YWdlXT1cImxhbmd1YWdlXCI+PC91aS12YWxpZGF0aW9uLWVycm9yPlxuICA8L21hdC1oaW50PlxuPC9kaXY+XG4iXX0=
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7QUFRNUUsTUFBTSxPQUFPLGlCQUFpQjtJQTZINUIsWUFDNkUsZUFBaUMsRUFDcEcsR0FBc0IsRUFDSCxTQUFvQjtRQUY0QixvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDcEcsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDSCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBL0hqRDs7Ozs7O1dBTUc7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRTFCOzs7Ozs7V0FNRztRQUNNLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFekI7Ozs7Ozs7V0FPRztRQUNNLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRS9COzs7Ozs7V0FNRztRQUVNLGlCQUFZLEdBQUcsU0FBUyxDQUFDO1FBRWxDOzs7OztXQUtHO1FBQ00sU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVuQjs7Ozs7V0FLRztRQUNNLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFcEI7Ozs7OztXQU1HO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7Ozs7O1dBTUc7UUFDTSxxQkFBZ0IsR0FBcUIsT0FBTyxDQUFDO1FBVXREOzs7OztXQUtHO1FBQ00saUJBQVks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TztzQkFBZixLQUFLO2dCQVVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBVUcsWUFBWTtzQkFEcEIsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsS0FBSztnQkFRRyxJQUFJO3NCQUFaLEtBQUs7Z0JBUUcsS0FBSztzQkFBYixLQUFLO2dCQVNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBU0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBUUcsWUFBWTtzQkFBcEIsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBUUksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9sb2NhbGl6YXRpb24vbGFuZ3VhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRG9DaGVjayB7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGRpc2FibGVkLlxuICAgKiBEZWZhdWx0OiBmYWxzZS5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBDaGVja2JveENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLlxuICAgKiBEZWZhdWx0OiBmYWxzZS5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBDaGVja2JveENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgY2hlY2tlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGluZGV0ZXJtaW5hdGUuXG4gICAqIEl0IGNhbiBiZSB1c2VkIHRvIHJlcHJlc2VudCBhIGNoZWNrYm94IHdpdGggdGhyZWUgc3RhdGVzLCBlLmcuIGEgY2hlY2tib3ggdGhhdCByZXByZXNlbnRzIGEgbmVzdGVkIGxpc3Qgb2YgY2hlY2thYmxlIGl0ZW1zLlxuICAgKiBEZWZhdWx0OiBmYWxzZS5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBDaGVja2JveENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGNoZWNrYm94IGNvbG9yLlxuICAgKiBEZWZhdWx0OiBUZXN0IEdvcmlsbGEgcHJpbWFyeSBjb2xvci5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIENoZWNrYm94Q29tcG9uZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tY29sb3InKVxuICBASW5wdXQoKSBjb21wYW55Q29sb3IgPSAnIzQ2QTk5Nyc7XG5cbiAgLyoqXG4gICAqIE5hbWUgdmFsdWUgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBpbnB1dCBlbGVtZW50IGlmIHByZXNlbnQuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBDaGVja2JveENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbmFtZSA9ICcnO1xuXG4gIC8qKlxuICAgKiBUZXh0IGNvbnRlbnQgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBpbnB1dCBlbGVtZW50IGlmIHByZXNlbnQuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBDaGVja2JveENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFiZWwgPSAnJztcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjaGVja2JveCBpcyBhIG11bHRpcGxlIGNob2ljZSBjZWxsLlxuICAgKiBEZWZhdWx0OiBmYWxzZVxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIENoZWNrYm94Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIENoZWNrYm94Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIGxhYmVsIGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGxhYmVsIGlzIHVzZWQgdG8gcHJvdmlkZSBhbiBhY2Nlc3NpYmxlIG5hbWUgZm9yIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQ2hlY2tib3hDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIENoZWNrYm94Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhUmVxdWlyZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRGVmaW5lcyBpZiBjaGVja2JveCBoYXMgZXJyb3JcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBDaGVja2JveENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaGFzRXJyb3IgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIHRvIGJlIHVzZWRcbiAgICogQHByb3BlcnR5IGxhbmd1YWdlXG4gICAqIEB0eXBlIHtMYW5ndWFnZX1cbiAgICogQG1lbWJlcm9mIERyb3Bkb3duQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsYW5ndWFnZSA9IExhbmd1YWdlU2VydmljZS5kZWZhdWx0TGFuZ3VhZ2U7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY2hlY2tib3gncyBjaGVja2VkIHZhbHVlIGNoYW5nZXMuXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgQ2hlY2tib3hDb21wb25lbnRcbiAgICovXG4gIEBPdXRwdXQoKSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBvblRvdWNoID0gKCkgPT4ge307XG5cbiAgY2xhc3NNdWx0aXBsZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2xcbiAgKSB7XG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXNlZCB0byBtYXJrIGNvbXBvbmVudCB2aWV3IGFzIGRpcnR5IHdoZW4gdG91Y2hlZCBwcm9ncmFtbWF0aWNhbGx5IHdpdGggbWFya0FzVG91Y2hlZC9tYXJrQWxsQXNUb3VjaGVkIG9yIGVycm9yc1xuICAgKiB0byBkaXNwbGF5IHZhbGlkYXRpb24gZXJyb3JzIHRoYXQgbWlnaHQgaGFwcGVuIChlLmcuIHJlcXVpcmVkKVxuICAgKi9cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbD8udG91Y2hlZCB8fCB0aGlzLm5nQ29udHJvbD8uZXJyb3JzKSB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBlbWl0Q2hhbmdlKGV2ZW50OiBNYXRDaGVja2JveENoYW5nZSk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlZC5lbWl0KGV2ZW50LmNoZWNrZWQpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jbGFzc011bHRpcGxlID0gdGhpcy5zZXRDbGFzcygpO1xuICB9XG5cbiAgdG9nZ2xlQ2hlY2tlZChldmVudDogTWF0Q2hlY2tib3hDaGFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZWQuZW1pdChldmVudC5jaGVja2VkKTtcbiAgICB0aGlzLmNoZWNrZWQgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMub25Ub3VjaCgpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy5jaGVja2VkKTtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5jbGFzc011bHRpcGxlID0gdGhpcy5zZXRDbGFzcygpO1xuICAgIH1cbiAgfVxuXG4gIHNldENsYXNzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrZWQgfHwgdGhpcy5pbmRldGVybWluYXRlID8gJ211bHRpcGxlLWNoZWNrZWQnIDogJ211bHRpcGxlLXVuY2hlY2tlZCc7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImNsYXNzTXVsdGlwbGVcIiBbYXR0ci50aGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCIgW2F0dHIuaGFzRXJyb3JdPVwiaGFzRXJyb3JcIj5cbiAgPG1hdC1jaGVja2JveFxuICAgICNjaGVja2JveFxuICAgIChtb3VzZWxlYXZlKT1cImNoZWNrYm94LmRpc2FibGVSaXBwbGUgPSB0cnVlXCJcbiAgICAobW91c2VlbnRlcik9XCJjaGVja2JveC5kaXNhYmxlUmlwcGxlID0gZmFsc2VcIlxuICAgIFtpbmRldGVybWluYXRlXT1cImluZGV0ZXJtaW5hdGVcIlxuICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgW25nQ2xhc3NdPVwieyAnZGlzYWJsZS1yaXBwbGUnOiBjaGVja2JveC5kaXNhYmxlUmlwcGxlIH1cIlxuICAgIChjaGFuZ2UpPVwidG9nZ2xlQ2hlY2tlZCgkZXZlbnQpXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJhcmlhUmVxdWlyZWRcIlxuICAgIGNsYXNzPVwiY2hlY2tib3hcIlxuICA+XG4gICAge3sgbGFiZWwgfX1cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbY2hlY2tib3gtbGFiZWxdXCI+PC9uZy1jb250ZW50PlxuICA8L21hdC1jaGVja2JveD5cblxuICA8bWF0LWhpbnQgY2xhc3M9XCJlcnJvclwiICpuZ0lmPVwibmdDb250cm9sPy5lcnJvcnMgfCBoYXNWYWxpZGF0aW9uRXJyb3JcIj5cbiAgICA8dWktdmFsaWRhdGlvbi1lcnJvciBbbmdDb250cm9sXT1cIm5nQ29udHJvbFwiIFtsYWJlbF09XCJsYWJlbFwiIFtsYW5ndWFnZV09XCJsYW5ndWFnZVwiPjwvdWktdmFsaWRhdGlvbi1lcnJvcj5cbiAgPC9tYXQtaGludD5cbjwvZGl2PlxuIl19
@@ -290,7 +290,7 @@ export class PhoneInputComponent {
290
290
  provide: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,
291
291
  useValue: { overlayPanelClass: 'phone-number-autocomplete' },
292
292
  },
293
- ], viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true, read: ElementRef, static: true }, { propertyName: "select", first: true, predicate: MatSelect, descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<mat-form-field\n [formGroup]=\"form\"\n appearance=\"outline\"\n [color]=\"(errorsLength || (ngControl?.errors && ngControl?.touched )) ? 'warn' : 'accent'\"\n [ngClass]=\"{ disabled: form.disabled || disabled, 'full-width': fullWidth }\"\n>\n <mat-label>{{ 'COMMON.PHONE_NUMBER' | uiTranslate : language }} <span *ngIf=\"required\">*</span></mat-label>\n\n <div matPrefix class=\"country\">\n <button class=\"selected-flag\" matPrefix *ngIf=\"selectedCountry\">\n <mat-icon [svgIcon]=\"selectedCountry?.alpha2Code?.toLowerCase()!\"></mat-icon>\n </button>\n <mat-select\n #select\n (selectionChange)=\"onOptionsSelected($event.value)\"\n [value]=\"selectedCountry\"\n [disableOptionCentering]=\"true\"\n [panelClass]=\"'phone-number-select'\"\n [ngClass]=\"{ opened: select.panelOpen }\"\n >\n <mat-select-trigger>{{ selectedCountry?.callingCode }}</mat-select-trigger>\n <mat-option>\n <ngx-mat-select-search\n [formControl]=\"selectFilterCtrl\"\n ngDefaultControl\n placeholderLabel=\"\"\n noEntriesFoundLabel=\"\"\n >\n <ui-icon ngxMatSelectSearchClear size=\"24\" [name]=\"'Close-in-line'\"></ui-icon>\n </ngx-mat-select-search>\n </mat-option>\n <mat-option *ngFor=\"let country of countries$ | async; trackBy: filteredCountryTrackByMethod\" [value]=\"country\">\n <mat-icon [svgIcon]=\"country?.alpha2Code?.toLowerCase()!\"></mat-icon>\n <small>{{ $any([country?.name, '(' + country?.callingCode + ')']) | joinStrings : ' ' }}</small>\n </mat-option>\n </mat-select>\n </div>\n\n <input\n (input)=\"onInput(form.get('phone_number')!.value)\"\n formControlName=\"phone_number\"\n (click)=\"disableClick($event)\"\n [ngStyle]=\"{ opacity: disabled ? 0.5 : 1 }\"\n [required]=\"required\"\n matInput\n type=\"text\"\n />\n\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.errors | hasValidationError)\">\n <ng-container *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors; trackBy: trackByFn\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-container>\n\n <ui-validation-error [ngControl]=\"ngControl\" [label]=\"'COMMON.PHONE_NUMBER' | uiTranslate : language\" [language]=\"language\"></ui-validation-error>\n\n </mat-hint>\n</mat-form-field>\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;align-items:center}:host .selected-flag{display:flex;position:relative;margin-right:1rem;align-items:center}:host mat-spinner{padding:0 20px}:host .country{cursor:pointer!important;display:flex;align-items:center;margin:-8px 12px 0 16px}:host .country button{margin:0 8px 0 0;background:transparent;border:unset;padding:0}:host ::ng-deep .mat-mdc-select-trigger{display:flex;gap:8px}:host mat-select{flex:0}:host .mat-mdc-form-field{min-width:320px}:host .mat-mdc-form-field.full-width{width:100%}:host .mat-mdc-form-field.disabled ::ng-deep *{border-color:#d3d3d3;color:#d3d3d3;pointer-events:none}:host .mat-mdc-form-field.disabled ::ng-deep * .mat-mdc-select-arrow{opacity:.1}:host[theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow,:host[theme=light] mat-select ::ng-deep .mat-mdc-select-arrow{background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2225%22 viewBox%3D%220 0 24 25%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M12 17.025L6 11.025L7.4 9.625L12 14.225L16.6 9.625L18 11.025L12 17.025Z%22 fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E\");background-size:cover;width:16px;height:16px}:host[theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow svg,:host[theme=light] mat-select ::ng-deep .mat-mdc-select-arrow svg{display:none}:host[theme=dark] mat-select.opened ::ng-deep .mat-mdc-select-arrow,:host[theme=light] mat-select.opened ::ng-deep .mat-mdc-select-arrow{background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2225%22 viewBox%3D%220 0 24 25%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M12 9.6249L18 15.6249L16.6 17.0249L12 12.4249L7.4 17.0249L6 15.6249L12 9.6249Z%22 fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E\");background-size:cover;width:16px;height:16px}::ng-deep .mat-form-field-appearance-outline mat-select .mat-select-arrow-wrapper{transform:none}::ng-deep .mat-select-panel.phone-number-select{margin-top:36px;margin-left:45px}::ng-deep .mat-select-search-inner{box-shadow:none!important;height:48px;background-color:#fff!important;border-bottom:none!important}::ng-deep .mat-select-search-inner .mat-select-search-inner-row{width:100%}::ng-deep .mat-select-search-inner button.mat-select-search-clear{right:35px}::ng-deep .mat-select-search-inner button.mat-select-search-clear mat-icon{font-size:20px}@media screen and (min-width: 599px){::ng-deep .mat-select-panel.phone-number-select{margin-left:-33px;min-width:510px}::ng-deep .mat-select-search-inner{min-width:calc(100% + 33px)!important}}ngx-mat-select-search ::ng-deep button .mat-mdc-button-persistent-ripple,ngx-mat-select-search ::ng-deep button .mat-ripple,ngx-mat-select-search ::ng-deep button .mat-mdc-button-ripple{display:none}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i7.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i8.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "directive", type: i10.MatSelectSearchClearDirective, selector: "[ngxMatSelectSearchClear]" }, { kind: "component", type: i11.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme"] }, { kind: "component", type: i12.ValidationErrorComponent, selector: "ui-validation-error", inputs: ["ngControl", "label", "applicationTheme", "language"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i14.HasValidationErrorPipe, name: "hasValidationError" }, { kind: "pipe", type: i15.JoinStringsPipe, name: "joinStrings" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
293
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true, read: ElementRef, static: true }, { propertyName: "select", first: true, predicate: MatSelect, descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<mat-form-field\n [formGroup]=\"form\"\n appearance=\"outline\"\n [color]=\"(errorsLength || (ngControl?.errors && ngControl?.touched )) ? 'warn' : 'accent'\"\n [ngClass]=\"{ disabled: form.disabled || disabled, 'full-width': fullWidth }\"\n>\n <mat-label>{{ 'COMMON.PHONE_NUMBER' | uiTranslate : language }} <span *ngIf=\"required\">*</span></mat-label>\n\n <div matPrefix class=\"country\">\n <button class=\"selected-flag\" matPrefix *ngIf=\"selectedCountry\">\n <mat-icon [svgIcon]=\"selectedCountry?.alpha2Code?.toLowerCase()!\"></mat-icon>\n </button>\n <mat-select\n #select\n (selectionChange)=\"onOptionsSelected($event.value)\"\n [value]=\"selectedCountry\"\n [disableOptionCentering]=\"true\"\n [panelClass]=\"'phone-number-select' + ' ' + applicationTheme\"\n [ngClass]=\"{ opened: select.panelOpen }\"\n >\n <mat-select-trigger>{{ selectedCountry?.callingCode }}</mat-select-trigger>\n <mat-option>\n <ngx-mat-select-search\n [formControl]=\"selectFilterCtrl\"\n ngDefaultControl\n placeholderLabel=\"\"\n noEntriesFoundLabel=\"\"\n >\n <ui-icon ngxMatSelectSearchClear size=\"24\" [name]=\"'Close-in-line'\"></ui-icon>\n </ngx-mat-select-search>\n </mat-option>\n <mat-option *ngFor=\"let country of countries$ | async; trackBy: filteredCountryTrackByMethod\" [value]=\"country\">\n <mat-icon [svgIcon]=\"country?.alpha2Code?.toLowerCase()!\"></mat-icon>\n <small>{{ $any([country?.name, '(' + country?.callingCode + ')']) | joinStrings : ' ' }}</small>\n </mat-option>\n </mat-select>\n </div>\n\n <input\n (input)=\"onInput(form.get('phone_number')!.value)\"\n formControlName=\"phone_number\"\n (click)=\"disableClick($event)\"\n [ngStyle]=\"{ opacity: disabled ? 0.5 : 1 }\"\n [required]=\"required\"\n matInput\n type=\"text\"\n />\n\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.errors | hasValidationError)\">\n <ng-container *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors; trackBy: trackByFn\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-container>\n\n <ui-validation-error [ngControl]=\"ngControl\" [label]=\"'COMMON.PHONE_NUMBER' | uiTranslate : language\" [language]=\"language\"></ui-validation-error>\n\n </mat-hint>\n</mat-form-field>\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;align-items:center}:host .selected-flag{display:flex;position:relative;margin-right:1rem;align-items:center}:host mat-spinner{padding:0 20px}:host .country{cursor:pointer!important;display:flex;align-items:center;margin:-8px 12px 0 16px}:host .country button{margin:0 8px 0 0;background:transparent;border:unset;padding:0}:host ::ng-deep .mat-mdc-select-trigger{display:flex;gap:8px}:host mat-select{flex:0}:host .mat-mdc-form-field{min-width:320px}:host .mat-mdc-form-field.full-width{width:100%}:host .mat-mdc-form-field.disabled ::ng-deep *{border-color:#d3d3d3;color:#d3d3d3;pointer-events:none}:host .mat-mdc-form-field.disabled ::ng-deep * .mat-mdc-select-arrow{opacity:.1}:host[theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow,:host[theme=light] mat-select ::ng-deep .mat-mdc-select-arrow{background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2225%22 viewBox%3D%220 0 24 25%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M12 17.025L6 11.025L7.4 9.625L12 14.225L16.6 9.625L18 11.025L12 17.025Z%22 fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E\");background-size:cover;width:16px;height:16px}:host[theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow svg,:host[theme=light] mat-select ::ng-deep .mat-mdc-select-arrow svg{display:none}:host[theme=dark] mat-select.opened ::ng-deep .mat-mdc-select-arrow,:host[theme=light] mat-select.opened ::ng-deep .mat-mdc-select-arrow{background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2225%22 viewBox%3D%220 0 24 25%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M12 9.6249L18 15.6249L16.6 17.0249L12 12.4249L7.4 17.0249L6 15.6249L12 9.6249Z%22 fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E\");background-size:cover;width:16px;height:16px}::ng-deep .mat-form-field-appearance-outline mat-select .mat-select-arrow-wrapper{transform:none}::ng-deep .mat-select-panel.phone-number-select{margin-top:36px;margin-left:45px}::ng-deep .mat-select-search-inner{box-shadow:none!important;height:48px;background-color:#fff!important;border-bottom:none!important}::ng-deep .mat-select-search-inner .mat-select-search-inner-row{width:100%}::ng-deep .mat-select-search-inner button.mat-select-search-clear{right:35px}::ng-deep .mat-select-search-inner button.mat-select-search-clear mat-icon{font-size:20px}@media screen and (min-width: 599px){::ng-deep .mat-select-panel.phone-number-select{margin-left:-33px;min-width:510px}::ng-deep .mat-select-search-inner{min-width:calc(100% + 33px)!important}}ngx-mat-select-search ::ng-deep button .mat-mdc-button-persistent-ripple,ngx-mat-select-search ::ng-deep button .mat-ripple,ngx-mat-select-search ::ng-deep button .mat-mdc-button-ripple{display:none}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i7.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i8.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "directive", type: i10.MatSelectSearchClearDirective, selector: "[ngxMatSelectSearchClear]" }, { kind: "component", type: i11.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme"] }, { kind: "component", type: i12.ValidationErrorComponent, selector: "ui-validation-error", inputs: ["ngControl", "label", "applicationTheme", "language"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i14.HasValidationErrorPipe, name: "hasValidationError" }, { kind: "pipe", type: i15.JoinStringsPipe, name: "joinStrings" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
294
294
  }
295
295
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PhoneInputComponent, decorators: [{
296
296
  type: Component,
@@ -299,7 +299,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
299
299
  provide: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,
300
300
  useValue: { overlayPanelClass: 'phone-number-autocomplete' },
301
301
  },
302
- ], template: "<mat-form-field\n [formGroup]=\"form\"\n appearance=\"outline\"\n [color]=\"(errorsLength || (ngControl?.errors && ngControl?.touched )) ? 'warn' : 'accent'\"\n [ngClass]=\"{ disabled: form.disabled || disabled, 'full-width': fullWidth }\"\n>\n <mat-label>{{ 'COMMON.PHONE_NUMBER' | uiTranslate : language }} <span *ngIf=\"required\">*</span></mat-label>\n\n <div matPrefix class=\"country\">\n <button class=\"selected-flag\" matPrefix *ngIf=\"selectedCountry\">\n <mat-icon [svgIcon]=\"selectedCountry?.alpha2Code?.toLowerCase()!\"></mat-icon>\n </button>\n <mat-select\n #select\n (selectionChange)=\"onOptionsSelected($event.value)\"\n [value]=\"selectedCountry\"\n [disableOptionCentering]=\"true\"\n [panelClass]=\"'phone-number-select'\"\n [ngClass]=\"{ opened: select.panelOpen }\"\n >\n <mat-select-trigger>{{ selectedCountry?.callingCode }}</mat-select-trigger>\n <mat-option>\n <ngx-mat-select-search\n [formControl]=\"selectFilterCtrl\"\n ngDefaultControl\n placeholderLabel=\"\"\n noEntriesFoundLabel=\"\"\n >\n <ui-icon ngxMatSelectSearchClear size=\"24\" [name]=\"'Close-in-line'\"></ui-icon>\n </ngx-mat-select-search>\n </mat-option>\n <mat-option *ngFor=\"let country of countries$ | async; trackBy: filteredCountryTrackByMethod\" [value]=\"country\">\n <mat-icon [svgIcon]=\"country?.alpha2Code?.toLowerCase()!\"></mat-icon>\n <small>{{ $any([country?.name, '(' + country?.callingCode + ')']) | joinStrings : ' ' }}</small>\n </mat-option>\n </mat-select>\n </div>\n\n <input\n (input)=\"onInput(form.get('phone_number')!.value)\"\n formControlName=\"phone_number\"\n (click)=\"disableClick($event)\"\n [ngStyle]=\"{ opacity: disabled ? 0.5 : 1 }\"\n [required]=\"required\"\n matInput\n type=\"text\"\n />\n\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.errors | hasValidationError)\">\n <ng-container *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors; trackBy: trackByFn\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-container>\n\n <ui-validation-error [ngControl]=\"ngControl\" [label]=\"'COMMON.PHONE_NUMBER' | uiTranslate : language\" [language]=\"language\"></ui-validation-error>\n\n </mat-hint>\n</mat-form-field>\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;align-items:center}:host .selected-flag{display:flex;position:relative;margin-right:1rem;align-items:center}:host mat-spinner{padding:0 20px}:host .country{cursor:pointer!important;display:flex;align-items:center;margin:-8px 12px 0 16px}:host .country button{margin:0 8px 0 0;background:transparent;border:unset;padding:0}:host ::ng-deep .mat-mdc-select-trigger{display:flex;gap:8px}:host mat-select{flex:0}:host .mat-mdc-form-field{min-width:320px}:host .mat-mdc-form-field.full-width{width:100%}:host .mat-mdc-form-field.disabled ::ng-deep *{border-color:#d3d3d3;color:#d3d3d3;pointer-events:none}:host .mat-mdc-form-field.disabled ::ng-deep * .mat-mdc-select-arrow{opacity:.1}:host[theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow,:host[theme=light] mat-select ::ng-deep .mat-mdc-select-arrow{background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2225%22 viewBox%3D%220 0 24 25%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M12 17.025L6 11.025L7.4 9.625L12 14.225L16.6 9.625L18 11.025L12 17.025Z%22 fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E\");background-size:cover;width:16px;height:16px}:host[theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow svg,:host[theme=light] mat-select ::ng-deep .mat-mdc-select-arrow svg{display:none}:host[theme=dark] mat-select.opened ::ng-deep .mat-mdc-select-arrow,:host[theme=light] mat-select.opened ::ng-deep .mat-mdc-select-arrow{background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2225%22 viewBox%3D%220 0 24 25%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M12 9.6249L18 15.6249L16.6 17.0249L12 12.4249L7.4 17.0249L6 15.6249L12 9.6249Z%22 fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E\");background-size:cover;width:16px;height:16px}::ng-deep .mat-form-field-appearance-outline mat-select .mat-select-arrow-wrapper{transform:none}::ng-deep .mat-select-panel.phone-number-select{margin-top:36px;margin-left:45px}::ng-deep .mat-select-search-inner{box-shadow:none!important;height:48px;background-color:#fff!important;border-bottom:none!important}::ng-deep .mat-select-search-inner .mat-select-search-inner-row{width:100%}::ng-deep .mat-select-search-inner button.mat-select-search-clear{right:35px}::ng-deep .mat-select-search-inner button.mat-select-search-clear mat-icon{font-size:20px}@media screen and (min-width: 599px){::ng-deep .mat-select-panel.phone-number-select{margin-left:-33px;min-width:510px}::ng-deep .mat-select-search-inner{min-width:calc(100% + 33px)!important}}ngx-mat-select-search ::ng-deep button .mat-mdc-button-persistent-ripple,ngx-mat-select-search ::ng-deep button .mat-ripple,ngx-mat-select-search ::ng-deep button .mat-mdc-button-ripple{display:none}\n"] }]
302
+ ], template: "<mat-form-field\n [formGroup]=\"form\"\n appearance=\"outline\"\n [color]=\"(errorsLength || (ngControl?.errors && ngControl?.touched )) ? 'warn' : 'accent'\"\n [ngClass]=\"{ disabled: form.disabled || disabled, 'full-width': fullWidth }\"\n>\n <mat-label>{{ 'COMMON.PHONE_NUMBER' | uiTranslate : language }} <span *ngIf=\"required\">*</span></mat-label>\n\n <div matPrefix class=\"country\">\n <button class=\"selected-flag\" matPrefix *ngIf=\"selectedCountry\">\n <mat-icon [svgIcon]=\"selectedCountry?.alpha2Code?.toLowerCase()!\"></mat-icon>\n </button>\n <mat-select\n #select\n (selectionChange)=\"onOptionsSelected($event.value)\"\n [value]=\"selectedCountry\"\n [disableOptionCentering]=\"true\"\n [panelClass]=\"'phone-number-select' + ' ' + applicationTheme\"\n [ngClass]=\"{ opened: select.panelOpen }\"\n >\n <mat-select-trigger>{{ selectedCountry?.callingCode }}</mat-select-trigger>\n <mat-option>\n <ngx-mat-select-search\n [formControl]=\"selectFilterCtrl\"\n ngDefaultControl\n placeholderLabel=\"\"\n noEntriesFoundLabel=\"\"\n >\n <ui-icon ngxMatSelectSearchClear size=\"24\" [name]=\"'Close-in-line'\"></ui-icon>\n </ngx-mat-select-search>\n </mat-option>\n <mat-option *ngFor=\"let country of countries$ | async; trackBy: filteredCountryTrackByMethod\" [value]=\"country\">\n <mat-icon [svgIcon]=\"country?.alpha2Code?.toLowerCase()!\"></mat-icon>\n <small>{{ $any([country?.name, '(' + country?.callingCode + ')']) | joinStrings : ' ' }}</small>\n </mat-option>\n </mat-select>\n </div>\n\n <input\n (input)=\"onInput(form.get('phone_number')!.value)\"\n formControlName=\"phone_number\"\n (click)=\"disableClick($event)\"\n [ngStyle]=\"{ opacity: disabled ? 0.5 : 1 }\"\n [required]=\"required\"\n matInput\n type=\"text\"\n />\n\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.errors | hasValidationError)\">\n <ng-container *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors; trackBy: trackByFn\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-container>\n\n <ui-validation-error [ngControl]=\"ngControl\" [label]=\"'COMMON.PHONE_NUMBER' | uiTranslate : language\" [language]=\"language\"></ui-validation-error>\n\n </mat-hint>\n</mat-form-field>\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;align-items:center}:host .selected-flag{display:flex;position:relative;margin-right:1rem;align-items:center}:host mat-spinner{padding:0 20px}:host .country{cursor:pointer!important;display:flex;align-items:center;margin:-8px 12px 0 16px}:host .country button{margin:0 8px 0 0;background:transparent;border:unset;padding:0}:host ::ng-deep .mat-mdc-select-trigger{display:flex;gap:8px}:host mat-select{flex:0}:host .mat-mdc-form-field{min-width:320px}:host .mat-mdc-form-field.full-width{width:100%}:host .mat-mdc-form-field.disabled ::ng-deep *{border-color:#d3d3d3;color:#d3d3d3;pointer-events:none}:host .mat-mdc-form-field.disabled ::ng-deep * .mat-mdc-select-arrow{opacity:.1}:host[theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow,:host[theme=light] mat-select ::ng-deep .mat-mdc-select-arrow{background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2225%22 viewBox%3D%220 0 24 25%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M12 17.025L6 11.025L7.4 9.625L12 14.225L16.6 9.625L18 11.025L12 17.025Z%22 fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E\");background-size:cover;width:16px;height:16px}:host[theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow svg,:host[theme=light] mat-select ::ng-deep .mat-mdc-select-arrow svg{display:none}:host[theme=dark] mat-select.opened ::ng-deep .mat-mdc-select-arrow,:host[theme=light] mat-select.opened ::ng-deep .mat-mdc-select-arrow{background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2225%22 viewBox%3D%220 0 24 25%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M12 9.6249L18 15.6249L16.6 17.0249L12 12.4249L7.4 17.0249L6 15.6249L12 9.6249Z%22 fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E\");background-size:cover;width:16px;height:16px}::ng-deep .mat-form-field-appearance-outline mat-select .mat-select-arrow-wrapper{transform:none}::ng-deep .mat-select-panel.phone-number-select{margin-top:36px;margin-left:45px}::ng-deep .mat-select-search-inner{box-shadow:none!important;height:48px;background-color:#fff!important;border-bottom:none!important}::ng-deep .mat-select-search-inner .mat-select-search-inner-row{width:100%}::ng-deep .mat-select-search-inner button.mat-select-search-clear{right:35px}::ng-deep .mat-select-search-inner button.mat-select-search-clear mat-icon{font-size:20px}@media screen and (min-width: 599px){::ng-deep .mat-select-panel.phone-number-select{margin-left:-33px;min-width:510px}::ng-deep .mat-select-search-inner{min-width:calc(100% + 33px)!important}}ngx-mat-select-search ::ng-deep button .mat-mdc-button-persistent-ripple,ngx-mat-select-search ::ng-deep button .mat-ripple,ngx-mat-select-search ::ng-deep button .mat-mdc-button-ripple{display:none}\n"] }]
303
303
  }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
304
304
  type: Optional
305
305
  }, {
@@ -348,4 +348,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
348
348
  type: HostBinding,
349
349
  args: ['attr.aria-describedby']
350
350
  }] } });
351
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcGhvbmUtaW5wdXQvcGhvbmUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcGhvbmUtaW5wdXQvcGhvbmUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFJTCxrQkFBa0IsR0FFbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVsRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLEtBQUssRUFDTCxHQUFHLEVBRUgsU0FBUyxFQUNULE9BQU8sRUFDUCxJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlNUUsTUFBTSxPQUFPLG1CQUFtQjtJQUM5Qjs7Ozs7T0FLRztJQUNILElBQ0ksS0FBSyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQztRQUMvQyxJQUFJO1lBQ0YsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLE9BQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDNUYsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDakc7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLElBQUksS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUM7YUFDcEY7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMvRjtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBYSxXQUFXLENBQUMsV0FBd0I7UUFDL0MsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQ0ksV0FBVyxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUF3Q0Q7Ozs7O09BS0c7SUFDSCxJQUFhLE1BQU0sQ0FBQyxNQUFnQjtRQUNsQyxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDbkcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDNUM7SUFDSCxDQUFDO2FBVU0sV0FBTSxHQUFHLENBQUMsQ0FBQztJQXdCbEIsSUFDSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBSUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUE2QixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBUUQsWUFDNkIsU0FBb0IsRUFDdkMsWUFBK0IsRUFDL0IsRUFBc0IsRUFDdEIsWUFBMEIsRUFDMUIsR0FBc0IsRUFDdEIsWUFBNkIsRUFDN0IsU0FBdUIsRUFDNEMsZUFBaUM7UUFQakYsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUN2QyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDL0IsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBQzdCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDNEMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBdEc5Rzs7Ozs7O1dBTUc7UUFHSCxxQkFBZ0IsR0FBcUIsT0FBTyxDQUFDO1FBRTdDOzs7OztXQUtHO1FBQ00sY0FBUyxHQUFHLEtBQUssQ0FBQztRQWdCM0I7Ozs7O1dBS0c7UUFDTSxhQUFRLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQztRQUk1QyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQWMsRUFBRSxDQUFDLENBQUM7UUFDL0MsZUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDckQsU0FBSSxHQUFxQixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNyQyxZQUFZLEVBQUUsSUFBSSxrQkFBa0IsRUFBRTtTQUN2QyxDQUFDLENBQUM7UUFDTyxnQkFBVyxHQUFHLGNBQWMsQ0FBQztRQUU3QixtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLENBQUM7UUFDaEQsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRW5DLHFCQUFnQixHQUFHLElBQUksa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFTeEQsT0FBRSxHQUFHLGVBQWUsbUJBQW1CLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQU9iLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBbUJ0Qyx5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFHckMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBd005QyxjQUFTLEdBQUcsQ0FBQyxLQUFhLEVBQUUsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMscUNBQXFDLENBQUM7UUE1THJGLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQ3JDO1FBRUQsSUFBSSxlQUFlLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRTtZQUNyRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BDLFVBQVUsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQzFCLFVBQVUsRUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLDRCQUE0QixVQUFVLE1BQU0sQ0FBQyxDQUM1RixDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNyRDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELGlCQUFpQixDQUFDLEdBQWE7UUFDN0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUtELFVBQVUsQ0FBQyxXQUFtQjtRQUM1QixJQUFJLFdBQVcsRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQTJCO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDckI7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDcEI7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFnQjtRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBYTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCw0QkFBNEIsQ0FBQyxLQUFhLEVBQUUsRUFBYTtRQUN2RCxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDdkIsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxZQUFzQixDQUFDO1FBQy9ELE9BQU8sY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFGLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsTUFBTSxvQkFBb0IsR0FBRyxhQUFhLENBQUM7WUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ3RDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUzRCxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFO1lBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNoRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDbEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFDekMsS0FBSyxFQUFFLENBQ1I7WUFDRCxJQUFJLENBQUMsV0FBVztTQUNqQixDQUFDO2FBQ0MsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3RCLE1BQU0sT0FBTyxHQUNYLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7Z0JBQ3pHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBb0IsQ0FBQyxDQUFDO2FBQ3ZDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNoQztZQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVPLFVBQVUsQ0FBQyxPQUF5QjtRQUMxQyxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRU8sc0JBQXNCLENBQUMsVUFBa0I7UUFDL0MsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxXQUFtQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEtBQUssV0FBVyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxXQUFXLEdBQXVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVsSCxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQzlDLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUMvQixHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFO1lBQzlCLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JELE1BQU0saUJBQWlCLEdBQUcsU0FBUztpQkFDaEMsTUFBTSxDQUNMLE1BQU0sQ0FBQyxFQUFFLENBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUM7Z0JBQ3ZELE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDO2dCQUM3RCxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUNqRTtpQkFDQSxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5RSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxFQUNGLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDUixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDbkYsSUFBSSxDQUFDLGVBQWUsR0FBRyxZQUFZLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUM1RCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFlBQVksQ0FBQyxFQUFTO1FBQ3BCLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwQixFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdkIsQ0FBQzsrR0FwV1UsbUJBQW1CLGtRQXdLUixvQ0FBb0M7bUdBeEsvQyxtQkFBbUIsMGRBUG5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGdDQUFnQztnQkFDekMsUUFBUSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsMkJBQTJCLEVBQUU7YUFDN0Q7U0FDRixpRUE2SFUsUUFBUSwyQkFBVSxVQUFVLG9FQUU1QixTQUFTLDJCQUFVLFVBQVUsMkNDMUwxQyxzOEVBNERBOzs0RkRDYSxtQkFBbUI7a0JBWi9CLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGdDQUFnQzs0QkFDekMsUUFBUSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsMkJBQTJCLEVBQUU7eUJBQzdEO3FCQUNGOzswQkFtS0UsUUFBUTs7MEJBQUksSUFBSTs7MEJBT2hCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DOzRDQWhLdEQsS0FBSztzQkFEUixLQUFLO2dCQXVCTyxXQUFXO3NCQUF2QixLQUFLO2dCQWFGLFdBQVc7c0JBRGQsS0FBSztnQkFjTixRQUFRO3NCQUZQLFdBQVc7dUJBQUMsZUFBZTs7c0JBQzNCLEtBQUs7Z0JBU0csUUFBUTtzQkFBaEIsS0FBSztnQkFXTixnQkFBZ0I7c0JBRmYsV0FBVzt1QkFBQyxZQUFZOztzQkFDeEIsS0FBSztnQkFTRyxTQUFTO3NCQUFqQixLQUFLO2dCQVNPLE1BQU07c0JBQWxCLEtBQUs7Z0JBYUcsUUFBUTtzQkFBaEIsS0FBSztnQkFtQkMsS0FBSztzQkFEWCxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHaEQsTUFBTTtzQkFEWixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJeEQsRUFBRTtzQkFERCxXQUFXO2dCQUlSLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxlQUFlO2dCQUtVLFdBQVc7c0JBQWhELFdBQVc7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFNlbGYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTmdDb250cm9sLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcbiAgVW50eXBlZEZvcm1Hcm91cCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTUFUX0FVVE9DT01QTEVURV9ERUZBVUxUX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgRXJyb3JTdGF0ZU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IHBhcnNlUGhvbmVOdW1iZXIgfSBmcm9tICdsaWJwaG9uZW51bWJlci1qcyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRlYm91bmNlVGltZSxcbiAgZGVsYXksXG4gIGZpbHRlcixcbiAgZmlyc3QsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgc3RhcnRXaXRoLFxuICBTdWJqZWN0LFxuICB0YWtlLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFVJQ291bnRyeSB9IGZyb20gJy4vcGhvbmUtaW5wdXQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1waG9uZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9waG9uZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Bob25lLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNQVRfQVVUT0NPTVBMRVRFX0RFRkFVTFRfT1BUSU9OUyxcbiAgICAgIHVzZVZhbHVlOiB7IG92ZXJsYXlQYW5lbENsYXNzOiAncGhvbmUtbnVtYmVyLWF1dG9jb21wbGV0ZScgfSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQaG9uZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBEb0NoZWNrIHtcbiAgLyoqXG4gICAqIFBob25lIG51bWJlclxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgUGhvbmVJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmluaXRpYWxWYWx1ZSA9IHRoaXMuaW5pdGlhbFZhbHVlIHx8IHZhbHVlO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZVBob25lTnVtYmVyKHZhbHVlKTtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IHBhcnNlZC5mb3JtYXRJbnRlcm5hdGlvbmFsKCk7XG4gICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IHRoaXMuZ2V0Q291bnRyeUJ5QWxwaGEyQ29kZShwYXJzZWQuY291bnRyeSEpIHx8IHRoaXMuc2VsZWN0ZWRDb3VudHJ5O1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoeyBwaG9uZV9udW1iZXI6IGZvcm1hdHRlZC5yZXBsYWNlKHRoaXMuc2VsZWN0ZWRDb3VudHJ5LmNhbGxpbmdDb2RlLCAnJykgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAodmFsdWU/Lmxlbmd0aCA8PSA0KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5nZXRDb3VudHJ5QnlDYWxsaW5nQ29kZSh2YWx1ZSkgfHwgdGhpcy5zZWxlY3RlZENvdW50cnk7XG4gICAgICB9XG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IHBob25lX251bWJlcjogdmFsdWU/LnJlcGxhY2UodGhpcy5zZWxlY3RlZENvdW50cnk/LmNhbGxpbmdDb2RlLCAnJykgfSk7XG4gICAgfVxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3VudHJ5IGxpc3QgZm9yIHNlbGVjdFxuICAgKlxuICAgKiBAdHlwZSB7VUlDb3VudHJ5W119XG4gICAqIEBtZW1iZXJvZiBQaG9uZUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgY291bnRyeUxpc3QoY291bnRyeUxpc3Q6IFVJQ291bnRyeVtdKSB7XG4gICAgY291bnRyeUxpc3QuZm9yRWFjaChjb3VudHJ5ID0+IHRoaXMucmVnaXN0ZXJDb3VudHJ5RmxhZyhjb3VudHJ5LmFscGhhMkNvZGUpKTtcbiAgICB0aGlzLmxvYWRDb3VudHJpZXMkLm5leHQoY291bnRyeUxpc3QpO1xuICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5zZWxlY3RlZENvdW50cnkgPz8gY291bnRyeUxpc3RbMF07XG4gIH1cblxuICAvKipcbiAgICogUGxhY2Vob2xkZXIgaW5wdXRcbiAgICpcbiAgICogQHR5cGUge3RleHR9XG4gICAqIEBtZW1iZXJvZiBQaG9uZUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuaW50ZXJuYWxQbGFjZWhvbGRlciA9IHZhbHVlO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIGlucHV0IGlzIGRpc2FibGVkXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgUGhvbmVJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElucHV0IGlzIHJlcXVpcmVkIG9yIG5vdFxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIFBob25lSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIFBob25lSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci50aGVtZScpXG4gIEBJbnB1dCgpXG4gIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0b3Igb2YgdGhlIHBob25lIGlucHV0IHdpZHRoXG4gICAqIEBwcm9wZXJ0eSBmdWxsV2lkdGhcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBQaG9uZUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcblxuICBfZXJyb3JzOiBTYWZlSHRtbFtdO1xuICAvKipcbiAgICogSW5wdXQgZmllbGQgZXJyb3JzXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBQaG9uZUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgZXJyb3JzKGVycm9yczogc3RyaW5nW10pIHtcbiAgICBpZiAoZXJyb3JzKSB7XG4gICAgICB0aGlzLl9lcnJvcnMgPSBlcnJvcnM/LmZpbHRlcihCb29sZWFuKS5tYXAoZXJyb3IgPT4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZXJyb3IpKTtcbiAgICAgIHRoaXMuZXJyb3JzTGVuZ3RoID0gdGhpcy5zZXRFcnJvcnNMZW5ndGgoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIHRvIGJlIHVzZWRcbiAgICogQHByb3BlcnR5IGxhbmd1YWdlXG4gICAqIEB0eXBlIHtMYW5ndWFnZX1cbiAgICogQG1lbWJlcm9mIFBob25lSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxhbmd1YWdlID0gTGFuZ3VhZ2VTZXJ2aWNlLmRlZmF1bHRMYW5ndWFnZTtcblxuICBzdGF0aWMgbmV4dElkID0gMDtcblxuICBwcml2YXRlIGNvdW50cmllcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VUlDb3VudHJ5W10+KFtdKTtcbiAgcHJvdGVjdGVkIGNvdW50cmllcyQgPSB0aGlzLmNvdW50cmllcy5hc09ic2VydmFibGUoKTtcbiAgZm9ybTogVW50eXBlZEZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIHBob25lX251bWJlcjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxuICB9KTtcbiAgcHJvdGVjdGVkIGNvbnRyb2xUeXBlID0gJ3Bob25lLW51bWJlcic7XG4gIHByb3RlY3RlZCB1c2VyQXJpYURlc2NyaWJlZEJ5Pzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgbG9hZENvdW50cmllcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVJQ291bnRyeVtdPihbXSk7XG4gIHByb3RlY3RlZCBjb3VudHJ5Q29kZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignVVMnKTtcbiAgcHJvdGVjdGVkIHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByb3RlY3RlZCBmb2N1c2VkOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgc2VsZWN0RmlsdGVyQ3RybCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycpO1xuICBwcm90ZWN0ZWQgZXJyb3JzTGVuZ3RoOiBib29sZWFuO1xuXG4gIEBWaWV3Q2hpbGQoTWF0SW5wdXQsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBpbnB1dDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoTWF0U2VsZWN0LCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgc2VsZWN0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBASG9zdEJpbmRpbmcoKVxuICBpZCA9IGBwaG9uZS1udW1iZXIke1Bob25lSW5wdXRDb21wb25lbnQubmV4dElkKyt9YDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZsb2F0ZWQnKVxuICBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5JykgZGVzY3JpYmVkQnkgPSAnJztcblxuICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5mb3JtLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGVycm9yU3RhdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JNYXRjaGVyLmlzRXJyb3JTdGF0ZSh0aGlzLm5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbCwgbnVsbCk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXROdW1iZXJXaXRoQ291bnRyeUNvZGUoKTtcbiAgfVxuXG4gIGdldCBwbGFjZWhvbGRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcm5hbFBsYWNlaG9sZGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsVmFsdWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0NPVU5UUllfQ09ERSA9ICdVUyc7XG4gIHByaXZhdGUgaW50ZXJuYWxQbGFjZWhvbGRlcjogc3RyaW5nO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRDb3VudHJ5OiBVSUNvdW50cnk7XG4gIHByaXZhdGUgdW5zdWJzY3JpYmVBbGwkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBwcml2YXRlIGVycm9yTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgaWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnksXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICkge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG5cbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gbWFyayBjb21wb25lbnQgdmlldyBhcyBkaXJ0eSB3aGVuIHRvdWNoZWQgcHJvZ3JhbW1hdGljYWxseSB3aXRoIG1hcmtBc1RvdWNoZWQvbWFya0FsbEFzVG91Y2hlZCBvciBlcnJvcnNcbiAgICogdG8gZGlzcGxheSB2YWxpZGF0aW9uIGVycm9ycyB0aGF0IG1pZ2h0IGhhcHBlbiAoZS5nLiByZXF1aXJlZClcbiAgICovXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LnRvdWNoZWQgfHwgdGhpcy5uZ0NvbnRyb2w/LmVycm9ycykge1xuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkQ291bnRyaWVzKCk7XG4gICAgdGhpcy5wcmVTZWxlY3RDb3VudHJ5KCk7XG4gICAgdGhpcy5zdWJzY3JpYmVUb0ZvY3VzRXZlbnRzKCk7XG4gIH1cblxuICByZWdpc3RlckNvdW50cnlGbGFnKGNvdW50cnlJc286IHN0cmluZyk6IHZvaWQge1xuICAgIGNvdW50cnlJc28gPSBjb3VudHJ5SXNvLnRvTG93ZXJDYXNlKCk7XG4gICAgdGhpcy5pY29uUmVnaXN0cnkuYWRkU3ZnSWNvbihcbiAgICAgIGNvdW50cnlJc28sXG4gICAgICB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoYGFzc2V0cy9zdmctY291bnRyeS1mbGFncy8ke2NvdW50cnlJc299LnN2Z2ApXG4gICAgKTtcbiAgfVxuXG4gIHNldEVycm9yc0xlbmd0aCgpOiBib29sZWFuIHtcbiAgICBpZiAoISF0aGlzLl9lcnJvcnMpIHtcbiAgICAgIHJldHVybiB0aGlzLl9lcnJvcnMuZmlsdGVyKGVyciA9PiAhIWVycikubGVuZ3RoID4gMDtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMudXNlckFyaWFEZXNjcmliZWRCeSA9IGlkcy5qb2luKCcgJyk7XG4gIH1cblxuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uVG91Y2g6ICgpID0+IHZvaWQ7XG5cbiAgd3JpdGVWYWx1ZShwaG9uZU51bWJlcjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHBob25lTnVtYmVyKSB7XG4gICAgICB0aGlzLnZhbHVlID0gcGhvbmVOdW1iZXI7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZm9ybS5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybS5lbmFibGUoKTtcbiAgICB9XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5pbnB1dCk7XG4gICAgdGhpcy5mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5zZWxlY3QpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy51bnN1YnNjcmliZUFsbCQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmVBbGwkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBvbk9wdGlvbnNTZWxlY3RlZCh2YWx1ZTogVUlDb3VudHJ5KSB7XG4gICAgdGhpcy5zZXRDb3VudHJ5KHZhbHVlKTtcbiAgfVxuXG4gIG9uSW5wdXQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudmFsdWUgPSAodGhpcy5zZWxlY3RlZENvdW50cnk/LmNhbGxpbmdDb2RlID8/ICcnKSArIHZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICBmaWx0ZXJlZENvdW50cnlUcmFja0J5TWV0aG9kKGluZGV4OiBudW1iZXIsIGVsOiBVSUNvdW50cnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBlbC5hbHBoYTJDb2RlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROdW1iZXJXaXRoQ291bnRyeUNvZGUoKSB7XG4gICAgY29uc3QgbmF0aW9uYWxOdW1iZXIgPSB0aGlzLmZvcm0udmFsdWU/LnBob25lX251bWJlciBhcyBzdHJpbmc7XG4gICAgcmV0dXJuIG5hdGlvbmFsTnVtYmVyID8gKHRoaXMuc2VsZWN0ZWRDb3VudHJ5Py5jYWxsaW5nQ29kZSA/PyAnJykgKyBuYXRpb25hbE51bWJlciA6ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0ZvY3VzRXZlbnRzKCkge1xuICAgIGNvbnN0IHNlbGVjdEFuZElucHV0Rm9jdXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuc2VsZWN0KSxcbiAgICAgIHRoaXMuZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5pbnB1dCksXG4gICAgXSkucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpLCBkZWJvdW5jZVRpbWUoMTApKTtcblxuICAgIHNlbGVjdEFuZElucHV0Rm9jdXMkLnN1YnNjcmliZSgoW3NlbGVjdEZvY3VzLCBpbnB1dEZvY3VzXSkgPT4ge1xuICAgICAgdGhpcy5mb2N1c2VkID0gISEoc2VsZWN0Rm9jdXMgfHwgaW5wdXRGb2N1cyk7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfSk7XG5cbiAgICBzZWxlY3RBbmRJbnB1dEZvY3VzJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlU2VsZWN0Q291bnRyeSgpIHtcbiAgICB0aGlzLnNldERpc2FibGVkU3RhdGUodHJ1ZSk7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmNvdW50cmllcyQucGlwZShcbiAgICAgICAgZmlsdGVyKGNvdW50cmllcyA9PiBjb3VudHJpZXMubGVuZ3RoID4gMCksXG4gICAgICAgIGZpcnN0KClcbiAgICAgICksXG4gICAgICB0aGlzLmNvdW50cnlDb2RlLFxuICAgIF0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChbY291bnRyaWVzLCBzZWxlY3RlZENvdW50cnldKSA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLmluaXRpYWxWYWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgY291bnRyeSA9XG4gICAgICAgICAgICAgIHRoaXMuZ2V0Q291bnRyeUJ5QWxwaGEyQ29kZShzZWxlY3RlZENvdW50cnkpIHx8IHRoaXMuZ2V0Q291bnRyeUJ5QWxwaGEyQ29kZSh0aGlzLkRFRkFVTFRfQ09VTlRSWV9DT0RFKTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q291bnRyeShjb3VudHJ5IGFzIFVJQ291bnRyeSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmluaXRpYWxWYWx1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUoZmFsc2UpO1xuICAgICAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb3VudHJ5KGNvdW50cnk6IFVJQ291bnRyeSB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoY291bnRyeSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSBjb3VudHJ5O1xuICAgIH1cbiAgICB0aGlzLnZhbHVlID0gdGhpcy5nZXROdW1iZXJXaXRoQ291bnRyeUNvZGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q291bnRyeUJ5QWxwaGEyQ29kZShhbHBoYTJDb2RlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudHJpZXMudmFsdWUuZmluZChjb3VudHJ5ID0+IGNvdW50cnkuYWxwaGEyQ29kZSA9PT0gYWxwaGEyQ29kZSk7XG4gIH1cblxuICBwcml2YXRlIGdldENvdW50cnlCeUNhbGxpbmdDb2RlKGNhbGxpbmdDb2RlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudHJpZXMudmFsdWUuZmluZChjb3VudHJ5ID0+IGNvdW50cnkuY2FsbGluZ0NvZGUgPT09IGNhbGxpbmdDb2RlKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZENvdW50cmllcygpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hUZXh0JDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5zZWxlY3RGaWx0ZXJDdHJsLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgxMDApLCBzdGFydFdpdGgoJycpKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMubG9hZENvdW50cmllcyQsIHNlYXJjaFRleHQkXSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpLFxuICAgICAgICB0YXAoKFtjb3VudHJpZXMsIHNlYXJjaFRleHRdKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc2VhcmNoVGV4dExvd2VyQ2FzZSA9IHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICBjb25zdCBmaWx0ZXJlZENvdW50cmllcyA9IGNvdW50cmllc1xuICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgb3B0aW9uID0+XG4gICAgICAgICAgICAgICAgb3B0aW9uLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0TG93ZXJDYXNlKSB8fFxuICAgICAgICAgICAgICAgIG9wdGlvbi5hbHBoYTJDb2RlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGV4dExvd2VyQ2FzZSkgfHxcbiAgICAgICAgICAgICAgICBvcHRpb24uY2FsbGluZ0NvZGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0TG93ZXJDYXNlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnNvcnQoKG9wdGlvbkEsIG9wdGlvbkIpID0+IChvcHRpb25CLm5hbWUuc3RhcnRzV2l0aChzZWFyY2hUZXh0KSA/IDEgOiAtMSkpO1xuICAgICAgICAgIHRoaXMuY291bnRyaWVzLm5leHQoZmlsdGVyZWRDb3VudHJpZXMpO1xuICAgICAgICB9KSxcbiAgICAgICAgZGVsYXkoMSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgY291bnRyeUZvdW5kID0gdGhpcy5nZXRDb3VudHJ5QnlBbHBoYTJDb2RlKHRoaXMuc2VsZWN0ZWRDb3VudHJ5Py5hbHBoYTJDb2RlKTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IGNvdW50cnlGb3VuZCB8fCB0aGlzLnNlbGVjdGVkQ291bnRyeTtcbiAgICAgICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGRpc2FibGVDbGljayhldjogRXZlbnQpIHtcbiAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgdHJhY2tCeUZuID0gKGluZGV4OiBudW1iZXIsIHZhbHVlOiBhbnkpID0+IHZhbHVlLmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk7XG59XG4iLCI8bWF0LWZvcm0tZmllbGRcbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICBbY29sb3JdPVwiKGVycm9yc0xlbmd0aCB8fCAobmdDb250cm9sPy5lcnJvcnMgJiYgbmdDb250cm9sPy50b3VjaGVkICkpID8gJ3dhcm4nIDogJ2FjY2VudCdcIlxuICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBmb3JtLmRpc2FibGVkIHx8IGRpc2FibGVkLCAnZnVsbC13aWR0aCc6IGZ1bGxXaWR0aCB9XCJcbj5cbiAgPG1hdC1sYWJlbD57eyAnQ09NTU9OLlBIT05FX05VTUJFUicgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlIH19IDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvbWF0LWxhYmVsPlxuXG4gIDxkaXYgbWF0UHJlZml4IGNsYXNzPVwiY291bnRyeVwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJzZWxlY3RlZC1mbGFnXCIgbWF0UHJlZml4ICpuZ0lmPVwic2VsZWN0ZWRDb3VudHJ5XCI+XG4gICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwic2VsZWN0ZWRDb3VudHJ5Py5hbHBoYTJDb2RlPy50b0xvd2VyQ2FzZSgpIVwiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPG1hdC1zZWxlY3RcbiAgICAgICNzZWxlY3RcbiAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25PcHRpb25zU2VsZWN0ZWQoJGV2ZW50LnZhbHVlKVwiXG4gICAgICBbdmFsdWVdPVwic2VsZWN0ZWRDb3VudHJ5XCJcbiAgICAgIFtkaXNhYmxlT3B0aW9uQ2VudGVyaW5nXT1cInRydWVcIlxuICAgICAgW3BhbmVsQ2xhc3NdPVwiJ3Bob25lLW51bWJlci1zZWxlY3QnXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgb3BlbmVkOiBzZWxlY3QucGFuZWxPcGVuIH1cIlxuICAgID5cbiAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+e3sgc2VsZWN0ZWRDb3VudHJ5Py5jYWxsaW5nQ29kZSB9fTwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgPG1hdC1vcHRpb24+XG4gICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VsZWN0RmlsdGVyQ3RybFwiXG4gICAgICAgICAgbmdEZWZhdWx0Q29udHJvbFxuICAgICAgICAgIHBsYWNlaG9sZGVyTGFiZWw9XCJcIlxuICAgICAgICAgIG5vRW50cmllc0ZvdW5kTGFiZWw9XCJcIlxuICAgICAgICA+XG4gICAgICAgICAgPHVpLWljb24gbmd4TWF0U2VsZWN0U2VhcmNoQ2xlYXIgc2l6ZT1cIjI0XCIgW25hbWVdPVwiJ0Nsb3NlLWluLWxpbmUnXCI+PC91aS1pY29uPlxuICAgICAgICA8L25neC1tYXQtc2VsZWN0LXNlYXJjaD5cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjb3VudHJ5IG9mIGNvdW50cmllcyQgfCBhc3luYzsgdHJhY2tCeTogZmlsdGVyZWRDb3VudHJ5VHJhY2tCeU1ldGhvZFwiIFt2YWx1ZV09XCJjb3VudHJ5XCI+XG4gICAgICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCJjb3VudHJ5Py5hbHBoYTJDb2RlPy50b0xvd2VyQ2FzZSgpIVwiPjwvbWF0LWljb24+XG4gICAgICAgIDxzbWFsbD57eyAkYW55KFtjb3VudHJ5Py5uYW1lLCAnKCcgKyBjb3VudHJ5Py5jYWxsaW5nQ29kZSArICcpJ10pIHwgam9pblN0cmluZ3MgOiAnICcgfX08L3NtYWxsPlxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgIDwvbWF0LXNlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPGlucHV0XG4gICAgKGlucHV0KT1cIm9uSW5wdXQoZm9ybS5nZXQoJ3Bob25lX251bWJlcicpIS52YWx1ZSlcIlxuICAgIGZvcm1Db250cm9sTmFtZT1cInBob25lX251bWJlclwiXG4gICAgKGNsaWNrKT1cImRpc2FibGVDbGljaygkZXZlbnQpXCJcbiAgICBbbmdTdHlsZV09XCJ7IG9wYWNpdHk6IGRpc2FibGVkID8gMC41IDogMSB9XCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIG1hdElucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAvPlxuXG4gIDxtYXQtaGludCBjbGFzcz1cImVycm9yXCIgKm5nSWY9XCJlcnJvcnNMZW5ndGggfHwgKG5nQ29udHJvbD8uZXJyb3JzIHwgaGFzVmFsaWRhdGlvbkVycm9yKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlcnJvcnNMZW5ndGhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlcnJvcnNcIiAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgX2Vycm9yczsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgIDx1aS1pY29uIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIiBbbmFtZV09XCInRXJyb3InXCI+PC91aS1pY29uPlxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImVycm9yXCI+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dWktdmFsaWRhdGlvbi1lcnJvciBbbmdDb250cm9sXT1cIm5nQ29udHJvbFwiIFtsYWJlbF09XCInQ09NTU9OLlBIT05FX05VTUJFUicgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlXCIgW2xhbmd1YWdlXT1cImxhbmd1YWdlXCI+PC91aS12YWxpZGF0aW9uLWVycm9yPlxuXG4gIDwvbWF0LWhpbnQ+XG48L21hdC1mb3JtLWZpZWxkPlxuIl19
351
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcGhvbmUtaW5wdXQvcGhvbmUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcGhvbmUtaW5wdXQvcGhvbmUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFJTCxrQkFBa0IsR0FFbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVsRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLEtBQUssRUFDTCxHQUFHLEVBRUgsU0FBUyxFQUNULE9BQU8sRUFDUCxJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlNUUsTUFBTSxPQUFPLG1CQUFtQjtJQUM5Qjs7Ozs7T0FLRztJQUNILElBQ0ksS0FBSyxDQUFDLEtBQWE7UUFDckIsSUFBSSxD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Wi9CLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGdDQUFnQzs0QkFDekMsUUFBUSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsMkJBQTJCLEVBQUU7eUJBQzdEO3FCQUNGOzswQkFtS0UsUUFBUTs7MEJBQUksSUFBSTs7MEJBT2hCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DOzRDQWhLdEQsS0FBSztzQkFEUixLQUFLO2dCQXVCTyxXQUFXO3NCQUF2QixLQUFLO2dCQWFGLFdBQVc7c0JBRGQsS0FBSztnQkFjTixRQUFRO3NCQUZQLFdBQVc7dUJBQUMsZUFBZTs7c0JBQzNCLEtBQUs7Z0JBU0csUUFBUTtzQkFBaEIsS0FBSztnQkFXTixnQkFBZ0I7c0JBRmYsV0FBVzt1QkFBQyxZQUFZOztzQkFDeEIsS0FBSztnQkFTRyxTQUFTO3NCQUFqQixLQUFLO2dCQVNPLE1BQU07c0JBQWxCLEtBQUs7Z0JBYUcsUUFBUTtzQkFBaEIsS0FBSztnQkFtQkMsS0FBSztzQkFEWCxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHaEQsTUFBTTtzQkFEWixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJeEQsRUFBRTtzQkFERCxXQUFXO2dCQUlSLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxlQUFlO2dCQUtVLFdBQVc7c0JBQWhELFdBQVc7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFNlbGYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTmdDb250cm9sLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcbiAgVW50eXBlZEZvcm1Hcm91cCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTUFUX0FVVE9DT01QTEVURV9ERUZBVUxUX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgRXJyb3JTdGF0ZU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IHBhcnNlUGhvbmVOdW1iZXIgfSBmcm9tICdsaWJwaG9uZW51bWJlci1qcyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRlYm91bmNlVGltZSxcbiAgZGVsYXksXG4gIGZpbHRlcixcbiAgZmlyc3QsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgc3RhcnRXaXRoLFxuICBTdWJqZWN0LFxuICB0YWtlLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFVJQ291bnRyeSB9IGZyb20gJy4vcGhvbmUtaW5wdXQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1waG9uZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9waG9uZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Bob25lLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNQVRfQVVUT0NPTVBMRVRFX0RFRkFVTFRfT1BUSU9OUyxcbiAgICAgIHVzZVZhbHVlOiB7IG92ZXJsYXlQYW5lbENsYXNzOiAncGhvbmUtbnVtYmVyLWF1dG9jb21wbGV0ZScgfSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQaG9uZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBEb0NoZWNrIHtcbiAgLyoqXG4gICAqIFBob25lIG51bWJlclxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgUGhvbmVJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmluaXRpYWxWYWx1ZSA9IHRoaXMuaW5pdGlhbFZhbHVlIHx8IHZhbHVlO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZVBob25lTnVtYmVyKHZhbHVlKTtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IHBhcnNlZC5mb3JtYXRJbnRlcm5hdGlvbmFsKCk7XG4gICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IHRoaXMuZ2V0Q291bnRyeUJ5QWxwaGEyQ29kZShwYXJzZWQuY291bnRyeSEpIHx8IHRoaXMuc2VsZWN0ZWRDb3VudHJ5O1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoeyBwaG9uZV9udW1iZXI6IGZvcm1hdHRlZC5yZXBsYWNlKHRoaXMuc2VsZWN0ZWRDb3VudHJ5LmNhbGxpbmdDb2RlLCAnJykgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAodmFsdWU/Lmxlbmd0aCA8PSA0KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5nZXRDb3VudHJ5QnlDYWxsaW5nQ29kZSh2YWx1ZSkgfHwgdGhpcy5zZWxlY3RlZENvdW50cnk7XG4gICAgICB9XG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IHBob25lX251bWJlcjogdmFsdWU/LnJlcGxhY2UodGhpcy5zZWxlY3RlZENvdW50cnk/LmNhbGxpbmdDb2RlLCAnJykgfSk7XG4gICAgfVxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3VudHJ5IGxpc3QgZm9yIHNlbGVjdFxuICAgKlxuICAgKiBAdHlwZSB7VUlDb3VudHJ5W119XG4gICAqIEBtZW1iZXJvZiBQaG9uZUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgY291bnRyeUxpc3QoY291bnRyeUxpc3Q6IFVJQ291bnRyeVtdKSB7XG4gICAgY291bnRyeUxpc3QuZm9yRWFjaChjb3VudHJ5ID0+IHRoaXMucmVnaXN0ZXJDb3VudHJ5RmxhZyhjb3VudHJ5LmFscGhhMkNvZGUpKTtcbiAgICB0aGlzLmxvYWRDb3VudHJpZXMkLm5leHQoY291bnRyeUxpc3QpO1xuICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5zZWxlY3RlZENvdW50cnkgPz8gY291bnRyeUxpc3RbMF07XG4gIH1cblxuICAvKipcbiAgICogUGxhY2Vob2xkZXIgaW5wdXRcbiAgICpcbiAgICogQHR5cGUge3RleHR9XG4gICAqIEBtZW1iZXJvZiBQaG9uZUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuaW50ZXJuYWxQbGFjZWhvbGRlciA9IHZhbHVlO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIGlucHV0IGlzIGRpc2FibGVkXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgUGhvbmVJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElucHV0IGlzIHJlcXVpcmVkIG9yIG5vdFxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIFBob25lSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIFBob25lSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci50aGVtZScpXG4gIEBJbnB1dCgpXG4gIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0b3Igb2YgdGhlIHBob25lIGlucHV0IHdpZHRoXG4gICAqIEBwcm9wZXJ0eSBmdWxsV2lkdGhcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBQaG9uZUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcblxuICBfZXJyb3JzOiBTYWZlSHRtbFtdO1xuICAvKipcbiAgICogSW5wdXQgZmllbGQgZXJyb3JzXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBQaG9uZUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgZXJyb3JzKGVycm9yczogc3RyaW5nW10pIHtcbiAgICBpZiAoZXJyb3JzKSB7XG4gICAgICB0aGlzLl9lcnJvcnMgPSBlcnJvcnM/LmZpbHRlcihCb29sZWFuKS5tYXAoZXJyb3IgPT4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZXJyb3IpKTtcbiAgICAgIHRoaXMuZXJyb3JzTGVuZ3RoID0gdGhpcy5zZXRFcnJvcnNMZW5ndGgoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIHRvIGJlIHVzZWRcbiAgICogQHByb3BlcnR5IGxhbmd1YWdlXG4gICAqIEB0eXBlIHtMYW5ndWFnZX1cbiAgICogQG1lbWJlcm9mIFBob25lSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxhbmd1YWdlID0gTGFuZ3VhZ2VTZXJ2aWNlLmRlZmF1bHRMYW5ndWFnZTtcblxuICBzdGF0aWMgbmV4dElkID0gMDtcblxuICBwcml2YXRlIGNvdW50cmllcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VUlDb3VudHJ5W10+KFtdKTtcbiAgcHJvdGVjdGVkIGNvdW50cmllcyQgPSB0aGlzLmNvdW50cmllcy5hc09ic2VydmFibGUoKTtcbiAgZm9ybTogVW50eXBlZEZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIHBob25lX251bWJlcjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxuICB9KTtcbiAgcHJvdGVjdGVkIGNvbnRyb2xUeXBlID0gJ3Bob25lLW51bWJlcic7XG4gIHByb3RlY3RlZCB1c2VyQXJpYURlc2NyaWJlZEJ5Pzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgbG9hZENvdW50cmllcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVJQ291bnRyeVtdPihbXSk7XG4gIHByb3RlY3RlZCBjb3VudHJ5Q29kZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignVVMnKTtcbiAgcHJvdGVjdGVkIHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByb3RlY3RlZCBmb2N1c2VkOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgc2VsZWN0RmlsdGVyQ3RybCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycpO1xuICBwcm90ZWN0ZWQgZXJyb3JzTGVuZ3RoOiBib29sZWFuO1xuXG4gIEBWaWV3Q2hpbGQoTWF0SW5wdXQsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBpbnB1dDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoTWF0U2VsZWN0LCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgc2VsZWN0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBASG9zdEJpbmRpbmcoKVxuICBpZCA9IGBwaG9uZS1udW1iZXIke1Bob25lSW5wdXRDb21wb25lbnQubmV4dElkKyt9YDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZsb2F0ZWQnKVxuICBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5JykgZGVzY3JpYmVkQnkgPSAnJztcblxuICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5mb3JtLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGVycm9yU3RhdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JNYXRjaGVyLmlzRXJyb3JTdGF0ZSh0aGlzLm5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbCwgbnVsbCk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXROdW1iZXJXaXRoQ291bnRyeUNvZGUoKTtcbiAgfVxuXG4gIGdldCBwbGFjZWhvbGRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcm5hbFBsYWNlaG9sZGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsVmFsdWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0NPVU5UUllfQ09ERSA9ICdVUyc7XG4gIHByaXZhdGUgaW50ZXJuYWxQbGFjZWhvbGRlcjogc3RyaW5nO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRDb3VudHJ5OiBVSUNvdW50cnk7XG4gIHByaXZhdGUgdW5zdWJzY3JpYmVBbGwkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBwcml2YXRlIGVycm9yTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgaWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnksXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICkge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG5cbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gbWFyayBjb21wb25lbnQgdmlldyBhcyBkaXJ0eSB3aGVuIHRvdWNoZWQgcHJvZ3JhbW1hdGljYWxseSB3aXRoIG1hcmtBc1RvdWNoZWQvbWFya0FsbEFzVG91Y2hlZCBvciBlcnJvcnNcbiAgICogdG8gZGlzcGxheSB2YWxpZGF0aW9uIGVycm9ycyB0aGF0IG1pZ2h0IGhhcHBlbiAoZS5nLiByZXF1aXJlZClcbiAgICovXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LnRvdWNoZWQgfHwgdGhpcy5uZ0NvbnRyb2w/LmVycm9ycykge1xuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkQ291bnRyaWVzKCk7XG4gICAgdGhpcy5wcmVTZWxlY3RDb3VudHJ5KCk7XG4gICAgdGhpcy5zdWJzY3JpYmVUb0ZvY3VzRXZlbnRzKCk7XG4gIH1cblxuICByZWdpc3RlckNvdW50cnlGbGFnKGNvdW50cnlJc286IHN0cmluZyk6IHZvaWQge1xuICAgIGNvdW50cnlJc28gPSBjb3VudHJ5SXNvLnRvTG93ZXJDYXNlKCk7XG4gICAgdGhpcy5pY29uUmVnaXN0cnkuYWRkU3ZnSWNvbihcbiAgICAgIGNvdW50cnlJc28sXG4gICAgICB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoYGFzc2V0cy9zdmctY291bnRyeS1mbGFncy8ke2NvdW50cnlJc299LnN2Z2ApXG4gICAgKTtcbiAgfVxuXG4gIHNldEVycm9yc0xlbmd0aCgpOiBib29sZWFuIHtcbiAgICBpZiAoISF0aGlzLl9lcnJvcnMpIHtcbiAgICAgIHJldHVybiB0aGlzLl9lcnJvcnMuZmlsdGVyKGVyciA9PiAhIWVycikubGVuZ3RoID4gMDtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMudXNlckFyaWFEZXNjcmliZWRCeSA9IGlkcy5qb2luKCcgJyk7XG4gIH1cblxuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uVG91Y2g6ICgpID0+IHZvaWQ7XG5cbiAgd3JpdGVWYWx1ZShwaG9uZU51bWJlcjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHBob25lTnVtYmVyKSB7XG4gICAgICB0aGlzLnZhbHVlID0gcGhvbmVOdW1iZXI7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZm9ybS5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybS5lbmFibGUoKTtcbiAgICB9XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5pbnB1dCk7XG4gICAgdGhpcy5mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5zZWxlY3QpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy51bnN1YnNjcmliZUFsbCQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmVBbGwkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBvbk9wdGlvbnNTZWxlY3RlZCh2YWx1ZTogVUlDb3VudHJ5KSB7XG4gICAgdGhpcy5zZXRDb3VudHJ5KHZhbHVlKTtcbiAgfVxuXG4gIG9uSW5wdXQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudmFsdWUgPSAodGhpcy5zZWxlY3RlZENvdW50cnk/LmNhbGxpbmdDb2RlID8/ICcnKSArIHZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICBmaWx0ZXJlZENvdW50cnlUcmFja0J5TWV0aG9kKGluZGV4OiBudW1iZXIsIGVsOiBVSUNvdW50cnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBlbC5hbHBoYTJDb2RlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROdW1iZXJXaXRoQ291bnRyeUNvZGUoKSB7XG4gICAgY29uc3QgbmF0aW9uYWxOdW1iZXIgPSB0aGlzLmZvcm0udmFsdWU/LnBob25lX251bWJlciBhcyBzdHJpbmc7XG4gICAgcmV0dXJuIG5hdGlvbmFsTnVtYmVyID8gKHRoaXMuc2VsZWN0ZWRDb3VudHJ5Py5jYWxsaW5nQ29kZSA/PyAnJykgKyBuYXRpb25hbE51bWJlciA6ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0ZvY3VzRXZlbnRzKCkge1xuICAgIGNvbnN0IHNlbGVjdEFuZElucHV0Rm9jdXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuc2VsZWN0KSxcbiAgICAgIHRoaXMuZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5pbnB1dCksXG4gICAgXSkucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpLCBkZWJvdW5jZVRpbWUoMTApKTtcblxuICAgIHNlbGVjdEFuZElucHV0Rm9jdXMkLnN1YnNjcmliZSgoW3NlbGVjdEZvY3VzLCBpbnB1dEZvY3VzXSkgPT4ge1xuICAgICAgdGhpcy5mb2N1c2VkID0gISEoc2VsZWN0Rm9jdXMgfHwgaW5wdXRGb2N1cyk7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfSk7XG5cbiAgICBzZWxlY3RBbmRJbnB1dEZvY3VzJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlU2VsZWN0Q291bnRyeSgpIHtcbiAgICB0aGlzLnNldERpc2FibGVkU3RhdGUodHJ1ZSk7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmNvdW50cmllcyQucGlwZShcbiAgICAgICAgZmlsdGVyKGNvdW50cmllcyA9PiBjb3VudHJpZXMubGVuZ3RoID4gMCksXG4gICAgICAgIGZpcnN0KClcbiAgICAgICksXG4gICAgICB0aGlzLmNvdW50cnlDb2RlLFxuICAgIF0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChbY291bnRyaWVzLCBzZWxlY3RlZENvdW50cnldKSA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLmluaXRpYWxWYWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgY291bnRyeSA9XG4gICAgICAgICAgICAgIHRoaXMuZ2V0Q291bnRyeUJ5QWxwaGEyQ29kZShzZWxlY3RlZENvdW50cnkpIHx8IHRoaXMuZ2V0Q291bnRyeUJ5QWxwaGEyQ29kZSh0aGlzLkRFRkFVTFRfQ09VTlRSWV9DT0RFKTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q291bnRyeShjb3VudHJ5IGFzIFVJQ291bnRyeSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmluaXRpYWxWYWx1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUoZmFsc2UpO1xuICAgICAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb3VudHJ5KGNvdW50cnk6IFVJQ291bnRyeSB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoY291bnRyeSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSBjb3VudHJ5O1xuICAgIH1cbiAgICB0aGlzLnZhbHVlID0gdGhpcy5nZXROdW1iZXJXaXRoQ291bnRyeUNvZGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q291bnRyeUJ5QWxwaGEyQ29kZShhbHBoYTJDb2RlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudHJpZXMudmFsdWUuZmluZChjb3VudHJ5ID0+IGNvdW50cnkuYWxwaGEyQ29kZSA9PT0gYWxwaGEyQ29kZSk7XG4gIH1cblxuICBwcml2YXRlIGdldENvdW50cnlCeUNhbGxpbmdDb2RlKGNhbGxpbmdDb2RlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudHJpZXMudmFsdWUuZmluZChjb3VudHJ5ID0+IGNvdW50cnkuY2FsbGluZ0NvZGUgPT09IGNhbGxpbmdDb2RlKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZENvdW50cmllcygpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hUZXh0JDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5zZWxlY3RGaWx0ZXJDdHJsLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgxMDApLCBzdGFydFdpdGgoJycpKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMubG9hZENvdW50cmllcyQsIHNlYXJjaFRleHQkXSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpLFxuICAgICAgICB0YXAoKFtjb3VudHJpZXMsIHNlYXJjaFRleHRdKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc2VhcmNoVGV4dExvd2VyQ2FzZSA9IHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICBjb25zdCBmaWx0ZXJlZENvdW50cmllcyA9IGNvdW50cmllc1xuICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgb3B0aW9uID0+XG4gICAgICAgICAgICAgICAgb3B0aW9uLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0TG93ZXJDYXNlKSB8fFxuICAgICAgICAgICAgICAgIG9wdGlvbi5hbHBoYTJDb2RlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGV4dExvd2VyQ2FzZSkgfHxcbiAgICAgICAgICAgICAgICBvcHRpb24uY2FsbGluZ0NvZGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0TG93ZXJDYXNlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnNvcnQoKG9wdGlvbkEsIG9wdGlvbkIpID0+IChvcHRpb25CLm5hbWUuc3RhcnRzV2l0aChzZWFyY2hUZXh0KSA/IDEgOiAtMSkpO1xuICAgICAgICAgIHRoaXMuY291bnRyaWVzLm5leHQoZmlsdGVyZWRDb3VudHJpZXMpO1xuICAgICAgICB9KSxcbiAgICAgICAgZGVsYXkoMSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgY291bnRyeUZvdW5kID0gdGhpcy5nZXRDb3VudHJ5QnlBbHBoYTJDb2RlKHRoaXMuc2VsZWN0ZWRDb3VudHJ5Py5hbHBoYTJDb2RlKTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IGNvdW50cnlGb3VuZCB8fCB0aGlzLnNlbGVjdGVkQ291bnRyeTtcbiAgICAgICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGRpc2FibGVDbGljayhldjogRXZlbnQpIHtcbiAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgdHJhY2tCeUZuID0gKGluZGV4OiBudW1iZXIsIHZhbHVlOiBhbnkpID0+IHZhbHVlLmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk7XG59XG4iLCI8bWF0LWZvcm0tZmllbGRcbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICBbY29sb3JdPVwiKGVycm9yc0xlbmd0aCB8fCAobmdDb250cm9sPy5lcnJvcnMgJiYgbmdDb250cm9sPy50b3VjaGVkICkpID8gJ3dhcm4nIDogJ2FjY2VudCdcIlxuICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBmb3JtLmRpc2FibGVkIHx8IGRpc2FibGVkLCAnZnVsbC13aWR0aCc6IGZ1bGxXaWR0aCB9XCJcbj5cbiAgPG1hdC1sYWJlbD57eyAnQ09NTU9OLlBIT05FX05VTUJFUicgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlIH19IDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvbWF0LWxhYmVsPlxuXG4gIDxkaXYgbWF0UHJlZml4IGNsYXNzPVwiY291bnRyeVwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJzZWxlY3RlZC1mbGFnXCIgbWF0UHJlZml4ICpuZ0lmPVwic2VsZWN0ZWRDb3VudHJ5XCI+XG4gICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwic2VsZWN0ZWRDb3VudHJ5Py5hbHBoYTJDb2RlPy50b0xvd2VyQ2FzZSgpIVwiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPG1hdC1zZWxlY3RcbiAgICAgICNzZWxlY3RcbiAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25PcHRpb25zU2VsZWN0ZWQoJGV2ZW50LnZhbHVlKVwiXG4gICAgICBbdmFsdWVdPVwic2VsZWN0ZWRDb3VudHJ5XCJcbiAgICAgIFtkaXNhYmxlT3B0aW9uQ2VudGVyaW5nXT1cInRydWVcIlxuICAgICAgW3BhbmVsQ2xhc3NdPVwiJ3Bob25lLW51bWJlci1zZWxlY3QnICsgJyAnICsgYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICBbbmdDbGFzc109XCJ7IG9wZW5lZDogc2VsZWN0LnBhbmVsT3BlbiB9XCJcbiAgICA+XG4gICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyPnt7IHNlbGVjdGVkQ291bnRyeT8uY2FsbGluZ0NvZGUgfX08L21hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgIDxtYXQtb3B0aW9uPlxuICAgICAgICA8bmd4LW1hdC1zZWxlY3Qtc2VhcmNoXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlbGVjdEZpbHRlckN0cmxcIlxuICAgICAgICAgIG5nRGVmYXVsdENvbnRyb2xcbiAgICAgICAgICBwbGFjZWhvbGRlckxhYmVsPVwiXCJcbiAgICAgICAgICBub0VudHJpZXNGb3VuZExhYmVsPVwiXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx1aS1pY29uIG5neE1hdFNlbGVjdFNlYXJjaENsZWFyIHNpemU9XCIyNFwiIFtuYW1lXT1cIidDbG9zZS1pbi1saW5lJ1wiPjwvdWktaWNvbj5cbiAgICAgICAgPC9uZ3gtbWF0LXNlbGVjdC1zZWFyY2g+XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgY291bnRyeSBvZiBjb3VudHJpZXMkIHwgYXN5bmM7IHRyYWNrQnk6IGZpbHRlcmVkQ291bnRyeVRyYWNrQnlNZXRob2RcIiBbdmFsdWVdPVwiY291bnRyeVwiPlxuICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiY291bnRyeT8uYWxwaGEyQ29kZT8udG9Mb3dlckNhc2UoKSFcIj48L21hdC1pY29uPlxuICAgICAgICA8c21hbGw+e3sgJGFueShbY291bnRyeT8ubmFtZSwgJygnICsgY291bnRyeT8uY2FsbGluZ0NvZGUgKyAnKSddKSB8IGpvaW5TdHJpbmdzIDogJyAnIH19PC9zbWFsbD5cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvZGl2PlxuXG4gIDxpbnB1dFxuICAgIChpbnB1dCk9XCJvbklucHV0KGZvcm0uZ2V0KCdwaG9uZV9udW1iZXInKSEudmFsdWUpXCJcbiAgICBmb3JtQ29udHJvbE5hbWU9XCJwaG9uZV9udW1iZXJcIlxuICAgIChjbGljayk9XCJkaXNhYmxlQ2xpY2soJGV2ZW50KVwiXG4gICAgW25nU3R5bGVdPVwieyBvcGFjaXR5OiBkaXNhYmxlZCA/IDAuNSA6IDEgfVwiXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBtYXRJbnB1dFxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgLz5cblxuICA8bWF0LWhpbnQgY2xhc3M9XCJlcnJvclwiICpuZ0lmPVwiZXJyb3JzTGVuZ3RoIHx8IChuZ0NvbnRyb2w/LmVycm9ycyB8IGhhc1ZhbGlkYXRpb25FcnJvcilcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXJyb3JzTGVuZ3RoXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JzXCIgKm5nRm9yPVwibGV0IGVycm9yIG9mIF9lcnJvcnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICA8dWktaWNvbiBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCIgW25hbWVdPVwiJ0Vycm9yJ1wiPjwvdWktaWNvbj5cbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJlcnJvclwiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHVpLXZhbGlkYXRpb24tZXJyb3IgW25nQ29udHJvbF09XCJuZ0NvbnRyb2xcIiBbbGFiZWxdPVwiJ0NPTU1PTi5QSE9ORV9OVU1CRVInIHwgdWlUcmFuc2xhdGUgOiBsYW5ndWFnZVwiIFtsYW5ndWFnZV09XCJsYW5ndWFnZVwiPjwvdWktdmFsaWRhdGlvbi1lcnJvcj5cblxuICA8L21hdC1oaW50PlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==