@sbb-esta/lyne-elements-dev 5.0.0-next.3-dev.1779349365 → 5.0.0-next.3-dev.1779440997
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.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-B1E38xKe.js → block-link-common-C_rUmc2u.js} +1 -1
- package/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
- package/breadcrumb.js +2 -2
- package/breadcrumb.pure.js +2 -2
- package/button/common/button-common.js +1 -1
- package/button/mini-button-group/mini-button-group.component.js +1 -1
- package/button/mini-button-link/mini-button-link.component.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/common/calendar-cell-base-element.js +1 -1
- package/{calendar.component-BhUyyFtR.js → calendar.component-DKKptbyy.js} +1 -1
- package/calendar.js +3 -3
- package/calendar.pure.js +3 -3
- package/card/card/card.component.js +1 -1
- package/card/card-badge/card-badge.component.js +1 -1
- package/card/common/card-action-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-list/carousel-list.component.js +1 -1
- package/carousel.js +3 -3
- package/carousel.pure.js +3 -3
- package/checkbox/checkbox.component.js +1 -1
- package/checkbox/common/checkbox-common.js +1 -1
- package/{checkbox.component-PkHijotV.js → checkbox.component-DNVief0q.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-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/sticky-bar/sticky-bar.component.js +1 -1
- package/container.js +2 -2
- package/container.pure.js +2 -2
- package/core/base-elements/action-base-element.js +1 -1
- package/core/base-elements/element.js +1 -1
- package/core/base-elements/open-close-base-element.js +1 -1
- package/core/base-elements/selection-group-base-element.js +1 -1
- package/core/controllers/media-matchers-controller.js +1 -1
- package/core/mixins/panel-mixin.js +1 -1
- package/core/styles/styles.js +1 -1
- package/core.js +4 -4
- package/date-input/date-input.component.js +1 -1
- package/date-input.js +1 -1
- package/date-input.pure.js +1 -1
- package/datepicker/common/datepicker-button.js +1 -1
- package/datepicker.js +1 -1
- package/datepicker.pure.js +1 -1
- package/development/accordion/accordion.component.js +1 -1
- package/development/{accordion.component-xx7XabDY.js → accordion.component-pI5XM-iT.js} +1 -1
- package/development/accordion.js +1 -1
- package/development/accordion.pure.js +1 -1
- package/development/action-group/action-group.component.js +1 -1
- package/development/{action-group.component-wgXPpkQe.js → action-group.component-pe0c2zni.js} +1 -1
- package/development/action-group.js +1 -1
- 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-group.component-w5PbU_4C.js → alert-group.component-DYmA3spO.js} +1 -1
- package/development/{alert.component-Dzm5z0jh.js → alert.component-Cq0IPcfk.js} +1 -1
- package/development/alert.js +2 -2
- package/development/alert.pure.js +2 -2
- package/development/autocomplete/autocomplete-base-element.js +1 -1
- package/development/autocomplete/autocomplete.component.js +1 -1
- package/development/{autocomplete-base-element-D1b0RA_u.js → autocomplete-base-element-DtwUdjCd.js} +1 -1
- package/development/autocomplete.js +1 -1
- package/development/autocomplete.pure.js +1 -1
- package/development/{block-link-common-DNvRfeay.js → block-link-common-C0XzZIvS.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-group.component-DvY1hq51.js → breadcrumb-group.component-mofwnLS1.js} +1 -1
- package/development/{breadcrumb.component-D6Cd2FPo.js → breadcrumb.component-B3XsV_Aq.js} +1 -1
- package/development/breadcrumb.js +2 -2
- package/development/breadcrumb.pure.js +2 -2
- package/development/button/common/button-common.js +1 -1
- package/development/button/mini-button-group/mini-button-group.component.js +1 -1
- package/development/button/mini-button-link/mini-button-link.component.js +1 -1
- package/development/{button-common-C-A7Dulr.js → button-common-DvuYiiku.js} +1 -1
- package/development/button.js +3 -3
- 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/common/calendar-cell-base-element.js +1 -1
- package/development/{calendar-cell-base-element-mWRSDeWc.js → calendar-cell-base-element-D_CTwDn9.js} +1 -1
- package/development/{calendar-day.component-BHvdRxll.js → calendar-day.component-Bux4ezpg.js} +1 -1
- package/development/{calendar.component-DnC8Zkdk.js → calendar.component-NvMN01yi.js} +2 -2
- package/development/calendar.js +3 -3
- package/development/calendar.pure.js +3 -3
- package/development/card/card/card.component.js +1 -1
- package/development/card/card-badge/card-badge.component.js +1 -1
- package/development/card/common/card-action-common.js +1 -1
- package/development/{card-action-common-zS5iNz23.js → card-action-common-Dr-EX0gr.js} +1 -1
- package/development/{card-badge.component-CEfJdJBs.js → card-badge.component-CENJTZ4g.js} +1 -1
- package/development/{card.component-CL2gHoyP.js → card.component-CVAgqDNK.js} +1 -1
- package/development/card.js +3 -3
- 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-list/carousel-list.component.js +1 -1
- package/development/{carousel-item.component-nuo7jAt3.js → carousel-item.component-DjDAg-DC.js} +1 -1
- package/development/{carousel-list.component-B8PUREwS.js → carousel-list.component-BLY3JfDq.js} +1 -1
- package/development/{carousel.component-D_KIJ9Bb.js → carousel.component-CD2_hauh.js} +1 -1
- package/development/carousel.js +3 -3
- package/development/carousel.pure.js +3 -3
- package/development/checkbox/checkbox.component.js +1 -1
- package/development/checkbox/common/checkbox-common.js +1 -1
- package/development/{checkbox-common-225vizTc.js → checkbox-common-o3Su1McS.js} +1 -1
- package/development/{checkbox.component-DiNnV2_Y.js → checkbox.component-6zr36eQq.js} +2 -2
- package/development/checkbox.js +2 -2
- 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-group.component-CVizDsAz.js → chip-group.component-BY025VTb.js} +1 -1
- package/development/chip-label/chip-label.component.js +1 -1
- package/development/{chip-label.component-DHHNtvTt.js → chip-label.component-D8Il3pvk.js} +1 -1
- package/development/chip-label.js +1 -1
- package/development/chip-label.pure.js +1 -1
- package/development/{chip.component-Uuf3tGFz.js → chip.component-C2VmHfZa.js} +1 -1
- package/development/chip.js +2 -2
- package/development/chip.pure.js +2 -2
- package/development/clock/clock.component.js +1 -1
- package/development/{clock.component-DcM1WFTN.js → clock.component-CyCPrufS.js} +1 -1
- package/development/clock.js +1 -1
- package/development/clock.pure.js +1 -1
- package/development/{compact-paginator.component-m8MASSB7.js → compact-paginator.component-CKHS0U1v.js} +1 -1
- package/development/container/container/container.component.js +1 -1
- package/development/container/sticky-bar/sticky-bar.component.js +1 -1
- package/development/{container.component-D1Qgp4HW.js → container.component-Ctdd3D-A.js} +1 -1
- package/development/container.js +2 -2
- package/development/container.pure.js +2 -2
- package/development/core/base-elements/action-base-element.js +1 -1
- package/development/core/base-elements/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/controllers/media-matchers-controller.js +1 -1
- package/development/core/mixins/panel-mixin.js +1 -1
- package/development/core/styles/styles.js +1 -1
- package/development/core.js +4 -4
- package/development/date-input/date-input.component.js +1 -1
- package/development/{date-input.component-HxRyCudr.js → date-input.component-Cy7m1ocL.js} +1 -1
- package/development/date-input.js +1 -1
- package/development/date-input.pure.js +1 -1
- package/development/datepicker/common/datepicker-button.js +1 -1
- package/development/{datepicker-button-Bb76EBYH.js → datepicker-button-BvBQB6Sv.js} +1 -1
- package/development/datepicker.js +1 -1
- package/development/datepicker.pure.js +1 -1
- package/development/dialog/dialog/dialog.component.js +1 -1
- package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
- package/development/dialog/dialog-close-button/dialog-close-button.component.js +1 -1
- package/development/dialog/dialog-content/dialog-content.component.js +1 -1
- package/development/dialog/dialog-title/dialog-title.component.js +1 -1
- package/development/{dialog-actions.component-e0ZTTUin.js → dialog-actions.component-Dyzg7z-B.js} +1 -1
- package/development/{dialog-close-button.component-Idc00dB9.js → dialog-close-button.component-dgLnsaLx.js} +1 -1
- package/development/{dialog-content.component-CThU7Z8A.js → dialog-content.component-DDtVV0Lh.js} +1 -1
- package/development/{dialog-title.component-0uNsUR2C.js → dialog-title.component-DyItyahT.js} +1 -1
- package/development/{dialog.component-cZ3SAujq.js → dialog.component-B1Tke2ym.js} +1 -1
- package/development/dialog.js +5 -5
- package/development/dialog.pure.js +5 -5
- package/development/divider/divider.component.js +1 -1
- package/development/{divider.component-Ck_0vISe.js → divider.component-CYP23U4q.js} +1 -1
- package/development/divider.js +1 -1
- package/development/divider.pure.js +1 -1
- package/development/{element-BAsBayf5.js → element-BS28ba7w.js} +1 -1
- package/development/{error.component-WCkiwM7_.js → error.component-Bp7ztvQB.js} +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-header/expansion-panel-header.component.js +1 -1
- package/development/{expansion-panel-content.component-Bs0pYNJO.js → expansion-panel-content.component-CKhGtjji.js} +1 -1
- package/development/{expansion-panel-header.component-gg5A_7Pz.js → expansion-panel-header.component-Do3pLbzs.js} +1 -1
- package/development/{expansion-panel.component-DcFrWkIt.js → expansion-panel.component-BnbRiLrk.js} +1 -1
- package/development/expansion-panel.js +3 -3
- package/development/expansion-panel.pure.js +3 -3
- package/development/file-selector/common/file-selector-common.js +1 -1
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/development/{file-selector-common-Dd0S0qE3.js → file-selector-common-CCvgN1G2.js} +1 -1
- package/development/{file-selector-dropzone.component-DWLdqMmI.js → file-selector-dropzone.component-BeqSG2IM.js} +1 -1
- package/development/file-selector.js +2 -2
- 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-summary/flip-card-summary.component.js +1 -1
- package/development/{flip-card-details.component-BYv_W66a.js → flip-card-details.component-RJ43uhma.js} +1 -1
- package/development/{flip-card-summary.component-jLNjJUNl.js → flip-card-summary.component-D9zMzU8m.js} +1 -1
- package/development/{flip-card.component-MmiS-x-W.js → flip-card.component-CAsfIcvt.js} +1 -1
- package/development/flip-card.js +3 -3
- package/development/flip-card.pure.js +3 -3
- package/development/footer/footer.component.js +1 -1
- package/development/{footer.component-K2bWizjw.js → footer.component-DJH7E5aO.js} +1 -1
- package/development/footer.js +1 -1
- package/development/footer.pure.js +1 -1
- package/development/form-field/error/error.component.js +1 -1
- package/development/form-field/form-field/form-field.component.js +1 -1
- package/development/form-field/hint/hint.component.js +1 -1
- package/development/{form-field.component-BzjbIwnz.js → form-field.component-YM-Z5aZf.js} +1 -1
- package/development/form-field.js +3 -3
- package/development/form-field.pure.js +3 -3
- package/development/header/common/header-action-common.js +1 -1
- package/development/header/header/header.component.js +1 -1
- package/development/header/header-environment/header-environment.component.js +1 -1
- package/development/{header-action-common-BYB-HYtn.js → header-action-common-CDiEhWa0.js} +1 -1
- package/development/{header-environment.component-CIyxQwkQ.js → header-environment.component--4YEZyKq.js} +1 -1
- package/development/{header.component-C4e7CNql.js → header.component-B43X03Jg.js} +1 -1
- package/development/header.js +3 -3
- package/development/header.pure.js +3 -3
- package/development/{hint.component-BB9QLGGx.js → hint.component-CdM71SNj.js} +1 -1
- package/development/icon/icon-base.js +1 -1
- package/development/icon/icon.component.js +1 -1
- package/development/{icon-base-DrBHy9BT.js → icon-base-Cz7F4MJ9.js} +1 -1
- package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
- package/development/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
- package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
- package/development/{icon-sidebar-container.component-CM94Spwy.js → icon-sidebar-container.component-G8wyj1Sb.js} +1 -1
- package/development/{icon-sidebar-content.component-BP9W5ZxR.js → icon-sidebar-content.component-D1VPTNhO.js} +1 -1
- package/development/{icon-sidebar.component-B68P2aNh.js → icon-sidebar.component-DLlCKweu.js} +1 -1
- package/development/icon-sidebar.js +3 -3
- package/development/icon-sidebar.pure.js +3 -3
- package/development/icon.js +1 -1
- package/development/icon.pure.js +1 -1
- package/development/image/image.component.js +1 -1
- package/development/{image.component-EfSMgHI_.js → image.component-DoRIca5y.js} +5 -16
- package/development/image.js +1 -1
- package/development/image.pure.js +1 -1
- package/development/{inline-link-common-BV6oAtAA.js → inline-link-common-CXYyREBi.js} +2 -2
- package/development/journey-header/journey-header.component.js +1 -1
- package/development/{journey-header.component-CA4juz9x.js → journey-header.component-tBukBhVq.js} +1 -1
- package/development/journey-header.js +1 -1
- package/development/journey-header.pure.js +1 -1
- package/development/lead-container/lead-container.component.js +1 -1
- package/development/{lead-container.component-C_mFeq1B.js → lead-container.component-D93DLU_J.js} +1 -1
- package/development/lead-container.js +1 -1
- package/development/lead-container.pure.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-2RGn9Qz_.js → link-common-DWTP-lFX.js} +1 -1
- package/development/link-list/common/link-list-base.js +1 -1
- package/development/link-list/link-list.component.js +1 -1
- package/development/link-list-anchor/link-list-anchor.component.js +1 -1
- package/development/{link-list-anchor.component-BMtCbCRD.js → link-list-anchor.component-9C1H5KXX.js} +1 -1
- package/development/link-list-anchor.js +1 -1
- package/development/link-list-anchor.pure.js +1 -1
- package/development/{link-list-base-CKT3c8yW.js → link-list-base-CaPkNR_V.js} +1 -1
- package/development/{link-list.component-CLxhjWR7.js → link-list.component-By_lSSYE.js} +2 -2
- package/development/link-list.js +2 -2
- package/development/link-list.pure.js +2 -2
- package/development/link.js +3 -3
- 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-Cfjw5vyz.js → loading-indicator-circle.component-CudNN1Z6.js} +1 -1
- package/development/loading-indicator-circle.js +1 -1
- package/development/loading-indicator-circle.pure.js +1 -1
- package/development/{loading-indicator.component-By2VaLCf.js → loading-indicator.component-sEdpEBpx.js} +1 -1
- package/development/loading-indicator.js +1 -1
- package/development/loading-indicator.pure.js +1 -1
- package/development/logo/logo.component.js +1 -1
- package/development/{logo.component-DYKgAgq0.js → logo.component-SqyPA1M-.js} +1 -1
- package/development/logo.js +1 -1
- package/development/logo.pure.js +1 -1
- package/development/map-container/map-container.component.js +1 -1
- package/development/{map-container.component-D0UVTolK.js → map-container.component-N-e2oBnd.js} +1 -1
- package/development/map-container.js +1 -1
- package/development/map-container.pure.js +1 -1
- package/development/menu/common/menu-action-common.js +1 -1
- package/development/menu/menu/menu.component.js +1 -1
- package/development/{menu-action-common-DL4t4_-J.js → menu-action-common-BUIJFq1R.js} +1 -1
- package/development/{menu.component-3qEIFutc.js → menu.component-B3uWxwbt.js} +1 -1
- package/development/menu.js +2 -2
- package/development/menu.pure.js +2 -2
- package/development/message/message.component.js +1 -1
- package/development/{message.component-BJ-84a0B.js → message.component-BrqWVCJV.js} +1 -1
- package/development/message.js +1 -1
- package/development/message.pure.js +1 -1
- package/development/{mini-button-group.component-C88pIaaL.js → mini-button-group.component-C2KcpK5c.js} +1 -1
- package/development/{mini-button-link.component-kpRsi8I2.js → mini-button-link.component-BHaNYXk0.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-month/mini-calendar-month.component.js +1 -1
- package/development/{mini-calendar-day.component-BLkJ12Bw.js → mini-calendar-day.component-UG6wpckK.js} +1 -1
- package/development/{mini-calendar-month.component-D8XjjLmN.js → mini-calendar-month.component-GE-cmXxP.js} +1 -1
- package/development/{mini-calendar.component-BOk8JovO.js → mini-calendar.component-DQ_zxELt.js} +1 -1
- package/development/mini-calendar.js +3 -3
- package/development/mini-calendar.pure.js +3 -3
- package/development/navigation/common/navigation-action-common.js +1 -1
- package/development/navigation/navigation/navigation.component.js +1 -1
- package/development/navigation/navigation-list/navigation-list.component.js +1 -1
- package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
- package/development/navigation/navigation-section/navigation-section.component.js +1 -1
- package/development/{navigation-action-common-wrzPCkMT.js → navigation-action-common-BdJOaItd.js} +1 -1
- package/development/{navigation-list.component-CU-SGC8c.js → navigation-list.component-CWOSnwgm.js} +1 -1
- package/development/{navigation-marker.component-CTk9U0kA.js → navigation-marker.component-D3Vbe1dH.js} +1 -1
- package/development/{navigation-section.component-iaypc6yQ.js → navigation-section.component-DhMQspKb.js} +1 -1
- package/development/{navigation.component-Bu1wVUNx.js → navigation.component-BOBqdfXo.js} +1 -1
- package/development/navigation.js +5 -5
- package/development/navigation.pure.js +5 -5
- package/development/notification/notification.component.js +1 -1
- package/development/{notification.component-BiJSo7Pl.js → notification.component-BlWGjgrP.js} +1 -1
- package/development/notification.js +1 -1
- package/development/notification.pure.js +1 -1
- package/development/{optgroup-base-element-BzfcJgxG.js → optgroup-base-element--G8myprb.js} +1 -1
- package/development/option/optgroup/optgroup-base-element.js +1 -1
- package/development/option/optgroup/optgroup.component.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-styles.js +1 -1
- package/development/{option-hint.component-DPfgcpVn.js → option-hint.component-DyCue4gx.js} +1 -1
- package/development/{option-styles-IEQgVpCe.js → option-styles-CTdAvJu3.js} +1 -1
- package/development/{option.component-ImZLdB0V.js → option.component-BSHq97Of.js} +1 -1
- package/development/option.js +4 -4
- package/development/option.pure.js +4 -4
- package/development/overlay/overlay.component.js +1 -1
- package/development/{overlay.component-DywhKxO1.js → overlay.component-D_BLhfdG.js} +1 -1
- package/development/overlay.js +1 -1
- package/development/overlay.pure.js +1 -1
- package/development/paginator/common/paginator-common.js +1 -1
- package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
- package/development/paginator/paginator/paginator.component.js +1 -1
- package/development/{paginator-common-CRchtcXc.js → paginator-common-B9EN1Fjx.js} +1 -1
- package/development/{paginator.component-B8y5tVCL.js → paginator.component-DisPJ2Qa.js} +4 -4
- package/development/paginator.js +3 -3
- package/development/paginator.pure.js +3 -3
- package/development/{panel-mixin-DPybe45K.js → panel-mixin-Da_cHQn-.js} +1 -1
- package/development/popover/popover.component.js +1 -1
- package/development/{popover.component-Ds4fNNsq.js → popover.component-DtIhw37L.js} +1 -1
- package/development/popover.js +1 -1
- package/development/popover.pure.js +1 -1
- package/development/radio-button/common/radio-button-common.js +1 -1
- package/development/radio-button/radio-button.component.js +1 -1
- package/development/{radio-button-common-BS05acqM.js → radio-button-common-BaGYHkpD.js} +1 -1
- package/development/{radio-button.component-BUSzf7Eq.js → radio-button.component-CmQGrMHr.js} +2 -2
- package/development/radio-button.js +2 -2
- package/development/radio-button.pure.js +2 -2
- package/development/{sbb-tokens-bg2elLoF.js → sbb-tokens-DGQJTWqa.js} +1 -1
- package/development/select/select.component.js +1 -1
- package/development/{select.component-o-3HlzOK.js → select.component-3S8E6UwN.js} +1 -1
- package/development/select.js +1 -1
- 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-C3UlmLkJ.js → selection-action-panel.component-pd9B6lRD.js} +1 -1
- package/development/selection-action-panel.js +1 -1
- 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-4Ron8XNy.js → selection-expansion-panel.component-Dtfnz1AE.js} +1 -1
- package/development/selection-expansion-panel.js +1 -1
- package/development/selection-expansion-panel.pure.js +1 -1
- package/development/{selection-group-base-element-B3vOsN1Q.js → selection-group-base-element-govDKjsE.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-container/sidebar-container.component.js +1 -1
- package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
- package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
- package/development/{sidebar-close-button.component-ByQtC65O.js → sidebar-close-button.component-tkbcoR-I.js} +1 -1
- package/development/{sidebar-container.component-BmavabUg.js → sidebar-container.component-CbE9878W.js} +1 -1
- package/development/{sidebar-content.component-DcsIIWpz.js → sidebar-content.component-CBfaiAsJ.js} +1 -1
- package/development/{sidebar-title.component-DgJdkoiE.js → sidebar-title.component-ZKarv4Mz.js} +1 -1
- package/development/{sidebar.component-BszwyJQa.js → sidebar.component-Cmkn9X-M.js} +1 -1
- package/development/sidebar.js +5 -5
- package/development/sidebar.pure.js +5 -5
- package/development/signet/signet.component.js +1 -1
- package/development/{signet.component-DXLTVjJS.js → signet.component--kuRWLGw.js} +1 -1
- package/development/signet.js +1 -1
- package/development/signet.pure.js +1 -1
- package/development/skiplink-list/skiplink-list.component.js +1 -1
- package/development/{skiplink-list.component-BC8rpyf9.js → skiplink-list.component-Cpyo7JAH.js} +1 -1
- package/development/skiplink-list.js +1 -1
- package/development/skiplink-list.pure.js +1 -1
- package/development/slider/slider.component.js +1 -1
- package/development/{slider.component-Dz4Nl2ZL.js → slider.component-C4SpkHDK.js} +1 -1
- package/development/slider.js +1 -1
- package/development/slider.pure.js +1 -1
- package/development/status/status.component.js +1 -1
- package/development/{status.component-thSGiOrl.js → status.component-DnnX98xP.js} +1 -1
- package/development/status.js +1 -1
- package/development/status.pure.js +1 -1
- package/development/{step-label.component-CpdXVv32.js → step-label.component-i13wQWJJ.js} +1 -1
- package/development/{step.component-CfA-kmt1.js → step.component-lTLpcOUh.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/stepper/stepper.component.js +1 -1
- package/development/{stepper.component-2yRFnnju.js → stepper.component-DBE685VL.js} +1 -1
- package/development/stepper.js +3 -3
- package/development/stepper.pure.js +3 -3
- package/development/{sticky-bar.component-DZpy1gBU.js → sticky-bar.component-BEhV0azF.js} +1 -1
- package/development/{styles-D8h0fqb5.js → styles-AtR8n_N4.js} +1 -1
- package/development/{styles-BmvNZZle.js → styles-BTV2MyrZ.js} +1 -1
- package/development/{tab-group.component-DhcfjVxe.js → tab-group.component-DBg6I8W7.js} +1 -1
- package/development/{tab-label.component-B7YEhR1C.js → tab-label.component-QHzOZ28y.js} +1 -1
- package/development/{tab-nav-bar.component-DrZ1U7lM.js → tab-nav-bar.component-DC4Ba7w2.js} +1 -1
- package/development/{tab.component-COn1G0XA.js → tab.component-Bsdzs7P2.js} +1 -1
- package/development/table/table-wrapper/table-wrapper.component.js +1 -1
- package/development/{table-wrapper.component-9Lst6dT2.js → table-wrapper.component-Cqc9PHZl.js} +1 -1
- package/development/table.js +1 -1
- package/development/table.pure.js +1 -1
- package/development/tabs/common/styles.js +1 -1
- package/development/tabs/tab/tab.component.js +1 -1
- package/development/tabs/tab-group/tab-group.component.js +1 -1
- package/development/tabs/tab-label/tab-label.component.js +1 -1
- package/development/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
- package/development/tabs.js +5 -5
- 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-group.component-OQ3sxhZI.js → tag-group.component-jSgluqL-.js} +1 -1
- package/development/{tag.component-DWOPDWwe.js → tag.component-D6YowucW.js} +1 -1
- package/development/tag.js +2 -2
- 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-Cp42iJGt.js → teaser-hero.component-d0iLCgA7.js} +1 -1
- package/development/teaser-hero.js +1 -1
- package/development/teaser-hero.pure.js +1 -1
- package/development/teaser-panel/teaser-panel.component.js +1 -1
- package/development/{teaser-panel.component-ptDalUEe.js → teaser-panel.component-CXT3l9-M.js} +1 -1
- package/development/teaser-panel.js +1 -1
- package/development/teaser-panel.pure.js +1 -1
- package/development/teaser-product/common/teaser-product-common.js +1 -1
- package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
- package/development/{teaser-product-common-DxBw-__I.js → teaser-product-common-DfbpBlTk.js} +1 -1
- package/development/{teaser-product.component-CPj4vJ2V.js → teaser-product.component-Cv9PR0lo.js} +1 -1
- package/development/teaser-product.js +2 -2
- package/development/teaser-product.pure.js +2 -2
- package/development/{teaser.component-Dgrc2jh8.js → teaser.component-BGnmuXOI.js} +1 -1
- package/development/teaser.js +1 -1
- package/development/teaser.pure.js +1 -1
- package/development/time-input/time-input.component.js +1 -1
- package/development/{time-input.component-BFjDAfbv.js → time-input.component-CGPW3RCw.js} +1 -1
- package/development/time-input.js +1 -1
- 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-field/timetable-form-field.component.js +1 -1
- package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
- package/development/{timetable-form-details.component-BFmuJ8-6.js → timetable-form-details.component-HPb8xks3.js} +1 -1
- package/development/{timetable-form-field.component-DD04XyA0.js → timetable-form-field.component-DxUpCWe0.js} +1 -1
- package/development/{timetable-form-swap-button.component-DphGegO6.js → timetable-form-swap-button.component-BT63vkZr.js} +1 -1
- package/development/{timetable-form.component-EIr4B4mA.js → timetable-form.component-DcvKOLvm.js} +1 -1
- package/development/timetable-form.js +4 -4
- 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-vsXoAiKz.js → timetable-occupancy-icon.component-Bsct9zga.js} +1 -1
- package/development/timetable-occupancy-icon.js +1 -1
- package/development/timetable-occupancy-icon.pure.js +1 -1
- package/development/{timetable-occupancy.component-B0zY0RnI.js → timetable-occupancy.component-62YNjs5z.js} +1 -1
- package/development/timetable-occupancy.js +1 -1
- 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-CPAVrsQ9.js → title-base-DPAFIjFK.js} +1 -1
- package/development/{title.component-DCg9U2CK.js → title.component-BSrkZhnI.js} +2 -2
- package/development/title.js +2 -2
- package/development/title.pure.js +2 -2
- package/development/toast/toast.component.js +1 -1
- package/development/{toast.component-TvSfu5nl.js → toast.component-DowxkGr4.js} +1 -1
- package/development/toast.js +1 -1
- 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-check/toggle-check.component.js +1 -1
- package/development/{toggle-check.component-CbGa5-8I.js → toggle-check.component--On4AuVo.js} +1 -1
- package/development/toggle-check.js +1 -1
- package/development/toggle-check.pure.js +1 -1
- package/development/{toggle-option.component-BxGnhJFH.js → toggle-option.component-CZY7xnrX.js} +1 -1
- package/development/{toggle.component-Q68IDQWX.js → toggle.component-D3IbJqAH.js} +1 -1
- package/development/toggle.js +2 -2
- package/development/toggle.pure.js +2 -2
- package/development/tooltip/tooltip.component.js +1 -1
- package/development/{tooltip.component-Baoh6M8V.js → tooltip.component-BE8BlKzE.js} +1 -1
- package/development/tooltip.js +1 -1
- 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-formation/train-formation.component.js +1 -1
- package/development/train/train-wagon-common.js +1 -1
- package/development/{train-blocked-passage.component-C7ve-a1E.js → train-blocked-passage.component-BGCuXvjt.js} +1 -1
- package/development/{train-formation.component-DQ_hLKNv.js → train-formation.component-XGatA4-S.js} +1 -1
- package/development/{train-wagon-common-CdckItEt.js → train-wagon-common-4dC995mT.js} +1 -1
- package/development/{train.component-Bi74L6C7.js → train.component-CX1HEDwX.js} +1 -1
- package/development/train.js +4 -4
- package/development/train.pure.js +4 -4
- package/development/visual-checkbox/visual-checkbox.component.js +1 -1
- package/development/{visual-checkbox.component-B4_iHcsX.js → visual-checkbox.component-EpRxoteZ.js} +1 -1
- package/development/visual-checkbox.js +1 -1
- 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-close-button/dialog-close-button.component.js +1 -1
- package/dialog/dialog-content/dialog-content.component.js +1 -1
- package/dialog/dialog-title/dialog-title.component.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-header/expansion-panel-header.component.js +1 -1
- 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/file-selector-dropzone/file-selector-dropzone.component.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-summary/flip-card-summary.component.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/form-field/form-field.component.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/header/header.component.js +1 -1
- package/header/header-environment/header-environment.component.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-content/icon-sidebar-content.component.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-BSSyfPru.js → image.component-K7sre7oE.js} +1 -1
- package/image.js +1 -1
- package/image.pure.js +1 -1
- package/{inline-link-common-O650N_pm.js → inline-link-common-D0sat0cr.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-list/common/link-list-base.js +1 -1
- package/link-list/link-list.component.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-Dg-7TBPC.js → link-list.component-bTG45ml0.js} +1 -1
- package/link-list.js +2 -2
- 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/menu/menu.component.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-month/mini-calendar-month.component.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/navigation/navigation.component.js +1 -1
- package/navigation/navigation-list/navigation-list.component.js +1 -1
- package/navigation/navigation-marker/navigation-marker.component.js +1 -1
- package/navigation/navigation-section/navigation-section.component.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/option/option.component.js +1 -1
- package/option/option-hint/option-hint.component.js +1 -1
- package/option/option-styles.js +1 -1
- package/option.js +4 -4
- package/option.pure.js +4 -4
- 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/common/paginator-common.js +1 -1
- package/paginator/compact-paginator/compact-paginator.component.js +1 -1
- package/paginator/paginator/paginator.component.js +1 -1
- package/{paginator.component-Dk1xDHgW.js → paginator.component-buCkeyDv.js} +3 -3
- package/paginator.js +3 -3
- package/paginator.pure.js +3 -3
- 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/radio-button.component.js +1 -1
- package/{radio-button.component-DXLKxjst.js → radio-button.component-DznnXJCN.js} +1 -1
- package/radio-button.js +2 -2
- package/radio-button.pure.js +2 -2
- 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/{selection-group-base-element-CehwzW8Y.js → selection-group-base-element-BcEQ5-ML.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-container/sidebar-container.component.js +1 -1
- package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
- package/sidebar/sidebar-title/sidebar-title.component.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.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/stepper/stepper.component.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.js +1 -1
- package/table.pure.js +1 -1
- package/tabs/common/styles.js +1 -1
- package/tabs/tab/tab.component.js +1 -1
- package/tabs/tab-group/tab-group.component.js +1 -1
- package/tabs/tab-label/tab-label.component.js +1 -1
- package/tabs/tab-nav-bar/tab-nav-bar.component.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.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-panel/teaser-panel.component.js +1 -1
- package/teaser-panel.js +1 -1
- package/teaser-panel.pure.js +1 -1
- package/teaser-product/common/teaser-product-common.js +1 -1
- package/teaser-product/teaser-product/teaser-product.component.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.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-field/timetable-form-field.component.js +1 -1
- package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.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-DTnG8op9.js → title.component-BZ0nVpam.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-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-formation/train-formation.component.js +1 -1
- package/train/train-wagon-common.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/{accordion.component-DbuSYzV1.js → accordion.component-ClJHZh_N.js} +0 -0
- /package/{action-group.component-BMYAFyHh.js → action-group.component-Dg11Ug4A.js} +0 -0
- /package/{alert-group.component-BqJ6B49z.js → alert-group.component-Ck1kYZb4.js} +0 -0
- /package/{alert.component-DN7sW2NC.js → alert.component-B8EGWmcc.js} +0 -0
- /package/{autocomplete-base-element-k9uIbFBu.js → autocomplete-base-element-CLMoJtJb.js} +0 -0
- /package/{breadcrumb-group.component-a49dItu9.js → breadcrumb-group.component-FLbOLqwi.js} +0 -0
- /package/{breadcrumb.component-Kk1U6Iju.js → breadcrumb.component-CC8MxtJj.js} +0 -0
- /package/{button-common-BQdNXKwl.js → button-common-Br6zOEgv.js} +0 -0
- /package/{calendar-cell-base-element-CUG1qYFb.js → calendar-cell-base-element-Dq7Ap5n-.js} +0 -0
- /package/{calendar-day.component-CcZymuSD.js → calendar-day.component-Caf2w9lS.js} +0 -0
- /package/{card-action-common-BNdGcJl-.js → card-action-common-DRSSDHqY.js} +0 -0
- /package/{card-badge.component-BLAK_y8x.js → card-badge.component-B-uJVrxT.js} +0 -0
- /package/{card.component-WUQRK9jT.js → card.component-Bwuv9ur1.js} +0 -0
- /package/{carousel-item.component-B6WmZPkW.js → carousel-item.component-DRfpza-9.js} +0 -0
- /package/{carousel-list.component-CnZehdy6.js → carousel-list.component-7mbfkw4K.js} +0 -0
- /package/{carousel.component-ZrkGeJgZ.js → carousel.component-B6XqR3Bc.js} +0 -0
- /package/{checkbox-common-gaaFKApr.js → checkbox-common-Dz5PUD9H.js} +0 -0
- /package/{chip-group.component-BIP7c2G0.js → chip-group.component-DKF_Z2QU.js} +0 -0
- /package/{chip-label.component-BLbhqUAp.js → chip-label.component-DVUxt7Sk.js} +0 -0
- /package/{chip.component-gcvF3pEX.js → chip.component-SLuNizyV.js} +0 -0
- /package/{clock.component-Cqrl999I.js → clock.component-gnEqkZ4T.js} +0 -0
- /package/{compact-paginator.component-B-8gf_qD.js → compact-paginator.component-CmPlZsd4.js} +0 -0
- /package/{container.component-sQtiqWxT.js → container.component-DJgFIJ0b.js} +0 -0
- /package/{date-input.component-aFuUH3N_.js → date-input.component-Cb3wWbFC.js} +0 -0
- /package/{datepicker-button-CuoZoC6e.js → datepicker-button-D8t6_DBS.js} +0 -0
- /package/{dialog-actions.component-DxmjSvd-.js → dialog-actions.component-CHFJ8HjT.js} +0 -0
- /package/{dialog-close-button.component-B8troaaQ.js → dialog-close-button.component-CV55ej8Q.js} +0 -0
- /package/{dialog-content.component-Chfg-IY1.js → dialog-content.component-D7SeDETW.js} +0 -0
- /package/{dialog-title.component-BbcbQXjp.js → dialog-title.component-DP7l1zQE.js} +0 -0
- /package/{dialog.component-D3G0AX4Y.js → dialog.component-Bs62s2eB.js} +0 -0
- /package/{divider.component-WsZcNUnN.js → divider.component-wL7Cw3YB.js} +0 -0
- /package/{element-C7t5_1gu.js → element-CvshSA3k.js} +0 -0
- /package/{error.component-D9Tu2YIl.js → error.component-D0rmgyFk.js} +0 -0
- /package/{expansion-panel-content.component-WG1cwhjd.js → expansion-panel-content.component-Dm761peO.js} +0 -0
- /package/{expansion-panel-header.component-CnUqRql_.js → expansion-panel-header.component-Cli4Qy1p.js} +0 -0
- /package/{expansion-panel.component-CRyZ5x6U.js → expansion-panel.component-kyVRxBRu.js} +0 -0
- /package/{file-selector-common-BNGnjK__.js → file-selector-common-Bk347JZN.js} +0 -0
- /package/{file-selector-dropzone.component-sE_fofSq.js → file-selector-dropzone.component-CywJG8KU.js} +0 -0
- /package/{flip-card-details.component-BgOeJ53R.js → flip-card-details.component-D4C0Fde7.js} +0 -0
- /package/{flip-card-summary.component-D5cKgj47.js → flip-card-summary.component-ZvTeHtPV.js} +0 -0
- /package/{flip-card.component-ZsA_kDPS.js → flip-card.component-CtUxr9yF.js} +0 -0
- /package/{footer.component-DsIoOLu-.js → footer.component-x4yuXpWV.js} +0 -0
- /package/{form-field.component-BKWzdNHT.js → form-field.component-eH2C_qPG.js} +0 -0
- /package/{header-action-common-B-eRBjSz.js → header-action-common-CWn80TJo.js} +0 -0
- /package/{header-environment.component-B0VYZh7C.js → header-environment.component-Diy44YpD.js} +0 -0
- /package/{header.component-TU3e89pY.js → header.component-DgWfgTse.js} +0 -0
- /package/{hint.component-DTKfI9tq.js → hint.component-BZZJXuHG.js} +0 -0
- /package/{icon-base-CCpB1w3b.js → icon-base-CK1oqnO4.js} +0 -0
- /package/{icon-sidebar-container.component-CDBkiGlz.js → icon-sidebar-container.component-CYVyqKnZ.js} +0 -0
- /package/{icon-sidebar-content.component-CN4Que2a.js → icon-sidebar-content.component-C5ZspZQk.js} +0 -0
- /package/{icon-sidebar.component-DA2cmcyy.js → icon-sidebar.component-BkqYbGHz.js} +0 -0
- /package/{journey-header.component-CXyULeHJ.js → journey-header.component-Ct9LmhWY.js} +0 -0
- /package/{lead-container.component-CdfHJFFN.js → lead-container.component-Fv9F5Yh4.js} +0 -0
- /package/{link-common-ezSu7e9c.js → link-common-C4Jbge1L.js} +0 -0
- /package/{link-list-anchor.component-Bjz_EKvE.js → link-list-anchor.component-as1bjNH1.js} +0 -0
- /package/{link-list-base-C12PTC8e.js → link-list-base-Dgu0yeTL.js} +0 -0
- /package/{loading-indicator-circle.component-CSU2Ludy.js → loading-indicator-circle.component-BSdKx0eK.js} +0 -0
- /package/{loading-indicator.component-DxyhIaFo.js → loading-indicator.component-B2cGE1Mj.js} +0 -0
- /package/{logo.component-DVMNS8Op.js → logo.component-BOxQbVu9.js} +0 -0
- /package/{map-container.component-DyJBA3qj.js → map-container.component-bI8Gb4I8.js} +0 -0
- /package/{menu-action-common-DakEXPg7.js → menu-action-common-_iII6n1T.js} +0 -0
- /package/{menu.component-CqXsI5Cg.js → menu.component-CqXIRQq2.js} +0 -0
- /package/{message.component-CORYX4KP.js → message.component-BpQ4ikV6.js} +0 -0
- /package/{mini-button-group.component-DWayyUpK.js → mini-button-group.component-C-pJ_J-1.js} +0 -0
- /package/{mini-button-link.component-B8HmvVCg.js → mini-button-link.component-MBesHG--.js} +0 -0
- /package/{mini-calendar-day.component-CVYqN3Yn.js → mini-calendar-day.component-UvIp06lc.js} +0 -0
- /package/{mini-calendar-month.component-DbiqMOH8.js → mini-calendar-month.component-BZV7QSlC.js} +0 -0
- /package/{mini-calendar.component-BKzbqHim.js → mini-calendar.component-B6EGO9bp.js} +0 -0
- /package/{navigation-action-common-CBlB5vk9.js → navigation-action-common-DSPULZFe.js} +0 -0
- /package/{navigation-list.component-C5y3ohH0.js → navigation-list.component-Bkmh_wqm.js} +0 -0
- /package/{navigation-marker.component-VbvKu1TR.js → navigation-marker.component-CCXJWsN1.js} +0 -0
- /package/{navigation-section.component-Bmh4Xtrm.js → navigation-section.component-c4XBLFsl.js} +0 -0
- /package/{navigation.component-DKJujMqj.js → navigation.component-pRBja4z3.js} +0 -0
- /package/{notification.component-CDGtGwRv.js → notification.component-IRuswhzC.js} +0 -0
- /package/{optgroup-base-element-CBxsRPUF.js → optgroup-base-element-BbxwRc0x.js} +0 -0
- /package/{option-hint.component-NSxCKXEy.js → option-hint.component-CUf2d2d5.js} +0 -0
- /package/{option-styles-DcD5grSB.js → option-styles-czjdmUjA.js} +0 -0
- /package/{option.component-BgcpoHWM.js → option.component-9AlEwsE3.js} +0 -0
- /package/{overlay.component-OSLtja0_.js → overlay.component-BvoOK_O-.js} +0 -0
- /package/{paginator-common-C0Kn9ibe.js → paginator-common-Xiv6UZlo.js} +0 -0
- /package/{panel-mixin-XQXElTGt.js → panel-mixin-CG-f0J6K.js} +0 -0
- /package/{popover.component-Bm-bx-Hs.js → popover.component-DrLx8J07.js} +0 -0
- /package/{radio-button-common-D7jL7eB3.js → radio-button-common-OaxGvaS9.js} +0 -0
- /package/{sbb-tokens-BBic3kP6.js → sbb-tokens-C-MoUcho.js} +0 -0
- /package/{select.component-CDv5tSW6.js → select.component-Drb7KsP3.js} +0 -0
- /package/{selection-action-panel.component-Ba7N1Hgt.js → selection-action-panel.component-m13MKp44.js} +0 -0
- /package/{selection-expansion-panel.component-BL1FPfPM.js → selection-expansion-panel.component-BMI-n5Xc.js} +0 -0
- /package/{sidebar-close-button.component-CLjOpBM2.js → sidebar-close-button.component-BoOFzuBn.js} +0 -0
- /package/{sidebar-container.component-8filIF5E.js → sidebar-container.component-BFm6HnIu.js} +0 -0
- /package/{sidebar-content.component-DMdjHDdq.js → sidebar-content.component-DFLqVK-O.js} +0 -0
- /package/{sidebar-title.component-DaIkBNY9.js → sidebar-title.component-4B18yGLO.js} +0 -0
- /package/{sidebar.component-D_HLDNnq.js → sidebar.component-VL6TFd9H.js} +0 -0
- /package/{signet.component-6q3GxORI.js → signet.component-DoXHpxDU.js} +0 -0
- /package/{skiplink-list.component-ClGb1J_H.js → skiplink-list.component-Cc6QNvVU.js} +0 -0
- /package/{slider.component-BMkoF1l1.js → slider.component-DANx27eH.js} +0 -0
- /package/{status.component-DMfZTgzz.js → status.component-Cg671ic2.js} +0 -0
- /package/{step-label.component-CjNZYk5b.js → step-label.component-olqRA-s7.js} +0 -0
- /package/{step.component-BCkwsZdk.js → step.component-CcjV_283.js} +0 -0
- /package/{stepper.component-mq66fR06.js → stepper.component-CqClDxL6.js} +0 -0
- /package/{sticky-bar.component-DtXeRUqi.js → sticky-bar.component-DBSVB1lE.js} +0 -0
- /package/{styles-DV41ClRb.js → styles-Cx8wGnh9.js} +0 -0
- /package/{styles-DWm_OYpV.js → styles-DGAxTLMz.js} +0 -0
- /package/{tab-group.component-MEm2W7QR.js → tab-group.component-Dx0xldWI.js} +0 -0
- /package/{tab-label.component-BqznCfW8.js → tab-label.component-BYssa8XI.js} +0 -0
- /package/{tab-nav-bar.component-CRC6xnaX.js → tab-nav-bar.component-7j-RCq7p.js} +0 -0
- /package/{tab.component-DPwbvqp4.js → tab.component-C5xxMwwX.js} +0 -0
- /package/{table-wrapper.component-LzYuAVPb.js → table-wrapper.component-BzmzJJim.js} +0 -0
- /package/{tag-group.component-wnzXwLPf.js → tag-group.component-ByRxy8UG.js} +0 -0
- /package/{tag.component-zGPaopTo.js → tag.component-BrKoQeIW.js} +0 -0
- /package/{teaser-hero.component-BlhffYux.js → teaser-hero.component-BNV8sgb6.js} +0 -0
- /package/{teaser-panel.component-BCbKgXVt.js → teaser-panel.component-Bfhra0zG.js} +0 -0
- /package/{teaser-product-common-C_lgMbyC.js → teaser-product-common-D7kWWxU-.js} +0 -0
- /package/{teaser-product.component-CQIXu7sq.js → teaser-product.component-DHu47PGd.js} +0 -0
- /package/{teaser.component-D9z78Eny.js → teaser.component-CkIii0_d.js} +0 -0
- /package/{time-input.component-CLHEoWze.js → time-input.component-DTMCclRN.js} +0 -0
- /package/{timetable-form-details.component-DJ3oPkQP.js → timetable-form-details.component-BTRh4w9g.js} +0 -0
- /package/{timetable-form-field.component-6s8_sz9h.js → timetable-form-field.component-BPKgSLQb.js} +0 -0
- /package/{timetable-form-swap-button.component-BY2m2_k9.js → timetable-form-swap-button.component-DgUiFKbA.js} +0 -0
- /package/{timetable-form.component-Swe8BX7g.js → timetable-form.component-Crq-rb5Z.js} +0 -0
- /package/{timetable-occupancy-icon.component-C44eSFOM.js → timetable-occupancy-icon.component-9RhBPwBN.js} +0 -0
- /package/{timetable-occupancy.component-CIkq1cT7.js → timetable-occupancy.component-B040dznI.js} +0 -0
- /package/{title-base-B1xzk7Zb.js → title-base-DWrwrsx4.js} +0 -0
- /package/{toast.component-Ew5vuGXf.js → toast.component-Lbh5sa_U.js} +0 -0
- /package/{toggle-check.component-Ce-klZJB.js → toggle-check.component-BNGDAvXJ.js} +0 -0
- /package/{toggle-option.component-BdMfGuA-.js → toggle-option.component-UXno4hFd.js} +0 -0
- /package/{toggle.component-ySmrXvjA.js → toggle.component-Cz3OnOMI.js} +0 -0
- /package/{tooltip.component-ihyNBI7f.js → tooltip.component-BLzyft0C.js} +0 -0
- /package/{train-blocked-passage.component-UnNCmspZ.js → train-blocked-passage.component-Bk_YvTRh.js} +0 -0
- /package/{train-formation.component-CYqdWnkL.js → train-formation.component-Di5d_G5x.js} +0 -0
- /package/{train-wagon-common-C1Py1D01.js → train-wagon-common-HuRuHdNZ.js} +0 -0
- /package/{train.component-DRLUjuXY.js → train.component-Dwp6ltDo.js} +0 -0
- /package/{visual-checkbox.component-JmGORoDU.js → visual-checkbox.component-CPIhZcmN.js} +0 -0
|
@@ -667,4 +667,4 @@ var SbbFormFieldElement = (() => {
|
|
|
667
667
|
//#endregion
|
|
668
668
|
export { SbbFormFieldElement as n, SbbFormFieldControlEvent as t };
|
|
669
669
|
|
|
670
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQtQnpqYkl3bnouanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLWZvcm0tZmllbGQtaGludC1kaXZpZGVyLXdpZHRoOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xeCk7XG4gIC0tc2JiLWZvcm0tZmllbGQtaGludC1wYWRkaW5nLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItZm9ybS1maWVsZC1oaW50LWRpdmlkZXItd2lkdGgpO1xuICAtLXNiYi1mb3JtLWZpZWxkLXNlbGVjdC1pbmxpbmUtcGFkZGluZy1lbmQ6IGNhbGMoXG4gICAgdmFyKC0tc2JiLWljb24tc3ZnLXdpZHRoKSArIHZhcigtLXNiYi1mb3JtLWZpZWxkLWdhcClcbiAgKTtcbiAgLS1zYmItZm9ybS1maWVsZC1sYWJlbC1zaXplOiBjYWxjKFxuICAgIHZhcigtLXNiYi1mb3JtLWZpZWxkLWxhYmVsLXRleHQtc2l6ZSkgKiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KVxuICApO1xuICAtLXNiYi1mb3JtLWZpZWxkLXRleHQtbGluZS1oZWlnaHQ6IGNhbGMoXG4gICAgdmFyKC0tc2JiLWZvcm0tZmllbGQtaW5wdXQtdGV4dC1zaXplKSAqIHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpXG4gICk7XG4gIC0tc2JiLWZvcm0tZmllbGQtbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKFxuICAgIChcbiAgICAgICAgdmFyKC0tc2JiLWZvcm0tZmllbGQtbWluLWhlaWdodCkgLSB2YXIoLS1zYmItZm9ybS1maWVsZC1sYWJlbC1zaXplKSAtIHZhcihcbiAgICAgICAgICAgIC0tc2JiLWZvcm0tZmllbGQtdGV4dC1saW5lLWhlaWdodFxuICAgICAgICAgICkgK1xuICAgICAgICAgIHZhcigtLV9zYmItZm9ybS1maWVsZC1sYWJlbC10by1pbnB1dC1vdmVybGFwcGluZylcbiAgICAgICkgL1xuICAgICAgMlxuICApO1xuXG4gIC8vIExvY2sgc2JiLWljb24gc2l6ZVxuICAtLXNiYi1pY29uLXN2Zy13aWR0aDogdmFyKC0tc2JiLWZvcm0tZmllbGQtaWNvbi1zaXplKTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiB2YXIoLS1zYmItZm9ybS1maWVsZC1pY29uLXNpemUpO1xuXG4gIC8vIEFzIHRoZSBmb3JtIGZpZWxkIGhhcyBhbHdheXMgYSB3aGl0ZSBiYWNrZ3JvdW5kLCB3ZSBoYXZlIHRvIGZpeCB0aGUgZm9jdXMgb3V0bGluZSBjb2xvclxuICAvLyB0byBkZWZhdWx0IGNvbG9yIGZvciBjYXNlcyB3aGVyZSB0aGUgZm9ybSBmaWVsZCBpcyB1c2VkIGluIGEgbmVnYXRpdmUgY29udGV4dC5cbiAgLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvcjogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kZWZhdWx0KSxcbiAgICB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKVxuICApO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IHZhcigtLXNiYi1mb3JtLWZpZWxkLWNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAvLyBTZXQgdGhlIGxpbmUtaGVpZ2h0IGZvciBhZGphY2VudCBlbGVtZW50cyBpbiBvcmRlciB0byBwcmV2ZW50IGZyb20gaW5mbHVlbmNlIG9mIGEgY29uc3VtZXItc2V0IGxpbmUtaGVpZ2h0LlxuICBsaW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCk7XG59XG5cbjpob3N0KDp3aGVyZSg6bm90KFt3aWR0aD0nY29sbGFwc2UnXSkpKSB7XG4gIG1pbi13aWR0aDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDE1MCl9O1xuICB3aWR0aDogbWluKCN7c2JiLnB4LXRvLXJlbS1idWlsZCgzMDApfSwgMTAwJSk7XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgY29sb3I6IHZhcigtLXNiYi1jb2xvci0zLW5lZ2F0aXZlKTtcblxuICAtLXNiYi1mb3JtLWZpZWxkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEtbmVnYXRpdmUpO1xuICAtLXNiYi1mb3JtLWZpZWxkLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJvcmRlci1jb2xvci01KTtcbiAgLS1zYmItZm9ybS1maWVsZC1sYWJlbC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xuICAtLXNiYi1mb3JtLWZpZWxkLXByZWZpeC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xuICAtLXNiYi1mb3JtLWZpZWxkLXRleHQtY29sb3I6IHZhcigtLXNiYi1jb2xvci0zLW5lZ2F0aXZlKTtcbiAgLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvcjogdmFyKC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3ItZGFyayk7XG4gIC0tc2JiLWZvcm0tZmllbGQtYXJyb3ctY29sb3I6IHZhcigtLXNiYi1jb2xvci0zLW5lZ2F0aXZlKTtcblxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIC0tc2JiLWZvcm0tZmllbGQtYm9yZGVyLWNvbG9yOiBCdXR0b25Cb3JkZXI7XG4gIH1cbn1cblxuOmhvc3QoW3NpemU9J3MnXSkge1xuICAtLXNiYi1mb3JtLWZpZWxkLW1pbi1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQteHMpO1xuICAtLXNiYi1mb3JtLWZpZWxkLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCk7XG4gIC0tc2JiLWZvcm0tZmllbGQtaW5wdXQtdGV4dC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtcyk7XG4gIC0tc2JiLWZvcm0tZmllbGQtbGFiZWwtdGV4dC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUteHhzKTtcbiAgLS1fc2JiLWZvcm0tZmllbGQtaW5wdXQtbWFyZ2luLWJsb2NrLWVuZDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKC0yKX07XG5cbiAgLy8gVmFsdWVzIGZvdW5kIGJ5IHRyeSBhbmQgZXJyb3JcbiAgLS1fc2JiLWZvcm0tZmllbGQtbGFiZWwtdG8taW5wdXQtb3ZlcmxhcHBpbmc6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxMCl9O1xuICAtLV9zYmItZm9ybS1maWVsZC1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm06ICN7c2JiLnB4LXRvLXJlbS1idWlsZCg1LjUpfTtcbiAgLS1fc2JiLWZvcm0tZmllbGQtc3BhY2VyLW1hcmdpbi1ibG9jay1lbmQ6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgtOC41KX07XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC8vIFZhbHVlcyBmb3VuZCBieSB0cnkgYW5kIGVycm9yXG4gICAgLS1fc2JiLWZvcm0tZmllbGQtbGFiZWwtdG8taW5wdXQtb3ZlcmxhcHBpbmc6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxMSl9O1xuICAgIC0tX3NiYi1mb3JtLWZpZWxkLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDUpfTtcbiAgICAtLV9zYmItZm9ybS1maWVsZC1zcGFjZXItbWFyZ2luLWJsb2NrLWVuZDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKC04KX07XG4gIH1cbn1cblxuOmhvc3QoW3NpemU9J20nXSkge1xuICAtLXNiYi1mb3JtLWZpZWxkLW1pbi1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQtbSk7XG4gIC0tc2JiLWZvcm0tZmllbGQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KTtcbn1cblxuOmhvc3QoW3NpemU9J2wnXSkge1xuICAtLXNiYi1mb3JtLWZpZWxkLW1pbi1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQtbCk7XG4gIC0tc2JiLWZvcm0tZmllbGQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cyk7XG59XG5cbjpob3N0KDppcyhbc2l6ZT0nbSddLCBbc2l6ZT0nbCddKSkge1xuICAtLXNiYi1mb3JtLWZpZWxkLWlucHV0LXRleHQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLW0pO1xuICAtLXNiYi1mb3JtLWZpZWxkLWxhYmVsLXRleHQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXhzKTtcbiAgLS1fc2JiLWZvcm0tZmllbGQtaW5wdXQtbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgLS1fc2JiLWZvcm0tZmllbGQtbGFiZWwtdG8taW5wdXQtb3ZlcmxhcHBpbmc6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbiAgLS1fc2JiLWZvcm0tZmllbGQtZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtOiAje3NiYi5weC10by1yZW0tYnVpbGQoOC41KX07XG4gIC0tX3NiYi1mb3JtLWZpZWxkLXNwYWNlci1tYXJnaW4tYmxvY2stZW5kOiBjYWxjKFxuICAgIC0xICogdmFyKC0tX3NiYi1mb3JtLWZpZWxkLWxhYmVsLXRvLWlucHV0LW92ZXJsYXBwaW5nKVxuICApO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAtLV9zYmItZm9ybS1maWVsZC1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm06ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxMC41KX07XG4gIH1cbn1cblxuOmhvc3QoW2Vycm9yLXNwYWNlPSdyZXNlcnZlJ10pIHtcbiAgLS1zYmItZm9ybS1maWVsZC1oaW50LW1pbi1oZWlnaHQ6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCkgKiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUteHMpXG4gICk7XG4gIC0tc2JiLWZvcm0tZmllbGQtaGludC1wYWRkaW5nLWJsb2NrLXN0YXJ0LW92ZXJyaWRlOiB2YXIoLS1zYmItZm9ybS1maWVsZC1oaW50LWRpdmlkZXItd2lkdGgpO1xufVxuXG46aG9zdCg6d2hlcmUoOnN0YXRlKHJlYWRvbmx5KSwgOnN0YXRlKGRpc2FibGVkKSkpIHtcbiAgLS1zYmItZm9ybS1maWVsZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgLS1zYmItZm9ybS1maWVsZC1ib3JkZXItY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYXBoaXRlKSwgdmFyKC0tc2JiLWNvbG9yLXNtb2tlKSk7XG4gIC0tc2JiLWZvcm0tZmllbGQtYXJyb3ctY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3Itc3Rvcm0pKTtcblxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIC0tc2JiLWZvcm0tZmllbGQtYm9yZGVyLWNvbG9yOiBCdXR0b25Cb3JkZXI7XG4gIH1cbn1cblxuOmhvc3QoOndoZXJlKDpzdGF0ZShyZWFkb25seSksIDpzdGF0ZShkaXNhYmxlZCkpW25lZ2F0aXZlXSkge1xuICAtLXNiYi1mb3JtLWZpZWxkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAtLXNiYi1mb3JtLWZpZWxkLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJvcmRlci1jb2xvci01KTtcbiAgLS1zYmItZm9ybS1maWVsZC1hcnJvdy1jb2xvcjogdmFyKC0tc2JiLWJvcmRlci1jb2xvci01KTtcbn1cblxuOmhvc3QoOndoZXJlKDpzdGF0ZShkaXNhYmxlZCkpKSB7XG4gIC0tc2JiLWZvcm0tZmllbGQtbGFiZWwtY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3Itc21va2UpKTtcbiAgLS1zYmItZm9ybS1maWVsZC1wcmVmaXgtY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3Itc3Rvcm0pKTtcbiAgLS1zYmItZm9ybS1maWVsZC1ib3JkZXItc3R5bGU6IGRhc2hlZDtcblxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIC0tc2JiLWZvcm0tZmllbGQtbGFiZWwtY29sb3I6IEdyYXlUZXh0ICFpbXBvcnRhbnQ7XG4gICAgLS1zYmItZm9ybS1maWVsZC1wcmVmaXgtY29sb3I6IEdyYXlUZXh0ICFpbXBvcnRhbnQ7XG4gICAgLS1zYmItZm9ybS1maWVsZC10ZXh0LWNvbG9yOiBHcmF5VGV4dCAhaW1wb3J0YW50O1xuICAgIC0tc2JiLWZvcm0tZmllbGQtYm9yZGVyLWNvbG9yOiBHcmF5VGV4dCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIDp3aGVyZSBpcyB0byBhbGlnbiBzcGVjaWZpY2l0eVxuOmhvc3QoOndoZXJlKDpzdGF0ZShkaXNhYmxlZCkpW25lZ2F0aXZlXSkge1xuICAtLXNiYi1mb3JtLWZpZWxkLXRleHQtY29sb3I6IHZhcigtLXNiYi1jb2xvci01KTtcbiAgLS1zYmItZm9ybS1maWVsZC1sYWJlbC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xuICAtLXNiYi1mb3JtLWZpZWxkLXByZWZpeC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xufVxuXG4vLyA6d2hlcmUgaXMgdG8gYWxpZ24gc3BlY2lmaWNpdHlcbjpob3N0KDp3aGVyZSg6c3RhdGUocmVhZG9ubHkpKTpub3QoW25lZ2F0aXZlXSkpIHtcbiAgLS1zYmItZm9ybS1maWVsZC1sYWJlbC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksIHZhcigtLXNiYi1jb2xvci1zbW9rZSkpO1xuICAtLXNiYi1mb3JtLWZpZWxkLXByZWZpeC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksIHZhcigtLXNiYi1jb2xvci1zdG9ybSkpO1xufVxuXG4vLyA6d2hlcmUgaXMgdG8gYWxpZ24gc3BlY2lmaWNpdHlcbjpob3N0KDp3aGVyZSg6c3RhdGUoZm9jdXMpKSkge1xuICAtLXNiYi1mb3JtLWZpZWxkLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJvcmRlci1jb2xvci0zKTtcbiAgLS1zYmItZm9ybS1maWVsZC1wcmVmaXgtY29sb3I6IHZhcigtLXNiYi1jb2xvci0zKTtcbiAgLS1zYmItZm9ybS1maWVsZC1ib3JkZXItd2lkdGg6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMngpO1xufVxuXG4vLyA6d2hlcmUgaXMgdG8gYWxpZ24gc3BlY2lmaWNpdHlcbjpob3N0KDp3aGVyZSg6c3RhdGUoZm9jdXMpKVtuZWdhdGl2ZV0pIHtcbiAgLS1zYmItZm9ybS1maWVsZC1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1ib3JkZXItY29sb3ItMy1uZWdhdGl2ZSk7XG4gIC0tc2JiLWZvcm0tZmllbGQtcHJlZml4LWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMy1uZWdhdGl2ZSk7XG59XG5cbi8vIFdlIG11c3Qgbm90IHVzZSA6d2hlcmUgaGVyZSwgYXMgaXQgbmVlZHMgdGhlIGFkZGVkIHNwZWNpZmljaXR5IHRvIHByb3Blcmx5IHdvcmtcbjpob3N0KDpzdGF0ZShmb2N1cykpIHtcbiAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAtLXNiYi1mb3JtLWZpZWxkLWJvcmRlci1jb2xvcjogSGlnaGxpZ2h0O1xuICAgIC0tc2JiLWZvcm0tZmllbGQtcHJlZml4LWNvbG9yOiBIaWdobGlnaHQ7XG4gIH1cbn1cblxuLy8gOndoZXJlIGlzIHRvIGFsaWduIHNwZWNpZmljaXR5XG46aG9zdCg6bm90KDp3aGVyZSg6c3RhdGUoaGFzLWVycm9yKSwgOnN0YXRlKGhhcy1oaW50KSkpKSB7XG4gIC0tc2JiLWZvcm0tZmllbGQtaGludC1wYWRkaW5nLWJsb2NrLXN0YXJ0OiAwO1xufVxuXG46aG9zdChbZmxvYXRpbmctbGFiZWxdKSB7XG4gIC0tc2JiLXNlbGVjdC1wbGFjZWhvbGRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAtLXNiYi1zZWxlY3QtcGxhY2Vob2xkZXItY29sb3I6IENhbnZhcztcbiAgfVxufVxuXG46aG9zdCg6aXMoOm5vdCg6c3RhdGUoc2xvdHRlZC1sYWJlbCkpLCBbaGlkZGVuLWxhYmVsXSkpIHtcbiAgLS1zYmItZm9ybS1maWVsZC1sYWJlbC1zaXplOiAwcmVtO1xuICAtLV9zYmItZm9ybS1maWVsZC1sYWJlbC10by1pbnB1dC1vdmVybGFwcGluZzogMHJlbTtcbn1cblxuLy8gU2hvdWxkIGJlIGFmdGVyIG90aGVyIGRlZmluaXRpb25zIHRvIG92ZXJyaWRlIG92ZXJmbG93XG4vLyA6d2hlcmUgaXMgdG8gYWxpZ24gc3BlY2lmaWNpdHlcbjpob3N0KDp3aGVyZSg6c3RhdGUoaW5wdXQtZWxlbWVudC1zYmItc2xpZGVyKSkpIHtcbiAgLS1zYmItZm9ybS1maWVsZC1vdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnNiYi1mb3JtLWZpZWxkX19zcGFjZS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIEBpbmNsdWRlIHNiYi56ZXJvLXdpZHRoLXNwYWNlO1xufVxuXG4uc2JiLWZvcm0tZmllbGRfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBnYXA6IHZhcigtLXNiYi1mb3JtLWZpZWxkLWdhcCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItZm9ybS1maWVsZC1wYWRkaW5nLWlubGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1mb3JtLWZpZWxkLWJvcmRlci1yYWRpdXMpO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItZm9ybS1maWVsZC1taW4taGVpZ2h0KTtcbiAgbWF4LWhlaWdodDogdmFyKC0tc2JiLWZvcm0tZmllbGQtbWF4LWhlaWdodCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1mb3JtLWZpZWxkLWJhY2tncm91bmQtY29sb3IpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gVXNlIDo6YmVmb3JlIHRvIGF2b2lkIGNvbnRlbnQgc2hpZnRpbmcgd2hlbiBib3JkZXIgd2lkdGggY2hhbmdlcy5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYm9yZGVyOiB2YXIoLS1zYmItZm9ybS1maWVsZC1ib3JkZXItd2lkdGgpIHZhcigtLXNiYi1mb3JtLWZpZWxkLWJvcmRlci1zdHlsZSlcbiAgICAgIHZhcigtLXNiYi1mb3JtLWZpZWxkLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWZvcm0tZmllbGQtYm9yZGVyLXJhZGl1cyk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyA6d2hlcmUgaXMgdG8gYWxpZ24gc3BlY2lmaWNpdHlcbiAgOmhvc3QoOndoZXJlKDpzdGF0ZShmb2N1cyk6c3RhdGUoZm9jdXMtb3JpZ2luLWtleWJvYXJkKSkpICYge1xuICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gICAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLXNiYi1mb3JtLWZpZWxkLW91dGxpbmUtb2Zmc2V0LCB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1vZmZzZXQpKTtcbiAgfVxuXG4gIC8vIEluIGhpZ2ggY29udHJhc3QsIHRoZXJlIGlzIG5vIGJvcmRlcmxlc3MgdmFyaWFudFxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IG5vbmUpIHtcbiAgICA6aG9zdCg6aXMoW2JvcmRlcmxlc3NdLCA6c3RhdGUoaW5wdXQtZWxlbWVudC1zYmItc2xpZGVyKSkpICYge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA6aG9zdCg6d2hlcmUoOnN0YXRlKGZvY3VzKSwgOnN0YXRlKGRpc2FibGVkKSlbYm9yZGVybGVzc10pICYge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSB2YXIoLS1zYmItZm9ybS1maWVsZC1ib3JkZXItc3R5bGUpXG4gICAgICAgICAgdmFyKC0tc2JiLWZvcm0tZmllbGQtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgaW5zZXQtaW5saW5lOiB2YXIoLS1zYmItZm9ybS1maWVsZC1wYWRkaW5nLWlubGluZSk7XG4gICAgICAgIGluc2V0LWJsb2NrLWVuZDogMDtcbiAgICAgICAgei1pbmRleDogdmFyKC0tc2JiLWZvcm0tZmllbGQtZm9jdXMtdW5kZXJsaW5lLXotaW5kZXgsIGluaXRpYWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46OnNsb3R0ZWQoKltzbG90PSdwcmVmaXgnXSkge1xuICBjb2xvcjogdmFyKC0tc2JiLWZvcm0tZmllbGQtcHJlZml4LWNvbG9yKTtcbn1cblxuLy8gRW5zdXJlIHNsb3R0ZWQgaW5saW5lIGVsZW1lbnRzIGFyZSB2ZXJ0aWNhbGx5IGNlbnRlcmVkXG46OnNsb3R0ZWQoKltzbG90PSdwcmVmaXgnXSksXG46OnNsb3R0ZWQoKltzbG90PSdzdWZmaXgnXSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4td2lkdGg6IHZhcigtLXNiYi1pY29uLXN2Zy13aWR0aCk7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYygodmFyKC0tc2JiLWZvcm0tZmllbGQtbWluLWhlaWdodCkgLSB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKSkgLyAyKTtcbn1cblxuOjpzbG90dGVkKHNiYi1mb3JtLWZpZWxkLWNsZWFyKSB7XG4gIDpob3N0KDp3aGVyZSg6c3RhdGUoZW1wdHkpLCA6c3RhdGUoZGlzYWJsZWQpLCA6c3RhdGUocmVhZG9ubHkpKSkgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5zbG90W25hbWU9J2hpbnQnXSB7XG4gIDpob3N0KDpzdGF0ZShoYXMtZXJyb3IpKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbjo6c2xvdHRlZChzYmItZm9ybS1maWVsZC10ZXh0LWNvdW50ZXIpIHtcbiAgOmhvc3QoOndoZXJlKDpzdGF0ZShkaXNhYmxlZCksIDpzdGF0ZShyZWFkb25seSkpKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEFzIHRoZSBjYWxlbmRhciBzaG91bGQgYmUgc2hvd24gYmVsb3cgdGhlIGZvcm0gZmllbGQgYm9yZGVyLCB3ZSBoYXZlIHRvIHN0cmV0Y2ggdGhlIHRvZ2dsZSdzIGhlaWdodC5cbjo6c2xvdHRlZChzYmItZGF0ZXBpY2tlci10b2dnbGUpIHtcbiAgcGFkZGluZy1ibG9jay1lbmQ6IGNhbGMoKHZhcigtLXNiYi1mb3JtLWZpZWxkLW1pbi1oZWlnaHQpIC0gdmFyKC0tc2JiLXNpemUtaWNvbi11aS1zbWFsbCkpIC8gMik7XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC8vIEFsaWduIHdpdGggcHJlZml4IGNvbG9yXG4gIDo6c2xvdHRlZCgqW3Nsb3Q9J3N1ZmZpeCddKSB7XG4gICAgY29sb3I6IHZhcigtLXNiYi1mb3JtLWZpZWxkLXByZWZpeC1jb2xvcik7XG4gIH1cbn1cblxuLnNiYi1mb3JtLWZpZWxkX19zZWxlY3QtaW5wdXQtaWNvbiB7XG4gIEBpbmNsdWRlIHNiYi5hYnNvbHV0ZS1jZW50ZXIteTtcblxuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYygtMSAqIHZhcigtLXNiYi1mb3JtLWZpZWxkLW1hcmdpbi1ibG9jay1zdGFydCkgLyAyKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1zYmItZm9ybS1maWVsZC1hcnJvdy1jb2xvcik7XG5cbiAgOmhvc3QoXG4gICAgICA6aXMoXG4gICAgICAgIDpzdGF0ZShpbnB1dC1lbGVtZW50LXNlbGVjdCksXG4gICAgICAgIDpzdGF0ZShpbnB1dC1lbGVtZW50LXNiYi1zZWxlY3QpLFxuICAgICAgICA6c3RhdGUoZXhwbGljaXQtaW5wdXQtZWxlbWVudC1zZWxlY3QpXG4gICAgICApXG4gICAgKVxuICAgICYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4uc2JiLWZvcm0tZmllbGRfX2lucHV0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLWZvcm0tZmllbGQtbWFyZ2luLWJsb2NrLXN0YXJ0KTtcblxuICAvLyBQcmV2ZW50cyBvdmVyZmxvd2luZyBwYXJlbnRcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4uc2JiLWZvcm0tZmllbGRfX2xhYmVsLXNwYWNlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1zYmItZm9ybS1maWVsZC1sYWJlbC10ZXh0LXNpemUpICogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCkpO1xuXG4gIC8vIE1vdmVzIGxhYmVsIGRvd24gYW5kIGlucHV0IHVwIHRvIG1lZXQgcG9zaXRpb25pbmcgcmVxdWlyZW1lbnRzXG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLV9zYmItZm9ybS1maWVsZC1zcGFjZXItbWFyZ2luLWJsb2NrLWVuZCk7XG59XG5cbi8vIFRvIGF2b2lkIGRvdWJsZWQgcGF5bG9hZCwgd2UgZ3JvdXAgdGhlIHJ1bGVzLlxuOmlzKC5zYmItZm9ybS1maWVsZF9fbGFiZWwsIC5zYmItZm9ybS1maWVsZF9fbGFiZWwtc3BhY2VyKSB7XG4gIDpob3N0KDpub3QoOnN0YXRlKHNsb3R0ZWQtbGFiZWwpKSkgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIDpob3N0KFtoaWRkZW4tbGFiZWxdKSAmIHtcbiAgICBAaW5jbHVkZSBzYmIuc2NyZWVuLXJlYWRlci1vbmx5O1xuICB9XG59XG5cbi5zYmItZm9ybS1maWVsZF9fbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogdmFyKC0tc2JiLWN1cnNvci1kZWZhdWx0KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgY29sb3I6IHZhcigtLXNiYi1mb3JtLWZpZWxkLWxhYmVsLWNvbG9yKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItZm9ybS1maWVsZC1sYWJlbC10ZXh0LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG5cbiAgOmhvc3QoOndoZXJlKDpzdGF0ZShpbnB1dC1lbGVtZW50LXNlbGVjdCksIDpzdGF0ZShpbnB1dC1lbGVtZW50LXNiYi1zZWxlY3QpKSkgJiB7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1zYmItZm9ybS1maWVsZC1zZWxlY3QtaW5saW5lLXBhZGRpbmctZW5kKTtcbiAgfVxuXG4gIDpob3N0KFtmbG9hdGluZy1sYWJlbF0pICYge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gV2Ugc2hvdWxkbid0IGNhdGNoIG1vdXNlIGV2ZW50cyAobGV0IHRoZW0gdGhyb3VnaCkuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGZvbnQtc2l6ZTtcblxuICAgIHRyYW5zaXRpb246IHtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tMngpKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgICAgcHJvcGVydHk6IHRyYW5zZm9ybSwgZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIGZsb2F0aW5nLWxhYmVsIGlzIGFjdGl2YXRlZCBhbmQgdGhlcmUgaXMgbm8gZm9jdXMgaW4gaXQgKGV4Y2VwdCBmb3Igc2VsZWN0KSBhbmQgbm8gcG9wdXAgaXMgb3BlblxuICAvLyBhbmQgaW5wdXQgaXMgZW1wdHkgdGhlbiBhcHBseSB0aGUgbGFiZWwgdHJhbnNpdGlvbi5cbiAgLy8gSWYgaXQgaXMgZW1wdHkgYW5kIHJlYWRvbmx5LCBhbHdheXMgYXBwbHkgdHJhbnNpdGlvblxuICAvLyA6d2hlcmUgaXMgdG8gYWxpZ24gc3BlY2lmaWNpdHlcbiAgOmhvc3QoXG4gICAgICBbZmxvYXRpbmctbGFiZWxdOmlzKFxuICAgICAgICAgIDpub3QoXG4gICAgICAgICAgICA6d2hlcmUoOnN0YXRlKGZvY3VzKSk6bm90KDp3aGVyZSg6c3RhdGUoaW5wdXQtZWxlbWVudC1zYmItc2VsZWN0KSkpLFxuICAgICAgICAgICAgOndoZXJlKDpzdGF0ZShoYXMtcG9wdXAtb3BlbikpXG4gICAgICAgICAgKSxcbiAgICAgICAgICA6d2hlcmUoOnN0YXRlKHJlYWRvbmx5KSlcbiAgICAgICAgKTp3aGVyZSg6c3RhdGUoZW1wdHkpKVxuICAgIClcbiAgICAmIHtcbiAgICBmb250LXNpemU6IHZhcigtLXNiYi1mb3JtLWZpZWxkLWlucHV0LXRleHQtc2l6ZSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLV9zYmItZm9ybS1maWVsZC1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm0pKTtcbiAgfVxuXG4gIC8vIDp3aGVyZSBpcyB0byBhbGlnbiBzcGVjaWZpY2l0eVxuICA6aG9zdCg6d2hlcmUoOnN0YXRlKGlucHV0LWVsZW1lbnQtdGV4dGFyZWEpKSkgJiB7XG4gICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgIC8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0ZXh0YXJlYSBpcyBzZXQgdG8gQ2FudmFzIGFuZCB0aGVyZWZvcmUgaGlkZXMgdGhlIGxhYmVsIGJlaGluZC5cbiAgICAgIC8vIEJ5IHNldHRpbmcgdGhlIHotaW5kZXggdG8gMSwgd2UgbW92ZSB0aGUgbGFiZWwgaW4gZnJvbnQgb2YgdGhlIHRleHRhcmVhLlxuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi1mb3JtLWZpZWxkX19sYWJlbC1lbGxpcHNpcyB7XG4gIEBpbmNsdWRlIHNiYi5lbGxpcHNpcztcbn1cblxuLnNiYi1mb3JtLWZpZWxkX19pbnB1dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcblxuICA6aG9zdChcbiAgICAgIDppcyhcbiAgICAgICAgOnN0YXRlKGlucHV0LWVsZW1lbnQtaW5wdXQpLFxuICAgICAgICA6c3RhdGUoaW5wdXQtZWxlbWVudC1zZWxlY3QpLFxuICAgICAgICA6c3RhdGUoaW5wdXQtZWxlbWVudC1zYmItc2VsZWN0KSxcbiAgICAgICAgOnN0YXRlKGlucHV0LWVsZW1lbnQtc2JiLWRhdGUtaW5wdXQpLFxuICAgICAgICA6c3RhdGUoaW5wdXQtZWxlbWVudC1zYmItdGltZS1pbnB1dClcbiAgICAgIClcbiAgICApXG4gICAgJiB7XG4gICAgLy8gSW4gc2l6ZSBzLCB0aGUgbmF0dXJhbCBoZWlnaHQgb2YgdGhlIHRleHQgaW5wdXQgaXMgdG9vIHNtYWxsLlxuICAgIC8vIFRvIG5vdCByZXNlcnZlIHRvbyBtdWNoIHNwYWNlLCB3ZSBkZWNyZWFzZSB0aGUgaGVpZ2h0LlxuICAgIC8vIFRoZSB2YXJpYWJsZSBpcyBzZXQgdG8gLTJweCBmb3Igc2l6ZSBzIChleHBsaWNpdCBvciBsZWFuLXRoZW1lIGRlZmF1bHQpIGFuZCAwIG90aGVyd2lzZS5cbiAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1fc2JiLWZvcm0tZmllbGQtaW5wdXQtbWFyZ2luLWJsb2NrLWVuZCk7XG4gIH1cbn1cblxuLnNiYi1mb3JtLWZpZWxkX19oaW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogdmFyKC0tc2JiLWZvcm0tZmllbGQtaGludC1taW4taGVpZ2h0KTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tc2JiLWZvcm0tZmllbGQtcGFkZGluZy1pbmxpbmUpO1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcihcbiAgICAtLXNiYi1mb3JtLWZpZWxkLWhpbnQtcGFkZGluZy1ibG9jay1zdGFydC1vdmVycmlkZSxcbiAgICB2YXIoLS1zYmItZm9ybS1maWVsZC1oaW50LXBhZGRpbmctYmxvY2stc3RhcnQpXG4gICk7XG59XG4iLCJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBpc1NlcnZlcixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vYXV0b2NvbXBsZXRlLnB1cmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJDaGlwR3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vLi4vY2hpcC5wdXJlLnRzJztcbmltcG9ydCB7XG4gIGFwcGVuZEFyaWFFbGVtZW50cyxcbiAgZm9yY2VUeXBlLFxuICByZW1vdmVBcmlhRWxlbWVudHMsXG4gIFNiYkVsZW1lbnQsXG4gIHR5cGUgU2JiRWxlbWVudFR5cGUsXG4gIHR5cGUgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZSxcbiAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLFxuICBTYmJOZWdhdGl2ZU1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYkljb25FbGVtZW50IH0gZnJvbSAnLi4vLi4vaWNvbi5wdXJlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU2VsZWN0RWxlbWVudCB9IGZyb20gJy4uLy4uL3NlbGVjdC5wdXJlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZm9ybS1maWVsZC5zY3NzP2lubGluZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5jb25zdCBwYXRjaGVkSW5wdXRzID0gbmV3IFdlYWtNYXA8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQsIFByb3BlcnR5RGVzY3JpcHRvcj4oKTtcbmNvbnN0IG5hdGl2ZUlucHV0RWxlbWVudHMgPSBbJ2lucHV0JywgJ3RleHRhcmVhJywgJ3NlbGVjdCddO1xuXG4vKiogQW4gaW50ZXJmYWNlIHdoaWNoIGFsbG93cyBhIGNvbnRyb2wgdG8gd29yayBpbnNpZGUgYSBgU2JiRm9ybUZpZWxkYC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2JiRm9ybUZpZWxkRWxlbWVudENvbnRyb2wge1xuICAvKiogVGhlIGlkIG9mIHRoZSBmb3JtIGZpZWxkIGNvbnRyb2wuICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRoZSBjb250cm9sIGlzIGVtcHR5LiAqL1xuICByZWFkb25seSBlbXB0eTogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIGNvbnRyb2wgaXMgcmVhZG9ubHkuICovXG4gIHJlYWRvbmx5IHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIGNvbnRyb2wgaXMgZGlzYWJsZWQuICovXG4gIHJlYWRvbmx5IGRpc2FibGVkOiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIGNvbnRyb2wuIFRoaXMgaXMgdXNlZCBhcyBhIHN0YXRlIHJlcHJlc2VudGF0aW9uLlxuICAgKiBXaGVuIHVzaW5nICdzZWxlY3QnLCB0aGUgZm9ybSBmaWVsZCB3aWxsIGRpc3BsYXkgdGhlIGRyb3Bkb3duIGljb24uXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogJ3NlbGVjdCcgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgYSBjbGljayBvbiB0aGUgY29udHJvbCdzIGNvbnRhaW5lci5cbiAgICogSWYgbm90IGltcGxlbWVudGVkLCBmb2N1cygpIG9mIHRoZSBlbGVtZW50IGlzIGNhbGxlZC5cbiAgICovXG4gIG9uQ29udGFpbmVyQ2xpY2s/KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZDtcbn1cblxuZXhwb3J0IGNsYXNzIFNiYkZvcm1GaWVsZENvbnRyb2xFdmVudCBleHRlbmRzIEV2ZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29udHJvbDogU2JiRm9ybUZpZWxkRWxlbWVudENvbnRyb2wgfCBudWxsO1xuXG4gIHB1YmxpYyBnZXQgY29udHJvbCgpOiBTYmJGb3JtRmllbGRFbGVtZW50Q29udHJvbCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9jb250cm9sO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRyb2w6IFNiYkZvcm1GaWVsZEVsZW1lbnRDb250cm9sIHwgbnVsbCkge1xuICAgIHN1cGVyKCdmb3JtZmllbGRjb250cm9sJyk7XG4gICAgdGhpcy5fY29udHJvbCA9IGNvbnRyb2w7XG4gIH1cbn1cblxuLyoqXG4gKiBJdCB3cmFwcyBhbiBpbnB1dCBlbGVtZW50IGFkZGluZyBsYWJlbCwgZXJyb3JzLCBpY29uLCBldGMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBpbnB1dC9zZWxlY3Qgb3IgYSBzdXBwb3J0ZWQgbm9uLW5hdGl2ZSBlbGVtZW50LlxuICogQHNsb3QgbGFiZWwgLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhIGxhYmVsLlxuICogQHNsb3QgcHJlZml4IC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYW4gaWNvbiBvbiB0aGUgbGVmdCBzaWRlIG9mIHRoZSBpbnB1dC5cbiAqIEBzbG90IHN1ZmZpeCAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGFuIGljb24gb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGlucHV0LlxuICogQHNsb3QgZXJyb3IgLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBlcnJvci5cbiAqIEBzbG90IGhpbnQgLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBgPHNiYi1oaW50PmAgb3IgYW4gYDxzYmItZm9ybS1maWVsZC10ZXh0LWNvdW50ZXI+YCBlbGVtZW50LlxuICpcbiAqIEBjc3Nwcm9wIFstLXNiYi1mb3JtLWZpZWxkLW91dGxpbmUtb2Zmc2V0XSAtIFRvIG92ZXJyaWRlIHRoZSBmb2N1cyBvdXRsaW5lIG9mZnNldCxcbiAqIEBjc3Nwcm9wIFstLXNiYi1mb3JtLWZpZWxkLWZvY3VzLXVuZGVybGluZS16LWluZGV4XSAtIFRvIG92ZXJyaWRlIHRoZSB6LWluZGV4IG9mIHRoZSBmb2N1cyB1bmRlcmxpbmUgZWZmZWN0LFxuICovXG5leHBvcnQgY2xhc3MgU2JiRm9ybUZpZWxkRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWZvcm0tZmllbGQnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbU2JiSWNvbkVsZW1lbnRdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLy8gTGlzdCBvZiBlbGVtZW50cyB0aGF0IHNob3VsZCBub3QgZm9jdXMgaW5wdXQgb24gY2xpY2tcbiAgcHJpdmF0ZSByZWFkb25seSBfZXhjbHVkZWRGb2N1c0VsZW1lbnRzID0gWydidXR0b24nLCAnc2JiLXBvcG92ZXInLCAnc2JiLW9wdGlvbicsICdzYmItY2hpcCddO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dEVsZW1lbnRzID0gW1xuICAgICdpbnB1dCcsXG4gICAgJ3NlbGVjdCcsXG4gICAgJ3RleHRhcmVhJyxcbiAgICAnc2JiLXNlbGVjdCcsXG4gIF07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZmxvYXRpbmdMYWJlbFN1cHBvcnRlZElucHV0VHlwZXMgPSBbXG4gICAgJ2VtYWlsJyxcbiAgICAnbnVtYmVyJyxcbiAgICAncGFzc3dvcmQnLFxuICAgICdzZWFyY2gnLFxuICAgICd0ZWwnLFxuICAgICd0ZXh0JyxcbiAgICAndXJsJyxcbiAgXTtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZXNlcnZlIHNwYWNlIGZvciBhbiBlcnJvciBtZXNzYWdlLCBoaW50IG9yIHRleHQtY291bnRlci5cbiAgICogYG5vbmVgIGRvZXMgbm90IHJlc2VydmUgYW55IHNwYWNlLlxuICAgKiBgcmVzZXJ2ZWAgZG9lcyByZXNlcnZlIG9uZSByb3cgZm9yIGFuIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdlcnJvci1zcGFjZScsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGVycm9yU3BhY2U6ICdub25lJyB8ICdyZXNlcnZlJyA9ICdub25lJztcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcyAobGVhbiB0aGVtZSBkZWZhdWx0KSwgbSAoc3RhbmRhcmQgdGhlbWUgZGVmYXVsdCkgb3IgbC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyB8ICdsJyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGZvcm0gZmllbGQgd2l0aG91dCBhIGJvcmRlci4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGJvcmRlcmxlc3M6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogRGVmaW5lcyB0aGUgd2lkdGggb2YgdGhlIGNvbXBvbmVudDpcbiAgICogLSBgZGVmYXVsdGA6IHRoZSBjb21wb25lbnQgaGFzIGRlZmluZWQgd2lkdGggYW5kIG1pbi13aWR0aDtcbiAgICogLSBgY29sbGFwc2VgOiB0aGUgY29tcG9uZW50IGFkYXB0cyBpdHNlbGYgdG8gaXRzIGlubmVyIGlucHV0IGNvbnRlbnQuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHdpZHRoOiAnZGVmYXVsdCcgfCAnY29sbGFwc2UnID0gJ2RlZmF1bHQnO1xuXG4gIC8qKiBXaGV0aGVyIHRvIHZpc3VhbGx5IGhpZGUgdGhlIGxhYmVsLiBJZiBoaWRkZW4sIHNjcmVlbiByZWFkZXJzIHdpbGwgc3RpbGwgcmVhZCBpdC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hpZGRlbi1sYWJlbCcsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGhpZGRlbkxhYmVsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGxhYmVsIHNob3VsZCBmbG9hdC4gSWYgYWN0aXZhdGVkLCB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGlucHV0IGlzIGhpZGRlbi4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Zsb2F0aW5nLWxhYmVsJywgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZmxvYXRpbmdMYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gZ2V0IHRoZSBgZXJyb3JgIHNsb3QuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2Vycm9yRWxlbWVudHM6IEVsZW1lbnRbXSA9IFtdO1xuXG4gIC8qKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gZ2V0IHRoZSBgaGludGAgc2xvdC4gKi9cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfaGludEVsZW1lbnRzOiBFbGVtZW50W10gPSBbXTtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBzbG90dGVkIGlucHV0IGVsZW1lbnQuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2lucHV0OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MRWxlbWVudCB8IG51bGwgPVxuICAgIG51bGw7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgc2xvdHRlZCBsYWJlbCBlbGVtZW50cy4gKi9cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfbGFiZWwhOiBIVE1MTGFiZWxFbGVtZW50O1xuXG4gIC8qKiBSZXR1cm5zIHRoZSBpbnB1dCBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IGlucHV0RWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dDtcbiAgfVxuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIHNsb3R0ZWQgbGFiZWwuICovXG4gIHB1YmxpYyBnZXQgbGFiZWwoKTogSFRNTExhYmVsRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9sYWJlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW5zIHRvIHRoZSBjaGFuZ2VzIG9uIGByZWFkb25seWAgYW5kIGBkaXNhYmxlZGAgYXR0cmlidXRlcyBvZiBgPGlucHV0PmAuXG4gICAqL1xuICBwcml2YXRlIF9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9uczogTXV0YXRpb25SZWNvcmRbXSkgPT4ge1xuICAgICAgICBpZiAobXV0YXRpb25zLnNvbWUoKG0pID0+IG0udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnKSAmJiB0aGlzLl9pbnB1dCkge1xuICAgICAgICAgIHRoaXMuX3JlYWRJbnB1dFN0YXRlKCk7XG4gICAgICAgICAgdGhpcy5fcmVnaXN0ZXJJbnB1dEZvcm1MaXN0ZW5lcigpO1xuICAgICAgICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuICAgICAgICAgIC8vIFVzZWQgdG8gbm90aWZ5IHRoZSByZW1haW5pbmcgY2hhcnMgY29tcG9uZW50LlxuICAgICAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtWlucHV0YXR0cmlidXRlY2hhbmdlJykpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIDogbnVsbDtcblxuICBwcml2YXRlIF9pbnB1dEZvcm1BYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gIHByaXZhdGUgX2NvbnRyb2w6IFNiYkZvcm1GaWVsZEVsZW1lbnRDb250cm9sIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3ByZXZpb3VzVHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAnZm9jdXNpbicsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50LnRhcmdldCA9PT0gdGhpcy5pbnB1dEVsZW1lbnQgfHxcbiAgICAgICAgICBldmVudC50YXJnZXQgPT09ICh0aGlzLmlucHV0RWxlbWVudCBhcyBTYmJTZWxlY3RFbGVtZW50IHwgdW5kZWZpbmVkKT8uaW5wdXRFbGVtZW50XG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ2ZvY3VzJyk7XG4gICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgZm9jdXMtb3JpZ2luLSR7c2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eX1gKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgcGFzc2l2ZTogdHJ1ZSB9LFxuICAgICk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAnZm9jdXNvdXQnLFxuICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBldmVudC50YXJnZXQgPT09IHRoaXMuaW5wdXRFbGVtZW50IHx8XG4gICAgICAgICAgZXZlbnQudGFyZ2V0ID09PSAodGhpcy5pbnB1dEVsZW1lbnQgYXMgU2JiU2VsZWN0RWxlbWVudCB8IHVuZGVmaW5lZCk/LmlucHV0RWxlbWVudFxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcbiAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdmb2N1cycpO1xuICAgICAgICAgIGZvciAoY29uc3Qgc3RhdGUgb2YgdGhpcy5pbnRlcm5hbHMuc3RhdGVzKSB7XG4gICAgICAgICAgICBpZiAoc3RhdGUuc3RhcnRzV2l0aCgnZm9jdXMtb3JpZ2luLScpKSB7XG4gICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoc3RhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgcGFzc2l2ZTogdHJ1ZSB9LFxuICAgICk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsICgpID0+IHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2Rpc3BsYXl2YWx1ZWNoYW5nZScsICgpID0+IHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpKTtcbiAgICAvLyBXZSB3YW50IHRvIHByZXZlbnQgdGhlIG5hdGl2ZSBicm93c2VyIHZhbGlkYXRpb24gbWVzc2FnZSBwb3BvdmVyXG4gICAgLy8gdG8gYmUgc2hvd24uIFRoaXMgYWxzbyBwcmV2ZW50cyBhIGJ1ZyBpbiBXZWJLaXQsIHdoaWNoIHdvdWxkIG5vdFxuICAgIC8vIGFsbG93IGhvc3QgYXMgdGhlIHZhbGlkaXR5IGFuY2hvcjogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2OTgzMlxuICAgIC8vIFRoaXMgaXMgZHVwbGljYXRlZCBmcm9tIHRoZSBmb3JtIGFzc29jaWF0ZWQgbWl4aW4gZm9yIHRoZSBuYXRpdmVcbiAgICAvLyBpbnB1dCBjb250cm9scyAoZS5nLiA8aW5wdXQ+IG9yIDxzZWxlY3Q+KS5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2ludmFsaWQnLCAoZSkgPT4gZS5wcmV2ZW50RGVmYXVsdCgpLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdmb3JtZmllbGRjb250cm9sJywgKGU6IFNiYkZvcm1GaWVsZENvbnRyb2xFdmVudCkgPT4ge1xuICAgICAgdGhpcy5fY29udHJvbCA9IGUuY29udHJvbDtcbiAgICAgIGlmICh0aGlzLl9jb25uZWN0SW5wdXRFbGVtZW50KCkgPT09ICd1bmNoYW5nZWQnKSB7XG4gICAgICAgIHRoaXMuX2Fzc2lnbkFyaWFEZXNjcmliZWRCeUVsZW1lbnRzKCk7XG4gICAgICAgIHRoaXMuX3JlYWRJbnB1dFN0YXRlKCk7XG4gICAgICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fYXNzaWduU2xvdHMoKTtcbiAgICB0aGlzLl9jb25uZWN0SW5wdXRFbGVtZW50KCk7XG4gICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gICAgdGhpcy5fc3luY1NpemUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbmVnYXRpdmUnKSkge1xuICAgICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3NpemUnKSkge1xuICAgICAgdGhpcy5fc3luY1NpemUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX2lucHV0Rm9ybUFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICAgIGlmICh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lID09PSAnaW5wdXQnIHx8IHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgPT09ICd0ZXh0YXJlYScpIHtcbiAgICAgIHRoaXMuX3VucGF0Y2hJbnB1dFZhbHVlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlV3JhcHBlckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2lzRWxlbWVudEZvY3VzRXhjbHVkZWQoZXZlbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NvbnRyb2w/Lm9uQ29udGFpbmVyQ2xpY2spIHtcbiAgICAgIHRoaXMuX2NvbnRyb2w/Lm9uQ29udGFpbmVyQ2xpY2soZXZlbnQpO1xuICAgIH0gZWxzZSBpZiAoKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KS5sb2NhbE5hbWUgIT09ICdsYWJlbCcpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5faW5wdXQ/LmxvY2FsTmFtZSA9PT0gJ3NiYi1zZWxlY3QnICYmXG4gICAgICAgIChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmxvY2FsTmFtZSAhPT0gJ3NiYi1zZWxlY3QnXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5faW5wdXQuY2xpY2soKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2lucHV0Py5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzRWxlbWVudEZvY3VzRXhjbHVkZWQoZXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGV2ZW50XG4gICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgIC5zb21lKFxuICAgICAgICAoZWwpID0+XG4gICAgICAgICAgKGVsIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50ICYmXG4gICAgICAgICAgICAoZWwuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpID09PSAnMCcgfHwgZWwuaGFzQXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnKSkpIHx8XG4gICAgICAgICAgdGhpcy5fZXhjbHVkZWRGb2N1c0VsZW1lbnRzLmluY2x1ZGVzKChlbCBhcyBIVE1MRWxlbWVudCkubG9jYWxOYW1lKSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vblNsb3RMYWJlbENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBsYWJlbHMgPSBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbCgnbGFiZWwnKSk7XG4gICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgbGFiZWxzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYERldGVjdGVkIG1vcmUgdGhhbiBvbmUgbGFiZWwgaW4gc2JiLWZvcm0tZmllbGQjJHt0aGlzLmlkfS4gT25seSBvbmUgbGFiZWwgaXMgc3VwcG9ydGVkLmAsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9sYWJlbCA9IGxhYmVsc1swXTtcbiAgICB0aGlzLl9zeW5jTGFiZWxJbnB1dFJlZmVyZW5jZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gYXNzaWduIHRoZSBhdHRyaWJ1dGVzIG9mIGA8aW5wdXQ+YCB0byBgX2lkYCBhbmQgYF9pbnB1dGAgYW5kIHRvIG9ic2VydmUgdGhlIG5hdGl2ZSByZWFkb25seSBhbmQgZGlzYWJsZWQgYXR0cmlidXRlcy5cbiAgICovXG4gIHByaXZhdGUgX29uU2xvdElucHV0Q2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuX2Fzc2lnblNsb3RzKCk7XG4gICAgdGhpcy5fY29ubmVjdElucHV0RWxlbWVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXNzaWduU2xvdHMoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKCdsYWJlbDpub3QoW3Nsb3RdKScpLmZvckVhY2goKGUpID0+IGUuc2V0QXR0cmlidXRlKCdzbG90JywgJ2xhYmVsJykpO1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbCgnc2JiLWVycm9yOm5vdChbc2xvdF0pJykuZm9yRWFjaCgoZSkgPT4gZS5zZXRBdHRyaWJ1dGUoJ3Nsb3QnLCAnZXJyb3InKSk7XG4gIH1cblxuICBwcml2YXRlIF9jb25uZWN0SW5wdXRFbGVtZW50KCk6ICdjaGFuZ2VkJyB8ICduby1pbnB1dCcgfCAndW5jaGFuZ2VkJyB7XG4gICAgbGV0IG5ld0lucHV0OiBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgaWYgKHRoaXMuX2NvbnRyb2w/LmlkKSB7XG4gICAgICBuZXdJbnB1dCA9ICh0aGlzLmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290KS5nZXRFbGVtZW50QnlJZCh0aGlzLl9jb250cm9sLmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRmluZCB0aGUgc2xvdHRlZCBpbnB1dCBlbGVtZW50LCBldmVuIGlmIGl0J3MgbmVzdGVkIChlLmcuIGNoaXAgZ3JvdXApXG4gICAgICBjb25zdCBpbnB1dENhbmRpZGF0ZXMgPSBBcnJheS5mcm9tKFxuICAgICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KCcqOm5vdChbc2xvdF0sc2JiLWNoaXAtZ3JvdXApJyksXG4gICAgICApO1xuICAgICAgbmV3SW5wdXQgPVxuICAgICAgICAoaW5wdXRDYW5kaWRhdGVzLmZpbmQoKGUpID0+IHRoaXMuX2lzSW5wdXRFbGVtZW50KGUpKSB8fCBpbnB1dENhbmRpZGF0ZXNbMF0pID8/IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKG5ld0lucHV0ID09PSB0aGlzLl9pbnB1dCkge1xuICAgICAgcmV0dXJuICd1bmNoYW5nZWQnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faW5wdXQpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoYGlucHV0LWVsZW1lbnQtJHt0aGlzLl9pbnB1dC5sb2NhbE5hbWV9YCk7XG4gICAgICBpZiAodGhpcy5faW5wdXQubG9jYWxOYW1lID09PSAnaW5wdXQnIHx8IHRoaXMuX2lucHV0LmxvY2FsTmFtZSA9PT0gJ3RleHRhcmVhJykge1xuICAgICAgICB0aGlzLl91bnBhdGNoSW5wdXRWYWx1ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghbmV3SW5wdXQpIHtcbiAgICAgIHRoaXMuX2lucHV0ID0gbnVsbDtcbiAgICAgIHJldHVybiAnbm8taW5wdXQnO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0ID0gbmV3SW5wdXQ7XG4gICAgdGhpcy5fcmVnaXN0ZXJJbnB1dEZvcm1MaXN0ZW5lcigpO1xuICAgIHRoaXMuX2Fzc2lnbkFyaWFEZXNjcmliZWRCeUVsZW1lbnRzKCk7XG4gICAgdGhpcy5fcmVhZElucHV0U3RhdGUoKTtcbiAgICB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcblxuICAgIGlmICh0aGlzLl9pbnB1dC5sb2NhbE5hbWUgPT09ICd0ZXh0YXJlYScpIHtcbiAgICAgIHRoaXMuX2lucHV0LnNldEF0dHJpYnV0ZSgncm93cycsIHRoaXMuX2lucHV0LmdldEF0dHJpYnV0ZSgncm93cycpIHx8ICczJyk7XG4gICAgICB0aGlzLl9wYXRjaElucHV0VmFsdWUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2lucHV0LmxvY2FsTmFtZSA9PT0gJ2lucHV0Jykge1xuICAgICAgdGhpcy5fcGF0Y2hJbnB1dFZhbHVlKCk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgICh0aGlzLl9pbnB1dC5sb2NhbE5hbWUgPT09ICdzZWxlY3QnIHx8IHRoaXMuX2lucHV0LmxvY2FsTmFtZSA9PT0gJ3NiYi1zZWxlY3QnKSAmJlxuICAgICAgIXRoaXMuaGFzVXBkYXRlZFxuICAgICkge1xuICAgICAgLy8gRHVlIHRvIFNTUiB0aGUgZHJvcGRvd24gaWNvbiBmb3Igc2VsZWN0cyBjYW5ub3QgYmUgcmVuZGVyZWQgaW4gdGhlIGZpcnN0IHJlbmRlciBwYXNzLlxuICAgICAgLy8gRHVlIHRvIHRoaXMgd2Ugc2NoZWR1bGUgYSByZS1yZW5kZXIgdG8gcmVuZGVyIHRoZSBpY29uLlxuICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+IHRoaXMucmVxdWVzdFVwZGF0ZSgpKTtcbiAgICB9XG5cbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyPy5vYnNlcnZlKHRoaXMuX2lucHV0LCB7XG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ3JlYWRvbmx5JywgJ2Rpc2FibGVkJywgJ2Zvcm0nLCAnY2xhc3MnLCAnZGF0YS1leHBhbmRlZCcsICdtYXhsZW5ndGgnXSxcbiAgICB9KTtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBpbnB1dC1lbGVtZW50LSR7dGhpcy5faW5wdXQubG9jYWxOYW1lfWApO1xuICAgIHRoaXMuX3N5bmNMYWJlbElucHV0UmVmZXJlbmNlcygpO1xuICAgIHJldHVybiAnY2hhbmdlZCc7XG4gIH1cblxuICBwcml2YXRlIF9zeW5jTGFiZWxJbnB1dFJlZmVyZW5jZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbnB1dCB8fCAhdGhpcy5fbGFiZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBuYXRpdmVJbnB1dEVsZW1lbnRzLmluY2x1ZGVzKHRoaXMuX2lucHV0LmxvY2FsTmFtZSkgfHxcbiAgICAgIChjdXN0b21FbGVtZW50cy5nZXQodGhpcy5faW5wdXQubG9jYWxOYW1lKSBhcyB7IGZvcm1Bc3NvY2lhdGVkPzogYm9vbGVhbiB9IHwgdW5kZWZpbmVkKVxuICAgICAgICA/LmZvcm1Bc3NvY2lhdGVkXG4gICAgKSB7XG4gICAgICAvLyBGb3IgbmF0aXZlIGlucHV0IGVsZW1lbnRzIHdlIHVzZSB0aGUgYGZvcmAgYXR0cmlidXRlIG9uIHRoZSBsYWJlbCB0byByZWZlcmVuY2UgdGhlIGlucHV0XG4gICAgICAvLyB2aWEgaWQgcmVmZXJlbmNlLlxuICAgICAgdGhpcy5faW5wdXQuaWQgfHw9IGBzYmItZm9ybS1maWVsZC1pbnB1dC0ke25leHRJZCsrfWA7XG4gICAgICB0aGlzLl9sYWJlbC5odG1sRm9yID0gdGhpcy5faW5wdXQuaWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZvciBub24tbmF0aXZlIGlucHV0IGVsZW1lbnRzLCB0aGF0IGRvIG5vdCBzdXBwb3J0IHJlZmVyZW5jZXMgdmlhIHRoZSBsYWJlbCBmb3IgYXR0cmlidXRlLFxuICAgICAgLy8gd2UgdXNlIGFyaWEtbGFiZWxsZWRieSBvbiB0aGUgaW5wdXQgZWxlbWVudCB0byByZWZlcmVuY2UgdGhlIGxhYmVsIGVsZW1lbnQgdmlhIGlkLlxuICAgICAgLy8gVE9ETzogTWlncmF0ZSB0byBhcmlhTGFiZWxsZWRCeUVsZW1lbnRzIHdoZW4gYXZhaWxhYmxlOlxuICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0VsZW1lbnQvYXJpYUxhYmVsbGVkQnlFbGVtZW50c1xuICAgICAgdGhpcy5fbGFiZWwuaWQgfHw9IGBzYmItZm9ybS1maWVsZC1sYWJlbC0ke25leHRJZCsrfWA7XG4gICAgICBjb25zdCBsYWJlbGxlZGJ5ID1cbiAgICAgICAgdGhpcy5faW5wdXRcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKVxuICAgICAgICAgID8uc3BsaXQoJyAnKVxuICAgICAgICAgIC5maWx0ZXIoKGwpID0+ICEhbCAmJiBsICE9PSB0aGlzLl9sYWJlbCEuaWQpID8/IFtdO1xuICAgICAgdGhpcy5faW5wdXQuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknLCBbLi4ubGFiZWxsZWRieSwgdGhpcy5fbGFiZWwuaWRdLmpvaW4oJyAnKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNJbnB1dEVsZW1lbnQoaW5wdXQ6IEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgbmF0aXZlSW5wdXRFbGVtZW50cy5pbmNsdWRlcyhpbnB1dC5sb2NhbE5hbWUpIHx8XG4gICAgICAhIShjdXN0b21FbGVtZW50cy5nZXQoaW5wdXQubG9jYWxOYW1lKSBhcyB7IGZvcm1Bc3NvY2lhdGVkPzogYm9vbGVhbiB9IHwgdW5kZWZpbmVkKVxuICAgICAgICA/LmZvcm1Bc3NvY2lhdGVkXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlYWRJbnB1dFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ3JlYWRvbmx5JywgdGhpcy5fY29udHJvbD8ucmVhZE9ubHkgPz8gdGhpcy5faW5wdXQhLmhhc0F0dHJpYnV0ZSgncmVhZG9ubHknKSk7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnZGlzYWJsZWQnLCB0aGlzLl9jb250cm9sPy5kaXNhYmxlZCA/PyB0aGlzLl9pbnB1dCEuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdoYXMtcG9wdXAtb3BlbicsIHRoaXMuX2lucHV0IS5oYXNBdHRyaWJ1dGUoJ2RhdGEtZXhwYW5kZWQnKSk7XG5cbiAgICBpZiAodGhpcy5fcHJldmlvdXNUeXBlKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBpbnB1dC10eXBlLSR7dGhpcy5fcHJldmlvdXNUeXBlfWApO1xuICAgIH1cblxuICAgIHRoaXMuX3ByZXZpb3VzVHlwZSA9IHRoaXMuX2NvbnRyb2w/LnR5cGUgPz8gKHRoaXMuX2lucHV0IGFzIHsgdHlwZT86IHN0cmluZyB9KS50eXBlID8/ICd0ZXh0JztcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBpbnB1dC10eXBlLSR7dGhpcy5fcHJldmlvdXNUeXBlfWApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVnaXN0ZXJJbnB1dEZvcm1MaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnB1dEZvcm1BYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICBjb25zdCB7IHNpZ25hbCB9ID0gKHRoaXMuX2lucHV0Rm9ybUFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKSk7XG5cbiAgICBjb25zdCBmb3JtID1cbiAgICAgICh0aGlzLl9pbnB1dCBhcyBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCB1bmRlZmluZWQpPy5mb3JtID8/XG4gICAgICB0aGlzLl9pbnB1dD8uY2xvc2VzdCgnZm9ybScpO1xuICAgIC8vIFRpbWVvdXQgbmVlZGVkIHRvIGhhdmUgdmFsdWUgdXBkYXRlZFxuICAgIGNvbnN0IHJlc2V0SGFuZGxlciA9ICgpOiB1bmtub3duID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZXNldCgpKTtcbiAgICBmb3JtPy5hZGRFdmVudExpc3RlbmVyKCdyZXNldCcsIHJlc2V0SGFuZGxlciwgeyBzaWduYWwgfSk7XG4gIH1cblxuICAvLyBXZSBuZWVkIHRvIHBhdGNoIHRoZSB2YWx1ZSBwcm9wZXJ0eSBvZiB0aGUgSFRNTElucHV0RWxlbWVudCBpbiBvcmRlclxuICAvLyB0byBiZSBhYmxlIHRvIHJlc2V0IHRoZSBmbG9hdGluZyBsYWJlbCBpbiB0aGUgZW1wdHkgc3RhdGUuXG4gIHByaXZhdGUgX3BhdGNoSW5wdXRWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLl9pbnB1dCBhcyBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudDtcbiAgICBpZiAoIWlucHV0RWxlbWVudCB8fCBwYXRjaGVkSW5wdXRzLmhhcyhpbnB1dEVsZW1lbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb3JpZ2luYWxEZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihcbiAgICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZihpbnB1dEVsZW1lbnQpLFxuICAgICAgJ3ZhbHVlJyxcbiAgICApO1xuXG4gICAgaWYgKCFvcmlnaW5hbERlc2NyaXB0b3IgfHwgIW9yaWdpbmFsRGVzY3JpcHRvci5zZXQgfHwgIW9yaWdpbmFsRGVzY3JpcHRvci5nZXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBwYXRjaGVkSW5wdXRzLnNldChpbnB1dEVsZW1lbnQsIG9yaWdpbmFsRGVzY3JpcHRvcik7XG5cbiAgICBjb25zdCB7IGdldDogZ2V0dGVyLCBzZXQ6IHNldHRlciB9ID0gb3JpZ2luYWxEZXNjcmlwdG9yO1xuICAgIGNvbnN0IGNoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSA9ICgpOiB2b2lkID0+IHtcbiAgICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuXG4gICAgICAvLyBVc2VkIHRvIG5vdGlmeSB0aGUgcmVtYWluaW5nIGNoYXJzIGNvbXBvbmVudCB0byB1cGRhdGUgaXRzIGNvdW50XG4gICAgICAvLyB3aGVuIHRoZSB2YWx1ZSBpcyBjaGFuZ2VkIHZpYSBmb3JtIHJlc2V0IG9yIHByb2dyYW1tYXRpY2FsbHkuXG4gICAgICAvLyBXZSBuZWVkIGEgY3VzdG9tIGV2ZW50IGZvciB0aGlzLCBiZWNhdXNlIHRoZSBuYXRpdmUgaW5wdXQgZXZlbnQgaXNcbiAgICAgIC8vIG5vdCB0cmlnZ2VyZWQgaW4gdGhlc2UgY2FzZXMuXG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtWlucHV0JykpO1xuICAgIH07XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5wdXRFbGVtZW50LCAndmFsdWUnLCB7XG4gICAgICAuLi5vcmlnaW5hbERlc2NyaXB0b3IsXG4gICAgICBnZXQoKSB7XG4gICAgICAgIHJldHVybiBnZXR0ZXIuY2FsbCh0aGlzKTtcbiAgICAgIH0sXG4gICAgICBzZXQobmV3VmFsdWUpIHtcbiAgICAgICAgc2V0dGVyLmNhbGwodGhpcywgbmV3VmFsdWUpO1xuICAgICAgICBjaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF91bnBhdGNoSW5wdXRWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLl9pbnB1dCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IG9yaWdpbmFsRGVzY3JpcHRvciA9IHBhdGNoZWRJbnB1dHMuZ2V0KGlucHV0RWxlbWVudCk7XG4gICAgaWYgKG9yaWdpbmFsRGVzY3JpcHRvcikge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlucHV0RWxlbWVudCwgJ3ZhbHVlJywgb3JpZ2luYWxEZXNjcmlwdG9yKTtcbiAgICAgIHBhdGNoZWRJbnB1dHMuZGVsZXRlKGlucHV0RWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnZW1wdHknLFxuICAgICAgdGhpcy5fY29udHJvbD8uZW1wdHkgPz9cbiAgICAgICAgKCgodGhpcy5fZmxvYXRpbmdMYWJlbFN1cHBvcnRlZElucHV0RWxlbWVudHMuaW5jbHVkZXModGhpcy5faW5wdXQ/LmxvY2FsTmFtZSBhcyBzdHJpbmcpIHx8XG4gICAgICAgICAgKHRoaXMuX2lucHV0Py5jb25zdHJ1Y3RvciBhcyB1bmRlZmluZWQgfCB0eXBlb2YgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZSlcbiAgICAgICAgICAgID8uZm9ybUZpZWxkQXNzb2NpYXRlZCkgPz9cbiAgICAgICAgICBmYWxzZSkgJiZcbiAgICAgICAgICB0aGlzLl9pc0lucHV0RW1wdHkoKSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzSW5wdXRFbXB0eSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjaGlwR3JvdXBFbGVtOiBTYmJDaGlwR3JvdXBFbGVtZW50IHwgbnVsbCA9IHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWNoaXAtZ3JvdXAnKTtcbiAgICBpZiAoY2hpcEdyb3VwRWxlbSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgdGhpcy5faXNJbnB1dFZhbHVlRW1wdHkoKSAmJlxuICAgICAgICAoQXJyYXkuaXNBcnJheShjaGlwR3JvdXBFbGVtLnZhbHVlKVxuICAgICAgICAgID8gY2hpcEdyb3VwRWxlbS52YWx1ZS5sZW5ndGggPT09IDBcbiAgICAgICAgICA6ICFjaGlwR3JvdXBFbGVtLnF1ZXJ5U2VsZWN0b3IoJ3NiYi1jaGlwJykpXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faW5wdXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLl9mbG9hdGluZ0xhYmVsU3VwcG9ydGVkSW5wdXRUeXBlcy5pbmNsdWRlcyh0aGlzLl9pbnB1dC50eXBlKSAmJlxuICAgICAgICB0aGlzLl9pc0lucHV0VmFsdWVFbXB0eSgpXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faW5wdXQgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2lucHV0LnNlbGVjdGVkT3B0aW9ucz8uaXRlbSgwKT8ubGFiZWw/LnRyaW0oKSA9PT0gJyc7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lID09PSAnc2JiLXNlbGVjdCcpIHtcbiAgICAgIHJldHVybiAodGhpcy5faW5wdXQgYXMgU2JiU2VsZWN0RWxlbWVudCkuZ2V0RGlzcGxheVZhbHVlPy4oKT8udHJpbSgpID09PSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuX2lzSW5wdXRWYWx1ZUVtcHR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNJbnB1dFZhbHVlRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdmFsdWUgPSAodGhpcy5faW5wdXQgYXMgeyB2YWx1ZTogc3RyaW5nIH0pLnZhbHVlO1xuICAgIHJldHVybiBbJycsIHVuZGVmaW5lZCwgbnVsbF0uaW5jbHVkZXModmFsdWUpIHx8IChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0IGlzIHVzZWQgaW50ZXJuYWxseSB0byBzZXQgdGhlIGFyaWEtZGVzY3JpYmVkYnkgYXR0cmlidXRlIGZvciB0aGUgc2xvdHRlZCBpbnB1dCByZWZlcmVuY2luZyBhdmFpbGFibGUgPHNiYi1lcnJvcj4gaW5zdGFuY2VzLlxuICAgKi9cbiAgcHJpdmF0ZSBfb25TbG90RXJyb3JDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZXJyb3JFbGVtZW50cyA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KS5hc3NpZ25lZEVsZW1lbnRzKCk7XG4gICAgaWYgKHRoaXMuX2lucHV0ICYmIHRoaXMuX2lucHV0LmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2lucHV0LmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzID0gcmVtb3ZlQXJpYUVsZW1lbnRzKFxuICAgICAgICB0aGlzLl9pbnB1dC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyxcbiAgICAgICAgLi4uKHRoaXMuX2Vycm9yRWxlbWVudHMgPz8gW10pLFxuICAgICAgICAvLyBBbHNvIHJlbW92ZSBoaW50IGVsZW1lbnRzIHNpbmNlIHRoZWlyIHZpc2liaWxpdHkgZGVwZW5kcyBvbiBlcnJvciBzdGF0ZVxuICAgICAgICAuLi4odGhpcy5faGludEVsZW1lbnRzID8/IFtdKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5fZXJyb3JFbGVtZW50cyA9IGVycm9yRWxlbWVudHM7XG4gICAgZm9yIChjb25zdCBlbCBvZiB0aGlzLl9lcnJvckVsZW1lbnRzKSB7XG4gICAgICAvLyBJbnN0ZWFkIG9mIGRlZmluaW5nIGEgY29udGFpbmVyIHdpdGggYW4gYXJpYS1saXZlIHJlZ2lvbiBhcyBleHBlY3RlZCwgd2UgaGFkIHRvIGNoYW5nZVxuICAgICAgLy8gc2V0dGluZyBpdCBmb3IgZXZlcnkgc2xvdHRlZCBlbGVtZW50IHRvIHByb3Blcmx5IHdvcmsgaW4gYWxsIGJyb3dzZXJzIGFuZCBzY3JlZW4gcmVhZGVyIGNvbWJpbmF0aW9ucy5cbiAgICAgIGVsLnJvbGUgfHw9ICdzdGF0dXMnO1xuICAgIH1cblxuICAgIHRoaXMuX2Fzc2lnbkFyaWFEZXNjcmliZWRCeUVsZW1lbnRzKCk7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnaGFzLWVycm9yJywgISF0aGlzLl9lcnJvckVsZW1lbnRzLmxlbmd0aCk7XG4gICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gIH1cblxuICAvKipcbiAgICogSXQgaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHNldCB0aGUgYXJpYS1kZXNjcmliZWRieSBhdHRyaWJ1dGUgZm9yIHRoZSBzbG90dGVkIGlucHV0IHJlZmVyZW5jaW5nIGF2YWlsYWJsZSA8c2JiLWhpbnQ+IGluc3RhbmNlcy5cbiAgICovXG4gIHByaXZhdGUgX29uU2xvdEhpbnRDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaGludEVsZW1lbnRzID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpLmFzc2lnbmVkRWxlbWVudHMoKTtcbiAgICBpZiAodGhpcy5faW5wdXQ/LmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzPy5sZW5ndGggJiYgdGhpcy5faGludEVsZW1lbnRzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2lucHV0LmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzID0gcmVtb3ZlQXJpYUVsZW1lbnRzKFxuICAgICAgICB0aGlzLl9pbnB1dC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyxcbiAgICAgICAgLi4udGhpcy5faGludEVsZW1lbnRzLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLl9oaW50RWxlbWVudHMgPSBoaW50RWxlbWVudHM7XG4gICAgdGhpcy5fYXNzaWduQXJpYURlc2NyaWJlZEJ5RWxlbWVudHMoKTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdoYXMtaGludCcsICEhdGhpcy5faGludEVsZW1lbnRzLmxlbmd0aCk7XG4gICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gIH1cblxuICBwcml2YXRlIF9hc3NpZ25BcmlhRGVzY3JpYmVkQnlFbGVtZW50cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faW5wdXQpIHtcbiAgICAgIC8vIEhpbnQgZWxlbWVudHMgYXJlIG9ubHkgbGlua2VkIHdoZW4gdGhlcmUgYXJlIG5vIGVycm9yc1xuICAgICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLl9lcnJvckVsZW1lbnRzLmxlbmd0aCA/IHRoaXMuX2Vycm9yRWxlbWVudHMgOiB0aGlzLl9oaW50RWxlbWVudHM7XG4gICAgICB0aGlzLl9pbnB1dC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyA9IGFwcGVuZEFyaWFFbGVtZW50cyhcbiAgICAgICAgdGhpcy5faW5wdXQuYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMsXG4gICAgICAgIC4uLmVsZW1lbnRzLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKiogTWFudWFsbHkgcmVzZXQgdGhlIGZvcm0gZmllbGQuIEN1cnJlbnRseSwgdGhpcyBvbmx5IHJlc2V0cyB0aGUgZmxvYXRpbmcgbGFiZWwuICovXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcbiAgfVxuXG4gIC8qKiBNYW51YWxseSBjbGVhcnMgdGhlIGlucHV0IHZhbHVlLiBJdCBvbmx5IHdvcmtzIGZvciBpbnB1dHMsIHNlbGVjdHMgYXJlIG5vdCBzdXBwb3J0ZWQuICovXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICBpZiAoKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgYXMgc3RyaW5nKSAhPT0gJ2lucHV0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAodGhpcy5faW5wdXQgYXMgeyB2YWx1ZTogc3RyaW5nIH0pLnZhbHVlID0gJyc7XG4gICAgdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCk7XG4gIH1cblxuICBwcml2YXRlIF9zeW5jTmVnYXRpdmUoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oXG4gICAgICAnc2JiLWVycm9yLHNiYi1taW5pLWJ1dHRvbixzYmItbWluaS1idXR0b24tbGluayxzYmItZm9ybS1maWVsZC1jbGVhcixzYmItZGF0ZXBpY2tlci1uZXh0LWRheSxzYmItZGF0ZXBpY2tlci1wcmV2aW91cy1kYXksc2JiLWRhdGVwaWNrZXItdG9nZ2xlLHNiYi1zZWxlY3Qsc2JiLWF1dG9jb21wbGV0ZSxzYmItYXV0b2NvbXBsZXRlLWdyaWQsc2JiLWNoaXAtZ3JvdXAsc2JiLWhpbnQsc2JiLWZvcm0tZmllbGQtdGV4dC1jb3VudGVyJyxcbiAgICApLmZvckVhY2goKGVsZW1lbnQpID0+IGVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCduZWdhdGl2ZScsIHRoaXMubmVnYXRpdmUpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNTaXplKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHwgU2JiU2VsZWN0RWxlbWVudD4oXG4gICAgICAnc2JiLWF1dG9jb21wbGV0ZSxzYmItYXV0b2NvbXBsZXRlLWdyaWQsc2JiLXNlbGVjdCcsXG4gICAgKS5mb3JFYWNoKChlbGVtZW50KSA9PiAoZWxlbWVudC5zaXplID0gdGhpcy5zaXplID09PSAnbCcgPyAnbScgOiB0aGlzLnNpemUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19zcGFjZS13cmFwcGVyXCI+XG4gICAgICAgICR7LyogUXVlcmllZCBieSBpZCBmcm9tIHRoZSBhdXRvY29tcGxldGUvc2VsZWN0IHRvIGJlIHVzZWQgYXMgdGhlIGFuY2hvciBlbGVtZW50ICovICcnfVxuICAgICAgICA8ZGl2IEBjbGljaz0ke3RoaXMuX2hhbmRsZVdyYXBwZXJDbGlja30gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fd3JhcHBlclwiIGlkPVwib3ZlcmxheS1hbmNob3JcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwicHJlZml4XCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9zeW5jTmVnYXRpdmV9Pjwvc2xvdD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2lucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWwtc3BhY2VyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWwtZWxsaXBzaXNcIj5cbiAgICAgICAgICAgICAgICA8c2xvdCBuYW1lPVwibGFiZWxcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX29uU2xvdExhYmVsQ2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItZm9ybS1maWVsZF9faW5wdXRcIj5cbiAgICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vblNsb3RJbnB1dENoYW5nZX0+PC9zbG90PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c2JiLWljb25cbiAgICAgICAgICAgICAgbmFtZT1cImNoZXZyb24tc21hbGwtZG93bi1zbWFsbFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX3NlbGVjdC1pbnB1dC1pY29uXCJcbiAgICAgICAgICAgID48L3NiYi1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJzdWZmaXhcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX3N5bmNOZWdhdGl2ZX0+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2hpbnRcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwiaGludFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25TbG90SGludENoYW5nZX0+PC9zbG90PlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJlcnJvclwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25TbG90RXJyb3JDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZm9ybS1maWVsZCc6IFNiYkZvcm1GaWVsZEVsZW1lbnQ7XG4gIH1cblxuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRFdmVudE1hcCB7XG4gICAgZm9ybWZpZWxkY29udHJvbDogU2JiRm9ybUZpZWxkQ29udHJvbEV2ZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQzJCQSxJQUFJLFNBQVM7QUFFYixJQUFNLGdDQUFnQixJQUFJLFFBQU87QUFDakMsSUFBTSxzQkFBc0I7Q0FBQztDQUFTO0NBQVk7QUFBUTtBQXlCMUQsSUFBYSwyQkFBYixjQUE4QyxNQUFLO0NBR2pELElBQVcsVUFBTztFQUNoQixPQUFPLEtBQUs7Q0FDZDtDQUVBLFlBQW1CLFNBQTBDO0VBQzNELE1BQU0sa0JBQWtCO0VBQ3hCLEtBQUssV0FBVztDQUNsQjs7Ozs7Ozs7Ozs7Ozs7O0lBZ0JXLDZCQUFtQjttQkFBUyxpQkFBaUIsVUFBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztjQUF2RCw0QkFBNEIsWUFB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
|
|
670
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQtWU0tWjVhWmYuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLWZvcm0tZmllbGQtaGludC1kaXZpZGVyLXdpZHRoOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xeCk7XG4gIC0tc2JiLWZvcm0tZmllbGQtaGludC1wYWRkaW5nLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItZm9ybS1maWVsZC1oaW50LWRpdmlkZXItd2lkdGgpO1xuICAtLXNiYi1mb3JtLWZpZWxkLXNlbGVjdC1pbmxpbmUtcGFkZGluZy1lbmQ6IGNhbGMoXG4gICAgdmFyKC0tc2JiLWljb24tc3ZnLXdpZHRoKSArIHZhcigtLXNiYi1mb3JtLWZpZWxkLWdhcClcbiAgKTtcbiAgLS1zYmItZm9ybS1maWVsZC1sYWJlbC1zaXplOiBjYWxjKFxuICAgIHZhcigtLXNiYi1mb3JtLWZpZWxkLWxhYmVsLXRleHQtc2l6ZSkgKiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KVxuICApO1xuICAtLXNiYi1mb3JtLWZpZWxkLXRleHQtbGluZS1oZWlnaHQ6IGNhbGMoXG4gICAgdmFyKC0tc2JiLWZvcm0tZmllbGQtaW5wdXQtdGV4dC1zaXplKSAqIHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpXG4gICk7XG4gIC0tc2JiLWZvcm0tZmllbGQtbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKFxuICAgIChcbiAgICAgICAgdmFyKC0tc2JiLWZvcm0tZmllbGQtbWluLWhlaWdodCkgLSB2YXIoLS1zYmItZm9ybS1maWVsZC1sYWJlbC1zaXplKSAtIHZhcihcbiAgICAgICAgICAgIC0tc2JiLWZvcm0tZmllbGQtdGV4dC1saW5lLWhlaWdodFxuICAgICAgICAgICkgK1xuICAgICAgICAgIHZhcigtLV9zYmItZm9ybS1maWVsZC1sYWJlbC10by1pbnB1dC1vdmVybGFwcGluZylcbiAgICAgICkgL1xuICAgICAgMlxuICApO1xuXG4gIC8vIExvY2sgc2JiLWljb24gc2l6ZVxuICAtLXNiYi1pY29uLXN2Zy13aWR0aDogdmFyKC0tc2JiLWZvcm0tZmllbGQtaWNvbi1zaXplKTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiB2YXIoLS1zYmItZm9ybS1maWVsZC1pY29uLXNpemUpO1xuXG4gIC8vIEFzIHRoZSBmb3JtIGZpZWxkIGhhcyBhbHdheXMgYSB3aGl0ZSBiYWNrZ3JvdW5kLCB3ZSBoYXZlIHRvIGZpeCB0aGUgZm9jdXMgb3V0bGluZSBjb2xvclxuICAvLyB0byBkZWZhdWx0IGNvbG9yIGZvciBjYXNlcyB3aGVyZSB0aGUgZm9ybSBmaWVsZCBpcyB1c2VkIGluIGEgbmVnYXRpdmUgY29udGV4dC5cbiAgLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvcjogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kZWZhdWx0KSxcbiAgICB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKVxuICApO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IHZhcigtLXNiYi1mb3JtLWZpZWxkLWNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAvLyBTZXQgdGhlIGxpbmUtaGVpZ2h0IGZvciBhZGphY2VudCBlbGVtZW50cyBpbiBvcmRlciB0byBwcmV2ZW50IGZyb20gaW5mbHVlbmNlIG9mIGEgY29uc3VtZXItc2V0IGxpbmUtaGVpZ2h0LlxuICBsaW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCk7XG59XG5cbjpob3N0KDp3aGVyZSg6bm90KFt3aWR0aD0nY29sbGFwc2UnXSkpKSB7XG4gIG1pbi13aWR0aDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDE1MCl9O1xuICB3aWR0aDogbWluKCN7c2JiLnB4LXRvLXJlbS1idWlsZCgzMDApfSwgMTAwJSk7XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgY29sb3I6IHZhcigtLXNiYi1jb2xvci0zLW5lZ2F0aXZlKTtcblxuICAtLXNiYi1mb3JtLWZpZWxkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEtbmVnYXRpdmUpO1xuICAtLXNiYi1mb3JtLWZpZWxkLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJvcmRlci1jb2xvci01KTtcbiAgLS1zYmItZm9ybS1maWVsZC1sYWJlbC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xuICAtLXNiYi1mb3JtLWZpZWxkLXByZWZpeC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xuICAtLXNiYi1mb3JtLWZpZWxkLXRleHQtY29sb3I6IHZhcigtLXNiYi1jb2xvci0zLW5lZ2F0aXZlKTtcbiAgLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvcjogdmFyKC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3ItZGFyayk7XG4gIC0tc2JiLWZvcm0tZmllbGQtYXJyb3ctY29sb3I6IHZhcigtLXNiYi1jb2xvci0zLW5lZ2F0aXZlKTtcblxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIC0tc2JiLWZvcm0tZmllbGQtYm9yZGVyLWNvbG9yOiBCdXR0b25Cb3JkZXI7XG4gIH1cbn1cblxuOmhvc3QoW3NpemU9J3MnXSkge1xuICAtLXNiYi1mb3JtLWZpZWxkLW1pbi1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQteHMpO1xuICAtLXNiYi1mb3JtLWZpZWxkLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCk7XG4gIC0tc2JiLWZvcm0tZmllbGQtaW5wdXQtdGV4dC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtcyk7XG4gIC0tc2JiLWZvcm0tZmllbGQtbGFiZWwtdGV4dC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUteHhzKTtcbiAgLS1fc2JiLWZvcm0tZmllbGQtaW5wdXQtbWFyZ2luLWJsb2NrLWVuZDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKC0yKX07XG5cbiAgLy8gVmFsdWVzIGZvdW5kIGJ5IHRyeSBhbmQgZXJyb3JcbiAgLS1fc2JiLWZvcm0tZmllbGQtbGFiZWwtdG8taW5wdXQtb3ZlcmxhcHBpbmc6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxMCl9O1xuICAtLV9zYmItZm9ybS1maWVsZC1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm06ICN7c2JiLnB4LXRvLXJlbS1idWlsZCg1LjUpfTtcbiAgLS1fc2JiLWZvcm0tZmllbGQtc3BhY2VyLW1hcmdpbi1ibG9jay1lbmQ6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgtOC41KX07XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC8vIFZhbHVlcyBmb3VuZCBieSB0cnkgYW5kIGVycm9yXG4gICAgLS1fc2JiLWZvcm0tZmllbGQtbGFiZWwtdG8taW5wdXQtb3ZlcmxhcHBpbmc6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxMSl9O1xuICAgIC0tX3NiYi1mb3JtLWZpZWxkLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDUpfTtcbiAgICAtLV9zYmItZm9ybS1maWVsZC1zcGFjZXItbWFyZ2luLWJsb2NrLWVuZDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKC04KX07XG4gIH1cbn1cblxuOmhvc3QoW3NpemU9J20nXSkge1xuICAtLXNiYi1mb3JtLWZpZWxkLW1pbi1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQtbSk7XG4gIC0tc2JiLWZvcm0tZmllbGQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KTtcbn1cblxuOmhvc3QoW3NpemU9J2wnXSkge1xuICAtLXNiYi1mb3JtLWZpZWxkLW1pbi1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQtbCk7XG4gIC0tc2JiLWZvcm0tZmllbGQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cyk7XG59XG5cbjpob3N0KDppcyhbc2l6ZT0nbSddLCBbc2l6ZT0nbCddKSkge1xuICAtLXNiYi1mb3JtLWZpZWxkLWlucHV0LXRleHQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLW0pO1xuICAtLXNiYi1mb3JtLWZpZWxkLWxhYmVsLXRleHQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXhzKTtcbiAgLS1fc2JiLWZvcm0tZmllbGQtaW5wdXQtbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgLS1fc2JiLWZvcm0tZmllbGQtbGFiZWwtdG8taW5wdXQtb3ZlcmxhcHBpbmc6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbiAgLS1fc2JiLWZvcm0tZmllbGQtZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtOiAje3NiYi5weC10by1yZW0tYnVpbGQoOC41KX07XG4gIC0tX3NiYi1mb3JtLWZpZWxkLXNwYWNlci1tYXJnaW4tYmxvY2stZW5kOiBjYWxjKFxuICAgIC0xICogdmFyKC0tX3NiYi1mb3JtLWZpZWxkLWxhYmVsLXRvLWlucHV0LW92ZXJsYXBwaW5nKVxuICApO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAtLV9zYmItZm9ybS1maWVsZC1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm06ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxMC41KX07XG4gIH1cbn1cblxuOmhvc3QoW2Vycm9yLXNwYWNlPSdyZXNlcnZlJ10pIHtcbiAgLS1zYmItZm9ybS1maWVsZC1oaW50LW1pbi1oZWlnaHQ6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCkgKiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUteHMpXG4gICk7XG4gIC0tc2JiLWZvcm0tZmllbGQtaGludC1wYWRkaW5nLWJsb2NrLXN0YXJ0LW92ZXJyaWRlOiB2YXIoLS1zYmItZm9ybS1maWVsZC1oaW50LWRpdmlkZXItd2lkdGgpO1xufVxuXG46aG9zdCg6d2hlcmUoOnN0YXRlKHJlYWRvbmx5KSwgOnN0YXRlKGRpc2FibGVkKSkpIHtcbiAgLS1zYmItZm9ybS1maWVsZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgLS1zYmItZm9ybS1maWVsZC1ib3JkZXItY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYXBoaXRlKSwgdmFyKC0tc2JiLWNvbG9yLXNtb2tlKSk7XG4gIC0tc2JiLWZvcm0tZmllbGQtYXJyb3ctY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3Itc3Rvcm0pKTtcblxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIC0tc2JiLWZvcm0tZmllbGQtYm9yZGVyLWNvbG9yOiBCdXR0b25Cb3JkZXI7XG4gIH1cbn1cblxuOmhvc3QoOndoZXJlKDpzdGF0ZShyZWFkb25seSksIDpzdGF0ZShkaXNhYmxlZCkpW25lZ2F0aXZlXSkge1xuICAtLXNiYi1mb3JtLWZpZWxkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAtLXNiYi1mb3JtLWZpZWxkLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJvcmRlci1jb2xvci01KTtcbiAgLS1zYmItZm9ybS1maWVsZC1hcnJvdy1jb2xvcjogdmFyKC0tc2JiLWJvcmRlci1jb2xvci01KTtcbn1cblxuOmhvc3QoOndoZXJlKDpzdGF0ZShkaXNhYmxlZCkpKSB7XG4gIC0tc2JiLWZvcm0tZmllbGQtbGFiZWwtY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3Itc21va2UpKTtcbiAgLS1zYmItZm9ybS1maWVsZC1wcmVmaXgtY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3Itc3Rvcm0pKTtcbiAgLS1zYmItZm9ybS1maWVsZC1ib3JkZXItc3R5bGU6IGRhc2hlZDtcblxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIC0tc2JiLWZvcm0tZmllbGQtbGFiZWwtY29sb3I6IEdyYXlUZXh0ICFpbXBvcnRhbnQ7XG4gICAgLS1zYmItZm9ybS1maWVsZC1wcmVmaXgtY29sb3I6IEdyYXlUZXh0ICFpbXBvcnRhbnQ7XG4gICAgLS1zYmItZm9ybS1maWVsZC10ZXh0LWNvbG9yOiBHcmF5VGV4dCAhaW1wb3J0YW50O1xuICAgIC0tc2JiLWZvcm0tZmllbGQtYm9yZGVyLWNvbG9yOiBHcmF5VGV4dCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIDp3aGVyZSBpcyB0byBhbGlnbiBzcGVjaWZpY2l0eVxuOmhvc3QoOndoZXJlKDpzdGF0ZShkaXNhYmxlZCkpW25lZ2F0aXZlXSkge1xuICAtLXNiYi1mb3JtLWZpZWxkLXRleHQtY29sb3I6IHZhcigtLXNiYi1jb2xvci01KTtcbiAgLS1zYmItZm9ybS1maWVsZC1sYWJlbC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xuICAtLXNiYi1mb3JtLWZpZWxkLXByZWZpeC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xufVxuXG4vLyA6d2hlcmUgaXMgdG8gYWxpZ24gc3BlY2lmaWNpdHlcbjpob3N0KDp3aGVyZSg6c3RhdGUocmVhZG9ubHkpKTpub3QoW25lZ2F0aXZlXSkpIHtcbiAgLS1zYmItZm9ybS1maWVsZC1sYWJlbC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksIHZhcigtLXNiYi1jb2xvci1zbW9rZSkpO1xuICAtLXNiYi1mb3JtLWZpZWxkLXByZWZpeC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksIHZhcigtLXNiYi1jb2xvci1zdG9ybSkpO1xufVxuXG4vLyA6d2hlcmUgaXMgdG8gYWxpZ24gc3BlY2lmaWNpdHlcbjpob3N0KDp3aGVyZSg6c3RhdGUoZm9jdXMpKSkge1xuICAtLXNiYi1mb3JtLWZpZWxkLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJvcmRlci1jb2xvci0zKTtcbiAgLS1zYmItZm9ybS1maWVsZC1wcmVmaXgtY29sb3I6IHZhcigtLXNiYi1jb2xvci0zKTtcbiAgLS1zYmItZm9ybS1maWVsZC1ib3JkZXItd2lkdGg6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMngpO1xufVxuXG4vLyA6d2hlcmUgaXMgdG8gYWxpZ24gc3BlY2lmaWNpdHlcbjpob3N0KDp3aGVyZSg6c3RhdGUoZm9jdXMpKVtuZWdhdGl2ZV0pIHtcbiAgLS1zYmItZm9ybS1maWVsZC1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1ib3JkZXItY29sb3ItMy1uZWdhdGl2ZSk7XG4gIC0tc2JiLWZvcm0tZmllbGQtcHJlZml4LWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMy1uZWdhdGl2ZSk7XG59XG5cbi8vIFdlIG11c3Qgbm90IHVzZSA6d2hlcmUgaGVyZSwgYXMgaXQgbmVlZHMgdGhlIGFkZGVkIHNwZWNpZmljaXR5IHRvIHByb3Blcmx5IHdvcmtcbjpob3N0KDpzdGF0ZShmb2N1cykpIHtcbiAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAtLXNiYi1mb3JtLWZpZWxkLWJvcmRlci1jb2xvcjogSGlnaGxpZ2h0O1xuICAgIC0tc2JiLWZvcm0tZmllbGQtcHJlZml4LWNvbG9yOiBIaWdobGlnaHQ7XG4gIH1cbn1cblxuLy8gOndoZXJlIGlzIHRvIGFsaWduIHNwZWNpZmljaXR5XG46aG9zdCg6bm90KDp3aGVyZSg6c3RhdGUoaGFzLWVycm9yKSwgOnN0YXRlKGhhcy1oaW50KSkpKSB7XG4gIC0tc2JiLWZvcm0tZmllbGQtaGludC1wYWRkaW5nLWJsb2NrLXN0YXJ0OiAwO1xufVxuXG46aG9zdChbZmxvYXRpbmctbGFiZWxdKSB7XG4gIC0tc2JiLXNlbGVjdC1wbGFjZWhvbGRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAtLXNiYi1zZWxlY3QtcGxhY2Vob2xkZXItY29sb3I6IENhbnZhcztcbiAgfVxufVxuXG46aG9zdCg6aXMoOm5vdCg6c3RhdGUoc2xvdHRlZC1sYWJlbCkpLCBbaGlkZGVuLWxhYmVsXSkpIHtcbiAgLS1zYmItZm9ybS1maWVsZC1sYWJlbC1zaXplOiAwcmVtO1xuICAtLV9zYmItZm9ybS1maWVsZC1sYWJlbC10by1pbnB1dC1vdmVybGFwcGluZzogMHJlbTtcbn1cblxuLy8gU2hvdWxkIGJlIGFmdGVyIG90aGVyIGRlZmluaXRpb25zIHRvIG92ZXJyaWRlIG92ZXJmbG93XG4vLyA6d2hlcmUgaXMgdG8gYWxpZ24gc3BlY2lmaWNpdHlcbjpob3N0KDp3aGVyZSg6c3RhdGUoaW5wdXQtZWxlbWVudC1zYmItc2xpZGVyKSkpIHtcbiAgLS1zYmItZm9ybS1maWVsZC1vdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnNiYi1mb3JtLWZpZWxkX19zcGFjZS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIEBpbmNsdWRlIHNiYi56ZXJvLXdpZHRoLXNwYWNlO1xufVxuXG4uc2JiLWZvcm0tZmllbGRfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBnYXA6IHZhcigtLXNiYi1mb3JtLWZpZWxkLWdhcCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItZm9ybS1maWVsZC1wYWRkaW5nLWlubGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1mb3JtLWZpZWxkLWJvcmRlci1yYWRpdXMpO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItZm9ybS1maWVsZC1taW4taGVpZ2h0KTtcbiAgbWF4LWhlaWdodDogdmFyKC0tc2JiLWZvcm0tZmllbGQtbWF4LWhlaWdodCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1mb3JtLWZpZWxkLWJhY2tncm91bmQtY29sb3IpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gVXNlIDo6YmVmb3JlIHRvIGF2b2lkIGNvbnRlbnQgc2hpZnRpbmcgd2hlbiBib3JkZXIgd2lkdGggY2hhbmdlcy5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYm9yZGVyOiB2YXIoLS1zYmItZm9ybS1maWVsZC1ib3JkZXItd2lkdGgpIHZhcigtLXNiYi1mb3JtLWZpZWxkLWJvcmRlci1zdHlsZSlcbiAgICAgIHZhcigtLXNiYi1mb3JtLWZpZWxkLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWZvcm0tZmllbGQtYm9yZGVyLXJhZGl1cyk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyA6d2hlcmUgaXMgdG8gYWxpZ24gc3BlY2lmaWNpdHlcbiAgOmhvc3QoOndoZXJlKDpzdGF0ZShmb2N1cyk6c3RhdGUoZm9jdXMtb3JpZ2luLWtleWJvYXJkKSkpICYge1xuICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gICAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLXNiYi1mb3JtLWZpZWxkLW91dGxpbmUtb2Zmc2V0LCB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1vZmZzZXQpKTtcbiAgfVxuXG4gIC8vIEluIGhpZ2ggY29udHJhc3QsIHRoZXJlIGlzIG5vIGJvcmRlcmxlc3MgdmFyaWFudFxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IG5vbmUpIHtcbiAgICA6aG9zdCg6aXMoW2JvcmRlcmxlc3NdLCA6c3RhdGUoaW5wdXQtZWxlbWVudC1zYmItc2xpZGVyKSkpICYge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA6aG9zdCg6d2hlcmUoOnN0YXRlKGZvY3VzKSwgOnN0YXRlKGRpc2FibGVkKSlbYm9yZGVybGVzc10pICYge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSB2YXIoLS1zYmItZm9ybS1maWVsZC1ib3JkZXItc3R5bGUpXG4gICAgICAgICAgdmFyKC0tc2JiLWZvcm0tZmllbGQtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgaW5zZXQtaW5saW5lOiB2YXIoLS1zYmItZm9ybS1maWVsZC1wYWRkaW5nLWlubGluZSk7XG4gICAgICAgIGluc2V0LWJsb2NrLWVuZDogMDtcbiAgICAgICAgei1pbmRleDogdmFyKC0tc2JiLWZvcm0tZmllbGQtZm9jdXMtdW5kZXJsaW5lLXotaW5kZXgsIGluaXRpYWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46OnNsb3R0ZWQoKltzbG90PSdwcmVmaXgnXSkge1xuICBjb2xvcjogdmFyKC0tc2JiLWZvcm0tZmllbGQtcHJlZml4LWNvbG9yKTtcbn1cblxuLy8gRW5zdXJlIHNsb3R0ZWQgaW5saW5lIGVsZW1lbnRzIGFyZSB2ZXJ0aWNhbGx5IGNlbnRlcmVkXG46OnNsb3R0ZWQoKltzbG90PSdwcmVmaXgnXSksXG46OnNsb3R0ZWQoKltzbG90PSdzdWZmaXgnXSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4td2lkdGg6IHZhcigtLXNiYi1pY29uLXN2Zy13aWR0aCk7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYygodmFyKC0tc2JiLWZvcm0tZmllbGQtbWluLWhlaWdodCkgLSB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKSkgLyAyKTtcbn1cblxuOjpzbG90dGVkKHNiYi1mb3JtLWZpZWxkLWNsZWFyKSB7XG4gIDpob3N0KDp3aGVyZSg6c3RhdGUoZW1wdHkpLCA6c3RhdGUoZGlzYWJsZWQpLCA6c3RhdGUocmVhZG9ubHkpKSkgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5zbG90W25hbWU9J2hpbnQnXSB7XG4gIDpob3N0KDpzdGF0ZShoYXMtZXJyb3IpKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbjo6c2xvdHRlZChzYmItZm9ybS1maWVsZC10ZXh0LWNvdW50ZXIpIHtcbiAgOmhvc3QoOndoZXJlKDpzdGF0ZShkaXNhYmxlZCksIDpzdGF0ZShyZWFkb25seSkpKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEFzIHRoZSBjYWxlbmRhciBzaG91bGQgYmUgc2hvd24gYmVsb3cgdGhlIGZvcm0gZmllbGQgYm9yZGVyLCB3ZSBoYXZlIHRvIHN0cmV0Y2ggdGhlIHRvZ2dsZSdzIGhlaWdodC5cbjo6c2xvdHRlZChzYmItZGF0ZXBpY2tlci10b2dnbGUpIHtcbiAgcGFkZGluZy1ibG9jay1lbmQ6IGNhbGMoKHZhcigtLXNiYi1mb3JtLWZpZWxkLW1pbi1oZWlnaHQpIC0gdmFyKC0tc2JiLXNpemUtaWNvbi11aS1zbWFsbCkpIC8gMik7XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC8vIEFsaWduIHdpdGggcHJlZml4IGNvbG9yXG4gIDo6c2xvdHRlZCgqW3Nsb3Q9J3N1ZmZpeCddKSB7XG4gICAgY29sb3I6IHZhcigtLXNiYi1mb3JtLWZpZWxkLXByZWZpeC1jb2xvcik7XG4gIH1cbn1cblxuLnNiYi1mb3JtLWZpZWxkX19zZWxlY3QtaW5wdXQtaWNvbiB7XG4gIEBpbmNsdWRlIHNiYi5hYnNvbHV0ZS1jZW50ZXIteTtcblxuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYygtMSAqIHZhcigtLXNiYi1mb3JtLWZpZWxkLW1hcmdpbi1ibG9jay1zdGFydCkgLyAyKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1zYmItZm9ybS1maWVsZC1hcnJvdy1jb2xvcik7XG5cbiAgOmhvc3QoXG4gICAgICA6aXMoXG4gICAgICAgIDpzdGF0ZShpbnB1dC1lbGVtZW50LXNlbGVjdCksXG4gICAgICAgIDpzdGF0ZShpbnB1dC1lbGVtZW50LXNiYi1zZWxlY3QpLFxuICAgICAgICA6c3RhdGUoZXhwbGljaXQtaW5wdXQtZWxlbWVudC1zZWxlY3QpXG4gICAgICApXG4gICAgKVxuICAgICYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4uc2JiLWZvcm0tZmllbGRfX2lucHV0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLWZvcm0tZmllbGQtbWFyZ2luLWJsb2NrLXN0YXJ0KTtcblxuICAvLyBQcmV2ZW50cyBvdmVyZmxvd2luZyBwYXJlbnRcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4uc2JiLWZvcm0tZmllbGRfX2xhYmVsLXNwYWNlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1zYmItZm9ybS1maWVsZC1sYWJlbC10ZXh0LXNpemUpICogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCkpO1xuXG4gIC8vIE1vdmVzIGxhYmVsIGRvd24gYW5kIGlucHV0IHVwIHRvIG1lZXQgcG9zaXRpb25pbmcgcmVxdWlyZW1lbnRzXG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLV9zYmItZm9ybS1maWVsZC1zcGFjZXItbWFyZ2luLWJsb2NrLWVuZCk7XG59XG5cbi8vIFRvIGF2b2lkIGRvdWJsZWQgcGF5bG9hZCwgd2UgZ3JvdXAgdGhlIHJ1bGVzLlxuOmlzKC5zYmItZm9ybS1maWVsZF9fbGFiZWwsIC5zYmItZm9ybS1maWVsZF9fbGFiZWwtc3BhY2VyKSB7XG4gIDpob3N0KDpub3QoOnN0YXRlKHNsb3R0ZWQtbGFiZWwpKSkgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIDpob3N0KFtoaWRkZW4tbGFiZWxdKSAmIHtcbiAgICBAaW5jbHVkZSBzYmIuc2NyZWVuLXJlYWRlci1vbmx5O1xuICB9XG59XG5cbi5zYmItZm9ybS1maWVsZF9fbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogdmFyKC0tc2JiLWN1cnNvci1kZWZhdWx0KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgY29sb3I6IHZhcigtLXNiYi1mb3JtLWZpZWxkLWxhYmVsLWNvbG9yKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItZm9ybS1maWVsZC1sYWJlbC10ZXh0LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG5cbiAgOmhvc3QoOndoZXJlKDpzdGF0ZShpbnB1dC1lbGVtZW50LXNlbGVjdCksIDpzdGF0ZShpbnB1dC1lbGVtZW50LXNiYi1zZWxlY3QpKSkgJiB7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1zYmItZm9ybS1maWVsZC1zZWxlY3QtaW5saW5lLXBhZGRpbmctZW5kKTtcbiAgfVxuXG4gIDpob3N0KFtmbG9hdGluZy1sYWJlbF0pICYge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gV2Ugc2hvdWxkbid0IGNhdGNoIG1vdXNlIGV2ZW50cyAobGV0IHRoZW0gdGhyb3VnaCkuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGZvbnQtc2l6ZTtcblxuICAgIHRyYW5zaXRpb246IHtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tMngpKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgICAgcHJvcGVydHk6IHRyYW5zZm9ybSwgZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIGZsb2F0aW5nLWxhYmVsIGlzIGFjdGl2YXRlZCBhbmQgdGhlcmUgaXMgbm8gZm9jdXMgaW4gaXQgKGV4Y2VwdCBmb3Igc2VsZWN0KSBhbmQgbm8gcG9wdXAgaXMgb3BlblxuICAvLyBhbmQgaW5wdXQgaXMgZW1wdHkgdGhlbiBhcHBseSB0aGUgbGFiZWwgdHJhbnNpdGlvbi5cbiAgLy8gSWYgaXQgaXMgZW1wdHkgYW5kIHJlYWRvbmx5LCBhbHdheXMgYXBwbHkgdHJhbnNpdGlvblxuICAvLyA6d2hlcmUgaXMgdG8gYWxpZ24gc3BlY2lmaWNpdHlcbiAgOmhvc3QoXG4gICAgICBbZmxvYXRpbmctbGFiZWxdOmlzKFxuICAgICAgICAgIDpub3QoXG4gICAgICAgICAgICA6d2hlcmUoOnN0YXRlKGZvY3VzKSk6bm90KDp3aGVyZSg6c3RhdGUoaW5wdXQtZWxlbWVudC1zYmItc2VsZWN0KSkpLFxuICAgICAgICAgICAgOndoZXJlKDpzdGF0ZShoYXMtcG9wdXAtb3BlbikpXG4gICAgICAgICAgKSxcbiAgICAgICAgICA6d2hlcmUoOnN0YXRlKHJlYWRvbmx5KSlcbiAgICAgICAgKTp3aGVyZSg6c3RhdGUoZW1wdHkpKVxuICAgIClcbiAgICAmIHtcbiAgICBmb250LXNpemU6IHZhcigtLXNiYi1mb3JtLWZpZWxkLWlucHV0LXRleHQtc2l6ZSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLV9zYmItZm9ybS1maWVsZC1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm0pKTtcbiAgfVxuXG4gIC8vIDp3aGVyZSBpcyB0byBhbGlnbiBzcGVjaWZpY2l0eVxuICA6aG9zdCg6d2hlcmUoOnN0YXRlKGlucHV0LWVsZW1lbnQtdGV4dGFyZWEpKSkgJiB7XG4gICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgIC8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0ZXh0YXJlYSBpcyBzZXQgdG8gQ2FudmFzIGFuZCB0aGVyZWZvcmUgaGlkZXMgdGhlIGxhYmVsIGJlaGluZC5cbiAgICAgIC8vIEJ5IHNldHRpbmcgdGhlIHotaW5kZXggdG8gMSwgd2UgbW92ZSB0aGUgbGFiZWwgaW4gZnJvbnQgb2YgdGhlIHRleHRhcmVhLlxuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi1mb3JtLWZpZWxkX19sYWJlbC1lbGxpcHNpcyB7XG4gIEBpbmNsdWRlIHNiYi5lbGxpcHNpcztcbn1cblxuLnNiYi1mb3JtLWZpZWxkX19pbnB1dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcblxuICA6aG9zdChcbiAgICAgIDppcyhcbiAgICAgICAgOnN0YXRlKGlucHV0LWVsZW1lbnQtaW5wdXQpLFxuICAgICAgICA6c3RhdGUoaW5wdXQtZWxlbWVudC1zZWxlY3QpLFxuICAgICAgICA6c3RhdGUoaW5wdXQtZWxlbWVudC1zYmItc2VsZWN0KSxcbiAgICAgICAgOnN0YXRlKGlucHV0LWVsZW1lbnQtc2JiLWRhdGUtaW5wdXQpLFxuICAgICAgICA6c3RhdGUoaW5wdXQtZWxlbWVudC1zYmItdGltZS1pbnB1dClcbiAgICAgIClcbiAgICApXG4gICAgJiB7XG4gICAgLy8gSW4gc2l6ZSBzLCB0aGUgbmF0dXJhbCBoZWlnaHQgb2YgdGhlIHRleHQgaW5wdXQgaXMgdG9vIHNtYWxsLlxuICAgIC8vIFRvIG5vdCByZXNlcnZlIHRvbyBtdWNoIHNwYWNlLCB3ZSBkZWNyZWFzZSB0aGUgaGVpZ2h0LlxuICAgIC8vIFRoZSB2YXJpYWJsZSBpcyBzZXQgdG8gLTJweCBmb3Igc2l6ZSBzIChleHBsaWNpdCBvciBsZWFuLXRoZW1lIGRlZmF1bHQpIGFuZCAwIG90aGVyd2lzZS5cbiAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1fc2JiLWZvcm0tZmllbGQtaW5wdXQtbWFyZ2luLWJsb2NrLWVuZCk7XG4gIH1cbn1cblxuLnNiYi1mb3JtLWZpZWxkX19oaW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogdmFyKC0tc2JiLWZvcm0tZmllbGQtaGludC1taW4taGVpZ2h0KTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tc2JiLWZvcm0tZmllbGQtcGFkZGluZy1pbmxpbmUpO1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcihcbiAgICAtLXNiYi1mb3JtLWZpZWxkLWhpbnQtcGFkZGluZy1ibG9jay1zdGFydC1vdmVycmlkZSxcbiAgICB2YXIoLS1zYmItZm9ybS1maWVsZC1oaW50LXBhZGRpbmctYmxvY2stc3RhcnQpXG4gICk7XG59XG4iLCJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBpc1NlcnZlcixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vYXV0b2NvbXBsZXRlLnB1cmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJDaGlwR3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vLi4vY2hpcC5wdXJlLnRzJztcbmltcG9ydCB7XG4gIGFwcGVuZEFyaWFFbGVtZW50cyxcbiAgZm9yY2VUeXBlLFxuICByZW1vdmVBcmlhRWxlbWVudHMsXG4gIFNiYkVsZW1lbnQsXG4gIHR5cGUgU2JiRWxlbWVudFR5cGUsXG4gIHR5cGUgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZSxcbiAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLFxuICBTYmJOZWdhdGl2ZU1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYkljb25FbGVtZW50IH0gZnJvbSAnLi4vLi4vaWNvbi5wdXJlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU2VsZWN0RWxlbWVudCB9IGZyb20gJy4uLy4uL3NlbGVjdC5wdXJlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZm9ybS1maWVsZC5zY3NzP2lubGluZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5jb25zdCBwYXRjaGVkSW5wdXRzID0gbmV3IFdlYWtNYXA8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQsIFByb3BlcnR5RGVzY3JpcHRvcj4oKTtcbmNvbnN0IG5hdGl2ZUlucHV0RWxlbWVudHMgPSBbJ2lucHV0JywgJ3RleHRhcmVhJywgJ3NlbGVjdCddO1xuXG4vKiogQW4gaW50ZXJmYWNlIHdoaWNoIGFsbG93cyBhIGNvbnRyb2wgdG8gd29yayBpbnNpZGUgYSBgU2JiRm9ybUZpZWxkYC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2JiRm9ybUZpZWxkRWxlbWVudENvbnRyb2wge1xuICAvKiogVGhlIGlkIG9mIHRoZSBmb3JtIGZpZWxkIGNvbnRyb2wuICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRoZSBjb250cm9sIGlzIGVtcHR5LiAqL1xuICByZWFkb25seSBlbXB0eTogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIGNvbnRyb2wgaXMgcmVhZG9ubHkuICovXG4gIHJlYWRvbmx5IHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIGNvbnRyb2wgaXMgZGlzYWJsZWQuICovXG4gIHJlYWRvbmx5IGRpc2FibGVkOiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIGNvbnRyb2wuIFRoaXMgaXMgdXNlZCBhcyBhIHN0YXRlIHJlcHJlc2VudGF0aW9uLlxuICAgKiBXaGVuIHVzaW5nICdzZWxlY3QnLCB0aGUgZm9ybSBmaWVsZCB3aWxsIGRpc3BsYXkgdGhlIGRyb3Bkb3duIGljb24uXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogJ3NlbGVjdCcgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgYSBjbGljayBvbiB0aGUgY29udHJvbCdzIGNvbnRhaW5lci5cbiAgICogSWYgbm90IGltcGxlbWVudGVkLCBmb2N1cygpIG9mIHRoZSBlbGVtZW50IGlzIGNhbGxlZC5cbiAgICovXG4gIG9uQ29udGFpbmVyQ2xpY2s/KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZDtcbn1cblxuZXhwb3J0IGNsYXNzIFNiYkZvcm1GaWVsZENvbnRyb2xFdmVudCBleHRlbmRzIEV2ZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29udHJvbDogU2JiRm9ybUZpZWxkRWxlbWVudENvbnRyb2wgfCBudWxsO1xuXG4gIHB1YmxpYyBnZXQgY29udHJvbCgpOiBTYmJGb3JtRmllbGRFbGVtZW50Q29udHJvbCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9jb250cm9sO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRyb2w6IFNiYkZvcm1GaWVsZEVsZW1lbnRDb250cm9sIHwgbnVsbCkge1xuICAgIHN1cGVyKCdmb3JtZmllbGRjb250cm9sJyk7XG4gICAgdGhpcy5fY29udHJvbCA9IGNvbnRyb2w7XG4gIH1cbn1cblxuLyoqXG4gKiBJdCB3cmFwcyBhbiBpbnB1dCBlbGVtZW50IGFkZGluZyBsYWJlbCwgZXJyb3JzLCBpY29uLCBldGMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBpbnB1dC9zZWxlY3Qgb3IgYSBzdXBwb3J0ZWQgbm9uLW5hdGl2ZSBlbGVtZW50LlxuICogQHNsb3QgbGFiZWwgLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhIGxhYmVsLlxuICogQHNsb3QgcHJlZml4IC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYW4gaWNvbiBvbiB0aGUgbGVmdCBzaWRlIG9mIHRoZSBpbnB1dC5cbiAqIEBzbG90IHN1ZmZpeCAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGFuIGljb24gb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGlucHV0LlxuICogQHNsb3QgZXJyb3IgLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBlcnJvci5cbiAqIEBzbG90IGhpbnQgLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBgPHNiYi1oaW50PmAgb3IgYW4gYDxzYmItZm9ybS1maWVsZC10ZXh0LWNvdW50ZXI+YCBlbGVtZW50LlxuICpcbiAqIEBjc3Nwcm9wIFstLXNiYi1mb3JtLWZpZWxkLW91dGxpbmUtb2Zmc2V0XSAtIFRvIG92ZXJyaWRlIHRoZSBmb2N1cyBvdXRsaW5lIG9mZnNldCxcbiAqIEBjc3Nwcm9wIFstLXNiYi1mb3JtLWZpZWxkLWZvY3VzLXVuZGVybGluZS16LWluZGV4XSAtIFRvIG92ZXJyaWRlIHRoZSB6LWluZGV4IG9mIHRoZSBmb2N1cyB1bmRlcmxpbmUgZWZmZWN0LFxuICovXG5leHBvcnQgY2xhc3MgU2JiRm9ybUZpZWxkRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWZvcm0tZmllbGQnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbU2JiSWNvbkVsZW1lbnRdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLy8gTGlzdCBvZiBlbGVtZW50cyB0aGF0IHNob3VsZCBub3QgZm9jdXMgaW5wdXQgb24gY2xpY2tcbiAgcHJpdmF0ZSByZWFkb25seSBfZXhjbHVkZWRGb2N1c0VsZW1lbnRzID0gWydidXR0b24nLCAnc2JiLXBvcG92ZXInLCAnc2JiLW9wdGlvbicsICdzYmItY2hpcCddO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dEVsZW1lbnRzID0gW1xuICAgICdpbnB1dCcsXG4gICAgJ3NlbGVjdCcsXG4gICAgJ3RleHRhcmVhJyxcbiAgICAnc2JiLXNlbGVjdCcsXG4gIF07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZmxvYXRpbmdMYWJlbFN1cHBvcnRlZElucHV0VHlwZXMgPSBbXG4gICAgJ2VtYWlsJyxcbiAgICAnbnVtYmVyJyxcbiAgICAncGFzc3dvcmQnLFxuICAgICdzZWFyY2gnLFxuICAgICd0ZWwnLFxuICAgICd0ZXh0JyxcbiAgICAndXJsJyxcbiAgXTtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZXNlcnZlIHNwYWNlIGZvciBhbiBlcnJvciBtZXNzYWdlLCBoaW50IG9yIHRleHQtY291bnRlci5cbiAgICogYG5vbmVgIGRvZXMgbm90IHJlc2VydmUgYW55IHNwYWNlLlxuICAgKiBgcmVzZXJ2ZWAgZG9lcyByZXNlcnZlIG9uZSByb3cgZm9yIGFuIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdlcnJvci1zcGFjZScsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGVycm9yU3BhY2U6ICdub25lJyB8ICdyZXNlcnZlJyA9ICdub25lJztcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcyAobGVhbiB0aGVtZSBkZWZhdWx0KSwgbSAoc3RhbmRhcmQgdGhlbWUgZGVmYXVsdCkgb3IgbC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyB8ICdsJyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGZvcm0gZmllbGQgd2l0aG91dCBhIGJvcmRlci4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGJvcmRlcmxlc3M6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogRGVmaW5lcyB0aGUgd2lkdGggb2YgdGhlIGNvbXBvbmVudDpcbiAgICogLSBgZGVmYXVsdGA6IHRoZSBjb21wb25lbnQgaGFzIGRlZmluZWQgd2lkdGggYW5kIG1pbi13aWR0aDtcbiAgICogLSBgY29sbGFwc2VgOiB0aGUgY29tcG9uZW50IGFkYXB0cyBpdHNlbGYgdG8gaXRzIGlubmVyIGlucHV0IGNvbnRlbnQuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHdpZHRoOiAnZGVmYXVsdCcgfCAnY29sbGFwc2UnID0gJ2RlZmF1bHQnO1xuXG4gIC8qKiBXaGV0aGVyIHRvIHZpc3VhbGx5IGhpZGUgdGhlIGxhYmVsLiBJZiBoaWRkZW4sIHNjcmVlbiByZWFkZXJzIHdpbGwgc3RpbGwgcmVhZCBpdC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hpZGRlbi1sYWJlbCcsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGhpZGRlbkxhYmVsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGxhYmVsIHNob3VsZCBmbG9hdC4gSWYgYWN0aXZhdGVkLCB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGlucHV0IGlzIGhpZGRlbi4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Zsb2F0aW5nLWxhYmVsJywgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZmxvYXRpbmdMYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gZ2V0IHRoZSBgZXJyb3JgIHNsb3QuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2Vycm9yRWxlbWVudHM6IEVsZW1lbnRbXSA9IFtdO1xuXG4gIC8qKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gZ2V0IHRoZSBgaGludGAgc2xvdC4gKi9cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfaGludEVsZW1lbnRzOiBFbGVtZW50W10gPSBbXTtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBzbG90dGVkIGlucHV0IGVsZW1lbnQuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2lucHV0OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MRWxlbWVudCB8IG51bGwgPVxuICAgIG51bGw7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgc2xvdHRlZCBsYWJlbCBlbGVtZW50cy4gKi9cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfbGFiZWwhOiBIVE1MTGFiZWxFbGVtZW50O1xuXG4gIC8qKiBSZXR1cm5zIHRoZSBpbnB1dCBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IGlucHV0RWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dDtcbiAgfVxuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIHNsb3R0ZWQgbGFiZWwuICovXG4gIHB1YmxpYyBnZXQgbGFiZWwoKTogSFRNTExhYmVsRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9sYWJlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW5zIHRvIHRoZSBjaGFuZ2VzIG9uIGByZWFkb25seWAgYW5kIGBkaXNhYmxlZGAgYXR0cmlidXRlcyBvZiBgPGlucHV0PmAuXG4gICAqL1xuICBwcml2YXRlIF9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9uczogTXV0YXRpb25SZWNvcmRbXSkgPT4ge1xuICAgICAgICBpZiAobXV0YXRpb25zLnNvbWUoKG0pID0+IG0udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnKSAmJiB0aGlzLl9pbnB1dCkge1xuICAgICAgICAgIHRoaXMuX3JlYWRJbnB1dFN0YXRlKCk7XG4gICAgICAgICAgdGhpcy5fcmVnaXN0ZXJJbnB1dEZvcm1MaXN0ZW5lcigpO1xuICAgICAgICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuICAgICAgICAgIC8vIFVzZWQgdG8gbm90aWZ5IHRoZSByZW1haW5pbmcgY2hhcnMgY29tcG9uZW50LlxuICAgICAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtWlucHV0YXR0cmlidXRlY2hhbmdlJykpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIDogbnVsbDtcblxuICBwcml2YXRlIF9pbnB1dEZvcm1BYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gIHByaXZhdGUgX2NvbnRyb2w6IFNiYkZvcm1GaWVsZEVsZW1lbnRDb250cm9sIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3ByZXZpb3VzVHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAnZm9jdXNpbicsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50LnRhcmdldCA9PT0gdGhpcy5pbnB1dEVsZW1lbnQgfHxcbiAgICAgICAgICBldmVudC50YXJnZXQgPT09ICh0aGlzLmlucHV0RWxlbWVudCBhcyBTYmJTZWxlY3RFbGVtZW50IHwgdW5kZWZpbmVkKT8uaW5wdXRFbGVtZW50XG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ2ZvY3VzJyk7XG4gICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgZm9jdXMtb3JpZ2luLSR7c2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eX1gKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgcGFzc2l2ZTogdHJ1ZSB9LFxuICAgICk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAnZm9jdXNvdXQnLFxuICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBldmVudC50YXJnZXQgPT09IHRoaXMuaW5wdXRFbGVtZW50IHx8XG4gICAgICAgICAgZXZlbnQudGFyZ2V0ID09PSAodGhpcy5pbnB1dEVsZW1lbnQgYXMgU2JiU2VsZWN0RWxlbWVudCB8IHVuZGVmaW5lZCk/LmlucHV0RWxlbWVudFxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcbiAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdmb2N1cycpO1xuICAgICAgICAgIGZvciAoY29uc3Qgc3RhdGUgb2YgdGhpcy5pbnRlcm5hbHMuc3RhdGVzKSB7XG4gICAgICAgICAgICBpZiAoc3RhdGUuc3RhcnRzV2l0aCgnZm9jdXMtb3JpZ2luLScpKSB7XG4gICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoc3RhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgcGFzc2l2ZTogdHJ1ZSB9LFxuICAgICk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsICgpID0+IHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2Rpc3BsYXl2YWx1ZWNoYW5nZScsICgpID0+IHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpKTtcbiAgICAvLyBXZSB3YW50IHRvIHByZXZlbnQgdGhlIG5hdGl2ZSBicm93c2VyIHZhbGlkYXRpb24gbWVzc2FnZSBwb3BvdmVyXG4gICAgLy8gdG8gYmUgc2hvd24uIFRoaXMgYWxzbyBwcmV2ZW50cyBhIGJ1ZyBpbiBXZWJLaXQsIHdoaWNoIHdvdWxkIG5vdFxuICAgIC8vIGFsbG93IGhvc3QgYXMgdGhlIHZhbGlkaXR5IGFuY2hvcjogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2OTgzMlxuICAgIC8vIFRoaXMgaXMgZHVwbGljYXRlZCBmcm9tIHRoZSBmb3JtIGFzc29jaWF0ZWQgbWl4aW4gZm9yIHRoZSBuYXRpdmVcbiAgICAvLyBpbnB1dCBjb250cm9scyAoZS5nLiA8aW5wdXQ+IG9yIDxzZWxlY3Q+KS5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2ludmFsaWQnLCAoZSkgPT4gZS5wcmV2ZW50RGVmYXVsdCgpLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdmb3JtZmllbGRjb250cm9sJywgKGU6IFNiYkZvcm1GaWVsZENvbnRyb2xFdmVudCkgPT4ge1xuICAgICAgdGhpcy5fY29udHJvbCA9IGUuY29udHJvbDtcbiAgICAgIGlmICh0aGlzLl9jb25uZWN0SW5wdXRFbGVtZW50KCkgPT09ICd1bmNoYW5nZWQnKSB7XG4gICAgICAgIHRoaXMuX2Fzc2lnbkFyaWFEZXNjcmliZWRCeUVsZW1lbnRzKCk7XG4gICAgICAgIHRoaXMuX3JlYWRJbnB1dFN0YXRlKCk7XG4gICAgICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fYXNzaWduU2xvdHMoKTtcbiAgICB0aGlzLl9jb25uZWN0SW5wdXRFbGVtZW50KCk7XG4gICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gICAgdGhpcy5fc3luY1NpemUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbmVnYXRpdmUnKSkge1xuICAgICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3NpemUnKSkge1xuICAgICAgdGhpcy5fc3luY1NpemUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX2lucHV0Rm9ybUFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICAgIGlmICh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lID09PSAnaW5wdXQnIHx8IHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgPT09ICd0ZXh0YXJlYScpIHtcbiAgICAgIHRoaXMuX3VucGF0Y2hJbnB1dFZhbHVlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlV3JhcHBlckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2lzRWxlbWVudEZvY3VzRXhjbHVkZWQoZXZlbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NvbnRyb2w/Lm9uQ29udGFpbmVyQ2xpY2spIHtcbiAgICAgIHRoaXMuX2NvbnRyb2w/Lm9uQ29udGFpbmVyQ2xpY2soZXZlbnQpO1xuICAgIH0gZWxzZSBpZiAoKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KS5sb2NhbE5hbWUgIT09ICdsYWJlbCcpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5faW5wdXQ/LmxvY2FsTmFtZSA9PT0gJ3NiYi1zZWxlY3QnICYmXG4gICAgICAgIChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmxvY2FsTmFtZSAhPT0gJ3NiYi1zZWxlY3QnXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5faW5wdXQuY2xpY2soKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2lucHV0Py5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzRWxlbWVudEZvY3VzRXhjbHVkZWQoZXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGV2ZW50XG4gICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgIC5zb21lKFxuICAgICAgICAoZWwpID0+XG4gICAgICAgICAgKGVsIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50ICYmXG4gICAgICAgICAgICAoZWwuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpID09PSAnMCcgfHwgZWwuaGFzQXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnKSkpIHx8XG4gICAgICAgICAgdGhpcy5fZXhjbHVkZWRGb2N1c0VsZW1lbnRzLmluY2x1ZGVzKChlbCBhcyBIVE1MRWxlbWVudCkubG9jYWxOYW1lKSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vblNsb3RMYWJlbENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBsYWJlbHMgPSBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbCgnbGFiZWwnKSk7XG4gICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgbGFiZWxzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYERldGVjdGVkIG1vcmUgdGhhbiBvbmUgbGFiZWwgaW4gc2JiLWZvcm0tZmllbGQjJHt0aGlzLmlkfS4gT25seSBvbmUgbGFiZWwgaXMgc3VwcG9ydGVkLmAsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9sYWJlbCA9IGxhYmVsc1swXTtcbiAgICB0aGlzLl9zeW5jTGFiZWxJbnB1dFJlZmVyZW5jZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gYXNzaWduIHRoZSBhdHRyaWJ1dGVzIG9mIGA8aW5wdXQ+YCB0byBgX2lkYCBhbmQgYF9pbnB1dGAgYW5kIHRvIG9ic2VydmUgdGhlIG5hdGl2ZSByZWFkb25seSBhbmQgZGlzYWJsZWQgYXR0cmlidXRlcy5cbiAgICovXG4gIHByaXZhdGUgX29uU2xvdElucHV0Q2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuX2Fzc2lnblNsb3RzKCk7XG4gICAgdGhpcy5fY29ubmVjdElucHV0RWxlbWVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXNzaWduU2xvdHMoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKCdsYWJlbDpub3QoW3Nsb3RdKScpLmZvckVhY2goKGUpID0+IGUuc2V0QXR0cmlidXRlKCdzbG90JywgJ2xhYmVsJykpO1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbCgnc2JiLWVycm9yOm5vdChbc2xvdF0pJykuZm9yRWFjaCgoZSkgPT4gZS5zZXRBdHRyaWJ1dGUoJ3Nsb3QnLCAnZXJyb3InKSk7XG4gIH1cblxuICBwcml2YXRlIF9jb25uZWN0SW5wdXRFbGVtZW50KCk6ICdjaGFuZ2VkJyB8ICduby1pbnB1dCcgfCAndW5jaGFuZ2VkJyB7XG4gICAgbGV0IG5ld0lucHV0OiBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgaWYgKHRoaXMuX2NvbnRyb2w/LmlkKSB7XG4gICAgICBuZXdJbnB1dCA9ICh0aGlzLmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290KS5nZXRFbGVtZW50QnlJZCh0aGlzLl9jb250cm9sLmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRmluZCB0aGUgc2xvdHRlZCBpbnB1dCBlbGVtZW50LCBldmVuIGlmIGl0J3MgbmVzdGVkIChlLmcuIGNoaXAgZ3JvdXApXG4gICAgICBjb25zdCBpbnB1dENhbmRpZGF0ZXMgPSBBcnJheS5mcm9tKFxuICAgICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KCcqOm5vdChbc2xvdF0sc2JiLWNoaXAtZ3JvdXApJyksXG4gICAgICApO1xuICAgICAgbmV3SW5wdXQgPVxuICAgICAgICAoaW5wdXRDYW5kaWRhdGVzLmZpbmQoKGUpID0+IHRoaXMuX2lzSW5wdXRFbGVtZW50KGUpKSB8fCBpbnB1dENhbmRpZGF0ZXNbMF0pID8/IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKG5ld0lucHV0ID09PSB0aGlzLl9pbnB1dCkge1xuICAgICAgcmV0dXJuICd1bmNoYW5nZWQnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faW5wdXQpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoYGlucHV0LWVsZW1lbnQtJHt0aGlzLl9pbnB1dC5sb2NhbE5hbWV9YCk7XG4gICAgICBpZiAodGhpcy5faW5wdXQubG9jYWxOYW1lID09PSAnaW5wdXQnIHx8IHRoaXMuX2lucHV0LmxvY2FsTmFtZSA9PT0gJ3RleHRhcmVhJykge1xuICAgICAgICB0aGlzLl91bnBhdGNoSW5wdXRWYWx1ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghbmV3SW5wdXQpIHtcbiAgICAgIHRoaXMuX2lucHV0ID0gbnVsbDtcbiAgICAgIHJldHVybiAnbm8taW5wdXQnO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0ID0gbmV3SW5wdXQ7XG4gICAgdGhpcy5fcmVnaXN0ZXJJbnB1dEZvcm1MaXN0ZW5lcigpO1xuICAgIHRoaXMuX2Fzc2lnbkFyaWFEZXNjcmliZWRCeUVsZW1lbnRzKCk7XG4gICAgdGhpcy5fcmVhZElucHV0U3RhdGUoKTtcbiAgICB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcblxuICAgIGlmICh0aGlzLl9pbnB1dC5sb2NhbE5hbWUgPT09ICd0ZXh0YXJlYScpIHtcbiAgICAgIHRoaXMuX2lucHV0LnNldEF0dHJpYnV0ZSgncm93cycsIHRoaXMuX2lucHV0LmdldEF0dHJpYnV0ZSgncm93cycpIHx8ICczJyk7XG4gICAgICB0aGlzLl9wYXRjaElucHV0VmFsdWUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2lucHV0LmxvY2FsTmFtZSA9PT0gJ2lucHV0Jykge1xuICAgICAgdGhpcy5fcGF0Y2hJbnB1dFZhbHVlKCk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgICh0aGlzLl9pbnB1dC5sb2NhbE5hbWUgPT09ICdzZWxlY3QnIHx8IHRoaXMuX2lucHV0LmxvY2FsTmFtZSA9PT0gJ3NiYi1zZWxlY3QnKSAmJlxuICAgICAgIXRoaXMuaGFzVXBkYXRlZFxuICAgICkge1xuICAgICAgLy8gRHVlIHRvIFNTUiB0aGUgZHJvcGRvd24gaWNvbiBmb3Igc2VsZWN0cyBjYW5ub3QgYmUgcmVuZGVyZWQgaW4gdGhlIGZpcnN0IHJlbmRlciBwYXNzLlxuICAgICAgLy8gRHVlIHRvIHRoaXMgd2Ugc2NoZWR1bGUgYSByZS1yZW5kZXIgdG8gcmVuZGVyIHRoZSBpY29uLlxuICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+IHRoaXMucmVxdWVzdFVwZGF0ZSgpKTtcbiAgICB9XG5cbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyPy5vYnNlcnZlKHRoaXMuX2lucHV0LCB7XG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ3JlYWRvbmx5JywgJ2Rpc2FibGVkJywgJ2Zvcm0nLCAnY2xhc3MnLCAnZGF0YS1leHBhbmRlZCcsICdtYXhsZW5ndGgnXSxcbiAgICB9KTtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBpbnB1dC1lbGVtZW50LSR7dGhpcy5faW5wdXQubG9jYWxOYW1lfWApO1xuICAgIHRoaXMuX3N5bmNMYWJlbElucHV0UmVmZXJlbmNlcygpO1xuICAgIHJldHVybiAnY2hhbmdlZCc7XG4gIH1cblxuICBwcml2YXRlIF9zeW5jTGFiZWxJbnB1dFJlZmVyZW5jZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbnB1dCB8fCAhdGhpcy5fbGFiZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBuYXRpdmVJbnB1dEVsZW1lbnRzLmluY2x1ZGVzKHRoaXMuX2lucHV0LmxvY2FsTmFtZSkgfHxcbiAgICAgIChjdXN0b21FbGVtZW50cy5nZXQodGhpcy5faW5wdXQubG9jYWxOYW1lKSBhcyB7IGZvcm1Bc3NvY2lhdGVkPzogYm9vbGVhbiB9IHwgdW5kZWZpbmVkKVxuICAgICAgICA/LmZvcm1Bc3NvY2lhdGVkXG4gICAgKSB7XG4gICAgICAvLyBGb3IgbmF0aXZlIGlucHV0IGVsZW1lbnRzIHdlIHVzZSB0aGUgYGZvcmAgYXR0cmlidXRlIG9uIHRoZSBsYWJlbCB0byByZWZlcmVuY2UgdGhlIGlucHV0XG4gICAgICAvLyB2aWEgaWQgcmVmZXJlbmNlLlxuICAgICAgdGhpcy5faW5wdXQuaWQgfHw9IGBzYmItZm9ybS1maWVsZC1pbnB1dC0ke25leHRJZCsrfWA7XG4gICAgICB0aGlzLl9sYWJlbC5odG1sRm9yID0gdGhpcy5faW5wdXQuaWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZvciBub24tbmF0aXZlIGlucHV0IGVsZW1lbnRzLCB0aGF0IGRvIG5vdCBzdXBwb3J0IHJlZmVyZW5jZXMgdmlhIHRoZSBsYWJlbCBmb3IgYXR0cmlidXRlLFxuICAgICAgLy8gd2UgdXNlIGFyaWEtbGFiZWxsZWRieSBvbiB0aGUgaW5wdXQgZWxlbWVudCB0byByZWZlcmVuY2UgdGhlIGxhYmVsIGVsZW1lbnQgdmlhIGlkLlxuICAgICAgLy8gVE9ETzogTWlncmF0ZSB0byBhcmlhTGFiZWxsZWRCeUVsZW1lbnRzIHdoZW4gYXZhaWxhYmxlOlxuICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0VsZW1lbnQvYXJpYUxhYmVsbGVkQnlFbGVtZW50c1xuICAgICAgdGhpcy5fbGFiZWwuaWQgfHw9IGBzYmItZm9ybS1maWVsZC1sYWJlbC0ke25leHRJZCsrfWA7XG4gICAgICBjb25zdCBsYWJlbGxlZGJ5ID1cbiAgICAgICAgdGhpcy5faW5wdXRcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKVxuICAgICAgICAgID8uc3BsaXQoJyAnKVxuICAgICAgICAgIC5maWx0ZXIoKGwpID0+ICEhbCAmJiBsICE9PSB0aGlzLl9sYWJlbCEuaWQpID8/IFtdO1xuICAgICAgdGhpcy5faW5wdXQuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknLCBbLi4ubGFiZWxsZWRieSwgdGhpcy5fbGFiZWwuaWRdLmpvaW4oJyAnKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNJbnB1dEVsZW1lbnQoaW5wdXQ6IEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgbmF0aXZlSW5wdXRFbGVtZW50cy5pbmNsdWRlcyhpbnB1dC5sb2NhbE5hbWUpIHx8XG4gICAgICAhIShjdXN0b21FbGVtZW50cy5nZXQoaW5wdXQubG9jYWxOYW1lKSBhcyB7IGZvcm1Bc3NvY2lhdGVkPzogYm9vbGVhbiB9IHwgdW5kZWZpbmVkKVxuICAgICAgICA/LmZvcm1Bc3NvY2lhdGVkXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlYWRJbnB1dFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ3JlYWRvbmx5JywgdGhpcy5fY29udHJvbD8ucmVhZE9ubHkgPz8gdGhpcy5faW5wdXQhLmhhc0F0dHJpYnV0ZSgncmVhZG9ubHknKSk7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnZGlzYWJsZWQnLCB0aGlzLl9jb250cm9sPy5kaXNhYmxlZCA/PyB0aGlzLl9pbnB1dCEuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdoYXMtcG9wdXAtb3BlbicsIHRoaXMuX2lucHV0IS5oYXNBdHRyaWJ1dGUoJ2RhdGEtZXhwYW5kZWQnKSk7XG5cbiAgICBpZiAodGhpcy5fcHJldmlvdXNUeXBlKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBpbnB1dC10eXBlLSR7dGhpcy5fcHJldmlvdXNUeXBlfWApO1xuICAgIH1cblxuICAgIHRoaXMuX3ByZXZpb3VzVHlwZSA9IHRoaXMuX2NvbnRyb2w/LnR5cGUgPz8gKHRoaXMuX2lucHV0IGFzIHsgdHlwZT86IHN0cmluZyB9KS50eXBlID8/ICd0ZXh0JztcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBpbnB1dC10eXBlLSR7dGhpcy5fcHJldmlvdXNUeXBlfWApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVnaXN0ZXJJbnB1dEZvcm1MaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnB1dEZvcm1BYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICBjb25zdCB7IHNpZ25hbCB9ID0gKHRoaXMuX2lucHV0Rm9ybUFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKSk7XG5cbiAgICBjb25zdCBmb3JtID1cbiAgICAgICh0aGlzLl9pbnB1dCBhcyBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCB1bmRlZmluZWQpPy5mb3JtID8/XG4gICAgICB0aGlzLl9pbnB1dD8uY2xvc2VzdCgnZm9ybScpO1xuICAgIC8vIFRpbWVvdXQgbmVlZGVkIHRvIGhhdmUgdmFsdWUgdXBkYXRlZFxuICAgIGNvbnN0IHJlc2V0SGFuZGxlciA9ICgpOiB1bmtub3duID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZXNldCgpKTtcbiAgICBmb3JtPy5hZGRFdmVudExpc3RlbmVyKCdyZXNldCcsIHJlc2V0SGFuZGxlciwgeyBzaWduYWwgfSk7XG4gIH1cblxuICAvLyBXZSBuZWVkIHRvIHBhdGNoIHRoZSB2YWx1ZSBwcm9wZXJ0eSBvZiB0aGUgSFRNTElucHV0RWxlbWVudCBpbiBvcmRlclxuICAvLyB0byBiZSBhYmxlIHRvIHJlc2V0IHRoZSBmbG9hdGluZyBsYWJlbCBpbiB0aGUgZW1wdHkgc3RhdGUuXG4gIHByaXZhdGUgX3BhdGNoSW5wdXRWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLl9pbnB1dCBhcyBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudDtcbiAgICBpZiAoIWlucHV0RWxlbWVudCB8fCBwYXRjaGVkSW5wdXRzLmhhcyhpbnB1dEVsZW1lbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb3JpZ2luYWxEZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihcbiAgICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZihpbnB1dEVsZW1lbnQpLFxuICAgICAgJ3ZhbHVlJyxcbiAgICApO1xuXG4gICAgaWYgKCFvcmlnaW5hbERlc2NyaXB0b3IgfHwgIW9yaWdpbmFsRGVzY3JpcHRvci5zZXQgfHwgIW9yaWdpbmFsRGVzY3JpcHRvci5nZXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBwYXRjaGVkSW5wdXRzLnNldChpbnB1dEVsZW1lbnQsIG9yaWdpbmFsRGVzY3JpcHRvcik7XG5cbiAgICBjb25zdCB7IGdldDogZ2V0dGVyLCBzZXQ6IHNldHRlciB9ID0gb3JpZ2luYWxEZXNjcmlwdG9yO1xuICAgIGNvbnN0IGNoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSA9ICgpOiB2b2lkID0+IHtcbiAgICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuXG4gICAgICAvLyBVc2VkIHRvIG5vdGlmeSB0aGUgcmVtYWluaW5nIGNoYXJzIGNvbXBvbmVudCB0byB1cGRhdGUgaXRzIGNvdW50XG4gICAgICAvLyB3aGVuIHRoZSB2YWx1ZSBpcyBjaGFuZ2VkIHZpYSBmb3JtIHJlc2V0IG9yIHByb2dyYW1tYXRpY2FsbHkuXG4gICAgICAvLyBXZSBuZWVkIGEgY3VzdG9tIGV2ZW50IGZvciB0aGlzLCBiZWNhdXNlIHRoZSBuYXRpdmUgaW5wdXQgZXZlbnQgaXNcbiAgICAgIC8vIG5vdCB0cmlnZ2VyZWQgaW4gdGhlc2UgY2FzZXMuXG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtWlucHV0JykpO1xuICAgIH07XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5wdXRFbGVtZW50LCAndmFsdWUnLCB7XG4gICAgICAuLi5vcmlnaW5hbERlc2NyaXB0b3IsXG4gICAgICBnZXQoKSB7XG4gICAgICAgIHJldHVybiBnZXR0ZXIuY2FsbCh0aGlzKTtcbiAgICAgIH0sXG4gICAgICBzZXQobmV3VmFsdWUpIHtcbiAgICAgICAgc2V0dGVyLmNhbGwodGhpcywgbmV3VmFsdWUpO1xuICAgICAgICBjaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF91bnBhdGNoSW5wdXRWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLl9pbnB1dCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IG9yaWdpbmFsRGVzY3JpcHRvciA9IHBhdGNoZWRJbnB1dHMuZ2V0KGlucHV0RWxlbWVudCk7XG4gICAgaWYgKG9yaWdpbmFsRGVzY3JpcHRvcikge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlucHV0RWxlbWVudCwgJ3ZhbHVlJywgb3JpZ2luYWxEZXNjcmlwdG9yKTtcbiAgICAgIHBhdGNoZWRJbnB1dHMuZGVsZXRlKGlucHV0RWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnZW1wdHknLFxuICAgICAgdGhpcy5fY29udHJvbD8uZW1wdHkgPz9cbiAgICAgICAgKCgodGhpcy5fZmxvYXRpbmdMYWJlbFN1cHBvcnRlZElucHV0RWxlbWVudHMuaW5jbHVkZXModGhpcy5faW5wdXQ/LmxvY2FsTmFtZSBhcyBzdHJpbmcpIHx8XG4gICAgICAgICAgKHRoaXMuX2lucHV0Py5jb25zdHJ1Y3RvciBhcyB1bmRlZmluZWQgfCB0eXBlb2YgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZSlcbiAgICAgICAgICAgID8uZm9ybUZpZWxkQXNzb2NpYXRlZCkgPz9cbiAgICAgICAgICBmYWxzZSkgJiZcbiAgICAgICAgICB0aGlzLl9pc0lucHV0RW1wdHkoKSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzSW5wdXRFbXB0eSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjaGlwR3JvdXBFbGVtOiBTYmJDaGlwR3JvdXBFbGVtZW50IHwgbnVsbCA9IHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWNoaXAtZ3JvdXAnKTtcbiAgICBpZiAoY2hpcEdyb3VwRWxlbSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgdGhpcy5faXNJbnB1dFZhbHVlRW1wdHkoKSAmJlxuICAgICAgICAoQXJyYXkuaXNBcnJheShjaGlwR3JvdXBFbGVtLnZhbHVlKVxuICAgICAgICAgID8gY2hpcEdyb3VwRWxlbS52YWx1ZS5sZW5ndGggPT09IDBcbiAgICAgICAgICA6ICFjaGlwR3JvdXBFbGVtLnF1ZXJ5U2VsZWN0b3IoJ3NiYi1jaGlwJykpXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faW5wdXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLl9mbG9hdGluZ0xhYmVsU3VwcG9ydGVkSW5wdXRUeXBlcy5pbmNsdWRlcyh0aGlzLl9pbnB1dC50eXBlKSAmJlxuICAgICAgICB0aGlzLl9pc0lucHV0VmFsdWVFbXB0eSgpXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faW5wdXQgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2lucHV0LnNlbGVjdGVkT3B0aW9ucz8uaXRlbSgwKT8ubGFiZWw/LnRyaW0oKSA9PT0gJyc7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lID09PSAnc2JiLXNlbGVjdCcpIHtcbiAgICAgIHJldHVybiAodGhpcy5faW5wdXQgYXMgU2JiU2VsZWN0RWxlbWVudCkuZ2V0RGlzcGxheVZhbHVlPy4oKT8udHJpbSgpID09PSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuX2lzSW5wdXRWYWx1ZUVtcHR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNJbnB1dFZhbHVlRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdmFsdWUgPSAodGhpcy5faW5wdXQgYXMgeyB2YWx1ZTogc3RyaW5nIH0pLnZhbHVlO1xuICAgIHJldHVybiBbJycsIHVuZGVmaW5lZCwgbnVsbF0uaW5jbHVkZXModmFsdWUpIHx8IChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0IGlzIHVzZWQgaW50ZXJuYWxseSB0byBzZXQgdGhlIGFyaWEtZGVzY3JpYmVkYnkgYXR0cmlidXRlIGZvciB0aGUgc2xvdHRlZCBpbnB1dCByZWZlcmVuY2luZyBhdmFpbGFibGUgPHNiYi1lcnJvcj4gaW5zdGFuY2VzLlxuICAgKi9cbiAgcHJpdmF0ZSBfb25TbG90RXJyb3JDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZXJyb3JFbGVtZW50cyA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KS5hc3NpZ25lZEVsZW1lbnRzKCk7XG4gICAgaWYgKHRoaXMuX2lucHV0ICYmIHRoaXMuX2lucHV0LmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2lucHV0LmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzID0gcmVtb3ZlQXJpYUVsZW1lbnRzKFxuICAgICAgICB0aGlzLl9pbnB1dC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyxcbiAgICAgICAgLi4uKHRoaXMuX2Vycm9yRWxlbWVudHMgPz8gW10pLFxuICAgICAgICAvLyBBbHNvIHJlbW92ZSBoaW50IGVsZW1lbnRzIHNpbmNlIHRoZWlyIHZpc2liaWxpdHkgZGVwZW5kcyBvbiBlcnJvciBzdGF0ZVxuICAgICAgICAuLi4odGhpcy5faGludEVsZW1lbnRzID8/IFtdKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5fZXJyb3JFbGVtZW50cyA9IGVycm9yRWxlbWVudHM7XG4gICAgZm9yIChjb25zdCBlbCBvZiB0aGlzLl9lcnJvckVsZW1lbnRzKSB7XG4gICAgICAvLyBJbnN0ZWFkIG9mIGRlZmluaW5nIGEgY29udGFpbmVyIHdpdGggYW4gYXJpYS1saXZlIHJlZ2lvbiBhcyBleHBlY3RlZCwgd2UgaGFkIHRvIGNoYW5nZVxuICAgICAgLy8gc2V0dGluZyBpdCBmb3IgZXZlcnkgc2xvdHRlZCBlbGVtZW50IHRvIHByb3Blcmx5IHdvcmsgaW4gYWxsIGJyb3dzZXJzIGFuZCBzY3JlZW4gcmVhZGVyIGNvbWJpbmF0aW9ucy5cbiAgICAgIGVsLnJvbGUgfHw9ICdzdGF0dXMnO1xuICAgIH1cblxuICAgIHRoaXMuX2Fzc2lnbkFyaWFEZXNjcmliZWRCeUVsZW1lbnRzKCk7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnaGFzLWVycm9yJywgISF0aGlzLl9lcnJvckVsZW1lbnRzLmxlbmd0aCk7XG4gICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gIH1cblxuICAvKipcbiAgICogSXQgaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHNldCB0aGUgYXJpYS1kZXNjcmliZWRieSBhdHRyaWJ1dGUgZm9yIHRoZSBzbG90dGVkIGlucHV0IHJlZmVyZW5jaW5nIGF2YWlsYWJsZSA8c2JiLWhpbnQ+IGluc3RhbmNlcy5cbiAgICovXG4gIHByaXZhdGUgX29uU2xvdEhpbnRDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaGludEVsZW1lbnRzID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpLmFzc2lnbmVkRWxlbWVudHMoKTtcbiAgICBpZiAodGhpcy5faW5wdXQ/LmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzPy5sZW5ndGggJiYgdGhpcy5faGludEVsZW1lbnRzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2lucHV0LmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzID0gcmVtb3ZlQXJpYUVsZW1lbnRzKFxuICAgICAgICB0aGlzLl9pbnB1dC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyxcbiAgICAgICAgLi4udGhpcy5faGludEVsZW1lbnRzLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLl9oaW50RWxlbWVudHMgPSBoaW50RWxlbWVudHM7XG4gICAgdGhpcy5fYXNzaWduQXJpYURlc2NyaWJlZEJ5RWxlbWVudHMoKTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdoYXMtaGludCcsICEhdGhpcy5faGludEVsZW1lbnRzLmxlbmd0aCk7XG4gICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gIH1cblxuICBwcml2YXRlIF9hc3NpZ25BcmlhRGVzY3JpYmVkQnlFbGVtZW50cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faW5wdXQpIHtcbiAgICAgIC8vIEhpbnQgZWxlbWVudHMgYXJlIG9ubHkgbGlua2VkIHdoZW4gdGhlcmUgYXJlIG5vIGVycm9yc1xuICAgICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLl9lcnJvckVsZW1lbnRzLmxlbmd0aCA/IHRoaXMuX2Vycm9yRWxlbWVudHMgOiB0aGlzLl9oaW50RWxlbWVudHM7XG4gICAgICB0aGlzLl9pbnB1dC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyA9IGFwcGVuZEFyaWFFbGVtZW50cyhcbiAgICAgICAgdGhpcy5faW5wdXQuYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMsXG4gICAgICAgIC4uLmVsZW1lbnRzLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKiogTWFudWFsbHkgcmVzZXQgdGhlIGZvcm0gZmllbGQuIEN1cnJlbnRseSwgdGhpcyBvbmx5IHJlc2V0cyB0aGUgZmxvYXRpbmcgbGFiZWwuICovXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcbiAgfVxuXG4gIC8qKiBNYW51YWxseSBjbGVhcnMgdGhlIGlucHV0IHZhbHVlLiBJdCBvbmx5IHdvcmtzIGZvciBpbnB1dHMsIHNlbGVjdHMgYXJlIG5vdCBzdXBwb3J0ZWQuICovXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICBpZiAoKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgYXMgc3RyaW5nKSAhPT0gJ2lucHV0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAodGhpcy5faW5wdXQgYXMgeyB2YWx1ZTogc3RyaW5nIH0pLnZhbHVlID0gJyc7XG4gICAgdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCk7XG4gIH1cblxuICBwcml2YXRlIF9zeW5jTmVnYXRpdmUoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oXG4gICAgICAnc2JiLWVycm9yLHNiYi1taW5pLWJ1dHRvbixzYmItbWluaS1idXR0b24tbGluayxzYmItZm9ybS1maWVsZC1jbGVhcixzYmItZGF0ZXBpY2tlci1uZXh0LWRheSxzYmItZGF0ZXBpY2tlci1wcmV2aW91cy1kYXksc2JiLWRhdGVwaWNrZXItdG9nZ2xlLHNiYi1zZWxlY3Qsc2JiLWF1dG9jb21wbGV0ZSxzYmItYXV0b2NvbXBsZXRlLWdyaWQsc2JiLWNoaXAtZ3JvdXAsc2JiLWhpbnQsc2JiLWZvcm0tZmllbGQtdGV4dC1jb3VudGVyJyxcbiAgICApLmZvckVhY2goKGVsZW1lbnQpID0+IGVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCduZWdhdGl2ZScsIHRoaXMubmVnYXRpdmUpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNTaXplKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHwgU2JiU2VsZWN0RWxlbWVudD4oXG4gICAgICAnc2JiLWF1dG9jb21wbGV0ZSxzYmItYXV0b2NvbXBsZXRlLWdyaWQsc2JiLXNlbGVjdCcsXG4gICAgKS5mb3JFYWNoKChlbGVtZW50KSA9PiAoZWxlbWVudC5zaXplID0gdGhpcy5zaXplID09PSAnbCcgPyAnbScgOiB0aGlzLnNpemUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19zcGFjZS13cmFwcGVyXCI+XG4gICAgICAgICR7LyogUXVlcmllZCBieSBpZCBmcm9tIHRoZSBhdXRvY29tcGxldGUvc2VsZWN0IHRvIGJlIHVzZWQgYXMgdGhlIGFuY2hvciBlbGVtZW50ICovICcnfVxuICAgICAgICA8ZGl2IEBjbGljaz0ke3RoaXMuX2hhbmRsZVdyYXBwZXJDbGlja30gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fd3JhcHBlclwiIGlkPVwib3ZlcmxheS1hbmNob3JcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwicHJlZml4XCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9zeW5jTmVnYXRpdmV9Pjwvc2xvdD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2lucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWwtc3BhY2VyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWwtZWxsaXBzaXNcIj5cbiAgICAgICAgICAgICAgICA8c2xvdCBuYW1lPVwibGFiZWxcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX29uU2xvdExhYmVsQ2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItZm9ybS1maWVsZF9faW5wdXRcIj5cbiAgICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vblNsb3RJbnB1dENoYW5nZX0+PC9zbG90PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c2JiLWljb25cbiAgICAgICAgICAgICAgbmFtZT1cImNoZXZyb24tc21hbGwtZG93bi1zbWFsbFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX3NlbGVjdC1pbnB1dC1pY29uXCJcbiAgICAgICAgICAgID48L3NiYi1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJzdWZmaXhcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX3N5bmNOZWdhdGl2ZX0+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2hpbnRcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwiaGludFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25TbG90SGludENoYW5nZX0+PC9zbG90PlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJlcnJvclwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25TbG90RXJyb3JDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZm9ybS1maWVsZCc6IFNiYkZvcm1GaWVsZEVsZW1lbnQ7XG4gIH1cblxuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRFdmVudE1hcCB7XG4gICAgZm9ybWZpZWxkY29udHJvbDogU2JiRm9ybUZpZWxkQ29udHJvbEV2ZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQzJCQSxJQUFJLFNBQVM7QUFFYixJQUFNLGdDQUFnQixJQUFJLFFBQU87QUFDakMsSUFBTSxzQkFBc0I7Q0FBQztDQUFTO0NBQVk7QUFBUTtBQXlCMUQsSUFBYSwyQkFBYixjQUE4QyxNQUFLO0NBR2pELElBQVcsVUFBTztFQUNoQixPQUFPLEtBQUs7Q0FDZDtDQUVBLFlBQW1CLFNBQTBDO0VBQzNELE1BQU0sa0JBQWtCO0VBQ3hCLEtBQUssV0FBVztDQUNsQjs7Ozs7Ozs7Ozs7Ozs7O0lBZ0JXLDZCQUFtQjttQkFBUyxpQkFBaUIsVUFBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztjQUF2RCw0QkFBNEIsWUFB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
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as SbbErrorElement } from "./error.component-
|
|
2
|
-
import { n as SbbFormFieldElement, t as SbbFormFieldControlEvent } from "./form-field.component-
|
|
1
|
+
import { t as SbbErrorElement } from "./error.component-Bp7ztvQB.js";
|
|
2
|
+
import { n as SbbFormFieldElement, t as SbbFormFieldControlEvent } from "./form-field.component-YM-Z5aZf.js";
|
|
3
3
|
import { SbbFormFieldClearElement } from "./form-field/form-field-clear/form-field-clear.component.js";
|
|
4
4
|
import { SbbFormFieldTextCounterElement } from "./form-field/form-field-text-counter/form-field-text-counter.component.js";
|
|
5
|
-
import { t as SbbHintElement } from "./hint.component-
|
|
5
|
+
import { t as SbbHintElement } from "./hint.component-CdM71SNj.js";
|
|
6
6
|
import "./form-field.pure.js";
|
|
7
7
|
//#region src/elements/form-field.ts
|
|
8
8
|
/** @entrypoint */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as SbbErrorElement } from "./error.component-
|
|
2
|
-
import { n as SbbFormFieldElement, t as SbbFormFieldControlEvent } from "./form-field.component-
|
|
1
|
+
import { t as SbbErrorElement } from "./error.component-Bp7ztvQB.js";
|
|
2
|
+
import { n as SbbFormFieldElement, t as SbbFormFieldControlEvent } from "./form-field.component-YM-Z5aZf.js";
|
|
3
3
|
import { SbbFormFieldClearElement } from "./form-field/form-field-clear/form-field-clear.component.js";
|
|
4
4
|
import { SbbFormFieldTextCounterElement } from "./form-field/form-field-text-counter/form-field-text-counter.component.js";
|
|
5
|
-
import { t as SbbHintElement } from "./hint.component-
|
|
5
|
+
import { t as SbbHintElement } from "./hint.component-CdM71SNj.js";
|
|
6
6
|
export { SbbErrorElement, SbbFormFieldClearElement, SbbFormFieldControlEvent, SbbFormFieldElement, SbbFormFieldTextCounterElement, SbbHintElement };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbHeaderActionCommonElementMixin } from "../../header-action-common-
|
|
1
|
+
import { t as SbbHeaderActionCommonElementMixin } from "../../header-action-common-CDiEhWa0.js";
|
|
2
2
|
export { SbbHeaderActionCommonElementMixin };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbHeaderElement } from "../../header.component-
|
|
1
|
+
import { t as SbbHeaderElement } from "../../header.component-B43X03Jg.js";
|
|
2
2
|
export { SbbHeaderElement };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbHeaderEnvironmentElement } from "../../header-environment.component
|
|
1
|
+
import { t as SbbHeaderEnvironmentElement } from "../../header-environment.component--4YEZyKq.js";
|
|
2
2
|
export { SbbHeaderEnvironmentElement };
|
|
@@ -83,4 +83,4 @@ var SbbHeaderActionCommonElementMixin = (superClass) => {
|
|
|
83
83
|
//#endregion
|
|
84
84
|
export { SbbHeaderActionCommonElementMixin as t };
|
|
85
85
|
|
|
86
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWFjdGlvbi1jb21tb24tQllCLUhZdG4uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2hlYWRlci9jb21tb24vaGVhZGVyLWFjdGlvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9oZWFkZXIvY29tbW9uL2hlYWRlci1hY3Rpb24tY29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbkBtaXhpbiBpY29uLW9ubHkge1xuICAvLyBUaGUgdmFyaWFibGUgaXMgYXNzaWduZWQgdG8gdGhlIHByb3BlcnR5IGluIHRoZSBzYmItaGVhZGVyIGNvbXBvbmVudCBpZiBpdCBpc1xuICAvLyB0aGUgZmlyc3QgZWxlbWVudCBpbiB0aGUgaGVhZGVyIGFuZCBuZWVkcyBsZWZ0IG9mZnNldCBjb3JyZWN0aW9uIChzZWUgc2JiLWhlYWRlci5zY3NzKS5cbiAgLy8gVG8gYXZvaWQgZHVwbGljYXRlZCBDU1MgZGVmaW5pdGlvbnMsIHRoZSB2YWx1ZSBpdHNlbGYgaXMgYXNzaWduZWQgaGVyZSBpblxuICAvLyBzYmItaGVhZGVyLWJ1dHRvbi9zYmItaGVhZGVyLWxpbmsgaW5zdGVhZCBvZiBzYmItaGVhZGVyLlxuXG4gIC8vIE1vdmUgaXQgbGVmdCBieSBwYWRkaW5nIG9mIGhlYWRlciBhY3Rpb24gdG8gdGhlIGljb24gaXRzZWxmLlxuICAtLV9zYmItaGVhZGVyLWZpcnN0LWl0ZW0tcGFkZGluZy1zaGlmdDogY2FsYyhcbiAgICAtMC41ICogKHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLW1pbi13aWR0aCkgLSB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1pY29uLWRpbWVuc2lvbikpXG4gICk7XG4gIC0tc2JiLWhlYWRlci1hY3Rpb24tcGFkZGluZy1pbmxpbmUtemVybzogMDtcbiAgLS1zYmItaGVhZGVyLWFjdGlvbi1hY3RpdmUtYm9yZGVyLW1hcmdpbi1pbmxpbmU6IGNhbGMoXG4gICAgMC41ICogKDEwMCUgLSB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKSlcbiAgKTtcblxuICAuc2JiLWhlYWRlci1hY3Rpb25fX3RleHQge1xuICAgIEBpbmNsdWRlIHNiYi5zY3JlZW4tcmVhZGVyLW9ubHk7XG5cbiAgICAvLyBUaGlzIGlzIGEgd29ya2Fyb3VuZCB0byBmaXggc3R5bGluZyBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2Ugb24gaU9TLlxuICAgIC8vIElmIHRoZSBkaXNwbGF5IHZhbHVlIGNoYW5nZXMgY29tcGFyaW5nIHRvIHRoZSBiYXNlIHN0YXRlIChkaXNwbGF5OiBmbGV4KSxcbiAgICAvLyBpdCByZS1yZW5kZXJzIGFuZCBkaXNwbGF5cyBldmVyeXRoaW5nIGNvcnJlY3RseS5cbiAgICAvLyBXaXRob3V0IHRoaXMgd29ya2Fyb3VuZCwgZWxlbWVudHMgYXJlIG92ZXJsYXBwaW5nIGVhY2ggb3RoZXIuXG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG46aG9zdCB7XG4gIC0tc2JiLWhlYWRlci1hY3Rpb24tYWN0aXZlLWJvcmRlci1tYXJnaW4taW5saW5lOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1wYWRkaW5nLWlubGluZSk7XG4gIC0tc2JiLWhlYWRlci1hY3Rpb24tbWluLXdpZHRoOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1taW4taGVpZ2h0KTtcbiAgLS1zYmItaGVhZGVyLWFjdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0yeClcbiAgKTtcblxuICAvLyBJZiBleHBhbmRlZCwgbW92ZSBpdCBsZWZ0IGJ5IGxlZnQgcGFkZGluZy5cbiAgLy8gQXMgcmVzdWx0LCB0aGUgaWNvbiBzaG91bGQgYmUgYWxpZ25lZCB3aXRoIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHBhZ2Ugd3JhcHBlci5cbiAgLS1fc2JiLWhlYWRlci1maXJzdC1pdGVtLXBhZGRpbmctc2hpZnQ6IGNhbGMoLTEgKiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1wYWRkaW5nLWlubGluZSkpO1xuICAtLXNiYi1oZWFkZXItZmlyc3QtaXRlbS1tYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKFxuICAgIHZhcigtLV9zYmItaGVhZGVyLWZpcnN0LWl0ZW0tcGFkZGluZy1zaGlmdCkgLSB2YXIoLS1zYmItaGVhZGVyLWZpcnN0LWl0ZW0taWNvbi1zaGlmdClcbiAgKTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgLy8gVXNlICFpbXBvcnRhbnQgaGVyZSB0byBub3QgaW50ZXJmZXJlIHdpdGggRmlyZWZveCBmb2N1cyByaW5nIGRlZmluaXRpb25cbiAgLy8gd2hpY2ggYXBwZWFycyBpbiBub3JtYWxpemUgQ1NTIG9mIHNldmVyYWwgZnJhbWV3b3Jrcy5cbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AaW5jbHVkZSBzYmIuaG92ZXItbXEoJGhvdmVyOiB0cnVlKSB7XG4gIDpob3N0KDpob3Zlcjpub3QoOmFjdGl2ZSwgOnN0YXRlKGFjdGl2ZSkpKSB7XG4gICAgLS1zYmItaGVhZGVyLWFjdGlvbi1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgICAtLXNiYi1oZWFkZXItYWN0aW9uLXRyYW5zbGF0ZS15OiAje3NiYi5weC10by1yZW0tYnVpbGQoLTEpfTtcbiAgICAtLXNiYi1oZWFkZXItYWN0aW9uLWJhY2tncm91bmQtaW5zZXQ6IGNhbGModmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCkgKiAtMSk7XG5cbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgLS1zYmItaGVhZGVyLWFjdGlvbi1ib3JkZXItY29sb3I6IEhpZ2hsaWdodDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtcykpIHtcbiAgLS1zYmItaGVhZGVyLWFjdGlvbi1taW4taGVpZ2h0OiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1taW4taGVpZ2h0LXMpO1xuICAtLXNiYi1oZWFkZXItYWN0aW9uLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1wYWRkaW5nLWlubGluZS1zKTtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtbSkpIHtcbiAgLS1zYmItaGVhZGVyLWFjdGlvbi1taW4taGVpZ2h0OiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1taW4taGVpZ2h0LW0pO1xuICAtLXNiYi1oZWFkZXItYWN0aW9uLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1wYWRkaW5nLWlubGluZS1tKTtcbn1cblxuOmhvc3QoOmlzKDphY3RpdmUsIDpzdGF0ZShhY3RpdmUpKSkge1xuICAtLXNiYi1oZWFkZXItYWN0aW9uLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQpO1xuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItaGVhZGVyLWFjdGlvbi1ib3JkZXItY29sb3I6IEhpZ2hsaWdodDtcbiAgfVxufVxuXG46aG9zdCguc2JiLWFjdGl2ZSkge1xuICAtLXNiYi1oZWFkZXItYWN0aW9uLWFjdGl2ZS1ib3JkZXItc2NhbGU6IDE7XG5cbiAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAtLXNiYi1oZWFkZXItYWN0aW9uLWJvcmRlci1jb2xvcjogSGlnaGxpZ2h0O1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZShidXR0b24pKSB7XG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItaGVhZGVyLWFjdGlvbi1jb2xvcjogQnV0dG9uVGV4dDtcbiAgfVxufVxuXG4vLyBJZiB0aGVyZSBpcyBubyBpY29uIGFuZCB0aGUgYWN0aW9uIGlzIHRoZSBmaXJzdCBpbiB0aGUgaGVhZGVyLCB0aGUgbGVmdCBvZmZzZXRcbi8vIG11c3QgYmUgY2hhbmdlZCAob3RoZXIgdmFsdWUgdGhhbiBmb3IgdGhlIGljb24gb25seSB2YXJpYW50KSB0byBhbGlnbiB0aGUgdGV4dCB3aXRoIHRoZSBjb250YWluZXIuXG4vLyBUaGUgdmFsdWUgY29ycmVzcG9uZHMgdG8gdGhlIHBhZGRpbmcgb2YgdGhlIGhlYWRlciBhY3Rpb24gaXRzZWxmLlxuOmhvc3QoOm5vdCg6c3RhdGUoc2xvdHRlZC1pY29uKSwgOnN0YXRlKGhhcy1pY29uLW5hbWUpKSkge1xuICAtLXNiYi1oZWFkZXItZmlyc3QtaXRlbS1tYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1fc2JiLWhlYWRlci1maXJzdC1pdGVtLXBhZGRpbmctc2hpZnQpO1xufVxuXG4uc2JiLWFjdGlvbi1iYXNlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1taW4taGVpZ2h0KTtcbiAgbWluLXdpZHRoOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1taW4td2lkdGgpO1xuICBwYWRkaW5nLWlubGluZTogdmFyKFxuICAgIC0tc2JiLWhlYWRlci1hY3Rpb24tcGFkZGluZy1pbmxpbmUtemVybyxcbiAgICB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1wYWRkaW5nLWlubGluZSlcbiAgKTtcbiAgY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLXBvaW50ZXIpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBpbnNldDogdmFyKC0tc2JiLWhlYWRlci1hY3Rpb24tYmFja2dyb3VuZC1pbnNldCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtaW5maW5pdHkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLWJhY2tncm91bmQtY29sb3IpO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi10cmFuc2l0aW9uLWVhc2luZyk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaW5zZXQsIGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1ib3JkZXItY29sb3IpO1xuXG4gICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCk7XG4gICAgfVxuICB9XG5cbiAgLy8gSGFuZGxlIGZvY3VzIG9uIHRoZSBob3N0IChidXR0b24gdmFyaWFudClcbiAgOmhvc3QoOmZvY3VzLXZpc2libGUpICYsXG4gIC8vIEhhbmRsZSBmb2N1cyBvbiB0aGUgYWN0aW9uIChsaW5rIHZhcmlhbnQpXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjdGl2ZSBzdGF0ZSBib3JkZXJcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1hY3RpdmUtYm9yZGVyLXdpZHRoKSBzb2xpZFxuICAgICAgdmFyKC0tc2JiLWhlYWRlci1hY3Rpb24tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgaW5zZXQ6IGF1dG8gMCBjYWxjKC0xICogdmFyKC0tc2JiLWhlYWRlci1hY3Rpb24tYWN0aXZlLWJvcmRlci13aWR0aCkpO1xuICAgIG1hcmdpbi1pbmxpbmU6IHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLWFjdGl2ZS1ib3JkZXItbWFyZ2luLWlubGluZSk7XG4gICAgc2NhbGU6IHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLWFjdGl2ZS1ib3JkZXItc2NhbGUsIDApO1xuICAgIHRyYW5zaXRpb246IHNjYWxlIHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLXRyYW5zaXRpb24tZWFzaW5nKVxuICAgICAgdmFyKC0tc2JiLWhlYWRlci1hY3Rpb24tdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gIH1cbn1cblxuLnNiYi1oZWFkZXItYWN0aW9uX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1nYXApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0tc2JiLWhlYWRlci1hY3Rpb24tdHJhbnNsYXRlLXksIDApKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24pXG4gICAgdmFyKC0tc2JiLWhlYWRlci1hY3Rpb24tdHJhbnNpdGlvbi1lYXNpbmcpO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5zYmItaGVhZGVyLWFjdGlvbl9faWNvbiB7XG4gIC8vIFNldCBzdHJva2Ugb24gaGVhZGVyIGljb25zXG4gIC0tc2JiLWljb24tc3ZnLXN0cm9rZS1jb2xvcjogY3VycmVudGNvbG9yO1xuICAtLXNiYi1pY29uLXN2Zy1zdHJva2Utd2lkdGg6IDFweDtcblxuICBtaW4td2lkdGg6IHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLWljb24tZGltZW5zaW9uKTtcbiAgbWluLWhlaWdodDogdmFyKC0tc2JiLWhlYWRlci1hY3Rpb24taWNvbi1kaW1lbnNpb24pO1xuICBsaW5lLWhlaWdodDogMDtcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkLWljb24pLCA6c3RhdGUoaGFzLWljb24tbmFtZSkpKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zYmItaGVhZGVyLWFjdGlvbl9fdGV4dCB7XG4gIEBpbmNsdWRlIHNiYi5lbGxpcHNpcztcblxuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi10ZXh0LWZvbnQtc2l6ZS14cyk7XG5cbiAgOmhvc3QoOm5vdCg6c3RhdGUoc2xvdHRlZCkpKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIElmIHRoZXJlIGlzIG5vIHNsb3R0ZWQgdGV4dCwgcmVnYXJkbGVzcyBvZiBleHBhbmRlZC1mcm9tIHN0YXRlLCB0aGUgaWNvbiBvbmx5IHZhcmlhbnQgc2hvdWxkIGJlIHNldC5cbjpob3N0KDppcyg6c3RhdGUoc2xvdHRlZC1pY29uKSwgOnN0YXRlKGhhcy1pY29uLW5hbWUpKTpub3QoOnN0YXRlKHNsb3R0ZWQpKSkge1xuICBAaW5jbHVkZSBpY29uLW9ubHk7XG59XG5cbi8vIFRPRE86IHJlZXZhbHVhdGUgdGhpcyBvbmNlICdDU1MgY29udGFpbmVyIHF1ZXJpZXMnIGlzIHN1cHBvcnRlZFxuLy8gaHR0cHM6Ly9jYW5pdXNlLmNvbS9jc3MtY29udGFpbmVyLXF1ZXJpZXMtc3R5bGVcbkBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gc2JiLiRtcS1icmVha3BvaW50cyB7XG4gIC8vIFdlIHNraXAgemVybyBicmVha3BvaW50IGFzIGl0IHdvdWxkIHJlc29sdmUgaW50byAodG86IDApLlxuICAvLyBUaGUgcnVsZXMgYXJlIHNldCB0byBmb3JjZSB0aGUgaWNvbiBvbmx5IHZhcmlhbnQgaWYgdGhlcmUgaXMgc2xvdHRlZCB0ZXh0LCBidXQgbm90IHlldCBleHBhbmRlZC5cbiAgQGlmICRicmVha3BvaW50ICE9ICd6ZXJvJyB7XG4gICAgOmhvc3QoXG4gICAgICBbZXhwYW5kLWZyb209JyN7JGJyZWFrcG9pbnR9J106aXMoOnN0YXRlKHNsb3R0ZWQtaWNvbiksIDpzdGF0ZShoYXMtaWNvbi1uYW1lKSk6c3RhdGUoc2xvdHRlZClcbiAgICApIHtcbiAgICAgIEBpbmNsdWRlIHNiYi5tcSgkdG86ICN7JGJyZWFrcG9pbnR9KSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tb25seTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOjpzbG90dGVkKFtzbG90PSdpY29uJ106aXMoc2JiLWltYWdlLCBpbWcpKSB7XG4gIHdpZHRoOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1pY29uLWRpbWVuc2lvbik7XG4gIGhlaWdodDogdmFyKC0tc2JiLWhlYWRlci1hY3Rpb24taWNvbi1kaW1lbnNpb24pO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy1pbmZpbml0eSk7XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHtcbiAgdHlwZSBBYnN0cmFjdENvbnN0cnVjdG9yLFxuICB0eXBlIFNiYkFjdGlvbkJhc2VFbGVtZW50LFxuICB0eXBlIFNiYkhvcml6b250YWxGcm9tLFxuICBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLnB1cmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJIZWFkZXJFbGVtZW50IH0gZnJvbSAnLi4vaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9oZWFkZXItYWN0aW9uLnNjc3M/aW5saW5lJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiSGVhZGVyQWN0aW9uQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oXG4gIFNiYkFjdGlvbkJhc2VFbGVtZW50LFxuKSB7XG4gIHB1YmxpYyBhY2Nlc3NvciBleHBhbmRGcm9tOiBTYmJIb3Jpem9udGFsRnJvbTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkhlYWRlckFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpbiA9IDxcbiAgVCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiQWN0aW9uQmFzZUVsZW1lbnQ+LFxuPihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiSGVhZGVyQWN0aW9uQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiSGVhZGVyQWN0aW9uQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiSWNvbk5hbWVNaXhpbihzdXBlckNsYXNzKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJIZWFkZXJBY3Rpb25Db21tb25FbGVtZW50TWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gICAgLyoqXG4gICAgICogVXNlZCB0byBzZXQgdGhlIG1pbmltdW0gYnJlYWtwb2ludCBmcm9tIHdoaWNoIHRoZSB0ZXh0IGlzIGRpc3BsYXllZC5cbiAgICAgKiBFLmcuIGlmIHNldCB0byAnbGFyZ2UnLCB0aGUgdGV4dCB3aWxsIGJlIHZpc2libGUgZm9yIGJyZWFrcG9pbnRzIGxhcmdlIGFuZCB1bHRyYSxcbiAgICAgKiBhbmQgaGlkZGVuIGZvciBhbGwgdGhlIG90aGVycy4gSWdub3JlZCBpZiBubyBpY29uIGlzIHNldC5cbiAgICAgKi9cbiAgICAvLyBUT0RPOiBOZWVkcyBhIGJyZWFraW5nIGNoYW5nZSB0byB3b3JrIHdpdGggdGhlICduby1kZWZhdWx0LXJlZmxlY3QnIGJlaGF2aW9yXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZXhwYW5kLWZyb20nLCByZWZsZWN0OiB0cnVlIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIGV4cGFuZEZyb206IFNiYkhvcml6b250YWxGcm9tID0gJ2xhcmdlJztcblxuICAgIHByaXZhdGUgX3ByZXZpb3VzU2l6ZTogU2JiSGVhZGVyRWxlbWVudFsnc2l6ZSddID0gbnVsbDtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHN1cGVyKCk7XG5cbiAgICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgICAgbmV3IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5jbG9zZXN0KCdzYmItaGVhZGVyJyksIHtcbiAgICAgICAgICBzaXplOiAoaGVhZGVyKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNTaXplKSB7XG4gICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoYHNpemUtJHt0aGlzLl9wcmV2aW91c1NpemV9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9wcmV2aW91c1NpemUgPSBoZWFkZXIuc2l6ZSA/PyBudWxsO1xuICAgICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBzaXplLSR7dGhpcy5fcHJldmlvdXNTaXplfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWhlYWRlci1hY3Rpb25fX3dyYXBwZXJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1oZWFkZXItYWN0aW9uX19pY29uXCI+ICR7c3VwZXIucmVuZGVySWNvblNsb3QoKX0gPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWhlYWRlci1hY3Rpb25fX3RleHRcIj5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIGA7XG4gICAgfVxuICB9XG4gIHJldHVybiBTYmJIZWFkZXJBY3Rpb25Db21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJIZWFkZXJBY3Rpb25Db21tb25FbGVtZW50TWl4aW5UeXBlPiAmXG4gICAgVDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUNzQkEsSUFBYSxxQ0FHWCxlQUNrRTtDQStDbEUsY0E5QzJDO29CQUNqQyxpQkFBaUIsVUFBVTs7OztlQUR0QixxQ0FDTCxZQUE0Qjs7OzhCQVduQyxTQUFTO0tBQUUsV0FBVztLQUFlLFNBQVM7SUFBSSxDQUFFLENBQUM7SUFDdEQsYUFBQSxNQUFBLE1BQUEsd0JBQUE7S0FBQSxNQUFBO0tBQUEsTUFBQTtLQUFBLFFBQUE7S0FBQSxTQUFBO0tBQUEsUUFBQTtNQUFBLE1BQUEsUUFBQSxnQkFBQTtNQUFBLE1BQUEsUUFBQSxJQUFnQjtNQUFVLE1BQUEsS0FBQSxVQUFBO09BQUEsSUFBVixhQUFVO01BQUE7S0FBQTtLQUFBLFVBQUE7SUFBQSxHQUFBLDBCQUFBLDZCQUFBOzs7Ozs7Ozs7SUFUWixLQUFBLFNBQXlCLENBQUMsVUFBVSxxQkFBSyxDQUFDO0dBQUU7R0FTMUQ7Ozs7OztHQUFBLElBQWdCLGFBQVU7SUFBQSxPQUFBLEtBQUE7R0FBQTtHQUExQixJQUFnQixXQUFVLE9BQUE7SUFBQSxLQUFBLCtCQUFBO0dBQUE7R0FJMUIsY0FBQTtJQUNFLE1BQUs7SUFMUyxLQUFBLCtCQUFBLGtCQUFBLE1BQUEsMEJBQWdDLE9BQU87SUFFL0MsS0FBQSxpQkFBYSxrQkFBQSxNQUFBLDZCQUFBLEdBQTZCO0lBS2hELEtBQUssY0FDSCxJQUFJLDZCQUE2QixZQUFZLEtBQUssUUFBUSxZQUFZLEdBQUcsRUFDdkUsT0FBTyxXQUFVO0tBQ2YsSUFBSSxLQUFLLGVBQ1AsS0FBSyxVQUFVLE9BQU8sT0FBTyxRQUFRLEtBQUssZUFBZTtLQUUzRCxLQUFLLGdCQUFnQixPQUFPLFFBQVE7S0FDcEMsSUFBSSxLQUFLLGVBQ1AsS0FBSyxVQUFVLE9BQU8sSUFBSSxRQUFRLEtBQUssZUFBZTtJQUUxRCxFQUFBLENBQ0QsQ0FBQztHQUVOO0dBRW1CLGlCQUFjO0lBQy9CLE9BQU8sTUFBSTs7bURBRWtDLE1BQU0sZUFBYyxFQUFFOzs7Ozs7R0FNckU7O0lBRUs7QUFFVCJ9
|
|
86
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWFjdGlvbi1jb21tb24tQ0RpRWhXYTAuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2hlYWRlci9jb21tb24vaGVhZGVyLWFjdGlvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9oZWFkZXIvY29tbW9uL2hlYWRlci1hY3Rpb24tY29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbkBtaXhpbiBpY29uLW9ubHkge1xuICAvLyBUaGUgdmFyaWFibGUgaXMgYXNzaWduZWQgdG8gdGhlIHByb3BlcnR5IGluIHRoZSBzYmItaGVhZGVyIGNvbXBvbmVudCBpZiBpdCBpc1xuICAvLyB0aGUgZmlyc3QgZWxlbWVudCBpbiB0aGUgaGVhZGVyIGFuZCBuZWVkcyBsZWZ0IG9mZnNldCBjb3JyZWN0aW9uIChzZWUgc2JiLWhlYWRlci5zY3NzKS5cbiAgLy8gVG8gYXZvaWQgZHVwbGljYXRlZCBDU1MgZGVmaW5pdGlvbnMsIHRoZSB2YWx1ZSBpdHNlbGYgaXMgYXNzaWduZWQgaGVyZSBpblxuICAvLyBzYmItaGVhZGVyLWJ1dHRvbi9zYmItaGVhZGVyLWxpbmsgaW5zdGVhZCBvZiBzYmItaGVhZGVyLlxuXG4gIC8vIE1vdmUgaXQgbGVmdCBieSBwYWRkaW5nIG9mIGhlYWRlciBhY3Rpb24gdG8gdGhlIGljb24gaXRzZWxmLlxuICAtLV9zYmItaGVhZGVyLWZpcnN0LWl0ZW0tcGFkZGluZy1zaGlmdDogY2FsYyhcbiAgICAtMC41ICogKHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLW1pbi13aWR0aCkgLSB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1pY29uLWRpbWVuc2lvbikpXG4gICk7XG4gIC0tc2JiLWhlYWRlci1hY3Rpb24tcGFkZGluZy1pbmxpbmUtemVybzogMDtcbiAgLS1zYmItaGVhZGVyLWFjdGlvbi1hY3RpdmUtYm9yZGVyLW1hcmdpbi1pbmxpbmU6IGNhbGMoXG4gICAgMC41ICogKDEwMCUgLSB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKSlcbiAgKTtcblxuICAuc2JiLWhlYWRlci1hY3Rpb25fX3RleHQge1xuICAgIEBpbmNsdWRlIHNiYi5zY3JlZW4tcmVhZGVyLW9ubHk7XG5cbiAgICAvLyBUaGlzIGlzIGEgd29ya2Fyb3VuZCB0byBmaXggc3R5bGluZyBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2Ugb24gaU9TLlxuICAgIC8vIElmIHRoZSBkaXNwbGF5IHZhbHVlIGNoYW5nZXMgY29tcGFyaW5nIHRvIHRoZSBiYXNlIHN0YXRlIChkaXNwbGF5OiBmbGV4KSxcbiAgICAvLyBpdCByZS1yZW5kZXJzIGFuZCBkaXNwbGF5cyBldmVyeXRoaW5nIGNvcnJlY3RseS5cbiAgICAvLyBXaXRob3V0IHRoaXMgd29ya2Fyb3VuZCwgZWxlbWVudHMgYXJlIG92ZXJsYXBwaW5nIGVhY2ggb3RoZXIuXG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG46aG9zdCB7XG4gIC0tc2JiLWhlYWRlci1hY3Rpb24tYWN0aXZlLWJvcmRlci1tYXJnaW4taW5saW5lOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1wYWRkaW5nLWlubGluZSk7XG4gIC0tc2JiLWhlYWRlci1hY3Rpb24tbWluLXdpZHRoOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1taW4taGVpZ2h0KTtcbiAgLS1zYmItaGVhZGVyLWFjdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0yeClcbiAgKTtcblxuICAvLyBJZiBleHBhbmRlZCwgbW92ZSBpdCBsZWZ0IGJ5IGxlZnQgcGFkZGluZy5cbiAgLy8gQXMgcmVzdWx0LCB0aGUgaWNvbiBzaG91bGQgYmUgYWxpZ25lZCB3aXRoIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHBhZ2Ugd3JhcHBlci5cbiAgLS1fc2JiLWhlYWRlci1maXJzdC1pdGVtLXBhZGRpbmctc2hpZnQ6IGNhbGMoLTEgKiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1wYWRkaW5nLWlubGluZSkpO1xuICAtLXNiYi1oZWFkZXItZmlyc3QtaXRlbS1tYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKFxuICAgIHZhcigtLV9zYmItaGVhZGVyLWZpcnN0LWl0ZW0tcGFkZGluZy1zaGlmdCkgLSB2YXIoLS1zYmItaGVhZGVyLWZpcnN0LWl0ZW0taWNvbi1zaGlmdClcbiAgKTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgLy8gVXNlICFpbXBvcnRhbnQgaGVyZSB0byBub3QgaW50ZXJmZXJlIHdpdGggRmlyZWZveCBmb2N1cyByaW5nIGRlZmluaXRpb25cbiAgLy8gd2hpY2ggYXBwZWFycyBpbiBub3JtYWxpemUgQ1NTIG9mIHNldmVyYWwgZnJhbWV3b3Jrcy5cbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AaW5jbHVkZSBzYmIuaG92ZXItbXEoJGhvdmVyOiB0cnVlKSB7XG4gIDpob3N0KDpob3Zlcjpub3QoOmFjdGl2ZSwgOnN0YXRlKGFjdGl2ZSkpKSB7XG4gICAgLS1zYmItaGVhZGVyLWFjdGlvbi1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgICAtLXNiYi1oZWFkZXItYWN0aW9uLXRyYW5zbGF0ZS15OiAje3NiYi5weC10by1yZW0tYnVpbGQoLTEpfTtcbiAgICAtLXNiYi1oZWFkZXItYWN0aW9uLWJhY2tncm91bmQtaW5zZXQ6IGNhbGModmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCkgKiAtMSk7XG5cbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgLS1zYmItaGVhZGVyLWFjdGlvbi1ib3JkZXItY29sb3I6IEhpZ2hsaWdodDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtcykpIHtcbiAgLS1zYmItaGVhZGVyLWFjdGlvbi1taW4taGVpZ2h0OiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1taW4taGVpZ2h0LXMpO1xuICAtLXNiYi1oZWFkZXItYWN0aW9uLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1wYWRkaW5nLWlubGluZS1zKTtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtbSkpIHtcbiAgLS1zYmItaGVhZGVyLWFjdGlvbi1taW4taGVpZ2h0OiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1taW4taGVpZ2h0LW0pO1xuICAtLXNiYi1oZWFkZXItYWN0aW9uLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1wYWRkaW5nLWlubGluZS1tKTtcbn1cblxuOmhvc3QoOmlzKDphY3RpdmUsIDpzdGF0ZShhY3RpdmUpKSkge1xuICAtLXNiYi1oZWFkZXItYWN0aW9uLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQpO1xuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItaGVhZGVyLWFjdGlvbi1ib3JkZXItY29sb3I6IEhpZ2hsaWdodDtcbiAgfVxufVxuXG46aG9zdCguc2JiLWFjdGl2ZSkge1xuICAtLXNiYi1oZWFkZXItYWN0aW9uLWFjdGl2ZS1ib3JkZXItc2NhbGU6IDE7XG5cbiAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAtLXNiYi1oZWFkZXItYWN0aW9uLWJvcmRlci1jb2xvcjogSGlnaGxpZ2h0O1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZShidXR0b24pKSB7XG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItaGVhZGVyLWFjdGlvbi1jb2xvcjogQnV0dG9uVGV4dDtcbiAgfVxufVxuXG4vLyBJZiB0aGVyZSBpcyBubyBpY29uIGFuZCB0aGUgYWN0aW9uIGlzIHRoZSBmaXJzdCBpbiB0aGUgaGVhZGVyLCB0aGUgbGVmdCBvZmZzZXRcbi8vIG11c3QgYmUgY2hhbmdlZCAob3RoZXIgdmFsdWUgdGhhbiBmb3IgdGhlIGljb24gb25seSB2YXJpYW50KSB0byBhbGlnbiB0aGUgdGV4dCB3aXRoIHRoZSBjb250YWluZXIuXG4vLyBUaGUgdmFsdWUgY29ycmVzcG9uZHMgdG8gdGhlIHBhZGRpbmcgb2YgdGhlIGhlYWRlciBhY3Rpb24gaXRzZWxmLlxuOmhvc3QoOm5vdCg6c3RhdGUoc2xvdHRlZC1pY29uKSwgOnN0YXRlKGhhcy1pY29uLW5hbWUpKSkge1xuICAtLXNiYi1oZWFkZXItZmlyc3QtaXRlbS1tYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1fc2JiLWhlYWRlci1maXJzdC1pdGVtLXBhZGRpbmctc2hpZnQpO1xufVxuXG4uc2JiLWFjdGlvbi1iYXNlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1taW4taGVpZ2h0KTtcbiAgbWluLXdpZHRoOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1taW4td2lkdGgpO1xuICBwYWRkaW5nLWlubGluZTogdmFyKFxuICAgIC0tc2JiLWhlYWRlci1hY3Rpb24tcGFkZGluZy1pbmxpbmUtemVybyxcbiAgICB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1wYWRkaW5nLWlubGluZSlcbiAgKTtcbiAgY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLXBvaW50ZXIpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBpbnNldDogdmFyKC0tc2JiLWhlYWRlci1hY3Rpb24tYmFja2dyb3VuZC1pbnNldCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtaW5maW5pdHkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLWJhY2tncm91bmQtY29sb3IpO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi10cmFuc2l0aW9uLWVhc2luZyk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaW5zZXQsIGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1ib3JkZXItY29sb3IpO1xuXG4gICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCk7XG4gICAgfVxuICB9XG5cbiAgLy8gSGFuZGxlIGZvY3VzIG9uIHRoZSBob3N0IChidXR0b24gdmFyaWFudClcbiAgOmhvc3QoOmZvY3VzLXZpc2libGUpICYsXG4gIC8vIEhhbmRsZSBmb2N1cyBvbiB0aGUgYWN0aW9uIChsaW5rIHZhcmlhbnQpXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjdGl2ZSBzdGF0ZSBib3JkZXJcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1hY3RpdmUtYm9yZGVyLXdpZHRoKSBzb2xpZFxuICAgICAgdmFyKC0tc2JiLWhlYWRlci1hY3Rpb24tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgaW5zZXQ6IGF1dG8gMCBjYWxjKC0xICogdmFyKC0tc2JiLWhlYWRlci1hY3Rpb24tYWN0aXZlLWJvcmRlci13aWR0aCkpO1xuICAgIG1hcmdpbi1pbmxpbmU6IHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLWFjdGl2ZS1ib3JkZXItbWFyZ2luLWlubGluZSk7XG4gICAgc2NhbGU6IHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLWFjdGl2ZS1ib3JkZXItc2NhbGUsIDApO1xuICAgIHRyYW5zaXRpb246IHNjYWxlIHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLXRyYW5zaXRpb24tZWFzaW5nKVxuICAgICAgdmFyKC0tc2JiLWhlYWRlci1hY3Rpb24tdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gIH1cbn1cblxuLnNiYi1oZWFkZXItYWN0aW9uX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1nYXApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0tc2JiLWhlYWRlci1hY3Rpb24tdHJhbnNsYXRlLXksIDApKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24pXG4gICAgdmFyKC0tc2JiLWhlYWRlci1hY3Rpb24tdHJhbnNpdGlvbi1lYXNpbmcpO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5zYmItaGVhZGVyLWFjdGlvbl9faWNvbiB7XG4gIC8vIFNldCBzdHJva2Ugb24gaGVhZGVyIGljb25zXG4gIC0tc2JiLWljb24tc3ZnLXN0cm9rZS1jb2xvcjogY3VycmVudGNvbG9yO1xuICAtLXNiYi1pY29uLXN2Zy1zdHJva2Utd2lkdGg6IDFweDtcblxuICBtaW4td2lkdGg6IHZhcigtLXNiYi1oZWFkZXItYWN0aW9uLWljb24tZGltZW5zaW9uKTtcbiAgbWluLWhlaWdodDogdmFyKC0tc2JiLWhlYWRlci1hY3Rpb24taWNvbi1kaW1lbnNpb24pO1xuICBsaW5lLWhlaWdodDogMDtcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkLWljb24pLCA6c3RhdGUoaGFzLWljb24tbmFtZSkpKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zYmItaGVhZGVyLWFjdGlvbl9fdGV4dCB7XG4gIEBpbmNsdWRlIHNiYi5lbGxpcHNpcztcblxuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi10ZXh0LWZvbnQtc2l6ZS14cyk7XG5cbiAgOmhvc3QoOm5vdCg6c3RhdGUoc2xvdHRlZCkpKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIElmIHRoZXJlIGlzIG5vIHNsb3R0ZWQgdGV4dCwgcmVnYXJkbGVzcyBvZiBleHBhbmRlZC1mcm9tIHN0YXRlLCB0aGUgaWNvbiBvbmx5IHZhcmlhbnQgc2hvdWxkIGJlIHNldC5cbjpob3N0KDppcyg6c3RhdGUoc2xvdHRlZC1pY29uKSwgOnN0YXRlKGhhcy1pY29uLW5hbWUpKTpub3QoOnN0YXRlKHNsb3R0ZWQpKSkge1xuICBAaW5jbHVkZSBpY29uLW9ubHk7XG59XG5cbi8vIFRPRE86IHJlZXZhbHVhdGUgdGhpcyBvbmNlICdDU1MgY29udGFpbmVyIHF1ZXJpZXMnIGlzIHN1cHBvcnRlZFxuLy8gaHR0cHM6Ly9jYW5pdXNlLmNvbS9jc3MtY29udGFpbmVyLXF1ZXJpZXMtc3R5bGVcbkBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gc2JiLiRtcS1icmVha3BvaW50cyB7XG4gIC8vIFdlIHNraXAgemVybyBicmVha3BvaW50IGFzIGl0IHdvdWxkIHJlc29sdmUgaW50byAodG86IDApLlxuICAvLyBUaGUgcnVsZXMgYXJlIHNldCB0byBmb3JjZSB0aGUgaWNvbiBvbmx5IHZhcmlhbnQgaWYgdGhlcmUgaXMgc2xvdHRlZCB0ZXh0LCBidXQgbm90IHlldCBleHBhbmRlZC5cbiAgQGlmICRicmVha3BvaW50ICE9ICd6ZXJvJyB7XG4gICAgOmhvc3QoXG4gICAgICBbZXhwYW5kLWZyb209JyN7JGJyZWFrcG9pbnR9J106aXMoOnN0YXRlKHNsb3R0ZWQtaWNvbiksIDpzdGF0ZShoYXMtaWNvbi1uYW1lKSk6c3RhdGUoc2xvdHRlZClcbiAgICApIHtcbiAgICAgIEBpbmNsdWRlIHNiYi5tcSgkdG86ICN7JGJyZWFrcG9pbnR9KSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tb25seTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOjpzbG90dGVkKFtzbG90PSdpY29uJ106aXMoc2JiLWltYWdlLCBpbWcpKSB7XG4gIHdpZHRoOiB2YXIoLS1zYmItaGVhZGVyLWFjdGlvbi1pY29uLWRpbWVuc2lvbik7XG4gIGhlaWdodDogdmFyKC0tc2JiLWhlYWRlci1hY3Rpb24taWNvbi1kaW1lbnNpb24pO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy1pbmZpbml0eSk7XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHtcbiAgdHlwZSBBYnN0cmFjdENvbnN0cnVjdG9yLFxuICB0eXBlIFNiYkFjdGlvbkJhc2VFbGVtZW50LFxuICB0eXBlIFNiYkhvcml6b250YWxGcm9tLFxuICBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLnB1cmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJIZWFkZXJFbGVtZW50IH0gZnJvbSAnLi4vaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9oZWFkZXItYWN0aW9uLnNjc3M/aW5saW5lJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiSGVhZGVyQWN0aW9uQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oXG4gIFNiYkFjdGlvbkJhc2VFbGVtZW50LFxuKSB7XG4gIHB1YmxpYyBhY2Nlc3NvciBleHBhbmRGcm9tOiBTYmJIb3Jpem9udGFsRnJvbTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkhlYWRlckFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpbiA9IDxcbiAgVCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiQWN0aW9uQmFzZUVsZW1lbnQ+LFxuPihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiSGVhZGVyQWN0aW9uQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiSGVhZGVyQWN0aW9uQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiSWNvbk5hbWVNaXhpbihzdXBlckNsYXNzKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJIZWFkZXJBY3Rpb25Db21tb25FbGVtZW50TWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gICAgLyoqXG4gICAgICogVXNlZCB0byBzZXQgdGhlIG1pbmltdW0gYnJlYWtwb2ludCBmcm9tIHdoaWNoIHRoZSB0ZXh0IGlzIGRpc3BsYXllZC5cbiAgICAgKiBFLmcuIGlmIHNldCB0byAnbGFyZ2UnLCB0aGUgdGV4dCB3aWxsIGJlIHZpc2libGUgZm9yIGJyZWFrcG9pbnRzIGxhcmdlIGFuZCB1bHRyYSxcbiAgICAgKiBhbmQgaGlkZGVuIGZvciBhbGwgdGhlIG90aGVycy4gSWdub3JlZCBpZiBubyBpY29uIGlzIHNldC5cbiAgICAgKi9cbiAgICAvLyBUT0RPOiBOZWVkcyBhIGJyZWFraW5nIGNoYW5nZSB0byB3b3JrIHdpdGggdGhlICduby1kZWZhdWx0LXJlZmxlY3QnIGJlaGF2aW9yXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZXhwYW5kLWZyb20nLCByZWZsZWN0OiB0cnVlIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIGV4cGFuZEZyb206IFNiYkhvcml6b250YWxGcm9tID0gJ2xhcmdlJztcblxuICAgIHByaXZhdGUgX3ByZXZpb3VzU2l6ZTogU2JiSGVhZGVyRWxlbWVudFsnc2l6ZSddID0gbnVsbDtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHN1cGVyKCk7XG5cbiAgICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgICAgbmV3IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5jbG9zZXN0KCdzYmItaGVhZGVyJyksIHtcbiAgICAgICAgICBzaXplOiAoaGVhZGVyKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNTaXplKSB7XG4gICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoYHNpemUtJHt0aGlzLl9wcmV2aW91c1NpemV9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9wcmV2aW91c1NpemUgPSBoZWFkZXIuc2l6ZSA/PyBudWxsO1xuICAgICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBzaXplLSR7dGhpcy5fcHJldmlvdXNTaXplfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWhlYWRlci1hY3Rpb25fX3dyYXBwZXJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1oZWFkZXItYWN0aW9uX19pY29uXCI+ICR7c3VwZXIucmVuZGVySWNvblNsb3QoKX0gPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWhlYWRlci1hY3Rpb25fX3RleHRcIj5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIGA7XG4gICAgfVxuICB9XG4gIHJldHVybiBTYmJIZWFkZXJBY3Rpb25Db21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJIZWFkZXJBY3Rpb25Db21tb25FbGVtZW50TWl4aW5UeXBlPiAmXG4gICAgVDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUNzQkEsSUFBYSxxQ0FHWCxlQUNrRTtDQStDbEUsY0E5QzJDO29CQUNqQyxpQkFBaUIsVUFBVTs7OztlQUR0QixxQ0FDTCxZQUE0Qjs7OzhCQVduQyxTQUFTO0tBQUUsV0FBVztLQUFlLFNBQVM7SUFBSSxDQUFFLENBQUM7SUFDdEQsYUFBQSxNQUFBLE1BQUEsd0JBQUE7S0FBQSxNQUFBO0tBQUEsTUFBQTtLQUFBLFFBQUE7S0FBQSxTQUFBO0tBQUEsUUFBQTtNQUFBLE1BQUEsUUFBQSxnQkFBQTtNQUFBLE1BQUEsUUFBQSxJQUFnQjtNQUFVLE1BQUEsS0FBQSxVQUFBO09BQUEsSUFBVixhQUFVO01BQUE7S0FBQTtLQUFBLFVBQUE7SUFBQSxHQUFBLDBCQUFBLDZCQUFBOzs7Ozs7Ozs7SUFUWixLQUFBLFNBQXlCLENBQUMsVUFBVSxxQkFBSyxDQUFDO0dBQUU7R0FTMUQ7Ozs7OztHQUFBLElBQWdCLGFBQVU7SUFBQSxPQUFBLEtBQUE7R0FBQTtHQUExQixJQUFnQixXQUFVLE9BQUE7SUFBQSxLQUFBLCtCQUFBO0dBQUE7R0FJMUIsY0FBQTtJQUNFLE1BQUs7SUFMUyxLQUFBLCtCQUFBLGtCQUFBLE1BQUEsMEJBQWdDLE9BQU87SUFFL0MsS0FBQSxpQkFBYSxrQkFBQSxNQUFBLDZCQUFBLEdBQTZCO0lBS2hELEtBQUssY0FDSCxJQUFJLDZCQUE2QixZQUFZLEtBQUssUUFBUSxZQUFZLEdBQUcsRUFDdkUsT0FBTyxXQUFVO0tBQ2YsSUFBSSxLQUFLLGVBQ1AsS0FBSyxVQUFVLE9BQU8sT0FBTyxRQUFRLEtBQUssZUFBZTtLQUUzRCxLQUFLLGdCQUFnQixPQUFPLFFBQVE7S0FDcEMsSUFBSSxLQUFLLGVBQ1AsS0FBSyxVQUFVLE9BQU8sSUFBSSxRQUFRLEtBQUssZUFBZTtJQUUxRCxFQUFBLENBQ0QsQ0FBQztHQUVOO0dBRW1CLGlCQUFjO0lBQy9CLE9BQU8sTUFBSTs7bURBRWtDLE1BQU0sZUFBYyxFQUFFOzs7Ozs7R0FNckU7O0lBRUs7QUFFVCJ9
|
|
@@ -49,4 +49,4 @@ var SbbHeaderEnvironmentElement = class extends SbbElement {
|
|
|
49
49
|
//#endregion
|
|
50
50
|
export { SbbHeaderEnvironmentElement as t };
|
|
51
51
|
|
|
52
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWVudmlyb25tZW50LmNvbXBvbmVudC0tNFlFWnlLcS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvaGVhZGVyL2hlYWRlci1lbnZpcm9ubWVudC9oZWFkZXItZW52aXJvbm1lbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvaGVhZGVyL2hlYWRlci1lbnZpcm9ubWVudC9oZWFkZXItZW52aXJvbm1lbnQuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXh4cyk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG59XG5cbjpob3N0KDpkaXIocnRsKSkge1xuICAtLXNiYi1oZWFkZXItZW52aXJvbm1lbnQtcm90YXRlOiAtNDVkZWc7XG59XG5cbjpob3N0KDpzdGF0ZShlbnYtZGV2KSkge1xuICAtLXNiYi1oZWFkZXItZW52aXJvbm1lbnQtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLW9yYW5nZSk7XG59XG5cbjpob3N0KDpzdGF0ZShlbnYtZWR1KSkge1xuICAtLXNiYi1oZWFkZXItZW52aXJvbm1lbnQtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLWdyZWVuKTtcbn1cblxuOmhvc3QoOnN0YXRlKGVudi1pbnQpKSxcbjpob3N0KDpzdGF0ZShlbnYtaW50ZSkpIHtcbiAgLS1zYmItaGVhZGVyLWVudmlyb25tZW50LWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1jb2xvci1ncmFuaXRlKTtcbn1cblxuOmhvc3QoOnN0YXRlKGVudi1sb2MpKSB7XG4gIC0tc2JiLWhlYWRlci1lbnZpcm9ubWVudC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItcGluayk7XG59XG5cbjpob3N0KDpzdGF0ZShlbnYtdGVzdCkpIHtcbiAgLS1zYmItaGVhZGVyLWVudmlyb25tZW50LWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1jb2xvci1za3kpO1xufVxuXG4vLyBSaWJib25cbjpob3N0OjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItaGVhZGVyLWVudmlyb25tZW50LXNpemUpIHNvbGlkXG4gICAgdmFyKC0tc2JiLWhlYWRlci1lbnZpcm9ubWVudC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm9yZGVyLWlubGluZS1zdGFydDogdmFyKC0tc2JiLWhlYWRlci1lbnZpcm9ubWVudC1zaXplKSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLnNiYi1oZWFkZXItZW52aXJvbm1lbnRfX3RleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiB2YXIoLS1zYmItaGVhZGVyLWVudmlyb25tZW50LWNvbG9yKTtcbiAgcm90YXRlOiB2YXIoLS1zYmItaGVhZGVyLWVudmlyb25tZW50LXJvdGF0ZSk7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG59XG4iLCJpbXBvcnQgeyBNdXRhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL211dGF0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9oZWFkZXItZW52aXJvbm1lbnQuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgcmliYm9uIGluc2lkZSB0aGUgaGVhZGVyIHRvIGluZGljYXRlIHRoZSBjdXJyZW50IGVudmlyb25tZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIHRoZSBlbnZpcm9ubWVudC5cbiAqXG4gKiBAY3NzcHJvcCBbLS1zYmItaGVhZGVyLWVudmlyb25tZW50LWJhY2tncm91bmQtY29sb3I9dmFyKHNiYi1jb2xvci1ncmFuaXRlKV0gLSBDYW4gYmUgdXNlZCBjaGFuZ2UgdGhlIHJpYmJvbiBjb2xvci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1oZWFkZXItZW52aXJvbm1lbnQtY29sb3I9dmFyKHNiYi1jb2xvci13aGl0ZSldIC0gQ2FuIGJlIHVzZWQgY2hhbmdlIHRoZSB0ZXh0IGNvbG9yLlxuICovXG5leHBvcnQgY2xhc3MgU2JiSGVhZGVyRW52aXJvbm1lbnRFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItaGVhZGVyLWVudmlyb25tZW50JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHByaXZhdGUgX2Vudjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IE11dGF0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgICAgIGNvbmZpZzogeyBjaGFyYWN0ZXJEYXRhOiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0sXG4gICAgICAgIGNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fc2xvdHRlZFRleHRDaGFuZ2UoKTtcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9zbG90dGVkVGV4dENoYW5nZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZW52KSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBlbnYtJHt0aGlzLl9lbnZ9YCk7XG4gICAgfVxuICAgIHRoaXMuX2VudiA9IHRoaXMudGV4dENvbnRlbnQ/LnRyaW0oKSA/PyAnJztcbiAgICBpZiAodGhpcy5fZW52KSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBlbnYtJHt0aGlzLl9lbnZ9YCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1oZWFkZXItZW52aXJvbm1lbnRfX3RleHRcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9zcGFuPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1oZWFkZXItZW52aXJvbm1lbnQnOiBTYmJIZWFkZXJFbnZpcm9ubWVudEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FDZUEsSUFBYSw4QkFBYixjQUFpRCxXQUFVOztFQUN6QixLQUFBLGNBQXNCO0NBQXlCOztFQUN4RCxLQUFBLFNBQXlCLENBQUMsVUFBVSwwQkFBSyxDQUFDO0NBQUU7Q0FJbkUsY0FBQTtFQUNFLE1BQUs7RUFIQyxLQUFBLE9BQXNCO0VBSTVCLEtBQUssY0FDSCxJQUFJLG1CQUFtQixNQUFNO0dBQzNCLFFBQVE7SUFBRSxlQUFlO0lBQU0sU0FBUztHQUFJO0dBQzVDLGdCQUFlO0lBQ2IsS0FBSyxtQkFBa0I7R0FDekI7R0FDRCxDQUFDO0NBRU47Q0FFUSxxQkFBa0I7RUFDeEIsSUFBSSxLQUFLLE1BQ1AsS0FBSyxVQUFVLE9BQU8sT0FBTyxPQUFPLEtBQUssTUFBTTtFQUVqRCxLQUFLLE9BQU8sS0FBSyxhQUFhLEtBQUksS0FBTTtFQUN4QyxJQUFJLEtBQUssTUFDUCxLQUFLLFVBQVUsT0FBTyxJQUFJLE9BQU8sS0FBSyxNQUFNO0NBRWhEO0NBRW1CLFNBQU07RUFDdkIsT0FBTyxJQUFJOzs7OztDQUtiIn0=
|