@sbb-esta/lyne-elements-dev 5.0.0-next-dev.1776866482 → 5.0.0-next-dev.1776872994
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/autocomplete/autocomplete-base-element.js +1 -1
- package/autocomplete/autocomplete.component.js +1 -1
- package/{autocomplete-base-element-gPLexIVc.js → autocomplete-base-element-BmiLbRHZ.js} +1 -1
- package/autocomplete.js +1 -1
- package/autocomplete.pure.js +1 -1
- package/{block-link-common-CiqQc2Rs.js → block-link-common-BiM6tnUZ.js} +1 -1
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
- package/{breadcrumb-group.component-Bfm4RZu7.js → breadcrumb-group.component-De3Lu3lx.js} +1 -1
- package/breadcrumb.js +1 -1
- package/breadcrumb.pure.js +1 -1
- package/button/common/button-common.js +1 -1
- package/button-common-Cu47yCSS.js +85 -0
- package/button.js +1 -1
- package/button.pure.js +1 -1
- package/calendar/calendar/calendar.component.js +1 -1
- package/{calendar.component-ZyfTrKs_.js → calendar.component-nWdtZYqg.js} +1 -1
- package/calendar.js +1 -1
- package/calendar.pure.js +1 -1
- package/card/card-badge/card-badge.component.js +1 -1
- package/{card-badge.component-CsEpGTHm.js → card-badge.component-CEqox6TU.js} +1 -1
- package/card.js +1 -1
- package/card.pure.js +1 -1
- package/checkbox/checkbox.component.js +1 -1
- package/checkbox/common/checkbox-common.js +1 -1
- package/{checkbox-common-Bo4u1RXX.js → checkbox-common-DSmxKbmR.js} +1 -1
- package/{checkbox.component-vjqZh2aC.js → checkbox.component-CR2aIgjA.js} +1 -1
- package/checkbox.js +2 -2
- package/checkbox.pure.js +2 -2
- package/chip/chip-group/chip-group.component.js +1 -1
- package/{chip-group.component-DPzfaV_H.js → chip-group.component-DbNctvjy.js} +1 -1
- package/chip.js +1 -1
- package/chip.pure.js +1 -1
- package/{compact-paginator.component-DEEhXiMm.js → compact-paginator.component-Dyu9bezr.js} +1 -1
- package/core/styles/core.scss +17 -73
- package/core/styles/mixins/typo.scss +2 -2
- package/core.css +67 -65
- package/custom-elements.json +3179 -3179
- package/development/autocomplete/autocomplete-base-element.js +1 -1
- package/development/autocomplete/autocomplete.component.js +1 -1
- package/development/autocomplete-base-element-BC3IUhrb.js +686 -0
- package/development/autocomplete.js +1 -1
- package/development/autocomplete.pure.js +1 -1
- package/development/{block-link-common-B9Vx8CTp.js → block-link-common-qMULXu4g.js} +2 -2
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
- package/development/breadcrumb-group.component-BC1mWiQE.js +193 -0
- package/development/breadcrumb.js +1 -1
- package/development/breadcrumb.pure.js +1 -1
- package/development/button/common/button-common.js +1 -1
- package/development/{button-common-jaQVRdwS.js → button-common-ChY47M8t.js} +3 -3
- package/development/button.js +1 -1
- package/development/button.pure.js +1 -1
- package/development/calendar/calendar/calendar.component.js +1 -1
- package/development/calendar.component-B5dz7mau.js +1451 -0
- package/development/calendar.js +1 -1
- package/development/calendar.pure.js +1 -1
- package/development/card/card-badge/card-badge.component.js +1 -1
- package/development/card-badge.component-CQBLpmpo.js +83 -0
- package/development/card.js +1 -1
- package/development/card.pure.js +1 -1
- package/development/checkbox/checkbox.component.js +1 -1
- package/development/checkbox/common/checkbox-common.js +1 -1
- package/development/checkbox-common-DOoEKgML.js +84 -0
- package/development/{checkbox.component-DgrfkdyZ.js → checkbox.component-DZjhQhbB.js} +2 -2
- package/development/checkbox.js +2 -2
- package/development/checkbox.pure.js +2 -2
- package/development/chip/chip-group/chip-group.component.js +1 -1
- package/development/chip-group.component-B4Mjcep2.js +402 -0
- package/development/chip.js +1 -1
- package/development/chip.pure.js +1 -1
- package/development/compact-paginator.component-CRojCci5.js +51 -0
- package/development/error.component-TvgLhaZh.js +53 -0
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
- package/development/expansion-panel-header.component-Ok8Qmq5K.js +82 -0
- package/development/expansion-panel.js +1 -1
- package/development/expansion-panel.pure.js +1 -1
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/development/{file-selector-dropzone.component-dyv_u-Ga.js → file-selector-dropzone.component-B1Y5qOjb.js} +2 -2
- package/development/file-selector.js +1 -1
- package/development/file-selector.pure.js +1 -1
- package/development/footer/footer.component.js +1 -1
- package/development/footer.component-kFeZqO-Q.js +169 -0
- 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-CdTnOAi2.js +703 -0
- package/development/form-field.js +3 -3
- package/development/form-field.pure.js +3 -3
- package/development/header/header/header.component.js +1 -1
- package/development/header.component-BmZkCs9m.js +335 -0
- package/development/header.js +1 -1
- package/development/header.pure.js +1 -1
- package/development/hint.component-D5rTFJ-O.js +36 -0
- package/development/link/common/block-link-common.js +1 -1
- package/development/link.js +1 -1
- package/development/link.pure.js +1 -1
- package/development/message/message.component.js +1 -1
- package/development/message.component-Dzah9lXK.js +43 -0
- package/development/message.js +1 -1
- package/development/message.pure.js +1 -1
- package/development/navigation/common/navigation-action-common.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-ZBiv0Xiw.js → navigation-action-common-B2soWZWW.js} +2 -2
- package/development/{navigation-marker.component-BsfPR_uk.js → navigation-marker.component-BRdbbjF5.js} +2 -2
- package/development/{navigation-section.component-BSvxMUxM.js → navigation-section.component-VwCJlOfE.js} +2 -2
- package/development/navigation.js +3 -3
- package/development/navigation.pure.js +3 -3
- package/development/notification/notification.component.js +1 -1
- package/development/notification.component-BgF5aGrn.js +271 -0
- package/development/notification.js +1 -1
- package/development/notification.pure.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.component-BlyTYIs0.js +261 -0
- package/development/paginator.js +2 -2
- package/development/paginator.pure.js +2 -2
- 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-ZMs5IFm2.js +125 -0
- package/development/{radio-button.component-DAgH41z0.js → radio-button.component-DggZ7RZD.js} +2 -2
- package/development/radio-button.js +2 -2
- package/development/radio-button.pure.js +2 -2
- package/development/select/select.component.js +1 -1
- package/development/select.component-CZI19HAK.js +804 -0
- package/development/select.js +1 -1
- package/development/select.pure.js +1 -1
- package/development/status/status.component.js +1 -1
- package/development/status.component-BtJ8ri61.js +110 -0
- package/development/status.js +1 -1
- package/development/status.pure.js +1 -1
- package/development/step-label.component-Dfx9rLcN.js +126 -0
- package/development/stepper/step-label/step-label.component.js +1 -1
- package/development/stepper.js +1 -1
- package/development/stepper.pure.js +1 -1
- package/development/styles-WppEBrlW.js +14 -0
- package/development/{tab-label.component-Du1W0dxN.js → tab-label.component-Ggx6qaIk.js} +2 -2
- package/development/tabs/common/styles.js +1 -1
- package/development/tabs/tab-label/tab-label.component.js +1 -1
- package/development/tabs.js +2 -2
- package/development/tabs.pure.js +2 -2
- package/development/tag/tag/tag.component.js +1 -1
- package/development/tag.component-Davxisfj.js +241 -0
- package/development/tag.js +1 -1
- package/development/tag.pure.js +1 -1
- package/development/teaser-hero/teaser-hero.component.js +1 -1
- package/development/teaser-hero.component-bp9IsVmY.js +100 -0
- package/development/teaser-hero.js +1 -1
- package/development/teaser-hero.pure.js +1 -1
- package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/development/{timetable-occupancy.component-D6BIvkpY.js → timetable-occupancy.component-B-uVA9KC.js} +2 -2
- 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-CWLTIRh_.js → title-base-DKVyL7TQ.js} +2 -2
- package/development/{title.component-TCKohHBO.js → title.component-BEEzA9cF.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-CZL72aVO.js → toast.component-1YR4wmm9.js} +2 -2
- 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.component-CQYpVyvs.js +244 -0
- package/development/toggle.js +1 -1
- package/development/toggle.pure.js +1 -1
- package/development/tooltip/tooltip.component.js +1 -1
- package/development/tooltip.component-Br7aDPFn.js +369 -0
- package/development/tooltip.js +1 -1
- package/development/tooltip.pure.js +1 -1
- package/development/train/train-wagon/train-wagon.component.js +1 -1
- package/development/{train-wagon.component-X0XSMLK_.js → train-wagon.component-B6V4dPKn.js} +2 -2
- package/development/train.js +1 -1
- package/development/train.pure.js +1 -1
- package/{error.component-BLChP2fE.js → error.component-D3JgDJfN.js} +1 -1
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
- package/{expansion-panel-header.component-DdRIlyms.js → expansion-panel-header.component-DYvq-uUi.js} +1 -1
- package/expansion-panel.js +1 -1
- package/expansion-panel.pure.js +1 -1
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/{file-selector-dropzone.component-Bz3Wpl0X.js → file-selector-dropzone.component-BSF-kegh.js} +1 -1
- package/file-selector.js +1 -1
- package/file-selector.pure.js +1 -1
- package/footer/footer.component.js +1 -1
- package/{footer.component-Don15vOd.js → footer.component-CdTEaV6u.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.component-DbV7fMoe.js → form-field.component-Dtzbp6-e.js} +1 -1
- package/form-field.js +3 -3
- package/form-field.pure.js +3 -3
- package/header/header/header.component.js +1 -1
- package/{header.component-D-WVEMFn.js → header.component-DoAFSXgO.js} +1 -1
- package/header.js +1 -1
- package/header.pure.js +1 -1
- package/{hint.component-CaF6CBCN.js → hint.component-BB_h0G6v.js} +1 -1
- package/link/common/block-link-common.js +1 -1
- package/link.js +1 -1
- package/link.pure.js +1 -1
- package/message/message.component.js +1 -1
- package/message.component-CF-_MD7m.js +26 -0
- package/message.js +1 -1
- package/message.pure.js +1 -1
- package/navigation/common/navigation-action-common.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-action-common-Dm47M2BG.js → navigation-action-common-D2vwX-oy.js} +1 -1
- package/{navigation-marker.component-1VHe19c9.js → navigation-marker.component-BQzC4gn_.js} +1 -1
- package/{navigation-section.component-DrnbQAZX.js → navigation-section.component-CR-FanCa.js} +1 -1
- package/navigation.js +3 -3
- package/navigation.pure.js +3 -3
- package/notification/notification.component.js +1 -1
- package/{notification.component-IsSZe3Ul.js → notification.component-D9oxjMJs.js} +1 -1
- package/notification.js +1 -1
- package/notification.pure.js +1 -1
- package/off-brand-theme.css +67 -65
- package/package.json +2 -2
- package/paginator/compact-paginator/compact-paginator.component.js +1 -1
- package/paginator/paginator/paginator.component.js +1 -1
- package/{paginator.component-BkECB-iV.js → paginator.component-DA_wUypF.js} +1 -1
- package/paginator.js +2 -2
- package/paginator.pure.js +2 -2
- package/radio-button/common/radio-button-common.js +1 -1
- package/radio-button/radio-button.component.js +1 -1
- package/{radio-button-common-CQyKqDLJ.js → radio-button-common-iNYco_B8.js} +1 -1
- package/{radio-button.component-Cenb6FL5.js → radio-button.component-v5czJYC3.js} +1 -1
- package/radio-button.js +2 -2
- package/radio-button.pure.js +2 -2
- package/safety-theme.css +67 -65
- package/select/select.component.js +1 -1
- package/{select.component-BcDZm7EM.js → select.component-CCFfP21g.js} +1 -1
- package/select.js +1 -1
- package/select.pure.js +1 -1
- package/standard-theme.css +67 -65
- package/status/status.component.js +1 -1
- package/{status.component-CgMvY4Pe.js → status.component-5SKEusnj.js} +1 -1
- package/status.js +1 -1
- package/status.pure.js +1 -1
- package/step-label.component-DM7lQw8b.js +77 -0
- package/stepper/step-label/step-label.component.js +1 -1
- package/stepper.js +1 -1
- package/stepper.pure.js +1 -1
- package/styles-DisU4TWi.js +5 -0
- package/{tab-label.component-CH24fqmB.js → tab-label.component-JjktN30A.js} +1 -1
- package/tabs/common/styles.js +1 -1
- package/tabs/tab-label/tab-label.component.js +1 -1
- package/tabs.js +2 -2
- package/tabs.pure.js +2 -2
- package/tag/tag/tag.component.js +1 -1
- package/{tag.component-B7YExnbA.js → tag.component-BGYVbfUx.js} +1 -1
- package/tag.js +1 -1
- package/tag.pure.js +1 -1
- package/teaser-hero/teaser-hero.component.js +1 -1
- package/{teaser-hero.component-BUhWjc2i.js → teaser-hero.component-By1HInfz.js} +1 -1
- package/teaser-hero.js +1 -1
- package/teaser-hero.pure.js +1 -1
- package/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/{timetable-occupancy.component-CLpJ-rjI.js → timetable-occupancy.component-Dq9RM6qS.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-base-HD0z6npS.js → title-base-B43-Q_7r.js} +1 -1
- package/{title.component-CjDkG7gT.js → title.component-DXJHJ6p6.js} +1 -1
- package/title.js +2 -2
- package/title.pure.js +2 -2
- package/toast/toast.component.js +1 -1
- package/{toast.component-DzsaWxPV.js → toast.component-D53COYeM.js} +1 -1
- package/toast.js +1 -1
- package/toast.pure.js +1 -1
- package/toggle/toggle/toggle.component.js +1 -1
- package/{toggle.component-D7X0E_hM.js → toggle.component-BGgAnHau.js} +1 -1
- package/toggle.js +1 -1
- package/toggle.pure.js +1 -1
- package/tooltip/tooltip.component.js +1 -1
- package/{tooltip.component-BCRFxBuV.js → tooltip.component-Bp-8vRoA.js} +1 -1
- package/tooltip.js +1 -1
- package/tooltip.pure.js +1 -1
- package/train/train-wagon/train-wagon.component.js +1 -1
- package/{train-wagon.component-CZiVPOaZ.js → train-wagon.component-LwKwwuta.js} +1 -1
- package/train.js +1 -1
- package/train.pure.js +1 -1
- package/button-common-C3wYY-UK.js +0 -85
- package/development/autocomplete-base-element-8hV4-ys6.js +0 -686
- package/development/breadcrumb-group.component-DP9X9qV1.js +0 -193
- package/development/calendar.component-C2WJuFrr.js +0 -1451
- package/development/card-badge.component-Be4gXazr.js +0 -83
- package/development/checkbox-common-DpE48IrV.js +0 -84
- package/development/chip-group.component-CxM8l839.js +0 -402
- package/development/compact-paginator.component-DiMeNNTc.js +0 -51
- package/development/error.component-C8JQQqSB.js +0 -53
- package/development/expansion-panel-header.component-CWojFAB-.js +0 -82
- package/development/footer.component-Dbc5xFqr.js +0 -169
- package/development/form-field.component-M0wf8ZR8.js +0 -703
- package/development/header.component-B2T2pmHs.js +0 -335
- package/development/hint.component-hKw1TLvO.js +0 -36
- package/development/message.component-CrXtMprr.js +0 -43
- package/development/notification.component-CKyNdgbx.js +0 -271
- package/development/paginator.component-Cqm7MuRD.js +0 -261
- package/development/radio-button-common-u7NYOI2p.js +0 -125
- package/development/select.component-Ibby7Q-L.js +0 -804
- package/development/status.component-p-egQ_U4.js +0 -110
- package/development/step-label.component-BTXuaONx.js +0 -126
- package/development/styles-D_8dMc_0.js +0 -14
- package/development/tag.component-CWL9jJTW.js +0 -241
- package/development/teaser-hero.component-De621iKn.js +0 -100
- package/development/toggle.component-BeHHTgRh.js +0 -244
- package/development/tooltip.component-BV0yBh9f.js +0 -369
- package/message.component-DgTPvDym.js +0 -26
- package/step-label.component-CbtQ7MvH.js +0 -77
- package/styles-DMLyYaea.js +0 -5
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
+
import { html, nothing, unsafeCSS } from "lit";
|
|
3
|
+
import { property } from "lit/decorators.js";
|
|
4
|
+
import { SbbElement, SbbLanguageController, SbbReadonlyMixin, boxSizingStyles, i18nCloseNotification, isLean, isZeroAnimationDuration } from "./core.js";
|
|
5
|
+
import { SbbSecondaryButtonElement } from "./button.pure.js";
|
|
6
|
+
import { SbbDividerElement } from "./divider.pure.js";
|
|
7
|
+
import { SbbIconNameMixin } from "./icon.pure.js";
|
|
8
|
+
import { ResizeController } from "@lit-labs/observers/resize-controller.js";
|
|
9
|
+
//#region src/elements/notification/notification.scss?inline
|
|
10
|
+
var notification_default = ":host {\n --sbb-notification-border: var(--sbb-notification-border-width) solid\n var(--sbb-notification-type-color);\n --sbb-notification-background-color: color-mix(in srgb, var(--sbb-notification-type-color) 5%, white);\n --sbb-notification-background-color: light-dark(\n color-mix(in srgb, var(--sbb-notification-type-color) 5%, white),\n color-mix(in srgb, var(--sbb-notification-type-color) 35%, white)\n );\n --sbb-notification-icon-color: var(--sbb-notification-type-color);\n --sbb-notification-border-radius-start: calc(var(--sbb-notification-base-border-radius) / 2);\n --sbb-notification-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-4x)\n );\n --_sbb-notification-icon-authoritative-font-size: 1em;\n --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-text);\n --_sbb-notification-inset-inline-start: calc(\n var(--sbb-notification-base-border-radius) - var(--sbb-notification-border-width)\n );\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-default);\n display: block;\n font-size: var(--sbb-notification-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n line-height: var(--sbb-typo-line-height-text);\n}\n\n:host(:is(:state(state-opening),[state--state-opening]):not([animation=open], [animation=all])) {\n --sbb-disable-animation-duration: 0s;\n}\n\n:host(:is(:state(state-closing),[state--state-closing]):not([animation=close], [animation=all])) {\n --sbb-disable-animation-duration: 0s;\n}\n\n:host(:is(:state(resize-disable-animation),[state--resize-disable-animation])) {\n --sbb-disable-animation-duration: 0s;\n}\n\n:host(:is(:state(slotted-title),[state--slotted-title])) {\n --_sbb-notification-icon-authoritative-font-size: var(--sbb-heading-font-size-5);\n --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-heading);\n}\n\n:host(:is(:state(slotted-title),[state--slotted-title])[size=s]) {\n --_sbb-notification-icon-authoritative-font-size: var(--sbb-heading-font-size-6);\n --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-text);\n}\n\n:host([size=m]) {\n --sbb-notification-font-size: var(--sbb-text-font-size-s);\n --sbb-notification-padding-block: var(--sbb-spacing-responsive-xxs);\n --sbb-notification-padding-inline: var(--sbb-spacing-responsive-xs);\n --sbb-notification-content-padding-inline: var(--sbb-spacing-responsive-xxxs)\n var(--sbb-spacing-responsive-xs);\n}\n\n:host([size=s]) {\n --sbb-notification-font-size: var(--sbb-text-font-size-xs);\n --sbb-notification-padding-block: var(--sbb-spacing-responsive-xxxs);\n --sbb-notification-padding-inline: var(--sbb-spacing-responsive-xxs)\n var(--sbb-spacing-responsive-xxxs);\n --sbb-notification-content-padding-inline: var(--sbb-spacing-responsive-xxxs)\n var(--sbb-spacing-responsive-xxs);\n}\n@media (min-width: calc(37.5rem)) {\n :host([size=s]) {\n --sbb-notification-padding-inline: var(--sbb-spacing-responsive-xxs);\n }\n}\n\n:host(:is(:not([type]), [type=info])) {\n --sbb-notification-type-color: var(--sbb-color-smoke);\n --sbb-notification-icon-color: var(--sbb-notification-color);\n --sbb-notification-divider-opacity-light: 20%;\n --sbb-notification-divider-opacity-dark: 20%;\n}\n\n:host([type=note]) {\n --sbb-notification-type-color: var(--sbb-color-sky);\n --sbb-notification-divider-opacity-light: 20%;\n --sbb-notification-divider-opacity-dark: 20%;\n}\n\n:host([type=success]) {\n --sbb-notification-type-color: var(--sbb-color-success);\n --sbb-notification-divider-opacity-light: 15%;\n --sbb-notification-divider-opacity-dark: 30%;\n}\n\n:host([type=warn]) {\n --sbb-notification-type-color: var(--sbb-color-warning);\n --sbb-notification-icon-color: var(--sbb-notification-color);\n --sbb-notification-divider-opacity-light: 25%;\n --sbb-notification-divider-opacity-dark: 40%;\n}\n\n:host([type=error]) {\n --sbb-notification-type-color: var(--sbb-color-error);\n --sbb-notification-divider-opacity-light: 10%;\n --sbb-notification-divider-opacity-dark: 25%;\n}\n\n.sbb-notification__wrapper {\n position: relative;\n inset-inline-start: var(--_sbb-notification-inset-inline-start);\n width: calc(100% - var(--_sbb-notification-inset-inline-start));\n border: var(--sbb-notification-border);\n border-radius: var(--sbb-notification-border-radius-start) var(--sbb-notification-base-border-radius) var(--sbb-notification-base-border-radius) var(--sbb-notification-border-radius-start);\n opacity: 0;\n max-height: 0;\n margin: 0;\n}\n.sbb-notification__wrapper::before {\n content: \"\";\n position: absolute;\n inset: calc(var(--sbb-notification-border-width) * -1) var(--sbb-notification-base-border-radius) calc(var(--sbb-notification-border-width) * -1) calc(var(--sbb-notification-base-border-radius) * -1);\n background-color: var(--sbb-notification-type-color);\n border: var(--sbb-notification-border);\n border-radius: var(--sbb-notification-base-border-radius);\n}\n:host(:is(:is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) .sbb-notification__wrapper {\n opacity: 1;\n max-height: calc(var(--sbb-notification-height) + var(--sbb-notification-border-width) * 2);\n margin: var(--sbb-notification-margin, 0);\n}\n:host(:is(:state(state-opening),[state--state-opening])) .sbb-notification__wrapper {\n animation-name: open;\n animation-fill-mode: forwards;\n animation-duration: var(--sbb-notification-animation-duration);\n animation-timing-function: var(--sbb-notification-timing-function);\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-notification__wrapper {\n animation-name: close, close-height;\n animation-fill-mode: forwards;\n animation-duration: var(--sbb-notification-animation-duration);\n animation-timing-function: var(--sbb-notification-timing-function);\n animation-delay: 0s, var(--sbb-disable-animation-duration, var(--sbb-animation-duration-2x));\n}\n\n.sbb-notification {\n position: relative;\n display: grid;\n grid-template-columns: 1fr auto;\n align-items: center;\n padding-block: var(--sbb-notification-padding-block);\n padding-inline: var(--sbb-notification-padding-inline);\n color: var(--sbb-notification-color);\n border-radius: var(--sbb-notification-border-radius-start) calc(var(--sbb-notification-base-border-radius) - var(--sbb-notification-border-width)) calc(var(--sbb-notification-base-border-radius) - var(--sbb-notification-border-width)) var(--sbb-notification-border-radius-start);\n overflow: hidden;\n background-color: var(--sbb-notification-background-color);\n}\n@media (min-width: calc(37.5rem)) {\n .sbb-notification {\n grid-template-columns: auto 1fr auto auto;\n }\n}\n\n.sbb-notification__icon,\n::slotted(sbb-icon) {\n color: var(--sbb-notification-icon-color);\n align-self: var(--sbb-notification-icon-align-self);\n --sbb-icon-svg-width: var(--sbb-notification-icon-size);\n}\n@media (min-width: calc(37.5rem)) {\n .sbb-notification__icon,\n ::slotted(sbb-icon) {\n margin-block-start: max(0rem, (var(--_sbb-notification-icon-authoritative-font-size) * var(--_sbb-notification-icon-authoritative-line-height) - var(--sbb-size-icon-ui-small)) / 2);\n }\n}\n\n.sbb-notification__content {\n color-scheme: only light;\n order: 3;\n grid-area: 2/1/3/3;\n align-self: flex-start;\n margin-block-start: var(--sbb-notification-content-margin-block-start);\n}\n@media (min-width: calc(37.5rem)) {\n .sbb-notification__content {\n order: initial;\n grid-area: initial;\n margin-block-start: 0;\n padding-inline: var(--sbb-notification-content-padding-inline);\n }\n}\n\n.sbb-notification__text {\n display: inline;\n margin: 0;\n padding: 0;\n}\n\n.sbb-notification__divider {\n --sbb-divider-color: color-mix(\n in srgb,\n var(--sbb-notification-type-color) var(--sbb-notification-divider-opacity-light),\n var(--sbb-notification-background-color)\n );\n --sbb-divider-color: light-dark(\n color-mix(\n in srgb,\n var(--sbb-notification-type-color) var(--sbb-notification-divider-opacity-light),\n var(--sbb-notification-background-color)\n ),\n color-mix(\n in srgb,\n var(--sbb-notification-type-color) var(--sbb-notification-divider-opacity-dark),\n var(--sbb-notification-background-color)\n )\n );\n display: none;\n position: relative;\n inset-inline-start: var(--sbb-border-width-1x);\n}\n@media (min-width: calc(37.5rem)) {\n .sbb-notification__divider {\n display: block;\n margin-inline-end: var(--sbb-notification-close-wrapper-gap);\n height: calc(100% - var(--sbb-spacing-fixed-1x) * 2);\n }\n}\n\n@keyframes open {\n from {\n opacity: 0;\n max-height: 0;\n margin: 0;\n }\n to {\n opacity: 1;\n max-height: calc(var(--sbb-notification-height) + var(--sbb-notification-border-width) * 2);\n margin: var(--sbb-notification-margin, 0);\n }\n}\n@keyframes close {\n from {\n opacity: 1;\n margin: var(--sbb-notification-margin, 0);\n }\n to {\n opacity: 0;\n margin: 0;\n }\n}\n@keyframes close-height {\n from {\n max-height: calc(var(--sbb-notification-height) + var(--sbb-notification-border-width) * 2);\n }\n to {\n max-height: 0;\n }\n}\n::slotted(sbb-title) {\n margin: 0;\n}";
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region src/elements/notification/notification.component.ts
|
|
13
|
+
var notificationTypes = new Map([
|
|
14
|
+
["info", "circle-information-small"],
|
|
15
|
+
["note", "circle-information-small"],
|
|
16
|
+
["success", "circle-tick-small"],
|
|
17
|
+
["warn", "circle-exclamation-point-small"],
|
|
18
|
+
["error", "circle-cross-small"]
|
|
19
|
+
]);
|
|
20
|
+
var DEBOUNCE_TIME = 150;
|
|
21
|
+
/**
|
|
22
|
+
* It displays messages which require a user's attention without interrupting its tasks.
|
|
23
|
+
*
|
|
24
|
+
* @slot - Use the unnamed slot to add content to the `sbb-notification`. Content should consist of an optional `sbb-title` element and text content.
|
|
25
|
+
* @slot title - Slot for the title. For the standard `sbb-title` element, the slot is automatically assigned when slotted in the unnamed slot.
|
|
26
|
+
* @slot icon - Use this slot to display a custom icon by providing an `sbb-icon` component.
|
|
27
|
+
* @cssprop [--sbb-notification-margin=0] - Can be used to modify the margin in order to get a smoother animation.
|
|
28
|
+
* See style section for more information.
|
|
29
|
+
*/
|
|
30
|
+
var SbbNotificationElement = (() => {
|
|
31
|
+
let _classSuper = SbbIconNameMixin(SbbReadonlyMixin(SbbElement));
|
|
32
|
+
let _type_decorators;
|
|
33
|
+
let _type_initializers = [];
|
|
34
|
+
let _type_extraInitializers = [];
|
|
35
|
+
let _size_decorators;
|
|
36
|
+
let _size_initializers = [];
|
|
37
|
+
let _size_extraInitializers = [];
|
|
38
|
+
let _animation_decorators;
|
|
39
|
+
let _animation_initializers = [];
|
|
40
|
+
let _animation_extraInitializers = [];
|
|
41
|
+
return class SbbNotificationElement extends _classSuper {
|
|
42
|
+
static {
|
|
43
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
44
|
+
_type_decorators = [property({ reflect: true })];
|
|
45
|
+
_size_decorators = [property({ reflect: true })];
|
|
46
|
+
_animation_decorators = [property({ reflect: true })];
|
|
47
|
+
__esDecorate(this, null, _type_decorators, {
|
|
48
|
+
kind: "accessor",
|
|
49
|
+
name: "type",
|
|
50
|
+
static: false,
|
|
51
|
+
private: false,
|
|
52
|
+
access: {
|
|
53
|
+
has: (obj) => "type" in obj,
|
|
54
|
+
get: (obj) => obj.type,
|
|
55
|
+
set: (obj, value) => {
|
|
56
|
+
obj.type = value;
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
metadata: _metadata
|
|
60
|
+
}, _type_initializers, _type_extraInitializers);
|
|
61
|
+
__esDecorate(this, null, _size_decorators, {
|
|
62
|
+
kind: "accessor",
|
|
63
|
+
name: "size",
|
|
64
|
+
static: false,
|
|
65
|
+
private: false,
|
|
66
|
+
access: {
|
|
67
|
+
has: (obj) => "size" in obj,
|
|
68
|
+
get: (obj) => obj.size,
|
|
69
|
+
set: (obj, value) => {
|
|
70
|
+
obj.size = value;
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
metadata: _metadata
|
|
74
|
+
}, _size_initializers, _size_extraInitializers);
|
|
75
|
+
__esDecorate(this, null, _animation_decorators, {
|
|
76
|
+
kind: "accessor",
|
|
77
|
+
name: "animation",
|
|
78
|
+
static: false,
|
|
79
|
+
private: false,
|
|
80
|
+
access: {
|
|
81
|
+
has: (obj) => "animation" in obj,
|
|
82
|
+
get: (obj) => obj.animation,
|
|
83
|
+
set: (obj, value) => {
|
|
84
|
+
obj.animation = value;
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
metadata: _metadata
|
|
88
|
+
}, _animation_initializers, _animation_extraInitializers);
|
|
89
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
90
|
+
enumerable: true,
|
|
91
|
+
configurable: true,
|
|
92
|
+
writable: true,
|
|
93
|
+
value: _metadata
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
static {
|
|
97
|
+
this.elementName = "sbb-notification";
|
|
98
|
+
}
|
|
99
|
+
static {
|
|
100
|
+
this.elementDependencies = [SbbSecondaryButtonElement, SbbDividerElement];
|
|
101
|
+
}
|
|
102
|
+
static {
|
|
103
|
+
this.styles = [boxSizingStyles, unsafeCSS(notification_default)];
|
|
104
|
+
}
|
|
105
|
+
static {
|
|
106
|
+
this.events = {
|
|
107
|
+
beforeopen: "beforeopen",
|
|
108
|
+
open: "open",
|
|
109
|
+
beforeclose: "beforeclose",
|
|
110
|
+
close: "close"
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
#type_accessor_storage;
|
|
114
|
+
/** The type of the notification. */
|
|
115
|
+
get type() {
|
|
116
|
+
return this.#type_accessor_storage;
|
|
117
|
+
}
|
|
118
|
+
set type(value) {
|
|
119
|
+
this.#type_accessor_storage = value;
|
|
120
|
+
}
|
|
121
|
+
#size_accessor_storage;
|
|
122
|
+
/**
|
|
123
|
+
* Size variant, either s or m.
|
|
124
|
+
* @default 'm' / 's' (lean)
|
|
125
|
+
*/
|
|
126
|
+
get size() {
|
|
127
|
+
return this.#size_accessor_storage;
|
|
128
|
+
}
|
|
129
|
+
set size(value) {
|
|
130
|
+
this.#size_accessor_storage = value;
|
|
131
|
+
}
|
|
132
|
+
#animation_accessor_storage;
|
|
133
|
+
/** The enabled animations. */
|
|
134
|
+
get animation() {
|
|
135
|
+
return this.#animation_accessor_storage;
|
|
136
|
+
}
|
|
137
|
+
set animation(value) {
|
|
138
|
+
this.#animation_accessor_storage = value;
|
|
139
|
+
}
|
|
140
|
+
/** The state of the component. */
|
|
141
|
+
set _state(state) {
|
|
142
|
+
if (this._stateInternal) this.internals.states.delete(`state-${this._stateInternal}`);
|
|
143
|
+
this._stateInternal = state;
|
|
144
|
+
if (this._stateInternal) this.internals.states.add(`state-${this._stateInternal}`);
|
|
145
|
+
}
|
|
146
|
+
get _state() {
|
|
147
|
+
return this._stateInternal;
|
|
148
|
+
}
|
|
149
|
+
constructor() {
|
|
150
|
+
super();
|
|
151
|
+
this.#type_accessor_storage = __runInitializers(this, _type_initializers, "info");
|
|
152
|
+
this.#size_accessor_storage = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m"));
|
|
153
|
+
this.#animation_accessor_storage = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _animation_initializers, "all"));
|
|
154
|
+
this._stateInternal = __runInitializers(this, _animation_extraInitializers);
|
|
155
|
+
this._resizeObserverTimeout = null;
|
|
156
|
+
this._language = new SbbLanguageController(this);
|
|
157
|
+
this._notificationResizeObserver = new ResizeController(this, {
|
|
158
|
+
target: null,
|
|
159
|
+
skipInitial: true,
|
|
160
|
+
callback: () => this._onNotificationResize()
|
|
161
|
+
});
|
|
162
|
+
this._state = "closed";
|
|
163
|
+
}
|
|
164
|
+
willUpdate(changedProperties) {
|
|
165
|
+
super.willUpdate(changedProperties);
|
|
166
|
+
if (changedProperties.has("size")) this._configureTitle();
|
|
167
|
+
}
|
|
168
|
+
_open() {
|
|
169
|
+
if (this._state === "closed") {
|
|
170
|
+
this._state = "opening";
|
|
171
|
+
/** Emits when the opening animation starts. */
|
|
172
|
+
this.dispatchEvent(new Event("beforeopen"));
|
|
173
|
+
if (this._isZeroAnimationDuration()) this._handleOpening();
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
close() {
|
|
177
|
+
if (this._state === "opened" && this._dispatchBeforeCloseEvent()) {
|
|
178
|
+
this._state = "closing";
|
|
179
|
+
if (this._isZeroAnimationDuration()) this._handleClosing();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
_dispatchBeforeCloseEvent() {
|
|
183
|
+
/** Emits when the closing animation starts. Can be canceled to prevent the component from closing. */
|
|
184
|
+
return this.dispatchEvent(new Event("beforeclose", { cancelable: true }));
|
|
185
|
+
}
|
|
186
|
+
firstUpdated(changedProperties) {
|
|
187
|
+
super.firstUpdated(changedProperties);
|
|
188
|
+
this._notificationElement = this.shadowRoot?.querySelector(".sbb-notification__wrapper");
|
|
189
|
+
this.updateComplete.then(() => {
|
|
190
|
+
this._setNotificationHeight();
|
|
191
|
+
this._open();
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
_isZeroAnimationDuration() {
|
|
195
|
+
return isZeroAnimationDuration(this, "--sbb-notification-animation-duration");
|
|
196
|
+
}
|
|
197
|
+
_setNotificationHeight() {
|
|
198
|
+
if (!this._notificationElement?.scrollHeight) return;
|
|
199
|
+
const notificationHeight = `${this._notificationElement.scrollHeight}px`;
|
|
200
|
+
this.style.setProperty("--sbb-notification-height", notificationHeight);
|
|
201
|
+
}
|
|
202
|
+
_onNotificationResize() {
|
|
203
|
+
if (this._state !== "opened") return;
|
|
204
|
+
if (this._resizeObserverTimeout) clearTimeout(this._resizeObserverTimeout);
|
|
205
|
+
this.internals.states.add("resize-disable-animation");
|
|
206
|
+
this._resizeObserverTimeout = setTimeout(() => this.internals.states.delete("resize-disable-animation"), DEBOUNCE_TIME);
|
|
207
|
+
setTimeout(() => this._setNotificationHeight());
|
|
208
|
+
}
|
|
209
|
+
_onNotificationAnimationEnd(event) {
|
|
210
|
+
if (this._state === "opening" && event.animationName === "open") this._handleOpening();
|
|
211
|
+
if (this._state === "closing" && event.animationName === "close-height") this._handleClosing();
|
|
212
|
+
}
|
|
213
|
+
_handleOpening() {
|
|
214
|
+
this._state = "opened";
|
|
215
|
+
this._notificationResizeObserver.observe(this._notificationElement);
|
|
216
|
+
/** Emits when the opening animation ends. */
|
|
217
|
+
this.dispatchEvent(new Event("open"));
|
|
218
|
+
}
|
|
219
|
+
_handleClosing() {
|
|
220
|
+
this._state = "closed";
|
|
221
|
+
/** Emits when the closing animation ends. */
|
|
222
|
+
this.dispatchEvent(new Event("close"));
|
|
223
|
+
this._notificationResizeObserver.unobserve(this._notificationElement);
|
|
224
|
+
setTimeout(() => this.remove());
|
|
225
|
+
}
|
|
226
|
+
_handleSlotchange() {
|
|
227
|
+
const title = Array.from(this.children).find((el) => el.localName === "sbb-title");
|
|
228
|
+
if (title) title.slot = "title";
|
|
229
|
+
}
|
|
230
|
+
_configureTitle() {
|
|
231
|
+
const title = this.querySelector?.("sbb-title");
|
|
232
|
+
if (title) {
|
|
233
|
+
customElements.upgrade(title);
|
|
234
|
+
title.visualLevel = this.size === "m" ? "5" : "6";
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
renderIconName() {
|
|
238
|
+
return super.renderIconName() || notificationTypes.get(this.type);
|
|
239
|
+
}
|
|
240
|
+
render() {
|
|
241
|
+
return html`
|
|
242
|
+
<div class="sbb-notification__wrapper" @animationend=${this._onNotificationAnimationEnd}>
|
|
243
|
+
<div class="sbb-notification">
|
|
244
|
+
${this.renderIconSlot("sbb-notification__icon")}
|
|
245
|
+
<span class="sbb-notification__content">
|
|
246
|
+
<slot name="title" @slotchange=${this._configureTitle}></slot>
|
|
247
|
+
<p class="sbb-notification__text">
|
|
248
|
+
<slot @slotchange=${this._handleSlotchange}></slot>
|
|
249
|
+
</p>
|
|
250
|
+
</span>
|
|
251
|
+
|
|
252
|
+
${!this.readOnly ? html`
|
|
253
|
+
<sbb-divider class="sbb-notification__divider" orientation="vertical"></sbb-divider>
|
|
254
|
+
<sbb-secondary-button
|
|
255
|
+
size=${this.size}
|
|
256
|
+
icon-name="cross-small"
|
|
257
|
+
@click=${() => this.close()}
|
|
258
|
+
aria-label=${i18nCloseNotification[this._language.current]}
|
|
259
|
+
class="sbb-notification__close"
|
|
260
|
+
></sbb-secondary-button>
|
|
261
|
+
` : nothing}
|
|
262
|
+
</div>
|
|
263
|
+
</div>
|
|
264
|
+
`;
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
})();
|
|
268
|
+
//#endregion
|
|
269
|
+
export { SbbNotificationElement as t };
|
|
270
|
+
|
|
271
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC1CZ0Y1YUdybi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG4vLyBPcGVuL0Nsb3NlIGFuaW1hdGlvbiB2YXJzXG4kb3Blbi1hbmltLW1hcmdpbi1mcm9tOiAwO1xuJG9wZW4tYW5pbS1tYXJnaW4tdG86IHZhcigtLXNiYi1ub3RpZmljYXRpb24tbWFyZ2luLCAwKTtcbiRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tOiAwO1xuJG9wZW4tYW5pbS1vcGFjaXR5LXRvOiAxO1xuJG9wZW4tYW5pbS1oZWlnaHQtZnJvbTogMDtcbiRvcGVuLWFuaW0taGVpZ2h0LXRvOiBjYWxjKFxuICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWhlaWdodCkgKyAodmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpICogMilcbik7XG5cbjpob3N0IHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkXG4gICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3I6IGxpZ2h0LWRhcmsoXG4gICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgNSUsIHdoaXRlKSxcbiAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKSAzNSUsIHdoaXRlKVxuICApO1xuICAtLXNiYi1ub3RpZmljYXRpb24taWNvbi1jb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXMtc3RhcnQ6IGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC8gMik7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWljb24tYXV0aG9yaXRhdGl2ZS1mb250LXNpemU6IDFlbTtcbiAgLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWluc2V0LWlubGluZS1zdGFydDogY2FsYyhcbiAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci13aWR0aClcbiAgKTtcblxuICAvLyBBcyB0aGUgbm90aWZpY2F0aW9uIGhhcyBhbHdheXMgYSBsaWdodCBiYWNrZ3JvdW5kLCB3ZSBoYXZlIHRvIGZpeCB0aGUgZm9jdXMgb3V0bGluZSBjb2xvclxuICAvLyB0byBkZWZhdWx0IGNvbG9yIGZvciBjYXNlcyB3aGVyZSB0aGUgbm90aWZpY2F0aW9uIGlzIHVzZWQgaW4gYSBuZWdhdGl2ZSBjb250ZXh0LlxuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kZWZhdWx0KTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWZvbnQtc2l6ZSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xufVxuXG4vLyBCeSBkZWZhdWx0LCB0aGUgb3BlbiBhbmltYXRpb24gaXMgZGlzYWJsZWRcbjpob3N0KDpzdGF0ZShzdGF0ZS1vcGVuaW5nKTpub3QoW2FuaW1hdGlvbj0nb3BlbiddLCBbYW5pbWF0aW9uPSdhbGwnXSkpIHtcbiAgQGluY2x1ZGUgc2JiLmRpc2FibGUtYW5pbWF0aW9uO1xufVxuXG46aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZyk6bm90KFthbmltYXRpb249J2Nsb3NlJ10sIFthbmltYXRpb249J2FsbCddKSkge1xuICBAaW5jbHVkZSBzYmIuZGlzYWJsZS1hbmltYXRpb247XG59XG5cbjpob3N0KDpzdGF0ZShyZXNpemUtZGlzYWJsZS1hbmltYXRpb24pKSB7XG4gIEBpbmNsdWRlIHNiYi5kaXNhYmxlLWFuaW1hdGlvbjtcbn1cblxuOmhvc3QoOnN0YXRlKHNsb3R0ZWQtdGl0bGUpKSB7XG4gIC0tX3NiYi1ub3RpZmljYXRpb24taWNvbi1hdXRob3JpdGF0aXZlLWZvbnQtc2l6ZTogdmFyKC0tc2JiLWhlYWRpbmctZm9udC1zaXplLTUpO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWljb24tYXV0aG9yaXRhdGl2ZS1saW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtaGVhZGluZyk7XG59XG5cbjpob3N0KDpzdGF0ZShzbG90dGVkLXRpdGxlKVtzaXplPSdzJ10pIHtcbiAgLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtZm9udC1zaXplOiB2YXIoLS1zYmItaGVhZGluZy1mb250LXNpemUtNik7XG4gIC0tX3NiYi1ub3RpZmljYXRpb24taWNvbi1hdXRob3JpdGF0aXZlLWxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcbn1cblxuOmhvc3QoW3NpemU9J20nXSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtcyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1jb250ZW50LXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpXG4gICAgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXhzKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLXBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHMpXG4gICAgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHhzKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWNvbnRlbnQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cylcbiAgICB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4cyk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHMpO1xuICB9XG59XG5cbi8vIFR5cGVzXG46aG9zdCg6aXMoOm5vdChbdHlwZV0pLCBbdHlwZT0naW5mbyddKSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXNtb2tlKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWljb24tY29sb3I6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY29sb3IpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWxpZ2h0OiAyMCU7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyazogMjAlO1xufVxuXG46aG9zdChbdHlwZT0nbm90ZSddKSB7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yOiB2YXIoLS1zYmItY29sb3Itc2t5KTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1saWdodDogMjAlO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWRhcms6IDIwJTtcbn1cblxuOmhvc3QoW3R5cGU9J3N1Y2Nlc3MnXSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXN1Y2Nlc3MpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWxpZ2h0OiAxNSU7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyazogMzAlO1xufVxuXG46aG9zdChbdHlwZT0nd2FybiddKSB7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yOiB2YXIoLS1zYmItY29sb3Itd2FybmluZyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1pY29uLWNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1saWdodDogMjUlO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWRhcms6IDQwJTtcbn1cblxuOmhvc3QoW3R5cGU9J2Vycm9yJ10pIHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLXR5cGUtY29sb3I6IHZhcigtLXNiYi1jb2xvci1lcnJvcik7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktbGlnaHQ6IDEwJTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1kYXJrOiAyNSU7XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLV9zYmItbm90aWZpY2F0aW9uLWluc2V0LWlubGluZS1zdGFydCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pbnNldC1pbmxpbmUtc3RhcnQpKTtcbiAgYm9yZGVyOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cy1zdGFydClcbiAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpXG4gICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItcmFkaXVzLXN0YXJ0KTtcbiAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gIG1heC1oZWlnaHQ6ICN7JG9wZW4tYW5pbS1oZWlnaHQtZnJvbX07XG4gIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi1mcm9tfTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogY2FsYyh2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci13aWR0aCkgKiAtMSlcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFzZS1ib3JkZXItcmFkaXVzKSBjYWxjKHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXdpZHRoKSAqIC0xKVxuICAgICAgY2FsYyh2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgKiAtMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICA6aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LXRvfTtcbiAgICBtYXgtaGVpZ2h0OiAjeyRvcGVuLWFuaW0taGVpZ2h0LXRvfTtcbiAgICBtYXJnaW46ICN7JG9wZW4tYW5pbS1tYXJnaW4tdG99O1xuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5pbmcpKSAmIHtcbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBmaWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10aW1pbmctZnVuY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkgJiB7XG4gICAgYW5pbWF0aW9uOiB7XG4gICAgICBuYW1lOiBjbG9zZSwgY2xvc2UtaGVpZ2h0O1xuICAgICAgZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1ub3RpZmljYXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcbiAgICAgIGRlbGF5OiAwcywgdmFyKC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLCB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTJ4KSk7XG4gICAgfVxuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLXBhZGRpbmctYmxvY2spO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZSk7XG4gIGNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItcmFkaXVzLXN0YXJ0KVxuICAgIGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpKVxuICAgIGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpKVxuICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0byBhdXRvO1xuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX19pY29uLFxuOjpzbG90dGVkKHNiYi1pY29uKSB7XG4gIGNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tY29sb3IpO1xuICBhbGlnbi1zZWxmOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tYWxpZ24tc2VsZik7XG5cbiAgLy8gVGhpcyBpcyBhbiB1bmRvY3VtZW50ZWQgZmVhdHVyZSBmb3Igc2JiLmNoLCB0byBoYXZlIHRoZSBhYmlsaXR5IHRvIGhpZGUgdGhlIGljb24uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tc2l6ZSk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogbWF4KFxuICAgICAgMHJlbSxcbiAgICAgIGNhbGMoXG4gICAgICAgIChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtZm9udC1zaXplKSAqXG4gICAgICAgICAgICAgICAgICB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtbGluZS1oZWlnaHQpXG4gICAgICAgICAgICAgICkgLSB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKVxuICAgICAgICAgICkgL1xuICAgICAgICAgIDJcbiAgICAgIClcbiAgICApO1xuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX19jb250ZW50IHtcbiAgLy8gVGhlIGNvbnRlbnQgb2YgdGhlIG5vdGlmaWNhdGlvbiBpcyBhbHdheXMgZGlzcGxheWVkIGluIHBvc2l0aXZlIG1vZGUsXG4gIC8vIHRoZXJlZm9yZSwgdG8gaGF2ZSBzbG90dGVkIGNvbnRlbnQgY29ycmVjdGx5IGRpc3BsYXksIHdlIG5lZWQgb25seSBhbGxvdyBsaWdodCBtb2RlLlxuICBjb2xvci1zY2hlbWU6IG9ubHkgbGlnaHQ7XG4gIG9yZGVyOiAzO1xuICBncmlkLWFyZWE6IDIgLyAxIC8gMyAvIDM7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1jb250ZW50LW1hcmdpbi1ibG9jay1zdGFydCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIG9yZGVyOiBpbml0aWFsO1xuICAgIGdyaWQtYXJlYTogaW5pdGlhbDtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY29udGVudC1wYWRkaW5nLWlubGluZSk7XG4gIH1cbn1cblxuLnNiYi1ub3RpZmljYXRpb25fX3RleHQge1xuICAvLyBSZXNldCBwYXJhZ3JhcGggc3R5bGVzXG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc2JiLW5vdGlmaWNhdGlvbl9fZGl2aWRlciB7XG4gIC0tc2JiLWRpdmlkZXItY29sb3I6IGxpZ2h0LWRhcmsoXG4gICAgY29sb3ItbWl4KFxuICAgICAgaW4gc3JnYixcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktbGlnaHQpLFxuICAgICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yKVxuICAgICksXG4gICAgY29sb3ItbWl4KFxuICAgICAgaW4gc3JnYixcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyayksXG4gICAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3IpXG4gICAgKVxuICApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KTtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IHNtYWxsKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY2xvc2Utd3JhcHBlci1nYXApO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gKHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KSAqIDIpKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tfTtcbiAgICBtYXgtaGVpZ2h0OiAjeyRvcGVuLWFuaW0taGVpZ2h0LWZyb219O1xuICAgIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi1mcm9tfTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS10b307XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC10b307XG4gICAgbWFyZ2luOiAjeyRvcGVuLWFuaW0tbWFyZ2luLXRvfTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktdG99O1xuICAgIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi10b307XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gICAgbWFyZ2luOiAjeyRvcGVuLWFuaW0tbWFyZ2luLWZyb219O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2xvc2UtaGVpZ2h0IHtcbiAgZnJvbSB7XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC10b307XG4gIH1cblxuICB0byB7XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC1mcm9tfTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoc2JiLXRpdGxlKSB7XG4gIC8vIE92ZXJ3cml0ZSBzYmItdGl0bGUgZGVmYXVsdCBtYXJnaW5cbiAgbWFyZ2luOiAwO1xufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYlNlY29uZGFyeUJ1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9idXR0b24ucHVyZS50cyc7XG5pbXBvcnQge1xuICBib3hTaXppbmdTdHlsZXMsXG4gIGkxOG5DbG9zZU5vdGlmaWNhdGlvbixcbiAgaXNMZWFuLFxuICBpc1plcm9BbmltYXRpb25EdXJhdGlvbixcbiAgU2JiRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICB0eXBlIFNiYk9wZW5lZENsb3NlZFN0YXRlLFxuICBTYmJSZWFkb25seU1peGluLFxufSBmcm9tICcuLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYkRpdmlkZXJFbGVtZW50IH0gZnJvbSAnLi4vZGl2aWRlci5wdXJlLnRzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi9pY29uLnB1cmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUVsZW1lbnQgfSBmcm9tICcuLi90aXRsZS5wdXJlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbm90aWZpY2F0aW9uLnNjc3M/aW5saW5lJztcblxuY29uc3Qgbm90aWZpY2F0aW9uVHlwZXMgPSBuZXcgTWFwKFtcbiAgWydpbmZvJywgJ2NpcmNsZS1pbmZvcm1hdGlvbi1zbWFsbCddLFxuICBbJ25vdGUnLCAnY2lyY2xlLWluZm9ybWF0aW9uLXNtYWxsJ10sXG4gIFsnc3VjY2VzcycsICdjaXJjbGUtdGljay1zbWFsbCddLFxuICBbJ3dhcm4nLCAnY2lyY2xlLWV4Y2xhbWF0aW9uLXBvaW50LXNtYWxsJ10sXG4gIFsnZXJyb3InLCAnY2lyY2xlLWNyb3NzLXNtYWxsJ10sXG5dKTtcblxuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBtZXNzYWdlcyB3aGljaCByZXF1aXJlIGEgdXNlcidzIGF0dGVudGlvbiB3aXRob3V0IGludGVycnVwdGluZyBpdHMgdGFza3MuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi1ub3RpZmljYXRpb25gLiBDb250ZW50IHNob3VsZCBjb25zaXN0IG9mIGFuIG9wdGlvbmFsIGBzYmItdGl0bGVgIGVsZW1lbnQgYW5kIHRleHQgY29udGVudC5cbiAqIEBzbG90IHRpdGxlIC0gU2xvdCBmb3IgdGhlIHRpdGxlLiBGb3IgdGhlIHN0YW5kYXJkIGBzYmItdGl0bGVgIGVsZW1lbnQsIHRoZSBzbG90IGlzIGF1dG9tYXRpY2FsbHkgYXNzaWduZWQgd2hlbiBzbG90dGVkIGluIHRoZSB1bm5hbWVkIHNsb3QuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBkaXNwbGF5IGEgY3VzdG9tIGljb24gYnkgcHJvdmlkaW5nIGFuIGBzYmItaWNvbmAgY29tcG9uZW50LlxuICogQGNzc3Byb3AgWy0tc2JiLW5vdGlmaWNhdGlvbi1tYXJnaW49MF0gLSBDYW4gYmUgdXNlZCB0byBtb2RpZnkgdGhlIG1hcmdpbiBpbiBvcmRlciB0byBnZXQgYSBzbW9vdGhlciBhbmltYXRpb24uXG4gKiBTZWUgc3R5bGUgc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQgZXh0ZW5kcyBTYmJJY29uTmFtZU1peGluKFNiYlJlYWRvbmx5TWl4aW4oU2JiRWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1ub3RpZmljYXRpb24nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbXG4gICAgU2JiU2Vjb25kYXJ5QnV0dG9uRWxlbWVudCxcbiAgICBTYmJEaXZpZGVyRWxlbWVudCxcbiAgXTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGJlZm9yZW9wZW46ICdiZWZvcmVvcGVuJyxcbiAgICBvcGVuOiAnb3BlbicsXG4gICAgYmVmb3JlY2xvc2U6ICdiZWZvcmVjbG9zZScsXG4gICAgY2xvc2U6ICdjbG9zZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFRoZSB0eXBlIG9mIHRoZSBub3RpZmljYXRpb24uICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHR5cGU6XG4gICAgfCAnaW5mbydcbiAgICB8ICdub3RlJ1xuICAgIHwgJ3N1Y2Nlc3MnXG4gICAgfCAnd2FybidcbiAgICB8ICdlcnJvcicgPSAnaW5mbyc7XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIHMgb3IgbS5cbiAgICogQGRlZmF1bHQgJ20nIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ20nID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgLyoqIFRoZSBlbmFibGVkIGFuaW1hdGlvbnMuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIGFuaW1hdGlvbjogJ29wZW4nIHwgJ2Nsb3NlJyB8ICdhbGwnIHwgJ25vbmUnID0gJ2FsbCc7XG5cbiAgLyoqIFRoZSBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LiAqL1xuICBwcml2YXRlIHNldCBfc3RhdGUoc3RhdGU6IFNiYk9wZW5lZENsb3NlZFN0YXRlKSB7XG4gICAgaWYgKHRoaXMuX3N0YXRlSW50ZXJuYWwpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoYHN0YXRlLSR7dGhpcy5fc3RhdGVJbnRlcm5hbH1gKTtcbiAgICB9XG4gICAgdGhpcy5fc3RhdGVJbnRlcm5hbCA9IHN0YXRlO1xuICAgIGlmICh0aGlzLl9zdGF0ZUludGVybmFsKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBzdGF0ZS0ke3RoaXMuX3N0YXRlSW50ZXJuYWx9YCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgZ2V0IF9zdGF0ZSgpOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlSW50ZXJuYWw7XG4gIH1cbiAgcHJpdmF0ZSBfc3RhdGVJbnRlcm5hbCE6IFNiYk9wZW5lZENsb3NlZFN0YXRlO1xuXG4gIHByaXZhdGUgX25vdGlmaWNhdGlvbkVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXJUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX25vdGlmaWNhdGlvblJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy5fb25Ob3RpZmljYXRpb25SZXNpemUoKSxcbiAgfSk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2l6ZScpKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUaXRsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnY2xvc2VkJykge1xuICAgICAgdGhpcy5fc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgICAvKiogRW1pdHMgd2hlbiB0aGUgb3BlbmluZyBhbmltYXRpb24gc3RhcnRzLiAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3Jlb3BlbicpKTtcblxuICAgICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnb3BlbmVkJyAmJiB0aGlzLl9kaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoKSkge1xuICAgICAgdGhpcy5fc3RhdGUgPSAnY2xvc2luZyc7XG5cbiAgICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCk6IGJvb2xlYW4ge1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBjbG9zaW5nIGFuaW1hdGlvbiBzdGFydHMuIENhbiBiZSBjYW5jZWxlZCB0byBwcmV2ZW50IHRoZSBjb21wb25lbnQgZnJvbSBjbG9zaW5nLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdiZWZvcmVjbG9zZScsIHsgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKFxuICAgICAgJy5zYmItbm90aWZpY2F0aW9uX193cmFwcGVyJyxcbiAgICApIGFzIEhUTUxFbGVtZW50O1xuICAgIC8vIFdlIG5lZWQgdG8gd2FpdCBmb3IgdGhlIGNvbXBvbmVudCdzIGB1cGRhdGVDb21wbGV0ZWAgaW4gb3JkZXIgdG8gc2V0IHRoZSBjb3JyZWN0XG4gICAgLy8gaGVpZ2h0IHRvIHRoZSBub3RpZmljYXRpb24gZWxlbWVudC5cbiAgICB0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5fc2V0Tm90aWZpY2F0aW9uSGVpZ2h0KCk7XG4gICAgICB0aGlzLl9vcGVuKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLW5vdGlmaWNhdGlvbi1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldE5vdGlmaWNhdGlvbkhlaWdodCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQ/LnNjcm9sbEhlaWdodCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBub3RpZmljYXRpb25IZWlnaHQgPSBgJHt0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50LnNjcm9sbEhlaWdodH1weGA7XG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItbm90aWZpY2F0aW9uLWhlaWdodCcsIG5vdGlmaWNhdGlvbkhlaWdodCk7XG4gIH1cblxuICBwcml2YXRlIF9vbk5vdGlmaWNhdGlvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCk7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdoZW4gcmVzaXppbmcgdGhlIG5vdGlmaWNhdGlvbiB0byBhdm9pZCBzdHJhbmdlIGhlaWdodCB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgncmVzaXplLWRpc2FibGUtYW5pbWF0aW9uJyk7XG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ3Jlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicpLFxuICAgICAgREVCT1VOQ0VfVElNRSxcbiAgICApO1xuXG4gICAgLy8gVG8gYXZvaWQgUmVzaXplT2JzZXJ2ZXIgbG9vcHMsIHdlIHNldCB0aGUgaGVpZ2h0IGEgdGljayBsYXRlci5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3NldE5vdGlmaWNhdGlvbkhlaWdodCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uTm90aWZpY2F0aW9uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5pbmcnICYmIGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NpbmcnICYmIGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZS1oZWlnaHQnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuX25vdGlmaWNhdGlvblJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCk7XG4gICAgLyoqIEVtaXRzIHdoZW4gdGhlIG9wZW5pbmcgYW5pbWF0aW9uIGVuZHMuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnb3BlbicpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgY2xvc2luZyBhbmltYXRpb24gZW5kcy4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjbG9zZScpKTtcbiAgICB0aGlzLl9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlbW92ZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgdGl0bGUgPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4pLmZpbmQoKGVsKSA9PiBlbC5sb2NhbE5hbWUgPT09ICdzYmItdGl0bGUnKTtcbiAgICBpZiAodGl0bGUpIHtcbiAgICAgIHRpdGxlLnNsb3QgPSAndGl0bGUnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZVRpdGxlKCk6IHZvaWQge1xuICAgIGNvbnN0IHRpdGxlID0gdGhpcy5xdWVyeVNlbGVjdG9yPy48U2JiVGl0bGVFbGVtZW50Pignc2JiLXRpdGxlJyk7XG4gICAgaWYgKHRpdGxlKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHRpdGxlKTtcbiAgICAgIHRpdGxlLnZpc3VhbExldmVsID0gdGhpcy5zaXplID09PSAnbScgPyAnNScgOiAnNic7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlckljb25OYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN1cGVyLnJlbmRlckljb25OYW1lKCkgfHwgbm90aWZpY2F0aW9uVHlwZXMuZ2V0KHRoaXMudHlwZSkhO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fd3JhcHBlclwiIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbk5vdGlmaWNhdGlvbkFuaW1hdGlvbkVuZH0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uXCI+XG4gICAgICAgICAgJHt0aGlzLnJlbmRlckljb25TbG90KCdzYmItbm90aWZpY2F0aW9uX19pY29uJyl9XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19jb250ZW50XCI+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwidGl0bGVcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX2NvbmZpZ3VyZVRpdGxlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8cCBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX3RleHRcIj5cbiAgICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgJHshdGhpcy5yZWFkT25seVxuICAgICAgICAgICAgPyBodG1sYFxuICAgICAgICAgICAgICAgIDxzYmItZGl2aWRlciBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX2RpdmlkZXJcIiBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCI+PC9zYmItZGl2aWRlcj5cbiAgICAgICAgICAgICAgICA8c2JiLXNlY29uZGFyeS1idXR0b25cbiAgICAgICAgICAgICAgICAgIHNpemU9JHt0aGlzLnNpemV9XG4gICAgICAgICAgICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLmNsb3NlKCl9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSR7aTE4bkNsb3NlTm90aWZpY2F0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19jbG9zZVwiXG4gICAgICAgICAgICAgICAgPjwvc2JiLXNlY29uZGFyeS1idXR0b24+XG4gICAgICAgICAgICAgIGBcbiAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbm90aWZpY2F0aW9uJzogU2JiTm90aWZpY2F0aW9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUM2QkEsSUFBTSxvQkFBb0IsSUFBSSxJQUFJO0NBQ2hDLENBQUMsUUFBUSwyQkFBMkI7Q0FDcEMsQ0FBQyxRQUFRLDJCQUEyQjtDQUNwQyxDQUFDLFdBQVcsb0JBQW9CO0NBQ2hDLENBQUMsUUFBUSxpQ0FBaUM7Q0FDMUMsQ0FBQyxTQUFTLHFCQUFBO0NBQ1gsQ0FBQztBQUVGLElBQU0sZ0JBQWdCOzs7Ozs7Ozs7O0lBV1QsZ0NBQXNCO21CQUFTLGlCQUFpQixpQkFBaUIsV0FBVyxDQUFDOzs7Ozs7Ozs7O2NBQTdFLCtCQUErQixZQUE4Qzs7O3VCQWV2RixTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTt1QkFXM0IsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7NEJBRzNCLFNBQVMsRUFBRSxTQUFTLE1BQU0sQ0FBQyxDQUFBO0FBZEMsZ0JBQUEsTUFBQSxNQUFBLGtCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsVUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFJLE1BQUEsS0FBQSxVQUFBO0FB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
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbNotificationElement } from "./notification.component-
|
|
1
|
+
import { t as SbbNotificationElement } from "./notification.component-BgF5aGrn.js";
|
|
2
2
|
export { SbbNotificationElement };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbCompactPaginatorElement } from "../../compact-paginator.component-
|
|
1
|
+
import { t as SbbCompactPaginatorElement } from "../../compact-paginator.component-CRojCci5.js";
|
|
2
2
|
export { SbbCompactPaginatorElement };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbPaginatorElement } from "../../paginator.component-
|
|
1
|
+
import { t as SbbPaginatorElement } from "../../paginator.component-BlyTYIs0.js";
|
|
2
2
|
export { SbbPaginatorElement };
|