phoenix-ui-components 2.13.0 → 2.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,13 +1,18 @@
1
1
  import { EventEmitter } from '@angular/core';
2
+ import { MatCheckboxChange } from '@angular/material/checkbox';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class ConfigSliderComponent {
4
5
  value: number;
5
6
  min: number;
7
+ oldMin: number;
6
8
  max: number;
9
+ oldMax: number;
7
10
  step: number;
8
11
  allowCustomValue: boolean;
9
12
  onChange: EventEmitter<number>;
10
13
  onValueChange(value: number): void;
14
+ toggleMinCut(change: MatCheckboxChange): void;
15
+ toggleMaxCut(change: MatCheckboxChange): void;
11
16
  static ɵfac: i0.ɵɵFactoryDeclaration<ConfigSliderComponent, never>;
12
17
  static ɵcmp: i0.ɵɵComponentDeclaration<ConfigSliderComponent, "app-config-slider", never, { "value": "value"; "min": "min"; "max": "max"; "step": "step"; "allowCustomValue": "allowCustomValue"; }, { "onChange": "onChange"; }, never, never, false, never>;
13
18
  }
@@ -15,8 +15,12 @@ export declare class OverlayComponent implements AfterViewInit {
15
15
  resizable: boolean;
16
16
  /** If the overlay body is transparent or not. */
17
17
  transparentBody: boolean;
18
+ /** If the aspect ratio is kept fixed or not. */
19
+ keepAspectRatioFixed: boolean;
18
20
  /** If the overlay body is visible or not. */
19
21
  showBody: boolean;
22
+ /** Aspect ratio of the overlay view. */
23
+ aspectRatio: number;
20
24
  /** Complete overlay card containing both header and body. */
21
25
  overlayCard: ElementRef;
22
26
  /** Handle for resizing the overlay. */
@@ -44,5 +48,5 @@ export declare class OverlayComponent implements AfterViewInit {
44
48
  */
45
49
  private setHandleTransform;
46
50
  static ɵfac: i0.ɵɵFactoryDeclaration<OverlayComponent, never>;
47
- static ɵcmp: i0.ɵɵComponentDeclaration<OverlayComponent, "app-overlay", never, { "overlayTitle": "overlayTitle"; "active": "active"; "icon": "icon"; "resizable": "resizable"; "transparentBody": "transparentBody"; }, {}, never, ["*"], false, never>;
51
+ static ɵcmp: i0.ɵɵComponentDeclaration<OverlayComponent, "app-overlay", never, { "overlayTitle": "overlayTitle"; "active": "active"; "icon": "icon"; "resizable": "resizable"; "transparentBody": "transparentBody"; "keepAspectRatioFixed": "keepAspectRatioFixed"; }, {}, never, ["*"], false, never>;
48
52
  }
@@ -3,7 +3,10 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "../../ui-menu/menu-toggle/menu-toggle.component";
4
4
  export class ExperimentLinkComponent {
5
5
  ngOnInit() {
6
- this.experimentLink = window.location.href.split('?')[0];
6
+ // we just want to remove the "&embed=true" instruction here.
7
+ const url = new URL(window.location.href);
8
+ url.searchParams.delete('embed');
9
+ this.experimentLink = url.toString();
7
10
  }
8
11
  goToExperiment() {
9
12
  window.open(this.experimentLink, '_blank');
@@ -19,4 +22,4 @@ ExperimentLinkComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Exp
19
22
  type: Component,
20
23
  args: [{ selector: 'app-experiment-link', template: "<app-menu-toggle\n tooltip=\"See full event display\"\n icon=\"link\"\n (click)=\"goToExperiment()\"\n></app-menu-toggle>\n" }]
21
24
  }], null, null); })();
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZXJpbWVudC1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL2VtYmVkLW1lbnUvZXhwZXJpbWVudC1saW5rL2V4cGVyaW1lbnQtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy9lbWJlZC1tZW51L2V4cGVyaW1lbnQtbGluay9leHBlcmltZW50LWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2xELE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7OzhGQVRVLHVCQUF1QjswRUFBdkIsdUJBQXVCO1FDUHBDLDBDQUlDO1FBREMsNkdBQVMsb0JBQWdCLElBQUM7UUFDM0IsaUJBQWtCOzt1RkRHTix1QkFBdUI7Y0FMbkMsU0FBUzsyQkFDRSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZXhwZXJpbWVudC1saW5rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cGVyaW1lbnQtbGluay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2V4cGVyaW1lbnQtbGluay5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFeHBlcmltZW50TGlua0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgZXhwZXJpbWVudExpbms6IHN0cmluZztcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmV4cGVyaW1lbnRMaW5rID0gd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJz8nKVswXTtcbiAgfVxuXG4gIGdvVG9FeHBlcmltZW50KCkge1xuICAgIHdpbmRvdy5vcGVuKHRoaXMuZXhwZXJpbWVudExpbmssICdfYmxhbmsnKTtcbiAgfVxufVxuIiwiPGFwcC1tZW51LXRvZ2dsZVxuICB0b29sdGlwPVwiU2VlIGZ1bGwgZXZlbnQgZGlzcGxheVwiXG4gIGljb249XCJsaW5rXCJcbiAgKGNsaWNrKT1cImdvVG9FeHBlcmltZW50KClcIlxuPjwvYXBwLW1lbnUtdG9nZ2xlPlxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZXJpbWVudC1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL2VtYmVkLW1lbnUvZXhwZXJpbWVudC1saW5rL2V4cGVyaW1lbnQtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy9lbWJlZC1tZW51L2V4cGVyaW1lbnQtbGluay9leHBlcmltZW50LWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2xELE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsUUFBUTtRQUNOLDZEQUE2RDtRQUM3RCxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7OzhGQVpVLHVCQUF1QjswRUFBdkIsdUJBQXVCO1FDUHBDLDBDQUlDO1FBREMsNkdBQVMsb0JBQWdCLElBQUM7UUFDM0IsaUJBQWtCOzt1RkRHTix1QkFBdUI7Y0FMbkMsU0FBUzsyQkFDRSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZXhwZXJpbWVudC1saW5rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cGVyaW1lbnQtbGluay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2V4cGVyaW1lbnQtbGluay5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFeHBlcmltZW50TGlua0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgZXhwZXJpbWVudExpbms6IHN0cmluZztcblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyB3ZSBqdXN0IHdhbnQgdG8gcmVtb3ZlIHRoZSBcIiZlbWJlZD10cnVlXCIgaW5zdHJ1Y3Rpb24gaGVyZS5cbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICB1cmwuc2VhcmNoUGFyYW1zLmRlbGV0ZSgnZW1iZWQnKTtcbiAgICB0aGlzLmV4cGVyaW1lbnRMaW5rID0gdXJsLnRvU3RyaW5nKCk7XG4gIH1cblxuICBnb1RvRXhwZXJpbWVudCgpIHtcbiAgICB3aW5kb3cub3Blbih0aGlzLmV4cGVyaW1lbnRMaW5rLCAnX2JsYW5rJyk7XG4gIH1cbn1cbiIsIjxhcHAtbWVudS10b2dnbGVcbiAgdG9vbHRpcD1cIlNlZSBmdWxsIGV2ZW50IGRpc3BsYXlcIlxuICBpY29uPVwibGlua1wiXG4gIChjbGljayk9XCJnb1RvRXhwZXJpbWVudCgpXCJcbj48L2FwcC1tZW51LXRvZ2dsZT5cbiJdfQ==
@@ -15,7 +15,9 @@ export class ConfigSliderComponent {
15
15
  constructor() {
16
16
  this.value = 0;
17
17
  this.min = 0;
18
+ this.oldMin = 0;
18
19
  this.max = 100;
20
+ this.oldMax = 0;
19
21
  this.step = 1;
20
22
  this.allowCustomValue = false;
21
23
  this.onChange = new EventEmitter();
@@ -23,6 +25,28 @@ export class ConfigSliderComponent {
23
25
  onValueChange(value) {
24
26
  value && this.onChange.emit(value);
25
27
  }
28
+ toggleMinCut(change) {
29
+ const value = change.checked;
30
+ if (value) {
31
+ this.min = this.oldMin;
32
+ }
33
+ else {
34
+ this.oldMin = this.min;
35
+ this.min = Number.MIN_SAFE_INTEGER;
36
+ }
37
+ // We should probably disable the min input too, and change text to be infinity symbol or something?
38
+ }
39
+ toggleMaxCut(change) {
40
+ const value = change.checked;
41
+ if (value) {
42
+ this.max = this.oldMax;
43
+ }
44
+ else {
45
+ this.oldMax = this.max;
46
+ this.max = Number.MAX_SAFE_INTEGER;
47
+ }
48
+ // We should probably disable the min input too, and change text to be infinity symbol or something?
49
+ }
26
50
  }
27
51
  ConfigSliderComponent.ɵfac = function ConfigSliderComponent_Factory(t) { return new (t || ConfigSliderComponent)(); };
28
52
  ConfigSliderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConfigSliderComponent, selectors: [["app-config-slider"]], inputs: { value: "value", min: "min", max: "max", step: "step", allowCustomValue: "allowCustomValue" }, outputs: { onChange: "onChange" }, decls: 4, vars: 5, consts: [[1, "d-flex", "flex-row", "align-items-center"], ["thumbLabel", "", 1, "mx-2", 3, "min", "max", "step"], ["matSliderThumb", "", 3, "value", "valueChange"], ["class", "config-slider-input", "type", "number", 3, "value", "input", 4, "ngIf"], ["type", "number", 1, "config-slider-input", 3, "value", "input"]], template: function ConfigSliderComponent_Template(rf, ctx) { if (rf & 1) {
@@ -55,4 +79,4 @@ ConfigSliderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Confi
55
79
  }], onChange: [{
56
80
  type: Output
57
81
  }] }); })();
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXNsaWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy9waG9lbml4LW1lbnUvY29uZmlnL2NvbmZpZy1zbGlkZXIvY29uZmlnLXNsaWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy9waG9lbml4LW1lbnUvY29uZmlnL2NvbmZpZy1zbGlkZXIvY29uZmlnLXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7SUNRckUsZ0NBTUU7SUFEQSx5S0FBUyxlQUFBLHlDQUFrQyxDQUFBLElBQUM7SUFMOUMsaUJBTUU7OztJQUZBLG9DQUFlOztBRExuQixNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBTVcsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUNsQixRQUFHLEdBQVcsQ0FBQyxDQUFDO1FBQ2hCLFFBQUcsR0FBVyxHQUFHLENBQUM7UUFDbEIsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUNqQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDakMsYUFBUSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0tBS3ZFO0lBSEMsYUFBYSxDQUFDLEtBQWE7UUFDekIsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OzBGQVZVLHFCQUFxQjt3RUFBckIscUJBQXFCO1FDUGxDLDhCQUFnRCxvQkFBQSxlQUFBO1FBSzFDLG1IQUFlLHlCQUFxQixJQUFDO1FBSHZDLGlCQUlFLEVBQUE7UUFFSiwwRUFNRTtRQUNKLGlCQUFNOztRQWRxQixlQUFXO1FBQVgsNkJBQVcsZ0JBQUEsa0JBQUE7UUFHaEMsZUFBZTtRQUFmLGlDQUFlO1FBS2hCLGVBQXNCO1FBQXRCLDJDQUFzQjs7dUZERmQscUJBQXFCO2NBTGpDLFNBQVM7MkJBQ0UsbUJBQW1CO2dCQUtwQixLQUFLO2tCQUFiLEtBQUs7WUFDRyxHQUFHO2tCQUFYLEtBQUs7WUFDRyxHQUFHO2tCQUFYLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDSSxRQUFRO2tCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvbmZpZy1zbGlkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlnLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbmZpZy1zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlnU2xpZGVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFsdWU6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1pbjogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbWF4OiBudW1iZXIgPSAxMDA7XG4gIEBJbnB1dCgpIHN0ZXA6IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIGFsbG93Q3VzdG9tVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIG9uVmFsdWVDaGFuZ2UodmFsdWU6IG51bWJlcikge1xuICAgIHZhbHVlICYmIHRoaXMub25DaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gIDxtYXQtc2xpZGVyIGNsYXNzPVwibXgtMlwiIFttaW5dPVwibWluXCIgW21heF09XCJtYXhcIiBbc3RlcF09XCJzdGVwXCIgdGh1bWJMYWJlbD5cbiAgICA8aW5wdXRcbiAgICAgIG1hdFNsaWRlclRodW1iXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgLz5cbiAgPC9tYXQtc2xpZGVyPlxuICA8aW5wdXRcbiAgICAqbmdJZj1cImFsbG93Q3VzdG9tVmFsdWVcIlxuICAgIGNsYXNzPVwiY29uZmlnLXNsaWRlci1pbnB1dFwiXG4gICAgdHlwZT1cIm51bWJlclwiXG4gICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAoaW5wdXQpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gIC8+XG48L2Rpdj5cbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXNsaWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy9waG9lbml4LW1lbnUvY29uZmlnL2NvbmZpZy1zbGlkZXIvY29uZmlnLXNsaWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy9waG9lbml4LW1lbnUvY29uZmlnL2NvbmZpZy1zbGlkZXIvY29uZmlnLXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7SUNRckUsZ0NBTUU7SUFEQSx5S0FBUyxlQUFBLHlDQUFrQyxDQUFBLElBQUM7SUFMOUMsaUJBTUU7OztJQUZBLG9DQUFlOztBREpuQixNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBTVcsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUNsQixRQUFHLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDVixRQUFHLEdBQVcsR0FBRyxDQUFDO1FBQzNCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDVixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBQ2pCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNqQyxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7S0EyQnZFO0lBekJDLGFBQWEsQ0FBQyxLQUFhO1FBQ3pCLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQXlCO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztTQUNwQztRQUNELG9HQUFvRztJQUN0RyxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQXlCO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztTQUNwQztRQUNELG9HQUFvRztJQUN0RyxDQUFDOzswRkFsQ1UscUJBQXFCO3dFQUFyQixxQkFBcUI7UUNSbEMsOEJBQWdELG9CQUFBLGVBQUE7UUFLMUMsbUhBQWUseUJBQXFCLElBQUM7UUFIdkMsaUJBSUUsRUFBQTtRQUVKLDBFQU1FO1FBQ0osaUJBQU07O1FBZHFCLGVBQVc7UUFBWCw2QkFBVyxnQkFBQSxrQkFBQTtRQUdoQyxlQUFlO1FBQWYsaUNBQWU7UUFLaEIsZUFBc0I7UUFBdEIsMkNBQXNCOzt1RkREZCxxQkFBcUI7Y0FMakMsU0FBUzsyQkFDRSxtQkFBbUI7Z0JBS3BCLEtBQUs7a0JBQWIsS0FBSztZQUNHLEdBQUc7a0JBQVgsS0FBSztZQUVHLEdBQUc7a0JBQVgsS0FBSztZQUVHLElBQUk7a0JBQVosS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUNJLFFBQVE7a0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb25maWctc2xpZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZy1zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb25maWctc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ1NsaWRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZhbHVlOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBtaW46IG51bWJlciA9IDA7XG4gIG9sZE1pbjogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbWF4OiBudW1iZXIgPSAxMDA7XG4gIG9sZE1heDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgc3RlcDogbnVtYmVyID0gMTtcbiAgQElucHV0KCkgYWxsb3dDdXN0b21WYWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdmFsdWUgJiYgdGhpcy5vbkNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHRvZ2dsZU1pbkN1dChjaGFuZ2U6IE1hdENoZWNrYm94Q2hhbmdlKSB7XG4gICAgY29uc3QgdmFsdWUgPSBjaGFuZ2UuY2hlY2tlZDtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMubWluID0gdGhpcy5vbGRNaW47XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub2xkTWluID0gdGhpcy5taW47XG4gICAgICB0aGlzLm1pbiA9IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSO1xuICAgIH1cbiAgICAvLyBXZSBzaG91bGQgcHJvYmFibHkgZGlzYWJsZSB0aGUgbWluIGlucHV0IHRvbywgYW5kIGNoYW5nZSB0ZXh0IHRvIGJlIGluZmluaXR5IHN5bWJvbCBvciBzb21ldGhpbmc/XG4gIH1cblxuICB0b2dnbGVNYXhDdXQoY2hhbmdlOiBNYXRDaGVja2JveENoYW5nZSkge1xuICAgIGNvbnN0IHZhbHVlID0gY2hhbmdlLmNoZWNrZWQ7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLm1heCA9IHRoaXMub2xkTWF4O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9sZE1heCA9IHRoaXMubWF4O1xuICAgICAgdGhpcy5tYXggPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcbiAgICB9XG4gICAgLy8gV2Ugc2hvdWxkIHByb2JhYmx5IGRpc2FibGUgdGhlIG1pbiBpbnB1dCB0b28sIGFuZCBjaGFuZ2UgdGV4dCB0byBiZSBpbmZpbml0eSBzeW1ib2wgb3Igc29tZXRoaW5nP1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICA8bWF0LXNsaWRlciBjbGFzcz1cIm14LTJcIiBbbWluXT1cIm1pblwiIFttYXhdPVwibWF4XCIgW3N0ZXBdPVwic3RlcFwiIHRodW1iTGFiZWw+XG4gICAgPGlucHV0XG4gICAgICBtYXRTbGlkZXJUaHVtYlxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIC8+XG4gIDwvbWF0LXNsaWRlcj5cbiAgPGlucHV0XG4gICAgKm5nSWY9XCJhbGxvd0N1c3RvbVZhbHVlXCJcbiAgICBjbGFzcz1cImNvbmZpZy1zbGlkZXItaW5wdXRcIlxuICAgIHR5cGU9XCJudW1iZXJcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgKGlucHV0KT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAvPlxuPC9kaXY+XG4iXX0=
@@ -62,8 +62,8 @@ function PhoenixMenuItemComponent_div_7_div_4_Template(rf, ctx) { if (rf & 1) {
62
62
  i0.ɵɵelementEnd();
63
63
  } }
64
64
  const _c1 = function (a0) { return { "font-weight-bold w-100": a0 }; };
65
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_span_1_Template(rf, ctx) { if (rf & 1) {
66
- i0.ɵɵelementStart(0, "span", 26);
65
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_label_1_Template(rf, ctx) { if (rf & 1) {
66
+ i0.ɵɵelementStart(0, "label", 26);
67
67
  i0.ɵɵtext(1);
68
68
  i0.ɵɵelementEnd();
69
69
  } if (rf & 2) {
@@ -72,28 +72,28 @@ function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_span_1_Template(r
72
72
  i0.ɵɵadvance(1);
73
73
  i0.ɵɵtextInterpolate1(" ", config_r15.label, " ");
74
74
  } }
75
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_mat_checkbox_1_Template(rf, ctx) { if (rf & 1) {
75
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_mat_checkbox_1_Template(rf, ctx) { if (rf & 1) {
76
76
  const _r28 = i0.ɵɵgetCurrentView();
77
77
  i0.ɵɵelementStart(0, "mat-checkbox", 9);
78
- i0.ɵɵlistener("change", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_mat_checkbox_1_Template_mat_checkbox_change_0_listener($event) { i0.ɵɵrestoreView(_r28); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.onChange($event.checked); return i0.ɵɵresetView(config_r15.isChecked = $event.checked); });
78
+ i0.ɵɵlistener("change", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_mat_checkbox_1_Template_mat_checkbox_change_0_listener($event) { i0.ɵɵrestoreView(_r28); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.onChange($event.checked); return i0.ɵɵresetView(config_r15.isChecked = $event.checked); });
79
79
  i0.ɵɵelementEnd();
80
80
  } if (rf & 2) {
81
81
  const config_r15 = i0.ɵɵnextContext(3).$implicit;
82
82
  i0.ɵɵproperty("checked", config_r15.isChecked);
83
83
  } }
84
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_app_config_slider_2_Template(rf, ctx) { if (rf & 1) {
84
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_app_config_slider_2_Template(rf, ctx) { if (rf & 1) {
85
85
  const _r32 = i0.ɵɵgetCurrentView();
86
86
  i0.ɵɵelementStart(0, "app-config-slider", 34);
87
- i0.ɵɵlistener("onChange", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_app_config_slider_2_Template_app_config_slider_onChange_0_listener($event) { i0.ɵɵrestoreView(_r32); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.onChange($event); return i0.ɵɵresetView(config_r15.value = $event); });
87
+ i0.ɵɵlistener("onChange", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_app_config_slider_2_Template_app_config_slider_onChange_0_listener($event) { i0.ɵɵrestoreView(_r32); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.onChange($event); return i0.ɵɵresetView(config_r15.value = $event); });
88
88
  i0.ɵɵelementEnd();
89
89
  } if (rf & 2) {
90
90
  const config_r15 = i0.ɵɵnextContext(3).$implicit;
91
91
  i0.ɵɵproperty("value", config_r15.value)("min", config_r15.min)("max", config_r15.max)("step", config_r15.step)("allowCustomValue", config_r15.allowCustomValue);
92
92
  } }
93
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_button_3_Template(rf, ctx) { if (rf & 1) {
93
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_button_3_Template(rf, ctx) { if (rf & 1) {
94
94
  const _r36 = i0.ɵɵgetCurrentView();
95
95
  i0.ɵɵelementStart(0, "button", 35);
96
- i0.ɵɵlistener("click", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r36); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.onClick()); });
96
+ i0.ɵɵlistener("click", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r36); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.onClick()); });
97
97
  i0.ɵɵtext(1);
98
98
  i0.ɵɵelementEnd();
99
99
  } if (rf & 2) {
@@ -101,51 +101,61 @@ function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_button_3_Te
101
101
  i0.ɵɵadvance(1);
102
102
  i0.ɵɵtextInterpolate1(" ", config_r15.label, " ");
103
103
  } }
104
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_input_4_Template(rf, ctx) { if (rf & 1) {
104
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_input_4_Template(rf, ctx) { if (rf & 1) {
105
105
  const _r40 = i0.ɵɵgetCurrentView();
106
106
  i0.ɵɵelementStart(0, "input", 36);
107
- i0.ɵɵlistener("input", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_input_4_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r40); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.onChange($event.target.value); return i0.ɵɵresetView(config_r15.color = $event.target.value); });
107
+ i0.ɵɵlistener("input", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_input_4_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r40); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.onChange($event.target.value); return i0.ɵɵresetView(config_r15.color = $event.target.value); });
108
108
  i0.ɵɵelementEnd();
109
109
  } if (rf & 2) {
110
110
  const config_r15 = i0.ɵɵnextContext(3).$implicit;
111
111
  i0.ɵɵproperty("value", config_r15.color);
112
112
  } }
113
113
  const _c2 = function (a0, a1, a2) { return { floor: a0, ceil: a1, step: a2, animate: false }; };
114
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template(rf, ctx) { if (rf & 1) {
114
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template(rf, ctx) { if (rf & 1) {
115
115
  const _r44 = i0.ɵɵgetCurrentView();
116
- i0.ɵɵelementStart(0, "div", 37)(1, "div", 38)(2, "input", 39);
117
- i0.ɵɵlistener("input", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template_input_input_2_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.value = $event.target.value; return i0.ɵɵresetView(config_r15.onChange(config_r15)); });
116
+ i0.ɵɵelementStart(0, "div", 37)(1, "div", 38)(2, "mat-checkbox", 9);
117
+ i0.ɵɵlistener("change", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template_mat_checkbox_change_2_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.setEnableMin($event.checked)); });
118
118
  i0.ɵɵelementEnd();
119
- i0.ɵɵelementStart(3, "input", 40);
120
- i0.ɵɵlistener("input", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template_input_input_3_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.highValue = $event.target.value; return i0.ɵɵresetView(config_r15.onChange(config_r15)); });
119
+ i0.ɵɵelementStart(3, "mat-checkbox", 9);
120
+ i0.ɵɵlistener("change", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template_mat_checkbox_change_3_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.setEnableMax($event.checked)); });
121
121
  i0.ɵɵelementEnd()();
122
- i0.ɵɵelementStart(4, "ngx-slider", 41);
123
- i0.ɵɵlistener("valueChange", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template_ngx_slider_valueChange_4_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.value = $event); })("highValueChange", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template_ngx_slider_highValueChange_4_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.highValue = $event); })("userChange", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template_ngx_slider_userChange_4_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.onChange($event)); });
122
+ i0.ɵɵelementStart(4, "div", 38)(5, "input", 39);
123
+ i0.ɵɵlistener("input", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template_input_input_5_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.value = $event.target.value; return i0.ɵɵresetView(config_r15.onChange(config_r15)); });
124
+ i0.ɵɵelementEnd();
125
+ i0.ɵɵelementStart(6, "input", 40);
126
+ i0.ɵɵlistener("input", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template_input_input_6_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.highValue = $event.target.value; return i0.ɵɵresetView(config_r15.onChange(config_r15)); });
127
+ i0.ɵɵelementEnd()();
128
+ i0.ɵɵelementStart(7, "ngx-slider", 41);
129
+ i0.ɵɵlistener("valueChange", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template_ngx_slider_valueChange_7_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.value = $event); })("highValueChange", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template_ngx_slider_highValueChange_7_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.highValue = $event); })("userChange", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template_ngx_slider_userChange_7_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.onChange($event)); });
124
130
  i0.ɵɵelementEnd()();
125
131
  } if (rf & 2) {
126
132
  const config_r15 = i0.ɵɵnextContext(3).$implicit;
127
133
  i0.ɵɵadvance(2);
134
+ i0.ɵɵproperty("checked", config_r15.enableMin);
135
+ i0.ɵɵadvance(1);
136
+ i0.ɵɵproperty("checked", config_r15.enableMax);
137
+ i0.ɵɵadvance(2);
128
138
  i0.ɵɵproperty("value", config_r15.value);
129
139
  i0.ɵɵadvance(1);
130
140
  i0.ɵɵproperty("value", config_r15.highValue);
131
141
  i0.ɵɵadvance(1);
132
- i0.ɵɵproperty("value", config_r15.value)("highValue", config_r15.highValue)("options", i0.ɵɵpureFunction3(5, _c2, config_r15.min, config_r15.max, config_r15.step));
142
+ i0.ɵɵproperty("value", config_r15.value)("highValue", config_r15.highValue)("options", i0.ɵɵpureFunction3(7, _c2, config_r15.min, config_r15.max, config_r15.step));
133
143
  } }
134
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_option_1_Template(rf, ctx) { if (rf & 1) {
144
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_select_6_option_1_Template(rf, ctx) { if (rf & 1) {
135
145
  i0.ɵɵelementStart(0, "option", 44);
136
146
  i0.ɵɵtext(1);
137
147
  i0.ɵɵelementEnd();
138
148
  } if (rf & 2) {
139
- const singleOption_r55 = ctx.$implicit;
140
- i0.ɵɵproperty("value", singleOption_r55);
149
+ const singleOption_r59 = ctx.$implicit;
150
+ i0.ɵɵproperty("value", singleOption_r59);
141
151
  i0.ɵɵadvance(1);
142
- i0.ɵɵtextInterpolate1(" ", singleOption_r55, " ");
152
+ i0.ɵɵtextInterpolate1(" ", singleOption_r59, " ");
143
153
  } }
144
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_Template(rf, ctx) { if (rf & 1) {
145
- const _r58 = i0.ɵɵgetCurrentView();
154
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_select_6_Template(rf, ctx) { if (rf & 1) {
155
+ const _r62 = i0.ɵɵgetCurrentView();
146
156
  i0.ɵɵelementStart(0, "select", 42);
147
- i0.ɵɵlistener("change", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_Template_select_change_0_listener($event) { i0.ɵɵrestoreView(_r58); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.onChange($event.target.value)); });
148
- i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_option_1_Template, 2, 2, "option", 43);
157
+ i0.ɵɵlistener("change", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_select_6_Template_select_change_0_listener($event) { i0.ɵɵrestoreView(_r62); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.onChange($event.target.value)); });
158
+ i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_select_6_option_1_Template, 2, 2, "option", 43);
149
159
  i0.ɵɵelementEnd();
150
160
  } if (rf & 2) {
151
161
  const config_r15 = i0.ɵɵnextContext(3).$implicit;
@@ -153,14 +163,14 @@ function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_Te
153
163
  i0.ɵɵproperty("ngForOf", config_r15.options);
154
164
  } }
155
165
  const _c3 = function (a0) { return { "p-0": a0 }; };
156
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_Template(rf, ctx) { if (rf & 1) {
166
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_Template(rf, ctx) { if (rf & 1) {
157
167
  i0.ɵɵelementStart(0, "div", 27);
158
- i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_mat_checkbox_1_Template, 1, 1, "mat-checkbox", 28);
159
- i0.ɵɵtemplate(2, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_app_config_slider_2_Template, 1, 5, "app-config-slider", 29);
160
- i0.ɵɵtemplate(3, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_button_3_Template, 2, 1, "button", 30);
161
- i0.ɵɵtemplate(4, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_input_4_Template, 1, 1, "input", 31);
162
- i0.ɵɵtemplate(5, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template, 5, 9, "div", 32);
163
- i0.ɵɵtemplate(6, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_Template, 2, 1, "select", 33);
168
+ i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_mat_checkbox_1_Template, 1, 1, "mat-checkbox", 28);
169
+ i0.ɵɵtemplate(2, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_app_config_slider_2_Template, 1, 5, "app-config-slider", 29);
170
+ i0.ɵɵtemplate(3, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_button_3_Template, 2, 1, "button", 30);
171
+ i0.ɵɵtemplate(4, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_input_4_Template, 1, 1, "input", 31);
172
+ i0.ɵɵtemplate(5, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template, 8, 11, "div", 32);
173
+ i0.ɵɵtemplate(6, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_select_6_Template, 2, 1, "select", 33);
164
174
  i0.ɵɵelementEnd();
165
175
  } if (rf & 2) {
166
176
  const config_r15 = i0.ɵɵnextContext(2).$implicit;
@@ -178,10 +188,10 @@ function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_Template(rf
178
188
  i0.ɵɵadvance(1);
179
189
  i0.ɵɵproperty("ngSwitchCase", "select");
180
190
  } }
181
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_Template(rf, ctx) { if (rf & 1) {
182
- i0.ɵɵelementStart(0, "label", 23);
183
- i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_span_1_Template, 2, 4, "span", 24);
184
- i0.ɵɵtemplate(2, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_Template, 7, 9, "div", 25);
191
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_Template(rf, ctx) { if (rf & 1) {
192
+ i0.ɵɵelementStart(0, "div", 23);
193
+ i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_label_1_Template, 2, 4, "label", 24);
194
+ i0.ɵɵtemplate(2, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_Template, 7, 9, "div", 25);
185
195
  i0.ɵɵelementEnd();
186
196
  } if (rf & 2) {
187
197
  const config_r15 = i0.ɵɵnextContext().$implicit;
@@ -192,7 +202,7 @@ function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_Template(rf, ctx)
192
202
  } }
193
203
  function PhoenixMenuItemComponent_div_7_ng_container_6_Template(rf, ctx) { if (rf & 1) {
194
204
  i0.ɵɵelementContainerStart(0, 21);
195
- i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_Template, 3, 2, "label", 22);
205
+ i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_Template, 3, 2, "div", 22);
196
206
  i0.ɵɵelementContainerEnd();
197
207
  } if (rf & 2) {
198
208
  const config_r15 = ctx.$implicit;
@@ -202,9 +212,9 @@ function PhoenixMenuItemComponent_div_7_ng_container_6_Template(rf, ctx) { if (r
202
212
  } }
203
213
  const _c4 = function (a0) { return { "top.px": a0 }; };
204
214
  function PhoenixMenuItemComponent_div_7_Template(rf, ctx) { if (rf & 1) {
205
- const _r63 = i0.ɵɵgetCurrentView();
215
+ const _r67 = i0.ɵɵgetCurrentView();
206
216
  i0.ɵɵelementStart(0, "div")(1, "button", 15);
207
- i0.ɵɵlistener("click", function PhoenixMenuItemComponent_div_7_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r63); const ctx_r62 = i0.ɵɵnextContext(); ctx_r62.calculateConfigTop(); return i0.ɵɵresetView(ctx_r62.currentNode.configActive = !ctx_r62.currentNode.configActive); });
217
+ i0.ɵɵlistener("click", function PhoenixMenuItemComponent_div_7_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r67); const ctx_r66 = i0.ɵɵnextContext(); ctx_r66.calculateConfigTop(); return i0.ɵɵresetView(ctx_r66.currentNode.configActive = !ctx_r66.currentNode.configActive); });
208
218
  i0.ɵɵnamespaceSVG();
209
219
  i0.ɵɵelementStart(2, "svg");
210
220
  i0.ɵɵelement(3, "use", 16);
@@ -225,9 +235,9 @@ function PhoenixMenuItemComponent_div_7_Template(rf, ctx) { if (rf & 1) {
225
235
  } }
226
236
  const _c5 = function (a0) { return { expanded: a0 }; };
227
237
  function PhoenixMenuItemComponent_button_8_Template(rf, ctx) { if (rf & 1) {
228
- const _r65 = i0.ɵɵgetCurrentView();
238
+ const _r69 = i0.ɵɵgetCurrentView();
229
239
  i0.ɵɵelementStart(0, "button", 45);
230
- i0.ɵɵlistener("click", function PhoenixMenuItemComponent_button_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r65); const ctx_r64 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r64.currentNode.childrenActive = !ctx_r64.currentNode.childrenActive); });
240
+ i0.ɵɵlistener("click", function PhoenixMenuItemComponent_button_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r69); const ctx_r68 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r68.currentNode.childrenActive = !ctx_r68.currentNode.childrenActive); });
231
241
  i0.ɵɵnamespaceSVG();
232
242
  i0.ɵɵelementStart(1, "svg");
233
243
  i0.ɵɵelement(2, "use", 46);
@@ -239,8 +249,8 @@ function PhoenixMenuItemComponent_button_8_Template(rf, ctx) { if (rf & 1) {
239
249
  function PhoenixMenuItemComponent_div_9_app_phoenix_menu_item_1_Template(rf, ctx) { if (rf & 1) {
240
250
  i0.ɵɵelement(0, "app-phoenix-menu-item", 49);
241
251
  } if (rf & 2) {
242
- const childNode_r67 = ctx.$implicit;
243
- i0.ɵɵproperty("currentNode", childNode_r67);
252
+ const childNode_r71 = ctx.$implicit;
253
+ i0.ɵɵproperty("currentNode", childNode_r71);
244
254
  } }
245
255
  function PhoenixMenuItemComponent_div_9_Template(rf, ctx) { if (rf & 1) {
246
256
  i0.ɵɵelementStart(0, "div", 47);
@@ -273,7 +283,7 @@ PhoenixMenuItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ph
273
283
  } if (rf & 2) {
274
284
  let _t;
275
285
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.phoenixMenuItem = _t.first);
276
- } }, inputs: { currentNode: "currentNode" }, decls: 10, vars: 5, consts: [[1, "phoenix-menu-item"], ["phoenixMenuItem", ""], [1, "phoenix-menu-item-left", "align-items-center"], [4, "ngIf", "ngIfElse"], ["nodeName", ""], [1, "phoenix-menu-item-right"], [4, "ngIf"], ["class", "icon-wrapper icon-button btn-blank item-expand", "data-testid", "dropdown", 3, "ngClass", "click", 4, "ngIf"], ["class", "phoenix-menu-children", 4, "ngIf"], [3, "checked", "change"], [4, "ngTemplateOutlet"], [1, "d-flex", "w-100", "align-items-center"], ["class", "icon-wrapper item-icon", 4, "ngIf"], [1, "item-name", 3, "title"], [1, "icon-wrapper", "item-icon"], [1, "icon-wrapper", "icon-button", "btn-blank", "item-settings", 3, "click"], ["href", "assets/icons/gear.svg#gear"], ["class", "item-config-backdrop", 3, "click", 4, "ngIf"], [1, "item-config", 3, "hidden", "ngStyle"], [3, "ngSwitch", 4, "ngFor", "ngForOf"], [1, "item-config-backdrop", 3, "click"], [3, "ngSwitch"], ["class", "item-config-single", 4, "ngIf"], [1, "item-config-single"], ["class", "item-config-label", 3, "ngClass", 4, "ngIf"], ["class", "item-config-data", 3, "ngClass", 4, "ngIf"], [1, "item-config-label", 3, "ngClass"], [1, "item-config-data", 3, "ngClass"], [3, "checked", "change", 4, "ngSwitchCase"], [3, "value", "min", "max", "step", "allowCustomValue", "onChange", 4, "ngSwitchCase"], ["class", "w-100", "mat-button", "", "mat-stroked-button", "", 3, "click", 4, "ngSwitchCase"], ["type", "color", 3, "value", "input", 4, "ngSwitchCase"], ["class", "range-slider", 4, "ngSwitchCase"], ["class", "w-100", 3, "change", 4, "ngSwitchCase"], [3, "value", "min", "max", "step", "allowCustomValue", "onChange"], ["mat-button", "", "mat-stroked-button", "", 1, "w-100", 3, "click"], ["type", "color", 3, "value", "input"], [1, "range-slider"], [1, "range-slider-inputs", "d-flex", "justify-content-between"], ["type", "number", "placeholder", "Min", 1, "form-control", "form-control-sm", 3, "value", "input"], ["type", "number", "placeholder", "Max", 1, "form-control", "form-control-sm", 3, "value", "input"], [3, "value", "highValue", "options", "valueChange", "highValueChange", "userChange"], [1, "w-100", 3, "change"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"], ["data-testid", "dropdown", 1, "icon-wrapper", "icon-button", "btn-blank", "item-expand", 3, "ngClass", "click"], ["href", "assets/icons/expand.svg#expand"], [1, "phoenix-menu-children"], [3, "currentNode", 4, "ngFor", "ngForOf"], [3, "currentNode"]], template: function PhoenixMenuItemComponent_Template(rf, ctx) { if (rf & 1) {
286
+ } }, inputs: { currentNode: "currentNode" }, decls: 10, vars: 5, consts: [[1, "phoenix-menu-item"], ["phoenixMenuItem", ""], [1, "phoenix-menu-item-left", "align-items-center"], [4, "ngIf", "ngIfElse"], ["nodeName", ""], [1, "phoenix-menu-item-right"], [4, "ngIf"], ["class", "icon-wrapper icon-button btn-blank item-expand", "data-testid", "dropdown", 3, "ngClass", "click", 4, "ngIf"], ["class", "phoenix-menu-children", 4, "ngIf"], [3, "checked", "change"], [4, "ngTemplateOutlet"], [1, "d-flex", "w-100", "align-items-center"], ["class", "icon-wrapper item-icon", 4, "ngIf"], [1, "item-name", 3, "title"], [1, "icon-wrapper", "item-icon"], [1, "icon-wrapper", "icon-button", "btn-blank", "item-settings", 3, "click"], ["href", "assets/icons/gear.svg#gear"], ["class", "item-config-backdrop", 3, "click", 4, "ngIf"], [1, "item-config", 3, "hidden", "ngStyle"], [3, "ngSwitch", 4, "ngFor", "ngForOf"], [1, "item-config-backdrop", 3, "click"], [3, "ngSwitch"], ["class", "item-config-single", 4, "ngIf"], [1, "item-config-single"], ["class", "item-config-label", "for", "item-config-field", 3, "ngClass", 4, "ngIf"], ["class", "item-config-data", 3, "ngClass", 4, "ngIf"], ["for", "item-config-field", 1, "item-config-label", 3, "ngClass"], [1, "item-config-data", 3, "ngClass"], [3, "checked", "change", 4, "ngSwitchCase"], [3, "value", "min", "max", "step", "allowCustomValue", "onChange", 4, "ngSwitchCase"], ["class", "w-100", "mat-button", "", "mat-stroked-button", "", 3, "click", 4, "ngSwitchCase"], ["id", "item-config-field", "type", "color", 3, "value", "input", 4, "ngSwitchCase"], ["class", "range-slider", 4, "ngSwitchCase"], ["id", "item-config-field", "class", "w-100", 3, "change", 4, "ngSwitchCase"], [3, "value", "min", "max", "step", "allowCustomValue", "onChange"], ["mat-button", "", "mat-stroked-button", "", 1, "w-100", 3, "click"], ["id", "item-config-field", "type", "color", 3, "value", "input"], [1, "range-slider"], [1, "range-slider-inputs", "d-flex", "justify-content-between"], ["type", "number", "placeholder", "Min", "step", "config.step", 1, "form-control", "form-control-sm", 3, "value", "input"], ["type", "number", "placeholder", "Max", "step", "config.step", 1, "form-control", "form-control-sm", 3, "value", "input"], ["thumbLabel", "", 3, "value", "highValue", "options", "valueChange", "highValueChange", "userChange"], ["id", "item-config-field", 1, "w-100", 3, "change"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"], ["data-testid", "dropdown", 1, "icon-wrapper", "icon-button", "btn-blank", "item-expand", 3, "ngClass", "click"], ["href", "assets/icons/expand.svg#expand"], [1, "phoenix-menu-children"], [3, "currentNode", 4, "ngFor", "ngForOf"], [3, "currentNode"]], template: function PhoenixMenuItemComponent_Template(rf, ctx) { if (rf & 1) {
277
287
  i0.ɵɵelementStart(0, "div", 0, 1)(2, "div", 2);
278
288
  i0.ɵɵtemplate(3, PhoenixMenuItemComponent_ng_container_3_Template, 3, 2, "ng-container", 3);
279
289
  i0.ɵɵtemplate(4, PhoenixMenuItemComponent_ng_template_4_Template, 4, 3, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
@@ -296,11 +306,11 @@ PhoenixMenuItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ph
296
306
  } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, i1.NgSwitch, i1.NgSwitchCase, i2.MatButton, i3.NgSelectOption, i3.ɵNgSelectMultipleOption, i4.MatSlideToggle, i5.MatCheckbox, i6.SliderComponent, PhoenixMenuItemComponent, i7.ConfigSliderComponent], styles: [".phoenix-menu-item{width:100%;padding:.6rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color);font-size:.8rem;transition:all .5s;display:flex;justify-content:space-between;align-items:center}.phoenix-menu-item-left{display:flex;justify-content:flex-start;min-width:0;padding-right:.5rem;overflow:hidden}.phoenix-menu-item-left .item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phoenix-menu-item-left .item-icon{margin-right:.2rem}.phoenix-menu-item-right{display:flex;justify-content:flex-end}.phoenix-menu-item-right .item-expand.expanded{transform:scaleY(-1)}.phoenix-menu-item-right .item-settings{margin-right:.2rem}.phoenix-menu-item-right .item-config-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:110}.phoenix-menu-item-right .item-config{position:absolute;margin-top:-5rem;right:100%;width:14rem;padding:.5rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color-secondary);box-shadow:var(--phoenix-box-shadow);display:flex;flex-direction:column;z-index:120}.phoenix-menu-item-right .item-config>*{margin-bottom:.4rem}.phoenix-menu-item-right .item-config>*:last-child{margin-bottom:0}.phoenix-menu-item-right .item-config .item-config-single{display:flex;flex-direction:row}.phoenix-menu-item-right .item-config .item-config-single .item-config-label{width:30%}.phoenix-menu-item-right .item-config .item-config-single .item-config-data{flex-grow:1;padding-left:.5rem}.phoenix-menu-item .icon-wrapper{display:inline-block;width:1.3rem;height:1.3rem;padding:.23rem;transition:all .4s}.phoenix-menu-item .icon-wrapper.icon-button:hover{background:var(--phoenix-options-icon-bg);border-radius:40%;cursor:pointer}.phoenix-menu-item .icon-wrapper svg{width:100%;height:100%;vertical-align:top}.phoenix-menu-item .mat-slide-toggle-bar{width:30px!important}.phoenix-menu-item .mat-slide-toggle-thumb{width:15px!important;height:15px!important;position:absolute;top:2px}.phoenix-menu-item .mat-slider-horizontal{min-width:0;width:100%;height:20px}.phoenix-menu-item .mat-slider-horizontal .mat-slider-wrapper{top:10px}.phoenix-menu-item label.mat-checkbox-layout{margin:0}@media screen and (max-width: 768px){.phoenix-menu-item{font-size:.75rem;padding:.5rem}.phoenix-menu-item .icon-wrapper{width:1rem;height:1rem;padding:.15rem}}.phoenix-menu-children{margin-left:.5rem;border-left:1px solid var(--phoenix-accent)}.range-slider .range-slider-inputs{gap:20%}.range-slider .ngx-slider .ngx-slider-bar{background:var(--phoenix-text-color-secondary);height:.2rem}.range-slider .ngx-slider .ngx-slider-selection{background:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer{width:1rem;height:1rem;top:-.45rem;bottom:0;background-color:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer:after{display:none}.range-slider .ngx-slider .ngx-slider-bubble{color:var(--phoenix-text-color);font-size:.8rem}.range-slider .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:var(--phoenix-text-color-secondary)}\n"], encapsulation: 2 });
297
307
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PhoenixMenuItemComponent, [{
298
308
  type: Component,
299
- args: [{ selector: 'app-phoenix-menu-item', encapsulation: ViewEncapsulation.None, template: "<div class=\"phoenix-menu-item\" #phoenixMenuItem>\n <div class=\"phoenix-menu-item-left align-items-center\">\n <!-- If the item has some toggle function -->\n <ng-container *ngIf=\"currentNode.onToggle; else nodeName\">\n <mat-slide-toggle\n [checked]=\"currentNode.toggleState\"\n (change)=\"currentNode.toggleSelfAndDescendants($event.checked)\"\n >\n <ng-container *ngTemplateOutlet=\"nodeName\"></ng-container>\n </mat-slide-toggle>\n </ng-container>\n <!-- If the item has no toggle function -->\n <ng-template #nodeName>\n <span class=\"d-flex w-100 align-items-center\">\n <span *ngIf=\"currentNode.icon\" class=\"icon-wrapper item-icon\">\n <svg>\n <use\n attr.href=\"assets/icons/{{ currentNode.icon }}.svg#{{\n currentNode.icon\n }}\"\n ></use>\n </svg>\n </span>\n <span class=\"item-name\" [title]=\"currentNode.name\">{{\n currentNode.name\n }}</span>\n </span>\n </ng-template>\n </div>\n <div class=\"phoenix-menu-item-right\">\n <div *ngIf=\"currentNode.configs.length > 0\">\n <button\n class=\"icon-wrapper icon-button btn-blank item-settings\"\n (click)=\"\n calculateConfigTop();\n currentNode.configActive = !currentNode.configActive\n \"\n >\n <svg>\n <use href=\"assets/icons/gear.svg#gear\"></use>\n </svg>\n </button>\n <div\n class=\"item-config-backdrop\"\n *ngIf=\"currentNode.configActive\"\n (click)=\"currentNode.configActive = false\"\n ></div>\n <div\n class=\"item-config\"\n [hidden]=\"!currentNode.configActive\"\n [ngStyle]=\"{ 'top.px': configTop }\"\n >\n <ng-container\n *ngFor=\"let config of castConfigsToAny(currentNode.configs)\"\n [ngSwitch]=\"config.type\"\n >\n <!-- Config types -->\n <label class=\"item-config-single\" *ngIf=\"!config.hidden\">\n <span\n class=\"item-config-label\"\n *ngIf=\"config.type !== 'button'\"\n [ngClass]=\"{ 'font-weight-bold w-100': config.type === 'label' }\"\n >\n {{ config.label }}\n </span>\n <div\n class=\"item-config-data\"\n [ngClass]=\"{ 'p-0': config.type === 'button' }\"\n *ngIf=\"config.type !== 'label'\"\n >\n <mat-checkbox\n *ngSwitchCase=\"'checkbox'\"\n [checked]=\"config.isChecked\"\n (change)=\"\n config.onChange($event.checked);\n config.isChecked = $event.checked\n \"\n ></mat-checkbox>\n\n <app-config-slider\n *ngSwitchCase=\"'slider'\"\n [value]=\"config.value\"\n (onChange)=\"config.onChange($event); config.value = $event\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [allowCustomValue]=\"config.allowCustomValue\"\n >\n </app-config-slider>\n\n <button\n *ngSwitchCase=\"'button'\"\n class=\"w-100\"\n (click)=\"config.onClick()\"\n mat-button\n mat-stroked-button\n >\n {{ config.label }}\n </button>\n\n <input\n *ngSwitchCase=\"'color'\"\n type=\"color\"\n [value]=\"config.color\"\n (input)=\"\n config.onChange($event.target.value);\n config.color = $event.target.value\n \"\n />\n\n <div *ngSwitchCase=\"'rangeSlider'\" class=\"range-slider\">\n <div class=\"range-slider-inputs d-flex justify-content-between\">\n <input\n type=\"number\"\n placeholder=\"Min\"\n class=\"form-control form-control-sm\"\n [value]=\"config.value\"\n (input)=\"\n config.value = $event.target.value;\n config.onChange(config)\n \"\n />\n <input\n type=\"number\"\n placeholder=\"Max\"\n class=\"form-control form-control-sm\"\n [value]=\"config.highValue\"\n (input)=\"\n config.highValue = $event.target.value;\n config.onChange(config)\n \"\n />\n </div>\n <ngx-slider\n [(value)]=\"config.value\"\n [(highValue)]=\"config.highValue\"\n (userChange)=\"config.onChange($event)\"\n [options]=\"{\n floor: config.min,\n ceil: config.max,\n step: config.step,\n animate: false\n }\"\n ></ngx-slider>\n </div>\n\n <select\n *ngSwitchCase=\"'select'\"\n class=\"w-100\"\n (change)=\"config.onChange($event.target.value)\"\n >\n <option\n *ngFor=\"let singleOption of config.options\"\n [value]=\"singleOption\"\n >\n {{ singleOption }}\n </option>\n </select>\n </div>\n </label>\n <!-- Config types END -->\n </ng-container>\n </div>\n </div>\n <button\n class=\"icon-wrapper icon-button btn-blank item-expand\"\n *ngIf=\"currentNode.children.length > 0\"\n (click)=\"currentNode.childrenActive = !currentNode.childrenActive\"\n [ngClass]=\"{ expanded: currentNode.childrenActive }\"\n data-testid=\"dropdown\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n </div>\n</div>\n<div class=\"phoenix-menu-children\" *ngIf=\"currentNode.childrenActive\">\n <app-phoenix-menu-item\n *ngFor=\"let childNode of currentNode.children\"\n [currentNode]=\"childNode\"\n >\n </app-phoenix-menu-item>\n</div>\n", styles: [".phoenix-menu-item{width:100%;padding:.6rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color);font-size:.8rem;transition:all .5s;display:flex;justify-content:space-between;align-items:center}.phoenix-menu-item-left{display:flex;justify-content:flex-start;min-width:0;padding-right:.5rem;overflow:hidden}.phoenix-menu-item-left .item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phoenix-menu-item-left .item-icon{margin-right:.2rem}.phoenix-menu-item-right{display:flex;justify-content:flex-end}.phoenix-menu-item-right .item-expand.expanded{transform:scaleY(-1)}.phoenix-menu-item-right .item-settings{margin-right:.2rem}.phoenix-menu-item-right .item-config-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:110}.phoenix-menu-item-right .item-config{position:absolute;margin-top:-5rem;right:100%;width:14rem;padding:.5rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color-secondary);box-shadow:var(--phoenix-box-shadow);display:flex;flex-direction:column;z-index:120}.phoenix-menu-item-right .item-config>*{margin-bottom:.4rem}.phoenix-menu-item-right .item-config>*:last-child{margin-bottom:0}.phoenix-menu-item-right .item-config .item-config-single{display:flex;flex-direction:row}.phoenix-menu-item-right .item-config .item-config-single .item-config-label{width:30%}.phoenix-menu-item-right .item-config .item-config-single .item-config-data{flex-grow:1;padding-left:.5rem}.phoenix-menu-item .icon-wrapper{display:inline-block;width:1.3rem;height:1.3rem;padding:.23rem;transition:all .4s}.phoenix-menu-item .icon-wrapper.icon-button:hover{background:var(--phoenix-options-icon-bg);border-radius:40%;cursor:pointer}.phoenix-menu-item .icon-wrapper svg{width:100%;height:100%;vertical-align:top}.phoenix-menu-item .mat-slide-toggle-bar{width:30px!important}.phoenix-menu-item .mat-slide-toggle-thumb{width:15px!important;height:15px!important;position:absolute;top:2px}.phoenix-menu-item .mat-slider-horizontal{min-width:0;width:100%;height:20px}.phoenix-menu-item .mat-slider-horizontal .mat-slider-wrapper{top:10px}.phoenix-menu-item label.mat-checkbox-layout{margin:0}@media screen and (max-width: 768px){.phoenix-menu-item{font-size:.75rem;padding:.5rem}.phoenix-menu-item .icon-wrapper{width:1rem;height:1rem;padding:.15rem}}.phoenix-menu-children{margin-left:.5rem;border-left:1px solid var(--phoenix-accent)}.range-slider .range-slider-inputs{gap:20%}.range-slider .ngx-slider .ngx-slider-bar{background:var(--phoenix-text-color-secondary);height:.2rem}.range-slider .ngx-slider .ngx-slider-selection{background:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer{width:1rem;height:1rem;top:-.45rem;bottom:0;background-color:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer:after{display:none}.range-slider .ngx-slider .ngx-slider-bubble{color:var(--phoenix-text-color);font-size:.8rem}.range-slider .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:var(--phoenix-text-color-secondary)}\n"] }]
309
+ args: [{ selector: 'app-phoenix-menu-item', encapsulation: ViewEncapsulation.None, template: "<div class=\"phoenix-menu-item\" #phoenixMenuItem>\n <div class=\"phoenix-menu-item-left align-items-center\">\n <!-- If the item has some toggle function -->\n <ng-container *ngIf=\"currentNode.onToggle; else nodeName\">\n <mat-slide-toggle\n [checked]=\"currentNode.toggleState\"\n (change)=\"currentNode.toggleSelfAndDescendants($event.checked)\"\n >\n <ng-container *ngTemplateOutlet=\"nodeName\"></ng-container>\n </mat-slide-toggle>\n </ng-container>\n <!-- If the item has no toggle function -->\n <ng-template #nodeName>\n <span class=\"d-flex w-100 align-items-center\">\n <span *ngIf=\"currentNode.icon\" class=\"icon-wrapper item-icon\">\n <svg>\n <use\n attr.href=\"assets/icons/{{ currentNode.icon }}.svg#{{\n currentNode.icon\n }}\"\n ></use>\n </svg>\n </span>\n <span class=\"item-name\" [title]=\"currentNode.name\">{{\n currentNode.name\n }}</span>\n </span>\n </ng-template>\n </div>\n <div class=\"phoenix-menu-item-right\">\n <div *ngIf=\"currentNode.configs.length > 0\">\n <button\n class=\"icon-wrapper icon-button btn-blank item-settings\"\n (click)=\"\n calculateConfigTop();\n currentNode.configActive = !currentNode.configActive\n \"\n >\n <svg>\n <use href=\"assets/icons/gear.svg#gear\"></use>\n </svg>\n </button>\n <div\n class=\"item-config-backdrop\"\n *ngIf=\"currentNode.configActive\"\n (click)=\"currentNode.configActive = false\"\n ></div>\n <div\n class=\"item-config\"\n [hidden]=\"!currentNode.configActive\"\n [ngStyle]=\"{ 'top.px': configTop }\"\n >\n <ng-container\n *ngFor=\"let config of castConfigsToAny(currentNode.configs)\"\n [ngSwitch]=\"config.type\"\n >\n <!-- Config types -->\n <div class=\"item-config-single\" *ngIf=\"!config.hidden\">\n <label\n class=\"item-config-label\"\n for=\"item-config-field\"\n *ngIf=\"config.type !== 'button'\"\n [ngClass]=\"{ 'font-weight-bold w-100': config.type === 'label' }\"\n >\n {{ config.label }}\n </label>\n <div\n class=\"item-config-data\"\n [ngClass]=\"{ 'p-0': config.type === 'button' }\"\n *ngIf=\"config.type !== 'label'\"\n >\n <mat-checkbox\n *ngSwitchCase=\"'checkbox'\"\n [checked]=\"config.isChecked\"\n (change)=\"\n config.onChange($event.checked);\n config.isChecked = $event.checked\n \"\n ></mat-checkbox>\n\n <app-config-slider\n *ngSwitchCase=\"'slider'\"\n [value]=\"config.value\"\n (onChange)=\"config.onChange($event); config.value = $event\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [allowCustomValue]=\"config.allowCustomValue\"\n >\n </app-config-slider>\n\n <button\n *ngSwitchCase=\"'button'\"\n class=\"w-100\"\n (click)=\"config.onClick()\"\n mat-button\n mat-stroked-button\n >\n {{ config.label }}\n </button>\n\n <input\n *ngSwitchCase=\"'color'\"\n id=\"item-config-field\"\n type=\"color\"\n [value]=\"config.color\"\n (input)=\"\n config.onChange($event.target.value);\n config.color = $event.target.value\n \"\n />\n\n <div *ngSwitchCase=\"'rangeSlider'\" class=\"range-slider\">\n <div class=\"range-slider-inputs d-flex justify-content-between\">\n <mat-checkbox\n [checked]=\"config.enableMin\"\n (change)=\"config.setEnableMin($event.checked)\"\n ></mat-checkbox>\n <mat-checkbox\n [checked]=\"config.enableMax\"\n (change)=\"config.setEnableMax($event.checked)\"\n ></mat-checkbox>\n </div>\n <div class=\"range-slider-inputs d-flex justify-content-between\">\n <input\n type=\"number\"\n placeholder=\"Min\"\n class=\"form-control form-control-sm\"\n [value]=\"config.value\"\n (input)=\"\n config.value = $event.target.value;\n config.onChange(config)\n \"\n step=\"config.step\"\n />\n <input\n type=\"number\"\n placeholder=\"Max\"\n class=\"form-control form-control-sm\"\n [value]=\"config.highValue\"\n (input)=\"\n config.highValue = $event.target.value;\n config.onChange(config)\n \"\n step=\"config.step\"\n />\n </div>\n <ngx-slider\n [(value)]=\"config.value\"\n [(highValue)]=\"config.highValue\"\n (userChange)=\"config.onChange($event)\"\n thumbLabel\n [options]=\"{\n floor: config.min,\n ceil: config.max,\n step: config.step,\n animate: false\n }\"\n ></ngx-slider>\n </div>\n\n <select\n *ngSwitchCase=\"'select'\"\n id=\"item-config-field\"\n class=\"w-100\"\n (change)=\"config.onChange($event.target.value)\"\n >\n <option\n *ngFor=\"let singleOption of config.options\"\n [value]=\"singleOption\"\n >\n {{ singleOption }}\n </option>\n </select>\n </div>\n </div>\n <!-- Config types END -->\n </ng-container>\n </div>\n </div>\n <button\n class=\"icon-wrapper icon-button btn-blank item-expand\"\n *ngIf=\"currentNode.children.length > 0\"\n (click)=\"currentNode.childrenActive = !currentNode.childrenActive\"\n [ngClass]=\"{ expanded: currentNode.childrenActive }\"\n data-testid=\"dropdown\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n </div>\n</div>\n<div class=\"phoenix-menu-children\" *ngIf=\"currentNode.childrenActive\">\n <app-phoenix-menu-item\n *ngFor=\"let childNode of currentNode.children\"\n [currentNode]=\"childNode\"\n >\n </app-phoenix-menu-item>\n</div>\n", styles: [".phoenix-menu-item{width:100%;padding:.6rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color);font-size:.8rem;transition:all .5s;display:flex;justify-content:space-between;align-items:center}.phoenix-menu-item-left{display:flex;justify-content:flex-start;min-width:0;padding-right:.5rem;overflow:hidden}.phoenix-menu-item-left .item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phoenix-menu-item-left .item-icon{margin-right:.2rem}.phoenix-menu-item-right{display:flex;justify-content:flex-end}.phoenix-menu-item-right .item-expand.expanded{transform:scaleY(-1)}.phoenix-menu-item-right .item-settings{margin-right:.2rem}.phoenix-menu-item-right .item-config-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:110}.phoenix-menu-item-right .item-config{position:absolute;margin-top:-5rem;right:100%;width:14rem;padding:.5rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color-secondary);box-shadow:var(--phoenix-box-shadow);display:flex;flex-direction:column;z-index:120}.phoenix-menu-item-right .item-config>*{margin-bottom:.4rem}.phoenix-menu-item-right .item-config>*:last-child{margin-bottom:0}.phoenix-menu-item-right .item-config .item-config-single{display:flex;flex-direction:row}.phoenix-menu-item-right .item-config .item-config-single .item-config-label{width:30%}.phoenix-menu-item-right .item-config .item-config-single .item-config-data{flex-grow:1;padding-left:.5rem}.phoenix-menu-item .icon-wrapper{display:inline-block;width:1.3rem;height:1.3rem;padding:.23rem;transition:all .4s}.phoenix-menu-item .icon-wrapper.icon-button:hover{background:var(--phoenix-options-icon-bg);border-radius:40%;cursor:pointer}.phoenix-menu-item .icon-wrapper svg{width:100%;height:100%;vertical-align:top}.phoenix-menu-item .mat-slide-toggle-bar{width:30px!important}.phoenix-menu-item .mat-slide-toggle-thumb{width:15px!important;height:15px!important;position:absolute;top:2px}.phoenix-menu-item .mat-slider-horizontal{min-width:0;width:100%;height:20px}.phoenix-menu-item .mat-slider-horizontal .mat-slider-wrapper{top:10px}.phoenix-menu-item label.mat-checkbox-layout{margin:0}@media screen and (max-width: 768px){.phoenix-menu-item{font-size:.75rem;padding:.5rem}.phoenix-menu-item .icon-wrapper{width:1rem;height:1rem;padding:.15rem}}.phoenix-menu-children{margin-left:.5rem;border-left:1px solid var(--phoenix-accent)}.range-slider .range-slider-inputs{gap:20%}.range-slider .ngx-slider .ngx-slider-bar{background:var(--phoenix-text-color-secondary);height:.2rem}.range-slider .ngx-slider .ngx-slider-selection{background:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer{width:1rem;height:1rem;top:-.45rem;bottom:0;background-color:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer:after{display:none}.range-slider .ngx-slider .ngx-slider-bubble{color:var(--phoenix-text-color);font-size:.8rem}.range-slider .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:var(--phoenix-text-color-secondary)}\n"] }]
300
310
  }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { currentNode: [{
301
311
  type: Input
302
312
  }], phoenixMenuItem: [{
303
313
  type: ViewChild,
304
314
  args: ['phoenixMenuItem']
305
315
  }] }); })();
306
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvZW5peC1tZW51LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvcGhvZW5peC1tZW51L3Bob2VuaXgtbWVudS1pdGVtL3Bob2VuaXgtbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3Bob2VuaXgtbWVudS9waG9lbml4LW1lbnUtaXRlbS9waG9lbml4LW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztJQ0NmLHdCQUEwRDs7OztJQUw5RCw2QkFBMEQ7SUFDeEQsMkNBR0M7SUFEQyxnTUFBVSxlQUFBLDJEQUFvRCxDQUFBLElBQUM7SUFFL0QsMkdBQTBEO0lBQzVELGlCQUFtQjtJQUNyQiwwQkFBZTs7OztJQUxYLGVBQW1DO0lBQW5DLHdEQUFtQztJQUdwQixlQUEwQjtJQUExQixzQ0FBMEI7OztJQU16QyxnQ0FBOEQ7SUFDNUQsbUJBQUs7SUFBTCwyQkFBSztJQUNILHNCQUlPO0lBQ1QsaUJBQU0sRUFBQTs7O0lBSkYsZUFFRztJQUZILG9IQUVHOzs7SUFOWCxnQ0FBOEM7SUFDNUMsMEZBUU87SUFDUCxnQ0FBbUQ7SUFBQSxZQUVqRDtJQUFBLGlCQUFPLEVBQUE7OztJQVhGLGVBQXNCO0lBQXRCLDhDQUFzQjtJQVNMLGVBQTBCO0lBQTFCLCtDQUEwQjtJQUFDLGVBRWpEO0lBRmlELDZDQUVqRDs7Ozs7SUFpQkosb0JBSUM7SUFKRCwrQkFJQztJQURDLDJLQUFTLGtEQUEyQixLQUFLLENBQUEsSUFBQztJQUMzQyxpQkFBTTs7OztJQVlELGdDQUlDO0lBQ0MsWUFDRjtJQUFBLGlCQUFPOzs7SUFITCxpRkFBaUU7SUFFakUsZUFDRjtJ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dEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFBRyxDQUFDO0lBRTlDLGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDakUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxxRUFBcUU7SUFDckUsZ0JBQWdCLENBQUMsT0FBbUM7UUFDbEQsT0FBTyxPQUFnQixDQUFDO0lBQzFCLENBQUM7O2dHQWxCVSx3QkFBd0I7MkVBQXhCLHdCQUF3Qjs7Ozs7O1FDaEJyQyxpQ0FBZ0QsYUFBQTtRQUc1QywyRkFPZTtRQUVmLDBIQWVjO1FBQ2hCLGlCQUFNO1FBQ04sOEJBQXFDO1FBQ25DLHlFQXFJTTtRQUNOLCtFQVVTO1FBQ1gsaUJBQU0sRUFBQTtRQUVSLHlFQU1NOzs7UUFwTGEsZUFBNEI7UUFBNUIsK0NBQTRCLGlCQUFBO1FBMkJyQyxlQUFvQztRQUFwQyx5REFBb0M7UUF3SXZDLGVBQXFDO1FBQXJDLDBEQUFxQztRQVdSLGVBQWdDO1FBQWhDLHFEQUFnQzs0T0RqS3ZELHdCQUF3Qjt1RkFBeEIsd0JBQXdCO2NBTnBDLFNBQVM7MkJBQ0UsdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJO29FQUc1QixXQUFXO2tCQUFuQixLQUFLO1lBQ3dCLGVBQWU7a0JBQTVDLFNBQVM7bUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBQaG9lbml4TWVudU5vZGUgfSBmcm9tICdwaG9lbml4LWV2ZW50LWRpc3BsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcGhvZW5peC1tZW51LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGhvZW5peC1tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9waG9lbml4LW1lbnUtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQaG9lbml4TWVudUl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKSBjdXJyZW50Tm9kZTogUGhvZW5peE1lbnVOb2RlO1xuICBAVmlld0NoaWxkKCdwaG9lbml4TWVudUl0ZW0nKSBwaG9lbml4TWVudUl0ZW06IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBjb25maWdUb3A6IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgY2FsY3VsYXRlQ29uZmlnVG9wKCkge1xuICAgIGlmICh0aGlzLnBob2VuaXhNZW51SXRlbSkge1xuICAgICAgdGhpcy5jb25maWdUb3AgPVxuICAgICAgICB0aGlzLnBob2VuaXhNZW51SXRlbS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICAvLyBDYXN0aW5nIHRvIGBhbnlgIGFzIGEgd29ya2Fyb3VuZCB0byBieXBhc3Mgc3RyaWN0IHRlbXBsYXRlIGNoZWNrcy5cbiAgY2FzdENvbmZpZ3NUb0FueShjb25maWdzOiBQaG9lbml4TWVudU5vZGVbJ2NvbmZpZ3MnXSkge1xuICAgIHJldHVybiBjb25maWdzIGFzIGFueVtdO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicGhvZW5peC1tZW51LWl0ZW1cIiAjcGhvZW5peE1lbnVJdGVtPlxuICA8ZGl2IGNsYXNzPVwicGhvZW5peC1tZW51LWl0ZW0tbGVmdCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICA8IS0tIElmIHRoZSBpdGVtIGhhcyBzb21lIHRvZ2dsZSBmdW5jdGlvbiAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudE5vZGUub25Ub2dnbGU7IGVsc2Ugbm9kZU5hbWVcIj5cbiAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgIFtjaGVja2VkXT1cImN1cnJlbnROb2RlLnRvZ2dsZVN0YXRlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJjdXJyZW50Tm9kZS50b2dnbGVTZWxmQW5kRGVzY2VuZGFudHMoJGV2ZW50LmNoZWNrZWQpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vZGVOYW1lXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSBJZiB0aGUgaXRlbSBoYXMgbm8gdG9nZ2xlIGZ1bmN0aW9uIC0tPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9kZU5hbWU+XG4gICAgICA8c3BhbiBjbGFzcz1cImQtZmxleCB3LTEwMCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJjdXJyZW50Tm9kZS5pY29uXCIgY2xhc3M9XCJpY29uLXdyYXBwZXIgaXRlbS1pY29uXCI+XG4gICAgICAgICAgPHN2Zz5cbiAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgYXR0ci5ocmVmPVwiYXNzZXRzL2ljb25zL3t7IGN1cnJlbnROb2RlLmljb24gfX0uc3ZnI3t7XG4gICAgICAgICAgICAgICAgY3VycmVudE5vZGUuaWNvblxuICAgICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICA+PC91c2U+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLW5hbWVcIiBbdGl0bGVdPVwiY3VycmVudE5vZGUubmFtZVwiPnt7XG4gICAgICAgICAgY3VycmVudE5vZGUubmFtZVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInBob2VuaXgtbWVudS1pdGVtLXJpZ2h0XCI+XG4gICAgPGRpdiAqbmdJZj1cImN1cnJlbnROb2RlLmNvbmZpZ3MubGVuZ3RoID4gMFwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImljb24td3JhcHBlciBpY29uLWJ1dHRvbiBidG4tYmxhbmsgaXRlbS1zZXR0aW5nc1wiXG4gICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICBjYWxjdWxhdGVDb25maWdUb3AoKTtcbiAgICAgICAgICBjdXJyZW50Tm9kZS5jb25maWdBY3RpdmUgPSAhY3VycmVudE5vZGUuY29uZmlnQWN0aXZlXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxzdmc+XG4gICAgICAgICAgPHVzZSBocmVmPVwiYXNzZXRzL2ljb25zL2dlYXIuc3ZnI2dlYXJcIj48L3VzZT5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpdGVtLWNvbmZpZy1iYWNrZHJvcFwiXG4gICAgICAgICpuZ0lmPVwiY3VycmVudE5vZGUuY29uZmlnQWN0aXZlXCJcbiAgICAgICAgKGNsaWNrKT1cImN1cnJlbnROb2RlLmNvbmZpZ0FjdGl2ZSA9IGZhbHNlXCJcbiAgICAgID48L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpdGVtLWNvbmZpZ1wiXG4gICAgICAgIFtoaWRkZW5dPVwiIWN1cnJlbnROb2RlLmNvbmZpZ0FjdGl2ZVwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ3RvcC5weCc6IGNvbmZpZ1RvcCB9XCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjb25maWcgb2YgY2FzdENvbmZpZ3NUb0FueShjdXJyZW50Tm9kZS5jb25maWdzKVwiXG4gICAgICAgICAgW25nU3dpdGNoXT1cImNvbmZpZy50eXBlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDwhLS0gQ29uZmlnIHR5cGVzIC0tPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIml0ZW0tY29uZmlnLXNpbmdsZVwiICpuZ0lmPVwiIWNvbmZpZy5oaWRkZW5cIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwiaXRlbS1jb25maWctbGFiZWxcIlxuICAgICAgICAgICAgICAqbmdJZj1cImNvbmZpZy50eXBlICE9PSAnYnV0dG9uJ1wiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ZvbnQtd2VpZ2h0LWJvbGQgdy0xMDAnOiBjb25maWcudHlwZSA9PT0gJ2xhYmVsJyB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgY29uZmlnLmxhYmVsIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiaXRlbS1jb25maWctZGF0YVwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtMCc6IGNvbmZpZy50eXBlID09PSAnYnV0dG9uJyB9XCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJjb25maWcudHlwZSAhPT0gJ2xhYmVsJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NoZWNrYm94J1wiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiY29uZmlnLmlzQ2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgIGNvbmZpZy5vbkNoYW5nZSgkZXZlbnQuY2hlY2tlZCk7XG4gICAgICAgICAgICAgICAgICBjb25maWcuaXNDaGVja2VkID0gJGV2ZW50LmNoZWNrZWRcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9tYXQtY2hlY2tib3g+XG5cbiAgICAgICAgICAgICAgPGFwcC1jb25maWctc2xpZGVyXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidzbGlkZXInXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY29uZmlnLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiY29uZmlnLm9uQ2hhbmdlKCRldmVudCk7IGNvbmZpZy52YWx1ZSA9ICRldmVudFwiXG4gICAgICAgICAgICAgICAgW21pbl09XCJjb25maWcubWluXCJcbiAgICAgICAgICAgICAgICBbbWF4XT1cImNvbmZpZy5tYXhcIlxuICAgICAgICAgICAgICAgIFtzdGVwXT1cImNvbmZpZy5zdGVwXCJcbiAgICAgICAgICAgICAgICBbYWxsb3dDdXN0b21WYWx1ZV09XCJjb25maWcuYWxsb3dDdXN0b21WYWx1ZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9hcHAtY29uZmlnLXNsaWRlcj5cblxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIididXR0b24nXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctMTAwXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29uZmlnLm9uQ2xpY2soKVwiXG4gICAgICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgY29uZmlnLmxhYmVsIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInY29sb3InXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiY29sb3JcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb25maWcuY29sb3JcIlxuICAgICAgICAgICAgICAgIChpbnB1dCk9XCJcbiAgICAgICAgICAgICAgICAgIGNvbmZpZy5vbkNoYW5nZSgkZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgIGNvbmZpZy5jb2xvciA9ICRldmVudC50YXJnZXQudmFsdWVcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidyYW5nZVNsaWRlcidcIiBjbGFzcz1cInJhbmdlLXNsaWRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyYW5nZS1zbGlkZXItaW5wdXRzIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk1pblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb25maWcudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwiXG4gICAgICAgICAgICAgICAgICAgICAgY29uZmlnLnZhbHVlID0gJGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICBjb25maWcub25DaGFuZ2UoY29uZmlnKVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJNYXhcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc21cIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY29uZmlnLmhpZ2hWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJcbiAgICAgICAgICAgICAgICAgICAgICBjb25maWcuaGlnaFZhbHVlID0gJGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICBjb25maWcub25DaGFuZ2UoY29uZmlnKVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmd4LXNsaWRlclxuICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiY29uZmlnLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIFsoaGlnaFZhbHVlKV09XCJjb25maWcuaGlnaFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICh1c2VyQ2hhbmdlKT1cImNvbmZpZy5vbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cIntcbiAgICAgICAgICAgICAgICAgICAgZmxvb3I6IGNvbmZpZy5taW4sXG4gICAgICAgICAgICAgICAgICAgIGNlaWw6IGNvbmZpZy5tYXgsXG4gICAgICAgICAgICAgICAgICAgIHN0ZXA6IGNvbmZpZy5zdGVwLFxuICAgICAgICAgICAgICAgICAgICBhbmltYXRlOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgPjwvbmd4LXNsaWRlcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTEwMFwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJjb25maWcub25DaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG9wdGlvblxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNpbmdsZU9wdGlvbiBvZiBjb25maWcub3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwic2luZ2xlT3B0aW9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBzaW5nbGVPcHRpb24gfX1cbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwhLS0gQ29uZmlnIHR5cGVzIEVORCAtLT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImljb24td3JhcHBlciBpY29uLWJ1dHRvbiBidG4tYmxhbmsgaXRlbS1leHBhbmRcIlxuICAgICAgKm5nSWY9XCJjdXJyZW50Tm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwXCJcbiAgICAgIChjbGljayk9XCJjdXJyZW50Tm9kZS5jaGlsZHJlbkFjdGl2ZSA9ICFjdXJyZW50Tm9kZS5jaGlsZHJlbkFjdGl2ZVwiXG4gICAgICBbbmdDbGFzc109XCJ7IGV4cGFuZGVkOiBjdXJyZW50Tm9kZS5jaGlsZHJlbkFjdGl2ZSB9XCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiZHJvcGRvd25cIlxuICAgID5cbiAgICAgIDxzdmc+XG4gICAgICAgIDx1c2UgaHJlZj1cImFzc2V0cy9pY29ucy9leHBhbmQuc3ZnI2V4cGFuZFwiPjwvdXNlPlxuICAgICAgPC9zdmc+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicGhvZW5peC1tZW51LWNoaWxkcmVuXCIgKm5nSWY9XCJjdXJyZW50Tm9kZS5jaGlsZHJlbkFjdGl2ZVwiPlxuICA8YXBwLXBob2VuaXgtbWVudS1pdGVtXG4gICAgKm5nRm9yPVwibGV0IGNoaWxkTm9kZSBvZiBjdXJyZW50Tm9kZS5jaGlsZHJlblwiXG4gICAgW2N1cnJlbnROb2RlXT1cImNoaWxkTm9kZVwiXG4gID5cbiAgPC9hcHAtcGhvZW5peC1tZW51LWl0ZW0+XG48L2Rpdj5cbiJdfQ==
316
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvZW5peC1tZW51LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvcGhvZW5peC1tZW51L3Bob2VuaXgtbWVudS1pdGVtL3Bob2VuaXgtbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3Bob2VuaXgtbWVudS9waG9lbml4LW1lbnUtaXRlbS9waG9lbml4LW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztJQ0NmLHdCQUEwRDs7OztJQUw5RCw2QkFBMEQ7SUFDeEQsMkNBR0M7SUFEQyxnTUFBVSxlQUFBLDJEQUFvRCxDQUFBLElBQUM7SUFFL0QsMkdBQTBEO0lBQzVELGlCQUFtQjtJQUNyQiwwQkFBZTs7OztJQUxYLGVBQW1DO0lBQW5DLHdEQUFtQztJQUdwQixlQUEwQjtJQUExQixzQ0FBMEI7OztJQU16QyxnQ0FBOEQ7SUFDNUQsbUJBQUs7SUFBTCwyQkFBSztJQUNILHNCQUlPO0lBQ1QsaUJBQU0sRUFBQTs7O0lBSkYsZUFFRztJQUZILG9IQUVHOzs7SUFOWCxnQ0FBOEM7SUFDNUMsMEZBUU87SUFDUCxnQ0FBbUQ7SUFBQSxZQUVqRDtJQUFBLGlCQUFPLEVBQUE7OztJQVhGLGVBQXNCO0lBQXRCLDhDQUFzQjtJQVNMLGVBQTBCO0lBQTFCLCtDQUEwQjtJQUFDLGVBRWpEO0lBRmlELDZDQUVqRDs7Ozs7SUFpQkosb0JBSUM7SUFKRCwrQkFJQztJQURDLDJLQUFTLGtEQUEyQixLQUFLLENBQUEsSUFBQztJQUMzQyxpQkFBTTs7OztJQVlELGlDQUtDO0lBQ0MsWUFDRjtJQUFBLGlCQUFROzs7SUFITixpRkFBaUU7SUFFakUsZUFDRjtJQURFLGlEQUNGOzs7O0lBTUUsdUNBT0M7SUFKQyxzT0FDcUIsbUNBQ3BCLFNBQW9CLHFEQUVyQyxJQURpQjtJQUNGLGlCQUFlOzs7SUFMZCw4Q0FBNEI7Ozs7SUFPOUIsNkNBUUM7SUFMQyxvUEFBWSwyQkFBdUIsU0FBRSx5Q0FBcUIsSUFBQztJQU03RCxpQkFBb0I7OztJQVBsQix3Q0FBc0IsdUJBQUEsdUJBQUEseUJBQUEsaURBQUE7Ozs7SUFTeEIsa0NBTUM7SUFIQyx5TkFBUyxlQUFBLG9CQUFnQixDQUFBLElBQUM7SUFJMUIsWUFDRjtJQUFBLGlCQUFTOzs7SUFEUCxlQUNGO0lBREUsaURBQ0Y7Ozs7SUFFQSxpQ0FTRTtJQUpBLHNOQUNxQix3Q0FDcEIsU0FBb0Isc0RBRXJDLElBRGlCO0lBUkgsaUJBU0U7OztJQUxBLHdDQUFzQjs7Ozs7SUFPeEIsK0JBQXdELGNBQUEsc0JBQUE7SUFJbEQsb09BQVUsZUFBQSx1Q0FBbUMsQ0FBQSxJQUFDO0lBQy9DLGlCQUFlO0lBQ2hCLHVDQUdDO0lBREMsb09BQVUsZUFBQSx1Q0FBbUMsQ0FBQSxJQUFDO0lBQy9DLGlCQUFlLEVBQUE7SUFFbEIsK0JBQWdFLGdCQUFBO0lBTTVELG1RQUV5QixlQUFBLCtCQUU3QyxDQUFBLElBRHFCO0lBUkgsaUJBVUU7SUFDRixpQ0FVRTtJQUxBLHVRQUV5QixlQUFBLCtCQUU3QyxDQUFBLElBRHFCO0lBUkgsaUJBVUUsRUFBQTtJQUVKLHNDQVdDO0lBVkMsNE9BQVcseUNBQ3ZCLElBRG9DLHVPQUNULDZDQUMzQixJQUZvQyw2TkFFVixlQUFBLDJCQUF1QixDQUFBLElBRmI7SUFVekIsaUJBQWEsRUFBQTs7O0lBM0NWLGVBQTRCO0lBQTVCLDhDQUE0QjtJQUk1QixlQUE0QjtJQUE1Qiw4Q0FBNEI7SUFTNUIsZUFBc0I7SUFBdEIsd0NBQXNCO0lBV3RCLGVBQTBCO0lBQTFCLDRDQUEwQjtJQVM1QixlQUF3QjtJQUF4Qix3Q0FBd0IsbUNBQUEsd0ZBQUE7OztJQW1CMUIsa0NBR0M7SUFDQyxZQUNGO0lBQUEsaUJBQVM7OztJQUhQLHdDQUFzQjtJQUV0QixlQUNGO0lBREUsaURBQ0Y7Ozs7SUFYRixrQ0FLQztJQURDLGlPQUFVLGVBQUEsd0NBQW9DLENBQUEsSUFBQztJQUUvQywwSEFLUztJQUNYLGlCQUFTOzs7SUFMb0IsZUFBaUI7SUFBakIsNENBQWlCOzs7O0lBdEdoRCwrQkFJQztJQUNDLDZIQU9nQjtJQUVoQix1SUFTb0I7SUFFcEIsaUhBUVM7SUFFVCwrR0FTRTtJQUVGLDRHQStDTTtJQUVOLGlIQVlTO0lBQ1gsaUJBQU07OztJQTFHSixrRkFBK0M7SUFJNUMsZUFBd0I7SUFBeEIseUNBQXdCO0lBU3hCLGVBQXNCO0lBQXRCLHVDQUFzQjtJQVd0QixlQUFzQjtJQUF0Qix1Q0FBc0I7SUFVdEIsZUFBcUI7SUFBckIsc0NBQXFCO0lBVWxCLGVBQTJCO0lBQTNCLDRDQUEyQjtJQWtEOUIsZUFBc0I7SUFBdEIsdUNBQXNCOzs7SUF6RzdCLCtCQUF1RDtJQUNyRCx5R0FPUTtJQUNSLHFHQTRHTTtJQUNSLGlCQUFNOzs7SUFsSEQsZUFBOEI7SUFBOUIsbURBQThCO0lBUTlCLGVBQTZCO0lBQTdCLGtEQUE2Qjs7O0lBakJwQyxpQ0FHQztJQUVDLCtGQXNITTtJQUVSLDBCQUFlOzs7SUEzSGIsMENBQXdCO0lBR1MsZUFBb0I7SUFBcEIseUNBQW9COzs7OztJQTNCM0QsMkJBQTRDLGlCQUFBO0lBR3hDLGdLQUNhLDRCQUNaLFNBQVksb0ZBRXJCLElBRFM7SUFFRCxtQkFBSztJQUFMLDJCQUFLO0lBQ0gsMEJBQTZDO0lBQy9DLGlCQUFNLEVBQUE7SUFFUixnRkFJTztJQUNQLG9CQUlDO0lBSkQsK0JBSUM7SUFDQyxrR0E2SGU7SUFDakIsaUJBQU0sRUFBQTs7O0lBdElILGVBQThCO0lBQTlCLHNEQUE4QjtJQUsvQixlQUFvQztJQUFwQyx5REFBb0MseURBQUE7SUFJZixlQUF3QztJQUF4Qyw2RUFBd0M7Ozs7O0lBK0hqRSxrQ0FNQztJQUhDLDBLQUFTLHdGQUF3RCxJQUFDO0lBSWxFLG1CQUFLO0lBQUwsMkJBQUs7SUFDSCwwQkFBaUQ7SUFDbkQsaUJBQU0sRUFBQTs7O0lBTE4sdUZBQW9EOzs7SUFVeEQsNENBSXdCOzs7SUFGdEIsMkNBQXlCOzs7SUFIN0IsK0JBQXNFO0lBQ3BFLG9IQUl3QjtJQUMxQixpQkFBTTs7O0lBSm9CLGVBQXVCO0lBQXZCLHFEQUF1Qjs7QURuTGpELE1BQU0sT0FBTyx3QkFBd0I7SUFLbkMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFBRyxDQUFDO0lBRTlDLGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDakUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxxRUFBcUU7SUFDckUsZ0JBQWdCLENBQUMsT0FBbUM7UUFDbEQsT0FBTyxPQUFnQixDQUFDO0lBQzFCLENBQUM7O2dHQWxCVSx3QkFBd0I7MkVBQXhCLHdCQUF3Qjs7Ozs7O1FDaEJyQyxpQ0FBZ0QsYUFBQTtRQUc1QywyRkFPZTtRQUVmLDBIQWVjO1FBQ2hCLGlCQUFNO1FBQ04sOEJBQXFDO1FBQ25DLHlFQXFKTTtRQUNOLCtFQVVTO1FBQ1gsaUJBQU0sRUFBQTtRQUVSLHlFQU1NOzs7UUFwTWEsZUFBNEI7UUFBNUIsK0NBQTRCLGlCQUFBO1FBMkJyQyxlQUFvQztRQUFwQyx5REFBb0M7UUF3SnZDLGVBQXFDO1FBQXJDLDBEQUFxQztRQVdSLGVBQWdDO1FBQWhDLHFEQUFnQzs0T0RqTHZELHdCQUF3Qjt1RkFBeEIsd0JBQXdCO2NBTnBDLFNBQVM7MkJBQ0UsdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJO29FQUc1QixXQUFXO2tCQUFuQixLQUFLO1lBQ3dCLGVBQWU7a0JBQTVDLFNBQVM7bUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBQaG9lbml4TWVudU5vZGUgfSBmcm9tICdwaG9lbml4LWV2ZW50LWRpc3BsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcGhvZW5peC1tZW51LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGhvZW5peC1tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9waG9lbml4LW1lbnUtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQaG9lbml4TWVudUl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKSBjdXJyZW50Tm9kZTogUGhvZW5peE1lbnVOb2RlO1xuICBAVmlld0NoaWxkKCdwaG9lbml4TWVudUl0ZW0nKSBwaG9lbml4TWVudUl0ZW06IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBjb25maWdUb3A6IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgY2FsY3VsYXRlQ29uZmlnVG9wKCkge1xuICAgIGlmICh0aGlzLnBob2VuaXhNZW51SXRlbSkge1xuICAgICAgdGhpcy5jb25maWdUb3AgPVxuICAgICAgICB0aGlzLnBob2VuaXhNZW51SXRlbS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICAvLyBDYXN0aW5nIHRvIGBhbnlgIGFzIGEgd29ya2Fyb3VuZCB0byBieXBhc3Mgc3RyaWN0IHRlbXBsYXRlIGNoZWNrcy5cbiAgY2FzdENvbmZpZ3NUb0FueShjb25maWdzOiBQaG9lbml4TWVudU5vZGVbJ2NvbmZpZ3MnXSkge1xuICAgIHJldHVybiBjb25maWdzIGFzIGFueVtdO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicGhvZW5peC1tZW51LWl0ZW1cIiAjcGhvZW5peE1lbnVJdGVtPlxuICA8ZGl2IGNsYXNzPVwicGhvZW5peC1tZW51LWl0ZW0tbGVmdCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICA8IS0tIElmIHRoZSBpdGVtIGhhcyBzb21lIHRvZ2dsZSBmdW5jdGlvbiAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudE5vZGUub25Ub2dnbGU7IGVsc2Ugbm9kZU5hbWVcIj5cbiAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgIFtjaGVja2VkXT1cImN1cnJlbnROb2RlLnRvZ2dsZVN0YXRlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJjdXJyZW50Tm9kZS50b2dnbGVTZWxmQW5kRGVzY2VuZGFudHMoJGV2ZW50LmNoZWNrZWQpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vZGVOYW1lXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSBJZiB0aGUgaXRlbSBoYXMgbm8gdG9nZ2xlIGZ1bmN0aW9uIC0tPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9kZU5hbWU+XG4gICAgICA8c3BhbiBjbGFzcz1cImQtZmxleCB3LTEwMCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJjdXJyZW50Tm9kZS5pY29uXCIgY2xhc3M9XCJpY29uLXdyYXBwZXIgaXRlbS1pY29uXCI+XG4gICAgICAgICAgPHN2Zz5cbiAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgYXR0ci5ocmVmPVwiYXNzZXRzL2ljb25zL3t7IGN1cnJlbnROb2RlLmljb24gfX0uc3ZnI3t7XG4gICAgICAgICAgICAgICAgY3VycmVudE5vZGUuaWNvblxuICAgICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICA+PC91c2U+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLW5hbWVcIiBbdGl0bGVdPVwiY3VycmVudE5vZGUubmFtZVwiPnt7XG4gICAgICAgICAgY3VycmVudE5vZGUubmFtZVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInBob2VuaXgtbWVudS1pdGVtLXJpZ2h0XCI+XG4gICAgPGRpdiAqbmdJZj1cImN1cnJlbnROb2RlLmNvbmZpZ3MubGVuZ3RoID4gMFwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImljb24td3JhcHBlciBpY29uLWJ1dHRvbiBidG4tYmxhbmsgaXRlbS1zZXR0aW5nc1wiXG4gICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICBjYWxjdWxhdGVDb25maWdUb3AoKTtcbiAgICAgICAgICBjdXJyZW50Tm9kZS5jb25maWdBY3RpdmUgPSAhY3VycmVudE5vZGUuY29uZmlnQWN0aXZlXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxzdmc+XG4gICAgICAgICAgPHVzZSBocmVmPVwiYXNzZXRzL2ljb25zL2dlYXIuc3ZnI2dlYXJcIj48L3VzZT5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpdGVtLWNvbmZpZy1iYWNrZHJvcFwiXG4gICAgICAgICpuZ0lmPVwiY3VycmVudE5vZGUuY29uZmlnQWN0aXZlXCJcbiAgICAgICAgKGNsaWNrKT1cImN1cnJlbnROb2RlLmNvbmZpZ0FjdGl2ZSA9IGZhbHNlXCJcbiAgICAgID48L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpdGVtLWNvbmZpZ1wiXG4gICAgICAgIFtoaWRkZW5dPVwiIWN1cnJlbnROb2RlLmNvbmZpZ0FjdGl2ZVwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ3RvcC5weCc6IGNvbmZpZ1RvcCB9XCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjb25maWcgb2YgY2FzdENvbmZpZ3NUb0FueShjdXJyZW50Tm9kZS5jb25maWdzKVwiXG4gICAgICAgICAgW25nU3dpdGNoXT1cImNvbmZpZy50eXBlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDwhLS0gQ29uZmlnIHR5cGVzIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNvbmZpZy1zaW5nbGVcIiAqbmdJZj1cIiFjb25maWcuaGlkZGVuXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJpdGVtLWNvbmZpZy1sYWJlbFwiXG4gICAgICAgICAgICAgIGZvcj1cIml0ZW0tY29uZmlnLWZpZWxkXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJjb25maWcudHlwZSAhPT0gJ2J1dHRvbidcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdmb250LXdlaWdodC1ib2xkIHctMTAwJzogY29uZmlnLnR5cGUgPT09ICdsYWJlbCcgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGNvbmZpZy5sYWJlbCB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJpdGVtLWNvbmZpZy1kYXRhXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncC0wJzogY29uZmlnLnR5cGUgPT09ICdidXR0b24nIH1cIlxuICAgICAgICAgICAgICAqbmdJZj1cImNvbmZpZy50eXBlICE9PSAnbGFiZWwnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJjb25maWcuaXNDaGVja2VkXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgY29uZmlnLm9uQ2hhbmdlKCRldmVudC5jaGVja2VkKTtcbiAgICAgICAgICAgICAgICAgIGNvbmZpZy5pc0NoZWNrZWQgPSAkZXZlbnQuY2hlY2tlZFxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L21hdC1jaGVja2JveD5cblxuICAgICAgICAgICAgICA8YXBwLWNvbmZpZy1zbGlkZXJcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3NsaWRlcidcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb25maWcudmFsdWVcIlxuICAgICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJjb25maWcub25DaGFuZ2UoJGV2ZW50KTsgY29uZmlnLnZhbHVlID0gJGV2ZW50XCJcbiAgICAgICAgICAgICAgICBbbWluXT1cImNvbmZpZy5taW5cIlxuICAgICAgICAgICAgICAgIFttYXhdPVwiY29uZmlnLm1heFwiXG4gICAgICAgICAgICAgICAgW3N0ZXBdPVwiY29uZmlnLnN0ZXBcIlxuICAgICAgICAgICAgICAgIFthbGxvd0N1c3RvbVZhbHVlXT1cImNvbmZpZy5hbGxvd0N1c3RvbVZhbHVlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2FwcC1jb25maWctc2xpZGVyPlxuXG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2J1dHRvbidcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy0xMDBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb25maWcub25DbGljaygpXCJcbiAgICAgICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBjb25maWcubGFiZWwgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidjb2xvcidcIlxuICAgICAgICAgICAgICAgIGlkPVwiaXRlbS1jb25maWctZmllbGRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJjb2xvclwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNvbmZpZy5jb2xvclwiXG4gICAgICAgICAgICAgICAgKGlucHV0KT1cIlxuICAgICAgICAgICAgICAgICAgY29uZmlnLm9uQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgY29uZmlnLmNvbG9yID0gJGV2ZW50LnRhcmdldC52YWx1ZVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3JhbmdlU2xpZGVyJ1wiIGNsYXNzPVwicmFuZ2Utc2xpZGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJhbmdlLXNsaWRlci1pbnB1dHMgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImNvbmZpZy5lbmFibGVNaW5cIlxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cImNvbmZpZy5zZXRFbmFibGVNaW4oJGV2ZW50LmNoZWNrZWQpXCJcbiAgICAgICAgICAgICAgICAgID48L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiY29uZmlnLmVuYWJsZU1heFwiXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiY29uZmlnLnNldEVuYWJsZU1heCgkZXZlbnQuY2hlY2tlZClcIlxuICAgICAgICAgICAgICAgICAgPjwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyYW5nZS1zbGlkZXItaW5wdXRzIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk1pblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb25maWcudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwiXG4gICAgICAgICAgICAgICAgICAgICAgY29uZmlnLnZhbHVlID0gJGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICBjb25maWcub25DaGFuZ2UoY29uZmlnKVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBzdGVwPVwiY29uZmlnLnN0ZXBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJNYXhcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc21cIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY29uZmlnLmhpZ2hWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJcbiAgICAgICAgICAgICAgICAgICAgICBjb25maWcuaGlnaFZhbHVlID0gJGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICBjb25maWcub25DaGFuZ2UoY29uZmlnKVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBzdGVwPVwiY29uZmlnLnN0ZXBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmd4LXNsaWRlclxuICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiY29uZmlnLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIFsoaGlnaFZhbHVlKV09XCJjb25maWcuaGlnaFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICh1c2VyQ2hhbmdlKT1cImNvbmZpZy5vbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIHRodW1iTGFiZWxcbiAgICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cIntcbiAgICAgICAgICAgICAgICAgICAgZmxvb3I6IGNvbmZpZy5taW4sXG4gICAgICAgICAgICAgICAgICAgIGNlaWw6IGNvbmZpZy5tYXgsXG4gICAgICAgICAgICAgICAgICAgIHN0ZXA6IGNvbmZpZy5zdGVwLFxuICAgICAgICAgICAgICAgICAgICBhbmltYXRlOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgPjwvbmd4LXNsaWRlcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiXG4gICAgICAgICAgICAgICAgaWQ9XCJpdGVtLWNvbmZpZy1maWVsZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTEwMFwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJjb25maWcub25DaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG9wdGlvblxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNpbmdsZU9wdGlvbiBvZiBjb25maWcub3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwic2luZ2xlT3B0aW9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBzaW5nbGVPcHRpb24gfX1cbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8IS0tIENvbmZpZyB0eXBlcyBFTkQgLS0+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJpY29uLXdyYXBwZXIgaWNvbi1idXR0b24gYnRuLWJsYW5rIGl0ZW0tZXhwYW5kXCJcbiAgICAgICpuZ0lmPVwiY3VycmVudE5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMFwiXG4gICAgICAoY2xpY2spPVwiY3VycmVudE5vZGUuY2hpbGRyZW5BY3RpdmUgPSAhY3VycmVudE5vZGUuY2hpbGRyZW5BY3RpdmVcIlxuICAgICAgW25nQ2xhc3NdPVwieyBleHBhbmRlZDogY3VycmVudE5vZGUuY2hpbGRyZW5BY3RpdmUgfVwiXG4gICAgICBkYXRhLXRlc3RpZD1cImRyb3Bkb3duXCJcbiAgICA+XG4gICAgICA8c3ZnPlxuICAgICAgICA8dXNlIGhyZWY9XCJhc3NldHMvaWNvbnMvZXhwYW5kLnN2ZyNleHBhbmRcIj48L3VzZT5cbiAgICAgIDwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInBob2VuaXgtbWVudS1jaGlsZHJlblwiICpuZ0lmPVwiY3VycmVudE5vZGUuY2hpbGRyZW5BY3RpdmVcIj5cbiAgPGFwcC1waG9lbml4LW1lbnUtaXRlbVxuICAgICpuZ0Zvcj1cImxldCBjaGlsZE5vZGUgb2YgY3VycmVudE5vZGUuY2hpbGRyZW5cIlxuICAgIFtjdXJyZW50Tm9kZV09XCJjaGlsZE5vZGVcIlxuICA+XG4gIDwvYXBwLXBob2VuaXgtbWVudS1pdGVtPlxuPC9kaXY+XG4iXX0=