@sbb-esta/lyne-elements 4.13.0 → 4.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion.component.js +1 -1
- package/accordion.js +1 -1
- package/accordion.pure.js +1 -1
- package/action-group/action-group.component.js +1 -1
- package/action-group.js +1 -1
- package/action-group.pure.js +1 -1
- package/alert/alert/alert.component.js +1 -1
- package/alert/alert-group/alert-group.component.js +1 -1
- package/alert/alert-group.js +1 -1
- package/alert/alert.js +1 -1
- package/alert.js +2 -2
- package/alert.pure.js +2 -2
- package/autocomplete/autocomplete-base-element.js +1 -1
- package/autocomplete/autocomplete.component.js +1 -1
- package/autocomplete.js +1 -1
- package/autocomplete.pure.js +1 -1
- package/{block-link-common-1kRa_czx.js → block-link-common-CKboIDLC.js} +1 -1
- package/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
- package/breadcrumb/breadcrumb-group.js +1 -1
- package/breadcrumb/breadcrumb.js +1 -1
- package/breadcrumb.js +2 -2
- package/breadcrumb.pure.js +2 -2
- package/button/common/button-common.js +1 -1
- package/button/common.js +1 -1
- package/button/mini-button-group/mini-button-group.component.js +1 -1
- package/button/mini-button-group.js +1 -1
- package/button/mini-button-link/mini-button-link.component.js +1 -1
- package/button/mini-button-link.js +1 -1
- package/button.js +3 -3
- package/button.pure.js +3 -3
- package/calendar/calendar/calendar.component.js +1 -1
- package/calendar/calendar-day/calendar-day.component.js +1 -1
- package/calendar/calendar-day.js +1 -1
- package/calendar/calendar.js +1 -1
- package/calendar/common/calendar-cell-base-element.js +1 -1
- package/calendar/common.js +1 -1
- package/calendar.js +2 -2
- package/calendar.pure.js +2 -2
- package/card/card/card.component.js +1 -1
- package/card/card-badge/card-badge.component.js +1 -1
- package/card/card-badge.js +1 -1
- package/card/card.js +1 -1
- package/card/common/card-action-common.js +1 -1
- package/card/common.js +1 -1
- package/card.js +3 -3
- package/card.pure.js +3 -3
- package/carousel/carousel/carousel.component.js +1 -1
- package/carousel/carousel-item/carousel-item.component.js +1 -1
- package/carousel/carousel-item.js +1 -1
- package/carousel/carousel-list/carousel-list.component.js +1 -1
- package/carousel/carousel-list.js +1 -1
- package/carousel/carousel.js +1 -1
- package/carousel.js +3 -3
- package/carousel.pure.js +3 -3
- package/checkbox/checkbox.component.js +1 -1
- package/checkbox/checkbox.js +1 -1
- package/checkbox/common/checkbox-common.js +1 -1
- package/checkbox/common.js +1 -1
- package/{checkbox.component-DS48CA_v.js → checkbox.component-BcEm3ykz.js} +1 -1
- package/checkbox.js +2 -2
- package/checkbox.pure.js +2 -2
- package/chip/chip/chip.component.js +1 -1
- package/chip/chip-group/chip-group.component.js +1 -1
- package/chip/chip-group.js +1 -1
- package/chip/chip.js +1 -1
- package/chip-label/chip-label.component.js +1 -1
- package/chip-label.js +1 -1
- package/chip-label.pure.js +1 -1
- package/chip.js +2 -2
- package/chip.pure.js +2 -2
- package/clock/clock.component.js +1 -1
- package/clock.js +1 -1
- package/clock.pure.js +1 -1
- package/container/container/container.component.js +1 -1
- package/container/container.js +1 -1
- package/container/sticky-bar/sticky-bar.component.js +1 -1
- package/container/sticky-bar.js +1 -1
- package/container.js +2 -2
- package/container.pure.js +2 -2
- package/core/base-elements/selection-group-base-element.js +1 -1
- package/core/base-elements.js +1 -1
- package/core/controllers/media-matchers-controller.js +1 -1
- package/core/mixins/form-associated-input-mixin.js +5 -0
- package/core/mixins/form-associated-radio-button-mixin.js +5 -4
- package/core/mixins/panel-mixin.js +1 -1
- package/core/mixins.js +1 -1
- package/core/styles/styles.js +1 -1
- package/core/styles.js +1 -1
- package/core.js +3 -3
- package/custom-elements.json +2157 -2027
- package/date-input/date-input.component.js +1 -1
- package/{date-input.component-B3f_GThS.js → date-input.component-kYGldhkg.js} +8 -6
- package/date-input.js +1 -1
- package/date-input.pure.js +1 -1
- package/datepicker/common/datepicker-button.js +1 -1
- package/datepicker/common.js +1 -1
- package/datepicker/datepicker/datepicker.component.js +1 -1
- package/datepicker/datepicker.js +1 -1
- package/datepicker.js +2 -2
- package/datepicker.pure.js +2 -2
- package/development/accordion/accordion.component.js +1 -1
- package/development/{accordion.component-CGTwcntz.js → accordion.component-BHkIOnto.js} +1 -1
- package/development/accordion.js +2 -2
- package/development/accordion.pure.js +1 -1
- package/development/action-group/action-group.component.js +1 -1
- package/development/{action-group.component-DQ7_kjB9.js → action-group.component-CQKkfQej.js} +1 -1
- package/development/action-group.js +2 -2
- package/development/action-group.pure.js +1 -1
- package/development/alert/alert/alert.component.js +1 -1
- package/development/alert/alert-group/alert-group.component.js +1 -1
- package/development/alert/alert-group.js +2 -2
- package/development/alert/alert.js +2 -2
- package/development/{alert-group.component-DnnPrv5I.js → alert-group.component-hXjjuTYZ.js} +1 -1
- package/development/{alert.component-CYb1vnDZ.js → alert.component-zi9h-VS5.js} +1 -1
- package/development/alert.js +3 -3
- package/development/alert.pure.js +2 -2
- package/development/autocomplete/autocomplete-base-element.js +1 -1
- package/development/autocomplete/autocomplete.component.js +2 -2
- package/development/{autocomplete-base-element-BSd5IXMZ.js → autocomplete-base-element-ChtKZW4Z.js} +1 -1
- package/development/autocomplete.js +2 -2
- package/development/autocomplete.pure.js +1 -1
- package/development/{block-link-common-COY1RI1I.js → block-link-common-CJEbRZzQ.js} +2 -2
- package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
- package/development/breadcrumb/breadcrumb-group.js +2 -2
- package/development/breadcrumb/breadcrumb.js +2 -2
- package/development/{breadcrumb-group.component-DZslNBlB.js → breadcrumb-group.component-D1KKqzD5.js} +1 -1
- package/development/{breadcrumb.component-DxSUxLZO.js → breadcrumb.component-ByLfVFAv.js} +1 -1
- package/development/breadcrumb.js +3 -3
- package/development/breadcrumb.pure.js +2 -2
- package/development/button/accent-button/accent-button.component.js +1 -1
- package/development/button/accent-button-link/accent-button-link.component.js +1 -1
- package/development/button/accent-button-link.js +1 -1
- package/development/button/accent-button-static/accent-button-static.component.js +1 -1
- package/development/button/accent-button-static.js +1 -1
- package/development/button/accent-button.js +1 -1
- package/development/button/button/button.component.js +1 -1
- package/development/button/button-link/button-link.component.js +1 -1
- package/development/button/button-link.js +1 -1
- package/development/button/button-static/button-static.component.js +1 -1
- package/development/button/button-static.js +1 -1
- package/development/button/button.js +1 -1
- package/development/button/common/button-common.js +1 -1
- package/development/button/common.js +2 -2
- package/development/button/mini-button/mini-button.component.js +1 -1
- package/development/button/mini-button-group/mini-button-group.component.js +1 -1
- package/development/button/mini-button-group.js +2 -2
- package/development/button/mini-button-link/mini-button-link.component.js +1 -1
- package/development/button/mini-button-link.js +2 -2
- package/development/button/mini-button.js +1 -1
- package/development/button/secondary-button/secondary-button.component.js +1 -1
- package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
- package/development/button/secondary-button-link.js +1 -1
- package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
- package/development/button/secondary-button-static.js +1 -1
- package/development/button/secondary-button.js +1 -1
- package/development/button/transparent-button/transparent-button.component.js +1 -1
- package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
- package/development/button/transparent-button-link.js +1 -1
- package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
- package/development/button/transparent-button-static.js +1 -1
- package/development/button/transparent-button.js +1 -1
- package/development/{button-common-7dmrUx4A.js → button-common-CstAJ1zB.js} +1 -1
- package/development/button.js +4 -4
- package/development/button.pure.js +3 -3
- package/development/calendar/calendar/calendar.component.js +1 -1
- package/development/calendar/calendar-day/calendar-day.component.js +1 -1
- package/development/calendar/calendar-day.js +2 -2
- package/development/calendar/calendar-month/calendar-month.component.js +1 -1
- package/development/calendar/calendar-month.js +1 -1
- package/development/calendar/calendar-weekday/calendar-weekday.component.js +1 -1
- package/development/calendar/calendar-weekday.js +1 -1
- package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.js +1 -1
- package/development/calendar/calendar-weeknumber.js +1 -1
- package/development/calendar/calendar-year/calendar-year.component.js +1 -1
- package/development/calendar/calendar-year.js +1 -1
- package/development/calendar/calendar.js +2 -2
- package/development/calendar/common/calendar-cell-base-element.js +1 -1
- package/development/calendar/common.js +1 -1
- package/development/{calendar-cell-base-element-BXohfDSl.js → calendar-cell-base-element-C9bSs3Q8.js} +1 -1
- package/development/{calendar-day.component-DFvRrp2O.js → calendar-day.component-gckR6I-2.js} +1 -1
- package/development/{calendar.component-Dg3D2A7k.js → calendar.component-_aQkgYF_.js} +1 -1
- package/development/calendar.js +3 -3
- package/development/calendar.pure.js +2 -2
- package/development/card/card/card.component.js +1 -1
- package/development/card/card-badge/card-badge.component.js +1 -1
- package/development/card/card-badge.js +2 -2
- package/development/card/card-button/card-button.component.js +1 -1
- package/development/card/card-button.js +1 -1
- package/development/card/card-link/card-link.component.js +1 -1
- package/development/card/card-link.js +1 -1
- package/development/card/card.js +2 -2
- package/development/card/common/card-action-common.js +1 -1
- package/development/card/common.js +2 -2
- package/development/{card-action-common-1FDHbfeR.js → card-action-common-CvEX5FKi.js} +1 -1
- package/development/{card-badge.component-CUZIoVbL.js → card-badge.component-BrtuBhjn.js} +1 -1
- package/development/{card.component-DsqIZC_u.js → card.component-Byk9-XZO.js} +1 -1
- package/development/card.js +4 -4
- package/development/card.pure.js +3 -3
- package/development/carousel/carousel/carousel.component.js +1 -1
- package/development/carousel/carousel-item/carousel-item.component.js +1 -1
- package/development/carousel/carousel-item.js +2 -2
- package/development/carousel/carousel-list/carousel-list.component.js +1 -1
- package/development/carousel/carousel-list.js +2 -2
- package/development/carousel/carousel.js +2 -2
- package/development/{carousel-item.component-CIgUJtDJ.js → carousel-item.component-BxPxGpbz.js} +1 -1
- package/development/{carousel-list.component-L-nYpHcN.js → carousel-list.component-DG6lxyT9.js} +1 -1
- package/development/{carousel.component-Dl48ROSf.js → carousel.component-Ct8WETPk.js} +1 -1
- package/development/carousel.js +4 -4
- package/development/carousel.pure.js +3 -3
- package/development/checkbox/checkbox-group.js +1 -1
- package/development/checkbox/checkbox-panel.js +1 -1
- package/development/checkbox/checkbox.component.js +1 -1
- package/development/checkbox/checkbox.js +2 -2
- package/development/checkbox/common/checkbox-common.js +1 -1
- package/development/checkbox/common.js +2 -2
- package/development/{checkbox-common-Dd5uup8K.js → checkbox-common-CVyGPWbf.js} +1 -1
- package/development/checkbox-group/checkbox-group.component.js +1 -1
- package/development/checkbox-group.js +1 -1
- package/development/checkbox-panel/checkbox-panel.component.js +1 -1
- package/development/checkbox-panel.js +1 -1
- package/development/{checkbox.component-CFZrwUTA.js → checkbox.component-BEfXDZZU.js} +2 -2
- package/development/checkbox.js +3 -3
- package/development/checkbox.pure.js +2 -2
- package/development/chip/chip/chip.component.js +1 -1
- package/development/chip/chip-group/chip-group.component.js +1 -1
- package/development/chip/chip-group.js +2 -2
- package/development/chip/chip.js +2 -2
- package/development/{chip-group.component-BVfHWX2-.js → chip-group.component-D3TJApSK.js} +1 -1
- package/development/chip-label/chip-label.component.js +1 -1
- package/development/{chip-label.component-DU8s-hfA.js → chip-label.component-BRyrmYcJ.js} +1 -1
- package/development/chip-label.js +2 -2
- package/development/chip-label.pure.js +1 -1
- package/development/{chip.component-C6v1-PLX.js → chip.component-CXmPMnVG.js} +1 -1
- package/development/chip.js +3 -3
- package/development/chip.pure.js +2 -2
- package/development/clock/clock.component.js +1 -1
- package/development/{clock.component-CVPv4mCp.js → clock.component-BkV63t0Z.js} +1 -1
- package/development/clock.js +2 -2
- package/development/clock.pure.js +1 -1
- package/development/{compact-paginator.component-5_Q2Reul.js → compact-paginator.component-lAUCVDx7.js} +1 -1
- package/development/container/container/container.component.js +1 -1
- package/development/container/container.js +2 -2
- package/development/container/sticky-bar/sticky-bar.component.js +1 -1
- package/development/container/sticky-bar.js +2 -2
- package/development/{container.component-CG_i65Op.js → container.component-DLh0UnYd.js} +1 -1
- package/development/container.js +3 -3
- package/development/container.pure.js +2 -2
- package/development/core/a11y/arrow-navigation.js +1 -1
- package/development/core/a11y/fake-event-detection.js +1 -1
- package/development/core/a11y/focus-trap-controller.js +1 -1
- package/development/core/a11y/focus-visible-within-controller.js +1 -1
- package/development/core/a11y/focus.js +1 -1
- package/development/core/a11y/input-modality-detector.js +1 -1
- package/development/core/a11y/interactivity-checker.js +1 -1
- package/development/core/a11y/live-announcer.js +1 -1
- package/development/core/base-elements/action-base-element.js +1 -1
- package/development/core/base-elements/button-base-element.js +1 -1
- package/development/core/base-elements/element.js +1 -1
- package/development/core/base-elements/link-base-element.js +1 -1
- package/development/core/base-elements/open-close-base-element.js +1 -1
- package/development/core/base-elements/selection-group-base-element.js +1 -1
- package/development/core/base-elements.js +1 -1
- package/development/core/config/config.js +1 -1
- package/development/core/controllers/escapable-overlay-controller.js +1 -1
- package/development/core/controllers/id-reference-controller.js +1 -1
- package/development/core/controllers/inert-controller.js +1 -1
- package/development/core/controllers/language-controller.js +1 -1
- package/development/core/controllers/media-matchers-controller.js +2 -2
- package/development/core/controllers/overlay-position-controller.js +1 -1
- package/development/core/controllers/property-watcher-controller.js +1 -1
- package/development/core/controllers/slot-state-controller.js +1 -1
- package/development/core/datetime/date-adapter.js +1 -1
- package/development/core/datetime/native-date-adapter.js +1 -1
- package/development/core/datetime/temporal-date-adapter.js +1 -1
- package/development/core/decorators/force-type.js +1 -1
- package/development/core/decorators/get-override.js +1 -1
- package/development/core/decorators/handle-distinct-change.js +1 -1
- package/development/core/decorators/host-attributes.js +1 -1
- package/development/core/decorators/id-reference.js +1 -1
- package/development/core/decorators/omit-empty-converter.js +1 -1
- package/development/core/decorators/plain-date.js +1 -1
- package/development/core/dom/animation.js +1 -1
- package/development/core/dom/contains-pierce-shadow-dom.js +1 -1
- package/development/core/dom/lean-context.js +1 -1
- package/development/core/dom/platform.js +1 -1
- package/development/core/dom/queue-dom-content-loaded.js +1 -1
- package/development/core/dom/scroll.js +1 -1
- package/development/core/dom/set-or-remove-attribute.js +1 -1
- package/development/core/eventing/composed-path-has-attribute.js +1 -1
- package/development/core/eventing/event-target.js +1 -1
- package/development/core/eventing/form-element-handlers.js +1 -1
- package/development/core/eventing/forward-event.js +1 -1
- package/development/core/eventing/is-event-prevented.js +1 -1
- package/development/core/eventing/throttle.js +1 -1
- package/development/core/i18n/i18n.js +1 -1
- package/development/core/images.js +1 -1
- package/development/core/mixins/animation-complete-mixin.js +1 -1
- package/development/core/mixins/disabled-mixin.js +1 -1
- package/development/core/mixins/element-internals-mixin.js +1 -1
- package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
- package/development/core/mixins/form-associated-input-mixin.d.ts +1 -0
- package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-input-mixin.js +6 -1
- package/development/core/mixins/form-associated-mixin.js +1 -1
- package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-radio-button-mixin.js +11 -8
- package/development/core/mixins/hydration-mixin.js +1 -1
- package/development/core/mixins/named-slot-list-mixin.js +1 -1
- package/development/core/mixins/negative-mixin.js +1 -1
- package/development/core/mixins/panel-mixin.js +1 -1
- package/development/core/mixins/readonly-mixin.js +1 -1
- package/development/core/mixins/required-mixin.js +1 -1
- package/development/core/mixins/selection-panel-mixin.js +1 -1
- package/development/core/mixins/update-scheduler-mixin.js +1 -1
- package/development/core/mixins.js +1 -1
- package/development/core/overlay/overlay-option-panel.js +1 -1
- package/development/core/overlay/overlay-outside-pointer-event-listener.js +1 -1
- package/development/core/overlay/overlay-trigger-attributes.js +1 -1
- package/development/core/overlay/overlay.js +1 -1
- package/development/core/overlay/position.js +1 -1
- package/development/core/styles/styles.js +1 -1
- package/development/core/styles.js +1 -1
- package/development/core/testing/event-spy.js +1 -1
- package/development/core/testing/mocha-extensions.js +1 -1
- package/development/core/testing/wait-for-condition.js +1 -1
- package/development/core/testing/wait-for-image-ready.js +1 -1
- package/development/core/testing/wait-for-render.js +1 -1
- package/development/core.js +3 -3
- package/development/date-input/date-input.component.d.ts.map +1 -1
- package/development/date-input/date-input.component.js +1 -1
- package/development/date-input.component-BBdsFSUJ.js +307 -0
- package/development/date-input.js +2 -2
- package/development/date-input.pure.js +1 -1
- package/development/datepicker/common/datepicker-button.js +1 -1
- package/development/datepicker/common.js +2 -2
- package/development/datepicker/datepicker/datepicker.component.js +1 -1
- package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
- package/development/datepicker/datepicker-next-day.js +1 -1
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
- package/development/datepicker/datepicker-previous-day.js +1 -1
- package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
- package/development/datepicker/datepicker-toggle.js +1 -1
- package/development/datepicker/datepicker.js +2 -2
- package/development/{datepicker-button-CUPeoQgH.js → datepicker-button-Czvip-Gd.js} +1 -1
- package/development/{datepicker.component-D2DxFng_.js → datepicker.component-C7ukqb-L.js} +1 -1
- package/development/datepicker.js +3 -3
- package/development/datepicker.pure.js +2 -2
- package/development/dialog/dialog/dialog.component.js +1 -1
- package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
- package/development/dialog/dialog-actions.js +2 -2
- package/development/dialog/dialog-close-button/dialog-close-button.component.js +1 -1
- package/development/dialog/dialog-close-button.js +2 -2
- package/development/dialog/dialog-content/dialog-content.component.js +1 -1
- package/development/dialog/dialog-content.js +2 -2
- package/development/dialog/dialog-title/dialog-title.component.js +1 -1
- package/development/dialog/dialog-title.js +2 -2
- package/development/dialog/dialog.js +2 -2
- package/development/{dialog-actions.component-CegGvLGp.js → dialog-actions.component-oA335JZQ.js} +1 -1
- package/development/{dialog-close-button.component-C4P-8J8j.js → dialog-close-button.component-B7DK_j4Q.js} +1 -1
- package/development/{dialog-content.component-bm8piC0O.js → dialog-content.component-DTxT4eFj.js} +1 -1
- package/development/{dialog-title.component-CUAbFzCr.js → dialog-title.component-DwTo8syw.js} +1 -1
- package/development/{dialog.component-DKuR4u-y.js → dialog.component-CqWh22II.js} +1 -1
- package/development/dialog.js +6 -6
- package/development/dialog.pure.js +5 -5
- package/development/divider/divider.component.js +1 -1
- package/development/{divider.component-Bisnf286.js → divider.component-O4kPjU88.js} +1 -1
- package/development/divider.js +2 -2
- package/development/divider.pure.js +1 -1
- package/development/{error.component-OBpWoVRL.js → error.component-clhPgi-w.js} +1 -1
- package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
- package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
- package/development/expansion-panel/expansion-panel-content.js +2 -2
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
- package/development/expansion-panel/expansion-panel-header.js +2 -2
- package/development/expansion-panel/expansion-panel.js +2 -2
- package/development/{expansion-panel-content.component-XIsKm8JD.js → expansion-panel-content.component-aD0sErUh.js} +1 -1
- package/development/{expansion-panel-header.component-C1xRGcAN.js → expansion-panel-header.component-CDRRNszp.js} +1 -1
- package/development/{expansion-panel.component-CV_IuWZA.js → expansion-panel.component-DUMM_Qhi.js} +10 -7
- package/development/expansion-panel.js +4 -4
- package/development/expansion-panel.pure.js +3 -3
- package/development/file-selector/common/file-selector-common.js +1 -1
- package/development/file-selector/common.js +2 -2
- package/development/file-selector/file-selector/file-selector.component.js +1 -1
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/development/file-selector/file-selector-dropzone.js +2 -2
- package/development/file-selector/file-selector.js +1 -1
- package/development/{file-selector-common-C7xIEiV4.js → file-selector-common-C5XMrlw6.js} +1 -1
- package/development/{file-selector-dropzone.component-BAWMZW4F.js → file-selector-dropzone.component-koTO2N3Z.js} +1 -1
- package/development/file-selector.js +3 -3
- package/development/file-selector.pure.js +2 -2
- package/development/flip-card/flip-card/flip-card.component.js +1 -1
- package/development/flip-card/flip-card-details/flip-card-details.component.js +1 -1
- package/development/flip-card/flip-card-details.js +2 -2
- package/development/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
- package/development/flip-card/flip-card-summary.js +2 -2
- package/development/flip-card/flip-card.js +2 -2
- package/development/{flip-card-details.component-iMm7NrgQ.js → flip-card-details.component-AvYTBZH-.js} +1 -1
- package/development/{flip-card-summary.component-HQ_VAn2j.js → flip-card-summary.component-BUqpGUbJ.js} +1 -1
- package/development/{flip-card.component-CJanLtkJ.js → flip-card.component-Df226cP3.js} +1 -1
- package/development/flip-card.js +4 -4
- package/development/flip-card.pure.js +3 -3
- package/development/footer/footer.component.js +1 -1
- package/development/{footer.component-BmDkxYW9.js → footer.component-DYEWvB3P.js} +1 -1
- package/development/footer.js +2 -2
- package/development/footer.pure.js +1 -1
- package/development/form-field/error/error.component.js +1 -1
- package/development/form-field/error.js +2 -2
- package/development/form-field/form-field/form-field.component.js +1 -1
- package/development/form-field/form-field-clear/form-field-clear.component.js +1 -1
- package/development/form-field/form-field-clear.js +1 -1
- package/development/form-field/form-field-text-counter/form-field-text-counter.component.js +1 -1
- package/development/form-field/form-field.js +2 -2
- package/development/form-field/hint/hint.component.js +1 -1
- package/development/{form-field.component-BU3Sv2mD.js → form-field.component-BkcCAGS2.js} +1 -1
- package/development/form-field.js +4 -4
- package/development/form-field.pure.js +3 -3
- package/development/header/common/header-action-common.js +1 -1
- package/development/header/common.js +2 -2
- package/development/header/header/header.component.js +1 -1
- package/development/header/header-button/header-button.component.js +1 -1
- package/development/header/header-button.js +1 -1
- package/development/header/header-environment/header-environment.component.js +1 -1
- package/development/header/header-environment.js +2 -2
- package/development/header/header-link/header-link.component.js +1 -1
- package/development/header/header-link.js +1 -1
- package/development/header/header.js +2 -2
- package/development/{header-action-common-MTYV0dqA.js → header-action-common-BNkB5F6_.js} +1 -1
- package/development/{header-environment.component-DHqoX_lg.js → header-environment.component-q1GtI6Lm.js} +1 -1
- package/development/{header.component-CWJ36jF0.js → header.component-CxJT1O-P.js} +1 -1
- package/development/header.js +4 -4
- package/development/header.pure.js +3 -3
- package/development/{hint.component-DUtL0RS3.js → hint.component-D2yunLum.js} +1 -1
- package/development/icon/icon-base.js +1 -1
- package/development/icon/icon-name-mixin.js +1 -1
- package/development/icon/icon-request.js +1 -1
- package/development/icon/icon-validate.js +1 -1
- package/development/icon/icon.component.js +2 -2
- package/development/{icon-base-DHN9pz2I.js → icon-base-Dq9MpfWT.js} +1 -1
- package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
- package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
- package/development/icon-sidebar/icon-sidebar-button.js +1 -1
- package/development/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
- package/development/icon-sidebar/icon-sidebar-container.js +2 -2
- package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
- package/development/icon-sidebar/icon-sidebar-content.js +2 -2
- package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
- package/development/icon-sidebar/icon-sidebar-link.js +1 -1
- package/development/icon-sidebar/icon-sidebar.js +2 -2
- package/development/{icon-sidebar-container.component-BH_R88Rf.js → icon-sidebar-container.component-CdXeW3mX.js} +1 -1
- package/development/{icon-sidebar-content.component-yoF6FjkW.js → icon-sidebar-content.component-BPEyV1W0.js} +1 -1
- package/development/{icon-sidebar.component-BGEkfXVs.js → icon-sidebar.component-BufmPKms.js} +1 -1
- package/development/icon-sidebar.js +4 -4
- package/development/icon-sidebar.pure.js +3 -3
- package/development/icon.js +2 -2
- package/development/icon.pure.js +1 -1
- package/development/image/image.component.js +1 -1
- package/development/{image.component-BD0jc-u-.js → image.component-mUKzaK2k.js} +5 -16
- package/development/image.js +2 -2
- package/development/image.pure.js +1 -1
- package/development/{inline-link-common-CgTIwFAI.js → inline-link-common-itvi22nu.js} +2 -2
- package/development/journey-header/journey-header.component.js +1 -1
- package/development/{journey-header.component-BwVODlXk.js → journey-header.component-I7lZUyCY.js} +1 -1
- package/development/journey-header.js +2 -2
- package/development/journey-header.pure.js +1 -1
- package/development/lead-container/lead-container.component.js +1 -1
- package/development/{lead-container.component-CGVdBWJr.js → lead-container.component-BL89hZHA.js} +1 -1
- package/development/lead-container.js +2 -2
- package/development/lead-container.pure.js +1 -1
- package/development/link/block-link/block-link.component.js +1 -1
- package/development/link/block-link-button/block-link-button.component.js +1 -1
- package/development/link/block-link-button.js +1 -1
- package/development/link/block-link-static/block-link-static.component.js +1 -1
- package/development/link/block-link-static.js +1 -1
- package/development/link/block-link.js +1 -1
- package/development/link/common/block-link-common.js +1 -1
- package/development/link/common/inline-link-common.js +1 -1
- package/development/link/common/link-common.js +1 -1
- package/development/link/common.js +4 -4
- package/development/link/link/link.component.js +1 -1
- package/development/link/link-button/link-button.component.js +1 -1
- package/development/link/link-button.js +1 -1
- package/development/link/link-static/link-static.component.js +1 -1
- package/development/link/link-static.js +1 -1
- package/development/link/link.js +1 -1
- package/development/{link-common-DJ2FfG_Q.js → link-common-cGlWYqkY.js} +1 -1
- package/development/link-list/common/link-list-base.js +1 -1
- package/development/link-list/common.js +2 -2
- package/development/link-list/link-list-anchor.js +2 -2
- package/development/link-list/link-list.component.js +1 -1
- package/development/link-list/link-list.js +2 -2
- package/development/link-list-anchor/link-list-anchor.component.js +1 -1
- package/development/{link-list-anchor.component-Du7kfDZ-.js → link-list-anchor.component-D1SvQ66g.js} +1 -1
- package/development/link-list-anchor.js +2 -2
- package/development/link-list-anchor.pure.js +1 -1
- package/development/{link-list-base-CKMNz30d.js → link-list-base-BnV5SFiO.js} +1 -1
- package/development/{link-list.component-DQMg8MdQ.js → link-list.component-D_DVCimH.js} +2 -2
- package/development/link-list.js +4 -4
- package/development/link-list.pure.js +2 -2
- package/development/link.js +4 -4
- package/development/link.pure.js +3 -3
- package/development/loading-indicator/loading-indicator.component.js +1 -1
- package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
- package/development/{loading-indicator-circle.component-np96Tu5S.js → loading-indicator-circle.component-DzNpKk8l.js} +1 -1
- package/development/loading-indicator-circle.js +2 -2
- package/development/loading-indicator-circle.pure.js +1 -1
- package/development/{loading-indicator.component-CgHYNMxB.js → loading-indicator.component-BgbKfUDX.js} +1 -1
- package/development/loading-indicator.js +2 -2
- package/development/loading-indicator.pure.js +1 -1
- package/development/logo/logo.component.js +1 -1
- package/development/{logo.component-I0yP2SKr.js → logo.component-DOHr28xU.js} +1 -1
- package/development/logo.js +2 -2
- package/development/logo.pure.js +1 -1
- package/development/map-container/map-container.component.js +1 -1
- package/development/{map-container.component-D9NWw-wA.js → map-container.component-CIqThcx2.js} +1 -1
- package/development/map-container.js +2 -2
- package/development/map-container.pure.js +1 -1
- package/development/menu/common/menu-action-common.js +1 -1
- package/development/menu/common.js +2 -2
- package/development/menu/menu/menu.component.js +1 -1
- package/development/menu/menu-button/menu-button.component.js +1 -1
- package/development/menu/menu-button.js +1 -1
- package/development/menu/menu-link/menu-link.component.js +1 -1
- package/development/menu/menu-link.js +1 -1
- package/development/menu/menu.js +2 -2
- package/development/{menu-action-common-CBZCra6n.js → menu-action-common-BZE-EXWE.js} +1 -1
- package/development/{menu.component-Lh3JbVow.js → menu.component-BDcEd8fU.js} +1 -1
- package/development/menu.js +3 -3
- package/development/menu.pure.js +2 -2
- package/development/message/message.component.js +1 -1
- package/development/{message.component-Dlf5V5ba.js → message.component-SmdtsjkC.js} +1 -1
- package/development/message.js +2 -2
- package/development/message.pure.js +1 -1
- package/development/{mini-button-group.component-B3CA9KG0.js → mini-button-group.component-BdAxrqyu.js} +1 -1
- package/development/{mini-button-link.component-I3VpWeNU.js → mini-button-link.component-CvPvNIBL.js} +1 -1
- package/development/mini-calendar/mini-calendar/mini-calendar.component.js +1 -1
- package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
- package/development/mini-calendar/mini-calendar-day.js +2 -2
- package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
- package/development/mini-calendar/mini-calendar-month.js +2 -2
- package/development/mini-calendar/mini-calendar.js +2 -2
- package/development/{mini-calendar-day.component-BUNVO4ZU.js → mini-calendar-day.component-2tL6pRbt.js} +1 -1
- package/development/{mini-calendar-month.component-DZXvAhc3.js → mini-calendar-month.component-DaVLqI4h.js} +1 -1
- package/development/{mini-calendar.component-BufzKw74.js → mini-calendar.component-BOaOR0OO.js} +1 -1
- package/development/mini-calendar.js +4 -4
- package/development/mini-calendar.pure.js +3 -3
- package/development/navigation/common/navigation-action-common.js +1 -1
- package/development/navigation/common.js +2 -2
- package/development/navigation/navigation/navigation.component.js +1 -1
- package/development/navigation/navigation-button/navigation-button.component.js +1 -1
- package/development/navigation/navigation-button.js +1 -1
- package/development/navigation/navigation-link/navigation-link.component.js +1 -1
- package/development/navigation/navigation-link.js +1 -1
- package/development/navigation/navigation-list/navigation-list.component.js +1 -1
- package/development/navigation/navigation-list.js +2 -2
- package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
- package/development/navigation/navigation-marker.js +2 -2
- package/development/navigation/navigation-section/navigation-section.component.js +1 -1
- package/development/navigation/navigation-section.js +2 -2
- package/development/navigation/navigation.js +2 -2
- package/development/{navigation-action-common-Hjr4dI9J.js → navigation-action-common-EqMDRz8Z.js} +1 -1
- package/development/{navigation-list.component-DqITJqFx.js → navigation-list.component-DNHBxMKU.js} +1 -1
- package/development/{navigation-marker.component-GOv42emC.js → navigation-marker.component-A1v9Hd9J.js} +1 -1
- package/development/{navigation-section.component-CnVrRETN.js → navigation-section.component-DT34_2-O.js} +1 -1
- package/development/{navigation.component-CTNQ1dix.js → navigation.component-C4M2wVbM.js} +1 -1
- package/development/navigation.js +6 -6
- package/development/navigation.pure.js +5 -5
- package/development/notification/notification.component.js +1 -1
- package/development/{notification.component-Cvq_uViC.js → notification.component-CN_R2kpL.js} +1 -1
- package/development/notification.js +2 -2
- package/development/notification.pure.js +1 -1
- package/development/{optgroup-base-element-BaG2W_AP.js → optgroup-base-element-BKTWGTV2.js} +1 -1
- package/development/option/optgroup/optgroup-base-element.js +1 -1
- package/development/option/optgroup/optgroup.component.js +2 -2
- package/development/option/optgroup.js +2 -2
- package/development/option/option/option-base-element.js +1 -1
- package/development/option/option/option.component.js +1 -1
- package/development/option/option-hint/option-hint.component.js +1 -1
- package/development/option/option-hint.js +2 -2
- package/development/option/option.js +2 -2
- package/development/{option-hint.component-BH8dP1fM.js → option-hint.component-DoZ2KiO0.js} +1 -1
- package/development/{option.component-Bb2C7ae5.js → option.component-j1BtK1VA.js} +1 -1
- package/development/option.js +4 -4
- package/development/option.pure.js +3 -3
- package/development/overlay/overlay-base-element.js +1 -1
- package/development/overlay/overlay.component.js +1 -1
- package/development/{overlay.component-M0JuSq4C.js → overlay.component-D9yF8nHe.js} +1 -1
- package/development/overlay.js +2 -2
- package/development/overlay.pure.js +1 -1
- package/development/paginator/common/paginator-common.js +1 -1
- package/development/paginator/common.js +1 -1
- package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
- package/development/paginator/compact-paginator.js +2 -2
- package/development/paginator/paginator/paginator.component.js +1 -1
- package/development/paginator/paginator.js +2 -2
- package/development/{paginator.component-Bn5tK0FK.js → paginator.component-AuOrVA84.js} +4 -4
- package/development/paginator.js +3 -3
- package/development/paginator.pure.js +2 -2
- package/development/{panel-mixin-Dj_rsgL9.js → panel-mixin-BNGQatfO.js} +1 -1
- package/development/popover/popover.component.js +1 -1
- package/development/{popover.component-EgOs-wsR.js → popover.component-DCRonDZ_.js} +1 -1
- package/development/popover.js +2 -2
- package/development/popover.pure.js +1 -1
- package/development/radio-button/common/radio-button-common.js +1 -1
- package/development/radio-button/common.js +2 -2
- package/development/radio-button/radio-button-group.js +1 -1
- package/development/radio-button/radio-button-panel.js +1 -1
- package/development/radio-button/radio-button.component.js +1 -1
- package/development/radio-button/radio-button.js +2 -2
- package/development/{radio-button-common--d3WX-ZM.js → radio-button-common-BVAoj2Kq.js} +1 -1
- package/development/radio-button-group/radio-button-group.component.js +1 -1
- package/development/radio-button-group.js +1 -1
- package/development/radio-button-panel/radio-button-panel.component.js +1 -1
- package/development/radio-button-panel.js +1 -1
- package/development/{radio-button.component-BauLEeCV.js → radio-button.component-chdFG08o.js} +2 -2
- package/development/radio-button.js +3 -3
- package/development/radio-button.pure.js +2 -2
- package/development/{sbb-tokens-Cr3wVegh.js → sbb-tokens-DGQJTWqa.js} +1 -1
- package/development/screen-reader-only/screen-reader-only.component.js +1 -1
- package/development/{screen-reader-only.component-B77UuVCI.js → screen-reader-only.component-CdqwsaNQ.js} +1 -1
- package/development/screen-reader-only.js +2 -2
- package/development/screen-reader-only.pure.js +1 -1
- package/development/select/select.component.js +1 -1
- package/development/{select.component-D9SFG7Lk.js → select.component--Mx51ijv.js} +1 -1
- package/development/select.js +2 -2
- package/development/select.pure.js +1 -1
- package/development/selection-action-panel/selection-action-panel.component.js +1 -1
- package/development/{selection-action-panel.component-D6I5wdEL.js → selection-action-panel.component-Um-_SEWj.js} +1 -1
- package/development/selection-action-panel.js +2 -2
- package/development/selection-action-panel.pure.js +1 -1
- package/development/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
- package/development/{selection-expansion-panel.component-eO7b_EQF.js → selection-expansion-panel.component-p3HZ05ul.js} +1 -1
- package/development/selection-expansion-panel.js +2 -2
- package/development/selection-expansion-panel.pure.js +1 -1
- package/development/{selection-group-base-element-DvDpwhPl.js → selection-group-base-element-Cqxds9XS.js} +1 -1
- package/development/sidebar/common/styles.js +1 -1
- package/development/sidebar/common.js +2 -2
- package/development/sidebar/sidebar/sidebar.component.js +1 -1
- package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
- package/development/sidebar/sidebar-close-button.js +2 -2
- package/development/sidebar/sidebar-container/sidebar-container.component.js +1 -1
- package/development/sidebar/sidebar-container.js +2 -2
- package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
- package/development/sidebar/sidebar-content.js +2 -2
- package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
- package/development/sidebar/sidebar-title.js +2 -2
- package/development/sidebar/sidebar.js +2 -2
- package/development/{sidebar-close-button.component-CYWv39Mu.js → sidebar-close-button.component-D2oeYOqk.js} +1 -1
- package/development/{sidebar-container.component-BDSoDAym.js → sidebar-container.component-y6Lv-ekk.js} +1 -1
- package/development/{sidebar-content.component-JcVKpKbK.js → sidebar-content.component-Cti9Y8DD.js} +1 -1
- package/development/{sidebar-title.component-BA_j-Igh.js → sidebar-title.component-D95cPhCG.js} +1 -1
- package/development/{sidebar.component-BLqO52nH.js → sidebar.component-fAct2rbJ.js} +1 -1
- package/development/sidebar.js +6 -6
- package/development/sidebar.pure.js +5 -5
- package/development/signet/signet.component.js +1 -1
- package/development/{signet.component-3D2ZsajP.js → signet.component-Bw0R1j5v.js} +1 -1
- package/development/signet.js +2 -2
- package/development/signet.pure.js +1 -1
- package/development/skiplink-list/skiplink-list.component.js +1 -1
- package/development/{skiplink-list.component-EDPOitEB.js → skiplink-list.component-BBhrMJYv.js} +1 -1
- package/development/skiplink-list.js +2 -2
- package/development/skiplink-list.pure.js +1 -1
- package/development/slider/slider.component.js +1 -1
- package/development/{slider.component-C3qZB6ar.js → slider.component-CSaXTWQ9.js} +2 -2
- package/development/slider.js +2 -2
- package/development/slider.pure.js +1 -1
- package/development/status/status.component.js +1 -1
- package/development/{status.component-CPi1cPN0.js → status.component-Cyxc7ICo.js} +1 -1
- package/development/status.js +2 -2
- package/development/status.pure.js +1 -1
- package/development/{step-label.component-BJ9eainz.js → step-label.component-DbAKY6cG.js} +1 -1
- package/development/{step.component-CTsOBGAn.js → step.component-B5kHxVl7.js} +1 -1
- package/development/stepper/step/step.component.js +1 -1
- package/development/stepper/step-label/step-label.component.js +1 -1
- package/development/stepper/step-label.js +2 -2
- package/development/stepper/step.js +2 -2
- package/development/stepper/stepper/stepper.component.js +1 -1
- package/development/stepper/stepper.js +2 -2
- package/development/{stepper.component-CxOBayI1.js → stepper.component-BbeFQDmb.js} +1 -1
- package/development/stepper.js +4 -4
- package/development/stepper.pure.js +3 -3
- package/development/{sticky-bar.component-CysAIZTd.js → sticky-bar.component-D5uSDTQR.js} +1 -1
- package/development/{styles-Jlhoev1S.js → styles-BTV2MyrZ.js} +1 -1
- package/development/{styles-D8-q-irv.js → styles-BqagEMJX.js} +1 -1
- package/development/{styles-D2RLaAYK.js → styles-DiDvDJct.js} +1 -1
- package/development/{tab-group.component-D9jCK26q.js → tab-group.component-BWPgocri.js} +1 -1
- package/development/{tab-label.component-B9e9kgVf.js → tab-label.component-D8tEoOpH.js} +1 -1
- package/development/{tab-nav-bar.component-CgYwCSVY.js → tab-nav-bar.component-ks5dMvvA.js} +1 -1
- package/development/{tab.component-DThKG7-a.js → tab.component-buuzN61Z.js} +1 -1
- package/development/table/table-wrapper/table-wrapper.component.js +1 -1
- package/development/table/table-wrapper.js +2 -2
- package/development/{table-wrapper.component-D1p7kqCB.js → table-wrapper.component-lwzfWj_O.js} +1 -1
- package/development/table.js +2 -2
- package/development/table.pure.js +1 -1
- package/development/tabs/common/styles.js +1 -1
- package/development/tabs/common.js +2 -2
- package/development/tabs/tab/tab.component.js +1 -1
- package/development/tabs/tab-group/tab-group.component.js +1 -1
- package/development/tabs/tab-group.js +2 -2
- package/development/tabs/tab-label/tab-label.component.js +1 -1
- package/development/tabs/tab-label.js +2 -2
- package/development/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
- package/development/tabs/tab-nav-bar.js +2 -2
- package/development/tabs/tab.js +2 -2
- package/development/tabs.js +6 -6
- package/development/tabs.pure.js +5 -5
- package/development/tag/tag/tag.component.js +1 -1
- package/development/tag/tag-group/tag-group.component.js +1 -1
- package/development/tag/tag-group.js +2 -2
- package/development/tag/tag.js +2 -2
- package/development/{tag-group.component-Cw46bt0E.js → tag-group.component-CgSsY4so.js} +1 -1
- package/development/{tag.component-Bl1nlIXQ.js → tag.component-DDHD0f_Z.js} +1 -1
- package/development/tag.js +3 -3
- package/development/tag.pure.js +2 -2
- package/development/teaser/teaser.component.js +1 -1
- package/development/teaser-hero/teaser-hero.component.js +1 -1
- package/development/{teaser-hero.component-BIOpoGME.js → teaser-hero.component-DIOC0KCx.js} +1 -1
- package/development/teaser-hero.js +2 -2
- package/development/teaser-hero.pure.js +1 -1
- package/development/teaser-product/common/teaser-product-common.js +1 -1
- package/development/teaser-product/common.js +2 -2
- package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
- package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
- package/development/teaser-product/teaser-product-static.js +1 -1
- package/development/teaser-product/teaser-product.js +2 -2
- package/development/{teaser-product-common-DYX370pm.js → teaser-product-common-Bn-YyeXw.js} +1 -1
- package/development/{teaser-product.component-CSArA8bH.js → teaser-product.component-BimnPgnF.js} +1 -1
- package/development/teaser-product.js +3 -3
- package/development/teaser-product.pure.js +2 -2
- package/development/{teaser.component-Cky6kKU0.js → teaser.component-Ci1zVbvf.js} +1 -1
- package/development/teaser.js +2 -2
- package/development/teaser.pure.js +1 -1
- package/development/time-input/time-input.component.d.ts +3 -1
- package/development/time-input/time-input.component.d.ts.map +1 -1
- package/development/time-input/time-input.component.js +1 -1
- package/development/time-input.component-BgsJfVZ1.js +198 -0
- package/development/time-input.js +2 -2
- package/development/time-input.pure.js +1 -1
- package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
- package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
- package/development/timetable-form/timetable-form-details.js +2 -2
- package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
- package/development/timetable-form/timetable-form-field.js +2 -2
- package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
- package/development/timetable-form/timetable-form-swap-button.js +2 -2
- package/development/timetable-form/timetable-form.js +2 -2
- package/development/{timetable-form-details.component-DJl5Qt9y.js → timetable-form-details.component-CJj4Ix0R.js} +1 -1
- package/development/{timetable-form-field.component-DQ_TzcF4.js → timetable-form-field.component-ZlYKZVdx.js} +1 -1
- package/development/{timetable-form-swap-button.component-Bh9aPmdn.js → timetable-form-swap-button.component-CnpDHEqk.js} +1 -1
- package/development/{timetable-form.component-N8h4JBlH.js → timetable-form.component-o0qXkQ3s.js} +1 -1
- package/development/timetable-form.js +5 -5
- package/development/timetable-form.pure.js +4 -4
- package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
- package/development/{timetable-occupancy-icon.component-lI7__-G5.js → timetable-occupancy-icon.component--0mckD_t.js} +1 -1
- package/development/timetable-occupancy-icon.js +2 -2
- package/development/timetable-occupancy-icon.pure.js +1 -1
- package/development/{timetable-occupancy.component-BBcznUh0.js → timetable-occupancy.component-Da5JZ1YL.js} +1 -1
- package/development/timetable-occupancy.js +2 -2
- package/development/timetable-occupancy.pure.js +1 -1
- package/development/title/title-base.js +1 -1
- package/development/title/title.component.js +1 -1
- package/development/{title-base-BdYKwj3-.js → title-base-CUh1dDaN.js} +1 -1
- package/development/{title.component-DSXVkddh.js → title.component--7kFUTWv.js} +2 -2
- package/development/title.js +3 -3
- package/development/title.pure.js +2 -2
- package/development/toast/toast.component.js +1 -1
- package/development/{toast.component-IhHx0Qt3.js → toast.component-Cr8wyDlQ.js} +1 -1
- package/development/toast.js +2 -2
- package/development/toast.pure.js +1 -1
- package/development/toggle/toggle/toggle.component.js +1 -1
- package/development/toggle/toggle-option/toggle-option.component.js +1 -1
- package/development/toggle/toggle-option.js +2 -2
- package/development/toggle/toggle.js +2 -2
- package/development/toggle-check/toggle-check.component.js +1 -1
- package/development/{toggle-check.component-_fDAuLob.js → toggle-check.component-DSN9PMAk.js} +1 -1
- package/development/toggle-check.js +2 -2
- package/development/toggle-check.pure.js +1 -1
- package/development/{toggle-option.component-DTS3a603.js → toggle-option.component-CsMbH_VC.js} +1 -1
- package/development/{toggle.component-BJpD1b9H.js → toggle.component-Dyt4IoG5.js} +1 -1
- package/development/toggle.js +3 -3
- package/development/toggle.pure.js +2 -2
- package/development/tooltip/tooltip.component.js +1 -1
- package/development/{tooltip.component-YaUQA-Id.js → tooltip.component-CkWwk338.js} +1 -1
- package/development/tooltip.js +2 -2
- package/development/tooltip.pure.js +1 -1
- package/development/train/train/train.component.js +1 -1
- package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
- package/development/train/train-blocked-passage.js +2 -2
- package/development/train/train-formation/train-formation.component.js +1 -1
- package/development/train/train-formation.js +2 -2
- package/development/train/train-wagon/train-wagon.component.js +1 -1
- package/development/train/train-wagon.js +2 -2
- package/development/train/train.js +2 -2
- package/development/{train-blocked-passage.component-BrUJK0gf.js → train-blocked-passage.component-CMSOBkRZ.js} +1 -1
- package/development/{train-formation.component-vt-nYQXA.js → train-formation.component-t-744--d.js} +1 -1
- package/development/{train-wagon.component-CNxkffOO.js → train-wagon.component-CCOQor0T.js} +1 -1
- package/development/{train.component-BgpmEDx-.js → train.component-saVL5OV2.js} +1 -1
- package/development/train.js +5 -5
- package/development/train.pure.js +4 -4
- package/development/visual-checkbox/visual-checkbox.component.js +1 -1
- package/development/{visual-checkbox.component-rdeoQN40.js → visual-checkbox.component-CJI3fnrF.js} +1 -1
- package/development/visual-checkbox.js +2 -2
- package/development/visual-checkbox.pure.js +1 -1
- package/dialog/dialog/dialog.component.js +1 -1
- package/dialog/dialog-actions/dialog-actions.component.js +1 -1
- package/dialog/dialog-actions.js +1 -1
- package/dialog/dialog-close-button/dialog-close-button.component.js +1 -1
- package/dialog/dialog-close-button.js +1 -1
- package/dialog/dialog-content/dialog-content.component.js +1 -1
- package/dialog/dialog-content.js +1 -1
- package/dialog/dialog-title/dialog-title.component.js +1 -1
- package/dialog/dialog-title.js +1 -1
- package/dialog/dialog.js +1 -1
- package/dialog.js +5 -5
- package/dialog.pure.js +5 -5
- package/divider/divider.component.js +1 -1
- package/divider.js +1 -1
- package/divider.pure.js +1 -1
- package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
- package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
- package/expansion-panel/expansion-panel-content.js +1 -1
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
- package/expansion-panel/expansion-panel-header.js +1 -1
- package/expansion-panel/expansion-panel.js +1 -1
- package/{expansion-panel.component-DBnZ6IgB.js → expansion-panel.component-BC6xgmqg.js} +24 -21
- package/expansion-panel.js +3 -3
- package/expansion-panel.pure.js +3 -3
- package/file-selector/common/file-selector-common.js +1 -1
- package/file-selector/common.js +1 -1
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/file-selector/file-selector-dropzone.js +1 -1
- package/file-selector.js +2 -2
- package/file-selector.pure.js +2 -2
- package/flip-card/flip-card/flip-card.component.js +1 -1
- package/flip-card/flip-card-details/flip-card-details.component.js +1 -1
- package/flip-card/flip-card-details.js +1 -1
- package/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
- package/flip-card/flip-card-summary.js +1 -1
- package/flip-card/flip-card.js +1 -1
- package/flip-card.js +3 -3
- package/flip-card.pure.js +3 -3
- package/footer/footer.component.js +1 -1
- package/footer.js +1 -1
- package/footer.pure.js +1 -1
- package/form-field/error/error.component.js +1 -1
- package/form-field/error.js +1 -1
- package/form-field/form-field/form-field.component.js +1 -1
- package/form-field/form-field.js +1 -1
- package/form-field/hint/hint.component.js +1 -1
- package/form-field.js +3 -3
- package/form-field.pure.js +3 -3
- package/header/common/header-action-common.js +1 -1
- package/header/common.js +1 -1
- package/header/header/header.component.js +1 -1
- package/header/header-environment/header-environment.component.js +1 -1
- package/header/header-environment.js +1 -1
- package/header/header.js +1 -1
- package/header.js +3 -3
- package/header.pure.js +3 -3
- package/icon/icon-base.js +1 -1
- package/icon/icon.component.js +1 -1
- package/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
- package/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
- package/icon-sidebar/icon-sidebar-container.js +1 -1
- package/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
- package/icon-sidebar/icon-sidebar-content.js +1 -1
- package/icon-sidebar/icon-sidebar.js +1 -1
- package/icon-sidebar.js +3 -3
- package/icon-sidebar.pure.js +3 -3
- package/icon.js +1 -1
- package/icon.pure.js +1 -1
- package/image/image.component.js +1 -1
- package/{image.component-9ttsTuRh.js → image.component-_ZwNXHRl.js} +1 -1
- package/image.js +1 -1
- package/image.pure.js +1 -1
- package/{inline-link-common-B5AHg8oa.js → inline-link-common-CLxDNeTA.js} +1 -1
- package/journey-header/journey-header.component.js +1 -1
- package/journey-header.js +1 -1
- package/journey-header.pure.js +1 -1
- package/lead-container/lead-container.component.js +1 -1
- package/lead-container.js +1 -1
- package/lead-container.pure.js +1 -1
- package/link/common/block-link-common.js +1 -1
- package/link/common/inline-link-common.js +1 -1
- package/link/common/link-common.js +1 -1
- package/link/common.js +3 -3
- package/link-list/common/link-list-base.js +1 -1
- package/link-list/common.js +1 -1
- package/link-list/link-list-anchor.js +1 -1
- package/link-list/link-list.component.js +1 -1
- package/link-list/link-list.js +1 -1
- package/link-list-anchor/link-list-anchor.component.js +1 -1
- package/link-list-anchor.js +1 -1
- package/link-list-anchor.pure.js +1 -1
- package/{link-list.component-AiEJJGPT.js → link-list.component-BJK4TICr.js} +1 -1
- package/link-list.js +3 -3
- package/link-list.pure.js +2 -2
- package/link.js +3 -3
- package/link.pure.js +3 -3
- package/loading-indicator/loading-indicator.component.js +1 -1
- package/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
- package/loading-indicator-circle.js +1 -1
- package/loading-indicator-circle.pure.js +1 -1
- package/loading-indicator.js +1 -1
- package/loading-indicator.pure.js +1 -1
- package/logo/logo.component.js +1 -1
- package/logo.js +1 -1
- package/logo.pure.js +1 -1
- package/map-container/map-container.component.js +1 -1
- package/map-container.js +1 -1
- package/map-container.pure.js +1 -1
- package/menu/common/menu-action-common.js +1 -1
- package/menu/common.js +1 -1
- package/menu/menu/menu.component.js +1 -1
- package/menu/menu.js +1 -1
- package/menu.js +2 -2
- package/menu.pure.js +2 -2
- package/message/message.component.js +1 -1
- package/message.js +1 -1
- package/message.pure.js +1 -1
- package/mini-calendar/mini-calendar/mini-calendar.component.js +1 -1
- package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
- package/mini-calendar/mini-calendar-day.js +1 -1
- package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
- package/mini-calendar/mini-calendar-month.js +1 -1
- package/mini-calendar/mini-calendar.js +1 -1
- package/mini-calendar.js +3 -3
- package/mini-calendar.pure.js +3 -3
- package/navigation/common/navigation-action-common.js +1 -1
- package/navigation/common.js +1 -1
- package/navigation/navigation/navigation.component.js +1 -1
- package/navigation/navigation-list/navigation-list.component.js +1 -1
- package/navigation/navigation-list.js +1 -1
- package/navigation/navigation-marker/navigation-marker.component.js +1 -1
- package/navigation/navigation-marker.js +1 -1
- package/navigation/navigation-section/navigation-section.component.js +1 -1
- package/navigation/navigation-section.js +1 -1
- package/navigation/navigation.js +1 -1
- package/navigation.js +5 -5
- package/navigation.pure.js +5 -5
- package/notification/notification.component.js +1 -1
- package/notification.js +1 -1
- package/notification.pure.js +1 -1
- package/option/optgroup/optgroup-base-element.js +1 -1
- package/option/optgroup/optgroup.component.js +1 -1
- package/option/optgroup.js +1 -1
- package/option/option/option.component.js +1 -1
- package/option/option-hint/option-hint.component.js +1 -1
- package/option/option-hint.js +1 -1
- package/option/option.js +1 -1
- package/option.js +3 -3
- package/option.pure.js +3 -3
- package/overlay/overlay.component.js +1 -1
- package/overlay.js +1 -1
- package/overlay.pure.js +1 -1
- package/package.json +2 -2
- package/paginator/compact-paginator/compact-paginator.component.js +1 -1
- package/paginator/compact-paginator.js +1 -1
- package/paginator/paginator/paginator.component.js +1 -1
- package/paginator/paginator.js +1 -1
- package/{paginator.component-BEr0qU0m.js → paginator.component-Dqwz6i2O.js} +3 -3
- package/paginator.js +2 -2
- package/paginator.pure.js +2 -2
- package/popover/popover.component.js +1 -1
- package/popover.js +1 -1
- package/popover.pure.js +1 -1
- package/radio-button/common/radio-button-common.js +1 -1
- package/radio-button/common.js +1 -1
- package/radio-button/radio-button.component.js +1 -1
- package/radio-button/radio-button.js +1 -1
- package/{radio-button.component-Bae-yK_U.js → radio-button.component-CG4uNkGk.js} +1 -1
- package/radio-button.js +2 -2
- package/radio-button.pure.js +2 -2
- package/screen-reader-only/screen-reader-only.component.js +1 -1
- package/screen-reader-only.js +1 -1
- package/screen-reader-only.pure.js +1 -1
- package/select/select.component.js +1 -1
- package/select.js +1 -1
- package/select.pure.js +1 -1
- package/selection-action-panel/selection-action-panel.component.js +1 -1
- package/selection-action-panel.js +1 -1
- package/selection-action-panel.pure.js +1 -1
- package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
- package/selection-expansion-panel.js +1 -1
- package/selection-expansion-panel.pure.js +1 -1
- package/sidebar/common/styles.js +1 -1
- package/sidebar/common.js +1 -1
- package/sidebar/sidebar/sidebar.component.js +1 -1
- package/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
- package/sidebar/sidebar-close-button.js +1 -1
- package/sidebar/sidebar-container/sidebar-container.component.js +1 -1
- package/sidebar/sidebar-container.js +1 -1
- package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
- package/sidebar/sidebar-content.js +1 -1
- package/sidebar/sidebar-title/sidebar-title.component.js +1 -1
- package/sidebar/sidebar-title.js +1 -1
- package/sidebar/sidebar.js +1 -1
- package/sidebar.js +5 -5
- package/sidebar.pure.js +5 -5
- package/signet/signet.component.js +1 -1
- package/signet.js +1 -1
- package/signet.pure.js +1 -1
- package/skiplink-list/skiplink-list.component.js +1 -1
- package/skiplink-list.js +1 -1
- package/skiplink-list.pure.js +1 -1
- package/slider/slider.component.js +1 -1
- package/{slider.component-BlRVR6iU.js → slider.component-DlvtELrZ.js} +1 -1
- package/slider.js +1 -1
- package/slider.pure.js +1 -1
- package/status/status.component.js +1 -1
- package/status.js +1 -1
- package/status.pure.js +1 -1
- package/stepper/step/step.component.js +1 -1
- package/stepper/step-label/step-label.component.js +1 -1
- package/stepper/step-label.js +1 -1
- package/stepper/step.js +1 -1
- package/stepper/stepper/stepper.component.js +1 -1
- package/stepper/stepper.js +1 -1
- package/stepper.js +3 -3
- package/stepper.pure.js +3 -3
- package/table/table-wrapper/table-wrapper.component.js +1 -1
- package/table/table-wrapper.js +1 -1
- package/table.js +1 -1
- package/table.pure.js +1 -1
- package/tabs/common/styles.js +1 -1
- package/tabs/common.js +1 -1
- package/tabs/tab/tab.component.js +1 -1
- package/tabs/tab-group/tab-group.component.js +1 -1
- package/tabs/tab-group.js +1 -1
- package/tabs/tab-label/tab-label.component.js +1 -1
- package/tabs/tab-label.js +1 -1
- package/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
- package/tabs/tab-nav-bar.js +1 -1
- package/tabs/tab.js +1 -1
- package/tabs.js +5 -5
- package/tabs.pure.js +5 -5
- package/tag/tag/tag.component.js +1 -1
- package/tag/tag-group/tag-group.component.js +1 -1
- package/tag/tag-group.js +1 -1
- package/tag/tag.js +1 -1
- package/tag.js +2 -2
- package/tag.pure.js +2 -2
- package/teaser/teaser.component.js +1 -1
- package/teaser-hero/teaser-hero.component.js +1 -1
- package/teaser-hero.js +1 -1
- package/teaser-hero.pure.js +1 -1
- package/teaser-product/common/teaser-product-common.js +1 -1
- package/teaser-product/common.js +1 -1
- package/teaser-product/teaser-product/teaser-product.component.js +1 -1
- package/teaser-product/teaser-product.js +1 -1
- package/teaser-product.js +2 -2
- package/teaser-product.pure.js +2 -2
- package/teaser.js +1 -1
- package/teaser.pure.js +1 -1
- package/time-input/time-input.component.js +1 -1
- package/{time-input.component-CuQ-3YEM.js → time-input.component-DBXdyVPm.js} +15 -8
- package/time-input.js +1 -1
- package/time-input.pure.js +1 -1
- package/timetable-form/timetable-form/timetable-form.component.js +1 -1
- package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
- package/timetable-form/timetable-form-details.js +1 -1
- package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
- package/timetable-form/timetable-form-field.js +1 -1
- package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
- package/timetable-form/timetable-form-swap-button.js +1 -1
- package/timetable-form/timetable-form.js +1 -1
- package/timetable-form.js +4 -4
- package/timetable-form.pure.js +4 -4
- package/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
- package/timetable-occupancy-icon.js +1 -1
- package/timetable-occupancy-icon.pure.js +1 -1
- package/timetable-occupancy.js +1 -1
- package/timetable-occupancy.pure.js +1 -1
- package/title/title-base.js +1 -1
- package/title/title.component.js +1 -1
- package/{title.component-DAGyXwDm.js → title.component-BYShLJX4.js} +1 -1
- package/title.js +2 -2
- package/title.pure.js +2 -2
- package/toast/toast.component.js +1 -1
- package/toast.js +1 -1
- package/toast.pure.js +1 -1
- package/toggle/toggle/toggle.component.js +1 -1
- package/toggle/toggle-option/toggle-option.component.js +1 -1
- package/toggle/toggle-option.js +1 -1
- package/toggle/toggle.js +1 -1
- package/toggle-check/toggle-check.component.js +1 -1
- package/toggle-check.js +1 -1
- package/toggle-check.pure.js +1 -1
- package/toggle.js +2 -2
- package/toggle.pure.js +2 -2
- package/tooltip/tooltip.component.js +1 -1
- package/tooltip.js +1 -1
- package/tooltip.pure.js +1 -1
- package/train/train/train.component.js +1 -1
- package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
- package/train/train-blocked-passage.js +1 -1
- package/train/train-formation/train-formation.component.js +1 -1
- package/train/train-formation.js +1 -1
- package/train/train-wagon/train-wagon.component.js +1 -1
- package/train/train-wagon.js +1 -1
- package/train/train.js +1 -1
- package/train.js +4 -4
- package/train.pure.js +4 -4
- package/visual-checkbox/visual-checkbox.component.js +1 -1
- package/visual-checkbox.js +1 -1
- package/visual-checkbox.pure.js +1 -1
- package/development/date-input.component-UP1afzgy.js +0 -307
- package/development/time-input.component-BtdSR8kB.js +0 -191
- /package/{accordion.component-Bos7Gwof.js → accordion.component-wCiqsnEs.js} +0 -0
- /package/{action-group.component-BYif_gBd.js → action-group.component-CE_MPTDh.js} +0 -0
- /package/{alert-group.component-Es6bBiff.js → alert-group.component-CV5f0dUD.js} +0 -0
- /package/{alert.component-BiAbeeYd.js → alert.component-D_ePlEJb.js} +0 -0
- /package/{autocomplete-base-element-Bo4fEieX.js → autocomplete-base-element-BON705dp.js} +0 -0
- /package/{breadcrumb-group.component-CKNsaUqs.js → breadcrumb-group.component-Ci2I0mD3.js} +0 -0
- /package/{breadcrumb.component-C1xO7cgt.js → breadcrumb.component-DhJGW-dZ.js} +0 -0
- /package/{button-common-BMEhm-dn.js → button-common-DCjF70vG.js} +0 -0
- /package/{calendar-cell-base-element-CBaanSU3.js → calendar-cell-base-element-BmCNJgsW.js} +0 -0
- /package/{calendar-day.component-BBszRsGw.js → calendar-day.component-BECTdjpk.js} +0 -0
- /package/{calendar.component-C1jk_uE0.js → calendar.component-Ba0Fwb29.js} +0 -0
- /package/{card-action-common-Ct0e9dtO.js → card-action-common-CB5zFIAM.js} +0 -0
- /package/{card-badge.component-D0r2iixU.js → card-badge.component-DE2ohFDU.js} +0 -0
- /package/{card.component-D14GBu6y.js → card.component-D60BZprX.js} +0 -0
- /package/{carousel-item.component-DUII_cjr.js → carousel-item.component-PU5q192l.js} +0 -0
- /package/{carousel-list.component-C0i7aHTM.js → carousel-list.component-BB7unlht.js} +0 -0
- /package/{carousel.component-BxKrGk84.js → carousel.component-Cky6IF7Z.js} +0 -0
- /package/{checkbox-common-BpW4_bbi.js → checkbox-common-Brv8RN2H.js} +0 -0
- /package/{chip-group.component-BqBYzfXA.js → chip-group.component-yS1gonBt.js} +0 -0
- /package/{chip-label.component-B76PdOCg.js → chip-label.component-CZGsirh5.js} +0 -0
- /package/{chip.component-Cu5guQs8.js → chip.component-D9KWgH37.js} +0 -0
- /package/{clock.component-DHFuoi2A.js → clock.component-DpU8KAT5.js} +0 -0
- /package/{compact-paginator.component-BIAPutro.js → compact-paginator.component-CQDbQFSM.js} +0 -0
- /package/{container.component-CkYADvvc.js → container.component-BKZcAIyH.js} +0 -0
- /package/{datepicker-button-B91ISxhE.js → datepicker-button-SUUQkrOL.js} +0 -0
- /package/{datepicker.component-DJ_9VBnC.js → datepicker.component-BKR_413s.js} +0 -0
- /package/{dialog-actions.component-Cp2cISc5.js → dialog-actions.component-CHLR1IFk.js} +0 -0
- /package/{dialog-close-button.component-CQfIeflt.js → dialog-close-button.component-D4qtgj3k.js} +0 -0
- /package/{dialog-content.component-BTAZtlGb.js → dialog-content.component-Xa9OyngJ.js} +0 -0
- /package/{dialog-title.component-PVHbhrCM.js → dialog-title.component-CGPNhsMX.js} +0 -0
- /package/{dialog.component-Dv5ch5mh.js → dialog.component-BGriJzOq.js} +0 -0
- /package/{divider.component-D4C31FWl.js → divider.component-DxkWLCl4.js} +0 -0
- /package/{error.component-DH9Obd7a.js → error.component-DbIaA-xT.js} +0 -0
- /package/{expansion-panel-content.component--OJYAiBh.js → expansion-panel-content.component-rstbG52A.js} +0 -0
- /package/{expansion-panel-header.component-uhZcVE_i.js → expansion-panel-header.component-DX4mPhIU.js} +0 -0
- /package/{file-selector-common-BL9mM4SZ.js → file-selector-common-yy_QdLWk.js} +0 -0
- /package/{file-selector-dropzone.component-Ctar2kEw.js → file-selector-dropzone.component-g0oeq3_7.js} +0 -0
- /package/{flip-card-details.component-CUaLeEKc.js → flip-card-details.component-DaKTOPiS.js} +0 -0
- /package/{flip-card-summary.component-T2UMG_YI.js → flip-card-summary.component-BSKe6OsO.js} +0 -0
- /package/{flip-card.component-D7HNqWXz.js → flip-card.component-D8D-b1oO.js} +0 -0
- /package/{footer.component-b2docCY_.js → footer.component-DVnt-rqs.js} +0 -0
- /package/{form-field.component-BwZDRKbQ.js → form-field.component-Bi6alIG7.js} +0 -0
- /package/{header-action-common-DSx5QDWI.js → header-action-common-D7IMoI9s.js} +0 -0
- /package/{header-environment.component-rUR1XhR5.js → header-environment.component-D5OyNuJt.js} +0 -0
- /package/{header.component-UQUFcMOD.js → header.component-iBP8on-G.js} +0 -0
- /package/{hint.component-CE2D2TLU.js → hint.component-DiHbPOnM.js} +0 -0
- /package/{icon-base-ChhGqAkg.js → icon-base-DeoAyImv.js} +0 -0
- /package/{icon-sidebar-container.component-BrBnPZP_.js → icon-sidebar-container.component-DdcVHbJr.js} +0 -0
- /package/{icon-sidebar-content.component-DXoyBsGO.js → icon-sidebar-content.component-CQ5gyai9.js} +0 -0
- /package/{icon-sidebar.component-CSUM1GjR.js → icon-sidebar.component-CYp0wuYn.js} +0 -0
- /package/{journey-header.component-BBRryMN8.js → journey-header.component-D56gqkKi.js} +0 -0
- /package/{lead-container.component-D9Wotyyl.js → lead-container.component-BUT_gJpV.js} +0 -0
- /package/{link-common-C-LzCFHg.js → link-common-BGEp0NyU.js} +0 -0
- /package/{link-list-anchor.component-B1hvFA17.js → link-list-anchor.component-BHS2kpvU.js} +0 -0
- /package/{link-list-base-COzF-Lbi.js → link-list-base-l4KAzs4B.js} +0 -0
- /package/{loading-indicator-circle.component-BSVoTtX4.js → loading-indicator-circle.component-CNmWNbbF.js} +0 -0
- /package/{loading-indicator.component-B85wTVDM.js → loading-indicator.component-D7O1Oiu6.js} +0 -0
- /package/{logo.component-COL1QTWW.js → logo.component-CH2K-zLa.js} +0 -0
- /package/{map-container.component-CEyz8sfi.js → map-container.component-DbMFVr7m.js} +0 -0
- /package/{menu-action-common-p5YGaq2r.js → menu-action-common-DFfT-vSo.js} +0 -0
- /package/{menu.component-DohFZw2N.js → menu.component-DOzjXsTL.js} +0 -0
- /package/{message.component-DhN-aFms.js → message.component-CZLg8Agz.js} +0 -0
- /package/{mini-button-group.component-DmxOnls1.js → mini-button-group.component-DRs7vhk9.js} +0 -0
- /package/{mini-button-link.component-l5MIlgEB.js → mini-button-link.component-Czv7tPIq.js} +0 -0
- /package/{mini-calendar-day.component-DOMxLDsW.js → mini-calendar-day.component-C1u-7WwY.js} +0 -0
- /package/{mini-calendar-month.component-BAN0k3N6.js → mini-calendar-month.component-CPtonQ15.js} +0 -0
- /package/{mini-calendar.component-DJfOT7ir.js → mini-calendar.component-Ck144S-D.js} +0 -0
- /package/{navigation-action-common-AzRltwrb.js → navigation-action-common-CLsrcLBB.js} +0 -0
- /package/{navigation-list.component-BIl68kYy.js → navigation-list.component-CjhrqS3z.js} +0 -0
- /package/{navigation-marker.component-BzbbKlfT.js → navigation-marker.component-nPOUlkgg.js} +0 -0
- /package/{navigation-section.component-DQxCi3O_.js → navigation-section.component-CkMmzz5Y.js} +0 -0
- /package/{navigation.component-D3xUqPZB.js → navigation.component-Djv4CC1A.js} +0 -0
- /package/{notification.component-D80Wl5xM.js → notification.component-DcKSFQbG.js} +0 -0
- /package/{optgroup-base-element-B2WJv9gb.js → optgroup-base-element-tgwVzTR-.js} +0 -0
- /package/{option-hint.component-CZH1i3mN.js → option-hint.component-LqqkYqZk.js} +0 -0
- /package/{option.component-CMp8QVZT.js → option.component-DLd_HcYc.js} +0 -0
- /package/{overlay.component-CbvHE6Lw.js → overlay.component-Vjh2fGRi.js} +0 -0
- /package/{panel-mixin-B6dEo538.js → panel-mixin-CHWPlhxd.js} +0 -0
- /package/{popover.component-CnOrQaaa.js → popover.component-BwNipVtb.js} +0 -0
- /package/{radio-button-common-C1mIf9KY.js → radio-button-common-DU3-BdU-.js} +0 -0
- /package/{sbb-tokens-CWYlBuxJ.js → sbb-tokens-C-MoUcho.js} +0 -0
- /package/{screen-reader-only.component-Dxj7rAnR.js → screen-reader-only.component-BDVeoCjr.js} +0 -0
- /package/{select.component-BT6RbERH.js → select.component-lpdrrh_X.js} +0 -0
- /package/{selection-action-panel.component-C3g4OJY9.js → selection-action-panel.component-B4oqqV61.js} +0 -0
- /package/{selection-expansion-panel.component-CGSkSA6y.js → selection-expansion-panel.component-CLy_okzL.js} +0 -0
- /package/{selection-group-base-element-B2VHp5_l.js → selection-group-base-element-1JcLfI8U.js} +0 -0
- /package/{sidebar-close-button.component-BEYnX3Hk.js → sidebar-close-button.component-B6t1fB8p.js} +0 -0
- /package/{sidebar-container.component-BGh7mxq4.js → sidebar-container.component-nAJowuEC.js} +0 -0
- /package/{sidebar-content.component-BEI3kpFh.js → sidebar-content.component-DRxAnYLT.js} +0 -0
- /package/{sidebar-title.component-CvKixoOS.js → sidebar-title.component-4V-FrhrP.js} +0 -0
- /package/{sidebar.component-Dsx1FAg0.js → sidebar.component-B93IV0Uq.js} +0 -0
- /package/{signet.component-ImdnCMXV.js → signet.component-C0UZifjQ.js} +0 -0
- /package/{skiplink-list.component-hqQIOxQD.js → skiplink-list.component-CoM0kPB3.js} +0 -0
- /package/{status.component-lw_WDs7W.js → status.component-DUlR4ZTD.js} +0 -0
- /package/{step-label.component-Dqis4FAN.js → step-label.component-9c6AsssT.js} +0 -0
- /package/{step.component-xDgeguVi.js → step.component-BObsD05D.js} +0 -0
- /package/{stepper.component-CYLW1eRI.js → stepper.component-0cm4c8_V.js} +0 -0
- /package/{sticky-bar.component-37iKnzVR.js → sticky-bar.component-Cjbgus2r.js} +0 -0
- /package/{styles-Dqjgvm-Y.js → styles-BbZA3P0N.js} +0 -0
- /package/{styles-CMI5maF5.js → styles-Cedk8xO5.js} +0 -0
- /package/{styles-BNu0Fjw5.js → styles-DGAxTLMz.js} +0 -0
- /package/{tab-group.component-BCJix5Cq.js → tab-group.component-BeOUc69a.js} +0 -0
- /package/{tab-label.component-CpdUyfiq.js → tab-label.component-CzS2ALh4.js} +0 -0
- /package/{tab-nav-bar.component-7mG-Dk6g.js → tab-nav-bar.component-BwvzhK69.js} +0 -0
- /package/{tab.component-rEJAbgtn.js → tab.component-DKU9Npfq.js} +0 -0
- /package/{table-wrapper.component-BpMpU8um.js → table-wrapper.component-Ds-L_Ea6.js} +0 -0
- /package/{tag-group.component-DkQVBbQY.js → tag-group.component-BiuzCZFt.js} +0 -0
- /package/{tag.component-CsNszQvB.js → tag.component-z9wZvWME.js} +0 -0
- /package/{teaser-hero.component-D8yj-N5n.js → teaser-hero.component-VqWAZaWS.js} +0 -0
- /package/{teaser-product-common-Ct19HzVX.js → teaser-product-common-CLEihVea.js} +0 -0
- /package/{teaser-product.component-Csj9pAne.js → teaser-product.component-D1_F6jN3.js} +0 -0
- /package/{teaser.component-WZL0vAo9.js → teaser.component--IKyi0-p.js} +0 -0
- /package/{timetable-form-details.component-mWKaBW_9.js → timetable-form-details.component-DJPFaGbp.js} +0 -0
- /package/{timetable-form-field.component-Cv_lv8vf.js → timetable-form-field.component-DhahZl0d.js} +0 -0
- /package/{timetable-form-swap-button.component-C71eoTQH.js → timetable-form-swap-button.component-BiK3VfwS.js} +0 -0
- /package/{timetable-form.component-YcvKAlfz.js → timetable-form.component-Bxt2N6Ir.js} +0 -0
- /package/{timetable-occupancy-icon.component-Ck0VCzxz.js → timetable-occupancy-icon.component-BM8ncpbN.js} +0 -0
- /package/{timetable-occupancy.component-BCXPxz68.js → timetable-occupancy.component-DsZHIFrr.js} +0 -0
- /package/{title-base-DV0qhfG9.js → title-base-Cu3A4Qtx.js} +0 -0
- /package/{toast.component-CORnf2Tl.js → toast.component-D9Msa7td.js} +0 -0
- /package/{toggle-check.component-DvoslSRr.js → toggle-check.component-DeHdUQ0h.js} +0 -0
- /package/{toggle-option.component-pX3tNwjE.js → toggle-option.component-BnOb1ATD.js} +0 -0
- /package/{toggle.component-B20xAw1V.js → toggle.component-BJomCzot.js} +0 -0
- /package/{tooltip.component-ocVpJogs.js → tooltip.component-BhzGF2KQ.js} +0 -0
- /package/{train-blocked-passage.component-C-ltrsRr.js → train-blocked-passage.component-CNEXrync.js} +0 -0
- /package/{train-formation.component-y0TGSIGR.js → train-formation.component-CByO_sU4.js} +0 -0
- /package/{train-wagon.component-BT4Xnzxr.js → train-wagon.component-MDsylhfh.js} +0 -0
- /package/{train.component-NTimqCpY.js → train.component-DbbswJvo.js} +0 -0
- /package/{visual-checkbox.component-CJWm74Zi.js → visual-checkbox.component-6sAtAAFY.js} +0 -0
|
@@ -219,4 +219,4 @@ var SbbElementInternalsMixin = (superClass) => {
|
|
|
219
219
|
//#endregion
|
|
220
220
|
export { SbbElementInternalsMixin, appendAriaElements, removeAriaElements, ɵstateController };
|
|
221
221
|
|
|
222
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1pbnRlcm5hbHMtbWl4aW4uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvbWl4aW5zL2VsZW1lbnQtaW50ZXJuYWxzLW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyLCB0eXBlIExpdEVsZW1lbnQsIHR5cGUgUmVhY3RpdmVDb250cm9sbGVyIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgU2JiU2xvdFN0YXRlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvbnRyb2xsZXJzL3Nsb3Qtc3RhdGUtY29udHJvbGxlci50cyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IudHMnO1xuXG4vLyBNb3N0IG9mIG91ciB0YXJnZXQgYnJvd3NlcnMgc3VwcG9ydCB0aGUgOnN0YXRlKCkgcHNldWRvIGNsYXNzLCBidXQgbm90IGFsbCBvZiB0aGVtLlxuLy8gV2UgcGF0Y2ggdGhlIHN0YXRlcyBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCBpbnRlcm5hbHMgdG8gdXNlIGF0dHJpYnV0ZXMgaW5zdGVhZCxcbi8vIGlmIDpzdGF0ZSgpIGlzIG5vdCBzdXBwb3J0ZWQuXG4vLyBOb3RlIHRoYXQgZm9yIFNTUiwgdGhlIHN0YXRlcyBwcm9wZXJ0eSBpcyBhIHNpbXBsZSBTZXQsIGltcGxlbWVudGVkIGluIExpdCBTU1IuXG4vLyBXZWJLaXQgc2VlbXMgdG8gaGF2ZSBzdGF0ZSBkZXRlY3Rpb24gcHJvYmxlbXMsIHNvIHdlIGVuYWJsZSB0aGUgcG9seWZpbGwgZm9yIG5vdy5cbi8vIFRPRE86IFJlY2hlY2sgZW5hYmxpbmcgYnkgdGVzdGluZyBzYmItYXV0b2NvbXBsZXRlIHdoZXRoZXIgaXQgcmVsaWFibHkgb3BlbnMgaW4gU2FmYXJpXG50eXBlIEN1c3RvbVN0YXRlU2V0SW50ZXJmYWNlID0gQ3VzdG9tU3RhdGVTZXQ7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5jb25zdCBDdXN0b21TdGF0ZVNldFBvbHlmaWxsOiAobmV3IChob3N0OiBMaXRFbGVtZW50KSA9PiBDdXN0b21TdGF0ZVNldEludGVyZmFjZSkgfCBudWxsID1cbiAgaXNTZXJ2ZXIgfHwgIUNTUy5zdXBwb3J0cygnc2VsZWN0b3IoOnN0YXRlKGxvYWRpbmcpKScpXG4gICAgPyBjbGFzcyBDdXN0b21TdGF0ZVNldFxuICAgICAgICBleHRlbmRzIFNldDxzdHJpbmc+XG4gICAgICAgIGltcGxlbWVudHMgQ3VzdG9tU3RhdGVTZXRJbnRlcmZhY2UsIFJlYWN0aXZlQ29udHJvbGxlclxuICAgICAge1xuICAgICAgICBwcml2YXRlIF9hcHBsaWVkID0gaXNTZXJ2ZXI7XG5cbiAgICAgICAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgX2hvc3Q6IExpdEVsZW1lbnQpIHtcbiAgICAgICAgICBzdXBlcigpO1xuICAgICAgICAgIHRoaXMuX2hvc3QuYWRkQ29udHJvbGxlcih0aGlzKTtcbiAgICAgICAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICAgICAgICAvLyBXZSB3YW50IHRvIGFwcGx5IHRoZSBhdHRyaWJ1dGVzIGFzIGVhcmx5IGFzIHBvc3NpYmxlIHdoaWNoIGNhblxuICAgICAgICAgICAgLy8gZWl0aGVyIGJlIHZpYSB0aGlzIFByb21pc2UucmVzb2x2ZSgpIG9yIHRoZSBjb25uZWN0ZWRDYWxsYmFjaygpLlxuICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB0aGlzLl9hcHBseVN0YXRlcygpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgb3ZlcnJpZGUgYWRkKHN0YXRlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgICBpZiAodGhpcy5fYXBwbGllZCkge1xuICAgICAgICAgICAgdGhpcy5fdG9nZ2xlU3RhdGUoc3RhdGUsIHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gc3VwZXIuYWRkKHN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBkZWxldGUoc3RhdGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICAgIHRoaXMuX3RvZ2dsZVN0YXRlKHN0YXRlLCBmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuIHN1cGVyLmRlbGV0ZShzdGF0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgb3ZlcnJpZGUgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgICAgdGhpcy5mb3JFYWNoKChzdGF0ZSkgPT4gdGhpcy5kZWxldGUoc3RhdGUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBob3N0Q29ubmVjdGVkKCk6IHZvaWQge1xuICAgICAgICAgIHRoaXMuX2FwcGx5U3RhdGVzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIF90b2dnbGVTdGF0ZShzdGF0ZTogc3RyaW5nLCBlbmFibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgICAgdGhpcy5faG9zdC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3N0YXRlfWAsIGVuYWJsZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBfYXBwbHlTdGF0ZXMoKTogdm9pZCB7XG4gICAgICAgICAgaWYgKHRoaXMuX2FwcGxpZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fYXBwbGllZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5mb3JFYWNoKChzdGF0ZSkgPT4gdGhpcy5fdG9nZ2xlU3RhdGUoc3RhdGUsIHRydWUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIDogbnVsbDtcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgQVJJQU1peGluIHtcbiAgICBhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQ6IEVsZW1lbnQgfCBudWxsO1xuICAgIGFyaWFDb250cm9sc0VsZW1lbnRzOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsO1xuICAgIGFyaWFEZXNjcmliZWRCeUVsZW1lbnRzOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsO1xuICAgIGFyaWFEZXRhaWxzRWxlbWVudHM6IHJlYWRvbmx5IEVsZW1lbnRbXSB8IG51bGw7XG4gICAgYXJpYUVycm9yTWVzc2FnZUVsZW1lbnRzOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsO1xuICAgIGFyaWFMYWJlbGxlZEJ5RWxlbWVudHM6IHJlYWRvbmx5IEVsZW1lbnRbXSB8IG51bGw7XG4gICAgYXJpYU93bnNFbGVtZW50czogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbDtcbiAgfVxufVxuXG5pZiAoIWlzU2VydmVyKSB7XG4gIC8vIFRoaXMgaXMgYSBwb2x5ZmlsbCBmb3IgdGhlIGFyaWEgZWxlbWVudHMgcHJvcGVydGllcyBvbiBFbGVtZW50SW50ZXJuYWxzIGFuZCBFbGVtZW50LlxuICBsZXQgbmV4dElkID0gMDtcbiAgY29uc3QgcmVzb2x2ZUhvc3QgPSAob3JpZ2luOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgPT5cbiAgICBvcmlnaW4uc2hhZG93Um9vdD8uaG9zdCA/P1xuICAgIChvcmlnaW4gaW5zdGFuY2VvZiBFbGVtZW50XG4gICAgICA/IG9yaWdpblxuICAgICAgOiAoKCkgPT4ge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHJlc29sdmUgcmVsYXRlZCBlbGVtZW50ISBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uJyk7XG4gICAgICAgIH0pKCkpO1xuICBjb25zdCBvYnNlcnZlck9wdGlvbnM6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0geyBhdHRyaWJ1dGVzOiB0cnVlLCBhdHRyaWJ1dGVGaWx0ZXI6IFsnaWQnXSB9O1xuICBjb25zdCBhc3NpZ25FbGVtZW50ID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+LFxuICApOiB2b2lkID0+IHtcbiAgICAvLyBJbiBjYXNlIGJvdGggRWxlbWVudCBhbmQgRWxlbWVudEludGVybmFscyBwcm9wZXJ0aWVzIGFyZSBzZXQsXG4gICAgLy8gdGhlIGVsZW1lbnQgcmVmZXJlbmNlIGZyb20gRWxlbWVudCBoYXMgcHJpb3JpdHkuXG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGVsZW1lbnRzW0VsZW1lbnQubmFtZV0gPz8gZWxlbWVudHNbRWxlbWVudEludGVybmFscy5uYW1lXTtcbiAgICBob3N0LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIChhY3RpdmVFbGVtZW50LmlkIHx8PSBgYXJpYS1yZWYtJHtuZXh0SWQrK31gKSk7XG4gIH07XG4gIGNvbnN0IGFzc2lnbkVsZW1lbnRzID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnRbXT4sXG4gICk6IHZvaWQgPT4ge1xuICAgIC8vIEluIGNhc2UgYm90aCBFbGVtZW50IGFuZCBFbGVtZW50SW50ZXJuYWxzIHByb3BlcnRpZXMgYXJlIHNldCxcbiAgICAvLyB3ZSBjb21iaW5lIHRoZSBlbGVtZW50IHJlZmVyZW5jZXMuXG4gICAgaG9zdC5zZXRBdHRyaWJ1dGUoXG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBPYmplY3QudmFsdWVzKGVsZW1lbnRzKVxuICAgICAgICAucmVkdWNlKChjdXJyZW50LCBuZXh0KSA9PiBjdXJyZW50LmNvbmNhdChuZXh0KSlcbiAgICAgICAgLmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKVxuICAgICAgICAubWFwKChlKSA9PiBlLmlkIHx8IChlLmlkID0gYGFyaWEtcmVmLSR7bmV4dElkKyt9YCkpXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgKTtcbiAgfTtcblxuICBmb3IgKGNvbnN0IHR5cGUgb2YgW0VsZW1lbnRJbnRlcm5hbHMsIEVsZW1lbnRdKSB7XG4gICAgY29uc3QgcHJvdG90eXBlID0gdHlwZS5wcm90b3R5cGU7XG4gICAgaWYgKCEoJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgaW4gcHJvdG90eXBlKSkge1xuICAgICAgY29uc3QgYXR0cmlidXRlID0gJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCc7XG4gICAgICBjb25zdCBzdG9yYWdlID0gbmV3IFdlYWtNYXA8XG4gICAgICAgIEVsZW1lbnQsXG4gICAgICAgIHsgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+OyBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB9XG4gICAgICA+KCk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG90eXBlLCAnYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50Jywge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldCh0aGlzOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgaWQgPSBob3N0LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpPy5zcGxpdCgvXFxzKy8pWzBdID8/IG51bGw7XG4gICAgICAgICAgcmV0dXJuIGlkXG4gICAgICAgICAgICA/ICgoaG9zdC5nZXRSb290Tm9kZSgpIGFzIERvY3VtZW50IHwgU2hhZG93Um9vdCkuZ2V0RWxlbWVudEJ5SWQ/LihpZCkgPz8gbnVsbClcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0KHRoaXM6IEVsZW1lbnRJbnRlcm5hbHMgfCBFbGVtZW50LCB2YWx1ZTogRWxlbWVudCB8IG51bGwpIHtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgcHJvcGVydHkgb24gJyR7dHlwZS5uYW1lfSc6IEZhaWxlZCB0byBjb252ZXJ0IHZhbHVlIHRvICdFbGVtZW50Jy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICBlbnRyeT8ub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICBkZWxldGUgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXTtcbiAgICAgICAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhlbnRyeSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgaG9zdC5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpWzBdLCBvYnNlcnZlck9wdGlvbnMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghZW50cnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50PiA9IHsgW3R5cGUubmFtZV06IHZhbHVlIH07XG4gICAgICAgICAgICBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpO1xuICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpKTtcbiAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUodmFsdWUsIG9ic2VydmVyT3B0aW9ucyk7XG4gICAgICAgICAgICBzdG9yYWdlLnNldChob3N0LCB7IGVsZW1lbnRzLCBvYnNlcnZlciB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXSA9IHZhbHVlO1xuICAgICAgICAgICAgYXNzaWduRWxlbWVudChob3N0LCBhdHRyaWJ1dGUsIGVudHJ5LmVsZW1lbnRzKTtcbiAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpLmZvckVhY2goKGUpID0+XG4gICAgICAgICAgICAgIGVudHJ5Lm9ic2VydmVyLm9ic2VydmUoZSwgb2JzZXJ2ZXJPcHRpb25zKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBbXG4gICAgICAnYXJpYUNvbnRyb2xzRWxlbWVudHMnLFxuICAgICAgJ2FyaWFEZXNjcmliZWRCeUVsZW1lbnRzJyxcbiAgICAgICdhcmlhRGV0YWlsc0VsZW1lbnRzJyxcbiAgICAgICdhcmlhRXJyb3JNZXNzYWdlRWxlbWVudHMnLFxuICAgICAgJ2FyaWFMYWJlbGxlZEJ5RWxlbWVudHMnLFxuICAgICAgJ2FyaWFPd25zRWxlbWVudHMnLFxuICAgIF0pIHtcbiAgICAgIGlmICghKHByb3BlcnR5IGluIHByb3RvdHlwZSkpIHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IG5ldyBXZWFrTWFwPFxuICAgICAgICAgIEVsZW1lbnQsXG4gICAgICAgICAgeyBlbGVtZW50czogUmVjb3JkPHN0cmluZywgRWxlbWVudFtdPjsgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfVxuICAgICAgICA+KCk7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGBhcmlhLSR7cHJvcGVydHkuc2xpY2UoNCwgLTgpLnRvTG93ZXJDYXNlKCl9YDtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvdHlwZSwgcHJvcGVydHksIHtcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICBnZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQpOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gaG9zdFxuICAgICAgICAgICAgICAuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgPy5zcGxpdCgvXFxzKy8pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHYsIGksIGEpID0+IGEuaW5kZXhPZih2KSA9PT0gaSlcbiAgICAgICAgICAgICAgLm1hcCgoaWQpID0+IChob3N0LmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290KS5nZXRFbGVtZW50QnlJZD8uKGlkKSlcbiAgICAgICAgICAgICAgLmZpbHRlcigoZSkgPT4gZSBpbnN0YW5jZW9mIEVsZW1lbnQpO1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRzPy5sZW5ndGggPyBPYmplY3QuZnJlZXplKGVsZW1lbnRzKSA6IG51bGw7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQsIHZhbHVlOiBFbGVtZW50W10pIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCB2YWx1ZS5zb21lKChlbGVtZW50KSA9PiAhKGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50KSkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJyR7cHJvcGVydHl9JyBwcm9wZXJ0eSBvbiAnJHt0eXBlLm5hbWV9JzogRmFpbGVkIHRvIGNvbnZlcnQgdmFsdWUgdG8gJ0VsZW1lbnQnLmAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWU/LmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKSA/PyBudWxsO1xuICAgICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICAgIGVudHJ5Py5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdO1xuICAgICAgICAgICAgICAgIGlmICghT2JqZWN0LmtleXMoZW50cnkuZWxlbWVudHMpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpXG4gICAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoZSkgPT4gZW50cnkub2JzZXJ2ZXIub2JzZXJ2ZShlLCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWVudHJ5KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50W10+ID0geyBbdHlwZS5uYW1lXTogdmFsdWUgfTtcbiAgICAgICAgICAgICAgYXNzaWduRWxlbWVudHMoaG9zdCwgYXR0cmlidXRlLCBlbGVtZW50cyk7XG4gICAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT5cbiAgICAgICAgICAgICAgICBhc3NpZ25FbGVtZW50cyhob3N0LCBhdHRyaWJ1dGUsIGVsZW1lbnRzKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoZWxlbWVudCkgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgc3RvcmFnZS5zZXQoaG9zdCwgeyBlbGVtZW50cywgb2JzZXJ2ZXIgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgICAgIGFzc2lnbkVsZW1lbnRzKGhvc3QsIGF0dHJpYnV0ZSwgZW50cnkuZWxlbWVudHMpO1xuICAgICAgICAgICAgICBPYmplY3QudmFsdWVzKGVudHJ5LmVsZW1lbnRzKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChlKSA9PiBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKGUsIG9ic2VydmVyT3B0aW9ucykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBhdHRhY2hlZEVsZW1lbnRJbnRlcm5hbHMgPSBuZXcgV2Vha01hcDxFbGVtZW50LCBFbGVtZW50SW50ZXJuYWxzPigpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlN0YXRlQ29udHJvbGxlciB7XG4gIGFkZCh2YWx1ZTogc3RyaW5nKTogdGhpcztcbiAgZGVsZXRlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuO1xuICBoYXModmFsdWU6IHN0cmluZyk6IGJvb2xlYW47XG4gIHRvZ2dsZSh2YWx1ZTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pOiB2b2lkO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzdGF0ZSBjb250cm9sbGVyIGZvciB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAqIE5PVCBJTlRFTkRFRCBUTyBCRSBVU0VEIEJZIENPTlNVTUVSUyFcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCk6IFNiYlN0YXRlQ29udHJvbGxlcjtcbmV4cG9ydCBmdW5jdGlvbiDJtXN0YXRlQ29udHJvbGxlcihlbGVtZW50OiBFbGVtZW50IHwgdW5kZWZpbmVkIHwgbnVsbCk6IFNiYlN0YXRlQ29udHJvbGxlciB8IG51bGw7XG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCB8IHVuZGVmaW5lZCB8IG51bGwpOiBTYmJTdGF0ZUNvbnRyb2xsZXIgfCBudWxsIHtcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgc3RhdGVzID0gYXR0YWNoZWRFbGVtZW50SW50ZXJuYWxzLmdldChlbGVtZW50KT8uc3RhdGVzO1xuICBjb25zdCB0b2dnbGU6IFNiYlN0YXRlQ29udHJvbGxlclsndG9nZ2xlJ10gPSBmdW5jdGlvbiAodGhpczogU2JiU3RhdGVDb250cm9sbGVyLCB2YWx1ZSwgZm9yY2UpIHtcbiAgICBpZiAoZm9yY2UgfHwgKGZvcmNlICE9PSBmYWxzZSAmJiAhdGhpcy5oYXModmFsdWUpKSkge1xuICAgICAgdGhpcy5hZGQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfVxuICB9O1xuICBpZiAoc3RhdGVzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZCh2YWx1ZSkge1xuICAgICAgICBzdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9LFxuICAgICAgZGVsZXRlOiAodmFsdWUpID0+IHN0YXRlcy5kZWxldGUodmFsdWUpLFxuICAgICAgaGFzOiAodmFsdWUpID0+IHN0YXRlcy5oYXModmFsdWUpLFxuICAgICAgdG9nZ2xlLFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgbm8gRWxlbWVudEludGVybmFscyBpcyBhdHRhY2hlZCwgd2UgZmFsbCBiYWNrIHRvIHVzaW5nIGF0dHJpYnV0ZXMuIEUuZy4gZm9yIHRyaWdnZXJzLlxuICAgIHJldHVybiB7XG4gICAgICBhZGQodmFsdWUpIHtcbiAgICAgICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIHRydWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0sXG4gICAgICBkZWxldGU6ICh2YWx1ZSkgPT4gZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIGZhbHNlKSxcbiAgICAgIGhhczogKHZhbHVlKSA9PiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShgc3RhdGUtLSR7dmFsdWV9YCksXG4gICAgICB0b2dnbGUsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNiYkVsZW1lbnRJbnRlcm5hbHNDb25zdHJ1Y3RvciB7XG4gIHJvbGU/OiBFbGVtZW50SW50ZXJuYWxzWydyb2xlJ107XG59XG5cbmV4cG9ydCBkZWNsYXJlIGFic3RyYWN0IGNsYXNzIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGUge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW50ZXJuYWxzOiBFbGVtZW50SW50ZXJuYWxzO1xuICBwcm90ZWN0ZWQgdG9nZ2xlU3RhdGUodmFsdWU6IHN0cmluZywgZm9yY2U/OiBib29sZWFuKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBcHBlbmRzIHRoZSBnaXZlbiBlbGVtZW50cyB0byB0aGUgZ2l2ZW4gYXJpYSB2YWx1ZSBhbmQgcmV0dXJucyB0aGVcbiAqIGNvbWJpbmVkIHZhbHVlIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIGJvdGggdmFsdWVzIHdlcmUgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCBhcHBlbmRBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ubmV3RWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIGNvbnN0IGVsZW1lbnRzID0gbmV3RWxlbWVudHMuZmlsdGVyKCh2KTogdiBpcyBFbGVtZW50ID0+ICEhdik7XG4gIHJldHVybiBhcmlhVmFsdWU/Lmxlbmd0aCA/IGFyaWFWYWx1ZS5jb25jYXQoZWxlbWVudHMpIDogbmV3RWxlbWVudHMubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBnaXZlbiBlbGVtZW50cyBmcm9tIHRoZSBnaXZlbiBhcmlhIHZhbHVlIGFuZCByZXR1cm5zXG4gKiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIHRoZSByZXN1bHQgaXMgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ucmVtb3ZhYmxlRWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIHJlbW92YWJsZUVsZW1lbnRzID0gcmVtb3ZhYmxlRWxlbWVudHMuZmlsdGVyKCh2KSA9PiAhIXYpO1xuICBjb25zdCBlbGVtZW50cyA9IGFyaWFWYWx1ZT8uZmlsdGVyKCh2KSA9PiAhcmVtb3ZhYmxlRWxlbWVudHMuaW5jbHVkZXModikpID8/IG51bGw7XG4gIHJldHVybiBlbGVtZW50cz8ubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuLyoqXG4gKiBUaGUgU2JiRWxlbWVudEludGVybmFsc01peGluIGF0dGFjaGVzIEVsZW1lbnRJbnRlcm5hbHMgdG8gdGhlIGVsZW1lbnQgYW5kIHNldHNcbiAqIHRoZSByb2xlLCBpZiBkZWZpbmVkLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiRWxlbWVudEludGVybmFsc01peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRWxlbWVudEludGVybmFsc01peGluVHlwZT4gJiBUICYgU2JiRWxlbWVudEludGVybmFsc0NvbnN0cnVjdG9yID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiRWxlbWVudEludGVybmFsRWxlbWVudFxuICAgIGV4dGVuZHMgc3VwZXJDbGFzc1xuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW5UeXBlPlxuICB7XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpbnRlcm5hbHM6IEVsZW1lbnRJbnRlcm5hbHMgPSB0aGlzLmF0dGFjaEludGVybmFscygpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgIGF0dGFjaGVkRWxlbWVudEludGVybmFscy5zZXQodGhpcywgdGhpcy5pbnRlcm5hbHMpO1xuICAgICAgaWYgKEN1c3RvbVN0YXRlU2V0UG9seWZpbGwpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMuaW50ZXJuYWxzLCAnc3RhdGVzJywge1xuICAgICAgICAgIHZhbHVlOiBuZXcgQ3VzdG9tU3RhdGVTZXRQb2x5ZmlsbCh0aGlzKSxcbiAgICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBXZSB1c2UgdGhlIEN1c3RvbVN0YXRlU2V0IHBvbHlmaWxsIGluIFNTUiwgd2hpY2ggcmVuZGVycyB0aGUgc3RhdGUgYXMgYXR0cmlidXRlc1xuICAgICAgICAvLyB3aGljaCBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gY2xpZW50IHNpZGUsIHdoZXJlIHdlIGNhbiB0aGVuIGNvbnZlcnQgW3N0YXRlLS0qXVxuICAgICAgICAvLyBhdHRyaWJ1dGVzIHRvIGludGVybmFsIHN0YXRlLlxuICAgICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgdGhpcy5nZXRBdHRyaWJ1dGVOYW1lcygpLmZpbHRlcigobikgPT4gbi5zdGFydHNXaXRoKCdzdGF0ZS0tJykpKSB7XG4gICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChuYW1lLnNsaWNlKDcpKTtcbiAgICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3Qgcm9sZSA9ICh0aGlzLmNvbnN0cnVjdG9yIGFzIFNiYkVsZW1lbnRJbnRlcm5hbHNDb25zdHJ1Y3Rvcikucm9sZTtcbiAgICAgIGlmIChyb2xlKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnJvbGUgPSByb2xlO1xuICAgICAgfVxuICAgICAgdGhpcy5hZGRDb250cm9sbGVyKG5ldyBTYmJTbG90U3RhdGVDb250cm9sbGVyKHRoaXMsIHRoaXMuaW50ZXJuYWxzKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRvZ2dsZVN0YXRlKHZhbHVlOiBzdHJpbmcsIGZvcmNlPzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgaWYgKGZvcmNlIHx8IChmb3JjZSAhPT0gZmFsc2UgJiYgIXRoaXMuaW50ZXJuYWxzLnN0YXRlcy5oYXModmFsdWUpKSkge1xuICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUodmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gU2JiRWxlbWVudEludGVybmFsRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRWxlbWVudEludGVybmFsc01peGluVHlwZT4gJlxuICAgIFQgJlxuICAgIFNiYkVsZW1lbnRJbnRlcm5hbHNDb25zdHJ1Y3Rvcjtcbn07XG4iXSwibWFwcGluZ3MiOiI7OztBQWNBLElBQU0seUJBQ0osWUFBWSxDQUFDLElBQUksU0FBUyw0QkFBNEIsR0FDbEQsTUFBTSx1QkFDSSxJQUFXO0NBS25CLFlBQTJCLE9BQWlCO0VBQzFDLE9BQU87RUFEa0IsS0FBQSxRQUFBO0VBRm5CLEtBQUEsV0FBVztFQUlqQixLQUFLLE1BQU0sY0FBYyxLQUFLO0VBQzlCLElBQUksQ0FBQyxVQUdILFFBQVEsU0FBUyxDQUFDLFdBQVcsS0FBSyxjQUFjLENBQUM7O0NBSXJDLElBQUksT0FBYTtFQUMvQixJQUFJLEtBQUssVUFDUCxLQUFLLGFBQWEsT0FBTyxLQUFLO0VBRWhDLE9BQU8sTUFBTSxJQUFJLE1BQU07O0NBR1QsT0FBTyxPQUFhO0VBQ2xDLEtBQUssYUFBYSxPQUFPLE1BQU07RUFDL0IsT0FBTyxNQUFNLE9BQU8sTUFBTTs7Q0FHWixRQUFLO0VBQ25CLEtBQUss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
|
|
222
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1pbnRlcm5hbHMtbWl4aW4uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvbWl4aW5zL2VsZW1lbnQtaW50ZXJuYWxzLW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyLCB0eXBlIExpdEVsZW1lbnQsIHR5cGUgUmVhY3RpdmVDb250cm9sbGVyIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgU2JiU2xvdFN0YXRlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvbnRyb2xsZXJzL3Nsb3Qtc3RhdGUtY29udHJvbGxlci50cyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IudHMnO1xuXG4vLyBNb3N0IG9mIG91ciB0YXJnZXQgYnJvd3NlcnMgc3VwcG9ydCB0aGUgOnN0YXRlKCkgcHNldWRvIGNsYXNzLCBidXQgbm90IGFsbCBvZiB0aGVtLlxuLy8gV2UgcGF0Y2ggdGhlIHN0YXRlcyBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCBpbnRlcm5hbHMgdG8gdXNlIGF0dHJpYnV0ZXMgaW5zdGVhZCxcbi8vIGlmIDpzdGF0ZSgpIGlzIG5vdCBzdXBwb3J0ZWQuXG4vLyBOb3RlIHRoYXQgZm9yIFNTUiwgdGhlIHN0YXRlcyBwcm9wZXJ0eSBpcyBhIHNpbXBsZSBTZXQsIGltcGxlbWVudGVkIGluIExpdCBTU1IuXG4vLyBXZWJLaXQgc2VlbXMgdG8gaGF2ZSBzdGF0ZSBkZXRlY3Rpb24gcHJvYmxlbXMsIHNvIHdlIGVuYWJsZSB0aGUgcG9seWZpbGwgZm9yIG5vdy5cbi8vIFRPRE86IFJlY2hlY2sgZW5hYmxpbmcgYnkgdGVzdGluZyBzYmItYXV0b2NvbXBsZXRlIHdoZXRoZXIgaXQgcmVsaWFibHkgb3BlbnMgaW4gU2FmYXJpXG50eXBlIEN1c3RvbVN0YXRlU2V0SW50ZXJmYWNlID0gQ3VzdG9tU3RhdGVTZXQ7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5jb25zdCBDdXN0b21TdGF0ZVNldFBvbHlmaWxsOiAobmV3IChob3N0OiBMaXRFbGVtZW50KSA9PiBDdXN0b21TdGF0ZVNldEludGVyZmFjZSkgfCBudWxsID1cbiAgaXNTZXJ2ZXIgfHwgIUNTUy5zdXBwb3J0cygnc2VsZWN0b3IoOnN0YXRlKGxvYWRpbmcpKScpXG4gICAgPyBjbGFzcyBDdXN0b21TdGF0ZVNldFxuICAgICAgICBleHRlbmRzIFNldDxzdHJpbmc+XG4gICAgICAgIGltcGxlbWVudHMgQ3VzdG9tU3RhdGVTZXRJbnRlcmZhY2UsIFJlYWN0aXZlQ29udHJvbGxlclxuICAgICAge1xuICAgICAgICBwcml2YXRlIF9hcHBsaWVkID0gaXNTZXJ2ZXI7XG5cbiAgICAgICAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgX2hvc3Q6IExpdEVsZW1lbnQpIHtcbiAgICAgICAgICBzdXBlcigpO1xuICAgICAgICAgIHRoaXMuX2hvc3QuYWRkQ29udHJvbGxlcih0aGlzKTtcbiAgICAgICAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICAgICAgICAvLyBXZSB3YW50IHRvIGFwcGx5IHRoZSBhdHRyaWJ1dGVzIGFzIGVhcmx5IGFzIHBvc3NpYmxlIHdoaWNoIGNhblxuICAgICAgICAgICAgLy8gZWl0aGVyIGJlIHZpYSB0aGlzIFByb21pc2UucmVzb2x2ZSgpIG9yIHRoZSBjb25uZWN0ZWRDYWxsYmFjaygpLlxuICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB0aGlzLl9hcHBseVN0YXRlcygpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgb3ZlcnJpZGUgYWRkKHN0YXRlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgICBpZiAodGhpcy5fYXBwbGllZCkge1xuICAgICAgICAgICAgdGhpcy5fdG9nZ2xlU3RhdGUoc3RhdGUsIHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gc3VwZXIuYWRkKHN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBkZWxldGUoc3RhdGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICAgIHRoaXMuX3RvZ2dsZVN0YXRlKHN0YXRlLCBmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuIHN1cGVyLmRlbGV0ZShzdGF0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgb3ZlcnJpZGUgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgICAgdGhpcy5mb3JFYWNoKChzdGF0ZSkgPT4gdGhpcy5kZWxldGUoc3RhdGUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBob3N0Q29ubmVjdGVkKCk6IHZvaWQge1xuICAgICAgICAgIHRoaXMuX2FwcGx5U3RhdGVzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIF90b2dnbGVTdGF0ZShzdGF0ZTogc3RyaW5nLCBlbmFibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgICAgdGhpcy5faG9zdC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3N0YXRlfWAsIGVuYWJsZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBfYXBwbHlTdGF0ZXMoKTogdm9pZCB7XG4gICAgICAgICAgaWYgKHRoaXMuX2FwcGxpZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fYXBwbGllZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5mb3JFYWNoKChzdGF0ZSkgPT4gdGhpcy5fdG9nZ2xlU3RhdGUoc3RhdGUsIHRydWUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIDogbnVsbDtcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgQVJJQU1peGluIHtcbiAgICBhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQ6IEVsZW1lbnQgfCBudWxsO1xuICAgIGFyaWFDb250cm9sc0VsZW1lbnRzOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsO1xuICAgIGFyaWFEZXNjcmliZWRCeUVsZW1lbnRzOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsO1xuICAgIGFyaWFEZXRhaWxzRWxlbWVudHM6IHJlYWRvbmx5IEVsZW1lbnRbXSB8IG51bGw7XG4gICAgYXJpYUVycm9yTWVzc2FnZUVsZW1lbnRzOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsO1xuICAgIGFyaWFMYWJlbGxlZEJ5RWxlbWVudHM6IHJlYWRvbmx5IEVsZW1lbnRbXSB8IG51bGw7XG4gICAgYXJpYU93bnNFbGVtZW50czogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbDtcbiAgfVxufVxuXG5pZiAoIWlzU2VydmVyKSB7XG4gIC8vIFRoaXMgaXMgYSBwb2x5ZmlsbCBmb3IgdGhlIGFyaWEgZWxlbWVudHMgcHJvcGVydGllcyBvbiBFbGVtZW50SW50ZXJuYWxzIGFuZCBFbGVtZW50LlxuICBsZXQgbmV4dElkID0gMDtcbiAgY29uc3QgcmVzb2x2ZUhvc3QgPSAob3JpZ2luOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgPT5cbiAgICBvcmlnaW4uc2hhZG93Um9vdD8uaG9zdCA/P1xuICAgIChvcmlnaW4gaW5zdGFuY2VvZiBFbGVtZW50XG4gICAgICA/IG9yaWdpblxuICAgICAgOiAoKCkgPT4ge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHJlc29sdmUgcmVsYXRlZCBlbGVtZW50ISBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uJyk7XG4gICAgICAgIH0pKCkpO1xuICBjb25zdCBvYnNlcnZlck9wdGlvbnM6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0geyBhdHRyaWJ1dGVzOiB0cnVlLCBhdHRyaWJ1dGVGaWx0ZXI6IFsnaWQnXSB9O1xuICBjb25zdCBhc3NpZ25FbGVtZW50ID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+LFxuICApOiB2b2lkID0+IHtcbiAgICAvLyBJbiBjYXNlIGJvdGggRWxlbWVudCBhbmQgRWxlbWVudEludGVybmFscyBwcm9wZXJ0aWVzIGFyZSBzZXQsXG4gICAgLy8gdGhlIGVsZW1lbnQgcmVmZXJlbmNlIGZyb20gRWxlbWVudCBoYXMgcHJpb3JpdHkuXG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGVsZW1lbnRzW0VsZW1lbnQubmFtZV0gPz8gZWxlbWVudHNbRWxlbWVudEludGVybmFscy5uYW1lXTtcbiAgICBob3N0LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIChhY3RpdmVFbGVtZW50LmlkIHx8PSBgYXJpYS1yZWYtJHtuZXh0SWQrK31gKSk7XG4gIH07XG4gIGNvbnN0IGFzc2lnbkVsZW1lbnRzID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnRbXT4sXG4gICk6IHZvaWQgPT4ge1xuICAgIC8vIEluIGNhc2UgYm90aCBFbGVtZW50IGFuZCBFbGVtZW50SW50ZXJuYWxzIHByb3BlcnRpZXMgYXJlIHNldCxcbiAgICAvLyB3ZSBjb21iaW5lIHRoZSBlbGVtZW50IHJlZmVyZW5jZXMuXG4gICAgaG9zdC5zZXRBdHRyaWJ1dGUoXG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBPYmplY3QudmFsdWVzKGVsZW1lbnRzKVxuICAgICAgICAucmVkdWNlKChjdXJyZW50LCBuZXh0KSA9PiBjdXJyZW50LmNvbmNhdChuZXh0KSlcbiAgICAgICAgLmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKVxuICAgICAgICAubWFwKChlKSA9PiBlLmlkIHx8IChlLmlkID0gYGFyaWEtcmVmLSR7bmV4dElkKyt9YCkpXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgKTtcbiAgfTtcblxuICBmb3IgKGNvbnN0IHR5cGUgb2YgW0VsZW1lbnRJbnRlcm5hbHMsIEVsZW1lbnRdKSB7XG4gICAgY29uc3QgcHJvdG90eXBlID0gdHlwZS5wcm90b3R5cGU7XG4gICAgaWYgKCEoJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgaW4gcHJvdG90eXBlKSkge1xuICAgICAgY29uc3QgYXR0cmlidXRlID0gJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCc7XG4gICAgICBjb25zdCBzdG9yYWdlID0gbmV3IFdlYWtNYXA8XG4gICAgICAgIEVsZW1lbnQsXG4gICAgICAgIHsgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+OyBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB9XG4gICAgICA+KCk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG90eXBlLCAnYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50Jywge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldCh0aGlzOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgaWQgPSBob3N0LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpPy5zcGxpdCgvXFxzKy8pWzBdID8/IG51bGw7XG4gICAgICAgICAgcmV0dXJuIGlkXG4gICAgICAgICAgICA/ICgoaG9zdC5nZXRSb290Tm9kZSgpIGFzIERvY3VtZW50IHwgU2hhZG93Um9vdCkuZ2V0RWxlbWVudEJ5SWQ/LihpZCkgPz8gbnVsbClcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0KHRoaXM6IEVsZW1lbnRJbnRlcm5hbHMgfCBFbGVtZW50LCB2YWx1ZTogRWxlbWVudCB8IG51bGwpIHtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgcHJvcGVydHkgb24gJyR7dHlwZS5uYW1lfSc6IEZhaWxlZCB0byBjb252ZXJ0IHZhbHVlIHRvICdFbGVtZW50Jy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICBlbnRyeT8ub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICBkZWxldGUgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXTtcbiAgICAgICAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhlbnRyeSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgaG9zdC5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpWzBdLCBvYnNlcnZlck9wdGlvbnMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghZW50cnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50PiA9IHsgW3R5cGUubmFtZV06IHZhbHVlIH07XG4gICAgICAgICAgICBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpO1xuICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpKTtcbiAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUodmFsdWUsIG9ic2VydmVyT3B0aW9ucyk7XG4gICAgICAgICAgICBzdG9yYWdlLnNldChob3N0LCB7IGVsZW1lbnRzLCBvYnNlcnZlciB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXSA9IHZhbHVlO1xuICAgICAgICAgICAgYXNzaWduRWxlbWVudChob3N0LCBhdHRyaWJ1dGUsIGVudHJ5LmVsZW1lbnRzKTtcbiAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpLmZvckVhY2goKGUpID0+XG4gICAgICAgICAgICAgIGVudHJ5Lm9ic2VydmVyLm9ic2VydmUoZSwgb2JzZXJ2ZXJPcHRpb25zKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBbXG4gICAgICAnYXJpYUNvbnRyb2xzRWxlbWVudHMnLFxuICAgICAgJ2FyaWFEZXNjcmliZWRCeUVsZW1lbnRzJyxcbiAgICAgICdhcmlhRGV0YWlsc0VsZW1lbnRzJyxcbiAgICAgICdhcmlhRXJyb3JNZXNzYWdlRWxlbWVudHMnLFxuICAgICAgJ2FyaWFMYWJlbGxlZEJ5RWxlbWVudHMnLFxuICAgICAgJ2FyaWFPd25zRWxlbWVudHMnLFxuICAgIF0pIHtcbiAgICAgIGlmICghKHByb3BlcnR5IGluIHByb3RvdHlwZSkpIHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IG5ldyBXZWFrTWFwPFxuICAgICAgICAgIEVsZW1lbnQsXG4gICAgICAgICAgeyBlbGVtZW50czogUmVjb3JkPHN0cmluZywgRWxlbWVudFtdPjsgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfVxuICAgICAgICA+KCk7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGBhcmlhLSR7cHJvcGVydHkuc2xpY2UoNCwgLTgpLnRvTG93ZXJDYXNlKCl9YDtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvdHlwZSwgcHJvcGVydHksIHtcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICBnZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQpOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gaG9zdFxuICAgICAgICAgICAgICAuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgPy5zcGxpdCgvXFxzKy8pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHYsIGksIGEpID0+IGEuaW5kZXhPZih2KSA9PT0gaSlcbiAgICAgICAgICAgICAgLm1hcCgoaWQpID0+IChob3N0LmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290KS5nZXRFbGVtZW50QnlJZD8uKGlkKSlcbiAgICAgICAgICAgICAgLmZpbHRlcigoZSkgPT4gZSBpbnN0YW5jZW9mIEVsZW1lbnQpO1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRzPy5sZW5ndGggPyBPYmplY3QuZnJlZXplKGVsZW1lbnRzKSA6IG51bGw7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQsIHZhbHVlOiBFbGVtZW50W10pIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCB2YWx1ZS5zb21lKChlbGVtZW50KSA9PiAhKGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50KSkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJyR7cHJvcGVydHl9JyBwcm9wZXJ0eSBvbiAnJHt0eXBlLm5hbWV9JzogRmFpbGVkIHRvIGNvbnZlcnQgdmFsdWUgdG8gJ0VsZW1lbnQnLmAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWU/LmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKSA/PyBudWxsO1xuICAgICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICAgIGVudHJ5Py5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdO1xuICAgICAgICAgICAgICAgIGlmICghT2JqZWN0LmtleXMoZW50cnkuZWxlbWVudHMpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpXG4gICAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoZSkgPT4gZW50cnkub2JzZXJ2ZXIub2JzZXJ2ZShlLCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWVudHJ5KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50W10+ID0geyBbdHlwZS5uYW1lXTogdmFsdWUgfTtcbiAgICAgICAgICAgICAgYXNzaWduRWxlbWVudHMoaG9zdCwgYXR0cmlidXRlLCBlbGVtZW50cyk7XG4gICAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT5cbiAgICAgICAgICAgICAgICBhc3NpZ25FbGVtZW50cyhob3N0LCBhdHRyaWJ1dGUsIGVsZW1lbnRzKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoZWxlbWVudCkgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgc3RvcmFnZS5zZXQoaG9zdCwgeyBlbGVtZW50cywgb2JzZXJ2ZXIgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgICAgIGFzc2lnbkVsZW1lbnRzKGhvc3QsIGF0dHJpYnV0ZSwgZW50cnkuZWxlbWVudHMpO1xuICAgICAgICAgICAgICBPYmplY3QudmFsdWVzKGVudHJ5LmVsZW1lbnRzKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChlKSA9PiBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKGUsIG9ic2VydmVyT3B0aW9ucykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBhdHRhY2hlZEVsZW1lbnRJbnRlcm5hbHMgPSBuZXcgV2Vha01hcDxFbGVtZW50LCBFbGVtZW50SW50ZXJuYWxzPigpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlN0YXRlQ29udHJvbGxlciB7XG4gIGFkZCh2YWx1ZTogc3RyaW5nKTogdGhpcztcbiAgZGVsZXRlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuO1xuICBoYXModmFsdWU6IHN0cmluZyk6IGJvb2xlYW47XG4gIHRvZ2dsZSh2YWx1ZTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pOiB2b2lkO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzdGF0ZSBjb250cm9sbGVyIGZvciB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAqIE5PVCBJTlRFTkRFRCBUTyBCRSBVU0VEIEJZIENPTlNVTUVSUyFcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCk6IFNiYlN0YXRlQ29udHJvbGxlcjtcbmV4cG9ydCBmdW5jdGlvbiDJtXN0YXRlQ29udHJvbGxlcihlbGVtZW50OiBFbGVtZW50IHwgdW5kZWZpbmVkIHwgbnVsbCk6IFNiYlN0YXRlQ29udHJvbGxlciB8IG51bGw7XG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCB8IHVuZGVmaW5lZCB8IG51bGwpOiBTYmJTdGF0ZUNvbnRyb2xsZXIgfCBudWxsIHtcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgc3RhdGVzID0gYXR0YWNoZWRFbGVtZW50SW50ZXJuYWxzLmdldChlbGVtZW50KT8uc3RhdGVzO1xuICBjb25zdCB0b2dnbGU6IFNiYlN0YXRlQ29udHJvbGxlclsndG9nZ2xlJ10gPSBmdW5jdGlvbiAodGhpczogU2JiU3RhdGVDb250cm9sbGVyLCB2YWx1ZSwgZm9yY2UpIHtcbiAgICBpZiAoZm9yY2UgfHwgKGZvcmNlICE9PSBmYWxzZSAmJiAhdGhpcy5oYXModmFsdWUpKSkge1xuICAgICAgdGhpcy5hZGQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfVxuICB9O1xuICBpZiAoc3RhdGVzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZCh2YWx1ZSkge1xuICAgICAgICBzdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9LFxuICAgICAgZGVsZXRlOiAodmFsdWUpID0+IHN0YXRlcy5kZWxldGUodmFsdWUpLFxuICAgICAgaGFzOiAodmFsdWUpID0+IHN0YXRlcy5oYXModmFsdWUpLFxuICAgICAgdG9nZ2xlLFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgbm8gRWxlbWVudEludGVybmFscyBpcyBhdHRhY2hlZCwgd2UgZmFsbCBiYWNrIHRvIHVzaW5nIGF0dHJpYnV0ZXMuIEUuZy4gZm9yIHRyaWdnZXJzLlxuICAgIHJldHVybiB7XG4gICAgICBhZGQodmFsdWUpIHtcbiAgICAgICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIHRydWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0sXG4gICAgICBkZWxldGU6ICh2YWx1ZSkgPT4gZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIGZhbHNlKSxcbiAgICAgIGhhczogKHZhbHVlKSA9PiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShgc3RhdGUtLSR7dmFsdWV9YCksXG4gICAgICB0b2dnbGUsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNiYkVsZW1lbnRJbnRlcm5hbHNDb25zdHJ1Y3RvciB7XG4gIHJvbGU/OiBFbGVtZW50SW50ZXJuYWxzWydyb2xlJ107XG59XG5cbmV4cG9ydCBkZWNsYXJlIGFic3RyYWN0IGNsYXNzIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGUge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW50ZXJuYWxzOiBFbGVtZW50SW50ZXJuYWxzO1xuICBwcm90ZWN0ZWQgdG9nZ2xlU3RhdGUodmFsdWU6IHN0cmluZywgZm9yY2U/OiBib29sZWFuKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBcHBlbmRzIHRoZSBnaXZlbiBlbGVtZW50cyB0byB0aGUgZ2l2ZW4gYXJpYSB2YWx1ZSBhbmQgcmV0dXJucyB0aGVcbiAqIGNvbWJpbmVkIHZhbHVlIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIGJvdGggdmFsdWVzIHdlcmUgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCBhcHBlbmRBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ubmV3RWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIGNvbnN0IGVsZW1lbnRzID0gbmV3RWxlbWVudHMuZmlsdGVyKCh2KTogdiBpcyBFbGVtZW50ID0+ICEhdik7XG4gIHJldHVybiBhcmlhVmFsdWU/Lmxlbmd0aCA/IGFyaWFWYWx1ZS5jb25jYXQoZWxlbWVudHMpIDogbmV3RWxlbWVudHMubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBnaXZlbiBlbGVtZW50cyBmcm9tIHRoZSBnaXZlbiBhcmlhIHZhbHVlIGFuZCByZXR1cm5zXG4gKiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIHRoZSByZXN1bHQgaXMgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ucmVtb3ZhYmxlRWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIHJlbW92YWJsZUVsZW1lbnRzID0gcmVtb3ZhYmxlRWxlbWVudHMuZmlsdGVyKCh2KSA9PiAhIXYpO1xuICBjb25zdCBlbGVtZW50cyA9IGFyaWFWYWx1ZT8uZmlsdGVyKCh2KSA9PiAhcmVtb3ZhYmxlRWxlbWVudHMuaW5jbHVkZXModikpID8/IG51bGw7XG4gIHJldHVybiBlbGVtZW50cz8ubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuLyoqXG4gKiBUaGUgU2JiRWxlbWVudEludGVybmFsc01peGluIGF0dGFjaGVzIEVsZW1lbnRJbnRlcm5hbHMgdG8gdGhlIGVsZW1lbnQgYW5kIHNldHNcbiAqIHRoZSByb2xlLCBpZiBkZWZpbmVkLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiRWxlbWVudEludGVybmFsc01peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRWxlbWVudEludGVybmFsc01peGluVHlwZT4gJiBUICYgU2JiRWxlbWVudEludGVybmFsc0NvbnN0cnVjdG9yID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiRWxlbWVudEludGVybmFsRWxlbWVudFxuICAgIGV4dGVuZHMgc3VwZXJDbGFzc1xuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW5UeXBlPlxuICB7XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpbnRlcm5hbHM6IEVsZW1lbnRJbnRlcm5hbHMgPSB0aGlzLmF0dGFjaEludGVybmFscygpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgIGF0dGFjaGVkRWxlbWVudEludGVybmFscy5zZXQodGhpcywgdGhpcy5pbnRlcm5hbHMpO1xuICAgICAgaWYgKEN1c3RvbVN0YXRlU2V0UG9seWZpbGwpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMuaW50ZXJuYWxzLCAnc3RhdGVzJywge1xuICAgICAgICAgIHZhbHVlOiBuZXcgQ3VzdG9tU3RhdGVTZXRQb2x5ZmlsbCh0aGlzKSxcbiAgICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBXZSB1c2UgdGhlIEN1c3RvbVN0YXRlU2V0IHBvbHlmaWxsIGluIFNTUiwgd2hpY2ggcmVuZGVycyB0aGUgc3RhdGUgYXMgYXR0cmlidXRlc1xuICAgICAgICAvLyB3aGljaCBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gY2xpZW50IHNpZGUsIHdoZXJlIHdlIGNhbiB0aGVuIGNvbnZlcnQgW3N0YXRlLS0qXVxuICAgICAgICAvLyBhdHRyaWJ1dGVzIHRvIGludGVybmFsIHN0YXRlLlxuICAgICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgdGhpcy5nZXRBdHRyaWJ1dGVOYW1lcygpLmZpbHRlcigobikgPT4gbi5zdGFydHNXaXRoKCdzdGF0ZS0tJykpKSB7XG4gICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChuYW1lLnNsaWNlKDcpKTtcbiAgICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3Qgcm9sZSA9ICh0aGlzLmNvbnN0cnVjdG9yIGFzIFNiYkVsZW1lbnRJbnRlcm5hbHNDb25zdHJ1Y3Rvcikucm9sZTtcbiAgICAgIGlmIChyb2xlKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnJvbGUgPSByb2xlO1xuICAgICAgfVxuICAgICAgdGhpcy5hZGRDb250cm9sbGVyKG5ldyBTYmJTbG90U3RhdGVDb250cm9sbGVyKHRoaXMsIHRoaXMuaW50ZXJuYWxzKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRvZ2dsZVN0YXRlKHZhbHVlOiBzdHJpbmcsIGZvcmNlPzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgaWYgKGZvcmNlIHx8IChmb3JjZSAhPT0gZmFsc2UgJiYgIXRoaXMuaW50ZXJuYWxzLnN0YXRlcy5oYXModmFsdWUpKSkge1xuICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUodmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gU2JiRWxlbWVudEludGVybmFsRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRWxlbWVudEludGVybmFsc01peGluVHlwZT4gJlxuICAgIFQgJlxuICAgIFNiYkVsZW1lbnRJbnRlcm5hbHNDb25zdHJ1Y3Rvcjtcbn07XG4iXSwibWFwcGluZ3MiOiI7OztBQWNBLElBQU0seUJBQ0osWUFBWSxDQUFDLElBQUksU0FBUywyQkFBMkIsSUFDakQsTUFBTSx1QkFDSSxJQUFXO0NBS25CLFlBQTJCLE9BQWlCO0VBQzFDLE1BQUs7RUFEb0IsS0FBQSxRQUFBO0VBRm5CLEtBQUEsV0FBVztFQUlqQixLQUFLLE1BQU0sY0FBYyxJQUFJO0VBQzdCLElBQUksQ0FBQyxVQUdILFFBQVEsUUFBTyxFQUFHLFdBQVcsS0FBSyxhQUFZLENBQUU7Q0FFcEQ7Q0FFZ0IsSUFBSSxPQUFhO0VBQy9CLElBQUksS0FBSyxVQUNQLEtBQUssYUFBYSxPQUFPLElBQUk7RUFFL0IsT0FBTyxNQUFNLElBQUksS0FBSztDQUN4QjtDQUVnQixPQUFPLE9BQWE7RUFDbEMsS0FBSyxhQUFhLE9BQU8sS0FBSztFQUM5QixPQUFPLE1BQU0sT0FBTyxLQUFLO0NBQzNCO0NBRWdC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
|
|
@@ -164,4 +164,4 @@ var SbbFormAssociatedCheckboxMixin = (superClass) => {
|
|
|
164
164
|
//#endregion
|
|
165
165
|
export { SbbFormAssociatedCheckboxMixin };
|
|
166
166
|
|
|
167
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLWNoZWNrYm94LW1peGluLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9mb3JtLWFzc29jaWF0ZWQtY2hlY2tib3gtbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmYXVsdENvbnZlcnRlciwgdHlwZSBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgcHJldmVudFNjcm9sbE9uU3BhY2ViYXJQcmVzcyB9IGZyb20gJy4uL2V2ZW50aW5nLnRzJztcbmltcG9ydCB7IGkxOG5DaGVja2JveFJlcXVpcmVkIH0gZnJvbSAnLi4vaTE4bi50cyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IudHMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiB9IGZyb20gJy4vZGlzYWJsZWQtbWl4aW4udHMnO1xuaW1wb3J0IHtcbiAgU2JiRWxlbWVudEludGVybmFsc01peGluLFxuICB0eXBlIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGUsXG4gIHR5cGUgU2JiRWxlbWVudEludGVybmFsc0NvbnN0cnVjdG9yLFxufSBmcm9tICcuL2VsZW1lbnQtaW50ZXJuYWxzLW1peGluLnRzJztcbmltcG9ydCB7XG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4sXG4gIHR5cGUgRm9ybVJlc3RvcmVSZWFzb24sXG4gIHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSxcbn0gZnJvbSAnLi9mb3JtLWFzc29jaWF0ZWQtbWl4aW4udHMnO1xuaW1wb3J0IHsgU2JiUmVxdWlyZWRNaXhpbiB9IGZyb20gJy4vcmVxdWlyZWQtbWl4aW4udHMnO1xuXG5pbnRlcmZhY2UgQ2hlY2tlZFNldHRlclZhbHVlIHtcbiAgdmFsdWU6IGJvb2xlYW47XG4gIGF0dHJpYnV0ZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluVHlwZSBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkpKSxcbikge1xuICBwdWJsaWMgYWNjZXNzb3IgY2hlY2tlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcbiAgcHVibGljIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsIHJlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24pOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBpc1JlcXVpcmVkRXh0ZXJuYWxseSgpOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgd2l0aFVzZXJJbnRlcmFjdGlvbj8oKTogdm9pZDtcbiAgcHJvdGVjdGVkIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkO1xufVxuXG4vKipcbiAqIFRoZSBGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW4gZW5hYmxlcyBuYXRpdmUgZm9ybSBzdXBwb3J0IGZvciBjaGVja2JveCBjb250cm9scy5cbiAqXG4gKiBJbmhlcml0ZWQgY2xhc3NlcyBNVVNUIGltcGxlbWVudCB0aGUgYXJpYUNoZWNrZWQgc3RhdGUgKEVsZW1lbnRJbnRlcm5hbHMpIHRoZW1zZWx2ZXMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW5UeXBlPiAmIFQgPT4ge1xuICAvLyBUT0RPKGJyZWFraW5nLWNoYW5nZSk6IFJlbW92ZSBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gYW5kIGRlcGVuZCBvbiBTYmJFbGVtZW50IGFzIGJhc2UgY2xhc3MgaW5zdGVhZCBvZiBMaXRFbGVtZW50XG4gIGNvbnN0IGNvbmRpdGlvbmFsU3VwZXJDbGFzcyA9IChzdXBlckNsYXNzIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pWydfJHNiYkVsZW1lbnQkJ11cbiAgICA/IChzdXBlckNsYXNzIGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW5UeXBlPiAmXG4gICAgICAgIFQgJlxuICAgICAgICBTYmJFbGVtZW50SW50ZXJuYWxzQ29uc3RydWN0b3IpXG4gICAgOiBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oc3VwZXJDbGFzcyk7XG5cbiAgQGhvc3RBdHRyaWJ1dGVzKHtcbiAgICB0YWJpbmRleDogJzAnLFxuICB9KVxuICBhYnN0cmFjdCBjbGFzcyBTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94RWxlbWVudFxuICAgIGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihTYmJSZXF1aXJlZE1peGluKFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oY29uZGl0aW9uYWxTdXBlckNsYXNzKSkpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnY2hlY2tib3gnO1xuXG4gICAgcHJpdmF0ZSBfYXR0cmlidXRlTXV0YXRpb25CbG9ja2VkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfbGFuZ3VhZ2VDb250cm9sbGVyID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLiAqL1xuICAgIEBwcm9wZXJ0eSh7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgY29udmVydGVyOiB7XG4gICAgICAgIC4uLmRlZmF1bHRDb252ZXJ0ZXIsXG4gICAgICAgIC8vIFdlIG5lZWQgdG8gcGFzcyBpbmZvcm1hdGlvbiB0byB0aGUgc2V0dGVyIHNvIHRoYXQgd2Uga25vdyBpdCB3YXMgY2FsbGVkIGJ5IGF0dHJpYnV0ZSBjaGFuZ2UuXG4gICAgICAgIGZyb21BdHRyaWJ1dGU6ICh2YWx1ZTogc3RyaW5nIHwgbnVsbCwgdHlwZT86IHVua25vd24pOiBDaGVja2VkU2V0dGVyVmFsdWUgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGRlZmF1bHRDb252ZXJ0ZXIuZnJvbUF0dHJpYnV0ZT8uKHZhbHVlLCB0eXBlKTtcbiAgICAgICAgICByZXR1cm4geyB2YWx1ZTogcmVzdWx0LCBhdHRyaWJ1dGU6IHRydWUgfSBhcyBDaGVja2VkU2V0dGVyVmFsdWU7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pXG4gICAgcHVibGljIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVTZXR0ZXIgPVxuICAgICAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnID8gKHZhbHVlIGFzIHVua25vd24gYXMgQ2hlY2tlZFNldHRlclZhbHVlKS5hdHRyaWJ1dGUgOiBmYWxzZTtcbiAgICAgIGlmIChhdHRyaWJ1dGVTZXR0ZXIpIHtcbiAgICAgICAgdmFsdWUgPSAodmFsdWUgYXMgdW5rbm93biBhcyBDaGVja2VkU2V0dGVyVmFsdWUpLnZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBBcyBzb29uIGFzIG11dGF0aW9uIHdhcyBkb25lIG5vdCBieSBzZXR0aW5nIGF0dHJpYnV0ZSxcbiAgICAgIC8vIHdlIG5lZWQgdG8gYmxvY2sgc3luY2luZyBhdHRyaWJ1dGUuXG4gICAgICBpZiAodGhpcy5oYXNVcGRhdGVkICYmICFhdHRyaWJ1dGVTZXR0ZXIpIHtcbiAgICAgICAgdGhpcy5fYXR0cmlidXRlTXV0YXRpb25CbG9ja2VkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2NoZWNrZWQgPSBCb29sZWFuKHZhbHVlKTtcbiAgICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLl9jaGVja2VkO1xuICAgIH1cbiAgICBwcml2YXRlIF9jaGVja2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBGb3JtIHR5cGUgb2YgZWxlbWVudC5cbiAgICAgKiBAZGVmYXVsdCAnY2hlY2tib3gnXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gJ2NoZWNrYm94JztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgdGhpcy5faGFuZGxlVXNlckludGVyYWN0aW9uKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgcHJldmVudFNjcm9sbE9uU3BhY2ViYXJQcmVzcyk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5dXAnLCB0aGlzLl9oYW5kbGVLZXlib2FyZEludGVyYWN0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKFxuICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgb2xkOiBzdHJpbmcgfCBudWxsLFxuICAgICAgdmFsdWU6IHN0cmluZyB8IG51bGwsXG4gICAgKTogdm9pZCB7XG4gICAgICAvLyBBdHRyaWJ1dGUgc2hvdWxkIG5vdCBiZSBpbnRlcnByZXRlZCBhZnRlciBwcm9ncmFtbWF0aWMgb3IgbWFudWFsIHN0YXRlIGNoYW5nZS5cbiAgICAgIGlmIChuYW1lICE9PSAnY2hlY2tlZCcgfHwgIXRoaXMuX2F0dHJpYnV0ZU11dGF0aW9uQmxvY2tlZCkge1xuICAgICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBmb3JtIGlzIGJlaW5nIHJlc2V0LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgdGhpcy5jaGVja2VkID0gdGhpcy5oYXNBdHRyaWJ1dGUoJ2NoZWNrZWQnKTtcbiAgICAgIHRoaXMuX2F0dHJpYnV0ZU11dGF0aW9uQmxvY2tlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBDYWxsZWQgd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gcmVzdG9yZSBlbGVtZW504oCZcyBzdGF0ZSB0byBzdGF0ZSBpbiB3aGljaCBjYXNlXG4gICAgICogIHJlYXNvbiBpcyBcInJlc3RvcmVcIiwgb3Igd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gZnVsZmlsbCBhdXRvZmlsbCBvbiBiZWhhbGYgb2ZcbiAgICAgKiAgdXNlciBpbiB3aGljaCBjYXNlIHJlYXNvbiBpcyBcImF1dG9jb21wbGV0ZVwiLlxuICAgICAqICBJbiB0aGUgY2FzZSBvZiBcInJlc3RvcmVcIiwgc3RhdGUgaXMgYSBzdHJpbmcsIEZpbGUsIG9yIEZvcm1EYXRhIG9iamVjdFxuICAgICAqICBwcmV2aW91c2x5IHNldCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHNldEZvcm1WYWx1ZS5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgICApOiB2b2lkIHtcbiAgICAgIGlmIChzdGF0ZSkge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSBzdGF0ZSA9PT0gJ3RydWUnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZGl0aW9uYWwgbG9naWMgd2hpY2ggaXMgYmVpbmcgZXhlY3V0ZWQgd2hlbiB1c2VyXG4gICAgICogaW50ZXJhY3Rpb24gaGFwcGVucyBhbmQgc3RhdGUgaXMgbm90IGRpc2FibGVkLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCB3aXRoVXNlckludGVyYWN0aW9uPygpOiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmNoZWNrZWQpIHtcbiAgICAgICAgc3VwZXIudXBkYXRlRm9ybVZhbHVlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmludGVybmFscy5zZXRGb3JtVmFsdWUobnVsbCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGZvcm1TdGF0ZSgpOiBGb3JtUmVzdG9yZVN0YXRlIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmNoZWNrZWR9YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fCBuYW1lID09PSAnY2hlY2tlZCcgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgICBzdXBlci52YWxpZGF0ZSgpO1xuICAgICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgIXRoaXMuY2hlY2tlZCkge1xuICAgICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZyhcbiAgICAgICAgICAndmFsdWVNaXNzaW5nJyxcbiAgICAgICAgICBpMThuQ2hlY2tib3hSZXF1aXJlZFt0aGlzLl9sYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudF0sXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkaXR5RmxhZygndmFsdWVNaXNzaW5nJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0cmlnZ2VyZWQgb24ga2V5Ym9hcmQgdXNlciBpbnRlcmFjdGlvbiB3aXRoIGNoZWNrYm94LiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUtleWJvYXJkSW50ZXJhY3Rpb24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgICB0aGlzLl9oYW5kbGVVc2VySW50ZXJhY3Rpb24oKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLyoqIE1ldGhvZCB0cmlnZ2VyZWQgb24gdXNlciBpbnRlcmFjdGlvbiB3aXRoIGNoZWNrYm94LiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZVVzZXJJbnRlcmFjdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMud2l0aFVzZXJJbnRlcmFjdGlvbj8uKCk7XG4gICAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgICAgdGhpcy5fYXR0cmlidXRlTXV0YXRpb25CbG9ja2VkID0gdHJ1ZTtcblxuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgY29tcG9zZWQ6IHRydWUsIGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hFbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW5UeXBlPiAmXG4gICAgVDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBOENBLElBQWEsa0NBQ1gsZUFDK0Q7Q0FFL0QsTUFBTSx3QkFBeUIsV0FBa0QsbUJBQzVFLGFBR0QseUJBQXlCLFdBQVc7Q0EySnhDLGNBdEorQzswQkFIOUMsZUFBZSxFQUNkLFVBQVUsS0FDWCxDQUFDLENBQUE7Ozs7b0JBRVEsaUJBQWlCLGlCQUFpQix1QkFBdUIsc0JBQXNCLENBQUMsQ0FBQzs7O3VEQUFqRixZQUFpRjs7Ozs7OytCQVN4RixTQUFTO0tBQ1IsTUFBTTtLQUNOLFdBQVc7TUFDVCxHQUFHO01BRUgsZ0JBQWdCLE9BQXNCLFNBQXNDO09BRTFFLE9BQU87UUFBRSxPQURNLGlCQUFpQixnQkFBZ0IsT0FBTyxLQUFLO1FBQ3BDLFdBQVc7UUFBNEI7OztLQUdwRSxDQUFDLENBQUE7SUFDRixhQUFBLE1BQUEsTUFBQSx5QkFBQTtLQUFBLE1BQUE7S0FBQSxNQUFBO0tBQUEsUUFBQTtLQUFBLFNBQUE7S0FBQSxRQUFBO01BQUEsTUFBQSxRQUFBLGFBQUE7TUFBQSxNQUFBLEtBQUEsVUFBQTtPQUFBLElBQVcsVUFBTzs7TUFBQTtLQUFBLFVBQUE7S0FBQSxFQUFBLE1BQUEsMkJBQUE7SUFyQnBCLGFBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsWUFBQSxFQUFBLGtCQUFBO0tBQUEsTUFBQTtLQUFBLE1BQUEsV0FBQTtLQUFBLFVBQUE7S0FBQSxFQUFBLE1BQUEsd0JBQUE7Ozs7Ozs7Ozs7SUFJa0MsS0FBQSxPQUFPOzs7R0FpQnZDLElBQVcsUUFBUSxPQUFjO0lBQy9CLE1BQU0sa0JBQ0osT0FBTyxVQUFVLFdBQVksTUFBd0MsWUFBWTtJQUNuRixJQUFJLGlCQUNGLFFBQVMsTUFBd0M7SUFLbkQsSUFBSSxLQUFLLGNBQWMsQ0FBQyxpQkFDdEIsS0FBSyw0QkFBNEI7SUFFbkMsS0FBSyxXQUFXLFFBQVEsTUFBTTtJQUM5QixLQUFLLGlCQUFpQjs7R0FFeEIsSUFBVyxVQUFPO0lBQ2hCLE9BQU8sS0FBSzs7Ozs7O0dBUWQsSUFBb0IsT0FBSTtJQUN0QixPQUFPOztHQUdULGNBQUE7SUFDRSxPQUFPO0lBNUNELEtBQUEsNkJBTkssa0JBQUEsTUFBQSwyQkFBZ0MsRUFNVDtJQUM1QixLQUFBLHNCQUFzQixJQUFJLHNCQUFzQixLQUFLO0lBZ0NyRCxLQUFBLFdBQW9COztJQTJGcEIsS0FBQSw4QkFBOEIsVUFBOEI7S0FDbEUsSUFBSSxNQUFNLFFBQVEsS0FDaEIsS0FBSyx3QkFBd0I7OztJQUt6QixLQUFBLCtCQUFvQztLQUMxQyxJQUFJLEtBQUssVUFDUDtLQUVGLEtBQUssdUJBQXVCO0tBQzVCLEtBQUssVUFBVSxDQUFDLEtBQUs7S0FDckIsS0FBSyw0QkFBNEI7S0FFakMsS0FBSyxjQUFjLElBQUksV0FBVyxTQUFTO01BQUUsVUFBVTtNQUFNLFNBQVM7TUFBTSxDQUFDLENBQUM7S0FDOUUsS0FBSyxjQUFjLElBQUksTUFBTSxVQUFVLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQzs7SUEvRjFELEtBQUssbUJBQW1CLFNBQVMsS0FBSyx1QkFBdUI7SUFDN0QsS0FBSyxtQkFBbUIsV0FBVyw2QkFBNkI7SUFDaEUsS0FBSyxtQkFBbUIsU0FBUyxLQUFLLDJCQUEyQjs7R0FHbkQseUJBQ2QsTUFDQSxLQUNBLE9BQW9CO0lBR3BCLElBQUksU0FBUyxhQUFhLENBQUMsS0FBSywyQkFDOUIsTUFBTSx5QkFBeUIsTUFBTSxLQUFLLE1BQU07Ozs7Ozs7R0FTcEMsb0JBQWlCO0lBQy9CLEtBQUssVUFBVSxLQUFLLGFBQWEsVUFBVTtJQUMzQyxLQUFLLDRCQUE0Qjs7Ozs7Ozs7Ozs7R0FZbkIseUJBQ2QsT0FDQSxTQUEwQjtJQUUxQixJQUFJLE9BQ0YsS0FBSyxVQUFVLFVBQVU7O0dBVVYsa0JBQWU7SUFDaEMsSUFBSSxLQUFLLFNBQ1AsTUFBTSxpQkFBaUI7U0FFdkIsS0FBSyxVQUFVLGFBQWEsS0FBSzs7R0FJbEIsWUFBUztJQUMxQixPQUFPLEdBQUcsS0FBSzs7R0FHRSxlQUFlLE1BQTZCO0lBQzdELE9BQU8sTUFBTSxlQUFlLEtBQUssSUFBSSxTQUFTLGFBQWEsU0FBUzs7R0FHbkQsV0FBUTtJQUN6QixNQUFNLFVBQVU7SUFDaEIsSUFBSSxLQUFLLFlBQVksQ0FBQyxLQUFLLFNBQ3pCLEtBQUssZ0JBQ0gsZ0JBQ0EscUJBQXFCLEtBQUssb0JBQW9CLFNBQy9DO1NBRUQsS0FBSyxtQkFBbUIsZUFBZTs7O0lBN0g5QixrQkFBQSxZQUFBLHdCQUFBOzs7O0tBc0pSIn0=
|
|
167
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLWNoZWNrYm94LW1peGluLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9mb3JtLWFzc29jaWF0ZWQtY2hlY2tib3gtbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmYXVsdENvbnZlcnRlciwgdHlwZSBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgcHJldmVudFNjcm9sbE9uU3BhY2ViYXJQcmVzcyB9IGZyb20gJy4uL2V2ZW50aW5nLnRzJztcbmltcG9ydCB7IGkxOG5DaGVja2JveFJlcXVpcmVkIH0gZnJvbSAnLi4vaTE4bi50cyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IudHMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiB9IGZyb20gJy4vZGlzYWJsZWQtbWl4aW4udHMnO1xuaW1wb3J0IHtcbiAgU2JiRWxlbWVudEludGVybmFsc01peGluLFxuICB0eXBlIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGUsXG4gIHR5cGUgU2JiRWxlbWVudEludGVybmFsc0NvbnN0cnVjdG9yLFxufSBmcm9tICcuL2VsZW1lbnQtaW50ZXJuYWxzLW1peGluLnRzJztcbmltcG9ydCB7XG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4sXG4gIHR5cGUgRm9ybVJlc3RvcmVSZWFzb24sXG4gIHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSxcbn0gZnJvbSAnLi9mb3JtLWFzc29jaWF0ZWQtbWl4aW4udHMnO1xuaW1wb3J0IHsgU2JiUmVxdWlyZWRNaXhpbiB9IGZyb20gJy4vcmVxdWlyZWQtbWl4aW4udHMnO1xuXG5pbnRlcmZhY2UgQ2hlY2tlZFNldHRlclZhbHVlIHtcbiAgdmFsdWU6IGJvb2xlYW47XG4gIGF0dHJpYnV0ZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluVHlwZSBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkpKSxcbikge1xuICBwdWJsaWMgYWNjZXNzb3IgY2hlY2tlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcbiAgcHVibGljIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsIHJlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24pOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBpc1JlcXVpcmVkRXh0ZXJuYWxseSgpOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgd2l0aFVzZXJJbnRlcmFjdGlvbj8oKTogdm9pZDtcbiAgcHJvdGVjdGVkIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkO1xufVxuXG4vKipcbiAqIFRoZSBGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW4gZW5hYmxlcyBuYXRpdmUgZm9ybSBzdXBwb3J0IGZvciBjaGVja2JveCBjb250cm9scy5cbiAqXG4gKiBJbmhlcml0ZWQgY2xhc3NlcyBNVVNUIGltcGxlbWVudCB0aGUgYXJpYUNoZWNrZWQgc3RhdGUgKEVsZW1lbnRJbnRlcm5hbHMpIHRoZW1zZWx2ZXMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW5UeXBlPiAmIFQgPT4ge1xuICAvLyBUT0RPKGJyZWFraW5nLWNoYW5nZSk6IFJlbW92ZSBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gYW5kIGRlcGVuZCBvbiBTYmJFbGVtZW50IGFzIGJhc2UgY2xhc3MgaW5zdGVhZCBvZiBMaXRFbGVtZW50XG4gIGNvbnN0IGNvbmRpdGlvbmFsU3VwZXJDbGFzcyA9IChzdXBlckNsYXNzIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pWydfJHNiYkVsZW1lbnQkJ11cbiAgICA/IChzdXBlckNsYXNzIGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW5UeXBlPiAmXG4gICAgICAgIFQgJlxuICAgICAgICBTYmJFbGVtZW50SW50ZXJuYWxzQ29uc3RydWN0b3IpXG4gICAgOiBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oc3VwZXJDbGFzcyk7XG5cbiAgQGhvc3RBdHRyaWJ1dGVzKHtcbiAgICB0YWJpbmRleDogJzAnLFxuICB9KVxuICBhYnN0cmFjdCBjbGFzcyBTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94RWxlbWVudFxuICAgIGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihTYmJSZXF1aXJlZE1peGluKFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oY29uZGl0aW9uYWxTdXBlckNsYXNzKSkpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnY2hlY2tib3gnO1xuXG4gICAgcHJpdmF0ZSBfYXR0cmlidXRlTXV0YXRpb25CbG9ja2VkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfbGFuZ3VhZ2VDb250cm9sbGVyID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLiAqL1xuICAgIEBwcm9wZXJ0eSh7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgY29udmVydGVyOiB7XG4gICAgICAgIC4uLmRlZmF1bHRDb252ZXJ0ZXIsXG4gICAgICAgIC8vIFdlIG5lZWQgdG8gcGFzcyBpbmZvcm1hdGlvbiB0byB0aGUgc2V0dGVyIHNvIHRoYXQgd2Uga25vdyBpdCB3YXMgY2FsbGVkIGJ5IGF0dHJpYnV0ZSBjaGFuZ2UuXG4gICAgICAgIGZyb21BdHRyaWJ1dGU6ICh2YWx1ZTogc3RyaW5nIHwgbnVsbCwgdHlwZT86IHVua25vd24pOiBDaGVja2VkU2V0dGVyVmFsdWUgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGRlZmF1bHRDb252ZXJ0ZXIuZnJvbUF0dHJpYnV0ZT8uKHZhbHVlLCB0eXBlKTtcbiAgICAgICAgICByZXR1cm4geyB2YWx1ZTogcmVzdWx0LCBhdHRyaWJ1dGU6IHRydWUgfSBhcyBDaGVja2VkU2V0dGVyVmFsdWU7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pXG4gICAgcHVibGljIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVTZXR0ZXIgPVxuICAgICAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnID8gKHZhbHVlIGFzIHVua25vd24gYXMgQ2hlY2tlZFNldHRlclZhbHVlKS5hdHRyaWJ1dGUgOiBmYWxzZTtcbiAgICAgIGlmIChhdHRyaWJ1dGVTZXR0ZXIpIHtcbiAgICAgICAgdmFsdWUgPSAodmFsdWUgYXMgdW5rbm93biBhcyBDaGVja2VkU2V0dGVyVmFsdWUpLnZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBBcyBzb29uIGFzIG11dGF0aW9uIHdhcyBkb25lIG5vdCBieSBzZXR0aW5nIGF0dHJpYnV0ZSxcbiAgICAgIC8vIHdlIG5lZWQgdG8gYmxvY2sgc3luY2luZyBhdHRyaWJ1dGUuXG4gICAgICBpZiAodGhpcy5oYXNVcGRhdGVkICYmICFhdHRyaWJ1dGVTZXR0ZXIpIHtcbiAgICAgICAgdGhpcy5fYXR0cmlidXRlTXV0YXRpb25CbG9ja2VkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2NoZWNrZWQgPSBCb29sZWFuKHZhbHVlKTtcbiAgICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLl9jaGVja2VkO1xuICAgIH1cbiAgICBwcml2YXRlIF9jaGVja2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBGb3JtIHR5cGUgb2YgZWxlbWVudC5cbiAgICAgKiBAZGVmYXVsdCAnY2hlY2tib3gnXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gJ2NoZWNrYm94JztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgdGhpcy5faGFuZGxlVXNlckludGVyYWN0aW9uKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgcHJldmVudFNjcm9sbE9uU3BhY2ViYXJQcmVzcyk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5dXAnLCB0aGlzLl9oYW5kbGVLZXlib2FyZEludGVyYWN0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKFxuICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgb2xkOiBzdHJpbmcgfCBudWxsLFxuICAgICAgdmFsdWU6IHN0cmluZyB8IG51bGwsXG4gICAgKTogdm9pZCB7XG4gICAgICAvLyBBdHRyaWJ1dGUgc2hvdWxkIG5vdCBiZSBpbnRlcnByZXRlZCBhZnRlciBwcm9ncmFtbWF0aWMgb3IgbWFudWFsIHN0YXRlIGNoYW5nZS5cbiAgICAgIGlmIChuYW1lICE9PSAnY2hlY2tlZCcgfHwgIXRoaXMuX2F0dHJpYnV0ZU11dGF0aW9uQmxvY2tlZCkge1xuICAgICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBmb3JtIGlzIGJlaW5nIHJlc2V0LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgdGhpcy5jaGVja2VkID0gdGhpcy5oYXNBdHRyaWJ1dGUoJ2NoZWNrZWQnKTtcbiAgICAgIHRoaXMuX2F0dHJpYnV0ZU11dGF0aW9uQmxvY2tlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBDYWxsZWQgd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gcmVzdG9yZSBlbGVtZW504oCZcyBzdGF0ZSB0byBzdGF0ZSBpbiB3aGljaCBjYXNlXG4gICAgICogIHJlYXNvbiBpcyBcInJlc3RvcmVcIiwgb3Igd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gZnVsZmlsbCBhdXRvZmlsbCBvbiBiZWhhbGYgb2ZcbiAgICAgKiAgdXNlciBpbiB3aGljaCBjYXNlIHJlYXNvbiBpcyBcImF1dG9jb21wbGV0ZVwiLlxuICAgICAqICBJbiB0aGUgY2FzZSBvZiBcInJlc3RvcmVcIiwgc3RhdGUgaXMgYSBzdHJpbmcsIEZpbGUsIG9yIEZvcm1EYXRhIG9iamVjdFxuICAgICAqICBwcmV2aW91c2x5IHNldCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHNldEZvcm1WYWx1ZS5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgICApOiB2b2lkIHtcbiAgICAgIGlmIChzdGF0ZSkge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSBzdGF0ZSA9PT0gJ3RydWUnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZGl0aW9uYWwgbG9naWMgd2hpY2ggaXMgYmVpbmcgZXhlY3V0ZWQgd2hlbiB1c2VyXG4gICAgICogaW50ZXJhY3Rpb24gaGFwcGVucyBhbmQgc3RhdGUgaXMgbm90IGRpc2FibGVkLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCB3aXRoVXNlckludGVyYWN0aW9uPygpOiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmNoZWNrZWQpIHtcbiAgICAgICAgc3VwZXIudXBkYXRlRm9ybVZhbHVlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmludGVybmFscy5zZXRGb3JtVmFsdWUobnVsbCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGZvcm1TdGF0ZSgpOiBGb3JtUmVzdG9yZVN0YXRlIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmNoZWNrZWR9YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fCBuYW1lID09PSAnY2hlY2tlZCcgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgICBzdXBlci52YWxpZGF0ZSgpO1xuICAgICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgIXRoaXMuY2hlY2tlZCkge1xuICAgICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZyhcbiAgICAgICAgICAndmFsdWVNaXNzaW5nJyxcbiAgICAgICAgICBpMThuQ2hlY2tib3hSZXF1aXJlZFt0aGlzLl9sYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudF0sXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkaXR5RmxhZygndmFsdWVNaXNzaW5nJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0cmlnZ2VyZWQgb24ga2V5Ym9hcmQgdXNlciBpbnRlcmFjdGlvbiB3aXRoIGNoZWNrYm94LiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUtleWJvYXJkSW50ZXJhY3Rpb24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgICB0aGlzLl9oYW5kbGVVc2VySW50ZXJhY3Rpb24oKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLyoqIE1ldGhvZCB0cmlnZ2VyZWQgb24gdXNlciBpbnRlcmFjdGlvbiB3aXRoIGNoZWNrYm94LiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZVVzZXJJbnRlcmFjdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMud2l0aFVzZXJJbnRlcmFjdGlvbj8uKCk7XG4gICAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgICAgdGhpcy5fYXR0cmlidXRlTXV0YXRpb25CbG9ja2VkID0gdHJ1ZTtcblxuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgY29tcG9zZWQ6IHRydWUsIGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hFbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW5UeXBlPiAmXG4gICAgVDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBOENBLElBQWEsa0NBQ1gsZUFDK0Q7Q0FFL0QsTUFBTSx3QkFBeUIsV0FBa0QsbUJBQzVFLGFBR0QseUJBQXlCLFVBQVU7Q0EySnZDLGNBdEorQzswQkFIOUMsZUFBZSxFQUNkLFVBQVUsSUFBQSxDQUNYLENBQUM7Ozs7b0JBRVEsaUJBQWlCLGlCQUFpQix1QkFBdUIscUJBQXFCLENBQUMsQ0FBQzs7O3VEQUFoRixZQUFpRjs7Ozs7OytCQVN4RixTQUFTO0tBQ1IsTUFBTTtLQUNOLFdBQVc7TUFDVCxHQUFHO01BRUgsZ0JBQWdCLE9BQXNCLFNBQXNDO09BRTFFLE9BQU87UUFBRSxPQURNLGlCQUFpQixnQkFBZ0IsT0FBTyxJQUFJO1FBQ25DLFdBQVc7T0FBSTtNQUN6Qzs7S0FFSCxDQUFDO0lBQ0YsYUFBQSxNQUFBLE1BQUEseUJBQUE7S0FBQSxNQUFBO0tBQUEsTUFBQTtLQUFBLFFBQUE7S0FBQSxTQUFBO0tBQUEsUUFBQTtNQUFBLE1BQUEsUUFBQSxhQUFBO01BQUEsTUFBQSxLQUFBLFVBQUE7T0FBQSxJQUFXLFVBQU87TUFBQTtLQUFBO0tBQUEsVUFBQTtJQUFBLEdBQUEsTUFBQSwwQkFBQTtJQXJCcEIsYUFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUE7S0FBQSxNQUFBO0tBQUEsTUFBQSxXQUFBO0tBQUEsVUFBQTtJQUFBLEdBQUEsTUFBQSx1QkFBQTs7Ozs7Ozs7OztJQUlrQyxLQUFBLE9BQU87R0FBVzs7R0FpQmxELElBQVcsUUFBUSxPQUFjO0lBQy9CLE1BQU0sa0JBQ0osT0FBTyxVQUFVLFdBQVksTUFBd0MsWUFBWTtJQUNuRixJQUFJLGlCQUNGLFFBQVMsTUFBd0M7SUFLbkQsSUFBSSxLQUFLLGNBQWMsQ0FBQyxpQkFDdEIsS0FBSyw0QkFBNEI7SUFFbkMsS0FBSyxXQUFXLFFBQVEsS0FBSztJQUM3QixLQUFLLGdCQUFlO0dBQ3RCO0dBQ0EsSUFBVyxVQUFPO0lBQ2hCLE9BQU8sS0FBSztHQUNkOzs7OztHQU9BLElBQW9CLE9BQUk7SUFDdEIsT0FBTztHQUNUO0dBRUEsY0FBQTtJQUNFLE1BQUs7SUE1Q0MsS0FBQSw2QkFOSyxrQkFBQSxNQUFBLDBCQUFBLEdBTXVCO0lBQzVCLEtBQUEsc0JBQXNCLElBQUksc0JBQXNCLElBQUk7SUFnQ3BELEtBQUEsV0FBb0I7O0lBMkZwQixLQUFBLDhCQUE4QixVQUE4QjtLQUNsRSxJQUFJLE1BQU0sUUFBUSxLQUNoQixLQUFLLHVCQUFzQjtJQUUvQjs7SUFHUSxLQUFBLCtCQUFvQztLQUMxQyxJQUFJLEtBQUssVUFDUDtLQUVGLEtBQUssc0JBQXFCO0tBQzFCLEtBQUssVUFBVSxDQUFDLEtBQUs7S0FDckIsS0FBSyw0QkFBNEI7S0FFakMsS0FBSyxjQUFjLElBQUksV0FBVyxTQUFTO01BQUUsVUFBVTtNQUFNLFNBQVM7S0FBSSxDQUFFLENBQUM7S0FDN0UsS0FBSyxjQUFjLElBQUksTUFBTSxVQUFVLEVBQUUsU0FBUyxLQUFJLENBQUUsQ0FBQztJQUMzRDtJQWhHRSxLQUFLLG1CQUFtQixTQUFTLEtBQUssc0JBQXNCO0lBQzVELEtBQUssbUJBQW1CLFdBQVcsNEJBQTRCO0lBQy9ELEtBQUssbUJBQW1CLFNBQVMsS0FBSywwQkFBMEI7R0FDbEU7R0FFZ0IseUJBQ2QsTUFDQSxLQUNBLE9BQW9CO0lBR3BCLElBQUksU0FBUyxhQUFhLENBQUMsS0FBSywyQkFDOUIsTUFBTSx5QkFBeUIsTUFBTSxLQUFLLEtBQUs7R0FFbkQ7Ozs7OztHQU9nQixvQkFBaUI7SUFDL0IsS0FBSyxVQUFVLEtBQUssYUFBYSxTQUFTO0lBQzFDLEtBQUssNEJBQTRCO0dBQ25DOzs7Ozs7Ozs7O0dBV2dCLHlCQUNkLE9BQ0EsU0FBMEI7SUFFMUIsSUFBSSxPQUNGLEtBQUssVUFBVSxVQUFVO0dBRTdCO0dBUW1CLGtCQUFlO0lBQ2hDLElBQUksS0FBSyxTQUNQLE1BQU0sZ0JBQWU7U0FFckIsS0FBSyxVQUFVLGFBQWEsSUFBSTtHQUVwQztHQUVtQixZQUFTO0lBQzFCLE9BQU8sR0FBRyxLQUFLO0dBQ2pCO0dBRW1CLGVBQWUsTUFBNkI7SUFDN0QsT0FBTyxNQUFNLGVBQWUsSUFBSSxLQUFLLFNBQVMsYUFBYSxTQUFTO0dBQ3RFO0dBRW1CLFdBQVE7SUFDekIsTUFBTSxTQUFRO0lBQ2QsSUFBSSxLQUFLLFlBQVksQ0FBQyxLQUFLLFNBQ3pCLEtBQUssZ0JBQ0gsZ0JBQ0EscUJBQXFCLEtBQUssb0JBQW9CLFFBQVE7U0FHeEQsS0FBSyxtQkFBbUIsY0FBYztHQUUxQzs7SUEvSGEsa0JBQUEsWUFBQSx1QkFBQTs7OztJQXNKUjtBQUVUIn0=
|
|
@@ -22,6 +22,7 @@ export declare abstract class SbbFormAssociatedInputMixinType extends SbbFormAss
|
|
|
22
22
|
select(): void;
|
|
23
23
|
formResetCallback(): void;
|
|
24
24
|
formStateRestoreCallback(state: FormRestoreState | null, reason: FormRestoreReason): void;
|
|
25
|
+
protected isSelected(): boolean;
|
|
25
26
|
protected preparePastedText(text: string): string;
|
|
26
27
|
protected language: SbbLanguageController;
|
|
27
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-associated-input-mixin.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/mixins/form-associated-input-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EAGhB,MAAM,KAAK,CAAC;AAIb,OAAO,EAAE,qBAAqB,EAA8B,MAAM,mBAAmB,CAAC;AAItF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACpC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAEtB,MAAM,4BAA4B,CAAC;;AAIpC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,+BAAgC,SAAQ,oCAErE;IACC,gBAAuB,mBAAmB,QAAQ;IAElD,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE;IAChC,IAAW,KAAK,IAAI,MAAM,CAAC;IAE3B,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE;IACpC,IAAW,QAAQ,IAAI,OAAO,CAAC;IAE/B,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE;IACpC,IAAW,QAAQ,IAAI,OAAO,CAAC;IAE/B,IAAW,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE;IACtC,IAAW,WAAW,IAAI,MAAM,CAAC;IAEjC;;;;OAIG;IACI,MAAM,IAAI,IAAI;IAEd,iBAAiB,IAAI,IAAI;IACzB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAEhG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IACjD,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;CAC3C;AAgBD;;GAEG;AAEH,eAAO,MAAM,2BAA2B,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,EACnF,YAAY,CAAC,KACZ,mBAAmB,CAAC,+BAA+B,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"form-associated-input-mixin.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/mixins/form-associated-input-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EAGhB,MAAM,KAAK,CAAC;AAIb,OAAO,EAAE,qBAAqB,EAA8B,MAAM,mBAAmB,CAAC;AAItF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACpC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAEtB,MAAM,4BAA4B,CAAC;;AAIpC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,+BAAgC,SAAQ,oCAErE;IACC,gBAAuB,mBAAmB,QAAQ;IAElD,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE;IAChC,IAAW,KAAK,IAAI,MAAM,CAAC;IAE3B,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE;IACpC,IAAW,QAAQ,IAAI,OAAO,CAAC;IAE/B,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE;IACpC,IAAW,QAAQ,IAAI,OAAO,CAAC;IAE/B,IAAW,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE;IACtC,IAAW,WAAW,IAAI,MAAM,CAAC;IAEjC;;;;OAIG;IACI,MAAM,IAAI,IAAI;IAEd,iBAAiB,IAAI,IAAI;IACzB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAEhG,SAAS,CAAC,UAAU,IAAI,OAAO;IAC/B,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IACjD,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;CAC3C;AAgBD;;GAEG;AAEH,eAAO,MAAM,2BAA2B,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,EACnF,YAAY,CAAC,KACZ,mBAAmB,CAAC,+BAA+B,CAAC,GAAG,CAkbzD,CAAC"}
|
|
@@ -277,6 +277,11 @@ var SbbFormAssociatedInputMixin = (superClass) => {
|
|
|
277
277
|
if (this.required && !this.value) this.setValidityFlag("valueMissing", i18nInputRequired[this.language.current]);
|
|
278
278
|
else this.removeValidityFlag("valueMissing");
|
|
279
279
|
}
|
|
280
|
+
isSelected() {
|
|
281
|
+
if (isServer) return false;
|
|
282
|
+
const selection = window.getSelection();
|
|
283
|
+
return !!selection && selection.rangeCount > 0 && this.contains(selection.anchorNode);
|
|
284
|
+
}
|
|
280
285
|
preparePastedText(text) {
|
|
281
286
|
return text;
|
|
282
287
|
}
|
|
@@ -337,4 +342,4 @@ var SbbFormAssociatedInputMixin = (superClass) => {
|
|
|
337
342
|
//#endregion
|
|
338
343
|
export { SbbFormAssociatedInputMixin };
|
|
339
344
|
|
|
340
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLWlucHV0LW1peGluLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9mb3JtLWFzc29jaWF0ZWQtaW5wdXQtbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgTGl0RWxlbWVudCxcbiAgdHlwZSBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgZXZlbnRPcHRpb25zLCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi4vYTExeS50cyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsIFNiYk1lZGlhUXVlcnlQb2ludGVyQ29hcnNlIH0gZnJvbSAnLi4vY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgaXNCbGluaywgaXNXZWJraXQgfSBmcm9tICcuLi9kb20udHMnO1xuaW1wb3J0IHsgaTE4bklucHV0UmVxdWlyZWQgfSBmcm9tICcuLi9pMThuLnRzJztcblxuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi9kaXNhYmxlZC1taXhpbi50cyc7XG5pbXBvcnQge1xuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIHR5cGUgU2JiRWxlbWVudEludGVybmFsc01peGluVHlwZSxcbiAgdHlwZSBTYmJFbGVtZW50SW50ZXJuYWxzQ29uc3RydWN0b3IsXG59IGZyb20gJy4vZWxlbWVudC1pbnRlcm5hbHMtbWl4aW4udHMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluLFxufSBmcm9tICcuL2Zvcm0tYXNzb2NpYXRlZC1taXhpbi50cyc7XG5pbXBvcnQgeyBTYmJSZWFkb25seU1peGluIH0gZnJvbSAnLi9yZWFkb25seS1taXhpbi50cyc7XG5pbXBvcnQgeyBTYmJSZXF1aXJlZE1peGluIH0gZnJvbSAnLi9yZXF1aXJlZC1taXhpbi50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGFic3RyYWN0IGNsYXNzIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpblR5cGUgZXh0ZW5kcyBTYmJSZXF1aXJlZE1peGluKFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBmb3JtRmllbGRBc3NvY2lhdGVkID0gdHJ1ZTtcblxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpO1xuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZztcblxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKTtcbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuO1xuXG4gIHB1YmxpYyBzZXQgcmVhZE9ubHkodmFsdWU6IGJvb2xlYW4pO1xuICBwdWJsaWMgZ2V0IHJlYWRPbmx5KCk6IGJvb2xlYW47XG5cbiAgcHVibGljIHNldCBwbGFjZWhvbGRlcih2YWx1ZTogc3RyaW5nKTtcbiAgcHVibGljIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1ha2VzIHRoZSBzZWxlY3Rpb24gZXF1YWwgdG8gdGhlIGN1cnJlbnQgb2JqZWN0LlxuICAgKlxuICAgKiBbTUROIFJlZmVyZW5jZV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0hUTUxJbnB1dEVsZW1lbnQvc2VsZWN0KVxuICAgKi9cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkO1xuXG4gIHB1YmxpYyBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkO1xuICBwdWJsaWMgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCwgcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbik6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIHByZXBhcmVQYXN0ZWRUZXh0KHRleHQ6IHN0cmluZyk6IHN0cmluZztcbiAgcHJvdGVjdGVkIGxhbmd1YWdlOiBTYmJMYW5ndWFnZUNvbnRyb2xsZXI7XG59XG5cbmNvbnN0IGNoZWNrUGxhaW50ZXh0T25seVN1cHBvcnQgPSAoKTogYm9vbGVhbiA9PiB7XG4gIGlmIChpc1NlcnZlcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICBkaXYuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCAnUExBSU5URVhULU9OTFknKTtcblxuICAvLyBJZiBwbGFpbnRleHQtb25seSBpcyBzdXBwb3J0ZWQsIHRoZSBhdHRyaWJ1dGUgdmFsdWUgaXNcbiAgLy8gcmV0dXJuZWQgYXMgbG93ZXItY2FzZSBmcm9tIHRoZSBwcm9wZXJ0eSBhY2Nlc3MuXG4gIHJldHVybiBkaXYuY29udGVudEVkaXRhYmxlID09PSAncGxhaW50ZXh0LW9ubHknO1xufTtcbmNvbnN0IHBsYWludGV4dE9ubHlTdXBwb3J0ZWQgPSBjaGVja1BsYWludGV4dE9ubHlTdXBwb3J0KCk7XG5cbi8qKlxuICogVGhlIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbiBlbmFibGVzIG5hdGl2ZSBmb3JtIHN1cHBvcnQgZm9yIHRleHQgaW5wdXQgY29udHJvbHMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW5UeXBlPiAmIFQgPT4ge1xuICAvLyBUT0RPKGJyZWFraW5nLWNoYW5nZSk6IFJlbW92ZSBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gYW5kIGRlcGVuZCBvbiBTYmJFbGVtZW50IGFzIGJhc2UgY2xhc3MgaW5zdGVhZCBvZiBMaXRFbGVtZW50XG4gIGNvbnN0IGNvbmRpdGlvbmFsU3VwZXJDbGFzcyA9IChzdXBlckNsYXNzIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pWydfJHNiYkVsZW1lbnQkJ11cbiAgICA/IChzdXBlckNsYXNzIGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW5UeXBlPiAmXG4gICAgICAgIFQgJlxuICAgICAgICBTYmJFbGVtZW50SW50ZXJuYWxzQ29uc3RydWN0b3IpXG4gICAgOiBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oc3VwZXJDbGFzcyk7XG5cbiAgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dEVsZW1lbnRcbiAgICBleHRlbmRzIFNiYlJlYWRvbmx5TWl4aW4oXG4gICAgICBTYmJEaXNhYmxlZE1peGluKFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihjb25kaXRpb25hbFN1cGVyQ2xhc3MpKSksXG4gICAgKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3RleHRib3gnO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZm9ybUZpZWxkQXNzb2NpYXRlZCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBBbiBlbGVtZW50IHdpdGggY29udGVudGVkaXRhYmxlIHdpbGwgbm90IGVtaXQgYSBjaGFuZ2UgZXZlbnQuIFRvIGFjaGlldmUgcGFyaXR5XG4gICAgICogd2l0aCBhIG5hdGl2ZSB0ZXh0IGlucHV0LCB3ZSBuZWVkIHRvIHRyYWNrIHdoZXRoZXIgYSBjaGFuZ2UgZXZlbnQgc2hvdWxkIGJlXG4gICAgICogZW1pdHRlZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9zaG91bGRFbWl0Q2hhbmdlID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogQSBuYXRpdmUgdGV4dCBpbnB1dCBhdHRlbXB0cyB0byBzdWJtaXQgdGhlIGZvcm0gd2hlbiBwcmVzc2luZyBFbnRlci5cbiAgICAgKiBUaGlzIGNhbiBiZSBwcmV2ZW50ZWQgYnkgY2FsbGluZyBwcmV2ZW50RGVmYXVsdCBvbiB0aGUga2V5ZG93biBldmVudC5cbiAgICAgKiBXZSB0cmFjayB3aGV0aGVyIHRvIHJlcXVlc3Qgc3VibWl0LCB3aGljaCBzaG91bGQgb2NjdXIgYmVmb3JlIHRoZSBrZXl1cFxuICAgICAqIGV2ZW50LlxuICAgICAqL1xuICAgIHByaXZhdGUgX3Nob3VsZFRyaWdnZXJTdWJtaXQgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBsYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgICAvKipcbiAgICAgKiBGb3JtIHR5cGUgb2YgZWxlbWVudC5cbiAgICAgKiBAZGVmYXVsdCAndGV4dCdcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAndGV4dCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlIG9mIHRoZSBpbnB1dC4gUmVmbGVjdHMgdGhlIGN1cnJlbnQgdGV4dCB2YWx1ZSBvZiB0aGlzIGlucHV0LlxuICAgICAqL1xuICAgIEBwcm9wZXJ0eSgpXG4gICAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2NsZWFuVGV4dCh2YWx1ZSk7XG4gICAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICAgIHRoaXMuX2Fzc2lnblZhbHVlKHRoaXMuX3ZhbHVlKTtcbiAgICAgIH1cbiAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2Rpc3BsYXl2YWx1ZWNoYW5nZScsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWUgPz8gJyc7XG4gICAgfVxuICAgIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmcgPSAnJztcblxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSlcbiAgICBwdWJsaWMgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInLCB2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgncGxhY2Vob2xkZXInKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFQbGFjZWhvbGRlciA9IHZhbHVlID8gdmFsdWUgOiBudWxsO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJykgPz8gJyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgICAgc3VwZXIoKTtcbiAgICAgIC8vIFdlIHByaW1hcmlseSB1c2UgY2FwdHVyZSBldmVudCBsaXN0ZW5lcnMsIGFzIHdlIHdhbnRcbiAgICAgIC8vIG91ciBsaXN0ZW5lcnMgdG8gb2NjdXIgYmVmb3JlIGNvbnN1bWVyIGV2ZW50IGxpc3RlbmVycy5cbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgICAnaW5wdXQnLFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLl92YWx1ZTtcbiAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2NsZWFuVGV4dCh0aGlzLnRleHRDb250ZW50ID8/ICcnKTtcbiAgICAgICAgICB0aGlzLnJlcXVlc3RVcGRhdGUoJ3ZhbHVlJywgb2xkVmFsdWUpO1xuICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ2ludGVyYWN0ZWQnKTtcbiAgICAgICAgICB0aGlzLl9zaG91bGRFbWl0Q2hhbmdlID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NoYW5nZScsICgpID0+ICh0aGlzLl9zaG91bGRFbWl0Q2hhbmdlID0gZmFsc2UpLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LihcbiAgICAgICAgJ2tleWRvd24nLFxuICAgICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fcmVxdWlyZXNFbXB0eVBhdGNoKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2Fzc2lnblZhbHVlKCcnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gV2UgcHJldmVudCByZWN1cnNpdmUgZXZlbnRzIGJ5IGNoZWNraW5nIHRoZSBvcmlnaW5hbCBldmVudCBmb3IgaXNUcnVzdGVkXG4gICAgICAgICAgLy8gd2hpY2ggaXMgZmFsc2UgZm9yIG1hbnVhbGx5IGRpc3BhdGNoZWQgZXZlbnRzICh3aGljaCB3ZSBkaXNwYXRjaCBiZWxvdykuXG4gICAgICAgICAgaWYgKChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnXFxuJykgJiYgZXZlbnQuaXNUcnVzdGVkKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLl9zaG91bGRUcmlnZ2VyU3VibWl0ID0gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBLZXlib2FyZEV2ZW50KCdrZXlkb3duJywgZXZlbnQpKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgaXNXZWJraXQgJiZcbiAgICAgICAgICAgIHRoaXMudmFsdWUgJiZcbiAgICAgICAgICAgIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnIHx8IGV2ZW50LmtleSA9PT0gJ0RlbGV0ZScpICYmXG4gICAgICAgICAgICBldmVudC5pc1RydXN0ZWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIEluIFdlYmtpdCBwcmVzc2luZyBCYWNrc3BhY2Ugb3IgRGVsZXRlIGNvbXBsZXRlbHkgcmVtb3ZlcyBhbGwgdGhlIGNvbnRlbnRcbiAgICAgICAgICAgIC8vIGlmIGNvbnRlbnRlZGl0YWJsZSBpcyBzZXQgb24gYSB3ZWIgY29tcG9uZW50IGhvc3QuXG4gICAgICAgICAgICAvLyBXZSBoYXZlIHRvIHJlcGxpY2F0ZSB0aGUgbm9ybWFsIGRlbGV0ZSBiZWhhdmlvci5cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCBldmVudCkpKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRSYW5nZSA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8uZ2V0UmFuZ2VBdCgwKTtcbiAgICAgICAgICAgIGlmICghc2VsZWN0ZWRSYW5nZSkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFJhbmdlLnN0YXJ0T2Zmc2V0ICE9PSBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCkge1xuICAgICAgICAgICAgICAvLyBJZiBhIHRleHQgcmFuZ2UgaXMgc2VsZWN0ZWQsIHRoZW4gZGVsZXRlIHRoaXMgcmFuZ2VcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICAgICAgICB0aGlzLl9kaXNwYXRjaElucHV0RXZlbnQoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJyAmJiBzZWxlY3RlZFJhbmdlLnN0YXJ0T2Zmc2V0ID4gMCkge1xuICAgICAgICAgICAgICAvLyBXaGVuIHByZXNzaW5nIEJhY2tzcGFjZSwgd2Ugc2VsZWN0IHRoZSBwcmV2aW91cyBjaGFyYWN0ZXIgZnJvbVxuICAgICAgICAgICAgICAvLyB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24gYW5kIGRlbGV0ZSBpdC5cbiAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS5zZXRTdGFydChzZWxlY3RlZFJhbmdlLnN0YXJ0Q29udGFpbmVyLCBzZWxlY3RlZFJhbmdlLnN0YXJ0T2Zmc2V0IC0gMSk7XG4gICAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2UuZGVsZXRlQ29udGVudHMoKTtcbiAgICAgICAgICAgICAgdGhpcy5fZGlzcGF0Y2hJbnB1dEV2ZW50KCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0RlbGV0ZScgJiYgc2VsZWN0ZWRSYW5nZS5lbmRPZmZzZXQgPCB0aGlzLnZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAvLyBXaGVuIHByZXNzaW5nIERlbGV0ZSwgd2Ugc2VsZWN0IHRoZSBuZXh0IGNoYXJhY3RlciBmcm9tXG4gICAgICAgICAgICAgIC8vIHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbiBhbmQgZGVsZXRlIGl0LlxuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLnNldEVuZChzZWxlY3RlZFJhbmdlLmVuZENvbnRhaW5lciwgc2VsZWN0ZWRSYW5nZS5lbmRPZmZzZXQgKyAxKTtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICAgICAgICB0aGlzLl9kaXNwYXRjaElucHV0RXZlbnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgY2FwdHVyZTogdHJ1ZSB9LFxuICAgICAgKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgICAna2V5dXAnLFxuICAgICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgIHRoaXMuX2VtaXRDaGFuZ2VJZk5lY2Vzc2FyeSgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFRyaWdnZXJTdWJtaXQpIHtcbiAgICAgICAgICAgICAgdGhpcy5fc2hvdWxkVHJpZ2dlclN1Ym1pdCA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLmZvcm0/LnJlcXVlc3RTdWJtaXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX3JlcXVpcmVzRW1wdHlQYXRjaCgpKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRDdXJzb3JBdCgwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgY2FwdHVyZTogdHJ1ZSB9LFxuICAgICAgKTtcbiAgICAgIC8vIGNvbnRlbnRlZGl0YWJsZSBhbGxvd3MgcGFzdGluZyByaWNoIGNvbnRlbnQgaW50byBpdHMgaG9zdC5cbiAgICAgIC8vIFdlIHByZXZlbnQgdGhpcyBieSBsaXN0ZW5pbmcgdG8gdGhlIHBhc3RlIGV2ZW50IGFuZFxuICAgICAgLy8gZXh0cmFjdGluZyB0aGUgcGxhaW4gdGV4dCBmcm9tIHRoZSBwYXN0ZWQgY29udGVudFxuICAgICAgLy8gYW5kIGluc2VydGluZyBpdCBpbnRvIHRoZSBzZWxlY3RlZCByYW5nZSAoY3Vyc29yIHBvc2l0aW9uXG4gICAgICAvLyBvciBzZWxlY3Rpb24pLlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3Bhc3RlJywgKGUpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAodGhpcy5fcmVxdWlyZXNFbXB0eVBhdGNoKCkpIHtcbiAgICAgICAgICB0aGlzLl9hc3NpZ25WYWx1ZSgnJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0ZXh0ID0gdGhpcy5fY2xlYW5UZXh0KGUuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dC9wbGFpbicpID8/ICcnKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRSYW5nZSA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8uZ2V0UmFuZ2VBdCgwKTtcbiAgICAgICAgaWYgKCFzZWxlY3RlZFJhbmdlIHx8ICF0ZXh0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0ZWRSYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICBzZWxlY3RlZFJhbmdlLmluc2VydE5vZGUoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGhpcy5wcmVwYXJlUGFzdGVkVGV4dCh0ZXh0KSkpO1xuICAgICAgICBzZWxlY3RlZFJhbmdlLnNldFN0YXJ0KHNlbGVjdGVkUmFuZ2UuZW5kQ29udGFpbmVyLCBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCk7XG4gICAgICAgIHRoaXMuX2Rpc3BhdGNoSW5wdXRFdmVudCgpO1xuICAgICAgfSk7XG4gICAgICAvLyBXaGVuIGZvY3VzaW5nIGEgdGV4dCBpbnB1dCB2aWEga2V5Ym9hcmQsIHRoZSB0ZXh0IGNvbnRlbnQgc2hvdWxkIGJlIHNlbGVjdGVkLlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2ZvY3VzJywgKCkgPT4ge1xuICAgICAgICBpZiAoc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJykge1xuICAgICAgICAgIC8vIFRPRE86IFRoaXMgZG9lcyBub3Qgc2VlbSB0byB3b3JrIGluIEZpcmVmb3ggd2l0aCByZWFkb25seS5cbiAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk/LnNlbGVjdEFsbENoaWxkcmVuKHRoaXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCd0b3VjaGVuZCcsICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX3JlcXVpcmVzRW1wdHlQYXRjaCgpKSB7XG4gICAgICAgICAgdGhpcy5fYXNzaWduVmFsdWUoJyZuYnNwOycpO1xuICAgICAgICAgIHRoaXMuX3NldEN1cnNvckF0KDApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX3JlcXVpcmVzRW1wdHlQYXRjaCgpICYmIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICd0b3VjaCcpIHtcbiAgICAgICAgICB0aGlzLl9zZXRDdXJzb3JBdCgwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIE9uIGJsdXIgdGhlIG5hdGl2ZSB0ZXh0IGlucHV0IHNjcm9sbHMgdGhlIHRleHQgdG8gdGhlIHN0YXJ0IG9mIHRoZSB0ZXh0LlxuICAgICAgLy8gV2UgbWltaWMgdGhhdCBieSByZXNldHRpbmcgdGhlIHNjcm9sbCBwb3NpdGlvbi5cbiAgICAgIC8vIFdlIGFsc28gdW5zZXQgYW55IHNlbGVjdGlvbiB0byBhbGlnbiB3aXRoIHRoZSBuYXRpdmUgdGV4dCBpbnB1dC5cbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgICAnYmx1cicsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk/LnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgICAgIGlmICh0aGlzLnZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgdGhpcy5fYXNzaWduVmFsdWUoJycpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlSWZOZWNlc3NhcnkoKTtcbiAgICAgICAgICB0aGlzLnNjcm9sbExlZnQgPSAwO1xuICAgICAgICB9LFxuICAgICAgICB7IGNhcHR1cmU6IHRydWUgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzRGlzYWJsZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybURpc2FibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTXVsdGlMaW5lID0gJ2ZhbHNlJztcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbnRlbnRlZGl0YWJsZSgpO1xuXG4gICAgICAvLyBXZSB3YW50IHRvIHJlcGxhY2UgYW55IGNvbnRlbnQgYnkganVzdCB0aGUgdGV4dCBjb250ZW50LlxuICAgICAgdGhpcy5fYXNzaWduVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmZvY3VzKG9wdGlvbnMpO1xuICAgICAgLy8gQnkgZGVmYXVsdCwgd2hlbiBjYWxsaW5nIGZvY3VzIG9uIGFuIGlucHV0IGVsZW1lbnQsIHRoZSBjdXJzb3IgaXMgcGxhY2VkXG4gICAgICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dCB0ZXh0LiBIb3dldmVyLCB3aXRoIGNvbnRlbnRlZGl0YWJsZSwgdGhlIGN1cnNvclxuICAgICAgLy8gaXMgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcsIHNvIHdlIG1vdmUgaXQgdG8gdGhlIGVuZCwgaWYgdGhhdCBpcyB0aGUgY2FzZS5cbiAgICAgIGlmICh0aGlzLl9jYW5TZWxlY3QoKSkge1xuICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGlmICghc2VsZWN0aW9uKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJhbmdlID0gc2VsZWN0aW9uLnJhbmdlQ291bnQgPiAwID8gc2VsZWN0aW9uLmdldFJhbmdlQXQoMCkgOiBudWxsO1xuICAgICAgICBpZiAocmFuZ2UgJiYgcmFuZ2Uuc3RhcnRPZmZzZXQgIT09IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zZXRDdXJzb3JBdCh0aGlzLnRleHRDb250ZW50IS5sZW5ndGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soXG4gICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICBvbGQ6IHN0cmluZyB8IG51bGwsXG4gICAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgICApOiB2b2lkIHtcbiAgICAgIC8qKlxuICAgICAgICogVGhlIG5hdGl2ZSB0ZXh0IGlucHV0IGNoYW5nZXMgdGhlIHZhbHVlIHByb3BlcnR5IHdoZW4gdGhlIHZhbHVlIGF0dHJpYnV0ZSBpc1xuICAgICAgICogY2hhbmdlZCB1bmRlciB0aGUgY29uZGl0aW9uIHRoYXQgbm8gaW5wdXQgZXZlbnQgaGFzIG9jY3VycmVkIHNpbmNlIGNyZWF0aW9uXG4gICAgICAgKiBvciB0aGUgbGFzdCBmb3JtIHJlc2V0LlxuICAgICAgICovXG4gICAgICBpZiAobmFtZSAhPT0gJ3ZhbHVlJyB8fCAhdGhpcy5tYXRjaGVzPy4oJzpzdGF0ZShpbnRlcmFjdGVkKScpKSB7XG4gICAgICAgIHN1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBvbGQsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIGZvcm0gaXMgYmVpbmcgcmVzZXQuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdpbnRlcmFjdGVkJyk7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykgPz8gJyc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIENhbGxlZCB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byByZXN0b3JlIGVsZW1lbnTigJlzIHN0YXRlIHRvIHN0YXRlIGluIHdoaWNoIGNhc2VcbiAgICAgKiAgcmVhc29uIGlzIFwicmVzdG9yZVwiLCBvciB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byBmdWxmaWxsIGF1dG9maWxsIG9uIGJlaGFsZiBvZlxuICAgICAqICB1c2VyIGluIHdoaWNoIGNhc2UgcmVhc29uIGlzIFwiYXV0b2NvbXBsZXRlXCIuXG4gICAgICogIEluIHRoZSBjYXNlIG9mIFwicmVzdG9yZVwiLCBzdGF0ZSBpcyBhIHN0cmluZywgRmlsZSwgb3IgRm9ybURhdGEgb2JqZWN0XG4gICAgICogIHByZXZpb3VzbHkgc2V0IGFzIHRoZSBzZWNvbmQgYXJndW1lbnQgdG8gc2V0Rm9ybVZhbHVlLlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhcbiAgICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICAgICk6IHZvaWQge1xuICAgICAgaWYgKHN0YXRlICYmIHR5cGVvZiBzdGF0ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHN0YXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ha2VzIHRoZSBzZWxlY3Rpb24gZXF1YWwgdG8gdGhlIGN1cnJlbnQgb2JqZWN0LlxuICAgICAqXG4gICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0hUTUxJbnB1dEVsZW1lbnQvc2VsZWN0XG4gICAgICovXG4gICAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8uc2VsZWN0QWxsQ2hpbGRyZW4odGhpcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAgIC8vIElmIHRoZSB2YWx1ZSB3YXMgYXNzaWduZWQgYmVmb3JlIGZpcnN0VXBkYXRlLCB3ZSBoYXZlIHRvXG4gICAgICAvLyB3cml0ZSBpdCB0aGUgZG9jdW1lbnQgdG8gYmUgdmlzdWFsbHkgc2VlblxuICAgICAgaWYgKHRoaXMudmFsdWUgJiYgIXRoaXMuaW5uZXJIVE1MLmxlbmd0aCkge1xuICAgICAgICB0aGlzLl9hc3NpZ25WYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICAgICk6IHZvaWQge1xuICAgICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuaXNDb25uZWN0ZWQgJiZcbiAgICAgICAgKG5hbWUgPT09ICdkaXNhYmxlZCcgfHwgbmFtZSA9PT0gJ2Zvcm1EaXNhYmxlZCcgfHwgbmFtZSA9PT0gJ3JlYWRPbmx5JylcbiAgICAgICkge1xuICAgICAgICB0aGlzLl91cGRhdGVDb250ZW50ZWRpdGFibGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fCBuYW1lID09PSAndmFsdWUnIHx8IG5hbWUgPT09ICdyZXF1aXJlZCc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgICAgc3VwZXIudmFsaWRhdGUoKTtcbiAgICAgIGlmICh0aGlzLnJlcXVpcmVkICYmICF0aGlzLnZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCd2YWx1ZU1pc3NpbmcnLCBpMThuSW5wdXRSZXF1aXJlZFt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRpdHlGbGFnKCd2YWx1ZU1pc3NpbmcnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcHJlcGFyZVBhc3RlZFRleHQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0ZXh0O1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlcXVpcmVzRW1wdHlQYXRjaCgpOiBib29sZWFuIHtcbiAgICAgIC8vIEluIEJsaW5rLCBhIGNvbnRlbnRlZGl0YWJsZSBlbGVtZW50IHdpdGggZW1wdHkgY29udGVudCB3aWxsIGNyYXNoXG4gICAgICAvLyB1cG9uIHJlY2VpdmluZyBmb2N1cywgd2hlbiBpbiBNb2JpbGUgbW9kZS5cbiAgICAgIC8vIFRvIHByZXZlbnQgdGhpcywgd2UgcGF0Y2ggdGhlIGVtcHR5IHN0YXRlIGJ5IGluc2VydGluZyBhIG5vbi1icmVha2luZyBzcGFjZS5cbiAgICAgIHJldHVybiBpc1NlcnZlclxuICAgICAgICA/IGZhbHNlXG4gICAgICAgIDogaXNCbGluayAmJiB0aGlzLnZhbHVlID09PSAnJyAmJiB3aW5kb3cubWF0Y2hNZWRpYShTYmJNZWRpYVF1ZXJ5UG9pbnRlckNvYXJzZSkubWF0Y2hlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIF9hc3NpZ25WYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICB0aGlzLmlubmVySFRNTCA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldEN1cnNvckF0KHBvc2l0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgIGlmICghc2VsZWN0aW9uKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuICAgICAgcmFuZ2Uuc2V0U3RhcnQodGhpcy5maXJzdENoaWxkISwgcG9zaXRpb24pO1xuICAgICAgcmFuZ2UuY29sbGFwc2UodHJ1ZSk7XG4gICAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NsZWFuVGV4dCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIC8vIFRoZSBuYXRpdmUgdGV4dCBpbnB1dCByZW1vdmVzIGFsbCBuZXdsaW5lIGNoYXJhY3RlcnMgaWYgcGFzc2VkIHRvIHRoZSB2YWx1ZSBwcm9wZXJ0eVxuICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsID8gJycgOiBgJHt2YWx1ZX1gLnJlcGxhY2UoL1tcXG5cXHJdKy9nLCAnJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzcGF0Y2hJbnB1dEV2ZW50KCk6IHZvaWQge1xuICAgICAgLyoqIFRoZSBpbnB1dCBldmVudCBmaXJlcyB3aGVuIHRoZSB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkIGFzIGEgZGlyZWN0IHJlc3VsdCBvZiBhIHVzZXIgYWN0aW9uLiAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIH1cblxuICAgIEBldmVudE9wdGlvbnMoeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgcHJpdmF0ZSBfY2xlYW5DaGlsZHJlbigpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmNoaWxkRWxlbWVudENvdW50KSB7XG4gICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiB0aGlzLmNoaWxkcmVuKSB7XG4gICAgICAgICAgZWxlbWVudC5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3VwZGF0ZUNvbnRlbnRlZGl0YWJsZSgpOiB2b2lkIHtcbiAgICAgIGlmICghaXNTZXJ2ZXIgJiYgdGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgICB0aGlzLmludGVybmFscy5hcmlhUmVhZE9ubHkgPSB0aGlzLnJlYWRPbmx5ID8gJ3RydWUnIDogbnVsbDtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYURpc2FibGVkID0gdGhpcy5kaXNhYmxlZCA/ICd0cnVlJyA6IG51bGw7XG4gICAgICAgIC8vIFRPRE8oMjAyNik6IEZpcmVmb3ggc3VwcG9ydHMgcGxhaW50ZXh0LW9ubHkgc2luY2UgdmVyc2lvbiAxMzYgKE1hcmNoIDIwMjUpLlxuICAgICAgICAvLyBVbnRpbCB0aGlzIGlzIHBhcnQgb2Ygb3VyIGJhc2VsaW5lLCB3ZSBzaG91bGQgZmVhdHVyZSBjaGVjayB0byBlbmFibGUgaXQuXG4gICAgICAgIGNvbnN0IHZhbHVlID1cbiAgICAgICAgICB0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZE9ubHlcbiAgICAgICAgICAgID8gJ2ZhbHNlJ1xuICAgICAgICAgICAgOiBwbGFpbnRleHRPbmx5U3VwcG9ydGVkXG4gICAgICAgICAgICAgID8gJ3BsYWludGV4dC1vbmx5J1xuICAgICAgICAgICAgICA6ICd0cnVlJztcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsIHZhbHVlKTtcbiAgICAgICAgLy8gSW4gdGhlIHJlYWRvbmx5IGNhc2UsIHdlIGRpc2FibGUgY29udGVudGVkaXRhYmxlLCBidXQgaXQgc3RpbGxcbiAgICAgICAgLy8gbmVlZHMgdG8gYmUgZm9jdXNhYmxlLiBXZSBhY2hpZXZlIHRoaXMgYnkgc2V0dGluZyB0YWJpbmRleCBpbiB0aGF0IGNhc2UuXG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2VtaXRDaGFuZ2VJZk5lY2Vzc2FyeSgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLl9zaG91bGRFbWl0Q2hhbmdlKSB7XG4gICAgICAgIHRoaXMuX3Nob3VsZEVtaXRDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgLyoqIFRoZSBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlLiBVbmxpa2UgdGhlIGlucHV0IGV2ZW50LCB0aGUgY2hhbmdlIGV2ZW50IGlzIG5vdCBuZWNlc3NhcmlseSBmaXJlZCBmb3IgZWFjaCBhbHRlcmF0aW9uIHRvIGFuIGVsZW1lbnQncyB2YWx1ZS4gKi9cbiAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9jYW5TZWxlY3QoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gIWlzU2VydmVyICYmICF0aGlzLmRpc2FibGVkICYmICF0aGlzLnJlYWRPbmx5ICYmICEhdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IHVua25vd24ge1xuICAgICAgcmV0dXJuIGh0bWxgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9jbGVhbkNoaWxkcmVufT48L3Nsb3Q+YDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gU2JiRm9ybUFzc29jaWF0ZWRJbnB1dEVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQTREQSxJQUFNLGtDQUEwQztDQUM5QyxJQUFJLFVBQ0YsT0FBTztDQUdULE1BQU0sTUFBTSxTQUFTLGNBQWMsTUFBTTtDQUN6QyxJQUFJLGFBQWEsbUJBQW1CLGlCQUFpQjtDQUlyRCxPQUFPLElBQUksb0JBQW9COztBQUVqQyxJQUFNLHlCQUF5QiwyQkFBMkI7Ozs7QUFNMUQsSUFBYSwrQkFDWCxlQUM0RDtDQUU1RCxNQUFNLHdCQUF5QixXQUFrRCxtQkFDNUUsYUFHRCx5QkFBeUIsV0FBVztDQWtheEMsY0FoYTRDO29CQUNsQyxpQkFDTixpQkFBaUIsaUJBQWlCLHVCQUF1QixzQkFBc0IsQ0FBQyxDQUFDLENBQ2xGOzs7OztlQUhZLHND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
|
|
345
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLWlucHV0LW1peGluLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9mb3JtLWFzc29jaWF0ZWQtaW5wdXQtbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgTGl0RWxlbWVudCxcbiAgdHlwZSBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgZXZlbnRPcHRpb25zLCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi4vYTExeS50cyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsIFNiYk1lZGlhUXVlcnlQb2ludGVyQ29hcnNlIH0gZnJvbSAnLi4vY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgaXNCbGluaywgaXNXZWJraXQgfSBmcm9tICcuLi9kb20udHMnO1xuaW1wb3J0IHsgaTE4bklucHV0UmVxdWlyZWQgfSBmcm9tICcuLi9pMThuLnRzJztcblxuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi9kaXNhYmxlZC1taXhpbi50cyc7XG5pbXBvcnQge1xuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIHR5cGUgU2JiRWxlbWVudEludGVybmFsc01peGluVHlwZSxcbiAgdHlwZSBTYmJFbGVtZW50SW50ZXJuYWxzQ29uc3RydWN0b3IsXG59IGZyb20gJy4vZWxlbWVudC1pbnRlcm5hbHMtbWl4aW4udHMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluLFxufSBmcm9tICcuL2Zvcm0tYXNzb2NpYXRlZC1taXhpbi50cyc7XG5pbXBvcnQgeyBTYmJSZWFkb25seU1peGluIH0gZnJvbSAnLi9yZWFkb25seS1taXhpbi50cyc7XG5pbXBvcnQgeyBTYmJSZXF1aXJlZE1peGluIH0gZnJvbSAnLi9yZXF1aXJlZC1taXhpbi50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGFic3RyYWN0IGNsYXNzIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpblR5cGUgZXh0ZW5kcyBTYmJSZXF1aXJlZE1peGluKFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBmb3JtRmllbGRBc3NvY2lhdGVkID0gdHJ1ZTtcblxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpO1xuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZztcblxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKTtcbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuO1xuXG4gIHB1YmxpYyBzZXQgcmVhZE9ubHkodmFsdWU6IGJvb2xlYW4pO1xuICBwdWJsaWMgZ2V0IHJlYWRPbmx5KCk6IGJvb2xlYW47XG5cbiAgcHVibGljIHNldCBwbGFjZWhvbGRlcih2YWx1ZTogc3RyaW5nKTtcbiAgcHVibGljIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1ha2VzIHRoZSBzZWxlY3Rpb24gZXF1YWwgdG8gdGhlIGN1cnJlbnQgb2JqZWN0LlxuICAgKlxuICAgKiBbTUROIFJlZmVyZW5jZV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0hUTUxJbnB1dEVsZW1lbnQvc2VsZWN0KVxuICAgKi9cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkO1xuXG4gIHB1YmxpYyBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkO1xuICBwdWJsaWMgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCwgcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbik6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIGlzU2VsZWN0ZWQoKTogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIHByZXBhcmVQYXN0ZWRUZXh0KHRleHQ6IHN0cmluZyk6IHN0cmluZztcbiAgcHJvdGVjdGVkIGxhbmd1YWdlOiBTYmJMYW5ndWFnZUNvbnRyb2xsZXI7XG59XG5cbmNvbnN0IGNoZWNrUGxhaW50ZXh0T25seVN1cHBvcnQgPSAoKTogYm9vbGVhbiA9PiB7XG4gIGlmIChpc1NlcnZlcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICBkaXYuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCAnUExBSU5URVhULU9OTFknKTtcblxuICAvLyBJZiBwbGFpbnRleHQtb25seSBpcyBzdXBwb3J0ZWQsIHRoZSBhdHRyaWJ1dGUgdmFsdWUgaXNcbiAgLy8gcmV0dXJuZWQgYXMgbG93ZXItY2FzZSBmcm9tIHRoZSBwcm9wZXJ0eSBhY2Nlc3MuXG4gIHJldHVybiBkaXYuY29udGVudEVkaXRhYmxlID09PSAncGxhaW50ZXh0LW9ubHknO1xufTtcbmNvbnN0IHBsYWludGV4dE9ubHlTdXBwb3J0ZWQgPSBjaGVja1BsYWludGV4dE9ubHlTdXBwb3J0KCk7XG5cbi8qKlxuICogVGhlIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbiBlbmFibGVzIG5hdGl2ZSBmb3JtIHN1cHBvcnQgZm9yIHRleHQgaW5wdXQgY29udHJvbHMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW5UeXBlPiAmIFQgPT4ge1xuICAvLyBUT0RPKGJyZWFraW5nLWNoYW5nZSk6IFJlbW92ZSBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gYW5kIGRlcGVuZCBvbiBTYmJFbGVtZW50IGFzIGJhc2UgY2xhc3MgaW5zdGVhZCBvZiBMaXRFbGVtZW50XG4gIGNvbnN0IGNvbmRpdGlvbmFsU3VwZXJDbGFzcyA9IChzdXBlckNsYXNzIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pWydfJHNiYkVsZW1lbnQkJ11cbiAgICA/IChzdXBlckNsYXNzIGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW5UeXBlPiAmXG4gICAgICAgIFQgJlxuICAgICAgICBTYmJFbGVtZW50SW50ZXJuYWxzQ29uc3RydWN0b3IpXG4gICAgOiBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oc3VwZXJDbGFzcyk7XG5cbiAgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dEVsZW1lbnRcbiAgICBleHRlbmRzIFNiYlJlYWRvbmx5TWl4aW4oXG4gICAgICBTYmJEaXNhYmxlZE1peGluKFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihjb25kaXRpb25hbFN1cGVyQ2xhc3MpKSksXG4gICAgKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3RleHRib3gnO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZm9ybUZpZWxkQXNzb2NpYXRlZCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBBbiBlbGVtZW50IHdpdGggY29udGVudGVkaXRhYmxlIHdpbGwgbm90IGVtaXQgYSBjaGFuZ2UgZXZlbnQuIFRvIGFjaGlldmUgcGFyaXR5XG4gICAgICogd2l0aCBhIG5hdGl2ZSB0ZXh0IGlucHV0LCB3ZSBuZWVkIHRvIHRyYWNrIHdoZXRoZXIgYSBjaGFuZ2UgZXZlbnQgc2hvdWxkIGJlXG4gICAgICogZW1pdHRlZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9zaG91bGRFbWl0Q2hhbmdlID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogQSBuYXRpdmUgdGV4dCBpbnB1dCBhdHRlbXB0cyB0byBzdWJtaXQgdGhlIGZvcm0gd2hlbiBwcmVzc2luZyBFbnRlci5cbiAgICAgKiBUaGlzIGNhbiBiZSBwcmV2ZW50ZWQgYnkgY2FsbGluZyBwcmV2ZW50RGVmYXVsdCBvbiB0aGUga2V5ZG93biBldmVudC5cbiAgICAgKiBXZSB0cmFjayB3aGV0aGVyIHRvIHJlcXVlc3Qgc3VibWl0LCB3aGljaCBzaG91bGQgb2NjdXIgYmVmb3JlIHRoZSBrZXl1cFxuICAgICAqIGV2ZW50LlxuICAgICAqL1xuICAgIHByaXZhdGUgX3Nob3VsZFRyaWdnZXJTdWJtaXQgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBsYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgICAvKipcbiAgICAgKiBGb3JtIHR5cGUgb2YgZWxlbWVudC5cbiAgICAgKiBAZGVmYXVsdCAndGV4dCdcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAndGV4dCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlIG9mIHRoZSBpbnB1dC4gUmVmbGVjdHMgdGhlIGN1cnJlbnQgdGV4dCB2YWx1ZSBvZiB0aGlzIGlucHV0LlxuICAgICAqL1xuICAgIEBwcm9wZXJ0eSgpXG4gICAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2NsZWFuVGV4dCh2YWx1ZSk7XG4gICAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICAgIHRoaXMuX2Fzc2lnblZhbHVlKHRoaXMuX3ZhbHVlKTtcbiAgICAgIH1cbiAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2Rpc3BsYXl2YWx1ZWNoYW5nZScsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWUgPz8gJyc7XG4gICAgfVxuICAgIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmcgPSAnJztcblxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSlcbiAgICBwdWJsaWMgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInLCB2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgncGxhY2Vob2xkZXInKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFQbGFjZWhvbGRlciA9IHZhbHVlID8gdmFsdWUgOiBudWxsO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJykgPz8gJyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgICAgc3VwZXIoKTtcbiAgICAgIC8vIFdlIHByaW1hcmlseSB1c2UgY2FwdHVyZSBldmVudCBsaXN0ZW5lcnMsIGFzIHdlIHdhbnRcbiAgICAgIC8vIG91ciBsaXN0ZW5lcnMgdG8gb2NjdXIgYmVmb3JlIGNvbnN1bWVyIGV2ZW50IGxpc3RlbmVycy5cbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgICAnaW5wdXQnLFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLl92YWx1ZTtcbiAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2NsZWFuVGV4dCh0aGlzLnRleHRDb250ZW50ID8/ICcnKTtcbiAgICAgICAgICB0aGlzLnJlcXVlc3RVcGRhdGUoJ3ZhbHVlJywgb2xkVmFsdWUpO1xuICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ2ludGVyYWN0ZWQnKTtcbiAgICAgICAgICB0aGlzLl9zaG91bGRFbWl0Q2hhbmdlID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NoYW5nZScsICgpID0+ICh0aGlzLl9zaG91bGRFbWl0Q2hhbmdlID0gZmFsc2UpLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LihcbiAgICAgICAgJ2tleWRvd24nLFxuICAgICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fcmVxdWlyZXNFbXB0eVBhdGNoKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2Fzc2lnblZhbHVlKCcnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gV2UgcHJldmVudCByZWN1cnNpdmUgZXZlbnRzIGJ5IGNoZWNraW5nIHRoZSBvcmlnaW5hbCBldmVudCBmb3IgaXNUcnVzdGVkXG4gICAgICAgICAgLy8gd2hpY2ggaXMgZmFsc2UgZm9yIG1hbnVhbGx5IGRpc3BhdGNoZWQgZXZlbnRzICh3aGljaCB3ZSBkaXNwYXRjaCBiZWxvdykuXG4gICAgICAgICAgaWYgKChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnXFxuJykgJiYgZXZlbnQuaXNUcnVzdGVkKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLl9zaG91bGRUcmlnZ2VyU3VibWl0ID0gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBLZXlib2FyZEV2ZW50KCdrZXlkb3duJywgZXZlbnQpKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgaXNXZWJraXQgJiZcbiAgICAgICAgICAgIHRoaXMudmFsdWUgJiZcbiAgICAgICAgICAgIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnIHx8IGV2ZW50LmtleSA9PT0gJ0RlbGV0ZScpICYmXG4gICAgICAgICAgICBldmVudC5pc1RydXN0ZWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIEluIFdlYmtpdCBwcmVzc2luZyBCYWNrc3BhY2Ugb3IgRGVsZXRlIGNvbXBsZXRlbHkgcmVtb3ZlcyBhbGwgdGhlIGNvbnRlbnRcbiAgICAgICAgICAgIC8vIGlmIGNvbnRlbnRlZGl0YWJsZSBpcyBzZXQgb24gYSB3ZWIgY29tcG9uZW50IGhvc3QuXG4gICAgICAgICAgICAvLyBXZSBoYXZlIHRvIHJlcGxpY2F0ZSB0aGUgbm9ybWFsIGRlbGV0ZSBiZWhhdmlvci5cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCBldmVudCkpKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRSYW5nZSA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8uZ2V0UmFuZ2VBdCgwKTtcbiAgICAgICAgICAgIGlmICghc2VsZWN0ZWRSYW5nZSkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFJhbmdlLnN0YXJ0T2Zmc2V0ICE9PSBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCkge1xuICAgICAgICAgICAgICAvLyBJZiBhIHRleHQgcmFuZ2UgaXMgc2VsZWN0ZWQsIHRoZW4gZGVsZXRlIHRoaXMgcmFuZ2VcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICAgICAgICB0aGlzLl9kaXNwYXRjaElucHV0RXZlbnQoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJyAmJiBzZWxlY3RlZFJhbmdlLnN0YXJ0T2Zmc2V0ID4gMCkge1xuICAgICAgICAgICAgICAvLyBXaGVuIHByZXNzaW5nIEJhY2tzcGFjZSwgd2Ugc2VsZWN0IHRoZSBwcmV2aW91cyBjaGFyYWN0ZXIgZnJvbVxuICAgICAgICAgICAgICAvLyB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24gYW5kIGRlbGV0ZSBpdC5cbiAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS5zZXRTdGFydChzZWxlY3RlZFJhbmdlLnN0YXJ0Q29udGFpbmVyLCBzZWxlY3RlZFJhbmdlLnN0YXJ0T2Zmc2V0IC0gMSk7XG4gICAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2UuZGVsZXRlQ29udGVudHMoKTtcbiAgICAgICAgICAgICAgdGhpcy5fZGlzcGF0Y2hJbnB1dEV2ZW50KCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0RlbGV0ZScgJiYgc2VsZWN0ZWRSYW5nZS5lbmRPZmZzZXQgPCB0aGlzLnZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAvLyBXaGVuIHByZXNzaW5nIERlbGV0ZSwgd2Ugc2VsZWN0IHRoZSBuZXh0IGNoYXJhY3RlciBmcm9tXG4gICAgICAgICAgICAgIC8vIHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbiBhbmQgZGVsZXRlIGl0LlxuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLnNldEVuZChzZWxlY3RlZFJhbmdlLmVuZENvbnRhaW5lciwgc2VsZWN0ZWRSYW5nZS5lbmRPZmZzZXQgKyAxKTtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICAgICAgICB0aGlzLl9kaXNwYXRjaElucHV0RXZlbnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgY2FwdHVyZTogdHJ1ZSB9LFxuICAgICAgKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgICAna2V5dXAnLFxuICAgICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgIHRoaXMuX2VtaXRDaGFuZ2VJZk5lY2Vzc2FyeSgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFRyaWdnZXJTdWJtaXQpIHtcbiAgICAgICAgICAgICAgdGhpcy5fc2hvdWxkVHJpZ2dlclN1Ym1pdCA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLmZvcm0/LnJlcXVlc3RTdWJtaXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX3JlcXVpcmVzRW1wdHlQYXRjaCgpKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRDdXJzb3JBdCgwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgY2FwdHVyZTogdHJ1ZSB9LFxuICAgICAgKTtcbiAgICAgIC8vIGNvbnRlbnRlZGl0YWJsZSBhbGxvd3MgcGFzdGluZyByaWNoIGNvbnRlbnQgaW50byBpdHMgaG9zdC5cbiAgICAgIC8vIFdlIHByZXZlbnQgdGhpcyBieSBsaXN0ZW5pbmcgdG8gdGhlIHBhc3RlIGV2ZW50IGFuZFxuICAgICAgLy8gZXh0cmFjdGluZyB0aGUgcGxhaW4gdGV4dCBmcm9tIHRoZSBwYXN0ZWQgY29udGVudFxuICAgICAgLy8gYW5kIGluc2VydGluZyBpdCBpbnRvIHRoZSBzZWxlY3RlZCByYW5nZSAoY3Vyc29yIHBvc2l0aW9uXG4gICAgICAvLyBvciBzZWxlY3Rpb24pLlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3Bhc3RlJywgKGUpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAodGhpcy5fcmVxdWlyZXNFbXB0eVBhdGNoKCkpIHtcbiAgICAgICAgICB0aGlzLl9hc3NpZ25WYWx1ZSgnJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0ZXh0ID0gdGhpcy5fY2xlYW5UZXh0KGUuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dC9wbGFpbicpID8/ICcnKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRSYW5nZSA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8uZ2V0UmFuZ2VBdCgwKTtcbiAgICAgICAgaWYgKCFzZWxlY3RlZFJhbmdlIHx8ICF0ZXh0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0ZWRSYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICBzZWxlY3RlZFJhbmdlLmluc2VydE5vZGUoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGhpcy5wcmVwYXJlUGFzdGVkVGV4dCh0ZXh0KSkpO1xuICAgICAgICBzZWxlY3RlZFJhbmdlLnNldFN0YXJ0KHNlbGVjdGVkUmFuZ2UuZW5kQ29udGFpbmVyLCBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCk7XG4gICAgICAgIHRoaXMuX2Rpc3BhdGNoSW5wdXRFdmVudCgpO1xuICAgICAgfSk7XG4gICAgICAvLyBXaGVuIGZvY3VzaW5nIGEgdGV4dCBpbnB1dCB2aWEga2V5Ym9hcmQsIHRoZSB0ZXh0IGNvbnRlbnQgc2hvdWxkIGJlIHNlbGVjdGVkLlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2ZvY3VzJywgKCkgPT4ge1xuICAgICAgICBpZiAoc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJykge1xuICAgICAgICAgIC8vIFRPRE86IFRoaXMgZG9lcyBub3Qgc2VlbSB0byB3b3JrIGluIEZpcmVmb3ggd2l0aCByZWFkb25seS5cbiAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk/LnNlbGVjdEFsbENoaWxkcmVuKHRoaXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCd0b3VjaGVuZCcsICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX3JlcXVpcmVzRW1wdHlQYXRjaCgpKSB7XG4gICAgICAgICAgdGhpcy5fYXNzaWduVmFsdWUoJyZuYnNwOycpO1xuICAgICAgICAgIHRoaXMuX3NldEN1cnNvckF0KDApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX3JlcXVpcmVzRW1wdHlQYXRjaCgpICYmIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICd0b3VjaCcpIHtcbiAgICAgICAgICB0aGlzLl9zZXRDdXJzb3JBdCgwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIE9uIGJsdXIgdGhlIG5hdGl2ZSB0ZXh0IGlucHV0IHNjcm9sbHMgdGhlIHRleHQgdG8gdGhlIHN0YXJ0IG9mIHRoZSB0ZXh0LlxuICAgICAgLy8gV2UgbWltaWMgdGhhdCBieSByZXNldHRpbmcgdGhlIHNjcm9sbCBwb3NpdGlvbi5cbiAgICAgIC8vIFdlIGFsc28gdW5zZXQgYW55IHNlbGVjdGlvbiB0byBhbGlnbiB3aXRoIHRoZSBuYXRpdmUgdGV4dCBpbnB1dC5cbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgICAnYmx1cicsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk/LnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgICAgIGlmICh0aGlzLnZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgdGhpcy5fYXNzaWduVmFsdWUoJycpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlSWZOZWNlc3NhcnkoKTtcbiAgICAgICAgICB0aGlzLnNjcm9sbExlZnQgPSAwO1xuICAgICAgICB9LFxuICAgICAgICB7IGNhcHR1cmU6IHRydWUgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzRGlzYWJsZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybURpc2FibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTXVsdGlMaW5lID0gJ2ZhbHNlJztcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbnRlbnRlZGl0YWJsZSgpO1xuXG4gICAgICAvLyBXZSB3YW50IHRvIHJlcGxhY2UgYW55IGNvbnRlbnQgYnkganVzdCB0aGUgdGV4dCBjb250ZW50LlxuICAgICAgdGhpcy5fYXNzaWduVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmZvY3VzKG9wdGlvbnMpO1xuICAgICAgLy8gQnkgZGVmYXVsdCwgd2hlbiBjYWxsaW5nIGZvY3VzIG9uIGFuIGlucHV0IGVsZW1lbnQsIHRoZSBjdXJzb3IgaXMgcGxhY2VkXG4gICAgICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dCB0ZXh0LiBIb3dldmVyLCB3aXRoIGNvbnRlbnRlZGl0YWJsZSwgdGhlIGN1cnNvclxuICAgICAgLy8gaXMgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcsIHNvIHdlIG1vdmUgaXQgdG8gdGhlIGVuZCwgaWYgdGhhdCBpcyB0aGUgY2FzZS5cbiAgICAgIGlmICh0aGlzLl9jYW5TZWxlY3QoKSkge1xuICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGlmICghc2VsZWN0aW9uKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJhbmdlID0gc2VsZWN0aW9uLnJhbmdlQ291bnQgPiAwID8gc2VsZWN0aW9uLmdldFJhbmdlQXQoMCkgOiBudWxsO1xuICAgICAgICBpZiAocmFuZ2UgJiYgcmFuZ2Uuc3RhcnRPZmZzZXQgIT09IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zZXRDdXJzb3JBdCh0aGlzLnRleHRDb250ZW50IS5sZW5ndGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soXG4gICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICBvbGQ6IHN0cmluZyB8IG51bGwsXG4gICAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgICApOiB2b2lkIHtcbiAgICAgIC8qKlxuICAgICAgICogVGhlIG5hdGl2ZSB0ZXh0IGlucHV0IGNoYW5nZXMgdGhlIHZhbHVlIHByb3BlcnR5IHdoZW4gdGhlIHZhbHVlIGF0dHJpYnV0ZSBpc1xuICAgICAgICogY2hhbmdlZCB1bmRlciB0aGUgY29uZGl0aW9uIHRoYXQgbm8gaW5wdXQgZXZlbnQgaGFzIG9jY3VycmVkIHNpbmNlIGNyZWF0aW9uXG4gICAgICAgKiBvciB0aGUgbGFzdCBmb3JtIHJlc2V0LlxuICAgICAgICovXG4gICAgICBpZiAobmFtZSAhPT0gJ3ZhbHVlJyB8fCAhdGhpcy5tYXRjaGVzPy4oJzpzdGF0ZShpbnRlcmFjdGVkKScpKSB7XG4gICAgICAgIHN1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBvbGQsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIGZvcm0gaXMgYmVpbmcgcmVzZXQuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdpbnRlcmFjdGVkJyk7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykgPz8gJyc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIENhbGxlZCB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byByZXN0b3JlIGVsZW1lbnTigJlzIHN0YXRlIHRvIHN0YXRlIGluIHdoaWNoIGNhc2VcbiAgICAgKiAgcmVhc29uIGlzIFwicmVzdG9yZVwiLCBvciB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byBmdWxmaWxsIGF1dG9maWxsIG9uIGJlaGFsZiBvZlxuICAgICAqICB1c2VyIGluIHdoaWNoIGNhc2UgcmVhc29uIGlzIFwiYXV0b2NvbXBsZXRlXCIuXG4gICAgICogIEluIHRoZSBjYXNlIG9mIFwicmVzdG9yZVwiLCBzdGF0ZSBpcyBhIHN0cmluZywgRmlsZSwgb3IgRm9ybURhdGEgb2JqZWN0XG4gICAgICogIHByZXZpb3VzbHkgc2V0IGFzIHRoZSBzZWNvbmQgYXJndW1lbnQgdG8gc2V0Rm9ybVZhbHVlLlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhcbiAgICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICAgICk6IHZvaWQge1xuICAgICAgaWYgKHN0YXRlICYmIHR5cGVvZiBzdGF0ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHN0YXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ha2VzIHRoZSBzZWxlY3Rpb24gZXF1YWwgdG8gdGhlIGN1cnJlbnQgb2JqZWN0LlxuICAgICAqXG4gICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0hUTUxJbnB1dEVsZW1lbnQvc2VsZWN0XG4gICAgICovXG4gICAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8uc2VsZWN0QWxsQ2hpbGRyZW4odGhpcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAgIC8vIElmIHRoZSB2YWx1ZSB3YXMgYXNzaWduZWQgYmVmb3JlIGZpcnN0VXBkYXRlLCB3ZSBoYXZlIHRvXG4gICAgICAvLyB3cml0ZSBpdCB0aGUgZG9jdW1lbnQgdG8gYmUgdmlzdWFsbHkgc2VlblxuICAgICAgaWYgKHRoaXMudmFsdWUgJiYgIXRoaXMuaW5uZXJIVE1MLmxlbmd0aCkge1xuICAgICAgICB0aGlzLl9hc3NpZ25WYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICAgICk6IHZvaWQge1xuICAgICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuaXNDb25uZWN0ZWQgJiZcbiAgICAgICAgKG5hbWUgPT09ICdkaXNhYmxlZCcgfHwgbmFtZSA9PT0gJ2Zvcm1EaXNhYmxlZCcgfHwgbmFtZSA9PT0gJ3JlYWRPbmx5JylcbiAgICAgICkge1xuICAgICAgICB0aGlzLl91cGRhdGVDb250ZW50ZWRpdGFibGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fCBuYW1lID09PSAndmFsdWUnIHx8IG5hbWUgPT09ICdyZXF1aXJlZCc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgICAgc3VwZXIudmFsaWRhdGUoKTtcbiAgICAgIGlmICh0aGlzLnJlcXVpcmVkICYmICF0aGlzLnZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCd2YWx1ZU1pc3NpbmcnLCBpMThuSW5wdXRSZXF1aXJlZFt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRpdHlGbGFnKCd2YWx1ZU1pc3NpbmcnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICByZXR1cm4gISFzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLnJhbmdlQ291bnQgPiAwICYmIHRoaXMuY29udGFpbnMoc2VsZWN0aW9uLmFuY2hvck5vZGUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBwcmVwYXJlUGFzdGVkVGV4dCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVxdWlyZXNFbXB0eVBhdGNoKCk6IGJvb2xlYW4ge1xuICAgICAgLy8gSW4gQmxpbmssIGEgY29udGVudGVkaXRhYmxlIGVsZW1lbnQgd2l0aCBlbXB0eSBjb250ZW50IHdpbGwgY3Jhc2hcbiAgICAgIC8vIHVwb24gcmVjZWl2aW5nIGZvY3VzLCB3aGVuIGluIE1vYmlsZSBtb2RlLlxuICAgICAgLy8gVG8gcHJldmVudCB0aGlzLCB3ZSBwYXRjaCB0aGUgZW1wdHkgc3RhdGUgYnkgaW5zZXJ0aW5nIGEgbm9uLWJyZWFraW5nIHNwYWNlLlxuICAgICAgcmV0dXJuIGlzU2VydmVyXG4gICAgICAgID8gZmFsc2VcbiAgICAgICAgOiBpc0JsaW5rICYmIHRoaXMudmFsdWUgPT09ICcnICYmIHdpbmRvdy5tYXRjaE1lZGlhKFNiYk1lZGlhUXVlcnlQb2ludGVyQ29hcnNlKS5tYXRjaGVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Fzc2lnblZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIHRoaXMuaW5uZXJIVE1MID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0Q3Vyc29yQXQocG9zaXRpb246IG51bWJlcik6IHZvaWQge1xuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgaWYgKCFzZWxlY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgICByYW5nZS5zZXRTdGFydCh0aGlzLmZpcnN0Q2hpbGQhLCBwb3NpdGlvbik7XG4gICAgICByYW5nZS5jb2xsYXBzZSh0cnVlKTtcbiAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2xlYW5UZXh0KHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgLy8gVGhlIG5hdGl2ZSB0ZXh0IGlucHV0IHJlbW92ZXMgYWxsIG5ld2xpbmUgY2hhcmFjdGVycyBpZiBwYXNzZWQgdG8gdGhlIHZhbHVlIHByb3BlcnR5XG4gICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgPyAnJyA6IGAke3ZhbHVlfWAucmVwbGFjZSgvW1xcblxccl0rL2csICcnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNwYXRjaElucHV0RXZlbnQoKTogdm9pZCB7XG4gICAgICAvKiogVGhlIGlucHV0IGV2ZW50IGZpcmVzIHdoZW4gdGhlIHZhbHVlIGhhcyBiZWVuIGNoYW5nZWQgYXMgYSBkaXJlY3QgcmVzdWx0IG9mIGEgdXNlciBhY3Rpb24uICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IElucHV0RXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgfVxuXG4gICAgQGV2ZW50T3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSlcbiAgICBwcml2YXRlIF9jbGVhbkNoaWxkcmVuKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuY2hpbGRFbGVtZW50Q291bnQpIHtcbiAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRoaXMuY2hpbGRyZW4pIHtcbiAgICAgICAgICBlbGVtZW50LnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdXBkYXRlQ29udGVudGVkaXRhYmxlKCk6IHZvaWQge1xuICAgICAgaWYgKCFpc1NlcnZlciAmJiB0aGlzLmlzQ29ubmVjdGVkKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFSZWFkT25seSA9IHRoaXMucmVhZE9ubHkgPyAndHJ1ZScgOiBudWxsO1xuICAgICAgICB0aGlzLmludGVybmFscy5hcmlhRGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkID8gJ3RydWUnIDogbnVsbDtcbiAgICAgICAgLy8gVE9ETygyMDI2KTogRmlyZWZveCBzdXBwb3J0cyBwbGFpbnRleHQtb25seSBzaW5jZSB2ZXJzaW9uIDEzNiAoTWFyY2ggMjAyNSkuXG4gICAgICAgIC8vIFVudGlsIHRoaXMgaXMgcGFydCBvZiBvdXIgYmFzZWxpbmUsIHdlIHNob3VsZCBmZWF0dXJlIGNoZWNrIHRvIGVuYWJsZSBpdC5cbiAgICAgICAgY29uc3QgdmFsdWUgPVxuICAgICAgICAgIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkT25seVxuICAgICAgICAgICAgPyAnZmFsc2UnXG4gICAgICAgICAgICA6IHBsYWludGV4dE9ubHlTdXBwb3J0ZWRcbiAgICAgICAgICAgICAgPyAncGxhaW50ZXh0LW9ubHknXG4gICAgICAgICAgICAgIDogJ3RydWUnO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJywgdmFsdWUpO1xuICAgICAgICAvLyBJbiB0aGUgcmVhZG9ubHkgY2FzZSwgd2UgZGlzYWJsZSBjb250ZW50ZWRpdGFibGUsIGJ1dCBpdCBzdGlsbFxuICAgICAgICAvLyBuZWVkcyB0byBiZSBmb2N1c2FibGUuIFdlIGFjaGlldmUgdGhpcyBieSBzZXR0aW5nIHRhYmluZGV4IGluIHRoYXQgY2FzZS5cbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZW1pdENoYW5nZUlmTmVjZXNzYXJ5KCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuX3Nob3VsZEVtaXRDaGFuZ2UpIHtcbiAgICAgICAgdGhpcy5fc2hvdWxkRW1pdENoYW5nZSA9IGZhbHNlO1xuICAgICAgICAvKiogVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBlbGVtZW50J3MgdmFsdWUuIFVubGlrZSB0aGUgaW5wdXQgZXZlbnQsIHRoZSBjaGFuZ2UgZXZlbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZpcmVkIGZvciBlYWNoIGFsdGVyYXRpb24gdG8gYW4gZWxlbWVudCdzIHZhbHVlLiAqL1xuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NhblNlbGVjdCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiAhaXNTZXJ2ZXIgJiYgIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMucmVhZE9ubHkgJiYgISF0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogdW5rbm93biB7XG4gICAgICByZXR1cm4gaHRtbGA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX2NsZWFuQ2hpbGRyZW59Pjwvc2xvdD5gO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBTYmJGb3JtQXNzb2NpYXRlZElucHV0RWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBNkRBLElBQU0sa0NBQTBDO0NBQzlD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
|
|
@@ -291,4 +291,4 @@ var SbbFormAssociatedMixin = (superClass) => {
|
|
|
291
291
|
//#endregion
|
|
292
292
|
export { SbbFormAssociatedMixin };
|
|
293
293
|
|
|
294
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLW1peGluLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9mb3JtLWFzc29jaWF0ZWQtbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlICovXG5pbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQsIFByb3BlcnR5RGVjbGFyYXRpb24sIFByb3BlcnR5VmFsdWVzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaXNXZWJraXQgfSBmcm9tICcuLi9kb20udHMnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9yLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiRWxlbWVudEludGVybmFsc01peGluVHlwZSB9IGZyb20gJy4vZWxlbWVudC1pbnRlcm5hbHMtbWl4aW4udHMnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGN1c3RvbSB2YWxpZGl0eSBzdGF0ZSBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgaW50ZXJmYWNlIEN1c3RvbVZhbGlkaXR5U3RhdGUge31cbiAgaW50ZXJmYWNlIFZhbGlkaXR5U3RhdGUgZXh0ZW5kcyBDdXN0b21WYWxpZGl0eVN0YXRlIHt9XG4gIGludGVyZmFjZSBWYWxpZGl0eVN0YXRlRmxhZ3MgZXh0ZW5kcyBQYXJ0aWFsPEN1c3RvbVZhbGlkaXR5U3RhdGU+IHt9XG59XG5cbmNvbnN0IHZhbGlkaXR5S2V5czogUmVxdWlyZWQ8T21pdDxWYWxpZGl0eVN0YXRlRmxhZ3MsIGtleW9mIEN1c3RvbVZhbGlkaXR5U3RhdGU+PiA9IHtcbiAgYmFkSW5wdXQ6IGZhbHNlLFxuICBjdXN0b21FcnJvcjogZmFsc2UsXG4gIHBhdHRlcm5NaXNtYXRjaDogZmFsc2UsXG4gIHJhbmdlT3ZlcmZsb3c6IGZhbHNlLFxuICByYW5nZVVuZGVyZmxvdzogZmFsc2UsXG4gIHN0ZXBNaXNtYXRjaDogZmFsc2UsXG4gIHRvb0xvbmc6IGZhbHNlLFxuICB0b29TaG9ydDogZmFsc2UsXG4gIHR5cGVNaXNtYXRjaDogZmFsc2UsXG4gIHZhbHVlTWlzc2luZzogZmFsc2UsXG59O1xuLy8gV2UgbmVlZCBWYWxpZGl0eVN0YXRlIGluIHRoZSBnbG9iYWwgY29udGV4dCwgYXMgd2UgY2hlY2sgdGhlIHByb3RvdHlwZSBmb3Jcbi8vIGV4dGVuc2lvbnMuIEluIGVudmlyb25tZW50cyB3aGVyZSB0aGF0IGlzIG5vdCB0aGUgY2FzZSAoZS5nLiBOb2RlLmpzKSB3ZVxuLy8gcGF0Y2ggaXQgd2l0aCBhIG1pbmltYWwgc2hpbS5cbmlmICh0eXBlb2YgVmFsaWRpdHlTdGF0ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgY29uc3QgdmFsaWRpdHlDbGFzcyA9IGNsYXNzIFZhbGlkaXR5U3RhdGUge1xuICAgIHB1YmxpYyBnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0lsbGVnYWwgY29uc3RydWN0b3InKTtcbiAgICB9XG4gIH07XG4gIE9iamVjdC5lbnRyaWVzKHZhbGlkaXR5S2V5cykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PlxuICAgIE9iamVjdC5hc3NpZ24odmFsaWRpdHlDbGFzcy5wcm90b3R5cGUsIHtcbiAgICAgIGdldCBba2V5XSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfSxcbiAgICB9KSxcbiAgKTtcbiAgZ2xvYmFsVGhpcy5WYWxpZGl0eVN0YXRlID0gdmFsaWRpdHlDbGFzcyBhcyB1bmtub3duIGFzIHR5cGVvZiBWYWxpZGl0eVN0YXRlO1xufVxuXG5leHBvcnQgZGVjbGFyZSBhYnN0cmFjdCBjbGFzcyBTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZSB7XG4gIHB1YmxpYyBnZXQgZm9ybSgpOiBIVE1MRm9ybUVsZW1lbnQgfCBudWxsO1xuICBwdWJsaWMgYWNjZXNzb3IgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZ2V0IHR5cGUoKTogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBhY2Nlc3NvciB2YWx1ZTogdW5rbm93bjtcblxuICBwdWJsaWMgZ2V0IHZhbGlkaXR5KCk6IFZhbGlkaXR5U3RhdGU7XG4gIHB1YmxpYyBnZXQgdmFsaWRhdGlvbk1lc3NhZ2UoKTogc3RyaW5nO1xuICBwdWJsaWMgZ2V0IHdpbGxWYWxpZGF0ZSgpOiBib29sZWFuO1xuXG4gIHByb3RlY3RlZCBmb3JtRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGNoZWNrVmFsaWRpdHkoKTogYm9vbGVhbjtcbiAgcHVibGljIHJlcG9ydFZhbGlkaXR5KCk6IGJvb2xlYW47XG4gIHB1YmxpYyBzZXRDdXN0b21WYWxpZGl0eShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkO1xuXG4gIHB1YmxpYyBmb3JtQXNzb2NpYXRlZENhbGxiYWNrPyhmb3JtOiBIVE1MRm9ybUVsZW1lbnQgfCBudWxsKTogdm9pZDtcbiAgcHVibGljIGZvcm1EaXNhYmxlZENhbGxiYWNrKGRpc2FibGVkOiBib29sZWFuKTogdm9pZDtcbiAgcHVibGljIGFic3RyYWN0IGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQ7XG4gIHB1YmxpYyBhYnN0cmFjdCBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgIHJlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24sXG4gICk6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkO1xuICBwcm90ZWN0ZWQgZm9ybVN0YXRlPygpOiBGb3JtUmVzdG9yZVN0YXRlO1xuICBwcm90ZWN0ZWQgc2V0VmFsaWRpdHlGbGFnPFQgZXh0ZW5kcyBrZXlvZiBWYWxpZGl0eVN0YXRlRmxhZ3M+KFxuICAgIGZsYWc6IFQsXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGZsYWdWYWx1ZT86IFZhbGlkaXR5U3RhdGVGbGFnc1tUXSxcbiAgKTogdm9pZDtcbiAgcHJvdGVjdGVkIHJlbW92ZVZhbGlkaXR5RmxhZzxUIGV4dGVuZHMga2V5b2YgVmFsaWRpdHlTdGF0ZUZsYWdzPihmbGFnOiBUKTogdm9pZDtcbiAgcHJvdGVjdGVkIHZhbGlkYXRlKCk6IHZvaWQ7XG4gIHByb3RlY3RlZCBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIEZvcm1Bc3NvY2lhdGVkTWl4aW4gZW5hYmxlcyBuYXRpdmUgZm9ybSBzdXBwb3J0IGZvciBjdXN0b20gY29udHJvbHMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJGb3JtQXNzb2NpYXRlZE1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50ICYgU2JiRWxlbWVudEludGVybmFsc01peGluVHlwZT4sXG4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRFbGVtZW50XG4gICAgZXh0ZW5kcyBzdXBlckNsYXNzXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBmb3JtQXNzb2NpYXRlZCA9IHRydWU7XG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgYWNjZXNzb3IgdmFsdWU6IHVua25vd247XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBmb3JtIG93bmVyIG9mIHRoaXMgZWxlbWVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGZvcm0oKTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbCB7XG4gICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbHMuZm9ybTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBmb3JtIGVsZW1lbnQuIFdpbGwgYmUgcmVhZCBmcm9tIG5hbWUgYXR0cmlidXRlLlxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIERldmVsb3BlciBub3RlOiBJbiB0aGlzIGNhc2UgdXBkYXRpbmcgdGhlIGF0dHJpYnV0ZSBtdXN0IGJlIHN5bmNocm9ub3VzLlxuICAgICAqIER1ZSB0byB0aGlzIGl0IGlzIGltcGxlbWVudGVkIGFzIGEgZ2V0dGVyL3NldHRlciBhbmQgdGhlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjaygpIGhhbmRsZXMgdGhlIGRpZmYgY2hlY2suXG4gICAgICovXG4gICAgQHByb3BlcnR5KClcbiAgICBwdWJsaWMgc2V0IG5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnbmFtZScsIGAke25hbWV9YCk7XG5cbiAgICAgIC8vIEZvciBgRm9ybURhdGFgIHZhbHVlcywgd2UgaGF2ZSB0byBtYW51YWxseSB1cGRhdGUgdGhlIGZpZWxkTmFtZSBrZXlcbiAgICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCduYW1lJykgPz8gJyc7XG4gICAgfVxuXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMubG9jYWxOYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIFZhbGlkaXR5U3RhdGUgb2JqZWN0IGZvciB0aGlzIGVsZW1lbnQuXG4gICAgICovXG4gICAgcHVibGljIGdldCB2YWxpZGl0eSgpOiBWYWxpZGl0eVN0YXRlIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy52YWxpZGl0eTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGVycm9yIG1lc3NhZ2UsIGlmIGF2YWlsYWJsZSwgd2hpY2ggY29ycmVzcG9uZHNcbiAgICAgKiB0byB0aGUgY3VycmVudCB2YWxpZGF0aW9uIHN0YXRlLlxuICAgICAqIFBsZWFzZSBub3RlIHRoYXQgb25seSBvbmUgbWVzc2FnZSBpcyByZXR1cm5lZCBhdCBhIHRpbWUgKGUuZy4gaWZcbiAgICAgKiBtdWx0aXBsZSB2YWxpZGl0eSBzdGF0ZXMgYXJlIGludmFsaWQsIG9ubHkgdGhlIGNocm9ub2xvZ2ljYWxseSBmaXJzdCBvbmVcbiAgICAgKiBpcyByZXR1cm5lZCB1bnRpbCBpdCBpcyBmaXhlZCwgYXQgd2hpY2ggcG9pbnQgdGhlIG5leHQgbWVzc2FnZSBtaWdodCBiZVxuICAgICAqIHJldHVybmVkLCBpZiBpdCBpcyBzdGlsbCBhcHBsaWNhYmxlKS4gQWxzbywgYSBjdXN0b20gdmFsaWRpdHkgbWVzc2FnZVxuICAgICAqIChzZWUgYmVsb3cpIGhhcyBwcmVjZWRlbmNlIG92ZXIgbmF0aXZlIHZhbGlkYXRpb24gbWVzc2FnZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldCB2YWxpZGF0aW9uTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLnZhbGlkYXRpb25NZXNzYWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGlzIGVsZW1lbnQgd2lsbCBiZSB2YWxpZGF0ZWRcbiAgICAgKiB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZDsgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgd2lsbFZhbGlkYXRlKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLndpbGxWYWxpZGF0ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWxpZGl0eVN0YXRlcyA9IG5ldyBNYXA8XG4gICAgICBrZXlvZiBWYWxpZGl0eVN0YXRlRmxhZ3MsXG4gICAgICB7IGZsYWdWYWx1ZTogdW5rbm93bjsgbWVzc2FnZTogc3RyaW5nIH1cbiAgICA+KCk7XG5cbiAgICAvKiogV2hlbmV2ZXIgYSBzdXJyb3VuZGluZyBmb3JtIG9yIGZpZWxkc2V0IGlzIGNoYW5naW5nIGl0cyBkaXNhYmxlZCBzdGF0ZS4gKi9cbiAgICBAc3RhdGUoKSBwcm90ZWN0ZWQgYWNjZXNzb3IgZm9ybURpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgICAgLy8gV2Ugd2FudCB0byBwcmV2ZW50IHRoZSBuYXRpdmUgYnJvd3NlciB2YWxpZGF0aW9uIG1lc3NhZ2UgcG9wb3ZlclxuICAgICAgLy8gdG8gYmUgc2hvd24uIFRoaXMgYWxzbyBwcmV2ZW50cyBhIGJ1ZyBpbiBXZWJLaXQsIHdoaWNoIHdvdWxkIG5vdFxuICAgICAgLy8gYWxsb3cgaG9zdCBhcyB0aGUgdmFsaWRpdHkgYW5jaG9yOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY5ODMyXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignaW52YWxpZCcsIChlKSA9PiBlLnByZXZlbnREZWZhdWx0KCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soXG4gICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICBvbGQ6IHN0cmluZyB8IG51bGwsXG4gICAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgICApOiB2b2lkIHtcbiAgICAgIGlmIChuYW1lICE9PSAnbmFtZScgfHwgb2xkICE9PSB2YWx1ZSkge1xuICAgICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgZWxlbWVudCBoYXMgbm8gdmFsaWRpdHkgcHJvYmxlbXM7IGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKiBGaXJlcyBhbiBpbnZhbGlkIGV2ZW50IGF0IHRoZSBlbGVtZW50IGluIHRoZSBsYXR0ZXIgY2FzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2hlY2tWYWxpZGl0eSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy5jaGVja1ZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgZWxlbWVudCBoYXMgbm8gdmFsaWRpdHkgcHJvYmxlbXM7IG90aGVyd2lzZSxcbiAgICAgKiByZXR1cm5zIGZhbHNlLCBmaXJlcyBhbiBpbnZhbGlkIGV2ZW50IGF0IHRoZSBlbGVtZW50LFxuICAgICAqIGFuZCAoaWYgdGhlIGV2ZW50IGlzbid0IGNhbmNlbGVkKSByZXBvcnRzIHRoZSBwcm9ibGVtIHRvIHRoZSB1c2VyLlxuICAgICAqL1xuICAgIHB1YmxpYyByZXBvcnRWYWxpZGl0eSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy5yZXBvcnRWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGN1c3RvbSB2YWxpZGl0eSBtZXNzYWdlIGZvciB0aGlzIGVsZW1lbnQuIFVzZSB0aGUgZW1wdHkgc3RyaW5nXG4gICAgICogdG8gaW5kaWNhdGUgdGhhdCB0aGUgZWxlbWVudCBkb2VzIG5vdCBoYXZlIGEgY3VzdG9tIHZhbGlkaXR5IGVycm9yLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRDdXN0b21WYWxpZGl0eShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIGlmIChtZXNzYWdlKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCdjdXN0b21FcnJvcicsIG1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoJ2N1c3RvbUVycm9yJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgZm9ybSBlbGVtZW50IGNoYW5nZXMuXG4gICAgICogRWxlbWVudEludGVybmFscy5mb3JtIHJldHVybnMgdGhlIGFzc29jaWF0ZWQgZnJvbSBlbGVtZW50LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGZvcm1Bc3NvY2lhdGVkQ2FsbGJhY2s/KGZvcm06IEhUTUxGb3JtRWxlbWVudCB8IG51bGwpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIGEgc3Vycm91bmRpbmcgZmllbGRzZXQgY2hhbmdlcyBkaXNhYmxlZCBzdGF0ZS5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtRGlzYWJsZWRDYWxsYmFjayhfZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIHRoaXMuZm9ybURpc2FibGVkID0gdGhpcy5faGFzRGlzYWJsZWRBbmNlc3RvcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2hhc0Rpc2FibGVkQW5jZXN0b3IoKTogYm9vbGVhbiB7XG4gICAgICAvLyBDaGVjayBpZiBhbnkgb2YgdGhlIGZpZWxkc2V0IGFuY2VzdG9ycyBoYXMgdGhlIGRpc2FibGVkIGF0dHJpYnV0ZSBzZXQuXG4gICAgICBsZXQgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gdGhpcy5wYXJlbnRFbGVtZW50O1xuICAgICAgd2hpbGUgKGVsZW1lbnQpIHtcbiAgICAgICAgaWYgKGVsZW1lbnQubG9jYWxOYW1lID09PSAnZmllbGRzZXQnICYmIGVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIGZvcm0gaXMgYmVpbmcgcmVzZXQuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqICBDYWxsZWQgd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gcmVzdG9yZSBlbGVtZW504oCZcyBzdGF0ZSB0byBzdGF0ZSBpbiB3aGljaCBjYXNlXG4gICAgICogIHJlYXNvbiBpcyBcInJlc3RvcmVcIiwgb3Igd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gZnVsZmlsbCBhdXRvZmlsbCBvbiBiZWhhbGYgb2ZcbiAgICAgKiAgdXNlciBpbiB3aGljaCBjYXNlIHJlYXNvbiBpcyBcImF1dG9jb21wbGV0ZVwiLlxuICAgICAqICBJbiB0aGUgY2FzZSBvZiBcInJlc3RvcmVcIiwgc3RhdGUgaXMgYSBzdHJpbmcsIEZpbGUsIG9yIEZvcm1EYXRhIG9iamVjdFxuICAgICAqICBwcmV2aW91c2x5IHNldCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHNldEZvcm1WYWx1ZS5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgICByZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICAgICk6IHZvaWQ7XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICAgICk6IHZvaWQge1xuICAgICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgICBpZiAobmFtZSA9PT0gJ3ZhbHVlJykge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaGFzVXBkYXRlZCAmJiB0aGlzLnNob3VsZFZhbGlkYXRlKG5hbWUpKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICAgIHRoaXMudmFsaWRhdGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG91bGQgYmUgY2FsbGVkIHdoZW4gZm9ybSB2YWx1ZSBpcyBjaGFuZ2VkLlxuICAgICAqIEFkYXB0cyBhbmQgc2V0cyB0aGUgZm9ybVZhbHVlIGluIHRoZSBzdXBwb3J0ZWQgZm9ybWF0IChzdHJpbmcgfCBGb3JtRGF0YSB8IEZpbGUgfCBudWxsKVxuICAgICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9FbGVtZW50SW50ZXJuYWxzL3NldEZvcm1WYWx1ZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCB1cGRhdGVGb3JtVmFsdWUoKTogdm9pZCB7XG4gICAgICBsZXQgZm9ybVZhbHVlOiBGb3JtRGF0YSB8IHN0cmluZyB8IG51bGw7XG4gICAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lID8/IHRoaXMuZ2V0QXR0cmlidXRlKCduYW1lJyk7XG5cbiAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3N0cmluZycgfHwgdGhpcy52YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgIGZvcm1WYWx1ZSA9IHRoaXMudmFsdWUgYXMgc3RyaW5nIHwgbnVsbDtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xuICAgICAgICBmb3JtVmFsdWUgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgdGhpcy52YWx1ZS5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICAgIChmb3JtVmFsdWUgYXMgRm9ybURhdGEpLmFwcGVuZChcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICB0eXBlb2YgZWwgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgID8gZWxcbiAgICAgICAgICAgICAgOiBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkoZWwpXSwge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm9ybVZhbHVlID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIGZvcm1WYWx1ZS5hcHBlbmQoXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkodGhpcy52YWx1ZSldLCB7XG4gICAgICAgICAgICB0eXBlOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBmb3JtIHN0YXRlIGlzIHVuZGVmaW5lZCB0aGVuIGZvcm0gdmFsdWUgd2lsbCBiZSBjb3BpZWQgdG8gc3RhdGUuXG4gICAgICB0aGlzLmludGVybmFscy5zZXRGb3JtVmFsdWUoZm9ybVZhbHVlLCB0aGlzLmZvcm1TdGF0ZT8uKCkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBmb3JtU3RhdGU/KCk6IEZvcm1SZXN0b3JlU3RhdGU7XG5cbiAgICAvKipcbiAgICAgKiBNYXJrcyB0aGlzIGVsZW1lbnQgYXMgc3VmZmVyaW5nIGZyb20gdGhlIGNvbnN0cmFpbnQgaW5kaWNhdGVkIGJ5IHRoZVxuICAgICAqIGZsYWcgYXJndW1lbnQgYW5kIGFzc29jaWF0ZXMgdGhlIGdpdmVuIG1lc3NhZ2UgdG8gaXQuXG4gICAgICogTm90ZSB0aGF0IG9ubHkgb25lIG1lc3NhZ2UgaXMgZGlzcGxheWVkIGF0IGEgdGltZSBhbmQgY3VzdG9tIG1lc3NhZ2VzIGJ5XG4gICAgICogY29uc3VtZXJzIGFyZSBhbHdheXMgZGlzcGxheWVkIGJlZm9yZSBpbnRlcm5hbCBtZXNzYWdlcyBhbmQgaW50ZXJuYWxcbiAgICAgKiBtZXNzYWdlcyBhcmUgZGlzcGxheWVkIGluIHRoZSBvcmRlciB0aGV5IHdlcmUgYWRkZWQuXG4gICAgICogVG8gc2V0L2RlZmluZSBjdXN0b20gdmFsaWRpdHkgc3RhdGUgZmxhZ3MsIHlvdSBuZWVkIHRvIGV4dGVuZCB0aGVcbiAgICAgKiBWYWxpZGl0eVN0YXRlIHByb3RvdHlwZSAoYW5kIHRoZSBDdXN0b21WYWxpZGl0eVN0YXRlIGludGVyZmFjZSkuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogICAvLyBUaGUgdHlwZSBvZiB0aGUgY3VzdG9tIHZhbGlkaXR5IHN0YXRlIGRvZXMgbm90IG5lZWQgdG8gYmUgYm9vbGVhbi5cbiAgICAgKiAgIE9iamVjdC5hc3NpZ24oVmFsaWRpdHlTdGF0ZS5wcm90b3R5cGUsIHtcbiAgICAgKiAgICAgZ2V0IG15RXJyb3IoKTogYm9vbGVhbiB7XG4gICAgICogICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAqICAgICB9LFxuICAgICAqICAgfSk7XG4gICAgICpcbiAgICAgKiAgIGRlY2xhcmUgZ2xvYmFsIHtcbiAgICAgKiAgICAgaW50ZXJmYWNlIEN1c3RvbVZhbGlkaXR5U3RhdGUge1xuICAgICAqICAgICAgIG15RXJyb3I6IGJvb2xlYW47XG4gICAgICogICAgIH1cbiAgICAgKiAgIH1cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc2V0VmFsaWRpdHlGbGFnPFQgZXh0ZW5kcyBrZXlvZiBWYWxpZGl0eVN0YXRlRmxhZ3M+KFxuICAgICAgZmxhZzogVCxcbiAgICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICAgIGZsYWdWYWx1ZT86IFZhbGlkaXR5U3RhdGVGbGFnc1tUXSxcbiAgICApOiB2b2lkIHtcbiAgICAgIGZsYWdWYWx1ZSA/Pz0gdHJ1ZTtcbiAgICAgIGNvbnN0IHZhbGlkaXR5U3RhdGUgPSB0aGlzLl92YWxpZGl0eVN0YXRlcy5nZXQoZmxhZyk7XG4gICAgICBpZiAoXG4gICAgICAgICF2YWxpZGl0eVN0YXRlIHx8XG4gICAgICAgIHZhbGlkaXR5U3RhdGUubWVzc2FnZSAhPT0gbWVzc2FnZSB8fFxuICAgICAgICB2YWxpZGl0eVN0YXRlLmZsYWdWYWx1ZSAhPT0gZmxhZ1ZhbHVlXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5fdmFsaWRpdHlTdGF0ZXMuc2V0KGZsYWcsIHsgZmxhZ1ZhbHVlLCBtZXNzYWdlIH0pO1xuICAgICAgICB0aGlzLl9zZXRJbnRlcm5hbFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJlbW92ZXMgdGhlIHZhbGlkaXR5IHN0YXRlIGZsYWcgZW50cnkgYW5kIHVwZGF0ZXMgdmFsaWRpdHkgc3RhdGUuICovXG4gICAgcHJvdGVjdGVkIHJlbW92ZVZhbGlkaXR5RmxhZzxUIGV4dGVuZHMga2V5b2YgVmFsaWRpdHlTdGF0ZUZsYWdzPihmbGFnOiBUKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5fdmFsaWRpdHlTdGF0ZXMuaGFzKGZsYWcpKSB7XG4gICAgICAgIHRoaXMuX3ZhbGlkaXR5U3RhdGVzLmRlbGV0ZShmbGFnKTtcbiAgICAgICAgdGhpcy5fc2V0SW50ZXJuYWxWYWxpZGl0eSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBUbyBiZSBjYWxsZWQgd2hlbmV2ZXIgdGhlIGN1cnJlbnQgZWxlbWVudCBuZWVkcyB0byBiZSB2YWxpZGF0ZWQuICovXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRlKCk6IHZvaWQge31cblxuICAgIC8qKiBXaGV0aGVyIHZhbGlkYXRpb24gc2hvdWxkIGJlIHJ1biBvbiBhIHByb3BlcnR5IGNoYW5nZSB3aXRoIHRoZSBnaXZlbiBuYW1lLiAqL1xuICAgIHByb3RlY3RlZCBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuICFuYW1lO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldEludGVybmFsVmFsaWRpdHkoKTogdm9pZCB7XG4gICAgICBsZXQgb3V0cHV0TWVzc2FnZSA9IHRoaXMuX3ZhbGlkaXR5U3RhdGVzLmdldCgnY3VzdG9tRXJyb3InKT8ubWVzc2FnZTtcbiAgICAgIGNvbnN0IGZsYWdzOiBWYWxpZGl0eVN0YXRlRmxhZ3MgPSB7fTtcbiAgICAgIHRoaXMuX3ZhbGlkaXR5U3RhdGVzLmZvckVhY2goKHsgZmxhZ1ZhbHVlLCBtZXNzYWdlIH0sIGZsYWcpID0+IHtcbiAgICAgICAgZmxhZ3NbZmxhZ10gPSBmbGFnVmFsdWUgYXMgYW55O1xuICAgICAgICBvdXRwdXRNZXNzYWdlIHx8PSBtZXNzYWdlO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGN1c3RvbUZsYWdzID0gT2JqZWN0LmtleXMoVmFsaWRpdHlTdGF0ZS5wcm90b3R5cGUpLmZpbHRlcihcbiAgICAgICAgKGYpID0+ICEoZiBpbiB2YWxpZGl0eUtleXMpICYmIGYgIT09ICd2YWxpZCcsXG4gICAgICApO1xuICAgICAgZm9yIChjb25zdCBmbGFnIG9mIGN1c3RvbUZsYWdzKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZmxhZyBpbiBmbGFncyA/IGZsYWdzW2ZsYWcgYXMga2V5b2YgVmFsaWRpdHlTdGF0ZUZsYWdzXSA6IGZhbHNlO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5pbnRlcm5hbHMudmFsaWRpdHksIGZsYWcsIHsgdmFsdWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgLy8gSWYgYW55IGN1c3RvbSBlcnJvcnMgYXJlIHByb3ZpZGVkLCB3ZSBuZWVkIHRvIHNldCBjdXN0b21FcnJvciB0byB0cnVlLFxuICAgICAgICAgIC8vIGFzIHRoaXMgaXMgdGhlIG9ubHkgY3VzdG9tIGVycm9yIHByb3BlcnR5IGJyb3dzZXJzIGFjY2VwdC5cbiAgICAgICAgICBmbGFncy5jdXN0b21FcnJvciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0VmFsaWRpdHkoZmxhZ3MsIG91dHB1dE1lc3NhZ2UpO1xuXG4gICAgICAvLyBXZWJLaXQgc2VlbXMgdG8gYWx3YXlzIHNldCBjdXN0b21FcnJvciB0byB0cnVlLCBpZiBhbnkgZXJyb3IgaXMgYWN0aXZlLlxuICAgICAgLy8gRHVlIHRvIHRoaXMgd2UgcGF0Y2ggdGhlIGN1c3RvbUVycm9yIHZhbHVlIG1hbnVhbGx5LlxuICAgICAgaWYgKGlzV2Via2l0KSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLmludGVybmFscy52YWxpZGl0eSwgJ2N1c3RvbUVycm9yJywge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLl92YWxpZGl0eVN0YXRlcy5oYXMoJ2N1c3RvbUVycm9yJykgfHwgISFmbGFncy5jdXN0b21FcnJvcixcbiAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gU2JiRm9ybUFzc29jaWF0ZWRFbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZT4gJiBUO1xufTtcblxuLyoqXG4gKiBBIHZhbHVlIHRvIGJlIHJlc3RvcmVkIGZvciBhIGNvbXBvbmVudCdzIGZvcm0gdmFsdWUuIElmIGEgY29tcG9uZW50J3MgZm9ybVxuICogc3RhdGUgaXMgYSBgRm9ybURhdGFgIG9iamVjdCwgaXRzIGVudHJ5IGxpc3Qgb2YgbmFtZSBhbmQgdmFsdWVzIHdpbGwgYmVcbiAqIHByb3ZpZGVkLlxuICovXG5leHBvcnQgdHlwZSBGb3JtUmVzdG9yZVN0YXRlID0gc3RyaW5nIHwgRm9ybURhdGEgfCBGaWxlO1xuXG4vKipcbiAqIFRoZSByZWFzb24gYSBmb3JtIGNvbXBvbmVudCBpcyBiZWluZyByZXN0b3JlZCBmb3IsIGVpdGhlciBgJ3Jlc3RvcmUnYCBmb3JcbiAqIGJyb3dzZXIgcmVzdG9yYXRpb24gb3IgYCdhdXRvY29tcGxldGUnYCBmb3IgcmVzdG9yaW5nIHVzZXIgdmFsdWVzLlxuICovXG5leHBvcnQgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbiA9ICdyZXN0b3JlJyB8ICdhdXRvY29tcGxldGUnO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBa0JBLElBQU0sZUFBOEU7Q0FDbEYsVUFBVTtDQUNWLGFBQWE7Q0FDYixpQkFBaUI7Q0FDakIsZUFBZTtDQUNmLGdCQUFnQjtDQUNoQixjQUFjO0NBQ2QsU0FBUztDQUNULFVBQVU7Q0FDVixjQUFjO0NBQ2QsY0FBYztDQUNmO0FBSUQsSUFBSSxPQUFPLGtCQUFrQixhQUFhO0NBQ3hDLE1BQU0sZ0JBQWdCLE1BQU0sY0FBYTtFQUN2QyxJQUFXLFFBQUs7R0FDZCxPQUFPOztFQUVULGNBQUE7R0FDRSxNQUFNLElBQUksVUFBVSxzQkFBc0I7OztDQUc5QyxPQUFPLFFBQVEsYUFBYSxDQUFDLFNBQVMsQ0FBQyxLQUFLLFdBQzFDLE9BQU8sT0FBTyxjQUFjLFdBQVcsRUFDckMsS0FBSyxPQUFJO0VBQ1AsT0FBTztJQUVWLENBQUMsQ0FDSDtDQUNELFdBQVcsZ0JBQWdCOzs7OztBQTRDN0IsSUFBYSwwQkFHWCxlQUN1RDtD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
|
|
294
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLW1peGluLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9mb3JtLWFzc29jaWF0ZWQtbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlICovXG5pbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQsIFByb3BlcnR5RGVjbGFyYXRpb24sIFByb3BlcnR5VmFsdWVzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaXNXZWJraXQgfSBmcm9tICcuLi9kb20udHMnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9yLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiRWxlbWVudEludGVybmFsc01peGluVHlwZSB9IGZyb20gJy4vZWxlbWVudC1pbnRlcm5hbHMtbWl4aW4udHMnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGN1c3RvbSB2YWxpZGl0eSBzdGF0ZSBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgaW50ZXJmYWNlIEN1c3RvbVZhbGlkaXR5U3RhdGUge31cbiAgaW50ZXJmYWNlIFZhbGlkaXR5U3RhdGUgZXh0ZW5kcyBDdXN0b21WYWxpZGl0eVN0YXRlIHt9XG4gIGludGVyZmFjZSBWYWxpZGl0eVN0YXRlRmxhZ3MgZXh0ZW5kcyBQYXJ0aWFsPEN1c3RvbVZhbGlkaXR5U3RhdGU+IHt9XG59XG5cbmNvbnN0IHZhbGlkaXR5S2V5czogUmVxdWlyZWQ8T21pdDxWYWxpZGl0eVN0YXRlRmxhZ3MsIGtleW9mIEN1c3RvbVZhbGlkaXR5U3RhdGU+PiA9IHtcbiAgYmFkSW5wdXQ6IGZhbHNlLFxuICBjdXN0b21FcnJvcjogZmFsc2UsXG4gIHBhdHRlcm5NaXNtYXRjaDogZmFsc2UsXG4gIHJhbmdlT3ZlcmZsb3c6IGZhbHNlLFxuICByYW5nZVVuZGVyZmxvdzogZmFsc2UsXG4gIHN0ZXBNaXNtYXRjaDogZmFsc2UsXG4gIHRvb0xvbmc6IGZhbHNlLFxuICB0b29TaG9ydDogZmFsc2UsXG4gIHR5cGVNaXNtYXRjaDogZmFsc2UsXG4gIHZhbHVlTWlzc2luZzogZmFsc2UsXG59O1xuLy8gV2UgbmVlZCBWYWxpZGl0eVN0YXRlIGluIHRoZSBnbG9iYWwgY29udGV4dCwgYXMgd2UgY2hlY2sgdGhlIHByb3RvdHlwZSBmb3Jcbi8vIGV4dGVuc2lvbnMuIEluIGVudmlyb25tZW50cyB3aGVyZSB0aGF0IGlzIG5vdCB0aGUgY2FzZSAoZS5nLiBOb2RlLmpzKSB3ZVxuLy8gcGF0Y2ggaXQgd2l0aCBhIG1pbmltYWwgc2hpbS5cbmlmICh0eXBlb2YgVmFsaWRpdHlTdGF0ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgY29uc3QgdmFsaWRpdHlDbGFzcyA9IGNsYXNzIFZhbGlkaXR5U3RhdGUge1xuICAgIHB1YmxpYyBnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0lsbGVnYWwgY29uc3RydWN0b3InKTtcbiAgICB9XG4gIH07XG4gIE9iamVjdC5lbnRyaWVzKHZhbGlkaXR5S2V5cykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PlxuICAgIE9iamVjdC5hc3NpZ24odmFsaWRpdHlDbGFzcy5wcm90b3R5cGUsIHtcbiAgICAgIGdldCBba2V5XSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfSxcbiAgICB9KSxcbiAgKTtcbiAgZ2xvYmFsVGhpcy5WYWxpZGl0eVN0YXRlID0gdmFsaWRpdHlDbGFzcyBhcyB1bmtub3duIGFzIHR5cGVvZiBWYWxpZGl0eVN0YXRlO1xufVxuXG5leHBvcnQgZGVjbGFyZSBhYnN0cmFjdCBjbGFzcyBTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZSB7XG4gIHB1YmxpYyBnZXQgZm9ybSgpOiBIVE1MRm9ybUVsZW1lbnQgfCBudWxsO1xuICBwdWJsaWMgYWNjZXNzb3IgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZ2V0IHR5cGUoKTogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBhY2Nlc3NvciB2YWx1ZTogdW5rbm93bjtcblxuICBwdWJsaWMgZ2V0IHZhbGlkaXR5KCk6IFZhbGlkaXR5U3RhdGU7XG4gIHB1YmxpYyBnZXQgdmFsaWRhdGlvbk1lc3NhZ2UoKTogc3RyaW5nO1xuICBwdWJsaWMgZ2V0IHdpbGxWYWxpZGF0ZSgpOiBib29sZWFuO1xuXG4gIHByb3RlY3RlZCBmb3JtRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGNoZWNrVmFsaWRpdHkoKTogYm9vbGVhbjtcbiAgcHVibGljIHJlcG9ydFZhbGlkaXR5KCk6IGJvb2xlYW47XG4gIHB1YmxpYyBzZXRDdXN0b21WYWxpZGl0eShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkO1xuXG4gIHB1YmxpYyBmb3JtQXNzb2NpYXRlZENhbGxiYWNrPyhmb3JtOiBIVE1MRm9ybUVsZW1lbnQgfCBudWxsKTogdm9pZDtcbiAgcHVibGljIGZvcm1EaXNhYmxlZENhbGxiYWNrKGRpc2FibGVkOiBib29sZWFuKTogdm9pZDtcbiAgcHVibGljIGFic3RyYWN0IGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQ7XG4gIHB1YmxpYyBhYnN0cmFjdCBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgIHJlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24sXG4gICk6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkO1xuICBwcm90ZWN0ZWQgZm9ybVN0YXRlPygpOiBGb3JtUmVzdG9yZVN0YXRlO1xuICBwcm90ZWN0ZWQgc2V0VmFsaWRpdHlGbGFnPFQgZXh0ZW5kcyBrZXlvZiBWYWxpZGl0eVN0YXRlRmxhZ3M+KFxuICAgIGZsYWc6IFQsXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGZsYWdWYWx1ZT86IFZhbGlkaXR5U3RhdGVGbGFnc1tUXSxcbiAgKTogdm9pZDtcbiAgcHJvdGVjdGVkIHJlbW92ZVZhbGlkaXR5RmxhZzxUIGV4dGVuZHMga2V5b2YgVmFsaWRpdHlTdGF0ZUZsYWdzPihmbGFnOiBUKTogdm9pZDtcbiAgcHJvdGVjdGVkIHZhbGlkYXRlKCk6IHZvaWQ7XG4gIHByb3RlY3RlZCBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIEZvcm1Bc3NvY2lhdGVkTWl4aW4gZW5hYmxlcyBuYXRpdmUgZm9ybSBzdXBwb3J0IGZvciBjdXN0b20gY29udHJvbHMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJGb3JtQXNzb2NpYXRlZE1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50ICYgU2JiRWxlbWVudEludGVybmFsc01peGluVHlwZT4sXG4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRFbGVtZW50XG4gICAgZXh0ZW5kcyBzdXBlckNsYXNzXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBmb3JtQXNzb2NpYXRlZCA9IHRydWU7XG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgYWNjZXNzb3IgdmFsdWU6IHVua25vd247XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBmb3JtIG93bmVyIG9mIHRoaXMgZWxlbWVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGZvcm0oKTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbCB7XG4gICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbHMuZm9ybTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBmb3JtIGVsZW1lbnQuIFdpbGwgYmUgcmVhZCBmcm9tIG5hbWUgYXR0cmlidXRlLlxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIERldmVsb3BlciBub3RlOiBJbiB0aGlzIGNhc2UgdXBkYXRpbmcgdGhlIGF0dHJpYnV0ZSBtdXN0IGJlIHN5bmNocm9ub3VzLlxuICAgICAqIER1ZSB0byB0aGlzIGl0IGlzIGltcGxlbWVudGVkIGFzIGEgZ2V0dGVyL3NldHRlciBhbmQgdGhlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjaygpIGhhbmRsZXMgdGhlIGRpZmYgY2hlY2suXG4gICAgICovXG4gICAgQHByb3BlcnR5KClcbiAgICBwdWJsaWMgc2V0IG5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnbmFtZScsIGAke25hbWV9YCk7XG5cbiAgICAgIC8vIEZvciBgRm9ybURhdGFgIHZhbHVlcywgd2UgaGF2ZSB0byBtYW51YWxseSB1cGRhdGUgdGhlIGZpZWxkTmFtZSBrZXlcbiAgICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCduYW1lJykgPz8gJyc7XG4gICAgfVxuXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMubG9jYWxOYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIFZhbGlkaXR5U3RhdGUgb2JqZWN0IGZvciB0aGlzIGVsZW1lbnQuXG4gICAgICovXG4gICAgcHVibGljIGdldCB2YWxpZGl0eSgpOiBWYWxpZGl0eVN0YXRlIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy52YWxpZGl0eTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGVycm9yIG1lc3NhZ2UsIGlmIGF2YWlsYWJsZSwgd2hpY2ggY29ycmVzcG9uZHNcbiAgICAgKiB0byB0aGUgY3VycmVudCB2YWxpZGF0aW9uIHN0YXRlLlxuICAgICAqIFBsZWFzZSBub3RlIHRoYXQgb25seSBvbmUgbWVzc2FnZSBpcyByZXR1cm5lZCBhdCBhIHRpbWUgKGUuZy4gaWZcbiAgICAgKiBtdWx0aXBsZSB2YWxpZGl0eSBzdGF0ZXMgYXJlIGludmFsaWQsIG9ubHkgdGhlIGNocm9ub2xvZ2ljYWxseSBmaXJzdCBvbmVcbiAgICAgKiBpcyByZXR1cm5lZCB1bnRpbCBpdCBpcyBmaXhlZCwgYXQgd2hpY2ggcG9pbnQgdGhlIG5leHQgbWVzc2FnZSBtaWdodCBiZVxuICAgICAqIHJldHVybmVkLCBpZiBpdCBpcyBzdGlsbCBhcHBsaWNhYmxlKS4gQWxzbywgYSBjdXN0b20gdmFsaWRpdHkgbWVzc2FnZVxuICAgICAqIChzZWUgYmVsb3cpIGhhcyBwcmVjZWRlbmNlIG92ZXIgbmF0aXZlIHZhbGlkYXRpb24gbWVzc2FnZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldCB2YWxpZGF0aW9uTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLnZhbGlkYXRpb25NZXNzYWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGlzIGVsZW1lbnQgd2lsbCBiZSB2YWxpZGF0ZWRcbiAgICAgKiB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZDsgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgd2lsbFZhbGlkYXRlKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLndpbGxWYWxpZGF0ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWxpZGl0eVN0YXRlcyA9IG5ldyBNYXA8XG4gICAgICBrZXlvZiBWYWxpZGl0eVN0YXRlRmxhZ3MsXG4gICAgICB7IGZsYWdWYWx1ZTogdW5rbm93bjsgbWVzc2FnZTogc3RyaW5nIH1cbiAgICA+KCk7XG5cbiAgICAvKiogV2hlbmV2ZXIgYSBzdXJyb3VuZGluZyBmb3JtIG9yIGZpZWxkc2V0IGlzIGNoYW5naW5nIGl0cyBkaXNhYmxlZCBzdGF0ZS4gKi9cbiAgICBAc3RhdGUoKSBwcm90ZWN0ZWQgYWNjZXNzb3IgZm9ybURpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgICAgLy8gV2Ugd2FudCB0byBwcmV2ZW50IHRoZSBuYXRpdmUgYnJvd3NlciB2YWxpZGF0aW9uIG1lc3NhZ2UgcG9wb3ZlclxuICAgICAgLy8gdG8gYmUgc2hvd24uIFRoaXMgYWxzbyBwcmV2ZW50cyBhIGJ1ZyBpbiBXZWJLaXQsIHdoaWNoIHdvdWxkIG5vdFxuICAgICAgLy8gYWxsb3cgaG9zdCBhcyB0aGUgdmFsaWRpdHkgYW5jaG9yOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY5ODMyXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignaW52YWxpZCcsIChlKSA9PiBlLnByZXZlbnREZWZhdWx0KCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soXG4gICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICBvbGQ6IHN0cmluZyB8IG51bGwsXG4gICAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgICApOiB2b2lkIHtcbiAgICAgIGlmIChuYW1lICE9PSAnbmFtZScgfHwgb2xkICE9PSB2YWx1ZSkge1xuICAgICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgZWxlbWVudCBoYXMgbm8gdmFsaWRpdHkgcHJvYmxlbXM7IGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKiBGaXJlcyBhbiBpbnZhbGlkIGV2ZW50IGF0IHRoZSBlbGVtZW50IGluIHRoZSBsYXR0ZXIgY2FzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2hlY2tWYWxpZGl0eSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy5jaGVja1ZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgZWxlbWVudCBoYXMgbm8gdmFsaWRpdHkgcHJvYmxlbXM7IG90aGVyd2lzZSxcbiAgICAgKiByZXR1cm5zIGZhbHNlLCBmaXJlcyBhbiBpbnZhbGlkIGV2ZW50IGF0IHRoZSBlbGVtZW50LFxuICAgICAqIGFuZCAoaWYgdGhlIGV2ZW50IGlzbid0IGNhbmNlbGVkKSByZXBvcnRzIHRoZSBwcm9ibGVtIHRvIHRoZSB1c2VyLlxuICAgICAqL1xuICAgIHB1YmxpYyByZXBvcnRWYWxpZGl0eSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy5yZXBvcnRWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGN1c3RvbSB2YWxpZGl0eSBtZXNzYWdlIGZvciB0aGlzIGVsZW1lbnQuIFVzZSB0aGUgZW1wdHkgc3RyaW5nXG4gICAgICogdG8gaW5kaWNhdGUgdGhhdCB0aGUgZWxlbWVudCBkb2VzIG5vdCBoYXZlIGEgY3VzdG9tIHZhbGlkaXR5IGVycm9yLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRDdXN0b21WYWxpZGl0eShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIGlmIChtZXNzYWdlKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCdjdXN0b21FcnJvcicsIG1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoJ2N1c3RvbUVycm9yJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgZm9ybSBlbGVtZW50IGNoYW5nZXMuXG4gICAgICogRWxlbWVudEludGVybmFscy5mb3JtIHJldHVybnMgdGhlIGFzc29jaWF0ZWQgZnJvbSBlbGVtZW50LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGZvcm1Bc3NvY2lhdGVkQ2FsbGJhY2s/KGZvcm06IEhUTUxGb3JtRWxlbWVudCB8IG51bGwpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIGEgc3Vycm91bmRpbmcgZmllbGRzZXQgY2hhbmdlcyBkaXNhYmxlZCBzdGF0ZS5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtRGlzYWJsZWRDYWxsYmFjayhfZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIHRoaXMuZm9ybURpc2FibGVkID0gdGhpcy5faGFzRGlzYWJsZWRBbmNlc3RvcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2hhc0Rpc2FibGVkQW5jZXN0b3IoKTogYm9vbGVhbiB7XG4gICAgICAvLyBDaGVjayBpZiBhbnkgb2YgdGhlIGZpZWxkc2V0IGFuY2VzdG9ycyBoYXMgdGhlIGRpc2FibGVkIGF0dHJpYnV0ZSBzZXQuXG4gICAgICBsZXQgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gdGhpcy5wYXJlbnRFbGVtZW50O1xuICAgICAgd2hpbGUgKGVsZW1lbnQpIHtcbiAgICAgICAgaWYgKGVsZW1lbnQubG9jYWxOYW1lID09PSAnZmllbGRzZXQnICYmIGVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIGZvcm0gaXMgYmVpbmcgcmVzZXQuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqICBDYWxsZWQgd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gcmVzdG9yZSBlbGVtZW504oCZcyBzdGF0ZSB0byBzdGF0ZSBpbiB3aGljaCBjYXNlXG4gICAgICogIHJlYXNvbiBpcyBcInJlc3RvcmVcIiwgb3Igd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gZnVsZmlsbCBhdXRvZmlsbCBvbiBiZWhhbGYgb2ZcbiAgICAgKiAgdXNlciBpbiB3aGljaCBjYXNlIHJlYXNvbiBpcyBcImF1dG9jb21wbGV0ZVwiLlxuICAgICAqICBJbiB0aGUgY2FzZSBvZiBcInJlc3RvcmVcIiwgc3RhdGUgaXMgYSBzdHJpbmcsIEZpbGUsIG9yIEZvcm1EYXRhIG9iamVjdFxuICAgICAqICBwcmV2aW91c2x5IHNldCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHNldEZvcm1WYWx1ZS5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgICByZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICAgICk6IHZvaWQ7XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICAgICk6IHZvaWQge1xuICAgICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgICBpZiAobmFtZSA9PT0gJ3ZhbHVlJykge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaGFzVXBkYXRlZCAmJiB0aGlzLnNob3VsZFZhbGlkYXRlKG5hbWUpKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICAgIHRoaXMudmFsaWRhdGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG91bGQgYmUgY2FsbGVkIHdoZW4gZm9ybSB2YWx1ZSBpcyBjaGFuZ2VkLlxuICAgICAqIEFkYXB0cyBhbmQgc2V0cyB0aGUgZm9ybVZhbHVlIGluIHRoZSBzdXBwb3J0ZWQgZm9ybWF0IChzdHJpbmcgfCBGb3JtRGF0YSB8IEZpbGUgfCBudWxsKVxuICAgICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9FbGVtZW50SW50ZXJuYWxzL3NldEZvcm1WYWx1ZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCB1cGRhdGVGb3JtVmFsdWUoKTogdm9pZCB7XG4gICAgICBsZXQgZm9ybVZhbHVlOiBGb3JtRGF0YSB8IHN0cmluZyB8IG51bGw7XG4gICAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lID8/IHRoaXMuZ2V0QXR0cmlidXRlKCduYW1lJyk7XG5cbiAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3N0cmluZycgfHwgdGhpcy52YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgIGZvcm1WYWx1ZSA9IHRoaXMudmFsdWUgYXMgc3RyaW5nIHwgbnVsbDtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xuICAgICAgICBmb3JtVmFsdWUgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgdGhpcy52YWx1ZS5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICAgIChmb3JtVmFsdWUgYXMgRm9ybURhdGEpLmFwcGVuZChcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICB0eXBlb2YgZWwgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgID8gZWxcbiAgICAgICAgICAgICAgOiBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkoZWwpXSwge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm9ybVZhbHVlID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIGZvcm1WYWx1ZS5hcHBlbmQoXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkodGhpcy52YWx1ZSldLCB7XG4gICAgICAgICAgICB0eXBlOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBmb3JtIHN0YXRlIGlzIHVuZGVmaW5lZCB0aGVuIGZvcm0gdmFsdWUgd2lsbCBiZSBjb3BpZWQgdG8gc3RhdGUuXG4gICAgICB0aGlzLmludGVybmFscy5zZXRGb3JtVmFsdWUoZm9ybVZhbHVlLCB0aGlzLmZvcm1TdGF0ZT8uKCkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBmb3JtU3RhdGU/KCk6IEZvcm1SZXN0b3JlU3RhdGU7XG5cbiAgICAvKipcbiAgICAgKiBNYXJrcyB0aGlzIGVsZW1lbnQgYXMgc3VmZmVyaW5nIGZyb20gdGhlIGNvbnN0cmFpbnQgaW5kaWNhdGVkIGJ5IHRoZVxuICAgICAqIGZsYWcgYXJndW1lbnQgYW5kIGFzc29jaWF0ZXMgdGhlIGdpdmVuIG1lc3NhZ2UgdG8gaXQuXG4gICAgICogTm90ZSB0aGF0IG9ubHkgb25lIG1lc3NhZ2UgaXMgZGlzcGxheWVkIGF0IGEgdGltZSBhbmQgY3VzdG9tIG1lc3NhZ2VzIGJ5XG4gICAgICogY29uc3VtZXJzIGFyZSBhbHdheXMgZGlzcGxheWVkIGJlZm9yZSBpbnRlcm5hbCBtZXNzYWdlcyBhbmQgaW50ZXJuYWxcbiAgICAgKiBtZXNzYWdlcyBhcmUgZGlzcGxheWVkIGluIHRoZSBvcmRlciB0aGV5IHdlcmUgYWRkZWQuXG4gICAgICogVG8gc2V0L2RlZmluZSBjdXN0b20gdmFsaWRpdHkgc3RhdGUgZmxhZ3MsIHlvdSBuZWVkIHRvIGV4dGVuZCB0aGVcbiAgICAgKiBWYWxpZGl0eVN0YXRlIHByb3RvdHlwZSAoYW5kIHRoZSBDdXN0b21WYWxpZGl0eVN0YXRlIGludGVyZmFjZSkuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogICAvLyBUaGUgdHlwZSBvZiB0aGUgY3VzdG9tIHZhbGlkaXR5IHN0YXRlIGRvZXMgbm90IG5lZWQgdG8gYmUgYm9vbGVhbi5cbiAgICAgKiAgIE9iamVjdC5hc3NpZ24oVmFsaWRpdHlTdGF0ZS5wcm90b3R5cGUsIHtcbiAgICAgKiAgICAgZ2V0IG15RXJyb3IoKTogYm9vbGVhbiB7XG4gICAgICogICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAqICAgICB9LFxuICAgICAqICAgfSk7XG4gICAgICpcbiAgICAgKiAgIGRlY2xhcmUgZ2xvYmFsIHtcbiAgICAgKiAgICAgaW50ZXJmYWNlIEN1c3RvbVZhbGlkaXR5U3RhdGUge1xuICAgICAqICAgICAgIG15RXJyb3I6IGJvb2xlYW47XG4gICAgICogICAgIH1cbiAgICAgKiAgIH1cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc2V0VmFsaWRpdHlGbGFnPFQgZXh0ZW5kcyBrZXlvZiBWYWxpZGl0eVN0YXRlRmxhZ3M+KFxuICAgICAgZmxhZzogVCxcbiAgICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICAgIGZsYWdWYWx1ZT86IFZhbGlkaXR5U3RhdGVGbGFnc1tUXSxcbiAgICApOiB2b2lkIHtcbiAgICAgIGZsYWdWYWx1ZSA/Pz0gdHJ1ZTtcbiAgICAgIGNvbnN0IHZhbGlkaXR5U3RhdGUgPSB0aGlzLl92YWxpZGl0eVN0YXRlcy5nZXQoZmxhZyk7XG4gICAgICBpZiAoXG4gICAgICAgICF2YWxpZGl0eVN0YXRlIHx8XG4gICAgICAgIHZhbGlkaXR5U3RhdGUubWVzc2FnZSAhPT0gbWVzc2FnZSB8fFxuICAgICAgICB2YWxpZGl0eVN0YXRlLmZsYWdWYWx1ZSAhPT0gZmxhZ1ZhbHVlXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5fdmFsaWRpdHlTdGF0ZXMuc2V0KGZsYWcsIHsgZmxhZ1ZhbHVlLCBtZXNzYWdlIH0pO1xuICAgICAgICB0aGlzLl9zZXRJbnRlcm5hbFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJlbW92ZXMgdGhlIHZhbGlkaXR5IHN0YXRlIGZsYWcgZW50cnkgYW5kIHVwZGF0ZXMgdmFsaWRpdHkgc3RhdGUuICovXG4gICAgcHJvdGVjdGVkIHJlbW92ZVZhbGlkaXR5RmxhZzxUIGV4dGVuZHMga2V5b2YgVmFsaWRpdHlTdGF0ZUZsYWdzPihmbGFnOiBUKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5fdmFsaWRpdHlTdGF0ZXMuaGFzKGZsYWcpKSB7XG4gICAgICAgIHRoaXMuX3ZhbGlkaXR5U3RhdGVzLmRlbGV0ZShmbGFnKTtcbiAgICAgICAgdGhpcy5fc2V0SW50ZXJuYWxWYWxpZGl0eSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBUbyBiZSBjYWxsZWQgd2hlbmV2ZXIgdGhlIGN1cnJlbnQgZWxlbWVudCBuZWVkcyB0byBiZSB2YWxpZGF0ZWQuICovXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRlKCk6IHZvaWQge31cblxuICAgIC8qKiBXaGV0aGVyIHZhbGlkYXRpb24gc2hvdWxkIGJlIHJ1biBvbiBhIHByb3BlcnR5IGNoYW5nZSB3aXRoIHRoZSBnaXZlbiBuYW1lLiAqL1xuICAgIHByb3RlY3RlZCBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuICFuYW1lO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldEludGVybmFsVmFsaWRpdHkoKTogdm9pZCB7XG4gICAgICBsZXQgb3V0cHV0TWVzc2FnZSA9IHRoaXMuX3ZhbGlkaXR5U3RhdGVzLmdldCgnY3VzdG9tRXJyb3InKT8ubWVzc2FnZTtcbiAgICAgIGNvbnN0IGZsYWdzOiBWYWxpZGl0eVN0YXRlRmxhZ3MgPSB7fTtcbiAgICAgIHRoaXMuX3ZhbGlkaXR5U3RhdGVzLmZvckVhY2goKHsgZmxhZ1ZhbHVlLCBtZXNzYWdlIH0sIGZsYWcpID0+IHtcbiAgICAgICAgZmxhZ3NbZmxhZ10gPSBmbGFnVmFsdWUgYXMgYW55O1xuICAgICAgICBvdXRwdXRNZXNzYWdlIHx8PSBtZXNzYWdlO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGN1c3RvbUZsYWdzID0gT2JqZWN0LmtleXMoVmFsaWRpdHlTdGF0ZS5wcm90b3R5cGUpLmZpbHRlcihcbiAgICAgICAgKGYpID0+ICEoZiBpbiB2YWxpZGl0eUtleXMpICYmIGYgIT09ICd2YWxpZCcsXG4gICAgICApO1xuICAgICAgZm9yIChjb25zdCBmbGFnIG9mIGN1c3RvbUZsYWdzKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZmxhZyBpbiBmbGFncyA/IGZsYWdzW2ZsYWcgYXMga2V5b2YgVmFsaWRpdHlTdGF0ZUZsYWdzXSA6IGZhbHNlO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5pbnRlcm5hbHMudmFsaWRpdHksIGZsYWcsIHsgdmFsdWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgLy8gSWYgYW55IGN1c3RvbSBlcnJvcnMgYXJlIHByb3ZpZGVkLCB3ZSBuZWVkIHRvIHNldCBjdXN0b21FcnJvciB0byB0cnVlLFxuICAgICAgICAgIC8vIGFzIHRoaXMgaXMgdGhlIG9ubHkgY3VzdG9tIGVycm9yIHByb3BlcnR5IGJyb3dzZXJzIGFjY2VwdC5cbiAgICAgICAgICBmbGFncy5jdXN0b21FcnJvciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0VmFsaWRpdHkoZmxhZ3MsIG91dHB1dE1lc3NhZ2UpO1xuXG4gICAgICAvLyBXZWJLaXQgc2VlbXMgdG8gYWx3YXlzIHNldCBjdXN0b21FcnJvciB0byB0cnVlLCBpZiBhbnkgZXJyb3IgaXMgYWN0aXZlLlxuICAgICAgLy8gRHVlIHRvIHRoaXMgd2UgcGF0Y2ggdGhlIGN1c3RvbUVycm9yIHZhbHVlIG1hbnVhbGx5LlxuICAgICAgaWYgKGlzV2Via2l0KSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLmludGVybmFscy52YWxpZGl0eSwgJ2N1c3RvbUVycm9yJywge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLl92YWxpZGl0eVN0YXRlcy5oYXMoJ2N1c3RvbUVycm9yJykgfHwgISFmbGFncy5jdXN0b21FcnJvcixcbiAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gU2JiRm9ybUFzc29jaWF0ZWRFbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZT4gJiBUO1xufTtcblxuLyoqXG4gKiBBIHZhbHVlIHRvIGJlIHJlc3RvcmVkIGZvciBhIGNvbXBvbmVudCdzIGZvcm0gdmFsdWUuIElmIGEgY29tcG9uZW50J3MgZm9ybVxuICogc3RhdGUgaXMgYSBgRm9ybURhdGFgIG9iamVjdCwgaXRzIGVudHJ5IGxpc3Qgb2YgbmFtZSBhbmQgdmFsdWVzIHdpbGwgYmVcbiAqIHByb3ZpZGVkLlxuICovXG5leHBvcnQgdHlwZSBGb3JtUmVzdG9yZVN0YXRlID0gc3RyaW5nIHwgRm9ybURhdGEgfCBGaWxlO1xuXG4vKipcbiAqIFRoZSByZWFzb24gYSBmb3JtIGNvbXBvbmVudCBpcyBiZWluZyByZXN0b3JlZCBmb3IsIGVpdGhlciBgJ3Jlc3RvcmUnYCBmb3JcbiAqIGJyb3dzZXIgcmVzdG9yYXRpb24gb3IgYCdhdXRvY29tcGxldGUnYCBmb3IgcmVzdG9yaW5nIHVzZXIgdmFsdWVzLlxuICovXG5leHBvcnQgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbiA9ICdyZXN0b3JlJyB8ICdhdXRvY29tcGxldGUnO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBa0JBLElBQU0sZUFBOEU7Q0FDbEYsVUFBVTtDQUNWLGFBQWE7Q0FDYixpQkFBaUI7Q0FDakIsZUFBZTtDQUNmLGdCQUFnQjtDQUNoQixjQUFjO0NBQ2QsU0FBUztDQUNULFVBQVU7Q0FDVixjQUFjO0NBQ2QsY0FBYzs7QUFLaEIsSUFBSSxPQUFPLGtCQUFrQixhQUFhO0NBQ3hDLE1BQU0sZ0JBQWdCLE1BQU0sY0FBYTtFQUN2QyxJQUFXLFFBQUs7R0FDZCxPQUFPO0VBQ1Q7RUFDQSxjQUFBO0dBQ0UsTUFBTSxJQUFJLFVBQVUscUJBQXFCO0VBQzNDOztDQUVGLE9BQU8sUUFBUSxZQUFZLEVBQUUsU0FBUyxDQUFDLEtBQUssV0FDMUMsT0FBTyxPQUFPLGNBQWMsV0FBVyxFQUNyQyxLQUFLLE9BQUk7RUFDUCxPQUFPO0NBQ1QsRUFBQSxDQUNELENBQUM7Q0FFSixXQUFXLGdCQUFnQjtBQUM3Qjs7OztBQTJDQSxJQUFh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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-associated-radio-button-mixin.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/mixins/form-associated-radio-button-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAuB,MAAM,KAAK,CAAC;AAOrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACpC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAEtB,MAAM,4BAA4B,CAAC;AAGpC;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,wEAG7B,CAAC;;AAEJ,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,qCAAsC,SAAQ,0CAE3E;IACC,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC,SAAS,CAAC,sBAAsB,CAAC,EAAE,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAEvE,iBAAiB,IAAI,IAAI;IACzB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAEhG,SAAS,CAAC,eAAe,IAAI,IAAI;IACjC,SAAS,CAAC,qBAAqB,IAAI,IAAI;IACvC,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAClC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,qCAAqC,GAAG,OAAO,CAAC,IAAI,CAAC;CAC1F;AAED;;GAEG;AAEH,eAAO,MAAM,iCAAiC,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,EACzF,YAAY,CAAC,KACZ,mBAAmB,CAAC,qCAAqC,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"form-associated-radio-button-mixin.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/mixins/form-associated-radio-button-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAuB,MAAM,KAAK,CAAC;AAOrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACpC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAEtB,MAAM,4BAA4B,CAAC;AAGpC;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,wEAG7B,CAAC;;AAEJ,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,qCAAsC,SAAQ,0CAE3E;IACC,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC,SAAS,CAAC,sBAAsB,CAAC,EAAE,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAEvE,iBAAiB,IAAI,IAAI;IACzB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAEhG,SAAS,CAAC,eAAe,IAAI,IAAI;IACjC,SAAS,CAAC,qBAAqB,IAAI,IAAI;IACvC,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAClC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,qCAAqC,GAAG,OAAO,CAAC,IAAI,CAAC;CAC1F;AAED;;GAEG;AAEH,eAAO,MAAM,iCAAiC,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,EACzF,YAAY,CAAC,KACZ,mBAAmB,CAAC,qCAAqC,CAAC,GAAG,CA6T/D,CAAC"}
|