@sbb-esta/lyne-elements 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion.d.ts +1 -1
- package/accordion/accordion.d.ts.map +1 -1
- package/alert/alert/alert.d.ts +1 -1
- package/alert/alert/alert.d.ts.map +1 -1
- package/button/common/button-common.d.ts.map +1 -1
- package/button/common.js +20 -20
- package/button/mini-button/mini-button.d.ts +0 -1
- package/button/mini-button/mini-button.d.ts.map +1 -1
- package/button/mini-button.js +16 -18
- package/calendar/calendar.d.ts.map +1 -1
- package/calendar.js +22 -20
- package/checkbox/checkbox/checkbox.d.ts +0 -1
- package/checkbox/checkbox/checkbox.d.ts.map +1 -1
- package/checkbox/checkbox-group/checkbox-group.d.ts +0 -1
- package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/checkbox/checkbox-group.js +5 -3
- package/checkbox/checkbox-panel/checkbox-panel.d.ts +0 -1
- package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/checkbox/checkbox-panel.js +12 -11
- package/checkbox/checkbox.js +12 -11
- package/clock/clock.d.ts +19 -13
- package/clock/clock.d.ts.map +1 -1
- package/clock.js +86 -75
- package/core/datetime/date-adapter.d.ts +23 -13
- package/core/datetime/date-adapter.d.ts.map +1 -1
- package/core/datetime/native-date-adapter.d.ts +0 -1
- package/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/core/datetime.js +23 -23
- package/core/decorators/host-attributes.d.ts +1 -1
- package/core/decorators/slot-state.d.ts +18 -0
- package/core/decorators/slot-state.d.ts.map +1 -0
- package/core/decorators.d.ts +1 -0
- package/core/decorators.d.ts.map +1 -1
- package/core/decorators.js +15 -9
- package/core/mixins/hydration-mixin.d.ts.map +1 -1
- package/core/mixins.js +126 -132
- package/core/styles/mixins/buttons.scss +15 -48
- package/custom-elements.json +509 -540
- package/datepicker/common/datepicker-button.d.ts +5 -5
- package/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/datepicker/common.js +21 -20
- package/datepicker/datepicker/datepicker.d.ts +55 -38
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -1
- package/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
- package/datepicker/datepicker-next-day.js +16 -16
- package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -1
- package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
- package/datepicker/datepicker-previous-day.js +14 -14
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +1 -1
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/datepicker/datepicker-toggle.js +25 -23
- package/datepicker/datepicker.js +147 -181
- package/development/accordion/accordion.d.ts +1 -1
- package/development/accordion/accordion.d.ts.map +1 -1
- package/development/accordion.js +1 -1
- package/development/alert/alert/alert.d.ts +1 -1
- package/development/alert/alert/alert.d.ts.map +1 -1
- package/development/alert/alert.js +1 -1
- package/development/button/common/button-common.d.ts.map +1 -1
- package/development/button/common.js +30 -25
- package/development/button/mini-button/mini-button.d.ts +0 -1
- package/development/button/mini-button/mini-button.d.ts.map +1 -1
- package/development/button/mini-button.js +17 -55
- package/development/calendar/calendar.d.ts.map +1 -1
- package/development/calendar.js +4 -2
- package/development/checkbox/checkbox/checkbox.d.ts +0 -1
- package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.d.ts +0 -1
- package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/development/checkbox/checkbox-group.js +6 -5
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +0 -1
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/development/checkbox/checkbox-panel.js +5 -5
- package/development/checkbox/checkbox.js +5 -5
- package/development/clock/clock.d.ts +19 -13
- package/development/clock/clock.d.ts.map +1 -1
- package/development/clock.js +85 -80
- package/development/core/datetime/date-adapter.d.ts +23 -13
- package/development/core/datetime/date-adapter.d.ts.map +1 -1
- package/development/core/datetime/native-date-adapter.d.ts +0 -1
- package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/development/core/datetime.js +28 -26
- package/development/core/decorators/host-attributes.d.ts +1 -1
- package/development/core/decorators/slot-state.d.ts +18 -0
- package/development/core/decorators/slot-state.d.ts.map +1 -0
- package/development/core/decorators.d.ts +1 -0
- package/development/core/decorators.d.ts.map +1 -1
- package/development/core/decorators.js +11 -2
- package/development/core/mixins/hydration-mixin.d.ts.map +1 -1
- package/development/core/mixins.js +15 -16
- package/development/datepicker/common/datepicker-button.d.ts +5 -5
- package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/development/datepicker/common.js +10 -9
- package/development/datepicker/datepicker/datepicker.d.ts +55 -38
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -1
- package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
- package/development/datepicker/datepicker-next-day.js +14 -54
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -1
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
- package/development/datepicker/datepicker-previous-day.js +14 -54
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +1 -1
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle.js +16 -10
- package/development/datepicker/datepicker.js +134 -159
- package/development/dialog/dialog.js +1 -1
- package/development/file-selector/file-selector.d.ts +0 -1
- package/development/file-selector/file-selector.d.ts.map +1 -1
- package/development/file-selector.js +6 -5
- package/development/form-field/form-field/form-field.d.ts +1 -2
- package/development/form-field/form-field/form-field.d.ts.map +1 -1
- package/development/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
- package/development/form-field/form-field-clear.js +15 -51
- package/development/form-field/form-field.js +8 -7
- package/development/icon/icon-request.d.ts.map +1 -1
- package/development/icon.js +8 -13
- package/development/link/common/link-common.d.ts.map +1 -1
- package/development/link/common.js +6 -7
- package/development/link-list/link-list.d.ts +0 -1
- package/development/link-list/link-list.d.ts.map +1 -1
- package/development/link-list.js +5 -5
- package/development/map-container.js +5 -2
- package/development/navigation/navigation-list/navigation-list.d.ts +0 -1
- package/development/navigation/navigation-list/navigation-list.d.ts.map +1 -1
- package/development/navigation/navigation-list.js +5 -5
- package/development/navigation/navigation-section/navigation-section.d.ts +0 -1
- package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/development/navigation/navigation-section.js +6 -6
- package/development/notification/notification.d.ts +5 -16
- package/development/notification/notification.d.ts.map +1 -1
- package/development/notification.js +8 -9
- package/development/option/option/option.d.ts.map +1 -1
- package/development/option/option.js +5 -5
- package/development/popover/popover/popover.d.ts +3 -1
- package/development/popover/popover/popover.d.ts.map +1 -1
- package/development/popover/popover-trigger.js +14 -49
- package/development/popover/popover.js +11 -4
- package/development/radio-button/radio-button/radio-button.d.ts +0 -1
- package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts +0 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +6 -6
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +0 -1
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/development/radio-button/radio-button-panel.js +4 -7
- package/development/radio-button/radio-button.js +4 -7
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts +0 -1
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/development/selection-expansion-panel.js +6 -5
- package/development/skiplink-list/skiplink-list.d.ts +0 -1
- package/development/skiplink-list/skiplink-list.d.ts.map +1 -1
- package/development/skiplink-list.js +5 -5
- package/development/status/status.d.ts +0 -1
- package/development/status/status.d.ts.map +1 -1
- package/development/status.js +5 -5
- package/development/stepper/stepper/stepper.d.ts +3 -1
- package/development/stepper/stepper/stepper.d.ts.map +1 -1
- package/development/stepper/stepper.js +3 -2
- package/development/tabs/tab-group/tab-group.d.ts +3 -1
- package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/development/tabs/tab-group.js +3 -2
- package/development/tabs/tab-label/tab-label.d.ts +0 -1
- package/development/tabs/tab-label/tab-label.d.ts.map +1 -1
- package/development/tabs/tab-label.js +5 -5
- package/development/tag/tag/tag.d.ts +0 -1
- package/development/tag/tag/tag.d.ts.map +1 -1
- package/development/tag/tag.js +6 -5
- package/development/teaser/teaser.d.ts +0 -1
- package/development/teaser/teaser.d.ts.map +1 -1
- package/development/teaser.js +5 -5
- package/development/toast/toast.d.ts +1 -2
- package/development/toast/toast.d.ts.map +1 -1
- package/development/toast.js +10 -8
- package/development/toggle/toggle-option/toggle-option.d.ts +0 -1
- package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/development/toggle/toggle-option.js +6 -6
- package/development/toggle-check/toggle-check.d.ts +2 -3
- package/development/toggle-check/toggle-check.d.ts.map +1 -1
- package/development/toggle-check.js +5 -5
- package/development/visual-checkbox.js +2 -2
- package/dialog/dialog.js +1 -1
- package/file-selector/file-selector.d.ts +0 -1
- package/file-selector/file-selector.d.ts.map +1 -1
- package/file-selector.js +17 -15
- package/form-field/form-field/form-field.d.ts +1 -2
- package/form-field/form-field/form-field.d.ts.map +1 -1
- package/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
- package/form-field/form-field-clear.js +17 -18
- package/form-field/form-field.js +16 -14
- package/icon/icon-request.d.ts.map +1 -1
- package/icon.js +86 -86
- package/link/common/link-common.d.ts.map +1 -1
- package/link/common.js +9 -9
- package/link-list/link-list.d.ts +0 -1
- package/link-list/link-list.d.ts.map +1 -1
- package/link-list.js +8 -7
- package/map-container.js +1 -1
- package/navigation/navigation-list/navigation-list.d.ts +0 -1
- package/navigation/navigation-list/navigation-list.d.ts.map +1 -1
- package/navigation/navigation-list.js +9 -8
- package/navigation/navigation-section/navigation-section.d.ts +0 -1
- package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/navigation/navigation-section.js +10 -9
- package/notification/notification.d.ts +5 -16
- package/notification/notification.d.ts.map +1 -1
- package/notification.js +9 -9
- package/option/option/option.d.ts.map +1 -1
- package/option/option.js +6 -5
- package/package.json +1 -1
- package/popover/popover/popover.d.ts +3 -1
- package/popover/popover/popover.d.ts.map +1 -1
- package/popover/popover-trigger.js +13 -13
- package/popover/popover.js +55 -48
- package/radio-button/radio-button/radio-button.d.ts +0 -1
- package/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts +0 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +7 -6
- package/radio-button/radio-button-panel/radio-button-panel.d.ts +0 -1
- package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/radio-button/radio-button-panel.js +12 -14
- package/radio-button/radio-button.js +7 -9
- package/selection-expansion-panel/selection-expansion-panel.d.ts +0 -1
- package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/selection-expansion-panel.js +15 -13
- package/skiplink-list/skiplink-list.d.ts +0 -1
- package/skiplink-list/skiplink-list.d.ts.map +1 -1
- package/skiplink-list.js +4 -3
- package/status/status.d.ts +0 -1
- package/status/status.d.ts.map +1 -1
- package/status.js +9 -8
- package/stepper/stepper/stepper.d.ts +3 -1
- package/stepper/stepper/stepper.d.ts.map +1 -1
- package/stepper/stepper.js +7 -6
- package/tabs/tab-group/tab-group.d.ts +3 -1
- package/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/tabs/tab-group.js +14 -13
- package/tabs/tab-label/tab-label.d.ts +0 -1
- package/tabs/tab-label/tab-label.d.ts.map +1 -1
- package/tabs/tab-label.js +4 -3
- package/tag/tag/tag.d.ts +0 -1
- package/tag/tag/tag.d.ts.map +1 -1
- package/tag/tag.js +6 -4
- package/teaser/teaser.d.ts +0 -1
- package/teaser/teaser.d.ts.map +1 -1
- package/teaser.js +4 -3
- package/toast/toast.d.ts +1 -2
- package/toast/toast.d.ts.map +1 -1
- package/toast.js +15 -12
- package/toggle/toggle-option/toggle-option.d.ts +0 -1
- package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/toggle/toggle-option.js +12 -11
- package/toggle-check/toggle-check.d.ts +2 -3
- package/toggle-check/toggle-check.d.ts.map +1 -1
- package/toggle-check.js +4 -3
- package/visual-checkbox.js +4 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { LitElement, html, nothing } from "lit";
|
|
2
2
|
import { customElement } from "lit/decorators.js";
|
|
3
|
-
import {
|
|
3
|
+
import { slotState } from "../core/decorators.js";
|
|
4
4
|
import { EventEmitter } from "../core/eventing.js";
|
|
5
5
|
import { SbbPanelMixin, SbbUpdateSchedulerMixin, panelCommonStyle } from "../core/mixins.js";
|
|
6
6
|
import { SbbCheckboxCommonElementMixin, checkboxCommonStyle } from "./common.js";
|
|
@@ -20,13 +20,12 @@ let SbbCheckboxPanelElement = class extends SbbPanelMixin(
|
|
|
20
20
|
SbbCheckboxCommonElementMixin(SbbUpdateSchedulerMixin(LitElement))
|
|
21
21
|
) {
|
|
22
22
|
constructor() {
|
|
23
|
-
super();
|
|
23
|
+
super(...arguments);
|
|
24
24
|
this.stateChange = new EventEmitter(
|
|
25
25
|
this,
|
|
26
26
|
SbbCheckboxPanelElement.events.stateChange,
|
|
27
27
|
{ bubbles: true }
|
|
28
28
|
);
|
|
29
|
-
new SbbSlotStateController(this);
|
|
30
29
|
}
|
|
31
30
|
async willUpdate(changedProperties) {
|
|
32
31
|
super.willUpdate(changedProperties);
|
|
@@ -78,9 +77,10 @@ SbbCheckboxPanelElement.events = {
|
|
|
78
77
|
panelConnected: "panelConnected"
|
|
79
78
|
};
|
|
80
79
|
SbbCheckboxPanelElement = __decorateClass([
|
|
81
|
-
customElement("sbb-checkbox-panel")
|
|
80
|
+
customElement("sbb-checkbox-panel"),
|
|
81
|
+
slotState()
|
|
82
82
|
], SbbCheckboxPanelElement);
|
|
83
83
|
export {
|
|
84
84
|
SbbCheckboxPanelElement
|
|
85
85
|
};
|
|
86
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtcGFuZWwuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGVja2JveC9jaGVja2JveC1wYW5lbC9jaGVja2JveC1wYW5lbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHR5cGUge1xuICBTYmJDaGVja2VkU3RhdGVDaGFuZ2UsXG4gIFNiYkRpc2FibGVkU3RhdGVDaGFuZ2UsXG4gIFNiYlN0YXRlQ2hhbmdlLFxufSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMvdHlwZXMuanMnO1xuaW1wb3J0IHsgcGFuZWxDb21tb25TdHlsZSwgU2JiUGFuZWxNaXhpbiwgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBjaGVja2JveENvbW1vblN0eWxlLCBTYmJDaGVja2JveENvbW1vbkVsZW1lbnRNaXhpbiB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcbmltcG9ydCAnLi4vLi4vdmlzdWFsLWNoZWNrYm94LmpzJztcblxuZXhwb3J0IHR5cGUgU2JiQ2hlY2tib3hQYW5lbFN0YXRlQ2hhbmdlID0gRXh0cmFjdDxcbiAgU2JiU3RhdGVDaGFuZ2UsXG4gIFNiYkRpc2FibGVkU3RhdGVDaGFuZ2UgfCBTYmJDaGVja2VkU3RhdGVDaGFuZ2Vcbj47XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBjaGVja2JveCBlbmhhbmNlZCB3aXRoIHNlbGVjdGlvbiBwYW5lbCBkZXNpZ24uXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi1jaGVja2JveGAuXG4gKiBAc2xvdCBzdWJ0ZXh0IC0gU2xvdCB1c2VkIHRvIHJlbmRlciBhIHN1YnRleHQgdW5kZXIgdGhlIGxhYmVsIChvbmx5IHZpc2libGUgd2l0aGluIGEgc2VsZWN0aW9uIHBhbmVsKS5cbiAqIEBzbG90IHN1ZmZpeCAtIFNsb3QgdXNlZCB0byByZW5kZXIgYWRkaXRpb25hbCBjb250ZW50IGFmdGVyIHRoZSBsYWJlbCAob25seSB2aXNpYmxlIHdpdGhpbiBhIHNlbGVjdGlvbiBwYW5lbCkuXG4gKiBAc2xvdCBiYWRnZSAtIFVzZSB0aGlzIHNsb3QgdG8gcHJvdmlkZSBhIGBzYmItY2FyZC1iYWRnZWAgKG9wdGlvbmFsKS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZENoYW5nZSAtIERlcHJlY2F0ZWQuIHVzZWQgZm9yIFJlYWN0LiBXaWxsIHByb2JhYmx5IGJlIHJlbW92ZWQgb25jZSBSZWFjdCAxOSBpcyBhdmFpbGFibGUuXG4gKiBAZXZlbnQge0V2ZW50fSBjaGFuZ2UgLSBFdmVudCBmaXJlZCBvbiBjaGFuZ2UuXG4gKiBAZXZlbnQge0lucHV0RXZlbnR9IGlucHV0IC0gRXZlbnQgZmlyZWQgb24gaW5wdXQuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItY2hlY2tib3gtcGFuZWwnKVxuQHNsb3RTdGF0ZSgpXG5leHBvcnQgY2xhc3MgU2JiQ2hlY2tib3hQYW5lbEVsZW1lbnQgZXh0ZW5kcyBTYmJQYW5lbE1peGluKFxuICBTYmJDaGVja2JveENvbW1vbkVsZW1lbnRNaXhpbihTYmJVcGRhdGVTY2hlZHVsZXJNaXhpbihMaXRFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2NoZWNrYm94Q29tbW9uU3R5bGUsIHBhbmVsQ29tbW9uU3R5bGVdO1xuXG4gIC8vIEZJWE1FIHVzaW5nIC4uLnN1cGVyLmV2ZW50cyByZXF1aXJlczogaHR0cHM6Ly9naXRodWIuY29tL3NiYi1kZXNpZ24tc3lzdGVtcy9seW5lLWNvbXBvbmVudHMvaXNzdWVzLzI2MDBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZGlkQ2hhbmdlOiAnZGlkQ2hhbmdlJyxcbiAgICBzdGF0ZUNoYW5nZTogJ3N0YXRlQ2hhbmdlJyxcbiAgICBwYW5lbENvbm5lY3RlZDogJ3BhbmVsQ29ubmVjdGVkJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEludGVybmFsIGV2ZW50IHRoYXQgZW1pdHMgd2hlbmV2ZXIgdGhlIHN0YXRlIG9mIHRoZSBjaGVja2JveFxuICAgKiBpbiByZWxhdGlvbiB0byB0aGUgcGFyZW50IHNlbGVjdGlvbiBwYW5lbCBjaGFuZ2VzLlxuICAgKi9cbiAgcHJvdGVjdGVkIHN0YXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8U2JiQ2hlY2tib3hQYW5lbFN0YXRlQ2hhbmdlPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJDaGVja2JveFBhbmVsRWxlbWVudC5ldmVudHMuc3RhdGVDaGFuZ2UsXG4gICAgeyBidWJibGVzOiB0cnVlIH0sXG4gICk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdjaGVja2VkJykpIHtcbiAgICAgIC8vIEFzIFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hNaXhpbiBkb2VzIG5vdCByZWZsZWN0IGNoZWNrZWQgcHJvcGVydHksIHdlIGFkZCBhIGRhdGEtY2hlY2tlZC5cbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWNoZWNrZWQnLCB0aGlzLmNoZWNrZWQpO1xuXG4gICAgICBpZiAodGhpcy5jaGVja2VkICE9PSBjaGFuZ2VkUHJvcGVydGllcy5nZXQoJ2NoZWNrZWQnKSEpIHtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KHsgdHlwZTogJ2NoZWNrZWQnLCBjaGVja2VkOiB0aGlzLmNoZWNrZWQgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVkICE9PSBjaGFuZ2VkUHJvcGVydGllcy5nZXQoJ2Rpc2FibGVkJykhKSB7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh7IHR5cGU6ICdkaXNhYmxlZCcsIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc2VsZWN0aW9uLXBhbmVsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc2VsZWN0aW9uLXBhbmVsX19iYWRnZVwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJiYWRnZVwiPjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWNoZWNrYm94LXdyYXBwZXJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1jaGVja2JveFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hlY2tib3hfX2lubmVyXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWNoZWNrYm94X19hbGlnbmVyXCI+XG4gICAgICAgICAgICAgICAgPHNiYi12aXN1YWwtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgID9jaGVja2VkPSR7dGhpcy5jaGVja2VkfVxuICAgICAgICAgICAgICAgICAgP2luZGV0ZXJtaW5hdGU9JHt0aGlzLmluZGV0ZXJtaW5hdGV9XG4gICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkIHx8IHRoaXMuZm9ybURpc2FibGVkfVxuICAgICAgICAgICAgICAgID48L3NiYi12aXN1YWwtY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hlY2tib3hfX2xhYmVsXCI+XG4gICAgICAgICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJzdWZmaXhcIj48L3Nsb3Q+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzbG90IG5hbWU9XCJzdWJ0ZXh0XCI+PC9zbG90PlxuICAgICAgICAgICAgJHt0aGlzLmV4cGFuc2lvblN0YXRlXG4gICAgICAgICAgICAgID8gaHRtbGA8c2JiLXNjcmVlbi1yZWFkZXItb25seT4ke3RoaXMuZXhwYW5zaW9uU3RhdGV9PC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PmBcbiAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jaGVja2JveC1wYW5lbCc6IFNiYkNoZWNrYm94UGFuZWxFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUNPLElBQU0sMEJBQU4sY0FBc0M7QUFBQSxFQUMzQyw4QkFBOEIsd0JBQXdCLFVBQVUsQ0FBQztBQUNuRSxFQUFFO0FBQUEsRUFGSyxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFpQkwsU0FBVSxjQUF5RCxJQUFJO0FBQUEsTUFDckU7QUFBQSxNQUNBLHdCQUF3QixPQUFPO0FBQUEsTUFDL0IsRUFBRSxTQUFTLEtBQUs7QUFBQSxJQUFBO0FBQUEsRUFDbEI7QUFBQSxFQUVBLE1BQXlCLFdBQVcsbUJBQXdEO0FBQzFGLFVBQU0sV0FBVyxpQkFBaUI7QUFFOUIsUUFBQSxrQkFBa0IsSUFBSSxTQUFTLEdBQUc7QUFFL0IsV0FBQSxnQkFBZ0IsZ0JBQWdCLEtBQUssT0FBTztBQUVqRCxVQUFJLEtBQUssWUFBWSxrQkFBa0IsSUFBSSxTQUFTLEdBQUk7QUFDakQsYUFBQSxZQUFZLEtBQUssRUFBRSxNQUFNLFdBQVcsU0FBUyxLQUFLLFNBQVM7QUFBQSxNQUNsRTtBQUFBLElBQ0Y7QUFDSSxRQUFBLGtCQUFrQixJQUFJLFVBQVUsR0FBRztBQUNyQyxVQUFJLEtBQUssYUFBYSxrQkFBa0IsSUFBSSxVQUFVLEdBQUk7QUFDbkQsYUFBQSxZQUFZLEtBQUssRUFBRSxNQUFNLFlBQVksVUFBVSxLQUFLLFVBQVU7QUFBQSxNQUNyRTtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFFbUIsU0FBeUI7QUFDbkMsV0FBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDZCQVVrQixLQUFLLE9BQU87QUFBQSxtQ0FDTixLQUFLLGFBQWE7QUFBQSw4QkFDdkIsS0FBSyxZQUFZLEtBQUssWUFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxjQVNsRCxLQUFLLGlCQUNILCtCQUErQixLQUFLLGNBQWMsOEJBQ2xELE9BQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS3JCO0FBQ0Y7QUF2RWEsd0JBR1ksU0FBeUIsQ0FBQyxxQkFBcUIsZ0JBQWdCO0FBSDNFLHdCQU1ZLFNBQVM7QUFBQSxFQUM5QixXQUFXO0FBQUEsRUFDWCxhQUFhO0FBQUEsRUFDYixnQkFBZ0I7QUFDbEI7QUFWVywwQkFBTixnQkFBQTtBQUFBLEVBRk4sY0FBYyxvQkFBb0I7QUFBQSxFQUNsQyxVQUFVO0FBQUEsR0FDRSx1QkFBQTsifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { css, LitElement, html } from "lit";
|
|
2
2
|
import { property, customElement } from "lit/decorators.js";
|
|
3
|
-
import {
|
|
3
|
+
import { slotState } from "../core/decorators.js";
|
|
4
4
|
import { SbbIconNameMixin } from "../icon.js";
|
|
5
5
|
import { SbbCheckboxCommonElementMixin, checkboxCommonStyle } from "./common.js";
|
|
6
6
|
import "../visual-checkbox.js";
|
|
@@ -67,9 +67,8 @@ let SbbCheckboxElement = class extends SbbCheckboxCommonElementMixin(
|
|
|
67
67
|
SbbIconNameMixin(LitElement)
|
|
68
68
|
) {
|
|
69
69
|
constructor() {
|
|
70
|
-
super();
|
|
70
|
+
super(...arguments);
|
|
71
71
|
this.iconPlacement = "end";
|
|
72
|
-
new SbbSlotStateController(this);
|
|
73
72
|
}
|
|
74
73
|
render() {
|
|
75
74
|
return html`
|
|
@@ -103,9 +102,10 @@ __decorateClass([
|
|
|
103
102
|
property({ attribute: "icon-placement", reflect: true })
|
|
104
103
|
], SbbCheckboxElement.prototype, "iconPlacement", 2);
|
|
105
104
|
SbbCheckboxElement = __decorateClass([
|
|
106
|
-
customElement("sbb-checkbox")
|
|
105
|
+
customElement("sbb-checkbox"),
|
|
106
|
+
slotState()
|
|
107
107
|
], SbbCheckboxElement);
|
|
108
108
|
export {
|
|
109
109
|
SbbCheckboxElement
|
|
110
110
|
};
|
|
111
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
111
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGVja2JveC9jaGVja2JveC9jaGVja2JveC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBzbG90U3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJJY29uUGxhY2VtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcbmltcG9ydCB7IFNiYkNoZWNrYm94Q29tbW9uRWxlbWVudE1peGluLCBjaGVja2JveENvbW1vblN0eWxlIH0gZnJvbSAnLi4vY29tbW9uLmpzJztcblxuaW1wb3J0IGNoZWNrYm94U3R5bGUgZnJvbSAnLi9jaGVja2JveC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL3Zpc3VhbC1jaGVja2JveC5qcyc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBjaGVja2JveCBlbmhhbmNlZCB3aXRoIHRoZSBTQkIgRGVzaWduLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItY2hlY2tib3hgLlxuICogQHNsb3QgaWNvbiAtIFNsb3QgdXNlZCB0byByZW5kZXIgdGhlIGNoZWNrYm94IGljb24gKGRpc2FibGVkIGluc2lkZSBhIHNlbGVjdGlvbiBwYW5lbCkuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDaGFuZ2UgLSBEZXByZWNhdGVkLiB1c2VkIGZvciBSZWFjdC4gV2lsbCBwcm9iYWJseSBiZSByZW1vdmVkIG9uY2UgUmVhY3QgMTkgaXMgYXZhaWxhYmxlLlxuICogQGV2ZW50IHtFdmVudH0gY2hhbmdlIC0gRXZlbnQgZmlyZWQgb24gY2hhbmdlLlxuICogQGV2ZW50IHtJbnB1dEV2ZW50fSBpbnB1dCAtIEV2ZW50IGZpcmVkIG9uIGlucHV0LlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWNoZWNrYm94JylcbkBzbG90U3RhdGUoKVxuZXhwb3J0IGNsYXNzIFNiYkNoZWNrYm94RWxlbWVudCBleHRlbmRzIFNiYkNoZWNrYm94Q29tbW9uRWxlbWVudE1peGluKFxuICBTYmJJY29uTmFtZU1peGluKExpdEVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtjaGVja2JveENvbW1vblN0eWxlLCBjaGVja2JveFN0eWxlXTtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBkaWRDaGFuZ2U6ICdkaWRDaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgbGFiZWwgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIGxhYmVsSWNvbi4gRGVmYXVsdHMgdG8gZW5kICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ljb24tcGxhY2VtZW50JywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgaWNvblBsYWNlbWVudDogU2JiSWNvblBsYWNlbWVudCA9ICdlbmQnO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hlY2tib3gtd3JhcHBlclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1jaGVja2JveFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWNoZWNrYm94X19pbm5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hlY2tib3hfX2FsaWduZXJcIj5cbiAgICAgICAgICAgICAgPHNiYi12aXN1YWwtY2hlY2tib3hcbiAgICAgICAgICAgICAgICA/Y2hlY2tlZD0ke3RoaXMuY2hlY2tlZH1cbiAgICAgICAgICAgICAgICA/aW5kZXRlcm1pbmF0ZT0ke3RoaXMuaW5kZXRlcm1pbmF0ZX1cbiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkIHx8IHRoaXMuZm9ybURpc2FibGVkfVxuICAgICAgICAgICAgICA+PC9zYmItdmlzdWFsLWNoZWNrYm94PlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hlY2tib3hfX2xhYmVsXCI+XG4gICAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hlY2tib3hfX2xhYmVsLS1pY29uIHNiYi1jaGVja2JveF9fYWxpZ25lclwiXG4gICAgICAgICAgICAgICAgPiR7dGhpcy5yZW5kZXJJY29uU2xvdCgpfTwvc3BhblxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNoZWNrYm94JzogU2JiQ2hlY2tib3hFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF1Qk8sSUFBTSxxQkFBTixjQUFpQztBQUFBLEVBQ3RDLGlCQUFpQixVQUFVO0FBQzdCLEVBQUU7QUFBQSxFQUZLLGNBQUE7QUFBQSxVQUFBLEdBQUEsU0FBQTtBQVdMLFNBQU8sZ0JBQWtDO0FBQUEsRUFBQTtBQUFBLEVBRXRCLFNBQXlCO0FBQ25DLFdBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMkJBTWdCLEtBQUssT0FBTztBQUFBLGlDQUNOLEtBQUssYUFBYTtBQUFBLDRCQUN2QixLQUFLLFlBQVksS0FBSyxZQUFZO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQU0zQyxLQUFLLGdCQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT3RDO0FBQ0Y7QUFwQ2EsbUJBR1ksU0FBeUIsQ0FBQyxxQkFBcUIsYUFBYTtBQUh4RSxtQkFLWSxTQUFTO0FBQUEsRUFDOUIsV0FBVztBQUNiO0FBSU8sZ0JBQUE7QUFBQSxFQUROLFNBQVMsRUFBRSxXQUFXLGtCQUFrQixTQUFTLE1BQU07QUFBQSxHQVY3QyxtQkFXSixXQUFBLGlCQUFBLENBQUE7QUFYSSxxQkFBTixnQkFBQTtBQUFBLEVBRk4sY0FBYyxjQUFjO0FBQUEsRUFDNUIsVUFBVTtBQUFBLEdBQ0Usa0JBQUE7In0=
|
|
@@ -29,16 +29,19 @@ export declare class SbbClockElement extends LitElement {
|
|
|
29
29
|
private _moveMinutesHandFn;
|
|
30
30
|
/** Move the minutes hand every minute. */
|
|
31
31
|
private _handMovement?;
|
|
32
|
-
protected willUpdate(changedProperties: PropertyValues<this>): void
|
|
32
|
+
protected willUpdate(changedProperties: PropertyValues<this>): Promise<void>;
|
|
33
|
+
protected firstUpdated(changedProperties: PropertyValues<this>): Promise<void>;
|
|
34
|
+
disconnectedCallback(): void;
|
|
33
35
|
private _handlePageVisibilityChange;
|
|
34
|
-
private
|
|
35
|
-
|
|
36
|
-
private
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
private _assignCurrentTime;
|
|
36
|
+
private _startOrConfigureClock;
|
|
37
|
+
/** Starts the clock by defining the hands starting position then starting the animations. */
|
|
38
|
+
private _startClock;
|
|
39
|
+
/** Stops the clock by removing all the animations. */
|
|
40
|
+
private _stopClock;
|
|
40
41
|
/** Set the starting position for the three hands on the clock face. */
|
|
41
42
|
private _setHandsStartingPosition;
|
|
43
|
+
/** Given the current date, calculates the hh/mm/ss values and the hh/mm/ss left to the next midnight. */
|
|
44
|
+
private _assignCurrentTime;
|
|
42
45
|
/** Set the starting position for the minutes hand. */
|
|
43
46
|
private _setMinutesHand;
|
|
44
47
|
/** Move the hours hand to the next value. */
|
|
@@ -46,12 +49,15 @@ export declare class SbbClockElement extends LitElement {
|
|
|
46
49
|
/** Move the minutes hand to the next value. */
|
|
47
50
|
private _moveMinutesHand;
|
|
48
51
|
private _addMinutesAndSetHands;
|
|
49
|
-
/**
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Removing animation by overriding with empty string,
|
|
54
|
+
* then triggering a reflow and re add original animation by removing override.
|
|
55
|
+
* @private
|
|
56
|
+
*/
|
|
57
|
+
private _resetSecondsHandAnimation;
|
|
58
|
+
private _removeEventListeners;
|
|
59
|
+
private _removeHoursAnimationStyles;
|
|
60
|
+
private _removeSecondsAnimationStyles;
|
|
55
61
|
protected render(): TemplateResult;
|
|
56
62
|
}
|
|
57
63
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../../../../src/elements/clock/clock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAE,MAAM,KAAK,CAAC;AAIjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AA2CrD;;GAEG;AACH,qBACa,eAAgB,SAAQ,UAAU;IAC7C,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACgB,GAAG,EAAE,OAAO,GAAG,IAAI,CAAQ;IAE9C,kCAAkC;IAClC,OAAO,CAAC,eAAe,CAAe;IAEtC,oCAAoC;IACpC,OAAO,CAAC,iBAAiB,CAAe;IAExC,oCAAoC;IACpC,OAAO,CAAC,iBAAiB,CAAe;IAExC,wCAAwC;IACxC,OAAO,CAAC,MAAM,CAAU;IAExB,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAU;IAE1B,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAU;IAE1B,wCAAwC;IACxC,OAAO,CAAC,gBAAgB,CAAqC;IAE7D,0CAA0C;IAC1C,OAAO,CAAC,kBAAkB,CAAuC;IAEjE,0CAA0C;IAC1C,OAAO,CAAC,aAAa,CAAC,CAAiC;
|
|
1
|
+
{"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../../../../src/elements/clock/clock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAE,MAAM,KAAK,CAAC;AAIjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AA2CrD;;GAEG;AACH,qBACa,eAAgB,SAAQ,UAAU;IAC7C,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACgB,GAAG,EAAE,OAAO,GAAG,IAAI,CAAQ;IAE9C,kCAAkC;IAClC,OAAO,CAAC,eAAe,CAAe;IAEtC,oCAAoC;IACpC,OAAO,CAAC,iBAAiB,CAAe;IAExC,oCAAoC;IACpC,OAAO,CAAC,iBAAiB,CAAe;IAExC,wCAAwC;IACxC,OAAO,CAAC,MAAM,CAAU;IAExB,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAU;IAE1B,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAU;IAE1B,wCAAwC;IACxC,OAAO,CAAC,gBAAgB,CAAqC;IAE7D,0CAA0C;IAC1C,OAAO,CAAC,kBAAkB,CAAuC;IAEjE,0CAA0C;IAC1C,OAAO,CAAC,aAAa,CAAC,CAAiC;cAE9B,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAQlE,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7E,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,2BAA2B,CAMjC;YAEY,sBAAsB;IAUpC,6FAA6F;YAC/E,WAAW;IAqBzB,sDAAsD;YACxC,UAAU;IAcxB,uEAAuE;IACvE,OAAO,CAAC,yBAAyB;IA4CjC,yGAAyG;IACzG,OAAO,CAAC,kBAAkB;IAW1B,sDAAsD;IACtD,OAAO,CAAC,eAAe;IAOvB,6CAA6C;IAC7C,OAAO,CAAC,cAAc;IAYtB,+CAA+C;IAC/C,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,sBAAsB;IAK9B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,2BAA2B;IAMnC,OAAO,CAAC,6BAA6B;cAOlB,MAAM,IAAI,cAAc;CA4B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF"}
|
package/development/clock.js
CHANGED
|
@@ -177,52 +177,67 @@ let SbbClockElement = class extends LitElement {
|
|
|
177
177
|
}
|
|
178
178
|
};
|
|
179
179
|
}
|
|
180
|
-
willUpdate(changedProperties) {
|
|
180
|
+
async willUpdate(changedProperties) {
|
|
181
181
|
super.willUpdate(changedProperties);
|
|
182
182
|
if (!isServer && changedProperties.has("now")) {
|
|
183
|
-
|
|
184
|
-
this._removeSecondsAnimationStyles();
|
|
185
|
-
this._removeHoursAnimationStyles();
|
|
186
|
-
this._stopClock();
|
|
187
|
-
} else {
|
|
188
|
-
this._startClock();
|
|
189
|
-
}
|
|
183
|
+
await this._startOrConfigureClock();
|
|
190
184
|
}
|
|
191
185
|
}
|
|
192
|
-
|
|
193
|
-
|
|
186
|
+
async firstUpdated(changedProperties) {
|
|
187
|
+
super.firstUpdated(changedProperties);
|
|
188
|
+
if (!isServer) {
|
|
189
|
+
document.addEventListener("visibilitychange", this._handlePageVisibilityChange, false);
|
|
190
|
+
await this._startOrConfigureClock();
|
|
191
|
+
}
|
|
194
192
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
(_a = this._clockHandHours) == null ? void 0 : _a.removeEventListener("animationend", this._moveHoursHandFn);
|
|
199
|
-
(_b = this._clockHandSeconds) == null ? void 0 : _b.removeEventListener("animationend", this._moveMinutesHandFn);
|
|
200
|
-
clearInterval(this._handMovement);
|
|
193
|
+
disconnectedCallback() {
|
|
194
|
+
super.disconnectedCallback();
|
|
195
|
+
this._removeEventListeners();
|
|
201
196
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
197
|
+
async _startOrConfigureClock() {
|
|
198
|
+
if (this.now) {
|
|
199
|
+
await this._stopClock();
|
|
200
|
+
this._resetSecondsHandAnimation();
|
|
201
|
+
this._setHandsStartingPosition();
|
|
202
|
+
} else {
|
|
203
|
+
await this._startClock();
|
|
204
|
+
}
|
|
207
205
|
}
|
|
208
|
-
|
|
206
|
+
/** Starts the clock by defining the hands starting position then starting the animations. */
|
|
207
|
+
async _startClock() {
|
|
209
208
|
var _a, _b;
|
|
210
|
-
(_a = this.
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
209
|
+
(_a = this._clockHandHours) == null ? void 0 : _a.addEventListener(
|
|
210
|
+
"animationend",
|
|
211
|
+
this._moveHoursHandFn,
|
|
212
|
+
ADD_EVENT_LISTENER_OPTIONS
|
|
213
|
+
);
|
|
214
|
+
(_b = this._clockHandSeconds) == null ? void 0 : _b.addEventListener(
|
|
215
|
+
"animationend",
|
|
216
|
+
this._moveMinutesHandFn,
|
|
217
|
+
ADD_EVENT_LISTENER_OPTIONS
|
|
218
|
+
);
|
|
219
|
+
await new Promise(
|
|
220
|
+
() => setTimeout(() => {
|
|
221
|
+
var _a2;
|
|
222
|
+
this._setHandsStartingPosition();
|
|
223
|
+
(_a2 = this.style) == null ? void 0 : _a2.setProperty("--sbb-clock-animation-play-state", "running");
|
|
224
|
+
}, INITIAL_TIMEOUT_DURATION)
|
|
225
|
+
);
|
|
214
226
|
}
|
|
215
|
-
/**
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
this.
|
|
220
|
-
this.
|
|
221
|
-
this.
|
|
227
|
+
/** Stops the clock by removing all the animations. */
|
|
228
|
+
async _stopClock() {
|
|
229
|
+
var _a, _b, _c, _d;
|
|
230
|
+
clearInterval(this._handMovement);
|
|
231
|
+
this._removeSecondsAnimationStyles();
|
|
232
|
+
this._removeHoursAnimationStyles();
|
|
233
|
+
(_a = this._clockHandHours) == null ? void 0 : _a.removeEventListener("animationend", this._moveHoursHandFn);
|
|
234
|
+
(_b = this._clockHandSeconds) == null ? void 0 : _b.removeEventListener("animationend", this._moveMinutesHandFn);
|
|
235
|
+
(_c = this._clockHandMinutes) == null ? void 0 : _c.classList.add("sbb-clock__hand-minutes--no-transition");
|
|
236
|
+
(_d = this.style) == null ? void 0 : _d.setProperty("--sbb-clock-animation-play-state", "paused");
|
|
222
237
|
}
|
|
223
238
|
/** Set the starting position for the three hands on the clock face. */
|
|
224
239
|
_setHandsStartingPosition() {
|
|
225
|
-
var _a, _b, _c, _d, _e, _f
|
|
240
|
+
var _a, _b, _c, _d, _e, _f;
|
|
226
241
|
this._assignCurrentTime();
|
|
227
242
|
const remainingSeconds = TOTAL_SECONDS_ON_CLOCK_FACE - this._seconds;
|
|
228
243
|
const remainingMinutes = TOTAL_MINUTES_ON_CLOCK_FACE - this._minutes;
|
|
@@ -253,9 +268,16 @@ let SbbClockElement = class extends LitElement {
|
|
|
253
268
|
this._setMinutesHand();
|
|
254
269
|
(_e = this._clockHandSeconds) == null ? void 0 : _e.classList.add("sbb-clock__hand-seconds--initial-minute");
|
|
255
270
|
(_f = this._clockHandHours) == null ? void 0 : _f.classList.add("sbb-clock__hand-hours--initial-hour");
|
|
256
|
-
(_g = this.style) == null ? void 0 : _g.setProperty("--sbb-clock-animation-play-state", "running");
|
|
257
271
|
this.toggleAttribute("data-initialized", true);
|
|
258
272
|
}
|
|
273
|
+
/** Given the current date, calculates the hh/mm/ss values and the hh/mm/ss left to the next midnight. */
|
|
274
|
+
_assignCurrentTime() {
|
|
275
|
+
const date = this.now ? null : /* @__PURE__ */ new Date();
|
|
276
|
+
const [hours, minutes, seconds] = date ? [date.getHours(), date.getMinutes(), date.getSeconds()] : this.now.split(":").map((p) => +p);
|
|
277
|
+
this._hours = hours % 12;
|
|
278
|
+
this._minutes = minutes;
|
|
279
|
+
this._seconds = seconds;
|
|
280
|
+
}
|
|
259
281
|
/** Set the starting position for the minutes hand. */
|
|
260
282
|
_setMinutesHand() {
|
|
261
283
|
var _a;
|
|
@@ -289,55 +311,38 @@ let SbbClockElement = class extends LitElement {
|
|
|
289
311
|
this._minutes++;
|
|
290
312
|
this._setMinutesHand();
|
|
291
313
|
}
|
|
292
|
-
/**
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
(_b = this._clockHandHours) == null ? void 0 : _b.classList.add("sbb-clock__hand-hours--initial-hour");
|
|
301
|
-
} else {
|
|
302
|
-
this._removeSecondsAnimationStyles();
|
|
303
|
-
this._removeHoursAnimationStyles();
|
|
314
|
+
/**
|
|
315
|
+
* Removing animation by overriding with empty string,
|
|
316
|
+
* then triggering a reflow and re add original animation by removing override.
|
|
317
|
+
* @private
|
|
318
|
+
*/
|
|
319
|
+
_resetSecondsHandAnimation() {
|
|
320
|
+
if (!this._clockHandSeconds) {
|
|
321
|
+
return;
|
|
304
322
|
}
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
(_f = this.style) == null ? void 0 : _f.setProperty("--sbb-clock-animation-play-state", "paused");
|
|
323
|
+
this._clockHandSeconds.style.animation = "";
|
|
324
|
+
this._clockHandSeconds.offsetHeight;
|
|
325
|
+
this._clockHandSeconds.style.removeProperty("animation");
|
|
309
326
|
}
|
|
310
|
-
|
|
311
|
-
async _startClock() {
|
|
327
|
+
_removeEventListeners() {
|
|
312
328
|
var _a, _b;
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
);
|
|
318
|
-
(_b = this._clockHandSeconds) == null ? void 0 : _b.addEventListener(
|
|
319
|
-
"animationend",
|
|
320
|
-
this._moveMinutesHandFn,
|
|
321
|
-
ADD_EVENT_LISTENER_OPTIONS
|
|
322
|
-
);
|
|
323
|
-
await new Promise(
|
|
324
|
-
() => setTimeout(() => this._setHandsStartingPosition(), INITIAL_TIMEOUT_DURATION)
|
|
325
|
-
);
|
|
329
|
+
document == null ? void 0 : document.removeEventListener("visibilitychange", this._handlePageVisibilityChange);
|
|
330
|
+
(_a = this._clockHandHours) == null ? void 0 : _a.removeEventListener("animationend", this._moveHoursHandFn);
|
|
331
|
+
(_b = this._clockHandSeconds) == null ? void 0 : _b.removeEventListener("animationend", this._moveMinutesHandFn);
|
|
332
|
+
clearInterval(this._handMovement);
|
|
326
333
|
}
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
await this._stopClock();
|
|
333
|
-
} else {
|
|
334
|
-
await this._startClock();
|
|
335
|
-
}
|
|
336
|
-
}
|
|
334
|
+
_removeHoursAnimationStyles() {
|
|
335
|
+
var _a;
|
|
336
|
+
(_a = this._clockHandHours) == null ? void 0 : _a.classList.remove("sbb-clock__hand-hours--initial-hour");
|
|
337
|
+
this.style.removeProperty("--sbb-clock-hours-animation-start-angle");
|
|
338
|
+
this.style.removeProperty("--sbb-clock-hours-animation-duration");
|
|
337
339
|
}
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
this.
|
|
340
|
+
_removeSecondsAnimationStyles() {
|
|
341
|
+
var _a, _b;
|
|
342
|
+
(_a = this._clockHandSeconds) == null ? void 0 : _a.classList.remove("sbb-clock__hand-seconds--initial-minute");
|
|
343
|
+
(_b = this._clockHandMinutes) == null ? void 0 : _b.classList.remove("sbb-clock__hand-minutes--no-transition");
|
|
344
|
+
this.style.removeProperty("--sbb-clock-seconds-animation-start-angle");
|
|
345
|
+
this.style.removeProperty("--sbb-clock-seconds-animation-duration");
|
|
341
346
|
}
|
|
342
347
|
render() {
|
|
343
348
|
return html`
|
|
@@ -378,4 +383,4 @@ SbbClockElement = __decorateClass([
|
|
|
378
383
|
export {
|
|
379
384
|
SbbClockElement
|
|
380
385
|
};
|
|
381
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvY2suanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jbG9jay9hc3NldHMvc2JiX2Nsb2NrX2ZhY2Uuc3ZnP3JhdyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jbG9jay9hc3NldHMvc2JiX2Nsb2NrX2hvdXJzLnN2Zz9yYXciLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY2xvY2svYXNzZXRzL3NiYl9jbG9ja19taW51dGVzLnN2Zz9yYXciLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY2xvY2svYXNzZXRzL3NiYl9jbG9ja19zZWNvbmRzLnN2Zz9yYXciLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY2xvY2svY2xvY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCI8c3ZnIGZvY3VzYWJsZT1cXFwiZmFsc2VcXFwiIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDEwNSAxMDVcXFwiPjxnIGNsYXNzPVxcXCJmYWNlXFxcIj48Y2lyY2xlIGZpbGw9XFxcIiNGRkZcXFwiIGN4PVxcXCI1Mi41XFxcIiBjeT1cXFwiNTIuNVxcXCIgcj1cXFwiNTIuNVxcXCIvPjxwYXRoIGQ9XFxcIk01MC43NSA0aDMuNXYxMmgtMy41ek01MC43NSA4OWgzLjV2MTJoLTMuNXpNNzUuMjMzIDkuNjIzbDMuMDMgMS43NS02IDEwLjM5Mi0zLjAzLTEuNzV6TTMyLjczNCA4My4yMzNsMy4wMyAxLjc1LTYgMTAuMzkyLTMuMDMtMS43NXpNOTMuNjI4IDI2LjczMmwxLjc1IDMuMDMxLTEwLjM5MiA2LTEuNzUtMy4wM3pNMjAuMDE3IDY5LjIzNGwxLjc1IDMuMDMxLTEwLjM5MiA2LTEuNzUtMy4wM3pNMTAxIDUwLjc1djMuNUg4OXYtMy41ek0xNiA1MC43NXYzLjVINHYtMy41ek05NS4zNzkgNzUuMjMybC0xLjc1IDMuMDMxLTEwLjM5Mi02IDEuNzUtMy4wM3pNMjEuNzY2IDMyLjczNGwtMS43NSAzLjAzMS0xMC4zOTItNiAxLjc1LTMuMDN6TTc4LjI2NyA5My42M2wtMy4wMyAxLjc1LTYtMTAuMzkzIDMuMDMtMS43NXpNMzUuNzY2IDIwLjAxNWwtMy4wMyAxLjc1LTYtMTAuMzkyIDMuMDMtMS43NXpcXFwiLz48Zz48cGF0aCBkPVxcXCJNNTYuODczIDQuMTlsMS4zOTIuMTQ3LS4zNjYgMy40OC0xLjM5Mi0uMTQ1ek00Ny4xMDEgOTcuMTc3bDEuMzkzLjE0Ni0uMzY2IDMuNDgxLTEuMzkyLS4xNDZ6TTYxLjg5NiA0LjkxNGwxLjM3LjI5LS43MjggMy40MjQtMS4zNy0uMjl6TTQyLjQ1OCA5Ni4zNjZsMS4zNy4yOS0uNzI4IDMuNDI0LTEuMzctLjI5MXpNNjYuODI1IDYuMTU3bDEuMzMyLjQzMi0xLjA4MiAzLjMzLTEuMzMxLS40MzR6TTM3LjkzMSA5NS4wODVsMS4zMzIuNDMyLTEuMDgyIDMuMzMtMS4zMzEtLjQzM3pNNzEuNTg0IDcuOTA2bDEuMjguNTY5LTEuNDI0IDMuMTk3LTEuMjgtLjU3ek0zMy41NiA5My4zMmwxLjI3OC41NjktMS40MjMgMy4xOTctMS4yOC0uNTd6TTgwLjQ0IDEyLjg1MmwxLjEzMy44MjMtMi4wNTggMi44MzEtMS4xMzItLjgyM3pNMjUuNDgxIDg4LjQ5NGwxLjEzMy44MjItMi4wNTcgMi44MzItMS4xMzMtLjgyM3pNODQuNDMgMTUuOTg2bDEuMDQuOTM3LTIuMzQyIDIuNi0xLjA0LS45MzZ6TTIxLjg3IDg1LjQ2OWwxLjA0LjkzNi0yLjM0MSAyLjYwMS0xLjA0LS45Mzd6TTg4LjA3MiAxOS41MjJsLjkzNyAxLjA0LTIuNiAyLjM0My0uOTM3LTEuMDR6TTE4LjU5MyA4Mi4wODhsLjkzNyAxLjA0LTIuNjAxIDIuMzQyLS45MzctMS4wNHpNOTEuMzI4IDIzLjQyNWwuODIzIDEuMTMzLTIuODMyIDIuMDU3LS44MjMtMS4xMzJ6TTE1LjY4NCA3OC4zODVsLjgyMyAxLjEzMi0yLjgzMiAyLjA1OC0uODIyLTEuMTMzek05Ni41MiAzMi4xMjhsLjU3IDEuMjc5LTMuMTk4IDEuNDIzLS41Ny0xLjI3OHpNMTEuMTA5IDcwLjE2MWwuNTY5IDEuMjc5LTMuMTk3IDEuNDIzLS41Ny0xLjI3OXpNOTguNDA3IDM2Ljg1bC40MzMgMS4zMzItMy4zMyAxLjA4MS0uNDMyLTEuMzMxek05LjQ4MyA2NS43NGwuNDMyIDEuMzMtMy4zMjkgMS4wODItLjQzMi0xLjMzMXpNOTkuNzk1IDQxLjcyNmwuMjkxIDEuMzctMy40MjMuNzI3LS4yOS0xLjM3ek04LjM0IDYxLjE3bC4yOTIgMS4zNy0zLjQyNC43MjgtLjI5LTEuMzd6TTEwMC42NiA0Ni43M2wuMTQ2IDEuMzkzLTMuNDguMzY2LS4xNDctMS4zOTJ6TTcuNjc0IDU2LjUwNmwuMTQ2IDEuMzkyLTMuNDguMzY2LS4xNDctMS4zOTJ6TTEwMC44MTEgNTYuODczbC0uMTQ2IDEuMzkyLTMuNDgtLjM2NS4xNDUtMS4zOTN6TTcuODIxIDQ3LjEwMWwtLjE0NiAxLjM5Mi0zLjQ4LS4zNjUuMTQ1LTEuMzkzek0xMDAuMDkgNjEuODk1bC0uMjkxIDEuMzY5LTMuNDI0LS43MjguMjkxLTEuMzY5ek04LjYzMSA0Mi40NmwtLjI5MSAxLjM3LTMuNDIzLS43MjguMjktMS4zN3pNOTguODQgNjYuODI3bC0uNDMyIDEuMzMxLTMuMzI5LTEuMDgxLjQzMy0xLjMzMnpNOS45MTggMzcuOTNsLS40MzMgMS4zMzEtMy4zMjktMS4wODIuNDMzLTEuMzMxek05Ny4wOTggNzEuNTg1bC0uNTY5IDEuMjgtMy4xOTctMS40MjQuNTctMS4yOHpNMTEuNjc3IDMzLjU1OGwtLjU3IDEuMjgtMy4xOTctMS40MjQuNTctMS4yNzl6TTkyLjE0OSA4MC40MzlsLS44MjMgMS4xMzMtMi44MzItMi4wNTguODIzLTEuMTMyek0xNi41MDYgMjUuNDgybC0uODIzIDEuMTMzLTIuODMxLTIuMDU3LjgyMy0xLjEzM3pNODkuMDE3IDg0LjQzMWwtLjkzNyAxLjA0LTIuNi0yLjM0MS45MzYtMS4wNHpNMTkuNTI4IDIxLjg2OWwtLjkzNiAxLjA0LTIuNjAxLTIuMzQyLjkzNi0xLjA0ek04NS40OCA4OC4wNzZsLTEuMDQxLjkzNi0yLjM0Mi0yLjYgMS4wNC0uOTM3ek0yMi45MSAxOC41OWwtMS4wNC45MzctMi4zNDEtMi42MDEgMS4wNC0uOTM3ek04MS41NzQgOTEuMzI4bC0xLjEzMy44MjMtMi4wNTctMi44MzEgMS4xMzItLjgyM3pNMjYuNjE3IDE1LjY4NGwtMS4xMzMuODIzLTIuMDU3LTIuODMyIDEuMTMyLS44MjN6TTcyLjg3MyA5Ni41MjRsLTEuMjc5LjU3LTEuNDIzLTMuMTk4IDEuMjc4LS41N3pNMzQuODM4IDExLjEwNWwtMS4yNzkuNTctMS40MjMtMy4xOTggMS4yNzktLjU3ek02OC4xNTEgOTguNDA1bC0xLjMzMS40MzItMS4wODItMy4zMjkgMS4zMzItLjQzMnpNMzkuMjU5IDkuNDg1bC0xLjMzMi40MzMtMS4wODEtMy4zMyAxLjMzMS0uNDMyek02My4yNzIgOTkuNzk5bC0xLjM2OS4yOS0uNzI4LTMuNDIyIDEuMzctLjI5MXpNNDMuODMgOC4zMzdsLTEuMzY5LjI5MS0uNzI3LTMuNDIzIDEuMzctLjI5MXpNNTguMjcgMTAwLjY2MmwtMS4zOTMuMTQ2LS4zNjYtMy40OCAxLjM5My0uMTQ3ek00OC40OTQgNy42NzJsLTEuMzkyLjE0Ny0uMzY2LTMuNDgxIDEuMzkyLS4xNDd6XFxcIi8+PC9nPjwvZz48L3N2Zz5cXG5cIiIsImV4cG9ydCBkZWZhdWx0IFwiPHN2ZyBmb2N1c2FibGU9XFxcImZhbHNlXFxcIiB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHZpZXdCb3g9XFxcIjAgMCAxMDUgMTA1XFxcIj48cGF0aCBpZD1cXFwibW9kX2Nsb2NrX3N2Z19ob3Vyc1xcXCIgZD1cXFwiTTU1LjcgNjQuNWgtNi40bC42LTQ0aDUuMnpcXFwiLz48L3N2Zz5cXG5cIiIsImV4cG9ydCBkZWZhdWx0IFwiPHN2ZyBmb2N1c2FibGU9XFxcImZhbHNlXFxcIiB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHZpZXdCb3g9XFxcIjAgMCAxMDUgMTA1XFxcIj48cGF0aCBkPVxcXCJNNTUuMSw2NC41aC01LjJsMC44LTU4aDMuNkw1NS4xLDY0LjV6XFxcIi8+PC9zdmc+XFxuXCIiLCJleHBvcnQgZGVmYXVsdCBcIjxzdmcgZm9jdXNhYmxlPVxcXCJmYWxzZVxcXCIgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB2aWV3Qm94PVxcXCIwIDAgMTA1IDEwNVxcXCI+PHBhdGggZD1cXFwiTTU3LjgsMjEuM2MwLTIuOS0yLjQtNS4yLTUuMi01LjJzLTUuMywyLjMtNS4zLDUuMmMwLDIuNywyLDQuOCw0LjUsNS4yVjY5aDEuNVYyNi41QzU1LjgsMjYuMiw1Ny44LDI0LDU3LjgsMjEuM3pcXFwiLz48L3N2Zz5cXG5cIiIsImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBpc1NlcnZlciwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiVGltZSB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5cbmltcG9ydCBjbG9ja0ZhY2VTVkcgZnJvbSAnLi9hc3NldHMvc2JiX2Nsb2NrX2ZhY2Uuc3ZnP3Jhdyc7XG5pbXBvcnQgY2xvY2tIYW5kbGVIb3Vyc1NWRyBmcm9tICcuL2Fzc2V0cy9zYmJfY2xvY2tfaG91cnMuc3ZnP3Jhdyc7XG5pbXBvcnQgY2xvY2tIYW5kbGVNaW51dGVzU1ZHIGZyb20gJy4vYXNzZXRzL3NiYl9jbG9ja19taW51dGVzLnN2Zz9yYXcnO1xuaW1wb3J0IGNsb2NrSGFuZGxlU2Vjb25kc1NWRyBmcm9tICcuL2Fzc2V0cy9zYmJfY2xvY2tfc2Vjb25kcy5zdmc/cmF3JztcbmltcG9ydCBzdHlsZSBmcm9tICcuL2Nsb2NrLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKiBOdW1iZXIgb2YgaG91cnMgb24gdGhlIGNsb2NrIGZhY2UuICovXG5jb25zdCBUT1RBTF9IT1VSU19PTl9DTE9DS19GQUNFID0gMTI7XG5cbi8qKiBOdW1iZXIgb2YgbWludXRlcyBvbiB0aGUgY2xvY2sgZmFjZS4gKi9cbmNvbnN0IFRPVEFMX01JTlVURVNfT05fQ0xPQ0tfRkFDRSA9IDYwO1xuXG4vKiogTnVtYmVyIG9mIHNlY29uZHMgb24gdGhlIGNsb2NrIGZhY2UuICovXG5jb25zdCBUT1RBTF9TRUNPTkRTX09OX0NMT0NLX0ZBQ0UgPSA2MDtcblxuLyoqIFRpbWVvdXQgZm9yIHRoZSBjbG9jayBzdGFydC4gKi9cbmNvbnN0IElOSVRJQUxfVElNRU9VVF9EVVJBVElPTiA9IDUwO1xuXG4vKiogQW5nbGUgaW4gYSBzaW5nbGUgcm90YXRpb24uICovXG5jb25zdCBGVUxMX0FOR0xFID0gMzYwO1xuXG4vKiogQW5nbGUgYmV0d2VlbiB0d28gY29uc2VjdXRpdmUgaG91cnM6IDM2MC8xMiwgbWVhbnMgYSBmdWxsIHJvdGF0aW9uIC8gbnVtYmVyIG9mIGhvdXJzIGluIGEgcm90YXRpb24uICovXG5jb25zdCBIT1VSU19BTkdMRSA9IDMwO1xuXG4vKiogQW5nbGUgYmV0d2VlbiB0d28gY29uc2VjdXRpdmUgbWludXRlczogMzYwLzYwLCBtZWFucyBhIGZ1bGwgcm90YXRpb24gLyBudW1iZXIgb2YgbWludXRlcyBpbiBvbmUgaG91ci4gKi9cbmNvbnN0IE1JTlVURVNfQU5HTEUgPSA2O1xuXG4vKiogQW5nbGUgYmV0d2VlbiB0d28gY29uc2VjdXRpdmUgc2Vjb25kcyBmb3IgU0JCIGNsb2NrIGN1c3RvbSBiZWhhdmlvci4gKi9cbmNvbnN0IFNCQl9TRUNPTkRTX0FOR0xFID0gMzYwIC8gNTguNTtcblxuLyoqIE51bWJlciBvZiBzZWNvbmRzIGluIGEgbWludXRlLiAqL1xuY29uc3QgU0VDT05EU19JTl9BX01JTlVURSA9IDYwO1xuXG4vKiogTnVtYmVyIG9mIHNlY29uZHMgaW4gYW4gaG91ci4gKi9cbmNvbnN0IFNFQ09ORFNfSU5fQU5fSE9VUiA9IDM2MDA7XG5cbmNvbnN0IEFERF9FVkVOVF9MSVNURU5FUl9PUFRJT05TOiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA9IHtcbiAgb25jZTogdHJ1ZSxcbiAgcGFzc2l2ZTogdHJ1ZSxcbn07XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gYW5hbG9nIGNsb2NrIHdpdGggdGhlIGNsYXNzaWMgU0JCIGZhY2UuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItY2xvY2snKVxuZXhwb3J0IGNsYXNzIFNiYkNsb2NrRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogRGVmaW5lIGEgc3BlY2lmaWMgdGltZSB3aGljaCB0aGUgY2xvY2sgc2hvdWxkIHNob3cgc3RhdGljYWxseS5cbiAgICogQHBhcmFtIHZhbHVlIEhIOk1NOnNzXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgbm93OiBTYmJUaW1lIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgaG91ciBoYW5kLiAqL1xuICBwcml2YXRlIF9jbG9ja0hhbmRIb3VycyE6IEhUTUxFbGVtZW50O1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIG1pbnV0ZSBoYW5kLiAqL1xuICBwcml2YXRlIF9jbG9ja0hhbmRNaW51dGVzITogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgc2Vjb25kIGhhbmQuICovXG4gIHByaXZhdGUgX2Nsb2NrSGFuZFNlY29uZHMhOiBIVE1MRWxlbWVudDtcblxuICAvKiogSG91cnMgdmFsdWUgZm9yIHRoZSBjdXJyZW50IGRhdGUuICovXG4gIHByaXZhdGUgX2hvdXJzITogbnVtYmVyO1xuXG4gIC8qKiBNaW51dGVzIHZhbHVlIGZvciB0aGUgY3VycmVudCBkYXRlLiAqL1xuICBwcml2YXRlIF9taW51dGVzITogbnVtYmVyO1xuXG4gIC8qKiBTZWNvbmRzIHZhbHVlIGZvciB0aGUgY3VycmVudCBkYXRlLiAqL1xuICBwcml2YXRlIF9zZWNvbmRzITogbnVtYmVyO1xuXG4gIC8qKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgaG91cnMgaGFuZC4gKi9cbiAgcHJpdmF0ZSBfbW92ZUhvdXJzSGFuZEZuID0gKCk6IHZvaWQgPT4gdGhpcy5fbW92ZUhvdXJzSGFuZCgpO1xuXG4gIC8qKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgbWludXRlcyBoYW5kLiAqL1xuICBwcml2YXRlIF9tb3ZlTWludXRlc0hhbmRGbiA9ICgpOiB2b2lkID0+IHRoaXMuX21vdmVNaW51dGVzSGFuZCgpO1xuXG4gIC8qKiBNb3ZlIHRoZSBtaW51dGVzIGhhbmQgZXZlcnkgbWludXRlLiAqL1xuICBwcml2YXRlIF9oYW5kTW92ZW1lbnQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoIWlzU2VydmVyICYmIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbm93JykpIHtcbiAgICAgIGlmICh0aGlzLm5vdykge1xuICAgICAgICB0aGlzLl9yZW1vdmVTZWNvbmRzQW5pbWF0aW9uU3R5bGVzKCk7XG4gICAgICAgIHRoaXMuX3JlbW92ZUhvdXJzQW5pbWF0aW9uU3R5bGVzKCk7XG4gICAgICAgIHRoaXMuX3N0b3BDbG9jaygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc3RhcnRDbG9jaygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVBhZ2VWaXNpYmlsaXR5Q2hhbmdlID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGlmIChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPT09ICdoaWRkZW4nKSB7XG4gICAgICBhd2FpdCB0aGlzLl9zdG9wQ2xvY2soKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLm5vdykge1xuICAgICAgYXdhaXQgdGhpcy5fc3RhcnRDbG9jaygpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9hZGRFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgdGhpcy5faGFuZGxlUGFnZVZpc2liaWxpdHlDaGFuZ2UsIGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZUV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgdGhpcy5faGFuZGxlUGFnZVZpc2liaWxpdHlDaGFuZ2UpO1xuICAgIHRoaXMuX2Nsb2NrSGFuZEhvdXJzPy5yZW1vdmVFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCB0aGlzLl9tb3ZlSG91cnNIYW5kRm4pO1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIHRoaXMuX21vdmVNaW51dGVzSGFuZEZuKTtcbiAgICBjbGVhckludGVydmFsKHRoaXMuX2hhbmRNb3ZlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIF9yZW1vdmVIb3Vyc0FuaW1hdGlvblN0eWxlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9ja0hhbmRIb3Vycz8uY2xhc3NMaXN0LnJlbW92ZSgnc2JiLWNsb2NrX19oYW5kLWhvdXJzLS1pbml0aWFsLWhvdXInKTtcbiAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tc3RhcnQtYW5nbGUnKTtcbiAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZVNlY29uZHNBbmltYXRpb25TdHlsZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8uY2xhc3NMaXN0LnJlbW92ZSgnc2JiLWNsb2NrX19oYW5kLXNlY29uZHMtLWluaXRpYWwtbWludXRlJyk7XG4gICAgdGhpcy5fY2xvY2tIYW5kTWludXRlcz8uY2xhc3NMaXN0LnJlbW92ZSgnc2JiLWNsb2NrX19oYW5kLW1pbnV0ZXMtLW5vLXRyYW5zaXRpb24nKTtcbiAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXNiYi1jbG9jay1zZWNvbmRzLWFuaW1hdGlvbi1zdGFydC1hbmdsZScpO1xuICAgIHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tc2JiLWNsb2NrLXNlY29uZHMtYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICAvKiogR2l2ZW4gdGhlIGN1cnJlbnQgZGF0ZSwgY2FsY3VsYXRlcyB0aGUgaGgvbW0vc3MgdmFsdWVzIGFuZCB0aGUgaGgvbW0vc3MgbGVmdCB0byB0aGUgbmV4dCBtaWRuaWdodC4gKi9cbiAgcHJpdmF0ZSBfYXNzaWduQ3VycmVudFRpbWUoKTogdm9pZCB7XG4gICAgY29uc3QgZGF0ZSA9IHRoaXMubm93ID8gbnVsbCA6IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgW2hvdXJzLCBtaW51dGVzLCBzZWNvbmRzXSA9IGRhdGVcbiAgICAgID8gW2RhdGUuZ2V0SG91cnMoKSwgZGF0ZS5nZXRNaW51dGVzKCksIGRhdGUuZ2V0U2Vjb25kcygpXVxuICAgICAgOiB0aGlzLm5vdyEuc3BsaXQoJzonKS5tYXAoKHApID0+ICtwKTtcblxuICAgIHRoaXMuX2hvdXJzID0gaG91cnMgJSAxMjtcbiAgICB0aGlzLl9taW51dGVzID0gbWludXRlcztcbiAgICB0aGlzLl9zZWNvbmRzID0gc2Vjb25kcztcbiAgfVxuXG4gIC8qKiBTZXQgdGhlIHN0YXJ0aW5nIHBvc2l0aW9uIGZvciB0aGUgdGhyZWUgaGFuZHMgb24gdGhlIGNsb2NrIGZhY2UuICovXG4gIHByaXZhdGUgX3NldEhhbmRzU3RhcnRpbmdQb3NpdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9hc3NpZ25DdXJyZW50VGltZSgpO1xuICAgIGNvbnN0IHJlbWFpbmluZ1NlY29uZHMgPSBUT1RBTF9TRUNPTkRTX09OX0NMT0NLX0ZBQ0UgLSB0aGlzLl9zZWNvbmRzO1xuICAgIGNvbnN0IHJlbWFpbmluZ01pbnV0ZXMgPSBUT1RBTF9NSU5VVEVTX09OX0NMT0NLX0ZBQ0UgLSB0aGlzLl9taW51dGVzO1xuICAgIGNvbnN0IHJlbWFpbmluZ0hvdXJzID0gVE9UQUxfSE9VUlNfT05fQ0xPQ0tfRkFDRSAtIHRoaXMuX2hvdXJzO1xuXG4gICAgbGV0IGhvdXJzQW5pbWF0aW9uRHVyYXRpb24gPSAwO1xuICAgIGxldCBoYXNSZW1haW5pbmdNaW51dGVzT3JTZWNvbmRzID0gMDtcblxuICAgIGlmIChyZW1haW5pbmdTZWNvbmRzID4gMCkge1xuICAgICAgaG91cnNBbmltYXRpb25EdXJhdGlvbiArPSByZW1haW5pbmdTZWNvbmRzO1xuICAgICAgaGFzUmVtYWluaW5nTWludXRlc09yU2Vjb25kcyA9IDE7XG4gICAgfVxuXG4gICAgaWYgKHJlbWFpbmluZ01pbnV0ZXMgPiAwKSB7XG4gICAgICBob3Vyc0FuaW1hdGlvbkR1cmF0aW9uICs9XG4gICAgICAgIChyZW1haW5pbmdNaW51dGVzIC0gaGFzUmVtYWluaW5nTWludXRlc09yU2Vjb25kcykgKiBTRUNPTkRTX0lOX0FfTUlOVVRFO1xuICAgICAgaGFzUmVtYWluaW5nTWludXRlc09yU2Vjb25kcyA9IDE7XG4gICAgfVxuXG4gICAgaWYgKHJlbWFpbmluZ0hvdXJzID4gMCkge1xuICAgICAgaG91cnNBbmltYXRpb25EdXJhdGlvbiArPVxuICAgICAgICAocmVtYWluaW5nSG91cnMgLSBoYXNSZW1haW5pbmdNaW51dGVzT3JTZWNvbmRzKSAqIFNFQ09ORFNfSU5fQU5fSE9VUjtcbiAgICB9XG5cbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eShcbiAgICAgICctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tc3RhcnQtYW5nbGUnLFxuICAgICAgYCR7TWF0aC5jZWlsKHRoaXMuX2hvdXJzICogSE9VUlNfQU5HTEUgKyB0aGlzLl9taW51dGVzIC8gMil9ZGVnYCxcbiAgICApO1xuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tZHVyYXRpb24nLCBgJHtob3Vyc0FuaW1hdGlvbkR1cmF0aW9ufXNgKTtcbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eShcbiAgICAgICctLXNiYi1jbG9jay1zZWNvbmRzLWFuaW1hdGlvbi1zdGFydC1hbmdsZScsXG4gICAgICBgJHtNYXRoLmNlaWwodGhpcy5fc2Vjb25kcyAqIFNCQl9TRUNPTkRTX0FOR0xFKX1kZWdgLFxuICAgICk7XG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLWNsb2NrLXNlY29uZHMtYW5pbWF0aW9uLWR1cmF0aW9uJywgYCR7cmVtYWluaW5nU2Vjb25kc31zYCk7XG5cbiAgICB0aGlzLl9zZXRNaW51dGVzSGFuZCgpO1xuXG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8uY2xhc3NMaXN0LmFkZCgnc2JiLWNsb2NrX19oYW5kLXNlY29uZHMtLWluaXRpYWwtbWludXRlJyk7XG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LmNsYXNzTGlzdC5hZGQoJ3NiYi1jbG9ja19faGFuZC1ob3Vycy0taW5pdGlhbC1ob3VyJyk7XG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLWNsb2NrLWFuaW1hdGlvbi1wbGF5LXN0YXRlJywgJ3J1bm5pbmcnKTtcblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWluaXRpYWxpemVkJywgdHJ1ZSk7XG4gIH1cblxuICAvKiogU2V0IHRoZSBzdGFydGluZyBwb3NpdGlvbiBmb3IgdGhlIG1pbnV0ZXMgaGFuZC4gKi9cbiAgcHJpdmF0ZSBfc2V0TWludXRlc0hhbmQoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvY2tIYW5kTWludXRlcz8uc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAndHJhbnNmb3JtJyxcbiAgICAgIGByb3RhdGVaKCR7TWF0aC5jZWlsKHRoaXMuX21pbnV0ZXMgKiBNSU5VVEVTX0FOR0xFKX1kZWcpYCxcbiAgICApO1xuICB9XG5cbiAgLyoqIE1vdmUgdGhlIGhvdXJzIGhhbmQgdG8gdGhlIG5leHQgdmFsdWUuICovXG4gIHByaXZhdGUgX21vdmVIb3Vyc0hhbmQoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVtb3ZlSG91cnNBbmltYXRpb25TdHlsZXMoKTtcblxuICAgIGxldCBob3Vyc0FuZ2xlID0gTWF0aC5jZWlsKHRoaXMuX2hvdXJzICogSE9VUlNfQU5HTEUgKyB0aGlzLl9taW51dGVzIC8gMik7XG5cbiAgICBpZiAoaG91cnNBbmdsZSA+PSBGVUxMX0FOR0xFKSB7XG4gICAgICBob3Vyc0FuZ2xlIC09IEZVTExfQU5HTEU7XG4gICAgfVxuXG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LnN0eWxlLnNldFByb3BlcnR5KCd0cmFuc2Zvcm0nLCBgcm90YXRlWigke2hvdXJzQW5nbGV9ZGVnKWApO1xuICB9XG5cbiAgLyoqIE1vdmUgdGhlIG1pbnV0ZXMgaGFuZCB0byB0aGUgbmV4dCB2YWx1ZS4gKi9cbiAgcHJpdmF0ZSBfbW92ZU1pbnV0ZXNIYW5kKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIHRoaXMuX21vdmVNaW51dGVzSGFuZEZuKTtcblxuICAgIHRoaXMuX3JlbW92ZVNlY29uZHNBbmltYXRpb25TdHlsZXMoKTtcblxuICAgIHRoaXMuX2FkZE1pbnV0ZXNBbmRTZXRIYW5kcygpO1xuXG4gICAgdGhpcy5faGFuZE1vdmVtZW50ID0gc2V0SW50ZXJ2YWwoXG4gICAgICAoKSA9PiB0aGlzLl9hZGRNaW51dGVzQW5kU2V0SGFuZHMoKSxcbiAgICAgIFRPVEFMX1NFQ09ORFNfT05fQ0xPQ0tfRkFDRSAqIDEwMDAsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZE1pbnV0ZXNBbmRTZXRIYW5kcygpOiB2b2lkIHtcbiAgICB0aGlzLl9taW51dGVzKys7XG4gICAgdGhpcy5fc2V0TWludXRlc0hhbmQoKTtcbiAgfVxuXG4gIC8qKiBTdG9wcyB0aGUgY2xvY2sgYnkgcmVtb3ZpbmcgYWxsIHRoZSBhbmltYXRpb25zLiAqL1xuICBwcml2YXRlIGFzeW5jIF9zdG9wQ2xvY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9oYW5kTW92ZW1lbnQpO1xuXG4gICAgaWYgKHRoaXMubm93KSB7XG4gICAgICB0aGlzLl9zZXRIYW5kc1N0YXJ0aW5nUG9zaXRpb24oKTtcblxuICAgICAgLy8gV2FpdCBhIHRpY2sgdG8gYmVmb3JlIGFuaW1hdGlvbiBpcyBhZGRlZC4gT3RoZXJ3aXNlLCB0aGUgYW5pbWF0aW9uIGdldHMgbm90IGNvbXBsZXRlbHlcbiAgICAgIC8vIHJlbW92ZWQgd2hpY2ggY2FuIGxlYWQgdG8gYSBtaXNwb3NpdGlvbmVkIHNlY29uZHMgaGFuZC5cbiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUpKTtcblxuICAgICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8uY2xhc3NMaXN0LmFkZCgnc2JiLWNsb2NrX19oYW5kLXNlY29uZHMtLWluaXRpYWwtbWludXRlJyk7XG4gICAgICB0aGlzLl9jbG9ja0hhbmRIb3Vycz8uY2xhc3NMaXN0LmFkZCgnc2JiLWNsb2NrX19oYW5kLWhvdXJzLS1pbml0aWFsLWhvdXInKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fcmVtb3ZlU2Vjb25kc0FuaW1hdGlvblN0eWxlcygpO1xuICAgICAgdGhpcy5fcmVtb3ZlSG91cnNBbmltYXRpb25TdHlsZXMoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jbG9ja0hhbmRIb3Vycz8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignYW5pbWF0aW9uZW5kJywgdGhpcy5fbW92ZUhvdXJzSGFuZEZuKTtcbiAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzPy5yZW1vdmVFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCB0aGlzLl9tb3ZlTWludXRlc0hhbmRGbik7XG5cbiAgICB0aGlzLl9jbG9ja0hhbmRNaW51dGVzPy5jbGFzc0xpc3QuYWRkKCdzYmItY2xvY2tfX2hhbmQtbWludXRlcy0tbm8tdHJhbnNpdGlvbicpO1xuXG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLWNsb2NrLWFuaW1hdGlvbi1wbGF5LXN0YXRlJywgJ3BhdXNlZCcpO1xuICB9XG5cbiAgLyoqIFN0YXJ0cyB0aGUgY2xvY2sgYnkgZGVmaW5pbmcgdGhlIGhhbmRzIHN0YXJ0aW5nIHBvc2l0aW9uIHRoZW4gc3RhcnRpbmcgdGhlIGFuaW1hdGlvbnMuICovXG4gIHByaXZhdGUgYXN5bmMgX3N0YXJ0Q2xvY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnYW5pbWF0aW9uZW5kJyxcbiAgICAgIHRoaXMuX21vdmVIb3Vyc0hhbmRGbixcbiAgICAgIEFERF9FVkVOVF9MSVNURU5FUl9PUFRJT05TLFxuICAgICk7XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdhbmltYXRpb25lbmQnLFxuICAgICAgdGhpcy5fbW92ZU1pbnV0ZXNIYW5kRm4sXG4gICAgICBBRERfRVZFTlRfTElTVEVORVJfT1BUSU9OUyxcbiAgICApO1xuXG4gICAgYXdhaXQgbmV3IFByb21pc2UoKCkgPT5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fc2V0SGFuZHNTdGFydGluZ1Bvc2l0aW9uKCksIElOSVRJQUxfVElNRU9VVF9EVVJBVElPTiksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJzKCk7XG5cbiAgICAgIGlmICh0aGlzLm5vdykge1xuICAgICAgICBhd2FpdCB0aGlzLl9zdG9wQ2xvY2soKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IHRoaXMuX3N0YXJ0Q2xvY2soKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9yZW1vdmVFdmVudExpc3RlbmVycygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWNsb2NrXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWNsb2NrX19mYWNlXCIgLmlubmVySFRNTD0ke2Nsb2NrRmFjZVNWR30+PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic2JiLWNsb2NrX19oYW5kLWhvdXJzXCJcbiAgICAgICAgICAuaW5uZXJIVE1MPSR7Y2xvY2tIYW5kbGVIb3Vyc1NWR31cbiAgICAgICAgICAke3JlZigoZT86IEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Nsb2NrSGFuZEhvdXJzID0gZSBhcyBIVE1MU3BhbkVsZW1lbnQ7XG4gICAgICAgICAgfSl9XG4gICAgICAgID48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJzYmItY2xvY2tfX2hhbmQtbWludXRlcyBzYmItY2xvY2tfX2hhbmQtbWludXRlcy0tbm8tdHJhbnNpdGlvblwiXG4gICAgICAgICAgLmlubmVySFRNTD0ke2Nsb2NrSGFuZGxlTWludXRlc1NWR31cbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jbG9ja0hhbmRNaW51dGVzID0gZWwgYXMgSFRNTFNwYW5FbGVtZW50O1xuICAgICAgICAgIH0pfVxuICAgICAgICA+PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic2JiLWNsb2NrX19oYW5kLXNlY29uZHNcIlxuICAgICAgICAgIC5pbm5lckhUTUw9JHtjbG9ja0hhbmRsZVNlY29uZHNTVkd9XG4gICAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcyA9IGVsIGFzIEhUTUxTcGFuRWxlbWVudDtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jbG9jayc6IFNiYkNsb2NrRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQWUsZUFBQTtBQ0FmLE1BQWUsc0JBQUE7QUNBZixNQUFlLHdCQUFBO0FDQWYsTUFBZSx3QkFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2NmLE1BQU0sNEJBQTRCO0FBR2xDLE1BQU0sOEJBQThCO0FBR3BDLE1BQU0sOEJBQThCO0FBR3BDLE1BQU0sMkJBQTJCO0FBR2pDLE1BQU0sYUFBYTtBQUduQixNQUFNLGNBQWM7QUFHcEIsTUFBTSxnQkFBZ0I7QUFHdEIsTUFBTSxvQkFBb0IsTUFBTTtBQUdoQyxNQUFNLHNCQUFzQjtBQUc1QixNQUFNLHFCQUFxQjtBQUUzQixNQUFNLDZCQUFzRDtBQUFBLEVBQzFELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWDtBQU1hLElBQUEsa0JBQU4sY0FBOEIsV0FBVztBQUFBLEVBQXpDLGNBQUE7QUFBQSxVQUFBLEdBQUEsU0FBQTtBQU9PLFNBQU8sTUFBc0I7QUFxQmpDLFNBQUEsbUJBQW1CLE1BQVksS0FBSyxlQUFlO0FBR25ELFNBQUEscUJBQXFCLE1BQVksS0FBSyxpQkFBaUI7QUFtQi9ELFNBQVEsOEJBQThCLFlBQTJCO0FBQzNELFVBQUEsU0FBUyxvQkFBb0IsVUFBVTtBQUN6QyxjQUFNLEtBQUs7TUFBVyxXQUNiLENBQUMsS0FBSyxLQUFLO0FBQ3BCLGNBQU0sS0FBSztNQUNiO0FBQUEsSUFBQTtBQUFBLEVBQ0Y7QUFBQSxFQXBCbUIsV0FBVyxtQkFBK0M7QUFDM0UsVUFBTSxXQUFXLGlCQUFpQjtBQUVsQyxRQUFJLENBQUMsWUFBWSxrQkFBa0IsSUFBSSxLQUFLLEdBQUc7QUFDN0MsVUFBSSxLQUFLLEtBQUs7QUFDWixhQUFLLDhCQUE4QjtBQUNuQyxhQUFLLDRCQUE0QjtBQUNqQyxhQUFLLFdBQVc7QUFBQSxNQUFBLE9BQ1g7QUFDTCxhQUFLLFlBQVk7QUFBQSxNQUNuQjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFVUSxxQkFBMkI7QUFDakMsYUFBUyxpQkFBaUIsb0JBQW9CLEtBQUssNkJBQTZCLEtBQUs7QUFBQSxFQUN2RjtBQUFBLEVBRVEsd0JBQThCOztBQUMxQix5Q0FBQSxvQkFBb0Isb0JBQW9CLEtBQUs7QUFDdkQsZUFBSyxvQkFBTCxtQkFBc0Isb0JBQW9CLGdCQUFnQixLQUFLO0FBQy9ELGVBQUssc0JBQUwsbUJBQXdCLG9CQUFvQixnQkFBZ0IsS0FBSztBQUNqRSxrQkFBYyxLQUFLLGFBQWE7QUFBQSxFQUNsQztBQUFBLEVBRVEsOEJBQW9DOztBQUNyQyxlQUFBLG9CQUFBLG1CQUFpQixVQUFVLE9BQU87QUFDbEMsU0FBQSxNQUFNLGVBQWUseUNBQXlDO0FBQzlELFNBQUEsTUFBTSxlQUFlLHNDQUFzQztBQUFBLEVBQ2xFO0FBQUEsRUFFUSxnQ0FBc0M7O0FBQ3ZDLGVBQUEsc0JBQUEsbUJBQW1CLFVBQVUsT0FBTztBQUNwQyxlQUFBLHNCQUFBLG1CQUFtQixVQUFVLE9BQU87QUFDcEMsU0FBQSxNQUFNLGVBQWUsMkNBQTJDO0FBQ2hFLFNBQUEsTUFBTSxlQUFlLHdDQUF3QztBQUFBLEVBQ3BFO0FBQUE7QUFBQSxFQUdRLHFCQUEyQjtBQUNqQyxVQUFNLE9BQU8sS0FBSyxNQUFNLDJCQUFXLEtBQUs7QUFDbEMsVUFBQSxDQUFDLE9BQU8sU0FBUyxPQUFPLElBQUksT0FDOUIsQ0FBQyxLQUFLLFNBQUEsR0FBWSxLQUFLLFdBQVcsR0FBRyxLQUFLLFlBQVksSUFDdEQsS0FBSyxJQUFLLE1BQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUV0QyxTQUFLLFNBQVMsUUFBUTtBQUN0QixTQUFLLFdBQVc7QUFDaEIsU0FBSyxXQUFXO0FBQUEsRUFDbEI7QUFBQTtBQUFBLEVBR1EsNEJBQWtDOztBQUN4QyxTQUFLLG1CQUFtQjtBQUNsQixVQUFBLG1CQUFtQiw4QkFBOEIsS0FBSztBQUN0RCxVQUFBLG1CQUFtQiw4QkFBOEIsS0FBSztBQUN0RCxVQUFBLGlCQUFpQiw0QkFBNEIsS0FBSztBQUV4RCxRQUFJLHlCQUF5QjtBQUM3QixRQUFJLCtCQUErQjtBQUVuQyxRQUFJLG1CQUFtQixHQUFHO0FBQ0UsZ0NBQUE7QUFDSyxxQ0FBQTtBQUFBLElBQ2pDO0FBRUEsUUFBSSxtQkFBbUIsR0FBRztBQUN4QixpQ0FDRyxtQkFBbUIsZ0NBQWdDO0FBQ3ZCLHFDQUFBO0FBQUEsSUFDakM7QUFFQSxRQUFJLGlCQUFpQixHQUFHO0FBQ3RCLGlDQUNHLGlCQUFpQixnQ0FBZ0M7QUFBQSxJQUN0RDtBQUVBLGVBQUssVUFBTCxtQkFBWTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLEdBQUcsS0FBSyxLQUFLLEtBQUssU0FBUyxjQUFjLEtBQUssV0FBVyxDQUFDLENBQUM7QUFBQTtBQUU3RCxlQUFLLFVBQUwsbUJBQVksWUFBWSx3Q0FBd0MsR0FBRyxzQkFBc0I7QUFDekYsZUFBSyxVQUFMLG1CQUFZO0FBQUEsTUFDVjtBQUFBLE1BQ0EsR0FBRyxLQUFLLEtBQUssS0FBSyxXQUFXLGlCQUFpQixDQUFDO0FBQUE7QUFFakQsZUFBSyxVQUFMLG1CQUFZLFlBQVksMENBQTBDLEdBQUcsZ0JBQWdCO0FBRXJGLFNBQUssZ0JBQWdCO0FBRWhCLGVBQUEsc0JBQUEsbUJBQW1CLFVBQVUsSUFBSTtBQUNqQyxlQUFBLG9CQUFBLG1CQUFpQixVQUFVLElBQUk7QUFDL0IsZUFBQSxVQUFBLG1CQUFPLFlBQVksb0NBQW9DO0FBRXZELFNBQUEsZ0JBQWdCLG9CQUFvQixJQUFJO0FBQUEsRUFDL0M7QUFBQTtBQUFBLEVBR1Esa0JBQXdCOztBQUM5QixlQUFLLHNCQUFMLG1CQUF3QixNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxhQUFhLENBQUM7QUFBQTtBQUFBLEVBRXZEO0FBQUE7QUFBQSxFQUdRLGlCQUF1Qjs7QUFDN0IsU0FBSyw0QkFBNEI7QUFFN0IsUUFBQSxhQUFhLEtBQUssS0FBSyxLQUFLLFNBQVMsY0FBYyxLQUFLLFdBQVcsQ0FBQztBQUV4RSxRQUFJLGNBQWMsWUFBWTtBQUNkLG9CQUFBO0FBQUEsSUFDaEI7QUFFQSxlQUFLLG9CQUFMLG1CQUFzQixNQUFNLFlBQVksYUFBYSxXQUFXLFVBQVU7QUFBQSxFQUM1RTtBQUFBO0FBQUEsRUFHUSxtQkFBeUI7O0FBQy9CLGVBQUssc0JBQUwsbUJBQXdCLG9CQUFvQixnQkFBZ0IsS0FBSztBQUVqRSxTQUFLLDhCQUE4QjtBQUVuQyxTQUFLLHVCQUF1QjtBQUU1QixTQUFLLGdCQUFnQjtBQUFBLE1BQ25CLE1BQU0sS0FBSyx1QkFBdUI7QUFBQSxNQUNsQyw4QkFBOEI7QUFBQSxJQUFBO0FBQUEsRUFFbEM7QUFBQSxFQUVRLHlCQUErQjtBQUNoQyxTQUFBO0FBQ0wsU0FBSyxnQkFBZ0I7QUFBQSxFQUN2QjtBQUFBO0FBQUEsRUFHQSxNQUFjLGFBQTRCOztBQUN4QyxrQkFBYyxLQUFLLGFBQWE7QUFFaEMsUUFBSSxLQUFLLEtBQUs7QUFDWixXQUFLLDBCQUEwQjtBQUkvQixZQUFNLElBQUksUUFBUSxDQUFDLFlBQVksV0FBVyxPQUFPLENBQUM7QUFFN0MsaUJBQUEsc0JBQUEsbUJBQW1CLFVBQVUsSUFBSTtBQUNqQyxpQkFBQSxvQkFBQSxtQkFBaUIsVUFBVSxJQUFJO0FBQUEsSUFBcUMsT0FDcEU7QUFDTCxXQUFLLDhCQUE4QjtBQUNuQyxXQUFLLDRCQUE0QjtBQUFBLElBQ25DO0FBRUEsZUFBSyxvQkFBTCxtQkFBc0Isb0JBQW9CLGdCQUFnQixLQUFLO0FBQy9ELGVBQUssc0JBQUwsbUJBQXdCLG9CQUFvQixnQkFBZ0IsS0FBSztBQUU1RCxlQUFBLHNCQUFBLG1CQUFtQixVQUFVLElBQUk7QUFFakMsZUFBQSxVQUFBLG1CQUFPLFlBQVksb0NBQW9DO0FBQUEsRUFDOUQ7QUFBQTtBQUFBLEVBR0EsTUFBYyxjQUE2Qjs7QUFDekMsZUFBSyxvQkFBTCxtQkFBc0I7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsS0FBSztBQUFBLE1BQ0w7QUFBQTtBQUVGLGVBQUssc0JBQUwsbUJBQXdCO0FBQUEsTUFDdEI7QUFBQSxNQUNBLEtBQUs7QUFBQSxNQUNMO0FBQUE7QUFHRixVQUFNLElBQUk7QUFBQSxNQUFRLE1BQ2hCLFdBQVcsTUFBTSxLQUFLLDBCQUFBLEdBQTZCLHdCQUF3QjtBQUFBLElBQUE7QUFBQSxFQUUvRTtBQUFBLEVBRUEsTUFBeUIsYUFBYSxtQkFBd0Q7QUFDNUYsVUFBTSxhQUFhLGlCQUFpQjtBQUVwQyxRQUFJLENBQUMsVUFBVTtBQUNiLFdBQUssbUJBQW1CO0FBRXhCLFVBQUksS0FBSyxLQUFLO0FBQ1osY0FBTSxLQUFLO01BQVcsT0FDakI7QUFDTCxjQUFNLEtBQUs7TUFDYjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFFZ0IsdUJBQTZCO0FBQzNDLFVBQU0scUJBQXFCO0FBQzNCLFNBQUssc0JBQXNCO0FBQUEsRUFDN0I7QUFBQSxFQUVtQixTQUF5QjtBQUNuQyxXQUFBO0FBQUE7QUFBQSxtREFFd0MsWUFBWTtBQUFBO0FBQUE7QUFBQSx1QkFHeEMsbUJBQW1CO0FBQUEsWUFDOUIsSUFBSSxDQUFDLE1BQXNCO0FBQzNCLFdBQUssa0JBQWtCO0FBQUEsSUFBQSxDQUN4QixDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUEsdUJBSVcscUJBQXFCO0FBQUEsWUFDaEMsSUFBSSxDQUFDLE9BQXVCO0FBQzVCLFdBQUssb0JBQW9CO0FBQUEsSUFBQSxDQUMxQixDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUEsdUJBSVcscUJBQXFCO0FBQUEsWUFDaEMsSUFBSSxDQUFDLE9BQXVCO0FBQzVCLFdBQUssb0JBQW9CO0FBQUEsSUFBQSxDQUMxQixDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJVjtBQUNGO0FBL1FhLGdCQUNZLFNBQXlCO0FBTTdCLGdCQUFBO0FBQUEsRUFBbEIsU0FBUztBQUFBLEdBUEMsZ0JBT1EsV0FBQSxPQUFBLENBQUE7QUFQUixrQkFBTixnQkFBQTtBQUFBLEVBRE4sY0FBYyxXQUFXO0FBQUEsR0FDYixlQUFBOyJ9
|
|
386
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvY2suanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jbG9jay9hc3NldHMvc2JiX2Nsb2NrX2ZhY2Uuc3ZnP3JhdyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jbG9jay9hc3NldHMvc2JiX2Nsb2NrX2hvdXJzLnN2Zz9yYXciLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY2xvY2svYXNzZXRzL3NiYl9jbG9ja19taW51dGVzLnN2Zz9yYXciLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY2xvY2svYXNzZXRzL3NiYl9jbG9ja19zZWNvbmRzLnN2Zz9yYXciLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY2xvY2svY2xvY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCI8c3ZnIGZvY3VzYWJsZT1cXFwiZmFsc2VcXFwiIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDEwNSAxMDVcXFwiPjxnIGNsYXNzPVxcXCJmYWNlXFxcIj48Y2lyY2xlIGZpbGw9XFxcIiNGRkZcXFwiIGN4PVxcXCI1Mi41XFxcIiBjeT1cXFwiNTIuNVxcXCIgcj1cXFwiNTIuNVxcXCIvPjxwYXRoIGQ9XFxcIk01MC43NSA0aDMuNXYxMmgtMy41ek01MC43NSA4OWgzLjV2MTJoLTMuNXpNNzUuMjMzIDkuNjIzbDMuMDMgMS43NS02IDEwLjM5Mi0zLjAzLTEuNzV6TTMyLjczNCA4My4yMzNsMy4wMyAxLjc1LTYgMTAuMzkyLTMuMDMtMS43NXpNOTMuNjI4IDI2LjczMmwxLjc1IDMuMDMxLTEwLjM5MiA2LTEuNzUtMy4wM3pNMjAuMDE3IDY5LjIzNGwxLjc1IDMuMDMxLTEwLjM5MiA2LTEuNzUtMy4wM3pNMTAxIDUwLjc1djMuNUg4OXYtMy41ek0xNiA1MC43NXYzLjVINHYtMy41ek05NS4zNzkgNzUuMjMybC0xLjc1IDMuMDMxLTEwLjM5Mi02IDEuNzUtMy4wM3pNMjEuNzY2IDMyLjczNGwtMS43NSAzLjAzMS0xMC4zOTItNiAxLjc1LTMuMDN6TTc4LjI2NyA5My42M2wtMy4wMyAxLjc1LTYtMTAuMzkzIDMuMDMtMS43NXpNMzUuNzY2IDIwLjAxNWwtMy4wMyAxLjc1LTYtMTAuMzkyIDMuMDMtMS43NXpcXFwiLz48Zz48cGF0aCBkPVxcXCJNNTYuODczIDQuMTlsMS4zOTIuMTQ3LS4zNjYgMy40OC0xLjM5Mi0uMTQ1ek00Ny4xMDEgOTcuMTc3bDEuMzkzLjE0Ni0uMzY2IDMuNDgxLTEuMzkyLS4xNDZ6TTYxLjg5NiA0LjkxNGwxLjM3LjI5LS43MjggMy40MjQtMS4zNy0uMjl6TTQyLjQ1OCA5Ni4zNjZsMS4zNy4yOS0uNzI4IDMuNDI0LTEuMzctLjI5MXpNNjYuODI1IDYuMTU3bDEuMzMyLjQzMi0xLjA4MiAzLjMzLTEuMzMxLS40MzR6TTM3LjkzMSA5NS4wODVsMS4zMzIuNDMyLTEuMDgyIDMuMzMtMS4zMzEtLjQzM3pNNzEuNTg0IDcuOTA2bDEuMjguNTY5LTEuNDI0IDMuMTk3LTEuMjgtLjU3ek0zMy41NiA5My4zMmwxLjI3OC41NjktMS40MjMgMy4xOTctMS4yOC0uNTd6TTgwLjQ0IDEyLjg1MmwxLjEzMy44MjMtMi4wNTggMi44MzEtMS4xMzItLjgyM3pNMjUuNDgxIDg4LjQ5NGwxLjEzMy44MjItMi4wNTcgMi44MzItMS4xMzMtLjgyM3pNODQuNDMgMTUuOTg2bDEuMDQuOTM3LTIuMzQyIDIuNi0xLjA0LS45MzZ6TTIxLjg3IDg1LjQ2OWwxLjA0LjkzNi0yLjM0MSAyLjYwMS0xLjA0LS45Mzd6TTg4LjA3MiAxOS41MjJsLjkzNyAxLjA0LTIuNiAyLjM0My0uOTM3LTEuMDR6TTE4LjU5MyA4Mi4wODhsLjkzNyAxLjA0LTIuNjAxIDIuMzQyLS45MzctMS4wNHpNOTEuMzI4IDIzLjQyNWwuODIzIDEuMTMzLTIuODMyIDIuMDU3LS44MjMtMS4xMzJ6TTE1LjY4NCA3OC4zODVsLjgyMyAxLjEzMi0yLjgzMiAyLjA1OC0uODIyLTEuMTMzek05Ni41MiAzMi4xMjhsLjU3IDEuMjc5LTMuMTk4IDEuNDIzLS41Ny0xLjI3OHpNMTEuMTA5IDcwLjE2MWwuNTY5IDEuMjc5LTMuMTk3IDEuNDIzLS41Ny0xLjI3OXpNOTguNDA3IDM2Ljg1bC40MzMgMS4zMzItMy4zMyAxLjA4MS0uNDMyLTEuMzMxek05LjQ4MyA2NS43NGwuNDMyIDEuMzMtMy4zMjkgMS4wODItLjQzMi0xLjMzMXpNOTkuNzk1IDQxLjcyNmwuMjkxIDEuMzctMy40MjMuNzI3LS4yOS0xLjM3ek04LjM0IDYxLjE3bC4yOTIgMS4zNy0zLjQyNC43MjgtLjI5LTEuMzd6TTEwMC42NiA0Ni43M2wuMTQ2IDEuMzkzLTMuNDguMzY2LS4xNDctMS4zOTJ6TTcuNjc0IDU2LjUwNmwuMTQ2IDEuMzkyLTMuNDguMzY2LS4xNDctMS4zOTJ6TTEwMC44MTEgNTYuODczbC0uMTQ2IDEuMzkyLTMuNDgtLjM2NS4xNDUtMS4zOTN6TTcuODIxIDQ3LjEwMWwtLjE0NiAxLjM5Mi0zLjQ4LS4zNjUuMTQ1LTEuMzkzek0xMDAuMDkgNjEuODk1bC0uMjkxIDEuMzY5LTMuNDI0LS43MjguMjkxLTEuMzY5ek04LjYzMSA0Mi40NmwtLjI5MSAxLjM3LTMuNDIzLS43MjguMjktMS4zN3pNOTguODQgNjYuODI3bC0uNDMyIDEuMzMxLTMuMzI5LTEuMDgxLjQzMy0xLjMzMnpNOS45MTggMzcuOTNsLS40MzMgMS4zMzEtMy4zMjktMS4wODIuNDMzLTEuMzMxek05Ny4wOTggNzEuNTg1bC0uNTY5IDEuMjgtMy4xOTctMS40MjQuNTctMS4yOHpNMTEuNjc3IDMzLjU1OGwtLjU3IDEuMjgtMy4xOTctMS40MjQuNTctMS4yNzl6TTkyLjE0OSA4MC40MzlsLS44MjMgMS4xMzMtMi44MzItMi4wNTguODIzLTEuMTMyek0xNi41MDYgMjUuNDgybC0uODIzIDEuMTMzLTIuODMxLTIuMDU3LjgyMy0xLjEzM3pNODkuMDE3IDg0LjQzMWwtLjkzNyAxLjA0LTIuNi0yLjM0MS45MzYtMS4wNHpNMTkuNTI4IDIxLjg2OWwtLjkzNiAxLjA0LTIuNjAxLTIuMzQyLjkzNi0xLjA0ek04NS40OCA4OC4wNzZsLTEuMDQxLjkzNi0yLjM0Mi0yLjYgMS4wNC0uOTM3ek0yMi45MSAxOC41OWwtMS4wNC45MzctMi4zNDEtMi42MDEgMS4wNC0uOTM3ek04MS41NzQgOTEuMzI4bC0xLjEzMy44MjMtMi4wNTctMi44MzEgMS4xMzItLjgyM3pNMjYuNjE3IDE1LjY4NGwtMS4xMzMuODIzLTIuMDU3LTIuODMyIDEuMTMyLS44MjN6TTcyLjg3MyA5Ni41MjRsLTEuMjc5LjU3LTEuNDIzLTMuMTk4IDEuMjc4LS41N3pNMzQuODM4IDExLjEwNWwtMS4yNzkuNTctMS40MjMtMy4xOTggMS4yNzktLjU3ek02OC4xNTEgOTguNDA1bC0xLjMzMS40MzItMS4wODItMy4zMjkgMS4zMzItLjQzMnpNMzkuMjU5IDkuNDg1bC0xLjMzMi40MzMtMS4wODEtMy4zMyAxLjMzMS0uNDMyek02My4yNzIgOTkuNzk5bC0xLjM2OS4yOS0uNzI4LTMuNDIyIDEuMzctLjI5MXpNNDMuODMgOC4zMzdsLTEuMzY5LjI5MS0uNzI3LTMuNDIzIDEuMzctLjI5MXpNNTguMjcgMTAwLjY2MmwtMS4zOTMuMTQ2LS4zNjYtMy40OCAxLjM5My0uMTQ3ek00OC40OTQgNy42NzJsLTEuMzkyLjE0Ny0uMzY2LTMuNDgxIDEuMzkyLS4xNDd6XFxcIi8+PC9nPjwvZz48L3N2Zz5cXG5cIiIsImV4cG9ydCBkZWZhdWx0IFwiPHN2ZyBmb2N1c2FibGU9XFxcImZhbHNlXFxcIiB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHZpZXdCb3g9XFxcIjAgMCAxMDUgMTA1XFxcIj48cGF0aCBpZD1cXFwibW9kX2Nsb2NrX3N2Z19ob3Vyc1xcXCIgZD1cXFwiTTU1LjcgNjQuNWgtNi40bC42LTQ0aDUuMnpcXFwiLz48L3N2Zz5cXG5cIiIsImV4cG9ydCBkZWZhdWx0IFwiPHN2ZyBmb2N1c2FibGU9XFxcImZhbHNlXFxcIiB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHZpZXdCb3g9XFxcIjAgMCAxMDUgMTA1XFxcIj48cGF0aCBkPVxcXCJNNTUuMSw2NC41aC01LjJsMC44LTU4aDMuNkw1NS4xLDY0LjV6XFxcIi8+PC9zdmc+XFxuXCIiLCJleHBvcnQgZGVmYXVsdCBcIjxzdmcgZm9jdXNhYmxlPVxcXCJmYWxzZVxcXCIgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB2aWV3Qm94PVxcXCIwIDAgMTA1IDEwNVxcXCI+PHBhdGggZD1cXFwiTTU3LjgsMjEuM2MwLTIuOS0yLjQtNS4yLTUuMi01LjJzLTUuMywyLjMtNS4zLDUuMmMwLDIuNywyLDQuOCw0LjUsNS4yVjY5aDEuNVYyNi41QzU1LjgsMjYuMiw1Ny44LDI0LDU3LjgsMjEuM3pcXFwiLz48L3N2Zz5cXG5cIiIsImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBpc1NlcnZlciwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiVGltZSB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5cbmltcG9ydCBjbG9ja0ZhY2VTVkcgZnJvbSAnLi9hc3NldHMvc2JiX2Nsb2NrX2ZhY2Uuc3ZnP3Jhdyc7XG5pbXBvcnQgY2xvY2tIYW5kbGVIb3Vyc1NWRyBmcm9tICcuL2Fzc2V0cy9zYmJfY2xvY2tfaG91cnMuc3ZnP3Jhdyc7XG5pbXBvcnQgY2xvY2tIYW5kbGVNaW51dGVzU1ZHIGZyb20gJy4vYXNzZXRzL3NiYl9jbG9ja19taW51dGVzLnN2Zz9yYXcnO1xuaW1wb3J0IGNsb2NrSGFuZGxlU2Vjb25kc1NWRyBmcm9tICcuL2Fzc2V0cy9zYmJfY2xvY2tfc2Vjb25kcy5zdmc/cmF3JztcbmltcG9ydCBzdHlsZSBmcm9tICcuL2Nsb2NrLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKiBOdW1iZXIgb2YgaG91cnMgb24gdGhlIGNsb2NrIGZhY2UuICovXG5jb25zdCBUT1RBTF9IT1VSU19PTl9DTE9DS19GQUNFID0gMTI7XG5cbi8qKiBOdW1iZXIgb2YgbWludXRlcyBvbiB0aGUgY2xvY2sgZmFjZS4gKi9cbmNvbnN0IFRPVEFMX01JTlVURVNfT05fQ0xPQ0tfRkFDRSA9IDYwO1xuXG4vKiogTnVtYmVyIG9mIHNlY29uZHMgb24gdGhlIGNsb2NrIGZhY2UuICovXG5jb25zdCBUT1RBTF9TRUNPTkRTX09OX0NMT0NLX0ZBQ0UgPSA2MDtcblxuLyoqIFRpbWVvdXQgZm9yIHRoZSBjbG9jayBzdGFydC4gKi9cbmNvbnN0IElOSVRJQUxfVElNRU9VVF9EVVJBVElPTiA9IDUwO1xuXG4vKiogQW5nbGUgaW4gYSBzaW5nbGUgcm90YXRpb24uICovXG5jb25zdCBGVUxMX0FOR0xFID0gMzYwO1xuXG4vKiogQW5nbGUgYmV0d2VlbiB0d28gY29uc2VjdXRpdmUgaG91cnM6IDM2MC8xMiwgbWVhbnMgYSBmdWxsIHJvdGF0aW9uIC8gbnVtYmVyIG9mIGhvdXJzIGluIGEgcm90YXRpb24uICovXG5jb25zdCBIT1VSU19BTkdMRSA9IDMwO1xuXG4vKiogQW5nbGUgYmV0d2VlbiB0d28gY29uc2VjdXRpdmUgbWludXRlczogMzYwLzYwLCBtZWFucyBhIGZ1bGwgcm90YXRpb24gLyBudW1iZXIgb2YgbWludXRlcyBpbiBvbmUgaG91ci4gKi9cbmNvbnN0IE1JTlVURVNfQU5HTEUgPSA2O1xuXG4vKiogQW5nbGUgYmV0d2VlbiB0d28gY29uc2VjdXRpdmUgc2Vjb25kcyBmb3IgU0JCIGNsb2NrIGN1c3RvbSBiZWhhdmlvci4gKi9cbmNvbnN0IFNCQl9TRUNPTkRTX0FOR0xFID0gMzYwIC8gNTguNTtcblxuLyoqIE51bWJlciBvZiBzZWNvbmRzIGluIGEgbWludXRlLiAqL1xuY29uc3QgU0VDT05EU19JTl9BX01JTlVURSA9IDYwO1xuXG4vKiogTnVtYmVyIG9mIHNlY29uZHMgaW4gYW4gaG91ci4gKi9cbmNvbnN0IFNFQ09ORFNfSU5fQU5fSE9VUiA9IDM2MDA7XG5cbmNvbnN0IEFERF9FVkVOVF9MSVNURU5FUl9PUFRJT05TOiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA9IHtcbiAgb25jZTogdHJ1ZSxcbiAgcGFzc2l2ZTogdHJ1ZSxcbn07XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gYW5hbG9nIGNsb2NrIHdpdGggdGhlIGNsYXNzaWMgU0JCIGZhY2UuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItY2xvY2snKVxuZXhwb3J0IGNsYXNzIFNiYkNsb2NrRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogRGVmaW5lIGEgc3BlY2lmaWMgdGltZSB3aGljaCB0aGUgY2xvY2sgc2hvdWxkIHNob3cgc3RhdGljYWxseS5cbiAgICogQHBhcmFtIHZhbHVlIEhIOk1NOnNzXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgbm93OiBTYmJUaW1lIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgaG91ciBoYW5kLiAqL1xuICBwcml2YXRlIF9jbG9ja0hhbmRIb3VycyE6IEhUTUxFbGVtZW50O1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIG1pbnV0ZSBoYW5kLiAqL1xuICBwcml2YXRlIF9jbG9ja0hhbmRNaW51dGVzITogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgc2Vjb25kIGhhbmQuICovXG4gIHByaXZhdGUgX2Nsb2NrSGFuZFNlY29uZHMhOiBIVE1MRWxlbWVudDtcblxuICAvKiogSG91cnMgdmFsdWUgZm9yIHRoZSBjdXJyZW50IGRhdGUuICovXG4gIHByaXZhdGUgX2hvdXJzITogbnVtYmVyO1xuXG4gIC8qKiBNaW51dGVzIHZhbHVlIGZvciB0aGUgY3VycmVudCBkYXRlLiAqL1xuICBwcml2YXRlIF9taW51dGVzITogbnVtYmVyO1xuXG4gIC8qKiBTZWNvbmRzIHZhbHVlIGZvciB0aGUgY3VycmVudCBkYXRlLiAqL1xuICBwcml2YXRlIF9zZWNvbmRzITogbnVtYmVyO1xuXG4gIC8qKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgaG91cnMgaGFuZC4gKi9cbiAgcHJpdmF0ZSBfbW92ZUhvdXJzSGFuZEZuID0gKCk6IHZvaWQgPT4gdGhpcy5fbW92ZUhvdXJzSGFuZCgpO1xuXG4gIC8qKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgbWludXRlcyBoYW5kLiAqL1xuICBwcml2YXRlIF9tb3ZlTWludXRlc0hhbmRGbiA9ICgpOiB2b2lkID0+IHRoaXMuX21vdmVNaW51dGVzSGFuZCgpO1xuXG4gIC8qKiBNb3ZlIHRoZSBtaW51dGVzIGhhbmQgZXZlcnkgbWludXRlLiAqL1xuICBwcml2YXRlIF9oYW5kTW92ZW1lbnQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoIWlzU2VydmVyICYmIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbm93JykpIHtcbiAgICAgIGF3YWl0IHRoaXMuX3N0YXJ0T3JDb25maWd1cmVDbG9jaygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCB0aGlzLl9oYW5kbGVQYWdlVmlzaWJpbGl0eUNoYW5nZSwgZmFsc2UpO1xuICAgICAgYXdhaXQgdGhpcy5fc3RhcnRPckNvbmZpZ3VyZUNsb2NrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fcmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVBhZ2VWaXNpYmlsaXR5Q2hhbmdlID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGlmIChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPT09ICdoaWRkZW4nKSB7XG4gICAgICBhd2FpdCB0aGlzLl9zdG9wQ2xvY2soKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLm5vdykge1xuICAgICAgYXdhaXQgdGhpcy5fc3RhcnRDbG9jaygpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIGFzeW5jIF9zdGFydE9yQ29uZmlndXJlQ2xvY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMubm93KSB7XG4gICAgICBhd2FpdCB0aGlzLl9zdG9wQ2xvY2soKTtcbiAgICAgIHRoaXMuX3Jlc2V0U2Vjb25kc0hhbmRBbmltYXRpb24oKTtcbiAgICAgIHRoaXMuX3NldEhhbmRzU3RhcnRpbmdQb3NpdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB0aGlzLl9zdGFydENsb2NrKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFN0YXJ0cyB0aGUgY2xvY2sgYnkgZGVmaW5pbmcgdGhlIGhhbmRzIHN0YXJ0aW5nIHBvc2l0aW9uIHRoZW4gc3RhcnRpbmcgdGhlIGFuaW1hdGlvbnMuICovXG4gIHByaXZhdGUgYXN5bmMgX3N0YXJ0Q2xvY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnYW5pbWF0aW9uZW5kJyxcbiAgICAgIHRoaXMuX21vdmVIb3Vyc0hhbmRGbixcbiAgICAgIEFERF9FVkVOVF9MSVNURU5FUl9PUFRJT05TLFxuICAgICk7XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdhbmltYXRpb25lbmQnLFxuICAgICAgdGhpcy5fbW92ZU1pbnV0ZXNIYW5kRm4sXG4gICAgICBBRERfRVZFTlRfTElTVEVORVJfT1BUSU9OUyxcbiAgICApO1xuXG4gICAgYXdhaXQgbmV3IFByb21pc2UoKCkgPT5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLl9zZXRIYW5kc1N0YXJ0aW5nUG9zaXRpb24oKTtcblxuICAgICAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItY2xvY2stYW5pbWF0aW9uLXBsYXktc3RhdGUnLCAncnVubmluZycpO1xuICAgICAgfSwgSU5JVElBTF9USU1FT1VUX0RVUkFUSU9OKSxcbiAgICApO1xuICB9XG5cbiAgLyoqIFN0b3BzIHRoZSBjbG9jayBieSByZW1vdmluZyBhbGwgdGhlIGFuaW1hdGlvbnMuICovXG4gIHByaXZhdGUgYXN5bmMgX3N0b3BDbG9jaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjbGVhckludGVydmFsKHRoaXMuX2hhbmRNb3ZlbWVudCk7XG5cbiAgICB0aGlzLl9yZW1vdmVTZWNvbmRzQW5pbWF0aW9uU3R5bGVzKCk7XG4gICAgdGhpcy5fcmVtb3ZlSG91cnNBbmltYXRpb25TdHlsZXMoKTtcblxuICAgIHRoaXMuX2Nsb2NrSGFuZEhvdXJzPy5yZW1vdmVFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCB0aGlzLl9tb3ZlSG91cnNIYW5kRm4pO1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIHRoaXMuX21vdmVNaW51dGVzSGFuZEZuKTtcblxuICAgIHRoaXMuX2Nsb2NrSGFuZE1pbnV0ZXM/LmNsYXNzTGlzdC5hZGQoJ3NiYi1jbG9ja19faGFuZC1taW51dGVzLS1uby10cmFuc2l0aW9uJyk7XG5cbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItY2xvY2stYW5pbWF0aW9uLXBsYXktc3RhdGUnLCAncGF1c2VkJyk7XG4gIH1cblxuICAvKiogU2V0IHRoZSBzdGFydGluZyBwb3NpdGlvbiBmb3IgdGhlIHRocmVlIGhhbmRzIG9uIHRoZSBjbG9jayBmYWNlLiAqL1xuICBwcml2YXRlIF9zZXRIYW5kc1N0YXJ0aW5nUG9zaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fYXNzaWduQ3VycmVudFRpbWUoKTtcbiAgICBjb25zdCByZW1haW5pbmdTZWNvbmRzID0gVE9UQUxfU0VDT05EU19PTl9DTE9DS19GQUNFIC0gdGhpcy5fc2Vjb25kcztcbiAgICBjb25zdCByZW1haW5pbmdNaW51dGVzID0gVE9UQUxfTUlOVVRFU19PTl9DTE9DS19GQUNFIC0gdGhpcy5fbWludXRlcztcbiAgICBjb25zdCByZW1haW5pbmdIb3VycyA9IFRPVEFMX0hPVVJTX09OX0NMT0NLX0ZBQ0UgLSB0aGlzLl9ob3VycztcblxuICAgIGxldCBob3Vyc0FuaW1hdGlvbkR1cmF0aW9uID0gMDtcbiAgICBsZXQgaGFzUmVtYWluaW5nTWludXRlc09yU2Vjb25kcyA9IDA7XG5cbiAgICBpZiAocmVtYWluaW5nU2Vjb25kcyA+IDApIHtcbiAgICAgIGhvdXJzQW5pbWF0aW9uRHVyYXRpb24gKz0gcmVtYWluaW5nU2Vjb25kcztcbiAgICAgIGhhc1JlbWFpbmluZ01pbnV0ZXNPclNlY29uZHMgPSAxO1xuICAgIH1cblxuICAgIGlmIChyZW1haW5pbmdNaW51dGVzID4gMCkge1xuICAgICAgaG91cnNBbmltYXRpb25EdXJhdGlvbiArPVxuICAgICAgICAocmVtYWluaW5nTWludXRlcyAtIGhhc1JlbWFpbmluZ01pbnV0ZXNPclNlY29uZHMpICogU0VDT05EU19JTl9BX01JTlVURTtcbiAgICAgIGhhc1JlbWFpbmluZ01pbnV0ZXNPclNlY29uZHMgPSAxO1xuICAgIH1cblxuICAgIGlmIChyZW1haW5pbmdIb3VycyA+IDApIHtcbiAgICAgIGhvdXJzQW5pbWF0aW9uRHVyYXRpb24gKz1cbiAgICAgICAgKHJlbWFpbmluZ0hvdXJzIC0gaGFzUmVtYWluaW5nTWludXRlc09yU2Vjb25kcykgKiBTRUNPTkRTX0lOX0FOX0hPVVI7XG4gICAgfVxuXG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoXG4gICAgICAnLS1zYmItY2xvY2staG91cnMtYW5pbWF0aW9uLXN0YXJ0LWFuZ2xlJyxcbiAgICAgIGAke01hdGguY2VpbCh0aGlzLl9ob3VycyAqIEhPVVJTX0FOR0xFICsgdGhpcy5fbWludXRlcyAvIDIpfWRlZ2AsXG4gICAgKTtcbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItY2xvY2staG91cnMtYW5pbWF0aW9uLWR1cmF0aW9uJywgYCR7aG91cnNBbmltYXRpb25EdXJhdGlvbn1zYCk7XG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoXG4gICAgICAnLS1zYmItY2xvY2stc2Vjb25kcy1hbmltYXRpb24tc3RhcnQtYW5nbGUnLFxuICAgICAgYCR7TWF0aC5jZWlsKHRoaXMuX3NlY29uZHMgKiBTQkJfU0VDT05EU19BTkdMRSl9ZGVnYCxcbiAgICApO1xuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1jbG9jay1zZWNvbmRzLWFuaW1hdGlvbi1kdXJhdGlvbicsIGAke3JlbWFpbmluZ1NlY29uZHN9c2ApO1xuXG4gICAgdGhpcy5fc2V0TWludXRlc0hhbmQoKTtcblxuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHM/LmNsYXNzTGlzdC5hZGQoJ3NiYi1jbG9ja19faGFuZC1zZWNvbmRzLS1pbml0aWFsLW1pbnV0ZScpO1xuICAgIHRoaXMuX2Nsb2NrSGFuZEhvdXJzPy5jbGFzc0xpc3QuYWRkKCdzYmItY2xvY2tfX2hhbmQtaG91cnMtLWluaXRpYWwtaG91cicpO1xuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaW5pdGlhbGl6ZWQnLCB0cnVlKTtcbiAgfVxuXG4gIC8qKiBHaXZlbiB0aGUgY3VycmVudCBkYXRlLCBjYWxjdWxhdGVzIHRoZSBoaC9tbS9zcyB2YWx1ZXMgYW5kIHRoZSBoaC9tbS9zcyBsZWZ0IHRvIHRoZSBuZXh0IG1pZG5pZ2h0LiAqL1xuICBwcml2YXRlIF9hc3NpZ25DdXJyZW50VGltZSgpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5ub3cgPyBudWxsIDogbmV3IERhdGUoKTtcbiAgICBjb25zdCBbaG91cnMsIG1pbnV0ZXMsIHNlY29uZHNdID0gZGF0ZVxuICAgICAgPyBbZGF0ZS5nZXRIb3VycygpLCBkYXRlLmdldE1pbnV0ZXMoKSwgZGF0ZS5nZXRTZWNvbmRzKCldXG4gICAgICA6IHRoaXMubm93IS5zcGxpdCgnOicpLm1hcCgocCkgPT4gK3ApO1xuXG4gICAgdGhpcy5faG91cnMgPSBob3VycyAlIDEyO1xuICAgIHRoaXMuX21pbnV0ZXMgPSBtaW51dGVzO1xuICAgIHRoaXMuX3NlY29uZHMgPSBzZWNvbmRzO1xuICB9XG5cbiAgLyoqIFNldCB0aGUgc3RhcnRpbmcgcG9zaXRpb24gZm9yIHRoZSBtaW51dGVzIGhhbmQuICovXG4gIHByaXZhdGUgX3NldE1pbnV0ZXNIYW5kKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nsb2NrSGFuZE1pbnV0ZXM/LnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgJ3RyYW5zZm9ybScsXG4gICAgICBgcm90YXRlWigke01hdGguY2VpbCh0aGlzLl9taW51dGVzICogTUlOVVRFU19BTkdMRSl9ZGVnKWAsXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBNb3ZlIHRoZSBob3VycyBoYW5kIHRvIHRoZSBuZXh0IHZhbHVlLiAqL1xuICBwcml2YXRlIF9tb3ZlSG91cnNIYW5kKCk6IHZvaWQge1xuICAgIHRoaXMuX3JlbW92ZUhvdXJzQW5pbWF0aW9uU3R5bGVzKCk7XG5cbiAgICBsZXQgaG91cnNBbmdsZSA9IE1hdGguY2VpbCh0aGlzLl9ob3VycyAqIEhPVVJTX0FOR0xFICsgdGhpcy5fbWludXRlcyAvIDIpO1xuXG4gICAgaWYgKGhvdXJzQW5nbGUgPj0gRlVMTF9BTkdMRSkge1xuICAgICAgaG91cnNBbmdsZSAtPSBGVUxMX0FOR0xFO1xuICAgIH1cblxuICAgIHRoaXMuX2Nsb2NrSGFuZEhvdXJzPy5zdHlsZS5zZXRQcm9wZXJ0eSgndHJhbnNmb3JtJywgYHJvdGF0ZVooJHtob3Vyc0FuZ2xlfWRlZylgKTtcbiAgfVxuXG4gIC8qKiBNb3ZlIHRoZSBtaW51dGVzIGhhbmQgdG8gdGhlIG5leHQgdmFsdWUuICovXG4gIHByaXZhdGUgX21vdmVNaW51dGVzSGFuZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzPy5yZW1vdmVFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCB0aGlzLl9tb3ZlTWludXRlc0hhbmRGbik7XG5cbiAgICB0aGlzLl9yZW1vdmVTZWNvbmRzQW5pbWF0aW9uU3R5bGVzKCk7XG5cbiAgICB0aGlzLl9hZGRNaW51dGVzQW5kU2V0SGFuZHMoKTtcblxuICAgIHRoaXMuX2hhbmRNb3ZlbWVudCA9IHNldEludGVydmFsKFxuICAgICAgKCkgPT4gdGhpcy5fYWRkTWludXRlc0FuZFNldEhhbmRzKCksXG4gICAgICBUT1RBTF9TRUNPTkRTX09OX0NMT0NLX0ZBQ0UgKiAxMDAwLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9hZGRNaW51dGVzQW5kU2V0SGFuZHMoKTogdm9pZCB7XG4gICAgdGhpcy5fbWludXRlcysrO1xuICAgIHRoaXMuX3NldE1pbnV0ZXNIYW5kKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZpbmcgYW5pbWF0aW9uIGJ5IG92ZXJyaWRpbmcgd2l0aCBlbXB0eSBzdHJpbmcsXG4gICAqIHRoZW4gdHJpZ2dlcmluZyBhIHJlZmxvdyBhbmQgcmUgYWRkIG9yaWdpbmFsIGFuaW1hdGlvbiBieSByZW1vdmluZyBvdmVycmlkZS5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgX3Jlc2V0U2Vjb25kc0hhbmRBbmltYXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9jbG9ja0hhbmRTZWNvbmRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHMuc3R5bGUuYW5pbWF0aW9uID0gJyc7XG4gICAgLy8gSGFjayB0byB0cmlnZ2VyIHJlZmxvd1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHMub2Zmc2V0SGVpZ2h0O1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHMuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2FuaW1hdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCB0aGlzLl9oYW5kbGVQYWdlVmlzaWJpbGl0eUNoYW5nZSk7XG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIHRoaXMuX21vdmVIb3Vyc0hhbmRGbik7XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignYW5pbWF0aW9uZW5kJywgdGhpcy5fbW92ZU1pbnV0ZXNIYW5kRm4pO1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5faGFuZE1vdmVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZUhvdXJzQW5pbWF0aW9uU3R5bGVzKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nsb2NrSGFuZEhvdXJzPy5jbGFzc0xpc3QucmVtb3ZlKCdzYmItY2xvY2tfX2hhbmQtaG91cnMtLWluaXRpYWwtaG91cicpO1xuICAgIHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tc2JiLWNsb2NrLWhvdXJzLWFuaW1hdGlvbi1zdGFydC1hbmdsZScpO1xuICAgIHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tc2JiLWNsb2NrLWhvdXJzLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlU2Vjb25kc0FuaW1hdGlvblN0eWxlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzPy5jbGFzc0xpc3QucmVtb3ZlKCdzYmItY2xvY2tfX2hhbmQtc2Vjb25kcy0taW5pdGlhbC1taW51dGUnKTtcbiAgICB0aGlzLl9jbG9ja0hhbmRNaW51dGVzPy5jbGFzc0xpc3QucmVtb3ZlKCdzYmItY2xvY2tfX2hhbmQtbWludXRlcy0tbm8tdHJhbnNpdGlvbicpO1xuICAgIHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tc2JiLWNsb2NrLXNlY29uZHMtYW5pbWF0aW9uLXN0YXJ0LWFuZ2xlJyk7XG4gICAgdGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1zYmItY2xvY2stc2Vjb25kcy1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1jbG9ja1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1jbG9ja19fZmFjZVwiIC5pbm5lckhUTUw9JHtjbG9ja0ZhY2VTVkd9Pjwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInNiYi1jbG9ja19faGFuZC1ob3Vyc1wiXG4gICAgICAgICAgLmlubmVySFRNTD0ke2Nsb2NrSGFuZGxlSG91cnNTVkd9XG4gICAgICAgICAgJHtyZWYoKGU/OiBFbGVtZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jbG9ja0hhbmRIb3VycyA9IGUgYXMgSFRNTFNwYW5FbGVtZW50O1xuICAgICAgICAgIH0pfVxuICAgICAgICA+PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic2JiLWNsb2NrX19oYW5kLW1pbnV0ZXMgc2JiLWNsb2NrX19oYW5kLW1pbnV0ZXMtLW5vLXRyYW5zaXRpb25cIlxuICAgICAgICAgIC5pbm5lckhUTUw9JHtjbG9ja0hhbmRsZU1pbnV0ZXNTVkd9XG4gICAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2xvY2tIYW5kTWludXRlcyA9IGVsIGFzIEhUTUxTcGFuRWxlbWVudDtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInNiYi1jbG9ja19faGFuZC1zZWNvbmRzXCJcbiAgICAgICAgICAuaW5uZXJIVE1MPSR7Y2xvY2tIYW5kbGVTZWNvbmRzU1ZHfVxuICAgICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHMgPSBlbCBhcyBIVE1MU3BhbkVsZW1lbnQ7XG4gICAgICAgICAgfSl9XG4gICAgICAgID48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItY2xvY2snOiBTYmJDbG9ja0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBZSxlQUFBO0FDQWYsTUFBZSxzQkFBQTtBQ0FmLE1BQWUsd0JBQUE7QUNBZixNQUFlLHdCQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -30,12 +30,13 @@ export declare abstract class DateAdapter<T = any> {
|
|
|
30
30
|
* @param date
|
|
31
31
|
*/
|
|
32
32
|
abstract getDayOfWeek(date: T): number;
|
|
33
|
+
/** Get the first day of the week (0: sunday; 1: monday; etc.). */
|
|
33
34
|
abstract getFirstDayOfWeek(): number;
|
|
34
35
|
/**
|
|
35
36
|
* Get the number of days in a month.
|
|
36
37
|
* @param year
|
|
37
38
|
* @param month
|
|
38
|
-
|
|
39
|
+
*/
|
|
39
40
|
abstract getNumDaysInMonth(date: T): number;
|
|
40
41
|
/**
|
|
41
42
|
* Get a list of all the months in a given style.
|
|
@@ -54,18 +55,19 @@ export declare abstract class DateAdapter<T = any> {
|
|
|
54
55
|
/**
|
|
55
56
|
* Checks whether a given `date` is valid.
|
|
56
57
|
* @param date
|
|
57
|
-
|
|
58
|
+
*/
|
|
58
59
|
abstract isValid(date: T | null | undefined): boolean;
|
|
59
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* Creates a new date by cloning the given one.
|
|
60
62
|
* @param date
|
|
61
|
-
|
|
63
|
+
*/
|
|
62
64
|
abstract clone(date: T): T;
|
|
63
65
|
/**
|
|
64
66
|
* Creates a new date, given day, month and year; without date's overflow.
|
|
65
67
|
* @param year
|
|
66
68
|
* @param month The month of the date (1-indexed, 1 = January). Must be an integer 1 - 12.
|
|
67
69
|
* @param date
|
|
68
|
-
|
|
70
|
+
*/
|
|
69
71
|
abstract createDate(year: number, month: number, date: number): T;
|
|
70
72
|
/**
|
|
71
73
|
* Attempts to deserialize a value to a valid date object. This is different from parsing in that
|
|
@@ -74,7 +76,7 @@ export declare abstract class DateAdapter<T = any> {
|
|
|
74
76
|
* the given value is already a valid date object or null.
|
|
75
77
|
* @param value Either Date, ISOString, Unix Timestamp (number of seconds since Jan 1, 1970).
|
|
76
78
|
* @returns The date if the input is valid, `null` otherwise.
|
|
77
|
-
|
|
79
|
+
*/
|
|
78
80
|
deserialize(value: T | string | number | null | undefined): T | null;
|
|
79
81
|
/**
|
|
80
82
|
* Creates a new date adding the number of provided `years` to the provided `date`.
|
|
@@ -90,26 +92,33 @@ export declare abstract class DateAdapter<T = any> {
|
|
|
90
92
|
* @param months The number of months to add.
|
|
91
93
|
*/
|
|
92
94
|
abstract addCalendarMonths(date: T, months: number): T;
|
|
93
|
-
/**
|
|
95
|
+
/**
|
|
96
|
+
* Creates a new date by adding the number of provided `days` to the provided `date`.
|
|
94
97
|
* @param date The starting date.
|
|
95
98
|
* @param days The number of days to add.
|
|
96
99
|
*/
|
|
97
100
|
abstract addCalendarDays(date: T, days: number): T;
|
|
98
|
-
/**
|
|
101
|
+
/**
|
|
102
|
+
* Get the date in the local format.
|
|
99
103
|
* @param date The date to format
|
|
100
104
|
* @returns The `date` in the local format as string.
|
|
101
105
|
*/
|
|
102
106
|
abstract getAccessibilityFormatDate(date: T | string): string;
|
|
103
|
-
/**
|
|
107
|
+
/**
|
|
108
|
+
* Get the given string as Date.
|
|
104
109
|
* @param value The date in the format DD.MM.YYYY.
|
|
105
110
|
* @param now The current date as Date.
|
|
106
111
|
*/
|
|
107
112
|
abstract parse(value: string | null | undefined, now: T): T | undefined;
|
|
108
|
-
/**
|
|
113
|
+
/**
|
|
114
|
+
* Format the given date as string.
|
|
109
115
|
* @param date The date to format.
|
|
110
116
|
*/
|
|
111
|
-
|
|
112
|
-
|
|
117
|
+
format(date: T | null | undefined, options?: {
|
|
118
|
+
weekdayStyle?: 'long' | 'short' | 'narrow';
|
|
119
|
+
}): string;
|
|
120
|
+
/**
|
|
121
|
+
* Checks whether the given `obj` is a Date.
|
|
113
122
|
* @param obj The object to check.
|
|
114
123
|
*/
|
|
115
124
|
abstract isDateInstance(obj: any): boolean;
|
|
@@ -118,7 +127,8 @@ export declare abstract class DateAdapter<T = any> {
|
|
|
118
127
|
* @returns An invalid date.
|
|
119
128
|
*/
|
|
120
129
|
abstract invalid(): T;
|
|
121
|
-
/**
|
|
130
|
+
/**
|
|
131
|
+
* Get the given date as ISO String.
|
|
122
132
|
* @param date The date to convert to ISO String.
|
|
123
133
|
*/
|
|
124
134
|
toIso8601(date: T): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/datetime/date-adapter.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,EAAE,MAAU,CAAC;AACtC,eAAO,MAAM,cAAc,EAAE,MAAU,CAAC;AACxC,eAAO,MAAM,aAAa,EAAE,MAAU,CAAC;AACvC,eAAO,MAAM,cAAc,EAAE,MAAW,CAAC;AACzC,eAAO,MAAM,WAAW,QACgE,CAAC;
|
|
1
|
+
{"version":3,"file":"date-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/datetime/date-adapter.ts"],"names":[],"mappings":"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"}
|