valtech-components 2.0.32 → 2.0.34

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.
@@ -11,7 +11,7 @@ export class AvatarComponent {
11
11
  }
12
12
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
13
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AvatarComponent, isStandalone: true, selector: "val-avatar", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
14
- <ion-avatar [class]="props.size" [class.box]="props.box" (click)="onClickHandler()">
14
+ <ion-avatar aria-hidden="true" [class]="props.size" [class.box]="props.box" (click)="onClickHandler()">
15
15
  <img alt="profile image" [src]="props.image || props.default" />
16
16
  </ion-avatar>
17
17
  `, isInline: true, styles: [".box{--border-radius: pxToRem(4)}.small{width:1.75rem;height:1.75rem}.medium{width:2.375rem;height:2.375rem}.large{width:3rem;height:3rem}\n"], dependencies: [{ kind: "component", type: IonAvatar, selector: "ion-avatar" }] }); }
@@ -19,7 +19,7 @@ export class AvatarComponent {
19
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AvatarComponent, decorators: [{
20
20
  type: Component,
21
21
  args: [{ selector: 'val-avatar', standalone: true, imports: [IonAvatar], template: `
22
- <ion-avatar [class]="props.size" [class.box]="props.box" (click)="onClickHandler()">
22
+ <ion-avatar aria-hidden="true" [class]="props.size" [class.box]="props.box" (click)="onClickHandler()">
23
23
  <img alt="profile image" [src]="props.image || props.default" />
24
24
  </ion-avatar>
25
25
  `, styles: [".box{--border-radius: pxToRem(4)}.small{width:1.75rem;height:1.75rem}.medium{width:2.375rem;height:2.375rem}.large{width:3rem;height:3rem}\n"] }]
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
28
28
  }], onClick: [{
29
29
  type: Output
30
30
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBY3RELE1BQU0sT0FBTyxlQUFlO0lBTTFCO1FBRkEsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFZCxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDO0lBRWIsY0FBYztRQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQzsrR0FaVSxlQUFlO21HQUFmLGVBQWUsbUlBUGhCOzs7O0dBSVQsc05BTFMsU0FBUzs7NEZBUVIsZUFBZTtrQkFYM0IsU0FBUzsrQkFDRSxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsU0FBUyxDQUFDLFlBQ1Y7Ozs7R0FJVDt3REFJUSxLQUFLO3NCQUFiLEtBQUs7Z0JBR04sT0FBTztzQkFETixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQXZhdGFyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBBdmF0YXJNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYXZhdGFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lvbkF2YXRhcl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1hdmF0YXIgW2NsYXNzXT1cInByb3BzLnNpemVcIiBbY2xhc3MuYm94XT1cInByb3BzLmJveFwiIChjbGljayk9XCJvbkNsaWNrSGFuZGxlcigpXCI+XG4gICAgICA8aW1nIGFsdD1cInByb2ZpbGUgaW1hZ2VcIiBbc3JjXT1cInByb3BzLmltYWdlIHx8IHByb3BzLmRlZmF1bHRcIiAvPlxuICAgIDwvaW9uLWF2YXRhcj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzOiBBdmF0YXJNZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIG9uQ2xpY2tIYW5kbGVyKCkge1xuICAgIHRoaXMub25DbGljay5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBY3RELE1BQU0sT0FBTyxlQUFlO0lBTTFCO1FBRkEsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFZCxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDO0lBRWIsY0FBYztRQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQzsrR0FaVSxlQUFlO21HQUFmLGVBQWUsbUlBUGhCOzs7O0dBSVQsc05BTFMsU0FBUzs7NEZBUVIsZUFBZTtrQkFYM0IsU0FBUzsrQkFDRSxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsU0FBUyxDQUFDLFlBQ1Y7Ozs7R0FJVDt3REFJUSxLQUFLO3NCQUFiLEtBQUs7Z0JBR04sT0FBTztzQkFETixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQXZhdGFyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBBdmF0YXJNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYXZhdGFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lvbkF2YXRhcl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1hdmF0YXIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgW2NsYXNzXT1cInByb3BzLnNpemVcIiBbY2xhc3MuYm94XT1cInByb3BzLmJveFwiIChjbGljayk9XCJvbkNsaWNrSGFuZGxlcigpXCI+XG4gICAgICA8aW1nIGFsdD1cInByb2ZpbGUgaW1hZ2VcIiBbc3JjXT1cInByb3BzLmltYWdlIHx8IHByb3BzLmRlZmF1bHRcIiAvPlxuICAgIDwvaW9uLWF2YXRhcj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzOiBBdmF0YXJNZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIG9uQ2xpY2tIYW5kbGVyKCkge1xuICAgIHRoaXMub25DbGljay5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -2,17 +2,18 @@ import { CommonModule } from '@angular/common';
2
2
  import { Component, Input } from '@angular/core';
3
3
  import { IonIcon } from '@ionic/angular/standalone';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
5
+ import * as i1 from "../../../services/icons.service";
6
+ import * as i2 from "@angular/common";
6
7
  export class IconComponent {
7
- constructor() { }
8
+ constructor(service) { }
8
9
  ngOnInit() { }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: IconComponent, isStandalone: true, selector: "val-icon", inputs: { props: "props" }, ngImport: i0, template: ` <ion-icon [ngClass]="[props.size]" [name]="props.name" [color]="props.color"></ion-icon> `, isInline: true, styles: [".small{font-size:.75rem;line-height:1.25rem;font-weight:400}.small.bold{font-size:.75rem;line-height:1.25rem;font-weight:700}.medium{font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.medium{font-size:1rem;line-height:1.5rem}}.medium.bold{font-size:.875rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.medium.bold{font-size:1rem;line-height:1.5rem}}.large{font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.large{font-size:1.125rem;line-height:1.5rem}}.large.bold{font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.large.bold{font-size:1.125rem;line-height:1.5rem}}.xlarge{font-size:1.125rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.xlarge{font-size:1.5rem;line-height:2rem}}.xlarge.bold{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.xlarge.bold{font-size:1.5rem;line-height:2rem}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IconComponent, deps: [{ token: i1.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: IconComponent, isStandalone: true, selector: "val-icon", inputs: { props: "props" }, ngImport: i0, template: ` <ion-icon aria-hidden="true" [ngClass]="[props.size]" [name]="props.name" [color]="props.color" /> `, isInline: true, styles: [".small{font-size:.75rem;line-height:1.25rem;font-weight:400}.small.bold{font-size:.75rem;line-height:1.25rem;font-weight:700}.medium{font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.medium{font-size:1rem;line-height:1.5rem}}.medium.bold{font-size:.875rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.medium.bold{font-size:1rem;line-height:1.5rem}}.large{font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.large{font-size:1.125rem;line-height:1.5rem}}.large.bold{font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.large.bold{font-size:1.125rem;line-height:1.5rem}}.xlarge{font-size:1.125rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.xlarge{font-size:1.5rem;line-height:2rem}}.xlarge.bold{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.xlarge.bold{font-size:1.5rem;line-height:2rem}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
11
12
  }
12
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IconComponent, decorators: [{
13
14
  type: Component,
14
- args: [{ selector: 'val-icon', standalone: true, imports: [CommonModule, IonIcon], template: ` <ion-icon [ngClass]="[props.size]" [name]="props.name" [color]="props.color"></ion-icon> `, styles: [".small{font-size:.75rem;line-height:1.25rem;font-weight:400}.small.bold{font-size:.75rem;line-height:1.25rem;font-weight:700}.medium{font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.medium{font-size:1rem;line-height:1.5rem}}.medium.bold{font-size:.875rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.medium.bold{font-size:1rem;line-height:1.5rem}}.large{font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.large{font-size:1.125rem;line-height:1.5rem}}.large.bold{font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.large.bold{font-size:1.125rem;line-height:1.5rem}}.xlarge{font-size:1.125rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.xlarge{font-size:1.5rem;line-height:2rem}}.xlarge.bold{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.xlarge.bold{font-size:1.5rem;line-height:2rem}}\n"] }]
15
- }], ctorParameters: () => [], propDecorators: { props: [{
15
+ args: [{ selector: 'val-icon', standalone: true, imports: [CommonModule, IonIcon], template: ` <ion-icon aria-hidden="true" [ngClass]="[props.size]" [name]="props.name" [color]="props.color" /> `, styles: [".small{font-size:.75rem;line-height:1.25rem;font-weight:400}.small.bold{font-size:.75rem;line-height:1.25rem;font-weight:700}.medium{font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.medium{font-size:1rem;line-height:1.5rem}}.medium.bold{font-size:.875rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.medium.bold{font-size:1rem;line-height:1.5rem}}.large{font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.large{font-size:1.125rem;line-height:1.5rem}}.large.bold{font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.large.bold{font-size:1.125rem;line-height:1.5rem}}.xlarge{font-size:1.125rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.xlarge{font-size:1.5rem;line-height:2rem}}.xlarge.bold{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.xlarge.bold{font-size:1.5rem;line-height:2rem}}\n"] }]
16
+ }], ctorParameters: () => [{ type: i1.IconService }], propDecorators: { props: [{
16
17
  type: Input
17
18
  }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2ljb24vaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBVXBELE1BQU0sT0FBTyxhQUFhO0lBSXhCLGdCQUFlLENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7K0dBTkYsYUFBYTttR0FBYixhQUFhLGdHQUhkLDRGQUE0RixrL0JBRDVGLFlBQVksNkhBQUUsT0FBTzs7NEZBSXBCLGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFDdEIsNEZBQTRGO3dEQUt0RyxLQUFLO3NCQURKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJY29uTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWljb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGAgPGlvbi1pY29uIFtuZ0NsYXNzXT1cIltwcm9wcy5zaXplXVwiIFtuYW1lXT1cInByb3BzLm5hbWVcIiBbY29sb3JdPVwicHJvcHMuY29sb3JcIj48L2lvbi1pY29uPiBgLFxuICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBwcm9wczogSWNvbk1ldGFkYXRhO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG59XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2ljb24vaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQVdwRCxNQUFNLE9BQU8sYUFBYTtJQUl4QixZQUFZLE9BQW9CLElBQUcsQ0FBQztJQUVwQyxRQUFRLEtBQUksQ0FBQzsrR0FORixhQUFhO21HQUFiLGFBQWEsZ0dBSGQsc0dBQXNHLGsvQkFEdEcsWUFBWSw2SEFBRSxPQUFPOzs0RkFJcEIsYUFBYTtrQkFQekIsU0FBUzsrQkFDRSxVQUFVLGNBQ1IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUN0QixzR0FBc0c7Z0ZBS2hILEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaWNvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBJY29uTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWljb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGAgPGlvbi1pY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIFtuZ0NsYXNzXT1cIltwcm9wcy5zaXplXVwiIFtuYW1lXT1cInByb3BzLm5hbWVcIiBbY29sb3JdPVwicHJvcHMuY29sb3JcIiAvPiBgLFxuICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBwcm9wczogSWNvbk1ldGFkYXRhO1xuXG4gIGNvbnN0cnVjdG9yKHNlcnZpY2U6IEljb25TZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge31cbn1cbiJdfQ==
@@ -23,7 +23,7 @@ export class ButtonGroupComponent {
23
23
  <val-button
24
24
  *ngFor="let b of props.buttons"
25
25
  [props]="b"
26
- (click)="clickHandler(b?.token)"
26
+ (onClick)="clickHandler(b?.token)"
27
27
  [ngStyle]="{ width: props.buttons.length === 1 ? '100%' : 'auto' }"
28
28
  ></val-button>
29
29
  </div>
@@ -36,7 +36,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
36
36
  <val-button
37
37
  *ngFor="let b of props.buttons"
38
38
  [props]="b"
39
- (click)="clickHandler(b?.token)"
39
+ (onClick)="clickHandler(b?.token)"
40
40
  [ngStyle]="{ width: props.buttons.length === 1 ? '100%' : 'auto' }"
41
41
  ></val-button>
42
42
  </div>
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
46
46
  }], onClick: [{
47
47
  type: Output
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBa0J0RSxNQUFNLE9BQU8sb0JBQW9CO0lBTy9CO1FBRkEsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFdEIsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUViLFlBQVksQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDeEUsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQzsrR0FyQlUsb0JBQW9CO21HQUFwQixvQkFBb0IseUlBWnJCOzs7Ozs7Ozs7R0FTVCxxWUFWUyxZQUFZLCtVQUFFLGVBQWU7OzRGQWE1QixvQkFBb0I7a0JBaEJoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLFlBQzlCOzs7Ozs7Ozs7R0FTVDt3REFLRCxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sT0FBTztzQkFETixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkdyb3VwTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWJ1dHRvbi1ncm91cCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJ1dHRvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBbbmdDbGFzc109XCJbJ2dyb3VwLWNvbnRhaW5lcicsIFBvc2l0aW9uXVwiIFtjbGFzcy5jb2x1bW5dPVwicHJvcHMuY29sdW1uZWRcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxuICAgICAgPHZhbC1idXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IGIgb2YgcHJvcHMuYnV0dG9uc1wiXG4gICAgICAgIFtwcm9wc109XCJiXCJcbiAgICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihiPy50b2tlbilcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7IHdpZHRoOiBwcm9wcy5idXR0b25zLmxlbmd0aCA9PT0gMSA/ICcxMDAlJyA6ICdhdXRvJyB9XCJcbiAgICAgID48L3ZhbC1idXR0b24+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Hcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHByb3BzOiBCdXR0b25Hcm91cE1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBjbGlja0hhbmRsZXIodG9rZW4/OiBzdHJpbmcpIHtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh0b2tlbik7XG4gIH1cblxuICBnZXQgUG9zaXRpb24oKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5wcm9wcy5idXR0b25zLmxlbmd0aCA9PT0gMSAmJiB0aGlzLnByb3BzLnBvc2l0aW9uID09PSAnc3BhY2VkJykge1xuICAgICAgcmV0dXJuICdyaWdodCc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHJvcHMucG9zaXRpb247XG4gIH1cbn1cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBa0J0RSxNQUFNLE9BQU8sb0JBQW9CO0lBTy9CO1FBRkEsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFdEIsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUViLFlBQVksQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDeEUsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQzsrR0FyQlUsb0JBQW9CO21HQUFwQixvQkFBb0IseUlBWnJCOzs7Ozs7Ozs7R0FTVCxxWUFWUyxZQUFZLCtVQUFFLGVBQWU7OzRGQWE1QixvQkFBb0I7a0JBaEJoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLFlBQzlCOzs7Ozs7Ozs7R0FTVDt3REFLRCxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sT0FBTztzQkFETixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkdyb3VwTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWJ1dHRvbi1ncm91cCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJ1dHRvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBbbmdDbGFzc109XCJbJ2dyb3VwLWNvbnRhaW5lcicsIFBvc2l0aW9uXVwiIFtjbGFzcy5jb2x1bW5dPVwicHJvcHMuY29sdW1uZWRcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxuICAgICAgPHZhbC1idXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IGIgb2YgcHJvcHMuYnV0dG9uc1wiXG4gICAgICAgIFtwcm9wc109XCJiXCJcbiAgICAgICAgKG9uQ2xpY2spPVwiY2xpY2tIYW5kbGVyKGI/LnRva2VuKVwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6IHByb3BzLmJ1dHRvbnMubGVuZ3RoID09PSAxID8gJzEwMCUnIDogJ2F1dG8nIH1cIlxuICAgICAgPjwvdmFsLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcHJvcHM6IEJ1dHRvbkdyb3VwTWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpXG4gIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGNsaWNrSGFuZGxlcih0b2tlbj86IHN0cmluZykge1xuICAgIHRoaXMub25DbGljay5lbWl0KHRva2VuKTtcbiAgfVxuXG4gIGdldCBQb3NpdGlvbigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnByb3BzLmJ1dHRvbnMubGVuZ3RoID09PSAxICYmIHRoaXMucHJvcHMucG9zaXRpb24gPT09ICdzcGFjZWQnKSB7XG4gICAgICByZXR1cm4gJ3JpZ2h0JztcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wcm9wcy5wb3NpdGlvbjtcbiAgfVxufVxuIl19
@@ -34,7 +34,7 @@ export class CardComponent {
34
34
  <val-button
35
35
  *ngFor="let b of props.footerActions"
36
36
  [props]="b"
37
- (click)="clickHandler(sections.footer, b.token)"
37
+ (onClick)="clickHandler(sections.footer, b.token)"
38
38
  ></val-button>
39
39
  </ion-card>
40
40
 
@@ -145,7 +145,7 @@ export class CardComponent {
145
145
  <val-button
146
146
  *ngFor="let b of props.footerActions"
147
147
  [props]="b"
148
- (click)="clickHandler(sections.footer, b.token)"
148
+ (onClick)="clickHandler(sections.footer, b.token)"
149
149
  ></val-button>
150
150
  <ion-buttons
151
151
  style="display: flex; align-items: center; justify-content: flex-end; margin: 8px"
@@ -211,7 +211,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
211
211
  <val-button
212
212
  *ngFor="let b of props.footerActions"
213
213
  [props]="b"
214
- (click)="clickHandler(sections.footer, b.token)"
214
+ (onClick)="clickHandler(sections.footer, b.token)"
215
215
  ></val-button>
216
216
  </ion-card>
217
217
 
@@ -322,7 +322,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
322
322
  <val-button
323
323
  *ngFor="let b of props.footerActions"
324
324
  [props]="b"
325
- (click)="clickHandler(sections.footer, b.token)"
325
+ (onClick)="clickHandler(sections.footer, b.token)"
326
326
  ></val-button>
327
327
  <ion-buttons
328
328
  style="display: flex; align-items: center; justify-content: flex-end; margin: 8px"
@@ -362,4 +362,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
362
362
  }], onClick: [{
363
363
  type: Output
364
364
  }] } });
365
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jYXJkL2NhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE9BQU8sRUFDUCxjQUFjLEVBQ2QsYUFBYSxFQUNiLGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLE9BQU8sR0FDUixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFnQyxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFzTDlFLE1BQU0sT0FBTyxhQUFhO0lBVXhCO1FBTkEsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBRTdDLFVBQUssR0FBRyxRQUFRLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxpQkFBaUIsQ0FBQztRQUNoQyxhQUFRLEdBQUcsV0FBVyxDQUFDO0lBRVIsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUViLFlBQVksQ0FBQyxPQUFvQixFQUFFLEtBQWM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDOytHQWhCVSxhQUFhO21HQUFiLGFBQWEsaUlBaktkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThKVCwwaUJBN0tDLFlBQVksZ1FBQ1osZUFBZSxnR0FDZixlQUFlLGdHQUNmLGNBQWMseUVBQ2QsYUFBYSx3RUFDYixPQUFPLHlMQUNQLGNBQWMsK0VBQ2QsYUFBYSxzR0FDYixZQUFZLHNGQUNaLGVBQWUseUZBQ2YsV0FBVywwS0FDWCxVQUFVLDhFQUNWLFNBQVMsb1BBQ1QsT0FBTzs7NEZBbUtFLGFBQWE7a0JBcEx6QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLE9BQU87d0JBQ1AsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixXQUFXO3dCQUNYLFVBQVU7d0JBQ1YsU0FBUzt3QkFDVCxPQUFPO3FCQUNSLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEpUO3dEQUlRLEtBQUs7c0JBQWIsS0FBSztnQkFHTixPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSW9uQnV0dG9uLFxuICBJb25CdXR0b25zLFxuICBJb25DYXJkLFxuICBJb25DYXJkQ29udGVudCxcbiAgSW9uQ2FyZEhlYWRlcixcbiAgSW9uQ2FyZFN1YnRpdGxlLFxuICBJb25DYXJkVGl0bGUsXG4gIElvbkNoZWNrYm94LFxuICBJb25JY29uLFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xiYXJBY3Rpb25UeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ2FyZENsaWNrRXZlbnQsIENhcmRNZXRhZGF0YSwgQ2FyZFNlY3Rpb24sIENhcmRUeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQXZhdGFyQ29tcG9uZW50LFxuICAgIEltYWdlQ29tcG9uZW50LFxuICAgIFRleHRDb21wb25lbnQsXG4gICAgSW9uQ2FyZCxcbiAgICBJb25DYXJkQ29udGVudCxcbiAgICBJb25DYXJkSGVhZGVyLFxuICAgIElvbkNhcmRUaXRsZSxcbiAgICBJb25DYXJkU3VidGl0bGUsXG4gICAgSW9uQ2hlY2tib3gsXG4gICAgSW9uQnV0dG9ucyxcbiAgICBJb25CdXR0b24sXG4gICAgSW9uSWNvbixcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWNhcmQgKm5nSWY9XCJwcm9wcy50eXBlID09PSB0eXBlcy5uYXRpdmVcIj5cbiAgICAgIDxpbWcgYWx0PVwiaW1hZ2VcIiBbc3JjXT1cInByb3BzLmltYWdlXCIgLz5cbiAgICAgIDxpb24tY2FyZC1oZWFkZXIgKm5nSWY9XCJwcm9wcy50aXRsZSB8fCBwcm9wcy5vdmVydGl0bGVcIj5cbiAgICAgICAgPGlvbi1jYXJkLXRpdGxlICpuZ0lmPVwicHJvcHMudGl0bGVcIj57eyBwcm9wcy50aXRsZSB9fTwvaW9uLWNhcmQtdGl0bGU+XG4gICAgICAgIDxpb24tY2FyZC1zdWJ0aXRsZSAqbmdJZj1cInByb3BzLm92ZXJ0aXRsZVwiPnt7IHByb3BzLm92ZXJ0aXRsZSB9fTwvaW9uLWNhcmQtc3VidGl0bGU+XG4gICAgICA8L2lvbi1jYXJkLWhlYWRlcj5cblxuICAgICAgPGlvbi1jYXJkLWNvbnRlbnQgKm5nSWY9XCJwcm9wcy5jb250ZW50XCI+e3sgcHJvcHMuY29udGVudCB9fTwvaW9uLWNhcmQtY29udGVudD5cblxuICAgICAgPHZhbC1idXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IGIgb2YgcHJvcHMuZm9vdGVyQWN0aW9uc1wiXG4gICAgICAgIFtwcm9wc109XCJiXCJcbiAgICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihzZWN0aW9ucy5mb290ZXIsIGIudG9rZW4pXCJcbiAgICAgID48L3ZhbC1idXR0b24+XG4gICAgPC9pb24tY2FyZD5cblxuICAgIDxpb24tY2FyZFxuICAgICAgKm5nSWY9XCJwcm9wcy50eXBlID09PSB0eXBlcy50YXBwYWJsZVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmNvbnRlbnQsIHByb3BzLnRva2VuKVwiXG4gICAgICBjbGFzcz1cInRhcGFibGVcIlxuICAgID5cbiAgICAgIDxpbWcgYWx0PVwiaW1hZ2VcIiBbc3JjXT1cInByb3BzLmltYWdlXCIgLz5cbiAgICAgIDxpb24tY2FyZC1oZWFkZXIgKm5nSWY9XCJwcm9wcy50aXRsZSB8fCBwcm9wcy5vdmVydGl0bGVcIj5cbiAgICAgICAgPGlvbi1jYXJkLXRpdGxlICpuZ0lmPVwicHJvcHMudGl0bGVcIj57eyBwcm9wcy50aXRsZSB9fTwvaW9uLWNhcmQtdGl0bGU+XG4gICAgICAgIDxpb24tY2FyZC1zdWJ0aXRsZSAqbmdJZj1cInByb3BzLm92ZXJ0aXRsZVwiPnt7IHByb3BzLm92ZXJ0aXRsZSB9fTwvaW9uLWNhcmQtc3VidGl0bGU+XG4gICAgICA8L2lvbi1jYXJkLWhlYWRlcj5cblxuICAgICAgPGlvbi1jYXJkLWNvbnRlbnQgKm5nSWY9XCJwcm9wcy5jb250ZW50XCI+e3sgcHJvcHMuY29udGVudCB9fTwvaW9uLWNhcmQtY29udGVudD5cbiAgICA8L2lvbi1jYXJkPlxuXG4gICAgPGlvbi1jYXJkXG4gICAgICAqbmdJZj1cInByb3BzLnR5cGUgPT09IHR5cGVzLmNoZWNrZXJcIlxuICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihzZWN0aW9ucy5jb250ZW50LCBwcm9wcy50b2tlbilcIlxuICAgICAgY2xhc3M9XCJ0YXBhYmxlXCJcbiAgICA+XG4gICAgICA8aW9uLWNhcmQtaGVhZGVyICpuZ0lmPVwicHJvcHMudGl0bGUgfHwgcHJvcHMub3ZlcnRpdGxlXCIgY2xhc3M9XCJjaGVja2VyXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGlvbi1jYXJkLXN1YnRpdGxlICpuZ0lmPVwicHJvcHMub3ZlcnRpdGxlXCI+e3sgcHJvcHMub3ZlcnRpdGxlIH19PC9pb24tY2FyZC1zdWJ0aXRsZT5cbiAgICAgICAgICA8aW9uLWNhcmQtdGl0bGUgKm5nSWY9XCJwcm9wcy50aXRsZVwiPnt7IHByb3BzLnRpdGxlIH19PC9pb24tY2FyZC10aXRsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGlvbi1jaGVja2JveCBbY2hlY2tlZF09XCJwcm9wcy5zZWxlY3RlZFwiPjwvaW9uLWNoZWNrYm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuXG4gICAgICA8aW9uLWNhcmQtY29udGVudCAqbmdJZj1cInByb3BzLmNvbnRlbnRcIj57eyBwcm9wcy5jb250ZW50IH19PC9pb24tY2FyZC1jb250ZW50PlxuICAgIDwvaW9uLWNhcmQ+XG5cbiAgICA8aW9uLWNhcmQgKm5nSWY9XCJwcm9wcy50eXBlID09PSB0eXBlcy5jb21wbGV4XCIgY2xhc3M9XCJjb21wbGV4XCI+XG4gICAgICA8aW9uLWNhcmQtaGVhZGVyIGNsYXNzPVwiY29tcGxleC1oZWFkZXJcIj5cbiAgICAgICAgPGlvbi1idXR0b25zIHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlclwiICpuZ0lmPVwicHJvcHMubGVmdEFjdGlvbnMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBwcm9wcy5sZWZ0QWN0aW9uc1wiPlxuICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb24udHlwZSA9PT0gYWN0aW9uVHlwZXMuSUNPTlwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuaGVhZGVyTGVmdCwgYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgW25hbWVdPVwiYWN0aW9uLmRlc2NyaXB0aW9uXCIgY29sb3I9XCJkYXJrXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDx2YWwtYXZhdGFyXG4gICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiA0cHg7IGN1cnNvcjogcG9pbnRlclwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLkFWQVRBUlwiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7IHNpemU6ICdzbWFsbCcsIGltYWdlOiBhY3Rpb24uZGVzY3JpcHRpb24sIGRlZmF1bHQ6ICcnIH1cIlxuICAgICAgICAgICAgICAob25DbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuaGVhZGVyTGVmdCwgYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICA+PC92YWwtYXZhdGFyPlxuICAgICAgICAgICAgPHZhbC1pbWFnZVxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5JTUFHRVwiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJhY3Rpb24uaW1hZ2VcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmhlYWRlckxlZnQsIGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgICAgPjwvdmFsLWltYWdlPlxuICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb24udHlwZSA9PT0gYWN0aW9uVHlwZXMuQlVUVE9OXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihzZWN0aW9ucy5oZWFkZXJMZWZ0LCBhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgYWN0aW9uLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJvcHMuaGVhZGVyVGV4dFwiPlxuICAgICAgICAgICAgICA8dmFsLXRleHQgW3Byb3BzXT1cInsgY29udGVudDogcHJvcHMuaGVhZGVyVGV4dCwgY29sb3I6ICdkYXJrJywgYm9sZDogdHJ1ZSwgc2l6ZTogJ21lZGl1bScgfVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgICAgPGlvbi1idXR0b25zIHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlclwiICpuZ0lmPVwicHJvcHMucmlnaHRBY3Rpb25zLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgcHJvcHMucmlnaHRBY3Rpb25zXCI+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5JQ09OXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihzZWN0aW9ucy5oZWFkZXJSaWdodCwgYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgW25hbWVdPVwiYWN0aW9uLmRlc2NyaXB0aW9uXCIgY29sb3I9XCJkYXJrXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDx2YWwtYXZhdGFyXG4gICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiA0cHg7IGN1cnNvcjogcG9pbnRlclwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLkFWQVRBUlwiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7IHNpemU6ICdzbWFsbCcsIGltYWdlOiBhY3Rpb24uZGVzY3JpcHRpb24sIGRlZmF1bHQ6ICcnIH1cIlxuICAgICAgICAgICAgICAob25DbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuaGVhZGVyUmlnaHQsIGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgICAgPjwvdmFsLWF2YXRhcj5cbiAgICAgICAgICAgIDx2YWwtaW1hZ2VcbiAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb24udHlwZSA9PT0gYWN0aW9uVHlwZXMuSU1BR0VcIlxuICAgICAgICAgICAgICBbcHJvcHNdPVwiYWN0aW9uLmltYWdlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihzZWN0aW9ucy5oZWFkZXJSaWdodCwgYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICA+PC92YWwtaW1hZ2U+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5CVVRUT05cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmhlYWRlclJpZ2h0LCBhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgYWN0aW9uLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgICA8L2lvbi1jYXJkLWhlYWRlcj5cblxuICAgICAgPGRpdiBjbGFzcz1cInRhcGFibGVcIiAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmNvbnRlbnQsIHByb3BzLnRva2VuKVwiPlxuICAgICAgICA8aW9uLWNhcmQtaGVhZGVyICpuZ0lmPVwicHJvcHMudGl0bGUgfHwgcHJvcHMub3ZlcnRpdGxlXCIgY2xhc3M9XCJjb21wbGV4LWhlYWRlclwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8aW9uLWNhcmQtc3VidGl0bGUgKm5nSWY9XCJwcm9wcy5vdmVydGl0bGVcIj57eyBwcm9wcy5vdmVydGl0bGUgfX08L2lvbi1jYXJkLXN1YnRpdGxlPlxuICAgICAgICAgICAgPGlvbi1jYXJkLXRpdGxlICpuZ0lmPVwicHJvcHMudGl0bGVcIj57eyBwcm9wcy50aXRsZSB9fTwvaW9uLWNhcmQtdGl0bGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuXG4gICAgICAgIDxpbWcgYWx0PVwiaW1hZ2VcIiBbc3JjXT1cInByb3BzLmltYWdlXCIgLz5cbiAgICAgICAgPGlvbi1jYXJkLWNvbnRlbnQgKm5nSWY9XCJwcm9wcy5jb250ZW50XCIgY2xhc3M9XCJjb21wbGV4LWNvbnRlbnRcIj57eyBwcm9wcy5jb250ZW50IH19PC9pb24tY2FyZC1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8dmFsLWJ1dHRvblxuICAgICAgICAqbmdGb3I9XCJsZXQgYiBvZiBwcm9wcy5mb290ZXJBY3Rpb25zXCJcbiAgICAgICAgW3Byb3BzXT1cImJcIlxuICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmZvb3RlciwgYi50b2tlbilcIlxuICAgICAgPjwvdmFsLWJ1dHRvbj5cbiAgICAgIDxpb24tYnV0dG9uc1xuICAgICAgICBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IG1hcmdpbjogOHB4XCJcbiAgICAgICAgKm5nSWY9XCJwcm9wcy5mb290ZXJDb21wbGV4QWN0aW9ucy5sZW5ndGggPiAwXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHByb3BzLmZvb3RlckNvbXBsZXhBY3Rpb25zXCI+XG4gICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLklDT05cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihzZWN0aW9ucy5mb290ZXJFeHRyYSwgYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBbbmFtZV09XCJhY3Rpb24uZGVzY3JpcHRpb25cIiBjb2xvcj1cImRhcmtcIj48L2lvbi1pY29uPlxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8dmFsLWF2YXRhclxuICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDRweDsgY3Vyc29yOiBwb2ludGVyXCJcbiAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLkFWQVRBUlwiXG4gICAgICAgICAgICBbcHJvcHNdPVwieyBzaXplOiAnc21hbGwnLCBpbWFnZTogYWN0aW9uLmRlc2NyaXB0aW9uLCBkZWZhdWx0OiAnJyB9XCJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcihzZWN0aW9ucy5mb290ZXJFeHRyYSwgYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgPjwvdmFsLWF2YXRhcj5cbiAgICAgICAgICA8dmFsLWltYWdlXG4gICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5JTUFHRVwiXG4gICAgICAgICAgICBbcHJvcHNdPVwiYWN0aW9uLmltYWdlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuZm9vdGVyRXh0cmEsIGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgID48L3ZhbC1pbWFnZT5cbiAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb24udHlwZSA9PT0gYWN0aW9uVHlwZXMuQlVUVE9OXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuZm9vdGVyRXh0cmEsIGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgICAgY29sb3I9XCJkYXJrXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBhY3Rpb24uZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICA8L2lvbi1jYXJkPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwcm9wczogQ2FyZE1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDYXJkQ2xpY2tFdmVudD4oKTtcblxuICB0eXBlcyA9IENhcmRUeXBlO1xuICBhY3Rpb25UeXBlcyA9IFRvb2xiYXJBY3Rpb25UeXBlO1xuICBzZWN0aW9ucyA9IENhcmRTZWN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgY2xpY2tIYW5kbGVyKHNlY3Rpb246IENhcmRTZWN0aW9uLCB0b2tlbj86IHN0cmluZykge1xuICAgIHRoaXMub25DbGljay5lbWl0KHsgc2VjdGlvbiwgdG9rZW4gfSk7XG4gIH1cbn1cbiJdfQ==
365
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jYXJkL2NhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE9BQU8sRUFDUCxjQUFjLEVBQ2QsYUFBYSxFQUNiLGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLE9BQU8sR0FDUixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFnQyxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFzTDlFLE1BQU0sT0FBTyxhQUFhO0lBVXhCO1FBTkEsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBRTdDLFVBQUssR0FBRyxRQUFRLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxpQkFBaUIsQ0FBQztRQUNoQyxhQUFRLEdBQUcsV0FBVyxDQUFDO0lBRVIsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUViLFlBQVksQ0FBQyxPQUFvQixFQUFFLEtBQWM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDOytHQWhCVSxhQUFhO21HQUFiLGFBQWEsaUlBaktkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThKVCwwaUJBN0tDLFlBQVksZ1FBQ1osZUFBZSxnR0FDZixlQUFlLGdHQUNmLGNBQWMseUVBQ2QsYUFBYSx3RUFDYixPQUFPLHlMQUNQLGNBQWMsK0VBQ2QsYUFBYSxzR0FDYixZQUFZLHNGQUNaLGVBQWUseUZBQ2YsV0FBVywwS0FDWCxVQUFVLDhFQUNWLFNBQVMsb1BBQ1QsT0FBTzs7NEZBbUtFLGFBQWE7a0JBcEx6QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLE9BQU87d0JBQ1AsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixXQUFXO3dCQUNYLFVBQVU7d0JBQ1YsU0FBUzt3QkFDVCxPQUFPO3FCQUNSLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEpUO3dEQUlRLEtBQUs7c0JBQWIsS0FBSztnQkFHTixPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSW9uQnV0dG9uLFxuICBJb25CdXR0b25zLFxuICBJb25DYXJkLFxuICBJb25DYXJkQ29udGVudCxcbiAgSW9uQ2FyZEhlYWRlcixcbiAgSW9uQ2FyZFN1YnRpdGxlLFxuICBJb25DYXJkVGl0bGUsXG4gIElvbkNoZWNrYm94LFxuICBJb25JY29uLFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xiYXJBY3Rpb25UeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ2FyZENsaWNrRXZlbnQsIENhcmRNZXRhZGF0YSwgQ2FyZFNlY3Rpb24sIENhcmRUeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQXZhdGFyQ29tcG9uZW50LFxuICAgIEltYWdlQ29tcG9uZW50LFxuICAgIFRleHRDb21wb25lbnQsXG4gICAgSW9uQ2FyZCxcbiAgICBJb25DYXJkQ29udGVudCxcbiAgICBJb25DYXJkSGVhZGVyLFxuICAgIElvbkNhcmRUaXRsZSxcbiAgICBJb25DYXJkU3VidGl0bGUsXG4gICAgSW9uQ2hlY2tib3gsXG4gICAgSW9uQnV0dG9ucyxcbiAgICBJb25CdXR0b24sXG4gICAgSW9uSWNvbixcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWNhcmQgKm5nSWY9XCJwcm9wcy50eXBlID09PSB0eXBlcy5uYXRpdmVcIj5cbiAgICAgIDxpbWcgYWx0PVwiaW1hZ2VcIiBbc3JjXT1cInByb3BzLmltYWdlXCIgLz5cbiAgICAgIDxpb24tY2FyZC1oZWFkZXIgKm5nSWY9XCJwcm9wcy50aXRsZSB8fCBwcm9wcy5vdmVydGl0bGVcIj5cbiAgICAgICAgPGlvbi1jYXJkLXRpdGxlICpuZ0lmPVwicHJvcHMudGl0bGVcIj57eyBwcm9wcy50aXRsZSB9fTwvaW9uLWNhcmQtdGl0bGU+XG4gICAgICAgIDxpb24tY2FyZC1zdWJ0aXRsZSAqbmdJZj1cInByb3BzLm92ZXJ0aXRsZVwiPnt7IHByb3BzLm92ZXJ0aXRsZSB9fTwvaW9uLWNhcmQtc3VidGl0bGU+XG4gICAgICA8L2lvbi1jYXJkLWhlYWRlcj5cblxuICAgICAgPGlvbi1jYXJkLWNvbnRlbnQgKm5nSWY9XCJwcm9wcy5jb250ZW50XCI+e3sgcHJvcHMuY29udGVudCB9fTwvaW9uLWNhcmQtY29udGVudD5cblxuICAgICAgPHZhbC1idXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IGIgb2YgcHJvcHMuZm9vdGVyQWN0aW9uc1wiXG4gICAgICAgIFtwcm9wc109XCJiXCJcbiAgICAgICAgKG9uQ2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmZvb3RlciwgYi50b2tlbilcIlxuICAgICAgPjwvdmFsLWJ1dHRvbj5cbiAgICA8L2lvbi1jYXJkPlxuXG4gICAgPGlvbi1jYXJkXG4gICAgICAqbmdJZj1cInByb3BzLnR5cGUgPT09IHR5cGVzLnRhcHBhYmxlXCJcbiAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuY29udGVudCwgcHJvcHMudG9rZW4pXCJcbiAgICAgIGNsYXNzPVwidGFwYWJsZVwiXG4gICAgPlxuICAgICAgPGltZyBhbHQ9XCJpbWFnZVwiIFtzcmNdPVwicHJvcHMuaW1hZ2VcIiAvPlxuICAgICAgPGlvbi1jYXJkLWhlYWRlciAqbmdJZj1cInByb3BzLnRpdGxlIHx8IHByb3BzLm92ZXJ0aXRsZVwiPlxuICAgICAgICA8aW9uLWNhcmQtdGl0bGUgKm5nSWY9XCJwcm9wcy50aXRsZVwiPnt7IHByb3BzLnRpdGxlIH19PC9pb24tY2FyZC10aXRsZT5cbiAgICAgICAgPGlvbi1jYXJkLXN1YnRpdGxlICpuZ0lmPVwicHJvcHMub3ZlcnRpdGxlXCI+e3sgcHJvcHMub3ZlcnRpdGxlIH19PC9pb24tY2FyZC1zdWJ0aXRsZT5cbiAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuXG4gICAgICA8aW9uLWNhcmQtY29udGVudCAqbmdJZj1cInByb3BzLmNvbnRlbnRcIj57eyBwcm9wcy5jb250ZW50IH19PC9pb24tY2FyZC1jb250ZW50PlxuICAgIDwvaW9uLWNhcmQ+XG5cbiAgICA8aW9uLWNhcmRcbiAgICAgICpuZ0lmPVwicHJvcHMudHlwZSA9PT0gdHlwZXMuY2hlY2tlclwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmNvbnRlbnQsIHByb3BzLnRva2VuKVwiXG4gICAgICBjbGFzcz1cInRhcGFibGVcIlxuICAgID5cbiAgICAgIDxpb24tY2FyZC1oZWFkZXIgKm5nSWY9XCJwcm9wcy50aXRsZSB8fCBwcm9wcy5vdmVydGl0bGVcIiBjbGFzcz1cImNoZWNrZXJcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aW9uLWNhcmQtc3VidGl0bGUgKm5nSWY9XCJwcm9wcy5vdmVydGl0bGVcIj57eyBwcm9wcy5vdmVydGl0bGUgfX08L2lvbi1jYXJkLXN1YnRpdGxlPlxuICAgICAgICAgIDxpb24tY2FyZC10aXRsZSAqbmdJZj1cInByb3BzLnRpdGxlXCI+e3sgcHJvcHMudGl0bGUgfX08L2lvbi1jYXJkLXRpdGxlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aW9uLWNoZWNrYm94IFtjaGVja2VkXT1cInByb3BzLnNlbGVjdGVkXCI+PC9pb24tY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9pb24tY2FyZC1oZWFkZXI+XG5cbiAgICAgIDxpb24tY2FyZC1jb250ZW50ICpuZ0lmPVwicHJvcHMuY29udGVudFwiPnt7IHByb3BzLmNvbnRlbnQgfX08L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgPC9pb24tY2FyZD5cblxuICAgIDxpb24tY2FyZCAqbmdJZj1cInByb3BzLnR5cGUgPT09IHR5cGVzLmNvbXBsZXhcIiBjbGFzcz1cImNvbXBsZXhcIj5cbiAgICAgIDxpb24tY2FyZC1oZWFkZXIgY2xhc3M9XCJjb21wbGV4LWhlYWRlclwiPlxuICAgICAgICA8aW9uLWJ1dHRvbnMgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyXCIgKm5nSWY9XCJwcm9wcy5sZWZ0QWN0aW9ucy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHByb3BzLmxlZnRBY3Rpb25zXCI+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5JQ09OXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihzZWN0aW9ucy5oZWFkZXJMZWZ0LCBhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBbbmFtZV09XCJhY3Rpb24uZGVzY3JpcHRpb25cIiBjb2xvcj1cImRhcmtcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPHZhbC1hdmF0YXJcbiAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDRweDsgY3Vyc29yOiBwb2ludGVyXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb24udHlwZSA9PT0gYWN0aW9uVHlwZXMuQVZBVEFSXCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cInsgc2l6ZTogJ3NtYWxsJywgaW1hZ2U6IGFjdGlvbi5kZXNjcmlwdGlvbiwgZGVmYXVsdDogJycgfVwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcihzZWN0aW9ucy5oZWFkZXJMZWZ0LCBhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgID48L3ZhbC1hdmF0YXI+XG4gICAgICAgICAgICA8dmFsLWltYWdlXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLklNQUdFXCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cImFjdGlvbi5pbWFnZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuaGVhZGVyTGVmdCwgYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICA+PC92YWwtaW1hZ2U+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5CVVRUT05cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmhlYWRlckxlZnQsIGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBhY3Rpb24uZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9wcy5oZWFkZXJUZXh0XCI+XG4gICAgICAgICAgICAgIDx2YWwtdGV4dCBbcHJvcHNdPVwieyBjb250ZW50OiBwcm9wcy5oZWFkZXJUZXh0LCBjb2xvcjogJ2RhcmsnLCBib2xkOiB0cnVlLCBzaXplOiAnbWVkaXVtJyB9XCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgICA8aW9uLWJ1dHRvbnMgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyXCIgKm5nSWY9XCJwcm9wcy5yaWdodEFjdGlvbnMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBwcm9wcy5yaWdodEFjdGlvbnNcIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLklDT05cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmhlYWRlclJpZ2h0LCBhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBbbmFtZV09XCJhY3Rpb24uZGVzY3JpcHRpb25cIiBjb2xvcj1cImRhcmtcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPHZhbC1hdmF0YXJcbiAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDRweDsgY3Vyc29yOiBwb2ludGVyXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb24udHlwZSA9PT0gYWN0aW9uVHlwZXMuQVZBVEFSXCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cInsgc2l6ZTogJ3NtYWxsJywgaW1hZ2U6IGFjdGlvbi5kZXNjcmlwdGlvbiwgZGVmYXVsdDogJycgfVwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcihzZWN0aW9ucy5oZWFkZXJSaWdodCwgYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICA+PC92YWwtYXZhdGFyPlxuICAgICAgICAgICAgPHZhbC1pbWFnZVxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5JTUFHRVwiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJhY3Rpb24uaW1hZ2VcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmhlYWRlclJpZ2h0LCBhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgID48L3ZhbC1pbWFnZT5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLkJVVFRPTlwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuaGVhZGVyUmlnaHQsIGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBhY3Rpb24uZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwidGFwYWJsZVwiIChjbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuY29udGVudCwgcHJvcHMudG9rZW4pXCI+XG4gICAgICAgIDxpb24tY2FyZC1oZWFkZXIgKm5nSWY9XCJwcm9wcy50aXRsZSB8fCBwcm9wcy5vdmVydGl0bGVcIiBjbGFzcz1cImNvbXBsZXgtaGVhZGVyXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxpb24tY2FyZC1zdWJ0aXRsZSAqbmdJZj1cInByb3BzLm92ZXJ0aXRsZVwiPnt7IHByb3BzLm92ZXJ0aXRsZSB9fTwvaW9uLWNhcmQtc3VidGl0bGU+XG4gICAgICAgICAgICA8aW9uLWNhcmQtdGl0bGUgKm5nSWY9XCJwcm9wcy50aXRsZVwiPnt7IHByb3BzLnRpdGxlIH19PC9pb24tY2FyZC10aXRsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9pb24tY2FyZC1oZWFkZXI+XG5cbiAgICAgICAgPGltZyBhbHQ9XCJpbWFnZVwiIFtzcmNdPVwicHJvcHMuaW1hZ2VcIiAvPlxuICAgICAgICA8aW9uLWNhcmQtY29udGVudCAqbmdJZj1cInByb3BzLmNvbnRlbnRcIiBjbGFzcz1cImNvbXBsZXgtY29udGVudFwiPnt7IHByb3BzLmNvbnRlbnQgfX08L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx2YWwtYnV0dG9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBiIG9mIHByb3BzLmZvb3RlckFjdGlvbnNcIlxuICAgICAgICBbcHJvcHNdPVwiYlwiXG4gICAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcihzZWN0aW9ucy5mb290ZXIsIGIudG9rZW4pXCJcbiAgICAgID48L3ZhbC1idXR0b24+XG4gICAgICA8aW9uLWJ1dHRvbnNcbiAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyBtYXJnaW46IDhweFwiXG4gICAgICAgICpuZ0lmPVwicHJvcHMuZm9vdGVyQ29tcGxleEFjdGlvbnMubGVuZ3RoID4gMFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBwcm9wcy5mb290ZXJDb21wbGV4QWN0aW9uc1wiPlxuICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5JQ09OXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuZm9vdGVyRXh0cmEsIGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgW25hbWVdPVwiYWN0aW9uLmRlc2NyaXB0aW9uXCIgY29sb3I9XCJkYXJrXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPHZhbC1hdmF0YXJcbiAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiA0cHg7IGN1cnNvcjogcG9pbnRlclwiXG4gICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5BVkFUQVJcIlxuICAgICAgICAgICAgW3Byb3BzXT1cInsgc2l6ZTogJ3NtYWxsJywgaW1hZ2U6IGFjdGlvbi5kZXNjcmlwdGlvbiwgZGVmYXVsdDogJycgfVwiXG4gICAgICAgICAgICAob25DbGljayk9XCJjbGlja0hhbmRsZXIoc2VjdGlvbnMuZm9vdGVyRXh0cmEsIGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgID48L3ZhbC1hdmF0YXI+XG4gICAgICAgICAgPHZhbC1pbWFnZVxuICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb24udHlwZSA9PT0gYWN0aW9uVHlwZXMuSU1BR0VcIlxuICAgICAgICAgICAgW3Byb3BzXT1cImFjdGlvbi5pbWFnZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmZvb3RlckV4dHJhLCBhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICA+PC92YWwtaW1hZ2U+XG4gICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLkJVVFRPTlwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKHNlY3Rpb25zLmZvb3RlckV4dHJhLCBhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgIGNvbG9yPVwiZGFya1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgYWN0aW9uLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgPC9pb24tY2FyZD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHJvcHM6IENhcmRNZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FyZENsaWNrRXZlbnQ+KCk7XG5cbiAgdHlwZXMgPSBDYXJkVHlwZTtcbiAgYWN0aW9uVHlwZXMgPSBUb29sYmFyQWN0aW9uVHlwZTtcbiAgc2VjdGlvbnMgPSBDYXJkU2VjdGlvbjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGNsaWNrSGFuZGxlcihzZWN0aW9uOiBDYXJkU2VjdGlvbiwgdG9rZW4/OiBzdHJpbmcpIHtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh7IHNlY3Rpb24sIHRva2VuIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,342 @@
1
+ import { NgClass } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { RouterLink } from '@angular/router';
4
+ import { IonAvatar, IonButton, IonIcon, IonItem, IonLabel, IonList, IonListHeader, IonNote, IonSpinner, } from '@ionic/angular/standalone';
5
+ import { ComponentStates } from '../../types';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../services/icons.service";
8
+ export class ItemListComponent {
9
+ constructor(icon) {
10
+ this.states = ComponentStates;
11
+ this.onClick = new EventEmitter();
12
+ this.onActionClick = new EventEmitter();
13
+ }
14
+ ngOnInit() { }
15
+ clickHandler(token) {
16
+ this.onClick.emit(token);
17
+ }
18
+ onActionClickHandler(token) {
19
+ this.onActionClick.emit(token);
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ItemListComponent, deps: [{ token: i1.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ItemListComponent, isStandalone: true, selector: "item-list", inputs: { props: "props" }, outputs: { onClick: "onClick", onActionClick: "onActionClick" }, ngImport: i0, template: `
23
+ <div>
24
+ <ion-list [inset]="props.rounded" [class.shadowed]="props.shadowed">
25
+ <ion-list-header [color]="props.color">
26
+ <ion-label>{{ props.title }}</ion-label>
27
+ </ion-list-header>
28
+ @for (item of props.items; track item.text) {
29
+ @if (item.mode == 'justext') {
30
+ <ion-item
31
+ [lines]="item.lines"
32
+ [button]="item.clickable"
33
+ [disabled]="item.disabled"
34
+ (click)="clickHandler(item.token)"
35
+ >
36
+ @if (item.unreadIndicator) {
37
+ <div class="unread-indicator-wrapper" slot="start">
38
+ <div class="unread-indicator"></div>
39
+ </div>
40
+ }
41
+
42
+ <ion-label [ngClass]="{ 'ion-text-nowrap': item.ellipsis }">
43
+ <h2>{{ item.text }}</h2>
44
+
45
+ @if (item.comments) {
46
+ <ion-note color="medium"> {{ item.comments }} </ion-note>
47
+ }
48
+ </ion-label>
49
+
50
+ @if (item.endNote) {
51
+ <ion-note slot="end">{{ item.endNote }}</ion-note>
52
+ }
53
+ </ion-item>
54
+ }
55
+
56
+ @if (item.mode == 'actionable') {
57
+ <ion-item [lines]="item.lines" [button]="item.clickable" [disabled]="item.disabled">
58
+ @if (item.unreadIndicator) {
59
+ <div class="unread-indicator-wrapper" slot="start">
60
+ <div class="unread-indicator"></div>
61
+ </div>
62
+ }
63
+
64
+ <ion-label [ngClass]="{ 'ion-text-nowrap': item.ellipsis }">
65
+ <h2>{{ item.text }}</h2>
66
+
67
+ @if (item.comments) {
68
+ <ion-note color="medium"> {{ item.comments }} </ion-note>
69
+ }
70
+ </ion-label>
71
+
72
+ @if (item.actions) {
73
+ @for (action of item.actions; track action.token) {
74
+ <ion-button
75
+ fill="outline"
76
+ color="dark"
77
+ slot="end"
78
+ [disabled]="action.state === states.WORKING"
79
+ (click)="onActionClickHandler(action.token)"
80
+ >
81
+ @if (action.state !== states.WORKING) {
82
+ @if (action.icon) {
83
+ <ion-icon aria-hidden="true" [name]="action.icon" size="medium" slot="start"></ion-icon>
84
+ }
85
+
86
+ {{ action.description }}
87
+ }
88
+
89
+ @if (action.state === states.WORKING) {
90
+ <ion-spinner class="action-spinner" name="circular"></ion-spinner>
91
+ }
92
+ </ion-button>
93
+ }
94
+ }
95
+ </ion-item>
96
+ }
97
+
98
+ @if (item.mode == 'route') {
99
+ <ion-item
100
+ [lines]="item.lines"
101
+ [button]="item.clickable"
102
+ [disabled]="item.disabled"
103
+ (click)="clickHandler(item.token)"
104
+ [routerLink]="item.routerLink"
105
+ >
106
+ @if (item.unreadIndicator) {
107
+ <div class="unread-indicator-wrapper" slot="start">
108
+ <div class="unread-indicator"></div>
109
+ </div>
110
+ }
111
+
112
+ <ion-label [ngClass]="{ 'ion-text-nowrap': item.ellipsis }">
113
+ <h2>{{ item.text }}</h2>
114
+
115
+ @if (item.comments) {
116
+ <ion-note color="medium"> {{ item.comments }} </ion-note>
117
+ }
118
+ </ion-label>
119
+ </ion-item>
120
+ }
121
+
122
+ @if (item.mode == 'subtitule') {
123
+ <ion-item
124
+ [lines]="item.lines"
125
+ [button]="item.clickable"
126
+ [disabled]="item.disabled"
127
+ (click)="clickHandler(item.token)"
128
+ >
129
+ @if (item.unreadIndicator) {
130
+ <div class="unread-indicator-wrapper" slot="start">
131
+ <div class="unread-indicator"></div>
132
+ </div>
133
+ }
134
+
135
+ <ion-label [ngClass]="{ 'ion-text-nowrap': item.ellipsis }">
136
+ <h1>{{ item.text }}</h1>
137
+ <p>{{ item.subtitle }}</p>
138
+ </ion-label>
139
+ </ion-item>
140
+ }
141
+
142
+ @if (item.mode == 'avatar') {
143
+ <ion-item
144
+ [lines]="item.lines"
145
+ [button]="item.clickable"
146
+ [disabled]="item.disabled"
147
+ (click)="clickHandler(item.token)"
148
+ >
149
+ <ion-avatar aria-hidden="true" slot="start">
150
+ <img alt="" [src]="item.image" />
151
+ </ion-avatar>
152
+ <ion-label>{{ item.text }}</ion-label>
153
+ </ion-item>
154
+ }
155
+
156
+ @if (item.mode == 'icon') {
157
+ <ion-item
158
+ [lines]="item.lines"
159
+ [button]="item.clickable"
160
+ [disabled]="item.disabled"
161
+ (click)="clickHandler(item.token)"
162
+ >
163
+ <ion-icon aria-hidden="true" [name]="item.icon" size="medium" slot="start"></ion-icon>
164
+ <ion-label>{{ item.text }}</ion-label>
165
+ </ion-item>
166
+ }
167
+ }
168
+ </ion-list>
169
+ </div>
170
+ `, isInline: true, styles: ["ion-label{font-family:var(--ion-default-font),Arial,sans-serif}ion-note{font-family:var(--ion-default-font),Arial,sans-serif;font-weight:400}ion-button{font-family:var(--ion-default-font),Arial,sans-serif}.shadowed{box-shadow:.1875rem .625rem .5rem #1219541a}.unread-indicator{background:var(--ion-color-primary);width:.625rem;height:.625rem;border-radius:100%;position:absolute;inset-inline-start:.75rem;top:.75rem}.action-spinner{width:3.125rem;height:1rem}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonListHeader, selector: "ion-list-header", inputs: ["color", "lines", "mode"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonAvatar, selector: "ion-avatar" }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }] }); }
171
+ }
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ItemListComponent, decorators: [{
173
+ type: Component,
174
+ args: [{ selector: 'item-list', standalone: true, imports: [
175
+ RouterLink,
176
+ NgClass,
177
+ IonList,
178
+ IonListHeader,
179
+ IonLabel,
180
+ IonNote,
181
+ IonItem,
182
+ IonAvatar,
183
+ IonIcon,
184
+ IonButton,
185
+ IonSpinner,
186
+ ], template: `
187
+ <div>
188
+ <ion-list [inset]="props.rounded" [class.shadowed]="props.shadowed">
189
+ <ion-list-header [color]="props.color">
190
+ <ion-label>{{ props.title }}</ion-label>
191
+ </ion-list-header>
192
+ @for (item of props.items; track item.text) {
193
+ @if (item.mode == 'justext') {
194
+ <ion-item
195
+ [lines]="item.lines"
196
+ [button]="item.clickable"
197
+ [disabled]="item.disabled"
198
+ (click)="clickHandler(item.token)"
199
+ >
200
+ @if (item.unreadIndicator) {
201
+ <div class="unread-indicator-wrapper" slot="start">
202
+ <div class="unread-indicator"></div>
203
+ </div>
204
+ }
205
+
206
+ <ion-label [ngClass]="{ 'ion-text-nowrap': item.ellipsis }">
207
+ <h2>{{ item.text }}</h2>
208
+
209
+ @if (item.comments) {
210
+ <ion-note color="medium"> {{ item.comments }} </ion-note>
211
+ }
212
+ </ion-label>
213
+
214
+ @if (item.endNote) {
215
+ <ion-note slot="end">{{ item.endNote }}</ion-note>
216
+ }
217
+ </ion-item>
218
+ }
219
+
220
+ @if (item.mode == 'actionable') {
221
+ <ion-item [lines]="item.lines" [button]="item.clickable" [disabled]="item.disabled">
222
+ @if (item.unreadIndicator) {
223
+ <div class="unread-indicator-wrapper" slot="start">
224
+ <div class="unread-indicator"></div>
225
+ </div>
226
+ }
227
+
228
+ <ion-label [ngClass]="{ 'ion-text-nowrap': item.ellipsis }">
229
+ <h2>{{ item.text }}</h2>
230
+
231
+ @if (item.comments) {
232
+ <ion-note color="medium"> {{ item.comments }} </ion-note>
233
+ }
234
+ </ion-label>
235
+
236
+ @if (item.actions) {
237
+ @for (action of item.actions; track action.token) {
238
+ <ion-button
239
+ fill="outline"
240
+ color="dark"
241
+ slot="end"
242
+ [disabled]="action.state === states.WORKING"
243
+ (click)="onActionClickHandler(action.token)"
244
+ >
245
+ @if (action.state !== states.WORKING) {
246
+ @if (action.icon) {
247
+ <ion-icon aria-hidden="true" [name]="action.icon" size="medium" slot="start"></ion-icon>
248
+ }
249
+
250
+ {{ action.description }}
251
+ }
252
+
253
+ @if (action.state === states.WORKING) {
254
+ <ion-spinner class="action-spinner" name="circular"></ion-spinner>
255
+ }
256
+ </ion-button>
257
+ }
258
+ }
259
+ </ion-item>
260
+ }
261
+
262
+ @if (item.mode == 'route') {
263
+ <ion-item
264
+ [lines]="item.lines"
265
+ [button]="item.clickable"
266
+ [disabled]="item.disabled"
267
+ (click)="clickHandler(item.token)"
268
+ [routerLink]="item.routerLink"
269
+ >
270
+ @if (item.unreadIndicator) {
271
+ <div class="unread-indicator-wrapper" slot="start">
272
+ <div class="unread-indicator"></div>
273
+ </div>
274
+ }
275
+
276
+ <ion-label [ngClass]="{ 'ion-text-nowrap': item.ellipsis }">
277
+ <h2>{{ item.text }}</h2>
278
+
279
+ @if (item.comments) {
280
+ <ion-note color="medium"> {{ item.comments }} </ion-note>
281
+ }
282
+ </ion-label>
283
+ </ion-item>
284
+ }
285
+
286
+ @if (item.mode == 'subtitule') {
287
+ <ion-item
288
+ [lines]="item.lines"
289
+ [button]="item.clickable"
290
+ [disabled]="item.disabled"
291
+ (click)="clickHandler(item.token)"
292
+ >
293
+ @if (item.unreadIndicator) {
294
+ <div class="unread-indicator-wrapper" slot="start">
295
+ <div class="unread-indicator"></div>
296
+ </div>
297
+ }
298
+
299
+ <ion-label [ngClass]="{ 'ion-text-nowrap': item.ellipsis }">
300
+ <h1>{{ item.text }}</h1>
301
+ <p>{{ item.subtitle }}</p>
302
+ </ion-label>
303
+ </ion-item>
304
+ }
305
+
306
+ @if (item.mode == 'avatar') {
307
+ <ion-item
308
+ [lines]="item.lines"
309
+ [button]="item.clickable"
310
+ [disabled]="item.disabled"
311
+ (click)="clickHandler(item.token)"
312
+ >
313
+ <ion-avatar aria-hidden="true" slot="start">
314
+ <img alt="" [src]="item.image" />
315
+ </ion-avatar>
316
+ <ion-label>{{ item.text }}</ion-label>
317
+ </ion-item>
318
+ }
319
+
320
+ @if (item.mode == 'icon') {
321
+ <ion-item
322
+ [lines]="item.lines"
323
+ [button]="item.clickable"
324
+ [disabled]="item.disabled"
325
+ (click)="clickHandler(item.token)"
326
+ >
327
+ <ion-icon aria-hidden="true" [name]="item.icon" size="medium" slot="start"></ion-icon>
328
+ <ion-label>{{ item.text }}</ion-label>
329
+ </ion-item>
330
+ }
331
+ }
332
+ </ion-list>
333
+ </div>
334
+ `, styles: ["ion-label{font-family:var(--ion-default-font),Arial,sans-serif}ion-note{font-family:var(--ion-default-font),Arial,sans-serif;font-weight:400}ion-button{font-family:var(--ion-default-font),Arial,sans-serif}.shadowed{box-shadow:.1875rem .625rem .5rem #1219541a}.unread-indicator{background:var(--ion-color-primary);width:.625rem;height:.625rem;border-radius:100%;position:absolute;inset-inline-start:.75rem;top:.75rem}.action-spinner{width:3.125rem;height:1rem}\n"] }]
335
+ }], ctorParameters: () => [{ type: i1.IconService }], propDecorators: { props: [{
336
+ type: Input
337
+ }], onClick: [{
338
+ type: Output
339
+ }], onActionClick: [{
340
+ type: Output
341
+ }] } });
342
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2l0ZW0tbGlzdC9pdGVtLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFFBQVEsRUFDUixPQUFPLEVBQ1AsYUFBYSxFQUNiLE9BQU8sRUFDUCxVQUFVLEdBQ1gsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQWtCLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBaU45RCxNQUFNLE9BQU8saUJBQWlCO0lBWTVCLFlBQVksSUFBaUI7UUFYN0IsV0FBTSxHQUFHLGVBQWUsQ0FBQztRQU16QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUdyQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFWCxDQUFDO0lBRWpDLFFBQVEsS0FBSSxDQUFDO0lBRWIsWUFBWSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzsrR0F0QlUsaUJBQWlCO21HQUFqQixpQkFBaUIsa0tBdkpsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9KVCx1aEJBaEtDLFVBQVUsb09BQ1YsT0FBTyxvRkFDUCxPQUFPLHlGQUNQLGFBQWEsZ0dBQ2IsUUFBUSw2RkFDUixPQUFPLGdGQUNQLE9BQU8sME5BQ1AsU0FBUyx1REFDVCxPQUFPLDJKQUNQLFNBQVMsb1BBQ1QsVUFBVTs7NEZBeUpELGlCQUFpQjtrQkF2SzdCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksV0FDUDt3QkFDUCxVQUFVO3dCQUNWLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxhQUFhO3dCQUNiLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsT0FBTzt3QkFDUCxTQUFTO3dCQUNULFVBQVU7cUJBQ1gsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9KVDtnRkFPRCxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sT0FBTztzQkFETixNQUFNO2dCQUlQLGFBQWE7c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBJb25BdmF0YXIsXG4gIElvbkJ1dHRvbixcbiAgSW9uSWNvbixcbiAgSW9uSXRlbSxcbiAgSW9uTGFiZWwsXG4gIElvbkxpc3QsXG4gIElvbkxpc3RIZWFkZXIsXG4gIElvbk5vdGUsXG4gIElvblNwaW5uZXIsXG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRTdGF0ZSwgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pY29ucy5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgSXRlbUFjdGlvbiA9IHtcbiAgdG9rZW46IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgc3RhdGU6IENvbXBvbmVudFN0YXRlO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJdGVtTWV0YWRhdGEge1xuICB0b2tlbj86IHN0cmluZztcbiAgbW9kZTogJ2p1c3RleHQnIHwgJ3N1YnRpdHVsZScgfCAnYXZhdGFyJyB8ICdpY29uJyB8ICdyb3V0ZScgfCAnYWN0aW9uYWJsZSc7XG4gIHRleHQ6IHN0cmluZztcbiAgaW1hZ2U/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGNvbW1lbnRzPzogc3RyaW5nO1xuICBzdWJ0aXRsZT86IHN0cmluZztcbiAgZW5kTm90ZT86IHN0cmluZztcbiAgYWN0aW9ucz86IEl0ZW1BY3Rpb25bXTtcblxuICBjb2xvcj86IHN0cmluZztcbiAgbGluZXM/OiAnZnVsbCcgfCAnaW5zZXQnIHwgJ25vbmUnO1xuICBidXR0b24/OiBib29sZWFuO1xuICBkZXRhaWw/OiBib29sZWFuO1xuICBjbGlja2FibGU/OiBib29sZWFuO1xuICBkZXRhaWxJY29uPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGVsbGlwc2lzPzogYm9vbGVhbjtcbiAgaHJlZj86IHN0cmluZztcbiAgcm91dGVyTGluaz86IHN0cmluZyB8IGFueVtdO1xuICB1bnJlYWRJbmRpY2F0b3I/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RNZXRhZGF0YSB7XG4gIGNvbG9yOiBDb2xvcjtcbiAgcm91bmRlZDogYm9vbGVhbjtcbiAgc2hhZG93ZWQ6IGJvb2xlYW47XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGl0ZW1zOiBJdGVtTWV0YWRhdGFbXTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXRlbS1saXN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFJvdXRlckxpbmssXG4gICAgTmdDbGFzcyxcbiAgICBJb25MaXN0LFxuICAgIElvbkxpc3RIZWFkZXIsXG4gICAgSW9uTGFiZWwsXG4gICAgSW9uTm90ZSxcbiAgICBJb25JdGVtLFxuICAgIElvbkF2YXRhcixcbiAgICBJb25JY29uLFxuICAgIElvbkJ1dHRvbixcbiAgICBJb25TcGlubmVyLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXY+XG4gICAgICA8aW9uLWxpc3QgW2luc2V0XT1cInByb3BzLnJvdW5kZWRcIiBbY2xhc3Muc2hhZG93ZWRdPVwicHJvcHMuc2hhZG93ZWRcIj5cbiAgICAgICAgPGlvbi1saXN0LWhlYWRlciBbY29sb3JdPVwicHJvcHMuY29sb3JcIj5cbiAgICAgICAgICA8aW9uLWxhYmVsPnt7IHByb3BzLnRpdGxlIH19PC9pb24tbGFiZWw+XG4gICAgICAgIDwvaW9uLWxpc3QtaGVhZGVyPlxuICAgICAgICBAZm9yIChpdGVtIG9mIHByb3BzLml0ZW1zOyB0cmFjayBpdGVtLnRleHQpIHtcbiAgICAgICAgICBAaWYgKGl0ZW0ubW9kZSA9PSAnanVzdGV4dCcpIHtcbiAgICAgICAgICAgIDxpb24taXRlbVxuICAgICAgICAgICAgICBbbGluZXNdPVwiaXRlbS5saW5lc1wiXG4gICAgICAgICAgICAgIFtidXR0b25dPVwiaXRlbS5jbGlja2FibGVcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoaXRlbS50b2tlbilcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBAaWYgKGl0ZW0udW5yZWFkSW5kaWNhdG9yKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVucmVhZC1pbmRpY2F0b3Itd3JhcHBlclwiIHNsb3Q9XCJzdGFydFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVucmVhZC1pbmRpY2F0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIDxpb24tbGFiZWwgW25nQ2xhc3NdPVwieyAnaW9uLXRleHQtbm93cmFwJzogaXRlbS5lbGxpcHNpcyB9XCI+XG4gICAgICAgICAgICAgICAgPGgyPnt7IGl0ZW0udGV4dCB9fTwvaDI+XG5cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uY29tbWVudHMpIHtcbiAgICAgICAgICAgICAgICAgIDxpb24tbm90ZSBjb2xvcj1cIm1lZGl1bVwiPiB7eyBpdGVtLmNvbW1lbnRzIH19IDwvaW9uLW5vdGU+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cblxuICAgICAgICAgICAgICBAaWYgKGl0ZW0uZW5kTm90ZSkge1xuICAgICAgICAgICAgICAgIDxpb24tbm90ZSBzbG90PVwiZW5kXCI+e3sgaXRlbS5lbmROb3RlIH19PC9pb24tbm90ZT5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgKGl0ZW0ubW9kZSA9PSAnYWN0aW9uYWJsZScpIHtcbiAgICAgICAgICAgIDxpb24taXRlbSBbbGluZXNdPVwiaXRlbS5saW5lc1wiIFtidXR0b25dPVwiaXRlbS5jbGlja2FibGVcIiBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiPlxuICAgICAgICAgICAgICBAaWYgKGl0ZW0udW5yZWFkSW5kaWNhdG9yKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVucmVhZC1pbmRpY2F0b3Itd3JhcHBlclwiIHNsb3Q9XCJzdGFydFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVucmVhZC1pbmRpY2F0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIDxpb24tbGFiZWwgW25nQ2xhc3NdPVwieyAnaW9uLXRleHQtbm93cmFwJzogaXRlbS5lbGxpcHNpcyB9XCI+XG4gICAgICAgICAgICAgICAgPGgyPnt7IGl0ZW0udGV4dCB9fTwvaDI+XG5cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uY29tbWVudHMpIHtcbiAgICAgICAgICAgICAgICAgIDxpb24tbm90ZSBjb2xvcj1cIm1lZGl1bVwiPiB7eyBpdGVtLmNvbW1lbnRzIH19IDwvaW9uLW5vdGU+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cblxuICAgICAgICAgICAgICBAaWYgKGl0ZW0uYWN0aW9ucykge1xuICAgICAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiBpdGVtLmFjdGlvbnM7IHRyYWNrIGFjdGlvbi50b2tlbikge1xuICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm91dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImRhcmtcIlxuICAgICAgICAgICAgICAgICAgICBzbG90PVwiZW5kXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbi5zdGF0ZSA9PT0gc3RhdGVzLldPUktJTkdcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BY3Rpb25DbGlja0hhbmRsZXIoYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoYWN0aW9uLnN0YXRlICE9PSBzdGF0ZXMuV09SS0lORykge1xuICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYWN0aW9uLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmFtZV09XCJhY3Rpb24uaWNvblwiIHNpemU9XCJtZWRpdW1cIiBzbG90PVwic3RhcnRcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIHt7IGFjdGlvbi5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChhY3Rpb24uc3RhdGUgPT09IHN0YXRlcy5XT1JLSU5HKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1zcGlubmVyIGNsYXNzPVwiYWN0aW9uLXNwaW5uZXJcIiBuYW1lPVwiY2lyY3VsYXJcIj48L2lvbi1zcGlubmVyPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAoaXRlbS5tb2RlID09ICdyb3V0ZScpIHtcbiAgICAgICAgICAgIDxpb24taXRlbVxuICAgICAgICAgICAgICBbbGluZXNdPVwiaXRlbS5saW5lc1wiXG4gICAgICAgICAgICAgIFtidXR0b25dPVwiaXRlbS5jbGlja2FibGVcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoaXRlbS50b2tlbilcIlxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtLnJvdXRlckxpbmtcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBAaWYgKGl0ZW0udW5yZWFkSW5kaWNhdG9yKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVucmVhZC1pbmRpY2F0b3Itd3JhcHBlclwiIHNsb3Q9XCJzdGFydFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVucmVhZC1pbmRpY2F0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIDxpb24tbGFiZWwgW25nQ2xhc3NdPVwieyAnaW9uLXRleHQtbm93cmFwJzogaXRlbS5lbGxpcHNpcyB9XCI+XG4gICAgICAgICAgICAgICAgPGgyPnt7IGl0ZW0udGV4dCB9fTwvaDI+XG5cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uY29tbWVudHMpIHtcbiAgICAgICAgICAgICAgICAgIDxpb24tbm90ZSBjb2xvcj1cIm1lZGl1bVwiPiB7eyBpdGVtLmNvbW1lbnRzIH19IDwvaW9uLW5vdGU+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIChpdGVtLm1vZGUgPT0gJ3N1YnRpdHVsZScpIHtcbiAgICAgICAgICAgIDxpb24taXRlbVxuICAgICAgICAgICAgICBbbGluZXNdPVwiaXRlbS5saW5lc1wiXG4gICAgICAgICAgICAgIFtidXR0b25dPVwiaXRlbS5jbGlja2FibGVcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoaXRlbS50b2tlbilcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBAaWYgKGl0ZW0udW5yZWFkSW5kaWNhdG9yKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVucmVhZC1pbmRpY2F0b3Itd3JhcHBlclwiIHNsb3Q9XCJzdGFydFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVucmVhZC1pbmRpY2F0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIDxpb24tbGFiZWwgW25nQ2xhc3NdPVwieyAnaW9uLXRleHQtbm93cmFwJzogaXRlbS5lbGxpcHNpcyB9XCI+XG4gICAgICAgICAgICAgICAgPGgxPnt7IGl0ZW0udGV4dCB9fTwvaDE+XG4gICAgICAgICAgICAgICAgPHA+e3sgaXRlbS5zdWJ0aXRsZSB9fTwvcD5cbiAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAoaXRlbS5tb2RlID09ICdhdmF0YXInKSB7XG4gICAgICAgICAgICA8aW9uLWl0ZW1cbiAgICAgICAgICAgICAgW2xpbmVzXT1cIml0ZW0ubGluZXNcIlxuICAgICAgICAgICAgICBbYnV0dG9uXT1cIml0ZW0uY2xpY2thYmxlXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKGl0ZW0udG9rZW4pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGlvbi1hdmF0YXIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgc2xvdD1cInN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgPGltZyBhbHQ9XCJcIiBbc3JjXT1cIml0ZW0uaW1hZ2VcIiAvPlxuICAgICAgICAgICAgICA8L2lvbi1hdmF0YXI+XG4gICAgICAgICAgICAgIDxpb24tbGFiZWw+e3sgaXRlbS50ZXh0IH19PC9pb24tbGFiZWw+XG4gICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAoaXRlbS5tb2RlID09ICdpY29uJykge1xuICAgICAgICAgICAgPGlvbi1pdGVtXG4gICAgICAgICAgICAgIFtsaW5lc109XCJpdGVtLmxpbmVzXCJcbiAgICAgICAgICAgICAgW2J1dHRvbl09XCJpdGVtLmNsaWNrYWJsZVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihpdGVtLnRva2VuKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpb24taWNvbiBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmFtZV09XCJpdGVtLmljb25cIiBzaXplPVwibWVkaXVtXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgPGlvbi1sYWJlbD57eyBpdGVtLnRleHQgfX08L2lvbi1sYWJlbD5cbiAgICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA8L2lvbi1saXN0PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9pdGVtLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSXRlbUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzdGF0ZXMgPSBDb21wb25lbnRTdGF0ZXM7XG5cbiAgQElucHV0KClcbiAgcHJvcHM6IExpc3RNZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBvbkFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoaWNvbjogSWNvblNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGNsaWNrSGFuZGxlcih0b2tlbj86IHN0cmluZykge1xuICAgIHRoaXMub25DbGljay5lbWl0KHRva2VuKTtcbiAgfVxuXG4gIG9uQWN0aW9uQ2xpY2tIYW5kbGVyKHRva2VuPzogc3RyaW5nKSB7XG4gICAgdGhpcy5vbkFjdGlvbkNsaWNrLmVtaXQodG9rZW4pO1xuICB9XG59XG4iXX0=