@sbb-esta/lyne-elements 2.5.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete/autocomplete-base-element.d.ts +19 -21
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button.js +7 -7
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +2 -2
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
- package/autocomplete.js +145 -136
- package/chip/chip/chip.d.ts +32 -0
- package/chip/chip/chip.d.ts.map +1 -0
- package/chip/chip-group/chip-group.d.ts +100 -0
- package/chip/chip-group/chip-group.d.ts.map +1 -0
- package/chip/chip-group.d.ts +2 -0
- package/chip/chip-group.d.ts.map +1 -0
- package/chip/chip-group.js +225 -0
- package/chip/chip.d.ts +2 -0
- package/chip/chip.d.ts.map +1 -0
- package/chip/chip.js +85 -0
- package/chip.d.ts +3 -0
- package/chip.d.ts.map +1 -0
- package/chip.js +2 -0
- package/clock/clock.d.ts.map +1 -1
- package/clock.js +1 -1
- package/core/base-elements/button-base-element.d.ts +5 -0
- package/core/base-elements/button-base-element.d.ts.map +1 -1
- package/core/base-elements.js +94 -79
- package/core/controllers/id-observer-controller.d.ts +21 -0
- package/core/controllers/id-observer-controller.d.ts.map +1 -0
- package/core/controllers/media-matchers-controller.d.ts.map +1 -1
- package/core/controllers.d.ts +2 -1
- package/core/controllers.d.ts.map +1 -1
- package/core/controllers.js +135 -80
- package/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/core/datetime.js +8 -3
- package/core/dom/find-referenced-element.d.ts +1 -0
- package/core/dom/find-referenced-element.d.ts.map +1 -1
- package/core/dom/input-element.d.ts +3 -1
- package/core/dom/input-element.d.ts.map +1 -1
- package/core/dom/platform.d.ts +5 -0
- package/core/dom/platform.d.ts.map +1 -1
- package/core/dom.js +10 -9
- package/core/i18n/i18n.d.ts +3 -0
- package/core/i18n/i18n.d.ts.map +1 -1
- package/core/i18n.js +135 -117
- package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
- package/core/mixins.js +71 -63
- package/core/overlay/overlay-trigger-attributes.d.ts +1 -1
- package/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
- package/core/overlay/position.d.ts +1 -1
- package/core/overlay/position.d.ts.map +1 -1
- package/core/styles/core.scss +89 -24
- package/core/styles/image.scss +1 -1
- package/core/styles/mixins/table.scss +63 -26
- package/core/styles/table.scss +16 -0
- package/core/testing/scroll.d.ts +1 -0
- package/core/testing/scroll.d.ts.map +1 -1
- package/core/testing/wait-for-image-ready.d.ts.map +1 -1
- package/core/testing.js +8 -5
- package/core.css +90 -34
- package/custom-elements.json +2568 -740
- package/datepicker/datepicker/datepicker.d.ts +4 -4
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -3
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/datepicker/datepicker-toggle.js +30 -34
- package/datepicker/datepicker.js +103 -105
- package/development/autocomplete/autocomplete-base-element.d.ts +19 -21
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button.js +3 -3
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +2 -2
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-optgroup.js +1 -1
- package/development/autocomplete.js +104 -82
- package/development/chip/chip/chip.d.ts +32 -0
- package/development/chip/chip/chip.d.ts.map +1 -0
- package/development/chip/chip-group/chip-group.d.ts +100 -0
- package/development/chip/chip-group/chip-group.d.ts.map +1 -0
- package/development/chip/chip-group.d.ts +2 -0
- package/development/chip/chip-group.d.ts.map +1 -0
- package/development/chip/chip-group.js +349 -0
- package/development/chip/chip.d.ts +2 -0
- package/development/chip/chip.d.ts.map +1 -0
- package/development/chip/chip.js +212 -0
- package/development/chip.d.ts +3 -0
- package/development/chip.d.ts.map +1 -0
- package/development/chip.js +3 -0
- package/development/clock/clock.d.ts.map +1 -1
- package/development/clock.js +5 -2
- package/development/core/base-elements/button-base-element.d.ts +5 -0
- package/development/core/base-elements/button-base-element.d.ts.map +1 -1
- package/development/core/base-elements.js +38 -10
- package/development/core/controllers/id-observer-controller.d.ts +21 -0
- package/development/core/controllers/id-observer-controller.d.ts.map +1 -0
- package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
- package/development/core/controllers.d.ts +2 -1
- package/development/core/controllers.d.ts.map +1 -1
- package/development/core/controllers.js +116 -44
- package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/development/core/datetime.js +6 -2
- package/development/core/dom/find-referenced-element.d.ts +1 -0
- package/development/core/dom/find-referenced-element.d.ts.map +1 -1
- package/development/core/dom/input-element.d.ts +3 -1
- package/development/core/dom/input-element.d.ts.map +1 -1
- package/development/core/dom/platform.d.ts +5 -0
- package/development/core/dom/platform.d.ts.map +1 -1
- package/development/core/dom.js +3 -1
- package/development/core/i18n/i18n.d.ts +3 -0
- package/development/core/i18n/i18n.d.ts.map +1 -1
- package/development/core/i18n.js +23 -2
- package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
- package/development/core/mixins.js +19 -6
- package/development/core/overlay/overlay-trigger-attributes.d.ts +1 -1
- package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
- package/development/core/overlay/position.d.ts +1 -1
- package/development/core/overlay/position.d.ts.map +1 -1
- package/development/core/overlay.js +1 -1
- package/development/core/testing/scroll.d.ts +1 -0
- package/development/core/testing/scroll.d.ts.map +1 -1
- package/development/core/testing/wait-for-image-ready.d.ts.map +1 -1
- package/development/core/testing.js +6 -2
- package/development/datepicker/datepicker/datepicker.d.ts +4 -4
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -3
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle.js +4 -12
- package/development/datepicker/datepicker.js +46 -43
- package/development/dialog/dialog-title/dialog-title.d.ts +0 -1
- package/development/dialog/dialog-title/dialog-title.d.ts.map +1 -1
- package/development/dialog/dialog-title.js +2 -5
- package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +0 -2
- package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel.js +2 -7
- package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
- package/development/flip-card/flip-card-details.js +3 -3
- package/development/form-field/form-field/form-field.d.ts.map +1 -1
- package/development/form-field/form-field.js +13 -146
- package/development/header/header/header.d.ts +6 -7
- package/development/header/header/header.d.ts.map +1 -1
- package/development/header/header.js +45 -34
- package/development/menu/menu/menu.d.ts +7 -8
- package/development/menu/menu/menu.d.ts.map +1 -1
- package/development/menu/menu.js +42 -41
- package/development/navigation/navigation/navigation.d.ts +7 -8
- package/development/navigation/navigation/navigation.d.ts.map +1 -1
- package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/development/navigation/navigation-marker.js +3 -3
- package/development/navigation/navigation-section/navigation-section.d.ts +8 -9
- package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/development/navigation/navigation-section.js +50 -47
- package/development/navigation/navigation.js +42 -40
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/development/option/optgroup/optgroup.d.ts +2 -2
- package/development/option/optgroup/optgroup.d.ts.map +1 -1
- package/development/option/optgroup.js +3 -3
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option.js +3 -3
- package/development/paginator/paginator.js +12 -1
- package/development/popover/popover/popover.d.ts +8 -7
- package/development/popover/popover/popover.d.ts.map +1 -1
- package/development/popover/popover.js +28 -35
- package/development/radio-button/radio-button-group/radio-button-group.d.ts +0 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +3 -5
- package/development/select/select.d.ts +6 -3
- package/development/select/select.d.ts.map +1 -1
- package/development/select.js +20 -18
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts +0 -2
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/development/selection-expansion-panel.js +2 -7
- package/development/sidebar/sidebar/sidebar.d.ts.map +1 -1
- package/development/sidebar/sidebar.js +3 -3
- package/development/stepper/step/step.d.ts +13 -1
- package/development/stepper/step/step.d.ts.map +1 -1
- package/development/stepper/step-label.js +2 -2
- package/development/stepper/step.js +21 -6
- package/development/stepper/stepper/stepper.d.ts +1 -0
- package/development/stepper/stepper/stepper.d.ts.map +1 -1
- package/development/stepper/stepper.js +5 -1
- package/development/table/table-wrapper.js +2 -1
- package/development/time-input/time-input.d.ts +6 -8
- package/development/time-input/time-input.d.ts.map +1 -1
- package/development/time-input.js +42 -44
- package/dialog/dialog-title/dialog-title.d.ts +0 -1
- package/dialog/dialog-title/dialog-title.d.ts.map +1 -1
- package/dialog/dialog-title.js +18 -21
- package/expansion-panel/expansion-panel/expansion-panel.d.ts +0 -2
- package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/expansion-panel/expansion-panel.js +53 -56
- package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
- package/flip-card/flip-card-details.js +8 -8
- package/form-field/form-field/form-field.d.ts.map +1 -1
- package/form-field/form-field.js +103 -98
- package/header/header/header.d.ts +6 -7
- package/header/header/header.d.ts.map +1 -1
- package/header/header.js +72 -70
- package/index.d.ts +4 -0
- package/index.js +4 -0
- package/menu/menu/menu.d.ts +7 -8
- package/menu/menu/menu.d.ts.map +1 -1
- package/menu/menu.js +73 -73
- package/navigation/navigation/navigation.d.ts +7 -8
- package/navigation/navigation/navigation.d.ts.map +1 -1
- package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/navigation/navigation-marker.js +4 -4
- package/navigation/navigation-section/navigation-section.d.ts +8 -9
- package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/navigation/navigation-section.js +75 -77
- package/navigation/navigation.js +70 -70
- package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/option/optgroup/optgroup.d.ts +2 -2
- package/option/optgroup/optgroup.d.ts.map +1 -1
- package/option/optgroup.js +13 -13
- package/option/option/option-base-element.d.ts.map +1 -1
- package/option/option.js +2 -2
- package/package.json +16 -1
- package/paginator/paginator.js +44 -44
- package/popover/popover/popover.d.ts +8 -7
- package/popover/popover/popover.d.ts.map +1 -1
- package/popover/popover.js +73 -73
- package/radio-button/radio-button-group/radio-button-group.d.ts +0 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +8 -8
- package/select/select.d.ts +6 -3
- package/select/select.d.ts.map +1 -1
- package/select.js +73 -73
- package/selection-expansion-panel/selection-expansion-panel.d.ts +0 -2
- package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/selection-expansion-panel.js +10 -13
- package/sidebar/sidebar/sidebar.d.ts.map +1 -1
- package/sidebar/sidebar.js +2 -2
- package/standard-theme.css +166 -79
- package/stepper/step/step.d.ts +13 -1
- package/stepper/step/step.d.ts.map +1 -1
- package/stepper/step-label.js +1 -1
- package/stepper/step.js +34 -23
- package/stepper/stepper/stepper.d.ts +1 -0
- package/stepper/stepper/stepper.d.ts.map +1 -1
- package/stepper/stepper.js +19 -16
- package/table/table-wrapper.js +4 -4
- package/table.css +75 -44
- package/time-input/time-input.d.ts +6 -8
- package/time-input/time-input.d.ts.map +1 -1
- package/time-input.js +66 -73
|
@@ -14,5 +14,5 @@ export declare function setAriaComboBoxAttributes(trigger: HTMLElement, overlayI
|
|
|
14
14
|
/**
|
|
15
15
|
* Remove aria attributes from trigger elements.
|
|
16
16
|
*/
|
|
17
|
-
export declare function removeAriaComboBoxAttributes(trigger?: HTMLElement): void;
|
|
17
|
+
export declare function removeAriaComboBoxAttributes(trigger?: HTMLElement | null): void;
|
|
18
18
|
//# sourceMappingURL=overlay-trigger-attributes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay-trigger-attributes.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/overlay/overlay-trigger-attributes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,GAAG,QAAQ,EAC5B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,IAAI,CAQN;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAQhG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EACjB,QAAQ,GAAE,SAAS,GAAG,MAAkB,GACvC,IAAI,CAYN;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"overlay-trigger-attributes.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/overlay/overlay-trigger-attributes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,GAAG,QAAQ,EAC5B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,IAAI,CAQN;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAQhG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EACjB,QAAQ,GAAE,SAAS,GAAG,MAAkB,GACvC,IAAI,CAYN;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAY/E"}
|
|
@@ -16,7 +16,7 @@ export declare function getElementRectangle(el: HTMLElement): ElementRectangle;
|
|
|
16
16
|
/**
|
|
17
17
|
* Determines whether an event is fired on a specific element.
|
|
18
18
|
*/
|
|
19
|
-
export declare function isEventOnElement(element: HTMLElement, event: MouseEvent | PointerEvent): boolean;
|
|
19
|
+
export declare function isEventOnElement(element: HTMLElement | null, event: MouseEvent | PointerEvent): boolean;
|
|
20
20
|
/**
|
|
21
21
|
* Determines the position of an element relative to a trigger element by evaluating
|
|
22
22
|
* the optimal position based on the available space.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/overlay/position.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,WAAW,EACX,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CACjG,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,YAAY,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,gBAAgB,CAoCrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/overlay/position.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,WAAW,EACX,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CACjG,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,YAAY,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,gBAAgB,CAoCrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,KAAK,EAAE,UAAU,GAAG,YAAY,GAC/B,OAAO,CAYT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GACA,uBAAuB,CAqGzB"}
|
|
@@ -151,4 +151,4 @@ export {
|
|
|
151
151
|
setAriaOverlayTriggerAttributes,
|
|
152
152
|
setOverlayPosition
|
|
153
153
|
};
|
|
154
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9vdmVybGF5LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9wb3NpdGlvbi50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL292ZXJsYXkvb3ZlcmxheS1vcHRpb24tcGFuZWwudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9vdmVybGF5L292ZXJsYXktdHJpZ2dlci1hdHRyaWJ1dGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdCc7XG5cbi8qKlxuICogVXNlZCB0byBjcmVhdGUgdGhlIFwid3JhcHBpbmdcIiBlZmZlY3QgYXJvdW5kIHRoZSBhbmNob3IgZm9yIG92ZXJsYXlzIChlcy4gYXV0b2NvbXBsZXRlKVxuICogV29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJ292ZXJsYXlHYXBGaXhDb3JuZXJzKCknIGZ1bmN0aW9uIGluICdvdmVybGF5LnRzJ1xuICovXG5leHBvcnQgZnVuY3Rpb24gb3ZlcmxheUdhcEZpeENvcm5lcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICByZXR1cm4gaHRtbGBcbiAgICA8ZGl2IGNsYXNzPVwic2JiLWdhcC1maXgtd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1nYXAtZml4LWNvcm5lclwiIGlkPVwibGVmdFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzYmItZ2FwLWZpeC13cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWdhcC1maXgtY29ybmVyXCIgaWQ9XCJyaWdodFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICBgO1xufVxuIiwiZXhwb3J0IHR5cGUgRWxlbWVudFJlY3RhbmdsZSA9IFBpY2s8XG4gIEhUTUxFbGVtZW50LFxuICAnc2Nyb2xsSGVpZ2h0JyB8ICdjbGllbnRIZWlnaHQnIHwgJ29mZnNldEhlaWdodCcgfCAnc2Nyb2xsV2lkdGgnIHwgJ2NsaWVudFdpZHRoJyB8ICdvZmZzZXRXaWR0aCdcbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiQWxpZ25tZW50IHtcbiAgaG9yaXpvbnRhbDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG4gIHZlcnRpY2FsOiAnYWJvdmUnIHwgJ2JlbG93Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50UG9zaXRpb25JbmZvcyB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIG1heEhlaWdodDogc3RyaW5nO1xuICBhbGlnbm1lbnQ6IFNiYkFsaWdubWVudDtcbn1cblxuLyoqXG4gKiBHZXRzIGhlaWdodCBhbmQgd2lkdGggb2YgYW4gZWxlbWVudCBldmVuIGlmIGl0J3MgaGlkZGVuIChgZGlzcGxheTogbm9uZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFJlY3RhbmdsZShlbDogSFRNTEVsZW1lbnQpOiBFbGVtZW50UmVjdGFuZ2xlIHtcbiAgY29uc3QgZWxlbWVudFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpLFxuICAgIGVsZW1lbnREaXNwbGF5ID0gZWxlbWVudFN0eWxlLmRpc3BsYXksXG4gICAgZWxlbWVudE1heEhlaWdodCA9IHBhcnNlSW50KGVsZW1lbnRTdHlsZS5tYXhIZWlnaHQsIDEwKS50b1N0cmluZygpO1xuXG4gIC8vIElmIGl0IGlzIG5vdCBoaWRkZW4gd2UganVzdCByZXR1cm4gbm9ybWFsIGhlaWdodFxuICBpZiAoZWxlbWVudERpc3BsYXkgIT09ICdub25lJyAmJiBlbGVtZW50TWF4SGVpZ2h0ICE9PSAnMCcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Nyb2xsSGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICBjbGllbnRIZWlnaHQ6IGVsLmNsaWVudEhlaWdodCxcbiAgICAgIG9mZnNldEhlaWdodDogZWwub2Zmc2V0SGVpZ2h0LFxuICAgICAgc2Nyb2xsV2lkdGg6IGVsLnNjcm9sbFdpZHRoLFxuICAgICAgY2xpZW50V2lkdGg6IGVsLmNsaWVudFdpZHRoLFxuICAgICAgb2Zmc2V0V2lkdGg6IGVsLm9mZnNldFdpZHRoLFxuICAgIH07XG4gIH1cblxuICAvLyBUaGUgZWxlbWVudCBpcyBoaWRkZW4gc286XG4gIC8vIG1ha2UgdGhlIGVsIGJsb2NrIGluIG9yZGVyIHRvIG1lYXN1cmUgaXRzIGhlaWdodCBidXQgc3RpbGwgYmUgaGlkZGVuXG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICBjb25zdCBzY3JvbGxIZWlnaHQgPSBlbC5zY3JvbGxIZWlnaHQsXG4gICAgY2xpZW50SGVpZ2h0ID0gZWwuY2xpZW50SGVpZ2h0LFxuICAgIG9mZnNldEhlaWdodCA9IGVsLm9mZnNldEhlaWdodCxcbiAgICBzY3JvbGxXaWR0aCA9IGVsLnNjcm9sbFdpZHRoLFxuICAgIGNsaWVudFdpZHRoID0gZWwuY2xpZW50V2lkdGgsXG4gICAgb2Zmc2V0V2lkdGggPSBlbC5vZmZzZXRXaWR0aDtcblxuICAvLyBSZXZlcnRpbmcgdG8gdGhlIG9yaWdpbmFsIHZhbHVlc1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJyc7XG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJyc7XG4gIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAnJztcblxuICByZXR1cm4geyBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCwgb2Zmc2V0SGVpZ2h0LCBzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGgsIG9mZnNldFdpZHRoIH07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGV2ZW50IGlzIGZpcmVkIG9uIGEgc3BlY2lmaWMgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRXZlbnRPbkVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQsIGV2ZW50OiBNb3VzZUV2ZW50IHwgUG9pbnRlckV2ZW50KTogYm9vbGVhbiB7XG4gIGlmICghZWxlbWVudCB8fCAhZXZlbnQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgcmV0dXJuIChcbiAgICByZWN0LnRvcCA8PSBldmVudC5jbGllbnRZICYmXG4gICAgZXZlbnQuY2xpZW50WSA8PSByZWN0LnRvcCArIHJlY3QuaGVpZ2h0ICYmXG4gICAgcmVjdC5sZWZ0IDw9IGV2ZW50LmNsaWVudFggJiZcbiAgICBldmVudC5jbGllbnRYIDw9IHJlY3QubGVmdCArIHJlY3Qud2lkdGhcbiAgKTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHRoZSBwb3NpdGlvbiBvZiBhbiBlbGVtZW50IHJlbGF0aXZlIHRvIGEgdHJpZ2dlciBlbGVtZW50IGJ5IGV2YWx1YXRpbmdcbiAqIHRoZSBvcHRpbWFsIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBhdmFpbGFibGUgc3BhY2UuXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgVGhlIGVsZW1lbnQgb2Ygd2hpY2ggdG8gY2FsY3VsYXRlIHRoZSBwb3NpdGlvbi5cbiAqIEBwYXJhbSB0cmlnZ2VyIFRoZSBlbGVtZW50IHJlbGF0aXZlIHRvIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgcG9zaXRpb24uXG4gKiBAcGFyYW0gY29udGFpbmVyIFRoZSBlbGVtZW50IHdoaWNoIGhhcyB0aGUgcG9zaXRpb246Zml4ZWQgYXBwbGllZC5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzIFByb3BlcnRpZXMgdG8gdGFrZSBpbnRvIGFjY291bnQgaW4gY2FsY3VsYXRpb25zIChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy52ZXJ0aWNhbE9mZnNldCBUaGUgZGlzdGFuY2UgdG8gYmUgYWRkZWQgYmV0d2VlbiB0aGUgZWxlbWVudCBhbmQgdGhlIHRyaWdnZXIgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLmhvcml6b250YWxPZmZzZXQgVGhlIGhvcml6b250YWwgb2Zmc2V0IHRvIGJlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLmNlbnRlcmVkIFdoZXRoZXIgdGhlIGVsZW1lbnQgc2hvdWxkIGJlIHBsYWNlZCBpbiB0aGUgY2VudGVyIGJ5IGRlZmF1bHQgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLnJlc3BvbnNpdmVIZWlnaHQgV2hldGhlciB0aGUgZWxlbWVudCBjYWxjdWxhdGVzIGl0cyBoZWlnaHQgYmFzZWQgb24gaXRzIGNvbnRlbnQgKG9wdGlvbmFsKS5cbiAqIEByZXR1cm5zIFJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGxlZnQgcG9zaXRpb24sIHRoZSB0b3AgcG9zaXRpb24sIHRoZSBtYXhpbXVtIGhlaWdodFxuICogb2YgdGhlIGVsZW1lbnQgYW5kIHRoZSBjdXJyZW50IGFsaWdubWVudCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50UG9zaXRpb24oXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgcHJvcGVydGllcz86IHtcbiAgICB2ZXJ0aWNhbE9mZnNldD86IG51bWJlcjtcbiAgICBob3Jpem9udGFsT2Zmc2V0PzogbnVtYmVyO1xuICAgIGNlbnRlcmVkPzogYm9vbGVhbjtcbiAgICByZXNwb25zaXZlSGVpZ2h0PzogYm9vbGVhbjtcbiAgfSxcbik6IFNiYkVsZW1lbnRQb3NpdGlvbkluZm9zIHtcbiAgY29uc3QgbWF4V2lkdGhPZmZzZXQgPSAxNjtcbiAgY29uc3QgdmVydGljYWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy52ZXJ0aWNhbE9mZnNldCB8fCAwO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0ID0gcHJvcGVydGllcz8uaG9yaXpvbnRhbE9mZnNldCB8fCAwO1xuICBjb25zdCByZXNwb25zaXZlSGVpZ2h0ID0gcHJvcGVydGllcz8ucmVzcG9uc2l2ZUhlaWdodCB8fCBmYWxzZTtcblxuICBjb25zdCB0cmlnZ2VyUmVjID0gdHJpZ2dlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgZWxlbWVudFJlYyA9IGdldEVsZW1lbnRSZWN0YW5nbGUoZWxlbWVudCk7XG5cbiAgY29uc3QgdHJpZ2dlckxlZnQgPSB0cmlnZ2VyUmVjLmxlZnQ7XG4gIGNvbnN0IHRyaWdnZXJUb3AgPSB0cmlnZ2VyUmVjLnRvcDtcblxuICBjb25zdCBhdmFpbGFibGVTcGFjZVJpZ2h0ID1cbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggLSAodHJpZ2dlckxlZnQgKyB0cmlnZ2VyUmVjLndpZHRoKTtcbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VBYm92ZSA9IHRyaWdnZXJUb3AgLSB2ZXJ0aWNhbE9mZnNldDtcbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VCZWxvdyA9XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtICh0cmlnZ2VyVG9wICsgdHJpZ2dlclJlYy5oZWlnaHQgKyB2ZXJ0aWNhbE9mZnNldCk7XG5cbiAgLy8gRGVmYXVsdCBlbGVtZW50IGFsaWdubWVudCBpcyBcInN0YXJ0L2JlbG93XCJcbiAgbGV0IGVsZW1lbnRYUG9zaXRpb24gPSB0cmlnZ2VyTGVmdDtcbiAgbGV0IGVsZW1lbnRZUG9zaXRpb24gPSB0cmlnZ2VyVG9wICsgdHJpZ2dlclJlYy5oZWlnaHQgKyB2ZXJ0aWNhbE9mZnNldDtcbiAgbGV0IGVsZW1lbnRYT3ZlcmZsb3cgPSBlbGVtZW50UmVjLm9mZnNldFdpZHRoIC0gdHJpZ2dlclJlYy53aWR0aDtcbiAgY29uc3QgYWxpZ25tZW50OiBTYmJBbGlnbm1lbnQgPSB7IGhvcml6b250YWw6ICdzdGFydCcsIHZlcnRpY2FsOiAnYmVsb3cnIH07XG5cbiAgLy8gQ2FsY3VsYXRlIGVsZW1lbnQgbWF4LWhlaWdodFxuICBsZXQgZWxlbWVudE1heEhlaWdodCA9IGAke2F2YWlsYWJsZVNwYWNlQmVsb3cgLSB2ZXJ0aWNhbE9mZnNldH1weGA7XG5cbiAgLy8gQ2hlY2sgaWYgaG9yaXpvbnRhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImNlbnRlclwiXG4gIGlmIChcbiAgICBwcm9wZXJ0aWVzPy5jZW50ZXJlZCAmJlxuICAgIHRyaWdnZXJMZWZ0IC0gbWF4V2lkdGhPZmZzZXQgKyB0cmlnZ2VyUmVjLndpZHRoIC8gMiA+IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggLyAyICYmXG4gICAgYXZhaWxhYmxlU3BhY2VSaWdodCAtIG1heFdpZHRoT2Zmc2V0ID4gZWxlbWVudFhPdmVyZmxvdyAvIDJcbiAgKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiAtPSBlbGVtZW50WE92ZXJmbG93IC89IDI7XG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgPSAnY2VudGVyJztcbiAgfVxuXG4gIC8vIENoZWNrIGlmIGhvcml6b250YWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJlbmRcIlxuICBpZiAoYXZhaWxhYmxlU3BhY2VSaWdodCA8IGVsZW1lbnRYT3ZlcmZsb3cgJiYgdHJpZ2dlckxlZnQgPiBlbGVtZW50WE92ZXJmbG93KSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiA9IGVsZW1lbnRYUG9zaXRpb24gLSBlbGVtZW50WE92ZXJmbG93O1xuICAgIGFsaWdubWVudC5ob3Jpem9udGFsID0gJ2VuZCc7XG4gIH1cblxuICAvLyBBZGQgaG9yaXpvbnRhbCBvZmZzZXRcbiAgaWYgKFxuICAgIGhvcml6b250YWxPZmZzZXQgJiZcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCAhPT0gJ2NlbnRlcicgJiZcbiAgICB0cmlnZ2VyUmVjLndpZHRoIC8gMiA8IGhvcml6b250YWxPZmZzZXRcbiAgKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiArPSBob3Jpem9udGFsT2Zmc2V0ICogKGFsaWdubWVudC5ob3Jpem9udGFsID09PSAnc3RhcnQnID8gLTEgOiAxKTtcbiAgfVxuXG4gIC8vIENoZWNrIHdoZXRoZXIgdGhlcmUgaXMgaW5zdWZmaWNpZW50IHNwYWNlIG9uIGJvdGggc2lkZXNcbiAgaWYgKFxuICAgICh0cmlnZ2VyTGVmdCA8IGVsZW1lbnRYT3ZlcmZsb3cgJiYgYXZhaWxhYmxlU3BhY2VSaWdodCA8IGVsZW1lbnRYT3ZlcmZsb3cpIHx8XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIDwgZWxlbWVudFJlYy5vZmZzZXRXaWR0aFxuICApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC8gMiAtIGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggLyAyO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdmVydGljYWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJhYm92ZVwiOlxuICBpZiAoXG4gICAgKGF2YWlsYWJsZVNwYWNlQmVsb3cgLSB2ZXJ0aWNhbE9mZnNldCA8IGVsZW1lbnRSZWMuc2Nyb2xsSGVpZ2h0ICYmXG4gICAgICBhdmFpbGFibGVTcGFjZUFib3ZlIC0gdmVydGljYWxPZmZzZXQgPlxuICAgICAgICAocmVzcG9uc2l2ZUhlaWdodCA/IGVsZW1lbnRSZWMuY2xpZW50SGVpZ2h0IDogZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQpKSB8fFxuICAgIChhdmFpbGFibGVTcGFjZUFib3ZlID4gYXZhaWxhYmxlU3BhY2VCZWxvdyAmJlxuICAgICAgYXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0IDwgZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgJiZcbiAgICAgICFyZXNwb25zaXZlSGVpZ2h0KVxuICApIHtcbiAgICBlbGVtZW50WVBvc2l0aW9uID1cbiAgICAgIGF2YWlsYWJsZVNwYWNlQWJvdmUgPCBlbGVtZW50UmVjLnNjcm9sbEhlaWdodFxuICAgICAgICA/IGVsZW1lbnRZUG9zaXRpb24gLSB0cmlnZ2VyUmVjLmhlaWdodCAtIGF2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldFxuICAgICAgICA6IHRyaWdnZXJUb3AgLSBlbGVtZW50UmVjLmNsaWVudEhlaWdodCAtIHZlcnRpY2FsT2Zmc2V0O1xuXG4gICAgZWxlbWVudE1heEhlaWdodCA9IGAke2F2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldH1weGA7XG4gICAgYWxpZ25tZW50LnZlcnRpY2FsID0gJ2Fib3ZlJztcbiAgfVxuXG4gIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgLy8gV2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGUgY29udGFpbmVyIHJlY3RhbmdsZSBjb250YWlucyBuZWdhdGl2ZSB2YWx1ZXMgZm9yIHRoZSBwb3NpdGlvblxuICAvLyBhbmQgd2UgbmVlZCB0byByZS1hZGQgdGhlbSB0byB0aGUgY2FsY3VsYXRlZCBjb29yZGluYXRlcy5cbiAgaWYgKGNvbnRhaW5lclJlY3QubGVmdCA8IDApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uIC09IGNvbnRhaW5lclJlY3QubGVmdDtcbiAgfVxuXG4gIC8vIE5vcm1hbGx5IHRoZSBjb250YWluZXJSZWN0J3MgdG9wIHZhbHVlIHdvdWxkIGJlIHplcm8sIGhvd2V2ZXIgd2hlbiB0aGUgb3ZlcmxheSBpcyBhdHRhY2hlZCB0byBhbiBpbnB1dFxuICAvLyAoZS5nLiBpbiBhbiBhdXRvY29tcGxldGUpLCBtb2JpbGUgYnJvd3NlcnMgd2lsbCBzaGlmdCBldmVyeXRoaW5nIGluIG9yZGVyIHRvIHB1dCB0aGUgaW5wdXQgaW4gdGhlIG1pZGRsZVxuICAvLyBvZiB0aGUgc2NyZWVuIGFuZCB0byBtYWtlIHNwYWNlIGZvciB0aGUgdmlydHVhbCBrZXlib2FyZC4gV2UgbmVlZCB0byBhY2NvdW50IGZvciB0aGlzIG9mZnNldCxcbiAgLy8gb3RoZXJ3aXNlIG91ciBwb3NpdGlvbmluZyB3aWxsIGJlIHRocm93biBvZmYuXG4gIC8vIEFkZGl0aW9uYWxseSwgd2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGlzIGZpeGVzIHRoZSB2ZXJ0aWNhbCBwb3NpdGlvbi5cbiAgaWYgKGNvbnRhaW5lclJlY3QudG9wIDwgMCkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC50b3A7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHRvcDogZWxlbWVudFlQb3NpdGlvbixcbiAgICBsZWZ0OiBlbGVtZW50WFBvc2l0aW9uLFxuICAgIG1heEhlaWdodDogZWxlbWVudE1heEhlaWdodCxcbiAgICBhbGlnbm1lbnQ6IGFsaWdubWVudCxcbiAgfTtcbn1cbiIsImltcG9ydCB7IGdldEVsZW1lbnRQb3NpdGlvbiB9IGZyb20gJy4vcG9zaXRpb24uanMnO1xuXG4vKipcbiAqIFBsYWNlcyB0aGUgb3ZlcmxheSBpbiB0aGUgY29ycmVjdCBwb3NpdGlvbi5cbiAqIEBwYXJhbSBkaWFsb2cgVGhlIHJlZmVyZW5jZSB0byB0aGUgZGlhbG9nIGVsZW1lbnQuXG4gKiBAcGFyYW0gb3JpZ2luRWxlbWVudCBUaGUgcmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IHRoZSBkaWFsb2cgaXMgYXR0YWNoZWQgdG8uXG4gKiBAcGFyYW0gb3B0aW9uQ29udGFpbmVyIFRoZSByZWZlcmVuY2UgdG8gdGhlIG9wdGlvbiBwYW5lbC5cbiAqIEBwYXJhbSBjb250YWluZXIgVGhlIGVsZW1lbnQgd2hpY2ggaGFzIHRoZSBwb3NpdGlvbjpmaXhlZCBhcHBsaWVkLlxuICogQHBhcmFtIGVsZW1lbnQgVGhlIHJlZmVyZW5jZSB0byB0aGUgY29tcG9uZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0T3ZlcmxheVBvc2l0aW9uKFxuICBkaWFsb2c6IEhUTUxFbGVtZW50LFxuICBvcmlnaW5FbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgb3B0aW9uQ29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4pOiB2b2lkIHtcbiAgaWYgKCFkaWFsb2cgfHwgIW9yaWdpbkVsZW1lbnQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBTZXQgdGhlIHdpZHRoIHRvIG1hdGNoIHRoZSB0cmlnZ2VyIGVsZW1lbnRcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC13aWR0aCcsIGAke29yaWdpbkVsZW1lbnQub2Zmc2V0V2lkdGh9cHhgKTtcblxuICAvLyBTZXQgdGhlIG9yaWdpbiBoZWlnaHRcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1vcmlnaW4taGVpZ2h0JywgYCR7b3JpZ2luRWxlbWVudC5vZmZzZXRIZWlnaHR9cHhgKTtcblxuICAvLyBDYWxjdWxhdGUgYW5kIHNldCB0aGUgcG9zaXRpb25cbiAgY29uc3QgcGFuZWxQb3NpdGlvbiA9IGdldEVsZW1lbnRQb3NpdGlvbihvcHRpb25Db250YWluZXIsIG9yaWdpbkVsZW1lbnQsIGNvbnRhaW5lcik7XG5cbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1wb3NpdGlvbi14JywgYCR7cGFuZWxQb3NpdGlvbi5sZWZ0fXB4YCk7XG4gIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW9wdGlvbnMtcGFuZWwtcG9zaXRpb24teScsIGAke3BhbmVsUG9zaXRpb24udG9wfXB4YCk7XG4gIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW9wdGlvbnMtcGFuZWwtbWF4LWhlaWdodCcsIHBhbmVsUG9zaXRpb24ubWF4SGVpZ2h0KTtcbiAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtb3B0aW9ucy1wYW5lbC1wb3NpdGlvbicsIHBhbmVsUG9zaXRpb24uYWxpZ25tZW50LnZlcnRpY2FsKTtcbiAgb3JpZ2luRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtb3B0aW9ucy1wYW5lbC1wb3NpdGlvbicsIHBhbmVsUG9zaXRpb24uYWxpZ25tZW50LnZlcnRpY2FsKTtcbn1cbiIsIi8qKlxuICogQWRkIG1lYW5pbmdmdWwgYXJpYSBhdHRyaWJ1dGVzIHRvIHRyaWdnZXIgZWxlbWVudHMgdGhhdCBhcmUgY29ubmVjdGVkIHRvXG4gKiBvdmVybGF5IGVsZW1lbnRzIHN1Y2ggYXMgbWVudXMgYW5kIGRpYWxvZ3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgcG9wdXBUeXBlOiAnbWVudScgfCAnZGlhbG9nJyxcbiAgb3ZlcmxheUlkOiBzdHJpbmcsXG4gIHN0YXRlOiBzdHJpbmcsXG4pOiB2b2lkIHtcbiAgaWYgKCF0cmlnZ2VyKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGFzcG9wdXAnLCBwb3B1cFR5cGUpO1xuICB0cmlnZ2VyLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIG92ZXJsYXlJZCk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgYCR7c3RhdGUgPT09ICdvcGVuaW5nJyB8fCBzdGF0ZSA9PT0gJ29wZW5lZCd9YCk7XG59XG5cbi8qKlxuICogUmVtb3ZlIGFyaWEgYXR0cmlidXRlcyBmcm9tIHRyaWdnZXIgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICBpZiAoIXRyaWdnZXIpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oYXNwb3B1cCcpO1xuICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycpO1xuICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpO1xufVxuXG4vKipcbiAqIEFkZCBtZWFuaW5nZnVsIGFyaWEgYXR0cmlidXRlcyB0byB0cmlnZ2VyIGVsZW1lbnQgb2Ygcm9sZT0nY29tYm9ib3gnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRBcmlhQ29tYm9Cb3hBdHRyaWJ1dGVzKFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgb3ZlcmxheUlkOiBzdHJpbmcsXG4gIGV4cGFuZGVkOiBib29sZWFuLFxuICBoYXNQb3B1cDogJ2xpc3Rib3gnIHwgJ2dyaWQnID0gJ2xpc3Rib3gnLFxuKTogdm9pZCB7XG4gIGlmICghdHJpZ2dlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhdXRvY29tcGxldGUnLCAnb2ZmJyk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdyb2xlJywgJ2NvbWJvYm94Jyk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWF1dG9jb21wbGV0ZScsICdsaXN0Jyk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWhhc3BvcHVwJywgaGFzUG9wdXApO1xuICB0cmlnZ2VyLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIG92ZXJsYXlJZCk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLW93bnMnLCBvdmVybGF5SWQpOyAvLyBGcm9tIEFyaWEgMS4yIHRoaXMgc2hvdWxkIG5vdCBiZSBuZWNlc3NhcnksIGJ1dCBzYWZhcmkgc3RpbGwgbmVlZHMgaXRcbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBgJHtleHBhbmRlZH1gKTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYXJpYSBhdHRyaWJ1dGVzIGZyb20gdHJpZ2dlciBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUFyaWFDb21ib0JveEF0dHJpYnV0ZXModHJpZ2dlcj86IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gIGlmICghdHJpZ2dlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhdXRvY29tcGxldGUnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ3JvbGUnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtYXV0b2NvbXBsZXRlJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWhhc3BvcHVwJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLW93bnMnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO1NBT2dCLHVCQUFvQjtBQUMzQixTQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRVDtBQ0lNLFNBQVUsb0JBQW9CLElBQWU7QUFDakQsUUFBTSxlQUFlLE9BQU8saUJBQWlCLEVBQUUsR0FDN0MsaUJBQWlCLGFBQWEsU0FDOUIsbUJBQW1CLFNBQVMsYUFBYSxXQUFXLEVBQUUsRUFBRSxTQUFRO0FBRzlELE1BQUEsbUJBQW1CLFVBQVUscUJBQXFCLEtBQUs7QUFDbEQsV0FBQTtBQUFBLE1BQ0wsY0FBYyxHQUFHO0FBQUEsTUFDakIsY0FBYyxHQUFHO0FBQUEsTUFDakIsY0FBYyxHQUFHO0FBQUEsTUFDakIsYUFBYSxHQUFHO0FBQUEsTUFDaEIsYUFBYSxHQUFHO0FBQUEsTUFDaEIsYUFBYSxHQUFHO0FBQUE7O0FBTXBCLEtBQUcsTUFBTSxXQUFXO0FBQ3BCLEtBQUcsTUFBTSxhQUFhO0FBQ3RCLEtBQUcsTUFBTSxVQUFVO0FBRW5CLFFBQU0sZUFBZSxH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
|
|
154
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9vdmVybGF5LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9wb3NpdGlvbi50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL292ZXJsYXkvb3ZlcmxheS1vcHRpb24tcGFuZWwudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9vdmVybGF5L292ZXJsYXktdHJpZ2dlci1hdHRyaWJ1dGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdCc7XG5cbi8qKlxuICogVXNlZCB0byBjcmVhdGUgdGhlIFwid3JhcHBpbmdcIiBlZmZlY3QgYXJvdW5kIHRoZSBhbmNob3IgZm9yIG92ZXJsYXlzIChlcy4gYXV0b2NvbXBsZXRlKVxuICogV29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJ292ZXJsYXlHYXBGaXhDb3JuZXJzKCknIGZ1bmN0aW9uIGluICdvdmVybGF5LnRzJ1xuICovXG5leHBvcnQgZnVuY3Rpb24gb3ZlcmxheUdhcEZpeENvcm5lcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICByZXR1cm4gaHRtbGBcbiAgICA8ZGl2IGNsYXNzPVwic2JiLWdhcC1maXgtd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1nYXAtZml4LWNvcm5lclwiIGlkPVwibGVmdFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzYmItZ2FwLWZpeC13cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWdhcC1maXgtY29ybmVyXCIgaWQ9XCJyaWdodFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICBgO1xufVxuIiwiZXhwb3J0IHR5cGUgRWxlbWVudFJlY3RhbmdsZSA9IFBpY2s8XG4gIEhUTUxFbGVtZW50LFxuICAnc2Nyb2xsSGVpZ2h0JyB8ICdjbGllbnRIZWlnaHQnIHwgJ29mZnNldEhlaWdodCcgfCAnc2Nyb2xsV2lkdGgnIHwgJ2NsaWVudFdpZHRoJyB8ICdvZmZzZXRXaWR0aCdcbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiQWxpZ25tZW50IHtcbiAgaG9yaXpvbnRhbDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG4gIHZlcnRpY2FsOiAnYWJvdmUnIHwgJ2JlbG93Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50UG9zaXRpb25JbmZvcyB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIG1heEhlaWdodDogc3RyaW5nO1xuICBhbGlnbm1lbnQ6IFNiYkFsaWdubWVudDtcbn1cblxuLyoqXG4gKiBHZXRzIGhlaWdodCBhbmQgd2lkdGggb2YgYW4gZWxlbWVudCBldmVuIGlmIGl0J3MgaGlkZGVuIChgZGlzcGxheTogbm9uZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFJlY3RhbmdsZShlbDogSFRNTEVsZW1lbnQpOiBFbGVtZW50UmVjdGFuZ2xlIHtcbiAgY29uc3QgZWxlbWVudFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpLFxuICAgIGVsZW1lbnREaXNwbGF5ID0gZWxlbWVudFN0eWxlLmRpc3BsYXksXG4gICAgZWxlbWVudE1heEhlaWdodCA9IHBhcnNlSW50KGVsZW1lbnRTdHlsZS5tYXhIZWlnaHQsIDEwKS50b1N0cmluZygpO1xuXG4gIC8vIElmIGl0IGlzIG5vdCBoaWRkZW4gd2UganVzdCByZXR1cm4gbm9ybWFsIGhlaWdodFxuICBpZiAoZWxlbWVudERpc3BsYXkgIT09ICdub25lJyAmJiBlbGVtZW50TWF4SGVpZ2h0ICE9PSAnMCcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Nyb2xsSGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICBjbGllbnRIZWlnaHQ6IGVsLmNsaWVudEhlaWdodCxcbiAgICAgIG9mZnNldEhlaWdodDogZWwub2Zmc2V0SGVpZ2h0LFxuICAgICAgc2Nyb2xsV2lkdGg6IGVsLnNjcm9sbFdpZHRoLFxuICAgICAgY2xpZW50V2lkdGg6IGVsLmNsaWVudFdpZHRoLFxuICAgICAgb2Zmc2V0V2lkdGg6IGVsLm9mZnNldFdpZHRoLFxuICAgIH07XG4gIH1cblxuICAvLyBUaGUgZWxlbWVudCBpcyBoaWRkZW4gc286XG4gIC8vIG1ha2UgdGhlIGVsIGJsb2NrIGluIG9yZGVyIHRvIG1lYXN1cmUgaXRzIGhlaWdodCBidXQgc3RpbGwgYmUgaGlkZGVuXG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICBjb25zdCBzY3JvbGxIZWlnaHQgPSBlbC5zY3JvbGxIZWlnaHQsXG4gICAgY2xpZW50SGVpZ2h0ID0gZWwuY2xpZW50SGVpZ2h0LFxuICAgIG9mZnNldEhlaWdodCA9IGVsLm9mZnNldEhlaWdodCxcbiAgICBzY3JvbGxXaWR0aCA9IGVsLnNjcm9sbFdpZHRoLFxuICAgIGNsaWVudFdpZHRoID0gZWwuY2xpZW50V2lkdGgsXG4gICAgb2Zmc2V0V2lkdGggPSBlbC5vZmZzZXRXaWR0aDtcblxuICAvLyBSZXZlcnRpbmcgdG8gdGhlIG9yaWdpbmFsIHZhbHVlc1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJyc7XG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJyc7XG4gIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAnJztcblxuICByZXR1cm4geyBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCwgb2Zmc2V0SGVpZ2h0LCBzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGgsIG9mZnNldFdpZHRoIH07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGV2ZW50IGlzIGZpcmVkIG9uIGEgc3BlY2lmaWMgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRXZlbnRPbkVsZW1lbnQoXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgZXZlbnQ6IE1vdXNlRXZlbnQgfCBQb2ludGVyRXZlbnQsXG4pOiBib29sZWFuIHtcbiAgaWYgKCFlbGVtZW50IHx8ICFldmVudCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICByZXR1cm4gKFxuICAgIHJlY3QudG9wIDw9IGV2ZW50LmNsaWVudFkgJiZcbiAgICBldmVudC5jbGllbnRZIDw9IHJlY3QudG9wICsgcmVjdC5oZWlnaHQgJiZcbiAgICByZWN0LmxlZnQgPD0gZXZlbnQuY2xpZW50WCAmJlxuICAgIGV2ZW50LmNsaWVudFggPD0gcmVjdC5sZWZ0ICsgcmVjdC53aWR0aFxuICApO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgdGhlIHBvc2l0aW9uIG9mIGFuIGVsZW1lbnQgcmVsYXRpdmUgdG8gYSB0cmlnZ2VyIGVsZW1lbnQgYnkgZXZhbHVhdGluZ1xuICogdGhlIG9wdGltYWwgcG9zaXRpb24gYmFzZWQgb24gdGhlIGF2YWlsYWJsZSBzcGFjZS5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCBvZiB3aGljaCB0byBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uLlxuICogQHBhcmFtIHRyaWdnZXIgVGhlIGVsZW1lbnQgcmVsYXRpdmUgdG8gd2hpY2ggdG8gY2FsY3VsYXRlIHRoZSBwb3NpdGlvbi5cbiAqIEBwYXJhbSBjb250YWluZXIgVGhlIGVsZW1lbnQgd2hpY2ggaGFzIHRoZSBwb3NpdGlvbjpmaXhlZCBhcHBsaWVkLlxuICogQHBhcmFtIHByb3BlcnRpZXMgUHJvcGVydGllcyB0byB0YWtlIGludG8gYWNjb3VudCBpbiBjYWxjdWxhdGlvbnMgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLnZlcnRpY2FsT2Zmc2V0IFRoZSBkaXN0YW5jZSB0byBiZSBhZGRlZCBiZXR3ZWVuIHRoZSBlbGVtZW50IGFuZCB0aGUgdHJpZ2dlciAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMuaG9yaXpvbnRhbE9mZnNldCBUaGUgaG9yaXpvbnRhbCBvZmZzZXQgdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudCAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMuY2VudGVyZWQgV2hldGhlciB0aGUgZWxlbWVudCBzaG91bGQgYmUgcGxhY2VkIGluIHRoZSBjZW50ZXIgYnkgZGVmYXVsdCAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMucmVzcG9uc2l2ZUhlaWdodCBXaGV0aGVyIHRoZSBlbGVtZW50IGNhbGN1bGF0ZXMgaXRzIGhlaWdodCBiYXNlZCBvbiBpdHMgY29udGVudCAob3B0aW9uYWwpLlxuICogQHJldHVybnMgUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgbGVmdCBwb3NpdGlvbiwgdGhlIHRvcCBwb3NpdGlvbiwgdGhlIG1heGltdW0gaGVpZ2h0XG4gKiBvZiB0aGUgZWxlbWVudCBhbmQgdGhlIGN1cnJlbnQgYWxpZ25tZW50IG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRQb3NpdGlvbihcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gIHRyaWdnZXI6IEhUTUxFbGVtZW50LFxuICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICBwcm9wZXJ0aWVzPzoge1xuICAgIHZlcnRpY2FsT2Zmc2V0PzogbnVtYmVyO1xuICAgIGhvcml6b250YWxPZmZzZXQ/OiBudW1iZXI7XG4gICAgY2VudGVyZWQ/OiBib29sZWFuO1xuICAgIHJlc3BvbnNpdmVIZWlnaHQ/OiBib29sZWFuO1xuICB9LFxuKTogU2JiRWxlbWVudFBvc2l0aW9uSW5mb3Mge1xuICBjb25zdCBtYXhXaWR0aE9mZnNldCA9IDE2O1xuICBjb25zdCB2ZXJ0aWNhbE9mZnNldCA9IHByb3BlcnRpZXM/LnZlcnRpY2FsT2Zmc2V0IHx8IDA7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy5ob3Jpem9udGFsT2Zmc2V0IHx8IDA7XG4gIGNvbnN0IHJlc3BvbnNpdmVIZWlnaHQgPSBwcm9wZXJ0aWVzPy5yZXNwb25zaXZlSGVpZ2h0IHx8IGZhbHNlO1xuXG4gIGNvbnN0IHRyaWdnZXJSZWMgPSB0cmlnZ2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBjb25zdCBlbGVtZW50UmVjID0gZ2V0RWxlbWVudFJlY3RhbmdsZShlbGVtZW50KTtcblxuICBjb25zdCB0cmlnZ2VyTGVmdCA9IHRyaWdnZXJSZWMubGVmdDtcbiAgY29uc3QgdHJpZ2dlclRvcCA9IHRyaWdnZXJSZWMudG9wO1xuXG4gIGNvbnN0IGF2YWlsYWJsZVNwYWNlUmlnaHQgPVxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAtICh0cmlnZ2VyTGVmdCArIHRyaWdnZXJSZWMud2lkdGgpO1xuICBjb25zdCBhdmFpbGFibGVTcGFjZUFib3ZlID0gdHJpZ2dlclRvcCAtIHZlcnRpY2FsT2Zmc2V0O1xuICBjb25zdCBhdmFpbGFibGVTcGFjZUJlbG93ID1cbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gKHRyaWdnZXJUb3AgKyB0cmlnZ2VyUmVjLmhlaWdodCArIHZlcnRpY2FsT2Zmc2V0KTtcblxuICAvLyBEZWZhdWx0IGVsZW1lbnQgYWxpZ25tZW50IGlzIFwic3RhcnQvYmVsb3dcIlxuICBsZXQgZWxlbWVudFhQb3NpdGlvbiA9IHRyaWdnZXJMZWZ0O1xuICBsZXQgZWxlbWVudFlQb3NpdGlvbiA9IHRyaWdnZXJUb3AgKyB0cmlnZ2VyUmVjLmhlaWdodCArIHZlcnRpY2FsT2Zmc2V0O1xuICBsZXQgZWxlbWVudFhPdmVyZmxvdyA9IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggLSB0cmlnZ2VyUmVjLndpZHRoO1xuICBjb25zdCBhbGlnbm1lbnQ6IFNiYkFsaWdubWVudCA9IHsgaG9yaXpvbnRhbDogJ3N0YXJ0JywgdmVydGljYWw6ICdiZWxvdycgfTtcblxuICAvLyBDYWxjdWxhdGUgZWxlbWVudCBtYXgtaGVpZ2h0XG4gIGxldCBlbGVtZW50TWF4SGVpZ2h0ID0gYCR7YXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0fXB4YDtcblxuICAvLyBDaGVjayBpZiBob3Jpem9udGFsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwiY2VudGVyXCJcbiAgaWYgKFxuICAgIHByb3BlcnRpZXM/LmNlbnRlcmVkICYmXG4gICAgdHJpZ2dlckxlZnQgLSBtYXhXaWR0aE9mZnNldCArIHRyaWdnZXJSZWMud2lkdGggLyAyID4gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCAvIDIgJiZcbiAgICBhdmFpbGFibGVTcGFjZVJpZ2h0IC0gbWF4V2lkdGhPZmZzZXQgPiBlbGVtZW50WE92ZXJmbG93IC8gMlxuICApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uIC09IGVsZW1lbnRYT3ZlcmZsb3cgLz0gMjtcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCA9ICdjZW50ZXInO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgaG9yaXpvbnRhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImVuZFwiXG4gIGlmIChhdmFpbGFibGVTcGFjZVJpZ2h0IDwgZWxlbWVudFhPdmVyZmxvdyAmJiB0cmlnZ2VyTGVmdCA+IGVsZW1lbnRYT3ZlcmZsb3cpIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uID0gZWxlbWVudFhQb3NpdGlvbiAtIGVsZW1lbnRYT3ZlcmZsb3c7XG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgPSAnZW5kJztcbiAgfVxuXG4gIC8vIEFkZCBob3Jpem9udGFsIG9mZnNldFxuICBpZiAoXG4gICAgaG9yaXpvbnRhbE9mZnNldCAmJlxuICAgIGFsaWdubWVudC5ob3Jpem9udGFsICE9PSAnY2VudGVyJyAmJlxuICAgIHRyaWdnZXJSZWMud2lkdGggLyAyIDwgaG9yaXpvbnRhbE9mZnNldFxuICApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uICs9IGhvcml6b250YWxPZmZzZXQgKiAoYWxpZ25tZW50Lmhvcml6b250YWwgPT09ICdzdGFydCcgPyAtMSA6IDEpO1xuICB9XG5cbiAgLy8gQ2hlY2sgd2hldGhlciB0aGVyZSBpcyBpbnN1ZmZpY2llbnQgc3BhY2Ugb24gYm90aCBzaWRlc1xuICBpZiAoXG4gICAgKHRyaWdnZXJMZWZ0IDwgZWxlbWVudFhPdmVyZmxvdyAmJiBhdmFpbGFibGVTcGFjZVJpZ2h0IDwgZWxlbWVudFhPdmVyZmxvdykgfHxcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggPCBlbGVtZW50UmVjLm9mZnNldFdpZHRoXG4gICkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggLyAyIC0gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCAvIDI7XG4gIH1cblxuICAvLyBDaGVjayBpZiB2ZXJ0aWNhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImFib3ZlXCI6XG4gIGlmIChcbiAgICAoYXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0IDwgZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQgJiZcbiAgICAgIGF2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldCA+XG4gICAgICAgIChyZXNwb25zaXZlSGVpZ2h0ID8gZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgOiBlbGVtZW50UmVjLnNjcm9sbEhlaWdodCkpIHx8XG4gICAgKGF2YWlsYWJsZVNwYWNlQWJvdmUgPiBhdmFpbGFibGVTcGFjZUJlbG93ICYmXG4gICAgICBhdmFpbGFibGVTcGFjZUJlbG93IC0gdmVydGljYWxPZmZzZXQgPCBlbGVtZW50UmVjLmNsaWVudEhlaWdodCAmJlxuICAgICAgIXJlc3BvbnNpdmVIZWlnaHQpXG4gICkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gPVxuICAgICAgYXZhaWxhYmxlU3BhY2VBYm92ZSA8IGVsZW1lbnRSZWMuc2Nyb2xsSGVpZ2h0XG4gICAgICAgID8gZWxlbWVudFlQb3NpdGlvbiAtIHRyaWdnZXJSZWMuaGVpZ2h0IC0gYXZhaWxhYmxlU3BhY2VBYm92ZSAtIHZlcnRpY2FsT2Zmc2V0XG4gICAgICAgIDogdHJpZ2dlclRvcCAtIGVsZW1lbnRSZWMuY2xpZW50SGVpZ2h0IC0gdmVydGljYWxPZmZzZXQ7XG5cbiAgICBlbGVtZW50TWF4SGVpZ2h0ID0gYCR7YXZhaWxhYmxlU3BhY2VBYm92ZSAtIHZlcnRpY2FsT2Zmc2V0fXB4YDtcbiAgICBhbGlnbm1lbnQudmVydGljYWwgPSAnYWJvdmUnO1xuICB9XG5cbiAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAvLyBXaGVuIHpvb21pbmcgaW4gU2FmYXJpIHRoZSBjb250YWluZXIgcmVjdGFuZ2xlIGNvbnRhaW5zIG5lZ2F0aXZlIHZhbHVlcyBmb3IgdGhlIHBvc2l0aW9uXG4gIC8vIGFuZCB3ZSBuZWVkIHRvIHJlLWFkZCB0aGVtIHRvIHRoZSBjYWxjdWxhdGVkIGNvb3JkaW5hdGVzLlxuICBpZiAoY29udGFpbmVyUmVjdC5sZWZ0IDwgMCkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC5sZWZ0O1xuICB9XG5cbiAgLy8gTm9ybWFsbHkgdGhlIGNvbnRhaW5lclJlY3QncyB0b3AgdmFsdWUgd291bGQgYmUgemVybywgaG93ZXZlciB3aGVuIHRoZSBvdmVybGF5IGlzIGF0dGFjaGVkIHRvIGFuIGlucHV0XG4gIC8vIChlLmcuIGluIGFuIGF1dG9jb21wbGV0ZSksIG1vYmlsZSBicm93c2VycyB3aWxsIHNoaWZ0IGV2ZXJ5dGhpbmcgaW4gb3JkZXIgdG8gcHV0IHRoZSBpbnB1dCBpbiB0aGUgbWlkZGxlXG4gIC8vIG9mIHRoZSBzY3JlZW4gYW5kIHRvIG1ha2Ugc3BhY2UgZm9yIHRoZSB2aXJ0dWFsIGtleWJvYXJkLiBXZSBuZWVkIHRvIGFjY291bnQgZm9yIHRoaXMgb2Zmc2V0LFxuICAvLyBvdGhlcndpc2Ugb3VyIHBvc2l0aW9uaW5nIHdpbGwgYmUgdGhyb3duIG9mZi5cbiAgLy8gQWRkaXRpb25hbGx5LCB3aGVuIHpvb21pbmcgaW4gU2FmYXJpIHRoaXMgZml4ZXMgdGhlIHZlcnRpY2FsIHBvc2l0aW9uLlxuICBpZiAoY29udGFpbmVyUmVjdC50b3AgPCAwKSB7XG4gICAgZWxlbWVudFlQb3NpdGlvbiAtPSBjb250YWluZXJSZWN0LnRvcDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdG9wOiBlbGVtZW50WVBvc2l0aW9uLFxuICAgIGxlZnQ6IGVsZW1lbnRYUG9zaXRpb24sXG4gICAgbWF4SGVpZ2h0OiBlbGVtZW50TWF4SGVpZ2h0LFxuICAgIGFsaWdubWVudDogYWxpZ25tZW50LFxuICB9O1xufVxuIiwiaW1wb3J0IHsgZ2V0RWxlbWVudFBvc2l0aW9uIH0gZnJvbSAnLi9wb3NpdGlvbi5qcyc7XG5cbi8qKlxuICogUGxhY2VzIHRoZSBvdmVybGF5IGluIHRoZSBjb3JyZWN0IHBvc2l0aW9uLlxuICogQHBhcmFtIGRpYWxvZyBUaGUgcmVmZXJlbmNlIHRvIHRoZSBkaWFsb2cgZWxlbWVudC5cbiAqIEBwYXJhbSBvcmlnaW5FbGVtZW50IFRoZSByZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgdGhlIGRpYWxvZyBpcyBhdHRhY2hlZCB0by5cbiAqIEBwYXJhbSBvcHRpb25Db250YWluZXIgVGhlIHJlZmVyZW5jZSB0byB0aGUgb3B0aW9uIHBhbmVsLlxuICogQHBhcmFtIGNvbnRhaW5lciBUaGUgZWxlbWVudCB3aGljaCBoYXMgdGhlIHBvc2l0aW9uOmZpeGVkIGFwcGxpZWQuXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRPdmVybGF5UG9zaXRpb24oXG4gIGRpYWxvZzogSFRNTEVsZW1lbnQsXG4gIG9yaWdpbkVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICBvcHRpb25Db250YWluZXI6IEhUTUxFbGVtZW50LFxuICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbik6IHZvaWQge1xuICBpZiAoIWRpYWxvZyB8fCAhb3JpZ2luRWxlbWVudCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIFNldCB0aGUgd2lkdGggdG8gbWF0Y2ggdGhlIHRyaWdnZXIgZWxlbWVudFxuICBlbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1vcHRpb25zLXBhbmVsLXdpZHRoJywgYCR7b3JpZ2luRWxlbWVudC5vZmZzZXRXaWR0aH1weGApO1xuXG4gIC8vIFNldCB0aGUgb3JpZ2luIGhlaWdodFxuICBlbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1vcHRpb25zLXBhbmVsLW9yaWdpbi1oZWlnaHQnLCBgJHtvcmlnaW5FbGVtZW50Lm9mZnNldEhlaWdodH1weGApO1xuXG4gIC8vIENhbGN1bGF0ZSBhbmQgc2V0IHRoZSBwb3NpdGlvblxuICBjb25zdCBwYW5lbFBvc2l0aW9uID0gZ2V0RWxlbWVudFBvc2l0aW9uKG9wdGlvbkNvbnRhaW5lciwgb3JpZ2luRWxlbWVudCwgY29udGFpbmVyKTtcblxuICBlbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1vcHRpb25zLXBhbmVsLXBvc2l0aW9uLXgnLCBgJHtwYW5lbFBvc2l0aW9uLmxlZnR9cHhgKTtcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1wb3NpdGlvbi15JywgYCR7cGFuZWxQb3NpdGlvbi50b3B9cHhgKTtcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1tYXgtaGVpZ2h0JywgcGFuZWxQb3NpdGlvbi5tYXhIZWlnaHQpO1xuICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1vcHRpb25zLXBhbmVsLXBvc2l0aW9uJywgcGFuZWxQb3NpdGlvbi5hbGlnbm1lbnQudmVydGljYWwpO1xuICBvcmlnaW5FbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1vcHRpb25zLXBhbmVsLXBvc2l0aW9uJywgcGFuZWxQb3NpdGlvbi5hbGlnbm1lbnQudmVydGljYWwpO1xufVxuIiwiLyoqXG4gKiBBZGQgbWVhbmluZ2Z1bCBhcmlhIGF0dHJpYnV0ZXMgdG8gdHJpZ2dlciBlbGVtZW50cyB0aGF0IGFyZSBjb25uZWN0ZWQgdG9cbiAqIG92ZXJsYXkgZWxlbWVudHMgc3VjaCBhcyBtZW51cyBhbmQgZGlhbG9ncy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMoXG4gIHRyaWdnZXI6IEhUTUxFbGVtZW50LFxuICBwb3B1cFR5cGU6ICdtZW51JyB8ICdkaWFsb2cnLFxuICBvdmVybGF5SWQ6IHN0cmluZyxcbiAgc3RhdGU6IHN0cmluZyxcbik6IHZvaWQge1xuICBpZiAoIXRyaWdnZXIpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB0cmlnZ2VyLnNldEF0dHJpYnV0ZSgnYXJpYS1oYXNwb3B1cCcsIHBvcHVwVHlwZSk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJywgb3ZlcmxheUlkKTtcbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBgJHtzdGF0ZSA9PT0gJ29wZW5pbmcnIHx8IHN0YXRlID09PSAnb3BlbmVkJ31gKTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYXJpYSBhdHRyaWJ1dGVzIGZyb20gdHJpZ2dlciBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXModHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gIGlmICghdHJpZ2dlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWhhc3BvcHVwJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyk7XG59XG5cbi8qKlxuICogQWRkIG1lYW5pbmdmdWwgYXJpYSBhdHRyaWJ1dGVzIHRvIHRyaWdnZXIgZWxlbWVudCBvZiByb2xlPSdjb21ib2JveCdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldEFyaWFDb21ib0JveEF0dHJpYnV0ZXMoXG4gIHRyaWdnZXI6IEhUTUxFbGVtZW50LFxuICBvdmVybGF5SWQ6IHN0cmluZyxcbiAgZXhwYW5kZWQ6IGJvb2xlYW4sXG4gIGhhc1BvcHVwOiAnbGlzdGJveCcgfCAnZ3JpZCcgPSAnbGlzdGJveCcsXG4pOiB2b2lkIHtcbiAgaWYgKCF0cmlnZ2VyKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2F1dG9jb21wbGV0ZScsICdvZmYnKTtcbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnY29tYm9ib3gnKTtcbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtYXV0b2NvbXBsZXRlJywgJ2xpc3QnKTtcbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGFzcG9wdXAnLCBoYXNQb3B1cCk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJywgb3ZlcmxheUlkKTtcbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtb3ducycsIG92ZXJsYXlJZCk7IC8vIEZyb20gQXJpYSAxLjIgdGhpcyBzaG91bGQgbm90IGJlIG5lY2Vzc2FyeSwgYnV0IHNhZmFyaSBzdGlsbCBuZWVkcyBpdFxuICB0cmlnZ2VyLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIGAke2V4cGFuZGVkfWApO1xufVxuXG4vKipcbiAqIFJlbW92ZSBhcmlhIGF0dHJpYnV0ZXMgZnJvbSB0cmlnZ2VyIGVsZW1lbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQXJpYUNvbWJvQm94QXR0cmlidXRlcyh0cmlnZ2VyPzogSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gIGlmICghdHJpZ2dlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhdXRvY29tcGxldGUnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ3JvbGUnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtYXV0b2NvbXBsZXRlJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWhhc3BvcHVwJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLW93bnMnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO1NBT2dCLHVCQUFvQjtBQUMzQixTQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRVDtBQ0lNLFNBQVUsb0JBQW9CLElBQWU7QUFDakQsUUFBTSxlQUFlLE9BQU8saUJBQWlCLEVBQUUsR0FDN0MsaUJBQWlCLGFBQWEsU0FDOUIsbUJBQW1CLFNBQVMsYUFBYSxXQUFXLEVBQUUsRUFBRSxTQUFRO0FBRzlELE1BQUEsbUJBQW1CLFVBQVUscUJBQXFCLEtBQUs7QUFDbEQsV0FBQTtBQUFBLE1BQ0wsY0FBYyxHQUFHO0FBQUEsTUFDakIsY0FBYyxHQUFHO0FBQUEsTUFDakIsY0FBYyxHQUFHO0FBQUEsTUFDakIsYUFBYSxHQUFHO0FBQUEsTUFDaEIsYUFBYSxHQUFHO0FBQUEsTUFDaEIsYUFBYSxHQUFHO0FBQUE7O0FBTXBCLEtBQUcsTUFBTSxXQUFXO0FBQ3BCLEtBQUcsTUFBTSxhQUFhO0FBQ3RCLEtBQUcsTUFB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
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Can be used in tests where scroll events are not triggered by default.
|
|
3
3
|
* @param options ScrollToOptions
|
|
4
|
+
* @deprecated Will be removed with next major version
|
|
4
5
|
*/
|
|
5
6
|
export declare function mockScrollTo(options: ScrollToOptions): void;
|
|
6
7
|
//# sourceMappingURL=scroll.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/testing/scroll.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/testing/scroll.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAM3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait-for-image-ready.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/testing/wait-for-image-ready.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,gBAAgB,GAAG,eAAe,EAC3C,qBAAqB,SAAW,GAC/B,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"wait-for-image-ready.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/testing/wait-for-image-ready.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,gBAAgB,GAAG,eAAe,EAC3C,qBAAqB,SAAW,GAC/B,OAAO,CAAC,IAAI,CAAC,CAwCf"}
|
|
@@ -119,7 +119,11 @@ async function waitForImageReady(element, timeoutInMilliseconds = 2 * 1e3) {
|
|
|
119
119
|
});
|
|
120
120
|
});
|
|
121
121
|
} else {
|
|
122
|
-
await imgElement.decode()
|
|
122
|
+
await imgElement.decode().then(() => {
|
|
123
|
+
if (isSafari && element.localName === "sbb-image") {
|
|
124
|
+
return new Promise((resolve) => setTimeout(resolve, 100));
|
|
125
|
+
}
|
|
126
|
+
});
|
|
123
127
|
}
|
|
124
128
|
}
|
|
125
129
|
const isReactiveElement = (element) => {
|
|
@@ -148,4 +152,4 @@ export {
|
|
|
148
152
|
waitForImageReady,
|
|
149
153
|
waitForLitRender
|
|
150
154
|
};
|
|
151
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvdGVzdGluZy9ldmVudC1zcHkudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL21vY2hhLWV4dGVuc2lvbnMudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL3Njcm9sbC50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3Rlc3Rpbmcvd2FpdC1mb3ItY29uZGl0aW9uLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvdGVzdGluZy93YWl0LWZvci1pbWFnZS1yZWFkeS50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3Rlc3Rpbmcvd2FpdC1mb3ItcmVuZGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbInR5cGUgUHJvbWlzZVdpdGhFeGVjdXRvcjxUIGV4dGVuZHMgRXZlbnQ+ID0ge1xuICBwcm9taXNlOiBQcm9taXNlPFQ+O1xuICByZXNvbHZlOiAodmFsdWU6IFQpID0+IHZvaWQ7XG4gIHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZDtcbn07XG5cbi8qKlxuICogVGhpcyBjbGFzcyBleGlzdHMgdG8gZmFjaWxpdGF0ZSB0aGUgdGVzdCBtaWdyYXRpb24gZnJvbSBzdGVuY2lsIHRvIGxpdC5cbiAqIEl0IG1pbWljcyB0aGUgQVBJIHRoYXQgc3RlbmNpbCBwcm92aWRlZCB0byB0ZXN0IGV2ZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEV2ZW50U3B5PFQgZXh0ZW5kcyBFdmVudD4ge1xuICBwdWJsaWMgZ2V0IGNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2NvdW50O1xuICB9XG4gIHByaXZhdGUgX2NvdW50OiBudW1iZXIgPSAwO1xuXG4gIHB1YmxpYyBnZXQgZXZlbnRzKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2V2ZW50cztcbiAgfVxuICBwcml2YXRlIF9ldmVudHM6IFRbXSA9IFtdO1xuXG4gIHB1YmxpYyBnZXQgZmlyc3RFdmVudCgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzLmxlbmd0aCA/IHRoaXMuZXZlbnRzWzBdIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFzdEV2ZW50KCk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5ldmVudHMubGVuZ3RoID8gdGhpcy5ldmVudHNbdGhpcy5ldmVudHMubGVuZ3RoIC0gMV0gOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJvbWlzZUV2ZW50TWFwID0gbmV3IE1hcDxudW1iZXIsIFByb21pc2VXaXRoRXhlY3V0b3I8VD4+KCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2V2ZW50OiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFyZ2V0OiBOb2RlIHwgbnVsbCA9IG51bGwsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb3B0aW9uczogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgfCBudWxsID0gbnVsbCxcbiAgKSB7XG4gICAgaWYgKCF0aGlzLl90YXJnZXQpIHtcbiAgICAgIHRoaXMuX3RhcmdldCA9IGRvY3VtZW50O1xuICAgIH1cblxuICAgIHRoaXMuX2xpc3RlbkZvckV2ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgY2FsbGVkT25jZSh0aW1lb3V0PzogbnVtYmVyKTogUHJvbWlzZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsbGVkVGltZXMoMSwgdGltZW91dCk7XG4gIH1cblxuICBwdWJsaWMgY2FsbGVkVGltZXMoY291bnQ6IG51bWJlciwgdGltZW91dCA9IDIwMDApOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAodGhpcy5jb3VudCA+IGNvdW50KSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICAgIGBFdmVudCBoYXMgYmVlbiBlbWl0dGVkIG1vcmUgdGhhbiBleHBlY3RlZCAoZXhwZWN0ZWQgJHtjb3VudH0sIGFjdHVhbCAke3RoaXMuY291bnR9YCxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvdW50ID09PSBjb3VudCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLmV2ZW50c1tjb3VudCAtIDFdKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3Byb21pc2VFdmVudE1hcC5oYXMoY291bnQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcHJvbWlzZUV2ZW50TWFwLmdldChjb3VudCkhLnByb21pc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCByZXNvbHZlOiAodmFsdWU6IFQpID0+IHZvaWQ7XG4gICAgICBsZXQgcmVqZWN0OiAocmVhc29uPzogYW55KSA9PiB2b2lkO1xuICAgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlPFQ+KChyZXNvbHZlRnVuY3Rpb24sIHJlamVjdEZ1bmN0aW9uKSA9PiB7XG4gICAgICAgIHJlc29sdmUgPSByZXNvbHZlRnVuY3Rpb247XG4gICAgICAgIHJlamVjdCA9IHJlamVjdEZ1bmN0aW9uO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHByb21pc2VXaXRoRXhlY3V0b3IgPSB7XG4gICAgICAgIHByb21pc2UsXG4gICAgICAgIHJlc29sdmU6IHJlc29sdmUhLFxuICAgICAgICByZWplY3Q6IHJlamVjdCEsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLl9wcm9taXNlRXZlbnRNYXAuc2V0KGNvdW50LCBwcm9taXNlV2l0aEV4ZWN1dG9yKTtcblxuICAgICAgcmV0dXJuIHRoaXMuX3dyYXBQcm9taXNlV2l0aFRpbWVvdXQocHJvbWlzZVdpdGhFeGVjdXRvciwgY291bnQsIHRpbWVvdXQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3dyYXBQcm9taXNlV2l0aFRpbWVvdXQoXG4gICAgcHJvbWlzZVdpdGhFeGVjdXRvcjogUHJvbWlzZVdpdGhFeGVjdXRvcjxUPixcbiAgICBjb3VudDogbnVtYmVyLFxuICAgIHRpbWVvdXQ6IG51bWJlcixcbiAgKTogUHJvbWlzZTxUPiB7XG4gICAgY29uc3QgY2xlYXJUaW1lb3V0SWQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4gcHJvbWlzZVdpdGhFeGVjdXRvci5yZWplY3QoYGF3YWl0aW5nIGNhbGxlZFRpbWVzKCR7Y291bnR9KSByZXN1bHRzIGluIHRpbWVvdXRgKSxcbiAgICAgIHRpbWVvdXQsXG4gICAgKTtcbiAgICBwcm9taXNlV2l0aEV4ZWN1dG9yLnByb21pc2UudGhlbigoKSA9PiBjbGVhclRpbWVvdXQoY2xlYXJUaW1lb3V0SWQpKTtcbiAgICByZXR1cm4gcHJvbWlzZVdpdGhFeGVjdXRvci5wcm9taXNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuRm9yRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5fdGFyZ2V0Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgdGhpcy5fZXZlbnQsXG4gICAgICAoZXYpID0+IHtcbiAgICAgICAgdGhpcy5fZXZlbnRzLnB1c2goZXYgYXMgVCk7XG4gICAgICAgIHRoaXMuX2NvdW50Kys7XG4gICAgICAgIHRoaXMuX3Byb21pc2VFdmVudE1hcC5nZXQodGhpcy5jb3VudCk/LnJlc29sdmUoZXYgYXMgVCk7XG4gICAgICB9LFxuICAgICAgdGhpcy5fb3B0aW9ucyA/PyB1bmRlZmluZWQsXG4gICAgKTtcbiAgfVxufVxuIiwiaW1wb3J0IHR5cGUgeyBGdW5jLCBTdWl0ZSwgVGVzdCB9IGZyb20gJ21vY2hhJztcblxuLyoqXG4gKiBTa2lwIHRoZSBgZGVzY3JpYmVgIGlmIHRoZSBjb25kaXRpb24gaXMgbm90IG1ldFxuICovXG5leHBvcnQgY29uc3QgZGVzY3JpYmVJZiA9IChcbiAgY29uZGl0aW9uOiBib29sZWFuLFxuICB0aXRsZTogc3RyaW5nLFxuICBmbjogKHRoaXM6IFN1aXRlKSA9PiB2b2lkLFxuKTogU3VpdGUgfCB2b2lkID0+IHtcbiAgaWYgKGNvbmRpdGlvbikge1xuICAgIHJldHVybiBNb2NoYS5kZXNjcmliZSh0aXRsZSwgZm4pO1xuICB9XG59O1xuXG4vKipcbiAqIFNraXAgdGhlIGB0ZXN0YCBpZiB0aGUgY29uZGl0aW9uIGlzIG5vdCBtZXRcbiAqL1xuZXhwb3J0IGNvbnN0IHRlc3RJZiA9IChjb25kaXRpb246IGJvb2xlYW4sIHRpdGxlOiBzdHJpbmcsIGZuPzogRnVuYyk6IFRlc3QgfCB2b2lkID0+IHtcbiAgaWYgKGNvbmRpdGlvbikge1xuICAgIHJldHVybiBNb2NoYS50ZXN0KHRpdGxlLCBmbik7XG4gIH1cbn07XG4iLCIvKipcbiAqIENhbiBiZSB1c2VkIGluIHRlc3RzIHdoZXJlIHNjcm9sbCBldmVudHMgYXJlIG5vdCB0cmlnZ2VyZWQgYnkgZGVmYXVsdC5cbiAqIEBwYXJhbSBvcHRpb25zIFNjcm9sbFRvT3B0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbW9ja1Njcm9sbFRvKG9wdGlvbnM6IFNjcm9sbFRvT3B0aW9ucyk6IHZvaWQge1xuICB3aW5kb3cuc2Nyb2xsVG8ob3B0aW9ucyk7XG5cbiAgLy8gV2UgbmVlZCB0byBtYW51YWxseSBkaXNwYXRjaGluZyB0aGUgc2Nyb2xsIGFzIHRoZSBzY3JvbGxUb1xuICAvLyBkb2VzIG5vdCBmaXJlIGEgc2Nyb2xsIGV2ZW50IGluIHRlc3QgZW52LlxuICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnc2Nyb2xsJykpO1xufVxuIiwiZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JDb25kaXRpb24oXG4gIGNvbmRpdGlvbjogKCkgPT4gYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4sXG4gIGludGVydmFsID0gMzAsXG4gIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyA9IDIgKiAxMDAwLFxuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHN0YXJ0ID0gbmV3IERhdGUoKTtcbiAgbGV0IGNvdW50ZXIgPSAwO1xuICBmdW5jdGlvbiBjaGVja0NvbmRpdGlvbigpOiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY291bnRlcisrO1xuICAgIHJldHVybiBjb25kaXRpb24oKTtcbiAgfVxuICB3aGlsZSAoXG4gICAgIShhd2FpdCBjaGVja0NvbmRpdGlvbigpKSAmJlxuICAgIHN0YXJ0LmdldFRpbWUoKSArIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyA+PSBuZXcgRGF0ZSgpLmdldFRpbWUoKVxuICApIHtcbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBpbnRlcnZhbCkpO1xuICB9XG4gIGlmIChzdGFydC5nZXRUaW1lKCkgKyB0aW1lb3V0SW5NaWxsaXNlY29uZHMgPCBuZXcgRGF0ZSgpLmdldFRpbWUoKSkge1xuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChcbiAgICAgIGB3YWl0Rm9yQ29uZGl0aW9uIHRpbWVvdXQ6ICR7Y29uZGl0aW9uLnRvU3RyaW5nKCl9LCBhdHRlbXB0czogJHtjb3VudGVyfSwgc3RhcnQ6ICR7c3RhcnQuZ2V0VGltZSgpfSwgZW5kOiAke25ldyBEYXRlKCkuZ2V0VGltZSgpfWAsXG4gICAgKTtcbiAgfVxuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRydWUpO1xufVxuIiwiaW1wb3J0IHR5cGUgeyBTYmJJbWFnZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbWFnZS5qcyc7XG5pbXBvcnQgeyBpc1NhZmFyaSB9IGZyb20gJy4uL2RvbS5qcyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3YWl0Rm9ySW1hZ2VSZWFkeShcbiAgZWxlbWVudDogSFRNTEltYWdlRWxlbWVudCB8IFNiYkltYWdlRWxlbWVudCxcbiAgdGltZW91dEluTWlsbGlzZWNvbmRzID0gMiAqIDEwMDAsXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgaW1nRWxlbWVudCA9XG4gICAgZWxlbWVudC5sb2NhbE5hbWUgPT09ICdzYmItaW1hZ2UnXG4gICAgICA/IChlbGVtZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3I8SFRNTEltYWdlRWxlbWVudD4oJy5zYmItaW1hZ2VfX2ltZycpID8/IG51bGwpXG4gICAgICA6IChlbGVtZW50IGFzIEhUTUxJbWFnZUVsZW1lbnQpO1xuXG4gIGlmICghaW1nRWxlbWVudCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW1nIHRhZyBub3QgZm91bmQnKTtcbiAgfVxuXG4gIGlmICghZWxlbWVudC5jb21wbGV0ZSkge1xuICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHJlamVjdCgnaW1hZ2UgbG9hZGluZyB0aW1lb3V0JyksIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyk7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcblxuICAgICAgICBpbWdFbGVtZW50LmRlY29kZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIGlmIChpc1NhZmFyaSAmJiBlbGVtZW50LmxvY2FsTmFtZSA9PT0gJ3NiYi1pbWFnZScpIHtcbiAgICAgICAgICAgIC8vIE9uIGEgdGVzdCBwYWdlIHRoaXMgaXMgb25seSBoYXBwZW5pbmcgb25jZSAoZmlyc3QgdGltZSBhbiBpbWFnZSBpcyBsb2FkZWQpLiBUaGVyZWZvcmUsIHRoZSBpbXBhY3QgaXMgdmVyeSBzbWFsbC5cbiAgICAgICAgICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgMTAwKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsICgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgICAgICByZWplY3QoJ2ltYWdlIGVycm9yJyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBhd2FpdCBpbWdFbGVtZW50LmRlY29kZSgpO1xuICB9XG59XG4iLCJpbXBvcnQgdHlwZSB7IFJlYWN0aXZlRWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB0eXBlIHsgU2JiSHlkcmF0aW9uTWl4aW5UeXBlIH0gZnJvbSAnLi4vbWl4aW5zLmpzJztcblxuLyoqXG4gKiBUZXN0cyBpZiBhbiBlbGVtZW50IGlzIGEgTGl0IGBSZWFjdGl2ZUVsZW1lbnRgLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IHRoZSBlbGVtZW50IHRvIHRlc3QuXG4gKiBAcmV0dXJuIHRydWUgaWYgdGhlIGVsZW1lbnQgaXMgYSBgUmVhY3RpdmVFbGVtZW50YC5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzUmVhY3RpdmVFbGVtZW50ID0gKFxuICBlbGVtZW50OiBFbGVtZW50LFxuKTogZWxlbWVudCBpcyBSZWFjdGl2ZUVsZW1lbnQgJiBQYXJ0aWFsPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4gPT4ge1xuICByZXR1cm4gQm9vbGVhbigoZWxlbWVudCBhcyBSZWFjdGl2ZUVsZW1lbnQpLnVwZGF0ZUNvbXBsZXRlKTtcbn07XG5cbmNvbnN0IHByb21pc2VDb21wbGV0ZSA9IFByb21pc2UucmVzb2x2ZSgpO1xuXG4vKipcbiAqIFdhaXRzIGZvciBhbGwgTGl0IGBSZWFjdGl2ZUVsZW1lbnRgIGNoaWxkcmVuIG9mIHRoZSBnaXZlbiBwYXJlbnQgbm9kZSB0b1xuICogZmluaXNoIHJlbmRlcmluZy5cbiAqXG4gKiBAcGFyYW0gcm9vdCBhIHBhcmVudCBub2RlIHRvIHdhaXQgZm9yIHJlbmRlcmluZyBvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IHdhaXRGb3JMaXRSZW5kZXIgPSBhc3luYyA8XG4gIFQgZXh0ZW5kcyBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQgPSBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQsXG4+KFxuICBub2RlOiBUIHwgUHJvbWlzZTxUPixcbik6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCByb290ID0gYXdhaXQgbm9kZTtcbiAgKHJvb3QucGFyZW50RWxlbWVudCA/PyByb290KVxuICAgIC5xdWVyeVNlbGVjdG9yQWxsPy4oJ1tkZWZlci1oeWRyYXRpb25dJylcbiAgICAuZm9yRWFjaCgoZSkgPT4gZS5yZW1vdmVBdHRyaWJ1dGUoJ2RlZmVyLWh5ZHJhdGlvbicpKTtcbiAgY29uc3QgY29tcGxldGFibGVzID0gW3Jvb3QgYXMgRWxlbWVudCwgLi4ucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcqJyldXG4gICAgLmZpbHRlcihpc1JlYWN0aXZlRWxlbWVudClcbiAgICAubWFwKChlKSA9PiBbXG4gICAgICBlLnVwZGF0ZUNvbXBsZXRlLFxuICAgICAgZS5oeWRyYXRpb25Db21wbGV0ZSA/PyBwcm9taXNlQ29tcGxldGUsXG4gICAgICB3YWl0Rm9yTGl0UmVuZGVyKGUucmVuZGVyUm9vdCksXG4gICAgXSlcbiAgICAuZmxhdChJbmZpbml0eSk7XG4gIGF3YWl0IFByb21pc2UuYWxsKGNvbXBsZXRhYmxlcyk7XG4gIHJldHVybiByb290O1xufTtcbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6IjtNQVVhLFNBQVE7QUFBQSxFQUNuQixJQUFXLFFBQUs7QUFDZCxXQUFPLEtBQUs7QUFBQSxFQUFBO0FBQUEsRUFJZCxJQUFXLFNBQU07QUFDZixXQUFPLEtBQUs7QUFBQSxFQUFBO0FBQUEsRUFJZCxJQUFXLGFBQVU7QUFDbkIsV0FBTyxLQUFLLE9BQU8sU0FBUyxLQUFLLE9BQU8sQ0FBQyxJQUFJO0FBQUEsRUFBQTtBQUFBLEVBRy9DLElBQVcsWUFBUztBQUNYLFdBQUEsS0FBSyxPQUFPLFNBQVMsS0FBSyxPQUFPLEtBQUssT0FBTyxTQUFTLENBQUMsSUFBSTtBQUFBLEVBQUE7QUFBQSxFQUtwRSxZQUNVLFFBQ1MsVUFBdUIsTUFDdkIsV0FBMkMsTUFBSTtBQUZ4RCxTQUFNLFNBQU47QUFDUyxTQUFPLFVBQVA7QUFDQSxTQUFRLFdBQVI7QUFwQlgsU0FBTSxTQUFXO0FBS2pCLFNBQU8sVUFBUTtB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
|
|
155
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvdGVzdGluZy9ldmVudC1zcHkudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL21vY2hhLWV4dGVuc2lvbnMudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL3Njcm9sbC50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3Rlc3Rpbmcvd2FpdC1mb3ItY29uZGl0aW9uLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvdGVzdGluZy93YWl0LWZvci1pbWFnZS1yZWFkeS50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3Rlc3Rpbmcvd2FpdC1mb3ItcmVuZGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbInR5cGUgUHJvbWlzZVdpdGhFeGVjdXRvcjxUIGV4dGVuZHMgRXZlbnQ+ID0ge1xuICBwcm9taXNlOiBQcm9taXNlPFQ+O1xuICByZXNvbHZlOiAodmFsdWU6IFQpID0+IHZvaWQ7XG4gIHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZDtcbn07XG5cbi8qKlxuICogVGhpcyBjbGFzcyBleGlzdHMgdG8gZmFjaWxpdGF0ZSB0aGUgdGVzdCBtaWdyYXRpb24gZnJvbSBzdGVuY2lsIHRvIGxpdC5cbiAqIEl0IG1pbWljcyB0aGUgQVBJIHRoYXQgc3RlbmNpbCBwcm92aWRlZCB0byB0ZXN0IGV2ZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEV2ZW50U3B5PFQgZXh0ZW5kcyBFdmVudD4ge1xuICBwdWJsaWMgZ2V0IGNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2NvdW50O1xuICB9XG4gIHByaXZhdGUgX2NvdW50OiBudW1iZXIgPSAwO1xuXG4gIHB1YmxpYyBnZXQgZXZlbnRzKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2V2ZW50cztcbiAgfVxuICBwcml2YXRlIF9ldmVudHM6IFRbXSA9IFtdO1xuXG4gIHB1YmxpYyBnZXQgZmlyc3RFdmVudCgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzLmxlbmd0aCA/IHRoaXMuZXZlbnRzWzBdIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFzdEV2ZW50KCk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5ldmVudHMubGVuZ3RoID8gdGhpcy5ldmVudHNbdGhpcy5ldmVudHMubGVuZ3RoIC0gMV0gOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJvbWlzZUV2ZW50TWFwID0gbmV3IE1hcDxudW1iZXIsIFByb21pc2VXaXRoRXhlY3V0b3I8VD4+KCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2V2ZW50OiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFyZ2V0OiBOb2RlIHwgbnVsbCA9IG51bGwsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb3B0aW9uczogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgfCBudWxsID0gbnVsbCxcbiAgKSB7XG4gICAgaWYgKCF0aGlzLl90YXJnZXQpIHtcbiAgICAgIHRoaXMuX3RhcmdldCA9IGRvY3VtZW50O1xuICAgIH1cblxuICAgIHRoaXMuX2xpc3RlbkZvckV2ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgY2FsbGVkT25jZSh0aW1lb3V0PzogbnVtYmVyKTogUHJvbWlzZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsbGVkVGltZXMoMSwgdGltZW91dCk7XG4gIH1cblxuICBwdWJsaWMgY2FsbGVkVGltZXMoY291bnQ6IG51bWJlciwgdGltZW91dCA9IDIwMDApOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAodGhpcy5jb3VudCA+IGNvdW50KSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICAgIGBFdmVudCBoYXMgYmVlbiBlbWl0dGVkIG1vcmUgdGhhbiBleHBlY3RlZCAoZXhwZWN0ZWQgJHtjb3VudH0sIGFjdHVhbCAke3RoaXMuY291bnR9YCxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvdW50ID09PSBjb3VudCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLmV2ZW50c1tjb3VudCAtIDFdKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3Byb21pc2VFdmVudE1hcC5oYXMoY291bnQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcHJvbWlzZUV2ZW50TWFwLmdldChjb3VudCkhLnByb21pc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCByZXNvbHZlOiAodmFsdWU6IFQpID0+IHZvaWQ7XG4gICAgICBsZXQgcmVqZWN0OiAocmVhc29uPzogYW55KSA9PiB2b2lkO1xuICAgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlPFQ+KChyZXNvbHZlRnVuY3Rpb24sIHJlamVjdEZ1bmN0aW9uKSA9PiB7XG4gICAgICAgIHJlc29sdmUgPSByZXNvbHZlRnVuY3Rpb247XG4gICAgICAgIHJlamVjdCA9IHJlamVjdEZ1bmN0aW9uO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHByb21pc2VXaXRoRXhlY3V0b3IgPSB7XG4gICAgICAgIHByb21pc2UsXG4gICAgICAgIHJlc29sdmU6IHJlc29sdmUhLFxuICAgICAgICByZWplY3Q6IHJlamVjdCEsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLl9wcm9taXNlRXZlbnRNYXAuc2V0KGNvdW50LCBwcm9taXNlV2l0aEV4ZWN1dG9yKTtcblxuICAgICAgcmV0dXJuIHRoaXMuX3dyYXBQcm9taXNlV2l0aFRpbWVvdXQocHJvbWlzZVdpdGhFeGVjdXRvciwgY291bnQsIHRpbWVvdXQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3dyYXBQcm9taXNlV2l0aFRpbWVvdXQoXG4gICAgcHJvbWlzZVdpdGhFeGVjdXRvcjogUHJvbWlzZVdpdGhFeGVjdXRvcjxUPixcbiAgICBjb3VudDogbnVtYmVyLFxuICAgIHRpbWVvdXQ6IG51bWJlcixcbiAgKTogUHJvbWlzZTxUPiB7XG4gICAgY29uc3QgY2xlYXJUaW1lb3V0SWQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4gcHJvbWlzZVdpdGhFeGVjdXRvci5yZWplY3QoYGF3YWl0aW5nIGNhbGxlZFRpbWVzKCR7Y291bnR9KSByZXN1bHRzIGluIHRpbWVvdXRgKSxcbiAgICAgIHRpbWVvdXQsXG4gICAgKTtcbiAgICBwcm9taXNlV2l0aEV4ZWN1dG9yLnByb21pc2UudGhlbigoKSA9PiBjbGVhclRpbWVvdXQoY2xlYXJUaW1lb3V0SWQpKTtcbiAgICByZXR1cm4gcHJvbWlzZVdpdGhFeGVjdXRvci5wcm9taXNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuRm9yRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5fdGFyZ2V0Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgdGhpcy5fZXZlbnQsXG4gICAgICAoZXYpID0+IHtcbiAgICAgICAgdGhpcy5fZXZlbnRzLnB1c2goZXYgYXMgVCk7XG4gICAgICAgIHRoaXMuX2NvdW50Kys7XG4gICAgICAgIHRoaXMuX3Byb21pc2VFdmVudE1hcC5nZXQodGhpcy5jb3VudCk/LnJlc29sdmUoZXYgYXMgVCk7XG4gICAgICB9LFxuICAgICAgdGhpcy5fb3B0aW9ucyA/PyB1bmRlZmluZWQsXG4gICAgKTtcbiAgfVxufVxuIiwiaW1wb3J0IHR5cGUgeyBGdW5jLCBTdWl0ZSwgVGVzdCB9IGZyb20gJ21vY2hhJztcblxuLyoqXG4gKiBTa2lwIHRoZSBgZGVzY3JpYmVgIGlmIHRoZSBjb25kaXRpb24gaXMgbm90IG1ldFxuICovXG5leHBvcnQgY29uc3QgZGVzY3JpYmVJZiA9IChcbiAgY29uZGl0aW9uOiBib29sZWFuLFxuICB0aXRsZTogc3RyaW5nLFxuICBmbjogKHRoaXM6IFN1aXRlKSA9PiB2b2lkLFxuKTogU3VpdGUgfCB2b2lkID0+IHtcbiAgaWYgKGNvbmRpdGlvbikge1xuICAgIHJldHVybiBNb2NoYS5kZXNjcmliZSh0aXRsZSwgZm4pO1xuICB9XG59O1xuXG4vKipcbiAqIFNraXAgdGhlIGB0ZXN0YCBpZiB0aGUgY29uZGl0aW9uIGlzIG5vdCBtZXRcbiAqL1xuZXhwb3J0IGNvbnN0IHRlc3RJZiA9IChjb25kaXRpb246IGJvb2xlYW4sIHRpdGxlOiBzdHJpbmcsIGZuPzogRnVuYyk6IFRlc3QgfCB2b2lkID0+IHtcbiAgaWYgKGNvbmRpdGlvbikge1xuICAgIHJldHVybiBNb2NoYS50ZXN0KHRpdGxlLCBmbik7XG4gIH1cbn07XG4iLCIvKipcbiAqIENhbiBiZSB1c2VkIGluIHRlc3RzIHdoZXJlIHNjcm9sbCBldmVudHMgYXJlIG5vdCB0cmlnZ2VyZWQgYnkgZGVmYXVsdC5cbiAqIEBwYXJhbSBvcHRpb25zIFNjcm9sbFRvT3B0aW9uc1xuICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIHdpdGggbmV4dCBtYWpvciB2ZXJzaW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtb2NrU2Nyb2xsVG8ob3B0aW9uczogU2Nyb2xsVG9PcHRpb25zKTogdm9pZCB7XG4gIHdpbmRvdy5zY3JvbGxUbyhvcHRpb25zKTtcblxuICAvLyBXZSBuZWVkIHRvIG1hbnVhbGx5IGRpc3BhdGNoaW5nIHRoZSBzY3JvbGwgYXMgdGhlIHNjcm9sbFRvXG4gIC8vIGRvZXMgbm90IGZpcmUgYSBzY3JvbGwgZXZlbnQgaW4gdGVzdCBlbnYuXG4gIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdzY3JvbGwnKSk7XG59XG4iLCJleHBvcnQgYXN5bmMgZnVuY3Rpb24gd2FpdEZvckNvbmRpdGlvbihcbiAgY29uZGl0aW9uOiAoKSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPixcbiAgaW50ZXJ2YWwgPSAzMCxcbiAgdGltZW91dEluTWlsbGlzZWNvbmRzID0gMiAqIDEwMDAsXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3Qgc3RhcnQgPSBuZXcgRGF0ZSgpO1xuICBsZXQgY291bnRlciA9IDA7XG4gIGZ1bmN0aW9uIGNoZWNrQ29uZGl0aW9uKCk6IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb3VudGVyKys7XG4gICAgcmV0dXJuIGNvbmRpdGlvbigpO1xuICB9XG4gIHdoaWxlIChcbiAgICAhKGF3YWl0IGNoZWNrQ29uZGl0aW9uKCkpICYmXG4gICAgc3RhcnQuZ2V0VGltZSgpICsgdGltZW91dEluTWlsbGlzZWNvbmRzID49IG5ldyBEYXRlKCkuZ2V0VGltZSgpXG4gICkge1xuICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIGludGVydmFsKSk7XG4gIH1cbiAgaWYgKHN0YXJ0LmdldFRpbWUoKSArIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyA8IG5ldyBEYXRlKCkuZ2V0VGltZSgpKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFxuICAgICAgYHdhaXRGb3JDb25kaXRpb24gdGltZW91dDogJHtjb25kaXRpb24udG9TdHJpbmcoKX0sIGF0dGVtcHRzOiAke2NvdW50ZXJ9LCBzdGFydDogJHtzdGFydC5nZXRUaW1lKCl9LCBlbmQ6ICR7bmV3IERhdGUoKS5nZXRUaW1lKCl9YCxcbiAgICApO1xuICB9XG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7XG59XG4iLCJpbXBvcnQgdHlwZSB7IFNiYkltYWdlRWxlbWVudCB9IGZyb20gJy4uLy4uL2ltYWdlLmpzJztcbmltcG9ydCB7IGlzU2FmYXJpIH0gZnJvbSAnLi4vZG9tLmpzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JJbWFnZVJlYWR5KFxuICBlbGVtZW50OiBIVE1MSW1hZ2VFbGVtZW50IHwgU2JiSW1hZ2VFbGVtZW50LFxuICB0aW1lb3V0SW5NaWxsaXNlY29uZHMgPSAyICogMTAwMCxcbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBpbWdFbGVtZW50ID1cbiAgICBlbGVtZW50LmxvY2FsTmFtZSA9PT0gJ3NiYi1pbWFnZSdcbiAgICAgID8gKGVsZW1lbnQuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcjxIVE1MSW1hZ2VFbGVtZW50PignLnNiYi1pbWFnZV9faW1nJykgPz8gbnVsbClcbiAgICAgIDogKGVsZW1lbnQgYXMgSFRNTEltYWdlRWxlbWVudCk7XG5cbiAgaWYgKCFpbWdFbGVtZW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbWcgdGFnIG5vdCBmb3VuZCcpO1xuICB9XG5cbiAgaWYgKCFlbGVtZW50LmNvbXBsZXRlKSB7XG4gICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KCdpbWFnZSBsb2FkaW5nIHRpbWVvdXQnKSwgdGltZW91dEluTWlsbGlzZWNvbmRzKTtcbiAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuXG4gICAgICAgIGltZ0VsZW1lbnQuZGVjb2RlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgaWYgKGlzU2FmYXJpICYmIGVsZW1lbnQubG9jYWxOYW1lID09PSAnc2JiLWltYWdlJykge1xuICAgICAgICAgICAgLy8gT24gYSB0ZXN0IHBhZ2UgdGhpcyBpcyBvbmx5IGhhcHBlbmluZyBvbmNlIChmaXJzdCB0aW1lIGFuIGltYWdlIGlzIGxvYWRlZCkuIFRoZXJlZm9yZSwgdGhlIGltcGFjdCBpcyB2ZXJ5IHNtYWxsLlxuICAgICAgICAgICAgc2V0VGltZW91dChyZXNvbHZlLCAxMDApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgIHJlamVjdCgnaW1hZ2UgZXJyb3InKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGF3YWl0IGltZ0VsZW1lbnQuZGVjb2RlKCkudGhlbigoKSA9PiB7XG4gICAgICAvLyBTYWZhcmkgaXMgbm90IGFsd2F5cyByZWFkeSB0byBkaXNwbGF5IHRoZSBpbWFnZSByaWdodCBhZnRlciB0aGUgZGVjb2RlZCBQcm9taXNlIHJlc29sdmVzLlxuICAgICAgLy8gV2UgaGF2ZSB0byB3YWl0IGFub3RoZXIgMTAwIG1pbGxpc2Vjb25kcy5cbiAgICAgIGlmIChpc1NhZmFyaSAmJiBlbGVtZW50LmxvY2FsTmFtZSA9PT0gJ3NiYi1pbWFnZScpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDEwMCkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCJpbXBvcnQgdHlwZSB7IFJlYWN0aXZlRWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB0eXBlIHsgU2JiSHlkcmF0aW9uTWl4aW5UeXBlIH0gZnJvbSAnLi4vbWl4aW5zLmpzJztcblxuLyoqXG4gKiBUZXN0cyBpZiBhbiBlbGVtZW50IGlzIGEgTGl0IGBSZWFjdGl2ZUVsZW1lbnRgLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IHRoZSBlbGVtZW50IHRvIHRlc3QuXG4gKiBAcmV0dXJuIHRydWUgaWYgdGhlIGVsZW1lbnQgaXMgYSBgUmVhY3RpdmVFbGVtZW50YC5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzUmVhY3RpdmVFbGVtZW50ID0gKFxuICBlbGVtZW50OiBFbGVtZW50LFxuKTogZWxlbWVudCBpcyBSZWFjdGl2ZUVsZW1lbnQgJiBQYXJ0aWFsPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4gPT4ge1xuICByZXR1cm4gQm9vbGVhbigoZWxlbWVudCBhcyBSZWFjdGl2ZUVsZW1lbnQpLnVwZGF0ZUNvbXBsZXRlKTtcbn07XG5cbmNvbnN0IHByb21pc2VDb21wbGV0ZSA9IFByb21pc2UucmVzb2x2ZSgpO1xuXG4vKipcbiAqIFdhaXRzIGZvciBhbGwgTGl0IGBSZWFjdGl2ZUVsZW1lbnRgIGNoaWxkcmVuIG9mIHRoZSBnaXZlbiBwYXJlbnQgbm9kZSB0b1xuICogZmluaXNoIHJlbmRlcmluZy5cbiAqXG4gKiBAcGFyYW0gcm9vdCBhIHBhcmVudCBub2RlIHRvIHdhaXQgZm9yIHJlbmRlcmluZyBvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IHdhaXRGb3JMaXRSZW5kZXIgPSBhc3luYyA8XG4gIFQgZXh0ZW5kcyBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQgPSBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQsXG4+KFxuICBub2RlOiBUIHwgUHJvbWlzZTxUPixcbik6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCByb290ID0gYXdhaXQgbm9kZTtcbiAgKHJvb3QucGFyZW50RWxlbWVudCA/PyByb290KVxuICAgIC5xdWVyeVNlbGVjdG9yQWxsPy4oJ1tkZWZlci1oeWRyYXRpb25dJylcbiAgICAuZm9yRWFjaCgoZSkgPT4gZS5yZW1vdmVBdHRyaWJ1dGUoJ2RlZmVyLWh5ZHJhdGlvbicpKTtcbiAgY29uc3QgY29tcGxldGFibGVzID0gW3Jvb3QgYXMgRWxlbWVudCwgLi4ucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcqJyldXG4gICAgLmZpbHRlcihpc1JlYWN0aXZlRWxlbWVudClcbiAgICAubWFwKChlKSA9PiBbXG4gICAgICBlLnVwZGF0ZUNvbXBsZXRlLFxuICAgICAgZS5oeWRyYXRpb25Db21wbGV0ZSA/PyBwcm9taXNlQ29tcGxldGUsXG4gICAgICB3YWl0Rm9yTGl0UmVuZGVyKGUucmVuZGVyUm9vdCksXG4gICAgXSlcbiAgICAuZmxhdChJbmZpbml0eSk7XG4gIGF3YWl0IFByb21pc2UuYWxsKGNvbXBsZXRhYmxlcyk7XG4gIHJldHVybiByb290O1xufTtcbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6IjtNQVVhLFNBQVE7QUFBQSxFQUNuQixJQUFX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
|
|
@@ -14,7 +14,7 @@ export interface SbbInputUpdateEvent {
|
|
|
14
14
|
* it returns the related SbbDatepickerElement reference, if exists.
|
|
15
15
|
* @param element The element potentially connected to the SbbDatepickerElement.
|
|
16
16
|
* @param trigger The id or the reference of the SbbDatePicker.
|
|
17
|
-
* @deprecated No longer in use.
|
|
17
|
+
* @deprecated No longer in use. Will be removed with next major version.
|
|
18
18
|
*/
|
|
19
19
|
export declare function getDatePicker<T = Date>(element: SbbDatepickerButton<T> | SbbDatepickerToggleElement<T>, trigger?: string | HTMLElement): SbbDatepickerElement<T> | null | undefined;
|
|
20
20
|
/**
|
|
@@ -80,12 +80,12 @@ export declare class SbbDatepickerElement<T = Date> extends LitElement {
|
|
|
80
80
|
/** Emits whenever the internal validation state changes. */
|
|
81
81
|
private _validationChange;
|
|
82
82
|
private _inputElementPlaceholderMutable;
|
|
83
|
-
private
|
|
83
|
+
private _inputAbortController;
|
|
84
|
+
private _inputIdReferenceController;
|
|
84
85
|
private _inputObserver;
|
|
85
86
|
private _dateAdapter;
|
|
86
87
|
private _language;
|
|
87
88
|
private _associationController;
|
|
88
|
-
constructor();
|
|
89
89
|
connectedCallback(): void;
|
|
90
90
|
requestUpdate(name?: PropertyKey, oldValue?: unknown, options?: PropertyDeclaration): void;
|
|
91
91
|
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
@@ -96,7 +96,7 @@ export declare class SbbDatepickerElement<T = Date> extends LitElement {
|
|
|
96
96
|
* Whether a custom now is configured.
|
|
97
97
|
*/
|
|
98
98
|
hasCustomNow(): boolean;
|
|
99
|
-
private
|
|
99
|
+
private _configureInputElement;
|
|
100
100
|
private _emitInputUpdated;
|
|
101
101
|
private _handleInputChange;
|
|
102
102
|
private _tryApplyFormatToInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../../../../src/elements/datepicker/datepicker/datepicker.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAUb,OAAO,KAAK,EAAE,WAAW,EAA4B,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAA0C,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAI1E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,IAAI,EACpC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,EAC/D,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAC7B,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAQ5C;AAED;;GAEG;AACH,eAAO,MAAM,uCAAuC,QAAO,WAIvD,CAAC;AAQL;;;;;;;;GAQG;AACH,qBAEM,oBAAoB,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,UAAU;IACrD,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;;MAKlB;IAEX,gDAAgD;IAChD,SAEgB,IAAI,EAAE,OAAO,CAAS;IAEtC;;;OAGG;IACH,IACW,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,EAEvD;IACD,IAAW,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,CAMnD;IACD,OAAO,CAAC,WAAW,CAAC,CAA8B;
|
|
1
|
+
{"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../../../../src/elements/datepicker/datepicker/datepicker.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,8 +27,6 @@ export declare class SbbDatepickerToggleElement<T = Date> extends SbbDatepickerT
|
|
|
27
27
|
private accessor _max;
|
|
28
28
|
private accessor _renderCalendar;
|
|
29
29
|
private _calendarElement;
|
|
30
|
-
private _triggerElement;
|
|
31
|
-
private _popoverElement;
|
|
32
30
|
private _language;
|
|
33
31
|
constructor();
|
|
34
32
|
/**
|
|
@@ -39,7 +37,6 @@ export declare class SbbDatepickerToggleElement<T = Date> extends SbbDatepickerT
|
|
|
39
37
|
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
40
38
|
private _configureCalendar;
|
|
41
39
|
private _assignCalendar;
|
|
42
|
-
protected updated(changedProperties: PropertyValues<this>): void;
|
|
43
40
|
private _nowOrNull;
|
|
44
41
|
protected render(): TemplateResult;
|
|
45
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datepicker-toggle.d.ts","sourceRoot":"","sources":["../../../../../src/elements/datepicker/datepicker-toggle/datepicker-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAW,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"datepicker-toggle.d.ts","sourceRoot":"","sources":["../../../../../src/elements/datepicker/datepicker-toggle/datepicker-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAW,MAAM,KAAK,CAAC;AAI1D,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAC;AAM1E,OAAO,EAA6C,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAI7D,OAAO,mBAAmB,CAAC;AAC3B,OAAO,0BAA0B,CAAC;AAClC,OAAO,6BAA6B,CAAC;;AAMrC;;GAEG;AACH,qBAEM,0BAA0B,CAAC,CAAC,GAAG,IAAI,CACvC,SAAQ,+BACR,YAAW,oBAAoB,CAAC,CAAC,CAAC;IAElC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;OAIG;IACH,IACW,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,EAOnE;IACD,gBAAgB;IAChB,IAAW,UAAU,IAAI,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAE/D;IAED,4BAA4B;IAC5B,IACW,UAAU,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,EAK1D;IACD,IAAW,UAAU,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAEtD;IACD,OAAO,CAAC,WAAW,CAAC,CAAiC;IAErD,yEAAyE;IACzE,SAA4B,IAAI,EAAE,YAAY,CAAS;IAE9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgD;IAErE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgD;IAErE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IAElD,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,SAAS,CAAmC;;IAepD;;OAEG;IACI,IAAI,IAAI,IAAI;IAIH,iBAAiB,IAAI,IAAI;cAStB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAmB5E,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,UAAU;cAIC,MAAM,IAAI,cAAc;CAoD5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
|
|
@@ -157,10 +157,7 @@ let SbbDatepickerToggleElement = (() => {
|
|
|
157
157
|
* Opens the calendar.
|
|
158
158
|
*/
|
|
159
159
|
open() {
|
|
160
|
-
|
|
161
|
-
this._triggerElement = this.shadowRoot.querySelector("sbb-mini-button");
|
|
162
|
-
}
|
|
163
|
-
this._triggerElement.click();
|
|
160
|
+
this.shadowRoot.querySelector("sbb-mini-button").click();
|
|
164
161
|
}
|
|
165
162
|
connectedCallback() {
|
|
166
163
|
var _a2, _b;
|
|
@@ -209,10 +206,6 @@ let SbbDatepickerToggleElement = (() => {
|
|
|
209
206
|
this._configureCalendar();
|
|
210
207
|
this._calendarElement.resetPosition();
|
|
211
208
|
}
|
|
212
|
-
updated(changedProperties) {
|
|
213
|
-
super.updated(changedProperties);
|
|
214
|
-
this._popoverElement.trigger = this._triggerElement;
|
|
215
|
-
}
|
|
216
209
|
_nowOrNull() {
|
|
217
210
|
var _a2;
|
|
218
211
|
return ((_a2 = this.datepicker) == null ? void 0 : _a2.hasCustomNow()) ? this.datepicker.now : null;
|
|
@@ -226,7 +219,7 @@ let SbbDatepickerToggleElement = (() => {
|
|
|
226
219
|
aria-label=${i18nShowCalendar[this._language.current]}
|
|
227
220
|
?disabled=${!isServer && (!this.datepicker || this._disabled)}
|
|
228
221
|
?negative=${this.negative}
|
|
229
|
-
|
|
222
|
+
id="trigger"
|
|
230
223
|
></sbb-mini-button>
|
|
231
224
|
<sbb-popover
|
|
232
225
|
@willOpen=${() => this._calendarElement.resetPosition()}
|
|
@@ -235,9 +228,8 @@ let SbbDatepickerToggleElement = (() => {
|
|
|
235
228
|
this._calendarElement.focus();
|
|
236
229
|
}
|
|
237
230
|
}}
|
|
238
|
-
|
|
231
|
+
trigger="trigger"
|
|
239
232
|
hide-close-button
|
|
240
|
-
${ref((el) => this._popoverElement = el)}
|
|
241
233
|
>
|
|
242
234
|
${this._renderCalendar ? html`<sbb-calendar
|
|
243
235
|
.view=${this.view}
|
|
@@ -304,4 +296,4 @@ let SbbDatepickerToggleElement = (() => {
|
|
|
304
296
|
export {
|
|
305
297
|
SbbDatepickerToggleElement
|
|
306
298
|
};
|
|
307
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci10b2dnbGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXItdG9nZ2xlL2RhdGVwaWNrZXItdG9nZ2xlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBpc1NlcnZlciwgTGl0RWxlbWVudCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYk1pbmlCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uL21pbmktYnV0dG9uLmpzJztcbmltcG9ydCB0eXBlIHsgQ2FsZW5kYXJWaWV3LCBTYmJDYWxlbmRhckVsZW1lbnQgfSBmcm9tICcuLi8uLi9jYWxlbmRhci5qcyc7XG5pbXBvcnQgeyBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBpMThuU2hvd0NhbGVuZGFyIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluLCBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEYXRlSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZGF0ZS1pbnB1dC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlBvcG92ZXJFbGVtZW50IH0gZnJvbSAnLi4vLi4vcG9wb3Zlci9wb3BvdmVyLmpzJztcbmltcG9ydCB7IFNiYkRhdGVwaWNrZXJBc3NvY2lhdGlvbkNvbnRyb2xDb250cm9sbGVyLCB0eXBlIFNiYkRhdGVwaWNrZXJDb250cm9sIH0gZnJvbSAnLi4vY29tbW9uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGF0ZXBpY2tlckVsZW1lbnQgfSBmcm9tICcuLi9kYXRlcGlja2VyLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGF0ZXBpY2tlci10b2dnbGUuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9jYWxlbmRhci5qcyc7XG5pbXBvcnQgJy4uLy4uL3BvcG92ZXIvcG9wb3Zlci5qcyc7XG5pbXBvcnQgJy4uLy4uL2J1dHRvbi9taW5pLWJ1dHRvbi5qcyc7XG5cbmNvbnN0IGlzRGF0ZUlucHV0ID0gPFQ+KFxuICBlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgU2JiRGF0ZUlucHV0RWxlbWVudDxUPiB8IG51bGwsXG4pOiBlbGVtZW50IGlzIFNiYkRhdGVJbnB1dEVsZW1lbnQ8VD4gPT4gZWxlbWVudD8ubG9jYWxOYW1lID09PSAnc2JiLWRhdGUtaW5wdXQnO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBgc2JiLWRhdGVwaWNrZXJgLCBpdCBjYW4gYmUgdXNlZCB0byBzZWxlY3QgYSBkYXRlIGZyb20gYSBgc2JiLWNhbGVuZGFyYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWRhdGVwaWNrZXItdG9nZ2xlJylcbmNsYXNzIFNiYkRhdGVwaWNrZXJUb2dnbGVFbGVtZW50PFQgPSBEYXRlPlxuICBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiSHlkcmF0aW9uTWl4aW4oTGl0RWxlbWVudCkpXG4gIGltcGxlbWVudHMgU2JiRGF0ZXBpY2tlckNvbnRyb2w8VD5cbntcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqXG4gICAqIERhdGVwaWNrZXIgcmVmZXJlbmNlLlxuICAgKiBAaW50ZXJuYWxcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHByb3BlcnR5L2F0dHJpYnV0ZSBgZGF0ZXBpY2tlcmAgaW5zdGVhZC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2RhdGUtcGlja2VyJyB9KVxuICBwdWJsaWMgc2V0IGRhdGVQaWNrZXIodmFsdWU6IHN0cmluZyB8IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+IHwgbnVsbCkge1xuICAgIGlmIChpbXBvcnQubWV0YS5lbnYuREVWKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBQcm9wZXJ0eSBkYXRlUGlja2VyL0F0dHJpYnV0ZSBkYXRlLXBpY2tlciBpcyBkZXByZWNhdGVkLiBVc2UgJ2RhdGVwaWNrZXInIGluc3RlYWQuYCxcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuZGF0ZXBpY2tlciA9IHZhbHVlIGFzIHVua25vd24gYXMgU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4gfCBudWxsO1xuICB9XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHVibGljIGdldCBkYXRlUGlja2VyKCk6IHN0cmluZyB8IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZXBpY2tlcjtcbiAgfVxuXG4gIC8qKiBEYXRlcGlja2VyIHJlZmVyZW5jZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGF0ZXBpY2tlcicgfSlcbiAgcHVibGljIHNldCBkYXRlcGlja2VyKHZhbHVlOiBTYmJEYXRlcGlja2VyRWxlbWVudDxUPiB8IG51bGwpIHtcbiAgICB0aGlzLl9kYXRlcGlja2VyID1cbiAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcbiAgICAgICAgPyAoKHRoaXMuZ2V0Um9vdE5vZGU/LigpIGFzIFBhcmVudE5vZGUpPy5xdWVyeVNlbGVjdG9yPy4oYCMke3ZhbHVlfWApID8/IG51bGwpXG4gICAgICAgIDogdmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBkYXRlcGlja2VyKCk6IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGVwaWNrZXIgPz8gbnVsbDtcbiAgfVxuICBwcml2YXRlIF9kYXRlcGlja2VyPzogU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4gfCBudWxsO1xuXG4gIC8qKiBUaGUgaW5pdGlhbCB2aWV3IG9mIGNhbGVuZGFyIHdoaWNoIHNob3VsZCBiZSBkaXNwbGF5ZWQgb24gb3BlbmluZy4gKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGFjY2Vzc29yIHZpZXc6IENhbGVuZGFyVmlldyA9ICdkYXknO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfbWluOiBUIHwgc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfbWF4OiBUIHwgc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfcmVuZGVyQ2FsZW5kYXIgPSBmYWxzZTtcblxuICBwcml2YXRlIF9jYWxlbmRhckVsZW1lbnQhOiBTYmJDYWxlbmRhckVsZW1lbnQ8VD47XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50ITogU2JiTWluaUJ1dHRvbkVsZW1lbnQ7XG4gIHByaXZhdGUgX3BvcG92ZXJFbGVtZW50ITogU2JiUG9wb3ZlckVsZW1lbnQ7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZENvbnRyb2xsZXIobmV3IFNiYkRhdGVwaWNrZXJBc3NvY2lhdGlvbkNvbnRyb2xDb250cm9sbGVyKHRoaXMpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5jb21wb3NlZFBhdGgoKVswXSA9PT0gdGhpcykge1xuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT4gKHRoaXMuX3JlbmRlckNhbGVuZGFyID0gdHJ1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3Rvcignc2JiLW1pbmktYnV0dG9uJykhO1xuICAgIH1cbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5zbG90IHx8PSAncHJlZml4JztcbiAgICBjb25zdCBmb3JtRmllbGQgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLWZvcm0tZmllbGQnKSA/PyB0aGlzLmNsb3Nlc3Q/LignW2RhdGEtZm9ybS1maWVsZF0nKTtcbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gZm9ybUZpZWxkLmhhc0F0dHJpYnV0ZSgnbmVnYXRpdmUnKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICBpZiAodGhpcy5kYXRlcGlja2VyKSB7XG4gICAgICB0aGlzLl9kaXNhYmxlZCA9XG4gICAgICAgICh0aGlzLmRhdGVwaWNrZXIuaW5wdXRFbGVtZW50Py5kaXNhYmxlZCB8fCB0aGlzLmRhdGVwaWNrZXIuaW5wdXRFbGVtZW50Py5yZWFkT25seSkgPz8gdHJ1ZTtcbiAgICAgIHRoaXMuX21pbiA9IHRoaXMuZGF0ZXBpY2tlci5pbnB1dEVsZW1lbnQ/Lm1pbjtcbiAgICAgIHRoaXMuX21heCA9IHRoaXMuZGF0ZXBpY2tlci5pbnB1dEVsZW1lbnQ/Lm1heDtcblxuICAgICAgdGhpcy5fY29uZmlndXJlQ2FsZW5kYXIoKTtcbiAgICAgIGlmICh0aGlzLl9jYWxlbmRhckVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LnNlbGVjdGVkID0gdGhpcy5kYXRlcGlja2VyLnZhbHVlQXNEYXRlID8/IG51bGw7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2Rpc2FibGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuX21pbiA9IG51bGw7XG4gICAgICB0aGlzLl9tYXggPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZUNhbGVuZGFyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY2FsZW5kYXJFbGVtZW50IHx8ICF0aGlzLmRhdGVwaWNrZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LndpZGUgPSB0aGlzLmRhdGVwaWNrZXIud2lkZTtcbiAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQubm93ID0gdGhpcy5fbm93T3JOdWxsKCk7XG4gICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LmRhdGVGaWx0ZXIgPSB0aGlzLmRhdGVwaWNrZXIuZGF0ZUZpbHRlcjtcbiAgfVxuXG4gIHByaXZhdGUgX2Fzc2lnbkNhbGVuZGFyKGNhbGVuZGFyOiBTYmJDYWxlbmRhckVsZW1lbnQ8VD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY2FsZW5kYXJFbGVtZW50ICYmIHRoaXMuX2NhbGVuZGFyRWxlbWVudCA9PT0gY2FsZW5kYXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50ID0gY2FsZW5kYXI7XG4gICAgaWYgKCEoJ3ZhbHVlQXNEYXRlJyBpbiAodGhpcy5kYXRlcGlja2VyID8/IHt9KSkgfHwgIXRoaXMuX2NhbGVuZGFyRWxlbWVudD8ucmVzZXRQb3NpdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQuc2VsZWN0ZWQgPSB0aGlzLmRhdGVwaWNrZXIhLnZhbHVlQXNEYXRlID8/IG51bGw7XG4gICAgdGhpcy5fY29uZmlndXJlQ2FsZW5kYXIoKTtcbiAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQucmVzZXRQb3NpdGlvbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9wb3BvdmVyRWxlbWVudC50cmlnZ2VyID0gdGhpcy5fdHJpZ2dlckVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIF9ub3dPck51bGwoKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmRhdGVwaWNrZXI/Lmhhc0N1c3RvbU5vdygpID8gdGhpcy5kYXRlcGlja2VyLm5vdyA6IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzYmItbWluaS1idXR0b25cbiAgICAgICAgY2xhc3M9XCJzYmItZGF0ZXBpY2tlci10b2dnbGVfX3RyaWdnZXJcIlxuICAgICAgICBpY29uLW5hbWU9XCJjYWxlbmRhci1zbWFsbFwiXG4gICAgICAgIGFyaWEtbGFiZWw9JHtpMThuU2hvd0NhbGVuZGFyW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICA/ZGlzYWJsZWQ9JHshaXNTZXJ2ZXIgJiYgKCF0aGlzLmRhdGVwaWNrZXIgfHwgdGhpcy5fZGlzYWJsZWQpfVxuICAgICAgICA/bmVnYXRpdmU9JHt0aGlzLm5lZ2F0aXZlfVxuICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBlbCBhcyBTYmJNaW5pQnV0dG9uRWxlbWVudCkpfVxuICAgICAgPjwvc2JiLW1pbmktYnV0dG9uPlxuICAgICAgPHNiYi1wb3BvdmVyXG4gICAgICAgIEB3aWxsT3Blbj0keygpID0+IHRoaXMuX2NhbGVuZGFyRWxlbWVudC5yZXNldFBvc2l0aW9uKCl9XG4gICAgICAgIEBkaWRPcGVuPSR7KCkgPT4ge1xuICAgICAgICAgIGlmIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgICAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIC50cmlnZ2VyPSR7dGhpcy5fdHJpZ2dlckVsZW1lbnR9XG4gICAgICAgIGhpZGUtY2xvc2UtYnV0dG9uXG4gICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl9wb3BvdmVyRWxlbWVudCA9IGVsIGFzIFNiYlBvcG92ZXJFbGVtZW50KSl9XG4gICAgICA+XG4gICAgICAgICR7dGhpcy5fcmVuZGVyQ2FsZW5kYXJcbiAgICAgICAgICA/IGh0bWxgPHNiYi1jYWxlbmRhclxuICAgICAgICAgICAgICAudmlldz0ke3RoaXMudmlld31cbiAgICAgICAgICAgICAgLm1pbj0ke3RoaXMuX21pbn1cbiAgICAgICAgICAgICAgLm1heD0ke3RoaXMuX21heH1cbiAgICAgICAgICAgICAgLm5vdz0ke3RoaXMuX25vd09yTnVsbCgpfVxuICAgICAgICAgICAgICA/d2lkZT0ke3RoaXMuZGF0ZXBpY2tlcj8ud2lkZX1cbiAgICAgICAgICAgICAgLmRhdGVGaWx0ZXI9JHt0aGlzLmRhdGVwaWNrZXI/LmRhdGVGaWx0ZXIgPz8gbnVsbH1cbiAgICAgICAgICAgICAgQGRhdGVTZWxlY3RlZD0keyhkOiBDdXN0b21FdmVudDxUPikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NhbGVuZGFyRWxlbWVudC5zZWxlY3RlZCA9IGQuZGV0YWlsO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGVwaWNrZXIpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5kYXRlcGlja2VyLmlucHV0RWxlbWVudDtcbiAgICAgICAgICAgICAgICAgIGlmIChpc0RhdGVJbnB1dChpbnB1dCkpIHtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQudmFsdWVBc0RhdGUgPSBkLmRldGFpbDtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgSW5wdXRFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2NoYW5nZScsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgICAgICAgICAgICAgICAvLyBFbWl0IGJsdXIgZXZlbnQgd2hlbiB2YWx1ZSBpcyBjaGFuZ2VkIHByb2dyYW1tYXRpY2FsbHkgdG8gbm90aWZ5XG4gICAgICAgICAgICAgICAgICAgIC8vIGZyYW1ld29ya3MgdGhhdCByZWx5IG9uIHRoYXQgZXZlbnQgdG8gdXBkYXRlIGZvcm0gc3RhdHVzLlxuICAgICAgICAgICAgICAgICAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmx1cicsIHsgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyLnZhbHVlQXNEYXRlID0gZC5kZXRhaWw7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAke3JlZigoY2FsZW5kYXI/OiBFbGVtZW50KSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuX2Fzc2lnbkNhbGVuZGFyKGNhbGVuZGFyIGFzIFNiYkNhbGVuZGFyRWxlbWVudDxUPiksXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA+PC9zYmItY2FsZW5kYXI+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgIDwvc2JiLXBvcG92ZXI+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRhdGVwaWNrZXItdG9nZ2xlJzogU2JiRGF0ZXBpY2tlclRvZ2dsZUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0JBLE1BQU0sY0FBYyxDQUNsQixhQUNzQyxtQ0FBUyxlQUFjO0lBT3pELDhCQUEwQixNQUFBOzswQkFEL0IsY0FBYyx1QkFBdUIsQ0FBQzs7OztBQUU3QixNQUFBLGNBQUEsaUJBQWlCLGtCQUFrQixVQUFVLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBdEQsRUFBQSxtQkFBUSxZQUErQztBQUFBLElBcUR2RCxjQUFBOzs7QUFmWTtBQUVIO0FBRUE7QUFFQTtBQUVBO0FBWFUsV0FBQSxjQXBDZjtBQXVDd0IseUJBQUEs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
|
|
299
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci10b2dnbGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXItdG9nZ2xlL2RhdGVwaWNrZXItdG9nZ2xlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBpc1NlcnZlciwgTGl0RWxlbWVudCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgdHlwZSB7IENhbGVuZGFyVmlldywgU2JiQ2FsZW5kYXJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY2FsZW5kYXIuanMnO1xuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaTE4blNob3dDYWxlbmRhciB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiwgU2JiTmVnYXRpdmVNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGF0ZUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2RhdGUtaW5wdXQuanMnO1xuaW1wb3J0IHsgU2JiRGF0ZXBpY2tlckFzc29jaWF0aW9uQ29udHJvbENvbnRyb2xsZXIsIHR5cGUgU2JiRGF0ZXBpY2tlckNvbnRyb2wgfSBmcm9tICcuLi9jb21tb24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEYXRlcGlja2VyRWxlbWVudCB9IGZyb20gJy4uL2RhdGVwaWNrZXIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kYXRlcGlja2VyLXRvZ2dsZS5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2NhbGVuZGFyLmpzJztcbmltcG9ydCAnLi4vLi4vcG9wb3Zlci9wb3BvdmVyLmpzJztcbmltcG9ydCAnLi4vLi4vYnV0dG9uL21pbmktYnV0dG9uLmpzJztcblxuY29uc3QgaXNEYXRlSW5wdXQgPSA8VD4oXG4gIGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBTYmJEYXRlSW5wdXRFbGVtZW50PFQ+IHwgbnVsbCxcbik6IGVsZW1lbnQgaXMgU2JiRGF0ZUlucHV0RWxlbWVudDxUPiA9PiBlbGVtZW50Py5sb2NhbE5hbWUgPT09ICdzYmItZGF0ZS1pbnB1dCc7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIGBzYmItZGF0ZXBpY2tlcmAsIGl0IGNhbiBiZSB1c2VkIHRvIHNlbGVjdCBhIGRhdGUgZnJvbSBhIGBzYmItY2FsZW5kYXJgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItZGF0ZXBpY2tlci10b2dnbGUnKVxuY2xhc3MgU2JiRGF0ZXBpY2tlclRvZ2dsZUVsZW1lbnQ8VCA9IERhdGU+XG4gIGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSlcbiAgaW1wbGVtZW50cyBTYmJEYXRlcGlja2VyQ29udHJvbDxUPlxue1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogRGF0ZXBpY2tlciByZWZlcmVuY2UuXG4gICAqIEBpbnRlcm5hbFxuICAgKiBAZGVwcmVjYXRlZCBVc2UgcHJvcGVydHkvYXR0cmlidXRlIGBkYXRlcGlja2VyYCBpbnN0ZWFkLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGF0ZS1waWNrZXInIH0pXG4gIHB1YmxpYyBzZXQgZGF0ZVBpY2tlcih2YWx1ZTogc3RyaW5nIHwgU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4gfCBudWxsKSB7XG4gICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFByb3BlcnR5IGRhdGVQaWNrZXIvQXR0cmlidXRlIGRhdGUtcGlja2VyIGlzIGRlcHJlY2F0ZWQuIFVzZSAnZGF0ZXBpY2tlcicgaW5zdGVhZC5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5kYXRlcGlja2VyID0gdmFsdWUgYXMgdW5rbm93biBhcyBTYmJEYXRlcGlja2VyRWxlbWVudDxUPiB8IG51bGw7XG4gIH1cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXIoKTogc3RyaW5nIHwgU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5kYXRlcGlja2VyO1xuICB9XG5cbiAgLyoqIERhdGVwaWNrZXIgcmVmZXJlbmNlLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdkYXRlcGlja2VyJyB9KVxuICBwdWJsaWMgc2V0IGRhdGVwaWNrZXIodmFsdWU6IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+IHwgbnVsbCkge1xuICAgIHRoaXMuX2RhdGVwaWNrZXIgPVxuICAgICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJ1xuICAgICAgICA/ICgodGhpcy5nZXRSb290Tm9kZT8uKCkgYXMgUGFyZW50Tm9kZSk/LnF1ZXJ5U2VsZWN0b3I/LihgIyR7dmFsdWV9YCkgPz8gbnVsbClcbiAgICAgICAgOiB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IGRhdGVwaWNrZXIoKTogU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0ZXBpY2tlciA/PyBudWxsO1xuICB9XG4gIHByaXZhdGUgX2RhdGVwaWNrZXI/OiBTYmJEYXRlcGlja2VyRWxlbWVudDxUPiB8IG51bGw7XG5cbiAgLyoqIFRoZSBpbml0aWFsIHZpZXcgb2YgY2FsZW5kYXIgd2hpY2ggc2hvdWxkIGJlIGRpc3BsYXllZCBvbiBvcGVuaW5nLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgdmlldzogQ2FsZW5kYXJWaWV3ID0gJ2RheSc7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9taW46IFQgfCBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9tYXg6IFQgfCBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9yZW5kZXJDYWxlbmRhciA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2NhbGVuZGFyRWxlbWVudCE6IFNiYkNhbGVuZGFyRWxlbWVudDxUPjtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihuZXcgU2JiRGF0ZXBpY2tlckFzc29jaWF0aW9uQ29udHJvbENvbnRyb2xsZXIodGhpcykpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsIChldmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmNvbXBvc2VkUGF0aCgpWzBdID09PSB0aGlzKSB7XG4gICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PiAodGhpcy5fcmVuZGVyQ2FsZW5kYXIgPSB0cnVlKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBjYWxlbmRhci5cbiAgICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3Rvcignc2JiLW1pbmktYnV0dG9uJykhLmNsaWNrKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnNsb3QgfHw9ICdwcmVmaXgnO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpID8/IHRoaXMuY2xvc2VzdD8uKCdbZGF0YS1mb3JtLWZpZWxkXScpO1xuICAgIGlmIChmb3JtRmllbGQpIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSBmb3JtRmllbGQuaGFzQXR0cmlidXRlKCduZWdhdGl2ZScpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIGlmICh0aGlzLmRhdGVwaWNrZXIpIHtcbiAgICAgIHRoaXMuX2Rpc2FibGVkID1cbiAgICAgICAgKHRoaXMuZGF0ZXBpY2tlci5pbnB1dEVsZW1lbnQ/LmRpc2FibGVkIHx8IHRoaXMuZGF0ZXBpY2tlci5pbnB1dEVsZW1lbnQ/LnJlYWRPbmx5KSA/PyB0cnVlO1xuICAgICAgdGhpcy5fbWluID0gdGhpcy5kYXRlcGlja2VyLmlucHV0RWxlbWVudD8ubWluO1xuICAgICAgdGhpcy5fbWF4ID0gdGhpcy5kYXRlcGlja2VyLmlucHV0RWxlbWVudD8ubWF4O1xuXG4gICAgICB0aGlzLl9jb25maWd1cmVDYWxlbmRhcigpO1xuICAgICAgaWYgKHRoaXMuX2NhbGVuZGFyRWxlbWVudCkge1xuICAgICAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQuc2VsZWN0ZWQgPSB0aGlzLmRhdGVwaWNrZXIudmFsdWVBc0RhdGUgPz8gbnVsbDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgdGhpcy5fbWluID0gbnVsbDtcbiAgICAgIHRoaXMuX21heCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlQ2FsZW5kYXIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9jYWxlbmRhckVsZW1lbnQgfHwgIXRoaXMuZGF0ZXBpY2tlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQud2lkZSA9IHRoaXMuZGF0ZXBpY2tlci53aWRlO1xuICAgIHRoaXMuX2NhbGVuZGFyRWxlbWVudC5ub3cgPSB0aGlzLl9ub3dPck51bGwoKTtcbiAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQuZGF0ZUZpbHRlciA9IHRoaXMuZGF0ZXBpY2tlci5kYXRlRmlsdGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXNzaWduQ2FsZW5kYXIoY2FsZW5kYXI6IFNiYkNhbGVuZGFyRWxlbWVudDxUPik6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jYWxlbmRhckVsZW1lbnQgJiYgdGhpcy5fY2FsZW5kYXJFbGVtZW50ID09PSBjYWxlbmRhcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQgPSBjYWxlbmRhcjtcbiAgICBpZiAoISgndmFsdWVBc0RhdGUnIGluICh0aGlzLmRhdGVwaWNrZXIgPz8ge30pKSB8fCAhdGhpcy5fY2FsZW5kYXJFbGVtZW50Py5yZXNldFBvc2l0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2NhbGVuZGFyRWxlbWVudC5zZWxlY3RlZCA9IHRoaXMuZGF0ZXBpY2tlciEudmFsdWVBc0RhdGUgPz8gbnVsbDtcbiAgICB0aGlzLl9jb25maWd1cmVDYWxlbmRhcigpO1xuICAgIHRoaXMuX2NhbGVuZGFyRWxlbWVudC5yZXNldFBvc2l0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIF9ub3dPck51bGwoKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmRhdGVwaWNrZXI/Lmhhc0N1c3RvbU5vdygpID8gdGhpcy5kYXRlcGlja2VyLm5vdyA6IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzYmItbWluaS1idXR0b25cbiAgICAgICAgY2xhc3M9XCJzYmItZGF0ZXBpY2tlci10b2dnbGVfX3RyaWdnZXJcIlxuICAgICAgICBpY29uLW5hbWU9XCJjYWxlbmRhci1zbWFsbFwiXG4gICAgICAgIGFyaWEtbGFiZWw9JHtpMThuU2hvd0NhbGVuZGFyW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICA/ZGlzYWJsZWQ9JHshaXNTZXJ2ZXIgJiYgKCF0aGlzLmRhdGVwaWNrZXIgfHwgdGhpcy5fZGlzYWJsZWQpfVxuICAgICAgICA/bmVnYXRpdmU9JHt0aGlzLm5lZ2F0aXZlfVxuICAgICAgICBpZD1cInRyaWdnZXJcIlxuICAgICAgPjwvc2JiLW1pbmktYnV0dG9uPlxuICAgICAgPHNiYi1wb3BvdmVyXG4gICAgICAgIEB3aWxsT3Blbj0keygpID0+IHRoaXMuX2NhbGVuZGFyRWxlbWVudC5yZXNldFBvc2l0aW9uKCl9XG4gICAgICAgIEBkaWRPcGVuPSR7KCkgPT4ge1xuICAgICAgICAgIGlmIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgICAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIHRyaWdnZXI9XCJ0cmlnZ2VyXCJcbiAgICAgICAgaGlkZS1jbG9zZS1idXR0b25cbiAgICAgID5cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJDYWxlbmRhclxuICAgICAgICAgID8gaHRtbGA8c2JiLWNhbGVuZGFyXG4gICAgICAgICAgICAgIC52aWV3PSR7dGhpcy52aWV3fVxuICAgICAgICAgICAgICAubWluPSR7dGhpcy5fbWlufVxuICAgICAgICAgICAgICAubWF4PSR7dGhpcy5fbWF4fVxuICAgICAgICAgICAgICAubm93PSR7dGhpcy5fbm93T3JOdWxsKCl9XG4gICAgICAgICAgICAgID93aWRlPSR7dGhpcy5kYXRlcGlja2VyPy53aWRlfVxuICAgICAgICAgICAgICAuZGF0ZUZpbHRlcj0ke3RoaXMuZGF0ZXBpY2tlcj8uZGF0ZUZpbHRlciA/PyBudWxsfVxuICAgICAgICAgICAgICBAZGF0ZVNlbGVjdGVkPSR7KGQ6IEN1c3RvbUV2ZW50PFQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LnNlbGVjdGVkID0gZC5kZXRhaWw7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0ZXBpY2tlcikge1xuICAgICAgICAgICAgICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLmRhdGVwaWNrZXIuaW5wdXRFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgaWYgKGlzRGF0ZUlucHV0KGlucHV0KSkge1xuICAgICAgICAgICAgICAgICAgICBpbnB1dC52YWx1ZUFzRGF0ZSA9IGQuZGV0YWlsO1xuICAgICAgICAgICAgICAgICAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgICAgICAgICAgICAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIEVtaXQgYmx1ciBldmVudCB3aGVuIHZhbHVlIGlzIGNoYW5nZWQgcHJvZ3JhbW1hdGljYWxseSB0byBub3RpZnlcbiAgICAgICAgICAgICAgICAgICAgLy8gZnJhbWV3b3JrcyB0aGF0IHJlbHkgb24gdGhhdCBldmVudCB0byB1cGRhdGUgZm9ybSBzdGF0dXMuXG4gICAgICAgICAgICAgICAgICAgIGlucHV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdibHVyJywgeyBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGVwaWNrZXIudmFsdWVBc0RhdGUgPSBkLmRldGFpbDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICR7cmVmKChjYWxlbmRhcj86IEVsZW1lbnQpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5fYXNzaWduQ2FsZW5kYXIoY2FsZW5kYXIgYXMgU2JiQ2FsZW5kYXJFbGVtZW50PFQ+KSxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgID48L3NiYi1jYWxlbmRhcj5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgPC9zYmItcG9wb3Zlcj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGF0ZXBpY2tlci10b2dnbGUnOiBTYmJEYXRlcGlja2VyVG9nZ2xlRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsTUFBTSxjQUFjLENB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
|