@sbb-esta/lyne-elements 2.0.1 → 2.0.2
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/accordion/accordion.d.ts +1 -2
- package/accordion/accordion.d.ts.map +1 -1
- package/accordion.js +39 -44
- package/alert/alert-group/alert-group.d.ts +1 -2
- package/alert/alert-group/alert-group.d.ts.map +1 -1
- package/alert/alert-group.js +29 -34
- package/autocomplete/autocomplete-base-element.d.ts +1 -0
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/autocomplete/autocomplete.d.ts +1 -1
- package/autocomplete/autocomplete.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid.js +18 -22
- package/autocomplete.js +17 -18
- package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts +1 -2
- package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
- package/breadcrumb/breadcrumb-group.js +26 -30
- package/button/common.js +4 -4
- package/calendar/calendar.d.ts +3 -3
- package/calendar/calendar.d.ts.map +1 -1
- package/checkbox/checkbox-group/checkbox-group.d.ts +1 -1
- package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/checkbox/checkbox-group.js +34 -36
- package/core/base-elements/button-base-element.d.ts +1 -1
- package/core/base-elements/button-base-element.d.ts.map +1 -1
- package/core/base-elements.js +1 -1
- package/core/controllers/connected-abort-controller.d.ts +4 -0
- package/core/controllers/connected-abort-controller.d.ts.map +1 -1
- package/core/eventing/forward-event.d.ts +7 -1
- package/core/eventing/forward-event.d.ts.map +1 -1
- package/core/eventing.js +14 -12
- package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/core/mixins/form-associated-radio-button-mixin.d.ts +1 -0
- package/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
- package/core/mixins.js +28 -34
- package/core/styles/core.scss +13 -12
- package/core/styles/mixins/buttons.scss +1 -1
- package/core/styles/mixins/lists.scss +100 -35
- package/core.css +2 -1
- package/custom-elements.json +226 -366
- package/datepicker/common/datepicker-button.d.ts +1 -1
- package/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/datepicker/common.js +24 -24
- package/datepicker/datepicker/datepicker.d.ts +1 -1
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +1 -2
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/datepicker/datepicker-toggle.js +76 -75
- package/datepicker/datepicker.js +58 -60
- package/development/accordion/accordion.d.ts +1 -2
- package/development/accordion/accordion.d.ts.map +1 -1
- package/development/accordion.js +16 -23
- package/development/alert/alert-group/alert-group.d.ts +1 -2
- package/development/alert/alert-group/alert-group.d.ts.map +1 -1
- package/development/alert/alert-group.js +12 -17
- package/development/autocomplete/autocomplete-base-element.d.ts +1 -0
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete/autocomplete.d.ts +1 -1
- package/development/autocomplete/autocomplete.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +1 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid.js +9 -12
- package/development/autocomplete.js +12 -12
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts +1 -2
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb-group.js +13 -17
- package/development/button/common.js +20 -6
- package/development/calendar/calendar.d.ts +3 -3
- package/development/calendar/calendar.d.ts.map +1 -1
- package/development/calendar.js +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.d.ts +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/development/checkbox/checkbox-group.js +10 -15
- package/development/core/base-elements/button-base-element.d.ts +1 -1
- package/development/core/base-elements/button-base-element.d.ts.map +1 -1
- package/development/core/base-elements.js +2 -2
- package/development/core/controllers/connected-abort-controller.d.ts +4 -0
- package/development/core/controllers/connected-abort-controller.d.ts.map +1 -1
- package/development/core/controllers.js +1 -1
- package/development/core/eventing/forward-event.d.ts +7 -1
- package/development/core/eventing/forward-event.d.ts.map +1 -1
- package/development/core/eventing.js +5 -3
- package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-radio-button-mixin.d.ts +1 -0
- package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
- package/development/core/mixins.js +9 -18
- package/development/datepicker/common/datepicker-button.d.ts +1 -1
- package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/development/datepicker/common.js +6 -7
- package/development/datepicker/datepicker/datepicker.d.ts +1 -1
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +1 -2
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle.js +14 -14
- package/development/datepicker/datepicker.js +8 -11
- package/development/dialog/dialog/dialog.d.ts +1 -1
- package/development/dialog/dialog/dialog.d.ts.map +1 -1
- package/development/dialog/dialog-content/dialog-content.d.ts.map +1 -1
- package/development/dialog/dialog-content.js +3 -2
- package/development/dialog/dialog.js +7 -13
- package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +1 -1
- package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +1 -2
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-header.js +7 -11
- package/development/expansion-panel/expansion-panel.js +5 -7
- package/development/file-selector/common.js +3 -3
- package/development/flip-card/flip-card/flip-card.d.ts +1 -2
- package/development/flip-card/flip-card/flip-card.d.ts.map +1 -1
- package/development/flip-card/flip-card.js +12 -15
- package/development/footer/footer.d.ts +1 -1
- package/development/footer.js +2 -2
- package/development/form-field/form-field-clear/form-field-clear.d.ts +1 -1
- package/development/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
- package/development/form-field/form-field-clear.js +5 -6
- package/development/image/image.d.ts +2 -2
- package/development/image.js +1 -1
- package/development/map-container/map-container.d.ts.map +1 -1
- package/development/map-container.js +3 -2
- package/development/menu/menu/menu.d.ts +2 -1
- package/development/menu/menu/menu.d.ts.map +1 -1
- package/development/menu/menu.js +20 -13
- package/development/message.js +2 -1
- package/development/navigation/common/navigation-action-common.d.ts +1 -1
- package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
- package/development/navigation/common.js +11 -13
- package/development/navigation/navigation/navigation.d.ts +0 -1
- package/development/navigation/navigation/navigation.d.ts.map +1 -1
- package/development/navigation/navigation-section/navigation-section.d.ts +1 -0
- package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/development/navigation/navigation-section.js +5 -6
- package/development/navigation/navigation.js +9 -10
- package/development/notification.js +2 -2
- package/development/option/option/option-base-element.d.ts +1 -1
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option.js +17 -21
- package/development/overlay/overlay-base-element.d.ts +1 -0
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay.js +4 -4
- package/development/popover/popover/popover.d.ts.map +1 -1
- package/development/popover/popover.js +6 -3
- package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/development/radio-button/common.js +11 -11
- package/development/radio-button/radio-button-group/radio-button-group.d.ts +3 -3
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +5 -9
- package/development/select/select.d.ts +5 -2
- package/development/select/select.d.ts.map +1 -1
- package/development/select.js +59 -34
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts +1 -1
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/development/selection-expansion-panel.js +6 -8
- package/development/slider/slider.d.ts +1 -2
- package/development/slider/slider.d.ts.map +1 -1
- package/development/slider.js +6 -8
- package/development/stepper/step/step.d.ts +5 -5
- package/development/stepper/step/step.d.ts.map +1 -1
- package/development/stepper/step-label/step-label.d.ts +1 -1
- package/development/stepper/step-label/step-label.d.ts.map +1 -1
- package/development/stepper/step-label.js +12 -14
- package/development/stepper/step.js +8 -10
- package/development/stepper/stepper/stepper.d.ts +9 -8
- package/development/stepper/stepper/stepper.d.ts.map +1 -1
- package/development/stepper/stepper.js +28 -27
- package/development/tabs/tab-group/tab-group.d.ts +1 -2
- package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/development/tabs/tab-group.js +9 -14
- package/development/tag/tag/tag.d.ts +1 -1
- package/development/tag/tag/tag.d.ts.map +1 -1
- package/development/tag/tag-group/tag-group.d.ts +1 -1
- package/development/tag/tag-group/tag-group.d.ts.map +1 -1
- package/development/tag/tag-group.js +1 -1
- package/development/tag/tag.js +5 -6
- package/development/teaser-hero.js +6 -2
- package/development/time-input/time-input.d.ts +1 -1
- package/development/time-input/time-input.d.ts.map +1 -1
- package/development/time-input.js +6 -4
- package/development/toast/toast.d.ts +1 -1
- package/development/toast/toast.d.ts.map +1 -1
- package/development/toast.js +6 -7
- package/development/toggle/toggle/toggle.d.ts +1 -1
- package/development/toggle/toggle/toggle.d.ts.map +1 -1
- package/development/toggle/toggle-option/toggle-option.d.ts +1 -1
- package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/development/toggle/toggle-option.js +9 -13
- package/development/toggle/toggle.js +6 -8
- package/development/train/train-formation/train-formation.d.ts +1 -2
- package/development/train/train-formation/train-formation.d.ts.map +1 -1
- package/development/train/train-formation.js +8 -12
- package/dialog/dialog/dialog.d.ts +1 -1
- package/dialog/dialog/dialog.d.ts.map +1 -1
- package/dialog/dialog-content/dialog-content.d.ts.map +1 -1
- package/dialog/dialog-content.js +8 -7
- package/dialog/dialog.js +36 -42
- package/expansion-panel/expansion-panel/expansion-panel.d.ts +1 -1
- package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +1 -2
- package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-header.js +29 -33
- package/expansion-panel/expansion-panel.js +58 -60
- package/file-selector/common.js +5 -5
- package/flip-card/flip-card/flip-card.d.ts +1 -2
- package/flip-card/flip-card/flip-card.d.ts.map +1 -1
- package/flip-card/flip-card.js +34 -36
- package/footer/footer.d.ts +1 -1
- package/footer.js +1 -1
- package/form-field/form-field-clear/form-field-clear.d.ts +1 -1
- package/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
- package/form-field/form-field-clear.js +10 -11
- package/image/image.d.ts +2 -2
- package/lists.css +46 -62
- package/map-container/map-container.d.ts.map +1 -1
- package/map-container.js +22 -21
- package/menu/menu/menu.d.ts +2 -1
- package/menu/menu/menu.d.ts.map +1 -1
- package/menu/menu.js +84 -77
- package/message.js +12 -12
- package/navigation/common/navigation-action-common.d.ts +1 -1
- package/navigation/common/navigation-action-common.d.ts.map +1 -1
- package/navigation/common.js +24 -26
- package/navigation/navigation/navigation.d.ts +0 -1
- package/navigation/navigation/navigation.d.ts.map +1 -1
- package/navigation/navigation-section/navigation-section.d.ts +1 -0
- package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/navigation/navigation-section.js +35 -36
- package/navigation/navigation.js +64 -65
- package/notification.js +1 -1
- package/option/option/option-base-element.d.ts +1 -1
- package/option/option/option-base-element.d.ts.map +1 -1
- package/option/option.js +125 -125
- package/overlay/overlay-base-element.d.ts +1 -0
- package/overlay/overlay-base-element.d.ts.map +1 -1
- package/overlay.js +35 -35
- package/package.json +1 -1
- package/popover/popover/popover.d.ts.map +1 -1
- package/popover/popover.js +6 -3
- package/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/radio-button/common.js +13 -14
- package/radio-button/radio-button-group/radio-button-group.d.ts +3 -3
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +20 -24
- package/select/select.d.ts +5 -2
- package/select/select.d.ts.map +1 -1
- package/select.js +96 -84
- package/selection-expansion-panel/selection-expansion-panel.d.ts +1 -1
- package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/selection-expansion-panel.js +17 -18
- package/slider/slider.d.ts +1 -2
- package/slider/slider.d.ts.map +1 -1
- package/slider.js +23 -25
- package/standard-theme.css +48 -63
- package/stepper/step/step.d.ts +5 -5
- package/stepper/step/step.d.ts.map +1 -1
- package/stepper/step-label/step-label.d.ts +1 -1
- package/stepper/step-label/step-label.d.ts.map +1 -1
- package/stepper/step-label.js +16 -18
- package/stepper/step.js +22 -24
- package/stepper/stepper/stepper.d.ts +9 -8
- package/stepper/stepper/stepper.d.ts.map +1 -1
- package/stepper/stepper.js +57 -58
- package/tabs/tab-group/tab-group.d.ts +1 -2
- package/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/tabs/tab-group.js +83 -88
- package/tag/tag/tag.d.ts +1 -1
- package/tag/tag/tag.d.ts.map +1 -1
- package/tag/tag-group/tag-group.d.ts +1 -1
- package/tag/tag-group/tag-group.d.ts.map +1 -1
- package/tag/tag.js +30 -30
- package/teaser-hero.js +19 -19
- package/time-input/time-input.d.ts +1 -1
- package/time-input/time-input.d.ts.map +1 -1
- package/time-input.js +7 -5
- package/toast/toast.d.ts +1 -1
- package/toast/toast.d.ts.map +1 -1
- package/toast.js +32 -33
- package/toggle/toggle/toggle.d.ts +1 -1
- package/toggle/toggle/toggle.d.ts.map +1 -1
- package/toggle/toggle-option/toggle-option.d.ts +1 -1
- package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/toggle/toggle-option.js +31 -35
- package/toggle/toggle.js +31 -33
- package/train/train-formation/train-formation.d.ts +1 -2
- package/train/train-formation/train-formation.d.ts.map +1 -1
- package/train/train-formation.js +35 -39
|
@@ -13,9 +13,9 @@ export declare class SbbStepperElement extends SbbStepperElement_base {
|
|
|
13
13
|
/** If set to true, only the current and previous labels can be clicked and selected. */
|
|
14
14
|
accessor linear: boolean;
|
|
15
15
|
/** Overrides the behaviour of `orientation` property. */
|
|
16
|
-
set horizontalFrom(value: SbbHorizontalFrom);
|
|
17
|
-
get horizontalFrom(): SbbHorizontalFrom |
|
|
18
|
-
private _horizontalFrom
|
|
16
|
+
set horizontalFrom(value: SbbHorizontalFrom | null);
|
|
17
|
+
get horizontalFrom(): SbbHorizontalFrom | null;
|
|
18
|
+
private _horizontalFrom;
|
|
19
19
|
/** Steps orientation, either horizontal or vertical. */
|
|
20
20
|
accessor orientation: SbbOrientation;
|
|
21
21
|
/**
|
|
@@ -24,17 +24,17 @@ export declare class SbbStepperElement extends SbbStepperElement_base {
|
|
|
24
24
|
*/
|
|
25
25
|
accessor size: 's' | 'm';
|
|
26
26
|
/** The currently selected step. */
|
|
27
|
-
set selected(step: SbbStepElement);
|
|
28
|
-
get selected(): SbbStepElement |
|
|
27
|
+
set selected(step: SbbStepElement | null);
|
|
28
|
+
get selected(): SbbStepElement | null;
|
|
29
29
|
/** The currently selected step index. */
|
|
30
|
-
set selectedIndex(index: number);
|
|
31
|
-
get selectedIndex(): number |
|
|
30
|
+
set selectedIndex(index: number | null);
|
|
31
|
+
get selectedIndex(): number | null;
|
|
32
32
|
/** The steps of the stepper. */
|
|
33
33
|
get steps(): SbbStepElement[];
|
|
34
34
|
private get _enabledSteps();
|
|
35
35
|
private _loaded;
|
|
36
|
-
private _abort;
|
|
37
36
|
private _resizeObserverTimeout;
|
|
37
|
+
constructor();
|
|
38
38
|
/** Selects the next step. */
|
|
39
39
|
next(): void;
|
|
40
40
|
/** Selects the previous step. */
|
|
@@ -51,6 +51,7 @@ export declare class SbbStepperElement extends SbbStepperElement_base {
|
|
|
51
51
|
private _onStepperResize;
|
|
52
52
|
private _configureLinearMode;
|
|
53
53
|
connectedCallback(): void;
|
|
54
|
+
disconnectedCallback(): void;
|
|
54
55
|
protected firstUpdated(changedProperties: PropertyValues<this>): Promise<void>;
|
|
55
56
|
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
56
57
|
private _proxySize;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/stepper/stepper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/stepper/stepper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAMb,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAElF,OAAO,KAAK,EAAE,cAAc,EAA+B,MAAM,YAAY,CAAC;;AAM9E;;;;;GAKG;AACH,qBAEM,iBAAkB,SAAQ,sBAA6B;IAC3D,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,wFAAwF;IACxF,SAEgB,MAAM,EAAE,OAAO,CAAS;IAExC,yDAAyD;IACzD,IACW,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,EAKxD;IACD,IAAW,cAAc,IAAI,iBAAiB,GAAG,IAAI,CAEpD;IACD,OAAO,CAAC,eAAe,CAAkC;IAEzD,wDAAwD;IACxD,SACgB,WAAW,EAAE,cAAc,CAAgB;IAE3D;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF,mCAAmC;IACnC,IACW,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,EAI9C;IACD,IAAW,QAAQ,IAAI,cAAc,GAAG,IAAI,CAE3C;IAED,yCAAyC;IACzC,IACW,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAI5C;IACD,IAAW,aAAa,IAAI,MAAM,GAAG,IAAI,CAExC;IAED,gCAAgC;IAChC,IAAW,KAAK,IAAI,cAAc,EAAE,CAEnC;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,sBAAsB,CAA8C;;IAO5E,6BAA6B;IACtB,IAAI,IAAI,IAAI;IAMnB,iCAAiC;IAC1B,QAAQ,IAAI,IAAI;IAMvB,yFAAyF;IAClF,KAAK,IAAI,IAAI;IAcpB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,OAAO;IAwBf,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,gBAAgB,CAUtB;IAEF,OAAO,CAAC,oBAAoB;IAUZ,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;cAKnB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAU1E,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAgB5E,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,cAAc;cAmBH,MAAM,IAAI,cAAc;CAY5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
|
|
@@ -5,13 +5,12 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
|
|
|
5
5
|
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
6
6
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
7
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
|
-
import {
|
|
8
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
9
9
|
import { css, LitElement, html } from "lit";
|
|
10
10
|
import { customElement, property } from "lit/decorators.js";
|
|
11
11
|
import { isArrowKeyPressed, getNextElementIndex } from "../core/a11y.js";
|
|
12
|
-
import { SbbConnectedAbortController } from "../core/controllers.js";
|
|
13
12
|
import { forceType } from "../core/decorators.js";
|
|
14
|
-
import {
|
|
13
|
+
import { breakpoints, isLean, isBreakpoint } from "../core/dom.js";
|
|
15
14
|
import { SbbHydrationMixin } from "../core/mixins.js";
|
|
16
15
|
const style = css`*,
|
|
17
16
|
::before,
|
|
@@ -121,17 +120,24 @@ let SbbStepperElement = (() => {
|
|
|
121
120
|
let _set_selectedIndex_decorators;
|
|
122
121
|
_a = class extends _classSuper {
|
|
123
122
|
constructor() {
|
|
124
|
-
|
|
123
|
+
var _a2;
|
|
124
|
+
super();
|
|
125
125
|
__privateAdd(this, _linear_accessor_storage);
|
|
126
126
|
__privateAdd(this, _orientation_accessor_storage);
|
|
127
127
|
__privateAdd(this, _size_accessor_storage);
|
|
128
128
|
__privateSet(this, _linear_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _linear_initializers, false)));
|
|
129
|
-
this._horizontalFrom = __runInitializers(this, _linear_extraInitializers);
|
|
129
|
+
this._horizontalFrom = (__runInitializers(this, _linear_extraInitializers), null);
|
|
130
130
|
__privateSet(this, _orientation_accessor_storage, __runInitializers(this, _orientation_initializers, "horizontal"));
|
|
131
131
|
__privateSet(this, _size_accessor_storage, (__runInitializers(this, _orientation_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m")));
|
|
132
132
|
this._loaded = (__runInitializers(this, _size_extraInitializers), false);
|
|
133
|
-
this._abort = new SbbConnectedAbortController(this);
|
|
134
133
|
this._resizeObserverTimeout = null;
|
|
134
|
+
this._onStepperResize = () => {
|
|
135
|
+
this._checkOrientation();
|
|
136
|
+
clearTimeout(this._resizeObserverTimeout);
|
|
137
|
+
this.toggleAttribute("data-disable-animation", true);
|
|
138
|
+
this._resizeObserverTimeout = setTimeout(() => this.toggleAttribute("data-disable-animation", false), DEBOUNCE_TIME);
|
|
139
|
+
};
|
|
140
|
+
(_a2 = this.addEventListener) == null ? void 0 : _a2.call(this, "keydown", (e) => this._handleKeyDown(e));
|
|
135
141
|
}
|
|
136
142
|
/** If set to true, only the current and previous labels can be clicked and selected. */
|
|
137
143
|
get linear() {
|
|
@@ -142,7 +148,7 @@ let SbbStepperElement = (() => {
|
|
|
142
148
|
}
|
|
143
149
|
/** Overrides the behaviour of `orientation` property. */
|
|
144
150
|
set horizontalFrom(value) {
|
|
145
|
-
this._horizontalFrom = breakpoints.includes(value) ? value :
|
|
151
|
+
this._horizontalFrom = value && breakpoints.includes(value) ? value : null;
|
|
146
152
|
if (this._horizontalFrom && this._loaded) {
|
|
147
153
|
this._checkOrientation();
|
|
148
154
|
}
|
|
@@ -175,16 +181,16 @@ let SbbStepperElement = (() => {
|
|
|
175
181
|
}
|
|
176
182
|
get selected() {
|
|
177
183
|
var _a2;
|
|
178
|
-
return ((_a2 = this.querySelector) == null ? void 0 : _a2.call(this, "sbb-step[data-selected]")) ??
|
|
184
|
+
return ((_a2 = this.querySelector) == null ? void 0 : _a2.call(this, "sbb-step[data-selected]")) ?? null;
|
|
179
185
|
}
|
|
180
186
|
/** The currently selected step index. */
|
|
181
187
|
set selectedIndex(index) {
|
|
182
|
-
if (this._loaded) {
|
|
188
|
+
if (this._loaded && index !== null) {
|
|
183
189
|
this._select(this.steps[index]);
|
|
184
190
|
}
|
|
185
191
|
}
|
|
186
192
|
get selectedIndex() {
|
|
187
|
-
return this.selected ? this.steps.indexOf(this.selected) :
|
|
193
|
+
return this.selected ? this.steps.indexOf(this.selected) : null;
|
|
188
194
|
}
|
|
189
195
|
/** The steps of the stepper. */
|
|
190
196
|
get steps() {
|
|
@@ -199,13 +205,13 @@ let SbbStepperElement = (() => {
|
|
|
199
205
|
}
|
|
200
206
|
/** Selects the next step. */
|
|
201
207
|
next() {
|
|
202
|
-
if (this.selectedIndex !==
|
|
208
|
+
if (this.selectedIndex !== null) {
|
|
203
209
|
this._select(this.steps[this.selectedIndex + 1]);
|
|
204
210
|
}
|
|
205
211
|
}
|
|
206
212
|
/** Selects the previous step. */
|
|
207
213
|
previous() {
|
|
208
|
-
if (this.selectedIndex !==
|
|
214
|
+
if (this.selectedIndex !== null) {
|
|
209
215
|
this._select(this.steps[this.selectedIndex - 1]);
|
|
210
216
|
}
|
|
211
217
|
}
|
|
@@ -231,7 +237,7 @@ let SbbStepperElement = (() => {
|
|
|
231
237
|
if (this.linear && !this.selected) {
|
|
232
238
|
return step === this.steps[0];
|
|
233
239
|
}
|
|
234
|
-
if (this.linear && this.selectedIndex !==
|
|
240
|
+
if (this.linear && this.selectedIndex !== null) {
|
|
235
241
|
const index = this.steps.indexOf(step);
|
|
236
242
|
return index < this.selectedIndex || index === this.selectedIndex + 1;
|
|
237
243
|
}
|
|
@@ -245,8 +251,8 @@ let SbbStepperElement = (() => {
|
|
|
245
251
|
const validatePayload = {
|
|
246
252
|
currentIndex: this.selectedIndex,
|
|
247
253
|
currentStep: this.selected,
|
|
248
|
-
nextIndex: this.selectedIndex !==
|
|
249
|
-
nextStep: this.selectedIndex !==
|
|
254
|
+
nextIndex: this.selectedIndex !== null ? this.selectedIndex + 1 : null,
|
|
255
|
+
nextStep: this.selectedIndex !== null ? this.steps[this.selectedIndex + 1] : null
|
|
250
256
|
};
|
|
251
257
|
if (this.selected && !this.selected.validate(validatePayload)) {
|
|
252
258
|
return;
|
|
@@ -268,7 +274,7 @@ let SbbStepperElement = (() => {
|
|
|
268
274
|
this.style.setProperty("--sbb-stepper-marker-size", `${offset}px`);
|
|
269
275
|
}
|
|
270
276
|
_calculateLabelOffsetTop() {
|
|
271
|
-
if (this.selectedIndex ===
|
|
277
|
+
if (this.selectedIndex === null) {
|
|
272
278
|
return;
|
|
273
279
|
}
|
|
274
280
|
let offset = 0;
|
|
@@ -304,12 +310,6 @@ let SbbStepperElement = (() => {
|
|
|
304
310
|
}
|
|
305
311
|
setTimeout(() => this._setMarkerSize(), 0);
|
|
306
312
|
}
|
|
307
|
-
_onStepperResize() {
|
|
308
|
-
this._checkOrientation();
|
|
309
|
-
clearTimeout(this._resizeObserverTimeout);
|
|
310
|
-
this.toggleAttribute("data-disable-animation", true);
|
|
311
|
-
this._resizeObserverTimeout = setTimeout(() => this.toggleAttribute("data-disable-animation", false), DEBOUNCE_TIME);
|
|
312
|
-
}
|
|
313
313
|
_configureLinearMode() {
|
|
314
314
|
this.steps.forEach((step, index) => {
|
|
315
315
|
var _a2;
|
|
@@ -318,14 +318,15 @@ let SbbStepperElement = (() => {
|
|
|
318
318
|
}
|
|
319
319
|
connectedCallback() {
|
|
320
320
|
super.connectedCallback();
|
|
321
|
-
|
|
322
|
-
this.addEventListener("keydown", (e) => this._handleKeyDown(e), { signal });
|
|
323
|
-
window.addEventListener("resize", () => this._onStepperResize(), {
|
|
324
|
-
signal,
|
|
321
|
+
window.addEventListener("resize", this._onStepperResize, {
|
|
325
322
|
passive: true
|
|
326
323
|
});
|
|
327
324
|
this.toggleAttribute("data-disable-animation", !this._loaded);
|
|
328
325
|
}
|
|
326
|
+
disconnectedCallback() {
|
|
327
|
+
super.disconnectedCallback();
|
|
328
|
+
window.removeEventListener("resize", this._onStepperResize);
|
|
329
|
+
}
|
|
329
330
|
async firstUpdated(changedProperties) {
|
|
330
331
|
super.firstUpdated(changedProperties);
|
|
331
332
|
await this.updateComplete;
|
|
@@ -414,4 +415,4 @@ let SbbStepperElement = (() => {
|
|
|
414
415
|
export {
|
|
415
416
|
SbbStepperElement
|
|
416
417
|
};
|
|
417
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgYnJlYWtwb2ludHMsIGlzQnJlYWtwb2ludCwgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJIb3Jpem9udGFsRnJvbSwgU2JiT3JpZW50YXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlN0ZXBFbGVtZW50LCBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMgfSBmcm9tICcuLi9zdGVwLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc3RlcHBlci5zY3NzP2xpdCZpbmxpbmUnO1xuXG5jb25zdCBERUJPVU5DRV9USU1FID0gMTUwO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgc3RydWN0dXJlZCwgc3RlcC1ieS1zdGVwIHdvcmtmbG93IGZvciB1c2VyIGludGVyYWN0aW9ucy5cbiAqIEBzbG90IC0gUHJvdmlkZSBhIGBzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcmAgYW5kIGEgYHNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudGAgdG8gdGhlIHN0ZXBwZXIuXG4gKiBAc2xvdCBzdGVwLWxhYmVsIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGBzYmItc3RlcC1sYWJlbGAuXG4gKiBAc2xvdCBzdGVwIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGBzYmItc3RlcGAuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1zdGVwcGVyJylcbmNsYXNzIFNiYlN0ZXBwZXJFbGVtZW50IGV4dGVuZHMgU2JiSHlkcmF0aW9uTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogSWYgc2V0IHRvIHRydWUsIG9ubHkgdGhlIGN1cnJlbnQgYW5kIHByZXZpb3VzIGxhYmVscyBjYW4gYmUgY2xpY2tlZCBhbmQgc2VsZWN0ZWQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBsaW5lYXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogT3ZlcnJpZGVzIHRoZSBiZWhhdmlvdXIgb2YgYG9yaWVudGF0aW9uYCBwcm9wZXJ0eS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaG9yaXpvbnRhbC1mcm9tJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgc2V0IGhvcml6b250YWxGcm9tKHZhbHVlOiBTYmJIb3Jpem9udGFsRnJvbSkge1xuICAgIHRoaXMuX2hvcml6b250YWxGcm9tID0gYnJlYWtwb2ludHMuaW5jbHVkZXModmFsdWUpID8gdmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgaWYgKHRoaXMuX2hvcml6b250YWxGcm9tICYmIHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IGhvcml6b250YWxGcm9tKCk6IFNiYkhvcml6b250YWxGcm9tIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5faG9yaXpvbnRhbEZyb207XG4gIH1cbiAgcHJpdmF0ZSBfaG9yaXpvbnRhbEZyb20/OiBTYmJIb3Jpem9udGFsRnJvbSB8IHVuZGVmaW5lZDtcblxuICAvKiogU3RlcHMgb3JpZW50YXRpb24sIGVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBvcmllbnRhdGlvbjogU2JiT3JpZW50YXRpb24gPSAnaG9yaXpvbnRhbCc7XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIHMgb3IgbS5cbiAgICogQGRlZmF1bHQgJ20nIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ20nID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgLyoqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgc3RlcC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkKHN0ZXA6IFNiYlN0ZXBFbGVtZW50KSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHN0ZXApO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IFNiYlN0ZXBFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yPy48U2JiU3RlcEVsZW1lbnQ+KCdzYmItc3RlcFtkYXRhLXNlbGVjdGVkXScpID8/IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHN0ZXAgaW5kZXguICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3NlbGVjdGVkLWluZGV4JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWRJbmRleChpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbaW5kZXhdKTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCBzZWxlY3RlZEluZGV4KCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQgPyB0aGlzLnN0ZXBzLmluZGV4T2YodGhpcy5zZWxlY3RlZCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKiogVGhlIHN0ZXBzIG9mIHRoZSBzdGVwcGVyLiAqL1xuICBwdWJsaWMgZ2V0IHN0ZXBzKCk6IFNiYlN0ZXBFbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItc3RlcCcpID8/IFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9lbmFibGVkU3RlcHMoKTogU2JiU3RlcEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHMuZmlsdGVyKChzKSA9PiAhcy5sYWJlbD8uaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9hYm9ydCA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcblxuICAvKiogU2VsZWN0cyB0aGUgbmV4dCBzdGVwLiAqL1xuICBwdWJsaWMgbmV4dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX3NlbGVjdCh0aGlzLnN0ZXBzW3RoaXMuc2VsZWN0ZWRJbmRleCArIDFdKTtcbiAgICB9XG4gIH1cblxuICAvKiogU2VsZWN0cyB0aGUgcHJldmlvdXMgc3RlcC4gKi9cbiAgcHVibGljIHByZXZpb3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbdGhpcy5zZWxlY3RlZEluZGV4IC0gMV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZXNldHMgdGhlIGZvcm0gaW4gd2hpY2ggdGhlIHN0ZXBwZXIgaXMgbmVzdGVkIG9yIGV2ZXJ5IGZvcm0gb2YgZWFjaCBzdGVwLCBpZiBhbnkuICovXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICBjb25zdCBjbG9zZXN0Rm9ybSA9IHRoaXMuY2xvc2VzdCgnZm9ybScpO1xuICAgIGlmIChjbG9zZXN0Rm9ybSkge1xuICAgICAgY2xvc2VzdEZvcm0ucmVzZXQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKCdmb3JtJykuZm9yRWFjaCgoZm9ybSkgPT4gZm9ybS5yZXNldCgpKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gMDtcbiAgICAvLyBJbiBjYXNlIHRoZSBmb2N1cyBpcyBjdXJyZW50bHkgaW5zaWRlIHRoZSBzdGVwcGVyLCB3ZSByZXNldCB0aGUgZm9jdXMgdG8gdGhlIGZpcnN0L3NlbGVjdGVkIHN0ZXAgbGFiZWwuXG4gICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmNsb3Nlc3QoJ3NiYi1zdGVwcGVyJykgPT09IHRoaXMpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQ/LmxhYmVsPy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWRTdGVwKHN0ZXA6IFNiYlN0ZXBFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgaWYgKCFzdGVwIHx8ICghdGhpcy5saW5lYXIgJiYgc3RlcC5sYWJlbD8uaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxpbmVhciAmJiAhdGhpcy5zZWxlY3RlZCkge1xuICAgICAgcmV0dXJuIHN0ZXAgPT09IHRoaXMuc3RlcHNbMF07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGluZWFyICYmIHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc3RlcHMuaW5kZXhPZihzdGVwKTtcbiAgICAgIHJldHVybiBpbmRleCA8IHRoaXMuc2VsZWN0ZWRJbmRleCB8fCBpbmRleCA9PT0gdGhpcy5zZWxlY3RlZEluZGV4ICsgMTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdChzdGVwOiBTYmJTdGVwRWxlbWVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faXNWYWxpZFN0ZXAoc3RlcCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmFsaWRhdGVQYXlsb2FkOiBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMgPSB7XG4gICAgICBjdXJyZW50SW5kZXg6IHRoaXMuc2VsZWN0ZWRJbmRleCxcbiAgICAgIGN1cnJlbnRTdGVwOiB0aGlzLnNlbGVjdGVkLFxuICAgICAgbmV4dEluZGV4OiB0aGlzLnNlbGVjdGVkSW5kZXggIT09IHVuZGVmaW5lZCA/IHRoaXMuc2VsZWN0ZWRJbmRleCArIDEgOiB1bmRlZmluZWQsXG4gICAgICBuZXh0U3RlcDogdGhpcy5zZWxlY3RlZEluZGV4ICE9PSB1bmRlZmluZWQgPyB0aGlzLnN0ZXBzW3RoaXMuc2VsZWN0ZWRJbmRleCArIDFdIDogdW5kZWZpbmVkLFxuICAgIH07XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQgJiYgIXRoaXMuc2VsZWN0ZWQudmFsaWRhdGUodmFsaWRhdGVQYXlsb2FkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5zZWxlY3RlZDtcbiAgICBjdXJyZW50Py5kZXNlbGVjdCgpO1xuICAgIHN0ZXAuc2VsZWN0KCk7XG4gICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIHRoaXMuX2NvbmZpZ3VyZUxpbmVhck1vZGUoKTtcbiAgICAvLyBJbiBjYXNlIHRoZSBmb2N1cyBpcyBjdXJyZW50bHkgaW5zaWRlIHRoZSBzdGVwcGVyLCB3ZSBmb2N1cyB0aGUgc2VsZWN0ZWQgc3RlcCBsYWJlbC5cbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uY2xvc2VzdCgnc2JiLXN0ZXBwZXInKSA9PT0gdGhpcykge1xuICAgICAgdGhpcy5zZWxlY3RlZD8ubGFiZWw/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TWFya2VyU2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5fbG9hZGVkIHx8XG4gICAgICAhdGhpcy5zZWxlY3RlZCB8fFxuICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID09PSB1bmRlZmluZWQgfHxcbiAgICAgICF0aGlzLnNlbGVjdGVkLmxhYmVsXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG9mZnNldCA9XG4gICAgICB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCdcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkLmxhYmVsLm9mZnNldExlZnQgKyB0aGlzLnNlbGVjdGVkLmxhYmVsLm9mZnNldFdpZHRoXG4gICAgICAgIDogdGhpcy5fY2FsY3VsYXRlTGFiZWxPZmZzZXRUb3AoKTtcblxuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXN0ZXBwZXItbWFya2VyLXNpemUnLCBgJHtvZmZzZXR9cHhgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUxhYmVsT2Zmc2V0VG9wKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBvZmZzZXQgPSAwO1xuICAgIGZvciAoY29uc3Qgc3RlcCBvZiB0aGlzLnN0ZXBzKSB7XG4gICAgICBpZiAoc3RlcCA9PT0gdGhpcy5zZWxlY3RlZCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIG9mZnNldCA9IHN0ZXAubGFiZWwhLm9mZnNldEhlaWdodCArIG9mZnNldDtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIG9mZnNldCArXG4gICAgICB0aGlzLnNlbGVjdGVkIS5sYWJlbCEub2Zmc2V0SGVpZ2h0ISArXG4gICAgICBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUodGhpcykuZ2V0UHJvcGVydHlWYWx1ZSgnLS1zYmItc3BhY2luZy1maXhlZC02eCcpKSAqXG4gICAgICAgIDE2ICpcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzdGVwcyA9IHRoaXMuc3RlcHM7XG4gICAgc3RlcHMuZm9yRWFjaCgocykgPT4gcy5jb25maWd1cmUodGhpcy5fbG9hZGVkKSk7XG4gICAgc3RlcHNcbiAgICAgIC5maWx0ZXIoKHMpID0+IHMubGFiZWwpXG4gICAgICAubWFwKChzKSA9PiBzLmxhYmVsISlcbiAgICAgIC5mb3JFYWNoKChsYWJlbCwgaSwgYXJyYXkpID0+IHtcbiAgICAgICAgbGFiZWwuY29uZmlndXJlKGkgKyAxLCBhcnJheS5sZW5ndGgsIHRoaXMuX2xvYWRlZCk7XG4gICAgICB9KTtcbiAgICB0aGlzLl9zZWxlY3QodGhpcy5zZWxlY3RlZCB8fCB0aGlzLl9lbmFibGVkU3RlcHNbMF0pO1xuICAgIHRoaXMuX3Byb3h5U2l6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTGFiZWxzKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCkgPT4ge1xuICAgICAgc3RlcC5zbG90ID0gdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnID8gJ3N0ZXAnIDogJ3N0ZXAtbGFiZWwnO1xuICAgICAgc3RlcC5zZXRBdHRyaWJ1dGUoJ2RhdGEtb3JpZW50YXRpb24nLCB0aGlzLm9yaWVudGF0aW9uKTtcbiAgICAgIHN0ZXAubGFiZWw/LnNldEF0dHJpYnV0ZSgnZGF0YS1vcmllbnRhdGlvbicsIHRoaXMub3JpZW50YXRpb24pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tPcmllbnRhdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsRnJvbSkge1xuICAgICAgdGhpcy5vcmllbnRhdGlvbiA9IGlzQnJlYWtwb2ludCh0aGlzLmhvcml6b250YWxGcm9tKSA/ICdob3Jpem9udGFsJyA6ICd2ZXJ0aWNhbCc7XG4gICAgICB0aGlzLl91cGRhdGVMYWJlbHMoKTtcbiAgICB9XG4gICAgLy8gVGhlIHRpbWVvdXQgaXMgbmVlZGVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBtYXJrZXIgdGFrZXMgdGhlIGNvcnJlY3Qgc3RlcC1sYWJlbCBzaXplLlxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fc2V0TWFya2VyU2l6ZSgpLCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uU3RlcHBlclJlc2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGVja09yaWVudGF0aW9uKCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCEpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGUtYW5pbWF0aW9uJywgdHJ1ZSk7XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBhbmltYXRpb24gd2hlbiByZXNpemluZyB0byBhdm9pZCBzdHJhbmdlIHRyYW5zaXRpb24gZWZmZWN0cy5cbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4gdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZS1hbmltYXRpb24nLCBmYWxzZSksXG4gICAgICBERUJPVU5DRV9USU1FLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmVMaW5lYXJNb2RlKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCwgaW5kZXgpID0+IHtcbiAgICAgIHN0ZXAubGFiZWw/LnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICAgJ2Rpc2FibGVkJyxcbiAgICAgICAgKHRoaXMubGluZWFyICYmIGluZGV4ID4gdGhpcy5zZWxlY3RlZEluZGV4ISkgfHxcbiAgICAgICAgICAoIXRoaXMubGluZWFyICYmIHN0ZXAubGFiZWwuaGFzQXR0cmlidXRlKCdkYXRhLWRpc2FibGVkJykpLFxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNvbnN0IHNpZ25hbCA9IHRoaXMuX2Fib3J0LnNpZ25hbDtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihlKSwgeyBzaWduYWwgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHRoaXMuX29uU3RlcHBlclJlc2l6ZSgpLCB7XG4gICAgICBzaWduYWwsXG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgIH0pO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGUtYW5pbWF0aW9uJywgIXRoaXMuX2xvYWRlZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtcbiAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9ICF0aGlzLmxpbmVhciA/IE51bWJlcih0aGlzLmdldEF0dHJpYnV0ZSgnc2VsZWN0ZWQtaW5kZXgnKSkgfHwgMCA6IDA7XG4gICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIC8vIFJlbW92ZSBbZGF0YS1kaXNhYmxlLWFuaW1hdGlvbl0gYWZ0ZXIgY29tcG9uZW50IGluaXRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGUtYW5pbWF0aW9uJywgZmFsc2UpLCBERUJPVU5DRV9USU1FKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ29yaWVudGF0aW9uJykgJiYgIXRoaXMuaG9yaXpvbnRhbEZyb20pIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUxhYmVscygpO1xuICAgICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaW5lYXInKSAmJiB0aGlzLl9sb2FkZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZUxpbmVhck1vZGUoKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdzaXplJykpIHtcbiAgICAgIHRoaXMuX3Byb3h5U2l6ZSgpO1xuICAgICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3Byb3h5U2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXApID0+IHtcbiAgICAgIHN0ZXAubGFiZWw/LnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgdGhpcy5zaXplKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFN0ZXBzOiBTYmJTdGVwRWxlbWVudFtdID0gdGhpcy5fZW5hYmxlZFN0ZXBzO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRTdGVwcyB8fFxuICAgICAgLy8gZG9uJ3QgdHJhcCBuZXN0ZWQgaGFuZGxpbmdcbiAgICAgICgoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgIT09IHRoaXMgJiYgKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQgIT09IHRoaXMpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IGVuYWJsZWRTdGVwcy5pbmRleE9mKHRoaXMuc2VsZWN0ZWQhKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGN1cnJlbnQsIGVuYWJsZWRTdGVwcy5sZW5ndGgpO1xuICAgICAgdGhpcy5fc2VsZWN0KGVuYWJsZWRTdGVwc1tuZXh0SW5kZXhdKTtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RlcHBlcl9fbGFiZWxzXCIgcm9sZT1cInRhYmxpc3RcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwic3RlcC1sYWJlbFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fY29uZmlndXJlfT48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXBwZXJfX3N0ZXBzXCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cInN0ZXBcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX2NvbmZpZ3VyZX0+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zdGVwcGVyJzogU2JiU3RlcHBlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1CQSxNQUFNLGdCQUFnQjtJQVVoQixxQkFBaUIsTUFBQTs7MEJBRHRCLGNBQWMsYUFBYSxDQUFDOzs7O29CQUNHLGtCQUFrQixVQUFVOzs7Ozs7Ozs7Ozs7OztBQUFwQyxFQUFBLG1CQUFRLFlBQTZCO0FBQUE7O0FBTTNEO0FBaUJBO0FBTTZCO0FBN0J6Qix5QkFBQSwyQkFBQSxrQkFBQSxNQUFBLDBCQUFBLEdBTThCLGtCQUFBLE1BQUEsc0JBQUEsS0FBSztBQWEvQixXQUFBLGtCQUFnRCxrQkFBQSxNQUFBLHlCQUFBO0FBSXhDLHlCQUFBLCtCQUFBLGtCQUFBLE1BQUEsMkJBQThCLFlBQVk7QUFNSyx5QkFBQSx5QkFBQSxrQkFBQSxN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
|
|
418
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGJyZWFrcG9pbnRzLCBpc0JyZWFrcG9pbnQsIGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiSG9yaXpvbnRhbEZyb20sIFNiYk9yaWVudGF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTdGVwRWxlbWVudCwgU2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzIH0gZnJvbSAnLi4vc3RlcC5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3N0ZXBwZXIuc2Nzcz9saXQmaW5saW5lJztcblxuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuLyoqXG4gKiBQcm92aWRlcyBhIHN0cnVjdHVyZWQsIHN0ZXAtYnktc3RlcCB3b3JrZmxvdyBmb3IgdXNlciBpbnRlcmFjdGlvbnMuXG4gKiBAc2xvdCAtIFByb3ZpZGUgYSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJgIGFuZCBhIGBzYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRgIHRvIHRoZSBzdGVwcGVyLlxuICogQHNsb3Qgc3RlcC1sYWJlbCAtIFVzZSB0aGlzIHNsb3QgdG8gcHJvdmlkZSBhbiBgc2JiLXN0ZXAtbGFiZWxgLlxuICogQHNsb3Qgc3RlcCAtIFVzZSB0aGlzIHNsb3QgdG8gcHJvdmlkZSBhbiBgc2JiLXN0ZXBgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItc3RlcHBlcicpXG5jbGFzcyBTYmJTdGVwcGVyRWxlbWVudCBleHRlbmRzIFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIElmIHNldCB0byB0cnVlLCBvbmx5IHRoZSBjdXJyZW50IGFuZCBwcmV2aW91cyBsYWJlbHMgY2FuIGJlIGNsaWNrZWQgYW5kIHNlbGVjdGVkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbGluZWFyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIE92ZXJyaWRlcyB0aGUgYmVoYXZpb3VyIG9mIGBvcmllbnRhdGlvbmAgcHJvcGVydHkuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hvcml6b250YWwtZnJvbScsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIHNldCBob3Jpem9udGFsRnJvbSh2YWx1ZTogU2JiSG9yaXpvbnRhbEZyb20gfCBudWxsKSB7XG4gICAgdGhpcy5faG9yaXpvbnRhbEZyb20gPSB2YWx1ZSAmJiBicmVha3BvaW50cy5pbmNsdWRlcyh2YWx1ZSkgPyB2YWx1ZSA6IG51bGw7XG4gICAgaWYgKHRoaXMuX2hvcml6b250YWxGcm9tICYmIHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IGhvcml6b250YWxGcm9tKCk6IFNiYkhvcml6b250YWxGcm9tIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2hvcml6b250YWxGcm9tO1xuICB9XG4gIHByaXZhdGUgX2hvcml6b250YWxGcm9tOiBTYmJIb3Jpem9udGFsRnJvbSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBTdGVwcyBvcmllbnRhdGlvbiwgZWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG9yaWVudGF0aW9uOiBTYmJPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJztcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcyBvciBtLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbScgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKiogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBzdGVwLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWQoc3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHN0ZXApO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcj8uPFNiYlN0ZXBFbGVtZW50Pignc2JiLXN0ZXBbZGF0YS1zZWxlY3RlZF0nKSA/PyBudWxsO1xuICB9XG5cbiAgLyoqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgc3RlcCBpbmRleC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2VsZWN0ZWQtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBzZWxlY3RlZEluZGV4KGluZGV4OiBudW1iZXIgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCAmJiBpbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbaW5kZXhdKTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCBzZWxlY3RlZEluZGV4KCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkID8gdGhpcy5zdGVwcy5pbmRleE9mKHRoaXMuc2VsZWN0ZWQpIDogbnVsbDtcbiAgfVxuXG4gIC8qKiBUaGUgc3RlcHMgb2YgdGhlIHN0ZXBwZXIuICovXG4gIHB1YmxpYyBnZXQgc3RlcHMoKTogU2JiU3RlcEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1zdGVwJykgPz8gW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2VuYWJsZWRTdGVwcygpOiBTYmJTdGVwRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwcy5maWx0ZXIoKHMpID0+ICFzLmxhYmVsPy5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpKTtcbiAgfVxuXG4gIC8qKiBTZWxlY3RzIHRoZSBuZXh0IHN0ZXAuICovXG4gIHB1YmxpYyBuZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX3NlbGVjdCh0aGlzLnN0ZXBzW3RoaXMuc2VsZWN0ZWRJbmRleCArIDFdKTtcbiAgICB9XG4gIH1cblxuICAvKiogU2VsZWN0cyB0aGUgcHJldmlvdXMgc3RlcC4gKi9cbiAgcHVibGljIHByZXZpb3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX3NlbGVjdCh0aGlzLnN0ZXBzW3RoaXMuc2VsZWN0ZWRJbmRleCAtIDFdKTtcbiAgICB9XG4gIH1cblxuICAvKiogUmVzZXRzIHRoZSBmb3JtIGluIHdoaWNoIHRoZSBzdGVwcGVyIGlzIG5lc3RlZCBvciBldmVyeSBmb3JtIG9mIGVhY2ggc3RlcCwgaWYgYW55LiAqL1xuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VzdEZvcm0gPSB0aGlzLmNsb3Nlc3QoJ2Zvcm0nKTtcbiAgICBpZiAoY2xvc2VzdEZvcm0pIHtcbiAgICAgIGNsb3Nlc3RGb3JtLnJlc2V0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbCgnZm9ybScpLmZvckVhY2goKGZvcm0pID0+IGZvcm0ucmVzZXQoKSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgLy8gSW4gY2FzZSB0aGUgZm9jdXMgaXMgY3VycmVudGx5IGluc2lkZSB0aGUgc3RlcHBlciwgd2UgcmVzZXQgdGhlIGZvY3VzIHRvIHRoZSBmaXJzdC9zZWxlY3RlZCBzdGVwIGxhYmVsLlxuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5jbG9zZXN0KCdzYmItc3RlcHBlcicpID09PSB0aGlzKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkPy5sYWJlbD8uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1ZhbGlkU3RlcChzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpOiBib29sZWFuIHtcbiAgICBpZiAoIXN0ZXAgfHwgKCF0aGlzLmxpbmVhciAmJiBzdGVwLmxhYmVsPy5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGluZWFyICYmICF0aGlzLnNlbGVjdGVkKSB7XG4gICAgICByZXR1cm4gc3RlcCA9PT0gdGhpcy5zdGVwc1swXTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5saW5lYXIgJiYgdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc3RlcHMuaW5kZXhPZihzdGVwKTtcbiAgICAgIHJldHVybiBpbmRleCA8IHRoaXMuc2VsZWN0ZWRJbmRleCB8fCBpbmRleCA9PT0gdGhpcy5zZWxlY3RlZEluZGV4ICsgMTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdChzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzVmFsaWRTdGVwKHN0ZXApKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHZhbGlkYXRlUGF5bG9hZDogU2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzID0ge1xuICAgICAgY3VycmVudEluZGV4OiB0aGlzLnNlbGVjdGVkSW5kZXgsXG4gICAgICBjdXJyZW50U3RlcDogdGhpcy5zZWxlY3RlZCxcbiAgICAgIG5leHRJbmRleDogdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsID8gdGhpcy5zZWxlY3RlZEluZGV4ICsgMSA6IG51bGwsXG4gICAgICBuZXh0U3RlcDogdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsID8gdGhpcy5zdGVwc1t0aGlzLnNlbGVjdGVkSW5kZXggKyAxXSA6IG51bGwsXG4gICAgfTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCAmJiAhdGhpcy5zZWxlY3RlZC52YWxpZGF0ZSh2YWxpZGF0ZVBheWxvYWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnNlbGVjdGVkO1xuICAgIGN1cnJlbnQ/LmRlc2VsZWN0KCk7XG4gICAgc3RlcCEuc2VsZWN0KCk7XG4gICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIHRoaXMuX2NvbmZpZ3VyZUxpbmVhck1vZGUoKTtcbiAgICAvLyBJbiBjYXNlIHRoZSBmb2N1cyBpcyBjdXJyZW50bHkgaW5zaWRlIHRoZSBzdGVwcGVyLCB3ZSBmb2N1cyB0aGUgc2VsZWN0ZWQgc3RlcCBsYWJlbC5cbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uY2xvc2VzdCgnc2JiLXN0ZXBwZXInKSA9PT0gdGhpcykge1xuICAgICAgdGhpcy5zZWxlY3RlZD8ubGFiZWw/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TWFya2VyU2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5fbG9hZGVkIHx8XG4gICAgICAhdGhpcy5zZWxlY3RlZCB8fFxuICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID09PSB1bmRlZmluZWQgfHxcbiAgICAgICF0aGlzLnNlbGVjdGVkLmxhYmVsXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG9mZnNldCA9XG4gICAgICB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCdcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkLmxhYmVsLm9mZnNldExlZnQgKyB0aGlzLnNlbGVjdGVkLmxhYmVsLm9mZnNldFdpZHRoXG4gICAgICAgIDogdGhpcy5fY2FsY3VsYXRlTGFiZWxPZmZzZXRUb3AoKTtcblxuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXN0ZXBwZXItbWFya2VyLXNpemUnLCBgJHtvZmZzZXR9cHhgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUxhYmVsT2Zmc2V0VG9wKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICBmb3IgKGNvbnN0IHN0ZXAgb2YgdGhpcy5zdGVwcykge1xuICAgICAgaWYgKHN0ZXAgPT09IHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBvZmZzZXQgPSBzdGVwLmxhYmVsIS5vZmZzZXRIZWlnaHQgKyBvZmZzZXQ7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICBvZmZzZXQgK1xuICAgICAgdGhpcy5zZWxlY3RlZCEubGFiZWwhLm9mZnNldEhlaWdodCEgK1xuICAgICAgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRoaXMpLmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLXNwYWNpbmctZml4ZWQtNngnKSkgKlxuICAgICAgICAxNiAqXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmUoKTogdm9pZCB7XG4gICAgY29uc3Qgc3RlcHMgPSB0aGlzLnN0ZXBzO1xuICAgIHN0ZXBzLmZvckVhY2goKHMpID0+IHMuY29uZmlndXJlKHRoaXMuX2xvYWRlZCkpO1xuICAgIHN0ZXBzXG4gICAgICAuZmlsdGVyKChzKSA9PiBzLmxhYmVsKVxuICAgICAgLm1hcCgocykgPT4gcy5sYWJlbCEpXG4gICAgICAuZm9yRWFjaCgobGFiZWwsIGksIGFycmF5KSA9PiB7XG4gICAgICAgIGxhYmVsLmNvbmZpZ3VyZShpICsgMSwgYXJyYXkubGVuZ3RoLCB0aGlzLl9sb2FkZWQpO1xuICAgICAgfSk7XG4gICAgdGhpcy5fc2VsZWN0KHRoaXMuc2VsZWN0ZWQgfHwgdGhpcy5fZW5hYmxlZFN0ZXBzWzBdKTtcbiAgICB0aGlzLl9wcm94eVNpemUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUxhYmVscygpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXApID0+IHtcbiAgICAgIHN0ZXAuc2xvdCA9IHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJyA/ICdzdGVwJyA6ICdzdGVwLWxhYmVsJztcbiAgICAgIHN0ZXAuc2V0QXR0cmlidXRlKCdkYXRhLW9yaWVudGF0aW9uJywgdGhpcy5vcmllbnRhdGlvbik7XG4gICAgICBzdGVwLmxhYmVsPy5zZXRBdHRyaWJ1dGUoJ2RhdGEtb3JpZW50YXRpb24nLCB0aGlzLm9yaWVudGF0aW9uKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrT3JpZW50YXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbEZyb20pIHtcbiAgICAgIHRoaXMub3JpZW50YXRpb24gPSBpc0JyZWFrcG9pbnQodGhpcy5ob3Jpem9udGFsRnJvbSkgPyAnaG9yaXpvbnRhbCcgOiAndmVydGljYWwnO1xuICAgICAgdGhpcy5fdXBkYXRlTGFiZWxzKCk7XG4gICAgfVxuICAgIC8vIFRoZSB0aW1lb3V0IGlzIG5lZWRlZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgbWFya2VyIHRha2VzIHRoZSBjb3JyZWN0IHN0ZXAtbGFiZWwgc2l6ZS5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3NldE1hcmtlclNpemUoKSwgMCk7XG4gIH1cblxuICBwcml2YXRlIF9vblN0ZXBwZXJSZXNpemUgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQhKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1kaXNhYmxlLWFuaW1hdGlvbicsIHRydWUpO1xuXG4gICAgLy8gRGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdoZW4gcmVzaXppbmcgdG8gYXZvaWQgc3RyYW5nZSB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGUtYW5pbWF0aW9uJywgZmFsc2UpLFxuICAgICAgREVCT1VOQ0VfVElNRSxcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZUxpbmVhck1vZGUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGVwcy5mb3JFYWNoKChzdGVwLCBpbmRleCkgPT4ge1xuICAgICAgc3RlcC5sYWJlbD8udG9nZ2xlQXR0cmlidXRlKFxuICAgICAgICAnZGlzYWJsZWQnLFxuICAgICAgICAodGhpcy5saW5lYXIgJiYgaW5kZXggPiB0aGlzLnNlbGVjdGVkSW5kZXghKSB8fFxuICAgICAgICAgICghdGhpcy5saW5lYXIgJiYgc3RlcC5sYWJlbC5oYXNBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZWQnKSksXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uU3RlcHBlclJlc2l6ZSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1kaXNhYmxlLWFuaW1hdGlvbicsICF0aGlzLl9sb2FkZWQpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uU3RlcHBlclJlc2l6ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtcbiAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9ICF0aGlzLmxpbmVhciA/IE51bWJlcih0aGlzLmdldEF0dHJpYnV0ZSgnc2VsZWN0ZWQtaW5kZXgnKSkgfHwgMCA6IDA7XG4gICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIC8vIFJlbW92ZSBbZGF0YS1kaXNhYmxlLWFuaW1hdGlvbl0gYWZ0ZXIgY29tcG9uZW50IGluaXRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGUtYW5pbWF0aW9uJywgZmFsc2UpLCBERUJPVU5DRV9USU1FKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ29yaWVudGF0aW9uJykgJiYgIXRoaXMuaG9yaXpvbnRhbEZyb20pIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUxhYmVscygpO1xuICAgICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaW5lYXInKSAmJiB0aGlzLl9sb2FkZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZUxpbmVhck1vZGUoKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdzaXplJykpIHtcbiAgICAgIHRoaXMuX3Byb3h5U2l6ZSgpO1xuICAgICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3Byb3h5U2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXApID0+IHtcbiAgICAgIHN0ZXAubGFiZWw/LnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgdGhpcy5zaXplKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFN0ZXBzOiBTYmJTdGVwRWxlbWVudFtdID0gdGhpcy5fZW5hYmxlZFN0ZXBzO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRTdGVwcyB8fFxuICAgICAgLy8gZG9uJ3QgdHJhcCBuZXN0ZWQgaGFuZGxpbmdcbiAgICAgICgoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgIT09IHRoaXMgJiYgKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQgIT09IHRoaXMpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IGVuYWJsZWRTdGVwcy5pbmRleE9mKHRoaXMuc2VsZWN0ZWQhKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGN1cnJlbnQsIGVuYWJsZWRTdGVwcy5sZW5ndGgpO1xuICAgICAgdGhpcy5fc2VsZWN0KGVuYWJsZWRTdGVwc1tuZXh0SW5kZXhdKTtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RlcHBlcl9fbGFiZWxzXCIgcm9sZT1cInRhYmxpc3RcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwic3RlcC1sYWJlbFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fY29uZmlndXJlfT48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXBwZXJfX3N0ZXBzXCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cInN0ZXBcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX2NvbmZpZ3VyZX0+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zdGVwcGVyJzogU2JiU3RlcHBlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0JBLE1BQU0sZ0JBQWdCO0lBVWhCLHFCQUFpQixNQUFBOzswQkFEdEIsY0FBYyxhQUFhLENBQUM7Ozs7b0JBQ0csa0JBQWtCLFVBQVU7Ozs7Ozs7Ozs7Ozs7O0FBQXBDLEVBQUEsbUJBQVEsWUFBNkI7QUFBQSxJQWlFM0QsY0FBQTs7O0FBM0RBO0FBaUJBO0FBTTZCO0FBN0J6Qix5QkFBQSwyQkFBQSxrQkFBQSxNQUFBLDBCQUFBLEdBTThCLGtCQUFBLE1BQUEsc0JBQUEsS0FBSztBQWEvQixXQUFlLG1CQUFBLGtCQUFBLE1BQUEseUJBQUEsR0FBNkI7QUFJcEMseUJBQUEsK0JBQUEsa0JBQUEsTUFBQSwyQkFBOEIsWUFBWTtBQU1LLHlC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
|
|
@@ -41,7 +41,6 @@ export declare class SbbTabGroupElement extends SbbTabGroupElement_base {
|
|
|
41
41
|
private _selectedTab?;
|
|
42
42
|
private _tabGroupElement;
|
|
43
43
|
private _tabContentElement;
|
|
44
|
-
private _abort;
|
|
45
44
|
private _tabAttributeObserver;
|
|
46
45
|
private _tabGroupResizeObserver;
|
|
47
46
|
private _tabContentResizeObserver;
|
|
@@ -59,7 +58,7 @@ export declare class SbbTabGroupElement extends SbbTabGroupElement_base {
|
|
|
59
58
|
accessor initialSelectedIndex: number;
|
|
60
59
|
/** Emits an event on selected tab change. */
|
|
61
60
|
private _selectedTabChanged;
|
|
62
|
-
|
|
61
|
+
constructor();
|
|
63
62
|
protected firstUpdated(changedProperties: PropertyValues<this>): void;
|
|
64
63
|
/**
|
|
65
64
|
* Disables a tab by index.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-group.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tabs/tab-group/tab-group.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"tab-group.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tabs/tab-group/tab-group.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AASvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAI1C,MAAM,MAAM,yBAAyB,GAAG;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,kBAAkB,CAAC;IACnC,SAAS,EAAE,aAAa,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACjD,WAAW,EAAE,aAAa,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,IAAI,IAAI,CAAC;IACjB,UAAU,IAAI,IAAI,CAAC;IACnB,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;IAChB,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,2BAA2B,CAAC;IAC9C,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;CACxB;;AAQD;;;;;;GAMG;AACH,qBAEM,kBAAmB,SAAQ,uBAA6B;IAC5D,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IAEX,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,YAAY,CAAC,CAA0B;IAC/C,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,kBAAkB,CAAe;IACzC,OAAO,CAAC,qBAAqB,CAI1B;IACH,OAAO,CAAC,uBAAuB,CAI5B;IACH,OAAO,CAAC,yBAAyB,CAI9B;IAEH;;;OAGG;IACH,IACW,IAAI,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,CAAC,EAGrD;IACD,IAAW,IAAI,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAEjD;IACD,OAAO,CAAC,KAAK,CAAyD;IAEtE;;;OAGG;IACH,SAEgB,oBAAoB,EAAE,MAAM,CAAK;IAEjD,6CAA6C;IAC7C,OAAO,CAAC,mBAAmB,CAGzB;;cAOiB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAS9E;;;OAGG;IACI,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIzC;;;OAGG;IACI,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIxC;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI1C,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,oBAAoB,CAY1B;IAEF,OAAO,CAAC,iBAAiB,CAavB;IAEF,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,UAAU;IAmGlB,OAAO,CAAC,cAAc;cAoBH,MAAM,IAAI,cAAc;CAe5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,kBAAkB,CAAC;KACrC;CACF"}
|
|
@@ -5,14 +5,13 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
|
|
|
5
5
|
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
6
6
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
7
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
|
-
import {
|
|
8
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
9
9
|
import { MutationController } from "@lit-labs/observers/mutation-controller.js";
|
|
10
10
|
import { ResizeController } from "@lit-labs/observers/resize-controller.js";
|
|
11
11
|
import { css, LitElement, html } from "lit";
|
|
12
12
|
import { customElement, property } from "lit/decorators.js";
|
|
13
13
|
import { ref } from "lit/directives/ref.js";
|
|
14
14
|
import { isArrowKeyPressed, getNextElementIndex } from "../core/a11y.js";
|
|
15
|
-
import { SbbConnectedAbortController } from "../core/controllers.js";
|
|
16
15
|
import { forceType } from "../core/decorators.js";
|
|
17
16
|
import { isLean } from "../core/dom.js";
|
|
18
17
|
import { EventEmitter, throttle } from "../core/eventing.js";
|
|
@@ -80,10 +79,10 @@ let SbbTabGroupElement = (() => {
|
|
|
80
79
|
let _initialSelectedIndex_extraInitializers = [];
|
|
81
80
|
var SbbTabGroupElement2 = (_a = class extends _classSuper {
|
|
82
81
|
constructor() {
|
|
83
|
-
|
|
82
|
+
var _a2;
|
|
83
|
+
super();
|
|
84
84
|
__privateAdd(this, _initialSelectedIndex_accessor_storage);
|
|
85
85
|
this._tabs = (__runInitializers(this, _instanceExtraInitializers), []);
|
|
86
|
-
this._abort = new SbbConnectedAbortController(this);
|
|
87
86
|
this._tabAttributeObserver = new MutationController(this, {
|
|
88
87
|
target: null,
|
|
89
88
|
config: tabObserverConfig,
|
|
@@ -103,13 +102,13 @@ let SbbTabGroupElement = (() => {
|
|
|
103
102
|
__privateSet(this, _initialSelectedIndex_accessor_storage, __runInitializers(this, _initialSelectedIndex_initializers, 0));
|
|
104
103
|
this._selectedTabChanged = (__runInitializers(this, _initialSelectedIndex_extraInitializers), new EventEmitter(this, SbbTabGroupElement2.events.didChange));
|
|
105
104
|
this._onContentSlotChange = () => {
|
|
106
|
-
var
|
|
105
|
+
var _a3, _b;
|
|
107
106
|
this._tabContentElement = this.shadowRoot.querySelector("div.tab-content");
|
|
108
107
|
const loadedTabs = this._getTabs().filter((tab) => !this._tabs.includes(tab));
|
|
109
108
|
if (loadedTabs.length) {
|
|
110
109
|
loadedTabs.forEach((tab) => this._configure(tab));
|
|
111
110
|
this._tabs = this._tabs.concat(loadedTabs);
|
|
112
|
-
(_b = (
|
|
111
|
+
(_b = (_a3 = loadedTabs.find((tab) => tab.active)) == null ? void 0 : _a3.tabGroupActions) == null ? void 0 : _b.select();
|
|
113
112
|
}
|
|
114
113
|
};
|
|
115
114
|
this._onTabsSlotChange = () => {
|
|
@@ -117,13 +116,14 @@ let SbbTabGroupElement = (() => {
|
|
|
117
116
|
if (tabs.length < this._tabs.length) {
|
|
118
117
|
const removedTabs = this._tabs.filter((tab) => !tabs.includes(tab));
|
|
119
118
|
removedTabs.forEach((removedTab) => {
|
|
120
|
-
var
|
|
121
|
-
(
|
|
119
|
+
var _a3;
|
|
120
|
+
(_a3 = removedTab.tab) == null ? void 0 : _a3.remove();
|
|
122
121
|
});
|
|
123
122
|
this._tabs = tabs;
|
|
124
123
|
}
|
|
125
124
|
this._tabs.forEach((tab) => tab.setAttribute("data-size", this.size));
|
|
126
125
|
};
|
|
126
|
+
(_a2 = this.addEventListener) == null ? void 0 : _a2.call(this, "keydown", (e) => this._handleKeyDown(e));
|
|
127
127
|
}
|
|
128
128
|
/**
|
|
129
129
|
* Size variant, either s, l or xl.
|
|
@@ -146,11 +146,6 @@ let SbbTabGroupElement = (() => {
|
|
|
146
146
|
set initialSelectedIndex(value) {
|
|
147
147
|
__privateSet(this, _initialSelectedIndex_accessor_storage, value);
|
|
148
148
|
}
|
|
149
|
-
connectedCallback() {
|
|
150
|
-
super.connectedCallback();
|
|
151
|
-
const signal = this._abort.signal;
|
|
152
|
-
this.addEventListener("keydown", (e) => this._handleKeyDown(e), { signal });
|
|
153
|
-
}
|
|
154
149
|
firstUpdated(changedProperties) {
|
|
155
150
|
super.firstUpdated(changedProperties);
|
|
156
151
|
this._tabs = this._getTabs();
|
|
@@ -393,4 +388,4 @@ let SbbTabGroupElement = (() => {
|
|
|
393
388
|
export {
|
|
394
389
|
SbbTabGroupElement
|
|
395
390
|
};
|
|
396
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWItZ3JvdXAvdGFiLWdyb3VwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE11dGF0aW9uQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvbXV0YXRpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7IGdldE5leHRFbGVtZW50SW5kZXgsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgdGhyb3R0bGUgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUYWJMYWJlbEVsZW1lbnQgfSBmcm9tICcuLi90YWItbGFiZWwuanMnO1xuaW1wb3J0IHsgU2JiVGFiRWxlbWVudCB9IGZyb20gJy4uL3RhYi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhYi1ncm91cC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5leHBvcnQgdHlwZSBTYmJUYWJDaGFuZ2VkRXZlbnREZXRhaWxzID0ge1xuICBhY3RpdmVJbmRleDogbnVtYmVyO1xuICBhY3RpdmVUYWJMYWJlbDogU2JiVGFiTGFiZWxFbGVtZW50O1xuICBhY3RpdmVUYWI6IFNiYlRhYkVsZW1lbnQ7XG4gIHByZXZpb3VzSW5kZXg6IG51bWJlcjtcbiAgcHJldmlvdXNUYWJMYWJlbDogU2JiVGFiTGFiZWxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBwcmV2aW91c1RhYjogU2JiVGFiRWxlbWVudCB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlU2JiVGFiR3JvdXBBY3Rpb25zIHtcbiAgYWN0aXZhdGUoKTogdm9pZDtcbiAgZGVhY3RpdmF0ZSgpOiB2b2lkO1xuICBlbmFibGUoKTogdm9pZDtcbiAgZGlzYWJsZSgpOiB2b2lkO1xuICBzZWxlY3QoKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYiBleHRlbmRzIFNiYlRhYkxhYmVsRWxlbWVudCB7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHRhYj86IFNiYlRhYkVsZW1lbnQ7XG4gIGluZGV4PzogbnVtYmVyO1xuICB0YWJHcm91cEFjdGlvbnM/OiBJbnRlcmZhY2VTYmJUYWJHcm91cEFjdGlvbnM7XG4gIHNpemU6ICdzJyB8ICdsJyB8ICd4bCc7XG59XG5cbmNvbnN0IHRhYk9ic2VydmVyQ29uZmlnOiBNdXRhdGlvbk9ic2VydmVySW5pdCA9IHtcbiAgYXR0cmlidXRlRmlsdGVyOiBbJ2FjdGl2ZScsICdkaXNhYmxlZCddLFxufTtcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgb25lIG9yIG1vcmUgdGFicywgZWFjaCBvbmUgd2l0aCBhIGxhYmVsIGFuZCBhIGNvbnRlbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi10YWItZ3JvdXBgIHZpYVxuICogYHNiYi10YWItbGFiZWxgIGFuZCBgc2JiLXRhYmAgaW5zdGFuY2VzLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDxTYmJUYWJDaGFuZ2VkRXZlbnREZXRhaWxzPn0gZGlkQ2hhbmdlIC0gRW1pdHMgYW4gZXZlbnQgb24gc2VsZWN0ZWQgdGFiIGNoYW5nZS5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRhYi1ncm91cCcpXG5jbGFzcyBTYmJUYWJHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBkaWRDaGFuZ2U6ICdkaWRDaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByaXZhdGUgX3RhYnM6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10gPSBbXTtcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRUYWI/OiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYjtcbiAgcHJpdmF0ZSBfdGFiR3JvdXBFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3RhYkNvbnRlbnRFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2Fib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfdGFiQXR0cmlidXRlT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgY29uZmlnOiB0YWJPYnNlcnZlckNvbmZpZyxcbiAgICBjYWxsYmFjazogKG11dGF0aW9uc0xpc3QpID0+IHRoaXMuX29uVGFiQXR0cmlidXRlc0NoYW5nZShtdXRhdGlvbnNMaXN0KSxcbiAgfSk7XG4gIHByaXZhdGUgX3RhYkdyb3VwUmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoZW50cmllcykgPT4gdGhpcy5fb25UYWJHcm91cEVsZW1lbnRSZXNpemUoZW50cmllcyksXG4gIH0pO1xuICBwcml2YXRlIF90YWJDb250ZW50UmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoZW50cmllcykgPT4gdGhpcy5fb25UYWJDb250ZW50RWxlbWVudFJlc2l6ZShlbnRyaWVzKSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIHMsIGwgb3IgeGwuXG4gICAqIEBkZWZhdWx0ICdsJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgc2l6ZSh2YWx1ZTogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbJ3NpemUnXSkge1xuICAgIHRoaXMuX3NpemUgPSB2YWx1ZTtcbiAgICB0aGlzLl91cGRhdGVTaXplKCk7XG4gIH1cbiAgcHVibGljIGdldCBzaXplKCk6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiWydzaXplJ10ge1xuICAgIHJldHVybiB0aGlzLl9zaXplO1xuICB9XG4gIHByaXZhdGUgX3NpemU6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiWydzaXplJ10gPSBpc0xlYW4oKSA/ICdzJyA6ICdsJztcblxuICAvKipcbiAgICogU2V0cyB0aGUgaW5pdGlhbCB0YWIuIElmIGl0IG1hdGNoZXMgYSBkaXNhYmxlZCB0YWIgb3IgZXhjZWVkcyB0aGUgbGVuZ3RoIG9mXG4gICAqIHRoZSB0YWIgZ3JvdXAsIHRoZSBmaXJzdCBlbmFibGVkIHRhYiB3aWxsIGJlIHNlbGVjdGVkLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2luaXRpYWwtc2VsZWN0ZWQtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGluaXRpYWxTZWxlY3RlZEluZGV4OiBudW1iZXIgPSAwO1xuXG4gIC8qKiBFbWl0cyBhbiBldmVudCBvbiBzZWxlY3RlZCB0YWIgY2hhbmdlLiAqL1xuICBwcml2YXRlIF9zZWxlY3RlZFRhYkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxTYmJUYWJDaGFuZ2VkRXZlbnREZXRhaWxzPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJUYWJHcm91cEVsZW1lbnQuZXZlbnRzLmRpZENoYW5nZSxcbiAgKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSksIHsgc2lnbmFsIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fdGFicyA9IHRoaXMuX2dldFRhYnMoKTtcbiAgICB0aGlzLl90YWJzLmZvckVhY2goKHRhYikgPT4gdGhpcy5fY29uZmlndXJlKHRhYikpO1xuICAgIHRoaXMuX2luaXRTZWxlY3Rpb24oKTtcbiAgICB0aGlzLl90YWJHcm91cFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fdGFiR3JvdXBFbGVtZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyBhIHRhYiBieSBpbmRleC5cbiAgICogQHBhcmFtIHRhYkluZGV4IFRoZSBpbmRleCBvZiB0aGUgdGFiIHlvdSB3YW50IHRvIGRpc2FibGUuXG4gICAqL1xuICBwdWJsaWMgZGlzYWJsZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFic1t0YWJJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uZGlzYWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBlbmFibGUuXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlVGFiKHRhYkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl90YWJzW3RhYkluZGV4XT8udGFiR3JvdXBBY3Rpb25zPy5lbmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBhY3RpdmF0ZS5cbiAgICovXG4gIHB1YmxpYyBhY3RpdmF0ZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFic1t0YWJJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRUYWJzKCk6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4gPz8gW10pLmZpbHRlcigoY2hpbGQpID0+XG4gICAgICAvXnNiYi10YWItbGFiZWwkL3UudGVzdChjaGlsZC5sb2NhbE5hbWUpLFxuICAgICkgYXMgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXTtcbiAgfVxuXG4gIHByaXZhdGUgX2VuYWJsZWRUYWJzKCk6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10ge1xuICAgIHJldHVybiB0aGlzLl90YWJzLmZpbHRlcigodCkgPT4gIXQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVNpemUoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCB0YWIgb2YgdGhpcy5fdGFicykge1xuICAgICAgdGFiLnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgdGhpcy5zaXplKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkNvbnRlbnRTbG90Q2hhbmdlID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX3RhYkNvbnRlbnRFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCdkaXYudGFiLWNvbnRlbnQnKSE7XG4gICAgY29uc3QgbG9hZGVkVGFicyA9IHRoaXMuX2dldFRhYnMoKS5maWx0ZXIoKHRhYikgPT4gIXRoaXMuX3RhYnMuaW5jbHVkZXModGFiKSk7XG5cbiAgICAvLyBpZiBhIG5ldyB0YWIvY29udGVudCBpcyBhZGRlZCB0byB0aGUgdGFiIGdyb3VwXG4gICAgaWYgKGxvYWRlZFRhYnMubGVuZ3RoKSB7XG4gICAgICBsb2FkZWRUYWJzLmZvckVhY2goKHRhYikgPT4gdGhpcy5fY29uZmlndXJlKHRhYikpO1xuICAgICAgdGhpcy5fdGFicyA9IHRoaXMuX3RhYnMuY29uY2F0KGxvYWRlZFRhYnMpO1xuXG4gICAgICAvLyBJZiB0aGVyZSBpcyBhbiBhY3RpdmUgdGFiIGluIHRoZSBuZXcgYmF0Y2gsIGl0IGJlY29tZXMgdGhlIG5ldyBzZWxlY3RlZFxuICAgICAgbG9hZGVkVGFicy5maW5kKCh0YWIpID0+IHRhYi5hY3RpdmUpPy50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9vblRhYnNTbG90Q2hhbmdlID0gKCk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IHRhYnMgPSB0aGlzLl9nZXRUYWJzKCk7XG5cbiAgICAvLyBpZiBhIHRhYiBpcyByZW1vdmVkIGZyb20gdGhlIHRhYiBncm91cFxuICAgIGlmICh0YWJzLmxlbmd0aCA8IHRoaXMuX3RhYnMubGVuZ3RoKSB7XG4gICAgICBjb25zdCByZW1vdmVkVGFicyA9IHRoaXMuX3RhYnMuZmlsdGVyKCh0YWIpID0+ICF0YWJzLmluY2x1ZGVzKHRhYikpO1xuXG4gICAgICByZW1vdmVkVGFicy5mb3JFYWNoKChyZW1vdmVkVGFiKSA9PiB7XG4gICAgICAgIHJlbW92ZWRUYWIudGFiPy5yZW1vdmUoKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fdGFicyA9IHRhYnM7XG4gICAgfVxuICAgIHRoaXMuX3RhYnMuZm9yRWFjaCgodGFiOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYikgPT4gdGFiLnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgdGhpcy5zaXplKSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfYXNzaWduSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHNiYi10YWItcGFuZWwtJHsrK25leHRJZH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4ID49IDAgJiZcbiAgICAgIHRoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXggPCB0aGlzLl90YWJzLmxlbmd0aCAmJlxuICAgICAgIXRoaXMuX3RhYnNbdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleF0uZGlzYWJsZWRcbiAgICApIHtcbiAgICAgIHRoaXMuX3RhYnNbdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleF0udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZW5hYmxlZFRhYnMoKVswXT8udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vblRhYkF0dHJpYnV0ZXNDaGFuZ2UobXV0YXRpb25zTGlzdDogTXV0YXRpb25SZWNvcmRbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkge1xuICAgICAgaWYgKG11dGF0aW9uLnR5cGUgIT09ICdhdHRyaWJ1dGVzJykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCB0YWIgPSBtdXRhdGlvbi50YXJnZXQgYXMgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWI7XG5cbiAgICAgIGlmIChtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSAnZGlzYWJsZWQnKSB7XG4gICAgICAgIGlmICh0YWIuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpICYmIHRhYiAhPT0gdGhpcy5fc2VsZWN0ZWRUYWIpIHtcbiAgICAgICAgICB0YWIudGFiR3JvdXBBY3Rpb25zPy5kaXNhYmxlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGFiLmRpc2FibGVkKSB7XG4gICAgICAgICAgdGFiLnRhYkdyb3VwQWN0aW9ucz8uZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSAnYWN0aXZlJykge1xuICAgICAgICBpZiAodGFiLmhhc0F0dHJpYnV0ZSgnYWN0aXZlJykgJiYgIXRhYi5kaXNhYmxlZCkge1xuICAgICAgICAgIHRhYi50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRhYiA9PT0gdGhpcy5fc2VsZWN0ZWRUYWIpIHtcbiAgICAgICAgICB0YWIudG9nZ2xlQXR0cmlidXRlKCdhY3RpdmUnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uVGFiR3JvdXBFbGVtZW50UmVzaXplKGVudHJpZXM6IFJlc2l6ZU9ic2VydmVyRW50cnlbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgY29uc3QgdGFiVGl0bGVzID0gKFxuICAgICAgICBlbnRyeS50YXJnZXQuZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTFNsb3RFbGVtZW50XG4gICAgICApLmFzc2lnbmVkRWxlbWVudHMoKSBhcyBTYmJUYWJMYWJlbEVsZW1lbnRbXTtcblxuICAgICAgZm9yIChjb25zdCB0YWIgb2YgdGFiVGl0bGVzKSB7XG4gICAgICAgIHRhYi50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAgICAgJ2RhdGEtaGFzLWRpdmlkZXInLFxuICAgICAgICAgIHRhYiA9PT0gdGFiVGl0bGVzWzBdIHx8IHRhYi5vZmZzZXRMZWZ0ID09PSB0YWJUaXRsZXNbMF0ub2Zmc2V0TGVmdCxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItdGFiLWdyb3VwLXdpZHRoJywgYCR7dGhpcy5fdGFiR3JvdXBFbGVtZW50LmNsaWVudFdpZHRofXB4YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25UYWJDb250ZW50RWxlbWVudFJlc2l6ZShlbnRyaWVzOiBSZXNpemVPYnNlcnZlckVudHJ5W10pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3RhYkNvbnRlbnRFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgY29uc3QgY29udGVudEhlaWdodCA9IE1hdGguZmxvb3IoZW50cnkuY29udGVudFJlY3QuaGVpZ2h0KTtcblxuICAgICAgdGhpcy5fdGFiQ29udGVudEVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7Y29udGVudEhlaWdodH1weGA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlKHRhYkxhYmVsOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYik6IHZvaWQge1xuICAgIHRhYkxhYmVsLnRhYkdyb3VwQWN0aW9ucyA9IHtcbiAgICAgIGFjdGl2YXRlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRhYkxhYmVsLnRvZ2dsZUF0dHJpYnV0ZSgnYWN0aXZlJywgdHJ1ZSk7XG4gICAgICAgIHRhYkxhYmVsLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHRhYkxhYmVsLnRhYkluZGV4ID0gMDtcbiAgICAgICAgdGFiTGFiZWwuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgJ3RydWUnKTtcbiAgICAgICAgdGFiTGFiZWwudGFiPy50b2dnbGVBdHRyaWJ1dGUoJ2FjdGl2ZScsIHRydWUpO1xuICAgICAgfSxcbiAgICAgIGRlYWN0aXZhdGU6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGFiTGFiZWwucmVtb3ZlQXR0cmlidXRlKCdhY3RpdmUnKTtcbiAgICAgICAgdGFiTGFiZWwuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRhYkxhYmVsLnRhYkluZGV4ID0gLTE7XG4gICAgICAgIHRhYkxhYmVsLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICdmYWxzZScpO1xuICAgICAgICB0YWJMYWJlbC50YWI/LnJlbW92ZUF0dHJpYnV0ZSgnYWN0aXZlJyk7XG4gICAgICB9LFxuICAgICAgZGlzYWJsZTogKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGFiTGFiZWwuZGlzYWJsZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0YWJMYWJlbC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpIHtcbiAgICAgICAgICB0YWJMYWJlbC50b2dnbGVBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGFiTGFiZWwuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICB0YWJMYWJlbC50YWJJbmRleCA9IC0xO1xuICAgICAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCAnZmFsc2UnKTtcbiAgICAgICAgdGFiTGFiZWwudGFiPy5yZW1vdmVBdHRyaWJ1dGUoJ2FjdGl2ZScpO1xuICAgICAgICBpZiAodGFiTGFiZWwuYWN0aXZlKSB7XG4gICAgICAgICAgdGFiTGFiZWwucmVtb3ZlQXR0cmlidXRlKCdhY3RpdmUnKTtcbiAgICAgICAgICB0YWJMYWJlbC5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLl9lbmFibGVkVGFicygpWzBdPy50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZW5hYmxlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0YWJMYWJlbC5kaXNhYmxlZCkge1xuICAgICAgICAgIHRhYkxhYmVsLnJlbW92ZUF0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICAgICAgICB0YWJMYWJlbC5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgc2VsZWN0OiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0YWJMYWJlbCAhPT0gdGhpcy5fc2VsZWN0ZWRUYWIgJiYgIXRhYkxhYmVsLmRpc2FibGVkKSB7XG4gICAgICAgICAgY29uc3QgcHJldlRhYiA9IHRoaXMuX3NlbGVjdGVkVGFiO1xuXG4gICAgICAgICAgaWYgKHByZXZUYWIpIHtcbiAgICAgICAgICAgIHByZXZUYWIudGFiR3JvdXBBY3Rpb25zPy5kZWFjdGl2YXRlKCk7XG4gICAgICAgICAgICB0aGlzLl90YWJDb250ZW50UmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHByZXZUYWIudGFiISk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGFiTGFiZWwudGFiR3JvdXBBY3Rpb25zPy5hY3RpdmF0ZSgpO1xuICAgICAgICAgIHRoaXMuX3NlbGVjdGVkVGFiID0gdGFiTGFiZWw7XG5cbiAgICAgICAgICB0aGlzLl90YWJDb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0YWJMYWJlbC50YWIhKTtcbiAgICAgICAgICBjb25zdCB0YWJzID0gdGhpcy5fdGFicztcbiAgICAgICAgICB0aGlzLl9zZWxlY3RlZFRhYkNoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgICBhY3RpdmVJbmRleDogdGFicy5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRhYkxhYmVsKSxcbiAgICAgICAgICAgIGFjdGl2ZVRhYkxhYmVsOiB0YWJMYWJlbCxcbiAgICAgICAgICAgIGFjdGl2ZVRhYjogdGFiTGFiZWwudGFiIGFzIFNiYlRhYkVsZW1lbnQsXG4gICAgICAgICAgICBwcmV2aW91c0luZGV4OiB0YWJzLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gcHJldlRhYiksXG4gICAgICAgICAgICBwcmV2aW91c1RhYkxhYmVsOiBwcmV2VGFiLFxuICAgICAgICAgICAgcHJldmlvdXNUYWI6IHByZXZUYWI/LnRhYiBhcyBTYmJUYWJFbGVtZW50LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgdGFiTGFiZWwuZGlzYWJsZWQpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ1lvdSBjYW5ub3QgYWN0aXZhdGUgYSBkaXNhYmxlZCB0YWInKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKHRhYkxhYmVsLm5leHRFbGVtZW50U2libGluZz8ubG9jYWxOYW1lID09PSAnc2JiLXRhYicpIHtcbiAgICAgIHRhYkxhYmVsLnRhYiA9IHRhYkxhYmVsLm5leHRFbGVtZW50U2libGluZyBhcyBTYmJUYWJFbGVtZW50O1xuICAgICAgdGFiTGFiZWwudGFiLmlkID0gdGhpcy5fYXNzaWduSWQoKTtcbiAgICAgIGlmICh0YWJMYWJlbC50YWIgaW5zdGFuY2VvZiBTYmJUYWJFbGVtZW50KSB7XG4gICAgICAgIHRhYkxhYmVsLnRhYi50YWJJbmRleCA9IDA7XG4gICAgICAgIHRhYkxhYmVsLnRhYi5jb25maWd1cmUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgIHRhYkxhYmVsLmluc2VydEFkamFjZW50SFRNTCgnYWZ0ZXJlbmQnLCAnPHNiYi10YWI+Tm8gY29udGVudC48L3NiYi10YWI+Jyk7XG4gICAgICB0YWJMYWJlbC50YWIgPSB0YWJMYWJlbC5uZXh0RWxlbWVudFNpYmxpbmcgYXMgU2JiVGFiRWxlbWVudDtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYE1pc3NpbmcgY29udGVudDogeW91IHNob3VsZCBwcm92aWRlIGEgcmVsYXRlZCBjb250ZW50IGZvciB0aGUgdGFiICR7dGFiTGFiZWwub3V0ZXJIVE1MfS5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGFiTGFiZWwudGFiSW5kZXggPSAtMTtcbiAgICB0YWJMYWJlbC5kaXNhYmxlZCA9IHRhYkxhYmVsLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICB0YWJMYWJlbC5hY3RpdmUgPSB0YWJMYWJlbC5oYXNBdHRyaWJ1dGUoJ2FjdGl2ZScpICYmICF0YWJMYWJlbC5kaXNhYmxlZDtcbiAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAndGFiJyk7XG4gICAgdGFiTGFiZWwuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgU3RyaW5nKHRhYkxhYmVsLmFjdGl2ZSkpO1xuICAgIHRhYkxhYmVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgdGFiTGFiZWwudGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICB9KTtcbiAgICBpZiAodGFiTGFiZWwudGFiKSB7XG4gICAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtY29udHJvbHMnLCB0YWJMYWJlbC50YWIuaWQpO1xuICAgICAgdGFiTGFiZWwudGFiLnNldEF0dHJpYnV0ZSgncm9sZScsICd0YWJwYW5lbCcpO1xuICAgICAgdGFiTGFiZWwudGFiLnRvZ2dsZUF0dHJpYnV0ZSgnYWN0aXZlJywgdGFiTGFiZWwuYWN0aXZlKTtcbiAgICB9XG5cbiAgICB0aGlzLl90YWJBdHRyaWJ1dGVPYnNlcnZlci5vYnNlcnZlKHRhYkxhYmVsKTtcbiAgICB0YWJMYWJlbC5zbG90ID0gJ3RhYi1iYXInO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkVGFiczogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXSA9IHRoaXMuX2VuYWJsZWRUYWJzKCk7XG5cbiAgICBpZiAoXG4gICAgICAhZW5hYmxlZFRhYnMgfHxcbiAgICAgIC8vIGRvbid0IHRyYXAgbmVzdGVkIGhhbmRsaW5nXG4gICAgICAoKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpICE9PSB0aGlzICYmIChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50ICE9PSB0aGlzKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc0Fycm93S2V5UHJlc3NlZChldnQpKSB7XG4gICAgICBjb25zdCBjdXJyZW50OiBudW1iZXIgPSBlbmFibGVkVGFicy5maW5kSW5kZXgoKHQ6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiKSA9PiB0LmFjdGl2ZSk7XG4gICAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjdXJyZW50LCBlbmFibGVkVGFicy5sZW5ndGgpO1xuICAgICAgZW5hYmxlZFRhYnNbbmV4dEluZGV4XT8udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICAgIGVuYWJsZWRUYWJzW25leHRJbmRleF0/LmZvY3VzKCk7XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0YWItZ3JvdXBcIlxuICAgICAgICByb2xlPVwidGFibGlzdFwiXG4gICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl90YWJHcm91cEVsZW1lbnQgPSBlbCBhcyBIVE1MRWxlbWVudCkpfVxuICAgICAgPlxuICAgICAgICA8c2xvdCBuYW1lPVwidGFiLWJhclwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25UYWJzU2xvdENoYW5nZX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudFwiPlxuICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3Rocm90dGxlKHRoaXMuX29uQ29udGVudFNsb3RDaGFuZ2UsIDE1MCl9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWItZ3JvdXAnOiBTYmJUYWJHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJUYWJHcm91cEVsZW1lbnQiLCJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTRDQSxNQUFNLG9CQUEwQztBQUFBLEVBQzlDLGlCQUFpQixDQUFDLFVBQVUsVUFBVTs7QUFHeEMsSUFBSSxTQUFTO0lBV1Asc0JBQWtCLE1BQUE7OzBCQUR2QixjQUFjLGVBQWUsQ0FBQzs7OztvQkFDRSxrQkFBa0IsVUFBVTs7Ozs7O0FBQXBDQSxNQUFBQSx1QkFBQSxtQkFBUSxZQUE2QjtBQUFBOztBQStDNUQ7QUF6Q1EsV0FBQSxTQU5KLGtCQUFBLE1BQUEsMEJBQUEsR0FNdUMsQ0FBQTtBQUluQyxXQUFBLFNBQVMsSUFBSSw0QkFBNEIsSUFBSTtBQUM3QyxXQUFBLHdCQUF3QixJQUFJLG1CQUFtQixNQUFNO0FBQUEsUUFDM0QsUUFBUTtBQUFBLFFBQ1IsUUFBUTtBQUFBLFFBQ1IsVUFBVSxDQUFDLGtCQUFrQixLQUFLLHVCQUF1QixhQUFhO0FBQUEsTUFBQSxDQUN2RTtBQUNPLFdBQUEsMEJBQTBCLElBQUksaUJBQWlCLE1BQU07QUFBQSxRQUMzRCxRQUFRO0FBQUEsUUFDUixhQUFhO0FBQUEsUUFDYixVQUFVLENBQUMsWUFBWSxLQUFLLHlCQUF5QixPQUFPO0FBQUEsTUFBQSxDQUM3RDtBQUNPLFdBQUEsNEJBQTRCLElBQUksaUJBQWlCLE1BQU07QUFBQSxRQUM3RCxRQUFRO0FBQUEsUUFDUixhQUFhO0FBQUEsUUFDYixVQUFVLENBQUMsWUFBWSxLQUFLLDJCQUEyQixPQUFPO0FBQUEsTUFBQSxDQUMvRDtBQWNZLFdBQUEsUUFBb0MsT0FBTSxJQUFLLE1BQU07QUFRbEQseUJBQUEsd0NBQUEsa0JBQUEsTUFBQSxvQ0FBK0IsQ0FBQztBQUd4QyxXQUFBLHVCQUErRCxrQkFBQSxNQUFBLHVDQUFBLEdBQUEsSUFBSSxhQUN6RSxNQUNBQSxvQkFBbUIsT0FBTyxTQUFTO0FBMEQ3QixXQUFvQix1QkFBRyxNQUFXOztBQUN4QyxhQUFLLHFCQUFxQixLQUFLLFdBQVksY0FBYyxpQkFBaUI7QUFDMUUsY0FBTSxhQUFhLEtBQUssV0FBVyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssTUFBTSxTQUFTLEdBQUcsQ0FBQztBQUc1RSxZQUFJLFdBQVcsUUFBUTtBQUNyQixxQkFBVyxRQUFRLENBQUMsUUFBUSxLQUFLLFdBQVcsR0FBRyxDQUFDO0FBQ2hELGVBQUssUUFBUSxLQUFLLE1BQU0sT0FBTyxVQUFVO0FBR3pDLGlCQUFBQyxNQUFBLFdBQVcsS0FBSyxDQUFDLFFBQVEsSUFBSSxNQUFNLE1BQW5DLGdCQUFBQSxJQUFzQyxvQkFBdEMsbUJBQXVEO0FBQUE7TUFFM0Q7QUFFUSxXQUFpQixvQkFBRyxNQUFXO0FBQy9CLGNBQUEsT0FBTyxLQUFLO0FBR2xCLFlBQUksS0FBSyxTQUFTLEtBQUssTUFBTSxRQUFRO0FBQzdCLGdCQUFBLGNBQWMsS0FBSyxNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxTQUFTLEdBQUcsQ0FBQztBQUV0RCxzQkFBQSxRQUFRLENBQUMsZUFBYzs7QUFDakMsYUFBQUEsTUFBQSxXQUFXLFFBQVgsZ0JBQUFBLElBQWdCO0FBQUEsV0FDakI7QUFDRCxlQUFLLFFBQVE7QUFBQSxRQUFBO0FBRVYsYUFBQSxNQUFNLFFBQVEsQ0FBQyxRQUFpQyxJQUFJLGFBQWEsYUFBYSxLQUFLLElBQUksQ0FBQztBQUFBLE1BQy9GO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUF6R0EsSUFBVyxLQUFLLE9BQXNDO0FBQ3BELFdBQUssUUFBUTtBQUNiLFdBQUssWUFBVztBQUFBLElBQUE7QUFBQSxJQUVsQixJQUFXLE9BQUk7QUFDYixhQUFPLEtBQUs7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQVVkLElBQWdCLHVCQUFpQztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBakQsSUFBZ0IscUJBQWlDLE9BQUE7QUFBQSx5QkFBQSx3Q0FBQTtBQUFBLElBQUE7QUFBQSxJQVFqQyxvQkFBaUI7QUFDL0IsWUFBTSxrQkFBaUI7QUFDakIsWUFBQSxTQUFTLEtBQUssT0FBTztBQUN0QixXQUFBLGlCQUFpQixXQUFXLENBQUMsTUFBTSxLQUFLLGVBQWUsQ0FBQyxHQUFHLEVBQUUsUUFBUTtBQUFBLElBQUE7QUFBQSxJQUd6RCxhQUFhLG1CQUF1QztBQUNyRSxZQUFNLGFBQWEsaUJBQWlCO0FBRS9CLFdBQUEsUUFBUSxLQUFLO0FBQ2xCLFdBQUssTUFBTSxRQUFRLENBQUMsUUFBUSxLQUFLLFdBQVcsR0FBRyxDQUFDO0FBQ2hELFdBQUssZUFBYztBQUNkLFdBQUEsd0JBQXdCLFFBQVEsS0FBSyxnQkFBZ0I7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU9yRCxXQUFXLFVBQWdCOztBQUNoQyxhQUFBQSxNQUFBLEtBQUssTUFBTSxRQUFRLE1BQW5CLGdCQUFBQSxJQUFzQixvQkFBdEIsbUJBQXVDO0FBQUEsSUFBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFPekMsVUFBVSxVQUFnQjs7QUFDL0IsYUFBQUEsTUFBQSxLQUFLLE1BQU0sUUFBUSxNQUFuQixnQkFBQUEsSUFBc0Isb0JBQXRCLG1CQUF1QztBQUFBLElBQU07QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBT3hDLFlBQVksVUFBZ0I7O0FBQ2pDLGFBQUFBLE1BQUEsS0FBSyxNQUFNLFFBQVEsTUFBbkIsZ0JBQUFBLElBQXNCLG9CQUF0QixtQkFBdUM7QUFBQSxJQUFNO0FBQUEsSUFHdkMsV0FBUTtBQUNkLGFBQU8sTUFBTSxLQUFLLEtBQUssWUFBWSxDQUFBLENBQUUsRUFBRSxPQUFPLENBQUMsVUFDN0MsbUJBQW1CLEtBQUssTUFBTSxTQUFTLENBQUM7QUFBQSxJQUFBO0FBQUEsSUFJcEMsZUFBWTtBQUNYLGFBQUEsS0FBSyxNQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxhQUFhLFVBQVUsQ0FBQztBQUFBLElBQUE7QUFBQSxJQUdyRCxjQUFXO0FBQ04saUJBQUEsT0FBTyxLQUFLLE9BQU87QUFDeEIsWUFBQSxhQUFhLGFBQWEsS0FBSyxJQUFJO0FBQUEsTUFBQTtBQUFBLElBQ3pDO0FBQUEsSUFnQ00sWUFBUztBQUNSLGFBQUEsaUJBQWlCLEVBQUUsTUFBTTtBQUFBLElBQUE7QUFBQSxJQUcxQixpQkFBYzs7QUFDcEIsVUFDRSxLQUFLLHdCQUF3QixLQUM3QixLQUFLLHVCQUF1QixLQUFLLE1BQU0sVUFDdkMsQ0FBQyxLQUFLLE1BQU0sS0FBSyxvQkFBb0IsRUFBRSxVQUN2QztBQUNBLFNBQUFBLE1BQUEsS0FBSyxNQUFNLEtBQUssb0JBQW9CLEVBQUUsb0JBQXRDLGdCQUFBQSxJQUF1RDtBQUFBLE1BQU0sT0FDeEQ7QUFDTCx5QkFBSyxhQUFZLEVBQUcsQ0FBQyxNQUFyQixtQkFBd0Isb0JBQXhCLG1CQUF5QztBQUFBLE1BQU07QUFBQSxJQUNqRDtBQUFBLElBR00sdUJBQXVCLGVBQStCOztBQUM1RCxpQkFBVyxZQUFZLGVBQWU7QUFDaEMsWUFBQSxTQUFTLFNBQVMsY0FBYztBQUNsQztBQUFBLFFBQUE7QUFFRixjQUFNLE1BQU0sU0FBUztBQUVqQixZQUFBLFNBQVMsa0JBQWtCLFlBQVk7QUFDekMsY0FBSSxJQUFJLGFBQWEsVUFBVSxLQUFLLFFBQVEsS0FBSyxjQUFjO0FBQzdELGFBQUFBLE1BQUEsSUFBSSxvQkFBSixnQkFBQUEsSUFBcUI7QUFBQSxxQkFDWixJQUFJLFVBQVU7QUFDdkIsc0JBQUksb0JBQUosbUJBQXFCO0FBQUE7UUFDdkI7QUFFRSxZQUFBLFNBQVMsa0JBQWtCLFVBQVU7QUFDdkMsY0FBSSxJQUFJLGFBQWEsUUFBUSxLQUFLLENBQUMsSUFBSSxVQUFVO0FBQy9DLHNCQUFJLG9CQUFKLG1CQUFxQjtBQUFBLHFCQUNaLFFBQVEsS0FBSyxjQUFjO0FBQ2hDLGdCQUFBLGdCQUFnQixVQUFVLElBQUk7QUFBQSxVQUFBO0FBQUEsUUFDcEM7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLElBR00seUJBQXlCLFNBQThCO0FBQzdELGlCQUFXLFNBQVMsU0FBUztBQUMzQixjQUFNLFlBQ0osTUFBTSxPQUFPLGtCQUNiLGlCQUFnQjtBQUVsQixtQkFBVyxPQUFPLFdBQVc7QUFDdkIsY0FBQSxnQkFDRixvQkFDQSxRQUFRLFVBQVUsQ0FBQyxLQUFLLElBQUksZUFBZSxVQUFVLENBQUMsRUFBRSxVQUFVO0FBRXBFLGVBQUssTUFBTSxZQUFZLHlCQUF5QixHQUFHLEtBQUssaUJBQWlCLFdBQVcsSUFBSTtBQUFBLFFBQUE7QUFBQSxNQUMxRjtBQUFBLElBQ0Y7QUFBQSxJQUdNLDJCQUEyQixTQUE4QjtBQUMzRCxVQUFBLENBQUMsS0FBSyxvQkFBb0I7QUFDNUI7QUFBQSxNQUFBO0FBRUYsaUJBQVcsU0FBUyxTQUFTO0FBQzNCLGNBQU0sZ0JBQWdCLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTTtBQUV6RCxhQUFLLG1CQUFtQixNQUFNLFNBQVMsR0FBRyxhQUFhO0FBQUEsTUFBQTtBQUFBLElBQ3pEO0FBQUEsSUFHTSxXQUFXLFVBQWlDOztBQUNsRCxlQUFTLGtCQUFrQjtBQUFBLFFBQ3pCLFVBQVUsTUFBVzs7QUFDVixtQkFBQSxnQkFBZ0IsVUFBVSxJQUFJO0FBQ3ZDLG1CQUFTLFNBQVM7QUFDbEIsbUJBQVMsV0FBVztBQUNYLG1CQUFBLGFBQWEsaUJBQWlCLE1BQU07QUFDcEMsV0FBQUEsTUFBQSxTQUFBLFFBQUEsZ0JBQUFBLElBQUssZ0JBQWdCLFVBQVU7QUFBQSxRQUMxQztBQUFBLFFBQ0EsWUFBWSxNQUFXOztBQUNyQixtQkFBUyxnQkFBZ0IsUUFBUTtBQUNqQyxtQkFBUyxTQUFTO0FBQ2xCLG1CQUFTLFdBQVc7QUFDWCxtQkFBQSxhQUFhLGlCQUFpQixPQUFPO0FBQ3JDLFdBQUFBLE1BQUEsU0FBQSxRQUFBLGdCQUFBQSxJQUFLLGdCQUFnQjtBQUFBLFFBQ2hDO0FBQUEsUUFDQSxTQUFTLE1BQVc7O0FBQ2xCLGNBQUksU0FBUyxVQUFVO0FBQ3JCO0FBQUEsVUFBQTtBQUVGLGNBQUksQ0FBQyxTQUFTLGFBQWEsVUFBVSxHQUFHO0FBQzdCLHFCQUFBLGdCQUFnQixZQUFZLElBQUk7QUFBQSxVQUFBO0FBRTNDLG1CQUFTLFdBQVc7QUFDcEIsbUJBQVMsV0FBVztBQUNYLG1CQUFBLGFBQWEsaUJBQWlCLE9BQU87QUFDckMsV0FBQUEsTUFBQSxTQUFBLFFBQUEsZ0JBQUFBLElBQUssZ0JBQWdCO0FBQzlCLGNBQUksU0FBUyxRQUFRO0FBQ25CLHFCQUFTLGdCQUFnQixRQUFRO0FBQ2pDLHFCQUFTLFNBQVM7QUFDbEIsNkJBQUssYUFBWSxFQUFHLENBQUMsTUFBckIsbUJBQXdCLG9CQUF4QixtQkFBeUM7QUFBQSxVQUFNO0FBQUEsUUFFbkQ7QUFBQSxRQUNBLFFBQVEsTUFBVztBQUNqQixjQUFJLFNBQVMsVUFBVTtBQUNyQixxQkFBUyxnQkFBZ0IsVUFBVTtBQUNuQyxxQkFBUyxXQUFXO0FBQUEsVUFBQTtBQUFBLFFBRXhCO0FBQUEsUUFDQSxRQUFRLE1BQVc7O0FBQ2pCLGNBQUksYUFBYSxLQUFLLGdCQUFnQixDQUFDLFNBQVMsVUFBVTtBQUN4RCxrQkFBTSxVQUFVLEtBQUs7QUFFckIsZ0JBQUksU0FBUztBQUNYLGVBQUFBLE1BQUEsUUFBUSxvQkFBUixnQkFBQUEsSUFBeUI7QUFDcEIsbUJBQUEsMEJBQTBCLFVBQVUsUUFBUSxHQUFJO0FBQUEsWUFBQTtBQUd2RCwyQkFBUyxvQkFBVCxtQkFBMEI7QUFDMUIsaUJBQUssZUFBZTtBQUVmLGlCQUFBLDBCQUEwQixRQUFRLFNBQVMsR0FBSTtBQUNwRCxrQkFBTSxPQUFPLEtBQUs7QUFDbEIsaUJBQUssb0JBQW9CLEtBQUs7QUFBQSxjQUM1QixhQUFhLEtBQUssVUFBVSxDQUFDLE1BQU0sTUFBTSxRQUFRO0FBQUEsY0FDakQsZ0JBQWdCO0FBQUEsY0FDaEIsV0FBVyxTQUFTO0FBQUEsY0FDcEIsZUFBZSxLQUFLLFVBQVUsQ0FBQyxNQUFNLE1BQU0sT0FBTztBQUFBLGNBQ2xELGtCQUFrQjtBQUFBLGNBQ2xCLGFBQWEsbUNBQVM7QUFBQSxZQUFBLENBQ3ZCO0FBQUEsVUFBQSxXQUMrQixTQUFTLFVBQVU7QUFDbkQsb0JBQVEsS0FBSyxvQ0FBb0M7QUFBQSxVQUFBO0FBQUEsUUFDbkQ7QUFBQTtBQUlBLFlBQUFBLE1BQUEsU0FBUyx1QkFBVCxnQkFBQUEsSUFBNkIsZUFBYyxXQUFXO0FBQ3hELGlCQUFTLE1BQU0sU0FBUztBQUNmLGlCQUFBLElBQUksS0FBSyxLQUFLLFVBQVM7QUFDNUIsWUFBQSxTQUFTLGVBQWUsZUFBZTtBQUN6QyxtQkFBUyxJQUFJLFdBQVc7QUFDeEIsbUJBQVMsSUFBSTs7TUFDZixPQUM4QjtBQUNyQixpQkFBQSxtQkFBbUIsWUFBWSxnQ0FBZ0M7QUFDeEUsaUJBQVMsTUFBTSxTQUFTO0FBQ3hCLGdCQUFRLEtBQ04scUVBQXFFLFNBQVMsU0FBUyxHQUFHO0FBQUEsTUFBQTtBQUc5RixlQUFTLFdBQVc7QUFDWCxlQUFBLFdBQVcsU0FBUyxhQUFhLFVBQVU7QUFDcEQsZUFBUyxTQUFTLFNBQVMsYUFBYSxRQUFRLEtBQUssQ0FBQyxTQUFTO0FBQ3RELGVBQUEsYUFBYSxRQUFRLEtBQUs7QUFDbkMsZUFBUyxhQUFhLGlCQUFpQixPQUFPLFNBQVMsTUFBTSxDQUFDO0FBQ3JELGVBQUEsaUJBQWlCLFNBQVMsTUFBSzs7QUFDdEMsU0FBQUEsTUFBQSxTQUFTLG9CQUFULGdCQUFBQSxJQUEwQjtBQUFBLE9BQzNCO0FBQ0QsVUFBSSxTQUFTLEtBQUs7QUFDaEIsaUJBQVMsYUFBYSxpQkFBaUIsU0FBUyxJQUFJLEVBQUU7QUFDN0MsaUJBQUEsSUFBSSxhQUFhLFFBQVEsVUFBVTtBQUM1QyxpQkFBUyxJQUFJLGdCQUFnQixVQUFVLFNBQVMsTUFBTTtBQUFBLE1BQUE7QUFHbkQsV0FBQSxzQkFBc0IsUUFBUSxRQUFRO0FBQzNDLGVBQVMsT0FBTztBQUFBLElBQUE7QUFBQSxJQUdWLGVBQWUsS0FBa0I7O0FBQ2pDLFlBQUEsY0FBeUMsS0FBSztBQUVwRCxVQUNFLENBQUM7QUFBQSxNQUVDLElBQUksV0FBMkIsUUFBUyxJQUFJLE9BQXVCLGtCQUFrQixNQUN2RjtBQUNBO0FBQUEsTUFBQTtBQUdFLFVBQUEsa0JBQWtCLEdBQUcsR0FBRztBQUMxQixjQUFNLFVBQWtCLFlBQVksVUFBVSxDQUFDLE1BQStCLEVBQUUsTUFBTTtBQUN0RixjQUFNLFlBQW9CLG9CQUFvQixLQUFLLFNBQVMsWUFBWSxNQUFNO0FBQ2xFLGVBQUFBLE1BQUEsWUFBQSxTQUFTLE1BQVQsZ0JBQUFBLElBQVksb0JBQVosbUJBQTZCO0FBQzdCLDBCQUFBLFNBQVMsTUFBVCxtQkFBWTtBQUN4QixZQUFJLGVBQWM7QUFBQSxNQUFBO0FBQUEsSUFDcEI7QUFBQSxJQUdpQixTQUFNO0FBQ2hCLGFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxVQUlELElBQUksQ0FBQyxPQUFrQixLQUFLLG1CQUFtQixFQUFrQixDQUFDO0FBQUE7QUFBQSwyQ0FFakMsS0FBSyxpQkFBaUI7QUFBQTtBQUFBO0FBQUE7QUFBQSw0QkFJckMsU0FBUyxLQUFLLHNCQUFzQixHQUFHLENBQUM7QUFBQTtBQUFBO0FBQUEsSUFBQTtBQUFBLEtBalNsRTs7QUFoQkMsMkJBQUEsQ0FBQSxVQUFVO0FBY1YsdUNBQUEsQ0FBQSxVQUFXLEdBQ1gsU0FBUyxFQUFFLFdBQVcsMEJBQTBCLE1BQU0sUUFBUSxDQUFDO0FBZGhFLGlCQUFBLElBQUEsTUFBQSxzQkFBQSxFQUFBLE1BQUEsVUFBQSxNQUFBLFFBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsVUFBQSxLQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFXLE9BR1Y7QUFBQSxTQUFBLFVBQUEsYUFBQSxNQUFBLDBCQUFBO0FBWWUsaUJBQUEsSUFBQSxNQUFBLGtDQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsd0JBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsMEJBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFBLHNCQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLHVCQUFpQztBQUFBLFNBQUEsVUFBQSxhQUFBLG9DQUFBLHVDQUFBO0FBL0NuRCxpQkFvVkMsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQW5Wd0IsR0FBTSxTQUFtQixPQUN6QixHQUFBLFNBQVM7QUFBQSxJQUM5QixXQUFXO0FBQUEsRUFDSCxHQUpOLGtCQUFrQixZQUFBLHVCQUFBLEdBQUM7OzsifQ==
|
|
391
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWItZ3JvdXAvdGFiLWdyb3VwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE11dGF0aW9uQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvbXV0YXRpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7IGdldE5leHRFbGVtZW50SW5kZXgsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIHRocm90dGxlIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFiTGFiZWxFbGVtZW50IH0gZnJvbSAnLi4vdGFiLWxhYmVsLmpzJztcbmltcG9ydCB7IFNiYlRhYkVsZW1lbnQgfSBmcm9tICcuLi90YWIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWItZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IHR5cGUgU2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscyA9IHtcbiAgYWN0aXZlSW5kZXg6IG51bWJlcjtcbiAgYWN0aXZlVGFiTGFiZWw6IFNiYlRhYkxhYmVsRWxlbWVudDtcbiAgYWN0aXZlVGFiOiBTYmJUYWJFbGVtZW50O1xuICBwcmV2aW91c0luZGV4OiBudW1iZXI7XG4gIHByZXZpb3VzVGFiTGFiZWw6IFNiYlRhYkxhYmVsRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgcHJldmlvdXNUYWI6IFNiYlRhYkVsZW1lbnQgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZVNiYlRhYkdyb3VwQWN0aW9ucyB7XG4gIGFjdGl2YXRlKCk6IHZvaWQ7XG4gIGRlYWN0aXZhdGUoKTogdm9pZDtcbiAgZW5hYmxlKCk6IHZvaWQ7XG4gIGRpc2FibGUoKTogdm9pZDtcbiAgc2VsZWN0KCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIgZXh0ZW5kcyBTYmJUYWJMYWJlbEVsZW1lbnQge1xuICBhY3RpdmU6IGJvb2xlYW47XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICB0YWI/OiBTYmJUYWJFbGVtZW50O1xuICBpbmRleD86IG51bWJlcjtcbiAgdGFiR3JvdXBBY3Rpb25zPzogSW50ZXJmYWNlU2JiVGFiR3JvdXBBY3Rpb25zO1xuICBzaXplOiAncycgfCAnbCcgfCAneGwnO1xufVxuXG5jb25zdCB0YWJPYnNlcnZlckNvbmZpZzogTXV0YXRpb25PYnNlcnZlckluaXQgPSB7XG4gIGF0dHJpYnV0ZUZpbHRlcjogWydhY3RpdmUnLCAnZGlzYWJsZWQnXSxcbn07XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIG9uZSBvciBtb3JlIHRhYnMsIGVhY2ggb25lIHdpdGggYSBsYWJlbCBhbmQgYSBjb250ZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItdGFiLWdyb3VwYCB2aWFcbiAqIGBzYmItdGFiLWxhYmVsYCBhbmQgYHNiYi10YWJgIGluc3RhbmNlcy5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8U2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscz59IGRpZENoYW5nZSAtIEVtaXRzIGFuIGV2ZW50IG9uIHNlbGVjdGVkIHRhYiBjaGFuZ2UuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10YWItZ3JvdXAnKVxuY2xhc3MgU2JiVGFiR3JvdXBFbGVtZW50IGV4dGVuZHMgU2JiSHlkcmF0aW9uTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZGlkQ2hhbmdlOiAnZGlkQ2hhbmdlJyxcbiAgfSBhcyBjb25zdDtcblxuICBwcml2YXRlIF90YWJzOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYltdID0gW107XG4gIHByaXZhdGUgX3NlbGVjdGVkVGFiPzogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWI7XG4gIHByaXZhdGUgX3RhYkdyb3VwRWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF90YWJDb250ZW50RWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF90YWJBdHRyaWJ1dGVPYnNlcnZlciA9IG5ldyBNdXRhdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBjb25maWc6IHRhYk9ic2VydmVyQ29uZmlnLFxuICAgIGNhbGxiYWNrOiAobXV0YXRpb25zTGlzdCkgPT4gdGhpcy5fb25UYWJBdHRyaWJ1dGVzQ2hhbmdlKG11dGF0aW9uc0xpc3QpLFxuICB9KTtcbiAgcHJpdmF0ZSBfdGFiR3JvdXBSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6IChlbnRyaWVzKSA9PiB0aGlzLl9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZShlbnRyaWVzKSxcbiAgfSk7XG4gIHByaXZhdGUgX3RhYkNvbnRlbnRSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6IChlbnRyaWVzKSA9PiB0aGlzLl9vblRhYkNvbnRlbnRFbGVtZW50UmVzaXplKGVudHJpZXMpLFxuICB9KTtcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcywgbCBvciB4bC5cbiAgICogQGRlZmF1bHQgJ2wnIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCBzaXplKHZhbHVlOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYlsnc2l6ZSddKSB7XG4gICAgdGhpcy5fc2l6ZSA9IHZhbHVlO1xuICAgIHRoaXMuX3VwZGF0ZVNpemUoKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHNpemUoKTogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbJ3NpemUnXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cbiAgcHJpdmF0ZSBfc2l6ZTogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbJ3NpemUnXSA9IGlzTGVhbigpID8gJ3MnIDogJ2wnO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpbml0aWFsIHRhYi4gSWYgaXQgbWF0Y2hlcyBhIGRpc2FibGVkIHRhYiBvciBleGNlZWRzIHRoZSBsZW5ndGggb2ZcbiAgICogdGhlIHRhYiBncm91cCwgdGhlIGZpcnN0IGVuYWJsZWQgdGFiIHdpbGwgYmUgc2VsZWN0ZWQuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaW5pdGlhbC1zZWxlY3RlZC1pbmRleCcsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaW5pdGlhbFNlbGVjdGVkSW5kZXg6IG51bWJlciA9IDA7XG5cbiAgLyoqIEVtaXRzIGFuIGV2ZW50IG9uIHNlbGVjdGVkIHRhYiBjaGFuZ2UuICovXG4gIHByaXZhdGUgX3NlbGVjdGVkVGFiQ2hhbmdlZDogRXZlbnRFbWl0dGVyPFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHM+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYlRhYkdyb3VwRWxlbWVudC5ldmVudHMuZGlkQ2hhbmdlLFxuICApO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fdGFicyA9IHRoaXMuX2dldFRhYnMoKTtcbiAgICB0aGlzLl90YWJzLmZvckVhY2goKHRhYikgPT4gdGhpcy5fY29uZmlndXJlKHRhYikpO1xuICAgIHRoaXMuX2luaXRTZWxlY3Rpb24oKTtcbiAgICB0aGlzLl90YWJHcm91cFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fdGFiR3JvdXBFbGVtZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyBhIHRhYiBieSBpbmRleC5cbiAgICogQHBhcmFtIHRhYkluZGV4IFRoZSBpbmRleCBvZiB0aGUgdGFiIHlvdSB3YW50IHRvIGRpc2FibGUuXG4gICAqL1xuICBwdWJsaWMgZGlzYWJsZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFic1t0YWJJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uZGlzYWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBlbmFibGUuXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlVGFiKHRhYkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl90YWJzW3RhYkluZGV4XT8udGFiR3JvdXBBY3Rpb25zPy5lbmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBhY3RpdmF0ZS5cbiAgICovXG4gIHB1YmxpYyBhY3RpdmF0ZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFic1t0YWJJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRUYWJzKCk6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4gPz8gW10pLmZpbHRlcigoY2hpbGQpID0+XG4gICAgICAvXnNiYi10YWItbGFiZWwkL3UudGVzdChjaGlsZC5sb2NhbE5hbWUpLFxuICAgICkgYXMgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXTtcbiAgfVxuXG4gIHByaXZhdGUgX2VuYWJsZWRUYWJzKCk6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10ge1xuICAgIHJldHVybiB0aGlzLl90YWJzLmZpbHRlcigodCkgPT4gIXQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVNpemUoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCB0YWIgb2YgdGhpcy5fdGFicykge1xuICAgICAgdGFiLnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgdGhpcy5zaXplKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkNvbnRlbnRTbG90Q2hhbmdlID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX3RhYkNvbnRlbnRFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCdkaXYudGFiLWNvbnRlbnQnKSE7XG4gICAgY29uc3QgbG9hZGVkVGFicyA9IHRoaXMuX2dldFRhYnMoKS5maWx0ZXIoKHRhYikgPT4gIXRoaXMuX3RhYnMuaW5jbHVkZXModGFiKSk7XG5cbiAgICAvLyBpZiBhIG5ldyB0YWIvY29udGVudCBpcyBhZGRlZCB0byB0aGUgdGFiIGdyb3VwXG4gICAgaWYgKGxvYWRlZFRhYnMubGVuZ3RoKSB7XG4gICAgICBsb2FkZWRUYWJzLmZvckVhY2goKHRhYikgPT4gdGhpcy5fY29uZmlndXJlKHRhYikpO1xuICAgICAgdGhpcy5fdGFicyA9IHRoaXMuX3RhYnMuY29uY2F0KGxvYWRlZFRhYnMpO1xuXG4gICAgICAvLyBJZiB0aGVyZSBpcyBhbiBhY3RpdmUgdGFiIGluIHRoZSBuZXcgYmF0Y2gsIGl0IGJlY29tZXMgdGhlIG5ldyBzZWxlY3RlZFxuICAgICAgbG9hZGVkVGFicy5maW5kKCh0YWIpID0+IHRhYi5hY3RpdmUpPy50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9vblRhYnNTbG90Q2hhbmdlID0gKCk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IHRhYnMgPSB0aGlzLl9nZXRUYWJzKCk7XG5cbiAgICAvLyBpZiBhIHRhYiBpcyByZW1vdmVkIGZyb20gdGhlIHRhYiBncm91cFxuICAgIGlmICh0YWJzLmxlbmd0aCA8IHRoaXMuX3RhYnMubGVuZ3RoKSB7XG4gICAgICBjb25zdCByZW1vdmVkVGFicyA9IHRoaXMuX3RhYnMuZmlsdGVyKCh0YWIpID0+ICF0YWJzLmluY2x1ZGVzKHRhYikpO1xuXG4gICAgICByZW1vdmVkVGFicy5mb3JFYWNoKChyZW1vdmVkVGFiKSA9PiB7XG4gICAgICAgIHJlbW92ZWRUYWIudGFiPy5yZW1vdmUoKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fdGFicyA9IHRhYnM7XG4gICAgfVxuICAgIHRoaXMuX3RhYnMuZm9yRWFjaCgodGFiOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYikgPT4gdGFiLnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgdGhpcy5zaXplKSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfYXNzaWduSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHNiYi10YWItcGFuZWwtJHsrK25leHRJZH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4ID49IDAgJiZcbiAgICAgIHRoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXggPCB0aGlzLl90YWJzLmxlbmd0aCAmJlxuICAgICAgIXRoaXMuX3RhYnNbdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleF0uZGlzYWJsZWRcbiAgICApIHtcbiAgICAgIHRoaXMuX3RhYnNbdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleF0udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZW5hYmxlZFRhYnMoKVswXT8udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vblRhYkF0dHJpYnV0ZXNDaGFuZ2UobXV0YXRpb25zTGlzdDogTXV0YXRpb25SZWNvcmRbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkge1xuICAgICAgaWYgKG11dGF0aW9uLnR5cGUgIT09ICdhdHRyaWJ1dGVzJykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCB0YWIgPSBtdXRhdGlvbi50YXJnZXQgYXMgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWI7XG5cbiAgICAgIGlmIChtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSAnZGlzYWJsZWQnKSB7XG4gICAgICAgIGlmICh0YWIuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpICYmIHRhYiAhPT0gdGhpcy5fc2VsZWN0ZWRUYWIpIHtcbiAgICAgICAgICB0YWIudGFiR3JvdXBBY3Rpb25zPy5kaXNhYmxlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGFiLmRpc2FibGVkKSB7XG4gICAgICAgICAgdGFiLnRhYkdyb3VwQWN0aW9ucz8uZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSAnYWN0aXZlJykge1xuICAgICAgICBpZiAodGFiLmhhc0F0dHJpYnV0ZSgnYWN0aXZlJykgJiYgIXRhYi5kaXNhYmxlZCkge1xuICAgICAgICAgIHRhYi50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRhYiA9PT0gdGhpcy5fc2VsZWN0ZWRUYWIpIHtcbiAgICAgICAgICB0YWIudG9nZ2xlQXR0cmlidXRlKCdhY3RpdmUnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uVGFiR3JvdXBFbGVtZW50UmVzaXplKGVudHJpZXM6IFJlc2l6ZU9ic2VydmVyRW50cnlbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgY29uc3QgdGFiVGl0bGVzID0gKFxuICAgICAgICBlbnRyeS50YXJnZXQuZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTFNsb3RFbGVtZW50XG4gICAgICApLmFzc2lnbmVkRWxlbWVudHMoKSBhcyBTYmJUYWJMYWJlbEVsZW1lbnRbXTtcblxuICAgICAgZm9yIChjb25zdCB0YWIgb2YgdGFiVGl0bGVzKSB7XG4gICAgICAgIHRhYi50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAgICAgJ2RhdGEtaGFzLWRpdmlkZXInLFxuICAgICAgICAgIHRhYiA9PT0gdGFiVGl0bGVzWzBdIHx8IHRhYi5vZmZzZXRMZWZ0ID09PSB0YWJUaXRsZXNbMF0ub2Zmc2V0TGVmdCxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItdGFiLWdyb3VwLXdpZHRoJywgYCR7dGhpcy5fdGFiR3JvdXBFbGVtZW50LmNsaWVudFdpZHRofXB4YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25UYWJDb250ZW50RWxlbWVudFJlc2l6ZShlbnRyaWVzOiBSZXNpemVPYnNlcnZlckVudHJ5W10pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3RhYkNvbnRlbnRFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgY29uc3QgY29udGVudEhlaWdodCA9IE1hdGguZmxvb3IoZW50cnkuY29udGVudFJlY3QuaGVpZ2h0KTtcblxuICAgICAgdGhpcy5fdGFiQ29udGVudEVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7Y29udGVudEhlaWdodH1weGA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlKHRhYkxhYmVsOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYik6IHZvaWQge1xuICAgIHRhYkxhYmVsLnRhYkdyb3VwQWN0aW9ucyA9IHtcbiAgICAgIGFjdGl2YXRlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRhYkxhYmVsLnRvZ2dsZUF0dHJpYnV0ZSgnYWN0aXZlJywgdHJ1ZSk7XG4gICAgICAgIHRhYkxhYmVsLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHRhYkxhYmVsLnRhYkluZGV4ID0gMDtcbiAgICAgICAgdGFiTGFiZWwuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgJ3RydWUnKTtcbiAgICAgICAgdGFiTGFiZWwudGFiPy50b2dnbGVBdHRyaWJ1dGUoJ2FjdGl2ZScsIHRydWUpO1xuICAgICAgfSxcbiAgICAgIGRlYWN0aXZhdGU6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGFiTGFiZWwucmVtb3ZlQXR0cmlidXRlKCdhY3RpdmUnKTtcbiAgICAgICAgdGFiTGFiZWwuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRhYkxhYmVsLnRhYkluZGV4ID0gLTE7XG4gICAgICAgIHRhYkxhYmVsLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICdmYWxzZScpO1xuICAgICAgICB0YWJMYWJlbC50YWI/LnJlbW92ZUF0dHJpYnV0ZSgnYWN0aXZlJyk7XG4gICAgICB9LFxuICAgICAgZGlzYWJsZTogKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGFiTGFiZWwuZGlzYWJsZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0YWJMYWJlbC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpIHtcbiAgICAgICAgICB0YWJMYWJlbC50b2dnbGVBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGFiTGFiZWwuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICB0YWJMYWJlbC50YWJJbmRleCA9IC0xO1xuICAgICAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCAnZmFsc2UnKTtcbiAgICAgICAgdGFiTGFiZWwudGFiPy5yZW1vdmVBdHRyaWJ1dGUoJ2FjdGl2ZScpO1xuICAgICAgICBpZiAodGFiTGFiZWwuYWN0aXZlKSB7XG4gICAgICAgICAgdGFiTGFiZWwucmVtb3ZlQXR0cmlidXRlKCdhY3RpdmUnKTtcbiAgICAgICAgICB0YWJMYWJlbC5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLl9lbmFibGVkVGFicygpWzBdPy50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZW5hYmxlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0YWJMYWJlbC5kaXNhYmxlZCkge1xuICAgICAgICAgIHRhYkxhYmVsLnJlbW92ZUF0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICAgICAgICB0YWJMYWJlbC5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgc2VsZWN0OiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0YWJMYWJlbCAhPT0gdGhpcy5fc2VsZWN0ZWRUYWIgJiYgIXRhYkxhYmVsLmRpc2FibGVkKSB7XG4gICAgICAgICAgY29uc3QgcHJldlRhYiA9IHRoaXMuX3NlbGVjdGVkVGFiO1xuXG4gICAgICAgICAgaWYgKHByZXZUYWIpIHtcbiAgICAgICAgICAgIHByZXZUYWIudGFiR3JvdXBBY3Rpb25zPy5kZWFjdGl2YXRlKCk7XG4gICAgICAgICAgICB0aGlzLl90YWJDb250ZW50UmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHByZXZUYWIudGFiISk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGFiTGFiZWwudGFiR3JvdXBBY3Rpb25zPy5hY3RpdmF0ZSgpO1xuICAgICAgICAgIHRoaXMuX3NlbGVjdGVkVGFiID0gdGFiTGFiZWw7XG5cbiAgICAgICAgICB0aGlzLl90YWJDb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0YWJMYWJlbC50YWIhKTtcbiAgICAgICAgICBjb25zdCB0YWJzID0gdGhpcy5fdGFicztcbiAgICAgICAgICB0aGlzLl9zZWxlY3RlZFRhYkNoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgICBhY3RpdmVJbmRleDogdGFicy5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRhYkxhYmVsKSxcbiAgICAgICAgICAgIGFjdGl2ZVRhYkxhYmVsOiB0YWJMYWJlbCxcbiAgICAgICAgICAgIGFjdGl2ZVRhYjogdGFiTGFiZWwudGFiIGFzIFNiYlRhYkVsZW1lbnQsXG4gICAgICAgICAgICBwcmV2aW91c0luZGV4OiB0YWJzLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gcHJldlRhYiksXG4gICAgICAgICAgICBwcmV2aW91c1RhYkxhYmVsOiBwcmV2VGFiLFxuICAgICAgICAgICAgcHJldmlvdXNUYWI6IHByZXZUYWI/LnRhYiBhcyBTYmJUYWJFbGVtZW50LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgdGFiTGFiZWwuZGlzYWJsZWQpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ1lvdSBjYW5ub3QgYWN0aXZhdGUgYSBkaXNhYmxlZCB0YWInKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKHRhYkxhYmVsLm5leHRFbGVtZW50U2libGluZz8ubG9jYWxOYW1lID09PSAnc2JiLXRhYicpIHtcbiAgICAgIHRhYkxhYmVsLnRhYiA9IHRhYkxhYmVsLm5leHRFbGVtZW50U2libGluZyBhcyBTYmJUYWJFbGVtZW50O1xuICAgICAgdGFiTGFiZWwudGFiLmlkID0gdGhpcy5fYXNzaWduSWQoKTtcbiAgICAgIGlmICh0YWJMYWJlbC50YWIgaW5zdGFuY2VvZiBTYmJUYWJFbGVtZW50KSB7XG4gICAgICAgIHRhYkxhYmVsLnRhYi50YWJJbmRleCA9IDA7XG4gICAgICAgIHRhYkxhYmVsLnRhYi5jb25maWd1cmUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgIHRhYkxhYmVsLmluc2VydEFkamFjZW50SFRNTCgnYWZ0ZXJlbmQnLCAnPHNiYi10YWI+Tm8gY29udGVudC48L3NiYi10YWI+Jyk7XG4gICAgICB0YWJMYWJlbC50YWIgPSB0YWJMYWJlbC5uZXh0RWxlbWVudFNpYmxpbmcgYXMgU2JiVGFiRWxlbWVudDtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYE1pc3NpbmcgY29udGVudDogeW91IHNob3VsZCBwcm92aWRlIGEgcmVsYXRlZCBjb250ZW50IGZvciB0aGUgdGFiICR7dGFiTGFiZWwub3V0ZXJIVE1MfS5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGFiTGFiZWwudGFiSW5kZXggPSAtMTtcbiAgICB0YWJMYWJlbC5kaXNhYmxlZCA9IHRhYkxhYmVsLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICB0YWJMYWJlbC5hY3RpdmUgPSB0YWJMYWJlbC5oYXNBdHRyaWJ1dGUoJ2FjdGl2ZScpICYmICF0YWJMYWJlbC5kaXNhYmxlZDtcbiAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAndGFiJyk7XG4gICAgdGFiTGFiZWwuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgU3RyaW5nKHRhYkxhYmVsLmFjdGl2ZSkpO1xuICAgIHRhYkxhYmVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgdGFiTGFiZWwudGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICB9KTtcbiAgICBpZiAodGFiTGFiZWwudGFiKSB7XG4gICAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtY29udHJvbHMnLCB0YWJMYWJlbC50YWIuaWQpO1xuICAgICAgdGFiTGFiZWwudGFiLnNldEF0dHJpYnV0ZSgncm9sZScsICd0YWJwYW5lbCcpO1xuICAgICAgdGFiTGFiZWwudGFiLnRvZ2dsZUF0dHJpYnV0ZSgnYWN0aXZlJywgdGFiTGFiZWwuYWN0aXZlKTtcbiAgICB9XG5cbiAgICB0aGlzLl90YWJBdHRyaWJ1dGVPYnNlcnZlci5vYnNlcnZlKHRhYkxhYmVsKTtcbiAgICB0YWJMYWJlbC5zbG90ID0gJ3RhYi1iYXInO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkVGFiczogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXSA9IHRoaXMuX2VuYWJsZWRUYWJzKCk7XG5cbiAgICBpZiAoXG4gICAgICAhZW5hYmxlZFRhYnMgfHxcbiAgICAgIC8vIGRvbid0IHRyYXAgbmVzdGVkIGhhbmRsaW5nXG4gICAgICAoKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpICE9PSB0aGlzICYmIChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50ICE9PSB0aGlzKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc0Fycm93S2V5UHJlc3NlZChldnQpKSB7XG4gICAgICBjb25zdCBjdXJyZW50OiBudW1iZXIgPSBlbmFibGVkVGFicy5maW5kSW5kZXgoKHQ6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiKSA9PiB0LmFjdGl2ZSk7XG4gICAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjdXJyZW50LCBlbmFibGVkVGFicy5sZW5ndGgpO1xuICAgICAgZW5hYmxlZFRhYnNbbmV4dEluZGV4XT8udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICAgIGVuYWJsZWRUYWJzW25leHRJbmRleF0/LmZvY3VzKCk7XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0YWItZ3JvdXBcIlxuICAgICAgICByb2xlPVwidGFibGlzdFwiXG4gICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl90YWJHcm91cEVsZW1lbnQgPSBlbCBhcyBIVE1MRWxlbWVudCkpfVxuICAgICAgPlxuICAgICAgICA8c2xvdCBuYW1lPVwidGFiLWJhclwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25UYWJzU2xvdENoYW5nZX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudFwiPlxuICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3Rocm90dGxlKHRoaXMuX29uQ29udGVudFNsb3RDaGFuZ2UsIDE1MCl9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWItZ3JvdXAnOiBTYmJUYWJHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJUYWJHcm91cEVsZW1lbnQiLCJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMkNBLE1BQU0sb0JBQTBDO0FBQUEsRUFDOUMsaUJBQWlCLENBQUMsVUFBVSxVQUFVOztBQUd4QyxJQUFJLFNBQVM7SUFXUCxzQkFBa0IsTUFBQTs7MEJBRHZCLGNBQWMsZUFBZSxDQUFDOzs7O29CQUNFLGtCQUFrQixVQUFVOzs7Ozs7QUFBcENBLE1BQUFBLHVCQUFBLG1CQUFRLFlBQTZCO0FBQUEsSUFzRDVELGNBQUE7OztBQVJBO0FBeENRLFdBQUEsU0FOSixrQkFBQSxNQUFBLDBCQUFBLEdBTXVDLENBQUE7QUFJbkMsV0FBQSx3QkFBd0IsSUFBSSxtQkFBbUIsTUFBTTtBQUFBLFFBQzNELFFBQVE7QUFBQSxRQUNSLFFBQVE7QUFBQSxRQUNSLFVBQVUsQ0FBQyxrQkFBa0IsS0FBSyx1QkFBdUIsYUFBYTtBQUFBLE1BQUEsQ0FDdkU7QUFDTyxXQUFBLDBCQUEwQixJQUFJLGlCQUFpQixNQUFNO0FBQUEsUUFDM0QsUUFBUTtBQUFBLFFBQ1IsYUFBYTtBQUFBLFFBQ2IsVUFBVSxDQUFDLFlBQVksS0FBSyx5QkFBeUIsT0FBTztBQUFBLE1BQUEsQ0FDN0Q7QUFDTyxXQUFBLDRCQUE0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
|
|
@@ -36,7 +36,7 @@ export declare class SbbTagElement extends SbbTagElement_base {
|
|
|
36
36
|
private _didChange;
|
|
37
37
|
/** Change event emitter */
|
|
38
38
|
private _change;
|
|
39
|
-
|
|
39
|
+
constructor();
|
|
40
40
|
connectedCallback(): void;
|
|
41
41
|
/** Method triggered on button click. Inverts the checked value and emits events. */
|
|
42
42
|
private _handleClick;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tag/tag/tag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tag/tag/tag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAUnE,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC;;AAEnC;;;;;;;;;GASG;AACH,qBAGM,aAAc,SAAQ,kBAAsE;IAChG,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;MAIlB;IAEX,uCAAuC;IACvC,SAEgB,MAAM,EAAE,MAAM,CAAM;IAEpC,kCAAkC;IAClC,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC;;;OAGG;IACH,SAEgB,IAAI,EAAE,UAAU,CAAwB;IAExD,4CAA4C;IAC5C,OAAO,CAAC,MAAM,CAAmC;IAEjD,0BAA0B;IAC1B,OAAO,CAAC,MAAM,CAGX;IAEH,4FAA4F;IAC5F,OAAO,CAAC,UAAU,CAEf;IAEH,2BAA2B;IAC3B,OAAO,CAAC,OAAO,CAEZ;;IAOa,iBAAiB,IAAI,IAAI;IAKzC,oFAAoF;IACpF,OAAO,CAAC,YAAY;cAgBD,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAazD,cAAc,IAAI,cAAc;CAWpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,SAAS,EAAE,aAAa,CAAC;KAC1B;CACF"}
|
|
@@ -31,7 +31,7 @@ export declare class SbbTagGroupElement extends SbbTagGroupElement_base {
|
|
|
31
31
|
* If set multiple to false, the value is a string (or null).
|
|
32
32
|
* If set multiple to true, the value is an array.
|
|
33
33
|
*/
|
|
34
|
-
set value(value: string | string[] | null);
|
|
34
|
+
set value(value: string | (string | null)[] | null);
|
|
35
35
|
get value(): string | (string | null)[] | null;
|
|
36
36
|
private _value;
|
|
37
37
|
/** The child instances of sbb-tag as an array. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-group.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tag/tag-group/tag-group.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAKb,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;;AAI3D;;;;GAIG;AACH,qBAEM,kBAAmB,SAAQ,uBAEhC;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,mBAA4B,mBAAmB,WAAsB;IAErE;;OAEG;IACH,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD;;;;;OAKG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C;;;OAGG;IACH,SAA6C,IAAI,EAAE,UAAU,CAAwB;IAErF;;;;OAIG;IACH,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"tag-group.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tag/tag-group/tag-group.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAKb,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;;AAI3D;;;;GAIG;AACH,qBAEM,kBAAmB,SAAQ,uBAEhC;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,mBAA4B,mBAAmB,WAAsB;IAErE;;OAEG;IACH,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD;;;;;OAKG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C;;;OAGG;IACH,SAA6C,IAAI,EAAE,UAAU,CAAwB;IAErF;;;;OAIG;IACH,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,EAyBxD;IACD,IAAW,KAAK,IAAI,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAMpD;IACD,OAAO,CAAC,MAAM,CAA2C;IAEzD,kDAAkD;IAClD,IAAW,IAAI,IAAI,aAAa,EAAE,CAEjC;cAEkB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;cA0B3E,MAAM,IAAI,cAAc;CAU5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,kBAAkB,CAAC;KACrC;CACF"}
|