@energinet/watt 4.1.5 → 4.1.7
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.
- package/chip/watt-menu-chip.component.d.ts +8 -25
- package/esm2022/button/watt-button.component.js +3 -3
- package/esm2022/chip/watt-date-chip.component.js +4 -4
- package/esm2022/chip/watt-date-range-chip.component.js +4 -4
- package/esm2022/chip/watt-menu-chip.component.js +29 -44
- package/esm2022/drawer/watt-drawer-heading.component.js +3 -3
- package/esm2022/drawer/watt-drawer.component.js +3 -3
- package/esm2022/dropdown/watt-dropdown.component.js +3 -3
- package/package.json +1 -1
|
@@ -1,30 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2020 Energinet DataHub A/S
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License2");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { EventEmitter } from '@angular/core';
|
|
18
1
|
import * as i0 from "@angular/core";
|
|
19
2
|
export type WattMenuChipHasPopup = 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
|
|
20
3
|
export declare class WattMenuChipComponent {
|
|
21
|
-
opened: boolean
|
|
22
|
-
disabled: boolean
|
|
23
|
-
name
|
|
24
|
-
value
|
|
25
|
-
selected: boolean
|
|
26
|
-
hasPopup: WattMenuChipHasPopup
|
|
27
|
-
|
|
4
|
+
opened: import("@angular/core").InputSignal<boolean>;
|
|
5
|
+
disabled: import("@angular/core").InputSignal<boolean>;
|
|
6
|
+
name: import("@angular/core").InputSignal<string | undefined>;
|
|
7
|
+
value: import("@angular/core").InputSignal<string | undefined>;
|
|
8
|
+
selected: import("@angular/core").InputSignal<boolean>;
|
|
9
|
+
hasPopup: import("@angular/core").InputSignal<WattMenuChipHasPopup>;
|
|
10
|
+
toggleChange: import("@angular/core").OutputEmitterRef<void>;
|
|
28
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<WattMenuChipComponent, never>;
|
|
29
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<WattMenuChipComponent, "watt-menu-chip", never, { "opened": { "alias": "opened"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "hasPopup": { "alias": "hasPopup"; "required": false; }; }, { "
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WattMenuChipComponent, "watt-menu-chip", never, { "opened": { "alias": "opened"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "hasPopup": { "alias": "hasPopup"; "required": false; "isSignal": true; }; }, { "toggleChange": "toggleChange"; }, never, ["*"], true, never>;
|
|
30
13
|
}
|
|
@@ -62,7 +62,7 @@ export class WattButtonComponent {
|
|
|
62
62
|
}
|
|
63
63
|
</div>
|
|
64
64
|
</button>
|
|
65
|
-
`, isInline: true, styles: [":root{--watt-button-color: var(--watt-color-primary);--watt-button-text-hover-color: var(--watt-color-primary-dark);--watt-button-text-focus-color: var(--watt-color-primary);--watt-button-text-transform: none;--watt-button-primary-disabled-color: var(--watt-color-neutral-grey-500)}watt-button{display:inline-block}watt-button.watt-button--primary.watt-button--disabled .mat-mdc-button.mat-primary{background-color:transparent;color:var(--watt-button-primary-disabled-color)}watt-button.watt-button--primary watt-spinner{--watt-spinner-circle-color: var(--watt-color-neutral-white)}watt-button.watt-button--primary .mat-mdc-button.mat-primary{color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);--mat-button-text-label-text-color: var(--watt-color-primary-contrast)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-secondary)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:hover,watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark)}watt-button.watt-button--secondary.watt-button--disabled .mat-mdc-button.mat-secondary{background-color:transparent;border-color:var(--watt-color-neutral-grey-300);color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary{border:1px solid var(--watt-color-primary);color:var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light);outline:1px solid var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:hover,watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light)}watt-button.watt-button--text.watt-button--disabled .mat-mdc-button.mat-text{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--text .mat-mdc-button.mat-text{color:var(--watt-button-color);text-transform:var(--watt-button-text-transform);outline:2px solid transparent}watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color);outline:2px solid var(--watt-button-text-focus-color)}watt-button.watt-button--text .mat-mdc-button.mat-text:hover,watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color)}watt-button.watt-button--icon.watt-button--disabled .mat-mdc-button.mat-icon{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--icon .mat-mdc-button.mat-icon{color:var(--watt-color-primary);padding:var(--watt-space-s)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-primary)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:hover,watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark)}watt-button.watt-button--icon .mat-mdc-button.mat-icon.mat-button{min-width:44px}watt-button .mdc-button{font-weight:600;font-size:1rem;line-height:1.5rem;padding:var(--watt-space-s) var(--watt-space-m)}watt-button .mdc-button.mat-mdc-button{min-width:44px;height:44px;--mat-button-text-label-text-tracking: 0;--mat-button-text-state-layer-color: var(--watt-ripple-color);--mat-button-text-ripple-color: var(--watt-ripple-color)}watt-button .mdc-button watt-spinner{position:absolute}watt-button .mdc-button .mat-button-focus-overlay{background:transparent}watt-button .mdc-button .mdc-button__label{display:flex;justify-content:center;align-items:center}watt-button .mdc-button .mdc-button__label .content-wrapper{display:flex;gap:var(--watt-space-s)}watt-button .mdc-button .mdc-button__label .content-wrapper--loading{visibility:hidden}watt-button .mdc-button .mdc-button__label watt-icon{margin:-5px}watt-button.watt-button-size--small .mdc-button.mat-mdc-button{height:var(--watt-space-l)}\n"], dependencies: [{ kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "component", type: WattSpinnerComponent, selector: "watt-spinner", inputs: ["diameter", "strokeWidth"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
65
|
+
`, isInline: true, styles: [":root{--watt-button-color: var(--watt-color-primary);--watt-button-text-hover-color: var(--watt-color-primary-dark);--watt-button-text-focus-color: var(--watt-color-primary);--watt-button-text-transform: none;--watt-button-primary-disabled-color: var(--watt-color-neutral-grey-500)}watt-button{display:inline-block}watt-button.watt-button--primary.watt-button--disabled .mat-mdc-button.mat-primary{background-color:transparent;color:var(--watt-button-primary-disabled-color)}watt-button.watt-button--primary watt-spinner{--watt-spinner-circle-color: var(--watt-color-neutral-white)}watt-button.watt-button--primary .mat-mdc-button.mat-primary{color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);--mat-button-text-label-text-color: var(--watt-color-primary-contrast)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-secondary)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:hover,watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark)}watt-button.watt-button--secondary.watt-button--disabled .mat-mdc-button.mat-secondary{background-color:transparent;border-color:var(--watt-color-neutral-grey-300);color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary{border:1px solid var(--watt-color-primary);color:var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light);outline:1px solid var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:hover,watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light)}watt-button.watt-button--text.watt-button--disabled .mat-mdc-button.mat-text{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--text .mat-mdc-button.mat-text{color:var(--watt-button-color);text-transform:var(--watt-button-text-transform);outline:2px solid transparent}watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color);outline:2px solid var(--watt-button-text-focus-color)}watt-button.watt-button--text .mat-mdc-button.mat-text:hover,watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color)}watt-button.watt-button--icon.watt-button--disabled .mat-mdc-button.mat-icon{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--icon .mat-mdc-button.mat-icon{color:var(--watt-color-primary);padding:var(--watt-space-s)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-primary)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:hover,watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark)}watt-button.watt-button--icon .mat-mdc-button.mat-icon.mat-button{min-width:44px}watt-button .mdc-button{font-weight:600;font-size:1rem;line-height:1.5rem;padding:var(--watt-space-s) var(--watt-space-m)}watt-button .mdc-button.mat-mdc-button{min-width:44px;height:44px;--mat-button-text-label-text-tracking: 0;--mat-button-text-state-layer-color: var(--watt-ripple-color);--mat-button-text-ripple-color: var(--watt-ripple-color)}watt-button .mdc-button watt-spinner{position:absolute}watt-button .mdc-button .mat-button-focus-overlay{background:transparent}watt-button .mdc-button .mdc-button__label{display:flex;justify-content:center;align-items:center}watt-button .mdc-button .mdc-button__label .content-wrapper{display:flex;gap:var(--watt-space-s);white-space:nowrap}watt-button .mdc-button .mdc-button__label .content-wrapper--loading{visibility:hidden}watt-button .mdc-button .mdc-button__label watt-icon{margin:-5px}watt-button.watt-button-size--small .mdc-button.mat-mdc-button{height:var(--watt-space-l)}\n"], dependencies: [{ kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "component", type: WattSpinnerComponent, selector: "watt-spinner", inputs: ["diameter", "strokeWidth"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
66
66
|
}
|
|
67
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattButtonComponent, decorators: [{
|
|
68
68
|
type: Component,
|
|
@@ -90,6 +90,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
90
90
|
}
|
|
91
91
|
</div>
|
|
92
92
|
</button>
|
|
93
|
-
`, styles: [":root{--watt-button-color: var(--watt-color-primary);--watt-button-text-hover-color: var(--watt-color-primary-dark);--watt-button-text-focus-color: var(--watt-color-primary);--watt-button-text-transform: none;--watt-button-primary-disabled-color: var(--watt-color-neutral-grey-500)}watt-button{display:inline-block}watt-button.watt-button--primary.watt-button--disabled .mat-mdc-button.mat-primary{background-color:transparent;color:var(--watt-button-primary-disabled-color)}watt-button.watt-button--primary watt-spinner{--watt-spinner-circle-color: var(--watt-color-neutral-white)}watt-button.watt-button--primary .mat-mdc-button.mat-primary{color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);--mat-button-text-label-text-color: var(--watt-color-primary-contrast)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-secondary)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:hover,watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark)}watt-button.watt-button--secondary.watt-button--disabled .mat-mdc-button.mat-secondary{background-color:transparent;border-color:var(--watt-color-neutral-grey-300);color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary{border:1px solid var(--watt-color-primary);color:var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light);outline:1px solid var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:hover,watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light)}watt-button.watt-button--text.watt-button--disabled .mat-mdc-button.mat-text{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--text .mat-mdc-button.mat-text{color:var(--watt-button-color);text-transform:var(--watt-button-text-transform);outline:2px solid transparent}watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color);outline:2px solid var(--watt-button-text-focus-color)}watt-button.watt-button--text .mat-mdc-button.mat-text:hover,watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color)}watt-button.watt-button--icon.watt-button--disabled .mat-mdc-button.mat-icon{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--icon .mat-mdc-button.mat-icon{color:var(--watt-color-primary);padding:var(--watt-space-s)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-primary)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:hover,watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark)}watt-button.watt-button--icon .mat-mdc-button.mat-icon.mat-button{min-width:44px}watt-button .mdc-button{font-weight:600;font-size:1rem;line-height:1.5rem;padding:var(--watt-space-s) var(--watt-space-m)}watt-button .mdc-button.mat-mdc-button{min-width:44px;height:44px;--mat-button-text-label-text-tracking: 0;--mat-button-text-state-layer-color: var(--watt-ripple-color);--mat-button-text-ripple-color: var(--watt-ripple-color)}watt-button .mdc-button watt-spinner{position:absolute}watt-button .mdc-button .mat-button-focus-overlay{background:transparent}watt-button .mdc-button .mdc-button__label{display:flex;justify-content:center;align-items:center}watt-button .mdc-button .mdc-button__label .content-wrapper{display:flex;gap:var(--watt-space-s)}watt-button .mdc-button .mdc-button__label .content-wrapper--loading{visibility:hidden}watt-button .mdc-button .mdc-button__label watt-icon{margin:-5px}watt-button.watt-button-size--small .mdc-button.mat-mdc-button{height:var(--watt-space-l)}\n"] }]
|
|
93
|
+
`, styles: [":root{--watt-button-color: var(--watt-color-primary);--watt-button-text-hover-color: var(--watt-color-primary-dark);--watt-button-text-focus-color: var(--watt-color-primary);--watt-button-text-transform: none;--watt-button-primary-disabled-color: var(--watt-color-neutral-grey-500)}watt-button{display:inline-block}watt-button.watt-button--primary.watt-button--disabled .mat-mdc-button.mat-primary{background-color:transparent;color:var(--watt-button-primary-disabled-color)}watt-button.watt-button--primary watt-spinner{--watt-spinner-circle-color: var(--watt-color-neutral-white)}watt-button.watt-button--primary .mat-mdc-button.mat-primary{color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);--mat-button-text-label-text-color: var(--watt-color-primary-contrast)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-secondary)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:hover,watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark)}watt-button.watt-button--secondary.watt-button--disabled .mat-mdc-button.mat-secondary{background-color:transparent;border-color:var(--watt-color-neutral-grey-300);color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary{border:1px solid var(--watt-color-primary);color:var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light);outline:1px solid var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:hover,watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light)}watt-button.watt-button--text.watt-button--disabled .mat-mdc-button.mat-text{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--text .mat-mdc-button.mat-text{color:var(--watt-button-color);text-transform:var(--watt-button-text-transform);outline:2px solid transparent}watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color);outline:2px solid var(--watt-button-text-focus-color)}watt-button.watt-button--text .mat-mdc-button.mat-text:hover,watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color)}watt-button.watt-button--icon.watt-button--disabled .mat-mdc-button.mat-icon{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--icon .mat-mdc-button.mat-icon{color:var(--watt-color-primary);padding:var(--watt-space-s)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-primary)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:hover,watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark)}watt-button.watt-button--icon .mat-mdc-button.mat-icon.mat-button{min-width:44px}watt-button .mdc-button{font-weight:600;font-size:1rem;line-height:1.5rem;padding:var(--watt-space-s) var(--watt-space-m)}watt-button .mdc-button.mat-mdc-button{min-width:44px;height:44px;--mat-button-text-label-text-tracking: 0;--mat-button-text-state-layer-color: var(--watt-ripple-color);--mat-button-text-ripple-color: var(--watt-ripple-color)}watt-button .mdc-button watt-spinner{position:absolute}watt-button .mdc-button .mat-button-focus-overlay{background:transparent}watt-button .mdc-button .mdc-button__label{display:flex;justify-content:center;align-items:center}watt-button .mdc-button .mdc-button__label .content-wrapper{display:flex;gap:var(--watt-space-s);white-space:nowrap}watt-button .mdc-button .mdc-button__label .content-wrapper--loading{visibility:hidden}watt-button .mdc-button .mdc-button__label watt-icon{margin:-5px}watt-button.watt-button-size--small .mdc-button.mat-mdc-button{height:var(--watt-space-l)}\n"] }]
|
|
94
94
|
}], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], formId: [{ type: i0.Input, args: [{ isSignal: true, alias: "formId", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvYnV0dG9uL3dhdHQtYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEdBQ3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQVksaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBRW5FLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBVSxDQUFDO0FBc0NqRixNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLElBQUksR0FBRyxLQUFLLDBEQUFZLENBQUM7SUFDekIsT0FBTyxHQUFHLEtBQUssQ0FBb0IsU0FBUyxtREFBQyxDQUFDO0lBQzlDLElBQUksR0FBRyxLQUFLLENBQWlCLFFBQVEsZ0RBQUMsQ0FBQztJQUN2QyxJQUFJLEdBQUcsS0FBSyxDQUFpQixRQUFRLGdEQUFDLENBQUM7SUFDdkMsTUFBTSxHQUFHLEtBQUssQ0FBZ0IsSUFBSSxrREFBQyxDQUFDO0lBQ3BDLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBQ3hCLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxtREFBQyxDQUFDO0lBRXZCLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxtREFBQyxDQUFDO0lBRTVGLDBGQUEwRjtJQUMxRiw0REFBNEQ7SUFDNUQsa0dBQWtHO0lBQ2xHLGlFQUFpRTtJQUNqRSxhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx5REFBQyxDQUFDO0lBRXBFOztPQUVHO0lBQ0gsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxtREFBQyxDQUFDO3VHQXBCN0IsbUJBQW1COzJGQUFuQixtQkFBbUIsa2pDQXRCcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JULHNrSUFyQlMsaUJBQWlCLGtHQUFFLG9CQUFvQiw2RkFBRSxlQUFlOzsyRkF1QnZELG1CQUFtQjtrQkFqQy9CLFNBQVM7K0JBQ0UsYUFBYSxpQkFDUixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBRXpDO3dCQUNKLFNBQVMsRUFBRSxXQUFXO3dCQUN0QiwrQkFBK0IsRUFBRSxZQUFZO3dCQUM3Qyx3QkFBd0IsRUFBRSxpQkFBaUI7cUJBQzVDLFdBQ1EsQ0FBQyxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLENBQUMsWUFDekQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JUIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHtcbiAgaW5wdXQsXG4gIGNvbXB1dGVkLFxuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgV2F0dFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvc3Bpbm5lcic7XG5pbXBvcnQgeyBXYXR0SWNvbiwgV2F0dEljb25Db21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvaWNvbic7XG5cbmV4cG9ydCBjb25zdCBXYXR0QnV0dG9uVHlwZXMgPSBbJ3ByaW1hcnknLCAnc2Vjb25kYXJ5JywgJ3RleHQnLCAnaWNvbiddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgV2F0dEJ1dHRvblZhcmlhbnQgPSAodHlwZW9mIFdhdHRCdXR0b25UeXBlcylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFdhdHRCdXR0b25UeXBlID0gJ2J1dHRvbicgfCAncmVzZXQnIHwgJ3N1Ym1pdCc7XG5leHBvcnQgdHlwZSBXYXR0QnV0dG9uU2l6ZSA9ICdzbWFsbCcgfCAnbWVkaXVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2F0dC1idXR0b24nLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3R5bGVVcmxzOiBbJy4vd2F0dC1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3NdJzogJ2NsYXNzZXMoKScsXG4gICAgJ1tjbGFzcy53YXR0LWJ1dHRvbi0tZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICdbc3R5bGUucG9pbnRlci1ldmVudHNdJzogJ3BvaW50ZXJFdmVudHMoKScsXG4gIH0sXG4gIGltcG9ydHM6IFtXYXR0SWNvbkNvbXBvbmVudCwgV2F0dFNwaW5uZXJDb21wb25lbnQsIE1hdEJ1dHRvbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWJ1dHRvblxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgW3R5cGVdPVwidHlwZSgpXCJcbiAgICAgIFtjb2xvcl09XCJ2YXJpYW50KClcIlxuICAgICAgW2F0dHIuZm9ybV09XCJ0eXBlKCkgPT09ICdzdWJtaXQnID8gZm9ybUlkKCkgOiBudWxsXCJcbiAgICA+XG4gICAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgICA8d2F0dC1zcGlubmVyIFtkaWFtZXRlcl09XCIxOFwiIC8+XG4gICAgICB9XG4gICAgICA8ZGl2IFtjbGFzcy5jb250ZW50LXdyYXBwZXJdPVwiIWxvYWRpbmcoKVwiIFtjbGFzcy5jb250ZW50LXdyYXBwZXItLWxvYWRpbmddPVwibG9hZGluZygpXCI+XG4gICAgICAgIEBpZiAoaGFzSWNvbigpKSB7XG4gICAgICAgICAgPHdhdHQtaWNvbiBbbmFtZV09XCJpY29uKClcIiAvPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAodmFyaWFudCgpICE9PSAnaWNvbicpIHtcbiAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2J1dHRvbj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dEJ1dHRvbkNvbXBvbmVudCB7XG4gIGljb24gPSBpbnB1dDxXYXR0SWNvbj4oKTtcbiAgdmFyaWFudCA9IGlucHV0PFdhdHRCdXR0b25WYXJpYW50PigncHJpbWFyeScpO1xuICBzaXplID0gaW5wdXQ8V2F0dEJ1dHRvblNpemU+KCdtZWRpdW0nKTtcbiAgdHlwZSA9IGlucHV0PFdhdHRCdXR0b25UeXBlPignYnV0dG9uJyk7XG4gIGZvcm1JZCA9IGlucHV0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgbG9hZGluZyA9IGlucHV0KGZhbHNlKTtcblxuICBjbGFzc2VzID0gY29tcHV0ZWQoKCkgPT4gYHdhdHQtYnV0dG9uLS0ke3RoaXMudmFyaWFudCgpfSB3YXR0LWJ1dHRvbi1zaXplLS0ke3RoaXMuc2l6ZSgpfWApO1xuXG4gIC8vIFByZXZlbnRzIGVtaXR0aW5nIGEgY2xpY2sgZXZlbnQgaW4gQ2hyb21lL0VkZ2UvU2FmYXJpIHdoZW4gYSBkaXNhYmxlZCBidXR0b24gaXMgY2xpY2tlZFxuICAvLyBXZWJLaXQgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkwNDFcbiAgLy8gTm90ZTogVGhpcyBzb2x1dGlvbiBpcyBwcmVmZXJyZWQgKGluIHRoaXMgcGFydGljdWxhciBjYXNlKSBvdmVyIGFkZGluZyBzdHlsaW5nIHRvIHRoZSBTY3NzIGZpbGVcbiAgLy8gYmVjYXVzZSB0aGUgcHJlc2VuY2Ugb2YgaW5saW5lIHN0eWxlcyBjYW4gYmUgdGVzdGVkIHdpdGggSmVzdC5cbiAgcG9pbnRlckV2ZW50cyA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmRpc2FibGVkKCkgPyAnbm9uZScgOiAnYXV0bycpKTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaGFzSWNvbiA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5pY29uKCkpO1xufVxuIl19
|
|
@@ -39,7 +39,7 @@ export class WattDateChipComponent {
|
|
|
39
39
|
[disabled]="disabled()"
|
|
40
40
|
[selected]="!!value()"
|
|
41
41
|
[opened]="picker.opened"
|
|
42
|
-
(
|
|
42
|
+
(toggleChange)="picker.open()"
|
|
43
43
|
>
|
|
44
44
|
<input
|
|
45
45
|
tabindex="-1"
|
|
@@ -63,7 +63,7 @@ export class WattDateChipComponent {
|
|
|
63
63
|
<ng-content ngProjectAs="watt-field-hint" select="watt-field-hint" />
|
|
64
64
|
<ng-content ngProjectAs="watt-field-error" select="watt-field-error" />
|
|
65
65
|
</watt-field>
|
|
66
|
-
`, isInline: true, styles: ["watt-date-chip input{top:0;bottom:0;height:auto;visibility:hidden}watt-date-chip watt-field label .watt-field-wrapper{background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: WattMenuChipComponent, selector: "watt-menu-chip", inputs: ["opened", "disabled", "name", "value", "selected", "hasPopup"], outputs: ["
|
|
66
|
+
`, isInline: true, styles: ["watt-date-chip input{top:0;bottom:0;height:auto;visibility:hidden}watt-date-chip watt-field label .watt-field-wrapper{background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: WattMenuChipComponent, selector: "watt-menu-chip", inputs: ["opened", "disabled", "name", "value", "selected", "hasPopup"], outputs: ["toggleChange"] }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName", "autoFocus", "showErrors"] }, { kind: "pipe", type: WattDatePipe, name: "wattDate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
67
67
|
}
|
|
68
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattDateChipComponent, decorators: [{
|
|
69
69
|
type: Component,
|
|
@@ -75,7 +75,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
75
75
|
[disabled]="disabled()"
|
|
76
76
|
[selected]="!!value()"
|
|
77
77
|
[opened]="picker.opened"
|
|
78
|
-
(
|
|
78
|
+
(toggleChange)="picker.open()"
|
|
79
79
|
>
|
|
80
80
|
<input
|
|
81
81
|
tabindex="-1"
|
|
@@ -101,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
101
101
|
</watt-field>
|
|
102
102
|
`, styles: ["watt-date-chip input{top:0;bottom:0;height:auto;visibility:hidden}watt-date-chip watt-field label .watt-field-wrapper{background-color:transparent}\n"] }]
|
|
103
103
|
}], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], formControl: [{ type: i0.Input, args: [{ isSignal: true, alias: "formControl", required: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }] } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kYXRlLWNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvY2hpcC93YXR0LWRhdGUtY2hpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBd0RuRSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBQ3hCLEtBQUssR0FBRyxLQUFLLDJEQUFVLENBQUM7SUFDeEIsV0FBVyxHQUFHLEtBQUssaUVBQVUsQ0FBQztJQUM5QixXQUFXLEdBQUcsS0FBSyxDQUFDLFFBQVEsc0RBQWUsQ0FBQztJQUM1QyxLQUFLLEdBQUcsS0FBSyxDQUFnQixJQUFJLGlEQUFDLENBQUM7SUFDbkMsZUFBZSxHQUFHLE1BQU0sRUFBUSxDQUFDO3VHQU50QixxQkFBcUI7MkZBQXJCLHFCQUFxQiw2ekJBbEN0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQ1QsOE5BbkRTLG1CQUFtQiwrVEFBRSxxQkFBcUIsK0pBQUUsa0JBQWtCLHFLQUFFLFlBQVk7OzJGQXFEM0UscUJBQXFCO2tCQXREakMsU0FBUzs4QkFDQyxDQUFDLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxZQUM3RSxnQkFBZ0IsaUJBQ1gsaUJBQWlCLENBQUMsSUFBSSxZQWlCM0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NUIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHsgaW5wdXQsIG1vZGVsLCBvdXRwdXQsIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5cbmltcG9ydCB7IFdhdHREYXRlUGlwZSB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9jb3JlL2RhdGUnO1xuaW1wb3J0IHsgV2F0dEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2ZpZWxkJztcbmltcG9ydCB7IFdhdHRNZW51Q2hpcENvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1tZW51LWNoaXAuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtNYXREYXRlcGlja2VyTW9kdWxlLCBXYXR0TWVudUNoaXBDb21wb25lbnQsIFdhdHRGaWVsZENvbXBvbmVudCwgV2F0dERhdGVQaXBlXSxcbiAgc2VsZWN0b3I6ICd3YXR0LWRhdGUtY2hpcCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIHdhdHQtZGF0ZS1jaGlwIHtcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHdhdHQtZmllbGQgbGFiZWwgLndhdHQtZmllbGQtd3JhcHBlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyIC8+XG4gICAgPHdhdHQtZmllbGQgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiIFtjaGlwTW9kZV09XCJ0cnVlXCI+XG4gICAgICA8d2F0dC1tZW51LWNoaXBcbiAgICAgICAgaGFzUG9wdXA9XCJkaWFsb2dcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgIFtzZWxlY3RlZF09XCIhIXZhbHVlKClcIlxuICAgICAgICBbb3BlbmVkXT1cInBpY2tlci5vcGVuZWRcIlxuICAgICAgICAodG9nZ2xlQ2hhbmdlKT1cInBpY2tlci5vcGVuKClcIlxuICAgICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBbdmFsdWVdPVwidmFsdWUoKVwiXG4gICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcbiAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJ2YWx1ZS5zZXQoJGV2ZW50LnZhbHVlKVwiXG4gICAgICAgICAgKGRhdGVDaGFuZ2UpPVwic2VsZWN0aW9uQ2hhbmdlLmVtaXQoJGV2ZW50LnZhbHVlKVwiXG4gICAgICAgIC8+XG4gICAgICAgIHt7IHBsYWNlaG9sZGVyKCkgfX1cbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAgQGlmICh2YWx1ZSgpKSB7XG4gICAgICAgICAgICBAaWYgKHBsYWNlaG9sZGVyKCkpIHtcbiAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAge3sgdmFsdWUoKSB8IHdhdHREYXRlIH19XG4gICAgICAgICAgfVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3dhdHQtbWVudS1jaGlwPlxuICAgICAgPG5nLWNvbnRlbnQgbmdQcm9qZWN0QXM9XCJ3YXR0LWZpZWxkLWhpbnRcIiBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWhpbnRcIiAvPlxuICAgICAgPG5nLWNvbnRlbnQgbmdQcm9qZWN0QXM9XCJ3YXR0LWZpZWxkLWVycm9yXCIgc2VsZWN0PVwid2F0dC1maWVsZC1lcnJvclwiIC8+XG4gICAgPC93YXR0LWZpZWxkPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0RGF0ZUNoaXBDb21wb25lbnQge1xuICBkaXNhYmxlZCA9IG1vZGVsKGZhbHNlKTtcbiAgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPigpO1xuICBmb3JtQ29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xuICB2YWx1ZSA9IG1vZGVsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBzZWxlY3Rpb25DaGFuZ2UgPSBvdXRwdXQ8RGF0ZT4oKTtcbn1cbiJdfQ==
|
|
@@ -98,7 +98,7 @@ export class WattDateRangeChipComponent {
|
|
|
98
98
|
[disabled]="disabled()"
|
|
99
99
|
[selected]="value()?.start && value()?.end ? true : false"
|
|
100
100
|
[opened]="picker.opened"
|
|
101
|
-
(
|
|
101
|
+
(toggleChange)="picker.open()"
|
|
102
102
|
>
|
|
103
103
|
<mat-date-range-input
|
|
104
104
|
#input
|
|
@@ -135,7 +135,7 @@ export class WattDateRangeChipComponent {
|
|
|
135
135
|
<ng-content ngProjectAs="watt-field-hint" select="watt-field-hint" />
|
|
136
136
|
<ng-content ngProjectAs="watt-field-error" select="watt-field-error" />
|
|
137
137
|
</watt-field>
|
|
138
|
-
`, isInline: true, styles: ["watt-date-range-chip mat-date-range-input{top:0;bottom:0;height:auto;visibility:hidden}watt-date-range-chip.has-placeholder .value:before{content:\":\"}watt-date-range-chip watt-field label .watt-field-wrapper{background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i1.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i1.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i1.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: i1.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i1.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName", "autoFocus", "showErrors"] }, { kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "variant", "size", "type", "formId", "disabled", "loading"] }, { kind: "component", type: WattMenuChipComponent, selector: "watt-menu-chip", inputs: ["opened", "disabled", "name", "value", "selected", "hasPopup"], outputs: ["
|
|
138
|
+
`, isInline: true, styles: ["watt-date-range-chip mat-date-range-input{top:0;bottom:0;height:auto;visibility:hidden}watt-date-range-chip.has-placeholder .value:before{content:\":\"}watt-date-range-chip watt-field label .watt-field-wrapper{background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i1.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i1.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i1.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: i1.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i1.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName", "autoFocus", "showErrors"] }, { kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "variant", "size", "type", "formId", "disabled", "loading"] }, { kind: "component", type: WattMenuChipComponent, selector: "watt-menu-chip", inputs: ["opened", "disabled", "name", "value", "selected", "hasPopup"], outputs: ["toggleChange"] }, { kind: "pipe", type: WattDatePipe, name: "wattDate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
139
139
|
}
|
|
140
140
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattDateRangeChipComponent, decorators: [{
|
|
141
141
|
type: Component,
|
|
@@ -169,7 +169,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
169
169
|
[disabled]="disabled()"
|
|
170
170
|
[selected]="value()?.start && value()?.end ? true : false"
|
|
171
171
|
[opened]="picker.opened"
|
|
172
|
-
(
|
|
172
|
+
(toggleChange)="picker.open()"
|
|
173
173
|
>
|
|
174
174
|
<mat-date-range-input
|
|
175
175
|
#input
|
|
@@ -210,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
210
210
|
'[class.has-placeholder]': 'placeholder()',
|
|
211
211
|
}, styles: ["watt-date-range-chip mat-date-range-input{top:0;bottom:0;height:auto;visibility:hidden}watt-date-range-chip.has-placeholder .value:before{content:\":\"}watt-date-range-chip watt-field label .watt-field-wrapper{background-color:transparent}\n"] }]
|
|
212
212
|
}], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], formControl: [{ type: i0.Input, args: [{ isSignal: true, alias: "formControl", required: true }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], showActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "showActions", required: false }] }], customSelectionStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "customSelectionStrategy", required: false }] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }] } });
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kYXRlLXJhbmdlLWNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvY2hpcC93YXR0LWRhdGUtcmFuZ2UtY2hpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBLE9BQU8sRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFDTCxTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLGlDQUFpQyxFQUNqQywrQkFBK0IsR0FDaEMsTUFBTSw4QkFBOEIsQ0FBQztBQUV0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBYSxNQUFNLDJCQUEyQixDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFNbkUsTUFBTSxPQUFPLDhCQUErQixTQUFRLCtCQUFxQztJQUMvRSx1QkFBdUIsQ0FBMkI7SUFFMUQsMEJBQTBCLENBQUMsUUFBaUM7UUFDMUQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFFBQVEsQ0FBQztJQUMxQyxDQUFDO0lBRVEsaUJBQWlCLENBQUMsSUFBVSxFQUFFLFlBQTZCO1FBQ2xFLElBQUksS0FBSyxHQUFvQixLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRXpFLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDakMsS0FBSyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoRyxDQUFDO0lBRVEsYUFBYSxDQUFDLFVBQXVCLEVBQUUsWUFBNkI7UUFDM0UsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDdkQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0gsQ0FBQzt1R0F2QlUsOEJBQThCOzJHQUE5Qiw4QkFBOEIsY0FGN0IsTUFBTTs7MkZBRVAsOEJBQThCO2tCQUgxQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUE0SEQsTUFBTSxPQUFPLDBCQUEwQjtJQUMzQixJQUFJLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDM0MsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUUxQyxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssb0RBQUMsQ0FBQztJQUN4QixLQUFLLEdBQUcsS0FBSywyREFBVSxDQUFDO0lBQ3hCLEtBQUssR0FBRyxLQUFLLENBQXlCLElBQUksaURBQUMsQ0FBQztJQUM1QyxXQUFXLEdBQUcsS0FBSyxDQUFDLFFBQVEsc0RBQWUsQ0FBQztJQUM1QyxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksdURBQUMsQ0FBQztJQUMxQixXQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssdURBQUMsQ0FBQztJQUMzQix1QkFBdUIsR0FBRyxLQUFLLDZFQUEwQyxDQUFDO0lBRTFFLGVBQWUsR0FBRyxNQUFNLEVBQTBCLENBQUM7SUFFbkQsaUJBQWlCO1FBQ2YsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDdEQsTUFBTSxRQUFRLEdBQUcsSUFBSSw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEUsSUFBSSxjQUFjO1lBQUUsUUFBUSxDQUFDLDBCQUEwQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQTZCO1FBQzdDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsU0FBZTtRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFvQjtRQUNoQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDL0IsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQztJQUNILENBQUM7dUdBekNVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLGtyQ0F6RjFCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlDQUFpQztnQkFDMUMsVUFBVSxFQUFFLENBQUMsSUFBZ0MsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUMxRSxJQUFJLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQzthQUNuQztTQUNGLDBCQXVCUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVEVCwwVEExRkMsbUJBQW1CLDQxQkFFbkIsa0JBQWtCLDBLQUNsQixtQkFBbUIsc0lBQ25CLHFCQUFxQixvSkFIckIsWUFBWTs7MkZBOEZILDBCQUEwQjtrQkFqR3RDLFNBQVM7OEJBQ0M7d0JBQ1AsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixxQkFBcUI7cUJBQ3RCLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlDQUFpQzs0QkFDMUMsVUFBVSxFQUFFLENBQUMsSUFBZ0MsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFOzRCQUMxRSxJQUFJLEVBQUUsNEJBQTRCO3lCQUNuQztxQkFDRixZQUNTLHNCQUFzQixpQkFDakIsaUJBQWlCLENBQUMsSUFBSSxZQXFCM0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1RFQsUUFDSzt3QkFDSix5QkFBeUIsRUFBRSxlQUFlO3FCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBMaWNlbnNlXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyNlbmRyZWdpb25cbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBvdXRwdXQsXG4gIGluamVjdCxcbiAgQ29tcG9uZW50LFxuICBJbmplY3RhYmxlLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5pbXBvcnQge1xuICBEYXRlUmFuZ2UsXG4gIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gIE1BVF9EQVRFX1JBTkdFX1NFTEVDVElPTl9TVFJBVEVHWSxcbiAgRGVmYXVsdE1hdENhbGVuZGFyUmFuZ2VTdHJhdGVneSxcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5cbmltcG9ydCB7IFdhdHRGaWVsZENvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9maWVsZCc7XG5pbXBvcnQgeyBXYXR0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2J1dHRvbic7XG5pbXBvcnQgeyBkYXlqcywgV2F0dERhdGVQaXBlLCBXYXR0UmFuZ2UgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvY29yZS9kYXRlJztcbmltcG9ydCB7IFdhdHREYXRlcGlja2VySW50bFNlcnZpY2UgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvcGlja2VyL2RhdGVwaWNrZXInO1xuXG5pbXBvcnQgeyBXYXR0TWVudUNoaXBDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtbWVudS1jaGlwLmNvbXBvbmVudCc7XG5cbnR5cGUgY3VzdG9tU2VsZWN0aW9uU3RyYXRlZ3kgPSAoZGF0ZTogRGF0ZSB8IG51bGwpID0+IERhdGVSYW5nZTxEYXRlPjtcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0RGF0ZVJhbmdlU2VsZWN0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBEZWZhdWx0TWF0Q2FsZW5kYXJSYW5nZVN0cmF0ZWd5PERhdGU+IHtcbiAgcHJpdmF0ZSBjdXN0b21TZWxlY3Rpb25TdHJhdGVneSE6IGN1c3RvbVNlbGVjdGlvblN0cmF0ZWd5O1xuXG4gIHNldEN1c3RvbVNlbGVjdGlvblN0cmF0ZWd5KHN0cmF0ZWd5OiBjdXN0b21TZWxlY3Rpb25TdHJhdGVneSkge1xuICAgIHRoaXMuY3VzdG9tU2VsZWN0aW9uU3RyYXRlZ3kgPSBzdHJhdGVneTtcbiAgfVxuXG4gIG92ZXJyaWRlIHNlbGVjdGlvbkZpbmlzaGVkKGRhdGU6IERhdGUsIGN1cnJlbnRSYW5nZTogRGF0ZVJhbmdlPERhdGU+KTogRGF0ZVJhbmdlPERhdGU+IHtcbiAgICBsZXQgcmFuZ2U6IERhdGVSYW5nZTxEYXRlPiA9IHN1cGVyLnNlbGVjdGlvbkZpbmlzaGVkKGRhdGUsIGN1cnJlbnRSYW5nZSk7XG5cbiAgICBpZiAodGhpcy5jdXN0b21TZWxlY3Rpb25TdHJhdGVneSkge1xuICAgICAgcmFuZ2UgPSB0aGlzLmN1c3RvbVNlbGVjdGlvblN0cmF0ZWd5KGRhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiByYW5nZS5lbmQgPyBuZXcgRGF0ZVJhbmdlKHJhbmdlLnN0YXJ0LCBkYXlqcyhyYW5nZS5lbmQpLmVuZE9mKCdkYXknKS50b0RhdGUoKSkgOiByYW5nZTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNyZWF0ZVByZXZpZXcoYWN0aXZlRGF0ZTogRGF0ZSB8IG51bGwsIGN1cnJlbnRSYW5nZTogRGF0ZVJhbmdlPERhdGU+KTogRGF0ZVJhbmdlPERhdGU+IHtcbiAgICBpZiAoIXRoaXMuY3VzdG9tU2VsZWN0aW9uU3RyYXRlZ3kpIHtcbiAgICAgIHJldHVybiBzdXBlci5jcmVhdGVQcmV2aWV3KGFjdGl2ZURhdGUsIGN1cnJlbnRSYW5nZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmN1c3RvbVNlbGVjdGlvblN0cmF0ZWd5KGFjdGl2ZURhdGUpO1xuICAgIH1cbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW1xuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgV2F0dERhdGVQaXBlLFxuICAgIFdhdHRGaWVsZENvbXBvbmVudCxcbiAgICBXYXR0QnV0dG9uQ29tcG9uZW50LFxuICAgIFdhdHRNZW51Q2hpcENvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTUFUX0RBVEVfUkFOR0VfU0VMRUNUSU9OX1NUUkFURUdZLFxuICAgICAgdXNlRmFjdG9yeTogKGNvbXA6IFdhdHREYXRlUmFuZ2VDaGlwQ29tcG9uZW50KSA9PiBjb21wLnNlbGVjdGlvblN0cmF0ZWd5KCksXG4gICAgICBkZXBzOiBbV2F0dERhdGVSYW5nZUNoaXBDb21wb25lbnRdLFxuICAgIH0sXG4gIF0sXG4gIHNlbGVjdG9yOiAnd2F0dC1kYXRlLXJhbmdlLWNoaXAnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICB3YXR0LWRhdGUtcmFuZ2UtY2hpcCB7XG4gICAgICAgIG1hdC1kYXRlLXJhbmdlLWlucHV0IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAmLmhhcy1wbGFjZWhvbGRlciAudmFsdWU6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJzonO1xuICAgICAgICB9XG5cbiAgICAgICAgd2F0dC1maWVsZCBsYWJlbCAud2F0dC1maWVsZC13cmFwcGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjcGlja2VyPlxuICAgICAgQGlmIChzaG93QWN0aW9ucygpKSB7XG4gICAgICAgIDxtYXQtZGF0ZS1yYW5nZS1waWNrZXItYWN0aW9ucz5cbiAgICAgICAgICA8d2F0dC1idXR0b24gdmFyaWFudD1cInRleHRcIiAoY2xpY2spPVwiY2xlYXJJbnB1dCgpXCIgaWNvbj1cInJlbW92ZVwiPnt7XG4gICAgICAgICAgICBpbnRsLmNsZWFyXG4gICAgICAgICAgfX08L3dhdHQtYnV0dG9uPlxuICAgICAgICAgIDx3YXR0LWJ1dHRvbiB2YXJpYW50PVwicHJpbWFyeVwiIG1hdERhdGVSYW5nZVBpY2tlckFwcGx5Pnt7IGludGwuc2VsZWN0IH19PC93YXR0LWJ1dHRvbj5cbiAgICAgICAgPC9tYXQtZGF0ZS1yYW5nZS1waWNrZXItYWN0aW9ucz5cbiAgICAgIH1cbiAgICA8L21hdC1kYXRlLXJhbmdlLXBpY2tlcj5cblxuICAgIDx3YXR0LWZpZWxkIFtjb250cm9sXT1cImZvcm1Db250cm9sKClcIiBbY2hpcE1vZGVdPVwidHJ1ZVwiPlxuICAgICAgPHdhdHQtbWVudS1jaGlwXG4gICAgICAgIGhhc1BvcHVwPVwiZGlhbG9nXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICBbc2VsZWN0ZWRdPVwidmFsdWUoKT8uc3RhcnQgJiYgdmFsdWUoKT8uZW5kID8gdHJ1ZSA6IGZhbHNlXCJcbiAgICAgICAgW29wZW5lZF09XCJwaWNrZXIub3BlbmVkXCJcbiAgICAgICAgKHRvZ2dsZSk9XCJwaWNrZXIub3BlbigpXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1kYXRlLXJhbmdlLWlucHV0XG4gICAgICAgICAgI2lucHV0XG4gICAgICAgICAgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgICAgICBzZXBhcmF0b3I9XCJcIlxuICAgICAgICAgIFtyYW5nZVBpY2tlcl09XCJwaWNrZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBtYXRTdGFydERhdGVcbiAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgcm9sZT1cIm5vbmVcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlKCkgPyB2YWx1ZSgpPy5zdGFydCA6IG51bGxcIlxuICAgICAgICAgICAgKGRhdGVDaGFuZ2UpPVwidXBkYXRlU3RhcnREYXRlKCRldmVudC52YWx1ZSEpXCJcbiAgICAgICAgICAgIChkYXRlQ2hhbmdlKT1cInNob3dBY3Rpb25zKCkgJiYgb25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50LnZhbHVlID8gaW5wdXQudmFsdWUhIDogbnVsbClcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBtYXRFbmREYXRlXG4gICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgIHJvbGU9XCJub25lXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZSgpID8gdmFsdWUoKT8uZW5kIDogbnVsbFwiXG4gICAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJ1cGRhdGVFbmREYXRlKCRldmVudC52YWx1ZSEpXCJcbiAgICAgICAgICAgIChkYXRlQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudC52YWx1ZSA/IGlucHV0LnZhbHVlISA6IG51bGwpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L21hdC1kYXRlLXJhbmdlLWlucHV0PlxuICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICBAaWYgKHZhbHVlKCk/LnN0YXJ0ICYmIHZhbHVlKCk/LmVuZCkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj5cbiAgICAgICAgICAgIHt7IHZhbHVlKCkgfCB3YXR0RGF0ZSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC93YXR0LW1lbnUtY2hpcD5cbiAgICAgIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwid2F0dC1maWVsZC1oaW50XCIgc2VsZWN0PVwid2F0dC1maWVsZC1oaW50XCIgLz5cbiAgICAgIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwid2F0dC1maWVsZC1lcnJvclwiIHNlbGVjdD1cIndhdHQtZmllbGQtZXJyb3JcIiAvPlxuICAgIDwvd2F0dC1maWVsZD5cbiAgYCxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuaGFzLXBsYWNlaG9sZGVyXSc6ICdwbGFjZWhvbGRlcigpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dERhdGVSYW5nZUNoaXBDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgaW50bCA9IGluamVjdChXYXR0RGF0ZXBpY2tlckludGxTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkYXRlQWRhcHRlciA9IGluamVjdChEYXRlQWRhcHRlcik7XG5cbiAgZGlzYWJsZWQgPSBtb2RlbChmYWxzZSk7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xuICB2YWx1ZSA9IG1vZGVsPFdhdHRSYW5nZTxEYXRlPiB8IG51bGw+KG51bGwpO1xuICBmb3JtQ29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xuICBwbGFjZWhvbGRlciA9IGlucHV0KHRydWUpO1xuICBzaG93QWN0aW9ucyA9IGlucHV0KGZhbHNlKTtcbiAgY3VzdG9tU2VsZWN0aW9uU3RyYXRlZ3kgPSBpbnB1dDwoZGF0ZTogRGF0ZSB8IG51bGwpID0+IERhdGVSYW5nZTxEYXRlPj4oKTtcblxuICBzZWxlY3Rpb25DaGFuZ2UgPSBvdXRwdXQ8V2F0dFJhbmdlPERhdGU+IHwgbnVsbD4oKTtcblxuICBzZWxlY3Rpb25TdHJhdGVneSgpIHtcbiAgICBjb25zdCBjdXN0b21TdHJhdGVneSA9IHRoaXMuY3VzdG9tU2VsZWN0aW9uU3RyYXRlZ3koKTtcbiAgICBjb25zdCBzdHJhdGVneSA9IG5ldyBXYXR0RGF0ZVJhbmdlU2VsZWN0aW9uU3RyYXRlZ3kodGhpcy5kYXRlQWRhcHRlcik7XG4gICAgaWYgKGN1c3RvbVN0cmF0ZWd5KSBzdHJhdGVneS5zZXRDdXN0b21TZWxlY3Rpb25TdHJhdGVneShjdXN0b21TdHJhdGVneSk7XG4gICAgcmV0dXJuIHN0cmF0ZWd5O1xuICB9XG5cbiAgY2xlYXJJbnB1dCgpIHtcbiAgICB0aGlzLnZhbHVlLnNldChudWxsKTtcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KG51bGwpO1xuICB9XG5cbiAgb25TZWxlY3Rpb25DaGFuZ2UodmFsdWU6IFdhdHRSYW5nZTxEYXRlPiB8IG51bGwpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgKHZhbHVlPy5zdGFydCAmJiB2YWx1ZT8uZW5kKSkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlU3RhcnREYXRlKHN0YXJ0RGF0ZTogRGF0ZSkge1xuICAgIHRoaXMudmFsdWUuc2V0KHsgc3RhcnQ6IHN0YXJ0RGF0ZSwgZW5kOiBudWxsIH0pO1xuICB9XG5cbiAgdXBkYXRlRW5kRGF0ZShlbmREYXRlOiBEYXRlIHwgbnVsbCkge1xuICAgIGNvbnN0IGRhdGVSYW5nZSA9IHRoaXMudmFsdWUoKTtcbiAgICBpZiAoZGF0ZVJhbmdlKSB7XG4gICAgICB0aGlzLnZhbHVlLnNldCh7IHN0YXJ0OiBkYXRlUmFuZ2Uuc3RhcnQsIGVuZDogZW5kRGF0ZSB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kYXRlLXJhbmdlLWNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvY2hpcC93YXR0LWRhdGUtcmFuZ2UtY2hpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBLE9BQU8sRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFDTCxTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLGlDQUFpQyxFQUNqQywrQkFBK0IsR0FDaEMsTUFBTSw4QkFBOEIsQ0FBQztBQUV0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBYSxNQUFNLDJCQUEyQixDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFNbkUsTUFBTSxPQUFPLDhCQUErQixTQUFRLCtCQUFxQztJQUMvRSx1QkFBdUIsQ0FBMkI7SUFFMUQsMEJBQTBCLENBQUMsUUFBaUM7UUFDMUQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFFBQVEsQ0FBQztJQUMxQyxDQUFDO0lBRVEsaUJBQWlCLENBQUMsSUFBVSxFQUFFLFlBQTZCO1FBQ2xFLElBQUksS0FBSyxHQUFvQixLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRXpFLElBQUksSUFBSSxDQUFDLHVCQUF1QixF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RyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQztJQUNILENBQUM7dUdBekNVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLGtyQ0F6RjFCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlDQUFpQztnQkFDMUMsVUFBVSxFQUFFLENBQUMsSUFBZ0MsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUMxRSxJQUFJLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQzthQUNuQztTQUNGLDBCQXVCUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVEVCwwVEExRkMsbUJBQW1CLDQxQkFFbkIsa0JBQWtCLDBLQUNsQixtQkFBbUIsc0lBQ25CLHFCQUFxQiwwSkFIckIsWUFBWTs7MkZBOEZILDBCQUEwQjtrQkFqR3RDLFNBQVM7OEJBQ0M7d0JBQ1AsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixxQkFBcUI7cUJBQ3RCLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlDQUFpQzs0QkFDMUMsVUFBVSxFQUFFLENBQUMsSUFBZ0MsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFOzRCQUMxRSxJQUFJLEVBQUUsNEJBQTRCO3lCQUNuQztxQkFDRixZQUNTLHNCQUFzQixpQkFDakIsaUJBQWlCLENBQUMsSUFBSSxZQXFCM0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1RFQsUUFDSzt3QkFDSix5QkFBeUIsRUFBRSxlQUFlO3FCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBMaWNlbnNlXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyNlbmRyZWdpb25cbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBvdXRwdXQsXG4gIGluamVjdCxcbiAgQ29tcG9uZW50LFxuICBJbmplY3RhYmxlLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5pbXBvcnQge1xuICBEYXRlUmFuZ2UsXG4gIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gIE1BVF9EQVRFX1JBTkdFX1NFTEVDVElPTl9TVFJBVEVHWSxcbiAgRGVmYXVsdE1hdENhbGVuZGFyUmFuZ2VTdHJhdGVneSxcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5cbmltcG9ydCB7IFdhdHRGaWVsZENvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9maWVsZCc7XG5pbXBvcnQgeyBXYXR0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2J1dHRvbic7XG5pbXBvcnQgeyBkYXlqcywgV2F0dERhdGVQaXBlLCBXYXR0UmFuZ2UgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvY29yZS9kYXRlJztcbmltcG9ydCB7IFdhdHREYXRlcGlja2VySW50bFNlcnZpY2UgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvcGlja2VyL2RhdGVwaWNrZXInO1xuXG5pbXBvcnQgeyBXYXR0TWVudUNoaXBDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtbWVudS1jaGlwLmNvbXBvbmVudCc7XG5cbnR5cGUgY3VzdG9tU2VsZWN0aW9uU3RyYXRlZ3kgPSAoZGF0ZTogRGF0ZSB8IG51bGwpID0+IERhdGVSYW5nZTxEYXRlPjtcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0RGF0ZVJhbmdlU2VsZWN0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBEZWZhdWx0TWF0Q2FsZW5kYXJSYW5nZVN0cmF0ZWd5PERhdGU+IHtcbiAgcHJpdmF0ZSBjdXN0b21TZWxlY3Rpb25TdHJhdGVneSE6IGN1c3RvbVNlbGVjdGlvblN0cmF0ZWd5O1xuXG4gIHNldEN1c3RvbVNlbGVjdGlvblN0cmF0ZWd5KHN0cmF0ZWd5OiBjdXN0b21TZWxlY3Rpb25TdHJhdGVneSkge1xuICAgIHRoaXMuY3VzdG9tU2VsZWN0aW9uU3RyYXRlZ3kgPSBzdHJhdGVneTtcbiAgfVxuXG4gIG92ZXJyaWRlIHNlbGVjdGlvbkZpbmlzaGVkKGRhdGU6IERhdGUsIGN1cnJlbnRSYW5nZTogRGF0ZVJhbmdlPERhdGU+KTogRGF0ZVJhbmdlPERhdGU+IHtcbiAgICBsZXQgcmFuZ2U6IERhdGVSYW5nZTxEYXRlPiA9IHN1cGVyLnNlbGVjdGlvbkZpbmlzaGVkKGRhdGUsIGN1cnJlbnRSYW5nZSk7XG5cbiAgICBpZiAodGhpcy5jdXN0b21TZWxlY3Rpb25TdHJhdGVneSkge1xuICAgICAgcmFuZ2UgPSB0aGlzLmN1c3RvbVNlbGVjdGlvblN0cmF0ZWd5KGRhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiByYW5nZS5lbmQgPyBuZXcgRGF0ZVJhbmdlKHJhbmdlLnN0YXJ0LCBkYXlqcyhyYW5nZS5lbmQpLmVuZE9mKCdkYXknKS50b0RhdGUoKSkgOiByYW5nZTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNyZWF0ZVByZXZpZXcoYWN0aXZlRGF0ZTogRGF0ZSB8IG51bGwsIGN1cnJlbnRSYW5nZTogRGF0ZVJhbmdlPERhdGU+KTogRGF0ZVJhbmdlPERhdGU+IHtcbiAgICBpZiAoIXRoaXMuY3VzdG9tU2VsZWN0aW9uU3RyYXRlZ3kpIHtcbiAgICAgIHJldHVybiBzdXBlci5jcmVhdGVQcmV2aWV3KGFjdGl2ZURhdGUsIGN1cnJlbnRSYW5nZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmN1c3RvbVNlbGVjdGlvblN0cmF0ZWd5KGFjdGl2ZURhdGUpO1xuICAgIH1cbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW1xuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgV2F0dERhdGVQaXBlLFxuICAgIFdhdHRGaWVsZENvbXBvbmVudCxcbiAgICBXYXR0QnV0dG9uQ29tcG9uZW50LFxuICAgIFdhdHRNZW51Q2hpcENvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTUFUX0RBVEVfUkFOR0VfU0VMRUNUSU9OX1NUUkFURUdZLFxuICAgICAgdXNlRmFjdG9yeTogKGNvbXA6IFdhdHREYXRlUmFuZ2VDaGlwQ29tcG9uZW50KSA9PiBjb21wLnNlbGVjdGlvblN0cmF0ZWd5KCksXG4gICAgICBkZXBzOiBbV2F0dERhdGVSYW5nZUNoaXBDb21wb25lbnRdLFxuICAgIH0sXG4gIF0sXG4gIHNlbGVjdG9yOiAnd2F0dC1kYXRlLXJhbmdlLWNoaXAnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICB3YXR0LWRhdGUtcmFuZ2UtY2hpcCB7XG4gICAgICAgIG1hdC1kYXRlLXJhbmdlLWlucHV0IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAmLmhhcy1wbGFjZWhvbGRlciAudmFsdWU6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJzonO1xuICAgICAgICB9XG5cbiAgICAgICAgd2F0dC1maWVsZCBsYWJlbCAud2F0dC1maWVsZC13cmFwcGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjcGlja2VyPlxuICAgICAgQGlmIChzaG93QWN0aW9ucygpKSB7XG4gICAgICAgIDxtYXQtZGF0ZS1yYW5nZS1waWNrZXItYWN0aW9ucz5cbiAgICAgICAgICA8d2F0dC1idXR0b24gdmFyaWFudD1cInRleHRcIiAoY2xpY2spPVwiY2xlYXJJbnB1dCgpXCIgaWNvbj1cInJlbW92ZVwiPnt7XG4gICAgICAgICAgICBpbnRsLmNsZWFyXG4gICAgICAgICAgfX08L3dhdHQtYnV0dG9uPlxuICAgICAgICAgIDx3YXR0LWJ1dHRvbiB2YXJpYW50PVwicHJpbWFyeVwiIG1hdERhdGVSYW5nZVBpY2tlckFwcGx5Pnt7IGludGwuc2VsZWN0IH19PC93YXR0LWJ1dHRvbj5cbiAgICAgICAgPC9tYXQtZGF0ZS1yYW5nZS1waWNrZXItYWN0aW9ucz5cbiAgICAgIH1cbiAgICA8L21hdC1kYXRlLXJhbmdlLXBpY2tlcj5cblxuICAgIDx3YXR0LWZpZWxkIFtjb250cm9sXT1cImZvcm1Db250cm9sKClcIiBbY2hpcE1vZGVdPVwidHJ1ZVwiPlxuICAgICAgPHdhdHQtbWVudS1jaGlwXG4gICAgICAgIGhhc1BvcHVwPVwiZGlhbG9nXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICBbc2VsZWN0ZWRdPVwidmFsdWUoKT8uc3RhcnQgJiYgdmFsdWUoKT8uZW5kID8gdHJ1ZSA6IGZhbHNlXCJcbiAgICAgICAgW29wZW5lZF09XCJwaWNrZXIub3BlbmVkXCJcbiAgICAgICAgKHRvZ2dsZUNoYW5nZSk9XCJwaWNrZXIub3BlbigpXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1kYXRlLXJhbmdlLWlucHV0XG4gICAgICAgICAgI2lucHV0XG4gICAgICAgICAgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgICAgICBzZXBhcmF0b3I9XCJcIlxuICAgICAgICAgIFtyYW5nZVBpY2tlcl09XCJwaWNrZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBtYXRTdGFydERhdGVcbiAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgcm9sZT1cIm5vbmVcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlKCkgPyB2YWx1ZSgpPy5zdGFydCA6IG51bGxcIlxuICAgICAgICAgICAgKGRhdGVDaGFuZ2UpPVwidXBkYXRlU3RhcnREYXRlKCRldmVudC52YWx1ZSEpXCJcbiAgICAgICAgICAgIChkYXRlQ2hhbmdlKT1cInNob3dBY3Rpb25zKCkgJiYgb25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50LnZhbHVlID8gaW5wdXQudmFsdWUhIDogbnVsbClcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBtYXRFbmREYXRlXG4gICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgIHJvbGU9XCJub25lXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZSgpID8gdmFsdWUoKT8uZW5kIDogbnVsbFwiXG4gICAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJ1cGRhdGVFbmREYXRlKCRldmVudC52YWx1ZSEpXCJcbiAgICAgICAgICAgIChkYXRlQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudC52YWx1ZSA/IGlucHV0LnZhbHVlISA6IG51bGwpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L21hdC1kYXRlLXJhbmdlLWlucHV0PlxuICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICBAaWYgKHZhbHVlKCk/LnN0YXJ0ICYmIHZhbHVlKCk/LmVuZCkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj5cbiAgICAgICAgICAgIHt7IHZhbHVlKCkgfCB3YXR0RGF0ZSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC93YXR0LW1lbnUtY2hpcD5cbiAgICAgIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwid2F0dC1maWVsZC1oaW50XCIgc2VsZWN0PVwid2F0dC1maWVsZC1oaW50XCIgLz5cbiAgICAgIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwid2F0dC1maWVsZC1lcnJvclwiIHNlbGVjdD1cIndhdHQtZmllbGQtZXJyb3JcIiAvPlxuICAgIDwvd2F0dC1maWVsZD5cbiAgYCxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuaGFzLXBsYWNlaG9sZGVyXSc6ICdwbGFjZWhvbGRlcigpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dERhdGVSYW5nZUNoaXBDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgaW50bCA9IGluamVjdChXYXR0RGF0ZXBpY2tlckludGxTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkYXRlQWRhcHRlciA9IGluamVjdChEYXRlQWRhcHRlcik7XG5cbiAgZGlzYWJsZWQgPSBtb2RlbChmYWxzZSk7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xuICB2YWx1ZSA9IG1vZGVsPFdhdHRSYW5nZTxEYXRlPiB8IG51bGw+KG51bGwpO1xuICBmb3JtQ29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xuICBwbGFjZWhvbGRlciA9IGlucHV0KHRydWUpO1xuICBzaG93QWN0aW9ucyA9IGlucHV0KGZhbHNlKTtcbiAgY3VzdG9tU2VsZWN0aW9uU3RyYXRlZ3kgPSBpbnB1dDwoZGF0ZTogRGF0ZSB8IG51bGwpID0+IERhdGVSYW5nZTxEYXRlPj4oKTtcblxuICBzZWxlY3Rpb25DaGFuZ2UgPSBvdXRwdXQ8V2F0dFJhbmdlPERhdGU+IHwgbnVsbD4oKTtcblxuICBzZWxlY3Rpb25TdHJhdGVneSgpIHtcbiAgICBjb25zdCBjdXN0b21TdHJhdGVneSA9IHRoaXMuY3VzdG9tU2VsZWN0aW9uU3RyYXRlZ3koKTtcbiAgICBjb25zdCBzdHJhdGVneSA9IG5ldyBXYXR0RGF0ZVJhbmdlU2VsZWN0aW9uU3RyYXRlZ3kodGhpcy5kYXRlQWRhcHRlcik7XG4gICAgaWYgKGN1c3RvbVN0cmF0ZWd5KSBzdHJhdGVneS5zZXRDdXN0b21TZWxlY3Rpb25TdHJhdGVneShjdXN0b21TdHJhdGVneSk7XG4gICAgcmV0dXJuIHN0cmF0ZWd5O1xuICB9XG5cbiAgY2xlYXJJbnB1dCgpIHtcbiAgICB0aGlzLnZhbHVlLnNldChudWxsKTtcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KG51bGwpO1xuICB9XG5cbiAgb25TZWxlY3Rpb25DaGFuZ2UodmFsdWU6IFdhdHRSYW5nZTxEYXRlPiB8IG51bGwpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgKHZhbHVlPy5zdGFydCAmJiB2YWx1ZT8uZW5kKSkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlU3RhcnREYXRlKHN0YXJ0RGF0ZTogRGF0ZSkge1xuICAgIHRoaXMudmFsdWUuc2V0KHsgc3RhcnQ6IHN0YXJ0RGF0ZSwgZW5kOiBudWxsIH0pO1xuICB9XG5cbiAgdXBkYXRlRW5kRGF0ZShlbmREYXRlOiBEYXRlIHwgbnVsbCkge1xuICAgIGNvbnN0IGRhdGVSYW5nZSA9IHRoaXMudmFsdWUoKTtcbiAgICBpZiAoZGF0ZVJhbmdlKSB7XG4gICAgICB0aGlzLnZhbHVlLnNldCh7IHN0YXJ0OiBkYXRlUmFuZ2Uuc3RhcnQsIGVuZDogZW5kRGF0ZSB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -16,29 +16,28 @@
|
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/
|
|
18
18
|
//#endregion
|
|
19
|
-
import { Component,
|
|
19
|
+
import { Component, input, output } from '@angular/core';
|
|
20
20
|
import { WattIconComponent } from '@energinet/watt/icon';
|
|
21
21
|
import { WattChipComponent } from './watt-chip.component';
|
|
22
22
|
import * as i0 from "@angular/core";
|
|
23
23
|
export class WattMenuChipComponent {
|
|
24
|
-
opened = false;
|
|
25
|
-
disabled = false;
|
|
26
|
-
name;
|
|
27
|
-
value;
|
|
28
|
-
selected = false;
|
|
29
|
-
hasPopup = 'menu';
|
|
30
|
-
|
|
31
|
-
toggle = new EventEmitter();
|
|
24
|
+
opened = input(false, ...(ngDevMode ? [{ debugName: "opened" }] : []));
|
|
25
|
+
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
26
|
+
name = input(undefined, ...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
27
|
+
value = input(undefined, ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
28
|
+
selected = input(false, ...(ngDevMode ? [{ debugName: "selected" }] : []));
|
|
29
|
+
hasPopup = input('menu', ...(ngDevMode ? [{ debugName: "hasPopup" }] : []));
|
|
30
|
+
toggleChange = output();
|
|
32
31
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattMenuChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
34
|
-
<watt-chip [disabled]="disabled" [selected]="selected">
|
|
32
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.6", type: WattMenuChipComponent, isStandalone: true, selector: "watt-menu-chip", inputs: { opened: { classPropertyName: "opened", publicName: "opened", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, hasPopup: { classPropertyName: "hasPopup", publicName: "hasPopup", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggleChange: "toggleChange" }, ngImport: i0, template: `
|
|
33
|
+
<watt-chip [disabled]="disabled()" [selected]="selected()">
|
|
35
34
|
<button
|
|
36
35
|
class="cdk-visually-hidden"
|
|
37
|
-
[attr.aria-haspopup]="hasPopup"
|
|
38
|
-
[attr.aria-expanded]="opened"
|
|
39
|
-
[attr.aria-pressed]="selected"
|
|
40
|
-
(click)="
|
|
41
|
-
[disabled]="disabled"
|
|
36
|
+
[attr.aria-haspopup]="hasPopup()"
|
|
37
|
+
[attr.aria-expanded]="opened()"
|
|
38
|
+
[attr.aria-pressed]="selected()"
|
|
39
|
+
(click)="toggleChange.emit()"
|
|
40
|
+
[disabled]="disabled()"
|
|
42
41
|
></button>
|
|
43
42
|
<ng-content />
|
|
44
43
|
<watt-icon
|
|
@@ -46,9 +45,9 @@ export class WattMenuChipComponent {
|
|
|
46
45
|
name="arrowDropDown"
|
|
47
46
|
class="menu-icon"
|
|
48
47
|
[attr.aria-hidden]="true"
|
|
49
|
-
[class.opened]="opened"
|
|
50
|
-
[class.selected]="selected"
|
|
51
|
-
[class.disabled]="disabled"
|
|
48
|
+
[class.opened]="opened()"
|
|
49
|
+
[class.selected]="selected()"
|
|
50
|
+
[class.disabled]="disabled()"
|
|
52
51
|
/>
|
|
53
52
|
</watt-chip>
|
|
54
53
|
`, isInline: true, styles: [":host{display:block}.menu-icon{margin-left:var(--watt-space-xs);transition:linear .2s all;color:var(--watt-color-primary)}.menu-icon.disabled{color:var(--watt-on-light-low-emphasis)}.opened{transform:rotate(180deg)}.selected{color:var(--watt-color-neutral-white)}.disabled{color:var(--watt-on-light-low-emphasis)}\n"], dependencies: [{ kind: "component", type: WattChipComponent, selector: "watt-chip", inputs: ["selected", "disabled", "readonly"] }, { kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }] });
|
|
@@ -56,14 +55,14 @@ export class WattMenuChipComponent {
|
|
|
56
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattMenuChipComponent, decorators: [{
|
|
57
56
|
type: Component,
|
|
58
57
|
args: [{ imports: [WattChipComponent, WattIconComponent], selector: 'watt-menu-chip', template: `
|
|
59
|
-
<watt-chip [disabled]="disabled" [selected]="selected">
|
|
58
|
+
<watt-chip [disabled]="disabled()" [selected]="selected()">
|
|
60
59
|
<button
|
|
61
60
|
class="cdk-visually-hidden"
|
|
62
|
-
[attr.aria-haspopup]="hasPopup"
|
|
63
|
-
[attr.aria-expanded]="opened"
|
|
64
|
-
[attr.aria-pressed]="selected"
|
|
65
|
-
(click)="
|
|
66
|
-
[disabled]="disabled"
|
|
61
|
+
[attr.aria-haspopup]="hasPopup()"
|
|
62
|
+
[attr.aria-expanded]="opened()"
|
|
63
|
+
[attr.aria-pressed]="selected()"
|
|
64
|
+
(click)="toggleChange.emit()"
|
|
65
|
+
[disabled]="disabled()"
|
|
67
66
|
></button>
|
|
68
67
|
<ng-content />
|
|
69
68
|
<watt-icon
|
|
@@ -71,25 +70,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
71
70
|
name="arrowDropDown"
|
|
72
71
|
class="menu-icon"
|
|
73
72
|
[attr.aria-hidden]="true"
|
|
74
|
-
[class.opened]="opened"
|
|
75
|
-
[class.selected]="selected"
|
|
76
|
-
[class.disabled]="disabled"
|
|
73
|
+
[class.opened]="opened()"
|
|
74
|
+
[class.selected]="selected()"
|
|
75
|
+
[class.disabled]="disabled()"
|
|
77
76
|
/>
|
|
78
77
|
</watt-chip>
|
|
79
78
|
`, styles: [":host{display:block}.menu-icon{margin-left:var(--watt-space-xs);transition:linear .2s all;color:var(--watt-color-primary)}.menu-icon.disabled{color:var(--watt-on-light-low-emphasis)}.opened{transform:rotate(180deg)}.selected{color:var(--watt-color-neutral-white)}.disabled{color:var(--watt-on-light-low-emphasis)}\n"] }]
|
|
80
|
-
}], propDecorators: { opened: [{
|
|
81
|
-
|
|
82
|
-
}], disabled: [{
|
|
83
|
-
type: Input
|
|
84
|
-
}], name: [{
|
|
85
|
-
type: Input
|
|
86
|
-
}], value: [{
|
|
87
|
-
type: Input
|
|
88
|
-
}], selected: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}], hasPopup: [{
|
|
91
|
-
type: Input
|
|
92
|
-
}], toggle: [{
|
|
93
|
-
type: Output
|
|
94
|
-
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1tZW51LWNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvY2hpcC93YXR0LW1lbnUtY2hpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQTJEMUQsTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ2YsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixJQUFJLENBQVU7SUFDZCxLQUFLLENBQVU7SUFDZixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFFBQVEsR0FBeUIsTUFBTSxDQUFDO0lBQ2pELDREQUE0RDtJQUNsRCxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQzt1R0FSakMscUJBQXFCOzJGQUFyQixxQkFBcUIsdU9BdkJ0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJULHFZQXBEUyxpQkFBaUIsb0dBQUUsaUJBQWlCOzsyRkFzRG5DLHFCQUFxQjtrQkF2RGpDLFNBQVM7OEJBQ0MsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxZQUNyQyxnQkFBZ0IsWUE4QmhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQ7O3NCQUdBLEtBQUs7O3NCQUNMLEtBQUs7O3NCQUNMLEtBQUs7O3NCQUNMLEtBQUs7O3NCQUNMLEtBQUs7O3NCQUNMLEtBQUs7O3NCQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBXYXR0SWNvbkNvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9pY29uJztcbmltcG9ydCB7IFdhdHRDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi93YXR0LWNoaXAuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgV2F0dE1lbnVDaGlwSGFzUG9wdXAgPSAnbWVudScgfCAnbGlzdGJveCcgfCAndHJlZScgfCAnZ3JpZCcgfCAnZGlhbG9nJztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtXYXR0Q2hpcENvbXBvbmVudCwgV2F0dEljb25Db21wb25lbnRdLFxuICBzZWxlY3RvcjogJ3dhdHQtbWVudS1jaGlwJyxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS13YXR0LXNwYWNlLXhzKTtcbiAgICAgICAgdHJhbnNpdGlvbjogbGluZWFyIDAuMnMgYWxsO1xuICAgICAgICBjb2xvcjogdmFyKC0td2F0dC1jb2xvci1wcmltYXJ5KTtcblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0td2F0dC1vbi1saWdodC1sb3ctZW1waGFzaXMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcGVuZWQge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuXG4gICAgICAuc2VsZWN0ZWQge1xuICAgICAgICBjb2xvcjogdmFyKC0td2F0dC1jb2xvci1uZXV0cmFsLXdoaXRlKTtcbiAgICAgIH1cblxuICAgICAgLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXdhdHQtb24tbGlnaHQtbG93LWVtcGhhc2lzKTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx3YXR0LWNoaXAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3NlbGVjdGVkXT1cInNlbGVjdGVkXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiXG4gICAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiaGFzUG9wdXBcIlxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm9wZW5lZFwiXG4gICAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCJzZWxlY3RlZFwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGUuZW1pdCgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgID48L2J1dHRvbj5cbiAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICA8d2F0dC1pY29uXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgbmFtZT1cImFycm93RHJvcERvd25cIlxuICAgICAgICBjbGFzcz1cIm1lbnUtaWNvblwiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cInRydWVcIlxuICAgICAgICBbY2xhc3Mub3BlbmVkXT1cIm9wZW5lZFwiXG4gICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZFwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAvPlxuICAgIDwvd2F0dC1jaGlwPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0TWVudUNoaXBDb21wb25lbnQge1xuICBASW5wdXQoKSBvcGVuZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgbmFtZT86IHN0cmluZztcbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhhc1BvcHVwOiBXYXR0TWVudUNoaXBIYXNQb3B1cCA9ICdtZW51JztcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSB0b2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG59XG4iXX0=
|
|
79
|
+
}], propDecorators: { opened: [{ type: i0.Input, args: [{ isSignal: true, alias: "opened", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], hasPopup: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasPopup", required: false }] }], toggleChange: [{ type: i0.Output, args: ["toggleChange"] }] } });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1tZW51LWNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvY2hpcC93YXR0LW1lbnUtY2hpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBMkQxRCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxrREFBQyxDQUFDO0lBQ3RCLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBQ3hCLElBQUksR0FBRyxLQUFLLENBQXFCLFNBQVMsZ0RBQUMsQ0FBQztJQUM1QyxLQUFLLEdBQUcsS0FBSyxDQUFxQixTQUFTLGlEQUFDLENBQUM7SUFDN0MsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLG9EQUFDLENBQUM7SUFDeEIsUUFBUSxHQUFHLEtBQUssQ0FBdUIsTUFBTSxvREFBQyxDQUFDO0lBQy9DLFlBQVksR0FBRyxNQUFNLEVBQVEsQ0FBQzt1R0FQbkIscUJBQXFCOzJGQUFyQixxQkFBcUIsNDJCQXZCdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVCxxWUFwRFMsaUJBQWlCLG9HQUFFLGlCQUFpQjs7MkZBc0RuQyxxQkFBcUI7a0JBdkRqQyxTQUFTOzhCQUNDLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsWUFDckMsZ0JBQWdCLFlBOEJoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJUIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFdhdHRJY29uQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2ljb24nO1xuaW1wb3J0IHsgV2F0dENoaXBDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtY2hpcC5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBXYXR0TWVudUNoaXBIYXNQb3B1cCA9ICdtZW51JyB8ICdsaXN0Ym94JyB8ICd0cmVlJyB8ICdncmlkJyB8ICdkaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW1dhdHRDaGlwQ29tcG9uZW50LCBXYXR0SWNvbkNvbXBvbmVudF0sXG4gIHNlbGVjdG9yOiAnd2F0dC1tZW51LWNoaXAnLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXdhdHQtc3BhY2UteHMpO1xuICAgICAgICB0cmFuc2l0aW9uOiBsaW5lYXIgMC4ycyBhbGw7XG4gICAgICAgIGNvbG9yOiB2YXIoLS13YXR0LWNvbG9yLXByaW1hcnkpO1xuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS13YXR0LW9uLWxpZ2h0LWxvdy1lbXBoYXNpcyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9wZW5lZCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB9XG5cbiAgICAgIC5zZWxlY3RlZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS13YXR0LWNvbG9yLW5ldXRyYWwtd2hpdGUpO1xuICAgICAgfVxuXG4gICAgICAuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogdmFyKC0td2F0dC1vbi1saWdodC1sb3ctZW1waGFzaXMpO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHdhdHQtY2hpcCBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiIFtzZWxlY3RlZF09XCJzZWxlY3RlZCgpXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiXG4gICAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiaGFzUG9wdXAoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwib3BlbmVkKClcIlxuICAgICAgICBbYXR0ci5hcmlhLXByZXNzZWRdPVwic2VsZWN0ZWQoKVwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVDaGFuZ2UuZW1pdCgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgPjwvYnV0dG9uPlxuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgIDx3YXR0LWljb25cbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBuYW1lPVwiYXJyb3dEcm9wRG93blwiXG4gICAgICAgIGNsYXNzPVwibWVudS1pY29uXCJcbiAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwidHJ1ZVwiXG4gICAgICAgIFtjbGFzcy5vcGVuZWRdPVwib3BlbmVkKClcIlxuICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWQoKVwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgIC8+XG4gICAgPC93YXR0LWNoaXA+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFdhdHRNZW51Q2hpcENvbXBvbmVudCB7XG4gIG9wZW5lZCA9IGlucHV0KGZhbHNlKTtcbiAgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIG5hbWUgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHZhbHVlID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBzZWxlY3RlZCA9IGlucHV0KGZhbHNlKTtcbiAgaGFzUG9wdXAgPSBpbnB1dDxXYXR0TWVudUNoaXBIYXNQb3B1cD4oJ21lbnUnKTtcbiAgdG9nZ2xlQ2hhbmdlID0gb3V0cHV0PHZvaWQ+KCk7XG59XG4iXX0=
|
|
@@ -20,10 +20,10 @@ import { Component, ViewEncapsulation } from '@angular/core';
|
|
|
20
20
|
import * as i0 from "@angular/core";
|
|
21
21
|
export class WattDrawerHeadingComponent {
|
|
22
22
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattDrawerHeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: WattDrawerHeadingComponent, isStandalone: true, selector: "watt-drawer-heading", ngImport: i0, template: `<ng-content />`, isInline: true, styles: ["watt-drawer-heading h1,watt-drawer-heading h2,watt-drawer-heading h3,watt-drawer-heading h4,watt-drawer-heading h5,watt-drawer-heading h6{margin:0;line-height:48px!important}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
23
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: WattDrawerHeadingComponent, isStandalone: true, selector: "watt-drawer-heading", ngImport: i0, template: `<ng-content />`, isInline: true, styles: ["watt-drawer-heading{width:100%;display:block}watt-drawer-heading h1,watt-drawer-heading h2,watt-drawer-heading h3,watt-drawer-heading h4,watt-drawer-heading h5,watt-drawer-heading h6{margin:0;line-height:48px!important}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
24
24
|
}
|
|
25
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattDrawerHeadingComponent, decorators: [{
|
|
26
26
|
type: Component,
|
|
27
|
-
args: [{ selector: 'watt-drawer-heading', encapsulation: ViewEncapsulation.None, template: `<ng-content />`, styles: ["watt-drawer-heading h1,watt-drawer-heading h2,watt-drawer-heading h3,watt-drawer-heading h4,watt-drawer-heading h5,watt-drawer-heading h6{margin:0;line-height:48px!important}\n"] }]
|
|
27
|
+
args: [{ selector: 'watt-drawer-heading', encapsulation: ViewEncapsulation.None, template: `<ng-content />`, styles: ["watt-drawer-heading{width:100%;display:block}watt-drawer-heading h1,watt-drawer-heading h2,watt-drawer-heading h3,watt-drawer-heading h4,watt-drawer-heading h5,watt-drawer-heading h6{margin:0;line-height:48px!important}\n"] }]
|
|
28
28
|
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kcmF3ZXItaGVhZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9kcmF3ZXIvd2F0dC1kcmF3ZXItaGVhZGluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXlCN0QsTUFBTSxPQUFPLDBCQUEwQjt1R0FBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEIsK0VBcEIzQixnQkFBZ0I7OzJGQW9CZiwwQkFBMEI7a0JBdkJ0QyxTQUFTOytCQUNFLHFCQUFxQixpQkFDaEIsaUJBQWlCLENBQUMsSUFBSSxZQUMzQixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhdHQtZHJhd2VyLWhlYWRpbmcnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50IC8+YCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgd2F0dC1kcmF3ZXItaGVhZGluZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgd2F0dC1kcmF3ZXItaGVhZGluZyBoMSxcbiAgICAgIHdhdHQtZHJhd2VyLWhlYWRpbmcgaDIsXG4gICAgICB3YXR0LWRyYXdlci1oZWFkaW5nIGgzLFxuICAgICAgd2F0dC1kcmF3ZXItaGVhZGluZyBoNCxcbiAgICAgIHdhdHQtZHJhd2VyLWhlYWRpbmcgaDUsXG4gICAgICB3YXR0LWRyYXdlci1oZWFkaW5nIGg2IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogNDhweCAhaW1wb3J0YW50OyAvKiBhbGlnbiB3aXRoIGFjdGlvbnMgKi9cbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0RHJhd2VySGVhZGluZ0NvbXBvbmVudCB7fVxuIl19
|
|
@@ -161,7 +161,7 @@ export class WattDrawerComponent {
|
|
|
161
161
|
this.writableIsOpen.set(false);
|
|
162
162
|
}
|
|
163
163
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
164
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: WattDrawerComponent, isStandalone: true, selector: "watt-drawer", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, autoOpen: { classPropertyName: "autoOpen", publicName: "autoOpen", isSignal: true, isRequired: false, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, animateOnKeyChange: { classPropertyName: "animateOnKeyChange", publicName: "animateOnKeyChange", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { listeners: { "document:click": "handleDocumentClick($event)", "keydown.escape": "handleEscKeyPressed()" } }, queries: [{ propertyName: "content", first: true, predicate: WattDrawerContentComponent, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "heading", first: true, predicate: WattDrawerHeadingComponent, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "topBar", first: true, predicate: WattDrawerTopbarComponent, descendants: true, read: ElementRef, isSignal: true }], viewQueries: [{ propertyName: "cdkTrapFocus", first: true, predicate: CdkTrapFocus, descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<mat-drawer-container class=\"watt-drawer-container\" [hasBackdrop]=\"false\">\n <mat-drawer\n class=\"watt-drawer watt-drawer--{{ size() }}\"\n mode=\"side\"\n position=\"end\"\n [opened]=\"isOpen()\"\n (closed)=\"closed.emit()\"\n [disableClose]=\"true\"\n [autoFocus]=\"true\"\n [cdkTrapFocus]=\"true\"\n >\n <article vater-flex fill=\"vertical\">\n <header vater-stack align=\"stretch\" offset=\"m\" gap=\"s\">\n <vater-stack direction=\"row\" offset=\"ml\" gap=\"s\" align=\"center\">\n <ng-content select=\"watt-drawer-topbar\" />\n <vater-spacer />\n <watt-button variant=\"icon\" icon=\"close\" (click)=\"close()\" />\n </vater-stack>\n <vater-
|
|
164
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: WattDrawerComponent, isStandalone: true, selector: "watt-drawer", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, autoOpen: { classPropertyName: "autoOpen", publicName: "autoOpen", isSignal: true, isRequired: false, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, animateOnKeyChange: { classPropertyName: "animateOnKeyChange", publicName: "animateOnKeyChange", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { listeners: { "document:click": "handleDocumentClick($event)", "keydown.escape": "handleEscKeyPressed()" } }, queries: [{ propertyName: "content", first: true, predicate: WattDrawerContentComponent, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "heading", first: true, predicate: WattDrawerHeadingComponent, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "topBar", first: true, predicate: WattDrawerTopbarComponent, descendants: true, read: ElementRef, isSignal: true }], viewQueries: [{ propertyName: "cdkTrapFocus", first: true, predicate: CdkTrapFocus, descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<mat-drawer-container class=\"watt-drawer-container\" [hasBackdrop]=\"false\">\n <mat-drawer\n class=\"watt-drawer watt-drawer--{{ size() }}\"\n mode=\"side\"\n position=\"end\"\n [opened]=\"isOpen()\"\n (closed)=\"closed.emit()\"\n [disableClose]=\"true\"\n [autoFocus]=\"true\"\n [cdkTrapFocus]=\"true\"\n >\n <article vater-flex fill=\"vertical\">\n <header vater-stack align=\"stretch\" offset=\"m\" gap=\"s\">\n <vater-stack direction=\"row\" offset=\"ml\" gap=\"s\" align=\"center\">\n <ng-content select=\"watt-drawer-topbar\" />\n <vater-spacer />\n <watt-button variant=\"icon\" icon=\"close\" (click)=\"close()\" />\n </vater-stack>\n <vater-flex\n autoSize\n direction=\"row\"\n offset=\"ml\"\n justify=\"space-between\"\n gap=\"s\"\n align=\"center\"\n >\n <ng-content select=\"watt-drawer-heading\" />\n <ng-content select=\"watt-drawer-actions\" />\n </vater-flex>\n </header>\n <ng-content />\n <ng-content select=\"watt-drawer-content\" />\n </article>\n\n @if (loading()) {\n <div class=\"watt-drawer__spinner\">\n <watt-spinner />\n </div>\n }\n </mat-drawer>\n</mat-drawer-container>\n", styles: [":host{display:block}.watt-drawer-container{box-shadow:0 4px 64px 3px #2e323440;height:100vh;position:fixed;right:0;top:0;width:auto;z-index:500}.watt-drawer--small{width:460px;max-width:100vw}.watt-drawer--normal{width:906px;max-width:100vw}.watt-drawer--large{width:1174px;max-width:100vw}.watt-drawer header{flex:0;border-bottom:1px solid var(--watt-color-neutral-grey-300)}.watt-drawer__spinner{z-index:1;position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background-color:var(--watt-color-neutral-white);opacity:.5}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i2.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i2.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: VaterFlexComponent, selector: "vater-flex, [vater-flex]", inputs: ["autoSize"] }, { kind: "component", type: VaterStackComponent, selector: "vater-stack, [vater-stack]" }, { kind: "component", type: VaterSpacerComponent, selector: "vater-spacer, [vater-spacer]" }, { kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "variant", "size", "type", "formId", "disabled", "loading"] }, { kind: "component", type: WattSpinnerComponent, selector: "watt-spinner", inputs: ["diameter", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
165
165
|
}
|
|
166
166
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattDrawerComponent, decorators: [{
|
|
167
167
|
type: Component,
|
|
@@ -177,7 +177,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
177
177
|
VaterUtilityDirective,
|
|
178
178
|
WattButtonComponent,
|
|
179
179
|
WattSpinnerComponent,
|
|
180
|
-
], template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<mat-drawer-container class=\"watt-drawer-container\" [hasBackdrop]=\"false\">\n <mat-drawer\n class=\"watt-drawer watt-drawer--{{ size() }}\"\n mode=\"side\"\n position=\"end\"\n [opened]=\"isOpen()\"\n (closed)=\"closed.emit()\"\n [disableClose]=\"true\"\n [autoFocus]=\"true\"\n [cdkTrapFocus]=\"true\"\n >\n <article vater-flex fill=\"vertical\">\n <header vater-stack align=\"stretch\" offset=\"m\" gap=\"s\">\n <vater-stack direction=\"row\" offset=\"ml\" gap=\"s\" align=\"center\">\n <ng-content select=\"watt-drawer-topbar\" />\n <vater-spacer />\n <watt-button variant=\"icon\" icon=\"close\" (click)=\"close()\" />\n </vater-stack>\n <vater-
|
|
180
|
+
], template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<mat-drawer-container class=\"watt-drawer-container\" [hasBackdrop]=\"false\">\n <mat-drawer\n class=\"watt-drawer watt-drawer--{{ size() }}\"\n mode=\"side\"\n position=\"end\"\n [opened]=\"isOpen()\"\n (closed)=\"closed.emit()\"\n [disableClose]=\"true\"\n [autoFocus]=\"true\"\n [cdkTrapFocus]=\"true\"\n >\n <article vater-flex fill=\"vertical\">\n <header vater-stack align=\"stretch\" offset=\"m\" gap=\"s\">\n <vater-stack direction=\"row\" offset=\"ml\" gap=\"s\" align=\"center\">\n <ng-content select=\"watt-drawer-topbar\" />\n <vater-spacer />\n <watt-button variant=\"icon\" icon=\"close\" (click)=\"close()\" />\n </vater-stack>\n <vater-flex\n autoSize\n direction=\"row\"\n offset=\"ml\"\n justify=\"space-between\"\n gap=\"s\"\n align=\"center\"\n >\n <ng-content select=\"watt-drawer-heading\" />\n <ng-content select=\"watt-drawer-actions\" />\n </vater-flex>\n </header>\n <ng-content />\n <ng-content select=\"watt-drawer-content\" />\n </article>\n\n @if (loading()) {\n <div class=\"watt-drawer__spinner\">\n <watt-spinner />\n </div>\n }\n </mat-drawer>\n</mat-drawer-container>\n", styles: [":host{display:block}.watt-drawer-container{box-shadow:0 4px 64px 3px #2e323440;height:100vh;position:fixed;right:0;top:0;width:auto;z-index:500}.watt-drawer--small{width:460px;max-width:100vw}.watt-drawer--normal{width:906px;max-width:100vw}.watt-drawer--large{width:1174px;max-width:100vw}.watt-drawer header{flex:0;border-bottom:1px solid var(--watt-color-neutral-grey-300)}.watt-drawer__spinner{z-index:1;position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background-color:var(--watt-color-neutral-white);opacity:.5}\n"] }]
|
|
181
181
|
}], ctorParameters: () => [], propDecorators: { content: [{ type: i0.ContentChild, args: [i0.forwardRef(() => WattDrawerContentComponent), { ...{ read: ElementRef }, isSignal: true }] }], heading: [{ type: i0.ContentChild, args: [i0.forwardRef(() => WattDrawerHeadingComponent), { ...{ read: ElementRef }, isSignal: true }] }], topBar: [{ type: i0.ContentChild, args: [i0.forwardRef(() => WattDrawerTopbarComponent), { ...{ read: ElementRef }, isSignal: true }] }], cdkTrapFocus: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkTrapFocus), { isSignal: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], autoOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoOpen", required: false }] }], key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], animateOnKeyChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "animateOnKeyChange", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }] } });
|
|
182
182
|
export const WATT_DRAWER = [
|
|
183
183
|
WattDrawerComponent,
|
|
@@ -186,4 +186,4 @@ export const WATT_DRAWER = [
|
|
|
186
186
|
WattDrawerContentComponent,
|
|
187
187
|
WattDrawerHeadingComponent,
|
|
188
188
|
];
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvZHJhd2VyL3dhdHQtZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL2RyYXdlci93YXR0LWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULFVBQVUsRUFDVix1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3RCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFD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LG1CQUFtQix1RUFDbkIsb0JBQW9CLHlFQUVwQixtQkFBbUIsc0lBQ25CLG9CQUFvQjs7MkZBR1gsbUJBQW1CO2tCQXBCL0IsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGFBQWEsUUFHakI7d0JBQ0osa0JBQWtCLEVBQUUsNkJBQTZCO3dCQUNqRCxrQkFBa0IsRUFBRSx1QkFBdUI7cUJBQzVDLFdBQ1E7d0JBQ1AsVUFBVTt3QkFDVixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixvQkFBb0I7cUJBQ3JCO3NIQUs4QiwwQkFBMEIsUUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsc0ZBQ2hELDBCQUEwQixRQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxxRkFDakQseUJBQXlCLFFBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLHdGQUNuQyxZQUFZO0FBc0l4RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLDBCQUEwQjtDQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHtcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgdmlld0NoaWxkLFxuICBFbGVtZW50UmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbnRlbnRDaGlsZCxcbiAgZWZmZWN0LFxuICBhZnRlclJlbmRlckVmZmVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDZGtUcmFwRm9jdXMsIEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBNYXRTaWRlbmF2TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5cbmltcG9ydCB7XG4gIFZhdGVyRmxleENvbXBvbmVudCxcbiAgVmF0ZXJTcGFjZXJDb21wb25lbnQsXG4gIFZhdGVyU3RhY2tDb21wb25lbnQsXG4gIFZhdGVyVXRpbGl0eURpcmVjdGl2ZSxcbn0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L3ZhdGVyJztcbmltcG9ydCB7IFdhdHRCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvYnV0dG9uJztcbmltcG9ydCB7IFdhdHRTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L3NwaW5uZXInO1xuXG5pbXBvcnQgeyBXYXR0RHJhd2VyVG9wYmFyQ29tcG9uZW50IH0gZnJvbSAnLi93YXR0LWRyYXdlci10b3BiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFdhdHREcmF3ZXJBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi93YXR0LWRyYXdlci1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXYXR0RHJhd2VyQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1kcmF3ZXItY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2F0dERyYXdlckhlYWRpbmdDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtZHJhd2VyLWhlYWRpbmcuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgV2F0dERyYXdlclNpemUgPSAnc21hbGwnIHwgJ25vcm1hbCcgfCAnbGFyZ2UnO1xuXG5jb25zdCBBUFBFQVJfQU5JTUFUSU9OX0RFTEFZID0gMjUwO1xuY29uc3QgQVBQRUFSX0FOSU1BVElPTl9GUkFNRVMgPSB7XG4gIHRyYW5zZm9ybTogWyd0cmFuc2xhdGVYKDMwcHgpJywgJ3RyYW5zbGF0ZVgoMCknXSxcbiAgb3BhY2l0eTogWycwJywgJzEnXSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc2VsZWN0b3I6ICd3YXR0LWRyYXdlcicsXG4gIHN0eWxlVXJsczogWycuL3dhdHQtZHJhd2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi93YXR0LWRyYXdlci5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHtcbiAgICAnKGRvY3VtZW50OmNsaWNrKSc6ICdoYW5kbGVEb2N1bWVudENsaWNrKCRldmVudCknLFxuICAgICcoa2V5ZG93bi5lc2NhcGUpJzogJ2hhbmRsZUVzY0tleVByZXNzZWQoKScsXG4gIH0sXG4gIGltcG9ydHM6IFtcbiAgICBBMTF5TW9kdWxlLFxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgVmF0ZXJGbGV4Q29tcG9uZW50LFxuICAgIFZhdGVyU3RhY2tDb21wb25lbnQsXG4gICAgVmF0ZXJTcGFjZXJDb21wb25lbnQsXG4gICAgVmF0ZXJVdGlsaXR5RGlyZWN0aXZlLFxuICAgIFdhdHRCdXR0b25Db21wb25lbnQsXG4gICAgV2F0dFNwaW5uZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFdhdHREcmF3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgb3ZlcmxheUNvbnRhaW5lciA9IGluamVjdChPdmVybGF5Q29udGFpbmVyKTtcbiAgcHJpdmF0ZSBjb250ZW50ID0gY29udGVudENoaWxkKFdhdHREcmF3ZXJDb250ZW50Q29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG4gIHByaXZhdGUgaGVhZGluZyA9IGNvbnRlbnRDaGlsZChXYXR0RHJhd2VySGVhZGluZ0NvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuICBwcml2YXRlIHRvcEJhciA9IGNvbnRlbnRDaGlsZChXYXR0RHJhd2VyVG9wYmFyQ29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG4gIHByaXZhdGUgY2RrVHJhcEZvY3VzID0gdmlld0NoaWxkLnJlcXVpcmVkKENka1RyYXBGb2N1cyk7XG4gIHByaXZhdGUgYnlwYXNzQ2xpY2tDaGVjayA9IGZhbHNlO1xuICBwcml2YXRlIHdyaXRhYmxlSXNPcGVuID0gc2lnbmFsKGZhbHNlKTtcblxuICAvLyBNdWx0aXBsZSBkcmF3ZXJzIG9wZW4gYXQgdGhlIHNhbWUgdGltZSBhcmUgbm90IGFsbG93ZWQuIFRoaXMga2VlcHMgdHJhY2sgb2ZcbiAgLy8gdGhlIGN1cnJlbnRseSBvcGVuZWQgZHJhd2VyIGFuZCBjbG9zZXMgaXQgd2hlbiBhIG5ldyBkcmF3ZXIgaXMgb3BlbmVkLlxuICBwcml2YXRlIHN0YXRpYyBjdXJyZW50RHJhd2VyPzogV2F0dERyYXdlckNvbXBvbmVudDtcblxuICAvKiogVXNlZCB0byBhZGp1c3QgZHJhd2VyIHNpemUgdG8gYmVzdCBmaXQgdGhlIGNvbnRlbnQuICovXG4gIHNpemUgPSBpbnB1dDxXYXR0RHJhd2VyU2l6ZT4oJ25vcm1hbCcpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBkcmF3ZXIgc2hvdWxkIG9wZW4gYXV0b21hdGljYWxseS4gSWYgYGtleWAgaXMgcHJvdmlkZWQgYW5kXG4gICAqIGBhdXRvT3BlbmAgaXMgdHJ1ZSwgdGhlIGRyYXdlciB3aWxsIG9wZW4gZXZlcnkgdGltZSB0aGUga2V5IGNoYW5nZXMuXG4gICAqL1xuICBhdXRvT3BlbiA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAvKipcbiAgICogVXNlZCB0byB0cmFjayB0aGUgY3VycmVudCBkcmF3ZXIgd2hlbiByZXVzaW5nIHRoZSBzYW1lIGRyYXdlciBpbnN0YW5jZSB0b1xuICAgKiByZW5kZXIgZGlmZmVyZW50IGNvbnRlbnQuIFRoaXMgaXMgcmVxdWlyZWQgd2hlbiBpbnRlcmFjdGlvbnMgb3V0c2lkZSB0aGVcbiAgICogZHJhd2VyIHNob3VsZCByZXN1bHQgaW4gdXBkYXRpbmcgdGhlIGRyYXdlcidzIGNvbnRlbnQgaW5zdGVhZCBvZiBjbG9zaW5nIGl0LlxuICAgKi9cbiAga2V5ID0gaW5wdXQ8dW5rbm93bj4oKTtcblxuICAvKiogV2hldGhlciB0aGUgZHJhd2VyIHNob3VsZCBzaG93IGEgbG9hZGluZyBzdGF0ZS4gKi9cbiAgbG9hZGluZyA9IGlucHV0KGZhbHNlKTtcblxuICAvKiogQWRkcyBhIGJyaWVmIGFuaW1hdGlvbiB0byBpbmRpY2F0ZSB0aGF0IHRoZSBjb250ZW50IGhhcyBjaGFuZ2VkLiAqL1xuICBhbmltYXRlT25LZXlDaGFuZ2UgPSBpbnB1dChmYWxzZSk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBkcmF3ZXIgaXMgZnVsbHkgY2xvc2VkLiAqL1xuICBjbG9zZWQgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICAvKiogV2hldGhlciB0aGUgZHJhd2VyIGlzIG9wZW4uICAqL1xuICBpc09wZW4gPSB0aGlzLndyaXRhYmxlSXNPcGVuLmFzUmVhZG9ubHkoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZnRlclJlbmRlckVmZmVjdCh7XG4gICAgICByZWFkOiAoKSA9PiB7XG4gICAgICAgIHRoaXMua2V5KCk7XG4gICAgICAgIGlmICh0aGlzLmF1dG9PcGVuKCkpIHRoaXMub3BlbigpO1xuICAgICAgICBpZiAoIXRoaXMuYW5pbWF0ZU9uS2V5Q2hhbmdlKCkpIHJldHVybjtcbiAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHJldHVybjtcbiAgICAgICAgICB0aGlzLmNvbnRlbnQoKT8ubmF0aXZlRWxlbWVudC5hbmltYXRlKEFQUEVBUl9BTklNQVRJT05fRlJBTUVTLCBBUFBFQVJfQU5JTUFUSU9OX0RFTEFZKTtcbiAgICAgICAgICB0aGlzLmhlYWRpbmcoKT8ubmF0aXZlRWxlbWVudC5hbmltYXRlKEFQUEVBUl9BTklNQVRJT05fRlJBTUVTLCBBUFBFQVJfQU5JTUFUSU9OX0RFTEFZKTtcbiAgICAgICAgICB0aGlzLnRvcEJhcigpPy5uYXRpdmVFbGVtZW50LmFuaW1hdGUoQVBQRUFSX0FOSU1BVElPTl9GUkFNRVMsIEFQUEVBUl9BTklNQVRJT05fREVMQVkpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBXaG8gZG9lc24ndCBsb3ZlIGEgZ29vZCB3b3JrYXJvdW5kLCByaWdodD9cbiAgICAvLyBMZXQncyBtYWtlIHRoZSBkcmF3ZXIgcmVzaXplIGl0c2VsZiB3aGVuZXZlciB0aGUgYHNpemVgIGlucHV0IGNoYW5nZXMuXG4gICAgLy9cbiAgICAvLyBUaGUgYG1hdC1kcmF3ZXJgIGNvbXBvbmVudCBvZmZlcnMgdGhlIGBhdXRvc2l6ZWAgaW5wdXQgZm9yIHRoaXMuXG4gICAgLy8gSG93ZXZlciwgaXQgaXMgc3BlY2lmaWNhbGx5IG1lbnRpb25lZCB0aGF0IHRoaXMgb3B0aW9ucyBzaG91bGQgYmUgdXNlZCBhdCBvd24gcmlzayxcbiAgICAvLyBhcyBpdCBjb3VsZCBjYXVzZSBwZXJmb3JtYW5jZSBpc3N1ZXMuXG4gICAgLy8gU2VlOiBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuZGV2L2NvbXBvbmVudHMvc2lkZW5hdi9vdmVydmlldyNyZXNpemluZy1hbi1vcGVuLXNpZGVuYXZcbiAgICAvL1xuICAgIC8vIFNvIHRvIHdvcmsgYXJvdW5kIHRoaXMsIGEgc2ltcGxlIGByZXNpemVgIGV2ZW50IGlzIGRpc3BhdGNoZWQgd2hlbmV2ZXIgdGhlIGBzaXplYCBpbnB1dCBjaGFuZ2VzLlxuICAgIC8vIFRoaXMgd29ya3MgYmVjYXVzZSBgbWF0LWRyYXdlcmAgdXNlcyBgVmlld3BvcnRSdWxlcmAgZnJvbSBgQGFuZ3VsYXIvY2RrL3Njcm9sbGluZ2BcbiAgICAvLyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi8xOS4yLjEvc3JjL21hdGVyaWFsL3NpZGVuYXYvZHJhd2VyLnRzI0w4MTEtTDgxNilcbiAgICAvLyB0byBsaXN0ZW4gdG8gYHJlc2l6ZWAgZXZlbnRzIGFuZCByZS1jYWxjdWxhdGVzIG1hcmdpbnMgYXBwbGllZCB0byB0aGUgZHJhd2VyIGNvbnRlbnRcbiAgICAvLyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi8yMC4wLjAtcmMuMi9zcmMvY2RrL3Njcm9sbGluZy92aWV3cG9ydC1ydWxlci50cyNMNTAtTDUzKS5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5zaXplKCk7XG5cbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdyZXNpemUnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgaGFuZGxlRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIC8vIFByZXZlbnQgY2xvc2luZyB3aGVuIHRoZSBjbGljayB0cmlnZ2VyZWQgYSBjYWxsIHRvIGBvcGVuYFxuICAgIGlmICh0aGlzLmJ5cGFzc0NsaWNrQ2hlY2spIHJldHVybjtcblxuICAgIC8vIENoZWNrIGlmIHRoZSBjbGljayBvcmlnaW5hdGVkIGZyb20gd2l0aGluIHRoZSBkcmF3ZXIgZWxlbWVudFxuICAgIGNvbnN0IGlzQ2xpY2tJbnNpZGUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpO1xuICAgIGlmIChpc0NsaWNrSW5zaWRlKSByZXR1cm47XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgY2xpY2sgb3JpZ2luYXRlZCBmcm9tIHdpdGhpbiBhbiBvdmVybGF5IChzdWNoIGFzIGEgbW9kYWwpXG4gICAgY29uc3Qgb3ZlcmxheUNvbnRhaW5lckVsID0gdGhpcy5vdmVybGF5Q29udGFpbmVyLmdldENvbnRhaW5lckVsZW1lbnQoKTtcbiAgICBjb25zdCBpc092ZXJsYXlDbGljayA9IG92ZXJsYXlDb250YWluZXJFbC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSk7XG4gICAgaWYgKGlzT3ZlcmxheUNsaWNrKSByZXR1cm47XG5cbiAgICAvLyBDbGljayBpcyBhbGxvd2VkIHRvIGNsb3NlIHRoZSBkcmF3ZXIgbm93XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgaGFuZGxlRXNjS2V5UHJlc3NlZCgpIHtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAoV2F0dERyYXdlckNvbXBvbmVudC5jdXJyZW50RHJhd2VyID09PSB0aGlzKSB7XG4gICAgICBXYXR0RHJhd2VyQ29tcG9uZW50LmN1cnJlbnREcmF3ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqIE9wZW5zIHRoZSBkcmF3ZXIuIFN1YnNlcXVlbnQgY2FsbHMgYXJlIGlnbm9yZWQgd2hpbGUgdGhlIGRyYXdlciBpcyBvcGVuZWQuICovXG4gIG9wZW4oKSB7XG4gICAgLy8gVHJhcCBmb2N1cyB3aGVuZXZlciBvcGVuIGlzIGNhbGxlZC4gVGhpcyBkb2Vzbid0IHdvcmsgb24gdGhlXG4gICAgLy8gaW5pdGlhbCBjYWxsICh3aGVuIGZpcnN0IG9wZW5pbmcgdGhlIGRyYXdlciksIGJ1dCB0aGlzIGlzXG4gICAgLy8gaGFuZGxlZCBieSB0aGUgYXV0b0ZvY3VzIHByb3BlcnR5IG9uIG1hdC1kcmF3ZXIuXG4gICAgdGhpcy5jZGtUcmFwRm9jdXMoKS5mb2N1c1RyYXAuZm9jdXNJbml0aWFsRWxlbWVudFdoZW5SZWFkeSgpO1xuXG4gICAgLy8gRGlzYWJsZSBjbGljayBvdXRzaWRlIGNoZWNrIHVudGlsIHRoZSBjdXJyZW50IGV2ZW50IGxvb3AgaXMgZmluaXNoZWQuXG4gICAgLy8gVGhpcyBtaWdodCBzZWVtIGhhY2tpc2gsIGJ1dCB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uIGlzIHN0YWJsZSBoZXJlLlxuICAgIC8vIEFsc28gcHJldmVudHMgYW4gaXNzdWUgd2hlbiB0aGUgZHJhd2VyIGlzIGRlc3Ryb3llZCBhbmQgdGhlbiByZWNyZWF0ZWQsXG4gICAgLy8gY2F1c2luZyB0aGUgY2xpY2sgb3V0c2lkZSBjaGVjayB0byB0cmlnZ2VyIGltbWVkaWF0ZWx5IGlmIHRoZSBkcmF3ZXJcbiAgICAvLyBpcyBjcmVhdGVkIGFuZCBvcGVuZWQgaW4gcmVzcG9uc2UgdG8gYSBjbGljayBldmVudC5cbiAgICB0aGlzLmJ5cGFzc0NsaWNrQ2hlY2sgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5ieXBhc3NDbGlja0NoZWNrID0gZmFsc2U7XG4gICAgfSwgMCk7XG5cbiAgICAvLyBXaXRob3V0IGB1bnRyYWNrZWRgLCBpZiB0aGlzIGlzIGNhbGxlZCBpbiBhIHJlYWN0aXZlIGNvbnRleHQgKHN1Y2ggYXMgYW4gYGVmZmVjdGApLFxuICAgIC8vIGl0IHdpbGwgYmUgdHJpZ2dlcmVkIHR3aWNlIGR1ZSB0byBgaXNPcGVuYCBiZWluZyB0cmFja2VkIGFuZCBpbW1lZGlhdGVseSB1cGRhdGVkLlxuICAgIGlmICh1bnRyYWNrZWQodGhpcy5pc09wZW4pKSByZXR1cm47XG4gICAgV2F0dERyYXdlckNvbXBvbmVudC5jdXJyZW50RHJhd2VyPy5jbG9zZSgpO1xuICAgIFdhdHREcmF3ZXJDb21wb25lbnQuY3VycmVudERyYXdlciA9IHRoaXM7XG4gICAgdGhpcy53cml0YWJsZUlzT3Blbi5zZXQodHJ1ZSk7XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBkcmF3ZXIuICovXG4gIGNsb3NlKCkge1xuICAgIGlmICghdW50cmFja2VkKHRoaXMuaXNPcGVuKSkgcmV0dXJuO1xuICAgIFdhdHREcmF3ZXJDb21wb25lbnQuY3VycmVudERyYXdlciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLndyaXRhYmxlSXNPcGVuLnNldChmYWxzZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IFdBVFRfRFJBV0VSID0gW1xuICBXYXR0RHJhd2VyQ29tcG9uZW50LFxuICBXYXR0RHJhd2VyVG9wYmFyQ29tcG9uZW50LFxuICBXYXR0RHJhd2VyQWN0aW9uc0NvbXBvbmVudCxcbiAgV2F0dERyYXdlckNvbnRlbnRDb21wb25lbnQsXG4gIFdhdHREcmF3ZXJIZWFkaW5nQ29tcG9uZW50LFxuXTtcbiIsIjwhLS1cbkBsaWNlbnNlXG5Db3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS0+XG48bWF0LWRyYXdlci1jb250YWluZXIgY2xhc3M9XCJ3YXR0LWRyYXdlci1jb250YWluZXJcIiBbaGFzQmFja2Ryb3BdPVwiZmFsc2VcIj5cbiAgPG1hdC1kcmF3ZXJcbiAgICBjbGFzcz1cIndhdHQtZHJhd2VyIHdhdHQtZHJhd2VyLS17eyBzaXplKCkgfX1cIlxuICAgIG1vZGU9XCJzaWRlXCJcbiAgICBwb3NpdGlvbj1cImVuZFwiXG4gICAgW29wZW5lZF09XCJpc09wZW4oKVwiXG4gICAgKGNsb3NlZCk9XCJjbG9zZWQuZW1pdCgpXCJcbiAgICBbZGlzYWJsZUNsb3NlXT1cInRydWVcIlxuICAgIFthdXRvRm9jdXNdPVwidHJ1ZVwiXG4gICAgW2Nka1RyYXBGb2N1c109XCJ0cnVlXCJcbiAgPlxuICAgIDxhcnRpY2xlIHZhdGVyLWZsZXggZmlsbD1cInZlcnRpY2FsXCI+XG4gICAgICA8aGVhZGVyIHZhdGVyLXN0YWNrIGFsaWduPVwic3RyZXRjaFwiIG9mZnNldD1cIm1cIiBnYXA9XCJzXCI+XG4gICAgICAgIDx2YXRlci1zdGFjayBkaXJlY3Rpb249XCJyb3dcIiBvZmZzZXQ9XCJtbFwiIGdhcD1cInNcIiBhbGlnbj1cImNlbnRlclwiPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZHJhd2VyLXRvcGJhclwiIC8+XG4gICAgICAgICAgPHZhdGVyLXNwYWNlciAvPlxuICAgICAgICAgIDx3YXR0LWJ1dHRvbiB2YXJpYW50PVwiaWNvblwiIGljb249XCJjbG9zZVwiIChjbGljayk9XCJjbG9zZSgpXCIgLz5cbiAgICAgICAgPC92YXRlci1zdGFjaz5cbiAgICAgICAgPHZhdGVyLXN0YWNrIGRpcmVjdGlvbj1cInJvd1wiIG9mZnNldD1cIm1sXCIganVzdGlmeT1cInNwYWNlLWJldHdlZW5cIiBnYXA9XCJzXCIgYWxpZ249XCJjZW50ZXJcIj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ3YXR0LWRyYXdlci1oZWFkaW5nXCIgLz5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ3YXR0LWRyYXdlci1hY3Rpb25zXCIgLz5cbiAgICAgICAgPC92YXRlci1zdGFjaz5cbiAgICAgIDwvaGVhZGVyPlxuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZHJhd2VyLWNvbnRlbnRcIiAvPlxuICAgIDwvYXJ0aWNsZT5cblxuICAgIEBpZiAobG9hZGluZygpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwid2F0dC1kcmF3ZXJfX3NwaW5uZXJcIj5cbiAgICAgICAgPHdhdHQtc3Bpbm5lciAvPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L21hdC1kcmF3ZXI+XG48L21hdC1kcmF3ZXItY29udGFpbmVyPlxuIl19
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvZHJhd2VyL3dhdHQtZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL2RyYXdlci93YXR0LWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULFVBQVUsRUFDVix1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3RCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFD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bUJBQW1CLHVFQUNuQixvQkFBb0IseUVBRXBCLG1CQUFtQixzSUFDbkIsb0JBQW9COzsyRkFHWCxtQkFBbUI7a0JBcEIvQixTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsYUFBYSxRQUdqQjt3QkFDSixrQkFBa0IsRUFBRSw2QkFBNkI7d0JBQ2pELGtCQUFrQixFQUFFLHVCQUF1QjtxQkFDNUMsV0FDUTt3QkFDUCxVQUFVO3dCQUNWLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLG9CQUFvQjtxQkFDckI7c0hBSzhCLDBCQUEwQixRQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxzRkFDaEQsMEJBQTBCLFFBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLHFGQUNqRCx5QkFBeUIsUUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsd0ZBQ25DLFlBQVk7QUFzSXhELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsMEJBQTBCO0NBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQge1xuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICB2aWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBzaWduYWwsXG4gIHVudHJhY2tlZCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29udGVudENoaWxkLFxuICBlZmZlY3QsXG4gIGFmdGVyUmVuZGVyRWZmZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENka1RyYXBGb2N1cywgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcblxuaW1wb3J0IHtcbiAgVmF0ZXJGbGV4Q29tcG9uZW50LFxuICBWYXRlclNwYWNlckNvbXBvbmVudCxcbiAgVmF0ZXJTdGFja0NvbXBvbmVudCxcbiAgVmF0ZXJVdGlsaXR5RGlyZWN0aXZlLFxufSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvdmF0ZXInO1xuaW1wb3J0IHsgV2F0dEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9idXR0b24nO1xuaW1wb3J0IHsgV2F0dFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvc3Bpbm5lcic7XG5cbmltcG9ydCB7IFdhdHREcmF3ZXJUb3BiYXJDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtZHJhd2VyLXRvcGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2F0dERyYXdlckFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtZHJhd2VyLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFdhdHREcmF3ZXJDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi93YXR0LWRyYXdlci1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXYXR0RHJhd2VySGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1kcmF3ZXItaGVhZGluZy5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBXYXR0RHJhd2VyU2l6ZSA9ICdzbWFsbCcgfCAnbm9ybWFsJyB8ICdsYXJnZSc7XG5cbmNvbnN0IEFQUEVBUl9BTklNQVRJT05fREVMQVkgPSAyNTA7XG5jb25zdCBBUFBFQVJfQU5JTUFUSU9OX0ZSQU1FUyA9IHtcbiAgdHJhbnNmb3JtOiBbJ3RyYW5zbGF0ZVgoMzBweCknLCAndHJhbnNsYXRlWCgwKSddLFxuICBvcGFjaXR5OiBbJzAnLCAnMSddLFxufTtcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzZWxlY3RvcjogJ3dhdHQtZHJhd2VyJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2F0dC1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3dhdHQtZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDoge1xuICAgICcoZG9jdW1lbnQ6Y2xpY2spJzogJ2hhbmRsZURvY3VtZW50Q2xpY2soJGV2ZW50KScsXG4gICAgJyhrZXlkb3duLmVzY2FwZSknOiAnaGFuZGxlRXNjS2V5UHJlc3NlZCgpJyxcbiAgfSxcbiAgaW1wb3J0czogW1xuICAgIEExMXlNb2R1bGUsXG4gICAgTWF0U2lkZW5hdk1vZHVsZSxcbiAgICBWYXRlckZsZXhDb21wb25lbnQsXG4gICAgVmF0ZXJTdGFja0NvbXBvbmVudCxcbiAgICBWYXRlclNwYWNlckNvbXBvbmVudCxcbiAgICBWYXRlclV0aWxpdHlEaXJlY3RpdmUsXG4gICAgV2F0dEJ1dHRvbkNvbXBvbmVudCxcbiAgICBXYXR0U3Bpbm5lckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dERyYXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBvdmVybGF5Q29udGFpbmVyID0gaW5qZWN0KE92ZXJsYXlDb250YWluZXIpO1xuICBwcml2YXRlIGNvbnRlbnQgPSBjb250ZW50Q2hpbGQoV2F0dERyYXdlckNvbnRlbnRDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KTtcbiAgcHJpdmF0ZSBoZWFkaW5nID0gY29udGVudENoaWxkKFdhdHREcmF3ZXJIZWFkaW5nQ29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG4gIHByaXZhdGUgdG9wQmFyID0gY29udGVudENoaWxkKFdhdHREcmF3ZXJUb3BiYXJDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KTtcbiAgcHJpdmF0ZSBjZGtUcmFwRm9jdXMgPSB2aWV3Q2hpbGQucmVxdWlyZWQoQ2RrVHJhcEZvY3VzKTtcbiAgcHJpdmF0ZSBieXBhc3NDbGlja0NoZWNrID0gZmFsc2U7XG4gIHByaXZhdGUgd3JpdGFibGVJc09wZW4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8vIE11bHRpcGxlIGRyYXdlcnMgb3BlbiBhdCB0aGUgc2FtZSB0aW1lIGFyZSBub3QgYWxsb3dlZC4gVGhpcyBrZWVwcyB0cmFjayBvZlxuICAvLyB0aGUgY3VycmVudGx5IG9wZW5lZCBkcmF3ZXIgYW5kIGNsb3NlcyBpdCB3aGVuIGEgbmV3IGRyYXdlciBpcyBvcGVuZWQuXG4gIHByaXZhdGUgc3RhdGljIGN1cnJlbnREcmF3ZXI/OiBXYXR0RHJhd2VyQ29tcG9uZW50O1xuXG4gIC8qKiBVc2VkIHRvIGFkanVzdCBkcmF3ZXIgc2l6ZSB0byBiZXN0IGZpdCB0aGUgY29udGVudC4gKi9cbiAgc2l6ZSA9IGlucHV0PFdhdHREcmF3ZXJTaXplPignbm9ybWFsJyk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGRyYXdlciBzaG91bGQgb3BlbiBhdXRvbWF0aWNhbGx5LiBJZiBga2V5YCBpcyBwcm92aWRlZCBhbmRcbiAgICogYGF1dG9PcGVuYCBpcyB0cnVlLCB0aGUgZHJhd2VyIHdpbGwgb3BlbiBldmVyeSB0aW1lIHRoZSBrZXkgY2hhbmdlcy5cbiAgICovXG4gIGF1dG9PcGVuID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHRyYWNrIHRoZSBjdXJyZW50IGRyYXdlciB3aGVuIHJldXNpbmcgdGhlIHNhbWUgZHJhd2VyIGluc3RhbmNlIHRvXG4gICAqIHJlbmRlciBkaWZmZXJlbnQgY29udGVudC4gVGhpcyBpcyByZXF1aXJlZCB3aGVuIGludGVyYWN0aW9ucyBvdXRzaWRlIHRoZVxuICAgKiBkcmF3ZXIgc2hvdWxkIHJlc3VsdCBpbiB1cGRhdGluZyB0aGUgZHJhd2VyJ3MgY29udGVudCBpbnN0ZWFkIG9mIGNsb3NpbmcgaXQuXG4gICAqL1xuICBrZXkgPSBpbnB1dDx1bmtub3duPigpO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBkcmF3ZXIgc2hvdWxkIHNob3cgYSBsb2FkaW5nIHN0YXRlLiAqL1xuICBsb2FkaW5nID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKiBBZGRzIGEgYnJpZWYgYW5pbWF0aW9uIHRvIGluZGljYXRlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGNoYW5nZWQuICovXG4gIGFuaW1hdGVPbktleUNoYW5nZSA9IGlucHV0KGZhbHNlKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGRyYXdlciBpcyBmdWxseSBjbG9zZWQuICovXG4gIGNsb3NlZCA9IG91dHB1dDx2b2lkPigpO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBkcmF3ZXIgaXMgb3Blbi4gICovXG4gIGlzT3BlbiA9IHRoaXMud3JpdGFibGVJc09wZW4uYXNSZWFkb25seSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFmdGVyUmVuZGVyRWZmZWN0KHtcbiAgICAgIHJlYWQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5rZXkoKTtcbiAgICAgICAgaWYgKHRoaXMuYXV0b09wZW4oKSkgdGhpcy5vcGVuKCk7XG4gICAgICAgIGlmICghdGhpcy5hbmltYXRlT25LZXlDaGFuZ2UoKSkgcmV0dXJuO1xuICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5pc09wZW4oKSkgcmV0dXJuO1xuICAgICAgICAgIHRoaXMuY29udGVudCgpPy5uYXRpdmVFbGVtZW50LmFuaW1hdGUoQVBQRUFSX0FOSU1BVElPTl9GUkFNRVMsIEFQUEVBUl9BTklNQVRJT05fREVMQVkpO1xuICAgICAgICAgIHRoaXMuaGVhZGluZygpPy5uYXRpdmVFbGVtZW50LmFuaW1hdGUoQVBQRUFSX0FOSU1BVElPTl9GUkFNRVMsIEFQUEVBUl9BTklNQVRJT05fREVMQVkpO1xuICAgICAgICAgIHRoaXMudG9wQmFyKCk/Lm5hdGl2ZUVsZW1lbnQuYW5pbWF0ZShBUFBFQVJfQU5JTUFUSU9OX0ZSQU1FUywgQVBQRUFSX0FOSU1BVElPTl9ERUxBWSk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIFdobyBkb2Vzbid0IGxvdmUgYSBnb29kIHdvcmthcm91bmQsIHJpZ2h0P1xuICAgIC8vIExldCdzIG1ha2UgdGhlIGRyYXdlciByZXNpemUgaXRzZWxmIHdoZW5ldmVyIHRoZSBgc2l6ZWAgaW5wdXQgY2hhbmdlcy5cbiAgICAvL1xuICAgIC8vIFRoZSBgbWF0LWRyYXdlcmAgY29tcG9uZW50IG9mZmVycyB0aGUgYGF1dG9zaXplYCBpbnB1dCBmb3IgdGhpcy5cbiAgICAvLyBIb3dldmVyLCBpdCBpcyBzcGVjaWZpY2FsbHkgbWVudGlvbmVkIHRoYXQgdGhpcyBvcHRpb25zIHNob3VsZCBiZSB1c2VkIGF0IG93biByaXNrLFxuICAgIC8vIGFzIGl0IGNvdWxkIGNhdXNlIHBlcmZvcm1hbmNlIGlzc3Vlcy5cbiAgICAvLyBTZWU6IGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5kZXYvY29tcG9uZW50cy9zaWRlbmF2L292ZXJ2aWV3I3Jlc2l6aW5nLWFuLW9wZW4tc2lkZW5hdlxuICAgIC8vXG4gICAgLy8gU28gdG8gd29yayBhcm91bmQgdGhpcywgYSBzaW1wbGUgYHJlc2l6ZWAgZXZlbnQgaXMgZGlzcGF0Y2hlZCB3aGVuZXZlciB0aGUgYHNpemVgIGlucHV0IGNoYW5nZXMuXG4gICAgLy8gVGhpcyB3b3JrcyBiZWNhdXNlIGBtYXQtZHJhd2VyYCB1c2VzIGBWaWV3cG9ydFJ1bGVyYCBmcm9tIGBAYW5ndWxhci9jZGsvc2Nyb2xsaW5nYFxuICAgIC8vIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iLzE5LjIuMS9zcmMvbWF0ZXJpYWwvc2lkZW5hdi9kcmF3ZXIudHMjTDgxMS1MODE2KVxuICAgIC8vIHRvIGxpc3RlbiB0byBgcmVzaXplYCBldmVudHMgYW5kIHJlLWNhbGN1bGF0ZXMgbWFyZ2lucyBhcHBsaWVkIHRvIHRoZSBkcmF3ZXIgY29udGVudFxuICAgIC8vIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iLzIwLjAuMC1yYy4yL3NyYy9jZGsvc2Nyb2xsaW5nL3ZpZXdwb3J0LXJ1bGVyLnRzI0w1MC1MNTMpLlxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnNpemUoKTtcblxuICAgICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBoYW5kbGVEb2N1bWVudENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgLy8gUHJldmVudCBjbG9zaW5nIHdoZW4gdGhlIGNsaWNrIHRyaWdnZXJlZCBhIGNhbGwgdG8gYG9wZW5gXG4gICAgaWYgKHRoaXMuYnlwYXNzQ2xpY2tDaGVjaykgcmV0dXJuO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrIG9yaWdpbmF0ZWQgZnJvbSB3aXRoaW4gdGhlIGRyYXdlciBlbGVtZW50XG4gICAgY29uc3QgaXNDbGlja0luc2lkZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XG4gICAgaWYgKGlzQ2xpY2tJbnNpZGUpIHJldHVybjtcblxuICAgIC8vIENoZWNrIGlmIHRoZSBjbGljayBvcmlnaW5hdGVkIGZyb20gd2l0aGluIGFuIG92ZXJsYXkgKHN1Y2ggYXMgYSBtb2RhbClcbiAgICBjb25zdCBvdmVybGF5Q29udGFpbmVyRWwgPSB0aGlzLm92ZXJsYXlDb250YWluZXIuZ2V0Q29udGFpbmVyRWxlbWVudCgpO1xuICAgIGNvbnN0IGlzT3ZlcmxheUNsaWNrID0gb3ZlcmxheUNvbnRhaW5lckVsLmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKTtcbiAgICBpZiAoaXNPdmVybGF5Q2xpY2spIHJldHVybjtcblxuICAgIC8vIENsaWNrIGlzIGFsbG93ZWQgdG8gY2xvc2UgdGhlIGRyYXdlciBub3dcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBoYW5kbGVFc2NLZXlQcmVzc2VkKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmIChXYXR0RHJhd2VyQ29tcG9uZW50LmN1cnJlbnREcmF3ZXIgPT09IHRoaXMpIHtcbiAgICAgIFdhdHREcmF3ZXJDb21wb25lbnQuY3VycmVudERyYXdlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAvKiogT3BlbnMgdGhlIGRyYXdlci4gU3Vic2VxdWVudCBjYWxscyBhcmUgaWdub3JlZCB3aGlsZSB0aGUgZHJhd2VyIGlzIG9wZW5lZC4gKi9cbiAgb3BlbigpIHtcbiAgICAvLyBUcmFwIGZvY3VzIHdoZW5ldmVyIG9wZW4gaXMgY2FsbGVkLiBUaGlzIGRvZXNuJ3Qgd29yayBvbiB0aGVcbiAgICAvLyBpbml0aWFsIGNhbGwgKHdoZW4gZmlyc3Qgb3BlbmluZyB0aGUgZHJhd2VyKSwgYnV0IHRoaXMgaXNcbiAgICAvLyBoYW5kbGVkIGJ5IHRoZSBhdXRvRm9jdXMgcHJvcGVydHkgb24gbWF0LWRyYXdlci5cbiAgICB0aGlzLmNka1RyYXBGb2N1cygpLmZvY3VzVHJhcC5mb2N1c0luaXRpYWxFbGVtZW50V2hlblJlYWR5KCk7XG5cbiAgICAvLyBEaXNhYmxlIGNsaWNrIG91dHNpZGUgY2hlY2sgdW50aWwgdGhlIGN1cnJlbnQgZXZlbnQgbG9vcCBpcyBmaW5pc2hlZC5cbiAgICAvLyBUaGlzIG1pZ2h0IHNlZW0gaGFja2lzaCwgYnV0IHRoZSBvcmRlciBvZiBleGVjdXRpb24gaXMgc3RhYmxlIGhlcmUuXG4gICAgLy8gQWxzbyBwcmV2ZW50cyBhbiBpc3N1ZSB3aGVuIHRoZSBkcmF3ZXIgaXMgZGVzdHJveWVkIGFuZCB0aGVuIHJlY3JlYXRlZCxcbiAgICAvLyBjYXVzaW5nIHRoZSBjbGljayBvdXRzaWRlIGNoZWNrIHRvIHRyaWdnZXIgaW1tZWRpYXRlbHkgaWYgdGhlIGRyYXdlclxuICAgIC8vIGlzIGNyZWF0ZWQgYW5kIG9wZW5lZCBpbiByZXNwb25zZSB0byBhIGNsaWNrIGV2ZW50LlxuICAgIHRoaXMuYnlwYXNzQ2xpY2tDaGVjayA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmJ5cGFzc0NsaWNrQ2hlY2sgPSBmYWxzZTtcbiAgICB9LCAwKTtcblxuICAgIC8vIFdpdGhvdXQgYHVudHJhY2tlZGAsIGlmIHRoaXMgaXMgY2FsbGVkIGluIGEgcmVhY3RpdmUgY29udGV4dCAoc3VjaCBhcyBhbiBgZWZmZWN0YCksXG4gICAgLy8gaXQgd2lsbCBiZSB0cmlnZ2VyZWQgdHdpY2UgZHVlIHRvIGBpc09wZW5gIGJlaW5nIHRyYWNrZWQgYW5kIGltbWVkaWF0ZWx5IHVwZGF0ZWQuXG4gICAgaWYgKHVudHJhY2tlZCh0aGlzLmlzT3BlbikpIHJldHVybjtcbiAgICBXYXR0RHJhd2VyQ29tcG9uZW50LmN1cnJlbnREcmF3ZXI/LmNsb3NlKCk7XG4gICAgV2F0dERyYXdlckNvbXBvbmVudC5jdXJyZW50RHJhd2VyID0gdGhpcztcbiAgICB0aGlzLndyaXRhYmxlSXNPcGVuLnNldCh0cnVlKTtcbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIGRyYXdlci4gKi9cbiAgY2xvc2UoKSB7XG4gICAgaWYgKCF1bnRyYWNrZWQodGhpcy5pc09wZW4pKSByZXR1cm47XG4gICAgV2F0dERyYXdlckNvbXBvbmVudC5jdXJyZW50RHJhd2VyID0gdW5kZWZpbmVkO1xuICAgIHRoaXMud3JpdGFibGVJc09wZW4uc2V0KGZhbHNlKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgV0FUVF9EUkFXRVIgPSBbXG4gIFdhdHREcmF3ZXJDb21wb25lbnQsXG4gIFdhdHREcmF3ZXJUb3BiYXJDb21wb25lbnQsXG4gIFdhdHREcmF3ZXJBY3Rpb25zQ29tcG9uZW50LFxuICBXYXR0RHJhd2VyQ29udGVudENvbXBvbmVudCxcbiAgV2F0dERyYXdlckhlYWRpbmdDb21wb25lbnQsXG5dO1xuIiwiPCEtLVxuQGxpY2Vuc2VcbkNvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLT5cbjxtYXQtZHJhd2VyLWNvbnRhaW5lciBjbGFzcz1cIndhdHQtZHJhd2VyLWNvbnRhaW5lclwiIFtoYXNCYWNrZHJvcF09XCJmYWxzZVwiPlxuICA8bWF0LWRyYXdlclxuICAgIGNsYXNzPVwid2F0dC1kcmF3ZXIgd2F0dC1kcmF3ZXItLXt7IHNpemUoKSB9fVwiXG4gICAgbW9kZT1cInNpZGVcIlxuICAgIHBvc2l0aW9uPVwiZW5kXCJcbiAgICBbb3BlbmVkXT1cImlzT3BlbigpXCJcbiAgICAoY2xvc2VkKT1cImNsb3NlZC5lbWl0KClcIlxuICAgIFtkaXNhYmxlQ2xvc2VdPVwidHJ1ZVwiXG4gICAgW2F1dG9Gb2N1c109XCJ0cnVlXCJcbiAgICBbY2RrVHJhcEZvY3VzXT1cInRydWVcIlxuICA+XG4gICAgPGFydGljbGUgdmF0ZXItZmxleCBmaWxsPVwidmVydGljYWxcIj5cbiAgICAgIDxoZWFkZXIgdmF0ZXItc3RhY2sgYWxpZ249XCJzdHJldGNoXCIgb2Zmc2V0PVwibVwiIGdhcD1cInNcIj5cbiAgICAgICAgPHZhdGVyLXN0YWNrIGRpcmVjdGlvbj1cInJvd1wiIG9mZnNldD1cIm1sXCIgZ2FwPVwic1wiIGFsaWduPVwiY2VudGVyXCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwid2F0dC1kcmF3ZXItdG9wYmFyXCIgLz5cbiAgICAgICAgICA8dmF0ZXItc3BhY2VyIC8+XG4gICAgICAgICAgPHdhdHQtYnV0dG9uIHZhcmlhbnQ9XCJpY29uXCIgaWNvbj1cImNsb3NlXCIgKGNsaWNrKT1cImNsb3NlKClcIiAvPlxuICAgICAgICA8L3ZhdGVyLXN0YWNrPlxuICAgICAgICA8dmF0ZXItZmxleFxuICAgICAgICAgIGF1dG9TaXplXG4gICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICBvZmZzZXQ9XCJtbFwiXG4gICAgICAgICAganVzdGlmeT1cInNwYWNlLWJldHdlZW5cIlxuICAgICAgICAgIGdhcD1cInNcIlxuICAgICAgICAgIGFsaWduPVwiY2VudGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZHJhd2VyLWhlYWRpbmdcIiAvPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZHJhd2VyLWFjdGlvbnNcIiAvPlxuICAgICAgICA8L3ZhdGVyLWZsZXg+XG4gICAgICA8L2hlYWRlcj5cbiAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ3YXR0LWRyYXdlci1jb250ZW50XCIgLz5cbiAgICA8L2FydGljbGU+XG5cbiAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cIndhdHQtZHJhd2VyX19zcGlubmVyXCI+XG4gICAgICAgIDx3YXR0LXNwaW5uZXIgLz5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9tYXQtZHJhd2VyPlxuPC9tYXQtZHJhd2VyLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -324,7 +324,7 @@ export class WattDropdownComponent {
|
|
|
324
324
|
});
|
|
325
325
|
}
|
|
326
326
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
327
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: WattDropdownComponent, isStandalone: true, selector: "watt-dropdown", inputs: { hideSearch: { classPropertyName: "hideSearch", publicName: "hideSearch", isSignal: true, isRequired: false, transformFunction: null }, panelWidth: { classPropertyName: "panelWidth", publicName: "panelWidth", isSignal: true, isRequired: false, transformFunction: null }, getCustomTrigger: { classPropertyName: "getCustomTrigger", publicName: "getCustomTrigger", isSignal: true, isRequired: false, transformFunction: null }, chipMode: { classPropertyName: "chipMode", publicName: "chipMode", isSignal: true, isRequired: false, transformFunction: null }, disableSelectedMode: { classPropertyName: "disableSelectedMode", publicName: "disableSelectedMode", isSignal: true, isRequired: false, transformFunction: null }, sortDirection: { classPropertyName: "sortDirection", publicName: "sortDirection", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, showResetOption: { classPropertyName: "showResetOption", publicName: "showResetOption", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, noOptionsFoundLabel: { classPropertyName: "noOptionsFoundLabel", publicName: "noOptionsFoundLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { options: "optionsChange" }, host: { properties: { "attr.watt-field-disabled": "isDisabled()", "class.watt-chip-mode": "chipMode()" } }, viewQueries: [{ propertyName: "matSelect", first: true, predicate: ["matSelect"], descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<watt-field\n [control]=\"parentControl\"\n [chipMode]=\"chipMode()\"\n [label]=\"label()\"\n (click)=\"matSelect.open()\"\n>\n @if (chipMode()) {\n <watt-menu-chip\n [opened]=\"matSelect.panelOpen\"\n (toggle)=\"matSelect.open()\"\n [selected]=\"!!matSelect?.triggerValue && !disableSelectedMode()\"\n [disabled]=\"matSelectControl.disabled\"\n >\n {{ placeholder() }}\n @if (showTriggerValue) {\n <span>\n @if (placeholder()) {\n :\n }\n {{ getCustomTrigger()?.(matSelect.value) ?? matSelect?.triggerValue }}\n </span>\n }\n @if (showChipLabel) {\n <span class=\"watt-chip-label\">{{ matSelectControl.value?.length }}</span>\n }\n </watt-menu-chip>\n }\n\n <mat-select\n [attr.aria-label]=\"label()\"\n [formControl]=\"matSelectControl\"\n [placeholder]=\"placeholder()\"\n #matSelect\n [panelWidth]=\"panelWidth()\"\n [multiple]=\"multiple()\"\n [ngClass]=\"{ chip: chipMode(), 'mat-mdc-select-multiple': multiple() }\"\n [panelClass]=\"{\n 'watt-dropdown-panel': true,\n 'watt-dropdown-panel-chip-mode': chipMode(),\n 'mat-mdc-select-panel-multiple': multiple(),\n }\"\n >\n <!-- We use this instead of ngIf, since it will trigger a NG0100: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. -->\n <mat-option [style.display]=\"!hideSearch() ? 'block' : 'none'\">\n <ngx-mat-select-search\n [formControl]=\"filterControl\"\n [placeholderLabel]=\"placeholder()\"\n closeIcon=\"close\"\n [showToggleAllCheckbox]=\"multiple()\"\n (toggleAll)=\"onToggleAll($event)\"\n [toggleAllCheckboxChecked]=\"isToggleAllChecked\"\n [toggleAllCheckboxIndeterminate]=\"isToggleAllIndeterminate\"\n [noEntriesFoundLabel]=\"noOptionsFoundLabel()\"\n >\n <watt-icon ngxMatSelectSearchClear name=\"close\" size=\"s\" />\n </ngx-mat-select-search>\n </mat-option>\n\n @if (!multiple() && showResetOption()) {\n <mat-option>{{ emDash }}</mat-option>\n }\n\n @if (hasGroups()) {\n @for (item of filteredGroupedOptions$ | push; track item) {\n @if (\"options\" in item) {\n <mat-optgroup [label]=\"item.label\" [disabled]=\"item.disabled\">\n @for (option of item.options; track option) {\n <mat-option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [class.mat-mdc-option-multiple]=\"multiple()\"\n >\n {{ option.displayValue }}\n </mat-option>\n }\n </mat-optgroup>\n }\n }\n } @else {\n @for (option of filteredOptions$ | push; track option) {\n <mat-option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [class.mat-mdc-option-multiple]=\"multiple()\"\n >\n {{ option.displayValue }}\n </mat-option>\n }\n }\n </mat-select>\n <ng-content />\n <ng-content ngProjectAs=\"watt-field-hint\" select=\"watt-field-hint\" />\n <ng-content ngProjectAs=\"watt-field-error\" select=\"watt-field-error\" />\n</watt-field>\n", styles: ["watt-dropdown:not(.watt-chip-mode){width:100%}watt-dropdown{--watt-input-color: var(--watt-typography-text-color);--watt-input-placeholder-color: var(--watt-on-light-high-emphasis);display:block;width:auto}watt-dropdown watt-field label .watt-field-wrapper{padding:0;position:relative}watt-dropdown.watt-chip-mode.ng-dirty.ng-invalid .watt-field-wrapper watt-chip label{border:1px solid var(--watt-color-state-danger)}watt-dropdown.watt-chip-mode[disabled=true] watt-field label .watt-field-wrapper{background-color:transparent}watt-dropdown .mat-input-element{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--watt-input-color);caret-color:var(--watt-color-neutral-grey-900)!important;padding:0 12px}watt-dropdown .mat-mdc-select-arrow{color:var(--watt-dropdown-arrow-color, rgba(0, 0, 0, .54));border:none;width:auto;height:auto}watt-dropdown .mat-mdc-select-arrow:before{width:.6em;height:.6em;bottom:.2em;position:relative;display:inline-block;border-style:solid;border-width:0 0 .15em .15em;transform:rotate(315deg);border-color:var(--watt-color-primary);content:\"\"}watt-dropdown .mat-mdc-select-arrow svg{display:none}watt-dropdown .mat-mdc-select-trigger{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;padding:0 var(--watt-space-m)}watt-dropdown .mat-mdc-select-value{color:var(--watt-color-neutral-black);padding-right:var(--watt-space-m)}watt-dropdown .mat-mdc-select.mat-mdc-select-invalid.ng-pristine .mat-mdc-select-arrow{color:currentColor}watt-dropdown .watt-chip-label{float:right;margin-left:var(--watt-space-s);background:var(--watt-color-neutral-white)}watt-dropdown .watt-field--chip .mat-mdc-select{visibility:hidden;position:absolute;width:100%}watt-dropdown .mat-mdc-select-placeholder{color:var(--watt-input-placeholder-color)}watt-dropdown watt-field label .watt-field-wrapper{background-color:transparent}.watt-dropdown-panel{--watt-input-color: var(--watt-typography-text-color);padding:0}.watt-dropdown-panel .mat-select-search-inner-row .mat-select-search-input,.watt-dropdown-panel mat-option.contains-mat-select-search{height:48px}.watt-dropdown-panel:not(.watt-dropdown-panel-chip-mode){min-width:calc(100% + 2px)!important;margin-top:-36px;margin-left:-1px;min-height:48px}.watt-dropdown-panel .mat-mdc-checkbox.mat-select-search-toggle-all-checkbox{padding:0;margin:0 var(--watt-space-m)}.watt-dropdown-panel .mat-datepicker-content .mat-mdc-icon-button{--mat-mdc-button-persistent-ripple-color: transparent;--mat-mdc-button-ripple-color: transparent}.watt-dropdown-panel.watt-dropdown-panel-chip-mode{margin-top:4px}.watt-dropdown-panel.mat-mdc-select-search-panel{transform:scaleY(1)!important}.watt-dropdown-panel .mat-mdc-option.mdc-list-item.contains-mat-select-search.mat-mdc-option-multiple{background-color:transparent}.watt-dropdown-panel ngx-mat-select-search .mat-select-search-inner-multiple .mat-select-search-inner-row{margin-left:5px}.watt-dropdown-panel ngx-mat-select-search .mat-mdc-checkbox.mat-select-search-toggle-all-checkbox{margin:0}.watt-dropdown-panel .mdc-list-item .mat-select-search-input,.watt-dropdown-panel .mat-mdc-option.mdc-list-item,.watt-dropdown-panel .mat-select-search-no-entries-found{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--watt-input-color)}.watt-dropdown-panel .mat-mdc-optgroup-label{font-size:.875rem;line-height:1.25rem;font-weight:600;text-transform:none;letter-spacing:0;color:var(--watt-input-color)}.watt-dropdown-panel .mat-mdc-option.mdc-list-item .mat-select-search-no-entries-found{padding:var(--watt-space-s)}.watt-dropdown-panel .mat-checkbox-frame,.watt-dropdown-panel .mat-mdc-checkbox{border-color:var(--watt-color-primary)}.watt-dropdown-panel :not(.mat-mdc-option-multiple) .mat-pseudo-checkbox{display:none}.watt-dropdown-panel .mat-mdc-option-multiple .mat-pseudo-checkbox{display:inline-block}.watt-dropdown-panel .mat-pseudo-checkbox,.watt-dropdown-panel .mat-mdc-checkbox{color:var(--watt-color-primary)}.watt-dropdown-panel .mat-mdc-option{color:var(--watt-color-neutral-black);min-height:42px}.watt-dropdown-panel .mat-mdc-option[aria-disabled=true].contains-mat-select-search{margin-top:0;top:auto}.watt-dropdown-panel .mat-mdc-option.mdc-list-item.mat-mdc-option-active,.watt-dropdown-panel .mat-mdc-option.mdc-list-item.mdc-list-item--selected.mat-mdc-option-active:not(.mat-mdc-option-multiple),.watt-dropdown-panel .mat-mdc-option:hover:not(.mat-mdc-option-disabled,.contains-mat-select-search),.watt-dropdown-panel .mat-mdc-option:focus:not(.mat-mdc-option-disabled){background-color:var(--watt-color-primary-light)}.watt-dropdown-panel .mat-mdc-option .mat-mdc-select-search-no-entries-found{text-align:center;padding:0}.watt-dropdown-panel .mat-mdc-option.mat-mdc-option-disabled{color:var(--watt-color-neutral-grey-400);cursor:not-allowed}.watt-dropdown-panel .mat-mdc-select-search-input:not(.mat-mdc-select-search-hidden){color:var(--watt-color-neutral-black)}.watt-dropdown-panel .mat-mdc-select-search-clear{background-color:var(--watt-color-neutral-white);color:var(--watt-color-neutral-grey-400)}.watt-dropdown-panel .mat-mdc-select-search-clear mat-icon{line-height:20px!important}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i1.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgxMatSelectSearchModule }, { kind: "component", type: i3.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti", "recreateValuesArray"], outputs: ["toggleAll"] }, { kind: "directive", type: i3.MatSelectSearchClearDirective, selector: "[ngxMatSelectSearchClear]" }, { kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName", "autoFocus", "showErrors"] }, { kind: "component", type: WattMenuChipComponent, selector: "watt-menu-chip", inputs: ["opened", "disabled", "name", "value", "selected", "hasPopup"], outputs: ["toggle"] }, { kind: "pipe", type: RxPush, name: "push" }], encapsulation: i0.ViewEncapsulation.None });
|
|
327
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: WattDropdownComponent, isStandalone: true, selector: "watt-dropdown", inputs: { hideSearch: { classPropertyName: "hideSearch", publicName: "hideSearch", isSignal: true, isRequired: false, transformFunction: null }, panelWidth: { classPropertyName: "panelWidth", publicName: "panelWidth", isSignal: true, isRequired: false, transformFunction: null }, getCustomTrigger: { classPropertyName: "getCustomTrigger", publicName: "getCustomTrigger", isSignal: true, isRequired: false, transformFunction: null }, chipMode: { classPropertyName: "chipMode", publicName: "chipMode", isSignal: true, isRequired: false, transformFunction: null }, disableSelectedMode: { classPropertyName: "disableSelectedMode", publicName: "disableSelectedMode", isSignal: true, isRequired: false, transformFunction: null }, sortDirection: { classPropertyName: "sortDirection", publicName: "sortDirection", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, showResetOption: { classPropertyName: "showResetOption", publicName: "showResetOption", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, noOptionsFoundLabel: { classPropertyName: "noOptionsFoundLabel", publicName: "noOptionsFoundLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { options: "optionsChange" }, host: { properties: { "attr.watt-field-disabled": "isDisabled()", "class.watt-chip-mode": "chipMode()" } }, viewQueries: [{ propertyName: "matSelect", first: true, predicate: ["matSelect"], descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<watt-field\n [control]=\"parentControl\"\n [chipMode]=\"chipMode()\"\n [label]=\"label()\"\n (click)=\"matSelect.open()\"\n>\n @if (chipMode()) {\n <watt-menu-chip\n [opened]=\"matSelect.panelOpen\"\n (toggleChange)=\"matSelect.open()\"\n [selected]=\"!!matSelect?.triggerValue && !disableSelectedMode()\"\n [disabled]=\"matSelectControl.disabled\"\n >\n {{ placeholder() }}\n @if (showTriggerValue) {\n <span>\n @if (placeholder()) {\n :\n }\n {{ getCustomTrigger()?.(matSelect.value) ?? matSelect?.triggerValue }}\n </span>\n }\n @if (showChipLabel) {\n <span class=\"watt-chip-label\">{{ matSelectControl.value?.length }}</span>\n }\n </watt-menu-chip>\n }\n\n <mat-select\n [attr.aria-label]=\"label()\"\n [formControl]=\"matSelectControl\"\n [placeholder]=\"placeholder()\"\n #matSelect\n [panelWidth]=\"panelWidth()\"\n [multiple]=\"multiple()\"\n [ngClass]=\"{ chip: chipMode(), 'mat-mdc-select-multiple': multiple() }\"\n [panelClass]=\"{\n 'watt-dropdown-panel': true,\n 'watt-dropdown-panel-chip-mode': chipMode(),\n 'mat-mdc-select-panel-multiple': multiple(),\n }\"\n >\n <!-- We use this instead of ngIf, since it will trigger a NG0100: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. -->\n <mat-option [style.display]=\"!hideSearch() ? 'block' : 'none'\">\n <ngx-mat-select-search\n [formControl]=\"filterControl\"\n [placeholderLabel]=\"placeholder()\"\n closeIcon=\"close\"\n [showToggleAllCheckbox]=\"multiple()\"\n (toggleAll)=\"onToggleAll($event)\"\n [toggleAllCheckboxChecked]=\"isToggleAllChecked\"\n [toggleAllCheckboxIndeterminate]=\"isToggleAllIndeterminate\"\n [noEntriesFoundLabel]=\"noOptionsFoundLabel()\"\n >\n <watt-icon ngxMatSelectSearchClear name=\"close\" size=\"s\" />\n </ngx-mat-select-search>\n </mat-option>\n\n @if (!multiple() && showResetOption()) {\n <mat-option>{{ emDash }}</mat-option>\n }\n\n @if (hasGroups()) {\n @for (item of filteredGroupedOptions$ | push; track item) {\n @if (\"options\" in item) {\n <mat-optgroup [label]=\"item.label\" [disabled]=\"item.disabled\">\n @for (option of item.options; track option) {\n <mat-option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [class.mat-mdc-option-multiple]=\"multiple()\"\n >\n {{ option.displayValue }}\n </mat-option>\n }\n </mat-optgroup>\n }\n }\n } @else {\n @for (option of filteredOptions$ | push; track option) {\n <mat-option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [class.mat-mdc-option-multiple]=\"multiple()\"\n >\n {{ option.displayValue }}\n </mat-option>\n }\n }\n </mat-select>\n <ng-content />\n <ng-content ngProjectAs=\"watt-field-hint\" select=\"watt-field-hint\" />\n <ng-content ngProjectAs=\"watt-field-error\" select=\"watt-field-error\" />\n</watt-field>\n", styles: ["watt-dropdown:not(.watt-chip-mode){width:100%}watt-dropdown{--watt-input-color: var(--watt-typography-text-color);--watt-input-placeholder-color: var(--watt-on-light-high-emphasis);display:block;width:auto}watt-dropdown watt-field label .watt-field-wrapper{padding:0;position:relative}watt-dropdown.watt-chip-mode.ng-dirty.ng-invalid .watt-field-wrapper watt-chip label{border:1px solid var(--watt-color-state-danger)}watt-dropdown.watt-chip-mode[disabled=true] watt-field label .watt-field-wrapper{background-color:transparent}watt-dropdown .mat-input-element{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--watt-input-color);caret-color:var(--watt-color-neutral-grey-900)!important;padding:0 12px}watt-dropdown .mat-mdc-select-arrow{color:var(--watt-dropdown-arrow-color, rgba(0, 0, 0, .54));border:none;width:auto;height:auto}watt-dropdown .mat-mdc-select-arrow:before{width:.6em;height:.6em;bottom:.2em;position:relative;display:inline-block;border-style:solid;border-width:0 0 .15em .15em;transform:rotate(315deg);border-color:var(--watt-color-primary);content:\"\"}watt-dropdown .mat-mdc-select-arrow svg{display:none}watt-dropdown .mat-mdc-select-trigger{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;padding:0 var(--watt-space-m)}watt-dropdown .mat-mdc-select-value{color:var(--watt-color-neutral-black);padding-right:var(--watt-space-m)}watt-dropdown .mat-mdc-select.mat-mdc-select-invalid.ng-pristine .mat-mdc-select-arrow{color:currentColor}watt-dropdown .watt-chip-label{float:right;margin-left:var(--watt-space-s);background:var(--watt-color-neutral-white)}watt-dropdown .watt-field--chip .mat-mdc-select{visibility:hidden;position:absolute;width:100%}watt-dropdown .mat-mdc-select-placeholder{color:var(--watt-input-placeholder-color)}watt-dropdown watt-field label .watt-field-wrapper{background-color:transparent}.watt-dropdown-panel{--watt-input-color: var(--watt-typography-text-color);padding:0}.watt-dropdown-panel .mat-select-search-inner-row .mat-select-search-input,.watt-dropdown-panel mat-option.contains-mat-select-search{height:48px}.watt-dropdown-panel:not(.watt-dropdown-panel-chip-mode){min-width:calc(100% + 2px)!important;margin-top:-36px;margin-left:-1px;min-height:48px}.watt-dropdown-panel .mat-mdc-checkbox.mat-select-search-toggle-all-checkbox{padding:0;margin:0 var(--watt-space-m)}.watt-dropdown-panel .mat-datepicker-content .mat-mdc-icon-button{--mat-mdc-button-persistent-ripple-color: transparent;--mat-mdc-button-ripple-color: transparent}.watt-dropdown-panel.watt-dropdown-panel-chip-mode{margin-top:4px}.watt-dropdown-panel.mat-mdc-select-search-panel{transform:scaleY(1)!important}.watt-dropdown-panel .mat-mdc-option.mdc-list-item.contains-mat-select-search.mat-mdc-option-multiple{background-color:transparent}.watt-dropdown-panel ngx-mat-select-search .mat-select-search-inner-multiple .mat-select-search-inner-row{margin-left:5px}.watt-dropdown-panel ngx-mat-select-search .mat-mdc-checkbox.mat-select-search-toggle-all-checkbox{margin:0}.watt-dropdown-panel .mdc-list-item .mat-select-search-input,.watt-dropdown-panel .mat-mdc-option.mdc-list-item,.watt-dropdown-panel .mat-select-search-no-entries-found{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--watt-input-color)}.watt-dropdown-panel .mat-mdc-optgroup-label{font-size:.875rem;line-height:1.25rem;font-weight:600;text-transform:none;letter-spacing:0;color:var(--watt-input-color)}.watt-dropdown-panel .mat-mdc-option.mdc-list-item .mat-select-search-no-entries-found{padding:var(--watt-space-s)}.watt-dropdown-panel .mat-checkbox-frame,.watt-dropdown-panel .mat-mdc-checkbox{border-color:var(--watt-color-primary)}.watt-dropdown-panel :not(.mat-mdc-option-multiple) .mat-pseudo-checkbox{display:none}.watt-dropdown-panel .mat-mdc-option-multiple .mat-pseudo-checkbox{display:inline-block}.watt-dropdown-panel .mat-pseudo-checkbox,.watt-dropdown-panel .mat-mdc-checkbox{color:var(--watt-color-primary)}.watt-dropdown-panel .mat-mdc-option{color:var(--watt-color-neutral-black);min-height:42px}.watt-dropdown-panel .mat-mdc-option[aria-disabled=true].contains-mat-select-search{margin-top:0;top:auto}.watt-dropdown-panel .mat-mdc-option.mdc-list-item.mat-mdc-option-active,.watt-dropdown-panel .mat-mdc-option.mdc-list-item.mdc-list-item--selected.mat-mdc-option-active:not(.mat-mdc-option-multiple),.watt-dropdown-panel .mat-mdc-option:hover:not(.mat-mdc-option-disabled,.contains-mat-select-search),.watt-dropdown-panel .mat-mdc-option:focus:not(.mat-mdc-option-disabled){background-color:var(--watt-color-primary-light)}.watt-dropdown-panel .mat-mdc-option .mat-mdc-select-search-no-entries-found{text-align:center;padding:0}.watt-dropdown-panel .mat-mdc-option.mat-mdc-option-disabled{color:var(--watt-color-neutral-grey-400);cursor:not-allowed}.watt-dropdown-panel .mat-mdc-select-search-input:not(.mat-mdc-select-search-hidden){color:var(--watt-color-neutral-black)}.watt-dropdown-panel .mat-mdc-select-search-clear{background-color:var(--watt-color-neutral-white);color:var(--watt-color-neutral-grey-400)}.watt-dropdown-panel .mat-mdc-select-search-clear mat-icon{line-height:20px!important}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i1.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgxMatSelectSearchModule }, { kind: "component", type: i3.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti", "recreateValuesArray"], outputs: ["toggleAll"] }, { kind: "directive", type: i3.MatSelectSearchClearDirective, selector: "[ngxMatSelectSearchClear]" }, { kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName", "autoFocus", "showErrors"] }, { kind: "component", type: WattMenuChipComponent, selector: "watt-menu-chip", inputs: ["opened", "disabled", "name", "value", "selected", "hasPopup"], outputs: ["toggleChange"] }, { kind: "pipe", type: RxPush, name: "push" }], encapsulation: i0.ViewEncapsulation.None });
|
|
328
328
|
}
|
|
329
329
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattDropdownComponent, decorators: [{
|
|
330
330
|
type: Component,
|
|
@@ -341,6 +341,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
341
341
|
], host: {
|
|
342
342
|
'[attr.watt-field-disabled]': 'isDisabled()',
|
|
343
343
|
'[class.watt-chip-mode]': 'chipMode()',
|
|
344
|
-
}, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<watt-field\n [control]=\"parentControl\"\n [chipMode]=\"chipMode()\"\n [label]=\"label()\"\n (click)=\"matSelect.open()\"\n>\n @if (chipMode()) {\n <watt-menu-chip\n [opened]=\"matSelect.panelOpen\"\n (
|
|
344
|
+
}, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<watt-field\n [control]=\"parentControl\"\n [chipMode]=\"chipMode()\"\n [label]=\"label()\"\n (click)=\"matSelect.open()\"\n>\n @if (chipMode()) {\n <watt-menu-chip\n [opened]=\"matSelect.panelOpen\"\n (toggleChange)=\"matSelect.open()\"\n [selected]=\"!!matSelect?.triggerValue && !disableSelectedMode()\"\n [disabled]=\"matSelectControl.disabled\"\n >\n {{ placeholder() }}\n @if (showTriggerValue) {\n <span>\n @if (placeholder()) {\n :\n }\n {{ getCustomTrigger()?.(matSelect.value) ?? matSelect?.triggerValue }}\n </span>\n }\n @if (showChipLabel) {\n <span class=\"watt-chip-label\">{{ matSelectControl.value?.length }}</span>\n }\n </watt-menu-chip>\n }\n\n <mat-select\n [attr.aria-label]=\"label()\"\n [formControl]=\"matSelectControl\"\n [placeholder]=\"placeholder()\"\n #matSelect\n [panelWidth]=\"panelWidth()\"\n [multiple]=\"multiple()\"\n [ngClass]=\"{ chip: chipMode(), 'mat-mdc-select-multiple': multiple() }\"\n [panelClass]=\"{\n 'watt-dropdown-panel': true,\n 'watt-dropdown-panel-chip-mode': chipMode(),\n 'mat-mdc-select-panel-multiple': multiple(),\n }\"\n >\n <!-- We use this instead of ngIf, since it will trigger a NG0100: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. -->\n <mat-option [style.display]=\"!hideSearch() ? 'block' : 'none'\">\n <ngx-mat-select-search\n [formControl]=\"filterControl\"\n [placeholderLabel]=\"placeholder()\"\n closeIcon=\"close\"\n [showToggleAllCheckbox]=\"multiple()\"\n (toggleAll)=\"onToggleAll($event)\"\n [toggleAllCheckboxChecked]=\"isToggleAllChecked\"\n [toggleAllCheckboxIndeterminate]=\"isToggleAllIndeterminate\"\n [noEntriesFoundLabel]=\"noOptionsFoundLabel()\"\n >\n <watt-icon ngxMatSelectSearchClear name=\"close\" size=\"s\" />\n </ngx-mat-select-search>\n </mat-option>\n\n @if (!multiple() && showResetOption()) {\n <mat-option>{{ emDash }}</mat-option>\n }\n\n @if (hasGroups()) {\n @for (item of filteredGroupedOptions$ | push; track item) {\n @if (\"options\" in item) {\n <mat-optgroup [label]=\"item.label\" [disabled]=\"item.disabled\">\n @for (option of item.options; track option) {\n <mat-option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [class.mat-mdc-option-multiple]=\"multiple()\"\n >\n {{ option.displayValue }}\n </mat-option>\n }\n </mat-optgroup>\n }\n }\n } @else {\n @for (option of filteredOptions$ | push; track option) {\n <mat-option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [class.mat-mdc-option-multiple]=\"multiple()\"\n >\n {{ option.displayValue }}\n </mat-option>\n }\n }\n </mat-select>\n <ng-content />\n <ng-content ngProjectAs=\"watt-field-hint\" select=\"watt-field-hint\" />\n <ng-content ngProjectAs=\"watt-field-error\" select=\"watt-field-error\" />\n</watt-field>\n", styles: ["watt-dropdown:not(.watt-chip-mode){width:100%}watt-dropdown{--watt-input-color: var(--watt-typography-text-color);--watt-input-placeholder-color: var(--watt-on-light-high-emphasis);display:block;width:auto}watt-dropdown watt-field label .watt-field-wrapper{padding:0;position:relative}watt-dropdown.watt-chip-mode.ng-dirty.ng-invalid .watt-field-wrapper watt-chip label{border:1px solid var(--watt-color-state-danger)}watt-dropdown.watt-chip-mode[disabled=true] watt-field label .watt-field-wrapper{background-color:transparent}watt-dropdown .mat-input-element{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--watt-input-color);caret-color:var(--watt-color-neutral-grey-900)!important;padding:0 12px}watt-dropdown .mat-mdc-select-arrow{color:var(--watt-dropdown-arrow-color, rgba(0, 0, 0, .54));border:none;width:auto;height:auto}watt-dropdown .mat-mdc-select-arrow:before{width:.6em;height:.6em;bottom:.2em;position:relative;display:inline-block;border-style:solid;border-width:0 0 .15em .15em;transform:rotate(315deg);border-color:var(--watt-color-primary);content:\"\"}watt-dropdown .mat-mdc-select-arrow svg{display:none}watt-dropdown .mat-mdc-select-trigger{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;padding:0 var(--watt-space-m)}watt-dropdown .mat-mdc-select-value{color:var(--watt-color-neutral-black);padding-right:var(--watt-space-m)}watt-dropdown .mat-mdc-select.mat-mdc-select-invalid.ng-pristine .mat-mdc-select-arrow{color:currentColor}watt-dropdown .watt-chip-label{float:right;margin-left:var(--watt-space-s);background:var(--watt-color-neutral-white)}watt-dropdown .watt-field--chip .mat-mdc-select{visibility:hidden;position:absolute;width:100%}watt-dropdown .mat-mdc-select-placeholder{color:var(--watt-input-placeholder-color)}watt-dropdown watt-field label .watt-field-wrapper{background-color:transparent}.watt-dropdown-panel{--watt-input-color: var(--watt-typography-text-color);padding:0}.watt-dropdown-panel .mat-select-search-inner-row .mat-select-search-input,.watt-dropdown-panel mat-option.contains-mat-select-search{height:48px}.watt-dropdown-panel:not(.watt-dropdown-panel-chip-mode){min-width:calc(100% + 2px)!important;margin-top:-36px;margin-left:-1px;min-height:48px}.watt-dropdown-panel .mat-mdc-checkbox.mat-select-search-toggle-all-checkbox{padding:0;margin:0 var(--watt-space-m)}.watt-dropdown-panel .mat-datepicker-content .mat-mdc-icon-button{--mat-mdc-button-persistent-ripple-color: transparent;--mat-mdc-button-ripple-color: transparent}.watt-dropdown-panel.watt-dropdown-panel-chip-mode{margin-top:4px}.watt-dropdown-panel.mat-mdc-select-search-panel{transform:scaleY(1)!important}.watt-dropdown-panel .mat-mdc-option.mdc-list-item.contains-mat-select-search.mat-mdc-option-multiple{background-color:transparent}.watt-dropdown-panel ngx-mat-select-search .mat-select-search-inner-multiple .mat-select-search-inner-row{margin-left:5px}.watt-dropdown-panel ngx-mat-select-search .mat-mdc-checkbox.mat-select-search-toggle-all-checkbox{margin:0}.watt-dropdown-panel .mdc-list-item .mat-select-search-input,.watt-dropdown-panel .mat-mdc-option.mdc-list-item,.watt-dropdown-panel .mat-select-search-no-entries-found{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--watt-input-color)}.watt-dropdown-panel .mat-mdc-optgroup-label{font-size:.875rem;line-height:1.25rem;font-weight:600;text-transform:none;letter-spacing:0;color:var(--watt-input-color)}.watt-dropdown-panel .mat-mdc-option.mdc-list-item .mat-select-search-no-entries-found{padding:var(--watt-space-s)}.watt-dropdown-panel .mat-checkbox-frame,.watt-dropdown-panel .mat-mdc-checkbox{border-color:var(--watt-color-primary)}.watt-dropdown-panel :not(.mat-mdc-option-multiple) .mat-pseudo-checkbox{display:none}.watt-dropdown-panel .mat-mdc-option-multiple .mat-pseudo-checkbox{display:inline-block}.watt-dropdown-panel .mat-pseudo-checkbox,.watt-dropdown-panel .mat-mdc-checkbox{color:var(--watt-color-primary)}.watt-dropdown-panel .mat-mdc-option{color:var(--watt-color-neutral-black);min-height:42px}.watt-dropdown-panel .mat-mdc-option[aria-disabled=true].contains-mat-select-search{margin-top:0;top:auto}.watt-dropdown-panel .mat-mdc-option.mdc-list-item.mat-mdc-option-active,.watt-dropdown-panel .mat-mdc-option.mdc-list-item.mdc-list-item--selected.mat-mdc-option-active:not(.mat-mdc-option-multiple),.watt-dropdown-panel .mat-mdc-option:hover:not(.mat-mdc-option-disabled,.contains-mat-select-search),.watt-dropdown-panel .mat-mdc-option:focus:not(.mat-mdc-option-disabled){background-color:var(--watt-color-primary-light)}.watt-dropdown-panel .mat-mdc-option .mat-mdc-select-search-no-entries-found{text-align:center;padding:0}.watt-dropdown-panel .mat-mdc-option.mat-mdc-option-disabled{color:var(--watt-color-neutral-grey-400);cursor:not-allowed}.watt-dropdown-panel .mat-mdc-select-search-input:not(.mat-mdc-select-search-hidden){color:var(--watt-color-neutral-black)}.watt-dropdown-panel .mat-mdc-select-search-clear{background-color:var(--watt-color-neutral-white);color:var(--watt-color-neutral-grey-400)}.watt-dropdown-panel .mat-mdc-select-search-clear mat-icon{line-height:20px!important}\n"] }]
|
|
345
345
|
}], ctorParameters: () => [], propDecorators: { matSelect: [{ type: i0.ViewChild, args: ['matSelect', { isSignal: true }] }], hideSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideSearch", required: false }] }], panelWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelWidth", required: false }] }], getCustomTrigger: [{ type: i0.Input, args: [{ isSignal: true, alias: "getCustomTrigger", required: false }] }], chipMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "chipMode", required: false }] }], disableSelectedMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableSelectedMode", required: false }] }], sortDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortDirection", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }, { type: i0.Output, args: ["optionsChange"] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], showResetOption: [{ type: i0.Input, args: [{ isSignal: true, alias: "showResetOption", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], noOptionsFoundLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "noOptionsFoundLabel", required: false }] }] } });
|
|
346
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9kcm9wZG93bi93YXR0LWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL2Ryb3Bkb3duL3dhdHQtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUVOLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsRUFDakIsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxTQUFTLEVBRVQsV0FBVyxFQUdYLGtCQUFrQixFQUNsQixtQkFBbUIsR0FFcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQWEsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFF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aW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHtcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBzaWduYWwsXG4gIGVmZmVjdCxcbiAgT25Jbml0LFxuICBpbmplY3QsXG4gIENvbXBvbmVudCxcbiAgdmlld0NoaWxkLFxuICBEZXN0cm95UmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBOZ0NvbnRyb2wsXG4gIFZhbGlkYXRvckZuLFxuICBGb3JtQ29udHJvbCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgQXN5bmNWYWxpZGF0b3JGbixcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBDb250cm9sVmFsdWVBY2Nlc3Nvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgUnhQdXNoIH0gZnJvbSAnQHJ4LWFuZ3VsYXIvdGVtcGxhdGUvcHVzaCc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IG9mLCBSZXBsYXlTdWJqZWN0LCBtYXAsIHRha2UsIG1lcmdlV2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmd4TWF0U2VsZWN0U2VhcmNoTW9kdWxlIH0gZnJvbSAnbmd4LW1hdC1zZWxlY3Qtc2VhcmNoJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSwgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5pbXBvcnQgeyBXYXR0SWNvbkNvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9pY29uJztcbmltcG9ydCB7IFdhdHRGaWVsZENvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9maWVsZCc7XG5pbXBvcnQgeyBXYXR0TWVudUNoaXBDb21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvY2hpcCc7XG5cbmltcG9ydCB0eXBlIHsgV2F0dERyb3Bkb3duVmFsdWUgfSBmcm9tICcuL3dhdHQtZHJvcGRvd24tdmFsdWUnO1xuaW1wb3J0IHR5cGUge1xuICBXYXR0RHJvcGRvd25PcHRpb25zLFxuICBXYXR0RHJvcGRvd25PcHRpb25Hcm91cCxcbiAgV2F0dERyb3Bkb3duR3JvdXBlZE9wdGlvbnMsXG59IGZyb20gJy4vd2F0dC1kcm9wZG93bi1vcHRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YXR0LWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dhdHQtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi93YXR0LWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtcbiAgICBSeFB1c2gsXG4gICAgTmdDbGFzcyxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTmd4TWF0U2VsZWN0U2VhcmNoTW9kdWxlLFxuXG4gICAgV2F0dEljb25Db21wb25lbnQsXG4gICAgV2F0dEZpZWxkQ29tcG9uZW50LFxuICAgIFdhdHRNZW51Q2hpcENvbXBvbmVudCxcbiAgXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci53YXR0LWZpZWxkLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkKCknLFxuICAgICdbY2xhc3Mud2F0dC1jaGlwLW1vZGVdJzogJ2NoaXBNb2RlKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0RHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgcHJpdmF0ZSBwYXJlbnRDb250cm9sRGlyZWN0aXZlID0gaW5qZWN0KE5nQ29udHJvbCwgeyBob3N0OiB0cnVlIH0pO1xuICBwcml2YXRlIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByaXZhdGUgdmFsaWRhdGVQYXJlbnQ/OiBWYWxpZGF0b3JGbjtcbiAgcHJpdmF0ZSB2YWxpZGF0ZVBhcmVudEFzeW5jPzogQXN5bmNWYWxpZGF0b3JGbjtcbiAgcHJpdmF0ZSBfb3B0aW9uczogV2F0dERyb3Bkb3duT3B0aW9ucyA9IFtdO1xuICBwcml2YXRlIF9ncm91cGVkT3B0aW9uczogV2F0dERyb3Bkb3duR3JvdXBlZE9wdGlvbnMgPSBbXTtcbiAgcGFyZW50Q29udHJvbDogRm9ybUNvbnRyb2wgfCBudWxsID0gbnVsbDtcbiAgbWF0U2VsZWN0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCB8IG51bGw+KG51bGwpO1xuXG4gIC8qKlxuICAgKiBDb250cm9sIGZvciB0aGUgTWF0U2VsZWN0IGZpbHRlciBrZXl3b3JkXG4gICAqL1xuICBmaWx0ZXJDb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIG9wdGlvbnMgZmlsdGVyZWQgYnkgc2VhcmNoIGtleXdvcmRcbiAgICovXG4gIGZpbHRlcmVkT3B0aW9ucyQgPSBuZXcgUmVwbGF5U3ViamVjdDxXYXR0RHJvcGRvd25PcHRpb25zPigxKTtcblxuICAvKipcbiAgICogTGlzdCBvZiBncm91cGVkIG9wdGlvbnMgZmlsdGVyZWQgYnkgc2VhcmNoIGtleXdvcmRcbiAgICovXG4gIGZpbHRlcmVkR3JvdXBlZE9wdGlvbnMkID0gbmV3IFJlcGxheVN1YmplY3Q8V2F0dERyb3Bkb3duR3JvdXBlZE9wdGlvbnM+KDEpO1xuXG4gIG1lcmdlZEZpbHRlcmVkT3B0aW9ucyQgPSB0aGlzLmZpbHRlcmVkT3B0aW9ucyQucGlwZShcbiAgICBtZXJnZVdpdGgodGhpcy5maWx0ZXJlZEdyb3VwZWRPcHRpb25zJCksXG4gICAgdGFrZSgxKSxcbiAgICBtYXAoKG9wdGlvbnMpID0+IHtcbiAgICAgIGlmICh0aGlzLmhhc0dyb3VwcygpKSB7XG4gICAgICAgIHJldHVybiAob3B0aW9ucyBhcyBXYXR0RHJvcGRvd25Hcm91cGVkT3B0aW9ucylcbiAgICAgICAgICAuZmxhdE1hcCgoZ3JvdXApID0+ICgnb3B0aW9ucycgaW4gZ3JvdXAgPyBncm91cC5vcHRpb25zIDogW10pKVxuICAgICAgICAgIC5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChvcHRpb25zIGFzIFdhdHREcm9wZG93bk9wdGlvbnMpLm1hcCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUpO1xuICAgIH0pXG4gICk7XG5cbiAgZW1EYXNoID0gJ+KAlCc7XG4gIGlzVG9nZ2xlQWxsQ2hlY2tlZCA9IGZhbHNlO1xuICBpc1RvZ2dsZUFsbEluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgaXNEaXNhYmxlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgZ2V0IHNob3dUcmlnZ2VyVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbXVsdGlwbGUgPSB0aGlzLm11bHRpcGxlKCk7XG4gICAgcmV0dXJuIChtdWx0aXBsZSAmJlxuICAgICAgdGhpcy5tYXRTZWxlY3RDb250cm9sLnZhbHVlPy5sZW5ndGggPT09IDEgJiZcbiAgICAgIHRoaXMubWF0U2VsZWN0Q29udHJvbC52YWx1ZVswXSAhPT0gJycpIHx8XG4gICAgICAoIW11bHRpcGxlICYmIHRoaXMubWF0U2VsZWN0KCk/LnRyaWdnZXJWYWx1ZSlcbiAgICAgID8gdHJ1ZVxuICAgICAgOiBmYWxzZTtcbiAgfVxuXG4gIGdldCBzaG93Q2hpcExhYmVsKCkge1xuICAgIHJldHVybiB0aGlzLm11bHRpcGxlKCkgJiYgdGhpcy5tYXRTZWxlY3RDb250cm9sLnZhbHVlICYmIHRoaXMubWF0U2VsZWN0Q29udHJvbC52YWx1ZS5sZW5ndGggPiAxXG4gICAgICA/IHRydWVcbiAgICAgIDogZmFsc2U7XG4gIH1cblxuICBtYXRTZWxlY3QgPSB2aWV3Q2hpbGQ8TWF0U2VsZWN0PignbWF0U2VsZWN0Jyk7XG4gIGhpZGVTZWFyY2ggPSBpbnB1dChmYWxzZSk7XG4gIHBhbmVsV2lkdGggPSBpbnB1dDxudWxsIHwgJ2F1dG8nPihudWxsKTtcbiAgZ2V0Q3VzdG9tVHJpZ2dlciA9IGlucHV0PCh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pID0+IHN0cmluZz4oKTtcblxuICAvKipcbiAgICogU2V0IHRoZSBtb2RlIG9mIHRoZSBkcm9wZG93bi5cbiAgICovXG4gIGNoaXBNb2RlID0gaW5wdXQoZmFsc2UpO1xuICBkaXNhYmxlU2VsZWN0ZWRNb2RlID0gaW5wdXQoZmFsc2UpO1xuICBzb3J0RGlyZWN0aW9uID0gaW5wdXQ8J2FzYycgfCAnZGVzYyc+KCk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG9wdGlvbnMgZm9yIHRoZSBkcm9wZG93bi5cbiAgICogQ2FuIGJlIGEgZmxhdCBhcnJheSBvZiBvcHRpb25zIG9yIGFuIGFycmF5IGNvbnRhaW5pbmcgYm90aCBvcHRpb25zIGFuZCBvcHRpb24gZ3JvdXBzLlxuICAgKi9cbiAgb3B0aW9ucyA9IG1vZGVsPFdhdHREcm9wZG93bk9wdGlvbnMgfCBXYXR0RHJvcGRvd25Hcm91cGVkT3B0aW9ucz4oW10pO1xuXG4gIC8qKlxuICAgKiBTZXRzIHN1cHBvcnQgZm9yIHNlbGVjdGluZyBtdWx0aXBsZSBkcm9wZG93biBvcHRpb25zLlxuICAgKi9cbiAgbXVsdGlwbGUgPSBpbnB1dChmYWxzZSk7XG5cbiAgLyoqXG4gICAqIFNldHMgc3VwcG9ydCBmb3IgaGlkaW5nIHRoZSByZXNldCBvcHRpb24gaW4gXCJzaW5nbGVcIiBzZWxlY3QgbW9kZS5cbiAgICovXG4gIHNob3dSZXNldE9wdGlvbiA9IGlucHV0KHRydWUpO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwbGFjZWhvbGRlciBmb3IgdGhlIGRyb3Bkb3duLlxuICAgKi9cbiAgcGxhY2Vob2xkZXIgPSBpbnB1dCgnJyk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGxhYmVsIGZvciB0aGUgZHJvcGRvd24uXG4gICAqL1xuICBsYWJlbCA9IGlucHV0KCcnKTtcblxuICAvKipcbiAgICogTGFiZWwgdG8gYmUgc2hvd24gd2hlbiBubyBvcHRpb25zIGFyZSBmb3VuZCBhZnRlciBmaWx0ZXJpbmcuXG4gICAqXG4gICAqIE5vdGU6IFRoZSBsYWJlbCBpcyB2aXNpYmxlIGluIFwibXVsdGlwbGVcIiBtb2RlIG9ubHkuXG4gICAqL1xuICBub09wdGlvbnNGb3VuZExhYmVsID0gaW5wdXQoJycpO1xuXG4gIGhhc0dyb3VwcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zKCkgPz8gW107XG4gICAgcmV0dXJuIG9wdGlvbnMuc29tZShcbiAgICAgIChvcHRpb24pID0+ICdvcHRpb25zJyBpbiBvcHRpb24gJiYgQXJyYXkuaXNBcnJheSgob3B0aW9uIGFzIFdhdHREcm9wZG93bk9wdGlvbkdyb3VwKS5vcHRpb25zKVxuICAgICk7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zKCk7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zKSkge1xuICAgICAgICBjb25zdCBvcHRpb25zQ29weSA9IFsuLi5vcHRpb25zXTtcblxuICAgICAgICBpZiAodGhpcy5oYXNHcm91cHMoKSkge1xuICAgICAgICAgIHRoaXMuaGFuZGxlR3JvdXAob3B0aW9uc0NvcHkgYXMgV2F0dERyb3Bkb3duR3JvdXBlZE9wdGlvbnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaGFuZGxlRmxhdChvcHRpb25zQ29weSBhcyBXYXR0RHJvcGRvd25PcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMucGFyZW50Q29udHJvbERpcmVjdGl2ZS52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRmxhdChvcHRpb25zQ29weTogV2F0dERyb3Bkb3duT3B0aW9ucykge1xuICAgIGlmICh0aGlzLnNvcnREaXJlY3Rpb24oKSkge1xuICAgICAgb3B0aW9uc0NvcHkgPSB0aGlzLnNvcnRPcHRpb25zKG9wdGlvbnNDb3B5KTtcbiAgICB9XG5cbiAgICB0aGlzLl9vcHRpb25zID0gb3B0aW9uc0NvcHk7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMkLm5leHQodGhpcy5fb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUdyb3VwKG9wdGlvbnNDb3B5OiBXYXR0RHJvcGRvd25Hcm91cGVkT3B0aW9ucykge1xuICAgIHRoaXMuX2dyb3VwZWRPcHRpb25zID0gdGhpcy5wcm9jZXNzR3JvdXBlZE9wdGlvbnMob3B0aW9uc0NvcHkpO1xuICAgIHRoaXMuZmlsdGVyZWRHcm91cGVkT3B0aW9ucyQubmV4dCh0aGlzLl9ncm91cGVkT3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NHcm91cGVkT3B0aW9ucyhvcHRpb25zOiBXYXR0RHJvcGRvd25Hcm91cGVkT3B0aW9ucyk6IFdhdHREcm9wZG93bkdyb3VwZWRPcHRpb25zIHtcbiAgICByZXR1cm4gb3B0aW9ucy5tYXAoKGdyb3VwKSA9PiB7XG4gICAgICBpZiAodGhpcy5zb3J0RGlyZWN0aW9uKCkpIHtcbiAgICAgICAgZ3JvdXAub3B0aW9ucyA9IHRoaXMuc29ydE9wdGlvbnMoZ3JvdXAub3B0aW9ucyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZ3JvdXA7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxpc3RlbkZvckZpbHRlckZpZWxkVmFsdWVDaGFuZ2VzKCk7XG4gICAgdGhpcy5pbml0aWFsaXplUHJvcGVydGllc0Zyb21QYXJlbnQoKTtcbiAgICB0aGlzLmJpbmRQYXJlbnRWYWxpZGF0b3JzVG9Db250cm9sKCk7XG4gICAgdGhpcy5iaW5kQ29udHJvbFRvUGFyZW50KCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBXYXR0RHJvcGRvd25WYWx1ZSkge1xuICAgIHRoaXMubWF0U2VsZWN0Q29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlRm46ICh2YWx1ZTogV2F0dERyb3Bkb3duVmFsdWUpID0+IHZvaWQpIHtcbiAgICB0aGlzLmNoYW5nZVBhcmVudFZhbHVlID0gb25DaGFuZ2VGbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hGbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMubWFya1BhcmVudENvbnRyb2xBc1RvdWNoZWQgPSBvblRvdWNoRm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKHNob3VsZERpc2FibGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzRGlzYWJsZWQuc2V0KHNob3VsZERpc2FibGUpO1xuICAgIGlmIChzaG91bGREaXNhYmxlKSB7XG4gICAgICB0aGlzLm1hdFNlbGVjdENvbnRyb2wuZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1hdFNlbGVjdENvbnRyb2wuZW5hYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgb25Ub2dnbGVBbGwodG9nZ2xlQWxsU3RhdGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm1lcmdlZEZpbHRlcmVkT3B0aW9ucyQuc3Vic2NyaWJlKChmaWx0ZXJlZE9wdGlvbnM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBjb25zdCBvcHRpb25zVG9TZWxlY3QgPSB0b2dnbGVBbGxTdGF0ZSA/IGZpbHRlcmVkT3B0aW9ucyA6IFtdO1xuICAgICAgdGhpcy5tYXRTZWxlY3RDb250cm9sLnBhdGNoVmFsdWUob3B0aW9uc1RvU2VsZWN0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0T3B0aW9ucyhvcHRpb25zOiBXYXR0RHJvcGRvd25PcHRpb25zKTogV2F0dERyb3Bkb3duT3B0aW9ucyB7XG4gICAgcmV0dXJuIFsuLi5vcHRpb25zXS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5zb3J0RGlyZWN0aW9uKCkgPT09ICdhc2MnXG4gICAgICAgID8gYS5kaXNwbGF5VmFsdWUubG9jYWxlQ29tcGFyZShiLmRpc3BsYXlWYWx1ZSlcbiAgICAgICAgOiBiLmRpc3BsYXlWYWx1ZS5sb2NhbGVDb21wYXJlKGEuZGlzcGxheVZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRm9yRmlsdGVyRmllbGRWYWx1ZUNoYW5nZXMoKSB7XG4gICAgdGhpcy5maWx0ZXJDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJPcHRpb25zKCk7XG5cbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKCkpIHtcbiAgICAgICAgdGhpcy5kZXRlcm1pbmVUb2dnbGVBbGxDaGVja2JveFN0YXRlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHByaXZhdGUgY2hhbmdlUGFyZW50VmFsdWUgPSAodmFsdWU6IFdhdHREcm9wZG93blZhbHVlKSA9PiB7XG4gICAgLy8gSW50ZW50aW9uYWxseSBsZWZ0IGVtcHR5XG4gIH07XG5cbiAgcHJpdmF0ZSBtYXJrUGFyZW50Q29udHJvbEFzVG91Y2hlZCA9ICgpID0+IHtcbiAgICAvLyBJbnRlbnRpb25hbGx5IGxlZnQgZW1wdHlcbiAgfTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKlxuICAgKiBTdG9yZSB0aGUgcGFyZW50IGNvbnRyb2wsIGl0cyB2YWxpZGF0b3JzIGFuZCBhc3luYyB2YWxpZGF0b3JzIGluIHByb3BlcnRpZXNcbiAgICogb2YgdGhpcyBjb21wb25lbnQuXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVQcm9wZXJ0aWVzRnJvbVBhcmVudCgpIHtcbiAgICB0aGlzLnBhcmVudENvbnRyb2wgPSB0aGlzLnBhcmVudENvbnRyb2xEaXJlY3RpdmUuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG5cbiAgICB0aGlzLnZhbGlkYXRlUGFyZW50ID1cbiAgICAgICh0aGlzLnBhcmVudENvbnRyb2wudmFsaWRhdG9yICYmIHRoaXMucGFyZW50Q29udHJvbC52YWxpZGF0b3IuYmluZCh0aGlzLnBhcmVudENvbnRyb2wpKSB8fFxuICAgICAgKCgpID0+IG51bGwpO1xuXG4gICAgdGhpcy52YWxpZGF0ZVBhcmVudEFzeW5jID1cbiAgICAgICh0aGlzLnBhcmVudENvbnRyb2wuYXN5bmNWYWxpZGF0b3IgJiZcbiAgICAgICAgdGhpcy5wYXJlbnRDb250cm9sLmFzeW5jVmFsaWRhdG9yLmJpbmQodGhpcy5wYXJlbnRDb250cm9sKSkgfHxcbiAgICAgICgoKSA9PiBvZihudWxsKSk7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKlxuICAgKiBJbmhlcml0IHZhbGlkYXRvcnMgZnJvbSBwYXJlbnQgZm9ybSBjb250cm9sLlxuICAgKi9cbiAgcHJpdmF0ZSBiaW5kUGFyZW50VmFsaWRhdG9yc1RvQ29udHJvbCgpIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gIXRoaXMubWF0U2VsZWN0Q29udHJvbC52YWxpZGF0b3JcbiAgICAgID8gW3RoaXMudmFsaWRhdGVQYXJlbnRdXG4gICAgICA6IEFycmF5LmlzQXJyYXkodGhpcy5tYXRTZWxlY3RDb250cm9sLnZhbGlkYXRvcilcbiAgICAgICAgPyBbLi4udGhpcy5tYXRTZWxlY3RDb250cm9sLnZhbGlkYXRvciwgdGhpcy52YWxpZGF0ZVBhcmVudF1cbiAgICAgICAgOiBbdGhpcy5tYXRTZWxlY3RDb250cm9sLnZhbGlkYXRvciwgdGhpcy52YWxpZGF0ZVBhcmVudF07XG4gICAgdGhpcy5tYXRTZWxlY3RDb250cm9sLnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XG5cbiAgICBjb25zdCBhc3luY1ZhbGlkYXRvcnMgPSAhdGhpcy5tYXRTZWxlY3RDb250cm9sLmFzeW5jVmFsaWRhdG9yXG4gICAgICA/IFt0aGlzLnZhbGlkYXRlUGFyZW50QXN5bmNdXG4gICAgICA6IEFycmF5LmlzQXJyYXkodGhpcy5tYXRTZWxlY3RDb250cm9sLmFzeW5jVmFsaWRhdG9yKVxuICAgICAgICA/IFsuLi50aGlzLm1hdFNlbGVjdENvbnRyb2wuYXN5bmNWYWxpZGF0b3IsIHRoaXMudmFsaWRhdGVQYXJlbnRBc3luY11cbiAgICAgICAgOiBbdGhpcy5tYXRTZWxlY3RDb250cm9sLmFzeW5jVmFsaWRhdG9yLCB0aGlzLnZhbGlkYXRlUGFyZW50QXN5bmNdO1xuICAgIHRoaXMubWF0U2VsZWN0Q29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnMoYXN5bmNWYWxpZGF0b3JzKTtcblxuICAgIHRoaXMubWF0U2VsZWN0Q29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKlxuICAgKiBFbWl0IHZhbHVlcyB0byB0aGUgcGFyZW50IGZvcm0gY29udHJvbCB3aGVuIG91ciBmb3JtIGNvbnRyb2wncyB2YWx1ZVxuICAgKiBjaGFuZ2VzLlxuICAgKlxuICAgKiBSZWZsZWN0IHBhcmVudCB2YWxpZGF0aW9uIGVycm9ycyBpbiBvdXIgZm9ybSBjb250cm9sLlxuICAgKi9cbiAgcHJpdmF0ZSBiaW5kQ29udHJvbFRvUGFyZW50KCkge1xuICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoKTtcbiAgICB0aGlzLmhhbmRsZVN0YXR1c0NoYW5nZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTdGF0dXNDaGFuZ2UoKSB7XG4gICAgdGhpcy5wYXJlbnRDb250cm9sPy5zdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKFxuICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICAuLi50aGlzLnBhcmVudENvbnRyb2w/LmVycm9ycyxcbiAgICAgICAgICAgIH0pIGFzIFZhbGlkYXRpb25FcnJvcnNcbiAgICAgICAgKSxcbiAgICAgICAgbWFwKChlcnJvcnMpID0+IChPYmplY3Qua2V5cyhlcnJvcnMpLmxlbmd0aCA+IDAgPyBlcnJvcnMgOiBudWxsKSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChlcnJvcnMpID0+IHtcbiAgICAgICAgdGhpcy5tYXRTZWxlY3RDb250cm9sLnNldEVycm9ycyhlcnJvcnMpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVZhbHVlQ2hhbmdlKCkge1xuICAgIHRoaXMubWF0U2VsZWN0Q29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHZhbHVlKSA9PiAodmFsdWUgPT09IHVuZGVmaW5lZCA/IG51bGwgOiB2YWx1ZSkpLFxuICAgICAgICBtYXAoKHZhbHVlOiBXYXR0RHJvcGRvd25WYWx1ZSkgPT4ge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogV2F0dERyb3Bkb3duVmFsdWUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUoKSkge1xuICAgICAgICAgIHRoaXMuZGV0ZXJtaW5lVG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tYXJrUGFyZW50Q29udHJvbEFzVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmNoYW5nZVBhcmVudFZhbHVlKHZhbHVlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5fb3B0aW9ucykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlYXJjaCA9ICh0aGlzLmZpbHRlckNvbnRyb2wudmFsdWUgYXMgc3RyaW5nKS50cmltKCkudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmICghc2VhcmNoKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyQubmV4dCh0aGlzLl9vcHRpb25zLnNsaWNlKCkpO1xuXG4gICAgICBpZiAodGhpcy5oYXNHcm91cHMoKSkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkR3JvdXBlZE9wdGlvbnMkLm5leHQodGhpcy5fZ3JvdXBlZE9wdGlvbnMuc2xpY2UoKSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyZWRGbGF0T3B0aW9ucyA9IHRoaXMuX29wdGlvbnMuZmlsdGVyKFxuICAgICAgKG9wdGlvbikgPT4gb3B0aW9uLmRpc3BsYXlWYWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoKSA+IC0xXG4gICAgKTtcblxuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zJC5uZXh0KGZpbHRlcmVkRmxhdE9wdGlvbnMpO1xuXG4gICAgaWYgKHRoaXMuaGFzR3JvdXBzKCkpIHtcbiAgICAgIHRoaXMuZmlsdGVyR3JvdXBzKHNlYXJjaCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJHcm91cHMoc2VhcmNoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBmaWx0ZXJlZEdyb3VwcyA9IHRoaXMuX2dyb3VwZWRPcHRpb25zXG4gICAgICAubWFwKChpdGVtKSA9PiB7XG4gICAgICAgIGlmICghKCdvcHRpb25zJyBpbiBpdGVtKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkR3JvdXBPcHRpb25zID0gaXRlbS5vcHRpb25zLmZpbHRlcihcbiAgICAgICAgICAob3B0aW9uKSA9PiBvcHRpb24uZGlzcGxheVZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2gpID4gLTFcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gZmlsdGVyZWRHcm91cE9wdGlvbnMubGVuZ3RoID4gMCA/IHsgLi4uaXRlbSwgb3B0aW9uczogZmlsdGVyZWRHcm91cE9wdGlvbnMgfSA6IG51bGw7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihCb29sZWFuKSBhcyBXYXR0RHJvcGRvd25Hcm91cGVkT3B0aW9ucztcblxuICAgIHRoaXMuZmlsdGVyZWRHcm91cGVkT3B0aW9ucyQubmV4dChmaWx0ZXJlZEdyb3Vwcyk7XG4gIH1cblxuICBwcml2YXRlIGRldGVybWluZVRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKSB7XG4gICAgdGhpcy5tZXJnZWRGaWx0ZXJlZE9wdGlvbnMkLnN1YnNjcmliZSgoZmlsdGVyZWRPcHRpb25zOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5tYXRTZWxlY3RDb250cm9sLnZhbHVlO1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShzZWxlY3RlZE9wdGlvbnMpKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRmlsdGVyZWRPcHRpb25zID0gZmlsdGVyZWRPcHRpb25zLmZpbHRlcigob3B0aW9uKSA9PlxuICAgICAgICAgIHNlbGVjdGVkT3B0aW9ucy5pbmNsdWRlcyhvcHRpb24pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5pc1RvZ2dsZUFsbEluZGV0ZXJtaW5hdGUgPVxuICAgICAgICAgIHNlbGVjdGVkRmlsdGVyZWRPcHRpb25zLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICBzZWxlY3RlZEZpbHRlcmVkT3B0aW9ucy5sZW5ndGggPCBmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoO1xuXG4gICAgICAgIHRoaXMuaXNUb2dnbGVBbGxDaGVja2VkID1cbiAgICAgICAgICBzZWxlY3RlZEZpbHRlcmVkT3B0aW9ucy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgc2VsZWN0ZWRGaWx0ZXJlZE9wdGlvbnMubGVuZ3RoID09PSBmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG5AbGljZW5zZVxuQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tPlxuPHdhdHQtZmllbGRcbiAgW2NvbnRyb2xdPVwicGFyZW50Q29udHJvbFwiXG4gIFtjaGlwTW9kZV09XCJjaGlwTW9kZSgpXCJcbiAgW2xhYmVsXT1cImxhYmVsKClcIlxuICAoY2xpY2spPVwibWF0U2VsZWN0Lm9wZW4oKVwiXG4+XG4gIEBpZiAoY2hpcE1vZGUoKSkge1xuICAgIDx3YXR0LW1lbnUtY2hpcFxuICAgICAgW29wZW5lZF09XCJtYXRTZWxlY3QucGFuZWxPcGVuXCJcbiAgICAgICh0b2dnbGUpPVwibWF0U2VsZWN0Lm9wZW4oKVwiXG4gICAgICBbc2VsZWN0ZWRdPVwiISFtYXRTZWxlY3Q/LnRyaWdnZXJWYWx1ZSAmJiAhZGlzYWJsZVNlbGVjdGVkTW9kZSgpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJtYXRTZWxlY3RDb250cm9sLmRpc2FibGVkXCJcbiAgICA+XG4gICAgICB7eyBwbGFjZWhvbGRlcigpIH19XG4gICAgICBAaWYgKHNob3dUcmlnZ2VyVmFsdWUpIHtcbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAgQGlmIChwbGFjZWhvbGRlcigpKSB7XG4gICAgICAgICAgICA6XG4gICAgICAgICAgfVxuICAgICAgICAgIHt7IGdldEN1c3RvbVRyaWdnZXIoKT8uKG1hdFNlbGVjdC52YWx1ZSkgPz8gbWF0U2VsZWN0Py50cmlnZ2VyVmFsdWUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgfVxuICAgICAgQGlmIChzaG93Q2hpcExhYmVsKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2F0dC1jaGlwLWxhYmVsXCI+e3sgbWF0U2VsZWN0Q29udHJvbC52YWx1ZT8ubGVuZ3RoIH19PC9zcGFuPlxuICAgICAgfVxuICAgIDwvd2F0dC1tZW51LWNoaXA+XG4gIH1cblxuICA8bWF0LXNlbGVjdFxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWwoKVwiXG4gICAgW2Zvcm1Db250cm9sXT1cIm1hdFNlbGVjdENvbnRyb2xcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCJcbiAgICAjbWF0U2VsZWN0XG4gICAgW3BhbmVsV2lkdGhdPVwicGFuZWxXaWR0aCgpXCJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGUoKVwiXG4gICAgW25nQ2xhc3NdPVwieyBjaGlwOiBjaGlwTW9kZSgpLCAnbWF0LW1kYy1zZWxlY3QtbXVsdGlwbGUnOiBtdWx0aXBsZSgpIH1cIlxuICAgIFtwYW5lbENsYXNzXT1cIntcbiAgICAgICd3YXR0LWRyb3Bkb3duLXBhbmVsJzogdHJ1ZSxcbiAgICAgICd3YXR0LWRyb3Bkb3duLXBhbmVsLWNoaXAtbW9kZSc6IGNoaXBNb2RlKCksXG4gICAgICAnbWF0LW1kYy1zZWxlY3QtcGFuZWwtbXVsdGlwbGUnOiBtdWx0aXBsZSgpLFxuICAgIH1cIlxuICA+XG4gICAgPCEtLSBXZSB1c2UgdGhpcyBpbnN0ZWFkIG9mIG5nSWYsIHNpbmNlIGl0IHdpbGwgdHJpZ2dlciBhIE5HMDEwMDogRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvcjogRXhwcmVzc2lvbiBoYXMgY2hhbmdlZCBhZnRlciBpdCB3YXMgY2hlY2tlZC4gLS0+XG4gICAgPG1hdC1vcHRpb24gW3N0eWxlLmRpc3BsYXldPVwiIWhpZGVTZWFyY2goKSA/ICdibG9jaycgOiAnbm9uZSdcIj5cbiAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZpbHRlckNvbnRyb2xcIlxuICAgICAgICBbcGxhY2Vob2xkZXJMYWJlbF09XCJwbGFjZWhvbGRlcigpXCJcbiAgICAgICAgY2xvc2VJY29uPVwiY2xvc2VcIlxuICAgICAgICBbc2hvd1RvZ2dsZUFsbENoZWNrYm94XT1cIm11bHRpcGxlKClcIlxuICAgICAgICAodG9nZ2xlQWxsKT1cIm9uVG9nZ2xlQWxsKCRldmVudClcIlxuICAgICAgICBbdG9nZ2xlQWxsQ2hlY2tib3hDaGVja2VkXT1cImlzVG9nZ2xlQWxsQ2hlY2tlZFwiXG4gICAgICAgIFt0b2dnbGVBbGxDaGVja2JveEluZGV0ZXJtaW5hdGVdPVwiaXNUb2dnbGVBbGxJbmRldGVybWluYXRlXCJcbiAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwibm9PcHRpb25zRm91bmRMYWJlbCgpXCJcbiAgICAgID5cbiAgICAgICAgPHdhdHQtaWNvbiBuZ3hNYXRTZWxlY3RTZWFyY2hDbGVhciBuYW1lPVwiY2xvc2VcIiBzaXplPVwic1wiIC8+XG4gICAgICA8L25neC1tYXQtc2VsZWN0LXNlYXJjaD5cbiAgICA8L21hdC1vcHRpb24+XG5cbiAgICBAaWYgKCFtdWx0aXBsZSgpICYmIHNob3dSZXNldE9wdGlvbigpKSB7XG4gICAgICA8bWF0LW9wdGlvbj57eyBlbURhc2ggfX08L21hdC1vcHRpb24+XG4gICAgfVxuXG4gICAgQGlmIChoYXNHcm91cHMoKSkge1xuICAgICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJlZEdyb3VwZWRPcHRpb25zJCB8IHB1c2g7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgQGlmIChcIm9wdGlvbnNcIiBpbiBpdGVtKSB7XG4gICAgICAgICAgPG1hdC1vcHRncm91cCBbbGFiZWxdPVwiaXRlbS5sYWJlbFwiIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCI+XG4gICAgICAgICAgICBAZm9yIChvcHRpb24gb2YgaXRlbS5vcHRpb25zOyB0cmFjayBvcHRpb24pIHtcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MubWF0LW1kYy1vcHRpb24tbXVsdGlwbGVdPVwibXVsdGlwbGUoKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBvcHRpb24uZGlzcGxheVZhbHVlIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L21hdC1vcHRncm91cD5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGZvciAob3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9ucyQgfCBwdXNoOyB0cmFjayBvcHRpb24pIHtcbiAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkXCJcbiAgICAgICAgICBbY2xhc3MubWF0LW1kYy1vcHRpb24tbXVsdGlwbGVdPVwibXVsdGlwbGUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBvcHRpb24uZGlzcGxheVZhbHVlIH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIH1cbiAgICB9XG4gIDwvbWF0LXNlbGVjdD5cbiAgPG5nLWNvbnRlbnQgLz5cbiAgPG5nLWNvbnRlbnQgbmdQcm9qZWN0QXM9XCJ3YXR0LWZpZWxkLWhpbnRcIiBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWhpbnRcIiAvPlxuICA8bmctY29udGVudCBuZ1Byb2plY3RBcz1cIndhdHQtZmllbGQtZXJyb3JcIiBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWVycm9yXCIgLz5cbjwvd2F0dC1maWVsZD5cbiJdfQ==
|
|
346
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9kcm9wZG93bi93YXR0LWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL2Ryb3Bkb3duL3dhdHQtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUVOLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsRUFDakIsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxTQUFTLEVBRVQsV0FBVyxFQUdYLGtCQUFrQixFQUNsQixtQkFBbUIsR0FFcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQWEsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFF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aW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHtcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBzaWduYWwsXG4gIGVmZmVjdCxcbiAgT25Jbml0LFxuICBpbmplY3QsXG4gIENvbXBvbmVudCxcbiAgdmlld0NoaWxkLFxuICBEZXN0cm95UmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBOZ0NvbnRyb2wsXG4gIFZhbGlkYXRvckZuLFxuICBGb3JtQ29udHJvbCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgQXN5bmNWYWxpZGF0b3JGbixcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBDb250cm9sVmFsdWVBY2Nlc3Nvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgUnhQdXNoIH0gZnJvbSAnQHJ4LWFuZ3VsYXIvdGVtcGxhdGUvcHVzaCc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IG9mLCBSZXBsYXlTdWJqZWN0LCBtYXAsIHRha2UsIG1lcmdlV2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmd4TWF0U2VsZWN0U2VhcmNoTW9kdWxlIH0gZnJvbSAnbmd4LW1hdC1zZWxlY3Qtc2VhcmNoJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSwgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5pbXBvcnQgeyBXYXR0SWNvbkNvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9pY29uJztcbmltcG9ydCB7IFdhdHRGaWVsZENvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9maWVsZCc7XG5pbXBvcnQgeyBXYXR0TWVudUNoaXBDb21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvY2hpcCc7XG5cbmltcG9ydCB0eXBlIHsgV2F0dERyb3Bkb3duVmFsdWUgfSBmcm9tICcuL3dhdHQtZHJvcGRvd24tdmFsdWUnO1xuaW1wb3J0IHR5cGUge1xuICBXYXR0RHJvcGRvd25PcHRpb25zLFxuICBXYXR0RHJvcGRvd25PcHRpb25Hcm91cCxcbiAgV2F0dERyb3Bkb3duR3JvdXBlZE9wdGlvbnMsXG59IGZyb20gJy4vd2F0dC1kcm9wZG93bi1vcHRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YXR0LWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dhdHQtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi93YXR0LWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtcbiAgICBSeFB1c2gsXG4gICAgTmdDbGFzcyxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTmd4TWF0U2VsZWN0U2VhcmNoTW9kdWxlLFxuXG4gICAgV2F0dEljb25Db21wb25lbnQsXG4gICAgV2F0dEZpZWxkQ29tcG9uZW50LFxuICAgIFdhdHRNZW51Q2hpcENvbXBvbmVudCxcbiAgXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci53YXR0LWZpZWxkLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkKCknLFxuICAgICdbY2xhc3Mud2F0dC1jaGlwLW1vZGVdJzogJ2NoaXBNb2RlKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0RHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgcHJpdmF0ZSBwYXJlbnRDb250cm9sRGlyZWN0aXZlID0gaW5qZWN0KE5nQ29udHJvbCwgeyBob3N0OiB0cnVlIH0pO1xuICBwcml2YXRlIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByaXZhdGUgdmFsaWRhdGVQYXJlbnQ/OiBWYWxpZGF0b3JGbjtcbiAgcHJpdmF0ZSB2YWxpZGF0ZVBhcmVudEFzeW5jPzogQXN5bmNWYWxpZGF0b3JGbjtcbiAgcHJpdmF0ZSBfb3B0aW9uczogV2F0dERyb3Bkb3duT3B0aW9ucyA9IFtdO1xuICBwcml2YXRlIF9ncm91cGVkT3B0aW9uczogV2F0dERyb3Bkb3duR3JvdXBlZE9wdGlvbnMgPSBbXTtcbiAgcGFyZW50Q29udHJvbDogRm9ybUNvbnRyb2wgfCBudWxsID0gbnVsbDtcbiAgbWF0U2VsZWN0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCB8IG51bGw+KG51bGwpO1xuXG4gIC8qKlxuICAgKiBDb250cm9sIGZvciB0aGUgTWF0U2VsZWN0IGZpbHRlciBrZXl3b3JkXG4gICAqL1xuICBmaWx0ZXJDb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIG9wdGlvbnMgZmlsdGVyZWQgYnkgc2VhcmNoIGtleXdvcmRcbiAgICovXG4gIGZpbHRlcmVkT3B0aW9ucyQgPSBuZXcgUmVwbGF5U3ViamVjdDxXYXR0RHJvcGRvd25PcHRpb25zPigxKTtcblxuICAvKipcbiAgICogTGlzdCBvZiBncm91cGVkIG9wdGlvbnMgZmlsdGVyZWQgYnkgc2VhcmNoIGtleXdvcmRcbiAgICovXG4gIGZpbHRlcmVkR3JvdXBlZE9wdGlvbnMkID0gbmV3IFJlcGxheVN1YmplY3Q8V2F0dERyb3Bkb3duR3JvdXBlZE9wdGlvbnM+KDEpO1xuXG4gIG1lcmdlZEZpbHRlcmVkT3B0aW9ucyQgPSB0aGlzLmZpbHRlcmVkT3B0aW9ucyQucGlwZShcbiAgICBtZXJnZVdpdGgodGhpcy5maWx0ZXJlZEdyb3VwZWRPcHRpb25zJCksXG4gICAgdGFrZSgxKSxcbiAgICBtYXAoKG9wdGlvbnMpID0+IHtcbiAgICAgIGlmICh0aGlzLmhhc0dyb3VwcygpKSB7XG4gICAgICAgIHJldHVybiAob3B0aW9ucyBhcyBXYXR0RHJvcGRvd25Hcm91cGVkT3B0aW9ucylcbiAgICAgICAgICAuZmxhdE1hcCgoZ3JvdXApID0+ICgnb3B0aW9ucycgaW4gZ3JvdXAgPyBncm91cC5vcHRpb25zIDogW10pKVxuICAgICAgICAgIC5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChvcHRpb25zIGFzIFdhdHREcm9wZG93bk9wdGlvbnMpLm1hcCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUpO1xuICAgIH0pXG4gICk7XG5cbiAgZW1EYXNoID0gJ+KAlCc7XG4gIGlzVG9nZ2xlQWxsQ2hlY2tlZCA9IGZhbHNlO1xuICBpc1RvZ2dsZUFsbEluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgaXNEaXNhYmxlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgZ2V0IHNob3dUcmlnZ2VyVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbXVsdGlwbGUgPSB0aGlzLm11bHRpcGxlKCk7XG4gICAgcmV0dXJuIChtdWx0aXBsZSAmJlxuICAgICAgdGhpcy5tYXRTZWxlY3RDb250cm9sLnZhbHVlPy5sZW5ndGggPT09IDEgJiZcbiAgICAgIHRoaXMubWF0U2VsZWN0Q29udHJvbC52YWx1ZVswXSAhPT0gJycpIHx8XG4gICAgICAoIW11bHRpcGxlICYmIHRoaXMubWF0U2VsZWN0KCk/LnRyaWdnZXJWYWx1ZSlcbiAgICAgID8gdHJ1ZVxuICAgICAgOiBmYWxzZTtcbiAgfVxuXG4gIGdldCBzaG93Q2hpcExhYmVsKCkge1xuICAgIHJldHVybiB0aGlzLm11bHRpcGxlKCkgJiYgdGhpcy5tYXRTZWxlY3RDb250cm9sLnZhbHVlICYmIHRoaXMubWF0U2VsZWN0Q29udHJvbC52YWx1ZS5sZW5ndGggPiAxXG4gICAgICA/IHRydWVcbiAgICAgIDogZmFsc2U7XG4gIH1cblxuICBtYXRTZWxlY3QgPSB2aWV3Q2hpbGQ8TWF0U2VsZWN0PignbWF0U2VsZWN0Jyk7XG4gIGhpZGVTZWFyY2ggPSBpbnB1dChmYWxzZSk7XG4gIHBhbmVsV2lkdGggPSBpbnB1dDxudWxsIHwgJ2F1dG8nPihudWxsKTtcbiAgZ2V0Q3VzdG9tVHJpZ2dlciA9IGlucHV0PCh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pID0+IHN0cmluZz4oKTtcblxuICAvKipcbiAgICogU2V0IHRoZSBtb2RlIG9mIHRoZSBkcm9wZG93bi5cbiAgICovXG4gIGNoaXBNb2RlID0gaW5wdXQoZmFsc2UpO1xuICBkaXNhYmxlU2VsZWN0ZWRNb2RlID0gaW5wdXQoZmFsc2UpO1xuICBzb3J0RGlyZWN0aW9uID0gaW5wdXQ8J2FzYycgfCAnZGVzYyc+KCk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG9wdGlvbnMgZm9yIHRoZSBkcm9wZG93bi5cbiAgICogQ2FuIGJlIGEgZmxhdCBhcnJheSBvZiBvcHRpb25zIG9yIGFuIGFycmF5IGNvbnRhaW5pbmcgYm90aCBvcHRpb25zIGFuZCBvcHRpb24gZ3JvdXBzLlxuICAgKi9cbiAgb3B0aW9ucyA9IG1vZGVsPFdhdHREcm9wZG93bk9wdGlvbnMgfCBXYXR0RHJvcGRvd25Hcm91cGVkT3B0aW9ucz4oW10pO1xuXG4gIC8qKlxuICAgKiBTZXRzIHN1cHBvcnQgZm9yIHNlbGVjdGluZyBtdWx0aXBsZSBkcm9wZG93biBvcHRpb25zLlxuICAgKi9cbiAgbXVsdGlwbGUgPSBpbnB1dChmYWxzZSk7XG5cbiAgLyoqXG4gICAqIFNldHMgc3VwcG9ydCBmb3IgaGlkaW5nIHRoZSByZXNldCBvcHRpb24gaW4gXCJzaW5nbGVcIiBzZWxlY3QgbW9kZS5cbiAgICovXG4gIHNob3dSZXNldE9wdGlvbiA9IGlucHV0KHRydWUpO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwbGFjZWhvbGRlciBmb3IgdGhlIGRyb3Bkb3duLlxuICAgKi9cbiAgcGxhY2Vob2xkZXIgPSBpbnB1dCgnJyk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGxhYmVsIGZvciB0aGUgZHJvcGRvd24uXG4gICAqL1xuICBsYWJlbCA9IGlucHV0KCcnKTtcblxuICAvKipcbiAgICogTGFiZWwgdG8gYmUgc2hvd24gd2hlbiBubyBvcHRpb25zIGFyZSBmb3VuZCBhZnRlciBmaWx0ZXJpbmcuXG4gICAqXG4gICAqIE5vdGU6IFRoZSBsYWJlbCBpcyB2aXNpYmxlIGluIFwibXVsdGlwbGVcIiBtb2RlIG9ubHkuXG4gICAqL1xuICBub09wdGlvbnNGb3VuZExhYmVsID0gaW5wdXQoJycpO1xuXG4gIGhhc0dyb3VwcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zKCkgPz8gW107XG4gICAgcmV0dXJuIG9wdGlvbnMuc29tZShcbiAgICAgIChvcHRpb24pID0+ICdvcHRpb25zJyBpbiBvcHRpb24gJiYgQXJyYXkuaXNBcnJheSgob3B0aW9uIGFzIFdhdHREcm9wZG93bk9wdGlvbkdyb3VwKS5vcHRpb25zKVxuICAgICk7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zKCk7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zKSkge1xuICAgICAgICBjb25zdCBvcHRpb25zQ29weSA9IFsuLi5vcHRpb25zXTtcblxuICAgICAgICBpZiAodGhpcy5oYXNHcm91cHMoKSkge1xuICAgICAgICAgIHRoaXMuaGFuZGxlR3JvdXAob3B0aW9uc0NvcHkgYXMgV2F0dERyb3Bkb3duR3JvdXBlZE9wdGlvbnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaGFuZGxlRmxhdChvcHRpb25zQ29weSBhcyBXYXR0RHJvcGRvd25PcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMucGFyZW50Q29udHJvbERpcmVjdGl2ZS52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRmxhdChvcHRpb25zQ29weTogV2F0dERyb3Bkb3duT3B0aW9ucykge1xuICAgIGlmICh0aGlzLnNvcnREaXJlY3Rpb24oKSkge1xuICAgICAgb3B0aW9uc0NvcHkgPSB0aGlzLnNvcnRPcHRpb25zKG9wdGlvbnNDb3B5KTtcbiAgICB9XG5cbiAgICB0aGlzLl9vcHRpb25zID0gb3B0aW9uc0NvcHk7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMkLm5leHQodGhpcy5fb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUdyb3VwKG9wdGlvbnNDb3B5OiBXYXR0RHJvcGRvd25Hcm91cGVkT3B0aW9ucykge1xuICAgIHRoaXMuX2dyb3VwZWRPcHRpb25zID0gdGhpcy5wcm9jZXNzR3JvdXBlZE9wdGlvbnMob3B0aW9uc0NvcHkpO1xuICAgIHRoaXMuZmlsdGVyZWRHcm91cGVkT3B0aW9ucyQubmV4dCh0aGlzLl9ncm91cGVkT3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NHcm91cGVkT3B0aW9ucyhvcHRpb25zOiBXYXR0RHJvcGRvd25Hcm91cGVkT3B0aW9ucyk6IFdhdHREcm9wZG93bkdyb3VwZWRPcHRpb25zIHtcbiAgICByZXR1cm4gb3B0aW9ucy5tYXAoKGdyb3VwKSA9PiB7XG4gICAgICBpZiAodGhpcy5zb3J0RGlyZWN0aW9uKCkpIHtcbiAgICAgICAgZ3JvdXAub3B0aW9ucyA9IHRoaXMuc29ydE9wdGlvbnMoZ3JvdXAub3B0aW9ucyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZ3JvdXA7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxpc3RlbkZvckZpbHRlckZpZWxkVmFsdWVDaGFuZ2VzKCk7XG4gICAgdGhpcy5pbml0aWFsaXplUHJvcGVydGllc0Zyb21QYXJlbnQoKTtcbiAgICB0aGlzLmJpbmRQYXJlbnRWYWxpZGF0b3JzVG9Db250cm9sKCk7XG4gICAgdGhpcy5iaW5kQ29udHJvbFRvUGFyZW50KCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBXYXR0RHJvcGRvd25WYWx1ZSkge1xuICAgIHRoaXMubWF0U2VsZWN0Q29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlRm46ICh2YWx1ZTogV2F0dERyb3Bkb3duVmFsdWUpID0+IHZvaWQpIHtcbiAgICB0aGlzLmNoYW5nZVBhcmVudFZhbHVlID0gb25DaGFuZ2VGbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hGbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMubWFya1BhcmVudENvbnRyb2xBc1RvdWNoZWQgPSBvblRvdWNoRm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKHNob3VsZERpc2FibGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzRGlzYWJsZWQuc2V0KHNob3VsZERpc2FibGUpO1xuICAgIGlmIChzaG91bGREaXNhYmxlKSB7XG4gICAgICB0aGlzLm1hdFNlbGVjdENvbnRyb2wuZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1hdFNlbGVjdENvbnRyb2wuZW5hYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgb25Ub2dnbGVBbGwodG9nZ2xlQWxsU3RhdGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm1lcmdlZEZpbHRlcmVkT3B0aW9ucyQuc3Vic2NyaWJlKChmaWx0ZXJlZE9wdGlvbnM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBjb25zdCBvcHRpb25zVG9TZWxlY3QgPSB0b2dnbGVBbGxTdGF0ZSA/IGZpbHRlcmVkT3B0aW9ucyA6IFtdO1xuICAgICAgdGhpcy5tYXRTZWxlY3RDb250cm9sLnBhdGNoVmFsdWUob3B0aW9uc1RvU2VsZWN0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0T3B0aW9ucyhvcHRpb25zOiBXYXR0RHJvcGRvd25PcHRpb25zKTogV2F0dERyb3Bkb3duT3B0aW9ucyB7XG4gICAgcmV0dXJuIFsuLi5vcHRpb25zXS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5zb3J0RGlyZWN0aW9uKCkgPT09ICdhc2MnXG4gICAgICAgID8gYS5kaXNwbGF5VmFsdWUubG9jYWxlQ29tcGFyZShiLmRpc3BsYXlWYWx1ZSlcbiAgICAgICAgOiBiLmRpc3BsYXlWYWx1ZS5sb2NhbGVDb21wYXJlKGEuZGlzcGxheVZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRm9yRmlsdGVyRmllbGRWYWx1ZUNoYW5nZXMoKSB7XG4gICAgdGhpcy5maWx0ZXJDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJPcHRpb25zKCk7XG5cbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKCkpIHtcbiAgICAgICAgdGhpcy5kZXRlcm1pbmVUb2dnbGVBbGxDaGVja2JveFN0YXRlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHByaXZhdGUgY2hhbmdlUGFyZW50VmFsdWUgPSAodmFsdWU6IFdhdHREcm9wZG93blZhbHVlKSA9PiB7XG4gICAgLy8gSW50ZW50aW9uYWxseSBsZWZ0IGVtcHR5XG4gIH07XG5cbiAgcHJpdmF0ZSBtYXJrUGFyZW50Q29udHJvbEFzVG91Y2hlZCA9ICgpID0+IHtcbiAgICAvLyBJbnRlbnRpb25hbGx5IGxlZnQgZW1wdHlcbiAgfTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKlxuICAgKiBTdG9yZSB0aGUgcGFyZW50IGNvbnRyb2wsIGl0cyB2YWxpZGF0b3JzIGFuZCBhc3luYyB2YWxpZGF0b3JzIGluIHByb3BlcnRpZXNcbiAgICogb2YgdGhpcyBjb21wb25lbnQuXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVQcm9wZXJ0aWVzRnJvbVBhcmVudCgpIHtcbiAgICB0aGlzLnBhcmVudENvbnRyb2wgPSB0aGlzLnBhcmVudENvbnRyb2xEaXJlY3RpdmUuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG5cbiAgICB0aGlzLnZhbGlkYXRlUGFyZW50ID1cbiAgICAgICh0aGlzLnBhcmVudENvbnRyb2wudmFsaWRhdG9yICYmIHRoaXMucGFyZW50Q29udHJvbC52YWxpZGF0b3IuYmluZCh0aGlzLnBhcmVudENvbnRyb2wpKSB8fFxuICAgICAgKCgpID0+IG51bGwpO1xuXG4gICAgdGhpcy52YWxpZGF0ZVBhcmVudEFzeW5jID1cbiAgICAgICh0aGlzLnBhcmVudENvbnRyb2wuYXN5bmNWYWxpZGF0b3IgJiZcbiAgICAgICAgdGhpcy5wYXJlbnRDb250cm9sLmFzeW5jVmFsaWRhdG9yLmJpbmQodGhpcy5wYXJlbnRDb250cm9sKSkgfHxcbiAgICAgICgoKSA9PiBvZihudWxsKSk7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKlxuICAgKiBJbmhlcml0IHZhbGlkYXRvcnMgZnJvbSBwYXJlbnQgZm9ybSBjb250cm9sLlxuICAgKi9cbiAgcHJpdmF0ZSBiaW5kUGFyZW50VmFsaWRhdG9yc1RvQ29udHJvbCgpIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gIXRoaXMubWF0U2VsZWN0Q29udHJvbC52YWxpZGF0b3JcbiAgICAgID8gW3RoaXMudmFsaWRhdGVQYXJlbnRdXG4gICAgICA6IEFycmF5LmlzQXJyYXkodGhpcy5tYXRTZWxlY3RDb250cm9sLnZhbGlkYXRvcilcbiAgICAgICAgPyBbLi4udGhpcy5tYXRTZWxlY3RDb250cm9sLnZhbGlkYXRvciwgdGhpcy52YWxpZGF0ZVBhcmVudF1cbiAgICAgICAgOiBbdGhpcy5tYXRTZWxlY3RDb250cm9sLnZhbGlkYXRvciwgdGhpcy52YWxpZGF0ZVBhcmVudF07XG4gICAgdGhpcy5tYXRTZWxlY3RDb250cm9sLnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XG5cbiAgICBjb25zdCBhc3luY1ZhbGlkYXRvcnMgPSAhdGhpcy5tYXRTZWxlY3RDb250cm9sLmFzeW5jVmFsaWRhdG9yXG4gICAgICA/IFt0aGlzLnZhbGlkYXRlUGFyZW50QXN5bmNdXG4gICAgICA6IEFycmF5LmlzQXJyYXkodGhpcy5tYXRTZWxlY3RDb250cm9sLmFzeW5jVmFsaWRhdG9yKVxuICAgICAgICA/IFsuLi50aGlzLm1hdFNlbGVjdENvbnRyb2wuYXN5bmNWYWxpZGF0b3IsIHRoaXMudmFsaWRhdGVQYXJlbnRBc3luY11cbiAgICAgICAgOiBbdGhpcy5tYXRTZWxlY3RDb250cm9sLmFzeW5jVmFsaWRhdG9yLCB0aGlzLnZhbGlkYXRlUGFyZW50QXN5bmNdO1xuICAgIHRoaXMubWF0U2VsZWN0Q29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnMoYXN5bmNWYWxpZGF0b3JzKTtcblxuICAgIHRoaXMubWF0U2VsZWN0Q29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKlxuICAgKiBFbWl0IHZhbHVlcyB0byB0aGUgcGFyZW50IGZvcm0gY29udHJvbCB3aGVuIG91ciBmb3JtIGNvbnRyb2wncyB2YWx1ZVxuICAgKiBjaGFuZ2VzLlxuICAgKlxuICAgKiBSZWZsZWN0IHBhcmVudCB2YWxpZGF0aW9uIGVycm9ycyBpbiBvdXIgZm9ybSBjb250cm9sLlxuICAgKi9cbiAgcHJpdmF0ZSBiaW5kQ29udHJvbFRvUGFyZW50KCkge1xuICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoKTtcbiAgICB0aGlzLmhhbmRsZVN0YXR1c0NoYW5nZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTdGF0dXNDaGFuZ2UoKSB7XG4gICAgdGhpcy5wYXJlbnRDb250cm9sPy5zdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKFxuICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICAuLi50aGlzLnBhcmVudENvbnRyb2w/LmVycm9ycyxcbiAgICAgICAgICAgIH0pIGFzIFZhbGlkYXRpb25FcnJvcnNcbiAgICAgICAgKSxcbiAgICAgICAgbWFwKChlcnJvcnMpID0+IChPYmplY3Qua2V5cyhlcnJvcnMpLmxlbmd0aCA+IDAgPyBlcnJvcnMgOiBudWxsKSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChlcnJvcnMpID0+IHtcbiAgICAgICAgdGhpcy5tYXRTZWxlY3RDb250cm9sLnNldEVycm9ycyhlcnJvcnMpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVZhbHVlQ2hhbmdlKCkge1xuICAgIHRoaXMubWF0U2VsZWN0Q29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHZhbHVlKSA9PiAodmFsdWUgPT09IHVuZGVmaW5lZCA/IG51bGwgOiB2YWx1ZSkpLFxuICAgICAgICBtYXAoKHZhbHVlOiBXYXR0RHJvcGRvd25WYWx1ZSkgPT4ge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogV2F0dERyb3Bkb3duVmFsdWUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUoKSkge1xuICAgICAgICAgIHRoaXMuZGV0ZXJtaW5lVG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tYXJrUGFyZW50Q29udHJvbEFzVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmNoYW5nZVBhcmVudFZhbHVlKHZhbHVlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5fb3B0aW9ucykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlYXJjaCA9ICh0aGlzLmZpbHRlckNvbnRyb2wudmFsdWUgYXMgc3RyaW5nKS50cmltKCkudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmICghc2VhcmNoKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyQubmV4dCh0aGlzLl9vcHRpb25zLnNsaWNlKCkpO1xuXG4gICAgICBpZiAodGhpcy5oYXNHcm91cHMoKSkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkR3JvdXBlZE9wdGlvbnMkLm5leHQodGhpcy5fZ3JvdXBlZE9wdGlvbnMuc2xpY2UoKSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyZWRGbGF0T3B0aW9ucyA9IHRoaXMuX29wdGlvbnMuZmlsdGVyKFxuICAgICAgKG9wdGlvbikgPT4gb3B0aW9uLmRpc3BsYXlWYWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoKSA+IC0xXG4gICAgKTtcblxuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zJC5uZXh0KGZpbHRlcmVkRmxhdE9wdGlvbnMpO1xuXG4gICAgaWYgKHRoaXMuaGFzR3JvdXBzKCkpIHtcbiAgICAgIHRoaXMuZmlsdGVyR3JvdXBzKHNlYXJjaCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJHcm91cHMoc2VhcmNoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBmaWx0ZXJlZEdyb3VwcyA9IHRoaXMuX2dyb3VwZWRPcHRpb25zXG4gICAgICAubWFwKChpdGVtKSA9PiB7XG4gICAgICAgIGlmICghKCdvcHRpb25zJyBpbiBpdGVtKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkR3JvdXBPcHRpb25zID0gaXRlbS5vcHRpb25zLmZpbHRlcihcbiAgICAgICAgICAob3B0aW9uKSA9PiBvcHRpb24uZGlzcGxheVZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2gpID4gLTFcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gZmlsdGVyZWRHcm91cE9wdGlvbnMubGVuZ3RoID4gMCA/IHsgLi4uaXRlbSwgb3B0aW9uczogZmlsdGVyZWRHcm91cE9wdGlvbnMgfSA6IG51bGw7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihCb29sZWFuKSBhcyBXYXR0RHJvcGRvd25Hcm91cGVkT3B0aW9ucztcblxuICAgIHRoaXMuZmlsdGVyZWRHcm91cGVkT3B0aW9ucyQubmV4dChmaWx0ZXJlZEdyb3Vwcyk7XG4gIH1cblxuICBwcml2YXRlIGRldGVybWluZVRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKSB7XG4gICAgdGhpcy5tZXJnZWRGaWx0ZXJlZE9wdGlvbnMkLnN1YnNjcmliZSgoZmlsdGVyZWRPcHRpb25zOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5tYXRTZWxlY3RDb250cm9sLnZhbHVlO1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShzZWxlY3RlZE9wdGlvbnMpKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRmlsdGVyZWRPcHRpb25zID0gZmlsdGVyZWRPcHRpb25zLmZpbHRlcigob3B0aW9uKSA9PlxuICAgICAgICAgIHNlbGVjdGVkT3B0aW9ucy5pbmNsdWRlcyhvcHRpb24pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5pc1RvZ2dsZUFsbEluZGV0ZXJtaW5hdGUgPVxuICAgICAgICAgIHNlbGVjdGVkRmlsdGVyZWRPcHRpb25zLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICBzZWxlY3RlZEZpbHRlcmVkT3B0aW9ucy5sZW5ndGggPCBmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoO1xuXG4gICAgICAgIHRoaXMuaXNUb2dnbGVBbGxDaGVja2VkID1cbiAgICAgICAgICBzZWxlY3RlZEZpbHRlcmVkT3B0aW9ucy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgc2VsZWN0ZWRGaWx0ZXJlZE9wdGlvbnMubGVuZ3RoID09PSBmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG5AbGljZW5zZVxuQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tPlxuPHdhdHQtZmllbGRcbiAgW2NvbnRyb2xdPVwicGFyZW50Q29udHJvbFwiXG4gIFtjaGlwTW9kZV09XCJjaGlwTW9kZSgpXCJcbiAgW2xhYmVsXT1cImxhYmVsKClcIlxuICAoY2xpY2spPVwibWF0U2VsZWN0Lm9wZW4oKVwiXG4+XG4gIEBpZiAoY2hpcE1vZGUoKSkge1xuICAgIDx3YXR0LW1lbnUtY2hpcFxuICAgICAgW29wZW5lZF09XCJtYXRTZWxlY3QucGFuZWxPcGVuXCJcbiAgICAgICh0b2dnbGVDaGFuZ2UpPVwibWF0U2VsZWN0Lm9wZW4oKVwiXG4gICAgICBbc2VsZWN0ZWRdPVwiISFtYXRTZWxlY3Q/LnRyaWdnZXJWYWx1ZSAmJiAhZGlzYWJsZVNlbGVjdGVkTW9kZSgpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJtYXRTZWxlY3RDb250cm9sLmRpc2FibGVkXCJcbiAgICA+XG4gICAgICB7eyBwbGFjZWhvbGRlcigpIH19XG4gICAgICBAaWYgKHNob3dUcmlnZ2VyVmFsdWUpIHtcbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAgQGlmIChwbGFjZWhvbGRlcigpKSB7XG4gICAgICAgICAgICA6XG4gICAgICAgICAgfVxuICAgICAgICAgIHt7IGdldEN1c3RvbVRyaWdnZXIoKT8uKG1hdFNlbGVjdC52YWx1ZSkgPz8gbWF0U2VsZWN0Py50cmlnZ2VyVmFsdWUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgfVxuICAgICAgQGlmIChzaG93Q2hpcExhYmVsKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2F0dC1jaGlwLWxhYmVsXCI+e3sgbWF0U2VsZWN0Q29udHJvbC52YWx1ZT8ubGVuZ3RoIH19PC9zcGFuPlxuICAgICAgfVxuICAgIDwvd2F0dC1tZW51LWNoaXA+XG4gIH1cblxuICA8bWF0LXNlbGVjdFxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWwoKVwiXG4gICAgW2Zvcm1Db250cm9sXT1cIm1hdFNlbGVjdENvbnRyb2xcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCJcbiAgICAjbWF0U2VsZWN0XG4gICAgW3BhbmVsV2lkdGhdPVwicGFuZWxXaWR0aCgpXCJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGUoKVwiXG4gICAgW25nQ2xhc3NdPVwieyBjaGlwOiBjaGlwTW9kZSgpLCAnbWF0LW1kYy1zZWxlY3QtbXVsdGlwbGUnOiBtdWx0aXBsZSgpIH1cIlxuICAgIFtwYW5lbENsYXNzXT1cIntcbiAgICAgICd3YXR0LWRyb3Bkb3duLXBhbmVsJzogdHJ1ZSxcbiAgICAgICd3YXR0LWRyb3Bkb3duLXBhbmVsLWNoaXAtbW9kZSc6IGNoaXBNb2RlKCksXG4gICAgICAnbWF0LW1kYy1zZWxlY3QtcGFuZWwtbXVsdGlwbGUnOiBtdWx0aXBsZSgpLFxuICAgIH1cIlxuICA+XG4gICAgPCEtLSBXZSB1c2UgdGhpcyBpbnN0ZWFkIG9mIG5nSWYsIHNpbmNlIGl0IHdpbGwgdHJpZ2dlciBhIE5HMDEwMDogRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvcjogRXhwcmVzc2lvbiBoYXMgY2hhbmdlZCBhZnRlciBpdCB3YXMgY2hlY2tlZC4gLS0+XG4gICAgPG1hdC1vcHRpb24gW3N0eWxlLmRpc3BsYXldPVwiIWhpZGVTZWFyY2goKSA/ICdibG9jaycgOiAnbm9uZSdcIj5cbiAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZpbHRlckNvbnRyb2xcIlxuICAgICAgICBbcGxhY2Vob2xkZXJMYWJlbF09XCJwbGFjZWhvbGRlcigpXCJcbiAgICAgICAgY2xvc2VJY29uPVwiY2xvc2VcIlxuICAgICAgICBbc2hvd1RvZ2dsZUFsbENoZWNrYm94XT1cIm11bHRpcGxlKClcIlxuICAgICAgICAodG9nZ2xlQWxsKT1cIm9uVG9nZ2xlQWxsKCRldmVudClcIlxuICAgICAgICBbdG9nZ2xlQWxsQ2hlY2tib3hDaGVja2VkXT1cImlzVG9nZ2xlQWxsQ2hlY2tlZFwiXG4gICAgICAgIFt0b2dnbGVBbGxDaGVja2JveEluZGV0ZXJtaW5hdGVdPVwiaXNUb2dnbGVBbGxJbmRldGVybWluYXRlXCJcbiAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwibm9PcHRpb25zRm91bmRMYWJlbCgpXCJcbiAgICAgID5cbiAgICAgICAgPHdhdHQtaWNvbiBuZ3hNYXRTZWxlY3RTZWFyY2hDbGVhciBuYW1lPVwiY2xvc2VcIiBzaXplPVwic1wiIC8+XG4gICAgICA8L25neC1tYXQtc2VsZWN0LXNlYXJjaD5cbiAgICA8L21hdC1vcHRpb24+XG5cbiAgICBAaWYgKCFtdWx0aXBsZSgpICYmIHNob3dSZXNldE9wdGlvbigpKSB7XG4gICAgICA8bWF0LW9wdGlvbj57eyBlbURhc2ggfX08L21hdC1vcHRpb24+XG4gICAgfVxuXG4gICAgQGlmIChoYXNHcm91cHMoKSkge1xuICAgICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJlZEdyb3VwZWRPcHRpb25zJCB8IHB1c2g7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgQGlmIChcIm9wdGlvbnNcIiBpbiBpdGVtKSB7XG4gICAgICAgICAgPG1hdC1vcHRncm91cCBbbGFiZWxdPVwiaXRlbS5sYWJlbFwiIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCI+XG4gICAgICAgICAgICBAZm9yIChvcHRpb24gb2YgaXRlbS5vcHRpb25zOyB0cmFjayBvcHRpb24pIHtcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MubWF0LW1kYy1vcHRpb24tbXVsdGlwbGVdPVwibXVsdGlwbGUoKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBvcHRpb24uZGlzcGxheVZhbHVlIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L21hdC1vcHRncm91cD5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGZvciAob3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9ucyQgfCBwdXNoOyB0cmFjayBvcHRpb24pIHtcbiAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkXCJcbiAgICAgICAgICBbY2xhc3MubWF0LW1kYy1vcHRpb24tbXVsdGlwbGVdPVwibXVsdGlwbGUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBvcHRpb24uZGlzcGxheVZhbHVlIH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIH1cbiAgICB9XG4gIDwvbWF0LXNlbGVjdD5cbiAgPG5nLWNvbnRlbnQgLz5cbiAgPG5nLWNvbnRlbnQgbmdQcm9qZWN0QXM9XCJ3YXR0LWZpZWxkLWhpbnRcIiBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWhpbnRcIiAvPlxuICA8bmctY29udGVudCBuZ1Byb2plY3RBcz1cIndhdHQtZmllbGQtZXJyb3JcIiBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWVycm9yXCIgLz5cbjwvd2F0dC1maWVsZD5cbiJdfQ==
|