@sbb-esta/lyne-elements 2.2.0 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion.js +6 -6
- package/alert/alert-group.js +4 -4
- package/alert/alert.js +9 -9
- package/autocomplete/autocomplete-base-element.d.ts +1 -0
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/autocomplete/autocomplete.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button.js +4 -4
- package/autocomplete-grid/autocomplete-grid-optgroup.js +4 -4
- package/autocomplete-grid/autocomplete-grid-row.js +4 -4
- package/autocomplete-grid/autocomplete-grid.js +0 -1
- package/autocomplete.js +29 -29
- package/badge.css +31 -0
- package/breadcrumb/breadcrumb-group.js +4 -4
- package/breadcrumb/breadcrumb.js +19 -19
- package/button/accent-button-link.js +9 -9
- package/button/accent-button-static.js +6 -6
- package/button/accent-button.js +6 -6
- package/button/button-link.js +7 -7
- package/button/button-static.js +7 -7
- package/button/button.js +8 -8
- package/button/common/button-common.d.ts.map +1 -1
- package/button/common.js +1 -1
- package/button/mini-button-group.js +8 -8
- package/button/secondary-button-link.js +7 -7
- package/button/secondary-button-static.js +7 -7
- package/button/secondary-button.js +3 -3
- package/button/transparent-button-link.js +6 -6
- package/button/transparent-button-static.js +5 -5
- package/button/transparent-button.js +6 -6
- package/calendar/calendar.d.ts +55 -11
- package/calendar/calendar.d.ts.map +1 -1
- package/calendar.js +374 -224
- package/card/card-badge.js +9 -9
- package/card/card-button.js +5 -5
- package/card/card-link.js +7 -7
- package/card/card.js +1 -1
- package/card/common/card-action-common.d.ts.map +1 -1
- package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/checkbox/checkbox-group.js +1 -1
- package/checkbox/checkbox-panel.js +16 -16
- package/checkbox/checkbox.js +15 -15
- package/checkbox/common/checkbox-common.d.ts.map +1 -1
- package/checkbox/common.js +3 -3
- package/clock.js +8 -8
- package/container/container.js +4 -4
- package/core/base-elements.js +10 -10
- package/core/controllers/escapable-overlay-controller.d.ts +11 -0
- package/core/controllers/escapable-overlay-controller.d.ts.map +1 -0
- package/core/controllers.d.ts +1 -0
- package/core/controllers.d.ts.map +1 -1
- package/core/controllers.js +73 -47
- package/core/datetime/date-adapter.d.ts +4 -2
- package/core/datetime/date-adapter.d.ts.map +1 -1
- package/core/datetime/native-date-adapter.d.ts +1 -1
- package/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/core/datetime.js +51 -43
- package/core/decorators/date-converter.d.ts +8 -0
- package/core/decorators/date-converter.d.ts.map +1 -0
- package/core/decorators/date-only-type.d.ts +8 -0
- package/core/decorators/date-only-type.d.ts.map +1 -0
- package/core/decorators/get-override.d.ts.map +1 -1
- package/core/decorators/handle-distinct-change.d.ts.map +1 -1
- package/core/decorators/host-attributes.d.ts.map +1 -1
- package/core/decorators/slot-state.d.ts.map +1 -1
- package/core/decorators.d.ts +2 -0
- package/core/decorators.d.ts.map +1 -1
- package/core/decorators.js +52 -31
- package/core/dom/input-element.d.ts +1 -1
- package/core/dom/input-element.d.ts.map +1 -1
- package/core/dom.js +5 -5
- package/core/eventing/throttle.d.ts.map +1 -1
- package/core/eventing.js +4 -4
- package/core/i18n/i18n.d.ts +6 -0
- package/core/i18n/i18n.d.ts.map +1 -1
- package/core/i18n.js +106 -70
- package/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/core/mixins/form-associated-input-mixin.d.ts +25 -0
- package/core/mixins/form-associated-input-mixin.d.ts.map +1 -0
- package/core/mixins/form-associated-mixin.d.ts +16 -0
- package/core/mixins/form-associated-mixin.d.ts.map +1 -1
- package/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
- package/core/mixins/hydration-mixin.d.ts.map +1 -1
- package/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
- package/core/mixins/negative-mixin.d.ts.map +1 -1
- package/core/mixins/panel-mixin.d.ts.map +1 -1
- package/core/mixins/required-mixin.d.ts.map +1 -1
- package/core/mixins/update-scheduler-mixin.d.ts.map +1 -1
- package/core/mixins.d.ts +1 -0
- package/core/mixins.d.ts.map +1 -1
- package/core/mixins.js +574 -295
- package/core/styles/badge.scss +3 -0
- package/core/styles/core.scss +3 -1
- package/core/styles/mixins/badge.scss +26 -1
- package/core/styles/mixins/font-face.scss +12 -12
- package/core/styles/mixins/link.scss +32 -8
- package/core/styles/standard-theme.scss +1 -0
- package/core/testing/mocha-extensions.d.ts.map +1 -1
- package/core/testing/wait-for-render.d.ts.map +1 -1
- package/core/testing.js +14 -14
- package/core.css +5 -5
- package/custom-elements.json +28284 -17221
- package/date-input/date-input.d.ts +67 -0
- package/date-input/date-input.d.ts.map +1 -0
- package/date-input.d.ts +2 -0
- package/date-input.d.ts.map +1 -0
- package/date-input.js +149 -0
- package/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/datepicker/common.js +49 -45
- package/datepicker/datepicker/datepicker.d.ts +16 -6
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/datepicker/datepicker-toggle.js +43 -40
- package/datepicker/datepicker.js +94 -76
- package/development/alert/alert-group.js +1 -1
- package/development/alert/alert.js +1 -1
- package/development/autocomplete/autocomplete-base-element.d.ts +1 -0
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete/autocomplete.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid.js +1 -2
- package/development/autocomplete.js +10 -5
- package/development/breadcrumb/breadcrumb.js +5 -2
- package/development/button/common/button-common.d.ts.map +1 -1
- package/development/button/common.js +18 -14
- package/development/calendar/calendar.d.ts +55 -11
- package/development/calendar/calendar.d.ts.map +1 -1
- package/development/calendar.js +302 -88
- package/development/card/card.js +1 -1
- package/development/card/common/card-action-common.d.ts.map +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/development/checkbox/checkbox-group.js +2 -2
- package/development/checkbox/checkbox-panel.js +1 -1
- package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
- package/development/core/controllers/escapable-overlay-controller.d.ts +11 -0
- package/development/core/controllers/escapable-overlay-controller.d.ts.map +1 -0
- package/development/core/controllers.d.ts +1 -0
- package/development/core/controllers.d.ts.map +1 -1
- package/development/core/controllers.js +36 -1
- package/development/core/datetime/date-adapter.d.ts +4 -2
- package/development/core/datetime/date-adapter.d.ts.map +1 -1
- package/development/core/datetime/native-date-adapter.d.ts +1 -1
- package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/development/core/datetime.js +14 -2
- package/development/core/decorators/date-converter.d.ts +8 -0
- package/development/core/decorators/date-converter.d.ts.map +1 -0
- package/development/core/decorators/date-only-type.d.ts +8 -0
- package/development/core/decorators/date-only-type.d.ts.map +1 -0
- package/development/core/decorators/get-override.d.ts.map +1 -1
- package/development/core/decorators/handle-distinct-change.d.ts.map +1 -1
- package/development/core/decorators/host-attributes.d.ts.map +1 -1
- package/development/core/decorators/slot-state.d.ts.map +1 -1
- package/development/core/decorators.d.ts +2 -0
- package/development/core/decorators.d.ts.map +1 -1
- package/development/core/decorators.js +23 -2
- package/development/core/dom/input-element.d.ts +1 -1
- package/development/core/dom/input-element.d.ts.map +1 -1
- package/development/core/dom.js +3 -3
- package/development/core/eventing/throttle.d.ts.map +1 -1
- package/development/core/i18n/i18n.d.ts +6 -0
- package/development/core/i18n/i18n.d.ts.map +1 -1
- package/development/core/i18n.js +43 -1
- package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-input-mixin.d.ts +25 -0
- package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -0
- package/development/core/mixins/form-associated-mixin.d.ts +16 -0
- package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
- package/development/core/mixins/hydration-mixin.d.ts.map +1 -1
- package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
- package/development/core/mixins/negative-mixin.d.ts.map +1 -1
- package/development/core/mixins/panel-mixin.d.ts.map +1 -1
- package/development/core/mixins/required-mixin.d.ts.map +1 -1
- package/development/core/mixins/update-scheduler-mixin.d.ts.map +1 -1
- package/development/core/mixins.d.ts +1 -0
- package/development/core/mixins.d.ts.map +1 -1
- package/development/core/mixins.js +460 -32
- package/development/core/testing/mocha-extensions.d.ts.map +1 -1
- package/development/core/testing/wait-for-render.d.ts.map +1 -1
- package/development/date-input/date-input.d.ts +67 -0
- package/development/date-input/date-input.d.ts.map +1 -0
- package/development/date-input.d.ts +2 -0
- package/development/date-input.d.ts.map +1 -0
- package/development/date-input.js +259 -0
- package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/development/datepicker/common.js +11 -2
- package/development/datepicker/datepicker/datepicker.d.ts +16 -6
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle.js +13 -4
- package/development/datepicker/datepicker.js +65 -39
- package/development/dialog/dialog/dialog.d.ts.map +1 -1
- package/development/dialog/dialog-title.js +1 -1
- package/development/dialog/dialog.js +3 -1
- package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-header.js +1 -1
- package/development/expansion-panel/expansion-panel.js +3 -3
- package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/development/file-selector/common.js +1 -1
- package/development/footer.js +1 -1
- package/development/form-field/form-field/form-field.d.ts +1 -1
- package/development/form-field/form-field/form-field.d.ts.map +1 -1
- package/development/form-field/form-field.js +23 -14
- package/development/header/common/header-action-common.d.ts.map +1 -1
- package/development/icon/icon-name-mixin.d.ts.map +1 -1
- package/development/icon/icon-request.d.ts.map +1 -1
- package/development/icon/icon-validate.d.ts.map +1 -1
- package/development/image.js +1 -1
- package/development/journey-header.js +1 -1
- package/development/link/common/block-link-common.d.ts.map +1 -1
- package/development/link/common/inline-link-common.d.ts.map +1 -1
- package/development/link/common/link-common.d.ts.map +1 -1
- package/development/link/common.js +19 -7
- package/development/link-list/common.js +1 -1
- package/development/map-container.js +1 -1
- package/development/menu/common/menu-action-common.d.ts +3 -0
- package/development/menu/common/menu-action-common.d.ts.map +1 -1
- package/development/menu/common.js +35 -12
- package/development/menu/menu/menu.d.ts +1 -1
- package/development/menu/menu/menu.d.ts.map +1 -1
- package/development/menu/menu.js +5 -15
- package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
- package/development/navigation/navigation/navigation.d.ts +1 -3
- package/development/navigation/navigation/navigation.d.ts.map +1 -1
- package/development/navigation/navigation-section.js +1 -1
- package/development/navigation/navigation.js +8 -21
- package/development/notification.js +1 -1
- package/development/overlay/overlay-base-element.d.ts +2 -2
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay/overlay.d.ts.map +1 -1
- package/development/overlay.js +7 -14
- package/development/paginator/common/paginator-common.d.ts.map +1 -1
- package/development/popover/popover/popover.d.ts +1 -1
- package/development/popover/popover/popover.d.ts.map +1 -1
- package/development/popover/popover.js +5 -15
- package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +2 -2
- package/development/radio-button/radio-button-panel.js +1 -1
- package/development/select/select.d.ts +6 -1
- package/development/select/select.d.ts.map +1 -1
- package/development/select.js +28 -6
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/development/selection-expansion-panel.js +2 -2
- package/development/skiplink-list.js +1 -1
- package/development/slider.js +1 -1
- package/development/stepper/step/step.d.ts +0 -2
- package/development/stepper/step/step.d.ts.map +1 -1
- package/development/stepper/step.js +1 -16
- package/development/stepper/stepper/stepper.d.ts +11 -0
- package/development/stepper/stepper/stepper.d.ts.map +1 -1
- package/development/stepper/stepper.js +30 -3
- package/development/tabs/tab-label.js +1 -1
- package/development/tag/tag/tag.d.ts +11 -0
- package/development/tag/tag/tag.d.ts.map +1 -1
- package/development/tag/tag-group/tag-group.d.ts +1 -1
- package/development/tag/tag-group/tag-group.d.ts.map +1 -1
- package/development/tag/tag-group.js +9 -3
- package/development/tag/tag.js +37 -10
- package/development/teaser-product/common/teaser-product-common.d.ts.map +1 -1
- package/development/timetable-occupancy.js +1 -1
- package/development/toast.js +1 -1
- package/development/toggle/toggle/toggle.d.ts +25 -6
- package/development/toggle/toggle/toggle.d.ts.map +1 -1
- package/development/toggle/toggle-option/toggle-option.d.ts +2 -6
- package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/development/toggle/toggle-option.js +21 -39
- package/development/toggle/toggle.js +57 -39
- package/development/train/train-formation.js +1 -1
- package/development/train/train.js +1 -1
- package/development/visual-checkbox.js +1 -1
- package/dialog/dialog/dialog.d.ts.map +1 -1
- package/dialog/dialog-content.js +3 -3
- package/dialog/dialog-title.js +8 -8
- package/dialog/dialog.js +2 -2
- package/divider.js +12 -12
- package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-header.js +1 -1
- package/expansion-panel/expansion-panel.js +2 -2
- package/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/file-selector/common.js +9 -9
- package/file-selector/file-selector-dropzone.js +5 -5
- package/file-selector/file-selector.js +6 -6
- package/flip-card/flip-card-details.js +4 -4
- package/flip-card/flip-card-summary.js +9 -9
- package/font-characters-extension.css +3 -3
- package/footer.js +4 -4
- package/form-field/form-field/form-field.d.ts +1 -1
- package/form-field/form-field/form-field.d.ts.map +1 -1
- package/form-field/form-field.js +32 -24
- package/header/common/header-action-common.d.ts.map +1 -1
- package/header/header-button.js +5 -5
- package/header/header-link.js +5 -5
- package/icon/icon-name-mixin.d.ts.map +1 -1
- package/icon/icon-request.d.ts.map +1 -1
- package/icon/icon-validate.d.ts.map +1 -1
- package/icon.js +36 -36
- package/image.js +1 -1
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/journey-header.js +5 -5
- package/link/block-link-button.js +4 -4
- package/link/block-link-static.js +9 -9
- package/link/block-link.js +4 -4
- package/link/common/block-link-common.d.ts.map +1 -1
- package/link/common/inline-link-common.d.ts.map +1 -1
- package/link/common/link-common.d.ts.map +1 -1
- package/link/common.js +28 -28
- package/link/link-button.js +7 -7
- package/link/link-static.js +7 -7
- package/link/link.js +4 -4
- package/link-list/common.js +15 -15
- package/loading-indicator-circle.js +11 -11
- package/map-container.js +5 -5
- package/menu/common/menu-action-common.d.ts +3 -0
- package/menu/common/menu-action-common.d.ts.map +1 -1
- package/menu/common.js +34 -30
- package/menu/menu/menu.d.ts +1 -1
- package/menu/menu/menu.d.ts.map +1 -1
- package/menu/menu-button.js +8 -8
- package/menu/menu-link.js +6 -6
- package/menu/menu.js +29 -38
- package/navigation/common/navigation-action-common.d.ts.map +1 -1
- package/navigation/navigation/navigation.d.ts +1 -3
- package/navigation/navigation/navigation.d.ts.map +1 -1
- package/navigation/navigation-button.js +4 -4
- package/navigation/navigation-link.js +7 -7
- package/navigation/navigation-list.js +4 -4
- package/navigation/navigation-marker.js +3 -3
- package/navigation/navigation-section.js +1 -1
- package/navigation/navigation.js +45 -54
- package/notification.js +18 -18
- package/option/optgroup.js +11 -11
- package/overlay/overlay-base-element.d.ts +2 -2
- package/overlay/overlay-base-element.d.ts.map +1 -1
- package/overlay/overlay.d.ts.map +1 -1
- package/overlay.js +57 -63
- package/package.json +11 -2
- package/paginator/common/paginator-common.d.ts.map +1 -1
- package/paginator/common.js +6 -6
- package/popover/popover/popover.d.ts +1 -1
- package/popover/popover/popover.d.ts.map +1 -1
- package/popover/popover.js +105 -114
- package/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +1 -1
- package/radio-button/radio-button-panel.js +6 -6
- package/screen-reader-only.js +5 -5
- package/select/select.d.ts +6 -1
- package/select/select.d.ts.map +1 -1
- package/select.js +52 -43
- package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/selection-expansion-panel.js +1 -1
- package/skiplink-list.js +3 -3
- package/slider.js +13 -13
- package/standard-theme.css +37 -5
- package/status.js +3 -3
- package/stepper/step/step.d.ts +0 -2
- package/stepper/step/step.d.ts.map +1 -1
- package/stepper/step-label.js +4 -4
- package/stepper/step.js +24 -36
- package/stepper/stepper/stepper.d.ts +11 -0
- package/stepper/stepper/stepper.d.ts.map +1 -1
- package/stepper/stepper.js +59 -41
- package/table/table-wrapper.js +4 -4
- package/tabs/tab-group.js +24 -24
- package/tabs/tab-label.js +1 -1
- package/tabs/tab.js +4 -4
- package/tag/tag/tag.d.ts +11 -0
- package/tag/tag/tag.d.ts.map +1 -1
- package/tag/tag-group/tag-group.d.ts +1 -1
- package/tag/tag-group/tag-group.d.ts.map +1 -1
- package/tag/tag-group.js +34 -31
- package/tag/tag.js +60 -41
- package/teaser-product/common/teaser-product-common.d.ts.map +1 -1
- package/teaser-product/common.js +5 -5
- package/teaser-product/teaser-product-static.js +2 -2
- package/timetable-occupancy-icon.js +3 -3
- package/timetable-occupancy.js +6 -6
- package/toast.js +5 -5
- package/toggle/toggle/toggle.d.ts +25 -6
- package/toggle/toggle/toggle.d.ts.map +1 -1
- package/toggle/toggle-option/toggle-option.d.ts +2 -6
- package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/toggle/toggle-option.js +44 -52
- package/toggle/toggle.js +103 -83
- package/toggle-check.js +5 -5
- package/train/train-formation.js +1 -1
- package/train/train.js +29 -29
- package/visual-checkbox.js +1 -1
|
@@ -13,7 +13,7 @@ import { customElement, property, state } from "lit/decorators.js";
|
|
|
13
13
|
import { ref } from "lit/directives/ref.js";
|
|
14
14
|
import { SbbFocusHandler, setModalityOnNextFocus } from "../core/a11y.js";
|
|
15
15
|
import { SbbOpenCloseBaseElement } from "../core/base-elements.js";
|
|
16
|
-
import { SbbLanguageController, SbbInertController } from "../core/controllers.js";
|
|
16
|
+
import { SbbLanguageController, SbbInertController, SbbEscapableOverlayController } from "../core/controllers.js";
|
|
17
17
|
import { hostAttributes, forceType } from "../core/decorators.js";
|
|
18
18
|
import { SbbScrollHandler, isZeroAnimationDuration, findReferencedElement } from "../core/dom.js";
|
|
19
19
|
import { i18nCloseNavigation } from "../core/i18n.js";
|
|
@@ -312,6 +312,7 @@ let SbbNavigationElement = (() => {
|
|
|
312
312
|
this._triggerElement = null;
|
|
313
313
|
this._language = new SbbLanguageController(this);
|
|
314
314
|
this._inertController = new SbbInertController(this);
|
|
315
|
+
this._sbbEscapableOverlayController = new SbbEscapableOverlayController(this);
|
|
315
316
|
this._focusHandler = new SbbFocusHandler();
|
|
316
317
|
this._scrollHandler = new SbbScrollHandler();
|
|
317
318
|
this._isPointerDownEventOnNavigation = false;
|
|
@@ -430,17 +431,17 @@ let SbbNavigationElement = (() => {
|
|
|
430
431
|
return isZeroAnimationDuration(this, "--sbb-navigation-animation-duration");
|
|
431
432
|
}
|
|
432
433
|
_handleClosing() {
|
|
433
|
-
var _a2, _b
|
|
434
|
+
var _a2, _b;
|
|
434
435
|
this.state = "closed";
|
|
435
436
|
(_a2 = this.hidePopover) == null ? void 0 : _a2.call(this);
|
|
436
437
|
this._navigationContentElement.scrollTo(0, 0);
|
|
437
438
|
setModalityOnNextFocus(this._triggerElement);
|
|
438
439
|
this._inertController.deactivate();
|
|
439
440
|
(_b = this._triggerElement) == null ? void 0 : _b.focus();
|
|
441
|
+
this._sbbEscapableOverlayController.disconnect();
|
|
440
442
|
this.didClose.emit();
|
|
441
443
|
this._navigationResizeObserver.unobserve(this);
|
|
442
444
|
this._resetMarkers();
|
|
443
|
-
(_c = this._windowEventsController) == null ? void 0 : _c.abort();
|
|
444
445
|
this._focusHandler.disconnect();
|
|
445
446
|
this._scrollHandler.enableScroll();
|
|
446
447
|
this.completeUpdate();
|
|
@@ -449,18 +450,17 @@ let SbbNavigationElement = (() => {
|
|
|
449
450
|
this.state = "opened";
|
|
450
451
|
this._navigationResizeObserver.observe(this);
|
|
451
452
|
this._inertController.activate();
|
|
453
|
+
this._sbbEscapableOverlayController.connect();
|
|
452
454
|
this._focusHandler.trap(this, { filter: this._trapFocusFilter });
|
|
453
|
-
this._attachWindowEvents();
|
|
454
455
|
this._setNavigationFocus();
|
|
455
456
|
this.completeUpdate();
|
|
456
457
|
this.didOpen.emit();
|
|
457
458
|
}
|
|
458
459
|
// Removes trigger click listener on trigger change.
|
|
459
460
|
_removeTriggerClickListener(newValue, oldValue) {
|
|
460
|
-
var _a2
|
|
461
|
+
var _a2;
|
|
461
462
|
if (newValue !== oldValue) {
|
|
462
463
|
(_a2 = this._navigationController) == null ? void 0 : _a2.abort();
|
|
463
|
-
(_b = this._windowEventsController) == null ? void 0 : _b.abort();
|
|
464
464
|
this._configure(this.trigger);
|
|
465
465
|
}
|
|
466
466
|
}
|
|
@@ -498,12 +498,6 @@ let SbbNavigationElement = (() => {
|
|
|
498
498
|
return (_a2 = action.marker) == null ? void 0 : _a2.reset();
|
|
499
499
|
});
|
|
500
500
|
}
|
|
501
|
-
_attachWindowEvents() {
|
|
502
|
-
this._windowEventsController = new AbortController();
|
|
503
|
-
window.addEventListener("keydown", (event) => this._onKeydownEvent(event), {
|
|
504
|
-
signal: this._windowEventsController.signal
|
|
505
|
-
});
|
|
506
|
-
}
|
|
507
501
|
_handleNavigationClose(event) {
|
|
508
502
|
const composedPathElements = event.composedPath().filter((el) => el instanceof window.HTMLElement);
|
|
509
503
|
if (composedPathElements.some((el) => this._isCloseElement(el))) {
|
|
@@ -513,12 +507,6 @@ let SbbNavigationElement = (() => {
|
|
|
513
507
|
_isCloseElement(element) {
|
|
514
508
|
return element.nodeName === "A" || element.hasAttribute("sbb-navigation-close") && !element.hasAttribute("disabled");
|
|
515
509
|
}
|
|
516
|
-
// Closes the navigation on "Esc" key pressed.
|
|
517
|
-
_onKeydownEvent(event) {
|
|
518
|
-
if (this.state === "opened" && event.key === "Escape") {
|
|
519
|
-
this.close();
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
510
|
// Set focus on the first focusable element.
|
|
523
511
|
_setNavigationFocus() {
|
|
524
512
|
const closeButton = this.shadowRoot.querySelector("#sbb-navigation-close-button");
|
|
@@ -550,10 +538,9 @@ let SbbNavigationElement = (() => {
|
|
|
550
538
|
this._configure(this.trigger);
|
|
551
539
|
}
|
|
552
540
|
disconnectedCallback() {
|
|
553
|
-
var _a2
|
|
541
|
+
var _a2;
|
|
554
542
|
super.disconnectedCallback();
|
|
555
543
|
(_a2 = this._navigationController) == null ? void 0 : _a2.abort();
|
|
556
|
-
(_b = this._windowEventsController) == null ? void 0 : _b.abort();
|
|
557
544
|
this._focusHandler.disconnect();
|
|
558
545
|
this._scrollHandler.enableScroll();
|
|
559
546
|
}
|
|
@@ -616,4 +603,4 @@ let SbbNavigationElement = (() => {
|
|
|
616
603
|
export {
|
|
617
604
|
SbbNavigationElement
|
|
618
605
|
};
|
|
619
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE11dGF0aW9uQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvbXV0YXRpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7IFNiYkZvY3VzSGFuZGxlciwgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJJbmVydENvbnRyb2xsZXIsIFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQge1xuICBmaW5kUmVmZXJlbmNlZEVsZW1lbnQsXG4gIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uLFxuICBTYmJTY3JvbGxIYW5kbGVyLFxufSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYlVwZGF0ZVNjaGVkdWxlck1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHtcbiAgaXNFdmVudE9uRWxlbWVudCxcbiAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbiAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbn0gZnJvbSAnLi4vLi4vY29yZS9vdmVybGF5LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWJ1dHRvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tbGluay5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL25hdmlnYXRpb24uc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9idXR0b24vdHJhbnNwYXJlbnQtYnV0dG9uLmpzJztcblxuLyoqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBhdHRyaWJ1dGUgdG8gbG9vayBhdCBpZiBhIG5hdmlnYXRpb24gc2VjdGlvbiBpcyBkaXNwbGF5ZWQgKi9cbmNvbnN0IG5hdmlnYXRpb25PYnNlcnZlckNvbmZpZzogTXV0YXRpb25PYnNlcnZlckluaXQgPSB7XG4gIHN1YnRyZWU6IHRydWUsXG4gIGF0dHJpYnV0ZUZpbHRlcjogWydkYXRhLXN0YXRlJ10sXG59O1xuXG5sZXQgbmV4dElkID0gMDtcbmNvbnN0IERFQk9VTkNFX1RJTUUgPSAxNTA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBuYXZpZ2F0aW9uIG1lbnUsIHdyYXBwaW5nIG9uZSBvciBtb3JlIGBzYmItbmF2aWdhdGlvbi0qYCBjb21wb25lbnRzLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItbmF2aWdhdGlvbi1idXR0b25gL2BzYmItbmF2aWdhdGlvbi1saW5rYCBlbGVtZW50cyBpbnRvIHRoZSBzYmItbmF2aWdhdGlvbiBtZW51LlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gd2lsbE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1uYXZpZ2F0aW9uYCBiZWdpbnMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5hdmlnYXRpb25gIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5hdmlnYXRpb25gIGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5hdmlnYXRpb25gIGlzIGNsb3NlZC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1uYXZpZ2F0aW9uLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW5hdmlnYXRpb24nKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgcm9sZTogJ25hdmlnYXRpb24nLFxuICBwb3BvdmVyOiAnbWFudWFsJyxcbn0pXG5jbGFzcyBTYmJOYXZpZ2F0aW9uRWxlbWVudCBleHRlbmRzIFNiYlVwZGF0ZVNjaGVkdWxlck1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgbmF2aWdhdGlvbi5cbiAgICogQWNjZXB0cyBib3RoIGEgc3RyaW5nIChpZCBvZiBhbiBlbGVtZW50KSBvciBhbiBIVE1MIGVsZW1lbnQuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHRyaWdnZXIodmFsdWU6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbCkge1xuICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5fdHJpZ2dlcjtcbiAgICB0aGlzLl90cmlnZ2VyID0gdmFsdWU7XG4gICAgdGhpcy5fcmVtb3ZlVHJpZ2dlckNsaWNrTGlzdGVuZXIodGhpcy5fdHJpZ2dlciwgb2xkVmFsdWUpO1xuICB9XG4gIHB1YmxpYyBnZXQgdHJpZ2dlcigpOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VyO1xuICB9XG4gIHByaXZhdGUgX3RyaWdnZXI6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgY2xvc2UgYnV0dG9uIGVsZW1lbnQuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1jbG9zZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogV2hldGhlciBhIG5hdmlnYXRpb24gc2VjdGlvbiBpcyBkaXNwbGF5ZWQuXG4gICAqL1xuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9hY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IGFjdGl2ZU5hdmlnYXRpb25TZWN0aW9uKCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBfbmF2aWdhdGlvbiE6IEhUTUxEaXZFbGVtZW50O1xuICBwcml2YXRlIF9uYXZpZ2F0aW9uQ29udGVudEVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX25hdmlnYXRpb25Db250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF93aW5kb3dFdmVudHNDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2luZXJ0Q29udHJvbGxlciA9IG5ldyBTYmJJbmVydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2ZvY3VzSGFuZGxlciA9IG5ldyBTYmJGb2N1c0hhbmRsZXIoKTtcbiAgcHJpdmF0ZSBfc2Nyb2xsSGFuZGxlciA9IG5ldyBTYmJTY3JvbGxIYW5kbGVyKCk7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uTmF2aWdhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlclRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX25hdmlnYXRpb25SZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy5fb25OYXZpZ2F0aW9uUmVzaXplKCksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsIChldmVudCkgPT4gdGhpcy5faGFuZGxlTmF2aWdhdGlvbkNsb3NlKGV2ZW50KSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJ1cCcsIChldmVudCkgPT4gdGhpcy5fY2xvc2VPbkJhY2tkcm9wQ2xpY2soZXZlbnQpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncG9pbnRlcmRvd24nLCAoZXZlbnQpID0+IHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIoZXZlbnQpKTtcblxuICAgIG5ldyBNdXRhdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgICBjb25maWc6IG5hdmlnYXRpb25PYnNlcnZlckNvbmZpZyxcbiAgICAgIGNhbGxiYWNrOiAobXV0YXRpb25zTGlzdDogTXV0YXRpb25SZWNvcmRbXSkgPT4gdGhpcy5fb25OYXZpZ2F0aW9uU2VjdGlvbkNoYW5nZShtdXRhdGlvbnNMaXN0KSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgbmF2aWdhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJyB8fCAhdGhpcy5fbmF2aWdhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy53aWxsT3Blbi5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlQWN0aW9ucygpO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlU2VjdGlvbigpO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcblxuICAgIC8vIERpc2FibGUgc2Nyb2xsaW5nIGZvciBjb250ZW50IGJlbG93IHRoZSBuYXZpZ2F0aW9uXG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5kaXNhYmxlU2Nyb2xsKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICd0cnVlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlU2VjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnc2JiLW5hdmlnYXRpb24tYnV0dG9uLnNiYi1hY3RpdmUnLFxuICAgICkgYXMgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQ7XG4gICAgYWN0aXZlQWN0aW9uPy5jb25uZWN0ZWRTZWN0aW9uPy5vcGVuKCk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FjdGl2ZUFjdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlQWN0aW9ucyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspLnNiYi1hY3RpdmUnKSxcbiAgICApIGFzIChTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudClbXTtcbiAgICBhY3RpdmVBY3Rpb25zPy5mb3JFYWNoKChhY3Rpb24pID0+IGFjdGlvbi5tYXJrZXI/LnNlbGVjdChhY3Rpb24pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG5hdmlnYXRpb24uXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLndpbGxDbG9zZS5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcbiAgICB0aGlzLnN0YXJ0VXBkYXRlKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcbiAgICB0aGlzLl9uYXZpZ2F0aW9uQ29udGVudEVsZW1lbnQuc2Nyb2xsVG8oMCwgMCk7XG4gICAgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyh0aGlzLl90cmlnZ2VyRWxlbWVudCk7XG4gICAgdGhpcy5faW5lcnRDb250cm9sbGVyLmRlYWN0aXZhdGUoKTtcbiAgICAvLyBUbyBlbmFibGUgZm9jdXNpbmcgb3RoZXIgZWxlbWVudCB0aGFuIHRoZSB0cmlnZ2VyLCB3ZSBuZWVkIHRvIGNhbGwgZm9jdXMoKSBhIHNlY29uZCB0aW1lLlxuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5mb2N1cygpO1xuICAgIHRoaXMuZGlkQ2xvc2UuZW1pdCgpO1xuICAgIHRoaXMuX25hdmlnYXRpb25SZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcyk7XG4gICAgdGhpcy5fcmVzZXRNYXJrZXJzKCk7XG4gICAgdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9mb2N1c0hhbmRsZXIuZGlzY29ubmVjdCgpO1xuXG4gICAgLy8gRW5hYmxlIHNjcm9sbGluZyBmb3IgY29udGVudCBiZWxvdyB0aGUgbmF2aWdhdGlvblxuICAgIHRoaXMuX3Njcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgdGhpcy5jb21wbGV0ZVVwZGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5fbmF2aWdhdGlvblJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gICAgdGhpcy5faW5lcnRDb250cm9sbGVyLmFjdGl2YXRlKCk7XG4gICAgdGhpcy5fZm9jdXNIYW5kbGVyLnRyYXAodGhpcywgeyBmaWx0ZXI6IHRoaXMuX3RyYXBGb2N1c0ZpbHRlciB9KTtcbiAgICB0aGlzLl9hdHRhY2hXaW5kb3dFdmVudHMoKTtcbiAgICB0aGlzLl9zZXROYXZpZ2F0aW9uRm9jdXMoKTtcbiAgICB0aGlzLmNvbXBsZXRlVXBkYXRlKCk7XG4gICAgdGhpcy5kaWRPcGVuLmVtaXQoKTtcbiAgfVxuXG4gIC8vIFJlbW92ZXMgdHJpZ2dlciBjbGljayBsaXN0ZW5lciBvbiB0cmlnZ2VyIGNoYW5nZS5cbiAgcHJpdmF0ZSBfcmVtb3ZlVHJpZ2dlckNsaWNrTGlzdGVuZXIoXG4gICAgbmV3VmFsdWU6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgICBvbGRWYWx1ZTogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsLFxuICApOiB2b2lkIHtcbiAgICBpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7XG4gICAgICB0aGlzLl9uYXZpZ2F0aW9uQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgICB0aGlzLl9jb25maWd1cmUodGhpcy50cmlnZ2VyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgdHJpZ2dlciBpcyB2YWxpZCBhbmQgYXR0YWNoIGNsaWNrIGV2ZW50IGxpc3RlbmVycy5cbiAgcHJpdmF0ZSBfY29uZmlndXJlKHRyaWdnZXI6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbCk6IHZvaWQge1xuICAgIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXModGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuXG4gICAgaWYgKCF0cmlnZ2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBmaW5kUmVmZXJlbmNlZEVsZW1lbnQodHJpZ2dlcik7XG5cbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyh0aGlzLl90cmlnZ2VyRWxlbWVudCwgJ21lbnUnLCB0aGlzLmlkLCB0aGlzLnN0YXRlKTtcbiAgICB0aGlzLl9uYXZpZ2F0aW9uQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9uYXZpZ2F0aW9uQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX25hdmlnYXRpb25Db250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3RyYXBGb2N1c0ZpbHRlciA9IChlbDogSFRNTEVsZW1lbnQpOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gZWwubm9kZU5hbWUgIT09ICdTQkItTkFWSUdBVElPTi1TRUNUSU9OJyB8fCBlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnKSA9PT0gJ29wZW5lZCc7XG4gIH07XG5cbiAgLy8gSW4gcmFyZSBjYXNlcyBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgLy8gVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXNldE1hcmtlcnMoKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlQWN0aW9ucyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICc6aXMoc2JiLW5hdmlnYXRpb24tYnV0dG9uLCBzYmItbmF2aWdhdGlvbi1saW5rKVtkYXRhLWFjdGlvbi1hY3RpdmVdOm5vdCguc2JiLWFjdGl2ZSknLFxuICAgICAgKSxcbiAgICApIGFzIChTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudClbXTtcbiAgICBhY3RpdmVBY3Rpb25zPy5mb3JFYWNoKChhY3Rpb24pID0+IGFjdGlvbi5tYXJrZXI/LnJlc2V0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXR0YWNoV2luZG93RXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHRoaXMuX29uS2V5ZG93bkV2ZW50KGV2ZW50KSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU5hdmlnYXRpb25DbG9zZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjb21wb3NlZFBhdGhFbGVtZW50cyA9IGV2ZW50XG4gICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgIC5maWx0ZXIoKGVsKSA9PiBlbCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudCk7XG4gICAgaWYgKGNvbXBvc2VkUGF0aEVsZW1lbnRzLnNvbWUoKGVsKSA9PiB0aGlzLl9pc0Nsb3NlRWxlbWVudChlbCBhcyBIVE1MRWxlbWVudCkpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNDbG9zZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgZWxlbWVudC5ub2RlTmFtZSA9PT0gJ0EnIHx8XG4gICAgICAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1uYXZpZ2F0aW9uLWNsb3NlJykgJiYgIWVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKVxuICAgICk7XG4gIH1cblxuICAvLyBDbG9zZXMgdGhlIG5hdmlnYXRpb24gb24gXCJFc2NcIiBrZXkgcHJlc3NlZC5cbiAgcHJpdmF0ZSBfb25LZXlkb3duRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgJiYgZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldCBmb2N1cyBvbiB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQuXG4gIHByaXZhdGUgX3NldE5hdmlnYXRpb25Gb2N1cygpOiB2b2lkIHtcbiAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcihcbiAgICAgICcjc2JiLW5hdmlnYXRpb24tY2xvc2UtYnV0dG9uJyxcbiAgICApIGFzIEhUTUxFbGVtZW50O1xuICAgIHNldE1vZGFsaXR5T25OZXh0Rm9jdXMoY2xvc2VCdXR0b24pO1xuICAgIGNsb3NlQnV0dG9uLmZvY3VzKCk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgbmF2aWdhdGlvbi5cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25OYXZpZ2F0aW9uID1cbiAgICAgIGlzRXZlbnRPbkVsZW1lbnQodGhpcy5fbmF2aWdhdGlvbiwgZXZlbnQpIHx8XG4gICAgICBpc0V2ZW50T25FbGVtZW50KFxuICAgICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb25bZGF0YS1zdGF0ZT1cIm9wZW5lZFwiXScsXG4gICAgICAgICk/LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoJ25hdi5zYmItbmF2aWdhdGlvbi1zZWN0aW9uJykgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgIGV2ZW50LFxuICAgICAgKTtcbiAgfTtcblxuICAvLyBDbG9zZSBuYXZpZ2F0aW9uIG9uIGJhY2tkcm9wIGNsaWNrLlxuICBwcml2YXRlIF9jbG9zZU9uQmFja2Ryb3BDbGljayA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgaWYgKCF0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk5hdmlnYXRpb24gJiYgIWlzRXZlbnRPbkVsZW1lbnQodGhpcy5fbmF2aWdhdGlvbiwgZXZlbnQpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIC8vIE9ic2VydmUgY2hhbmdlcyBvbiBuYXZpZ2F0aW9uIHNlY3Rpb24gZGF0YS1zdGF0ZS5cbiAgcHJpdmF0ZSBfb25OYXZpZ2F0aW9uU2VjdGlvbkNoYW5nZShtdXRhdGlvbnNMaXN0OiBNdXRhdGlvblJlY29yZFtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbnNMaXN0KSB7XG4gICAgICBpZiAoKG11dGF0aW9uLnRhcmdldCBhcyBIVE1MRWxlbWVudCkubm9kZU5hbWUgPT09ICdTQkItTkFWSUdBVElPTi1TRUNUSU9OJykge1xuICAgICAgICB0aGlzLl9hY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbiA9IHRoaXMucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAnc2JiLW5hdmlnYXRpb24tc2VjdGlvbltkYXRhLXN0YXRlPVwib3BlbmluZ1wiXSwgc2JiLW5hdmlnYXRpb24tc2VjdGlvbltkYXRhLXN0YXRlPVwib3BlbmVkXCJdJyxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaGFzLW5hdmlnYXRpb24tc2VjdGlvbicsICEhdGhpcy5fYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uTmF2aWdhdGlvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0KTtcbiAgICB9XG5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1yZXNpemUtZGlzYWJsZS1hbmltYXRpb24nLCB0cnVlKTtcblxuICAgIC8vIERpc2FibGUgdGhlIGFuaW1hdGlvbiB3aGVuIHJlc2l6aW5nIHRoZSBuYXZpZ2F0aW9uIHRvIGF2b2lkIHN0cmFuZ2UgaGVpZ2h0IHRyYW5zaXRpb24gZWZmZWN0cy5cbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4gdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtcmVzaXplLWRpc2FibGUtYW5pbWF0aW9uJyksXG4gICAgICBERUJPVU5DRV9USU1FLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLW5hdmlnYXRpb24tJHtuZXh0SWQrK31gO1xuICAgIHRoaXMuX2NvbmZpZ3VyZSh0aGlzLnRyaWdnZXIpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fbmF2aWdhdGlvbkNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9mb2N1c0hhbmRsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX3Njcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IGh0bWxgXG4gICAgICA8c2JiLXRyYW5zcGFyZW50LWJ1dHRvblxuICAgICAgICBpZD1cInNiYi1uYXZpZ2F0aW9uLWNsb3NlLWJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwic2JiLW5hdmlnYXRpb25fX2Nsb3NlXCJcbiAgICAgICAgYXJpYS1sYWJlbD0ke3RoaXMuYWNjZXNzaWJpbGl0eUNsb3NlTGFiZWwgfHwgaTE4bkNsb3NlTmF2aWdhdGlvblt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgYXJpYS1jb250cm9scz1cInNiYi1uYXZpZ2F0aW9uLW92ZXJsYXlcIlxuICAgICAgICBuZWdhdGl2ZVxuICAgICAgICBzaXplPVwibVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy1zbWFsbFwiXG4gICAgICAgIHNiYi1uYXZpZ2F0aW9uLWNsb3NlXG4gICAgICA+PC9zYmItdHJhbnNwYXJlbnQtYnV0dG9uPlxuICAgIGA7XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBpZD1cInNiYi1uYXZpZ2F0aW9uLW92ZXJsYXlcIlxuICAgICAgICAgIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbkFuaW1hdGlvbkVuZH1cbiAgICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uXCJcbiAgICAgICAgICAke3JlZigobmF2aWdhdGlvblJlZj86IEVsZW1lbnQpID0+ICh0aGlzLl9uYXZpZ2F0aW9uID0gbmF2aWdhdGlvblJlZiBhcyBIVE1MRGl2RWxlbWVudCkpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19oZWFkZXJcIj4ke2Nsb3NlQnV0dG9ufTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9fd3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19jb250ZW50XCJcbiAgICAgICAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX25hdmlnYXRpb25Db250ZW50RWxlbWVudCA9IGVsIGFzIEhUTUxFbGVtZW50KSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNsb3QgbmFtZT1cIm5hdmlnYXRpb24tc2VjdGlvblwiPjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1uYXZpZ2F0aW9uJzogU2JiTmF2aWdhdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYiIsIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
606
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE11dGF0aW9uQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvbXV0YXRpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7IFNiYkZvY3VzSGFuZGxlciwgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQge1xuICBTYmJJbmVydENvbnRyb2xsZXIsXG4gIFNiYkxhbmd1YWdlQ29udHJvbGxlcixcbiAgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIsXG59IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQge1xuICBmaW5kUmVmZXJlbmNlZEVsZW1lbnQsXG4gIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uLFxuICBTYmJTY3JvbGxIYW5kbGVyLFxufSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYlVwZGF0ZVNjaGVkdWxlck1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHtcbiAgaXNFdmVudE9uRWxlbWVudCxcbiAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbiAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbn0gZnJvbSAnLi4vLi4vY29yZS9vdmVybGF5LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWJ1dHRvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tbGluay5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL25hdmlnYXRpb24uc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9idXR0b24vdHJhbnNwYXJlbnQtYnV0dG9uLmpzJztcblxuLyoqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBhdHRyaWJ1dGUgdG8gbG9vayBhdCBpZiBhIG5hdmlnYXRpb24gc2VjdGlvbiBpcyBkaXNwbGF5ZWQgKi9cbmNvbnN0IG5hdmlnYXRpb25PYnNlcnZlckNvbmZpZzogTXV0YXRpb25PYnNlcnZlckluaXQgPSB7XG4gIHN1YnRyZWU6IHRydWUsXG4gIGF0dHJpYnV0ZUZpbHRlcjogWydkYXRhLXN0YXRlJ10sXG59O1xuXG5sZXQgbmV4dElkID0gMDtcbmNvbnN0IERFQk9VTkNFX1RJTUUgPSAxNTA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBuYXZpZ2F0aW9uIG1lbnUsIHdyYXBwaW5nIG9uZSBvciBtb3JlIGBzYmItbmF2aWdhdGlvbi0qYCBjb21wb25lbnRzLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItbmF2aWdhdGlvbi1idXR0b25gL2BzYmItbmF2aWdhdGlvbi1saW5rYCBlbGVtZW50cyBpbnRvIHRoZSBzYmItbmF2aWdhdGlvbiBtZW51LlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gd2lsbE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1uYXZpZ2F0aW9uYCBiZWdpbnMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5hdmlnYXRpb25gIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5hdmlnYXRpb25gIGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5hdmlnYXRpb25gIGlzIGNsb3NlZC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1uYXZpZ2F0aW9uLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW5hdmlnYXRpb24nKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgcm9sZTogJ25hdmlnYXRpb24nLFxuICBwb3BvdmVyOiAnbWFudWFsJyxcbn0pXG5jbGFzcyBTYmJOYXZpZ2F0aW9uRWxlbWVudCBleHRlbmRzIFNiYlVwZGF0ZVNjaGVkdWxlck1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgbmF2aWdhdGlvbi5cbiAgICogQWNjZXB0cyBib3RoIGEgc3RyaW5nIChpZCBvZiBhbiBlbGVtZW50KSBvciBhbiBIVE1MIGVsZW1lbnQuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHRyaWdnZXIodmFsdWU6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbCkge1xuICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5fdHJpZ2dlcjtcbiAgICB0aGlzLl90cmlnZ2VyID0gdmFsdWU7XG4gICAgdGhpcy5fcmVtb3ZlVHJpZ2dlckNsaWNrTGlzdGVuZXIodGhpcy5fdHJpZ2dlciwgb2xkVmFsdWUpO1xuICB9XG4gIHB1YmxpYyBnZXQgdHJpZ2dlcigpOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VyO1xuICB9XG4gIHByaXZhdGUgX3RyaWdnZXI6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgY2xvc2UgYnV0dG9uIGVsZW1lbnQuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1jbG9zZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogV2hldGhlciBhIG5hdmlnYXRpb24gc2VjdGlvbiBpcyBkaXNwbGF5ZWQuXG4gICAqL1xuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9hY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IGFjdGl2ZU5hdmlnYXRpb25TZWN0aW9uKCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBfbmF2aWdhdGlvbiE6IEhUTUxEaXZFbGVtZW50O1xuICBwcml2YXRlIF9uYXZpZ2F0aW9uQ29udGVudEVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX25hdmlnYXRpb25Db250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2luZXJ0Q29udHJvbGxlciA9IG5ldyBTYmJJbmVydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX3NiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9mb2N1c0hhbmRsZXIgPSBuZXcgU2JiRm9jdXNIYW5kbGVyKCk7XG4gIHByaXZhdGUgX3Njcm9sbEhhbmRsZXIgPSBuZXcgU2JiU2Nyb2xsSGFuZGxlcigpO1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPbk5hdmlnYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXJUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9uYXZpZ2F0aW9uUmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX29uTmF2aWdhdGlvblJlc2l6ZSgpLFxuICB9KTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoZXZlbnQpID0+IHRoaXMuX2hhbmRsZU5hdmlnYXRpb25DbG9zZShldmVudCkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdwb2ludGVydXAnLCAoZXZlbnQpID0+IHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrKGV2ZW50KSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJkb3duJywgKGV2ZW50KSA9PiB0aGlzLl9wb2ludGVyRG93bkxpc3RlbmVyKGV2ZW50KSk7XG5cbiAgICBuZXcgTXV0YXRpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgICAgY29uZmlnOiBuYXZpZ2F0aW9uT2JzZXJ2ZXJDb25maWcsXG4gICAgICBjYWxsYmFjazogKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pID0+IHRoaXMuX29uTmF2aWdhdGlvblNlY3Rpb25DaGFuZ2UobXV0YXRpb25zTGlzdCksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIG5hdmlnYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcgfHwgIXRoaXMuX25hdmlnYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLndpbGxPcGVuLmVtaXQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd1BvcG92ZXI/LigpO1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5fY2hlY2tBY3RpdmVBY3Rpb25zKCk7XG4gICAgdGhpcy5fY2hlY2tBY3RpdmVTZWN0aW9uKCk7XG4gICAgdGhpcy5zdGFydFVwZGF0ZSgpO1xuXG4gICAgLy8gRGlzYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIG5hdmlnYXRpb25cbiAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmRpc2FibGVTY3JvbGwoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ3RydWUnKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tBY3RpdmVTZWN0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZUFjdGlvbiA9IHRoaXMucXVlcnlTZWxlY3RvcihcbiAgICAgICdzYmItbmF2aWdhdGlvbi1idXR0b24uc2JiLWFjdGl2ZScsXG4gICAgKSBhcyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudDtcbiAgICBhY3RpdmVBY3Rpb24/LmNvbm5lY3RlZFNlY3Rpb24/Lm9wZW4oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlQWN0aW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb25zID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbCgnOmlzKHNiYi1uYXZpZ2F0aW9uLWJ1dHRvbiwgc2JiLW5hdmlnYXRpb24tbGluaykuc2JiLWFjdGl2ZScpLFxuICAgICkgYXMgKFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50KVtdO1xuICAgIGFjdGl2ZUFjdGlvbnM/LmZvckVhY2goKGFjdGlvbikgPT4gYWN0aW9uLm1hcmtlcj8uc2VsZWN0KGFjdGlvbikpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgbmF2aWdhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLndpbGxDbG9zZS5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuICAgIHRoaXMuX25hdmlnYXRpb25Db250ZW50RWxlbWVudC5zY3JvbGxUbygwLCAwKTtcbiAgICBzZXRNb2RhbGl0eU9uTmV4dEZvY3VzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl9pbmVydENvbnRyb2xsZXIuZGVhY3RpdmF0ZSgpO1xuICAgIC8vIFRvIGVuYWJsZSBmb2N1c2luZyBvdGhlciBlbGVtZW50IHRoYW4gdGhlIHRyaWdnZXIsIHdlIG5lZWQgdG8gY2FsbCBmb2N1cygpIGEgc2Vjb25kIHRpbWUuXG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgdGhpcy5fc2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlkQ2xvc2UuZW1pdCgpO1xuICAgIHRoaXMuX25hdmlnYXRpb25SZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcyk7XG4gICAgdGhpcy5fcmVzZXRNYXJrZXJzKCk7XG4gICAgdGhpcy5fZm9jdXNIYW5kbGVyLmRpc2Nvbm5lY3QoKTtcblxuICAgIC8vIEVuYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIG5hdmlnYXRpb25cbiAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmVuYWJsZVNjcm9sbCgpO1xuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuX25hdmlnYXRpb25SZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMpO1xuICAgIHRoaXMuX2luZXJ0Q29udHJvbGxlci5hY3RpdmF0ZSgpO1xuICAgIHRoaXMuX3NiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmNvbm5lY3QoKTtcbiAgICB0aGlzLl9mb2N1c0hhbmRsZXIudHJhcCh0aGlzLCB7IGZpbHRlcjogdGhpcy5fdHJhcEZvY3VzRmlsdGVyIH0pO1xuICAgIHRoaXMuX3NldE5hdmlnYXRpb25Gb2N1cygpO1xuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgICB0aGlzLmRpZE9wZW4uZW1pdCgpO1xuICB9XG5cbiAgLy8gUmVtb3ZlcyB0cmlnZ2VyIGNsaWNrIGxpc3RlbmVyIG9uIHRyaWdnZXIgY2hhbmdlLlxuICBwcml2YXRlIF9yZW1vdmVUcmlnZ2VyQ2xpY2tMaXN0ZW5lcihcbiAgICBuZXdWYWx1ZTogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsLFxuICAgIG9sZFZhbHVlOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwsXG4gICk6IHZvaWQge1xuICAgIGlmIChuZXdWYWx1ZSAhPT0gb2xkVmFsdWUpIHtcbiAgICAgIHRoaXMuX25hdmlnYXRpb25Db250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5fY29uZmlndXJlKHRoaXMudHJpZ2dlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHRyaWdnZXIgaXMgdmFsaWQgYW5kIGF0dGFjaCBjbGljayBldmVudCBsaXN0ZW5lcnMuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZSh0cmlnZ2VyOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcblxuICAgIGlmICghdHJpZ2dlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gZmluZFJlZmVyZW5jZWRFbGVtZW50KHRyaWdnZXIpO1xuXG4gICAgaWYgKCF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXModGhpcy5fdHJpZ2dlckVsZW1lbnQsICdtZW51JywgdGhpcy5pZCwgdGhpcy5zdGF0ZSk7XG4gICAgdGhpcy5fbmF2aWdhdGlvbkNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fbmF2aWdhdGlvbkNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW4oKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9uYXZpZ2F0aW9uQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF90cmFwRm9jdXNGaWx0ZXIgPSAoZWw6IEhUTUxFbGVtZW50KTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuIGVsLm5vZGVOYW1lICE9PSAnU0JCLU5BVklHQVRJT04tU0VDVElPTicgfHwgZWwuZ2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJykgPT09ICdvcGVuZWQnO1xuICB9O1xuXG4gIC8vIEluIHJhcmUgY2FzZXMgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJpdmF0ZSBfb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXRNYXJrZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZUFjdGlvbnMgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAnOmlzKHNiYi1uYXZpZ2F0aW9uLWJ1dHRvbiwgc2JiLW5hdmlnYXRpb24tbGluaylbZGF0YS1hY3Rpb24tYWN0aXZlXTpub3QoLnNiYi1hY3RpdmUpJyxcbiAgICAgICksXG4gICAgKSBhcyAoU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQpW107XG4gICAgYWN0aXZlQWN0aW9ucz8uZm9yRWFjaCgoYWN0aW9uKSA9PiBhY3Rpb24ubWFya2VyPy5yZXNldCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU5hdmlnYXRpb25DbG9zZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjb21wb3NlZFBhdGhFbGVtZW50cyA9IGV2ZW50XG4gICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgIC5maWx0ZXIoKGVsKSA9PiBlbCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudCk7XG4gICAgaWYgKGNvbXBvc2VkUGF0aEVsZW1lbnRzLnNvbWUoKGVsKSA9PiB0aGlzLl9pc0Nsb3NlRWxlbWVudChlbCBhcyBIVE1MRWxlbWVudCkpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNDbG9zZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgZWxlbWVudC5ub2RlTmFtZSA9PT0gJ0EnIHx8XG4gICAgICAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1uYXZpZ2F0aW9uLWNsb3NlJykgJiYgIWVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKVxuICAgICk7XG4gIH1cblxuICAvLyBTZXQgZm9jdXMgb24gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50LlxuICBwcml2YXRlIF9zZXROYXZpZ2F0aW9uRm9jdXMoKTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnI3NiYi1uYXZpZ2F0aW9uLWNsb3NlLWJ1dHRvbicsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICBzZXRNb2RhbGl0eU9uTmV4dEZvY3VzKGNsb3NlQnV0dG9uKTtcbiAgICBjbG9zZUJ1dHRvbi5mb2N1cygpO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIG5hdmlnYXRpb24uXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uTmF2aWdhdGlvbiA9XG4gICAgICBpc0V2ZW50T25FbGVtZW50KHRoaXMuX25hdmlnYXRpb24sIGV2ZW50KSB8fFxuICAgICAgaXNFdmVudE9uRWxlbWVudChcbiAgICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICdzYmItbmF2aWdhdGlvbi1zZWN0aW9uW2RhdGEtc3RhdGU9XCJvcGVuZWRcIl0nLFxuICAgICAgICApPy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCduYXYuc2JiLW5hdmlnYXRpb24tc2VjdGlvbicpIGFzIEhUTUxFbGVtZW50LFxuICAgICAgICBldmVudCxcbiAgICAgICk7XG4gIH07XG5cbiAgLy8gQ2xvc2UgbmF2aWdhdGlvbiBvbiBiYWNrZHJvcCBjbGljay5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25OYXZpZ2F0aW9uICYmICFpc0V2ZW50T25FbGVtZW50KHRoaXMuX25hdmlnYXRpb24sIGV2ZW50KSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICAvLyBPYnNlcnZlIGNoYW5nZXMgb24gbmF2aWdhdGlvbiBzZWN0aW9uIGRhdGEtc3RhdGUuXG4gIHByaXZhdGUgX29uTmF2aWdhdGlvblNlY3Rpb25DaGFuZ2UobXV0YXRpb25zTGlzdDogTXV0YXRpb25SZWNvcmRbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkge1xuICAgICAgaWYgKChtdXRhdGlvbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLm5vZGVOYW1lID09PSAnU0JCLU5BVklHQVRJT04tU0VDVElPTicpIHtcbiAgICAgICAgdGhpcy5fYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb25bZGF0YS1zdGF0ZT1cIm9wZW5pbmdcIl0sIHNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25bZGF0YS1zdGF0ZT1cIm9wZW5lZFwiXScsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWhhcy1uYXZpZ2F0aW9uLXNlY3Rpb24nLCAhIXRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbk5hdmlnYXRpb25SZXNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCk7XG4gICAgfVxuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtcmVzaXplLWRpc2FibGUtYW5pbWF0aW9uJywgdHJ1ZSk7XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBhbmltYXRpb24gd2hlbiByZXNpemluZyB0aGUgbmF2aWdhdGlvbiB0byBhdm9pZCBzdHJhbmdlIGhlaWdodCB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXJlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicpLFxuICAgICAgREVCT1VOQ0VfVElNRSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1uYXZpZ2F0aW9uLSR7bmV4dElkKyt9YDtcbiAgICB0aGlzLl9jb25maWd1cmUodGhpcy50cmlnZ2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX25hdmlnYXRpb25Db250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX2ZvY3VzSGFuZGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gaHRtbGBcbiAgICAgIDxzYmItdHJhbnNwYXJlbnQtYnV0dG9uXG4gICAgICAgIGlkPVwic2JiLW5hdmlnYXRpb24tY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9fY2xvc2VcIlxuICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbCB8fCBpMThuQ2xvc2VOYXZpZ2F0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICBhcmlhLWNvbnRyb2xzPVwic2JiLW5hdmlnYXRpb24tb3ZlcmxheVwiXG4gICAgICAgIG5lZ2F0aXZlXG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGljb24tbmFtZT1cImNyb3NzLXNtYWxsXCJcbiAgICAgICAgc2JiLW5hdmlnYXRpb24tY2xvc2VcbiAgICAgID48L3NiYi10cmFuc3BhcmVudC1idXR0b24+XG4gICAgYDtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGlkPVwic2JiLW5hdmlnYXRpb24tb3ZlcmxheVwiXG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0ke3RoaXMuX29uQW5pbWF0aW9uRW5kfVxuICAgICAgICAgIGNsYXNzPVwic2JiLW5hdmlnYXRpb25cIlxuICAgICAgICAgICR7cmVmKChuYXZpZ2F0aW9uUmVmPzogRWxlbWVudCkgPT4gKHRoaXMuX25hdmlnYXRpb24gPSBuYXZpZ2F0aW9uUmVmIGFzIEhUTUxEaXZFbGVtZW50KSl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5hdmlnYXRpb25fX2hlYWRlclwiPiR7Y2xvc2VCdXR0b259PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX193cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLW5hdmlnYXRpb25fX2NvbnRlbnRcIlxuICAgICAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fbmF2aWdhdGlvbkNvbnRlbnRFbGVtZW50ID0gZWwgYXMgSFRNTEVsZW1lbnQpKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2xvdCBuYW1lPVwibmF2aWdhdGlvbi1zZWN0aW9uXCI+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW5hdmlnYXRpb24nOiBTYmJOYXZpZ2F0aW9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9iIiwiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQ0EsTUFBTSwyQkFBaUQ7QUFBQSxFQUNyRCxTQUFTO0FBQUEsRUFDVCxpQkFBaUIsQ0FBQyxZQUFZOztBQUdoQyxJQUFJLFNBQVM7QUFDYixNQUFNLGdCQUFnQjtJQW9CaEIsd0JBQW9CLE1BQUE7O0FBTHpCLE1BQUEsbUJBQUEsQ0FBQSxjQUFjLGdCQUFnQixHQUM5QixlQUFlO0FBQUEsSUFDZCxNQUFNO0FBQUEsSUFDTixTQUFTO0FBQUEsRUFBQSxDQUNWLENBQUM7Ozs7b0JBQ2lDLHdCQUF3Qix1QkFBdUI7Ozs7Ozs7OztBQUF2RCxFQUFBLG1CQUFRLFlBQWdEO0FB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
|
|
@@ -7,7 +7,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
7
7
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
8
|
import { __runInitializers, __esDecorate } from "tslib";
|
|
9
9
|
import { ResizeController } from "@lit-labs/observers/resize-controller.js";
|
|
10
|
-
import { css, LitElement,
|
|
10
|
+
import { css, LitElement, nothing, html } from "lit";
|
|
11
11
|
import { customElement, property } from "lit/decorators.js";
|
|
12
12
|
import { SbbLanguageController } from "./core/controllers.js";
|
|
13
13
|
import { slotState, forceType, omitEmptyConverter } from "./core/decorators.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PropertyValues } from 'lit';
|
|
2
2
|
import { SbbFocusHandler } from '../core/a11y.js';
|
|
3
3
|
import { SbbOpenCloseBaseElement } from '../core/base-elements.js';
|
|
4
|
-
import { SbbInertController, SbbLanguageController } from '../core/controllers.js';
|
|
4
|
+
import { SbbInertController, SbbLanguageController, SbbEscapableOverlayController } from '../core/controllers.js';
|
|
5
5
|
import { SbbScrollHandler } from '../core/dom.js';
|
|
6
6
|
import { EventEmitter } from '../core/eventing.js';
|
|
7
7
|
import { SbbOverlayCloseEventDetails } from '../core/interfaces.js';
|
|
@@ -25,6 +25,7 @@ export declare abstract class SbbOverlayBaseElement extends SbbOverlayBaseElemen
|
|
|
25
25
|
protected ariaLiveRef: SbbScreenReaderOnlyElement;
|
|
26
26
|
protected language: SbbLanguageController;
|
|
27
27
|
protected inertController: SbbInertController;
|
|
28
|
+
protected sbbEscapableOverlayController: SbbEscapableOverlayController;
|
|
28
29
|
protected abstract closeAttribute: string;
|
|
29
30
|
protected abstract onOverlayAnimationEnd(event: AnimationEvent): void;
|
|
30
31
|
protected abstract setOverlayFocus(): void;
|
|
@@ -36,7 +37,6 @@ export declare abstract class SbbOverlayBaseElement extends SbbOverlayBaseElemen
|
|
|
36
37
|
protected firstUpdated(changedProperties: PropertyValues<this>): void;
|
|
37
38
|
disconnectedCallback(): void;
|
|
38
39
|
protected attachOpenOverlayEvents(): void;
|
|
39
|
-
protected onKeydownEvent(event: KeyboardEvent): void;
|
|
40
40
|
protected removeInstanceFromGlobalCollection(): void;
|
|
41
41
|
protected closeOnSbbOverlayCloseClick(event: Event): void;
|
|
42
42
|
protected removeAriaLiveRefContent(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay-base-element.d.ts","sourceRoot":"","sources":["../../../../src/elements/overlay/overlay-base-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAA6B,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,
|
|
1
|
+
{"version":3,"file":"overlay-base-element.d.ts","sourceRoot":"","sources":["../../../../src/elements/overlay/overlay-base-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAA6B,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,6BAA6B,EAC9B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAG3E,eAAO,MAAM,WAAW,EAAE,qBAAqB,EAAO,CAAC;;AAEvD,8BAIe,qBAAsB,SAAQ,0BAAyC;IACpF,kHAAkH;IAClH,SAEgB,kBAAkB,EAAE,MAAM,CAAM;IAEhD,8CAA8C;IAC9C,UAAmB,QAAQ,EAAE,YAAY,CAAC,2BAA2B,CAAC,CAIpE;IAGF,SAAS,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;IAC3C,SAAS,CAAC,mBAAmB,CAAC,EAAE,WAAW,CAAC;IAC5C,kBAAkB;IAClB,SAAS,CAAC,iBAAiB,EAAG,eAAe,CAAC;IAC9C,SAAS,CAAC,qBAAqB,EAAG,eAAe,CAAC;IAClD,SAAS,CAAC,YAAY,kBAAyB;IAC/C,SAAS,CAAC,aAAa,mBAA0B;IACjD,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC;IAC3B,SAAS,CAAC,iBAAiB,UAAS;IACpC,SAAS,CAAC,WAAW,EAAG,0BAA0B,CAAC;IACnD,SAAS,CAAC,QAAQ,wBAAmC;IACrD,SAAS,CAAC,eAAe,qBAAgC;IACzD,SAAS,CAAC,6BAA6B,gCAA2C;IAElF,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IACrE,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,IAAI;IAC1C,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI;IACxC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,IAAI,OAAO;IAErD,4BAA4B;IACrB,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,GAAG;IAyBrC,iBAAiB,IAAI,IAAI;cAMtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO9D,oBAAoB,IAAI,IAAI;IAS5C,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAiBzC,SAAS,CAAC,kCAAkC,IAAI,IAAI;IAKpD,SAAS,CAAC,2BAA2B,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAoBzD,SAAS,CAAC,wBAAwB,IAAI,IAAI;IAI1C,SAAS,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;CAStD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../../src/elements/overlay/overlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAW1D,OAAO,EAAe,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAG/E,OAAO,+BAA+B,CAAC;AACvC,OAAO,iCAAiC,CAAC;AACzC,OAAO,iBAAiB,CAAC;AACzB,OAAO,0BAA0B,CAAC;AAElC;;;;;;;;;;;;GAYG;AACH,qBAEM,iBAAkB,SAAQ,qBAAqB;IACnD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAGtD,gBAAgC,MAAM;;;;;;MAM3B;IAEX;;;OAGG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,4DAA4D;IAC5D,SAEgB,UAAU,EAAE,OAAO,CAAS;IAE5C,wEAAwE;IACxE,SAEgB,uBAAuB,EAAE,MAAM,CAAM;IAErD,uEAAuE;IACvE,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAuB;IAEvD,iDAAiD;IACjD,OAAO,CAAC,UAAU,CAGhB;IACF,OAAO,CAAC,sBAAsB,CAA4B;IAE1D,2BAA2B;IACpB,IAAI,IAAI,IAAI;IA8BnB,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C,OAAO,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../../src/elements/overlay/overlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAW1D,OAAO,EAAe,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAG/E,OAAO,+BAA+B,CAAC;AACvC,OAAO,iCAAiC,CAAC;AACzC,OAAO,iBAAiB,CAAC;AACzB,OAAO,0BAA0B,CAAC;AAElC;;;;;;;;;;;;GAYG;AACH,qBAEM,iBAAkB,SAAQ,qBAAqB;IACnD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAGtD,gBAAgC,MAAM;;;;;;MAM3B;IAEX;;;OAGG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,4DAA4D;IAC5D,SAEgB,UAAU,EAAE,OAAO,CAAS;IAE5C,wEAAwE;IACxE,SAEgB,uBAAuB,EAAE,MAAM,CAAM;IAErD,uEAAuE;IACvE,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAuB;IAEvD,iDAAiD;IACjD,OAAO,CAAC,UAAU,CAGhB;IACF,OAAO,CAAC,sBAAsB,CAA4B;IAE1D,2BAA2B;IACpB,IAAI,IAAI,IAAI;IA8BnB,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C,OAAO,CAAC,cAAc;cAYH,aAAa,IAAI,IAAI;IAyBxC,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAS5D,SAAS,CAAC,eAAe,IAAI,IAAI;cAUd,MAAM,IAAI,cAAc;CAsD5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
|
package/development/overlay.js
CHANGED
|
@@ -8,14 +8,14 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
|
|
|
8
8
|
import { __runInitializers, __esDecorate } from "tslib";
|
|
9
9
|
import { css, nothing } from "lit";
|
|
10
10
|
import { property, customElement } from "lit/decorators.js";
|
|
11
|
-
import {
|
|
11
|
+
import { unsafeStatic, html } from "lit/static-html.js";
|
|
12
12
|
import { SbbFocusHandler, setModalityOnNextFocus, getFirstFocusableElement } from "./core/a11y.js";
|
|
13
13
|
import { hostAttributes, forceType } from "./core/decorators.js";
|
|
14
14
|
import { SbbScrollHandler, isZeroAnimationDuration } from "./core/dom.js";
|
|
15
15
|
import { EventEmitter, forwardEvent } from "./core/eventing.js";
|
|
16
16
|
import { i18nDialog, i18nCloseDialog, i18nGoBack } from "./core/i18n.js";
|
|
17
17
|
import { SbbOpenCloseBaseElement } from "./core/base-elements.js";
|
|
18
|
-
import { SbbLanguageController, SbbInertController } from "./core/controllers.js";
|
|
18
|
+
import { SbbLanguageController, SbbInertController, SbbEscapableOverlayController } from "./core/controllers.js";
|
|
19
19
|
import { SbbNegativeMixin } from "./core/mixins.js";
|
|
20
20
|
import "./button/secondary-button.js";
|
|
21
21
|
import "./button/transparent-button.js";
|
|
@@ -45,6 +45,7 @@ let SbbOverlayBaseElement = (() => {
|
|
|
45
45
|
this.ariaLiveRefToggle = false;
|
|
46
46
|
this.language = new SbbLanguageController(this);
|
|
47
47
|
this.inertController = new SbbInertController(this);
|
|
48
|
+
this.sbbEscapableOverlayController = new SbbEscapableOverlayController(this);
|
|
48
49
|
}
|
|
49
50
|
/** This will be forwarded as aria-label to the relevant nested element to describe the purpose of the overlay. */
|
|
50
51
|
get accessibilityLabel() {
|
|
@@ -94,9 +95,8 @@ let SbbOverlayBaseElement = (() => {
|
|
|
94
95
|
}
|
|
95
96
|
attachOpenOverlayEvents() {
|
|
96
97
|
this.openOverlayController = new AbortController();
|
|
97
|
-
window.addEventListener("keydown", (
|
|
98
|
+
window.addEventListener("keydown", () => {
|
|
98
99
|
this.removeAriaLiveRefContent();
|
|
99
|
-
this.onKeydownEvent(event);
|
|
100
100
|
}, {
|
|
101
101
|
signal: this.openOverlayController.signal
|
|
102
102
|
});
|
|
@@ -104,15 +104,6 @@ let SbbOverlayBaseElement = (() => {
|
|
|
104
104
|
signal: this.openOverlayController.signal
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
|
-
onKeydownEvent(event) {
|
|
108
|
-
if (this.state !== "opened") {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
if (event.key === "Escape") {
|
|
112
|
-
overlayRefs[overlayRefs.length - 1].close();
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
107
|
removeInstanceFromGlobalCollection() {
|
|
117
108
|
overlayRefs.splice(overlayRefs.indexOf(this), 1);
|
|
118
109
|
}
|
|
@@ -430,6 +421,7 @@ let SbbOverlayElement = (() => {
|
|
|
430
421
|
_handleOpening() {
|
|
431
422
|
this.state = "opened";
|
|
432
423
|
this.inertController.activate();
|
|
424
|
+
this.sbbEscapableOverlayController.connect();
|
|
433
425
|
this.attachOpenOverlayEvents();
|
|
434
426
|
this.setOverlayFocus();
|
|
435
427
|
setTimeout(() => this.setAriaLiveRefContent(this.accessibilityLabel));
|
|
@@ -450,6 +442,7 @@ let SbbOverlayElement = (() => {
|
|
|
450
442
|
if (!overlayRefs.length) {
|
|
451
443
|
this.scrollHandler.enableScroll();
|
|
452
444
|
}
|
|
445
|
+
this.sbbEscapableOverlayController.disconnect();
|
|
453
446
|
this.didClose.emit({
|
|
454
447
|
returnValue: this.returnValue,
|
|
455
448
|
closeTarget: this.overlayCloseElement
|
|
@@ -555,4 +548,4 @@ export {
|
|
|
555
548
|
SbbOverlayElement,
|
|
556
549
|
overlayRefs
|
|
557
550
|
};
|
|
558
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL292ZXJsYXkvb3ZlcmxheS1iYXNlLWVsZW1lbnQudHMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvb3ZlcmxheS9vdmVybGF5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkZvY3VzSGFuZGxlciB9IGZyb20gJy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyB0eXBlIFNiYkJ1dHRvbkJhc2VFbGVtZW50LCBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJJbmVydENvbnRyb2xsZXIsIFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBTYmJTY3JvbGxIYW5kbGVyIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuRGlhbG9nIH0gZnJvbSAnLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50IH0gZnJvbSAnLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuLy8gQSBnbG9iYWwgY29sbGVjdGlvbiBvZiBleGlzdGluZyBvdmVybGF5cy5cbmV4cG9ydCBjb25zdCBvdmVybGF5UmVmczogU2JiT3ZlcmxheUJhc2VFbGVtZW50W10gPSBbXTtcblxuZXhwb3J0XG5AaG9zdEF0dHJpYnV0ZXMoe1xuICBwb3BvdmVyOiAnbWFudWFsJyxcbn0pXG5hYnN0cmFjdCBjbGFzcyBTYmJPdmVybGF5QmFzZUVsZW1lbnQgZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSB7XG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIHJlbGV2YW50IG5lc3RlZCBlbGVtZW50IHRvIGRlc2NyaWJlIHRoZSBwdXJwb3NlIG9mIHRoZSBvdmVybGF5LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkLiAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGlkQ2xvc2U6IEV2ZW50RW1pdHRlcjxTYmJPdmVybGF5Q2xvc2VFdmVudERldGFpbHM+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYk92ZXJsYXlCYXNlRWxlbWVudC5ldmVudHMuZGlkQ2xvc2UsXG4gICAgeyBjYW5jZWxhYmxlOiB0cnVlIH0sXG4gICk7XG5cbiAgLy8gVGhlIGxhc3QgZWxlbWVudCB3aGljaCBoYWQgZm9jdXMgYmVmb3JlIHRoZSBjb21wb25lbnQgd2FzIG9wZW5lZC5cbiAgcHJvdGVjdGVkIGxhc3RGb2N1c2VkRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcm90ZWN0ZWQgb3ZlcmxheUNsb3NlRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgcHJvdGVjdGVkIG92ZXJsYXlDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcm90ZWN0ZWQgb3Blbk92ZXJsYXlDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcm90ZWN0ZWQgZm9jdXNIYW5kbGVyID0gbmV3IFNiYkZvY3VzSGFuZGxlcigpO1xuICBwcm90ZWN0ZWQgc2Nyb2xsSGFuZGxlciA9IG5ldyBTYmJTY3JvbGxIYW5kbGVyKCk7XG4gIHByb3RlY3RlZCByZXR1cm5WYWx1ZTogYW55O1xuICBwcm90ZWN0ZWQgYXJpYUxpdmVSZWZUb2dnbGUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGFyaWFMaXZlUmVmITogU2JiU2NyZWVuUmVhZGVyT25seUVsZW1lbnQ7XG4gIHByb3RlY3RlZCBsYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByb3RlY3RlZCBpbmVydENvbnRyb2xsZXIgPSBuZXcgU2JiSW5lcnRDb250cm9sbGVyKHRoaXMpO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBjbG9zZUF0dHJpYnV0ZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb25PdmVybGF5QW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZXRPdmVybGF5Rm9jdXMoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGhhbmRsZUNsb3NpbmcoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW47XG5cbiAgLyoqIENsb3NlcyB0aGUgY29tcG9uZW50LiAqL1xuICBwdWJsaWMgY2xvc2UocmVzdWx0PzogYW55LCB0YXJnZXQ/OiBIVE1MRWxlbWVudCk6IGFueSB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZXR1cm5WYWx1ZSA9IHJlc3VsdDtcbiAgICB0aGlzLm92ZXJsYXlDbG9zZUVsZW1lbnQgPSB0YXJnZXQ7XG4gICAgY29uc3QgZXZlbnREYXRhOiBTYmJPdmVybGF5Q2xvc2VFdmVudERldGFpbHMgPSB7XG4gICAgICByZXR1cm5WYWx1ZTogdGhpcy5yZXR1cm5WYWx1ZSxcbiAgICAgIGNsb3NlVGFyZ2V0OiB0aGlzLm92ZXJsYXlDbG9zZUVsZW1lbnQsXG4gICAgfTtcblxuICAgIGlmICghdGhpcy53aWxsQ2xvc2UuZW1pdChldmVudERhdGEpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgdGhpcy5yZW1vdmVBcmlhTGl2ZVJlZkNvbnRlbnQoKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLmlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMub3ZlcmxheUNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5vdmVybGF5Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgdGhpcy5hcmlhTGl2ZVJlZiA9XG4gICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3I8U2JiU2NyZWVuUmVhZGVyT25seUVsZW1lbnQ+KCdzYmItc2NyZWVuLXJlYWRlci1vbmx5JykhO1xuXG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMub3ZlcmxheUNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5vcGVuT3ZlcmxheUNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5mb2N1c0hhbmRsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMucmVtb3ZlSW5zdGFuY2VGcm9tR2xvYmFsQ29sbGVjdGlvbigpO1xuICAgIHRoaXMuc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhdHRhY2hPcGVuT3ZlcmxheUV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICAvLyBSZW1vdmUgb3ZlcmxheSBsYWJlbCBhcyBzb29uIGFzIGl0IGlzIG5vdCBuZWVkZWQgYW55IG1vcmUgdG8gcHJldmVudCBhY2Nlc3NpbmcgaXQgd2l0aCBicm93c2UgbW9kZS5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdrZXlkb3duJyxcbiAgICAgIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZUFyaWFMaXZlUmVmQ29udGVudCgpO1xuICAgICAgICB0aGlzLm9uS2V5ZG93bkV2ZW50KGV2ZW50KTtcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5vcGVuT3ZlcmxheUNvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgfSxcbiAgICApO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMucmVtb3ZlQXJpYUxpdmVSZWZDb250ZW50KCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5vcGVuT3ZlcmxheUNvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uS2V5ZG93bkV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIG92ZXJsYXlSZWZzW292ZXJsYXlSZWZzLmxlbmd0aCAtIDFdLmNsb3NlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHJlbW92ZUluc3RhbmNlRnJvbUdsb2JhbENvbGxlY3Rpb24oKTogdm9pZCB7XG4gICAgb3ZlcmxheVJlZnMuc3BsaWNlKG92ZXJsYXlSZWZzLmluZGV4T2YodGhpcyBhcyBTYmJPdmVybGF5QmFzZUVsZW1lbnQpLCAxKTtcbiAgfVxuXG4gIC8vIENsb3NlIHRoZSBjb21wb25lbnQgb24gY2xpY2sgb2YgYW55IGVsZW1lbnQgdGhhdCBoYXMgdGhlIGBjbG9zZUF0dHJpYnV0ZWAgYXR0cmlidXRlLlxuICBwcm90ZWN0ZWQgY2xvc2VPblNiYk92ZXJsYXlDbG9zZUNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IG92ZXJsYXlDbG9zZUVsZW1lbnQgPSBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuZmlsdGVyKChlKTogZSBpcyBIVE1MRWxlbWVudCA9PiBlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50KVxuICAgICAgLmZpbmQoXG4gICAgICAgICh0YXJnZXQpID0+IHRhcmdldC5oYXNBdHRyaWJ1dGUodGhpcy5jbG9zZUF0dHJpYnV0ZSkgJiYgIXRhcmdldC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJyksXG4gICAgICApO1xuXG4gICAgaWYgKCFvdmVybGF5Q2xvc2VFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIHRhcmdldCBpcyBhIHN1Ym1pc3Npb24gZWxlbWVudCB3aXRoaW4gYSBmb3JtIGFuZCByZXR1cm4gdGhlIGZvcm0sIGlmIHByZXNlbnRcbiAgICBjb25zdCBjbG9zZXN0Rm9ybSA9XG4gICAgICBvdmVybGF5Q2xvc2VFbGVtZW50LmdldEF0dHJpYnV0ZSgndHlwZScpID09PSAnc3VibWl0J1xuICAgICAgICA/ICgob3ZlcmxheUNsb3NlRWxlbWVudCBhcyBIVE1MQnV0dG9uRWxlbWVudCB8IFNiYkJ1dHRvbkJhc2VFbGVtZW50KS5mb3JtID8/IG51bGwpXG4gICAgICAgIDogbnVsbDtcbiAgICBvdmVybGF5UmVmc1tvdmVybGF5UmVmcy5sZW5ndGggLSAxXS5jbG9zZShjbG9zZXN0Rm9ybSwgb3ZlcmxheUNsb3NlRWxlbWVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVtb3ZlQXJpYUxpdmVSZWZDb250ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuYXJpYUxpdmVSZWYudGV4dENvbnRlbnQgPSAnJztcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRBcmlhTGl2ZVJlZkNvbnRlbnQobGFiZWw/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmFyaWFMaXZlUmVmVG9nZ2xlID0gIXRoaXMuYXJpYUxpdmVSZWZUb2dnbGU7XG5cbiAgICAvLyBJZiB0aGUgdGV4dCBjb250ZW50IHJlbWFpbnMgdGhlIHNhbWUsIG9uIFZvaWNlT3ZlciB0aGUgYXJpYS1saXZlIHJlZ2lvbiBpcyBub3QgYW5ub3VuY2VkIGEgc2Vjb25kIHRpbWUuXG4gICAgLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFkaW5nIG9uIGV2ZXJ5IG9wZW5pbmcsIHdlIHRvZ2dsZSBhbiBpbnZpc2libGUgc3BhY2UuXG4gICAgdGhpcy5hcmlhTGl2ZVJlZi50ZXh0Q29udGVudCA9IGAke2kxOG5EaWFsb2dbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0ke1xuICAgICAgbGFiZWwgPyBgLCAke2xhYmVsfWAgOiAnJ1xuICAgIH0ke3RoaXMuYXJpYUxpdmVSZWZUb2dnbGUgPyAnwqAnIDogJyd9YDtcbiAgfVxufVxuIiwiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGh0bWwsIHVuc2FmZVN0YXRpYyB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB7IGdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudCwgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyB9IGZyb20gJy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gfSBmcm9tICcuLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIGZvcndhcmRFdmVudCB9IGZyb20gJy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgaTE4bkNsb3NlRGlhbG9nLCBpMThuR29CYWNrIH0gZnJvbSAnLi4vY29yZS9pMThuLmpzJztcblxuaW1wb3J0IHsgb3ZlcmxheVJlZnMsIFNiYk92ZXJsYXlCYXNlRWxlbWVudCB9IGZyb20gJy4vb3ZlcmxheS1iYXNlLWVsZW1lbnQuanMnO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vb3ZlcmxheS5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uL2J1dHRvbi9zZWNvbmRhcnktYnV0dG9uLmpzJztcbmltcG9ydCAnLi4vYnV0dG9uL3RyYW5zcGFyZW50LWJ1dHRvbi5qcyc7XG5pbXBvcnQgJy4uL2NvbnRhaW5lci5qcyc7XG5pbXBvcnQgJy4uL3NjcmVlbi1yZWFkZXItb25seS5qcyc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaW50ZXJhY3RpdmUgb3ZlcmxheSBlbGVtZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBhIGNvbnRlbnQgZm9yIHRoZSBvdmVybGF5LlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gd2lsbE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1vdmVybGF5YCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW92ZXJsYXlgIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW92ZXJsYXlgIGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscz59IGRpZENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItb3ZlcmxheWAgaXMgY2xvc2VkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gcmVxdWVzdEJhY2tBY3Rpb24gLSBFbWl0cyB3aGVuZXZlciB0aGUgYmFjayBidXR0b24gaXMgY2xpY2tlZC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1vdmVybGF5LXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW92ZXJsYXknKVxuY2xhc3MgU2JiT3ZlcmxheUVsZW1lbnQgZXh0ZW5kcyBTYmJPdmVybGF5QmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvLyBUT0RPOiBmaXggdXNpbmcgLi4uc3VwZXIuZXZlbnRzIHJlcXVpcmVzOiBodHRwczovL2dpdGh1Yi5jb20vc2JiLWRlc2lnbi1zeXN0ZW1zL2x5bmUtY29tcG9uZW50cy9pc3N1ZXMvMjYwMFxuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB3aWxsT3BlbjogJ3dpbGxPcGVuJyxcbiAgICBkaWRPcGVuOiAnZGlkT3BlbicsXG4gICAgd2lsbENsb3NlOiAnd2lsbENsb3NlJyxcbiAgICBkaWRDbG9zZTogJ2RpZENsb3NlJyxcbiAgICBiYWNrQ2xpY2s6ICdyZXF1ZXN0QmFja0FjdGlvbicsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYWxsb3cgdGhlIG92ZXJsYXkgY29udGVudCB0byBzdHJldGNoIHRvIGZ1bGwgd2lkdGguXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBjb250ZW50IGhhcyB0aGUgYXBwcm9wcmlhdGUgcGFnZSBzaXplLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgYSBiYWNrIGJ1dHRvbiBpcyBkaXNwbGF5ZWQgbmV4dCB0byB0aGUgdGl0bGUuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdiYWNrLWJ1dHRvbicsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGJhY2tCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBjbG9zZSBidXR0b24gZWxlbWVudC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktY2xvc2UtbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgYmFjayBidXR0b24gZWxlbWVudC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktYmFjay1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlCYWNrTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIHByb3RlY3RlZCBjbG9zZUF0dHJpYnV0ZTogc3RyaW5nID0gJ3NiYi1vdmVybGF5LWNsb3NlJztcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGJhY2sgYnV0dG9uIGlzIGNsaWNrZWQuICovXG4gIHByaXZhdGUgX2JhY2tDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiT3ZlcmxheUVsZW1lbnQuZXZlbnRzLmJhY2tDbGljayxcbiAgKTtcbiAgcHJpdmF0ZSBfb3ZlcmxheUNvbnRlbnRFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBPcGVucyB0aGUgY29tcG9uZW50LiAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5sYXN0Rm9jdXNlZEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgdGhpcy5fb3ZlcmxheUNvbnRlbnRFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKFxuICAgICAgJy5zYmItb3ZlcmxheV9fY29udGVudCcsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmICghdGhpcy53aWxsT3Blbi5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuXG4gICAgLy8gQWRkIHRoaXMgb3ZlcmxheSB0byB0aGUgZ2xvYmFsIGNvbGxlY3Rpb25cbiAgICBvdmVybGF5UmVmcy5wdXNoKHRoaXMgYXMgU2JiT3ZlcmxheUVsZW1lbnQpO1xuXG4gICAgLy8gRGlzYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIG92ZXJsYXlcbiAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZGlzYWJsZVNjcm9sbCgpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBpc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLW92ZXJsYXktYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLmluZXJ0Q29udHJvbGxlci5hY3RpdmF0ZSgpO1xuICAgIHRoaXMuYXR0YWNoT3Blbk92ZXJsYXlFdmVudHMoKTtcbiAgICB0aGlzLnNldE92ZXJsYXlGb2N1cygpO1xuICAgIC8vIFVzZSB0aW1lb3V0IHRvIHJlYWQgbGFiZWwgYWZ0ZXIgZm9jdXNlZCBlbGVtZW50XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNldEFyaWFMaXZlUmVmQ29udGVudCh0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCkpO1xuICAgIHRoaXMuZm9jdXNIYW5kbGVyLnRyYXAodGhpcyk7XG4gICAgdGhpcy5kaWRPcGVuLmVtaXQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBoYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX292ZXJsYXlDb250ZW50RWxlbWVudD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuICAgIHRoaXMuaW5lcnRDb250cm9sbGVyLmRlYWN0aXZhdGUoKTtcbiAgICBzZXRNb2RhbGl0eU9uTmV4dEZvY3VzKHRoaXMubGFzdEZvY3VzZWRFbGVtZW50KTtcbiAgICAvLyBNYW51YWxseSBmb2N1cyBsYXN0IGZvY3VzZWQgZWxlbWVudFxuICAgIHRoaXMubGFzdEZvY3VzZWRFbGVtZW50Py5mb2N1cygpO1xuICAgIHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuZm9jdXNIYW5kbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLnJlbW92ZUluc3RhbmNlRnJvbUdsb2JhbENvbGxlY3Rpb24oKTtcbiAgICAvLyBFbmFibGUgc2Nyb2xsaW5nIGZvciBjb250ZW50IGJlbG93IHRoZSBvdmVybGF5IGlmIG5vIG92ZXJsYXkgaXMgb3BlblxuICAgIGlmICghb3ZlcmxheVJlZnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgfVxuICAgIHRoaXMuZGlkQ2xvc2UuZW1pdCh7XG4gICAgICByZXR1cm5WYWx1ZTogdGhpcy5yZXR1cm5WYWx1ZSxcbiAgICAgIGNsb3NlVGFyZ2V0OiB0aGlzLm92ZXJsYXlDbG9zZUVsZW1lbnQsXG4gICAgfSk7XG4gIH1cblxuICAvLyBXYWl0IGZvciBvdmVybGF5IHRyYW5zaXRpb24gdG8gY29tcGxldGUuXG4gIC8vIEluIHJhcmUgY2FzZXMsIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByb3RlY3RlZCBvbk92ZXJsYXlBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgZm9jdXMgb24gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50LlxuICBwcm90ZWN0ZWQgc2V0T3ZlcmxheUZvY3VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlID0gZ2V0Rmlyc3RGb2N1c2FibGVFbGVtZW50KFxuICAgICAgQXJyYXkuZnJvbSh0aGlzLnNoYWRvd1Jvb3QhLmNoaWxkcmVuKS5maWx0ZXIoXG4gICAgICAgIChlKTogZSBpcyBIVE1MRWxlbWVudCA9PiBlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50LFxuICAgICAgKSxcbiAgICApO1xuICAgIHNldE1vZGFsaXR5T25OZXh0Rm9jdXMoZmlyc3RGb2N1c2FibGUpO1xuICAgIGZpcnN0Rm9jdXNhYmxlPy5mb2N1cygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVEFHX05BTUUgPSB0aGlzLm5lZ2F0aXZlID8gJ3NiYi10cmFuc3BhcmVudC1idXR0b24nIDogJ3NiYi1zZWNvbmRhcnktYnV0dG9uJztcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIGxpdC9iaW5kaW5nLXBvc2l0aW9ucyAqL1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gaHRtbGBcbiAgICAgIDwke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRSl9XG4gICAgICAgIGNsYXNzPVwic2JiLW92ZXJsYXlfX2Nsb3NlXCJcbiAgICAgICAgYXJpYS1sYWJlbD0ke3RoaXMuYWNjZXNzaWJpbGl0eUNsb3NlTGFiZWwgfHwgaTE4bkNsb3NlRGlhbG9nW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGljb24tbmFtZT1cImNyb3NzLXNtYWxsXCJcbiAgICAgICAgc2JiLW92ZXJsYXktY2xvc2VcbiAgICAgID48LyR7dW5zYWZlU3RhdGljKFRBR19OQU1FKX0+XG4gICAgYDtcblxuICAgIGNvbnN0IGJhY2tCdXR0b24gPSBodG1sYFxuICAgICAgPCR7dW5zYWZlU3RhdGljKFRBR19OQU1FKX1cbiAgICAgICAgY2xhc3M9XCJzYmItb3ZlcmxheV9fYmFja1wiXG4gICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlCYWNrTGFiZWwgfHwgaTE4bkdvQmFja1t0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICA/bmVnYXRpdmU9JHt0aGlzLm5lZ2F0aXZlfVxuICAgICAgICBzaXplPVwibVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBpY29uLW5hbWU9XCJjaGV2cm9uLXNtYWxsLWxlZnQtc21hbGxcIlxuICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLl9iYWNrQ2xpY2suZW1pdCgpfVxuICAgICAgPjwvJHt1bnNhZmVTdGF0aWMoVEFHX05BTUUpfT5cbiAgICBgO1xuICAgIC8qIGVzbGludC1lbmFibGUgbGl0L2JpbmRpbmctcG9zaXRpb25zICovXG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3ZlcmxheV9fY29udGFpbmVyXCIgQGFuaW1hdGlvbmVuZD0ke3RoaXMub25PdmVybGF5QW5pbWF0aW9uRW5kfT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1vdmVybGF5XCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgQGNsaWNrPSR7KGV2ZW50OiBFdmVudCkgPT4gdGhpcy5jbG9zZU9uU2JiT3ZlcmxheUNsb3NlQ2xpY2soZXZlbnQpfVxuICAgICAgICAgICAgY2xhc3M9XCJzYmItb3ZlcmxheV9fd3JhcHBlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1vdmVybGF5X19oZWFkZXJcIj5cbiAgICAgICAgICAgICAgJHt0aGlzLmJhY2tCdXR0b24gPyBiYWNrQnV0dG9uIDogbm90aGluZ30gJHtjbG9zZUJ1dHRvbn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1vdmVybGF5X19jb250ZW50XCIgQHNjcm9sbD0keyhlOiBFdmVudCkgPT4gZm9yd2FyZEV2ZW50KGUsIGRvY3VtZW50KX0+XG4gICAgICAgICAgICAgIDxzYmItY29udGFpbmVyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItb3ZlcmxheV9fY29udGVudC1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgID9leHBhbmRlZD0ke3RoaXMuZXhwYW5kZWR9XG4gICAgICAgICAgICAgICAgY29sb3I9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgICAgIDwvc2JiLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHkgYXJpYS1saXZlPVwicG9saXRlXCI+PC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1vdmVybGF5JzogU2JiT3ZlcmxheUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJPdmVybGF5QmFzZUVsZW1lbnQiLCJfYSIsIlNiYk92ZXJsYXlFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVPLE1BQU0sY0FBdUMsQ0FBQTtJQU1yQyx5QkFBcUIsTUFBQTs7QUFIbkMsTUFBQSxtQkFBQSxDQUFBLGVBQWU7QUFBQSxJQUNkLFNBQVM7QUFBQSxFQUFBLENBQ1YsQ0FBQzs7OztvQkFDMkMsaUJBQWlCLHVCQUF1Qjs7OztBQUFoREEsTUFBQUEsMEJBQUEsbUJBQVEsWUFBeUM7QUFBQTs7QUFJcEY7QUFBZ0IseUJBQUEsc0NBQUEsa0JBQUEsTUFBQSxrQ0FBNkIsRUFBRTtBQUc1QixXQUFBLDRFQUFz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
|
|
551
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL292ZXJsYXkvb3ZlcmxheS1iYXNlLWVsZW1lbnQudHMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvb3ZlcmxheS9vdmVybGF5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkZvY3VzSGFuZGxlciB9IGZyb20gJy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyB0eXBlIFNiYkJ1dHRvbkJhc2VFbGVtZW50LCBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQge1xuICBTYmJJbmVydENvbnRyb2xsZXIsXG4gIFNiYkxhbmd1YWdlQ29udHJvbGxlcixcbiAgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIsXG59IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBTYmJTY3JvbGxIYW5kbGVyIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuRGlhbG9nIH0gZnJvbSAnLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50IH0gZnJvbSAnLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuLy8gQSBnbG9iYWwgY29sbGVjdGlvbiBvZiBleGlzdGluZyBvdmVybGF5cy5cbmV4cG9ydCBjb25zdCBvdmVybGF5UmVmczogU2JiT3ZlcmxheUJhc2VFbGVtZW50W10gPSBbXTtcblxuZXhwb3J0XG5AaG9zdEF0dHJpYnV0ZXMoe1xuICBwb3BvdmVyOiAnbWFudWFsJyxcbn0pXG5hYnN0cmFjdCBjbGFzcyBTYmJPdmVybGF5QmFzZUVsZW1lbnQgZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSB7XG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIHJlbGV2YW50IG5lc3RlZCBlbGVtZW50IHRvIGRlc2NyaWJlIHRoZSBwdXJwb3NlIG9mIHRoZSBvdmVybGF5LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkLiAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGlkQ2xvc2U6IEV2ZW50RW1pdHRlcjxTYmJPdmVybGF5Q2xvc2VFdmVudERldGFpbHM+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYk92ZXJsYXlCYXNlRWxlbWVudC5ldmVudHMuZGlkQ2xvc2UsXG4gICAgeyBjYW5jZWxhYmxlOiB0cnVlIH0sXG4gICk7XG5cbiAgLy8gVGhlIGxhc3QgZWxlbWVudCB3aGljaCBoYWQgZm9jdXMgYmVmb3JlIHRoZSBjb21wb25lbnQgd2FzIG9wZW5lZC5cbiAgcHJvdGVjdGVkIGxhc3RGb2N1c2VkRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcm90ZWN0ZWQgb3ZlcmxheUNsb3NlRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgcHJvdGVjdGVkIG92ZXJsYXlDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcm90ZWN0ZWQgb3Blbk92ZXJsYXlDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcm90ZWN0ZWQgZm9jdXNIYW5kbGVyID0gbmV3IFNiYkZvY3VzSGFuZGxlcigpO1xuICBwcm90ZWN0ZWQgc2Nyb2xsSGFuZGxlciA9IG5ldyBTYmJTY3JvbGxIYW5kbGVyKCk7XG4gIHByb3RlY3RlZCByZXR1cm5WYWx1ZTogYW55O1xuICBwcm90ZWN0ZWQgYXJpYUxpdmVSZWZUb2dnbGUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGFyaWFMaXZlUmVmITogU2JiU2NyZWVuUmVhZGVyT25seUVsZW1lbnQ7XG4gIHByb3RlY3RlZCBsYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByb3RlY3RlZCBpbmVydENvbnRyb2xsZXIgPSBuZXcgU2JiSW5lcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcm90ZWN0ZWQgc2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNsb3NlQXR0cmlidXRlOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBvbk92ZXJsYXlBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNldE92ZXJsYXlGb2N1cygpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaGFuZGxlQ2xvc2luZygpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbjtcblxuICAvKiogQ2xvc2VzIHRoZSBjb21wb25lbnQuICovXG4gIHB1YmxpYyBjbG9zZShyZXN1bHQ/OiBhbnksIHRhcmdldD86IEhUTUxFbGVtZW50KTogYW55IHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJldHVyblZhbHVlID0gcmVzdWx0O1xuICAgIHRoaXMub3ZlcmxheUNsb3NlRWxlbWVudCA9IHRhcmdldDtcbiAgICBjb25zdCBldmVudERhdGE6IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyA9IHtcbiAgICAgIHJldHVyblZhbHVlOiB0aGlzLnJldHVyblZhbHVlLFxuICAgICAgY2xvc2VUYXJnZXQ6IHRoaXMub3ZlcmxheUNsb3NlRWxlbWVudCxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLndpbGxDbG9zZS5lbWl0KGV2ZW50RGF0YSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcbiAgICB0aGlzLnJlbW92ZUFyaWFMaXZlUmVmQ29udGVudCgpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5vdmVybGF5Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLm92ZXJsYXlDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICB0aGlzLmFyaWFMaXZlUmVmID1cbiAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxTYmJTY3JlZW5SZWFkZXJPbmx5RWxlbWVudD4oJ3NiYi1zY3JlZW4tcmVhZGVyLW9ubHknKSE7XG5cbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5vdmVybGF5Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLmZvY3VzSGFuZGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5yZW1vdmVJbnN0YW5jZUZyb21HbG9iYWxDb2xsZWN0aW9uKCk7XG4gICAgdGhpcy5zY3JvbGxIYW5kbGVyLmVuYWJsZVNjcm9sbCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGF0dGFjaE9wZW5PdmVybGF5RXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIC8vIFJlbW92ZSBvdmVybGF5IGxhYmVsIGFzIHNvb24gYXMgaXQgaXMgbm90IG5lZWRlZCBhbnkgbW9yZSB0byBwcmV2ZW50IGFjY2Vzc2luZyBpdCB3aXRoIGJyb3dzZSBtb2RlLlxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2tleWRvd24nLFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZUFyaWFMaXZlUmVmQ29udGVudCgpO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5yZW1vdmVBcmlhTGl2ZVJlZkNvbnRlbnQoKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVtb3ZlSW5zdGFuY2VGcm9tR2xvYmFsQ29sbGVjdGlvbigpOiB2b2lkIHtcbiAgICBvdmVybGF5UmVmcy5zcGxpY2Uob3ZlcmxheVJlZnMuaW5kZXhPZih0aGlzIGFzIFNiYk92ZXJsYXlCYXNlRWxlbWVudCksIDEpO1xuICB9XG5cbiAgLy8gQ2xvc2UgdGhlIGNvbXBvbmVudCBvbiBjbGljayBvZiBhbnkgZWxlbWVudCB0aGF0IGhhcyB0aGUgYGNsb3NlQXR0cmlidXRlYCBhdHRyaWJ1dGUuXG4gIHByb3RlY3RlZCBjbG9zZU9uU2JiT3ZlcmxheUNsb3NlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3Qgb3ZlcmxheUNsb3NlRWxlbWVudCA9IGV2ZW50XG4gICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgIC5maWx0ZXIoKGUpOiBlIGlzIEhUTUxFbGVtZW50ID0+IGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpXG4gICAgICAuZmluZChcbiAgICAgICAgKHRhcmdldCkgPT4gdGFyZ2V0Lmhhc0F0dHJpYnV0ZSh0aGlzLmNsb3NlQXR0cmlidXRlKSAmJiAhdGFyZ2V0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSxcbiAgICAgICk7XG5cbiAgICBpZiAoIW92ZXJsYXlDbG9zZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgdGFyZ2V0IGlzIGEgc3VibWlzc2lvbiBlbGVtZW50IHdpdGhpbiBhIGZvcm0gYW5kIHJldHVybiB0aGUgZm9ybSwgaWYgcHJlc2VudFxuICAgIGNvbnN0IGNsb3Nlc3RGb3JtID1cbiAgICAgIG92ZXJsYXlDbG9zZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0eXBlJykgPT09ICdzdWJtaXQnXG4gICAgICAgID8gKChvdmVybGF5Q2xvc2VFbGVtZW50IGFzIEhUTUxCdXR0b25FbGVtZW50IHwgU2JiQnV0dG9uQmFzZUVsZW1lbnQpLmZvcm0gPz8gbnVsbClcbiAgICAgICAgOiBudWxsO1xuICAgIG92ZXJsYXlSZWZzW292ZXJsYXlSZWZzLmxlbmd0aCAtIDFdLmNsb3NlKGNsb3Nlc3RGb3JtLCBvdmVybGF5Q2xvc2VFbGVtZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZW1vdmVBcmlhTGl2ZVJlZkNvbnRlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5hcmlhTGl2ZVJlZi50ZXh0Q29udGVudCA9ICcnO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEFyaWFMaXZlUmVmQ29udGVudChsYWJlbD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuYXJpYUxpdmVSZWZUb2dnbGUgPSAhdGhpcy5hcmlhTGl2ZVJlZlRvZ2dsZTtcblxuICAgIC8vIElmIHRoZSB0ZXh0IGNvbnRlbnQgcmVtYWlucyB0aGUgc2FtZSwgb24gVm9pY2VPdmVyIHRoZSBhcmlhLWxpdmUgcmVnaW9uIGlzIG5vdCBhbm5vdW5jZWQgYSBzZWNvbmQgdGltZS5cbiAgICAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWRpbmcgb24gZXZlcnkgb3BlbmluZywgd2UgdG9nZ2xlIGFuIGludmlzaWJsZSBzcGFjZS5cbiAgICB0aGlzLmFyaWFMaXZlUmVmLnRleHRDb250ZW50ID0gYCR7aTE4bkRpYWxvZ1t0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfSR7XG4gICAgICBsYWJlbCA/IGAsICR7bGFiZWx9YCA6ICcnXG4gICAgfSR7dGhpcy5hcmlhTGl2ZVJlZlRvZ2dsZSA/ICfCoCcgOiAnJ31gO1xuICB9XG59XG4iLCJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCwgdW5zYWZlU3RhdGljIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHsgZ2V0Rmlyc3RGb2N1c2FibGVFbGVtZW50LCBzZXRNb2RhbGl0eU9uTmV4dEZvY3VzIH0gZnJvbSAnLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc1plcm9BbmltYXRpb25EdXJhdGlvbiB9IGZyb20gJy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgZm9yd2FyZEV2ZW50IH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VEaWFsb2csIGkxOG5Hb0JhY2sgfSBmcm9tICcuLi9jb3JlL2kxOG4uanMnO1xuXG5pbXBvcnQgeyBvdmVybGF5UmVmcywgU2JiT3ZlcmxheUJhc2VFbGVtZW50IH0gZnJvbSAnLi9vdmVybGF5LWJhc2UtZWxlbWVudC5qcyc7XG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9vdmVybGF5LnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vYnV0dG9uL3NlY29uZGFyeS1idXR0b24uanMnO1xuaW1wb3J0ICcuLi9idXR0b24vdHJhbnNwYXJlbnQtYnV0dG9uLmpzJztcbmltcG9ydCAnLi4vY29udGFpbmVyLmpzJztcbmltcG9ydCAnLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBpbnRlcmFjdGl2ZSBvdmVybGF5IGVsZW1lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGEgY29udGVudCBmb3IgdGhlIG92ZXJsYXkuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW92ZXJsYXlgIHN0YXJ0cyB0aGUgb3BlbmluZyB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRPcGVuIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItb3ZlcmxheWAgaXMgb3BlbmVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gd2lsbENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItb3ZlcmxheWAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8U2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzPn0gZGlkQ2xvc2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1vdmVybGF5YCBpcyBjbG9zZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSByZXF1ZXN0QmFja0FjdGlvbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBiYWNrIGJ1dHRvbiBpcyBjbGlja2VkLlxuICogQGNzc3Byb3AgWy0tc2JiLW92ZXJsYXktei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItb3ZlcmxheScpXG5jbGFzcyBTYmJPdmVybGF5RWxlbWVudCBleHRlbmRzIFNiYk92ZXJsYXlCYXNlRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8vIFRPRE86IGZpeCB1c2luZyAuLi5zdXBlci5ldmVudHMgcmVxdWlyZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9zYmItZGVzaWduLXN5c3RlbXMvbHluZS1jb21wb25lbnRzL2lzc3Vlcy8yNjAwXG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHdpbGxPcGVuOiAnd2lsbE9wZW4nLFxuICAgIGRpZE9wZW46ICdkaWRPcGVuJyxcbiAgICB3aWxsQ2xvc2U6ICd3aWxsQ2xvc2UnLFxuICAgIGRpZENsb3NlOiAnZGlkQ2xvc2UnLFxuICAgIGJhY2tDbGljazogJ3JlcXVlc3RCYWNrQWN0aW9uJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBhbGxvdyB0aGUgb3ZlcmxheSBjb250ZW50IHRvIHN0cmV0Y2ggdG8gZnVsbCB3aWR0aC5cbiAgICogQnkgZGVmYXVsdCwgdGhlIGNvbnRlbnQgaGFzIHRoZSBhcHByb3ByaWF0ZSBwYWdlIHNpemUuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogV2hldGhlciBhIGJhY2sgYnV0dG9uIGlzIGRpc3BsYXllZCBuZXh0IHRvIHRoZSB0aXRsZS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2JhY2stYnV0dG9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYmFja0J1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIGNsb3NlIGJ1dHRvbiBlbGVtZW50LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1jbG9zZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKiogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBiYWNrIGJ1dHRvbiBlbGVtZW50LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1iYWNrLWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUJhY2tMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgcHJvdGVjdGVkIGNsb3NlQXR0cmlidXRlOiBzdHJpbmcgPSAnc2JiLW92ZXJsYXktY2xvc2UnO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYmFjayBidXR0b24gaXMgY2xpY2tlZC4gKi9cbiAgcHJpdmF0ZSBfYmFja0NsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJPdmVybGF5RWxlbWVudC5ldmVudHMuYmFja0NsaWNrLFxuICApO1xuICBwcml2YXRlIF9vdmVybGF5Q29udGVudEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIE9wZW5zIHRoZSBjb21wb25lbnQuICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmxhc3RGb2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICB0aGlzLl9vdmVybGF5Q29udGVudEVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnLnNiYi1vdmVybGF5X19jb250ZW50JyxcbiAgICApIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKCF0aGlzLndpbGxPcGVuLmVtaXQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd1BvcG92ZXI/LigpO1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG5cbiAgICAvLyBBZGQgdGhpcyBvdmVybGF5IHRvIHRoZSBnbG9iYWwgY29sbGVjdGlvblxuICAgIG92ZXJsYXlSZWZzLnB1c2godGhpcyBhcyBTYmJPdmVybGF5RWxlbWVudCk7XG5cbiAgICAvLyBEaXNhYmxlIHNjcm9sbGluZyBmb3IgY29udGVudCBiZWxvdyB0aGUgb3ZlcmxheVxuICAgIHRoaXMuc2Nyb2xsSGFuZGxlci5kaXNhYmxlU2Nyb2xsKCk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItb3ZlcmxheS1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuaW5lcnRDb250cm9sbGVyLmFjdGl2YXRlKCk7XG4gICAgdGhpcy5zYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5hdHRhY2hPcGVuT3ZlcmxheUV2ZW50cygpO1xuICAgIHRoaXMuc2V0T3ZlcmxheUZvY3VzKCk7XG4gICAgLy8gVXNlIHRpbWVvdXQgdG8gcmVhZCBsYWJlbCBhZnRlciBmb2N1c2VkIGVsZW1lbnRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2V0QXJpYUxpdmVSZWZDb250ZW50KHRoaXMuYWNjZXNzaWJpbGl0eUxhYmVsKSk7XG4gICAgdGhpcy5mb2N1c0hhbmRsZXIudHJhcCh0aGlzKTtcbiAgICB0aGlzLmRpZE9wZW4uZW1pdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGhhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fb3ZlcmxheUNvbnRlbnRFbGVtZW50Py5zY3JvbGxUbygwLCAwKTtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5oaWRlUG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5pbmVydENvbnRyb2xsZXIuZGVhY3RpdmF0ZSgpO1xuICAgIHNldE1vZGFsaXR5T25OZXh0Rm9jdXModGhpcy5sYXN0Rm9jdXNlZEVsZW1lbnQpO1xuICAgIC8vIE1hbnVhbGx5IGZvY3VzIGxhc3QgZm9jdXNlZCBlbGVtZW50XG4gICAgdGhpcy5sYXN0Rm9jdXNlZEVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgdGhpcy5vcGVuT3ZlcmxheUNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5mb2N1c0hhbmRsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMucmVtb3ZlSW5zdGFuY2VGcm9tR2xvYmFsQ29sbGVjdGlvbigpO1xuICAgIC8vIEVuYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIG92ZXJsYXkgaWYgbm8gb3ZlcmxheSBpcyBvcGVuXG4gICAgaWYgKCFvdmVybGF5UmVmcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgICB9XG4gICAgdGhpcy5zYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5kaWRDbG9zZS5lbWl0KHtcbiAgICAgIHJldHVyblZhbHVlOiB0aGlzLnJldHVyblZhbHVlLFxuICAgICAgY2xvc2VUYXJnZXQ6IHRoaXMub3ZlcmxheUNsb3NlRWxlbWVudCxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFdhaXQgZm9yIG92ZXJsYXkgdHJhbnNpdGlvbiB0byBjb21wbGV0ZS5cbiAgLy8gSW4gcmFyZSBjYXNlcywgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJvdGVjdGVkIG9uT3ZlcmxheUFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldCBmb2N1cyBvbiB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQuXG4gIHByb3RlY3RlZCBzZXRPdmVybGF5Rm9jdXMoKTogdm9pZCB7XG4gICAgY29uc3QgZmlyc3RGb2N1c2FibGUgPSBnZXRGaXJzdEZvY3VzYWJsZUVsZW1lbnQoXG4gICAgICBBcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdCEuY2hpbGRyZW4pLmZpbHRlcihcbiAgICAgICAgKGUpOiBlIGlzIEhUTUxFbGVtZW50ID0+IGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQsXG4gICAgICApLFxuICAgICk7XG4gICAgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyhmaXJzdEZvY3VzYWJsZSk7XG4gICAgZmlyc3RGb2N1c2FibGU/LmZvY3VzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBUQUdfTkFNRSA9IHRoaXMubmVnYXRpdmUgPyAnc2JiLXRyYW5zcGFyZW50LWJ1dHRvbicgOiAnc2JiLXNlY29uZGFyeS1idXR0b24nO1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgbGl0L2JpbmRpbmctcG9zaXRpb25zICovXG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSBodG1sYFxuICAgICAgPCR7dW5zYWZlU3RhdGljKFRBR19OQU1FKX1cbiAgICAgICAgY2xhc3M9XCJzYmItb3ZlcmxheV9fY2xvc2VcIlxuICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbCB8fCBpMThuQ2xvc2VEaWFsb2dbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICBzYmItb3ZlcmxheS1jbG9zZVxuICAgICAgPjwvJHt1bnNhZmVTdGF0aWMoVEFHX05BTUUpfT5cbiAgICBgO1xuXG4gICAgY29uc3QgYmFja0J1dHRvbiA9IGh0bWxgXG4gICAgICA8JHt1bnNhZmVTdGF0aWMoVEFHX05BTUUpfVxuICAgICAgICBjbGFzcz1cInNiYi1vdmVybGF5X19iYWNrXCJcbiAgICAgICAgYXJpYS1sYWJlbD0ke3RoaXMuYWNjZXNzaWJpbGl0eUJhY2tMYWJlbCB8fCBpMThuR29CYWNrW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtbGVmdC1zbWFsbFwiXG4gICAgICAgIEBjbGljaz0keygpID0+IHRoaXMuX2JhY2tDbGljay5lbWl0KCl9XG4gICAgICA+PC8ke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRSl9PlxuICAgIGA7XG4gICAgLyogZXNsaW50LWVuYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1vdmVybGF5X19jb250YWluZXJcIiBAYW5pbWF0aW9uZW5kPSR7dGhpcy5vbk92ZXJsYXlBbmltYXRpb25FbmR9PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW92ZXJsYXlcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLmNsb3NlT25TYmJPdmVybGF5Q2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1vdmVybGF5X193cmFwcGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW92ZXJsYXlfX2hlYWRlclwiPlxuICAgICAgICAgICAgICAke3RoaXMuYmFja0J1dHRvbiA/IGJhY2tCdXR0b24gOiBub3RoaW5nfSAke2Nsb3NlQnV0dG9ufVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW92ZXJsYXlfX2NvbnRlbnRcIiBAc2Nyb2xsPSR7KGU6IEV2ZW50KSA9PiBmb3J3YXJkRXZlbnQoZSwgZG9jdW1lbnQpfT5cbiAgICAgICAgICAgICAgPHNiYi1jb250YWluZXJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1vdmVybGF5X19jb250ZW50LWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgP2V4cGFuZGVkPSR7dGhpcy5leHBhbmRlZH1cbiAgICAgICAgICAgICAgICBjb2xvcj1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICAgICAgPC9zYmItY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seSBhcmlhLWxpdmU9XCJwb2xpdGVcIj48L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW92ZXJsYXknOiBTYmJPdmVybGF5RWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlNiYk92ZXJsYXlCYXNlRWxlbWVudCIsIl9hIiwiU2JiT3ZlcmxheUVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUJPLE1BQU0sY0FBdUMsQ0FBQTtJQU1yQyx5QkFBcUIsTUFBQTs7QUFIbkMsTUFBQSxtQkFBQSxDQUFBLGVBQWU7QUFBQSxJQUNkLFNBQVM7QUFBQSxFQUFBLENBQ1YsQ0FBQzs7OztvQkFDMkMsaUJBQWlCLHVCQUF1Qjs7OztBQUFoREEsTUFBQUEsMEJBQUEsbUJBQVEsWUFBeUM7QUFBQTs7QUFJcEY7QUFBZ0IseUJBQUEsc0NBQUEsa0JBQUEsTUFBQSxrQ0FBNkIsRUFBRTtBQUc1QixXQUFBLDRFQUFzRCxJQUFJLGFBQzNFLE1BQ0FBLHVCQUFzQixPQUFPLFVBQzdCLEVBQUUsWUFBWSxLQUFNLENBQUE7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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginator-common.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/common/paginator-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAuB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,KAAK,mBAAmB,EAAsC,MAAM,sBAAsB,CAAC;AAEpG,OAAO,6BAA6B,CAAC;AACrC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,kBAAkB,CAAC;AAE1B,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,kCAAkC;IAC9D,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,aAAa,EAAE,OAAO,GAAG,KAAK,CAAC;IAC/C,SAAgB,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAChC,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC1C,SAAS,CAAC,aAAa,IAAI,MAAM;IACjC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC/C,SAAS,CAAC,aAAa,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI;IACxD,SAAS,CAAC,qBAAqB,IAAI,cAAc;IACjD,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,cAAc;CACrD;AAGD,eAAO,MAAM,8BAA8B,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"paginator-common.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/common/paginator-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAuB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,KAAK,mBAAmB,EAAsC,MAAM,sBAAsB,CAAC;AAEpG,OAAO,6BAA6B,CAAC;AACrC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,kBAAkB,CAAC;AAE1B,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,kCAAkC;IAC9D,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,aAAa,EAAE,OAAO,GAAG,KAAK,CAAC;IAC/C,SAAgB,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAChC,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC1C,SAAS,CAAC,aAAa,IAAI,MAAM;IACjC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC/C,SAAS,CAAC,aAAa,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI;IACxD,SAAS,CAAC,qBAAqB,IAAI,cAAc;IACjD,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,cAAc;CACrD;AAGD,eAAO,MAAM,8BAA8B,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,EACtF,YAAY,CAAC,KACZ,mBAAmB,CAAC,kCAAkC,CAAC,GAAG,CAqJ5D,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,mBAAmB;QAC3B,IAAI,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC;KACjD;CACF"}
|
|
@@ -48,6 +48,7 @@ export declare class SbbPopoverElement extends SbbPopoverElement_base {
|
|
|
48
48
|
private _isPointerDownEventOnPopover?;
|
|
49
49
|
private _popoverController;
|
|
50
50
|
private _openStateController;
|
|
51
|
+
private _sbbEscapableOverlayController;
|
|
51
52
|
private _focusHandler;
|
|
52
53
|
private _hoverTrigger;
|
|
53
54
|
private _openTimeout?;
|
|
@@ -60,7 +61,6 @@ export declare class SbbPopoverElement extends SbbPopoverElement_base {
|
|
|
60
61
|
private _isZeroAnimationDuration;
|
|
61
62
|
private _handleClosing;
|
|
62
63
|
private _handleOpening;
|
|
63
|
-
private _onKeydownEvent;
|
|
64
64
|
connectedCallback(): void;
|
|
65
65
|
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
66
66
|
protected firstUpdated(changedProperties: PropertyValues<this>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../../src/elements/popover/popover/popover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAW1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../../src/elements/popover/popover/popover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAW1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAQtE,OAAO,EAA4B,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAahF,OAAO,kCAAkC,CAAC;;AAU1C;;;;;;;;;;;;GAYG;AACH,qBAGM,iBAAkB,SAAQ,sBAA0C;IACxE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACH,SAA4B,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAQ;IAExE,iDAAiD;IACjD,SAEgB,eAAe,EAAE,OAAO,CAAS;IAEjD,wDAAwD;IACxD,SAEgB,YAAY,EAAE,OAAO,CAAS;IAE9C,8CAA8C;IAC9C,SAEgB,SAAS,EAAE,MAAM,CAAK;IAEtC,+CAA+C;IAC/C,SAEgB,UAAU,EAAE,MAAM,CAAK;IAEvC,wEAAwE;IACxE,SAEgB,uBAAuB,EAAE,MAAM,CAAM;IAErD,sEAAsE;IACtE,UAAmB,SAAS,EAAE,YAAY,CAAC;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC,CAIvE;IAEF,kDAAkD;IAClD,UAAmB,QAAQ,EAAE,YAAY,CAAC;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC,CAItE;IAEF,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,eAAe,CAAC,CAAqB;IAE7C,OAAO,CAAC,mBAAmB,CAAC,CAAc;IAC1C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,oBAAoB,CAAC,CAAc;IAC3C,OAAO,CAAC,4BAA4B,CAAC,CAAU;IAC/C,OAAO,CAAC,kBAAkB,CAAmB;IAC7C,OAAO,CAAC,oBAAoB,CAAmB;IAC/C,OAAO,CAAC,8BAA8B,CAA2C;IACjF,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,SAAS,CAAmC;IAEpD,0CAA0C;IACnC,IAAI,IAAI,IAAI;IAgCnB,0BAA0B;IACnB,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI;IAqBxC,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,cAAc;IAYN,iBAAiB,IAAI,IAAI;cAYtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAczD,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAS9D,oBAAoB,IAAI,IAAI;IAS5C,OAAO,CAAC,UAAU;IAuDlB,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,oBAAoB,CAE1B;IAGF,OAAO,CAAC,qBAAqB,CAS3B;IAEF,OAAO,CAAC,oBAAoB,CAM1B;IAEF,OAAO,CAAC,oBAAoB,CAM1B;IAEF,OAAO,CAAC,oBAAoB,CAI1B;IAEF,OAAO,CAAC,oBAAoB,CAI1B;IAMF,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,mBAAmB;cA6BR,MAAM,IAAI,cAAc;CAkC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
|