@sbb-esta/lyne-elements 1.13.0 → 1.14.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 +4 -8
- package/accordion/accordion.d.ts.map +1 -1
- package/accordion.js +90 -81
- package/action-group/action-group.d.ts +5 -5
- package/action-group/action-group.d.ts.map +1 -1
- package/action-group.js +100 -50
- package/alert/alert/alert.d.ts +11 -11
- package/alert/alert/alert.d.ts.map +1 -1
- package/alert/alert-group/alert-group.d.ts +4 -4
- package/alert/alert-group/alert-group.d.ts.map +1 -1
- package/alert/alert-group.js +101 -69
- package/alert/alert.js +191 -104
- package/autocomplete/autocomplete-base-element.d.ts +3 -7
- 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 -0
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button.js +53 -60
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-cell.js +20 -22
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-optgroup.js +31 -35
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-option.js +45 -63
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-row.js +23 -25
- package/autocomplete-grid/autocomplete-grid.js +112 -133
- package/autocomplete.js +283 -295
- package/breadcrumb/breadcrumb/breadcrumb.d.ts +1 -1
- package/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
- package/breadcrumb/breadcrumb-group.js +107 -114
- package/breadcrumb/breadcrumb.js +44 -35
- package/button/button/button.d.ts.map +1 -1
- package/button/button-link/button-link.d.ts.map +1 -1
- package/button/button-link.js +15 -18
- package/button/button-static/button-static.d.ts.map +1 -1
- package/button/button-static.js +15 -18
- package/button/button.js +15 -18
- package/button/common/button-common.d.ts +4 -4
- package/button/common/button-common.d.ts.map +1 -1
- package/button/common.js +41 -30
- package/button/mini-button/mini-button-base-element.d.ts.map +1 -1
- package/button/mini-button/mini-button.d.ts.map +1 -1
- package/button/mini-button-group/mini-button-group.d.ts +2 -2
- package/button/mini-button-group/mini-button-group.d.ts.map +1 -1
- package/button/mini-button-group.js +55 -43
- package/button/mini-button.js +30 -34
- package/button/secondary-button/secondary-button.d.ts.map +1 -1
- package/button/secondary-button-link/secondary-button-link.d.ts.map +1 -1
- package/button/secondary-button-link.js +15 -18
- package/button/secondary-button-static/secondary-button-static.d.ts.map +1 -1
- package/button/secondary-button-static.js +15 -18
- package/button/secondary-button.js +15 -18
- package/button/tertiary-button/tertiary-button.d.ts.map +1 -1
- package/button/tertiary-button-link/tertiary-button-link.d.ts.map +1 -1
- package/button/tertiary-button-link.js +15 -18
- package/button/tertiary-button-static/tertiary-button-static.d.ts.map +1 -1
- package/button/tertiary-button-static.js +15 -18
- package/button/tertiary-button.js +15 -18
- package/button/transparent-button/transparent-button.d.ts.map +1 -1
- package/button/transparent-button-link/transparent-button-link.d.ts.map +1 -1
- package/button/transparent-button-link.js +15 -18
- package/button/transparent-button-static/transparent-button-static.d.ts.map +1 -1
- package/button/transparent-button-static.js +15 -18
- package/button/transparent-button.js +15 -18
- package/calendar/calendar.d.ts +7 -7
- package/calendar/calendar.d.ts.map +1 -1
- package/calendar.js +638 -692
- package/card/card/card.d.ts +2 -2
- package/card/card/card.d.ts.map +1 -1
- package/card/card-badge/card-badge.d.ts +1 -1
- package/card/card-badge/card-badge.d.ts.map +1 -1
- package/card/card-badge.js +45 -34
- package/card/card-button/card-button.d.ts.map +1 -1
- package/card/card-button.js +16 -16
- package/card/card-link/card-link.d.ts.map +1 -1
- package/card/card-link.js +17 -17
- package/card/card.js +55 -36
- package/card/common/card-action-common.d.ts +1 -1
- package/card/common/card-action-common.d.ts.map +1 -1
- package/card/common.js +27 -33
- package/checkbox/checkbox/checkbox.d.ts +3 -4
- package/checkbox/checkbox/checkbox.d.ts.map +1 -1
- package/checkbox/checkbox-group/checkbox-group.d.ts +4 -4
- package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/checkbox/checkbox-group.js +99 -76
- package/checkbox/checkbox-panel/checkbox-panel.d.ts +2 -3
- package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/checkbox/checkbox-panel.js +51 -50
- package/checkbox/checkbox.js +54 -43
- package/checkbox/common/checkbox-common.d.ts +1 -1
- package/checkbox/common/checkbox-common.d.ts.map +1 -1
- package/checkbox/common.js +39 -24
- package/chip/chip.d.ts +2 -2
- package/chip/chip.d.ts.map +1 -1
- package/chip.js +45 -26
- package/clock/clock.d.ts +1 -1
- package/clock/clock.d.ts.map +1 -1
- package/clock.js +136 -144
- package/container/container/container.d.ts +3 -3
- package/container/container/container.d.ts.map +1 -1
- package/container/container.js +60 -35
- package/container/sticky-bar/sticky-bar.d.ts +1 -1
- package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
- package/container/sticky-bar.js +55 -47
- package/core/a11y.js +29 -51
- package/core/base-elements/action-base-element.d.ts.map +1 -1
- package/core/base-elements/button-base-element.d.ts +2 -2
- package/core/base-elements/button-base-element.d.ts.map +1 -1
- package/core/base-elements/link-base-element.d.ts +5 -5
- package/core/base-elements/link-base-element.d.ts.map +1 -1
- package/core/base-elements.js +243 -196
- package/core/controllers.js +8 -13
- package/core/decorators/base.d.ts +14 -0
- package/core/decorators/base.d.ts.map +1 -0
- package/core/decorators/force-type.d.ts +8 -0
- package/core/decorators/force-type.d.ts.map +1 -0
- package/core/decorators/get-override.d.ts +7 -0
- package/core/decorators/get-override.d.ts.map +1 -0
- package/core/decorators/handle-distinct-change.d.ts +8 -0
- package/core/decorators/handle-distinct-change.d.ts.map +1 -0
- package/core/decorators/omit-empty-converter.d.ts +8 -0
- package/core/decorators/omit-empty-converter.d.ts.map +1 -0
- package/core/decorators.d.ts +4 -0
- package/core/decorators.d.ts.map +1 -1
- package/core/decorators.js +59 -15
- package/core/dom.js +1 -5
- package/core/eventing.js +1 -4
- package/core/interfaces/paginator-page.d.ts +7 -0
- package/core/interfaces/paginator-page.d.ts.map +1 -0
- package/core/interfaces.d.ts +1 -0
- package/core/interfaces.d.ts.map +1 -1
- package/core/mixins/disabled-mixin.d.ts +2 -3
- package/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/core/mixins/named-slot-list-mixin.d.ts +1 -1
- package/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
- package/core/mixins/negative-mixin.d.ts +1 -1
- package/core/mixins/negative-mixin.d.ts.map +1 -1
- package/core/mixins/panel-mixin.d.ts +3 -3
- package/core/mixins/panel-mixin.d.ts.map +1 -1
- package/core/mixins/required-mixin.d.ts +1 -2
- package/core/mixins/required-mixin.d.ts.map +1 -1
- package/core/mixins.js +290 -237
- package/core/testing/private.d.ts +1 -0
- package/core/testing/private.d.ts.map +1 -1
- package/core/testing.js +7 -13
- package/custom-elements.json +26385 -25594
- package/datepicker/common/datepicker-button.d.ts +2 -2
- package/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/datepicker/common.js +110 -116
- package/datepicker/datepicker/datepicker.d.ts +6 -6
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
- package/datepicker/datepicker-next-day.js +24 -26
- package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
- package/datepicker/datepicker-previous-day.js +25 -27
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +6 -6
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/datepicker/datepicker-toggle.js +154 -136
- package/datepicker/datepicker.js +248 -213
- package/development/accordion/accordion.d.ts +4 -8
- package/development/accordion/accordion.d.ts.map +1 -1
- package/development/accordion.js +118 -93
- package/development/action-group/action-group.d.ts +5 -5
- package/development/action-group/action-group.d.ts.map +1 -1
- package/development/action-group.js +138 -64
- package/development/alert/alert/alert.d.ts +11 -11
- package/development/alert/alert/alert.d.ts.map +1 -1
- package/development/alert/alert-group/alert-group.d.ts +4 -4
- package/development/alert/alert-group/alert-group.d.ts.map +1 -1
- package/development/alert/alert-group.js +135 -79
- package/development/alert/alert.js +259 -109
- package/development/autocomplete/autocomplete-base-element.d.ts +3 -7
- 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 -0
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button.js +74 -75
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-cell.js +24 -24
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-optgroup.js +38 -39
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-option.js +57 -73
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-row.js +28 -28
- package/development/autocomplete-grid/autocomplete-grid.js +142 -160
- package/development/autocomplete.js +394 -393
- package/development/breadcrumb/breadcrumb/breadcrumb.d.ts +1 -1
- package/development/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb-group.js +130 -130
- package/development/breadcrumb/breadcrumb.js +53 -36
- package/development/button/button/button.d.ts.map +1 -1
- package/development/button/button-link/button-link.d.ts.map +1 -1
- package/development/button/button-link.js +18 -19
- package/development/button/button-static/button-static.d.ts.map +1 -1
- package/development/button/button-static.js +18 -19
- package/development/button/button.js +18 -19
- package/development/button/common/button-common.d.ts +4 -4
- package/development/button/common/button-common.d.ts.map +1 -1
- package/development/button/common.js +50 -29
- package/development/button/mini-button/mini-button-base-element.d.ts.map +1 -1
- package/development/button/mini-button/mini-button.d.ts.map +1 -1
- package/development/button/mini-button-group/mini-button-group.d.ts +2 -2
- package/development/button/mini-button-group/mini-button-group.d.ts.map +1 -1
- package/development/button/mini-button-group.js +77 -50
- package/development/button/mini-button.js +38 -37
- package/development/button/secondary-button/secondary-button.d.ts.map +1 -1
- package/development/button/secondary-button-link/secondary-button-link.d.ts.map +1 -1
- package/development/button/secondary-button-link.js +18 -19
- package/development/button/secondary-button-static/secondary-button-static.d.ts.map +1 -1
- package/development/button/secondary-button-static.js +18 -19
- package/development/button/secondary-button.js +18 -19
- package/development/button/tertiary-button/tertiary-button.d.ts.map +1 -1
- package/development/button/tertiary-button-link/tertiary-button-link.d.ts.map +1 -1
- package/development/button/tertiary-button-link.js +18 -19
- package/development/button/tertiary-button-static/tertiary-button-static.d.ts.map +1 -1
- package/development/button/tertiary-button-static.js +18 -19
- package/development/button/tertiary-button.js +18 -19
- package/development/button/transparent-button/transparent-button.d.ts.map +1 -1
- package/development/button/transparent-button-link/transparent-button-link.d.ts.map +1 -1
- package/development/button/transparent-button-link.js +18 -19
- package/development/button/transparent-button-static/transparent-button-static.d.ts.map +1 -1
- package/development/button/transparent-button-static.js +18 -19
- package/development/button/transparent-button.js +18 -19
- package/development/calendar/calendar.d.ts +7 -7
- package/development/calendar/calendar.d.ts.map +1 -1
- package/development/calendar.js +768 -766
- package/development/card/card/card.d.ts +2 -2
- package/development/card/card/card.d.ts.map +1 -1
- package/development/card/card-badge/card-badge.d.ts +1 -1
- package/development/card/card-badge/card-badge.d.ts.map +1 -1
- package/development/card/card-badge.js +65 -45
- package/development/card/card-button/card-button.d.ts.map +1 -1
- package/development/card/card-button.js +23 -20
- package/development/card/card-link/card-link.d.ts.map +1 -1
- package/development/card/card-link.js +23 -20
- package/development/card/card.js +72 -41
- package/development/card/common/card-action-common.d.ts +1 -1
- package/development/card/common/card-action-common.d.ts.map +1 -1
- package/development/card/common.js +74 -73
- package/development/checkbox/checkbox/checkbox.d.ts +3 -4
- package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.d.ts +4 -4
- package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/development/checkbox/checkbox-group.js +139 -92
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +2 -3
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/development/checkbox/checkbox-panel.js +68 -60
- package/development/checkbox/checkbox.js +69 -46
- package/development/checkbox/common/checkbox-common.d.ts +1 -1
- package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
- package/development/checkbox/common.js +65 -46
- package/development/chip/chip.d.ts +2 -2
- package/development/chip/chip.d.ts.map +1 -1
- package/development/chip.js +64 -33
- package/development/clock/clock.d.ts +1 -1
- package/development/clock/clock.d.ts.map +1 -1
- package/development/clock.js +203 -201
- package/development/container/container/container.d.ts +3 -3
- package/development/container/container/container.d.ts.map +1 -1
- package/development/container/container.js +86 -45
- package/development/container/sticky-bar/sticky-bar.d.ts +1 -1
- package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
- package/development/container/sticky-bar.js +76 -58
- package/development/core/a11y.js +40 -62
- package/development/core/base-elements/action-base-element.d.ts.map +1 -1
- package/development/core/base-elements/button-base-element.d.ts +2 -2
- package/development/core/base-elements/button-base-element.d.ts.map +1 -1
- package/development/core/base-elements/link-base-element.d.ts +5 -5
- package/development/core/base-elements/link-base-element.d.ts.map +1 -1
- package/development/core/base-elements.js +329 -226
- package/development/core/config.js +1 -1
- package/development/core/controllers.js +13 -21
- package/development/core/datetime.js +1 -1
- package/development/core/decorators/base.d.ts +14 -0
- package/development/core/decorators/base.d.ts.map +1 -0
- package/development/core/decorators/force-type.d.ts +8 -0
- package/development/core/decorators/force-type.d.ts.map +1 -0
- package/development/core/decorators/get-override.d.ts +7 -0
- package/development/core/decorators/get-override.d.ts.map +1 -0
- package/development/core/decorators/handle-distinct-change.d.ts +8 -0
- package/development/core/decorators/handle-distinct-change.d.ts.map +1 -0
- package/development/core/decorators/omit-empty-converter.d.ts +8 -0
- package/development/core/decorators/omit-empty-converter.d.ts.map +1 -0
- package/development/core/decorators.d.ts +4 -0
- package/development/core/decorators.d.ts.map +1 -1
- package/development/core/decorators.js +69 -5
- package/development/core/dom.js +2 -6
- package/development/core/eventing.js +2 -5
- package/development/core/i18n.js +1 -1
- package/development/core/interfaces/paginator-page.d.ts +7 -0
- package/development/core/interfaces/paginator-page.d.ts.map +1 -0
- package/development/core/interfaces.d.ts +1 -0
- package/development/core/interfaces.d.ts.map +1 -1
- package/development/core/mixins/disabled-mixin.d.ts +2 -3
- package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/development/core/mixins/named-slot-list-mixin.d.ts +1 -1
- package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
- package/development/core/mixins/negative-mixin.d.ts +1 -1
- package/development/core/mixins/negative-mixin.d.ts.map +1 -1
- package/development/core/mixins/panel-mixin.d.ts +3 -3
- package/development/core/mixins/panel-mixin.d.ts.map +1 -1
- package/development/core/mixins/required-mixin.d.ts +1 -2
- package/development/core/mixins/required-mixin.d.ts.map +1 -1
- package/development/core/mixins.js +573 -475
- package/development/core/observers.js +1 -1
- package/development/core/overlay.js +1 -1
- package/development/core/testing/private.d.ts +1 -0
- package/development/core/testing/private.d.ts.map +1 -1
- package/development/core/testing.js +16 -22
- package/development/datepicker/common/datepicker-button.d.ts +2 -2
- package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/development/datepicker/common.js +144 -142
- package/development/datepicker/datepicker/datepicker.d.ts +6 -6
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
- package/development/datepicker/datepicker-next-day.js +32 -32
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
- package/development/datepicker/datepicker-previous-day.js +32 -32
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +6 -6
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle.js +227 -174
- package/development/datepicker/datepicker.js +327 -249
- package/development/dialog/dialog/dialog.d.ts +1 -1
- package/development/dialog/dialog/dialog.d.ts.map +1 -1
- package/development/dialog/dialog-actions/dialog-actions.d.ts.map +1 -1
- package/development/dialog/dialog-actions.js +21 -20
- package/development/dialog/dialog-content/dialog-content.d.ts.map +1 -1
- package/development/dialog/dialog-content.js +22 -21
- package/development/dialog/dialog-title/dialog-title.d.ts +3 -3
- package/development/dialog/dialog-title/dialog-title.d.ts.map +1 -1
- package/development/dialog/dialog-title.js +121 -66
- package/development/dialog/dialog.js +205 -191
- package/development/divider/divider.d.ts +1 -1
- package/development/divider/divider.d.ts.map +1 -1
- package/development/divider.js +55 -36
- package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +4 -4
- package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-content/expansion-panel-content.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-content.js +25 -25
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-header.js +56 -63
- package/development/expansion-panel/expansion-panel.js +227 -182
- package/development/file-selector/file-selector.d.ts +8 -7
- package/development/file-selector/file-selector.d.ts.map +1 -1
- package/development/file-selector.js +295 -198
- package/development/flip-card/flip-card/flip-card.d.ts +2 -2
- package/development/flip-card/flip-card/flip-card.d.ts.map +1 -1
- package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
- package/development/flip-card/flip-card-details.js +39 -39
- package/development/flip-card/flip-card-summary/flip-card-summary.d.ts +1 -1
- package/development/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -1
- package/development/flip-card/flip-card-summary.js +57 -38
- package/development/flip-card/flip-card.js +110 -78
- package/development/footer/footer.d.ts +4 -4
- package/development/footer/footer.d.ts.map +1 -1
- package/development/footer.js +103 -41
- package/development/form-error/form-error.d.ts.map +1 -1
- package/development/form-error.js +29 -28
- package/development/form-field/form-field/form-field.d.ts +10 -10
- package/development/form-field/form-field/form-field.d.ts.map +1 -1
- package/development/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
- package/development/form-field/form-field-clear.js +50 -50
- package/development/form-field/form-field.js +439 -328
- package/development/header/common/header-action-common.d.ts +2 -2
- package/development/header/common/header-action-common.d.ts.map +1 -1
- package/development/header/common.js +44 -24
- package/development/header/header/header.d.ts +4 -4
- package/development/header/header/header.d.ts.map +1 -1
- package/development/header/header-button/header-button.d.ts.map +1 -1
- package/development/header/header-button.js +19 -18
- package/development/header/header-link/header-link.d.ts.map +1 -1
- package/development/header/header-link.js +19 -16
- package/development/header/header.js +198 -140
- package/development/icon/icon-base.d.ts +3 -4
- package/development/icon/icon-base.d.ts.map +1 -1
- package/development/icon/icon-name-mixin.d.ts +1 -1
- package/development/icon/icon-name-mixin.d.ts.map +1 -1
- package/development/icon/icon.d.ts +2 -2
- package/development/icon/icon.d.ts.map +1 -1
- package/development/icon.js +258 -157
- package/development/image/image.d.ts +17 -17
- package/development/image/image.d.ts.map +1 -1
- package/development/image.js +584 -216
- package/development/journey-header/journey-header.d.ts +5 -5
- package/development/journey-header/journey-header.d.ts.map +1 -1
- package/development/journey-header.js +115 -43
- package/development/lead-container/lead-container.d.ts.map +1 -1
- package/development/lead-container.js +22 -21
- package/development/link/block-link/block-link.d.ts.map +1 -1
- package/development/link/block-link-button/block-link-button.d.ts.map +1 -1
- package/development/link/block-link-button.js +19 -18
- package/development/link/block-link-static/block-link-static.d.ts.map +1 -1
- package/development/link/block-link-static.js +19 -18
- package/development/link/block-link.js +19 -18
- package/development/link/common/block-link-common.d.ts +4 -3
- package/development/link/common/block-link-common.d.ts.map +1 -1
- package/development/link/common/link-common.d.ts +1 -1
- package/development/link/common/link-common.d.ts.map +1 -1
- package/development/link/common.js +81 -51
- package/development/link/link/link.d.ts.map +1 -1
- package/development/link/link-button/link-button.d.ts.map +1 -1
- package/development/link/link-button.js +19 -18
- package/development/link/link-static/link-static.d.ts.map +1 -1
- package/development/link/link-static.js +19 -18
- package/development/link/link.js +19 -18
- package/development/link-list/common/link-list-base.d.ts +3 -3
- package/development/link-list/common/link-list-base.d.ts.map +1 -1
- package/development/link-list/common.js +97 -48
- package/development/link-list/link-list/link-list.d.ts +2 -2
- package/development/link-list/link-list/link-list.d.ts.map +1 -1
- package/development/link-list/link-list-anchor/link-list-anchor.d.ts.map +1 -1
- package/development/link-list/link-list-anchor.js +18 -17
- package/development/link-list/link-list.js +60 -28
- package/development/loading-indicator/loading-indicator.d.ts +3 -3
- package/development/loading-indicator/loading-indicator.d.ts.map +1 -1
- package/development/loading-indicator.js +82 -40
- package/development/logo/logo.d.ts +2 -2
- package/development/logo/logo.d.ts.map +1 -1
- package/development/logo.js +64 -32
- package/development/map-container/map-container.d.ts +2 -2
- package/development/map-container/map-container.d.ts.map +1 -1
- package/development/map-container.js +107 -75
- package/development/menu/common/menu-action-common.d.ts +2 -2
- package/development/menu/common/menu-action-common.d.ts.map +1 -1
- package/development/menu/common.js +41 -20
- package/development/menu/menu/menu.d.ts +1 -1
- package/development/menu/menu/menu.d.ts.map +1 -1
- package/development/menu/menu-button/menu-button.d.ts.map +1 -1
- package/development/menu/menu-button.js +19 -18
- package/development/menu/menu-link/menu-link.d.ts.map +1 -1
- package/development/menu/menu-link.js +19 -18
- package/development/menu/menu.js +261 -241
- package/development/message/message.d.ts +2 -2
- package/development/message/message.d.ts.map +1 -1
- package/development/message.js +65 -32
- package/development/navigation/common/navigation-action-common.d.ts +1 -1
- package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
- package/development/navigation/common.js +63 -52
- package/development/navigation/navigation/navigation.d.ts +2 -2
- package/development/navigation/navigation/navigation.d.ts.map +1 -1
- package/development/navigation/navigation-button/navigation-button.d.ts.map +1 -1
- package/development/navigation/navigation-button.js +19 -18
- package/development/navigation/navigation-link/navigation-link.d.ts.map +1 -1
- package/development/navigation/navigation-link.js +19 -18
- package/development/navigation/navigation-list/navigation-list.d.ts +1 -1
- package/development/navigation/navigation-list/navigation-list.d.ts.map +1 -1
- package/development/navigation/navigation-list.js +64 -41
- package/development/navigation/navigation-marker/navigation-marker.d.ts +1 -1
- package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/development/navigation/navigation-marker.js +108 -91
- package/development/navigation/navigation-section/navigation-section.d.ts +3 -3
- package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/development/navigation/navigation-section.js +282 -236
- package/development/navigation/navigation.js +278 -254
- package/development/notification/notification.d.ts +6 -6
- package/development/notification/notification.d.ts.map +1 -1
- package/development/notification.js +212 -146
- package/development/option/optgroup/optgroup-base-element.d.ts +3 -3
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/development/option/optgroup/optgroup.d.ts.map +1 -1
- package/development/option/optgroup.js +187 -142
- package/development/option/option/option-base-element.d.ts +7 -7
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option/option.d.ts.map +1 -1
- package/development/option/option.js +392 -296
- package/development/overlay/overlay-base-element.d.ts +1 -1
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay/overlay.d.ts +4 -4
- package/development/overlay/overlay.d.ts.map +1 -1
- package/development/overlay.js +260 -207
- package/development/paginator/common/paginator-common.d.ts +26 -0
- package/development/paginator/common/paginator-common.d.ts.map +1 -0
- package/development/paginator/common.d.ts +2 -0
- package/development/paginator/common.d.ts.map +1 -0
- package/development/paginator/common.js +189 -0
- package/development/paginator/compact-paginator/compact-paginator.d.ts +20 -0
- package/development/paginator/compact-paginator/compact-paginator.d.ts.map +1 -0
- package/development/paginator/compact-paginator.d.ts +2 -0
- package/development/paginator/compact-paginator.d.ts.map +1 -0
- package/development/paginator/compact-paginator.js +96 -0
- package/development/paginator/paginator/paginator.d.ts +51 -0
- package/development/paginator/paginator/paginator.d.ts.map +1 -0
- package/development/paginator/paginator.d.ts +1 -90
- package/development/paginator/paginator.d.ts.map +1 -1
- package/development/paginator/paginator.js +449 -0
- package/development/paginator.d.ts +2 -0
- package/development/paginator.d.ts.map +1 -1
- package/development/paginator.js +4 -541
- package/development/popover/popover/popover.d.ts +6 -7
- package/development/popover/popover/popover.d.ts.map +1 -1
- package/development/popover/popover-trigger/popover-trigger.d.ts.map +1 -1
- package/development/popover/popover-trigger.js +28 -29
- package/development/popover/popover.js +358 -303
- package/development/radio-button/common/radio-button-common.d.ts +1 -1
- package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/development/radio-button/common.js +170 -127
- package/development/radio-button/radio-button/radio-button.d.ts +2 -6
- package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts +6 -6
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +269 -199
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +2 -6
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/development/radio-button/radio-button-panel.js +60 -48
- package/development/radio-button/radio-button.js +54 -40
- package/development/screen-reader-only/screen-reader-only.d.ts.map +1 -1
- package/development/screen-reader-only.js +22 -21
- package/development/select/select.d.ts +5 -4
- package/development/select/select.d.ts.map +1 -1
- package/development/select.js +555 -555
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts +3 -3
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/development/selection-expansion-panel.js +223 -193
- package/development/signet/signet.d.ts +2 -2
- package/development/signet/signet.d.ts.map +1 -1
- package/development/signet.js +65 -33
- package/development/skiplink-list/skiplink-list.d.ts +2 -2
- package/development/skiplink-list/skiplink-list.d.ts.map +1 -1
- package/development/skiplink-list.js +74 -41
- package/development/slider/slider.d.ts +5 -4
- package/development/slider/slider.d.ts.map +1 -1
- package/development/slider.js +260 -184
- package/development/status/status.d.ts +3 -3
- package/development/status/status.d.ts.map +1 -1
- package/development/status.js +96 -51
- package/development/stepper/step/step.d.ts.map +1 -1
- package/development/stepper/step-label/step-label.d.ts.map +1 -1
- package/development/stepper/step-label.js +86 -90
- package/development/stepper/step.js +122 -126
- package/development/stepper/stepper/stepper.d.ts +3 -3
- package/development/stepper/stepper/stepper.d.ts.map +1 -1
- package/development/stepper/stepper.js +291 -241
- package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
- package/development/table/table-wrapper.js +37 -39
- package/development/tabs/tab/tab.d.ts.map +1 -1
- package/development/tabs/tab-group/tab-group.d.ts +2 -2
- package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/development/tabs/tab-group.js +296 -279
- package/development/tabs/tab-label/tab-label.d.ts +3 -3
- package/development/tabs/tab-label/tab-label.d.ts.map +1 -1
- package/development/tabs/tab-label.js +83 -37
- package/development/tabs/tab.js +40 -39
- package/development/tag/tag/tag.d.ts +3 -5
- package/development/tag/tag/tag.d.ts.map +1 -1
- package/development/tag/tag-group/tag-group.d.ts +3 -3
- package/development/tag/tag-group/tag-group.d.ts.map +1 -1
- package/development/tag/tag-group.js +143 -88
- package/development/tag/tag.js +126 -89
- package/development/teaser/teaser.d.ts +4 -4
- package/development/teaser/teaser.d.ts.map +1 -1
- package/development/teaser-hero/teaser-hero.d.ts +3 -3
- package/development/teaser-hero/teaser-hero.d.ts.map +1 -1
- package/development/teaser-hero.js +83 -36
- package/development/teaser-product/common/teaser-product-common.d.ts +1 -1
- package/development/teaser-product/common/teaser-product-common.d.ts.map +1 -1
- package/development/teaser-product/common.js +51 -26
- package/development/teaser-product/teaser-product/teaser-product.d.ts.map +1 -1
- package/development/teaser-product/teaser-product-static/teaser-product-static.d.ts.map +1 -1
- package/development/teaser-product/teaser-product-static.js +18 -19
- package/development/teaser-product/teaser-product.js +18 -19
- package/development/teaser.js +94 -40
- package/development/time-input/time-input.d.ts +1 -1
- package/development/time-input/time-input.d.ts.map +1 -1
- package/development/time-input.js +225 -219
- package/development/timetable-occupancy/timetable-occupancy.d.ts +2 -2
- package/development/timetable-occupancy/timetable-occupancy.d.ts.map +1 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +1 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
- package/development/timetable-occupancy-icon.js +78 -57
- package/development/timetable-occupancy.js +67 -35
- package/development/title/title-base.d.ts +3 -3
- package/development/title/title-base.d.ts.map +1 -1
- package/development/title/title.d.ts.map +1 -1
- package/development/title.js +106 -58
- package/development/toast/toast.d.ts +4 -4
- package/development/toast/toast.d.ts.map +1 -1
- package/development/toast.js +204 -146
- package/development/toggle/toggle/toggle.d.ts +3 -5
- package/development/toggle/toggle/toggle.d.ts.map +1 -1
- package/development/toggle/toggle-option/toggle-option.d.ts +2 -2
- package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/development/toggle/toggle-option.js +127 -93
- package/development/toggle/toggle.js +200 -163
- package/development/toggle-check/toggle-check.d.ts +4 -3
- package/development/toggle-check/toggle-check.d.ts.map +1 -1
- package/development/toggle-check.js +87 -49
- package/development/train/train/train.d.ts +5 -5
- package/development/train/train/train.d.ts.map +1 -1
- package/development/train/train-blocked-passage/train-blocked-passage.d.ts.map +1 -1
- package/development/train/train-blocked-passage.js +22 -21
- package/development/train/train-formation/train-formation.d.ts +2 -2
- package/development/train/train-formation/train-formation.d.ts.map +1 -1
- package/development/train/train-formation.js +113 -90
- package/development/train/train-wagon/train-wagon.d.ts +7 -9
- package/development/train/train-wagon/train-wagon.d.ts.map +1 -1
- package/development/train/train-wagon.js +166 -87
- package/development/train/train.js +142 -75
- package/development/visual-checkbox/visual-checkbox.d.ts +3 -3
- package/development/visual-checkbox/visual-checkbox.d.ts.map +1 -1
- package/development/visual-checkbox.js +79 -36
- package/dialog/dialog/dialog.d.ts +1 -1
- package/dialog/dialog/dialog.d.ts.map +1 -1
- package/dialog/dialog-actions/dialog-actions.d.ts.map +1 -1
- package/dialog/dialog-actions.js +18 -19
- package/dialog/dialog-content/dialog-content.d.ts.map +1 -1
- package/dialog/dialog-content.js +17 -18
- package/dialog/dialog-title/dialog-title.d.ts +3 -3
- package/dialog/dialog-title/dialog-title.d.ts.map +1 -1
- package/dialog/dialog-title.js +98 -66
- package/dialog/dialog.js +120 -114
- package/divider/divider.d.ts +1 -1
- package/divider/divider.d.ts.map +1 -1
- package/divider.js +41 -30
- package/expansion-panel/expansion-panel/expansion-panel.d.ts +4 -4
- package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-content/expansion-panel-content.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-content.js +20 -22
- package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-header.js +53 -61
- package/expansion-panel/expansion-panel.js +145 -130
- package/file-selector/file-selector.d.ts +8 -7
- package/file-selector/file-selector.d.ts.map +1 -1
- package/file-selector.js +224 -174
- package/flip-card/flip-card/flip-card.d.ts +2 -2
- package/flip-card/flip-card/flip-card.d.ts.map +1 -1
- package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
- package/flip-card/flip-card-details.js +36 -38
- package/flip-card/flip-card-summary/flip-card-summary.d.ts +1 -1
- package/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -1
- package/flip-card/flip-card-summary.js +42 -31
- package/flip-card/flip-card.js +88 -69
- package/footer/footer.d.ts +4 -4
- package/footer/footer.d.ts.map +1 -1
- package/footer.js +78 -37
- package/form-error/form-error.d.ts.map +1 -1
- package/form-error.js +24 -25
- package/form-field/form-field/form-field.d.ts +10 -10
- package/form-field/form-field/form-field.d.ts.map +1 -1
- package/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
- package/form-field/form-field-clear.js +39 -41
- package/form-field/form-field.js +295 -239
- package/header/common/header-action-common.d.ts +2 -2
- package/header/common/header-action-common.d.ts.map +1 -1
- package/header/common.js +36 -21
- package/header/header/header.d.ts +4 -4
- package/header/header/header.d.ts.map +1 -1
- package/header/header-button/header-button.d.ts.map +1 -1
- package/header/header-button.js +14 -16
- package/header/header-link/header-link.d.ts.map +1 -1
- package/header/header-link.js +14 -14
- package/header/header.js +138 -109
- package/icon/icon-base.d.ts +3 -4
- package/icon/icon-base.d.ts.map +1 -1
- package/icon/icon-name-mixin.d.ts +1 -1
- package/icon/icon-name-mixin.d.ts.map +1 -1
- package/icon/icon.d.ts +2 -2
- package/icon/icon.d.ts.map +1 -1
- package/icon.js +230 -165
- package/image/image.d.ts +17 -17
- package/image/image.d.ts.map +1 -1
- package/image.js +465 -195
- package/index.d.ts +3 -1
- package/index.js +3 -1
- package/journey-header/journey-header.d.ts +5 -5
- package/journey-header/journey-header.d.ts.map +1 -1
- package/journey-header.js +89 -49
- package/lead-container/lead-container.d.ts.map +1 -1
- package/lead-container.js +17 -18
- package/link/block-link/block-link.d.ts.map +1 -1
- package/link/block-link-button/block-link-button.d.ts.map +1 -1
- package/link/block-link-button.js +15 -17
- package/link/block-link-static/block-link-static.d.ts.map +1 -1
- package/link/block-link-static.js +14 -16
- package/link/block-link.js +15 -17
- package/link/common/block-link-common.d.ts +4 -3
- package/link/common/block-link-common.d.ts.map +1 -1
- package/link/common/link-common.d.ts +1 -1
- package/link/common/link-common.d.ts.map +1 -1
- package/link/common.js +64 -46
- package/link/link/link.d.ts.map +1 -1
- package/link/link-button/link-button.d.ts.map +1 -1
- package/link/link-button.js +15 -17
- package/link/link-static/link-static.d.ts.map +1 -1
- package/link/link-static.js +15 -17
- package/link/link.js +15 -17
- package/link-list/common/link-list-base.d.ts +3 -3
- package/link-list/common/link-list-base.d.ts.map +1 -1
- package/link-list/common.js +72 -44
- package/link-list/link-list/link-list.d.ts +2 -2
- package/link-list/link-list/link-list.d.ts.map +1 -1
- package/link-list/link-list-anchor/link-list-anchor.d.ts.map +1 -1
- package/link-list/link-list-anchor.js +15 -16
- package/link-list/link-list.js +43 -24
- package/loading-indicator/loading-indicator.d.ts +3 -3
- package/loading-indicator/loading-indicator.d.ts.map +1 -1
- package/loading-indicator.js +61 -36
- package/logo/logo.d.ts +2 -2
- package/logo/logo.d.ts.map +1 -1
- package/logo.js +47 -27
- package/map-container/map-container.d.ts +2 -2
- package/map-container/map-container.d.ts.map +1 -1
- package/map-container.js +84 -65
- package/menu/common/menu-action-common.d.ts +2 -2
- package/menu/common/menu-action-common.d.ts.map +1 -1
- package/menu/common.js +37 -22
- package/menu/menu/menu.d.ts +1 -1
- package/menu/menu/menu.d.ts.map +1 -1
- package/menu/menu-button/menu-button.d.ts.map +1 -1
- package/menu/menu-button.js +14 -16
- package/menu/menu-link/menu-link.d.ts.map +1 -1
- package/menu/menu-link.js +15 -17
- package/menu/menu.js +175 -170
- package/message/message.d.ts +2 -2
- package/message/message.d.ts.map +1 -1
- package/message.js +47 -27
- package/navigation/common/navigation-action-common.d.ts +1 -1
- package/navigation/common/navigation-action-common.d.ts.map +1 -1
- package/navigation/common.js +38 -33
- package/navigation/navigation/navigation.d.ts +2 -2
- package/navigation/navigation/navigation.d.ts.map +1 -1
- package/navigation/navigation-button/navigation-button.d.ts.map +1 -1
- package/navigation/navigation-button.js +14 -16
- package/navigation/navigation-link/navigation-link.d.ts.map +1 -1
- package/navigation/navigation-link.js +14 -16
- package/navigation/navigation-list/navigation-list.d.ts +1 -1
- package/navigation/navigation-list/navigation-list.d.ts.map +1 -1
- package/navigation/navigation-list.js +48 -35
- package/navigation/navigation-marker/navigation-marker.d.ts +1 -1
- package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/navigation/navigation-marker.js +77 -69
- package/navigation/navigation-section/navigation-section.d.ts +3 -3
- package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/navigation/navigation-section.js +192 -171
- package/navigation/navigation.js +185 -181
- package/notification/notification.d.ts +6 -6
- package/notification/notification.d.ts.map +1 -1
- package/notification.js +147 -116
- package/option/optgroup/optgroup-base-element.d.ts +3 -3
- package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/option/optgroup/optgroup.d.ts.map +1 -1
- package/option/optgroup.js +131 -112
- package/option/option/option-base-element.d.ts +7 -7
- package/option/option/option-base-element.d.ts.map +1 -1
- package/option/option/option.d.ts.map +1 -1
- package/option/option.js +295 -252
- package/overlay/overlay-base-element.d.ts +1 -1
- package/overlay/overlay-base-element.d.ts.map +1 -1
- package/overlay/overlay.d.ts +4 -4
- package/overlay/overlay.d.ts.map +1 -1
- package/overlay.js +194 -165
- package/package.json +18 -2
- package/paginator/common/paginator-common.d.ts +26 -0
- package/paginator/common/paginator-common.d.ts.map +1 -0
- package/paginator/common.d.ts +2 -0
- package/paginator/common.d.ts.map +1 -0
- package/paginator/common.js +145 -0
- package/paginator/compact-paginator/compact-paginator.d.ts +20 -0
- package/paginator/compact-paginator/compact-paginator.d.ts.map +1 -0
- package/paginator/compact-paginator.d.ts +2 -0
- package/paginator/compact-paginator.d.ts.map +1 -0
- package/paginator/compact-paginator.js +40 -0
- package/paginator/paginator/paginator.d.ts +51 -0
- package/paginator/paginator/paginator.d.ts.map +1 -0
- package/paginator/paginator.d.ts +1 -90
- package/paginator/paginator.d.ts.map +1 -1
- package/paginator/paginator.js +171 -0
- package/paginator.d.ts +2 -0
- package/paginator.d.ts.map +1 -1
- package/paginator.js +3 -265
- package/popover/popover/popover.d.ts +6 -7
- package/popover/popover/popover.d.ts.map +1 -1
- package/popover/popover-trigger/popover-trigger.d.ts.map +1 -1
- package/popover/popover-trigger.js +26 -29
- package/popover/popover.js +230 -208
- package/radio-button/common/radio-button-common.d.ts +1 -1
- package/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/radio-button/common.js +67 -43
- package/radio-button/radio-button/radio-button.d.ts +2 -6
- package/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts +6 -6
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +192 -156
- package/radio-button/radio-button-panel/radio-button-panel.d.ts +2 -6
- package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/radio-button/radio-button-panel.js +49 -45
- package/radio-button/radio-button.js +43 -37
- package/screen-reader-only/screen-reader-only.d.ts.map +1 -1
- package/screen-reader-only.js +17 -18
- package/select/select.d.ts +5 -4
- package/select/select.d.ts.map +1 -1
- package/select.js +377 -401
- package/selection-expansion-panel/selection-expansion-panel.d.ts +3 -3
- package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/selection-expansion-panel.js +157 -148
- package/signet/signet.d.ts +2 -2
- package/signet/signet.d.ts.map +1 -1
- package/signet.js +48 -28
- package/skiplink-list/skiplink-list.d.ts +2 -2
- package/skiplink-list/skiplink-list.d.ts.map +1 -1
- package/skiplink-list.js +54 -36
- package/slider/slider.d.ts +5 -4
- package/slider/slider.d.ts.map +1 -1
- package/slider.js +197 -158
- package/status/status.d.ts +3 -3
- package/status/status.d.ts.map +1 -1
- package/status.js +71 -46
- package/stepper/step/step.d.ts.map +1 -1
- package/stepper/step-label/step-label.d.ts.map +1 -1
- package/stepper/step-label.js +69 -75
- package/stepper/step.js +99 -104
- package/stepper/stepper/stepper.d.ts +3 -3
- package/stepper/stepper/stepper.d.ts.map +1 -1
- package/stepper/stepper.js +208 -188
- package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
- package/table/table-wrapper.js +32 -36
- package/tabs/tab/tab.d.ts.map +1 -1
- package/tabs/tab-group/tab-group.d.ts +2 -2
- package/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/tabs/tab-group.js +200 -193
- package/tabs/tab-label/tab-label.d.ts +3 -3
- package/tabs/tab-label/tab-label.d.ts.map +1 -1
- package/tabs/tab-label.js +65 -37
- package/tabs/tab.js +34 -35
- package/tag/tag/tag.d.ts +3 -5
- package/tag/tag/tag.d.ts.map +1 -1
- package/tag/tag-group/tag-group.d.ts +3 -3
- package/tag/tag-group/tag-group.d.ts.map +1 -1
- package/tag/tag-group.js +107 -75
- package/tag/tag.js +92 -73
- package/teaser/teaser.d.ts +4 -4
- package/teaser/teaser.d.ts.map +1 -1
- package/teaser-hero/teaser-hero.d.ts +3 -3
- package/teaser-hero/teaser-hero.d.ts.map +1 -1
- package/teaser-hero.js +66 -38
- package/teaser-product/common/teaser-product-common.d.ts +1 -1
- package/teaser-product/common/teaser-product-common.d.ts.map +1 -1
- package/teaser-product/common.js +36 -21
- package/teaser-product/teaser-product/teaser-product.d.ts.map +1 -1
- package/teaser-product/teaser-product-static/teaser-product-static.d.ts.map +1 -1
- package/teaser-product/teaser-product-static.js +14 -17
- package/teaser-product/teaser-product.js +14 -17
- package/teaser.js +69 -37
- package/time-input/time-input.d.ts +1 -1
- package/time-input/time-input.d.ts.map +1 -1
- package/time-input.js +160 -166
- package/timetable-occupancy/timetable-occupancy.d.ts +2 -2
- package/timetable-occupancy/timetable-occupancy.d.ts.map +1 -1
- package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +1 -1
- package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
- package/timetable-occupancy-icon.js +60 -48
- package/timetable-occupancy.js +55 -38
- package/title/title-base.d.ts +3 -3
- package/title/title-base.d.ts.map +1 -1
- package/title/title.d.ts.map +1 -1
- package/title.js +81 -53
- package/toast/toast.d.ts +4 -4
- package/toast/toast.d.ts.map +1 -1
- package/toast.js +156 -123
- package/toggle/toggle/toggle.d.ts +3 -5
- package/toggle/toggle/toggle.d.ts.map +1 -1
- package/toggle/toggle-option/toggle-option.d.ts +2 -2
- package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/toggle/toggle-option.js +89 -72
- package/toggle/toggle.js +139 -122
- package/toggle-check/toggle-check.d.ts +4 -3
- package/toggle-check/toggle-check.d.ts.map +1 -1
- package/toggle-check.js +63 -41
- package/train/train/train.d.ts +5 -5
- package/train/train/train.d.ts.map +1 -1
- package/train/train-blocked-passage/train-blocked-passage.d.ts.map +1 -1
- package/train/train-blocked-passage.js +17 -18
- package/train/train-formation/train-formation.d.ts +2 -2
- package/train/train-formation/train-formation.d.ts.map +1 -1
- package/train/train-formation.js +96 -87
- package/train/train-wagon/train-wagon.d.ts +7 -9
- package/train/train-wagon/train-wagon.d.ts.map +1 -1
- package/train/train-wagon.js +150 -110
- package/train/train.js +108 -71
- package/visual-checkbox/visual-checkbox.d.ts +3 -3
- package/visual-checkbox/visual-checkbox.d.ts.map +1 -1
- package/visual-checkbox.js +59 -32
|
@@ -1,9 +1,17 @@
|
|
|
1
|
+
var __typeError = (msg) => {
|
|
2
|
+
throw TypeError(msg);
|
|
3
|
+
};
|
|
4
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
5
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
6
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
|
+
import { __runInitializers, __esDecorate } from "tslib";
|
|
1
9
|
import { css, LitElement, html, nothing } from "lit";
|
|
2
|
-
import {
|
|
10
|
+
import { customElement, property } from "lit/decorators.js";
|
|
3
11
|
import { ref } from "lit/directives/ref.js";
|
|
4
12
|
import { setModalityOnNextFocus, getFirstFocusableElement, getFocusableElements } from "../core/a11y.js";
|
|
5
13
|
import { SbbLanguageController } from "../core/controllers.js";
|
|
6
|
-
import { hostAttributes, slotState } from "../core/decorators.js";
|
|
14
|
+
import { hostAttributes, slotState, forceType, omitEmptyConverter } from "../core/decorators.js";
|
|
7
15
|
import { setOrRemoveAttribute, findReferencedElement, isBreakpoint } from "../core/dom.js";
|
|
8
16
|
import { i18nGoBack } from "../core/i18n.js";
|
|
9
17
|
import { SbbUpdateSchedulerMixin } from "../core/mixins.js";
|
|
@@ -293,228 +301,265 @@ const style = css`*,
|
|
|
293
301
|
transform: var(--sbb-navigation-section-transform);
|
|
294
302
|
}
|
|
295
303
|
}`;
|
|
296
|
-
var __defProp = Object.defineProperty;
|
|
297
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
298
|
-
var __decorateClass = (decorators, target, key, kind) => {
|
|
299
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
300
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
301
|
-
if (decorator = decorators[i])
|
|
302
|
-
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
303
|
-
if (kind && result) __defProp(target, key, result);
|
|
304
|
-
return result;
|
|
305
|
-
};
|
|
306
304
|
let nextId = 0;
|
|
307
|
-
let SbbNavigationSectionElement =
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
305
|
+
let SbbNavigationSectionElement = (() => {
|
|
306
|
+
var _titleContent_accessor_storage, _accessibilityLabel_accessor_storage, _accessibilityBackLabel_accessor_storage, _a;
|
|
307
|
+
let _classDecorators = [customElement("sbb-navigation-section"), hostAttributes({
|
|
308
|
+
slot: "navigation-section"
|
|
309
|
+
}), slotState()];
|
|
310
|
+
let _classDescriptor;
|
|
311
|
+
let _classExtraInitializers = [];
|
|
312
|
+
let _classThis;
|
|
313
|
+
let _classSuper = SbbUpdateSchedulerMixin(LitElement);
|
|
314
|
+
let _instanceExtraInitializers = [];
|
|
315
|
+
let _titleContent_decorators;
|
|
316
|
+
let _titleContent_initializers = [];
|
|
317
|
+
let _titleContent_extraInitializers = [];
|
|
318
|
+
let _set_trigger_decorators;
|
|
319
|
+
let _accessibilityLabel_decorators;
|
|
320
|
+
let _accessibilityLabel_initializers = [];
|
|
321
|
+
let _accessibilityLabel_extraInitializers = [];
|
|
322
|
+
let _accessibilityBackLabel_decorators;
|
|
323
|
+
let _accessibilityBackLabel_initializers = [];
|
|
324
|
+
let _accessibilityBackLabel_extraInitializers = [];
|
|
325
|
+
_a = class extends _classSuper {
|
|
326
|
+
constructor() {
|
|
327
|
+
super(...arguments);
|
|
328
|
+
__privateAdd(this, _titleContent_accessor_storage);
|
|
329
|
+
__privateAdd(this, _accessibilityLabel_accessor_storage);
|
|
330
|
+
__privateAdd(this, _accessibilityBackLabel_accessor_storage);
|
|
331
|
+
__privateSet(this, _titleContent_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _titleContent_initializers, "")));
|
|
332
|
+
this._trigger = (__runInitializers(this, _titleContent_extraInitializers), null);
|
|
333
|
+
__privateSet(this, _accessibilityLabel_accessor_storage, __runInitializers(this, _accessibilityLabel_initializers, ""));
|
|
334
|
+
__privateSet(this, _accessibilityBackLabel_accessor_storage, (__runInitializers(this, _accessibilityLabel_extraInitializers), __runInitializers(this, _accessibilityBackLabel_initializers, "")));
|
|
335
|
+
this._firstLevelNavigation = (__runInitializers(this, _accessibilityBackLabel_extraInitializers), null);
|
|
336
|
+
this._triggerElement = null;
|
|
337
|
+
this._language = new SbbLanguageController(this);
|
|
338
|
+
this._handleNavigationSectionClose = (event) => {
|
|
339
|
+
const composedPathElements = event.composedPath().filter((el) => el instanceof window.HTMLElement);
|
|
340
|
+
if (composedPathElements.some((el) => this._isCloseElement(el))) {
|
|
341
|
+
this.close();
|
|
342
|
+
}
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* The label to be shown before the action list.
|
|
347
|
+
*/
|
|
348
|
+
get titleContent() {
|
|
349
|
+
return __privateGet(this, _titleContent_accessor_storage);
|
|
350
|
+
}
|
|
351
|
+
set titleContent(value) {
|
|
352
|
+
__privateSet(this, _titleContent_accessor_storage, value);
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* The element that will trigger the navigation section.
|
|
356
|
+
* Accepts both a string (id of an element) or an HTML element.
|
|
357
|
+
*/
|
|
358
|
+
set trigger(value) {
|
|
359
|
+
const oldValue = this._trigger;
|
|
360
|
+
this._trigger = value;
|
|
361
|
+
this._removeTriggerClickListener(this._trigger, oldValue);
|
|
362
|
+
}
|
|
363
|
+
get trigger() {
|
|
364
|
+
return this._trigger;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* This will be forwarded as aria-label to the nav element and is read as a title of the navigation-section.
|
|
368
|
+
*/
|
|
369
|
+
get accessibilityLabel() {
|
|
370
|
+
return __privateGet(this, _accessibilityLabel_accessor_storage);
|
|
371
|
+
}
|
|
372
|
+
set accessibilityLabel(value) {
|
|
373
|
+
__privateSet(this, _accessibilityLabel_accessor_storage, value);
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* This will be forwarded as aria-label to the back button element.
|
|
377
|
+
*/
|
|
378
|
+
get accessibilityBackLabel() {
|
|
379
|
+
return __privateGet(this, _accessibilityBackLabel_accessor_storage);
|
|
380
|
+
}
|
|
381
|
+
set accessibilityBackLabel(value) {
|
|
382
|
+
__privateSet(this, _accessibilityBackLabel_accessor_storage, value);
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* The state of the navigation section.
|
|
386
|
+
*/
|
|
387
|
+
set _state(state) {
|
|
388
|
+
this.setAttribute("data-state", state);
|
|
389
|
+
setOrRemoveAttribute(this, "aria-hidden", this._state !== "opened" ? "true" : null);
|
|
390
|
+
}
|
|
391
|
+
get _state() {
|
|
392
|
+
return this.getAttribute("data-state");
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Opens the navigation section on trigger click.
|
|
396
|
+
*/
|
|
397
|
+
open() {
|
|
398
|
+
var _a2;
|
|
399
|
+
if (this._state !== "closed" || !this._navigationSection) {
|
|
400
|
+
return;
|
|
318
401
|
}
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
}
|
|
326
|
-
get trigger() {
|
|
327
|
-
return this._trigger;
|
|
328
|
-
}
|
|
329
|
-
/**
|
|
330
|
-
* The state of the navigation section.
|
|
331
|
-
*/
|
|
332
|
-
set _state(state) {
|
|
333
|
-
this.setAttribute("data-state", state);
|
|
334
|
-
setOrRemoveAttribute(this, "aria-hidden", this._state !== "opened" ? "true" : null);
|
|
335
|
-
}
|
|
336
|
-
get _state() {
|
|
337
|
-
return this.getAttribute("data-state");
|
|
338
|
-
}
|
|
339
|
-
/**
|
|
340
|
-
* Opens the navigation section on trigger click.
|
|
341
|
-
*/
|
|
342
|
-
open() {
|
|
343
|
-
var _a;
|
|
344
|
-
if (this._state !== "closed" || !this._navigationSection) {
|
|
345
|
-
return;
|
|
402
|
+
this._setActiveNavigationAction();
|
|
403
|
+
this._closePreviousNavigationSection();
|
|
404
|
+
this._state = "opening";
|
|
405
|
+
this.startUpdate();
|
|
406
|
+
this.inert = true;
|
|
407
|
+
(_a2 = this._triggerElement) == null ? void 0 : _a2.setAttribute("aria-expanded", "true");
|
|
346
408
|
}
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
this.startUpdate();
|
|
351
|
-
this.inert = true;
|
|
352
|
-
(_a = this._triggerElement) == null ? void 0 : _a.setAttribute("aria-expanded", "true");
|
|
353
|
-
}
|
|
354
|
-
_setActiveNavigationAction() {
|
|
355
|
-
var _a, _b;
|
|
356
|
-
(_b = (_a = this._triggerElement) == null ? void 0 : _a.marker) == null ? void 0 : _b.select(this._triggerElement);
|
|
357
|
-
}
|
|
358
|
-
_closePreviousNavigationSection() {
|
|
359
|
-
var _a, _b;
|
|
360
|
-
(_b = (_a = this._firstLevelNavigation) == null ? void 0 : _a.activeNavigationSection) == null ? void 0 : _b.close();
|
|
361
|
-
}
|
|
362
|
-
/**
|
|
363
|
-
* Closes the navigation section.
|
|
364
|
-
*/
|
|
365
|
-
close() {
|
|
366
|
-
var _a;
|
|
367
|
-
if (this._state !== "opened") {
|
|
368
|
-
return;
|
|
409
|
+
_setActiveNavigationAction() {
|
|
410
|
+
var _a2, _b;
|
|
411
|
+
(_b = (_a2 = this._triggerElement) == null ? void 0 : _a2.marker) == null ? void 0 : _b.select(this._triggerElement);
|
|
369
412
|
}
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
(_a = this._triggerElement) == null ? void 0 : _a.setAttribute("aria-expanded", "false");
|
|
374
|
-
}
|
|
375
|
-
// Removes trigger click listener on trigger change.
|
|
376
|
-
_removeTriggerClickListener(newValue, oldValue) {
|
|
377
|
-
var _a, _b;
|
|
378
|
-
if (newValue !== oldValue) {
|
|
379
|
-
(_a = this._navigationSectionController) == null ? void 0 : _a.abort();
|
|
380
|
-
(_b = this._windowEventsController) == null ? void 0 : _b.abort();
|
|
381
|
-
this._configure(this.trigger);
|
|
413
|
+
_closePreviousNavigationSection() {
|
|
414
|
+
var _a2, _b;
|
|
415
|
+
(_b = (_a2 = this._firstLevelNavigation) == null ? void 0 : _a2.activeNavigationSection) == null ? void 0 : _b.close();
|
|
382
416
|
}
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
417
|
+
/**
|
|
418
|
+
* Closes the navigation section.
|
|
419
|
+
*/
|
|
420
|
+
close() {
|
|
421
|
+
var _a2;
|
|
422
|
+
if (this._state !== "opened") {
|
|
423
|
+
return;
|
|
424
|
+
}
|
|
425
|
+
this._state = "closing";
|
|
426
|
+
this.startUpdate();
|
|
427
|
+
this.inert = true;
|
|
428
|
+
(_a2 = this._triggerElement) == null ? void 0 : _a2.setAttribute("aria-expanded", "false");
|
|
390
429
|
}
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
430
|
+
// Removes trigger click listener on trigger change.
|
|
431
|
+
_removeTriggerClickListener(newValue, oldValue) {
|
|
432
|
+
var _a2, _b;
|
|
433
|
+
if (newValue !== oldValue) {
|
|
434
|
+
(_a2 = this._navigationSectionController) == null ? void 0 : _a2.abort();
|
|
435
|
+
(_b = this._windowEventsController) == null ? void 0 : _b.abort();
|
|
436
|
+
this._configure(this.trigger);
|
|
437
|
+
}
|
|
394
438
|
}
|
|
395
|
-
|
|
396
|
-
(
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
439
|
+
// Check if the trigger is valid and attach click event listeners.
|
|
440
|
+
_configure(trigger) {
|
|
441
|
+
var _a2;
|
|
442
|
+
removeAriaOverlayTriggerAttributes(this._triggerElement);
|
|
443
|
+
if (!trigger) {
|
|
444
|
+
return;
|
|
445
|
+
}
|
|
446
|
+
this._triggerElement = findReferencedElement(trigger);
|
|
447
|
+
if (!this._triggerElement) {
|
|
448
|
+
return;
|
|
449
|
+
}
|
|
450
|
+
setAriaOverlayTriggerAttributes(this._triggerElement, "menu", this.id, this._state);
|
|
451
|
+
(_a2 = this._navigationSectionController) == null ? void 0 : _a2.abort();
|
|
452
|
+
this._navigationSectionController = new AbortController();
|
|
453
|
+
this._triggerElement.connectedSection = this;
|
|
454
|
+
this._triggerElement.addEventListener("click", () => this.open(), {
|
|
455
|
+
signal: this._navigationSectionController.signal
|
|
456
|
+
});
|
|
457
|
+
this.addEventListener("keydown", (event) => this._handleNavigationSectionFocus(event), {
|
|
458
|
+
signal: this._navigationSectionController.signal
|
|
459
|
+
});
|
|
409
460
|
}
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
}
|
|
414
|
-
// In rare cases it can be that the animationEnd event is triggered twice.
|
|
415
|
-
// To avoid entering a corrupt state, exit when state is not expected.
|
|
416
|
-
_onAnimationEnd(event) {
|
|
417
|
-
var _a;
|
|
418
|
-
if (event.animationName === "open" && this._state === "opening") {
|
|
419
|
-
this._state = "opened";
|
|
420
|
-
this.inert = false;
|
|
421
|
-
this._attachWindowEvents();
|
|
422
|
-
this._setNavigationInert();
|
|
423
|
-
this._setNavigationSectionFocus();
|
|
424
|
-
this._checkActiveAction();
|
|
425
|
-
} else if (event.animationName === "close" && this._state === "closing") {
|
|
426
|
-
this._state = "closed";
|
|
427
|
-
this._navigationSectionContainerElement.scrollTo(0, 0);
|
|
428
|
-
(_a = this._windowEventsController) == null ? void 0 : _a.abort();
|
|
429
|
-
this._resetLists();
|
|
430
|
-
this._setNavigationInert();
|
|
431
|
-
if (this._isZeroToLargeBreakpoint() && this._triggerElement) {
|
|
432
|
-
setModalityOnNextFocus(this._triggerElement);
|
|
433
|
-
this._triggerElement.focus();
|
|
461
|
+
_setNavigationInert() {
|
|
462
|
+
if (!this._firstLevelNavigation) {
|
|
463
|
+
return;
|
|
434
464
|
}
|
|
465
|
+
this._firstLevelNavigation.shadowRoot.querySelector(".sbb-navigation__content").inert = this._isZeroToLargeBreakpoint() && this._state !== "closed";
|
|
435
466
|
}
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
this.
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
// Closes the navigation on "Esc" key pressed.
|
|
460
|
-
_onKeydownEvent(event) {
|
|
461
|
-
if (this._state === "opened" && event.key === "Escape") {
|
|
462
|
-
this.close();
|
|
467
|
+
// In rare cases it can be that the animationEnd event is triggered twice.
|
|
468
|
+
// To avoid entering a corrupt state, exit when state is not expected.
|
|
469
|
+
_onAnimationEnd(event) {
|
|
470
|
+
var _a2;
|
|
471
|
+
if (event.animationName === "open" && this._state === "opening") {
|
|
472
|
+
this._state = "opened";
|
|
473
|
+
this.inert = false;
|
|
474
|
+
this._attachWindowEvents();
|
|
475
|
+
this._setNavigationInert();
|
|
476
|
+
this._setNavigationSectionFocus();
|
|
477
|
+
this._checkActiveAction();
|
|
478
|
+
} else if (event.animationName === "close" && this._state === "closing") {
|
|
479
|
+
this._state = "closed";
|
|
480
|
+
this._navigationSectionContainerElement.scrollTo(0, 0);
|
|
481
|
+
(_a2 = this._windowEventsController) == null ? void 0 : _a2.abort();
|
|
482
|
+
this._resetLists();
|
|
483
|
+
this._setNavigationInert();
|
|
484
|
+
if (this._isZeroToLargeBreakpoint() && this._triggerElement) {
|
|
485
|
+
setModalityOnNextFocus(this._triggerElement);
|
|
486
|
+
this._triggerElement.focus();
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
this.completeUpdate();
|
|
463
490
|
}
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
const firstFocusableElement = getFirstFocusableElement(
|
|
468
|
-
[this.shadowRoot.querySelector("#sbb-navigation-section-back-button")].concat(Array.from(this.children)).filter((e) => e instanceof window.HTMLElement)
|
|
469
|
-
);
|
|
470
|
-
if (firstFocusableElement) {
|
|
471
|
-
setModalityOnNextFocus(firstFocusableElement);
|
|
472
|
-
firstFocusableElement.focus();
|
|
491
|
+
_resetLists() {
|
|
492
|
+
const activeActions = Array.from(this.querySelectorAll("[data-section-action][data-action-active]"));
|
|
493
|
+
activeActions == null ? void 0 : activeActions.forEach((action) => action.removeAttribute("data-action-active"));
|
|
473
494
|
}
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
if (event.key !== "Tab" || this._isZeroToLargeBreakpoint()) {
|
|
483
|
-
return;
|
|
495
|
+
_attachWindowEvents() {
|
|
496
|
+
this._windowEventsController = new AbortController();
|
|
497
|
+
window.addEventListener("keydown", (event) => this._onKeydownEvent(event), {
|
|
498
|
+
signal: this._windowEventsController.signal
|
|
499
|
+
});
|
|
500
|
+
window.addEventListener("click", this._handleNavigationSectionClose, {
|
|
501
|
+
signal: this._windowEventsController.signal
|
|
502
|
+
});
|
|
484
503
|
}
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
);
|
|
488
|
-
const navigationFocusableElements = getFocusableElements(navigationChildren, {
|
|
489
|
-
filter: (el) => el.nodeName !== "SBB-NAVIGATION-SECTION"
|
|
490
|
-
});
|
|
491
|
-
const sectionChildren = Array.from(this.shadowRoot.children);
|
|
492
|
-
const sectionFocusableElements = getFocusableElements(sectionChildren);
|
|
493
|
-
const firstFocusable = sectionFocusableElements[0];
|
|
494
|
-
const lastFocusable = sectionFocusableElements[sectionFocusableElements.length - 1];
|
|
495
|
-
const elementToFocus = event.shiftKey ? this._triggerElement : navigationFocusableElements[navigationFocusableElements.indexOf(this._triggerElement) + 1];
|
|
496
|
-
const pivot = event.shiftKey ? firstFocusable : lastFocusable;
|
|
497
|
-
if (!!elementToFocus && (firstFocusable.getRootNode().activeElement === pivot || lastFocusable.getRootNode().activeElement === pivot)) {
|
|
498
|
-
elementToFocus.focus();
|
|
499
|
-
event.preventDefault();
|
|
504
|
+
_isCloseElement(element) {
|
|
505
|
+
return element.nodeName === "A" || !element.hasAttribute("disabled") && (element.hasAttribute("sbb-navigation-close") || element.hasAttribute("sbb-navigation-section-close"));
|
|
500
506
|
}
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
507
|
+
_isZeroToLargeBreakpoint() {
|
|
508
|
+
return isBreakpoint("zero", "large");
|
|
509
|
+
}
|
|
510
|
+
// Closes the navigation on "Esc" key pressed.
|
|
511
|
+
_onKeydownEvent(event) {
|
|
512
|
+
if (this._state === "opened" && event.key === "Escape") {
|
|
513
|
+
this.close();
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
// Set focus on the first focusable element.
|
|
517
|
+
_setNavigationSectionFocus() {
|
|
518
|
+
const firstFocusableElement = getFirstFocusableElement([this.shadowRoot.querySelector("#sbb-navigation-section-back-button")].concat(Array.from(this.children)).filter((e) => e instanceof window.HTMLElement));
|
|
519
|
+
if (firstFocusableElement) {
|
|
520
|
+
setModalityOnNextFocus(firstFocusableElement);
|
|
521
|
+
firstFocusableElement.focus();
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
_checkActiveAction() {
|
|
525
|
+
var _a2;
|
|
526
|
+
(_a2 = this.querySelector(":is(sbb-navigation-button, sbb-navigation-link).sbb-active")) == null ? void 0 : _a2.toggleAttribute("data-action-active", true);
|
|
527
|
+
}
|
|
528
|
+
_handleNavigationSectionFocus(event) {
|
|
529
|
+
if (event.key !== "Tab" || this._isZeroToLargeBreakpoint()) {
|
|
530
|
+
return;
|
|
531
|
+
}
|
|
532
|
+
const navigationChildren = Array.from(this.closest("sbb-navigation").shadowRoot.children);
|
|
533
|
+
const navigationFocusableElements = getFocusableElements(navigationChildren, {
|
|
534
|
+
filter: (el) => el.nodeName !== "SBB-NAVIGATION-SECTION"
|
|
535
|
+
});
|
|
536
|
+
const sectionChildren = Array.from(this.shadowRoot.children);
|
|
537
|
+
const sectionFocusableElements = getFocusableElements(sectionChildren);
|
|
538
|
+
const firstFocusable = sectionFocusableElements[0];
|
|
539
|
+
const lastFocusable = sectionFocusableElements[sectionFocusableElements.length - 1];
|
|
540
|
+
const elementToFocus = event.shiftKey ? this._triggerElement : navigationFocusableElements[navigationFocusableElements.indexOf(this._triggerElement) + 1];
|
|
541
|
+
const pivot = event.shiftKey ? firstFocusable : lastFocusable;
|
|
542
|
+
if (!!elementToFocus && (firstFocusable.getRootNode().activeElement === pivot || lastFocusable.getRootNode().activeElement === pivot)) {
|
|
543
|
+
elementToFocus.focus();
|
|
544
|
+
event.preventDefault();
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
connectedCallback() {
|
|
548
|
+
var _a2, _b;
|
|
549
|
+
super.connectedCallback();
|
|
550
|
+
this.id || (this.id = `sbb-navigation-section-${nextId++}`);
|
|
551
|
+
this._state || (this._state = "closed");
|
|
552
|
+
this._configure(this.trigger);
|
|
553
|
+
this._firstLevelNavigation = (_b = (_a2 = this._triggerElement) == null ? void 0 : _a2.closest) == null ? void 0 : _b.call(_a2, "sbb-navigation");
|
|
554
|
+
}
|
|
555
|
+
disconnectedCallback() {
|
|
556
|
+
var _a2, _b;
|
|
557
|
+
super.disconnectedCallback();
|
|
558
|
+
(_a2 = this._navigationSectionController) == null ? void 0 : _a2.abort();
|
|
559
|
+
(_b = this._windowEventsController) == null ? void 0 : _b.abort();
|
|
560
|
+
}
|
|
561
|
+
render() {
|
|
562
|
+
return html`
|
|
518
563
|
<div
|
|
519
564
|
class="sbb-navigation-section__container"
|
|
520
565
|
${ref((el) => this._navigationSectionContainerElement = el)}
|
|
@@ -524,9 +569,7 @@ let SbbNavigationSectionElement = class extends SbbUpdateSchedulerMixin(LitEleme
|
|
|
524
569
|
class="sbb-navigation-section"
|
|
525
570
|
aria-labelledby=${!this.accessibilityLabel ? "title" : nothing}
|
|
526
571
|
aria-label=${this.accessibilityLabel ? this.accessibilityLabel : nothing}
|
|
527
|
-
${ref(
|
|
528
|
-
(navigationSectionRef) => this._navigationSection = navigationSectionRef
|
|
529
|
-
)}
|
|
572
|
+
${ref((navigationSectionRef) => this._navigationSection = navigationSectionRef)}
|
|
530
573
|
>
|
|
531
574
|
<div class="sbb-navigation-section__wrapper">
|
|
532
575
|
<div class="sbb-navigation-section__content">
|
|
@@ -553,29 +596,32 @@ let SbbNavigationSectionElement = class extends SbbUpdateSchedulerMixin(LitEleme
|
|
|
553
596
|
</nav>
|
|
554
597
|
</div>
|
|
555
598
|
`;
|
|
556
|
-
|
|
557
|
-
}
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
599
|
+
}
|
|
600
|
+
}, _titleContent_accessor_storage = new WeakMap(), _accessibilityLabel_accessor_storage = new WeakMap(), _accessibilityBackLabel_accessor_storage = new WeakMap(), _classThis = _a, (() => {
|
|
601
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
602
|
+
_titleContent_decorators = [forceType(), property({ attribute: "title-content", reflect: true, converter: omitEmptyConverter })];
|
|
603
|
+
_set_trigger_decorators = [property()];
|
|
604
|
+
_accessibilityLabel_decorators = [forceType(), property({ attribute: "accessibility-label" })];
|
|
605
|
+
_accessibilityBackLabel_decorators = [forceType(), property({ attribute: "accessibility-back-label" })];
|
|
606
|
+
__esDecorate(_a, null, _titleContent_decorators, { kind: "accessor", name: "titleContent", static: false, private: false, access: { has: (obj) => "titleContent" in obj, get: (obj) => obj.titleContent, set: (obj, value) => {
|
|
607
|
+
obj.titleContent = value;
|
|
608
|
+
} }, metadata: _metadata }, _titleContent_initializers, _titleContent_extraInitializers);
|
|
609
|
+
__esDecorate(_a, null, _set_trigger_decorators, { kind: "setter", name: "trigger", static: false, private: false, access: { has: (obj) => "trigger" in obj, set: (obj, value) => {
|
|
610
|
+
obj.trigger = value;
|
|
611
|
+
} }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
612
|
+
__esDecorate(_a, null, _accessibilityLabel_decorators, { kind: "accessor", name: "accessibilityLabel", static: false, private: false, access: { has: (obj) => "accessibilityLabel" in obj, get: (obj) => obj.accessibilityLabel, set: (obj, value) => {
|
|
613
|
+
obj.accessibilityLabel = value;
|
|
614
|
+
} }, metadata: _metadata }, _accessibilityLabel_initializers, _accessibilityLabel_extraInitializers);
|
|
615
|
+
__esDecorate(_a, null, _accessibilityBackLabel_decorators, { kind: "accessor", name: "accessibilityBackLabel", static: false, private: false, access: { has: (obj) => "accessibilityBackLabel" in obj, get: (obj) => obj.accessibilityBackLabel, set: (obj, value) => {
|
|
616
|
+
obj.accessibilityBackLabel = value;
|
|
617
|
+
} }, metadata: _metadata }, _accessibilityBackLabel_initializers, _accessibilityBackLabel_extraInitializers);
|
|
618
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
619
|
+
_classThis = _classDescriptor.value;
|
|
620
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
621
|
+
})(), _a.styles = style, __runInitializers(_classThis, _classExtraInitializers), _a;
|
|
622
|
+
return _classThis;
|
|
623
|
+
})();
|
|
578
624
|
export {
|
|
579
625
|
SbbNavigationSectionElement
|
|
580
626
|
};
|
|
581
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1zZWN0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLXNlY3Rpb24vbmF2aWdhdGlvbi1zZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIExpdEVsZW1lbnQsIG5vdGhpbmcsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQge1xuICBnZXRGaXJzdEZvY3VzYWJsZUVsZW1lbnQsXG4gIGdldEZvY3VzYWJsZUVsZW1lbnRzLFxuICBzZXRNb2RhbGl0eU9uTmV4dEZvY3VzLFxufSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcywgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGZpbmRSZWZlcmVuY2VkRWxlbWVudCwgaXNCcmVha3BvaW50LCBzZXRPclJlbW92ZUF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IGkxOG5Hb0JhY2sgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5pbXBvcnQgeyBTYmJVcGRhdGVTY2hlZHVsZXJNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7XG4gIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG4gIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG59IGZyb20gJy4uLy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1idXR0b24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWxpbmsuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9uYXZpZ2F0aW9uLXNlY3Rpb24uc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9idXR0b24vdHJhbnNwYXJlbnQtYnV0dG9uLmpzJztcbmltcG9ydCAnLi4vLi4vZGl2aWRlci5qcyc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBgc2JiLW5hdmlnYXRpb24tbGlzdGAgd2l0aGluIGEgYHNiYi1uYXZpZ2F0aW9uYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IGludG8gdGhlIGBzYmItbmF2aWdhdGlvbi1zZWN0aW9uYC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb24nKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgc2xvdDogJ25hdmlnYXRpb24tc2VjdGlvbicsXG59KVxuQHNsb3RTdGF0ZSgpXG5leHBvcnQgY2xhc3MgU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50IGV4dGVuZHMgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogVGhlIGxhYmVsIHRvIGJlIHNob3duIGJlZm9yZSB0aGUgYWN0aW9uIGxpc3QuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0aXRsZS1jb250ZW50JywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgdGl0bGVDb250ZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgbmF2aWdhdGlvbiBzZWN0aW9uLlxuICAgKiBBY2NlcHRzIGJvdGggYSBzdHJpbmcgKGlkIG9mIGFuIGVsZW1lbnQpIG9yIGFuIEhUTUwgZWxlbWVudC5cbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgdHJpZ2dlcih2YWx1ZTogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsKSB7XG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLl90cmlnZ2VyO1xuICAgIHRoaXMuX3RyaWdnZXIgPSB2YWx1ZTtcbiAgICB0aGlzLl9yZW1vdmVUcmlnZ2VyQ2xpY2tMaXN0ZW5lcih0aGlzLl90cmlnZ2VyLCBvbGRWYWx1ZSk7XG4gIH1cbiAgcHVibGljIGdldCB0cmlnZ2VyKCk6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXI7XG4gIH1cbiAgcHJpdmF0ZSBfdHJpZ2dlcjogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBuYXYgZWxlbWVudCBhbmQgaXMgcmVhZCBhcyBhIHRpdGxlIG9mIHRoZSBuYXZpZ2F0aW9uLXNlY3Rpb24uXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWxhYmVsJyB9KSBwdWJsaWMgYWNjZXNzaWJpbGl0eUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgYmFjayBidXR0b24gZWxlbWVudC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktYmFjay1sYWJlbCcgfSkgcHVibGljIGFjY2Vzc2liaWxpdHlCYWNrTGFiZWw6XG4gICAgfCBzdHJpbmdcbiAgICB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHN0YXRlIG9mIHRoZSBuYXZpZ2F0aW9uIHNlY3Rpb24uXG4gICAqL1xuICBwcml2YXRlIHNldCBfc3RhdGUoc3RhdGU6IFNiYk9wZW5lZENsb3NlZFN0YXRlKSB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnLCBzdGF0ZSk7XG4gICAgc2V0T3JSZW1vdmVBdHRyaWJ1dGUodGhpcywgJ2FyaWEtaGlkZGVuJywgdGhpcy5fc3RhdGUgIT09ICdvcGVuZWQnID8gJ3RydWUnIDogbnVsbCk7XG4gIH1cbiAgcHJpdmF0ZSBnZXQgX3N0YXRlKCk6IFNiYk9wZW5lZENsb3NlZFN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnKSBhcyBTYmJPcGVuZWRDbG9zZWRTdGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpcnN0TGV2ZWxOYXZpZ2F0aW9uPzogU2JiTmF2aWdhdGlvbkVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbmF2aWdhdGlvblNlY3Rpb24hOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfbmF2aWdhdGlvblNlY3Rpb25Db250YWluZXJFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50OiBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9uYXZpZ2F0aW9uU2VjdGlvbkNvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICAvKipcbiAgICogT3BlbnMgdGhlIG5hdmlnYXRpb24gc2VjdGlvbiBvbiB0cmlnZ2VyIGNsaWNrLlxuICAgKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnY2xvc2VkJyB8fCAhdGhpcy5fbmF2aWdhdGlvblNlY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9zZXRBY3RpdmVOYXZpZ2F0aW9uQWN0aW9uKCk7XG4gICAgdGhpcy5fY2xvc2VQcmV2aW91c05hdmlnYXRpb25TZWN0aW9uKCk7XG4gICAgdGhpcy5fc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5zdGFydFVwZGF0ZSgpO1xuICAgIHRoaXMuaW5lcnQgPSB0cnVlO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0QWN0aXZlTmF2aWdhdGlvbkFjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8ubWFya2VyPy5zZWxlY3QodGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2xvc2VQcmV2aW91c05hdmlnYXRpb25TZWN0aW9uKCk6IHZvaWQge1xuICAgICh0aGlzLl9maXJzdExldmVsTmF2aWdhdGlvbj8uYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24gYXMgU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50KT8uY2xvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG5hdmlnYXRpb24gc2VjdGlvbi5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgdGhpcy5zdGFydFVwZGF0ZSgpO1xuICAgIHRoaXMuaW5lcnQgPSB0cnVlO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcbiAgfVxuXG4gIC8vIFJlbW92ZXMgdHJpZ2dlciBjbGljayBsaXN0ZW5lciBvbiB0cmlnZ2VyIGNoYW5nZS5cbiAgcHJpdmF0ZSBfcmVtb3ZlVHJpZ2dlckNsaWNrTGlzdGVuZXIoXG4gICAgbmV3VmFsdWU6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgICBvbGRWYWx1ZTogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsLFxuICApOiB2b2lkIHtcbiAgICBpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7XG4gICAgICB0aGlzLl9uYXZpZ2F0aW9uU2VjdGlvbkNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5fY29uZmlndXJlKHRoaXMudHJpZ2dlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHRyaWdnZXIgaXMgdmFsaWQgYW5kIGF0dGFjaCBjbGljayBldmVudCBsaXN0ZW5lcnMuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZSh0cmlnZ2VyOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcblxuICAgIGlmICghdHJpZ2dlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gZmluZFJlZmVyZW5jZWRFbGVtZW50KHRyaWdnZXIpO1xuXG4gICAgaWYgKCF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXModGhpcy5fdHJpZ2dlckVsZW1lbnQsICdtZW51JywgdGhpcy5pZCwgdGhpcy5fc3RhdGUpO1xuICAgIHRoaXMuX25hdmlnYXRpb25TZWN0aW9uQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9uYXZpZ2F0aW9uU2VjdGlvbkNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuY29ubmVjdGVkU2VjdGlvbiA9IHRoaXM7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW4oKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9uYXZpZ2F0aW9uU2VjdGlvbkNvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudCkgPT4gdGhpcy5faGFuZGxlTmF2aWdhdGlvblNlY3Rpb25Gb2N1cyhldmVudCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fbmF2aWdhdGlvblNlY3Rpb25Db250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldE5hdmlnYXRpb25JbmVydCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2ZpcnN0TGV2ZWxOYXZpZ2F0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIChcbiAgICAgIHRoaXMuX2ZpcnN0TGV2ZWxOYXZpZ2F0aW9uIS5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnLnNiYi1uYXZpZ2F0aW9uX19jb250ZW50JyxcbiAgICAgICkgYXMgSFRNTEVsZW1lbnRcbiAgICApLmluZXJ0ID0gdGhpcy5faXNaZXJvVG9MYXJnZUJyZWFrcG9pbnQoKSAmJiB0aGlzLl9zdGF0ZSAhPT0gJ2Nsb3NlZCc7XG4gIH1cblxuICAvLyBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByaXZhdGUgX29uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5fc3RhdGUgPSAnb3BlbmVkJztcbiAgICAgIHRoaXMuaW5lcnQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX2F0dGFjaFdpbmRvd0V2ZW50cygpO1xuICAgICAgdGhpcy5fc2V0TmF2aWdhdGlvbkluZXJ0KCk7XG4gICAgICB0aGlzLl9zZXROYXZpZ2F0aW9uU2VjdGlvbkZvY3VzKCk7XG4gICAgICB0aGlzLl9jaGVja0FjdGl2ZUFjdGlvbigpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9ICdjbG9zZWQnO1xuICAgICAgdGhpcy5fbmF2aWdhdGlvblNlY3Rpb25Db250YWluZXJFbGVtZW50LnNjcm9sbFRvKDAsIDApO1xuICAgICAgdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICAgIHRoaXMuX3Jlc2V0TGlzdHMoKTtcbiAgICAgIHRoaXMuX3NldE5hdmlnYXRpb25JbmVydCgpO1xuICAgICAgaWYgKHRoaXMuX2lzWmVyb1RvTGFyZ2VCcmVha3BvaW50KCkgJiYgdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgICAgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyh0aGlzLl90cmlnZ2VyRWxlbWVudCk7XG4gICAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2V0TGlzdHMoKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlQWN0aW9ucyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXNlY3Rpb24tYWN0aW9uXVtkYXRhLWFjdGlvbi1hY3RpdmVdJyksXG4gICAgKSBhcyAoU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQpW107XG4gICAgYWN0aXZlQWN0aW9ucz8uZm9yRWFjaCgoYWN0aW9uKSA9PiBhY3Rpb24ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWFjdGlvbi1hY3RpdmUnKSk7XG4gIH1cblxuICBwcml2YXRlIF9hdHRhY2hXaW5kb3dFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5fb25LZXlkb3duRXZlbnQoZXZlbnQpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgLy8gQ2xvc2UgbmF2aWdhdGlvbiBzZWN0aW9uIG9uIGFjdGlvbiBjbGljayBvciBzYmItbmF2aWdhdGlvbi1zZWN0aW9uLWNsb3NlIGNsaWNrXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5faGFuZGxlTmF2aWdhdGlvblNlY3Rpb25DbG9zZSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBjbGljayB3YXMgdHJpZ2dlcmVkIG9uIGFuIGVsZW1lbnQgdGhhdCBzaG91bGQgY2xvc2UgdGhlIHNlY3Rpb24uXG4gIHByaXZhdGUgX2hhbmRsZU5hdmlnYXRpb25TZWN0aW9uQ2xvc2UgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB7XG4gICAgY29uc3QgY29tcG9zZWRQYXRoRWxlbWVudHMgPSBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpO1xuICAgIGlmIChjb21wb3NlZFBhdGhFbGVtZW50cy5zb21lKChlbCkgPT4gdGhpcy5faXNDbG9zZUVsZW1lbnQoZWwgYXMgSFRNTEVsZW1lbnQpKSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9pc0Nsb3NlRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBlbGVtZW50Lm5vZGVOYW1lID09PSAnQScgfHxcbiAgICAgICghZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgJiZcbiAgICAgICAgKGVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItbmF2aWdhdGlvbi1jbG9zZScpIHx8XG4gICAgICAgICAgZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY2xvc2UnKSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb1RvTGFyZ2VCcmVha3BvaW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0JyZWFrcG9pbnQoJ3plcm8nLCAnbGFyZ2UnKTtcbiAgfVxuXG4gIC8vIENsb3NlcyB0aGUgbmF2aWdhdGlvbiBvbiBcIkVzY1wiIGtleSBwcmVzc2VkLlxuICBwcml2YXRlIF9vbktleWRvd25FdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5lZCcgJiYgZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldCBmb2N1cyBvbiB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQuXG4gIHByaXZhdGUgX3NldE5hdmlnYXRpb25TZWN0aW9uRm9jdXMoKTogdm9pZCB7XG4gICAgY29uc3QgZmlyc3RGb2N1c2FibGVFbGVtZW50ID0gZ2V0Rmlyc3RGb2N1c2FibGVFbGVtZW50KFxuICAgICAgW3RoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignI3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYmFjay1idXR0b24nKV1cbiAgICAgICAgLmNvbmNhdChBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4pKVxuICAgICAgICAuZmlsdGVyKChlKTogZSBpcyBIVE1MRWxlbWVudCA9PiBlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50KSxcbiAgICApO1xuICAgIGlmIChmaXJzdEZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgIHNldE1vZGFsaXR5T25OZXh0Rm9jdXMoZmlyc3RGb2N1c2FibGVFbGVtZW50KTtcbiAgICAgIGZpcnN0Rm9jdXNhYmxlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlQWN0aW9uKCk6IHZvaWQge1xuICAgIChcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspLnNiYi1hY3RpdmUnLFxuICAgICAgKSBhcyBIVE1MRWxlbWVudFxuICAgICk/LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1hY3Rpb24tYWN0aXZlJywgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVOYXZpZ2F0aW9uU2VjdGlvbkZvY3VzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSAhPT0gJ1RhYicgfHwgdGhpcy5faXNaZXJvVG9MYXJnZUJyZWFrcG9pbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIER5bmFtaWNhbGx5IGdldCBmaXJzdCBhbmQgbGFzdCBmb2N1c2FibGUgZWxlbWVudCwgYXMgdGhpcyBtaWdodCBoYXZlIGNoYW5nZWQgc2luY2Ugb3BlbmluZyBvdmVybGF5XG4gICAgY29uc3QgbmF2aWdhdGlvbkNoaWxkcmVuOiBIVE1MRWxlbWVudFtdID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMuY2xvc2VzdCgnc2JiLW5hdmlnYXRpb24nKSEuc2hhZG93Um9vdCEuY2hpbGRyZW4sXG4gICAgKSBhcyBIVE1MRWxlbWVudFtdO1xuICAgIGNvbnN0IG5hdmlnYXRpb25Gb2N1c2FibGVFbGVtZW50cyA9IGdldEZvY3VzYWJsZUVsZW1lbnRzKG5hdmlnYXRpb25DaGlsZHJlbiwge1xuICAgICAgZmlsdGVyOiAoZWwpID0+IGVsLm5vZGVOYW1lICE9PSAnU0JCLU5BVklHQVRJT04tU0VDVElPTicsXG4gICAgfSk7XG5cbiAgICBjb25zdCBzZWN0aW9uQ2hpbGRyZW46IEhUTUxFbGVtZW50W10gPSBBcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdCEuY2hpbGRyZW4pIGFzIEhUTUxFbGVtZW50W107XG4gICAgY29uc3Qgc2VjdGlvbkZvY3VzYWJsZUVsZW1lbnRzID0gZ2V0Rm9jdXNhYmxlRWxlbWVudHMoc2VjdGlvbkNoaWxkcmVuKTtcblxuICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlID0gc2VjdGlvbkZvY3VzYWJsZUVsZW1lbnRzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGxhc3RGb2N1c2FibGUgPSBzZWN0aW9uRm9jdXNhYmxlRWxlbWVudHNbXG4gICAgICBzZWN0aW9uRm9jdXNhYmxlRWxlbWVudHMubGVuZ3RoIC0gMVxuICAgIF0gYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBjb25zdCBlbGVtZW50VG9Gb2N1cyA9IGV2ZW50LnNoaWZ0S2V5XG4gICAgICA/IHRoaXMuX3RyaWdnZXJFbGVtZW50XG4gICAgICA6IG5hdmlnYXRpb25Gb2N1c2FibGVFbGVtZW50c1tuYXZpZ2F0aW9uRm9jdXNhYmxlRWxlbWVudHMuaW5kZXhPZih0aGlzLl90cmlnZ2VyRWxlbWVudCEpICsgMV07XG4gICAgY29uc3QgcGl2b3QgPSBldmVudC5zaGlmdEtleSA/IGZpcnN0Rm9jdXNhYmxlIDogbGFzdEZvY3VzYWJsZTtcblxuICAgIGlmIChcbiAgICAgICEhZWxlbWVudFRvRm9jdXMgJiZcbiAgICAgICgoZmlyc3RGb2N1c2FibGUuZ2V0Um9vdE5vZGUoKSBhcyBEb2N1bWVudCB8IFNoYWRvd1Jvb3QpLmFjdGl2ZUVsZW1lbnQgPT09IHBpdm90IHx8XG4gICAgICAgIChsYXN0Rm9jdXNhYmxlLmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290KS5hY3RpdmVFbGVtZW50ID09PSBwaXZvdClcbiAgICApIHtcbiAgICAgIGVsZW1lbnRUb0ZvY3VzLmZvY3VzKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaWQgfHw9IGBzYmItbmF2aWdhdGlvbi1zZWN0aW9uLSR7bmV4dElkKyt9YDtcbiAgICB0aGlzLl9zdGF0ZSB8fD0gJ2Nsb3NlZCc7XG4gICAgLy8gVmFsaWRhdGUgdHJpZ2dlciBlbGVtZW50IGFuZCBhdHRhY2ggZXZlbnQgbGlzdGVuZXJzXG4gICAgdGhpcy5fY29uZmlndXJlKHRoaXMudHJpZ2dlcik7XG4gICAgdGhpcy5fZmlyc3RMZXZlbE5hdmlnYXRpb24gPSB0aGlzLl90cmlnZ2VyRWxlbWVudD8uY2xvc2VzdD8uKCdzYmItbmF2aWdhdGlvbicpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fbmF2aWdhdGlvblNlY3Rpb25Db250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19jb250YWluZXJcIlxuICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fbmF2aWdhdGlvblNlY3Rpb25Db250YWluZXJFbGVtZW50ID0gZWwgYXMgSFRNTEVsZW1lbnQpKX1cbiAgICAgID5cbiAgICAgICAgPG5hdlxuICAgICAgICAgIEBhbmltYXRpb25lbmQ9JHsoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSA9PiB0aGlzLl9vbkFuaW1hdGlvbkVuZChldmVudCl9XG4gICAgICAgICAgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uXCJcbiAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9JHshdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwgPyAndGl0bGUnIDogbm90aGluZ31cbiAgICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwgPyB0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCA6IG5vdGhpbmd9XG4gICAgICAgICAgJHtyZWYoXG4gICAgICAgICAgICAobmF2aWdhdGlvblNlY3Rpb25SZWY/OiBFbGVtZW50KSA9PlxuICAgICAgICAgICAgICAodGhpcy5fbmF2aWdhdGlvblNlY3Rpb24gPSBuYXZpZ2F0aW9uU2VjdGlvblJlZiBhcyBIVE1MRWxlbWVudCksXG4gICAgICAgICAgKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX193cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5hdmlnYXRpb24tc2VjdGlvbl9fY29udGVudFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5hdmlnYXRpb24tc2VjdGlvbl9faGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgPCEtLSBCYWNrIGJ1dHRvbiAtLT5cbiAgICAgICAgICAgICAgICA8c2JiLXRyYW5zcGFyZW50LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgaWQ9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uLWJhY2stYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLW5hdmlnYXRpb24tc2VjdGlvbl9fYmFja1wiXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5QmFja0xhYmVsIHx8IGkxOG5Hb0JhY2tbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgICAgICAgICAgICBuZWdhdGl2ZVxuICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBpY29uLW5hbWU9XCJjaGV2cm9uLXNtYWxsLWxlZnQtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1jbG9zZVxuICAgICAgICAgICAgICAgID48L3NiYi10cmFuc3BhcmVudC1idXR0b24+XG5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX3RpdGxlXCIgaWQ9XCJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgPHNsb3QgbmFtZT1cInRpdGxlXCI+JHt0aGlzLnRpdGxlQ29udGVudH08L3Nsb3Q+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmF2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW5hdmlnYXRpb24tc2VjdGlvbic6IFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNEJBLElBQUksU0FBUztBQVlOLElBQU0sOEJBQU4sY0FBMEMsd0JBQXdCLFVBQVUsRUFBRTtBQUFBLEVBQTlFLGNBQUE7QUFBQSxVQUFBLEdBQUEsU0FBQTtBQXFCTCxTQUFRLFdBQXdDO0FBeUJoRCxTQUFRLHdCQUFzRDtBQUc5RCxTQUFRLGtCQUFxRDtBQUdyRCxTQUFBLFlBQVksSUFBSSxzQkFBc0IsSUFBSTtBQXFJMUMsU0FBQSxnQ0FBZ0MsQ0FBQyxVQUF1QjtBQUN4RCxZQUFBLHVCQUF1QixNQUMxQixlQUNBLE9BQU8sQ0FBQyxPQUFPLGNBQWMsT0FBTyxXQUFXO0FBQzlD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
|
|
627
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1zZWN0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLXNlY3Rpb24vbmF2aWdhdGlvbi1zZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIExpdEVsZW1lbnQsIG5vdGhpbmcsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQge1xuICBnZXRGaXJzdEZvY3VzYWJsZUVsZW1lbnQsXG4gIGdldEZvY3VzYWJsZUVsZW1lbnRzLFxuICBzZXRNb2RhbGl0eU9uTmV4dEZvY3VzLFxufSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIGhvc3RBdHRyaWJ1dGVzLCBvbWl0RW1wdHlDb252ZXJ0ZXIsIHNsb3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBmaW5kUmVmZXJlbmNlZEVsZW1lbnQsIGlzQnJlYWtwb2ludCwgc2V0T3JSZW1vdmVBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuR29CYWNrIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3BlbmVkQ2xvc2VkU3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHsgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQge1xuICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxuICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxufSBmcm9tICcuLi8uLi9jb3JlL292ZXJsYXkuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tYnV0dG9uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1saW5rLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkVsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbmF2aWdhdGlvbi1zZWN0aW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vYnV0dG9uL3RyYW5zcGFyZW50LWJ1dHRvbi5qcyc7XG5pbXBvcnQgJy4uLy4uL2RpdmlkZXIuanMnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3IgYHNiYi1uYXZpZ2F0aW9uLWxpc3RgIHdpdGhpbiBhIGBzYmItbmF2aWdhdGlvbmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCBpbnRvIHRoZSBgc2JiLW5hdmlnYXRpb24tc2VjdGlvbmAuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb24nKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgc2xvdDogJ25hdmlnYXRpb24tc2VjdGlvbicsXG59KVxuQHNsb3RTdGF0ZSgpXG5jbGFzcyBTYmJOYXZpZ2F0aW9uU2VjdGlvbkVsZW1lbnQgZXh0ZW5kcyBTYmJVcGRhdGVTY2hlZHVsZXJNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgdG8gYmUgc2hvd24gYmVmb3JlIHRoZSBhY3Rpb24gbGlzdC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0aXRsZS1jb250ZW50JywgcmVmbGVjdDogdHJ1ZSwgY29udmVydGVyOiBvbWl0RW1wdHlDb252ZXJ0ZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIHRpdGxlQ29udGVudDogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBuYXZpZ2F0aW9uIHNlY3Rpb24uXG4gICAqIEFjY2VwdHMgYm90aCBhIHN0cmluZyAoaWQgb2YgYW4gZWxlbWVudCkgb3IgYW4gSFRNTCBlbGVtZW50LlxuICAgKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCB0cmlnZ2VyKHZhbHVlOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwpIHtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuX3RyaWdnZXI7XG4gICAgdGhpcy5fdHJpZ2dlciA9IHZhbHVlO1xuICAgIHRoaXMuX3JlbW92ZVRyaWdnZXJDbGlja0xpc3RlbmVyKHRoaXMuX3RyaWdnZXIsIG9sZFZhbHVlKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHRyaWdnZXIoKTogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdHJpZ2dlcjtcbiAgfVxuICBwcml2YXRlIF90cmlnZ2VyOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIG5hdiBlbGVtZW50IGFuZCBpcyByZWFkIGFzIGEgdGl0bGUgb2YgdGhlIG5hdmlnYXRpb24tc2VjdGlvbi5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBiYWNrIGJ1dHRvbiBlbGVtZW50LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktYmFjay1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlCYWNrTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdGUgb2YgdGhlIG5hdmlnYXRpb24gc2VjdGlvbi5cbiAgICovXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUpIHtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScsIHN0YXRlKTtcbiAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZSh0aGlzLCAnYXJpYS1oaWRkZW4nLCB0aGlzLl9zdGF0ZSAhPT0gJ29wZW5lZCcgPyAndHJ1ZScgOiBudWxsKTtcbiAgfVxuICBwcml2YXRlIGdldCBfc3RhdGUoKTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUge1xuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScpIGFzIFNiYk9wZW5lZENsb3NlZFN0YXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlyc3RMZXZlbE5hdmlnYXRpb24/OiBTYmJOYXZpZ2F0aW9uRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9uYXZpZ2F0aW9uU2VjdGlvbiE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9uYXZpZ2F0aW9uU2VjdGlvbkNvbnRhaW5lckVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ6IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX25hdmlnYXRpb25TZWN0aW9uQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfd2luZG93RXZlbnRzQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgbmF2aWdhdGlvbiBzZWN0aW9uIG9uIHRyaWdnZXIgY2xpY2suXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgIT09ICdjbG9zZWQnIHx8ICF0aGlzLl9uYXZpZ2F0aW9uU2VjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3NldEFjdGl2ZU5hdmlnYXRpb25BY3Rpb24oKTtcbiAgICB0aGlzLl9jbG9zZVByZXZpb3VzTmF2aWdhdGlvblNlY3Rpb24oKTtcbiAgICB0aGlzLl9zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLnN0YXJ0VXBkYXRlKCk7XG4gICAgdGhpcy5pbmVydCA9IHRydWU7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICd0cnVlJyk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRBY3RpdmVOYXZpZ2F0aW9uQWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5tYXJrZXI/LnNlbGVjdCh0aGlzLl90cmlnZ2VyRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZVByZXZpb3VzTmF2aWdhdGlvblNlY3Rpb24oKTogdm9pZCB7XG4gICAgKHRoaXMuX2ZpcnN0TGV2ZWxOYXZpZ2F0aW9uPy5hY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbiBhcyBTYmJOYXZpZ2F0aW9uU2VjdGlvbkVsZW1lbnQpPy5jbG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgbmF2aWdhdGlvbiBzZWN0aW9uLlxuICAgKi9cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0ZSA9ICdjbG9zaW5nJztcbiAgICB0aGlzLnN0YXJ0VXBkYXRlKCk7XG4gICAgdGhpcy5pbmVydCA9IHRydWU7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpO1xuICB9XG5cbiAgLy8gUmVtb3ZlcyB0cmlnZ2VyIGNsaWNrIGxpc3RlbmVyIG9uIHRyaWdnZXIgY2hhbmdlLlxuICBwcml2YXRlIF9yZW1vdmVUcmlnZ2VyQ2xpY2tMaXN0ZW5lcihcbiAgICBuZXdWYWx1ZTogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsLFxuICAgIG9sZFZhbHVlOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwsXG4gICk6IHZvaWQge1xuICAgIGlmIChuZXdWYWx1ZSAhPT0gb2xkVmFsdWUpIHtcbiAgICAgIHRoaXMuX25hdmlnYXRpb25TZWN0aW9uQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgICB0aGlzLl9jb25maWd1cmUodGhpcy50cmlnZ2VyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgdHJpZ2dlciBpcyB2YWxpZCBhbmQgYXR0YWNoIGNsaWNrIGV2ZW50IGxpc3RlbmVycy5cbiAgcHJpdmF0ZSBfY29uZmlndXJlKHRyaWdnZXI6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbCk6IHZvaWQge1xuICAgIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXModGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuXG4gICAgaWYgKCF0cmlnZ2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBmaW5kUmVmZXJlbmNlZEVsZW1lbnQodHJpZ2dlcik7XG5cbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyh0aGlzLl90cmlnZ2VyRWxlbWVudCwgJ21lbnUnLCB0aGlzLmlkLCB0aGlzLl9zdGF0ZSk7XG4gICAgdGhpcy5fbmF2aWdhdGlvblNlY3Rpb25Db250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX25hdmlnYXRpb25TZWN0aW9uQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5jb25uZWN0ZWRTZWN0aW9uID0gdGhpcztcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX25hdmlnYXRpb25TZWN0aW9uQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50KSA9PiB0aGlzLl9oYW5kbGVOYXZpZ2F0aW9uU2VjdGlvbkZvY3VzKGV2ZW50KSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9uYXZpZ2F0aW9uU2VjdGlvbkNvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TmF2aWdhdGlvbkluZXJ0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fZmlyc3RMZXZlbE5hdmlnYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgKFxuICAgICAgdGhpcy5fZmlyc3RMZXZlbE5hdmlnYXRpb24hLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICcuc2JiLW5hdmlnYXRpb25fX2NvbnRlbnQnLFxuICAgICAgKSBhcyBIVE1MRWxlbWVudFxuICAgICkuaW5lcnQgPSB0aGlzLl9pc1plcm9Ub0xhcmdlQnJlYWtwb2ludCgpICYmIHRoaXMuX3N0YXRlICE9PSAnY2xvc2VkJztcbiAgfVxuXG4gIC8vIEluIHJhcmUgY2FzZXMgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJpdmF0ZSBfb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLl9zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9ICdvcGVuZWQnO1xuICAgICAgdGhpcy5pbmVydCA9IGZhbHNlO1xuICAgICAgdGhpcy5fYXR0YWNoV2luZG93RXZlbnRzKCk7XG4gICAgICB0aGlzLl9zZXROYXZpZ2F0aW9uSW5lcnQoKTtcbiAgICAgIHRoaXMuX3NldE5hdmlnYXRpb25TZWN0aW9uRm9jdXMoKTtcbiAgICAgIHRoaXMuX2NoZWNrQWN0aXZlQWN0aW9uKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UnICYmIHRoaXMuX3N0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NlZCc7XG4gICAgICB0aGlzLl9uYXZpZ2F0aW9uU2VjdGlvbkNvbnRhaW5lckVsZW1lbnQuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5fcmVzZXRMaXN0cygpO1xuICAgICAgdGhpcy5fc2V0TmF2aWdhdGlvbkluZXJ0KCk7XG4gICAgICBpZiAodGhpcy5faXNaZXJvVG9MYXJnZUJyZWFrcG9pbnQoKSAmJiB0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgICBzZXRNb2RhbGl0eU9uTmV4dEZvY3VzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jb21wbGV0ZVVwZGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXRMaXN0cygpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb25zID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtc2VjdGlvbi1hY3Rpb25dW2RhdGEtYWN0aW9uLWFjdGl2ZV0nKSxcbiAgICApIGFzIChTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudClbXTtcbiAgICBhY3RpdmVBY3Rpb25zPy5mb3JFYWNoKChhY3Rpb24pID0+IGFjdGlvbi5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtYWN0aW9uLWFjdGl2ZScpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLl9vbktleWRvd25FdmVudChldmVudCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBDbG9zZSBuYXZpZ2F0aW9uIHNlY3Rpb24gb24gYWN0aW9uIGNsaWNrIG9yIHNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY2xvc2UgY2xpY2tcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9oYW5kbGVOYXZpZ2F0aW9uU2VjdGlvbkNsb3NlLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrIHdhcyB0cmlnZ2VyZWQgb24gYW4gZWxlbWVudCB0aGF0IHNob3VsZCBjbG9zZSB0aGUgc2VjdGlvbi5cbiAgcHJpdmF0ZSBfaGFuZGxlTmF2aWdhdGlvblNlY3Rpb25DbG9zZSA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICBjb25zdCBjb21wb3NlZFBhdGhFbGVtZW50cyA9IGV2ZW50XG4gICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgIC5maWx0ZXIoKGVsKSA9PiBlbCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudCk7XG4gICAgaWYgKGNvbXBvc2VkUGF0aEVsZW1lbnRzLnNvbWUoKGVsKSA9PiB0aGlzLl9pc0Nsb3NlRWxlbWVudChlbCBhcyBIVE1MRWxlbWVudCkpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX2lzQ2xvc2VFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGVsZW1lbnQubm9kZU5hbWUgPT09ICdBJyB8fFxuICAgICAgKCFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSAmJlxuICAgICAgICAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1uYXZpZ2F0aW9uLWNsb3NlJykgfHxcbiAgICAgICAgICBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1jbG9zZScpKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvVG9MYXJnZUJyZWFrcG9pbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzQnJlYWtwb2ludCgnemVybycsICdsYXJnZScpO1xuICB9XG5cbiAgLy8gQ2xvc2VzIHRoZSBuYXZpZ2F0aW9uIG9uIFwiRXNjXCIga2V5IHByZXNzZWQuXG4gIHByaXZhdGUgX29uS2V5ZG93bkV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnb3BlbmVkJyAmJiBldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IGZvY3VzIG9uIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudC5cbiAgcHJpdmF0ZSBfc2V0TmF2aWdhdGlvblNlY3Rpb25Gb2N1cygpOiB2b2lkIHtcbiAgICBjb25zdCBmaXJzdEZvY3VzYWJsZUVsZW1lbnQgPSBnZXRGaXJzdEZvY3VzYWJsZUVsZW1lbnQoXG4gICAgICBbdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcjc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1iYWNrLWJ1dHRvbicpXVxuICAgICAgICAuY29uY2F0KEFycmF5LmZyb20odGhpcy5jaGlsZHJlbikpXG4gICAgICAgIC5maWx0ZXIoKGUpOiBlIGlzIEhUTUxFbGVtZW50ID0+IGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpLFxuICAgICk7XG4gICAgaWYgKGZpcnN0Rm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyhmaXJzdEZvY3VzYWJsZUVsZW1lbnQpO1xuICAgICAgZmlyc3RGb2N1c2FibGVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tBY3RpdmVBY3Rpb24oKTogdm9pZCB7XG4gICAgKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnOmlzKHNiYi1uYXZpZ2F0aW9uLWJ1dHRvbiwgc2JiLW5hdmlnYXRpb24tbGluaykuc2JiLWFjdGl2ZScsXG4gICAgICApIGFzIEhUTUxFbGVtZW50XG4gICAgKT8udG9nZ2xlQXR0cmlidXRlKCdkYXRhLWFjdGlvbi1hY3RpdmUnLCB0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU5hdmlnYXRpb25TZWN0aW9uRm9jdXMoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnVGFiJyB8fCB0aGlzLl9pc1plcm9Ub0xhcmdlQnJlYWtwb2ludCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRHluYW1pY2FsbHkgZ2V0IGZpcnN0IGFuZCBsYXN0IGZvY3VzYWJsZSBlbGVtZW50LCBhcyB0aGlzIG1pZ2h0IGhhdmUgY2hhbmdlZCBzaW5jZSBvcGVuaW5nIG92ZXJsYXlcbiAgICBjb25zdCBuYXZpZ2F0aW9uQ2hpbGRyZW46IEhUTUxFbGVtZW50W10gPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5jbG9zZXN0KCdzYmItbmF2aWdhdGlvbicpIS5zaGFkb3dSb290IS5jaGlsZHJlbixcbiAgICApIGFzIEhUTUxFbGVtZW50W107XG4gICAgY29uc3QgbmF2aWdhdGlvbkZvY3VzYWJsZUVsZW1lbnRzID0gZ2V0Rm9jdXNhYmxlRWxlbWVudHMobmF2aWdhdGlvbkNoaWxkcmVuLCB7XG4gICAgICBmaWx0ZXI6IChlbCkgPT4gZWwubm9kZU5hbWUgIT09ICdTQkItTkFWSUdBVElPTi1TRUNUSU9OJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNlY3Rpb25DaGlsZHJlbjogSFRNTEVsZW1lbnRbXSA9IEFycmF5LmZyb20odGhpcy5zaGFkb3dSb290IS5jaGlsZHJlbikgYXMgSFRNTEVsZW1lbnRbXTtcbiAgICBjb25zdCBzZWN0aW9uRm9jdXNhYmxlRWxlbWVudHMgPSBnZXRGb2N1c2FibGVFbGVtZW50cyhzZWN0aW9uQ2hpbGRyZW4pO1xuXG4gICAgY29uc3QgZmlyc3RGb2N1c2FibGUgPSBzZWN0aW9uRm9jdXNhYmxlRWxlbWVudHNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgbGFzdEZvY3VzYWJsZSA9IHNlY3Rpb25Gb2N1c2FibGVFbGVtZW50c1tcbiAgICAgIHNlY3Rpb25Gb2N1c2FibGVFbGVtZW50cy5sZW5ndGggLSAxXG4gICAgXSBhcyBIVE1MRWxlbWVudDtcblxuICAgIGNvbnN0IGVsZW1lbnRUb0ZvY3VzID0gZXZlbnQuc2hpZnRLZXlcbiAgICAgID8gdGhpcy5fdHJpZ2dlckVsZW1lbnRcbiAgICAgIDogbmF2aWdhdGlvbkZvY3VzYWJsZUVsZW1lbnRzW25hdmlnYXRpb25Gb2N1c2FibGVFbGVtZW50cy5pbmRleE9mKHRoaXMuX3RyaWdnZXJFbGVtZW50ISkgKyAxXTtcbiAgICBjb25zdCBwaXZvdCA9IGV2ZW50LnNoaWZ0S2V5ID8gZmlyc3RGb2N1c2FibGUgOiBsYXN0Rm9jdXNhYmxlO1xuXG4gICAgaWYgKFxuICAgICAgISFlbGVtZW50VG9Gb2N1cyAmJlxuICAgICAgKChmaXJzdEZvY3VzYWJsZS5nZXRSb290Tm9kZSgpIGFzIERvY3VtZW50IHwgU2hhZG93Um9vdCkuYWN0aXZlRWxlbWVudCA9PT0gcGl2b3QgfHxcbiAgICAgICAgKGxhc3RGb2N1c2FibGUuZ2V0Um9vdE5vZGUoKSBhcyBEb2N1bWVudCB8IFNoYWRvd1Jvb3QpLmFjdGl2ZUVsZW1lbnQgPT09IHBpdm90KVxuICAgICkge1xuICAgICAgZWxlbWVudFRvRm9jdXMuZm9jdXMoKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tJHtuZXh0SWQrK31gO1xuICAgIHRoaXMuX3N0YXRlIHx8PSAnY2xvc2VkJztcbiAgICAvLyBWYWxpZGF0ZSB0cmlnZ2VyIGVsZW1lbnQgYW5kIGF0dGFjaCBldmVudCBsaXN0ZW5lcnNcbiAgICB0aGlzLl9jb25maWd1cmUodGhpcy50cmlnZ2VyKTtcbiAgICB0aGlzLl9maXJzdExldmVsTmF2aWdhdGlvbiA9IHRoaXMuX3RyaWdnZXJFbGVtZW50Py5jbG9zZXN0Py4oJ3NiYi1uYXZpZ2F0aW9uJyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9uYXZpZ2F0aW9uU2VjdGlvbkNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX2NvbnRhaW5lclwiXG4gICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl9uYXZpZ2F0aW9uU2VjdGlvbkNvbnRhaW5lckVsZW1lbnQgPSBlbCBhcyBIVE1MRWxlbWVudCkpfVxuICAgICAgPlxuICAgICAgICA8bmF2XG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0keyhldmVudDogQW5pbWF0aW9uRXZlbnQpID0+IHRoaXMuX29uQW5pbWF0aW9uRW5kKGV2ZW50KX1cbiAgICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25cIlxuICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0keyF0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCA/ICd0aXRsZScgOiBub3RoaW5nfVxuICAgICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCA/IHRoaXMuYWNjZXNzaWJpbGl0eUxhYmVsIDogbm90aGluZ31cbiAgICAgICAgICAke3JlZihcbiAgICAgICAgICAgIChuYXZpZ2F0aW9uU2VjdGlvblJlZj86IEVsZW1lbnQpID0+XG4gICAgICAgICAgICAgICh0aGlzLl9uYXZpZ2F0aW9uU2VjdGlvbiA9IG5hdmlnYXRpb25TZWN0aW9uUmVmIGFzIEhUTUxFbGVtZW50KSxcbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19jb250ZW50XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8IS0tIEJhY2sgYnV0dG9uIC0tPlxuICAgICAgICAgICAgICAgIDxzYmItdHJhbnNwYXJlbnQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICBpZD1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYmFjay1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19iYWNrXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlCYWNrTGFiZWwgfHwgaTE4bkdvQmFja1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIG5lZ2F0aXZlXG4gICAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtbGVmdC1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICBzYmItbmF2aWdhdGlvbi1zZWN0aW9uLWNsb3NlXG4gICAgICAgICAgICAgICAgPjwvc2JiLXRyYW5zcGFyZW50LWJ1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW5hdmlnYXRpb24tc2VjdGlvbl9fdGl0bGVcIiBpZD1cInRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICA8c2xvdCBuYW1lPVwidGl0bGVcIj4ke3RoaXMudGl0bGVDb250ZW50fTwvc2xvdD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uYXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbi1zZWN0aW9uJzogU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTRCQSxJQUFJLFNBQVM7SUFhUCwrQkFBMkIsTUFBQTs7QUFMaEMsTUFBQSxtQkFBQSxDQUFBLGNBQWMsd0JBQXdCLEdBQ3RDLGVBQWU7QUFBQSxJQUNkLE1BQU07QUFBQSxFQUFBLENBQ1AsR0FDQSxVQUFBLENBQVc7Ozs7b0JBQzhCLHdCQUF3QixVQUFV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
|