@sbb-esta/lyne-elements 3.12.1 → 3.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +4 -4
- package/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +1 -0
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +4 -4
- package/button/common.js +1 -1
- package/button.js +1 -1
- package/calendar/calendar.component.d.ts +1 -0
- package/calendar/calendar.component.d.ts.map +1 -1
- package/calendar/calendar.component.js +126 -126
- package/card/common/card-action-common.d.ts.map +1 -1
- package/card/common/card-action-common.js +3 -8
- package/checkbox/common.js +1 -1
- package/checkbox-common-C5r-MPLc.js +5 -0
- package/checkbox.js +1 -1
- package/core/a11y/interactivity-checker.js +0 -7
- package/core/a11y/live-announcer.js +0 -7
- package/core/config/config.d.ts +5 -0
- package/core/config/config.d.ts.map +1 -1
- package/core/datetime/native-date-adapter.d.ts +1 -0
- package/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/core/datetime/native-date-adapter.js +1 -1
- package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/core/mixins.js +2 -2
- package/core/styles/core.scss +4 -0
- package/core.css +2 -0
- package/custom-elements.json +24 -179
- package/date-input/date-input.component.d.ts +1 -0
- package/date-input/date-input.component.d.ts.map +1 -1
- package/date-input/date-input.component.js +2 -1
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -2
- package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +1 -0
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +3 -3
- package/development/button/common.js +1 -1
- package/development/button.js +1 -1
- package/development/calendar/calendar.component.d.ts +1 -0
- package/development/calendar/calendar.component.d.ts.map +1 -1
- package/development/calendar/calendar.component.js +4 -4
- package/development/card/common/card-action-common.d.ts.map +1 -1
- package/development/card/common/card-action-common.js +15 -8
- package/development/checkbox/common.js +1 -1
- package/development/{checkbox-common-Dy_ofVhp.js → checkbox-common-Cq9DLK37.js} +3 -3
- package/development/checkbox.js +1 -1
- package/development/core/a11y/interactivity-checker.js +1 -8
- package/development/core/a11y/live-announcer.js +1 -8
- package/development/core/config/config.d.ts +5 -0
- package/development/core/config/config.d.ts.map +1 -1
- package/development/core/config/config.js +1 -1
- package/development/core/datetime/native-date-adapter.d.ts +1 -0
- package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/development/core/datetime/native-date-adapter.js +2 -2
- package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-input-mixin.js +1 -1
- package/development/core/mixins.js +2 -2
- package/development/date-input/date-input.component.d.ts +1 -0
- package/development/date-input/date-input.component.d.ts.map +1 -1
- package/development/date-input/date-input.component.js +3 -2
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +2 -2
- package/development/flip-card/flip-card/flip-card.component.js +2 -2
- package/development/form-field/form-field/form-field.component.js +1 -1
- package/development/header/common/header-action-common.js +1 -1
- package/development/{icon-sidebar-button-common-BGrKtvyM.js → icon-sidebar-button-common-CaOV-n8E.js} +2 -2
- package/development/link/common/block-link-common.js +1 -1
- package/development/link/common/inline-link-common.js +1 -1
- package/development/link/common/link-common.js +1 -1
- package/development/link/common.js +1 -1
- package/development/{link-common-BDFF9Oiz.js → link-common-B9KyXHCd.js} +3 -3
- package/development/link.js +1 -1
- package/development/menu/common/menu-action-common.js +4 -4
- package/development/navigation/common/navigation-action-common.js +1 -1
- package/development/option/option/option.component.js +2 -2
- package/development/paginator/common/paginator-common.d.ts.map +1 -1
- package/development/paginator/common/paginator-common.js +7 -24
- package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
- package/development/paginator/compact-paginator/compact-paginator.component.js +2 -3
- package/development/paginator/paginator/paginator.component.d.ts +0 -6
- package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/development/paginator/paginator/paginator.component.js +6 -21
- package/development/popover/popover/popover.component.d.ts.map +1 -1
- package/development/popover/popover/popover.component.js +63 -13
- package/development/radio-button/common.js +1 -1
- package/development/{radio-button-common-CgM3kQSW.js → radio-button-common-DWGEcWfZ.js} +3 -3
- package/development/radio-button.js +1 -1
- package/development/select/select.component.d.ts +1 -1
- package/development/select/select.component.d.ts.map +1 -1
- package/development/select/select.component.js +8 -5
- package/development/sidebar/common.js +1 -1
- package/development/sidebar.js +1 -1
- package/development/stepper/step-label/step-label.component.js +1 -1
- package/development/tabs/tab-label/tab-label.component.js +1 -1
- package/development/tag/tag/tag.component.js +1 -1
- package/development/teaser/teaser.component.js +1 -1
- package/development/time-input/time-input.component.js +1 -1
- package/development/toggle/toggle-option/toggle-option.component.js +1 -1
- package/development/toggle-check/toggle-check.component.js +2 -2
- package/development/{transparent-button-DdSaBp_-.js → transparent-button-BUTXbd7W.js} +3 -3
- package/development/visual-checkbox/visual-checkbox.component.js +2 -2
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +5 -5
- package/flip-card/flip-card/flip-card.component.js +8 -8
- package/form-field/form-field/form-field.component.js +1 -1
- package/header/common/header-action-common.js +1 -1
- package/{icon-sidebar-button-common-XcKoF2SP.js → icon-sidebar-button-common-D_doPv2r.js} +1 -1
- package/link/common/block-link-common.js +1 -1
- package/link/common/inline-link-common.js +1 -1
- package/link/common/link-common.js +1 -1
- package/link/common.js +1 -1
- package/{link-common-nA3q92jp.js → link-common-CfSIg7al.js} +8 -8
- package/link.js +1 -1
- package/menu/common/menu-action-common.js +8 -8
- package/navigation/common/navigation-action-common.js +1 -1
- package/off-brand-theme.css +2 -0
- package/option/option/option.component.js +18 -18
- package/package.json +1 -1
- package/paginator/common/paginator-common.d.ts.map +1 -1
- package/paginator/common/paginator-common.js +30 -46
- package/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
- package/paginator/compact-paginator/compact-paginator.component.js +1 -2
- package/paginator/paginator/paginator.component.d.ts +0 -6
- package/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/paginator/paginator/paginator.component.js +45 -57
- package/popover/popover/popover.component.d.ts.map +1 -1
- package/popover/popover/popover.component.js +72 -74
- package/radio-button/common.js +1 -1
- package/radio-button-common-BHR2tjCF.js +5 -0
- package/radio-button.js +1 -1
- package/safety-theme.css +2 -0
- package/select/select.component.d.ts +1 -1
- package/select/select.component.d.ts.map +1 -1
- package/select/select.component.js +25 -23
- package/sidebar/common.js +1 -1
- package/sidebar.js +1 -1
- package/standard-theme.css +2 -0
- package/stepper/step-label/step-label.component.js +4 -4
- package/tabs/tab-label/tab-label.component.js +1 -1
- package/tag/tag/tag.component.js +1 -1
- package/teaser/teaser.component.js +1 -1
- package/time-input/time-input.component.js +1 -1
- package/toggle/toggle-option/toggle-option.component.js +9 -9
- package/toggle-check/toggle-check.component.js +1 -1
- package/transparent-button-CBNZHS9a.js +9 -0
- package/visual-checkbox/visual-checkbox.component.js +18 -18
- package/checkbox-common-gjHkSAmN.js +0 -5
- package/radio-button-common-Bw2t3Sxz.js +0 -5
- package/transparent-button-DJIkG5hj.js +0 -9
|
@@ -316,4 +316,4 @@ const SbbFormAssociatedInputMixin = (superClass) => {
|
|
|
316
316
|
export {
|
|
317
317
|
SbbFormAssociatedInputMixin
|
|
318
318
|
};
|
|
319
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLWlucHV0LW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvZm9ybS1hc3NvY2lhdGVkLWlucHV0LW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGV2ZW50T3B0aW9ucywgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLCBTYmJNZWRpYVF1ZXJ5UG9pbnRlckNvYXJzZSB9IGZyb20gJy4uL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGlzQmxpbmssIGlzV2Via2l0IH0gZnJvbSAnLi4vZG9tLmpzJztcbmltcG9ydCB7IGkxOG5JbnB1dFJlcXVpcmVkIH0gZnJvbSAnLi4vaTE4bi5qcyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IuanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiB9IGZyb20gJy4vZGlzYWJsZWQtbWl4aW4uanMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudEludGVybmFsc01peGluIH0gZnJvbSAnLi9lbGVtZW50LWludGVybmFscy1taXhpbi5qcyc7XG5pbXBvcnQge1xuICB0eXBlIEZvcm1SZXN0b3JlUmVhc29uLFxuICB0eXBlIEZvcm1SZXN0b3JlU3RhdGUsXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4sXG59IGZyb20gJy4vZm9ybS1hc3NvY2lhdGVkLW1peGluLmpzJztcbmltcG9ydCB7IFNiYlJlYWRvbmx5TWl4aW4gfSBmcm9tICcuL3JlYWRvbmx5LW1peGluLmpzJztcbmltcG9ydCB7IFNiYlJlcXVpcmVkTWl4aW4gfSBmcm9tICcuL3JlcXVpcmVkLW1peGluLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZSBleHRlbmRzIFNiYlJlcXVpcmVkTWl4aW4oXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKExpdEVsZW1lbnQpKSxcbikge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGZvcm1GaWVsZEFzc29jaWF0ZWQgPSB0cnVlO1xuXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IHN0cmluZyk7XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nO1xuXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pO1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW47XG5cbiAgcHVibGljIHNldCByZWFkT25seSh2YWx1ZTogYm9vbGVhbik7XG4gIHB1YmxpYyBnZXQgcmVhZE9ubHkoKTogYm9vbGVhbjtcblxuICBwdWJsaWMgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpO1xuICBwdWJsaWMgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZztcblxuICAvKipcbiAgICogTWFrZXMgdGhlIHNlbGVjdGlvbiBlcXVhbCB0byB0aGUgY3VycmVudCBvYmplY3QuXG4gICAqXG4gICAqIFtNRE4gUmVmZXJlbmNlXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvSFRNTElucHV0RWxlbWVudC9zZWxlY3QpXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQ7XG5cbiAgcHVibGljIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQ7XG4gIHB1YmxpYyBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLCByZWFzb246IEZvcm1SZXN0b3JlUmVhc29uKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgcHJlcGFyZVBhc3RlZFRleHQodGV4dDogc3RyaW5nKTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgbGFuZ3VhZ2U6IFNiYkxhbmd1YWdlQ29udHJvbGxlcjtcbn1cblxuY29uc3QgY2hlY2tQbGFpbnRleHRPbmx5U3VwcG9ydCA9ICgpOiBib29sZWFuID0+IHtcbiAgaWYgKGlzU2VydmVyKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIGRpdi5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsICdQTEFJTlRFWFQtT05MWScpO1xuXG4gIC8vIElmIHBsYWludGV4dC1vbmx5IGlzIHN1cHBvcnRlZCwgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBpc1xuICAvLyByZXR1cm5lZCBhcyBsb3dlci1jYXNlIGZyb20gdGhlIHByb3BlcnR5IGFjY2Vzcy5cbiAgcmV0dXJuIGRpdi5jb250ZW50RWRpdGFibGUgPT09ICdwbGFpbnRleHQtb25seSc7XG59O1xuY29uc3QgcGxhaW50ZXh0T25seVN1cHBvcnRlZCA9IGNoZWNrUGxhaW50ZXh0T25seVN1cHBvcnQoKTtcblxuLyoqXG4gKiBUaGUgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluIGVuYWJsZXMgbmF0aXZlIGZvcm0gc3VwcG9ydCBmb3IgdGV4dCBpbnB1dCBjb250cm9scy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIHN1cGVyQ2xhc3M6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRFbGVtZW50XG4gICAgZXh0ZW5kcyBTYmJSZWFkb25seU1peGluKFxuICAgICAgU2JiRGlzYWJsZWRNaXhpbihcbiAgICAgICAgU2JiUmVxdWlyZWRNaXhpbihTYmJGb3JtQXNzb2NpYXRlZE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihzdXBlckNsYXNzKSkpLFxuICAgICAgKSxcbiAgICApXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAndGV4dGJveCc7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBmb3JtRmllbGRBc3NvY2lhdGVkID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEFuIGVsZW1lbnQgd2l0aCBjb250ZW50ZWRpdGFibGUgd2lsbCBub3QgZW1pdCBhIGNoYW5nZSBldmVudC4gVG8gYWNoaWV2ZSBwYXJpdHlcbiAgICAgKiB3aXRoIGEgbmF0aXZlIHRleHQgaW5wdXQsIHdlIG5lZWQgdG8gdHJhY2sgd2hldGhlciBhIGNoYW5nZSBldmVudCBzaG91bGQgYmVcbiAgICAgKiBlbWl0dGVkLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3Nob3VsZEVtaXRDaGFuZ2UgPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBBIG5hdGl2ZSB0ZXh0IGlucHV0IGF0dGVtcHRzIHRvIHN1Ym1pdCB0aGUgZm9ybSB3aGVuIHByZXNzaW5nIEVudGVyLlxuICAgICAqIFRoaXMgY2FuIGJlIHByZXZlbnRlZCBieSBjYWxsaW5nIHByZXZlbnREZWZhdWx0IG9uIHRoZSBrZXlkb3duIGV2ZW50LlxuICAgICAqIFdlIHRyYWNrIHdoZXRoZXIgdG8gcmVxdWVzdCBzdWJtaXQsIHdoaWNoIHNob3VsZCBvY2N1ciBiZWZvcmUgdGhlIGtleXVwXG4gICAgICogZXZlbnQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2hvdWxkVHJpZ2dlclN1Ym1pdCA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIGxhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICAgIC8qKlxuICAgICAqIEZvcm0gdHlwZSBvZiBlbGVtZW50LlxuICAgICAqIEBkZWZhdWx0ICd0ZXh0J1xuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdmFsdWUgb2YgdGhlIGlucHV0LiBSZWZsZWN0cyB0aGUgY3VycmVudCB0ZXh0IHZhbHVlIG9mIHRoaXMgaW5wdXQuXG4gICAgICovXG4gICAgQHByb3BlcnR5KClcbiAgICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fY2xlYW5UZXh0KHZhbHVlKTtcbiAgICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgICAgdGhpcy5fYXNzaWduVmFsdWUodGhpcy5fdmFsdWUpO1xuICAgICAgfVxuICAgICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnZGlzcGxheXZhbHVlY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZSA/PyAnJztcbiAgICB9XG4gICAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZykge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdwbGFjZWhvbGRlcicsIHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdwbGFjZWhvbGRlcicpO1xuICAgICAgfVxuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYVBsYWNlaG9sZGVyID0gdmFsdWUgPyB2YWx1ZSA6IG51bGw7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInKSA/PyAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgLy8gV2UgcHJpbWFyaWx5IHVzZSBjYXB0dXJlIGV2ZW50IGxpc3RlbmVycywgYXMgd2Ugd2FudFxuICAgICAgLy8gb3VyIGxpc3RlbmVycyB0byBvY2N1ciBiZWZvcmUgY29uc3VtZXIgZXZlbnQgbGlzdGVuZXJzLlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAgICdpbnB1dCcsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fY2xlYW5UZXh0KHRoaXMudGV4dENvbnRlbnQgPz8gJycpO1xuICAgICAgICAgIHRoaXMucmVxdWVzdFVwZGF0ZSgndmFsdWUnLCBvbGRWYWx1ZSk7XG4gICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnaW50ZXJhY3RlZCcpO1xuICAgICAgICAgIHRoaXMuX3Nob3VsZEVtaXRDaGFuZ2UgPSB0cnVlO1xuICAgICAgICB9LFxuICAgICAgICB7IGNhcHR1cmU6IHRydWUgfSxcbiAgICAgICk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2hhbmdlJywgKCkgPT4gKHRoaXMuX3Nob3VsZEVtaXRDaGFuZ2UgPSBmYWxzZSksIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgICAna2V5ZG93bicsXG4gICAgICAgIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9yZXF1aXJlc0VtcHR5UGF0Y2goKSkge1xuICAgICAgICAgICAgdGhpcy5fYXNzaWduVmFsdWUoJycpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBXZSBwcmV2ZW50IHJlY3Vyc2l2ZSBldmVudHMgYnkgY2hlY2tpbmcgdGhlIG9yaWdpbmFsIGV2ZW50IGZvciBpc1RydXN0ZWRcbiAgICAgICAgICAvLyB3aGljaCBpcyBmYWxzZSBmb3IgbWFudWFsbHkgZGlzcGF0Y2hlZCBldmVudHMgKHdoaWNoIHdlIGRpc3BhdGNoIGJlbG93KS5cbiAgICAgICAgICBpZiAoKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICdcXG4nKSAmJiBldmVudC5pc1RydXN0ZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuX3Nob3VsZFRyaWdnZXJTdWJtaXQgPSB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCBldmVudCkpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBpc1dlYmtpdCAmJlxuICAgICAgICAgICAgdGhpcy52YWx1ZSAmJlxuICAgICAgICAgICAgKGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScgfHwgZXZlbnQua2V5ID09PSAnRGVsZXRlJykgJiZcbiAgICAgICAgICAgIGV2ZW50LmlzVHJ1c3RlZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgLy8gSW4gV2Via2l0IHByZXNzaW5nIEJhY2tzcGFjZSBvciBEZWxldGUgY29tcGxldGVseSByZW1vdmVzIGFsbCB0aGUgY29udGVudFxuICAgICAgICAgICAgLy8gaWYgY29udGVudGVkaXRhYmxlIGlzIHNldCBvbiBhIHdlYiBjb21wb25lbnQgaG9zdC5cbiAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8gcmVwbGljYXRlIHRoZSBub3JtYWwgZGVsZXRlIGJlaGF2aW9yLlxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgS2V5Ym9hcmRFdmVudCgna2V5ZG93bicsIGV2ZW50KSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZFJhbmdlID0gd2luZG93LmdldFNlbGVjdGlvbigpPy5nZXRSYW5nZUF0KDApO1xuICAgICAgICAgICAgaWYgKCFzZWxlY3RlZFJhbmdlKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkUmFuZ2Uuc3RhcnRPZmZzZXQgIT09IHNlbGVjdGVkUmFuZ2UuZW5kT2Zmc2V0KSB7XG4gICAgICAgICAgICAgIC8vIElmIGEgdGV4dCByYW5nZSBpcyBzZWxlY3RlZCwgdGhlbiBkZWxldGUgdGhpcyByYW5nZVxuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7XG4gICAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoSW5wdXRFdmVudCgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnICYmIHNlbGVjdGVkUmFuZ2Uuc3RhcnRPZmZzZXQgPiAwKSB7XG4gICAgICAgICAgICAgIC8vIFdoZW4gcHJlc3NpbmcgQmFja3NwYWNlLCB3ZSBzZWxlY3QgdGhlIHByZXZpb3VzIGNoYXJhY3RlciBmcm9tXG4gICAgICAgICAgICAgIC8vIHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbiBhbmQgZGVsZXRlIGl0LlxuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLnNldFN0YXJ0KHNlbGVjdGVkUmFuZ2Uuc3RhcnRDb250YWluZXIsIHNlbGVjdGVkUmFuZ2Uuc3RhcnRPZmZzZXQgLSAxKTtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICAgICAgICB0aGlzLl9kaXNwYXRjaElucHV0RXZlbnQoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRGVsZXRlJyAmJiBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCA8IHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIC8vIFdoZW4gcHJlc3NpbmcgRGVsZXRlLCB3ZSBzZWxlY3QgdGhlIG5leHQgY2hhcmFjdGVyIGZyb21cbiAgICAgICAgICAgICAgLy8gdGhlIGN1cnJlbnQgY3Vyc29yIHBvc2l0aW9uIGFuZCBkZWxldGUgaXQuXG4gICAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2Uuc2V0RW5kKHNlbGVjdGVkUmFuZ2UuZW5kQ29udGFpbmVyLCBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCArIDEpO1xuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7XG4gICAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoSW5wdXRFdmVudCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAgICdrZXl1cCcsXG4gICAgICAgIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnXFxuJykge1xuICAgICAgICAgICAgdGhpcy5fZW1pdENoYW5nZUlmTmVjZXNzYXJ5KCk7XG4gICAgICAgICAgICBpZiAodGhpcy5fc2hvdWxkVHJpZ2dlclN1Ym1pdCkge1xuICAgICAgICAgICAgICB0aGlzLl9zaG91bGRUcmlnZ2VyU3VibWl0ID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuZm9ybT8ucmVxdWVzdFN1Ym1pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fcmVxdWlyZXNFbXB0eVBhdGNoKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldEN1cnNvckF0KDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgLy8gY29udGVudGVkaXRhYmxlIGFsbG93cyBwYXN0aW5nIHJpY2ggY29udGVudCBpbnRvIGl0cyBob3N0LlxuICAgICAgLy8gV2UgcHJldmVudCB0aGlzIGJ5IGxpc3RlbmluZyB0byB0aGUgcGFzdGUgZXZlbnQgYW5kXG4gICAgICAvLyBleHRyYWN0aW5nIHRoZSBwbGFpbiB0ZXh0IGZyb20gdGhlIHBhc3RlZCBjb250ZW50XG4gICAgICAvLyBhbmQgaW5zZXJ0aW5nIGl0IGludG8gdGhlIHNlbGVjdGVkIHJhbmdlIChjdXJzb3IgcG9zaXRpb25cbiAgICAgIC8vIG9yIHNlbGVjdGlvbikuXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncGFzdGUnLCAoZSkgPT4ge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmICh0aGlzLl9yZXF1aXJlc0VtcHR5UGF0Y2goKSkge1xuICAgICAgICAgIHRoaXMuX2Fzc2lnblZhbHVlKCcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRleHQgPSB0aGlzLl9jbGVhblRleHQoZS5jbGlwYm9hcmREYXRhPy5nZXREYXRhKCd0ZXh0L3BsYWluJykgPz8gJycpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZFJhbmdlID0gd2luZG93LmdldFNlbGVjdGlvbigpPy5nZXRSYW5nZUF0KDApO1xuICAgICAgICBpZiAoIXNlbGVjdGVkUmFuZ2UgfHwgIXRleHQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZWxlY3RlZFJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7XG4gICAgICAgIHNlbGVjdGVkUmFuZ2UuaW5zZXJ0Tm9kZShkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0aGlzLnByZXBhcmVQYXN0ZWRUZXh0KHRleHQpKSk7XG4gICAgICAgIHNlbGVjdGVkUmFuZ2Uuc2V0U3RhcnQoc2VsZWN0ZWRSYW5nZS5lbmRDb250YWluZXIsIHNlbGVjdGVkUmFuZ2UuZW5kT2Zmc2V0KTtcbiAgICAgICAgdGhpcy5fZGlzcGF0Y2hJbnB1dEV2ZW50KCk7XG4gICAgICB9KTtcbiAgICAgIC8vIFdoZW4gZm9jdXNpbmcgYSB0ZXh0IGlucHV0IHZpYSBrZXlib2FyZCwgdGhlIHRleHQgY29udGVudCBzaG91bGQgYmUgc2VsZWN0ZWQuXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignZm9jdXMnLCAoKSA9PiB7XG4gICAgICAgIGlmIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgICAgLy8gVE9ETzogVGhpcyBkb2VzIG5vdCBzZWVtIHRvIHdvcmsgaW4gRmlyZWZveCB3aXRoIHJlYWRvbmx5LlxuICAgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8uc2VsZWN0QWxsQ2hpbGRyZW4odGhpcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3RvdWNoZW5kJywgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fcmVxdWlyZXNFbXB0eVBhdGNoKCkpIHtcbiAgICAgICAgICB0aGlzLl9hc3NpZ25WYWx1ZSgnJm5ic3A7Jyk7XG4gICAgICAgICAgdGhpcy5fc2V0Q3Vyc29yQXQoMCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fcmVxdWlyZXNFbXB0eVBhdGNoKCkgJiYgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ3RvdWNoJykge1xuICAgICAgICAgIHRoaXMuX3NldEN1cnNvckF0KDApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gT24gYmx1ciB0aGUgbmF0aXZlIHRleHQgaW5wdXQgc2Nyb2xscyB0aGUgdGV4dCB0byB0aGUgc3RhcnQgb2YgdGhlIHRleHQuXG4gICAgICAvLyBXZSBtaW1pY2sgdGhhdCBieSByZXNldHRpbmcgdGhlIHNjcm9sbCBwb3NpdGlvbi5cbiAgICAgIC8vIFdlIGFsc28gdW5zZXQgYW55IHNlbGVjdGlvbiB0byBhbGlnbiB3aXRoIHRoZSBuYXRpdmUgdGV4dCBpbnB1dC5cbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgICAnYmx1cicsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk/LnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgICAgIGlmICh0aGlzLnZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgdGhpcy5fYXNzaWduVmFsdWUoJycpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlSWZOZWNlc3NhcnkoKTtcbiAgICAgICAgICB0aGlzLnNjcm9sbExlZnQgPSAwO1xuICAgICAgICB9LFxuICAgICAgICB7IGNhcHR1cmU6IHRydWUgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzRGlzYWJsZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybURpc2FibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTXVsdGlMaW5lID0gJ2ZhbHNlJztcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbnRlbnRlZGl0YWJsZSgpO1xuXG4gICAgICAvLyBXZSB3YW50IHRvIHJlcGxhY2UgYW55IGNvbnRlbnQgYnkganVzdCB0aGUgdGV4dCBjb250ZW50LlxuICAgICAgdGhpcy5fYXNzaWduVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmZvY3VzKG9wdGlvbnMpO1xuICAgICAgLy8gQnkgZGVmYXVsdCwgd2hlbiBjYWxsaW5nIGZvY3VzIG9uIGFuIGlucHV0IGVsZW1lbnQsIHRoZSBjdXJzb3IgaXMgcGxhY2VkXG4gICAgICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dCB0ZXh0LiBIb3dldmVyLCB3aXRoIGNvbnRlbnRlZGl0YWJsZSwgdGhlIGN1cnNvclxuICAgICAgLy8gaXMgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcsIHNvIHdlIG1vdmUgaXQgdG8gdGhlIGVuZCwgaWYgdGhhdCBpcyB0aGUgY2FzZS5cbiAgICAgIGlmICh0aGlzLl9jYW5TZWxlY3QoKSkge1xuICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGlmICghc2VsZWN0aW9uKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJhbmdlID0gc2VsZWN0aW9uLnJhbmdlQ291bnQgPiAwID8gc2VsZWN0aW9uLmdldFJhbmdlQXQoMCkgOiBudWxsO1xuICAgICAgICBpZiAocmFuZ2UgJiYgcmFuZ2Uuc3RhcnRPZmZzZXQgIT09IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zZXRDdXJzb3JBdCh0aGlzLnRleHRDb250ZW50IS5sZW5ndGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soXG4gICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICBvbGQ6IHN0cmluZyB8IG51bGwsXG4gICAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgICApOiB2b2lkIHtcbiAgICAgIC8qKlxuICAgICAgICogVGhlIG5hdGl2ZSB0ZXh0IGlucHV0IGNoYW5nZXMgdGhlIHZhbHVlIHByb3BlcnR5IHdoZW4gdGhlIHZhbHVlIGF0dHJpYnV0ZSBpc1xuICAgICAgICogY2hhbmdlZCB1bmRlciB0aGUgY29uZGl0aW9uIHRoYXQgbm8gaW5wdXQgZXZlbnQgaGFzIG9jY3VyZWQgc2luY2UgY3JlYXRpb25cbiAgICAgICAqIG9yIHRoZSBsYXN0IGZvcm0gcmVzZXQuXG4gICAgICAgKi9cbiAgICAgIGlmIChuYW1lICE9PSAndmFsdWUnIHx8ICF0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKCdpbnRlcmFjdGVkJykpIHtcbiAgICAgICAgc3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKG5hbWUsIG9sZCwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElzIGNhbGxlZCB3aGVuZXZlciB0aGUgZm9ybSBpcyBiZWluZyByZXNldC5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ2ludGVyYWN0ZWQnKTtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmdldEF0dHJpYnV0ZSgndmFsdWUnKSA/PyAnJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQ2FsbGVkIHdoZW4gdGhlIGJyb3dzZXIgaXMgdHJ5aW5nIHRvIHJlc3RvcmUgZWxlbWVudOKAmXMgc3RhdGUgdG8gc3RhdGUgaW4gd2hpY2ggY2FzZVxuICAgICAqICByZWFzb24gaXMgXCJyZXN0b3JlXCIsIG9yIHdoZW4gdGhlIGJyb3dzZXIgaXMgdHJ5aW5nIHRvIGZ1bGZpbGwgYXV0b2ZpbGwgb24gYmVoYWxmIG9mXG4gICAgICogIHVzZXIgaW4gd2hpY2ggY2FzZSByZWFzb24gaXMgXCJhdXRvY29tcGxldGVcIi5cbiAgICAgKiAgSW4gdGhlIGNhc2Ugb2YgXCJyZXN0b3JlXCIsIHN0YXRlIGlzIGEgc3RyaW5nLCBGaWxlLCBvciBGb3JtRGF0YSBvYmplY3RcbiAgICAgKiAgcHJldmlvdXNseSBzZXQgYXMgdGhlIHNlY29uZCBhcmd1bWVudCB0byBzZXRGb3JtVmFsdWUuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgICAgX3JlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24sXG4gICAgKTogdm9pZCB7XG4gICAgICBpZiAoc3RhdGUgJiYgdHlwZW9mIHN0YXRlID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLnZhbHVlID0gc3RhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWFrZXMgdGhlIHNlbGVjdGlvbiBlcXVhbCB0byB0aGUgY3VycmVudCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvSFRNTElucHV0RWxlbWVudC9zZWxlY3RcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpPy5zZWxlY3RBbGxDaGlsZHJlbih0aGlzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgLy8gSWYgdGhlIHZhbHVlIHdhcyBhc3NpZ25lZCBiZWZvcmUgZmlyc3RVcGRhdGUsIHdlIGhhdmUgdG9cbiAgICAgIC8vIHdyaXRlIGl0IHRoZSBkb2N1bWVudCB0byBiZSB2aXN1YWxseSBzZWVuXG4gICAgICBpZiAodGhpcy52YWx1ZSAmJiAhdGhpcy5pbm5lckhUTUwubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuX2Fzc2lnblZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICAgKTogdm9pZCB7XG4gICAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZCAmJlxuICAgICAgICAobmFtZSA9PT0gJ2Rpc2FibGVkJyB8fCBuYW1lID09PSAnZm9ybURpc2FibGVkJyB8fCBuYW1lID09PSAncmVhZE9ubHknKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUNvbnRlbnRlZGl0YWJsZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHN1cGVyLnNob3VsZFZhbGlkYXRlKG5hbWUpIHx8IG5hbWUgPT09ICd2YWx1ZScgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgICBzdXBlci52YWxpZGF0ZSgpO1xuICAgICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgIXRoaXMudmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGl0eUZsYWcoJ3ZhbHVlTWlzc2luZycsIGkxOG5JbnB1dFJlcXVpcmVkW3RoaXMubGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoJ3ZhbHVlTWlzc2luZycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBwcmVwYXJlUGFzdGVkVGV4dCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVxdWlyZXNFbXB0eVBhdGNoKCk6IGJvb2xlYW4ge1xuICAgICAgLy8gSW4gQmxpbmssIGEgY29udGVudGVkaXRhYmxlIGVsZW1lbnQgd2l0aCBlbXB0eSBjb250ZW50IHdpbGwgY3Jhc2hcbiAgICAgIC8vIHVwb24gcmVjZWl2aW5nIGZvY3VzLCB3aGVuIGluIE1vYmlsZSBtb2RlLlxuICAgICAgLy8gVG8gcHJldmVudCB0aGlzLCB3ZSBwYXRjaCB0aGUgZW1wdHkgc3RhdGUgYnkgaW5zZXJ0aW5nIGEgbm9uLWJyZWFraW5nIHNwYWNlLlxuICAgICAgcmV0dXJuIGlzU2VydmVyXG4gICAgICAgID8gZmFsc2VcbiAgICAgICAgOiBpc0JsaW5rICYmIHRoaXMudmFsdWUgPT09ICcnICYmIHdpbmRvdy5tYXRjaE1lZGlhKFNiYk1lZGlhUXVlcnlQb2ludGVyQ29hcnNlKS5tYXRjaGVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Fzc2lnblZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIHRoaXMuaW5uZXJIVE1MID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0Q3Vyc29yQXQocG9zaXRpb246IG51bWJlcik6IHZvaWQge1xuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgaWYgKCFzZWxlY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgICByYW5nZS5zZXRTdGFydCh0aGlzLmZpcnN0Q2hpbGQhLCBwb3NpdGlvbik7XG4gICAgICByYW5nZS5jb2xsYXBzZSh0cnVlKTtcbiAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2xlYW5UZXh0KHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgLy8gVGhlIG5hdGl2ZSB0ZXh0IGlucHV0IHJlbW92ZXMgYWxsIG5ld2xpbmUgY2hhcmFjdGVycyBpZiBwYXNzZWQgdG8gdGhlIHZhbHVlIHByb3BlcnR5XG4gICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgPyAnJyA6IGAke3ZhbHVlfWAucmVwbGFjZSgvW1xcblxccl0rL2csICcnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNwYXRjaElucHV0RXZlbnQoKTogdm9pZCB7XG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IElucHV0RXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgfVxuXG4gICAgQGV2ZW50T3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSlcbiAgICBwcml2YXRlIF9jbGVhbkNoaWxkcmVuKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuY2hpbGRFbGVtZW50Q291bnQpIHtcbiAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRoaXMuY2hpbGRyZW4pIHtcbiAgICAgICAgICBlbGVtZW50LnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdXBkYXRlQ29udGVudGVkaXRhYmxlKCk6IHZvaWQge1xuICAgICAgaWYgKCFpc1NlcnZlciAmJiB0aGlzLmlzQ29ubmVjdGVkKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFSZWFkT25seSA9IHRoaXMucmVhZE9ubHkgPyAndHJ1ZScgOiBudWxsO1xuICAgICAgICB0aGlzLmludGVybmFscy5hcmlhRGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkID8gJ3RydWUnIDogbnVsbDtcbiAgICAgICAgLy8gVE9ETygyMDI2KTogRmlyZWZveCBzdXBwb3J0cyBwbGFpbnRleHQtb25seSBzaW5jZSB2ZXJzaW9uIDEzNiAoTWFyY2ggMjAyNSkuXG4gICAgICAgIC8vIFVudGlsIHRoaXMgaXMgcGFydCBvZiBvdXIgYmFzZWxpbmUsIHdlIHNob3VsZCBmZWF0dXJlIGNoZWNrIHRvIGVuYWJsZSBpdC5cbiAgICAgICAgY29uc3QgdmFsdWUgPVxuICAgICAgICAgIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkT25seVxuICAgICAgICAgICAgPyAnZmFsc2UnXG4gICAgICAgICAgICA6IHBsYWludGV4dE9ubHlTdXBwb3J0ZWRcbiAgICAgICAgICAgICAgPyAncGxhaW50ZXh0LW9ubHknXG4gICAgICAgICAgICAgIDogJ3RydWUnO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJywgdmFsdWUpO1xuICAgICAgICAvLyBJbiB0aGUgcmVhZG9ubHkgY2FzZSwgd2UgZGlzYWJsZSBjb250ZW50ZWRpdGFibGUsIGJ1dCBpdCBzdGlsbFxuICAgICAgICAvLyBuZWVkcyB0byBiZSBmb2N1c2FibGUuIFdlIGFjaGlldmUgdGhpcyBieSBzZXR0aW5nIHRhYmluZGV4IGluIHRoYXQgY2FzZS5cbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZW1pdENoYW5nZUlmTmVjZXNzYXJ5KCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuX3Nob3VsZEVtaXRDaGFuZ2UpIHtcbiAgICAgICAgdGhpcy5fc2hvdWxkRW1pdENoYW5nZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NhblNlbGVjdCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiAhaXNTZXJ2ZXIgJiYgIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMucmVhZE9ubHkgJiYgISF0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogdW5rbm93biB7XG4gICAgICByZXR1cm4gaHRtbGA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX2NsZWFuQ2hpbGRyZW59Pjwvc2xvdD5gO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBTYmJGb3JtQXNzb2NpYXRlZElucHV0RWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQXdEQSxNQUFNLDRCQUE0QixNQUFjO0FBQzlDLE1BQUksVUFBVTtBQUNaLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxNQUFNLFNBQVMsY0FBYyxLQUFLO0FBQ3hDLE1BQUksYUFBYSxtQkFBbUIsZ0JBQWdCO0FBSXBELFNBQU8sSUFBSSxvQkFBb0I7QUFDakM7QUFDQSxNQUFNLHlCQUF5QiwwQkFBQTtBQU14QixNQUFNLDhCQUE4QixDQUN6QyxlQUM0RDtNQUM3QyxpQ0FBNkIsTUFBQTs7QUFDbEMsUUFBQSxjQUFBLGlCQUNOLGlCQUNFLGlCQUFpQix1QkFBdUIseUJBQXlCLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FDL0U7Ozs7O0FBSlUsV0FBQSxtQkFDTCxZQUlQO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQTBCRCxJQUFvQixPQUFJO0FBQ3RCLGVBQU87QUFBQSxNQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFNQSxJQUFXLE1BQU0sT0FBYTtBQUM1QixhQUFLLFNBQVMsS0FBSyxXQUFXLEtBQUs7QUFDbkMsWUFBSSxLQUFLLFlBQVk7QUFDbkIsZUFBSyxhQUFhLEtBQUssTUFBTTtBQUFBLFFBQy9CO0FBRUEsYUFBSyxjQUFjLElBQUksTUFBTSxzQkFBc0IsRUFBRSxTQUFTLE1BQU0sVUFBVSxLQUFBLENBQU0sQ0FBQztBQUFBLE1BQ3ZGO0FBQUEsTUFDQSxJQUFXLFFBQUs7QUFDZCxlQUFPLEtBQUssVUFBVTtBQUFBLE1BQ3hCO0FBQUEsTUFJQSxJQUFXLFlBQVksT0FBYTtBQUNsQyxZQUFJLE9BQU87QUFDVCxlQUFLLGFBQWEsZUFBZSxLQUFLO0FBQUEsUUFDeEMsT0FBTztBQUNMLGVBQUssZ0JBQWdCLGFBQWE7QUFBQSxRQUNwQztBQUNBLGFBQUssVUFBVSxrQkFBa0IsUUFBUSxRQUFRO0FBQUEsTUFDbkQ7QUFBQSxNQUNBLElBQVcsY0FBVztBQUNwQixlQUFPLEtBQUssYUFBYSxhQUFhLEtBQUs7QUFBQSxNQUM3QztBQUFBLE1BRUEsY0FBQTtBQUNFLGNBQUE7QUFsRE0sYUFBQSxxQkFoQkssa0JBQUEsTUFBQSwwQkFBQSxHQWdCZTtBQU9wQixhQUFBLHVCQUF1QjtBQUVyQixhQUFBLFdBQVcsSUFBSSxzQkFBc0IsSUFBSTtBQXlCM0MsYUFBQSxTQUFpQjtBQW1CdkIsYUFBSyxtQkFDSCxTQUNBLE1BQUs7QUFDSCxnQkFBTSxXQUFXLEtBQUs7QUFDdEIsZUFBSyxTQUFTLEtBQUssV0FBVyxLQUFLLGVBQWUsRUFBRTtBQUNwRCxlQUFLLGNBQWMsU0FBUyxRQUFRO0FBQ3BDLGVBQUssVUFBVSxPQUFPLElBQUksWUFBWTtBQUN0QyxlQUFLLG9CQUFvQjtBQUFBLFFBQzNCLEdBQ0EsRUFBRSxTQUFTLE1BQU07QUFFbkIsYUFBSyxtQkFBbUIsVUFBVSxNQUFPLEtBQUssb0JBQW9CLE9BQVEsRUFBRSxTQUFTLE1BQU07QUFDM0YsYUFBSyxtQkFDSCxXQUNBLENBQUMsVUFBUztBQUNSLGNBQUksS0FBSyx1QkFBdUI7QUFDOUIsaUJBQUssYUFBYSxFQUFFO0FBQUEsVUFDdEI7QUFHQSxlQUFLLE1BQU0sUUFBUSxXQUFXLE1BQU0sUUFBUSxTQUFTLE1BQU0sV0FBVztBQUNwRSxrQkFBTSxlQUFBO0FBQ04sa0JBQU0seUJBQUE7QUFDTixpQkFBSyx1QkFBdUIsS0FBSyxjQUFjLElBQUksY0FBYyxXQUFXLEtBQUssQ0FBQztBQUFBLFVBQ3BGLFdBQ0UsWUFDQSxLQUFLLFVBQ0osTUFBTSxRQUFRLGVBQWUsTUFBTSxRQUFRLGFBQzVDLE1BQU0sV0FDTjtBQUlBLGtCQUFNLGVBQUE7QUFDTixrQkFBTSx5QkFBQTtBQUVOLGdCQUFJLENBQUMsS0FBSyxjQUFjLElBQUksY0FBYyxXQUFXLEtBQUssQ0FBQyxHQUFHO0FBQzVEO0FBQUEsWUFDRjtBQUVBLGtCQUFNLGdCQUFnQixPQUFPLGFBQUEsR0FBZ0IsV0FBVyxDQUFDO0FBQ3pELGdCQUFJLENBQUMsZUFBZTtBQUNsQjtBQUFBLFlBQ0Y7QUFFQSxnQkFBSSxjQUFjLGdCQUFnQixjQUFjLFdBQVc7QUFFekQsNEJBQWMsZUFBQTtBQUNkLG1CQUFLLG9CQUFBO0FBQUEsWUFDUCxXQUFXLE1BQU0sUUFBUSxlQUFlLGNBQWMsY0FBYyxHQUFHO0FBR3JFLDRCQUFjLFNBQVMsY0FBYyxnQkFBZ0IsY0FBYyxjQUFjLENBQUM7QUFDbEYsNEJBQWMsZUFBQTtBQUNkLG1CQUFLLG9CQUFBO0FBQUEsWUFDUCxXQUFXLE1BQU0sUUFBUSxZQUFZLGNBQWMsWUFBWSxLQUFLLE1BQU0sUUFBUTtBQUdoRiw0QkFBYyxPQUFPLGNBQWMsY0FBYyxjQUFjLFlBQVksQ0FBQztBQUM1RSw0QkFBYyxlQUFBO0FBQ2QsbUJBQUssb0JBQUE7QUFBQSxZQUNQO0FBQUEsVUFDRjtBQUFBLFFBQ0YsR0FDQSxFQUFFLFNBQVMsTUFBTTtBQUVuQixhQUFLLG1CQUNILFNBQ0EsQ0FBQyxVQUFTO0FBQ1IsY0FBSSxNQUFNLFFBQVEsV0FBVyxNQUFNLFFBQVEsTUFBTTtBQUMvQyxpQkFBSyx1QkFBQTtBQUNMLGdCQUFJLEtBQUssc0JBQXNCO0FBQzdCLG1CQUFLLHVCQUF1QjtBQUM1QixtQkFBSyxNQUFNLGNBQUE7QUFBQSxZQUNiO0FBQUEsVUFDRixXQUFXLEtBQUssdUJBQXVCO0FBQ3JDLGlCQUFLLGFBQWEsQ0FBQztBQUFBLFVBQ3JCO0FBQUEsUUFDRixHQUNBLEVBQUUsU0FBUyxNQUFNO0FBT25CLGFBQUssbUJBQW1CLFNBQVMsQ0FBQyxNQUFLO0FBQ3JDLFlBQUUsZUFBQTtBQUNGLGNBQUksS0FBSyx1QkFBdUI7QUFDOUIsaUJBQUssYUFBYSxFQUFFO0FBQUEsVUFDdEI7QUFFQSxnQkFBTSxPQUFPLEtBQUssV0FBVyxFQUFFLGVBQWUsUUFBUSxZQUFZLEtBQUssRUFBRTtBQUN6RSxnQkFBTSxnQkFBZ0IsT0FBTyxhQUFBLEdBQWdCLFdBQVcsQ0FBQztBQUN6RCxjQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTTtBQUMzQjtBQUFBLFVBQ0Y7QUFFQSx3QkFBYyxlQUFBO0FBQ2Qsd0JBQWMsV0FBVyxTQUFTLGVBQWUsS0FBSyxrQkFBa0IsSUFBSSxDQUFDLENBQUM7QUFDOUUsd0JBQWMsU0FBUyxjQUFjLGNBQWMsY0FBYyxTQUFTO0FBQzFFLGVBQUssb0JBQUE7QUFBQSxRQUNQLENBQUM7QUFFRCxhQUFLLG1CQUFtQixTQUFTLE1BQUs7QUFDcEMsY0FBSSx5QkFBeUIsdUJBQXVCLFlBQVk7QUFFOUQsbUJBQU8sYUFBQSxHQUFnQixrQkFBa0IsSUFBSTtBQUFBLFVBQy9DO0FBQUEsUUFDRixDQUFDO0FBQ0QsYUFBSyxtQkFBbUIsWUFBWSxNQUFLO0FBQ3ZDLGNBQUksS0FBSyx1QkFBdUI7QUFDOUIsaUJBQUssYUFBYSxRQUFRO0FBQzFCLGlCQUFLLGFBQWEsQ0FBQztBQUFBLFVBQ3JCO0FBQUEsUUFDRixDQUFDO0FBQ0QsYUFBSyxtQkFBbUIsU0FBUyxNQUFLO0FBQ3BDLGNBQUksS0FBSyxvQkFBQSxLQUF5Qix5QkFBeUIsdUJBQXVCLFNBQVM7QUFDekYsaUJBQUssYUFBYSxDQUFDO0FBQUEsVUFDckI7QUFBQSxRQUNGLENBQUM7QUFLRCxhQUFLLG1CQUNILFFBQ0EsTUFBSztBQUNILGlCQUFPLGFBQUEsR0FBZ0IsZ0JBQUE7QUFDdkIsY0FBSSxLQUFLLFVBQVUsSUFBSTtBQUNyQixpQkFBSyxhQUFhLEVBQUU7QUFBQSxVQUN0QjtBQUNBLGVBQUssdUJBQUE7QUFDTCxlQUFLLGFBQWE7QUFBQSxRQUNwQixHQUNBLEVBQUUsU0FBUyxNQUFNO0FBQUEsTUFFckI7QUFBQSxNQUVtQix1QkFBb0I7QUFDckMsZUFBTyxLQUFLO0FBQUEsTUFDZDtBQUFBLE1BRWdCLG9CQUFpQjtBQUMvQixjQUFNLGtCQUFBO0FBQ04sYUFBSyxVQUFVLGdCQUFnQjtBQUMvQixhQUFLLHVCQUFBO0FBR0wsYUFBSyxhQUFhLEtBQUssS0FBSztBQUFBLE1BQzlCO0FBQUEsTUFFZ0IsTUFBTSxTQUFzQjtBQUMxQyxjQUFNLE1BQU0sT0FBTztBQUluQixZQUFJLEtBQUssY0FBYztBQUNyQixnQkFBTSxZQUFZLE9BQU8sYUFBQTtBQUN6QixjQUFJLENBQUMsV0FBVztBQUNkO0FBQUEsVUFDRjtBQUNBLGdCQUFNLFFBQVEsVUFBVSxhQUFhLElBQUksVUFBVSxXQUFXLENBQUMsSUFBSTtBQUNuRSxjQUFJLFNBQVMsTUFBTSxnQkFBZ0IsR0FBRztBQUNwQztBQUFBLFVBQ0Y7QUFFQSxlQUFLLGFBQWEsS0FBSyxZQUFhLE1BQU07QUFBQSxRQUM1QztBQUFBLE1BQ0Y7QUFBQSxNQUVnQix5QkFDZCxNQUNBLEtBQ0EsT0FBb0I7QUFPcEIsWUFBSSxTQUFTLFdBQVcsQ0FBQyxLQUFLLFVBQVUsT0FBTyxJQUFJLFlBQVksR0FBRztBQUNoRSxnQkFBTSx5QkFBeUIsTUFBTSxLQUFLLEtBQUs7QUFBQSxRQUNqRDtBQUFBLE1BQ0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFPZ0Isb0JBQWlCO0FBQy9CLGFBQUssVUFBVSxPQUFPLE9BQU8sWUFBWTtBQUN6QyxhQUFLLFFBQVEsS0FBSyxhQUFhLE9BQU8sS0FBSztBQUFBLE1BQzdDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFXZ0IseUJBQ2QsT0FDQSxTQUEwQjtBQUUxQixZQUFJLFNBQVMsT0FBTyxVQUFVLFVBQVU7QUFDdEMsZUFBSyxRQUFRO0FBQUEsUUFDZjtBQUFBLE1BQ0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFPTyxTQUFNO0FBQ1gsZUFBTyxhQUFBLEdBQWdCLGtCQUFrQixJQUFJO0FBQUEsTUFDL0M7QUFBQSxNQUVtQixhQUFhLG1CQUF1QztBQUNyRSxjQUFNLGFBQWEsaUJBQWlCO0FBSXBDLFlBQUksS0FBSyxTQUFTLENBQUMsS0FBSyxVQUFVLFFBQVE7QUFDeEMsZUFBSyxhQUFhLEtBQUssS0FBSztBQUFBLFFBQzlCO0FBQUEsTUFDRjtBQUFBLE1BRWdCLGNBQ2QsTUFDQSxVQUNBLFNBQTZCO0FBRTdCLGNBQU0sY0FBYyxNQUFNLFVBQVUsT0FBTztBQUMzQyxZQUNFLEtBQUssZ0JBQ0osU0FBUyxjQUFjLFNBQVMsa0JBQWtCLFNBQVMsYUFDNUQ7QUFDQSxlQUFLLHVCQUFBO0FBQUEsUUFDUDtBQUFBLE1BQ0Y7QUFBQSxNQUVtQixlQUFlLE1BQTZCO0FBQzdELGVBQU8sTUFBTSxlQUFlLElBQUksS0FBSyxTQUFTLFdBQVcsU0FBUztBQUFBLE1BQ3BFO0FBQUEsTUFFbUIsV0FBUTtBQUN6QixjQUFNLFNBQUE7QUFDTixZQUFJLEtBQUssWUFBWSxDQUFDLEtBQUssT0FBTztBQUNoQyxlQUFLLGdCQUFnQixnQkFBZ0Isa0JBQWtCLEtBQUssU0FBUyxPQUFPLENBQUM7QUFBQSxRQUMvRSxPQUFPO0FBQ0wsZUFBSyxtQkFBbUIsY0FBYztBQUFBLFFBQ3hDO0FBQUEsTUFDRjtBQUFBLE1BRVUsa0JBQWtCLE1BQVk7QUFDdEMsZUFBTztBQUFBLE1BQ1Q7QUFBQSxNQUVRLHNCQUFtQjtBQUl6QixlQUFPLFdBQ0gsUUFDQSxXQUFXLEtBQUssVUFBVSxNQUFNLE9BQU8sV0FBVywwQkFBMEIsRUFBRTtBQUFBLE1BQ3BGO0FBQUEsTUFFUSxhQUFhLE9BQWE7QUFDaEMsYUFBSyxZQUFZO0FBQUEsTUFDbkI7QUFBQSxNQUVRLGFBQWEsVUFBZ0I7QUFDbkMsY0FBTSxZQUFZLE9BQU8sYUFBQTtBQUN6QixZQUFJLENBQUMsV0FBVztBQUNkO0FBQUEsUUFDRjtBQUVBLGNBQU0sUUFBUSxTQUFTLFlBQUE7QUFDdkIsY0FBTSxTQUFTLEtBQUssWUFBYSxRQUFRO0FBQ3pDLGNBQU0sU0FBUyxJQUFJO0FBQ25CLGtCQUFVLGdCQUFBO0FBQ1Ysa0JBQVUsU0FBUyxLQUFLO0FBQUEsTUFDMUI7QUFBQSxNQUVRLFdBQVcsT0FBYTtBQUU5QixlQUFPLFVBQVUsT0FBTyxLQUFLLEdBQUcsS0FBSyxHQUFHLFFBQVEsWUFBWSxFQUFFO0FBQUEsTUFDaEU7QUFBQSxNQUVRLHNCQUFtQjtBQUN6QixhQUFLLGNBQWMsSUFBSSxXQUFXLFNBQVMsRUFBRSxTQUFTLE1BQU0sVUFBVSxLQUFBLENBQU0sQ0FBQztBQUFBLE1BQy9FO0FBQUEsTUFHUSxpQkFBYztBQUNwQixZQUFJLEtBQUssbUJBQW1CO0FBQzFCLHFCQUFXLFdBQVcsS0FBSyxVQUFVO0FBQ25DLG9CQUFRLE9BQUE7QUFBQSxVQUNWO0FBQUEsUUFDRjtBQUFBLE1BQ0Y7QUFBQSxNQUVRLHlCQUFzQjtBQUM1QixZQUFJLENBQUMsWUFBWSxLQUFLLGFBQWE7QUFDakMsZUFBSyxVQUFVLGVBQWUsS0FBSyxXQUFXLFNBQVM7QUFDdkQsZUFBSyxVQUFVLGVBQWUsS0FBSyxXQUFXLFNBQVM7QUFHdkQsZ0JBQU0sUUFDSixLQUFLLFlBQVksS0FBSyxXQUNsQixVQUNBLHlCQUNFLG1CQUNBO0FBQ1IsZUFBSyxhQUFhLG1CQUFtQixLQUFLO0FBRzFDLGNBQUksS0FBSyxVQUFVO0FBQ2pCLGlCQUFLLGFBQWEsWUFBWSxHQUFHO0FBQUEsVUFDbkMsT0FBTztBQUNMLGlCQUFLLGdCQUFnQixVQUFVO0FBQUEsVUFDakM7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLE1BRVEseUJBQXNCO0FBQzVCLFlBQUksS0FBSyxtQkFBbUI7QUFDMUIsZUFBSyxvQkFBb0I7QUFDekIsZUFBSyxjQUFjLElBQUksTUFBTSxVQUFVLEVBQUUsU0FBUyxLQUFBLENBQU0sQ0FBQztBQUFBLFFBQzNEO0FBQUEsTUFDRjtBQUFBLE1BRVEsYUFBVTtBQUNoQixlQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssWUFBWSxDQUFDLEtBQUssWUFBWSxDQUFDLENBQUMsS0FBSztBQUFBLE1BQ2pFO0FBQUEsTUFFbUIsU0FBTTtBQUN2QixlQUFPLHlCQUF5QixLQUFLLGNBQWM7QUFBQSxNQUNyRDtBQUFBLElBQUE7O0FBdlhDLDhCQUFBLENBQUEsVUFBVTtBQWNWLG9DQUFBLENBQUEsU0FBUyxFQUFFLFdBQVcsTUFBQSxDQUFPLENBQUM7QUE0VDlCLG1DQUFBLENBQUEsYUFBYSxFQUFFLFNBQVMsS0FBQSxDQUFNLENBQUM7QUF6VWhDLG1CQUFBLElBQUEsTUFBQSx1QkFBQSxFQUFBLE1BQUEsVUFBQSxNQUFBLFNBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsV0FBQSxLQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxZQUFXLFFBQUs7QUFBQSxNQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSwwQkFBQTtBQWNoQixtQkFBQSxJQUFBLE1BQUEsNkJBQUEsRUFBQSxNQUFBLFVBQUEsTUFBQSxlQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGlCQUFBLEtBQUEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFlBQVcsY0FBVztBQUFBLE1BQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLDBCQUFBO0FBNFR0QixtQkFBQSxJQUFBLE1BQUEsNEJBQUEsRUFBQSxNQUFBLFVBQUEsTUFBQSxrQkFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxvQkFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQVEsZUFBQSxHQUFjLFVBQUEsVUFBQSxHQUFBLE1BQUEsMEJBQUE7O1VBeldVLEdBQUEsT0FBTyxXQUNoQixHQUFBLHNCQUFzQixNQVRoQztBQUFBO0FBZ2FmLFNBQU87QUFFVDsifQ==
|
|
319
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLWlucHV0LW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvZm9ybS1hc3NvY2lhdGVkLWlucHV0LW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGV2ZW50T3B0aW9ucywgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLCBTYmJNZWRpYVF1ZXJ5UG9pbnRlckNvYXJzZSB9IGZyb20gJy4uL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGlzQmxpbmssIGlzV2Via2l0IH0gZnJvbSAnLi4vZG9tLmpzJztcbmltcG9ydCB7IGkxOG5JbnB1dFJlcXVpcmVkIH0gZnJvbSAnLi4vaTE4bi5qcyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IuanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiB9IGZyb20gJy4vZGlzYWJsZWQtbWl4aW4uanMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudEludGVybmFsc01peGluIH0gZnJvbSAnLi9lbGVtZW50LWludGVybmFscy1taXhpbi5qcyc7XG5pbXBvcnQge1xuICB0eXBlIEZvcm1SZXN0b3JlUmVhc29uLFxuICB0eXBlIEZvcm1SZXN0b3JlU3RhdGUsXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4sXG59IGZyb20gJy4vZm9ybS1hc3NvY2lhdGVkLW1peGluLmpzJztcbmltcG9ydCB7IFNiYlJlYWRvbmx5TWl4aW4gfSBmcm9tICcuL3JlYWRvbmx5LW1peGluLmpzJztcbmltcG9ydCB7IFNiYlJlcXVpcmVkTWl4aW4gfSBmcm9tICcuL3JlcXVpcmVkLW1peGluLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZSBleHRlbmRzIFNiYlJlcXVpcmVkTWl4aW4oXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKExpdEVsZW1lbnQpKSxcbikge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGZvcm1GaWVsZEFzc29jaWF0ZWQgPSB0cnVlO1xuXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IHN0cmluZyk7XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nO1xuXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pO1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW47XG5cbiAgcHVibGljIHNldCByZWFkT25seSh2YWx1ZTogYm9vbGVhbik7XG4gIHB1YmxpYyBnZXQgcmVhZE9ubHkoKTogYm9vbGVhbjtcblxuICBwdWJsaWMgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpO1xuICBwdWJsaWMgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZztcblxuICAvKipcbiAgICogTWFrZXMgdGhlIHNlbGVjdGlvbiBlcXVhbCB0byB0aGUgY3VycmVudCBvYmplY3QuXG4gICAqXG4gICAqIFtNRE4gUmVmZXJlbmNlXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvSFRNTElucHV0RWxlbWVudC9zZWxlY3QpXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQ7XG5cbiAgcHVibGljIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQ7XG4gIHB1YmxpYyBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLCByZWFzb246IEZvcm1SZXN0b3JlUmVhc29uKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgcHJlcGFyZVBhc3RlZFRleHQodGV4dDogc3RyaW5nKTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgbGFuZ3VhZ2U6IFNiYkxhbmd1YWdlQ29udHJvbGxlcjtcbn1cblxuY29uc3QgY2hlY2tQbGFpbnRleHRPbmx5U3VwcG9ydCA9ICgpOiBib29sZWFuID0+IHtcbiAgaWYgKGlzU2VydmVyKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIGRpdi5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsICdQTEFJTlRFWFQtT05MWScpO1xuXG4gIC8vIElmIHBsYWludGV4dC1vbmx5IGlzIHN1cHBvcnRlZCwgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBpc1xuICAvLyByZXR1cm5lZCBhcyBsb3dlci1jYXNlIGZyb20gdGhlIHByb3BlcnR5IGFjY2Vzcy5cbiAgcmV0dXJuIGRpdi5jb250ZW50RWRpdGFibGUgPT09ICdwbGFpbnRleHQtb25seSc7XG59O1xuY29uc3QgcGxhaW50ZXh0T25seVN1cHBvcnRlZCA9IGNoZWNrUGxhaW50ZXh0T25seVN1cHBvcnQoKTtcblxuLyoqXG4gKiBUaGUgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluIGVuYWJsZXMgbmF0aXZlIGZvcm0gc3VwcG9ydCBmb3IgdGV4dCBpbnB1dCBjb250cm9scy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIHN1cGVyQ2xhc3M6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRFbGVtZW50XG4gICAgZXh0ZW5kcyBTYmJSZWFkb25seU1peGluKFxuICAgICAgU2JiRGlzYWJsZWRNaXhpbihcbiAgICAgICAgU2JiUmVxdWlyZWRNaXhpbihTYmJGb3JtQXNzb2NpYXRlZE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihzdXBlckNsYXNzKSkpLFxuICAgICAgKSxcbiAgICApXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAndGV4dGJveCc7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBmb3JtRmllbGRBc3NvY2lhdGVkID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEFuIGVsZW1lbnQgd2l0aCBjb250ZW50ZWRpdGFibGUgd2lsbCBub3QgZW1pdCBhIGNoYW5nZSBldmVudC4gVG8gYWNoaWV2ZSBwYXJpdHlcbiAgICAgKiB3aXRoIGEgbmF0aXZlIHRleHQgaW5wdXQsIHdlIG5lZWQgdG8gdHJhY2sgd2hldGhlciBhIGNoYW5nZSBldmVudCBzaG91bGQgYmVcbiAgICAgKiBlbWl0dGVkLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3Nob3VsZEVtaXRDaGFuZ2UgPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBBIG5hdGl2ZSB0ZXh0IGlucHV0IGF0dGVtcHRzIHRvIHN1Ym1pdCB0aGUgZm9ybSB3aGVuIHByZXNzaW5nIEVudGVyLlxuICAgICAqIFRoaXMgY2FuIGJlIHByZXZlbnRlZCBieSBjYWxsaW5nIHByZXZlbnREZWZhdWx0IG9uIHRoZSBrZXlkb3duIGV2ZW50LlxuICAgICAqIFdlIHRyYWNrIHdoZXRoZXIgdG8gcmVxdWVzdCBzdWJtaXQsIHdoaWNoIHNob3VsZCBvY2N1ciBiZWZvcmUgdGhlIGtleXVwXG4gICAgICogZXZlbnQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2hvdWxkVHJpZ2dlclN1Ym1pdCA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIGxhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICAgIC8qKlxuICAgICAqIEZvcm0gdHlwZSBvZiBlbGVtZW50LlxuICAgICAqIEBkZWZhdWx0ICd0ZXh0J1xuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdmFsdWUgb2YgdGhlIGlucHV0LiBSZWZsZWN0cyB0aGUgY3VycmVudCB0ZXh0IHZhbHVlIG9mIHRoaXMgaW5wdXQuXG4gICAgICovXG4gICAgQHByb3BlcnR5KClcbiAgICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fY2xlYW5UZXh0KHZhbHVlKTtcbiAgICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgICAgdGhpcy5fYXNzaWduVmFsdWUodGhpcy5fdmFsdWUpO1xuICAgICAgfVxuICAgICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnZGlzcGxheXZhbHVlY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZSA/PyAnJztcbiAgICB9XG4gICAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZykge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdwbGFjZWhvbGRlcicsIHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdwbGFjZWhvbGRlcicpO1xuICAgICAgfVxuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYVBsYWNlaG9sZGVyID0gdmFsdWUgPyB2YWx1ZSA6IG51bGw7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInKSA/PyAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgLy8gV2UgcHJpbWFyaWx5IHVzZSBjYXB0dXJlIGV2ZW50IGxpc3RlbmVycywgYXMgd2Ugd2FudFxuICAgICAgLy8gb3VyIGxpc3RlbmVycyB0byBvY2N1ciBiZWZvcmUgY29uc3VtZXIgZXZlbnQgbGlzdGVuZXJzLlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAgICdpbnB1dCcsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fY2xlYW5UZXh0KHRoaXMudGV4dENvbnRlbnQgPz8gJycpO1xuICAgICAgICAgIHRoaXMucmVxdWVzdFVwZGF0ZSgndmFsdWUnLCBvbGRWYWx1ZSk7XG4gICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnaW50ZXJhY3RlZCcpO1xuICAgICAgICAgIHRoaXMuX3Nob3VsZEVtaXRDaGFuZ2UgPSB0cnVlO1xuICAgICAgICB9LFxuICAgICAgICB7IGNhcHR1cmU6IHRydWUgfSxcbiAgICAgICk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2hhbmdlJywgKCkgPT4gKHRoaXMuX3Nob3VsZEVtaXRDaGFuZ2UgPSBmYWxzZSksIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgICAna2V5ZG93bicsXG4gICAgICAgIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9yZXF1aXJlc0VtcHR5UGF0Y2goKSkge1xuICAgICAgICAgICAgdGhpcy5fYXNzaWduVmFsdWUoJycpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBXZSBwcmV2ZW50IHJlY3Vyc2l2ZSBldmVudHMgYnkgY2hlY2tpbmcgdGhlIG9yaWdpbmFsIGV2ZW50IGZvciBpc1RydXN0ZWRcbiAgICAgICAgICAvLyB3aGljaCBpcyBmYWxzZSBmb3IgbWFudWFsbHkgZGlzcGF0Y2hlZCBldmVudHMgKHdoaWNoIHdlIGRpc3BhdGNoIGJlbG93KS5cbiAgICAgICAgICBpZiAoKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICdcXG4nKSAmJiBldmVudC5pc1RydXN0ZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuX3Nob3VsZFRyaWdnZXJTdWJtaXQgPSB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCBldmVudCkpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBpc1dlYmtpdCAmJlxuICAgICAgICAgICAgdGhpcy52YWx1ZSAmJlxuICAgICAgICAgICAgKGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScgfHwgZXZlbnQua2V5ID09PSAnRGVsZXRlJykgJiZcbiAgICAgICAgICAgIGV2ZW50LmlzVHJ1c3RlZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgLy8gSW4gV2Via2l0IHByZXNzaW5nIEJhY2tzcGFjZSBvciBEZWxldGUgY29tcGxldGVseSByZW1vdmVzIGFsbCB0aGUgY29udGVudFxuICAgICAgICAgICAgLy8gaWYgY29udGVudGVkaXRhYmxlIGlzIHNldCBvbiBhIHdlYiBjb21wb25lbnQgaG9zdC5cbiAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8gcmVwbGljYXRlIHRoZSBub3JtYWwgZGVsZXRlIGJlaGF2aW9yLlxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgS2V5Ym9hcmRFdmVudCgna2V5ZG93bicsIGV2ZW50KSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZFJhbmdlID0gd2luZG93LmdldFNlbGVjdGlvbigpPy5nZXRSYW5nZUF0KDApO1xuICAgICAgICAgICAgaWYgKCFzZWxlY3RlZFJhbmdlKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkUmFuZ2Uuc3RhcnRPZmZzZXQgIT09IHNlbGVjdGVkUmFuZ2UuZW5kT2Zmc2V0KSB7XG4gICAgICAgICAgICAgIC8vIElmIGEgdGV4dCByYW5nZSBpcyBzZWxlY3RlZCwgdGhlbiBkZWxldGUgdGhpcyByYW5nZVxuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7XG4gICAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoSW5wdXRFdmVudCgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnICYmIHNlbGVjdGVkUmFuZ2Uuc3RhcnRPZmZzZXQgPiAwKSB7XG4gICAgICAgICAgICAgIC8vIFdoZW4gcHJlc3NpbmcgQmFja3NwYWNlLCB3ZSBzZWxlY3QgdGhlIHByZXZpb3VzIGNoYXJhY3RlciBmcm9tXG4gICAgICAgICAgICAgIC8vIHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbiBhbmQgZGVsZXRlIGl0LlxuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLnNldFN0YXJ0KHNlbGVjdGVkUmFuZ2Uuc3RhcnRDb250YWluZXIsIHNlbGVjdGVkUmFuZ2Uuc3RhcnRPZmZzZXQgLSAxKTtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICAgICAgICB0aGlzLl9kaXNwYXRjaElucHV0RXZlbnQoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRGVsZXRlJyAmJiBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCA8IHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIC8vIFdoZW4gcHJlc3NpbmcgRGVsZXRlLCB3ZSBzZWxlY3QgdGhlIG5leHQgY2hhcmFjdGVyIGZyb21cbiAgICAgICAgICAgICAgLy8gdGhlIGN1cnJlbnQgY3Vyc29yIHBvc2l0aW9uIGFuZCBkZWxldGUgaXQuXG4gICAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2Uuc2V0RW5kKHNlbGVjdGVkUmFuZ2UuZW5kQ29udGFpbmVyLCBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCArIDEpO1xuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7XG4gICAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoSW5wdXRFdmVudCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAgICdrZXl1cCcsXG4gICAgICAgIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnXFxuJykge1xuICAgICAgICAgICAgdGhpcy5fZW1pdENoYW5nZUlmTmVjZXNzYXJ5KCk7XG4gICAgICAgICAgICBpZiAodGhpcy5fc2hvdWxkVHJpZ2dlclN1Ym1pdCkge1xuICAgICAgICAgICAgICB0aGlzLl9zaG91bGRUcmlnZ2VyU3VibWl0ID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuZm9ybT8ucmVxdWVzdFN1Ym1pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fcmVxdWlyZXNFbXB0eVBhdGNoKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldEN1cnNvckF0KDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgLy8gY29udGVudGVkaXRhYmxlIGFsbG93cyBwYXN0aW5nIHJpY2ggY29udGVudCBpbnRvIGl0cyBob3N0LlxuICAgICAgLy8gV2UgcHJldmVudCB0aGlzIGJ5IGxpc3RlbmluZyB0byB0aGUgcGFzdGUgZXZlbnQgYW5kXG4gICAgICAvLyBleHRyYWN0aW5nIHRoZSBwbGFpbiB0ZXh0IGZyb20gdGhlIHBhc3RlZCBjb250ZW50XG4gICAgICAvLyBhbmQgaW5zZXJ0aW5nIGl0IGludG8gdGhlIHNlbGVjdGVkIHJhbmdlIChjdXJzb3IgcG9zaXRpb25cbiAgICAgIC8vIG9yIHNlbGVjdGlvbikuXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncGFzdGUnLCAoZSkgPT4ge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmICh0aGlzLl9yZXF1aXJlc0VtcHR5UGF0Y2goKSkge1xuICAgICAgICAgIHRoaXMuX2Fzc2lnblZhbHVlKCcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRleHQgPSB0aGlzLl9jbGVhblRleHQoZS5jbGlwYm9hcmREYXRhPy5nZXREYXRhKCd0ZXh0L3BsYWluJykgPz8gJycpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZFJhbmdlID0gd2luZG93LmdldFNlbGVjdGlvbigpPy5nZXRSYW5nZUF0KDApO1xuICAgICAgICBpZiAoIXNlbGVjdGVkUmFuZ2UgfHwgIXRleHQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZWxlY3RlZFJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7XG4gICAgICAgIHNlbGVjdGVkUmFuZ2UuaW5zZXJ0Tm9kZShkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0aGlzLnByZXBhcmVQYXN0ZWRUZXh0KHRleHQpKSk7XG4gICAgICAgIHNlbGVjdGVkUmFuZ2Uuc2V0U3RhcnQoc2VsZWN0ZWRSYW5nZS5lbmRDb250YWluZXIsIHNlbGVjdGVkUmFuZ2UuZW5kT2Zmc2V0KTtcbiAgICAgICAgdGhpcy5fZGlzcGF0Y2hJbnB1dEV2ZW50KCk7XG4gICAgICB9KTtcbiAgICAgIC8vIFdoZW4gZm9jdXNpbmcgYSB0ZXh0IGlucHV0IHZpYSBrZXlib2FyZCwgdGhlIHRleHQgY29udGVudCBzaG91bGQgYmUgc2VsZWN0ZWQuXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignZm9jdXMnLCAoKSA9PiB7XG4gICAgICAgIGlmIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgICAgLy8gVE9ETzogVGhpcyBkb2VzIG5vdCBzZWVtIHRvIHdvcmsgaW4gRmlyZWZveCB3aXRoIHJlYWRvbmx5LlxuICAgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8uc2VsZWN0QWxsQ2hpbGRyZW4odGhpcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3RvdWNoZW5kJywgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fcmVxdWlyZXNFbXB0eVBhdGNoKCkpIHtcbiAgICAgICAgICB0aGlzLl9hc3NpZ25WYWx1ZSgnJm5ic3A7Jyk7XG4gICAgICAgICAgdGhpcy5fc2V0Q3Vyc29yQXQoMCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fcmVxdWlyZXNFbXB0eVBhdGNoKCkgJiYgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ3RvdWNoJykge1xuICAgICAgICAgIHRoaXMuX3NldEN1cnNvckF0KDApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gT24gYmx1ciB0aGUgbmF0aXZlIHRleHQgaW5wdXQgc2Nyb2xscyB0aGUgdGV4dCB0byB0aGUgc3RhcnQgb2YgdGhlIHRleHQuXG4gICAgICAvLyBXZSBtaW1pY2sgdGhhdCBieSByZXNldHRpbmcgdGhlIHNjcm9sbCBwb3NpdGlvbi5cbiAgICAgIC8vIFdlIGFsc28gdW5zZXQgYW55IHNlbGVjdGlvbiB0byBhbGlnbiB3aXRoIHRoZSBuYXRpdmUgdGV4dCBpbnB1dC5cbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgICAnYmx1cicsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk/LnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgICAgIGlmICh0aGlzLnZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgdGhpcy5fYXNzaWduVmFsdWUoJycpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlSWZOZWNlc3NhcnkoKTtcbiAgICAgICAgICB0aGlzLnNjcm9sbExlZnQgPSAwO1xuICAgICAgICB9LFxuICAgICAgICB7IGNhcHR1cmU6IHRydWUgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzRGlzYWJsZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybURpc2FibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTXVsdGlMaW5lID0gJ2ZhbHNlJztcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbnRlbnRlZGl0YWJsZSgpO1xuXG4gICAgICAvLyBXZSB3YW50IHRvIHJlcGxhY2UgYW55IGNvbnRlbnQgYnkganVzdCB0aGUgdGV4dCBjb250ZW50LlxuICAgICAgdGhpcy5fYXNzaWduVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmZvY3VzKG9wdGlvbnMpO1xuICAgICAgLy8gQnkgZGVmYXVsdCwgd2hlbiBjYWxsaW5nIGZvY3VzIG9uIGFuIGlucHV0IGVsZW1lbnQsIHRoZSBjdXJzb3IgaXMgcGxhY2VkXG4gICAgICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dCB0ZXh0LiBIb3dldmVyLCB3aXRoIGNvbnRlbnRlZGl0YWJsZSwgdGhlIGN1cnNvclxuICAgICAgLy8gaXMgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcsIHNvIHdlIG1vdmUgaXQgdG8gdGhlIGVuZCwgaWYgdGhhdCBpcyB0aGUgY2FzZS5cbiAgICAgIGlmICh0aGlzLl9jYW5TZWxlY3QoKSkge1xuICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGlmICghc2VsZWN0aW9uKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJhbmdlID0gc2VsZWN0aW9uLnJhbmdlQ291bnQgPiAwID8gc2VsZWN0aW9uLmdldFJhbmdlQXQoMCkgOiBudWxsO1xuICAgICAgICBpZiAocmFuZ2UgJiYgcmFuZ2Uuc3RhcnRPZmZzZXQgIT09IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zZXRDdXJzb3JBdCh0aGlzLnRleHRDb250ZW50IS5sZW5ndGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soXG4gICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICBvbGQ6IHN0cmluZyB8IG51bGwsXG4gICAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgICApOiB2b2lkIHtcbiAgICAgIC8qKlxuICAgICAgICogVGhlIG5hdGl2ZSB0ZXh0IGlucHV0IGNoYW5nZXMgdGhlIHZhbHVlIHByb3BlcnR5IHdoZW4gdGhlIHZhbHVlIGF0dHJpYnV0ZSBpc1xuICAgICAgICogY2hhbmdlZCB1bmRlciB0aGUgY29uZGl0aW9uIHRoYXQgbm8gaW5wdXQgZXZlbnQgaGFzIG9jY3VyZWQgc2luY2UgY3JlYXRpb25cbiAgICAgICAqIG9yIHRoZSBsYXN0IGZvcm0gcmVzZXQuXG4gICAgICAgKi9cbiAgICAgIGlmIChuYW1lICE9PSAndmFsdWUnIHx8ICF0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKCdpbnRlcmFjdGVkJykpIHtcbiAgICAgICAgc3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKG5hbWUsIG9sZCwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElzIGNhbGxlZCB3aGVuZXZlciB0aGUgZm9ybSBpcyBiZWluZyByZXNldC5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ2ludGVyYWN0ZWQnKTtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmdldEF0dHJpYnV0ZSgndmFsdWUnKSA/PyAnJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQ2FsbGVkIHdoZW4gdGhlIGJyb3dzZXIgaXMgdHJ5aW5nIHRvIHJlc3RvcmUgZWxlbWVudOKAmXMgc3RhdGUgdG8gc3RhdGUgaW4gd2hpY2ggY2FzZVxuICAgICAqICByZWFzb24gaXMgXCJyZXN0b3JlXCIsIG9yIHdoZW4gdGhlIGJyb3dzZXIgaXMgdHJ5aW5nIHRvIGZ1bGZpbGwgYXV0b2ZpbGwgb24gYmVoYWxmIG9mXG4gICAgICogIHVzZXIgaW4gd2hpY2ggY2FzZSByZWFzb24gaXMgXCJhdXRvY29tcGxldGVcIi5cbiAgICAgKiAgSW4gdGhlIGNhc2Ugb2YgXCJyZXN0b3JlXCIsIHN0YXRlIGlzIGEgc3RyaW5nLCBGaWxlLCBvciBGb3JtRGF0YSBvYmplY3RcbiAgICAgKiAgcHJldmlvdXNseSBzZXQgYXMgdGhlIHNlY29uZCBhcmd1bWVudCB0byBzZXRGb3JtVmFsdWUuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgICAgX3JlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24sXG4gICAgKTogdm9pZCB7XG4gICAgICBpZiAoc3RhdGUgJiYgdHlwZW9mIHN0YXRlID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLnZhbHVlID0gc3RhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWFrZXMgdGhlIHNlbGVjdGlvbiBlcXVhbCB0byB0aGUgY3VycmVudCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvSFRNTElucHV0RWxlbWVudC9zZWxlY3RcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpPy5zZWxlY3RBbGxDaGlsZHJlbih0aGlzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgLy8gSWYgdGhlIHZhbHVlIHdhcyBhc3NpZ25lZCBiZWZvcmUgZmlyc3RVcGRhdGUsIHdlIGhhdmUgdG9cbiAgICAgIC8vIHdyaXRlIGl0IHRoZSBkb2N1bWVudCB0byBiZSB2aXN1YWxseSBzZWVuXG4gICAgICBpZiAodGhpcy52YWx1ZSAmJiAhdGhpcy5pbm5lckhUTUwubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuX2Fzc2lnblZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICAgKTogdm9pZCB7XG4gICAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZCAmJlxuICAgICAgICAobmFtZSA9PT0gJ2Rpc2FibGVkJyB8fCBuYW1lID09PSAnZm9ybURpc2FibGVkJyB8fCBuYW1lID09PSAncmVhZE9ubHknKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUNvbnRlbnRlZGl0YWJsZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHN1cGVyLnNob3VsZFZhbGlkYXRlKG5hbWUpIHx8IG5hbWUgPT09ICd2YWx1ZScgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgICBzdXBlci52YWxpZGF0ZSgpO1xuICAgICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgIXRoaXMudmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGl0eUZsYWcoJ3ZhbHVlTWlzc2luZycsIGkxOG5JbnB1dFJlcXVpcmVkW3RoaXMubGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoJ3ZhbHVlTWlzc2luZycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBwcmVwYXJlUGFzdGVkVGV4dCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVxdWlyZXNFbXB0eVBhdGNoKCk6IGJvb2xlYW4ge1xuICAgICAgLy8gSW4gQmxpbmssIGEgY29udGVudGVkaXRhYmxlIGVsZW1lbnQgd2l0aCBlbXB0eSBjb250ZW50IHdpbGwgY3Jhc2hcbiAgICAgIC8vIHVwb24gcmVjZWl2aW5nIGZvY3VzLCB3aGVuIGluIE1vYmlsZSBtb2RlLlxuICAgICAgLy8gVG8gcHJldmVudCB0aGlzLCB3ZSBwYXRjaCB0aGUgZW1wdHkgc3RhdGUgYnkgaW5zZXJ0aW5nIGEgbm9uLWJyZWFraW5nIHNwYWNlLlxuICAgICAgcmV0dXJuIGlzU2VydmVyXG4gICAgICAgID8gZmFsc2VcbiAgICAgICAgOiBpc0JsaW5rICYmIHRoaXMudmFsdWUgPT09ICcnICYmIHdpbmRvdy5tYXRjaE1lZGlhKFNiYk1lZGlhUXVlcnlQb2ludGVyQ29hcnNlKS5tYXRjaGVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Fzc2lnblZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIHRoaXMuaW5uZXJIVE1MID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0Q3Vyc29yQXQocG9zaXRpb246IG51bWJlcik6IHZvaWQge1xuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgaWYgKCFzZWxlY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgICByYW5nZS5zZXRTdGFydCh0aGlzLmZpcnN0Q2hpbGQhLCBwb3NpdGlvbik7XG4gICAgICByYW5nZS5jb2xsYXBzZSh0cnVlKTtcbiAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2xlYW5UZXh0KHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgLy8gVGhlIG5hdGl2ZSB0ZXh0IGlucHV0IHJlbW92ZXMgYWxsIG5ld2xpbmUgY2hhcmFjdGVycyBpZiBwYXNzZWQgdG8gdGhlIHZhbHVlIHByb3BlcnR5XG4gICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgPyAnJyA6IGAke3ZhbHVlfWAucmVwbGFjZSgvW1xcblxccl0rL2csICcnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNwYXRjaElucHV0RXZlbnQoKTogdm9pZCB7XG4gICAgICAvKiogVGhlIGlucHV0IGV2ZW50IGZpcmVzIHdoZW4gdGhlIHZhbHVlIGhhcyBiZWVuIGNoYW5nZWQgYXMgYSBkaXJlY3QgcmVzdWx0IG9mIGEgdXNlciBhY3Rpb24uICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IElucHV0RXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgfVxuXG4gICAgQGV2ZW50T3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSlcbiAgICBwcml2YXRlIF9jbGVhbkNoaWxkcmVuKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuY2hpbGRFbGVtZW50Q291bnQpIHtcbiAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRoaXMuY2hpbGRyZW4pIHtcbiAgICAgICAgICBlbGVtZW50LnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdXBkYXRlQ29udGVudGVkaXRhYmxlKCk6IHZvaWQge1xuICAgICAgaWYgKCFpc1NlcnZlciAmJiB0aGlzLmlzQ29ubmVjdGVkKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFSZWFkT25seSA9IHRoaXMucmVhZE9ubHkgPyAndHJ1ZScgOiBudWxsO1xuICAgICAgICB0aGlzLmludGVybmFscy5hcmlhRGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkID8gJ3RydWUnIDogbnVsbDtcbiAgICAgICAgLy8gVE9ETygyMDI2KTogRmlyZWZveCBzdXBwb3J0cyBwbGFpbnRleHQtb25seSBzaW5jZSB2ZXJzaW9uIDEzNiAoTWFyY2ggMjAyNSkuXG4gICAgICAgIC8vIFVudGlsIHRoaXMgaXMgcGFydCBvZiBvdXIgYmFzZWxpbmUsIHdlIHNob3VsZCBmZWF0dXJlIGNoZWNrIHRvIGVuYWJsZSBpdC5cbiAgICAgICAgY29uc3QgdmFsdWUgPVxuICAgICAgICAgIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkT25seVxuICAgICAgICAgICAgPyAnZmFsc2UnXG4gICAgICAgICAgICA6IHBsYWludGV4dE9ubHlTdXBwb3J0ZWRcbiAgICAgICAgICAgICAgPyAncGxhaW50ZXh0LW9ubHknXG4gICAgICAgICAgICAgIDogJ3RydWUnO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJywgdmFsdWUpO1xuICAgICAgICAvLyBJbiB0aGUgcmVhZG9ubHkgY2FzZSwgd2UgZGlzYWJsZSBjb250ZW50ZWRpdGFibGUsIGJ1dCBpdCBzdGlsbFxuICAgICAgICAvLyBuZWVkcyB0byBiZSBmb2N1c2FibGUuIFdlIGFjaGlldmUgdGhpcyBieSBzZXR0aW5nIHRhYmluZGV4IGluIHRoYXQgY2FzZS5cbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZW1pdENoYW5nZUlmTmVjZXNzYXJ5KCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuX3Nob3VsZEVtaXRDaGFuZ2UpIHtcbiAgICAgICAgdGhpcy5fc2hvdWxkRW1pdENoYW5nZSA9IGZhbHNlO1xuICAgICAgICAvKiogVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBlbGVtZW50J3MgdmFsdWUuIFVubGlrZSB0aGUgaW5wdXQgZXZlbnQsIHRoZSBjaGFuZ2UgZXZlbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZpcmVkIGZvciBlYWNoIGFsdGVyYXRpb24gdG8gYW4gZWxlbWVudCdzIHZhbHVlLiAqL1xuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NhblNlbGVjdCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiAhaXNTZXJ2ZXIgJiYgIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMucmVhZE9ubHkgJiYgISF0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogdW5rbm93biB7XG4gICAgICByZXR1cm4gaHRtbGA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX2NsZWFuQ2hpbGRyZW59Pjwvc2xvdD5gO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBTYmJGb3JtQXNzb2NpYXRlZElucHV0RWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQXdEQSxNQUFNLDRCQUE0QixNQUFjO0FBQzlDLE1BQUksVUFBVTtBQUNaLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxNQUFNLFNBQVMsY0FBYyxLQUFLO0FBQ3hDLE1BQUksYUFBYSxtQkFBbUIsZ0JBQWdCO0FBSXBELFNBQU8sSUFBSSxvQkFBb0I7QUFDakM7QUFDQSxNQUFNLHlCQUF5QiwwQkFBQTtBQU14QixNQUFNLDhCQUE4QixDQUN6QyxlQUM0RDtNQUM3QyxpQ0FBNkIsTUFBQTs7QUFDbEMsUUFBQSxjQUFBLGlCQUNOLGlCQUNFLGlCQUFpQix1QkFBdUIseUJBQXlCLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FDL0U7Ozs7O0FBSlUsV0FBQSxtQkFDTCxZQUlQO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQTBCRCxJQUFvQixPQUFJO0FBQ3RCLGVBQU87QUFBQSxNQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFNQSxJQUFXLE1BQU0sT0FBYTtBQUM1QixhQUFLLFNBQVMsS0FBSyxXQUFXLEtBQUs7QUFDbkMsWUFBSSxLQUFLLFlBQVk7QUFDbkIsZUFBSyxhQUFhLEtBQUssTUFBTTtBQUFBLFFBQy9CO0FBRUEsYUFBSyxjQUFjLElBQUksTUFBTSxzQkFBc0IsRUFBRSxTQUFTLE1BQU0sVUFBVSxLQUFBLENBQU0sQ0FBQztBQUFBLE1BQ3ZGO0FBQUEsTUFDQSxJQUFXLFFBQUs7QUFDZCxlQUFPLEtBQUssVUFBVTtBQUFBLE1BQ3hCO0FBQUEsTUFJQSxJQUFXLFlBQVksT0FBYTtBQUNsQyxZQUFJLE9BQU87QUFDVCxlQUFLLGFBQWEsZUFBZSxLQUFLO0FBQUEsUUFDeEMsT0FBTztBQUNMLGVBQUssZ0JBQWdCLGFBQWE7QUFBQSxRQUNwQztBQUNB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
|
|
@@ -34,7 +34,7 @@ const panelCommon = css`:host {
|
|
|
34
34
|
--sbb-disable-animation-duration,
|
|
35
35
|
var(--sbb-animation-duration-4x)
|
|
36
36
|
);
|
|
37
|
-
--sbb-selection-panel-cursor: pointer;
|
|
37
|
+
--sbb-selection-panel-cursor: var(--sbb-cursor-pointer);
|
|
38
38
|
--sbb-selection-panel-suffix-color: var(--sbb-color-3);
|
|
39
39
|
--sbb-selection-panel-subtext-color: var(--sbb-color-granite);
|
|
40
40
|
--sbb-selection-panel-subtext-color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));
|
|
@@ -67,7 +67,7 @@ const panelCommon = css`:host {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
:host(:is(:disabled, [disabled])) {
|
|
70
|
-
--sbb-selection-panel-cursor: default;
|
|
70
|
+
--sbb-selection-panel-cursor: var(--sbb-cursor-default);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
.sbb-selection-panel {
|
|
@@ -21,6 +21,7 @@ export declare class SbbDateInputElement<T = Date> extends SbbDateInputElement_b
|
|
|
21
21
|
*/
|
|
22
22
|
set value(value: string);
|
|
23
23
|
get value(): string;
|
|
24
|
+
/** Formats the current input's value as date. */
|
|
24
25
|
set valueAsDate(value: T | null);
|
|
25
26
|
get valueAsDate(): T | null;
|
|
26
27
|
private _valueAsDate?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-input.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/date-input/date-input.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAa1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAY7D;;;GAGG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CACtC;;AAED;;GAEG;AACH,qBAEM,mBAAmB,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,wBAAuC;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;;OAKG;IACH,IAAoB,KAAK,CAAC,KAAK,EAAE,MAAM,EAQtC;IACD,IAAoB,KAAK,IAAI,MAAM,CAElC;IAED,IACW,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAsBrC;IACD,IAAW,WAAW,IAAI,CAAC,GAAG,IAAI,CAIjC;IACD,OAAO,CAAC,YAAY,CAAC,CAAW;IAEhC;;;OAGG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;;OAGG;IACH,SAEgB,GAAG,EAAE,CAAC,GAAG,IAAI,CAAQ;IAErC;;;OAGG;IACH,SAEgB,GAAG,EAAE,CAAC,GAAG,IAAI,CAAQ;IAErC;;;;OAIG;IACH,IACW,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,EAEvD;IACD,IAAW,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,CAEnD;IAED;;;;OAIG;IACH,SACgB,YAAY,EAAE,OAAO,GAAG,MAAM,CAAW;IAEzD;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAC,CAAqB;IACzC,OAAO,CAAC,YAAY,CAA4E;IAChG,OAAO,CAAC,mBAAmB,CAAS;IAEpC;;;OAGG;IACH,IAAW,UAAU,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAEtD;;IAOD;;OAEG;WACW,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI;IAaxF,OAAO,CAAC,WAAW,CAA2C;IAE9C,iBAAiB,IAAI,IAAI;IAmBzB,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cAiBY,eAAe,IAAI,IAAI;IAO1C,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,WAAW;cAIA,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO;cAOtD,QAAQ,IAAI,IAAI;IAiCnC,OAAO,CAAC,qBAAqB;CAK9B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;IAED,UAAU,mBAAmB;QAC3B,aAAa,EAAE,OAAO,CAAC;KACxB;CACF"}
|
|
1
|
+
{"version":3,"file":"date-input.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/date-input/date-input.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAa1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAY7D;;;GAGG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CACtC;;AAED;;GAEG;AACH,qBAEM,mBAAmB,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,wBAAuC;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;;OAKG;IACH,IAAoB,KAAK,CAAC,KAAK,EAAE,MAAM,EAQtC;IACD,IAAoB,KAAK,IAAI,MAAM,CAElC;IAED,iDAAiD;IACjD,IACW,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAsBrC;IACD,IAAW,WAAW,IAAI,CAAC,GAAG,IAAI,CAIjC;IACD,OAAO,CAAC,YAAY,CAAC,CAAW;IAEhC;;;OAGG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;;OAGG;IACH,SAEgB,GAAG,EAAE,CAAC,GAAG,IAAI,CAAQ;IAErC;;;OAGG;IACH,SAEgB,GAAG,EAAE,CAAC,GAAG,IAAI,CAAQ;IAErC;;;;OAIG;IACH,IACW,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,EAEvD;IACD,IAAW,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,CAEnD;IAED;;;;OAIG;IACH,SACgB,YAAY,EAAE,OAAO,GAAG,MAAM,CAAW;IAEzD;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAC,CAAqB;IACzC,OAAO,CAAC,YAAY,CAA4E;IAChG,OAAO,CAAC,mBAAmB,CAAS;IAEpC;;;OAGG;IACH,IAAW,UAAU,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAEtD;;IAOD;;OAEG;WACW,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI;IAaxF,OAAO,CAAC,WAAW,CAA2C;IAE9C,iBAAiB,IAAI,IAAI;IAmBzB,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cAiBY,eAAe,IAAI,IAAI;IAO1C,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,WAAW;cAIA,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO;cAOtD,QAAQ,IAAI,IAAI;IAiCnC,OAAO,CAAC,qBAAqB;CAK9B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;IAED,UAAU,mBAAmB;QAC3B,aAAa,EAAE,OAAO,CAAC;KACxB;CACF"}
|
|
@@ -27,7 +27,7 @@ const style = css`:host {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
:host(:disabled) {
|
|
30
|
-
cursor: default;
|
|
30
|
+
cursor: var(--sbb-cursor-default);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
:host(:focus) {
|
|
@@ -101,6 +101,7 @@ let SbbDateInputElement = (() => {
|
|
|
101
101
|
get value() {
|
|
102
102
|
return super.value ?? "";
|
|
103
103
|
}
|
|
104
|
+
/** Formats the current input's value as date. */
|
|
104
105
|
set valueAsDate(value) {
|
|
105
106
|
value = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));
|
|
106
107
|
if (!value) {
|
|
@@ -287,4 +288,4 @@ let SbbDateInputElement = (() => {
|
|
|
287
288
|
export {
|
|
288
289
|
SbbDateInputElement
|
|
289
290
|
};
|
|
290
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGlzU2VydmVyLCBMaXRFbGVtZW50LCB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24gfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHJlYWRDb25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyB0eXBlIERhdGVBZGFwdGVyLCBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi9jb3JlL2RhdGV0aW1lLmpzJztcbmltcG9ydCB7IHBsYWluRGF0ZSwgcGxhaW5EYXRlQ29udmVydGVyIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7XG4gIGkxOG5EYXRlSW52YWxpZCxcbiAgaTE4bkRhdGVNYXgsXG4gIGkxOG5EYXRlTWluLFxuICBpMThuRGF0ZVBpY2tlclBsYWNlaG9sZGVyLFxufSBmcm9tICcuLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEYXRlcGlja2VyRWxlbWVudCB9IGZyb20gJy4uL2RhdGVwaWNrZXIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kYXRlLWlucHV0LnNjc3M/bGl0JmlubGluZSc7XG5cbi8vIEFzIGRvY3VtZW50ZWQgaW4gZm9ybS1hc3NvY2lhdGVkLW1peGluLnRzLCB3ZSBleHRlbmQgdGhlIHByb3RvdHlwZSBvZlxuLy8gVmFsaWRpdHlTdGF0ZSB3aXRoIGN1c3RvbSBlcnJvciBzdGF0ZXMgZm9yIHRoZSBkYXRlIGlucHV0LlxuT2JqZWN0LmFzc2lnbihWYWxpZGl0eVN0YXRlLnByb3RvdHlwZSwge1xuICBnZXQgc2JiRGF0ZUZpbHRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0sXG59KTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGVsZW1lbnRzIHRoYXQgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBhIGRhdGUgaW5wdXQuXG4gKiBJbXBsZW1lbnRpbmcgY2xhc3NlcyBtdXN0IGFsc28gaGF2ZSBhIHN0YXRpYyBwcm9wZXJ0eSBgc2JiRGF0ZUlucHV0QXNzb2NpYXRlZGAgc2V0IHRvIGB0cnVlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYmJEYXRlSW5wdXRBc3NvY2lhdGVkPFQ+IHtcbiAgaW5wdXQ6IFNiYkRhdGVJbnB1dEVsZW1lbnQ8VD4gfCBudWxsO1xufVxuXG4vKipcbiAqIEN1c3RvbSBpbnB1dCBmb3IgYSBkYXRlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItZGF0ZS1pbnB1dCcpXG5jbGFzcyBTYmJEYXRlSW5wdXRFbGVtZW50PFQgPSBEYXRlPiBleHRlbmRzIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIGRhdGUgaW5wdXQuIFJlZmxlY3RzIHRoZSBjdXJyZW50IHRleHQgdmFsdWVcbiAgICogb2YgdGhpcyBpbnB1dC5cbiAgICogVGhlIGF0dHJpYnV0ZSBgdmFsdWVgIEFjY2VwdHMgSVNPODYwMSBmb3JtYXR0ZWQgdmFsdWVzLCB3aGljaCB3aWxsIGJlXG4gICAqIGZvcm1hdHRlZCBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbG9jYWxlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdHJ5UGFyc2VWYWx1ZSh2YWx1ZSk7XG4gICAgLy8gQXMgbG9uZyBhcyB0aGlzIGVsZW1lbnQgaGFzIGZvY3VzIHdlIGRlbGF5IGF1dG9tYXRpY2FsbHkgdXBkYXRpbmdcbiAgICAvLyB0aGUgdmFsdWUgd2l0aCB0aGUgZm9ybWF0dGVkIHN0cmluZyBvZiB0aGUgcGFyc2VkIGRhdGUuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAhdGhpcy5tYXRjaGVzKCc6Zm9jdXMnKSAmJiB0aGlzLnZhbHVlQXNEYXRlICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuX2Zvcm1hdERhdGUoKTtcbiAgICB9XG4gICAgc3VwZXIudmFsdWUgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN1cGVyLnZhbHVlID8/ICcnO1xuICB9XG5cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICBwdWJsaWMgc2V0IHZhbHVlQXNEYXRlKHZhbHVlOiBUIHwgbnVsbCkge1xuICAgIHZhbHVlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKHRoaXMuX2RhdGVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKSk7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWVBc0RhdGUgPSBudWxsO1xuICAgICAgdGhpcy5fdmFsdWVDYWNoZSA9IFsnJywgbnVsbF07XG4gICAgICB0aGlzLnZhbHVlID0gJyc7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgICF0aGlzLl9kYXRlQWRhcHRlci5pc0RhdGVJbnN0YW5jZSh0aGlzLl92YWx1ZUFzRGF0ZSkgfHxcbiAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKHRoaXMuX3ZhbHVlQXNEYXRlISwgdmFsdWUhKSAhPT0gMFxuICAgICkge1xuICAgICAgLy8gQWxpZ24gd2l0aCB0aGUgbmF0aXZlIGRhdGUgaW5wdXQsIGFzIGl0IGNvcGllcyB0aGUgdmFsdWUgb2ZcbiAgICAgIC8vIHRoZSBnaXZlbiBkYXRlIHdpdGhvdXQgdGhlIHRpbWUgYW5kIGRvZXMgbm90IHJldGFpbiB0aGVcbiAgICAgIC8vIG9yaWdpbmFsIGluc3RhbmNlLlxuICAgICAgdGhpcy5fdmFsdWVBc0RhdGUgPSB0aGlzLl9kYXRlQWRhcHRlci5jcmVhdGVEYXRlKFxuICAgICAgICB0aGlzLl9kYXRlQWRhcHRlci5nZXRZZWFyKHZhbHVlKSxcbiAgICAgICAgdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0TW9udGgodmFsdWUpLFxuICAgICAgICB0aGlzLl9kYXRlQWRhcHRlci5nZXREYXRlKHZhbHVlKSxcbiAgICAgICk7XG4gICAgICBjb25zdCBzdHJpbmdWYWx1ZSA9IHRoaXMuX2Zvcm1hdERhdGUoKTtcbiAgICAgIHRoaXMuX3ZhbHVlQ2FjaGUgPSBbc3RyaW5nVmFsdWUsIHRoaXMuX3ZhbHVlQXNEYXRlXTtcbiAgICAgIHRoaXMudmFsdWUgPSBzdHJpbmdWYWx1ZTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZUFzRGF0ZSgpOiBUIHwgbnVsbCB7XG4gICAgLy8gV2Ugc2hvdWxkIG5ldmVyIHJldHVybiB0aGUgaW50ZXJuYWwgZGF0ZSBvYmplY3QgZGlyZWN0bHksIGFzIGl0XG4gICAgLy8gY291bGQgYmUgbWFuaXB1bGF0ZWQgb3V0c2lkZSBvZiB0aGlzIGNsYXNzLlxuICAgIHJldHVybiB0aGlzLl92YWx1ZUFzRGF0ZSA/IHRoaXMuX2RhdGVBZGFwdGVyLmNsb25lKHRoaXMuX3ZhbHVlQXNEYXRlKSA6IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWVBc0RhdGU/OiBUIHwgbnVsbDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaW5wdXQgaXMgZW1wdHlcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHB1YmxpYyBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnZhbHVlIHx8IHRoaXMudmFsdWUudHJpbSgpID09PSAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSB2YWxpZCBkYXRlLiBBY2NlcHRzIGEgZGF0ZSBvYmplY3Qgb3IgbnVsbC5cbiAgICogQWNjZXB0cyBhbiBJU084NjAxIGZvcm1hdHRlZCBzdHJpbmcgKGUuZy4gMjAyNC0xMi0yNCkgYXMgYXR0cmlidXRlLlxuICAgKi9cbiAgQHBsYWluRGF0ZSgpXG4gIEBwcm9wZXJ0eSh7IGNvbnZlcnRlcjogcGxhaW5EYXRlQ29udmVydGVyLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBtaW46IFQgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhlIG1heGltdW0gdmFsaWQgZGF0ZS4gQWNjZXB0cyBhIGRhdGUgb2JqZWN0IG9yIG51bGwuXG4gICAqIEFjY2VwdHMgYW4gSVNPODYwMSBmb3JtYXR0ZWQgc3RyaW5nIChlLmcuIDIwMjQtMTItMjQpIGFzIGF0dHJpYnV0ZS5cbiAgICovXG4gIEBwbGFpbkRhdGUoKVxuICBAcHJvcGVydHkoeyBjb252ZXJ0ZXI6IHBsYWluRGF0ZUNvbnZlcnRlciwgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbWF4OiBUIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdXNlZCB0byBmaWx0ZXIgb3V0IGRhdGVzLlxuICAgKiBJdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB1c2UgbWluIGFuZCBtYXggZGF0ZXMgYWxvbmdzaWRlXG4gICAqIHRoaXMgZmlsdGVyLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICBwdWJsaWMgc2V0IGRhdGVGaWx0ZXIodmFsdWU6IChkYXRlOiBUIHwgbnVsbCkgPT4gYm9vbGVhbikge1xuICAgIHRoaXMuX2RhdGVGaWx0ZXIgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IGRhdGVGaWx0ZXIoKTogKGRhdGU6IFQgfCBudWxsKSA9PiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0ZUZpbHRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb3cgdG8gZm9ybWF0IHRoZSBkaXNwbGF5ZWQgZGF0ZS5cbiAgICogYHNob3J0YDogVHdvIGxldHRlciBhYmJyZXZpYXRpb24gb2YgdGhlIHdlZWsgZGF5IChlLmcuIEZyKS5cbiAgICogYG5vbmVgOiBUaGUgd2Vla2RheSBpcyBub3QgZGlzcGxheWVkLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnd2Vla2RheS1zdHlsZScgfSlcbiAgcHVibGljIGFjY2Vzc29yIHdlZWtkYXlTdHlsZTogJ3Nob3J0JyB8ICdub25lJyA9ICdzaG9ydCc7XG5cbiAgLyoqXG4gICAqIFN0b3JlcyB0aGUgbGFzdCBzdHJpbmcgYW5kIHBhcnNlZCBkYXRlIG9iamVjdCB2YWx1ZSB0byBwcmV2ZW50IHJlcGVhdGVkXG4gICAqIHBhcnNpbmcgb2YgdGhlIHN0cmluZyB2YWx1ZS5cbiAgICovXG4gIHByaXZhdGUgX3ZhbHVlQ2FjaGU/OiBbc3RyaW5nLCBUIHwgbnVsbF07XG4gIHByaXZhdGUgX2RhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxUPiA9IHJlYWRDb25maWcoKS5kYXRldGltZT8uZGF0ZUFkYXB0ZXIgPz8gZGVmYXVsdERhdGVBZGFwdGVyO1xuICBwcml2YXRlIF9wbGFjZWhvbGRlck11dGFibGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgYXNzb2NpYXRlZCBkYXRlcGlja2VyLCBpZiBhbnkuXG4gICAqIFRoZSBzYmItZGF0ZS1pbnB1dCBhbmQgdGhlIHNiYi1kYXRlcGlja2VyIGFyZSBhc3N1bWVkIHRvIGJlIGluIHRoZSBzYW1lIHBhcmVudCBjb250YWluZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRhdGVwaWNrZXIoKTogU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnRFbGVtZW50IS5xdWVyeVNlbGVjdG9yPFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+Pignc2JiLWRhdGVwaWNrZXInKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjaGFuZ2UnLCAoKSA9PiB0aGlzLl91cGRhdGVWYWx1ZURhdGVGb3JtYXQoKSwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGVtcHRzIHRvIHJlc29sdmUgdGhlIGFzc29jaWF0ZWQgZGF0ZSBpbnB1dCB3aXRoIHRoZSBnaXZlbiBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZXNvbHZlQXNzb2NpYXRpb248VD4oaG9zdDogSFRNTEVsZW1lbnQgJiBTYmJEYXRlSW5wdXRBc3NvY2lhdGVkPFQ+KTogdm9pZCB7XG4gICAgaWYgKGhvc3QuaGFzQXR0cmlidXRlKCdpbnB1dCcpIHx8IGhvc3QuaW5wdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbnB1dCA9IGhvc3RcbiAgICAgIC5jbG9zZXN0KCdzYmItZm9ybS1maWVsZCcpXG4gICAgICA/LnF1ZXJ5U2VsZWN0b3I8U2JiRGF0ZUlucHV0RWxlbWVudDxUPj4oJ3NiYi1kYXRlLWlucHV0Jyk7XG4gICAgaWYgKGlucHV0KSB7XG4gICAgICBob3N0LmlucHV0ID0gaW5wdXQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGF0ZUZpbHRlcjogKGRhdGU6IFQgfCBudWxsKSA9PiBib29sZWFuID0gKCkgPT4gdHJ1ZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBpZiAoIXRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgIHRoaXMuX3BsYWNlaG9sZGVyTXV0YWJsZSA9IHRydWU7XG4gICAgICB0aGlzLnBsYWNlaG9sZGVyID0gaTE4bkRhdGVQaWNrZXJQbGFjZWhvbGRlclt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIEFycmF5LmZyb20odGhpcy5jbG9zZXN0KCdzYmItZm9ybS1maWVsZCcpPy5jaGlsZHJlbiA/PyBbXSkpIHtcbiAgICAgIC8vIEVsZW1lbnRzIG11c3QgYmUgdXBncmFkZWQgaW4gb3JkZXIgZm9yIHRoZSBjb25zdHJ1Y3RvciB0byBiZSBhY2Nlc3NpYmxlLlxuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZT8uKGNoaWxkKTtcbiAgICAgIGlmIChcbiAgICAgICAgKGNoaWxkLmNvbnN0cnVjdG9yIGFzIHsgc2JiRGF0ZUlucHV0QXNzb2NpYXRlZD86IGJvb2xlYW4gfSkuc2JiRGF0ZUlucHV0QXNzb2NpYXRlZCAmJlxuICAgICAgICAhY2hpbGQuaGFzQXR0cmlidXRlKCdpbnB1dCcpICYmXG4gICAgICAgICEoY2hpbGQgYXMgUGFydGlhbDxTYmJEYXRlSW5wdXRBc3NvY2lhdGVkPFQ+PikuaW5wdXRcbiAgICAgICkge1xuICAgICAgICAoY2hpbGQgYXMgUGFydGlhbDxTYmJEYXRlSW5wdXRBc3NvY2lhdGVkPFQ+PikuaW5wdXQgPSB0aGlzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQgJiYgIW5hbWUpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVZhbHVlRGF0ZUZvcm1hdCgpO1xuICAgICAgaWYgKHRoaXMuX3BsYWNlaG9sZGVyTXV0YWJsZSkge1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gaTE4bkRhdGVQaWNrZXJQbGFjZWhvbGRlclt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3dlZWtkYXlTdHlsZScpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVZhbHVlRGF0ZUZvcm1hdCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgLy8gVXNlZCB0byBub3RpZnkgYXNzb2NpYXRlZCBjb21wb25lbnRzIHRvIHVwZGF0ZSBzdGF0ZVxuICAgICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnybVjaGFuZ2UnKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl90cnlQYXJzZVZhbHVlKCk7XG4gICAgY29uc3QgZm9ybVZhbHVlID1cbiAgICAgIHRoaXMudmFsdWVBc0RhdGUgIT09IG51bGwgPyB0aGlzLl9kYXRlQWRhcHRlci50b0lzbzg2MDEodGhpcy52YWx1ZUFzRGF0ZSkgOiBudWxsO1xuICAgIHRoaXMuaW50ZXJuYWxzLnNldEZvcm1WYWx1ZShmb3JtVmFsdWUsIHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHJ5UGFyc2VWYWx1ZSh2YWx1ZSA9IHRoaXMudmFsdWUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fdmFsdWVDYWNoZT8uWzBdICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWVBc0RhdGUgPSB0aGlzLl9kYXRlQWRhcHRlci5wYXJzZSh2YWx1ZSk7XG4gICAgICB0aGlzLl92YWx1ZUNhY2hlID0gW3ZhbHVlLCB0aGlzLl92YWx1ZUFzRGF0ZV07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVmFsdWVEYXRlRm9ybWF0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnZhbHVlQXNEYXRlKSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gdGhpcy5fZm9ybWF0RGF0ZSgpO1xuICAgICAgaWYgKHRoaXMudmFsdWUgIT09IGZvcm1hdHRlZERhdGUpIHtcbiAgICAgICAgc3VwZXIudmFsdWUgPSBmb3JtYXR0ZWREYXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Zvcm1hdERhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0ZUFkYXB0ZXIuZm9ybWF0KHRoaXMudmFsdWVBc0RhdGUsIHsgd2Vla2RheVN0eWxlOiB0aGlzLndlZWtkYXlTdHlsZSB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fFxuICAgICAgWyd2YWx1ZUFzRGF0ZScsICdtaW4nLCAnbWF4JywgJ2RhdGVGaWx0ZXInXS5pbmNsdWRlcyhuYW1lIGFzIHN0cmluZylcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlKCk7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLl9yZW1vdmVWYWxpZGl0eUVycm9ycygpO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuX2RhdGVBZGFwdGVyLmlzVmFsaWQodGhpcy52YWx1ZUFzRGF0ZSkpIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCdiYWRJbnB1dCcsIGkxOG5EYXRlSW52YWxpZFt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy5fZGF0ZUFkYXB0ZXIuaXNWYWxpZCh0aGlzLm1pbikgJiZcbiAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKHRoaXMubWluLCB0aGlzLnZhbHVlQXNEYXRlKSA+IDBcbiAgICApIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKFxuICAgICAgICAncmFuZ2VVbmRlcmZsb3cnLFxuICAgICAgICBpMThuRGF0ZU1pbih0aGlzLl9kYXRlQWRhcHRlci5mb3JtYXQodGhpcy5taW4sIHsgd2Vla2RheVN0eWxlOiAnbm9uZScgfSkpW1xuICAgICAgICAgIHRoaXMubGFuZ3VhZ2UuY3VycmVudFxuICAgICAgICBdLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy5fZGF0ZUFkYXB0ZXIuaXNWYWxpZCh0aGlzLm1heCkgJiZcbiAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKHRoaXMudmFsdWVBc0RhdGUsIHRoaXMubWF4KSA+IDBcbiAgICApIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKFxuICAgICAgICAncmFuZ2VPdmVyZmxvdycsXG4gICAgICAgIGkxOG5EYXRlTWF4KHRoaXMuX2RhdGVBZGFwdGVyLmZvcm1hdCh0aGlzLm1heCwgeyB3ZWVrZGF5U3R5bGU6ICdub25lJyB9KSlbXG4gICAgICAgICAgdGhpcy5sYW5ndWFnZS5jdXJyZW50XG4gICAgICAgIF0sXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRlRmlsdGVyICYmICF0aGlzLmRhdGVGaWx0ZXIodGhpcy52YWx1ZUFzRGF0ZSkpIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCdzYmJEYXRlRmlsdGVyJywgaTE4bkRhdGVJbnZhbGlkW3RoaXMubGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9yZW1vdmVWYWxpZGl0eUVycm9ycygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZVZhbGlkaXR5RXJyb3JzKCk6IHZvaWQge1xuICAgIChbJ2JhZElucHV0JywgJ3JhbmdlVW5kZXJmbG93JywgJ3JhbmdlT3ZlcmZsb3cnLCAnc2JiRGF0ZUZpbHRlciddIGFzIGNvbnN0KS5mb3JFYWNoKChmKSA9PlxuICAgICAgdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoZiksXG4gICAgKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRhdGUtaW5wdXQnOiBTYmJEYXRlSW5wdXRFbGVtZW50O1xuICB9XG5cbiAgaW50ZXJmYWNlIEN1c3RvbVZhbGlkaXR5U3RhdGUge1xuICAgIHNiYkRhdGVGaWx0ZXI6IGJvb2xlYW47XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1CQSxPQUFPLE9BQU8sY0FBYyxXQUFXO0FBQUEsRUFDckMsSUFBSSxnQkFBYTtBQUNmLFdBQU87QUFBQSxFQUNUO0FBQ0QsQ0FBQTtJQWVLLHVCQUFtQixNQUFBOzswQkFEeEIsY0FBYyxnQkFBZ0IsQ0FBQzs7OztvQkFDWSw0QkFBNEIsVUFBVTs7Ozs7Ozs7Ozs7OztBQUE5QyxFQUFBLG1CQUFRLFlBQXVDO0FBQUEsSUFrSGpGLGNBQUE7QUFDRSxZQUFBO0FBaERGO0FBUUE7QUFxQkE7QUE3Q1EsV0FBQSxlQW5ESjtBQW1FWSx5QkFBQSx1QkFBQSxrQkFBQSxNQUFBLG1CQUFnQixJQUFJO0FBUXBCLHlCQUFBLHdCQUFBLGtCQUFBLE1BQUEsc0JBQUEsR0FBQSxrQkFBQSxNQUFBLG1CQUFnQixJQUFJO0FBcUJwQix5QkFBQSxpQ0FBQSxrQkFBQSxNQUFBLHNCQUFBLEdBQUEsa0JBQUEsTUFBQSw0QkFBaUMsT0FBTztBQU1oRCxXQUFBLGNBQVcsa0JBQUEsTUFBQSwrQkFBQTtBQUNYLFdBQUEsZUFBK0IsV0FBQSxFQUFhLFVBQVUsZUFBZTtBQUNyRSxXQUFBLHNCQUFzQjtBQStCdEIsV0FBQSxjQUEyQyxNQUFNO0FBbkJ2RCxXQUFLLG1CQUFtQixVQUFVLE1BQU0sS0FBSywwQkFBMEIsRUFBRSxTQUFTLE1B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
|
|
291
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGlzU2VydmVyLCBMaXRFbGVtZW50LCB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24gfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHJlYWRDb25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyB0eXBlIERhdGVBZGFwdGVyLCBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi9jb3JlL2RhdGV0aW1lLmpzJztcbmltcG9ydCB7IHBsYWluRGF0ZSwgcGxhaW5EYXRlQ29udmVydGVyIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7XG4gIGkxOG5EYXRlSW52YWxpZCxcbiAgaTE4bkRhdGVNYXgsXG4gIGkxOG5EYXRlTWluLFxuICBpMThuRGF0ZVBpY2tlclBsYWNlaG9sZGVyLFxufSBmcm9tICcuLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEYXRlcGlja2VyRWxlbWVudCB9IGZyb20gJy4uL2RhdGVwaWNrZXIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kYXRlLWlucHV0LnNjc3M/bGl0JmlubGluZSc7XG5cbi8vIEFzIGRvY3VtZW50ZWQgaW4gZm9ybS1hc3NvY2lhdGVkLW1peGluLnRzLCB3ZSBleHRlbmQgdGhlIHByb3RvdHlwZSBvZlxuLy8gVmFsaWRpdHlTdGF0ZSB3aXRoIGN1c3RvbSBlcnJvciBzdGF0ZXMgZm9yIHRoZSBkYXRlIGlucHV0LlxuT2JqZWN0LmFzc2lnbihWYWxpZGl0eVN0YXRlLnByb3RvdHlwZSwge1xuICBnZXQgc2JiRGF0ZUZpbHRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0sXG59KTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGVsZW1lbnRzIHRoYXQgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBhIGRhdGUgaW5wdXQuXG4gKiBJbXBsZW1lbnRpbmcgY2xhc3NlcyBtdXN0IGFsc28gaGF2ZSBhIHN0YXRpYyBwcm9wZXJ0eSBgc2JiRGF0ZUlucHV0QXNzb2NpYXRlZGAgc2V0IHRvIGB0cnVlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYmJEYXRlSW5wdXRBc3NvY2lhdGVkPFQ+IHtcbiAgaW5wdXQ6IFNiYkRhdGVJbnB1dEVsZW1lbnQ8VD4gfCBudWxsO1xufVxuXG4vKipcbiAqIEN1c3RvbSBpbnB1dCBmb3IgYSBkYXRlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItZGF0ZS1pbnB1dCcpXG5jbGFzcyBTYmJEYXRlSW5wdXRFbGVtZW50PFQgPSBEYXRlPiBleHRlbmRzIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIGRhdGUgaW5wdXQuIFJlZmxlY3RzIHRoZSBjdXJyZW50IHRleHQgdmFsdWVcbiAgICogb2YgdGhpcyBpbnB1dC5cbiAgICogVGhlIGF0dHJpYnV0ZSBgdmFsdWVgIEFjY2VwdHMgSVNPODYwMSBmb3JtYXR0ZWQgdmFsdWVzLCB3aGljaCB3aWxsIGJlXG4gICAqIGZvcm1hdHRlZCBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbG9jYWxlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdHJ5UGFyc2VWYWx1ZSh2YWx1ZSk7XG4gICAgLy8gQXMgbG9uZyBhcyB0aGlzIGVsZW1lbnQgaGFzIGZvY3VzIHdlIGRlbGF5IGF1dG9tYXRpY2FsbHkgdXBkYXRpbmdcbiAgICAvLyB0aGUgdmFsdWUgd2l0aCB0aGUgZm9ybWF0dGVkIHN0cmluZyBvZiB0aGUgcGFyc2VkIGRhdGUuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAhdGhpcy5tYXRjaGVzKCc6Zm9jdXMnKSAmJiB0aGlzLnZhbHVlQXNEYXRlICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuX2Zvcm1hdERhdGUoKTtcbiAgICB9XG4gICAgc3VwZXIudmFsdWUgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN1cGVyLnZhbHVlID8/ICcnO1xuICB9XG5cbiAgLyoqIEZvcm1hdHMgdGhlIGN1cnJlbnQgaW5wdXQncyB2YWx1ZSBhcyBkYXRlLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gIHB1YmxpYyBzZXQgdmFsdWVBc0RhdGUodmFsdWU6IFQgfCBudWxsKSB7XG4gICAgdmFsdWUgPSB0aGlzLl9kYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwodGhpcy5fZGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpKTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZUFzRGF0ZSA9IG51bGw7XG4gICAgICB0aGlzLl92YWx1ZUNhY2hlID0gWycnLCBudWxsXTtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgIXRoaXMuX2RhdGVBZGFwdGVyLmlzRGF0ZUluc3RhbmNlKHRoaXMuX3ZhbHVlQXNEYXRlKSB8fFxuICAgICAgdGhpcy5fZGF0ZUFkYXB0ZXIuY29tcGFyZURhdGUodGhpcy5fdmFsdWVBc0RhdGUhLCB2YWx1ZSEpICE9PSAwXG4gICAgKSB7XG4gICAgICAvLyBBbGlnbiB3aXRoIHRoZSBuYXRpdmUgZGF0ZSBpbnB1dCwgYXMgaXQgY29waWVzIHRoZSB2YWx1ZSBvZlxuICAgICAgLy8gdGhlIGdpdmVuIGRhdGUgd2l0aG91dCB0aGUgdGltZSBhbmQgZG9lcyBub3QgcmV0YWluIHRoZVxuICAgICAgLy8gb3JpZ2luYWwgaW5zdGFuY2UuXG4gICAgICB0aGlzLl92YWx1ZUFzRGF0ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLmNyZWF0ZURhdGUoXG4gICAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmdldFllYXIodmFsdWUpLFxuICAgICAgICB0aGlzLl9kYXRlQWRhcHRlci5nZXRNb250aCh2YWx1ZSksXG4gICAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmdldERhdGUodmFsdWUpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHN0cmluZ1ZhbHVlID0gdGhpcy5fZm9ybWF0RGF0ZSgpO1xuICAgICAgdGhpcy5fdmFsdWVDYWNoZSA9IFtzdHJpbmdWYWx1ZSwgdGhpcy5fdmFsdWVBc0RhdGVdO1xuICAgICAgdGhpcy52YWx1ZSA9IHN0cmluZ1ZhbHVlO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlQXNEYXRlKCk6IFQgfCBudWxsIHtcbiAgICAvLyBXZSBzaG91bGQgbmV2ZXIgcmV0dXJuIHRoZSBpbnRlcm5hbCBkYXRlIG9iamVjdCBkaXJlY3RseSwgYXMgaXRcbiAgICAvLyBjb3VsZCBiZSBtYW5pcHVsYXRlZCBvdXRzaWRlIG9mIHRoaXMgY2xhc3MuXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlQXNEYXRlID8gdGhpcy5fZGF0ZUFkYXB0ZXIuY2xvbmUodGhpcy5fdmFsdWVBc0RhdGUpIDogbnVsbDtcbiAgfVxuICBwcml2YXRlIF92YWx1ZUFzRGF0ZT86IFQgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBpbnB1dCBpcyBlbXB0eVxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgcHVibGljIGdldCBlbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMudmFsdWUgfHwgdGhpcy52YWx1ZS50cmltKCkgPT09ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHZhbGlkIGRhdGUuIEFjY2VwdHMgYSBkYXRlIG9iamVjdCBvciBudWxsLlxuICAgKiBBY2NlcHRzIGFuIElTTzg2MDEgZm9ybWF0dGVkIHN0cmluZyAoZS5nLiAyMDI0LTEyLTI0KSBhcyBhdHRyaWJ1dGUuXG4gICAqL1xuICBAcGxhaW5EYXRlKClcbiAgQHByb3BlcnR5KHsgY29udmVydGVyOiBwbGFpbkRhdGVDb252ZXJ0ZXIsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG1pbjogVCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB2YWxpZCBkYXRlLiBBY2NlcHRzIGEgZGF0ZSBvYmplY3Qgb3IgbnVsbC5cbiAgICogQWNjZXB0cyBhbiBJU084NjAxIGZvcm1hdHRlZCBzdHJpbmcgKGUuZy4gMjAyNC0xMi0yNCkgYXMgYXR0cmlidXRlLlxuICAgKi9cbiAgQHBsYWluRGF0ZSgpXG4gIEBwcm9wZXJ0eSh7IGNvbnZlcnRlcjogcGxhaW5EYXRlQ29udmVydGVyLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBtYXg6IFQgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB1c2VkIHRvIGZpbHRlciBvdXQgZGF0ZXMuXG4gICAqIEl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHVzZSBtaW4gYW5kIG1heCBkYXRlcyBhbG9uZ3NpZGVcbiAgICogdGhpcyBmaWx0ZXIuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gIHB1YmxpYyBzZXQgZGF0ZUZpbHRlcih2YWx1ZTogKGRhdGU6IFQgfCBudWxsKSA9PiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGF0ZUZpbHRlciA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgZGF0ZUZpbHRlcigpOiAoZGF0ZTogVCB8IG51bGwpID0+IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kYXRlRmlsdGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEhvdyB0byBmb3JtYXQgdGhlIGRpc3BsYXllZCBkYXRlLlxuICAgKiBgc2hvcnRgOiBUd28gbGV0dGVyIGFiYnJldmlhdGlvbiBvZiB0aGUgd2VlayBkYXkgKGUuZy4gRnIpLlxuICAgKiBgbm9uZWA6IFRoZSB3ZWVrZGF5IGlzIG5vdCBkaXNwbGF5ZWQuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd3ZWVrZGF5LXN0eWxlJyB9KVxuICBwdWJsaWMgYWNjZXNzb3Igd2Vla2RheVN0eWxlOiAnc2hvcnQnIHwgJ25vbmUnID0gJ3Nob3J0JztcblxuICAvKipcbiAgICogU3RvcmVzIHRoZSBsYXN0IHN0cmluZyBhbmQgcGFyc2VkIGRhdGUgb2JqZWN0IHZhbHVlIHRvIHByZXZlbnQgcmVwZWF0ZWRcbiAgICogcGFyc2luZyBvZiB0aGUgc3RyaW5nIHZhbHVlLlxuICAgKi9cbiAgcHJpdmF0ZSBfdmFsdWVDYWNoZT86IFtzdHJpbmcsIFQgfCBudWxsXTtcbiAgcHJpdmF0ZSBfZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPFQ+ID0gcmVhZENvbmZpZygpLmRhdGV0aW1lPy5kYXRlQWRhcHRlciA/PyBkZWZhdWx0RGF0ZUFkYXB0ZXI7XG4gIHByaXZhdGUgX3BsYWNlaG9sZGVyTXV0YWJsZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBhc3NvY2lhdGVkIGRhdGVwaWNrZXIsIGlmIGFueS5cbiAgICogVGhlIHNiYi1kYXRlLWlucHV0IGFuZCB0aGUgc2JiLWRhdGVwaWNrZXIgYXJlIGFzc3VtZWQgdG8gYmUgaW4gdGhlIHNhbWUgcGFyZW50IGNvbnRhaW5lci5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGF0ZXBpY2tlcigpOiBTYmJEYXRlcGlja2VyRWxlbWVudDxUPiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnBhcmVudEVsZW1lbnQhLnF1ZXJ5U2VsZWN0b3I8U2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4+KCdzYmItZGF0ZXBpY2tlcicpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NoYW5nZScsICgpID0+IHRoaXMuX3VwZGF0ZVZhbHVlRGF0ZUZvcm1hdCgpLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXR0ZW1wdHMgdG8gcmVzb2x2ZSB0aGUgYXNzb2NpYXRlZCBkYXRlIGlucHV0IHdpdGggdGhlIGdpdmVuIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlc29sdmVBc3NvY2lhdGlvbjxUPihob3N0OiBIVE1MRWxlbWVudCAmIFNiYkRhdGVJbnB1dEFzc29jaWF0ZWQ8VD4pOiB2b2lkIHtcbiAgICBpZiAoaG9zdC5oYXNBdHRyaWJ1dGUoJ2lucHV0JykgfHwgaG9zdC5pbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlucHV0ID0gaG9zdFxuICAgICAgLmNsb3Nlc3QoJ3NiYi1mb3JtLWZpZWxkJylcbiAgICAgID8ucXVlcnlTZWxlY3RvcjxTYmJEYXRlSW5wdXRFbGVtZW50PFQ+Pignc2JiLWRhdGUtaW5wdXQnKTtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIGhvc3QuaW5wdXQgPSBpbnB1dDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kYXRlRmlsdGVyOiAoZGF0ZTogVCB8IG51bGwpID0+IGJvb2xlYW4gPSAoKSA9PiB0cnVlO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGlmICghdGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgdGhpcy5fcGxhY2Vob2xkZXJNdXRhYmxlID0gdHJ1ZTtcbiAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSBpMThuRGF0ZVBpY2tlclBsYWNlaG9sZGVyW3RoaXMubGFuZ3VhZ2UuY3VycmVudF07XG4gICAgfVxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgQXJyYXkuZnJvbSh0aGlzLmNsb3Nlc3QoJ3NiYi1mb3JtLWZpZWxkJyk/LmNoaWxkcmVuID8/IFtdKSkge1xuICAgICAgLy8gRWxlbWVudHMgbXVzdCBiZSB1cGdyYWRlZCBpbiBvcmRlciBmb3IgdGhlIGNvbnN0cnVjdG9yIHRvIGJlIGFjY2Vzc2libGUuXG4gICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlPy4oY2hpbGQpO1xuICAgICAgaWYgKFxuICAgICAgICAoY2hpbGQuY29uc3RydWN0b3IgYXMgeyBzYmJEYXRlSW5wdXRBc3NvY2lhdGVkPzogYm9vbGVhbiB9KS5zYmJEYXRlSW5wdXRBc3NvY2lhdGVkICYmXG4gICAgICAgICFjaGlsZC5oYXNBdHRyaWJ1dGUoJ2lucHV0JykgJiZcbiAgICAgICAgIShjaGlsZCBhcyBQYXJ0aWFsPFNiYkRhdGVJbnB1dEFzc29jaWF0ZWQ8VD4+KS5pbnB1dFxuICAgICAgKSB7XG4gICAgICAgIChjaGlsZCBhcyBQYXJ0aWFsPFNiYkRhdGVJbnB1dEFzc29jaWF0ZWQ8VD4+KS5pbnB1dCA9IHRoaXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCAmJiAhbmFtZSkge1xuICAgICAgdGhpcy5fdXBkYXRlVmFsdWVEYXRlRm9ybWF0KCk7XG4gICAgICBpZiAodGhpcy5fcGxhY2Vob2xkZXJNdXRhYmxlKSB7XG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSBpMThuRGF0ZVBpY2tlclBsYWNlaG9sZGVyW3RoaXMubGFuZ3VhZ2UuY3VycmVudF07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAnd2Vla2RheVN0eWxlJykge1xuICAgICAgdGhpcy5fdXBkYXRlVmFsdWVEYXRlRm9ybWF0KCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzQ29ubmVjdGVkKSB7XG4gICAgICAvLyBVc2VkIHRvIG5vdGlmeSBhc3NvY2lhdGVkIGNvbXBvbmVudHMgdG8gdXBkYXRlIHN0YXRlXG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtWNoYW5nZScpKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMuX3RyeVBhcnNlVmFsdWUoKTtcbiAgICBjb25zdCBmb3JtVmFsdWUgPVxuICAgICAgdGhpcy52YWx1ZUFzRGF0ZSAhPT0gbnVsbCA/IHRoaXMuX2RhdGVBZGFwdGVyLnRvSXNvODYwMSh0aGlzLnZhbHVlQXNEYXRlKSA6IG51bGw7XG4gICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKGZvcm1WYWx1ZSwgdGhpcy52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF90cnlQYXJzZVZhbHVlKHZhbHVlID0gdGhpcy52YWx1ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl92YWx1ZUNhY2hlPy5bMF0gIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZUFzRGF0ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLnBhcnNlKHZhbHVlKTtcbiAgICAgIHRoaXMuX3ZhbHVlQ2FjaGUgPSBbdmFsdWUsIHRoaXMuX3ZhbHVlQXNEYXRlXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWYWx1ZURhdGVGb3JtYXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsdWVBc0RhdGUpIHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSB0aGlzLl9mb3JtYXREYXRlKCk7XG4gICAgICBpZiAodGhpcy52YWx1ZSAhPT0gZm9ybWF0dGVkRGF0ZSkge1xuICAgICAgICBzdXBlci52YWx1ZSA9IGZvcm1hdHRlZERhdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZm9ybWF0RGF0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kYXRlQWRhcHRlci5mb3JtYXQodGhpcy52YWx1ZUFzRGF0ZSwgeyB3ZWVrZGF5U3R5bGU6IHRoaXMud2Vla2RheVN0eWxlIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNob3VsZFZhbGlkYXRlKG5hbWU6IFByb3BlcnR5S2V5IHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHN1cGVyLnNob3VsZFZhbGlkYXRlKG5hbWUpIHx8XG4gICAgICBbJ3ZhbHVlQXNEYXRlJywgJ21pbicsICdtYXgnLCAnZGF0ZUZpbHRlciddLmluY2x1ZGVzKG5hbWUgYXMgc3RyaW5nKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgc3VwZXIudmFsaWRhdGUoKTtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMuX3JlbW92ZVZhbGlkaXR5RXJyb3JzKCk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5fZGF0ZUFkYXB0ZXIuaXNWYWxpZCh0aGlzLnZhbHVlQXNEYXRlKSkge1xuICAgICAgdGhpcy5zZXRWYWxpZGl0eUZsYWcoJ2JhZElucHV0JywgaTE4bkRhdGVJbnZhbGlkW3RoaXMubGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0aGlzLl9kYXRlQWRhcHRlci5pc1ZhbGlkKHRoaXMubWluKSAmJlxuICAgICAgdGhpcy5fZGF0ZUFkYXB0ZXIuY29tcGFyZURhdGUodGhpcy5taW4sIHRoaXMudmFsdWVBc0RhdGUpID4gMFxuICAgICkge1xuICAgICAgdGhpcy5zZXRWYWxpZGl0eUZsYWcoXG4gICAgICAgICdyYW5nZVVuZGVyZmxvdycsXG4gICAgICAgIGkxOG5EYXRlTWluKHRoaXMuX2RhdGVBZGFwdGVyLmZvcm1hdCh0aGlzLm1pbiwgeyB3ZWVrZGF5U3R5bGU6ICdub25lJyB9KSlbXG4gICAgICAgICAgdGhpcy5sYW5ndWFnZS5jdXJyZW50XG4gICAgICAgIF0sXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0aGlzLl9kYXRlQWRhcHRlci5pc1ZhbGlkKHRoaXMubWF4KSAmJlxuICAgICAgdGhpcy5fZGF0ZUFkYXB0ZXIuY29tcGFyZURhdGUodGhpcy52YWx1ZUFzRGF0ZSwgdGhpcy5tYXgpID4gMFxuICAgICkge1xuICAgICAgdGhpcy5zZXRWYWxpZGl0eUZsYWcoXG4gICAgICAgICdyYW5nZU92ZXJmbG93JyxcbiAgICAgICAgaTE4bkRhdGVNYXgodGhpcy5fZGF0ZUFkYXB0ZXIuZm9ybWF0KHRoaXMubWF4LCB7IHdlZWtkYXlTdHlsZTogJ25vbmUnIH0pKVtcbiAgICAgICAgICB0aGlzLmxhbmd1YWdlLmN1cnJlbnRcbiAgICAgICAgXSxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRhdGVGaWx0ZXIgJiYgIXRoaXMuZGF0ZUZpbHRlcih0aGlzLnZhbHVlQXNEYXRlKSkge1xuICAgICAgdGhpcy5zZXRWYWxpZGl0eUZsYWcoJ3NiYkRhdGVGaWx0ZXInLCBpMThuRGF0ZUludmFsaWRbdGhpcy5sYW5ndWFnZS5jdXJyZW50XSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3JlbW92ZVZhbGlkaXR5RXJyb3JzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlVmFsaWRpdHlFcnJvcnMoKTogdm9pZCB7XG4gICAgKFsnYmFkSW5wdXQnLCAncmFuZ2VVbmRlcmZsb3cnLCAncmFuZ2VPdmVyZmxvdycsICdzYmJEYXRlRmlsdGVyJ10gYXMgY29uc3QpLmZvckVhY2goKGYpID0+XG4gICAgICB0aGlzLnJlbW92ZVZhbGlkaXR5RmxhZyhmKSxcbiAgICApO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGF0ZS1pbnB1dCc6IFNiYkRhdGVJbnB1dEVsZW1lbnQ7XG4gIH1cblxuICBpbnRlcmZhY2UgQ3VzdG9tVmFsaWRpdHlTdGF0ZSB7XG4gICAgc2JiRGF0ZUZpbHRlcjogYm9vbGVhbjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUJBLE9BQU8sT0FBTyxjQUFjLFdBQVc7QUFBQSxFQUNyQyxJQUFJLGdCQUFhO0FBQ2YsV0FBTztBQUFBLEVBQ1Q7QUFDRCxDQUFBO0lBZUssdUJBQW1CLE1BQUE7OzBCQUR4QixjQUFjLGdCQUFnQixDQUFDOzs7O29CQUNZLDRCQUE0QixVQUFVOzs7Ozs7Ozs7Ozs7O0FBQTlDLEVBQUEsbUJBQVEsWUFBdUM7QUFBQSxJQW1IakYsY0FBQTtBQUNFLFlBQUE7QUFoREY7QUFRQTtBQXFCQTtBQTdDUSxXQUFBLGVBcERKO0FBb0VZLHlCQUFBLHVCQUFBLGtCQUFBLE1BQUEsbUJBQWdCLElBQUk7QUFRcEIseUJBQUEsd0JBQUEsa0JBQUEsTUFBQSxzQkFBQSxHQUFBLGtCQUFBLE1BQUEsbUJBQWdCLElBQUk7QUFxQnBCLHlCQUFBLGlDQUFBLGtCQUFBLE1BQUEsc0JBQUEsR0FBQSxrQkFBQSxNQUFBLDRCQUFpQyxPQUFPO0FBTWhELFdBQUEsY0FBVyxrQkFBQSxNQUFBLCtCQUFBO0FBQ1gsV0FBQSxlQUErQixXQUFBLEVBQWEsVUFBVSxlQUFlO0FBQ3JFLFdBQUEsc0JBQXNCO0FBK0J0QixXQUFBLGNBQTJDLE1BQU07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
|
package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js
CHANGED
|
@@ -13,7 +13,7 @@ const style = css`*,
|
|
|
13
13
|
|
|
14
14
|
:host {
|
|
15
15
|
display: block;
|
|
16
|
-
--sbb-expansion-panel-header-cursor: pointer;
|
|
16
|
+
--sbb-expansion-panel-header-cursor: var(--sbb-cursor-pointer);
|
|
17
17
|
--sbb-expansion-panel-header-text-color: var(--sbb-color-2);
|
|
18
18
|
--sbb-expansion-panel-header-gap: var(--sbb-spacing-fixed-6x);
|
|
19
19
|
--sbb-expansion-panel-header-justify-content: space-between;
|
|
@@ -33,7 +33,7 @@ const style = css`*,
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
:host(:is(:disabled, [disabled-interactive])) {
|
|
36
|
-
--sbb-expansion-panel-header-cursor: default;
|
|
36
|
+
--sbb-expansion-panel-header-cursor: var(--sbb-cursor-default);
|
|
37
37
|
--sbb-expansion-panel-header-text-color: var(--sbb-color-granite);
|
|
38
38
|
--sbb-expansion-panel-header-text-color: light-dark(
|
|
39
39
|
var(--sbb-color-granite),
|
|
@@ -100,7 +100,7 @@ const style = css`*,
|
|
|
100
100
|
border-radius: var(--sbb-flip-card-border-radius);
|
|
101
101
|
transition: all var(--sbb-flip-card-summary-transition-duration) ease-out, min-height var(--sbb-flip-card-details-transition-duration);
|
|
102
102
|
transition-delay: var(--sbb-flip-card-summary-transition-delay);
|
|
103
|
-
cursor: pointer;
|
|
103
|
+
cursor: var(--sbb-cursor-pointer);
|
|
104
104
|
}
|
|
105
105
|
:host([data-flipped]) .sbb-flip-card {
|
|
106
106
|
min-height: max(var(--sbb-flip-card-min-height), var(--sbb-flip-card-details-height));
|
|
@@ -174,7 +174,7 @@ const style = css`*,
|
|
|
174
174
|
inset: 0;
|
|
175
175
|
width: 100%;
|
|
176
176
|
border-radius: var(--sbb-flip-card-border-radius);
|
|
177
|
-
cursor: pointer;
|
|
177
|
+
cursor: var(--sbb-cursor-pointer);
|
|
178
178
|
}
|
|
179
179
|
.sbb-flip-card-button:focus-visible {
|
|
180
180
|
outline-offset: var(--sbb-focus-outline-offset);
|
|
@@ -342,7 +342,7 @@ const style = css`@charset "UTF-8";
|
|
|
342
342
|
.sbb-form-field__label {
|
|
343
343
|
display: flex;
|
|
344
344
|
max-width: 100%;
|
|
345
|
-
cursor: default;
|
|
345
|
+
cursor: var(--sbb-cursor-default);
|
|
346
346
|
position: absolute;
|
|
347
347
|
inset-block-start: 0;
|
|
348
348
|
color: var(--sbb-form-field-label-color);
|
|
@@ -109,7 +109,7 @@ const style = css`*,
|
|
|
109
109
|
min-height: var(--sbb-header-action-min-height);
|
|
110
110
|
min-width: var(--sbb-header-action-min-width);
|
|
111
111
|
padding-inline: var(--sbb-header-action-padding-inline-zero, var(--sbb-header-action-padding-inline));
|
|
112
|
-
cursor: pointer;
|
|
112
|
+
cursor: var(--sbb-cursor-pointer);
|
|
113
113
|
user-select: none;
|
|
114
114
|
outline: none;
|
|
115
115
|
}
|
|
@@ -67,7 +67,7 @@ const iconSidebarButtonCommon = css`*,
|
|
|
67
67
|
@media (any-hover: hover) {
|
|
68
68
|
:host(:not(:active, [data-active]):hover) {
|
|
69
69
|
--sbb-icon-sidebar-button__hover-shift: 0.0625rem;
|
|
70
|
-
--sbb-icon-sidebar-button__cursor: pointer;
|
|
70
|
+
--sbb-icon-sidebar-button__cursor: var(--sbb-cursor-pointer);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
|
|
@@ -108,4 +108,4 @@ export {
|
|
|
108
108
|
iconSidebarButtonCommon as i,
|
|
109
109
|
sidebarContainerCommon as s
|
|
110
110
|
};
|
|
111
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
111
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zaWRlYmFyLWJ1dHRvbi1jb21tb24tQ2FPVi1uOEUuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7In0=
|
|
@@ -9,7 +9,7 @@ import { __esDecorate, __runInitializers } from "tslib";
|
|
|
9
9
|
import { property } from "lit/decorators.js";
|
|
10
10
|
import { html } from "lit/static-html.js";
|
|
11
11
|
import { SbbIconNameMixin } from "../../icon.js";
|
|
12
|
-
import { S as SbbLinkCommonElementMixin, s as style } from "../../link-common-
|
|
12
|
+
import { S as SbbLinkCommonElementMixin, s as style } from "../../link-common-B9KyXHCd.js";
|
|
13
13
|
import { css } from "lit";
|
|
14
14
|
const blockStyle = css`:host {
|
|
15
15
|
--sbb-link-color-hover: var(--sbb-color-primary125);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as SbbLinkCommonElementMixin, s as style } from "../../link-common-
|
|
1
|
+
import { S as SbbLinkCommonElementMixin, s as style } from "../../link-common-B9KyXHCd.js";
|
|
2
2
|
import { css } from "lit";
|
|
3
3
|
const inlineStyle = css`:host {
|
|
4
4
|
font-family: inherit;
|
|
@@ -4,7 +4,7 @@ import "lit/static-html.js";
|
|
|
4
4
|
import "../../core/decorators.js";
|
|
5
5
|
import "../../core/dom.js";
|
|
6
6
|
import "../../core/mixins.js";
|
|
7
|
-
import { S } from "../../link-common-
|
|
7
|
+
import { S } from "../../link-common-B9KyXHCd.js";
|
|
8
8
|
export {
|
|
9
9
|
S as SbbLinkCommonElementMixin
|
|
10
10
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SbbBlockLinkCommonElementMixin } from "./common/block-link-common.js";
|
|
2
2
|
import { SbbInlineLinkCommonElementMixin } from "./common/inline-link-common.js";
|
|
3
|
-
import { S } from "../link-common-
|
|
3
|
+
import { S } from "../link-common-B9KyXHCd.js";
|
|
4
4
|
export {
|
|
5
5
|
SbbBlockLinkCommonElementMixin,
|
|
6
6
|
SbbInlineLinkCommonElementMixin,
|
|
@@ -46,13 +46,13 @@ const style = css`*,
|
|
|
46
46
|
display: flex;
|
|
47
47
|
align-items: center;
|
|
48
48
|
width: 100%;
|
|
49
|
-
cursor: pointer;
|
|
49
|
+
cursor: var(--sbb-cursor-pointer);
|
|
50
50
|
padding: var(--sbb-link-padding, 0);
|
|
51
51
|
outline: none;
|
|
52
52
|
}
|
|
53
53
|
:host(:is([disabled], :disabled, [disabled-interactive])) .sbb-action-base {
|
|
54
54
|
pointer-events: none;
|
|
55
|
-
cursor: default;
|
|
55
|
+
cursor: var(--sbb-cursor-default);
|
|
56
56
|
}
|
|
57
57
|
@media (forced-colors: active) {
|
|
58
58
|
:host(:is([disabled], :disabled, [disabled-interactive])) .sbb-action-base {
|
|
@@ -122,4 +122,4 @@ export {
|
|
|
122
122
|
SbbLinkCommonElementMixin as S,
|
|
123
123
|
style as s
|
|
124
124
|
};
|
|
125
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
125
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jb21tb24tQjlLeVhIQ2QuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9saW5rL2NvbW1vbi9saW5rLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkFjdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzLCBzbG90U3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgU2JiTmVnYXRpdmVNaXhpbiwgdHlwZSBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9saW5rLnNjc3M/bGl0JmlubGluZSc7XG5cbmV4cG9ydCB0eXBlIFNiYkxpbmtTaXplID0gJ3hzJyB8ICdzJyB8ICdtJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGUgZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKFNiYkFjdGlvbkJhc2VFbGVtZW50KSB7XG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiBTYmJMaW5rU2l6ZTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiQWN0aW9uQmFzZUVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIEBob3N0QXR0cmlidXRlcyh7ICdkYXRhLXNiYi1saW5rJzogJycgfSlcbiAgQHNsb3RTdGF0ZSgpXG4gIGFic3RyYWN0IGNsYXNzIFNiYkxpbmtDb21tb25FbGVtZW50XG4gICAgZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKHN1cGVyQ2xhc3MpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgICAvKipcbiAgICAgKiBUZXh0IHNpemUsIHRoZSBsaW5rIHNob3VsZCBnZXQgaW4gdGhlIG5vbi1idXR0b24gdmFyaWF0aW9uLlxuICAgICAqIFdpdGggaW5saW5lIHZhcmlhbnQsIHRoZSB0ZXh0IHNpemUgYWRhcHRzIHRvIHdoZXJlIGl0IGlzIHVzZWQuXG4gICAgICogQGRlZmF1bHQgJ3MnIC8gJ3hzJyAobGVhbilcbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiBTYmJMaW5rU2l6ZSA9IGlzTGVhbigpID8gJ3hzJyA6ICdzJztcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGA8c2xvdD48L3Nsb3Q+YDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkxpbmtDb21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQk8sTUFBTSw0QkFBNEIsQ0FDdkMsZUFDMEQ7TUFHM0Msd0JBQW9CLE1BQUE7OzRCQUZsQyxlQUFlLEVBQUUsaUJBQWlCLEdBQUEsQ0FBSSxHQUN0QyxXQUFXOzs7O3NCQUVGLGlCQUFpQixVQUFVOzs7O0FBQW5DLElBQUEsbUJBQVEsWUFBNEI7QUFBQTs7QUFVUCxtREFBQSxrQkFBQSxNQUFBLG9CQUFvQyxPQUFBLElBQVcsT0FBTyxHQUFHOzs7Ozs7OztNQUF6RCxJQUFnQixPQUFJO0FBQUEsZUFBQSxtQkFBQTtBQUFBLE1BQUE7QUFBQSxNQUFwQixJQUFnQixLQUFJLE9BQUE7QUFBQSwyQkFBQSx3QkFBQTtBQUFBLE1BQUE7QUFBQSxNQUU5QixpQkFBYztBQUMvQixlQUFPO0FBQUEsTUFDVDtBQUFBLE9BSjZCOztBQUE1Qix5QkFBQSxDQUFBLFNBQVMsRUFBRSxTQUFTLEtBQUEsQ0FBTSxDQUFDO0FBQUMsbUJBQUEsSUFBQSxNQUFBLGtCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsUUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxVQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsTUFBSSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsWUFBSixPQUFJO0FBQUEsTUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLG9CQUFBLHVCQUFBO0FBWG5ELG1CQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7VUFJZ0IsR0FBQSxTQUF5QixPQUoxQixrQkFBQSxZQUFBLHVCQUFBLEdBQ2I7OztBQWdCRixTQUFPO0FBQ1Q7In0=
|
package/development/link.js
CHANGED
|
@@ -6,7 +6,7 @@ import { SbbLinkButtonElement } from "./link/link-button/link-button.component.j
|
|
|
6
6
|
import { SbbLinkStaticElement } from "./link/link-static/link-static.component.js";
|
|
7
7
|
import { SbbBlockLinkCommonElementMixin } from "./link/common/block-link-common.js";
|
|
8
8
|
import { SbbInlineLinkCommonElementMixin } from "./link/common/inline-link-common.js";
|
|
9
|
-
import { S } from "./link-common-
|
|
9
|
+
import { S } from "./link-common-B9KyXHCd.js";
|
|
10
10
|
export {
|
|
11
11
|
SbbBlockLinkButtonElement,
|
|
12
12
|
SbbBlockLinkCommonElementMixin,
|
|
@@ -16,7 +16,7 @@ const style = css`*,
|
|
|
16
16
|
--sbb-menu-action-outer-horizontal-padding: var(--sbb-spacing-fixed-3x);
|
|
17
17
|
--sbb-menu-action-outer-vertical-padding: var(--sbb-spacing-fixed-1x);
|
|
18
18
|
--sbb-menu-action-gap: var(--sbb-spacing-fixed-2x);
|
|
19
|
-
--sbb-menu-action-cursor: pointer;
|
|
19
|
+
--sbb-menu-action-cursor: var(--sbb-cursor-pointer);
|
|
20
20
|
--sbb-menu-action-color: var(--sbb-color-2-inverted);
|
|
21
21
|
--sbb-menu-action-forced-color-border-color: CanvasText;
|
|
22
22
|
--sbb-menu-action-content-padding-inline: var(--sbb-spacing-fixed-2x);
|
|
@@ -33,12 +33,12 @@ const style = css`*,
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
:host(:is([disabled], :disabled, [disabled-interactive])) {
|
|
36
|
-
--sbb-menu-action-cursor: default;
|
|
36
|
+
--sbb-menu-action-cursor: var(--sbb-cursor-default);
|
|
37
37
|
--sbb-menu-action-color: var(--sbb-color-graphite);
|
|
38
38
|
--sbb-menu-action-color: light-dark(var(--sbb-color-graphite), var(--sbb-color-granite));
|
|
39
39
|
--sbb-menu-action-forced-color-border-color: GrayText;
|
|
40
40
|
pointer-events: none;
|
|
41
|
-
cursor: default;
|
|
41
|
+
cursor: var(--sbb-cursor-default);
|
|
42
42
|
}
|
|
43
43
|
@media (forced-colors: active) {
|
|
44
44
|
:host(:is([disabled], :disabled, [disabled-interactive])) {
|
|
@@ -47,7 +47,7 @@ const style = css`*,
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
:host([data-sbb-menu-trigger]) {
|
|
50
|
-
--sbb-menu-action-cursor: default;
|
|
50
|
+
--sbb-menu-action-cursor: var(--sbb-cursor-default);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
@media (forced-colors: active) {
|
|
@@ -65,7 +65,7 @@ sbb-icon {
|
|
|
65
65
|
line-height: var(--sbb-title-line-height, var(--sbb-typo-line-height-titles));
|
|
66
66
|
letter-spacing: var(--sbb-typo-letter-spacing-titles);
|
|
67
67
|
font-size: var(--sbb-title-font-size);
|
|
68
|
-
cursor: pointer;
|
|
68
|
+
cursor: var(--sbb-cursor-pointer);
|
|
69
69
|
position: relative;
|
|
70
70
|
text-decoration: none;
|
|
71
71
|
display: flex;
|
|
@@ -21,7 +21,7 @@ const style = css`*,
|
|
|
21
21
|
--sbb-option-min-height: var(--sbb-size-element-s);
|
|
22
22
|
--sbb-option-column-gap: var(--sbb-spacing-responsive-xxxs);
|
|
23
23
|
--sbb-option-justify-content: start;
|
|
24
|
-
--sbb-option-cursor: pointer;
|
|
24
|
+
--sbb-option-cursor: var(--sbb-cursor-pointer);
|
|
25
25
|
--sbb-option-border-radius: var(--sbb-border-radius-4x);
|
|
26
26
|
--sbb-option-icon-color: var(--sbb-color-metal);
|
|
27
27
|
--sbb-option-icon-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));
|
|
@@ -55,7 +55,7 @@ const style = css`*,
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
:host(:is([data-group-disabled], [disabled])) {
|
|
58
|
-
--sbb-option-cursor: default;
|
|
58
|
+
--sbb-option-cursor: var(--sbb-cursor-default);
|
|
59
59
|
}
|
|
60
60
|
@media (forced-colors: active) {
|
|
61
61
|
:host(:is([data-group-disabled], [disabled])) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginator-common.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/common/paginator-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAuB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAItF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AASlE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,6BAA6B,CAAC;AACrC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,kBAAkB,CAAC;;AAE1B,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,kCAAmC,SAAQ,uCAExE;IACC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,aAAa,EAAE,OAAO,GAAG,KAAK,CAAC;IAC/C,SAAgB,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAChC,SAAgB,sBAAsB,EAAE,MAAM,CAAC;IAC/C,SAAgB,8BAA8B,EAAE,MAAM,CAAC;IACvD,SAAgB,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,IAAI,IAAI;IAChB,YAAY,IAAI,IAAI;IACpB,SAAS,IAAI,IAAI;IACjB,QAAQ,IAAI,IAAI;IAChB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC/B,eAAe,IAAI,OAAO;IAC1B,WAAW,IAAI,OAAO;IACtB,aAAa,IAAI,MAAM;IAC9B,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"paginator-common.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/common/paginator-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAuB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAItF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AASlE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,6BAA6B,CAAC;AACrC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,kBAAkB,CAAC;;AAE1B,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,kCAAmC,SAAQ,uCAExE;IACC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,aAAa,EAAE,OAAO,GAAG,KAAK,CAAC;IAC/C,SAAgB,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAChC,SAAgB,sBAAsB,EAAE,MAAM,CAAC;IAC/C,SAAgB,8BAA8B,EAAE,MAAM,CAAC;IACvD,SAAgB,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,IAAI,IAAI;IAChB,YAAY,IAAI,IAAI;IACpB,SAAS,IAAI,IAAI;IACjB,QAAQ,IAAI,IAAI;IAChB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC/B,eAAe,IAAI,OAAO;IAC1B,WAAW,IAAI,OAAO;IACtB,aAAa,IAAI,MAAM;IAC9B,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAE1C,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IACpD,SAAS,CAAC,aAAa,CAAC,iBAAiB,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAC5E,SAAS,CAAC,qBAAqB,IAAI,cAAc;IACjD,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,cAAc;CACrD;AAGD,eAAO,MAAM,8BAA8B,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,EACtF,YAAY,CAAC,KACZ,mBAAmB,CAAC,kCAAkC,CAAC,GAAG,CAoP5D,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,mBAAmB;QAC3B,IAAI,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC;KACjD;CACF"}
|