@sbb-esta/lyne-elements 1.9.0 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion.d.ts +5 -5
- package/accordion/accordion.d.ts.map +1 -1
- package/accordion.js +17 -17
- package/action-group/action-group.d.ts +1 -1
- package/action-group/action-group.d.ts.map +1 -1
- package/action-group.js +3 -3
- package/alert/alert/alert.d.ts +1 -1
- package/alert/alert/alert.d.ts.map +1 -1
- package/alert/alert.js +3 -3
- package/autocomplete/autocomplete-base-element.d.ts +1 -1
- 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/autocomplete-grid-button.d.ts +1 -4
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button.js +32 -28
- package/autocomplete-grid/autocomplete-grid-option.js +1 -1
- package/autocomplete-grid/autocomplete-grid.js +24 -25
- package/autocomplete.js +28 -29
- package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts +0 -1
- package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
- package/breadcrumb/breadcrumb-group.js +25 -24
- package/button/button/button.d.ts +1 -1
- package/button/button-link/button-link.d.ts +1 -1
- package/button/button-link.js +14 -14
- package/button/common.js +5 -5
- package/button/mini-button/mini-button.d.ts +1 -1
- package/button/secondary-button/secondary-button.d.ts +1 -1
- package/button/secondary-button-link/secondary-button-link.d.ts +1 -1
- package/button/secondary-button-link.js +15 -15
- package/button/tertiary-button/tertiary-button.d.ts +1 -1
- package/button/tertiary-button-link/tertiary-button-link.d.ts +1 -1
- package/button/tertiary-button-link.js +12 -12
- package/button/transparent-button/transparent-button.d.ts +1 -1
- package/button/transparent-button-link/transparent-button-link.d.ts +1 -1
- package/button/transparent-button-link.js +15 -15
- package/calendar/calendar.d.ts +2 -2
- package/calendar/calendar.d.ts.map +1 -1
- package/calendar.js +5 -4
- package/card/card-badge/card-badge.d.ts.map +1 -1
- package/card/card-badge.js +7 -9
- package/card/common/card-action-common.d.ts.map +1 -1
- package/card/common.js +24 -25
- package/clock/clock.d.ts +2 -2
- package/clock/clock.d.ts.map +1 -1
- package/container/sticky-bar/sticky-bar.d.ts +0 -1
- package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
- package/container/sticky-bar.js +20 -20
- package/core/a11y/arrow-navigation.d.ts.map +1 -1
- package/core/a11y/focus-visible-within-controller.d.ts +1 -1
- package/core/a11y/focus-visible-within-controller.d.ts.map +1 -1
- package/core/a11y/input-modality-detector.d.ts +2 -2
- package/core/a11y/input-modality-detector.d.ts.map +1 -1
- package/core/a11y.js +49 -50
- package/core/base-elements/action-base-element.d.ts +2 -0
- package/core/base-elements/action-base-element.d.ts.map +1 -1
- package/core/base-elements/button-base-element.d.ts +1 -1
- package/core/base-elements/button-base-element.d.ts.map +1 -1
- package/core/base-elements.js +47 -42
- package/core/controllers/language-controller.d.ts.map +1 -1
- package/core/controllers/slot-state-controller.d.ts +1 -1
- package/core/controllers/slot-state-controller.d.ts.map +1 -1
- package/core/controllers.js +22 -23
- package/core/dom/get-document-writing-mode.d.ts +3 -0
- package/core/dom/get-document-writing-mode.d.ts.map +1 -1
- package/core/mixins/disabled-mixin.d.ts +14 -1
- package/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/core/mixins.js +132 -114
- package/core/observers/intersection-observer.d.ts +6 -0
- package/core/observers/intersection-observer.d.ts.map +1 -1
- package/core/observers/mutation-observer.d.ts +6 -0
- package/core/observers/mutation-observer.d.ts.map +1 -1
- package/core/observers/resize-observer.d.ts +6 -0
- package/core/observers/resize-observer.d.ts.map +1 -1
- package/core/styles/core.scss +23 -0
- package/core/styles/mixins/overlay.scss +2 -2
- package/core/styles/mixins/panel.scss +0 -2
- package/core/styles/mixins/table.scss +11 -0
- package/core/styles/mixins/typo.scss +0 -30
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +1 -0
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +2 -1
- package/core/styles/table.scss +6 -1
- package/core.css +25 -14
- package/custom-elements.json +1566 -385
- package/datepicker/datepicker/datepicker.d.ts +1 -1
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/datepicker/datepicker-toggle.js +13 -12
- package/datepicker/datepicker.js +35 -35
- package/development/accordion/accordion.d.ts +5 -5
- package/development/accordion/accordion.d.ts.map +1 -1
- package/development/accordion.js +25 -38
- package/development/action-group/action-group.d.ts +1 -1
- package/development/action-group/action-group.d.ts.map +1 -1
- package/development/action-group.js +8 -21
- package/development/alert/alert/alert.d.ts +1 -1
- package/development/alert/alert/alert.d.ts.map +1 -1
- package/development/alert/alert-group.js +2 -15
- package/development/alert/alert.js +6 -19
- package/development/autocomplete/autocomplete-base-element.d.ts +1 -1
- 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-button/autocomplete-grid-button.d.ts +1 -4
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button.js +18 -29
- package/development/autocomplete-grid/autocomplete-grid-cell.js +2 -15
- package/development/autocomplete-grid/autocomplete-grid-option.js +4 -17
- package/development/autocomplete-grid/autocomplete-grid-row.js +2 -15
- package/development/autocomplete-grid/autocomplete-grid.js +7 -8
- package/development/autocomplete.js +10 -24
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts +0 -1
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb-group.js +10 -22
- package/development/breadcrumb/breadcrumb.js +2 -15
- package/development/button/button/button.d.ts +1 -1
- package/development/button/button-link/button-link.d.ts +1 -1
- package/development/button/button-link.js +3 -3
- package/development/button/common.js +2 -17
- package/development/button/mini-button/mini-button.d.ts +1 -1
- package/development/button/mini-button-group.js +2 -15
- package/development/button/mini-button.js +2 -15
- package/development/button/secondary-button/secondary-button.d.ts +1 -1
- package/development/button/secondary-button-link/secondary-button-link.d.ts +1 -1
- package/development/button/secondary-button-link.js +3 -3
- package/development/button/tertiary-button/tertiary-button.d.ts +1 -1
- package/development/button/tertiary-button-link/tertiary-button-link.d.ts +1 -1
- package/development/button/tertiary-button-link.js +3 -3
- package/development/button/transparent-button/transparent-button.d.ts +1 -1
- package/development/button/transparent-button-link/transparent-button-link.d.ts +1 -1
- package/development/button/transparent-button-link.js +3 -3
- package/development/calendar/calendar.d.ts +2 -2
- package/development/calendar/calendar.d.ts.map +1 -1
- package/development/calendar.js +7 -19
- package/development/card/card-badge/card-badge.d.ts.map +1 -1
- package/development/card/card-badge.js +4 -19
- package/development/card/card.js +2 -15
- package/development/card/common/card-action-common.d.ts.map +1 -1
- package/development/card/common.js +9 -24
- package/development/checkbox/checkbox-group.js +2 -15
- package/development/checkbox/checkbox.js +2 -15
- package/development/checkbox/common.js +1 -14
- package/development/chip.js +2 -15
- package/development/clock/clock.d.ts +2 -2
- package/development/clock/clock.d.ts.map +1 -1
- package/development/clock.js +2 -15
- package/development/container/container.js +1 -14
- package/development/container/sticky-bar/sticky-bar.d.ts +0 -1
- package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
- package/development/container/sticky-bar.js +9 -23
- package/development/core/a11y/arrow-navigation.d.ts.map +1 -1
- package/development/core/a11y/focus-visible-within-controller.d.ts +1 -1
- package/development/core/a11y/focus-visible-within-controller.d.ts.map +1 -1
- package/development/core/a11y/input-modality-detector.d.ts +2 -2
- package/development/core/a11y/input-modality-detector.d.ts.map +1 -1
- package/development/core/a11y.js +7 -8
- package/development/core/base-elements/action-base-element.d.ts +2 -0
- package/development/core/base-elements/action-base-element.d.ts.map +1 -1
- package/development/core/base-elements/button-base-element.d.ts +1 -1
- package/development/core/base-elements/button-base-element.d.ts.map +1 -1
- package/development/core/base-elements.js +17 -5
- package/development/core/controllers/language-controller.d.ts.map +1 -1
- package/development/core/controllers/slot-state-controller.d.ts +1 -1
- package/development/core/controllers/slot-state-controller.d.ts.map +1 -1
- package/development/core/controllers.js +9 -4
- package/development/core/dom/get-document-writing-mode.d.ts +3 -0
- package/development/core/dom/get-document-writing-mode.d.ts.map +1 -1
- package/development/core/dom.js +1 -1
- package/development/core/mixins/disabled-mixin.d.ts +14 -1
- package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/development/core/mixins.js +48 -23
- package/development/core/observers/intersection-observer.d.ts +6 -0
- package/development/core/observers/intersection-observer.d.ts.map +1 -1
- package/development/core/observers/mutation-observer.d.ts +6 -0
- package/development/core/observers/mutation-observer.d.ts.map +1 -1
- package/development/core/observers/resize-observer.d.ts +6 -0
- package/development/core/observers/resize-observer.d.ts.map +1 -1
- package/development/core/observers.js +1 -1
- package/development/datepicker/datepicker/datepicker.d.ts +1 -1
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker-next-day.js +2 -15
- package/development/datepicker/datepicker-previous-day.js +2 -15
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle.js +9 -21
- package/development/datepicker/datepicker.js +8 -21
- package/development/dialog/dialog/dialog.d.ts +0 -1
- package/development/dialog/dialog/dialog.d.ts.map +1 -1
- package/development/dialog/dialog-actions.js +2 -15
- package/development/dialog/dialog-content.js +2 -15
- package/development/dialog/dialog-title.js +2 -15
- package/development/dialog/dialog.js +12 -25
- package/development/divider.js +2 -15
- package/development/expansion-panel/expansion-panel-content.js +2 -15
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +1 -1
- package/development/expansion-panel/expansion-panel-header.js +3 -15
- package/development/expansion-panel/expansion-panel.js +2 -15
- package/development/file-selector/file-selector.d.ts +4 -4
- package/development/file-selector/file-selector.d.ts.map +1 -1
- package/development/file-selector.js +2 -17
- package/development/flip-card/flip-card-details/flip-card-details.d.ts +2 -5
- package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
- package/development/flip-card/flip-card-details.js +11 -36
- package/development/flip-card/flip-card-summary.js +2 -15
- package/development/flip-card/flip-card.js +2 -15
- package/development/footer.js +2 -15
- package/development/form-error.js +2 -15
- package/development/form-field/form-field/form-field.d.ts.map +1 -1
- package/development/form-field/form-field-clear.js +2 -15
- package/development/form-field/form-field.js +11 -25
- package/development/header/common.js +43 -35
- package/development/header/header/header.d.ts +2 -0
- package/development/header/header/header.d.ts.map +1 -1
- package/development/header/header.js +13 -15
- package/development/icon/icon.d.ts +6 -0
- package/development/icon/icon.d.ts.map +1 -1
- package/development/icon.js +10 -15
- package/development/image.js +4 -17
- package/development/journey-header/journey-header.d.ts.map +1 -1
- package/development/journey-header.js +4 -18
- package/development/lead-container.js +2 -15
- package/development/link/block-link-button/block-link-button.d.ts +1 -1
- package/development/link/common.js +4 -43
- package/development/link/link-button/link-button.d.ts +1 -1
- package/development/link-list/common.js +2 -15
- package/development/link-list/link-list-anchor.js +2 -15
- package/development/link-list/link-list.js +2 -15
- package/development/loading-indicator.js +2 -15
- package/development/logo.js +3 -18
- package/development/map-container/map-container.d.ts +8 -5
- package/development/map-container/map-container.d.ts.map +1 -1
- package/development/map-container.js +32 -48
- package/development/menu/common/menu-action-common.d.ts +1 -2
- package/development/menu/common/menu-action-common.d.ts.map +1 -1
- package/development/menu/common.js +2 -15
- package/development/menu/menu/menu.d.ts.map +1 -1
- package/development/menu/menu-button/menu-button.d.ts +1 -1
- package/development/menu/menu-link/menu-link.d.ts +1 -1
- package/development/menu/menu-link/menu-link.d.ts.map +1 -1
- package/development/menu/menu-link.js +5 -2
- package/development/menu/menu.js +3 -16
- package/development/message.js +2 -15
- package/development/navigation/common.js +2 -17
- package/development/navigation/navigation/navigation.d.ts +1 -1
- package/development/navigation/navigation/navigation.d.ts.map +1 -1
- package/development/navigation/navigation-list.js +2 -15
- package/development/navigation/navigation-marker/navigation-marker.d.ts +1 -2
- package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/development/navigation/navigation-marker.js +9 -31
- package/development/navigation/navigation-section.js +2 -19
- package/development/navigation/navigation.js +14 -24
- package/development/notification/notification.d.ts +0 -1
- package/development/notification/notification.d.ts.map +1 -1
- package/development/notification.js +12 -27
- package/development/option/optgroup/optgroup-base-element.d.ts +2 -4
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/development/option/optgroup.js +10 -28
- package/development/option/option/option-base-element.d.ts +14 -7
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option.js +19 -29
- package/development/overlay/overlay-base-element.d.ts +1 -1
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay.js +2 -15
- package/development/popover/popover-trigger/popover-trigger.d.ts +1 -1
- package/development/popover/popover-trigger.js +2 -15
- package/development/popover/popover.js +2 -15
- package/development/radio-button/common.js +2 -15
- package/development/radio-button/radio-button-group/radio-button-group.d.ts +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 +9 -22
- package/development/radio-button/radio-button.js +2 -15
- package/development/screen-reader-only.js +2 -15
- package/development/select/select.d.ts.map +1 -1
- package/development/select.js +33 -47
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts +12 -3
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/development/selection-expansion-panel.js +40 -19
- package/development/signet/signet.d.ts +4 -1
- package/development/signet/signet.d.ts.map +1 -1
- package/development/signet.js +38 -22
- package/development/skiplink-list.js +2 -15
- package/development/slider/slider.d.ts.map +1 -1
- package/development/slider.js +12 -16
- package/development/status.js +2 -15
- package/development/stepper/step/step.d.ts +1 -2
- package/development/stepper/step/step.d.ts.map +1 -1
- package/development/stepper/step-label/step-label.d.ts +6 -6
- package/development/stepper/step-label/step-label.d.ts.map +1 -1
- package/development/stepper/step-label.js +31 -44
- package/development/stepper/step.js +10 -28
- package/development/stepper/stepper/stepper.d.ts +3 -3
- package/development/stepper/stepper/stepper.d.ts.map +1 -1
- package/development/stepper/stepper.js +2 -15
- package/development/table/table-wrapper/table-wrapper.d.ts +0 -1
- package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
- package/development/table/table-wrapper.js +8 -21
- package/development/tabs/tab-group/tab-group.d.ts +4 -5
- package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/development/tabs/tab-group.js +39 -51
- package/development/tabs/tab-label.js +2 -19
- package/development/tabs/tab.js +1 -14
- package/development/tag/tag/tag.d.ts +1 -1
- package/development/tag/tag-group.js +2 -15
- package/development/tag/tag.js +2 -15
- package/development/teaser-hero.js +3 -23
- package/development/teaser-product/common.js +2 -15
- package/development/teaser-product/teaser-product.js +3 -16
- package/development/teaser.js +2 -15
- package/development/time-input.js +2 -15
- package/development/timetable-occupancy-icon.js +2 -15
- package/development/timetable-occupancy.js +2 -15
- package/development/title.js +3 -41
- package/development/toast.js +2 -17
- package/development/toggle/toggle/toggle.d.ts +2 -3
- package/development/toggle/toggle/toggle.d.ts.map +1 -1
- package/development/toggle/toggle-option.js +2 -15
- package/development/toggle/toggle.js +29 -42
- package/development/toggle-check.js +1 -14
- package/development/train/train-blocked-passage.js +2 -15
- package/development/train/train-formation/train-formation.d.ts +1 -2
- package/development/train/train-formation/train-formation.d.ts.map +1 -1
- package/development/train/train-formation.js +11 -22
- package/development/train/train-wagon.js +2 -17
- package/development/train/train.js +2 -15
- package/development/visual-checkbox.js +2 -15
- package/dialog/dialog/dialog.d.ts +0 -1
- package/dialog/dialog/dialog.d.ts.map +1 -1
- package/dialog/dialog.js +17 -18
- package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +1 -1
- package/expansion-panel/expansion-panel-header.js +5 -5
- package/file-selector/file-selector.d.ts +4 -4
- package/file-selector/file-selector.d.ts.map +1 -1
- package/file-selector.js +1 -1
- package/flip-card/flip-card-details/flip-card-details.d.ts +2 -5
- package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
- package/flip-card/flip-card-details.js +20 -28
- package/form-field/form-field/form-field.d.ts.map +1 -1
- package/form-field/form-field.js +26 -27
- package/header/common.js +3 -3
- package/header/header/header.d.ts +2 -0
- package/header/header/header.d.ts.map +1 -1
- package/header/header.js +21 -18
- package/icon/icon.d.ts +6 -0
- package/icon/icon.d.ts.map +1 -1
- package/icon.js +27 -19
- package/image.js +2 -2
- package/journey-header/journey-header.d.ts.map +1 -1
- package/journey-header.js +14 -15
- package/link/block-link-button/block-link-button.d.ts +1 -1
- package/link/link-button/link-button.d.ts +1 -1
- package/lists.css +0 -13
- package/logo.js +1 -1
- package/map-container/map-container.d.ts +8 -5
- package/map-container/map-container.d.ts.map +1 -1
- package/map-container.js +35 -37
- package/menu/common/menu-action-common.d.ts +1 -2
- package/menu/common/menu-action-common.d.ts.map +1 -1
- package/menu/menu/menu.d.ts.map +1 -1
- package/menu/menu-button/menu-button.d.ts +1 -1
- package/menu/menu-link/menu-link.d.ts +1 -1
- package/menu/menu-link/menu-link.d.ts.map +1 -1
- package/menu/menu-link.js +15 -12
- package/menu/menu.js +1 -1
- package/navigation/common.js +1 -1
- package/navigation/navigation/navigation.d.ts +1 -1
- package/navigation/navigation/navigation.d.ts.map +1 -1
- package/navigation/navigation-marker/navigation-marker.d.ts +1 -2
- package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/navigation/navigation-marker.js +17 -22
- package/navigation/navigation-section.js +1 -1
- package/navigation/navigation.js +40 -34
- package/notification/notification.d.ts +0 -1
- package/notification/notification.d.ts.map +1 -1
- package/notification.js +17 -18
- package/option/optgroup/optgroup-base-element.d.ts +2 -4
- package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/option/optgroup.js +31 -33
- package/option/option/option-base-element.d.ts +14 -7
- package/option/option/option-base-element.d.ts.map +1 -1
- package/option/option.js +45 -40
- package/overlay/overlay-base-element.d.ts +1 -1
- package/overlay/overlay-base-element.d.ts.map +1 -1
- package/package.json +2 -1
- package/popover/popover-trigger/popover-trigger.d.ts +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +5 -5
- package/select/select.d.ts.map +1 -1
- package/select.js +37 -38
- package/selection-expansion-panel/selection-expansion-panel.d.ts +12 -3
- package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/selection-expansion-panel.js +71 -49
- package/signet/signet.d.ts +4 -1
- package/signet/signet.d.ts.map +1 -1
- package/signet.js +34 -23
- package/slider/slider.d.ts.map +1 -1
- package/slider.js +5 -5
- package/standard-theme.css +58 -23
- package/stepper/step/step.d.ts +1 -2
- package/stepper/step/step.d.ts.map +1 -1
- package/stepper/step-label/step-label.d.ts +6 -6
- package/stepper/step-label/step-label.d.ts.map +1 -1
- package/stepper/step-label.js +20 -20
- package/stepper/step.js +19 -24
- package/stepper/stepper/stepper.d.ts +3 -3
- package/stepper/stepper/stepper.d.ts.map +1 -1
- package/table/table-wrapper/table-wrapper.d.ts +0 -1
- package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
- package/table/table-wrapper.js +19 -18
- package/tabs/tab-group/tab-group.d.ts +4 -5
- package/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/tabs/tab-group.js +51 -47
- package/tabs/tab-label.js +12 -12
- package/tag/tag/tag.d.ts +1 -1
- package/teaser-hero.js +13 -13
- package/teaser-product/teaser-product.js +5 -5
- package/teaser.js +15 -15
- package/title.js +23 -23
- package/toast.js +4 -4
- package/toggle/toggle/toggle.d.ts +2 -3
- package/toggle/toggle/toggle.d.ts.map +1 -1
- package/toggle/toggle.js +40 -39
- package/train/train-formation/train-formation.d.ts +1 -2
- package/train/train-formation/train-formation.d.ts.map +1 -1
- package/train/train-formation.js +23 -22
- package/train/train-wagon.js +7 -7
- package/typography.css +0 -13
|
@@ -2,20 +2,7 @@ import { property } from "lit/decorators.js";
|
|
|
2
2
|
import { html } from "lit/static-html.js";
|
|
3
3
|
import { SbbIconNameMixin } from "../icon.js";
|
|
4
4
|
import { css } from "lit";
|
|
5
|
-
const style = css`/**
|
|
6
|
-
* Better font rendering (on OS X)
|
|
7
|
-
* http://maximilianhoffmann.com/posts/better-font-rendering-on-osx
|
|
8
|
-
*
|
|
9
|
-
* Usage:
|
|
10
|
-
*
|
|
11
|
-
* .var_dark_on_light {
|
|
12
|
-
* @include font-smoothing;
|
|
13
|
-
* }
|
|
14
|
-
* .var_light_on_dark {
|
|
15
|
-
* @include font-smoothing-reset;
|
|
16
|
-
* }
|
|
17
|
-
*/
|
|
18
|
-
/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
5
|
+
const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
19
6
|
/*
|
|
20
7
|
* SBB table mixin
|
|
21
8
|
* Notes:
|
|
@@ -45,7 +32,12 @@ const style = css`/**
|
|
|
45
32
|
--sbb-header-action-background-inset: 0;
|
|
46
33
|
--sbb-header-action-translate-y: 0;
|
|
47
34
|
--sbb-header-action-gap: var(--sbb-spacing-fixed-2x);
|
|
48
|
-
--sbb-header-
|
|
35
|
+
--sbb-header-action-icon-dimension: var(--sbb-size-icon-ui-small);
|
|
36
|
+
--_sbb-header-first-item-padding-shift: calc(-1 * var(--sbb-header-action-padding-inline));
|
|
37
|
+
--sbb-header-first-item-icon-shift: 0.125rem;
|
|
38
|
+
--sbb-header-first-item-margin-inline-start: calc(
|
|
39
|
+
var(--_sbb-header-first-item-padding-shift) - var(--sbb-header-first-item-icon-shift)
|
|
40
|
+
);
|
|
49
41
|
}
|
|
50
42
|
@media (forced-colors: active) {
|
|
51
43
|
:host {
|
|
@@ -96,7 +88,7 @@ const style = css`/**
|
|
|
96
88
|
text-decoration: none;
|
|
97
89
|
min-height: var(--sbb-header-action-min-height);
|
|
98
90
|
min-width: var(--sbb-header-action-min-width);
|
|
99
|
-
padding-inline: var(--sbb-header-action-padding-inline);
|
|
91
|
+
padding-inline: var(--sbb-header-action-padding-inline-zero, var(--sbb-header-action-padding-inline));
|
|
100
92
|
cursor: pointer;
|
|
101
93
|
user-select: none;
|
|
102
94
|
outline: none;
|
|
@@ -136,8 +128,8 @@ const style = css`/**
|
|
|
136
128
|
.sbb-header-action__icon {
|
|
137
129
|
--sbb-icon-svg-stroke-color: currentcolor;
|
|
138
130
|
--sbb-icon-svg-stroke-width: 1px;
|
|
139
|
-
min-width: var(--sbb-
|
|
140
|
-
min-height: var(--sbb-
|
|
131
|
+
min-width: var(--sbb-header-action-icon-dimension);
|
|
132
|
+
min-height: var(--sbb-header-action-icon-dimension);
|
|
141
133
|
line-height: 0;
|
|
142
134
|
}
|
|
143
135
|
|
|
@@ -157,8 +149,10 @@ const style = css`/**
|
|
|
157
149
|
|
|
158
150
|
@media (max-width: calc(-0.0625rem)) {
|
|
159
151
|
:host([expand-from=zero]) {
|
|
160
|
-
--
|
|
161
|
-
|
|
152
|
+
--_sbb-header-first-item-padding-shift: calc(
|
|
153
|
+
-0.5 * (var(--sbb-header-action-min-width) - var(--sbb-header-action-icon-dimension))
|
|
154
|
+
);
|
|
155
|
+
--sbb-header-action-padding-inline-zero: 0;
|
|
162
156
|
}
|
|
163
157
|
:host([expand-from=zero]) .sbb-header-action__text {
|
|
164
158
|
border: 0;
|
|
@@ -176,8 +170,10 @@ const style = css`/**
|
|
|
176
170
|
|
|
177
171
|
@media (max-width: calc(22.4375rem)) {
|
|
178
172
|
:host([expand-from=micro]) {
|
|
179
|
-
--
|
|
180
|
-
|
|
173
|
+
--_sbb-header-first-item-padding-shift: calc(
|
|
174
|
+
-0.5 * (var(--sbb-header-action-min-width) - var(--sbb-header-action-icon-dimension))
|
|
175
|
+
);
|
|
176
|
+
--sbb-header-action-padding-inline-zero: 0;
|
|
181
177
|
}
|
|
182
178
|
:host([expand-from=micro]) .sbb-header-action__text {
|
|
183
179
|
border: 0;
|
|
@@ -195,8 +191,10 @@ const style = css`/**
|
|
|
195
191
|
|
|
196
192
|
@media (max-width: calc(37.4375rem)) {
|
|
197
193
|
:host([expand-from=small]) {
|
|
198
|
-
--
|
|
199
|
-
|
|
194
|
+
--_sbb-header-first-item-padding-shift: calc(
|
|
195
|
+
-0.5 * (var(--sbb-header-action-min-width) - var(--sbb-header-action-icon-dimension))
|
|
196
|
+
);
|
|
197
|
+
--sbb-header-action-padding-inline-zero: 0;
|
|
200
198
|
}
|
|
201
199
|
:host([expand-from=small]) .sbb-header-action__text {
|
|
202
200
|
border: 0;
|
|
@@ -214,8 +212,10 @@ const style = css`/**
|
|
|
214
212
|
|
|
215
213
|
@media (max-width: calc(52.4375rem)) {
|
|
216
214
|
:host([expand-from=medium]) {
|
|
217
|
-
--
|
|
218
|
-
|
|
215
|
+
--_sbb-header-first-item-padding-shift: calc(
|
|
216
|
+
-0.5 * (var(--sbb-header-action-min-width) - var(--sbb-header-action-icon-dimension))
|
|
217
|
+
);
|
|
218
|
+
--sbb-header-action-padding-inline-zero: 0;
|
|
219
219
|
}
|
|
220
220
|
:host([expand-from=medium]) .sbb-header-action__text {
|
|
221
221
|
border: 0;
|
|
@@ -233,8 +233,10 @@ const style = css`/**
|
|
|
233
233
|
|
|
234
234
|
@media (max-width: calc(63.9375rem)) {
|
|
235
235
|
:host([expand-from=large]) {
|
|
236
|
-
--
|
|
237
|
-
|
|
236
|
+
--_sbb-header-first-item-padding-shift: calc(
|
|
237
|
+
-0.5 * (var(--sbb-header-action-min-width) - var(--sbb-header-action-icon-dimension))
|
|
238
|
+
);
|
|
239
|
+
--sbb-header-action-padding-inline-zero: 0;
|
|
238
240
|
}
|
|
239
241
|
:host([expand-from=large]) .sbb-header-action__text {
|
|
240
242
|
border: 0;
|
|
@@ -252,8 +254,10 @@ const style = css`/**
|
|
|
252
254
|
|
|
253
255
|
@media (max-width: calc(79.9375rem)) {
|
|
254
256
|
:host([expand-from=wide]) {
|
|
255
|
-
--
|
|
256
|
-
|
|
257
|
+
--_sbb-header-first-item-padding-shift: calc(
|
|
258
|
+
-0.5 * (var(--sbb-header-action-min-width) - var(--sbb-header-action-icon-dimension))
|
|
259
|
+
);
|
|
260
|
+
--sbb-header-action-padding-inline-zero: 0;
|
|
257
261
|
}
|
|
258
262
|
:host([expand-from=wide]) .sbb-header-action__text {
|
|
259
263
|
border: 0;
|
|
@@ -271,8 +275,10 @@ const style = css`/**
|
|
|
271
275
|
|
|
272
276
|
@media (max-width: calc(89.9375rem)) {
|
|
273
277
|
:host([expand-from=ultra]) {
|
|
274
|
-
--
|
|
275
|
-
|
|
278
|
+
--_sbb-header-first-item-padding-shift: calc(
|
|
279
|
+
-0.5 * (var(--sbb-header-action-min-width) - var(--sbb-header-action-icon-dimension))
|
|
280
|
+
);
|
|
281
|
+
--sbb-header-action-padding-inline-zero: 0;
|
|
276
282
|
}
|
|
277
283
|
:host([expand-from=ultra]) .sbb-header-action__text {
|
|
278
284
|
border: 0;
|
|
@@ -290,8 +296,10 @@ const style = css`/**
|
|
|
290
296
|
|
|
291
297
|
@media (max-width: calc(99rem-0.0625rem)) {
|
|
292
298
|
:host([expand-from=ultra--max-content]) {
|
|
293
|
-
--
|
|
294
|
-
|
|
299
|
+
--_sbb-header-first-item-padding-shift: calc(
|
|
300
|
+
-0.5 * (var(--sbb-header-action-min-width) - var(--sbb-header-action-icon-dimension))
|
|
301
|
+
);
|
|
302
|
+
--sbb-header-action-padding-inline-zero: 0;
|
|
295
303
|
}
|
|
296
304
|
:host([expand-from=ultra--max-content]) .sbb-header-action__text {
|
|
297
305
|
border: 0;
|
|
@@ -342,4 +350,4 @@ const SbbHeaderActionCommonElementMixin = (superClass) => {
|
|
|
342
350
|
export {
|
|
343
351
|
SbbHeaderActionCommonElementMixin
|
|
344
352
|
};
|
|
345
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvaGVhZGVyL2NvbW1vbi9oZWFkZXItYWN0aW9uLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkFjdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiSG9yaXpvbnRhbEZyb20gfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiwgdHlwZSBTYmJJY29uTmFtZU1peGluVHlwZSB9IGZyb20gJy4uLy4uL2ljb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9oZWFkZXItYWN0aW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIFNiYkhlYWRlckFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGVcbiAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkljb25OYW1lTWl4aW5UeXBlPlxue1xuICBwdWJsaWMgZXhwYW5kRnJvbTogU2JiSG9yaXpvbnRhbEZyb207XG4gIHB1YmxpYyBpY29uTmFtZT86IHN0cmluZztcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkhlYWRlckFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpbiA9IDxcbiAgVCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiQWN0aW9uQmFzZUVsZW1lbnQ+LFxuPihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiSGVhZGVyQWN0aW9uQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiSGVhZGVyQWN0aW9uQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiSWNvbk5hbWVNaXhpbihzdXBlckNsYXNzKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJIZWFkZXJBY3Rpb25Db21tb25FbGVtZW50TWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgICAvKipcbiAgICAgKiBVc2VkIHRvIHNldCB0aGUgbWluaW11bSBicmVha3BvaW50IGZyb20gd2hpY2ggdGhlIHRleHQgaXMgZGlzcGxheWVkLlxuICAgICAqIEUuZy4gaWYgc2V0IHRvICdsYXJnZScsIHRoZSB0ZXh0IHdpbGwgYmUgdmlzaWJsZSBmb3IgYnJlYWtwb2ludHMgbGFyZ2UsIHdpZGUsIHVsdHJhLFxuICAgICAqIGFuZCBoaWRkZW4gZm9yIGFsbCB0aGUgb3RoZXJzLlxuICAgICAqL1xuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2V4cGFuZC1mcm9tJywgcmVmbGVjdDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBleHBhbmRGcm9tOiBTYmJIb3Jpem9udGFsRnJvbSA9ICdtZWRpdW0nO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1oZWFkZXItYWN0aW9uX193cmFwcGVyXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItaGVhZGVyLWFjdGlvbl9faWNvblwiPiAke3N1cGVyLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1oZWFkZXItYWN0aW9uX190ZXh0XCI+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+
|
|
353
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvaGVhZGVyL2NvbW1vbi9oZWFkZXItYWN0aW9uLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkFjdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiSG9yaXpvbnRhbEZyb20gfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiwgdHlwZSBTYmJJY29uTmFtZU1peGluVHlwZSB9IGZyb20gJy4uLy4uL2ljb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9oZWFkZXItYWN0aW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIFNiYkhlYWRlckFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGVcbiAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkljb25OYW1lTWl4aW5UeXBlPlxue1xuICBwdWJsaWMgZXhwYW5kRnJvbTogU2JiSG9yaXpvbnRhbEZyb207XG4gIHB1YmxpYyBpY29uTmFtZT86IHN0cmluZztcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkhlYWRlckFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpbiA9IDxcbiAgVCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiQWN0aW9uQmFzZUVsZW1lbnQ+LFxuPihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiSGVhZGVyQWN0aW9uQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiSGVhZGVyQWN0aW9uQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiSWNvbk5hbWVNaXhpbihzdXBlckNsYXNzKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJIZWFkZXJBY3Rpb25Db21tb25FbGVtZW50TWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgICAvKipcbiAgICAgKiBVc2VkIHRvIHNldCB0aGUgbWluaW11bSBicmVha3BvaW50IGZyb20gd2hpY2ggdGhlIHRleHQgaXMgZGlzcGxheWVkLlxuICAgICAqIEUuZy4gaWYgc2V0IHRvICdsYXJnZScsIHRoZSB0ZXh0IHdpbGwgYmUgdmlzaWJsZSBmb3IgYnJlYWtwb2ludHMgbGFyZ2UsIHdpZGUsIHVsdHJhLFxuICAgICAqIGFuZCBoaWRkZW4gZm9yIGFsbCB0aGUgb3RoZXJzLlxuICAgICAqL1xuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2V4cGFuZC1mcm9tJywgcmVmbGVjdDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBleHBhbmRGcm9tOiBTYmJIb3Jpem9udGFsRnJvbSA9ICdtZWRpdW0nO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1oZWFkZXItYWN0aW9uX193cmFwcGVyXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItaGVhZGVyLWFjdGlvbl9faWNvblwiPiAke3N1cGVyLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1oZWFkZXItYWN0aW9uX190ZXh0XCI+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICBgO1xuICAgIH1cbiAgfVxuICByZXR1cm4gU2JiSGVhZGVyQWN0aW9uQ29tbW9uRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiSGVhZGVyQWN0aW9uQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQmEsTUFBQSxvQ0FBb0MsQ0FHL0MsZUFDbUU7QUFDbkUsUUFBZSxnQ0FBZixNQUFlLHNDQUNMLGlCQUFpQixVQUFVLEVBRXJDO0FBQUEsSUFIQSxjQUFBO0FBQUEsWUFBQSxHQUFBLFNBQUE7QUFZRSxXQUFPLGFBQWdDO0FBQUEsSUFBQTtBQUFBLElBRXBCLGlCQUFpQztBQUMzQyxhQUFBO0FBQUE7QUFBQSxtREFFc0MsTUFBTSxnQkFBZ0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFNckU7QUFBQSxFQUNGO0FBcEJFLGdDQUFjLFNBQXlCO0FBSnpDLE1BQWUsK0JBQWY7QUFZUyxrQkFBQTtBQUFBLElBRE4sU0FBUyxFQUFFLFdBQVcsZUFBZSxTQUFTLE1BQU07QUFBQSxFQUFBLEdBWHhDLDZCQVlOLFdBQUEsWUFBQTtBQWFGLFNBQUE7QUFFVDsifQ==
|
|
@@ -21,6 +21,8 @@ export declare class SbbHeaderElement extends SbbHeaderElement_base {
|
|
|
21
21
|
private _scrollOrigin;
|
|
22
22
|
/** Whether the header should hide and show on scroll. */
|
|
23
23
|
hideOnScroll: boolean;
|
|
24
|
+
/** Size of the header. */
|
|
25
|
+
size: 'm' | 's';
|
|
24
26
|
private _headerOnTop;
|
|
25
27
|
private _scrollElement;
|
|
26
28
|
private _scrollEventsController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../src/elements/header/header/header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAkB,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAS3F,OAAO,eAAe,CAAC;;AAIvB;;;;;;;GAOG;AACH,qBACa,gBAAiB,SAAQ,qBAA6B;IACjE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACgD,QAAQ,UAAS;IAEpE,gFAAgF;IAChF,IACW,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,EAI7D;IACD,IAAW,YAAY,IAAI,MAAM,GAAG,WAAW,GAAG,QAAQ,CAEzD;IACD,OAAO,CAAC,aAAa,CAAiE;IAEtF,yDAAyD;IACuB,YAAY,UACpF;
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../src/elements/header/header/header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAkB,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAS3F,OAAO,eAAe,CAAC;;AAIvB;;;;;;;GAOG;AACH,qBACa,gBAAiB,SAAQ,qBAA6B;IACjE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACgD,QAAQ,UAAS;IAEpE,gFAAgF;IAChF,IACW,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,EAI7D;IACD,IAAW,YAAY,IAAI,MAAM,GAAG,WAAW,GAAG,QAAQ,CAEzD;IACD,OAAO,CAAC,aAAa,CAAiE;IAEtF,yDAAyD;IACuB,YAAY,UACpF;IAER,0BAA0B;IACU,IAAI,EAAE,GAAG,GAAG,GAAG,CAAO;IAEjD,OAAO,CAAC,YAAY,CAAQ;IAErC,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,mBAAmB;IAY3B,gGAAgG;IAChF,iBAAiB,IAAI,IAAI;IAMzC,2DAA2D;IAC3C,oBAAoB,IAAI,IAAI;IAK5C,sHAAsH;IACtH,OAAO,CAAC,2BAA2B;IAWnC,wDAAwD;IACxD,OAAO,CAAC,kBAAkB;IAI1B,2DAA2D;IAC3D,OAAO,CAAC,yBAAyB;IAOjC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA8CvB,uEAAuE;IACvE,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,kBAAkB;cAgBP,MAAM,IAAI,cAAc;CAc5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
|
|
@@ -4,20 +4,7 @@ import { SbbFocusVisibleWithinController } from "../core/a11y.js";
|
|
|
4
4
|
import { findReferencedElement } from "../core/dom.js";
|
|
5
5
|
import { SbbHydrationMixin } from "../core/mixins.js";
|
|
6
6
|
import "../logo.js";
|
|
7
|
-
const style = css`/**
|
|
8
|
-
* Better font rendering (on OS X)
|
|
9
|
-
* http://maximilianhoffmann.com/posts/better-font-rendering-on-osx
|
|
10
|
-
*
|
|
11
|
-
* Usage:
|
|
12
|
-
*
|
|
13
|
-
* .var_dark_on_light {
|
|
14
|
-
* @include font-smoothing;
|
|
15
|
-
* }
|
|
16
|
-
* .var_light_on_dark {
|
|
17
|
-
* @include font-smoothing-reset;
|
|
18
|
-
* }
|
|
19
|
-
*/
|
|
20
|
-
/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
7
|
+
const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
21
8
|
/*
|
|
22
9
|
* SBB table mixin
|
|
23
10
|
* Notes:
|
|
@@ -34,6 +21,7 @@ const style = css`/**
|
|
|
34
21
|
display: block;
|
|
35
22
|
height: var(--sbb-header-height);
|
|
36
23
|
--sbb-logo-height: 1rem;
|
|
24
|
+
--sbb-signet-height: 1rem;
|
|
37
25
|
--sbb-header-position: fixed;
|
|
38
26
|
--sbb-header-transition-duration: var(
|
|
39
27
|
--sbb-disable-animation-zero-time,
|
|
@@ -44,6 +32,7 @@ const style = css`/**
|
|
|
44
32
|
@media (min-width: calc(52.5rem)) {
|
|
45
33
|
:host {
|
|
46
34
|
--sbb-logo-height: 1.25rem;
|
|
35
|
+
--sbb-signet-height: 1.25rem;
|
|
47
36
|
}
|
|
48
37
|
}
|
|
49
38
|
|
|
@@ -125,6 +114,11 @@ const style = css`/**
|
|
|
125
114
|
margin-inline-start: var(--sbb-header-first-item-margin-inline-start);
|
|
126
115
|
}
|
|
127
116
|
|
|
117
|
+
:host([size=s]) ::slotted(:is(sbb-header-button, sbb-header-link)) {
|
|
118
|
+
--sbb-header-action-min-height: var(--sbb-size-element-xs);
|
|
119
|
+
--sbb-header-action-padding-inline: var(--sbb-spacing-fixed-4x);
|
|
120
|
+
}
|
|
121
|
+
|
|
128
122
|
::slotted(*) {
|
|
129
123
|
flex: 0 0 auto;
|
|
130
124
|
}
|
|
@@ -192,6 +186,7 @@ let SbbHeaderElement = class extends SbbHydrationMixin(LitElement) {
|
|
|
192
186
|
this.expanded = false;
|
|
193
187
|
this._scrollOrigin = !isServer ? document : null;
|
|
194
188
|
this.hideOnScroll = false;
|
|
189
|
+
this.size = "m";
|
|
195
190
|
this._headerOnTop = true;
|
|
196
191
|
this._lastScroll = 0;
|
|
197
192
|
}
|
|
@@ -326,6 +321,9 @@ __decorateClass([
|
|
|
326
321
|
__decorateClass([
|
|
327
322
|
property({ attribute: "hide-on-scroll", reflect: true, type: Boolean })
|
|
328
323
|
], SbbHeaderElement.prototype, "hideOnScroll", 2);
|
|
324
|
+
__decorateClass([
|
|
325
|
+
property({ reflect: true })
|
|
326
|
+
], SbbHeaderElement.prototype, "size", 2);
|
|
329
327
|
__decorateClass([
|
|
330
328
|
state()
|
|
331
329
|
], SbbHeaderElement.prototype, "_headerOnTop", 2);
|
|
@@ -335,4 +333,4 @@ SbbHeaderElement = __decorateClass([
|
|
|
335
333
|
export {
|
|
336
334
|
SbbHeaderElement
|
|
337
335
|
};
|
|
338
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvaGVhZGVyL2hlYWRlci9oZWFkZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgaXNTZXJ2ZXIsIExpdEVsZW1lbnQsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJGb2N1c1Zpc2libGVXaXRoaW5Db250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGZpbmRSZWZlcmVuY2VkRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9oZWFkZXIuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9sb2dvLmpzJztcblxuY29uc3QgSVNfTUVOVV9PUEVORURfUVVFUlkgPSBcIlthcmlhLWNvbnRyb2xzXVthcmlhLWV4cGFuZGVkPSd0cnVlJ11cIjtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGhlYWRlciBzZWN0aW9uIGZvciB0aGUgcGFnZS5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBhY3Rpb25zIG9yIGNvbnRlbnQgdG8gdGhlIGhlYWRlci5cbiAqIEBzbG90IGxvZ28gLSBTbG90IHVzZWQgdG8gcmVuZGVyIHRoZSBsb2dvIG9uIHRoZSByaWdodCBzaWRlIChzYmItbG9nbyBhcyBkZWZhdWx0KS5cbiAqIEBjc3Nwcm9wIFstLXNiYi1oZWFkZXItei1pbmRleD0xMF0gLSBDYW4gYmUgdXNlZCB0byBtb2RpZnkgdGhlIHotaW5kZXggb2YgdGhlIGhlYWRlci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1oZWFkZXItaGVpZ2h0PXplcm8tc21hbGw6dmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMTR4KTttZWRpdW0tdWx0cmE6dmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMjR4KV0gLSBDYW4gYmUgdXNlZCB0byBtb2RpZnkgaGVpZ2h0IG9mIHRoZSBoZWFkZXIuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItaGVhZGVyJylcbmV4cG9ydCBjbGFzcyBTYmJIZWFkZXJFbGVtZW50IGV4dGVuZHMgU2JiSHlkcmF0aW9uTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBhbGxvdyB0aGUgaGVhZGVyIGNvbnRlbnQgdG8gc3RyZXRjaCB0byBmdWxsIHdpZHRoLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgY29udGVudCBoYXMgdGhlIGFwcHJvcHJpYXRlIHBhZ2Ugc2l6ZS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIGV4cGFuZGVkID0gZmFsc2U7XG5cbiAgLyoqIFRoZSBlbGVtZW50J3MgaWQgb3IgdGhlIGVsZW1lbnQgb24gd2hpY2ggdGhlIHNjcm9sbCBsaXN0ZW5lciBpcyBhdHRhY2hlZC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2Nyb2xsLW9yaWdpbicgfSlcbiAgcHVibGljIHNldCBzY3JvbGxPcmlnaW4odmFsdWU6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgRG9jdW1lbnQpIHtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuX3Njcm9sbE9yaWdpbjtcbiAgICB0aGlzLl9zY3JvbGxPcmlnaW4gPSB2YWx1ZTtcbiAgICB0aGlzLl91cGRhdGVTY3JvbGxPcmlnaW4odGhpcy5fc2Nyb2xsT3JpZ2luLCBvbGRWYWx1ZSk7XG4gIH1cbiAgcHVibGljIGdldCBzY3JvbGxPcmlnaW4oKTogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBEb2N1bWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbE9yaWdpbjtcbiAgfVxuICBwcml2YXRlIF9zY3JvbGxPcmlnaW46IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgRG9jdW1lbnQgPSAhaXNTZXJ2ZXIgPyBkb2N1bWVudCA6IG51bGwhO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBoZWFkZXIgc2hvdWxkIGhpZGUgYW5kIHNob3cgb24gc2Nyb2xsLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdoaWRlLW9uLXNjcm9sbCcsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIGhpZGVPblNjcm9sbCA9XG4gICAgZmFsc2U7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBfaGVhZGVyT25Ub3AgPSB0cnVlO1xuXG4gIHByaXZhdGUgX3Njcm9sbEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgRG9jdW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9zY3JvbGxFdmVudHNDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9zY3JvbGxGdW5jdGlvbjogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9sYXN0U2Nyb2xsID0gMDtcblxuICBwcml2YXRlIF91cGRhdGVTY3JvbGxPcmlnaW4oXG4gICAgbmV3VmFsdWU6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgRG9jdW1lbnQsXG4gICAgb2xkVmFsdWU6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgRG9jdW1lbnQsXG4gICk6IHZvaWQge1xuICAgIGlmIChuZXdWYWx1ZSAhPT0gb2xkVmFsdWUpIHtcbiAgICAgIHRoaXMuX3NldExpc3RlbmVyT25TY3JvbGxFbGVtZW50KG5ld1ZhbHVlKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRTY3JvbGwgPSB0aGlzLl9nZXRDdXJyZW50U2Nyb2xsUHJvcGVydHkoJ3Njcm9sbFRvcCcpO1xuICAgICAgLy8gYGN1cnJlbnRTY3JvbGxgIGNhbiBiZSBuZWdhdGl2ZSwgZS5nLiBvbiBtb2JpbGU7IHRoaXMgaXMgbm90IGFsbG93ZWQuXG4gICAgICB0aGlzLl9sYXN0U2Nyb2xsID0gY3VycmVudFNjcm9sbCA8PSAwID8gMCA6IGN1cnJlbnRTY3JvbGw7XG4gICAgfVxuICB9XG5cbiAgLyoqIElmIGBoaWRlT25TY3JvbGxgIGlzIHNldCwgY2hlY2tzIHRoZSBlbGVtZW50IHRvIGhvb2sgdGhlIGxpc3RlbmVyIG9uLCBhbmQgcG9zc2libHkgYWRkIGl0LiovXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3NldExpc3RlbmVyT25TY3JvbGxFbGVtZW50KHRoaXMuc2Nyb2xsT3JpZ2luKTtcbiAgICBuZXcgU2JiRm9jdXNWaXNpYmxlV2l0aGluQ29udHJvbGxlcih0aGlzKTtcbiAgfVxuXG4gIC8qKiBSZW1vdmVzIHRoZSBzY3JvbGwgbGlzdGVuZXIsIGlmIHByZXZpb3VzbHkgYXR0YWNoZWQuICovXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3Njcm9sbEV2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICAvKiogU2V0cyB0aGUgdmFsdWUgb2YgYF9zY3JvbGxFbGVtZW50YCBhbmQgYF9zY3JvbGxGdW5jdGlvbmAgYW5kIHBvc3NpYmx5IGFkZHMgdGhlIGZ1bmN0aW9uIG9uIHRoZSBjb3JyZWN0IGVsZW1lbnQuICovXG4gIHByaXZhdGUgX3NldExpc3RlbmVyT25TY3JvbGxFbGVtZW50KHNjcm9sbE9yaWdpbjogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBEb2N1bWVudCk6IHZvaWQge1xuICAgIHRoaXMuX3Njcm9sbEV2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fc2Nyb2xsRXZlbnRzQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl9zY3JvbGxFbGVtZW50ID1cbiAgICAgIGZpbmRSZWZlcmVuY2VkRWxlbWVudChzY3JvbGxPcmlnaW4gYXMgc3RyaW5nIHwgSFRNTEVsZW1lbnQpIHx8ICghaXNTZXJ2ZXIgPyBkb2N1bWVudCA6IG51bGwpO1xuICAgIHRoaXMuX3Njcm9sbEZ1bmN0aW9uID0gdGhpcy5fZ2V0U2Nyb2xsRnVuY3Rpb24uYmluZCh0aGlzKTtcbiAgICB0aGlzLl9zY3JvbGxFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLl9zY3JvbGxGdW5jdGlvbiwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fc2Nyb2xsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cbiAgLyoqIFJldHVybnMgdGhlIGNvcnJlY3QgZnVuY3Rpb24gdG8gYXR0YWNoIG9uIHNjcm9sbC4gKi9cbiAgcHJpdmF0ZSBfZ2V0U2Nyb2xsRnVuY3Rpb24oKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuaGlkZU9uU2Nyb2xsID8gdGhpcy5fc2Nyb2xsTGlzdGVuZXIoKSA6IHRoaXMuX3Njcm9sbFNoYWRvd0xpc3RlbmVyKCk7XG4gIH1cblxuICAvKiogUmV0dXJucyB0aGUgcmVxdWVzdGVkIHByb3BlcnR5IG9mIHRoZSBzY3JvbGxDb250ZXh0LiAqL1xuICBwcml2YXRlIF9nZXRDdXJyZW50U2Nyb2xsUHJvcGVydHkocHJvcGVydHk6ICdzY3JvbGxUb3AnIHwgJ3Njcm9sbEhlaWdodCcpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLl9zY3JvbGxFbGVtZW50IGluc3RhbmNlb2YgRG9jdW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxFbGVtZW50LmRvY3VtZW50RWxlbWVudFtwcm9wZXJ0eV0gfHwgdGhpcy5fc2Nyb2xsRWxlbWVudC5ib2R5W3Byb3BlcnR5XTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbEVsZW1lbnQ/Lltwcm9wZXJ0eV0gfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb3JyZWN0IHZhbHVlIGZvciBgc2Nyb2xsVG9wYCwgdGhlbjpcbiAgICogLSBhcHBseSB0aGUgc2hhZG93IGlmIHRoZSBlbGVtZW50L2RvY3VtZW50IGhhcyBiZWVuIHNjcm9sbGVkIGRvd247XG4gICAqIC0gaGlkZXMgdGhlIGhlYWRlciwgcmVtb3ZlIHRoZSBzaGFkb3cgYW5kIHBvc3NpYmx5IGNsb3NlIGFueSBvcGVuIG1lbnUgb24gdGhlIGhlYWRlciBpZiBpdCBpcyBub3QgdmlzaWJsZSBhbnltb3JlO1xuICAgKiAtIHNob3dzIHRoZSBoZWFkZXIgYW5kIHJlLWFwcGx5IHRoZSBzaGFkb3cgaWYgdGhlIGVsZW1lbnQvZG9jdW1lbnQgaGFzIGJlZW4gc2Nyb2xsZWQgdXAuXG4gICAqL1xuICBwcml2YXRlIF9zY3JvbGxMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50U2Nyb2xsID0gdGhpcy5fZ2V0Q3VycmVudFNjcm9sbFByb3BlcnR5KCdzY3JvbGxUb3AnKTtcblxuICAgIC8vIFdoZXRoZXIgdGhlIHNjcm9sbCB2aWV3IGlzIGJvdW5jaW5nIHBhc3QgdGhlIGVkZ2Ugb2YgY29udGVudCBhbmQgYmFjayBhZ2Fpbi5cbiAgICBpZiAodGhpcy5fZ2V0Q3VycmVudFNjcm9sbFByb3BlcnR5KCdzY3JvbGxIZWlnaHQnKSAtIHdpbmRvdy5pbm5lckhlaWdodCAtIGN1cnJlbnRTY3JvbGwgPD0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXNoYWRvdycsIGN1cnJlbnRTY3JvbGwgIT09IDApO1xuXG4gICAgLy8gQ2xvc2Ugb3BlbiBvdmVybGF5cyB3aGVuIHNjcm9sbGluZyBkb3duIGlmIHRoZSBoZWFkZXIgaXMgc2Nyb2xsZWQgb3V0IG9mIHNpZ2h0LlxuICAgIGlmIChcbiAgICAgIGN1cnJlbnRTY3JvbGwgPiB0aGlzLm9mZnNldEhlaWdodCAmJlxuICAgICAgY3VycmVudFNjcm9sbCA+IDAgJiZcbiAgICAgIHRoaXMuX2xhc3RTY3JvbGwgPCBjdXJyZW50U2Nyb2xsXG4gICAgKSB7XG4gICAgICB0aGlzLl9jbG9zZU9wZW5PdmVybGF5cygpO1xuICAgIH1cbiAgICAvLyBDaGVjayBpZiBoZWFkZXIgaXMgc2Nyb2xsZWQgb3V0IG9mIHNpZ2h0LCBzY3JvbGwgcG9zaXRpb24gPiBoZWFkZXIgaGVpZ2h0ICogMi5cbiAgICBpZiAoY3VycmVudFNjcm9sbCA+IHRoaXMub2Zmc2V0SGVpZ2h0ICogMikge1xuICAgICAgdGhpcy5faGVhZGVyT25Ub3AgPSBmYWxzZTtcbiAgICAgIGlmIChjdXJyZW50U2Nyb2xsID4gMCAmJiB0aGlzLl9sYXN0U2Nyb2xsIDwgY3VycmVudFNjcm9sbCkge1xuICAgICAgICAvLyBTY3JvbGxpbmcgZG93blxuICAgICAgICBbJ2RhdGEtc2hhZG93JywgJ2RhdGEtdmlzaWJsZSddLmZvckVhY2goKG5hbWUpID0+IHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNjcm9sbGluZyB1cFxuICAgICAgICBbJ2RhdGEtZml4ZWQnLCAnZGF0YS1zaGFkb3cnLCAnZGF0YS1hbmltYXRlZCcsICdkYXRhLXZpc2libGUnXS5mb3JFYWNoKChuYW1lKSA9PlxuICAgICAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKG5hbWUsIHRydWUpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBDaGVjayBpZiBoZWFkZXIgaW4gaXRzIG9yaWdpbmFsIHBvc2l0aW9uLCBzY3JvbGwgcG9zaXRpb24gPCBoZWFkZXIgaGVpZ2h0LlxuICAgICAgLy8gUmVzZXQgaGVhZGVyIGJlaGF2aW91ciB3aGVuIHNjcm9sbCBoaXRzIHRvcCBvZiB0aGUgcGFnZSwgb24gc2Nyb2xsIHBvc2l0aW9uID0gMC5cbiAgICAgIGlmIChjdXJyZW50U2Nyb2xsID09PSAwKSB7XG4gICAgICAgIHRoaXMuX2hlYWRlck9uVG9wID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl9oZWFkZXJPblRvcCkge1xuICAgICAgICBbJ2RhdGEtc2hhZG93JywgJ2RhdGEtYW5pbWF0ZWQnLCAnZGF0YS1maXhlZCcsICdkYXRhLXZpc2libGUnXS5mb3JFYWNoKChuYW1lKSA9PlxuICAgICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBgY3VycmVudFNjcm9sbGAgY2FuIGJlIG5lZ2F0aXZlLCBlLmcuIG9uIG1vYmlsZTsgdGhpcyBpcyBub3QgYWxsb3dlZC5cbiAgICB0aGlzLl9sYXN0U2Nyb2xsID0gY3VycmVudFNjcm9sbCA8PSAwID8gMCA6IGN1cnJlbnRTY3JvbGw7XG4gIH1cblxuICAvKiogQXBwbHkgdGhlIHNoYWRvdyBpZiB0aGUgZWxlbWVudC9kb2N1bWVudCBoYXMgYmVlbiBzY3JvbGxlZCBkb3duLiAqL1xuICBwcml2YXRlIF9zY3JvbGxTaGFkb3dMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zaGFkb3cnLCB0aGlzLl9nZXRDdXJyZW50U2Nyb2xsUHJvcGVydHkoJ3Njcm9sbFRvcCcpICE9PSAwKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlT3Blbk92ZXJsYXlzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhc0F0dHJpYnV0ZSgnZGF0YS1oYXMtdmlzaWJsZS1mb2N1cy13aXRoaW4nKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBvdmVybGF5VHJpZ2dlcnM6IEhUTUxFbGVtZW50W10gPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKElTX01FTlVfT1BFTkVEX1FVRVJZKSBhcyBOb2RlTGlzdE9mPEhUTUxFbGVtZW50PixcbiAgICApO1xuICAgIGZvciAoY29uc3Qgb3ZlcmxheVRyaWdnZXIgb2Ygb3ZlcmxheVRyaWdnZXJzKSB7XG4gICAgICBjb25zdCBvdmVybGF5SWQ6IHN0cmluZyA9IG92ZXJsYXlUcmlnZ2VyLmdldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycpITtcbiAgICAgIGNvbnN0IG92ZXJsYXkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChvdmVybGF5SWQpIGFzIEhUTUxFbGVtZW50ICYgeyBjbG9zZTogKCkgPT4gdm9pZCB9O1xuICAgICAgaWYgKHR5cGVvZiBvdmVybGF5Py5jbG9zZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBvdmVybGF5LmNsb3NlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8aGVhZGVyIGNsYXNzPVwic2JiLWhlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWhlYWRlcl9fd3JhcHBlclwiPlxuICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWhlYWRlcl9fbG9nb1wiPlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cImxvZ29cIj5cbiAgICAgICAgICAgICAgPHNiYi1sb2dvIHByb3RlY3RpdmUtcm9vbT1cIm5vbmVcIj48L3NiYi1sb2dvPlxuICAgICAgICAgICAgPC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaGVhZGVyPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1oZWFkZXInOiBTYmJIZWFkZXJFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsicHJvcGVydHkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQSxNQUFNLHVCQUF1QjtBQVd0QixJQUFNLG1CQUFOLGNBQStCLGtCQUFrQixVQUFVLEVBQUU7QUFBQSxFQUE3RCxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFPdUMsU0FBTyxXQUFXO0FBWXRELFNBQUEsZ0JBQWlELENBQUMsV0FBVyxXQUFXO0FBR1AsU0FBTyxlQUM5RTtBQUVPLFNBQVEsZUFBZTtBQUtoQyxTQUFRLGNBQWM7QUFBQSxFQUFBO0FBQUEsRUFuQnRCLElBQVcsYUFBYSxPQUF3QztBQUM5RCxVQUFNLFdBQVcsS0FBSztBQUN0QixTQUFLLGdCQUFnQjtBQUNoQixTQUFBLG9CQUFvQixLQUFLLGVBQWUsUUFBUTtBQUFBLEVBQ3ZEO0FBQUEsRUFDQSxJQUFXLGVBQWdEO0FBQ3pELFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQSxFQWNRLG9CQUNOLFVBQ0EsVUFDTTtBQUNOLFFBQUksYUFBYSxVQUFVO0FBQ3pCLFdBQUssNEJBQTRCLFFBQVE7QUFDbkMsWUFBQSxnQkFBZ0IsS0FBSywwQkFBMEIsV0FBVztBQUUzRCxXQUFBLGNBQWMsaUJBQWlCLElBQUksSUFBSTtBQUFBLElBQzlDO0FBQUEsRUFDRjtBQUFBO0FBQUEsRUFHZ0Isb0JBQTBCO0FBQ3hDLFVBQU0sa0JBQWtCO0FBQ25CLFNBQUEsNEJBQTRCLEtBQUssWUFBWTtBQUNsRCxRQUFJLGdDQUFnQyxJQUFJO0FBQUEs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
|
|
336
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvaGVhZGVyL2hlYWRlci9oZWFkZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgaXNTZXJ2ZXIsIExpdEVsZW1lbnQsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJGb2N1c1Zpc2libGVXaXRoaW5Db250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGZpbmRSZWZlcmVuY2VkRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9oZWFkZXIuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9sb2dvLmpzJztcblxuY29uc3QgSVNfTUVOVV9PUEVORURfUVVFUlkgPSBcIlthcmlhLWNvbnRyb2xzXVthcmlhLWV4cGFuZGVkPSd0cnVlJ11cIjtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGhlYWRlciBzZWN0aW9uIGZvciB0aGUgcGFnZS5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBhY3Rpb25zIG9yIGNvbnRlbnQgdG8gdGhlIGhlYWRlci5cbiAqIEBzbG90IGxvZ28gLSBTbG90IHVzZWQgdG8gcmVuZGVyIHRoZSBsb2dvIG9uIHRoZSByaWdodCBzaWRlIChzYmItbG9nbyBhcyBkZWZhdWx0KS5cbiAqIEBjc3Nwcm9wIFstLXNiYi1oZWFkZXItei1pbmRleD0xMF0gLSBDYW4gYmUgdXNlZCB0byBtb2RpZnkgdGhlIHotaW5kZXggb2YgdGhlIGhlYWRlci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1oZWFkZXItaGVpZ2h0PXplcm8tc21hbGw6dmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMTR4KTttZWRpdW0tdWx0cmE6dmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMjR4KV0gLSBDYW4gYmUgdXNlZCB0byBtb2RpZnkgaGVpZ2h0IG9mIHRoZSBoZWFkZXIuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItaGVhZGVyJylcbmV4cG9ydCBjbGFzcyBTYmJIZWFkZXJFbGVtZW50IGV4dGVuZHMgU2JiSHlkcmF0aW9uTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBhbGxvdyB0aGUgaGVhZGVyIGNvbnRlbnQgdG8gc3RyZXRjaCB0byBmdWxsIHdpZHRoLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgY29udGVudCBoYXMgdGhlIGFwcHJvcHJpYXRlIHBhZ2Ugc2l6ZS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIGV4cGFuZGVkID0gZmFsc2U7XG5cbiAgLyoqIFRoZSBlbGVtZW50J3MgaWQgb3IgdGhlIGVsZW1lbnQgb24gd2hpY2ggdGhlIHNjcm9sbCBsaXN0ZW5lciBpcyBhdHRhY2hlZC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2Nyb2xsLW9yaWdpbicgfSlcbiAgcHVibGljIHNldCBzY3JvbGxPcmlnaW4odmFsdWU6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgRG9jdW1lbnQpIHtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuX3Njcm9sbE9yaWdpbjtcbiAgICB0aGlzLl9zY3JvbGxPcmlnaW4gPSB2YWx1ZTtcbiAgICB0aGlzLl91cGRhdGVTY3JvbGxPcmlnaW4odGhpcy5fc2Nyb2xsT3JpZ2luLCBvbGRWYWx1ZSk7XG4gIH1cbiAgcHVibGljIGdldCBzY3JvbGxPcmlnaW4oKTogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBEb2N1bWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbE9yaWdpbjtcbiAgfVxuICBwcml2YXRlIF9zY3JvbGxPcmlnaW46IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgRG9jdW1lbnQgPSAhaXNTZXJ2ZXIgPyBkb2N1bWVudCA6IG51bGwhO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBoZWFkZXIgc2hvdWxkIGhpZGUgYW5kIHNob3cgb24gc2Nyb2xsLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdoaWRlLW9uLXNjcm9sbCcsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIGhpZGVPblNjcm9sbCA9XG4gICAgZmFsc2U7XG5cbiAgLyoqIFNpemUgb2YgdGhlIGhlYWRlci4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgc2l6ZTogJ20nIHwgJ3MnID0gJ20nO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgX2hlYWRlck9uVG9wID0gdHJ1ZTtcblxuICBwcml2YXRlIF9zY3JvbGxFbGVtZW50OiBIVE1MRWxlbWVudCB8IERvY3VtZW50IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfc2Nyb2xsRXZlbnRzQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfc2Nyb2xsRnVuY3Rpb246ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfbGFzdFNjcm9sbCA9IDA7XG5cbiAgcHJpdmF0ZSBfdXBkYXRlU2Nyb2xsT3JpZ2luKFxuICAgIG5ld1ZhbHVlOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IERvY3VtZW50LFxuICAgIG9sZFZhbHVlOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IERvY3VtZW50LFxuICApOiB2b2lkIHtcbiAgICBpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7XG4gICAgICB0aGlzLl9zZXRMaXN0ZW5lck9uU2Nyb2xsRWxlbWVudChuZXdWYWx1ZSk7XG4gICAgICBjb25zdCBjdXJyZW50U2Nyb2xsID0gdGhpcy5fZ2V0Q3VycmVudFNjcm9sbFByb3BlcnR5KCdzY3JvbGxUb3AnKTtcbiAgICAgIC8vIGBjdXJyZW50U2Nyb2xsYCBjYW4gYmUgbmVnYXRpdmUsIGUuZy4gb24gbW9iaWxlOyB0aGlzIGlzIG5vdCBhbGxvd2VkLlxuICAgICAgdGhpcy5fbGFzdFNjcm9sbCA9IGN1cnJlbnRTY3JvbGwgPD0gMCA/IDAgOiBjdXJyZW50U2Nyb2xsO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBJZiBgaGlkZU9uU2Nyb2xsYCBpcyBzZXQsIGNoZWNrcyB0aGUgZWxlbWVudCB0byBob29rIHRoZSBsaXN0ZW5lciBvbiwgYW5kIHBvc3NpYmx5IGFkZCBpdC4qL1xuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9zZXRMaXN0ZW5lck9uU2Nyb2xsRWxlbWVudCh0aGlzLnNjcm9sbE9yaWdpbik7XG4gICAgbmV3IFNiYkZvY3VzVmlzaWJsZVdpdGhpbkNvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICAvKiogUmVtb3ZlcyB0aGUgc2Nyb2xsIGxpc3RlbmVyLCBpZiBwcmV2aW91c2x5IGF0dGFjaGVkLiAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9zY3JvbGxFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICB9XG5cbiAgLyoqIFNldHMgdGhlIHZhbHVlIG9mIGBfc2Nyb2xsRWxlbWVudGAgYW5kIGBfc2Nyb2xsRnVuY3Rpb25gIGFuZCBwb3NzaWJseSBhZGRzIHRoZSBmdW5jdGlvbiBvbiB0aGUgY29ycmVjdCBlbGVtZW50LiAqL1xuICBwcml2YXRlIF9zZXRMaXN0ZW5lck9uU2Nyb2xsRWxlbWVudChzY3JvbGxPcmlnaW46IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgRG9jdW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9zY3JvbGxFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3Njcm9sbEV2ZW50c0NvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fc2Nyb2xsRWxlbWVudCA9XG4gICAgICBmaW5kUmVmZXJlbmNlZEVsZW1lbnQoc2Nyb2xsT3JpZ2luIGFzIHN0cmluZyB8IEhUTUxFbGVtZW50KSB8fCAoIWlzU2VydmVyID8gZG9jdW1lbnQgOiBudWxsKTtcbiAgICB0aGlzLl9zY3JvbGxGdW5jdGlvbiA9IHRoaXMuX2dldFNjcm9sbEZ1bmN0aW9uLmJpbmQodGhpcyk7XG4gICAgdGhpcy5fc2Nyb2xsRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5fc2Nyb2xsRnVuY3Rpb24sIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMuX3Njcm9sbEV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG4gIC8qKiBSZXR1cm5zIHRoZSBjb3JyZWN0IGZ1bmN0aW9uIHRvIGF0dGFjaCBvbiBzY3JvbGwuICovXG4gIHByaXZhdGUgX2dldFNjcm9sbEZ1bmN0aW9uKCk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLmhpZGVPblNjcm9sbCA/IHRoaXMuX3Njcm9sbExpc3RlbmVyKCkgOiB0aGlzLl9zY3JvbGxTaGFkb3dMaXN0ZW5lcigpO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIHJlcXVlc3RlZCBwcm9wZXJ0eSBvZiB0aGUgc2Nyb2xsQ29udGV4dC4gKi9cbiAgcHJpdmF0ZSBfZ2V0Q3VycmVudFNjcm9sbFByb3BlcnR5KHByb3BlcnR5OiAnc2Nyb2xsVG9wJyB8ICdzY3JvbGxIZWlnaHQnKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5fc2Nyb2xsRWxlbWVudCBpbnN0YW5jZW9mIERvY3VtZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudC5kb2N1bWVudEVsZW1lbnRbcHJvcGVydHldIHx8IHRoaXMuX3Njcm9sbEVsZW1lbnQuYm9keVtwcm9wZXJ0eV07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zY3JvbGxFbGVtZW50Py5bcHJvcGVydHldIHx8IDA7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29ycmVjdCB2YWx1ZSBmb3IgYHNjcm9sbFRvcGAsIHRoZW46XG4gICAqIC0gYXBwbHkgdGhlIHNoYWRvdyBpZiB0aGUgZWxlbWVudC9kb2N1bWVudCBoYXMgYmVlbiBzY3JvbGxlZCBkb3duO1xuICAgKiAtIGhpZGVzIHRoZSBoZWFkZXIsIHJlbW92ZSB0aGUgc2hhZG93IGFuZCBwb3NzaWJseSBjbG9zZSBhbnkgb3BlbiBtZW51IG9uIHRoZSBoZWFkZXIgaWYgaXQgaXMgbm90IHZpc2libGUgYW55bW9yZTtcbiAgICogLSBzaG93cyB0aGUgaGVhZGVyIGFuZCByZS1hcHBseSB0aGUgc2hhZG93IGlmIHRoZSBlbGVtZW50L2RvY3VtZW50IGhhcyBiZWVuIHNjcm9sbGVkIHVwLlxuICAgKi9cbiAgcHJpdmF0ZSBfc2Nyb2xsTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFNjcm9sbCA9IHRoaXMuX2dldEN1cnJlbnRTY3JvbGxQcm9wZXJ0eSgnc2Nyb2xsVG9wJyk7XG5cbiAgICAvLyBXaGV0aGVyIHRoZSBzY3JvbGwgdmlldyBpcyBib3VuY2luZyBwYXN0IHRoZSBlZGdlIG9mIGNvbnRlbnQgYW5kIGJhY2sgYWdhaW4uXG4gICAgaWYgKHRoaXMuX2dldEN1cnJlbnRTY3JvbGxQcm9wZXJ0eSgnc2Nyb2xsSGVpZ2h0JykgLSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBjdXJyZW50U2Nyb2xsIDw9IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zaGFkb3cnLCBjdXJyZW50U2Nyb2xsICE9PSAwKTtcblxuICAgIC8vIENsb3NlIG9wZW4gb3ZlcmxheXMgd2hlbiBzY3JvbGxpbmcgZG93biBpZiB0aGUgaGVhZGVyIGlzIHNjcm9sbGVkIG91dCBvZiBzaWdodC5cbiAgICBpZiAoXG4gICAgICBjdXJyZW50U2Nyb2xsID4gdGhpcy5vZmZzZXRIZWlnaHQgJiZcbiAgICAgIGN1cnJlbnRTY3JvbGwgPiAwICYmXG4gICAgICB0aGlzLl9sYXN0U2Nyb2xsIDwgY3VycmVudFNjcm9sbFxuICAgICkge1xuICAgICAgdGhpcy5fY2xvc2VPcGVuT3ZlcmxheXMoKTtcbiAgICB9XG4gICAgLy8gQ2hlY2sgaWYgdGhlIGhlYWRlciBpcyBzY3JvbGxlZCBvdXQgb2Ygc2lnaHQsIHNjcm9sbCBwb3NpdGlvbiA+IGhlYWRlciBoZWlnaHQgKiAyLlxuICAgIGlmIChjdXJyZW50U2Nyb2xsID4gdGhpcy5vZmZzZXRIZWlnaHQgKiAyKSB7XG4gICAgICB0aGlzLl9oZWFkZXJPblRvcCA9IGZhbHNlO1xuICAgICAgaWYgKGN1cnJlbnRTY3JvbGwgPiAwICYmIHRoaXMuX2xhc3RTY3JvbGwgPCBjdXJyZW50U2Nyb2xsKSB7XG4gICAgICAgIC8vIFNjcm9sbGluZyBkb3duXG4gICAgICAgIFsnZGF0YS1zaGFkb3cnLCAnZGF0YS12aXNpYmxlJ10uZm9yRWFjaCgobmFtZSkgPT4gdGhpcy5yZW1vdmVBdHRyaWJ1dGUobmFtZSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2Nyb2xsaW5nIHVwXG4gICAgICAgIFsnZGF0YS1maXhlZCcsICdkYXRhLXNoYWRvdycsICdkYXRhLWFuaW1hdGVkJywgJ2RhdGEtdmlzaWJsZSddLmZvckVhY2goKG5hbWUpID0+XG4gICAgICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUobmFtZSwgdHJ1ZSksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENoZWNrIGlmIGhlYWRlciBpbiBpdHMgb3JpZ2luYWwgcG9zaXRpb24sIHNjcm9sbCBwb3NpdGlvbiA8IGhlYWRlciBoZWlnaHQuXG4gICAgICAvLyBSZXNldCBoZWFkZXIgYmVoYXZpb3VyIHdoZW4gc2Nyb2xsIGhpdHMgdG9wIG9mIHRoZSBwYWdlLCBvbiBzY3JvbGwgcG9zaXRpb24gPSAwLlxuICAgICAgaWYgKGN1cnJlbnRTY3JvbGwgPT09IDApIHtcbiAgICAgICAgdGhpcy5faGVhZGVyT25Ub3AgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuX2hlYWRlck9uVG9wKSB7XG4gICAgICAgIFsnZGF0YS1zaGFkb3cnLCAnZGF0YS1hbmltYXRlZCcsICdkYXRhLWZpeGVkJywgJ2RhdGEtdmlzaWJsZSddLmZvckVhY2goKG5hbWUpID0+XG4gICAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUobmFtZSksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIGBjdXJyZW50U2Nyb2xsYCBjYW4gYmUgbmVnYXRpdmUsIGUuZy4gb24gbW9iaWxlOyB0aGlzIGlzIG5vdCBhbGxvd2VkLlxuICAgIHRoaXMuX2xhc3RTY3JvbGwgPSBjdXJyZW50U2Nyb2xsIDw9IDAgPyAwIDogY3VycmVudFNjcm9sbDtcbiAgfVxuXG4gIC8qKiBBcHBseSB0aGUgc2hhZG93IGlmIHRoZSBlbGVtZW50L2RvY3VtZW50IGhhcyBiZWVuIHNjcm9sbGVkIGRvd24uICovXG4gIHByaXZhdGUgX3Njcm9sbFNoYWRvd0xpc3RlbmVyKCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXNoYWRvdycsIHRoaXMuX2dldEN1cnJlbnRTY3JvbGxQcm9wZXJ0eSgnc2Nyb2xsVG9wJykgIT09IDApO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2xvc2VPcGVuT3ZlcmxheXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLWhhcy12aXNpYmxlLWZvY3VzLXdpdGhpbicpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG92ZXJsYXlUcmlnZ2VyczogSFRNTEVsZW1lbnRbXSA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoSVNfTUVOVV9PUEVORURfUVVFUlkpIGFzIE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+LFxuICAgICk7XG4gICAgZm9yIChjb25zdCBvdmVybGF5VHJpZ2dlciBvZiBvdmVybGF5VHJpZ2dlcnMpIHtcbiAgICAgIGNvbnN0IG92ZXJsYXlJZDogc3RyaW5nID0gb3ZlcmxheVRyaWdnZXIuZ2V0QXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJykhO1xuICAgICAgY29uc3Qgb3ZlcmxheSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG92ZXJsYXlJZCkgYXMgSFRNTEVsZW1lbnQgJiB7IGNsb3NlOiAoKSA9PiB2b2lkIH07XG4gICAgICBpZiAodHlwZW9mIG92ZXJsYXk/LmNsb3NlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG92ZXJsYXkuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxoZWFkZXIgY2xhc3M9XCJzYmItaGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItaGVhZGVyX193cmFwcGVyXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItaGVhZGVyX19sb2dvXCI+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwibG9nb1wiPlxuICAgICAgICAgICAgICA8c2JiLWxvZ28gcHJvdGVjdGl2ZS1yb29tPVwibm9uZVwiPjwvc2JiLWxvZ28+XG4gICAgICAgICAgICA8L3Nsb3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9oZWFkZXI+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWhlYWRlcic6IFNiYkhlYWRlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJwcm9wZXJ0eSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVdBLE1BQU0sdUJBQXVCO0FBV3RCLElBQU0sbUJBQU4sY0FBK0Isa0JBQWtCLFVBQVUsRUFBRTtBQUFBLEVBQTdELGNBQUE7QUFBQSxVQUFBLEdBQUEsU0FBQTtBQU91QyxTQUFPLFdBQVc7QUFZdEQsU0FBQSxnQkFBaUQsQ0FBQyxXQUFXLFdBQVc7QUFHUCxTQUFPLGVBQzlFO0FBRzJCLFNBQU8sT0FBa0I7QUFFN0MsU0FBUSxlQUFlO0FBS2hDLFNBQVEsY0FBYztBQUFBLEVBQUE7QUFBQSxFQXRCdEIsSUFBVyxhQUFhLE9BQXdDO0FBQzlELFVBQU0sV0FBVyxLQUFLO0FBQ3RCLFNBQUssZ0JBQWdCO0FBQ2hCLFNBQUEsb0JBQW9CLEtBQUssZUFBZSxRQUFRO0FBQUEsRUFDdkQ7QUFBQSxFQUNBLElBQVcsZUFBZ0Q7QUFDekQsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBaUJRLG9CQUNOLFVBQ0EsVUFDTTtBQUNOLFFBQUksYUFBYSxVQUFVO0FBQ3pCLFdBQUssNEJBQTRCLFFBQVE7QUFDbkMsWUFBQSxnQkFBZ0IsS0FBSywwQkFBMEIsV0FBVztBQUUzRCxXQUFBLGNBQWMsaUJBQWlCLElBQUksSUFBSTtBQUFBLElB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
|
|
@@ -4,6 +4,12 @@ import { SbbIconBase } from './icon-base.js';
|
|
|
4
4
|
* It displays an icon loaded from a registered namespace.
|
|
5
5
|
*/
|
|
6
6
|
export declare class SbbIconElement extends SbbIconBase {
|
|
7
|
+
/**
|
|
8
|
+
* We need to additionally observe the svgicon attribute
|
|
9
|
+
* for sbb-angular compatibility.
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
static get observedAttributes(): string[];
|
|
7
13
|
/**
|
|
8
14
|
* The provided name consisting of the namespace and the name of the icon.
|
|
9
15
|
* If the namespace is missing, the default namespace "sbb" will be used.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../../src/elements/icon/icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGrE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;GAEG;AACH,qBACa,cAAe,SAAQ,WAAW;IAC7C;;;;OAIG;IACiC,IAAI,EAAG,MAAM,CAAC;IAElD,OAAO,CAAC,iBAAiB,CAAM;IAE/B;;;;OAIG;IACM,OAAO,CAAC,wBAAwB,CAAS;cAEzB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAiBpE,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ5D,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,IAAI;cAQY,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAQ3D,MAAM,IAAI,cAAc;CAG5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,UAAU,EAAE,cAAc,CAAC;KAC5B;CACF"}
|
|
1
|
+
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../../src/elements/icon/icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGrE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;GAEG;AACH,qBACa,cAAe,SAAQ,WAAW;IAC7C;;;;OAIG;IACH,WAA2B,kBAAkB,IAAI,MAAM,EAAE,CAExD;IAED;;;;OAIG;IACiC,IAAI,EAAG,MAAM,CAAC;IAElD,OAAO,CAAC,iBAAiB,CAAM;IAE/B;;;;OAIG;IACM,OAAO,CAAC,wBAAwB,CAAS;cAEzB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAiBpE,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ5D,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,IAAI;cAQY,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAQ3D,MAAM,IAAI,cAAc;CAG5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,UAAU,EAAE,cAAc,CAAC;KAC5B;CACF"}
|
package/development/icon.js
CHANGED
|
@@ -83,20 +83,7 @@ const getSvgContent = (namespace, name, sanitize) => {
|
|
|
83
83
|
}
|
|
84
84
|
return req;
|
|
85
85
|
};
|
|
86
|
-
const style = css`/**
|
|
87
|
-
* Better font rendering (on OS X)
|
|
88
|
-
* http://maximilianhoffmann.com/posts/better-font-rendering-on-osx
|
|
89
|
-
*
|
|
90
|
-
* Usage:
|
|
91
|
-
*
|
|
92
|
-
* .var_dark_on_light {
|
|
93
|
-
* @include font-smoothing;
|
|
94
|
-
* }
|
|
95
|
-
* .var_light_on_dark {
|
|
96
|
-
* @include font-smoothing-reset;
|
|
97
|
-
* }
|
|
98
|
-
*/
|
|
99
|
-
/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
86
|
+
const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
100
87
|
/*
|
|
101
88
|
* SBB table mixin
|
|
102
89
|
* Notes:
|
|
@@ -242,6 +229,14 @@ let SbbIconElement = class extends SbbIconBase {
|
|
|
242
229
|
this._defaultAriaLabel = "";
|
|
243
230
|
this._sbbAngularCompatibility = false;
|
|
244
231
|
}
|
|
232
|
+
/**
|
|
233
|
+
* We need to additionally observe the svgicon attribute
|
|
234
|
+
* for sbb-angular compatibility.
|
|
235
|
+
* @internal
|
|
236
|
+
*/
|
|
237
|
+
static get observedAttributes() {
|
|
238
|
+
return super.observedAttributes.concat("svgicon");
|
|
239
|
+
}
|
|
245
240
|
async fetchSvgIcon(namespace, name) {
|
|
246
241
|
if (this.getAttribute("aria-label") === this._defaultAriaLabel) {
|
|
247
242
|
this.removeAttribute("aria-label");
|
|
@@ -316,4 +311,4 @@ export {
|
|
|
316
311
|
isValid,
|
|
317
312
|
validateContent
|
|
318
313
|
};
|
|
319
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2ljb24vaWNvbi12YWxpZGF0ZS50cyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9pY29uL2ljb24tcmVxdWVzdC50cyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9pY29uL2ljb24tYmFzZS50cyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9pY29uL2ljb24udHMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvaWNvbi9pY29uLW5hbWUtbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaXNTdHIgPSAodmFsOiBhbnkpOiB2YWwgaXMgc3RyaW5nID0+IHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnO1xuXG4vKipcbiAqIFNhbml0aXplcyB0aGUgU1ZHIGVsZW1lbnQgYW5kIGFsbCBpdHMgY2hpbGQgbm9kZXMuXG4gKiBEb2VzIG5vdCBhbGxvdyBgPHNjcmlwdD5gIGVsZW1lbnRzLCBvciBhbnkgYXR0cmlidXRlcyB0aGF0IHN0YXJ0IHdpdGggYG9uYCwgc3VjaCBhcyBgb25jbGlja2AuXG4gKi9cbmV4cG9ydCBjb25zdCBpc1ZhbGlkID0gKGVsbTogSFRNTEVsZW1lbnQpOiBib29sZWFuID0+IHtcbiAgaWYgKGVsbS5ub2RlVHlwZSA9PT0gMSkge1xuICAgIC8vIGlzIGFuIEVsZW1lbnQgbm9kZSBsaWtlIDxkaXY+LCA8cD4gb3IgPHN2Zz5cbiAgICBpZiAoZWxtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdzY3JpcHQnKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gZG8gbm90IGFsbG93IGF0dHJpYnV0ZXMgc3RhcnRpbmcgd2l0aCBgb25gXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbG0uYXR0cmlidXRlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgdmFsID0gZWxtLmF0dHJpYnV0ZXNbaV0ubmFtZTtcbiAgICAgIGlmIChpc1N0cih2YWwpICYmIHZhbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ29uJykgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxtLmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghaXNWYWxpZChlbG0uY2hpbGROb2Rlc1tpXSBhcyBhbnkpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59O1xuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGUgU1ZHIGNvbnRlbnQgYnkgY2hlY2tpbmcgdGhhdCBpdCBoYXMgb25seSBvbmUgcm9vdCBlbGVtZW50IGA8c3ZnPmAsXG4gKiBhZGRpbmcgdGhlIGBjb2xvci1pbW11dGFibGVgIGNsYXNzIGlmIHRoZSBgY29sb3JJbW11dGFibGVgIG9wdGlvbiBpcyBzZXQgdG8gYHRydWVgLFxuICogYW5kIHNhbml0aXppbmcgdGhlIHByb3ZpZGVkIGNvbnRlbnQgYXMgbG9uZyBhcyB0aGUgYHNhbml0aXplYCBwcm9wZXJ0eSBpcyBub3QgZXhwbGljaXRseSBzZXQgdG8gYGZhbHNlYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlQ29udGVudCA9IChcbiAgc3ZnQ29udGVudDogc3RyaW5nLFxuICBzYW5pdGl6ZSA9IHRydWUsXG4gIGNvbG9ySW1tdXRhYmxlID0gZmFsc2UsXG4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZGl2LmlubmVySFRNTCA9IHN2Z0NvbnRlbnQ7XG5cbiAgZm9yIChsZXQgaSA9IGRpdi5jaGlsZE5vZGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgaWYgKGRpdi5jaGlsZE5vZGVzW2ldLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdzdmcnKSB7XG4gICAgICBkaXYucmVtb3ZlQ2hpbGQoZGl2LmNoaWxkTm9kZXNbaV0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIG11c3Qgb25seSBoYXZlIDEgcm9vdCBlbGVtZW50XG4gIGNvbnN0IHN2Z0VsbSA9IGRpdi5maXJzdEVsZW1lbnRDaGlsZDtcblxuICBpZiAoc3ZnRWxtICYmIHN2Z0VsbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnc3ZnJykge1xuICAgIGlmIChjb2xvckltbXV0YWJsZSAmJiAhc3ZnRWxtLmNsYXNzTGlzdC5jb250YWlucygnY29sb3ItaW1tdXRhYmxlJykpIHtcbiAgICAgIHN2Z0VsbS5jbGFzc0xpc3QuYWRkKCdjb2xvci1pbW11dGFibGUnKTtcbiAgICB9XG5cbiAgICAvLyBkbyBub3Qgc2FuaXRpemUgdGhlIHN2ZyBlbGVtZW50XG4gICAgaWYgKHNhbml0aXplID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIGRpdi5pbm5lckhUTUw7XG4gICAgfVxuXG4gICAgLy8gc2FuaXRpemUgdGhlIHN2ZyBlbGVtZW50XG4gICAgaWYgKGlzVmFsaWQoc3ZnRWxtIGFzIGFueSkpIHtcbiAgICAgIHJldHVybiBkaXYuaW5uZXJIVE1MO1xuICAgIH1cbiAgfVxuICByZXR1cm4gJyc7XG59O1xuIiwiaW1wb3J0IHsgaXNTZXJ2ZXIgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkljb25Db25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vY29yZS9jb25maWcuanMnO1xuXG5pbXBvcnQgeyB2YWxpZGF0ZUNvbnRlbnQgfSBmcm9tICcuL2ljb24tdmFsaWRhdGUuanMnO1xuXG5jb25zdCBpY29uQ2RuID0gJ2h0dHBzOi8vaWNvbnMuYXBwLnNiYi5jaC8nO1xuXG5jb25zdCBpY29uTmFtZXNwYWNlcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KClcbiAgLnNldCgnZGVmYXVsdCcsIGAke2ljb25DZG59aWNvbnMvYClcbiAgLnNldCgncGljdG8nLCBgJHtpY29uQ2RufXBpY3RvL2ApO1xuY29uc3QgcmVxdWVzdHMgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxhbnk+PigpO1xuXG4vKiogRmV0Y2hlcyBpY29uIHN2ZyBjb250ZW50IGZyb20gcHJvdmlkZXJzIGFuZCBhc3NlcnRzIG9ubHkgb25lIHJlcXVlc3QgcGVyIGljb24gaXMgbWFkZS4gKi9cbmV4cG9ydCBjb25zdCBnZXRTdmdDb250ZW50ID0gKFxuICBuYW1lc3BhY2U6IHN0cmluZyxcbiAgbmFtZTogc3RyaW5nLFxuICBzYW5pdGl6ZTogYm9vbGVhbixcbik6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGNvbnN0IGNvbmZpZzogU2JiSWNvbkNvbmZpZyA9IHJlYWRDb25maWcoKS5pY29uID8/IHt9O1xuXG4gIGNvbnN0IHJlc29sdmVkTmFtZXNwYWNlID0gY29uZmlnLm5hbWVzcGFjZXM/LmdldChuYW1lc3BhY2UpID8/IGljb25OYW1lc3BhY2VzLmdldChuYW1lc3BhY2UpO1xuICBpZiAocmVzb2x2ZWROYW1lc3BhY2UgPT0gbnVsbCkge1xuICAgIHRocm93IEVycm9yKFxuICAgICAgYFVuYWJsZSB0byBmaW5kIHRoZSBuYW1lc3BhY2UgXCIke25hbWVzcGFjZX1cIi4gUGxlYXNlIHJlZ2lzdGVyIHlvdXIgY3VzdG9tIG5hbWVzcGFjZS5gLFxuICAgICk7XG4gIH1cbiAgY29uc3QgdXJsID0gYCR7cmVzb2x2ZWROYW1lc3BhY2V9JHtuYW1lfS5zdmdgO1xuXG4gIC8vIENoZWNrIGlmIHdlIGFscmVhZHkgaGF2ZSBhIHJlcXVlc3QgZm9yIHRoaXMgdXJsXG4gIGxldCByZXEgPSByZXF1ZXN0cy5nZXQodXJsKTtcblxuICBpZiAoIXJlcSkge1xuICAgIC8vIFdlIGNhbm5vdCBzdXBwb3J0IHNlcnZlciBzaWRlIHJlbmRlcmVkIGljb25zICh5ZXQpLCBhcyB0aGUgdmFsaWRhdGlvblxuICAgIC8vIGlzIGRvbmUgdmlhIERPTSwgd2hpY2ggaXMgbm90IGF2YWlsYWJsZSBkdXJpbmcgU1NSLlxuICAgIGlmICh0eXBlb2YgZmV0Y2ggIT09ICd1bmRlZmluZWQnICYmICFpc1NlcnZlcikge1xuICAgICAgY29uc3QgaW50ZXJjZXB0b3IgPSBjb25maWcuaW50ZXJjZXB0b3IgPz8gKChpKSA9PiBpLnJlcXVlc3QoKSk7XG5cbiAgICAgIHJlcSA9IGludGVyY2VwdG9yKHtcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgICBuYW1lLFxuICAgICAgICB1cmwsXG4gICAgICAgIHJlcXVlc3Q6ICgpID0+XG4gICAgICAgICAgZmV0Y2godXJsKVxuICAgICAgICAgICAgLnRoZW4oYXN5bmMgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBsb2FkIGljb24gJyArIG5hbWVzcGFjZSArICc6JyArIG5hbWUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZUNvbnRlbnQoYXdhaXQgcmVzcG9uc2UudGV4dCgpLCBzYW5pdGl6ZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICB0aHJvdyBFcnJvcihlcnJvcik7XG4gICAgICAgICAgICB9KSxcbiAgICAgIH0pO1xuICAgICAgLy8gQ2FjaGUgZm9yIHRoZSBzYW1lIHJlcXVlc3RzXG4gICAgICByZXF1ZXN0cy5zZXQodXJsLCByZXEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZXNvbHZlIHByb21pc2UgZm9yIHNzciBzY2VuYXJpb3NcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoJycpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXE7XG59O1xuIiwiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBEaXJlY3RpdmVSZXN1bHQgfSBmcm9tICdsaXQvZGlyZWN0aXZlLmpzJztcbmltcG9ydCB0eXBlIHsgVW5zYWZlSFRNTERpcmVjdGl2ZSB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3Vuc2FmZS1odG1sLmpzJztcbmltcG9ydCB7IHVuc2FmZUhUTUwgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy91bnNhZmUtaHRtbC5qcyc7XG5pbXBvcnQgeyB1bnRpbCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3VudGlsLmpzJztcblxuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXRTdmdDb250ZW50IH0gZnJvbSAnLi9pY29uLXJlcXVlc3QuanMnO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vaWNvbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEBjc3Nwcm9wIFstLXNiYi1pY29uLXN2Zy13aWR0aD1hdXRvXSAtIENhbiBiZSB1c2VkIHRvIHNldCBhIGN1c3RvbSB3aWR0aC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1pY29uLXN2Zy1oZWlnaHQ9YXV0b10gLSBDYW4gYmUgdXNlZCB0byBzZXQgYSBjdXN0b20gaGVpZ2h0LlxuICovXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICAnZGF0YS1uYW1lc3BhY2UnOiBTYmJJY29uQmFzZS5fZGVmYXVsdE5hbWVzcGFjZSxcbiAgJ2RhdGEtZW1wdHknOiAnJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiSWNvbkJhc2UgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IF9kZWZhdWx0TmFtZXNwYWNlID0gJ2RlZmF1bHQnO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgX3N2Z05hbWVzcGFjZSA9IFNiYkljb25CYXNlLl9kZWZhdWx0TmFtZXNwYWNlO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiBzdmcgY29udGVudCByZW5kZXJlZCBvbiB0aGUgcGFnZTogPHN2Zz4uLi48L3N2Zz4uXG4gICAqL1xuICBAc3RhdGUoKSBwcml2YXRlIF9zdmdJY29uPzogUHJvbWlzZTxEaXJlY3RpdmVSZXN1bHQ8dHlwZW9mIFVuc2FmZUhUTUxEaXJlY3RpdmU+PjtcblxuICAvKipcbiAgICogV2hlbiBzZXQgdG8gYHRydWVgLCBTVkcgY29udGVudCB0aGF0IGlzIEhUVFAgZmV0Y2hlZCB3aWxsIG5vdCBiZSBjaGVja2VkXG4gICAqIGlmIHRoZSByZXNwb25zZSBTVkcgY29udGVudCBoYXMgYW55IGA8c2NyaXB0PmAgZWxlbWVudHMsIG9yIGFueSBhdHRyaWJ1dGVzXG4gICAqIHRoYXQgc3RhcnQgd2l0aCBgb25gLCBzdWNoIGFzIGBvbmNsaWNrYC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ25vLXNhbml0aXplJywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgbm9TYW5pdGl6ZSA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBhc3luYyBsb2FkU3ZnSWNvbihpY29uTmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFpY29uTmFtZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IFtuYW1lc3BhY2UsIG5hbWVdID0gdGhpcy5fc3BsaXRJY29uTmFtZShpY29uTmFtZSk7XG4gICAgdGhpcy5fc3ZnTmFtZXNwYWNlID0gbmFtZXNwYWNlO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLW5hbWVzcGFjZScsIHRoaXMuX3N2Z05hbWVzcGFjZSk7XG5cbiAgICBjb25zdCBzdmdJY29uID0gdGhpcy5mZXRjaFN2Z0ljb24odGhpcy5fc3ZnTmFtZXNwYWNlLCBuYW1lKTtcbiAgICB0aGlzLl9zdmdJY29uID0gc3ZnSWNvbi50aGVuKCh2KSA9PiB1bnNhZmVIVE1MKHYpKTtcbiAgICB0cnkge1xuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZW1wdHknLCAhKGF3YWl0IHN2Z0ljb24pKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWVtcHR5JywgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGZldGNoU3ZnSWNvbihuYW1lc3BhY2U6IHN0cmluZywgbmFtZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgZ2V0U3ZnQ29udGVudChuYW1lc3BhY2UsIG5hbWUsICF0aGlzLm5vU2FuaXRpemUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3BsaXRJY29uTmFtZShpY29uTmFtZTogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSB7XG4gICAgaWYgKCFpY29uTmFtZSkge1xuICAgICAgcmV0dXJuIFsnJywgJyddO1xuICAgIH1cbiAgICBjb25zdCBwYXJ0cyA9IGljb25OYW1lLnNwbGl0KCc6Jyk7XG4gICAgc3dpdGNoIChwYXJ0cy5sZW5ndGgpIHtcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgLy8gVXNlIGRlZmF1bHQgbmFtZXNwYWNlIGlmIGVtcHR5LlxuICAgICAgICByZXR1cm4gW1NiYkljb25CYXNlLl9kZWZhdWx0TmFtZXNwYWNlLCBwYXJ0c1swXV07XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHJldHVybiBwYXJ0cyBhcyBbc3RyaW5nLCBzdHJpbmddO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgaWNvbiBuYW1lOiBcIiR7aWNvbk5hbWV9XCJgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgncm9sZScsIHRoaXMuZ2V0QXR0cmlidXRlKCdyb2xlJykgPz8gJ2ltZycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItaWNvbi1pbm5lclwiXG4gICAgICA+JHt1bnRpbChcbiAgICAgICAgdGhpcy5fc3ZnSWNvbixcbiAgICAgICAgLy8gVG8gcmVzZXJ2ZSBzcGFjZSwgd2UgbmVlZCBhbiBlbXB0eSBzdmcgdG8gYXBwbHkgZGltZW5zaW9uIHRvLlxuICAgICAgICBodG1sYDxzdmcgd2lkdGg9XCIwXCIgaGVpZ2h0PVwiMFwiPjwvc3ZnPmAsXG4gICAgICApfTwvc3BhblxuICAgID5gO1xuICB9XG59XG4iLCJpbXBvcnQgeyBodG1sLCB0eXBlIFByb3BlcnR5VmFsdWVzLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiSWNvbkJhc2UgfSBmcm9tICcuL2ljb24tYmFzZS5qcyc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaWNvbiBsb2FkZWQgZnJvbSBhIHJlZ2lzdGVyZWQgbmFtZXNwYWNlLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWljb24nKVxuZXhwb3J0IGNsYXNzIFNiYkljb25FbGVtZW50IGV4dGVuZHMgU2JiSWNvbkJhc2Uge1xuICAvKipcbiAgICogVGhlIHByb3ZpZGVkIG5hbWUgY29uc2lzdGluZyBvZiB0aGUgbmFtZXNwYWNlIGFuZCB0aGUgbmFtZSBvZiB0aGUgaWNvbi5cbiAgICogSWYgdGhlIG5hbWVzcGFjZSBpcyBtaXNzaW5nLCB0aGUgZGVmYXVsdCBuYW1lc3BhY2UgXCJzYmJcIiB3aWxsIGJlIHVzZWQuXG4gICAqIEUuZy4gYG5hbWVgICh3aWxsIHVzZSBcInNiYlwiIGFzIG5hbWVzcGFjZSkgb3IgYG5hbWVzcGFjZTpuYW1lYC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIG5hbWUhOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfZGVmYXVsdEFyaWFMYWJlbCA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgc2JiLWFuZ3VsYXIgbGlicmFyeSBoYXMgYSBzYmItaWNvbiBjb21wb25lbnQgYXMgd2VsbC4gSW4gb3JkZXIgdG8gcHJvdmlkZVxuICAgKiBjb21wYXRpYmlsaXR5IHdpdGggaXQgKGFzIHNvbWUgaWNvbnMgYXJlIHVzZWQgaW50ZXJuYWxseSBpbnNpZGUgdGhlIG90aGVyIHNiYi1hbmd1bGFyXG4gICAqIGNvbXBvbmVudHMpIHdlIG5lZWQgdG8gY2hlY2sgd2hldGhlciB0aGUgYXR0cmlidXRlIHN2Z2ljb24gaXMgdXNlZC5cbiAgICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgX3NiYkFuZ3VsYXJDb21wYXRpYmlsaXR5ID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGZldGNoU3ZnSWNvbihuYW1lc3BhY2U6IHN0cmluZywgbmFtZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAvLyBJZiB0aGUgaWNvbiBpcyBjaGFuZ2luZywgYW5kIHdlIHdlcmUgdXNpbmcgdGhlIGRlZmF1bHRBcmlhTGFiZWwsIHJlc2V0IGl0XG4gICAgaWYgKHRoaXMuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJykgPT09IHRoaXMuX2RlZmF1bHRBcmlhTGFiZWwpIHtcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWxhYmVsJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fZGVmYXVsdEFyaWFMYWJlbCA9IGBJY29uICR7bmFtZS5yZXBsYWNlKC8tL2csICcgJyl9YDtcblxuICAgIC8vIGdlbmVyYXRlIGEgZGVmYXVsdCBsYWJlbCBpbiBjYXNlIHVzZXIgZG9lcyBub3QgcHJvdmlkZSB0aGVpciBvd25cbiAgICAvLyBhbmQgYXJpYS1oaWRkZW4gaXMgc2V0IHRvIFwiZmFsc2VcIlxuICAgIGlmICh0aGlzLmdldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nKSA9PT0gJ2ZhbHNlJyAmJiAhdGhpcy5oYXNBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSAmJiBuYW1lKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMuX2RlZmF1bHRBcmlhTGFiZWwpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5mZXRjaFN2Z0ljb24obmFtZXNwYWNlLCBuYW1lKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbmFtZScpKSB7XG4gICAgICB0aGlzLmxvYWRTdmdJY29uKHRoaXMubmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgX29sZDogc3RyaW5nIHwgbnVsbCxcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgKTogdm9pZCB7XG4gICAgaWYgKG5hbWUgPT09ICdzdmdpY29uJykge1xuICAgICAgdGhpcy5fc2JiQW5ndWxhckNvbXBhdGliaWxpdHkgPSAhIXZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgX29sZCwgdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICghdGhpcy5oYXNBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJykpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIHRoaXMuX3NiYkFuZ3VsYXJDb21wYXRpYmlsaXR5ID8gaHRtbGA8c2xvdD48L3Nsb3Q+YCA6IHN1cGVyLnJlbmRlcigpO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItaWNvbic6IFNiYkljb25FbGVtZW50O1xuICB9XG59XG4iLCJpbXBvcnQgeyBodG1sLCB0eXBlIExpdEVsZW1lbnQsIG5vdGhpbmcsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0ICcuL2ljb24uanMnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJJY29uTmFtZU1peGluVHlwZSB7XG4gIHB1YmxpYyBpY29uTmFtZT86IHN0cmluZztcbiAgcHJvdGVjdGVkIHJlbmRlckljb25TbG90KGNsYXNzbmFtZT86IHN0cmluZyk6IFRlbXBsYXRlUmVzdWx0O1xufVxuXG4vKipcbiAqIEVuaGFuY2UgeW91ciBjb21wb25lbnQgd2l0aCBhbiBpY29uTmFtZSBwcm9wZXJ0eSBhbmQgcHJvdmlkZXMgYSB0ZW1wbGF0ZSBmb3IgdGhlIGljb24gc2xvdC5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkljb25OYW1lTWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJJY29uTmFtZU1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiSWNvbk5hbWVFbGVtZW50IGV4dGVuZHMgc3VwZXJDbGFzcyBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiSWNvbk5hbWVNaXhpblR5cGU+IHtcbiAgICAvKipcbiAgICAgKiBUaGUgaWNvbiBuYW1lIHdlIHdhbnQgdG8gdXNlLCBjaG9vc2UgZnJvbSB0aGUgc21hbGwgaWNvbiB2YXJpYW50c1xuICAgICAqIGZyb20gdGhlIHVpLWljb25zIGNhdGVnb3J5IGZyb20gaGVyZVxuICAgICAqIGh0dHBzOi8vaWNvbnMuYXBwLnNiYi5jaC5cbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpY29uLW5hbWUnLCByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBpY29uTmFtZT86IHN0cmluZztcblxuICAgIHByb3RlY3RlZCByZW5kZXJJY29uU2xvdChjbGFzc25hbWU/OiBzdHJpbmcpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgPHNsb3QgbmFtZT1cImljb25cIj5cbiAgICAgICAgICAke3RoaXMuaWNvbk5hbWVcbiAgICAgICAgICAgID8gaHRtbGA8c2JiLWljb24gbmFtZT0ke3RoaXMuaWNvbk5hbWV9IGNsYXNzPSR7Y2xhc3NuYW1lIHx8IG5vdGhpbmd9Pjwvc2JiLWljb24+YFxuICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICA8L3Nsb3Q+XG4gICAgICBgO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBTYmJJY29uTmFtZUVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkljb25OYW1lTWl4aW5UeXBlPiAmIFQ7XG59O1xuIl0sIm5hbWVzIjpbIl9fZGVjb3JhdGVDbGFzcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsTUFBTSxRQUFRLENBQUMsUUFBNEIsT0FBTyxRQUFRO0FBTTdDLE1BQUEsVUFBVSxDQUFDLFFBQThCO0FBQ2hELE1BQUEsSUFBSSxhQUFhLEdBQUc7QUFFdEIsUUFBSSxJQUFJLFNBQVMsWUFBWSxNQUFNLFVBQVU7QUFDcEMsYUFBQTtBQUFBLElBQ1Q7QUFHQSxhQUFTLElBQUksR0FBRyxJQUFJLElBQUksV0FBVyxRQUFRLEtBQUs7QUFDOUMsWUFBTSxNQUFNLElBQUksV0FBVyxDQUFDLEVBQUU7QUFDMUIsVUFBQSxNQUFNLEdBQUcsS0FBSyxJQUFJLGNBQWMsUUFBUSxJQUFJLE1BQU0sR0FBRztBQUNoRCxlQUFBO0FBQUEsTUFDVDtBQUFBLElBQ0Y7QUFFQSxhQUFTLElBQUksR0FBRyxJQUFJLElBQUksV0FBVyxRQUFRLEtBQUs7QUFDOUMsVUFBSSxDQUFDLFFBQVEsSUFBSSxXQUFXLENBQUMsQ0FBUSxHQUFHO0FBQy9CLGVBQUE7QUFBQSxNQUNUO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDTyxTQUFBO0FBQ1Q7QUFPTyxNQUFNLGtCQUFrQixDQUM3QixZQUNBLFdBQVcsTUFDWCxpQkFBaUIsVUFDTjtBQUNMLFFBQUEsTUFBTSxTQUFTLGNBQWMsS0FBSztBQUN4QyxNQUFJLFlBQVk7QUFFaEIsV0FBUyxJQUFJLElBQUksV0FBVyxTQUFTLEdBQUcsS0FBSyxHQUFHLEtBQUs7QUFDbkQsUUFBSSxJQUFJLFdBQVcsQ0FBQyxFQUFFLFNBQVMsa0JBQWtCLE9BQU87QUFDdEQsVUFBSSxZQUFZLElBQUksV0FBVyxDQUFDLENBQUM7QUFBQSxJQUNuQztB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
|
|
314
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2ljb24vaWNvbi12YWxpZGF0ZS50cyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9pY29uL2ljb24tcmVxdWVzdC50cyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9pY29uL2ljb24tYmFzZS50cyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9pY29uL2ljb24udHMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvaWNvbi9pY29uLW5hbWUtbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaXNTdHIgPSAodmFsOiBhbnkpOiB2YWwgaXMgc3RyaW5nID0+IHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnO1xuXG4vKipcbiAqIFNhbml0aXplcyB0aGUgU1ZHIGVsZW1lbnQgYW5kIGFsbCBpdHMgY2hpbGQgbm9kZXMuXG4gKiBEb2VzIG5vdCBhbGxvdyBgPHNjcmlwdD5gIGVsZW1lbnRzLCBvciBhbnkgYXR0cmlidXRlcyB0aGF0IHN0YXJ0IHdpdGggYG9uYCwgc3VjaCBhcyBgb25jbGlja2AuXG4gKi9cbmV4cG9ydCBjb25zdCBpc1ZhbGlkID0gKGVsbTogSFRNTEVsZW1lbnQpOiBib29sZWFuID0+IHtcbiAgaWYgKGVsbS5ub2RlVHlwZSA9PT0gMSkge1xuICAgIC8vIGlzIGFuIEVsZW1lbnQgbm9kZSBsaWtlIDxkaXY+LCA8cD4gb3IgPHN2Zz5cbiAgICBpZiAoZWxtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdzY3JpcHQnKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gZG8gbm90IGFsbG93IGF0dHJpYnV0ZXMgc3RhcnRpbmcgd2l0aCBgb25gXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbG0uYXR0cmlidXRlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgdmFsID0gZWxtLmF0dHJpYnV0ZXNbaV0ubmFtZTtcbiAgICAgIGlmIChpc1N0cih2YWwpICYmIHZhbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ29uJykgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxtLmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghaXNWYWxpZChlbG0uY2hpbGROb2Rlc1tpXSBhcyBhbnkpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59O1xuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGUgU1ZHIGNvbnRlbnQgYnkgY2hlY2tpbmcgdGhhdCBpdCBoYXMgb25seSBvbmUgcm9vdCBlbGVtZW50IGA8c3ZnPmAsXG4gKiBhZGRpbmcgdGhlIGBjb2xvci1pbW11dGFibGVgIGNsYXNzIGlmIHRoZSBgY29sb3JJbW11dGFibGVgIG9wdGlvbiBpcyBzZXQgdG8gYHRydWVgLFxuICogYW5kIHNhbml0aXppbmcgdGhlIHByb3ZpZGVkIGNvbnRlbnQgYXMgbG9uZyBhcyB0aGUgYHNhbml0aXplYCBwcm9wZXJ0eSBpcyBub3QgZXhwbGljaXRseSBzZXQgdG8gYGZhbHNlYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlQ29udGVudCA9IChcbiAgc3ZnQ29udGVudDogc3RyaW5nLFxuICBzYW5pdGl6ZSA9IHRydWUsXG4gIGNvbG9ySW1tdXRhYmxlID0gZmFsc2UsXG4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZGl2LmlubmVySFRNTCA9IHN2Z0NvbnRlbnQ7XG5cbiAgZm9yIChsZXQgaSA9IGRpdi5jaGlsZE5vZGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgaWYgKGRpdi5jaGlsZE5vZGVzW2ldLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdzdmcnKSB7XG4gICAgICBkaXYucmVtb3ZlQ2hpbGQoZGl2LmNoaWxkTm9kZXNbaV0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIG11c3Qgb25seSBoYXZlIDEgcm9vdCBlbGVtZW50XG4gIGNvbnN0IHN2Z0VsbSA9IGRpdi5maXJzdEVsZW1lbnRDaGlsZDtcblxuICBpZiAoc3ZnRWxtICYmIHN2Z0VsbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnc3ZnJykge1xuICAgIGlmIChjb2xvckltbXV0YWJsZSAmJiAhc3ZnRWxtLmNsYXNzTGlzdC5jb250YWlucygnY29sb3ItaW1tdXRhYmxlJykpIHtcbiAgICAgIHN2Z0VsbS5jbGFzc0xpc3QuYWRkKCdjb2xvci1pbW11dGFibGUnKTtcbiAgICB9XG5cbiAgICAvLyBkbyBub3Qgc2FuaXRpemUgdGhlIHN2ZyBlbGVtZW50XG4gICAgaWYgKHNhbml0aXplID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIGRpdi5pbm5lckhUTUw7XG4gICAgfVxuXG4gICAgLy8gc2FuaXRpemUgdGhlIHN2ZyBlbGVtZW50XG4gICAgaWYgKGlzVmFsaWQoc3ZnRWxtIGFzIGFueSkpIHtcbiAgICAgIHJldHVybiBkaXYuaW5uZXJIVE1MO1xuICAgIH1cbiAgfVxuICByZXR1cm4gJyc7XG59O1xuIiwiaW1wb3J0IHsgaXNTZXJ2ZXIgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkljb25Db25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vY29yZS9jb25maWcuanMnO1xuXG5pbXBvcnQgeyB2YWxpZGF0ZUNvbnRlbnQgfSBmcm9tICcuL2ljb24tdmFsaWRhdGUuanMnO1xuXG5jb25zdCBpY29uQ2RuID0gJ2h0dHBzOi8vaWNvbnMuYXBwLnNiYi5jaC8nO1xuXG5jb25zdCBpY29uTmFtZXNwYWNlcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KClcbiAgLnNldCgnZGVmYXVsdCcsIGAke2ljb25DZG59aWNvbnMvYClcbiAgLnNldCgncGljdG8nLCBgJHtpY29uQ2RufXBpY3RvL2ApO1xuY29uc3QgcmVxdWVzdHMgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxhbnk+PigpO1xuXG4vKiogRmV0Y2hlcyBpY29uIHN2ZyBjb250ZW50IGZyb20gcHJvdmlkZXJzIGFuZCBhc3NlcnRzIG9ubHkgb25lIHJlcXVlc3QgcGVyIGljb24gaXMgbWFkZS4gKi9cbmV4cG9ydCBjb25zdCBnZXRTdmdDb250ZW50ID0gKFxuICBuYW1lc3BhY2U6IHN0cmluZyxcbiAgbmFtZTogc3RyaW5nLFxuICBzYW5pdGl6ZTogYm9vbGVhbixcbik6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGNvbnN0IGNvbmZpZzogU2JiSWNvbkNvbmZpZyA9IHJlYWRDb25maWcoKS5pY29uID8/IHt9O1xuXG4gIGNvbnN0IHJlc29sdmVkTmFtZXNwYWNlID0gY29uZmlnLm5hbWVzcGFjZXM/LmdldChuYW1lc3BhY2UpID8/IGljb25OYW1lc3BhY2VzLmdldChuYW1lc3BhY2UpO1xuICBpZiAocmVzb2x2ZWROYW1lc3BhY2UgPT0gbnVsbCkge1xuICAgIHRocm93IEVycm9yKFxuICAgICAgYFVuYWJsZSB0byBmaW5kIHRoZSBuYW1lc3BhY2UgXCIke25hbWVzcGFjZX1cIi4gUGxlYXNlIHJlZ2lzdGVyIHlvdXIgY3VzdG9tIG5hbWVzcGFjZS5gLFxuICAgICk7XG4gIH1cbiAgY29uc3QgdXJsID0gYCR7cmVzb2x2ZWROYW1lc3BhY2V9JHtuYW1lfS5zdmdgO1xuXG4gIC8vIENoZWNrIGlmIHdlIGFscmVhZHkgaGF2ZSBhIHJlcXVlc3QgZm9yIHRoaXMgdXJsXG4gIGxldCByZXEgPSByZXF1ZXN0cy5nZXQodXJsKTtcblxuICBpZiAoIXJlcSkge1xuICAgIC8vIFdlIGNhbm5vdCBzdXBwb3J0IHNlcnZlciBzaWRlIHJlbmRlcmVkIGljb25zICh5ZXQpLCBhcyB0aGUgdmFsaWRhdGlvblxuICAgIC8vIGlzIGRvbmUgdmlhIERPTSwgd2hpY2ggaXMgbm90IGF2YWlsYWJsZSBkdXJpbmcgU1NSLlxuICAgIGlmICh0eXBlb2YgZmV0Y2ggIT09ICd1bmRlZmluZWQnICYmICFpc1NlcnZlcikge1xuICAgICAgY29uc3QgaW50ZXJjZXB0b3IgPSBjb25maWcuaW50ZXJjZXB0b3IgPz8gKChpKSA9PiBpLnJlcXVlc3QoKSk7XG5cbiAgICAgIHJlcSA9IGludGVyY2VwdG9yKHtcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgICBuYW1lLFxuICAgICAgICB1cmwsXG4gICAgICAgIHJlcXVlc3Q6ICgpID0+XG4gICAgICAgICAgZmV0Y2godXJsKVxuICAgICAgICAgICAgLnRoZW4oYXN5bmMgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBsb2FkIGljb24gJyArIG5hbWVzcGFjZSArICc6JyArIG5hbWUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZUNvbnRlbnQoYXdhaXQgcmVzcG9uc2UudGV4dCgpLCBzYW5pdGl6ZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICB0aHJvdyBFcnJvcihlcnJvcik7XG4gICAgICAgICAgICB9KSxcbiAgICAgIH0pO1xuICAgICAgLy8gQ2FjaGUgZm9yIHRoZSBzYW1lIHJlcXVlc3RzXG4gICAgICByZXF1ZXN0cy5zZXQodXJsLCByZXEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZXNvbHZlIHByb21pc2UgZm9yIHNzciBzY2VuYXJpb3NcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoJycpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXE7XG59O1xuIiwiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBEaXJlY3RpdmVSZXN1bHQgfSBmcm9tICdsaXQvZGlyZWN0aXZlLmpzJztcbmltcG9ydCB0eXBlIHsgVW5zYWZlSFRNTERpcmVjdGl2ZSB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3Vuc2FmZS1odG1sLmpzJztcbmltcG9ydCB7IHVuc2FmZUhUTUwgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy91bnNhZmUtaHRtbC5qcyc7XG5pbXBvcnQgeyB1bnRpbCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3VudGlsLmpzJztcblxuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXRTdmdDb250ZW50IH0gZnJvbSAnLi9pY29uLXJlcXVlc3QuanMnO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vaWNvbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEBjc3Nwcm9wIFstLXNiYi1pY29uLXN2Zy13aWR0aD1hdXRvXSAtIENhbiBiZSB1c2VkIHRvIHNldCBhIGN1c3RvbSB3aWR0aC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1pY29uLXN2Zy1oZWlnaHQ9YXV0b10gLSBDYW4gYmUgdXNlZCB0byBzZXQgYSBjdXN0b20gaGVpZ2h0LlxuICovXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICAnZGF0YS1uYW1lc3BhY2UnOiBTYmJJY29uQmFzZS5fZGVmYXVsdE5hbWVzcGFjZSxcbiAgJ2RhdGEtZW1wdHknOiAnJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiSWNvbkJhc2UgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IF9kZWZhdWx0TmFtZXNwYWNlID0gJ2RlZmF1bHQnO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgX3N2Z05hbWVzcGFjZSA9IFNiYkljb25CYXNlLl9kZWZhdWx0TmFtZXNwYWNlO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiBzdmcgY29udGVudCByZW5kZXJlZCBvbiB0aGUgcGFnZTogPHN2Zz4uLi48L3N2Zz4uXG4gICAqL1xuICBAc3RhdGUoKSBwcml2YXRlIF9zdmdJY29uPzogUHJvbWlzZTxEaXJlY3RpdmVSZXN1bHQ8dHlwZW9mIFVuc2FmZUhUTUxEaXJlY3RpdmU+PjtcblxuICAvKipcbiAgICogV2hlbiBzZXQgdG8gYHRydWVgLCBTVkcgY29udGVudCB0aGF0IGlzIEhUVFAgZmV0Y2hlZCB3aWxsIG5vdCBiZSBjaGVja2VkXG4gICAqIGlmIHRoZSByZXNwb25zZSBTVkcgY29udGVudCBoYXMgYW55IGA8c2NyaXB0PmAgZWxlbWVudHMsIG9yIGFueSBhdHRyaWJ1dGVzXG4gICAqIHRoYXQgc3RhcnQgd2l0aCBgb25gLCBzdWNoIGFzIGBvbmNsaWNrYC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ25vLXNhbml0aXplJywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgbm9TYW5pdGl6ZSA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBhc3luYyBsb2FkU3ZnSWNvbihpY29uTmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFpY29uTmFtZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IFtuYW1lc3BhY2UsIG5hbWVdID0gdGhpcy5fc3BsaXRJY29uTmFtZShpY29uTmFtZSk7XG4gICAgdGhpcy5fc3ZnTmFtZXNwYWNlID0gbmFtZXNwYWNlO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLW5hbWVzcGFjZScsIHRoaXMuX3N2Z05hbWVzcGFjZSk7XG5cbiAgICBjb25zdCBzdmdJY29uID0gdGhpcy5mZXRjaFN2Z0ljb24odGhpcy5fc3ZnTmFtZXNwYWNlLCBuYW1lKTtcbiAgICB0aGlzLl9zdmdJY29uID0gc3ZnSWNvbi50aGVuKCh2KSA9PiB1bnNhZmVIVE1MKHYpKTtcbiAgICB0cnkge1xuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZW1wdHknLCAhKGF3YWl0IHN2Z0ljb24pKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWVtcHR5JywgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGZldGNoU3ZnSWNvbihuYW1lc3BhY2U6IHN0cmluZywgbmFtZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgZ2V0U3ZnQ29udGVudChuYW1lc3BhY2UsIG5hbWUsICF0aGlzLm5vU2FuaXRpemUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3BsaXRJY29uTmFtZShpY29uTmFtZTogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSB7XG4gICAgaWYgKCFpY29uTmFtZSkge1xuICAgICAgcmV0dXJuIFsnJywgJyddO1xuICAgIH1cbiAgICBjb25zdCBwYXJ0cyA9IGljb25OYW1lLnNwbGl0KCc6Jyk7XG4gICAgc3dpdGNoIChwYXJ0cy5sZW5ndGgpIHtcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgLy8gVXNlIGRlZmF1bHQgbmFtZXNwYWNlIGlmIGVtcHR5LlxuICAgICAgICByZXR1cm4gW1NiYkljb25CYXNlLl9kZWZhdWx0TmFtZXNwYWNlLCBwYXJ0c1swXV07XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHJldHVybiBwYXJ0cyBhcyBbc3RyaW5nLCBzdHJpbmddO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgaWNvbiBuYW1lOiBcIiR7aWNvbk5hbWV9XCJgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgncm9sZScsIHRoaXMuZ2V0QXR0cmlidXRlKCdyb2xlJykgPz8gJ2ltZycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItaWNvbi1pbm5lclwiXG4gICAgICA+JHt1bnRpbChcbiAgICAgICAgdGhpcy5fc3ZnSWNvbixcbiAgICAgICAgLy8gVG8gcmVzZXJ2ZSBzcGFjZSwgd2UgbmVlZCBhbiBlbXB0eSBzdmcgdG8gYXBwbHkgZGltZW5zaW9uIHRvLlxuICAgICAgICBodG1sYDxzdmcgd2lkdGg9XCIwXCIgaGVpZ2h0PVwiMFwiPjwvc3ZnPmAsXG4gICAgICApfTwvc3BhblxuICAgID5gO1xuICB9XG59XG4iLCJpbXBvcnQgeyBodG1sLCB0eXBlIFByb3BlcnR5VmFsdWVzLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiSWNvbkJhc2UgfSBmcm9tICcuL2ljb24tYmFzZS5qcyc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaWNvbiBsb2FkZWQgZnJvbSBhIHJlZ2lzdGVyZWQgbmFtZXNwYWNlLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWljb24nKVxuZXhwb3J0IGNsYXNzIFNiYkljb25FbGVtZW50IGV4dGVuZHMgU2JiSWNvbkJhc2Uge1xuICAvKipcbiAgICogV2UgbmVlZCB0byBhZGRpdGlvbmFsbHkgb2JzZXJ2ZSB0aGUgc3ZnaWNvbiBhdHRyaWJ1dGVcbiAgICogZm9yIHNiYi1hbmd1bGFyIGNvbXBhdGliaWxpdHkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gc3VwZXIub2JzZXJ2ZWRBdHRyaWJ1dGVzLmNvbmNhdCgnc3ZnaWNvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBwcm92aWRlZCBuYW1lIGNvbnNpc3Rpbmcgb2YgdGhlIG5hbWVzcGFjZSBhbmQgdGhlIG5hbWUgb2YgdGhlIGljb24uXG4gICAqIElmIHRoZSBuYW1lc3BhY2UgaXMgbWlzc2luZywgdGhlIGRlZmF1bHQgbmFtZXNwYWNlIFwic2JiXCIgd2lsbCBiZSB1c2VkLlxuICAgKiBFLmcuIGBuYW1lYCAod2lsbCB1c2UgXCJzYmJcIiBhcyBuYW1lc3BhY2UpIG9yIGBuYW1lc3BhY2U6bmFtZWAuXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBuYW1lITogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2RlZmF1bHRBcmlhTGFiZWwgPSAnJztcblxuICAvKipcbiAgICogVGhlIHNiYi1hbmd1bGFyIGxpYnJhcnkgaGFzIGEgc2JiLWljb24gY29tcG9uZW50IGFzIHdlbGwuIEluIG9yZGVyIHRvIHByb3ZpZGVcbiAgICogY29tcGF0aWJpbGl0eSB3aXRoIGl0IChhcyBzb21lIGljb25zIGFyZSB1c2VkIGludGVybmFsbHkgaW5zaWRlIHRoZSBvdGhlciBzYmItYW5ndWxhclxuICAgKiBjb21wb25lbnRzKSB3ZSBuZWVkIHRvIGNoZWNrIHdoZXRoZXIgdGhlIGF0dHJpYnV0ZSBzdmdpY29uIGlzIHVzZWQuXG4gICAqL1xuICBAc3RhdGUoKSBwcml2YXRlIF9zYmJBbmd1bGFyQ29tcGF0aWJpbGl0eSA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBmZXRjaFN2Z0ljb24obmFtZXNwYWNlOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgLy8gSWYgdGhlIGljb24gaXMgY2hhbmdpbmcsIGFuZCB3ZSB3ZXJlIHVzaW5nIHRoZSBkZWZhdWx0QXJpYUxhYmVsLCByZXNldCBpdFxuICAgIGlmICh0aGlzLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpID09PSB0aGlzLl9kZWZhdWx0QXJpYUxhYmVsKSB7XG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpO1xuICAgIH1cblxuICAgIHRoaXMuX2RlZmF1bHRBcmlhTGFiZWwgPSBgSWNvbiAke25hbWUucmVwbGFjZSgvLS9nLCAnICcpfWA7XG5cbiAgICAvLyBnZW5lcmF0ZSBhIGRlZmF1bHQgbGFiZWwgaW4gY2FzZSB1c2VyIGRvZXMgbm90IHByb3ZpZGUgdGhlaXIgb3duXG4gICAgLy8gYW5kIGFyaWEtaGlkZGVuIGlzIHNldCB0byBcImZhbHNlXCJcbiAgICBpZiAodGhpcy5nZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJykgPT09ICdmYWxzZScgJiYgIXRoaXMuaGFzQXR0cmlidXRlKCdhcmlhLWxhYmVsJykgJiYgbmFtZSkge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCB0aGlzLl9kZWZhdWx0QXJpYUxhYmVsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXIuZmV0Y2hTdmdJY29uKG5hbWVzcGFjZSwgbmFtZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25hbWUnKSkge1xuICAgICAgdGhpcy5sb2FkU3ZnSWNvbih0aGlzLm5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIF9vbGQ6IHN0cmluZyB8IG51bGwsXG4gICAgdmFsdWU6IHN0cmluZyB8IG51bGwsXG4gICk6IHZvaWQge1xuICAgIGlmIChuYW1lID09PSAnc3ZnaWNvbicpIHtcbiAgICAgIHRoaXMuX3NiYkFuZ3VsYXJDb21wYXRpYmlsaXR5ID0gISF2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKG5hbWUsIF9vbGQsIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoIXRoaXMuaGFzQXR0cmlidXRlKCdhcmlhLWhpZGRlbicpKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiB0aGlzLl9zYmJBbmd1bGFyQ29tcGF0aWJpbGl0eSA/IGh0bWxgPHNsb3Q+PC9zbG90PmAgOiBzdXBlci5yZW5kZXIoKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWljb24nOiBTYmJJY29uRWxlbWVudDtcbiAgfVxufVxuIiwiaW1wb3J0IHsgaHRtbCwgdHlwZSBMaXRFbGVtZW50LCBub3RoaW5nLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5cbmltcG9ydCAnLi9pY29uLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiSWNvbk5hbWVNaXhpblR5cGUge1xuICBwdWJsaWMgaWNvbk5hbWU/OiBzdHJpbmc7XG4gIHByb3RlY3RlZCByZW5kZXJJY29uU2xvdChjbGFzc25hbWU/OiBzdHJpbmcpOiBUZW1wbGF0ZVJlc3VsdDtcbn1cblxuLyoqXG4gKiBFbmhhbmNlIHlvdXIgY29tcG9uZW50IHdpdGggYW4gaWNvbk5hbWUgcHJvcGVydHkgYW5kIHByb3ZpZGVzIGEgdGVtcGxhdGUgZm9yIHRoZSBpY29uIHNsb3QuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJJY29uTmFtZU1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiSWNvbk5hbWVNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYkljb25OYW1lRWxlbWVudCBleHRlbmRzIHN1cGVyQ2xhc3MgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkljb25OYW1lTWl4aW5UeXBlPiB7XG4gICAgLyoqXG4gICAgICogVGhlIGljb24gbmFtZSB3ZSB3YW50IHRvIHVzZSwgY2hvb3NlIGZyb20gdGhlIHNtYWxsIGljb24gdmFyaWFudHNcbiAgICAgKiBmcm9tIHRoZSB1aS1pY29ucyBjYXRlZ29yeSBmcm9tIGhlcmVcbiAgICAgKiBodHRwczovL2ljb25zLmFwcC5zYmIuY2guXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaWNvbi1uYW1lJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgaWNvbk5hbWU/OiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgcmVuZGVySWNvblNsb3QoY2xhc3NuYW1lPzogc3RyaW5nKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxzbG90IG5hbWU9XCJpY29uXCI+XG4gICAgICAgICAgJHt0aGlzLmljb25OYW1lXG4gICAgICAgICAgICA/IGh0bWxgPHNiYi1pY29uIG5hbWU9JHt0aGlzLmljb25OYW1lfSBjbGFzcz0ke2NsYXNzbmFtZSB8fCBub3RoaW5nfT48L3NiYi1pY29uPmBcbiAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgPC9zbG90PlxuICAgICAgYDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gU2JiSWNvbk5hbWVFbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJJY29uTmFtZU1peGluVHlwZT4gJiBUO1xufTtcbiJdLCJuYW1lcyI6WyJfX2RlY29yYXRlQ2xhc3MiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE1BQU0sUUFBUSxDQUFDLFFBQTRCLE9BQU8sUUFBUTtBQU03QyxNQUFBLFVBQVUsQ0FBQyxRQUE4QjtBQUNoRCxNQUFBLElBQUksYUFBYSxHQUFHO0FBRXRCLFFBQUksSUFBSSxTQUFTLFlBQVksTUFBTSxVQUFVO0FBQ3BDLGFBQUE7QUFBQSxJQUNUO0FBR0EsYUFBUyxJQUFJLEdBQUcsSUFBSSxJQUFJLFdBQVcsUUFBUSxLQUFLO0FBQzlDLFlBQU0sTUFBTSxJQUFJLFdBQVcsQ0FBQyxFQUFFO0FBQzFCLFVBQUEsTUFBTSxHQUFHLEtBQUssSUFBSSxjQUFjLFFBQVEsSUFBSSxNQUFNLEdBQUc7QUFDaEQsZUFBQTtBQUFBLE1BQ1Q7QUFBQSxJQUNGO0FBRUEsYUFBUyxJQUFJLEdBQUcsSUFBSSxJQUFJLFdBQVcsUUFBUSxLQUFLO0FBQzlDLFVBQUksQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDLENBQVEsR0FBRztBQUMvQixlQUFBO0FBQUEsTUFDVDtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ08s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
|