@sbb-esta/lyne-elements-dev 5.0.0-next.3-dev.1779895144 → 5.0.0-next.3-dev.1780060206
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/_index.scss +1 -0
- package/action-group/_action-group.global.scss +7 -0
- package/action-group/action-group.component.js +1 -1
- package/action-group.component-DBfkhMYG.js +16 -0
- package/action-group.js +1 -1
- package/action-group.pure.js +1 -1
- package/core/styles/_theme.scss +4 -0
- package/core/styles/features/layout.scss +27 -0
- package/custom-elements.json +469 -791
- package/development/action-group/action-group.component.d.ts +2 -31
- package/development/action-group/action-group.component.d.ts.map +1 -1
- package/development/action-group/action-group.component.js +1 -1
- package/development/action-group.component-BUWevlaI.js +26 -0
- package/development/action-group.js +1 -1
- package/development/action-group.pure.js +1 -1
- package/lean-off-brand-theme.css +24 -0
- package/lean-safety-theme.css +24 -0
- package/lean-theme.css +24 -0
- package/off-brand-theme.css +24 -0
- package/package.json +2 -2
- package/safety-theme.css +24 -0
- package/standard-theme.css +24 -0
- package/action-group.component-Dg11Ug4A.js +0 -156
- package/development/action-group.component-pe0c2zni.js +0 -215
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { html, unsafeCSS } from "lit";
|
|
3
|
-
import { property } from "lit/decorators.js";
|
|
4
|
-
import { SbbElement } from "./core.js";
|
|
5
|
-
//#region src/elements/action-group/action-group.scss?inline
|
|
6
|
-
var action_group_default = ":host {\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n display: flex;\n flex-direction: var(--sbb-action-group-orientation, row);\n align-items: var(--sbb-action-group-align-items, center);\n justify-content: var(--sbb-action-group-justify-content, start);\n gap: var(--sbb-action-group-gap);\n}\n\n:host([orientation=horizontal][align-group=start]) {\n --sbb-action-group-justify-content: flex-start;\n}\n\n:host([orientation=horizontal][align-group=center]) {\n --sbb-action-group-justify-content: center;\n}\n\n:host([orientation=horizontal][align-group=stretch]) {\n --sbb-action-group-justify-content: space-between;\n}\n\n:host([orientation=horizontal][align-group=end]) {\n --sbb-action-group-justify-content: flex-end;\n}\n\n:host([orientation=vertical]) {\n --sbb-action-group-orientation: column;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-2x);\n}\n\n:host([orientation=vertical][align-group=start]) {\n --sbb-action-group-align-items: flex-start;\n}\n\n:host([orientation=vertical][align-group=center]) {\n --sbb-action-group-align-items: center;\n}\n\n:host([orientation=vertical][align-group=stretch]) {\n --sbb-action-group-align-items: stretch;\n}\n\n:host([orientation=vertical][align-group=end]) {\n --sbb-action-group-align-items: flex-end;\n}\n\n@media (min-width: calc(0rem)) {\n :host([orientation=vertical][horizontal-from=zero][align-group=start]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: flex-start;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n :host([orientation=vertical][horizontal-from=zero][align-group=center]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: center;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n :host([orientation=vertical][horizontal-from=zero][align-group=stretch]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: space-between;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n :host([orientation=vertical][horizontal-from=zero][align-group=end]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: flex-end;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n}\n@media (min-width: calc(37.5rem)) {\n :host([orientation=vertical][horizontal-from=small][align-group=start]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: flex-start;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n :host([orientation=vertical][horizontal-from=small][align-group=center]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: center;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n :host([orientation=vertical][horizontal-from=small][align-group=stretch]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: space-between;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n :host([orientation=vertical][horizontal-from=small][align-group=end]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: flex-end;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n}\n@media (min-width: calc(64rem)) {\n :host([orientation=vertical][horizontal-from=large][align-group=start]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: flex-start;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n :host([orientation=vertical][horizontal-from=large][align-group=center]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: center;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n :host([orientation=vertical][horizontal-from=large][align-group=stretch]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: space-between;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n :host([orientation=vertical][horizontal-from=large][align-group=end]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: flex-end;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n}\n@media (min-width: calc(90rem)) {\n :host([orientation=vertical][horizontal-from=ultra][align-group=start]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: flex-start;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n :host([orientation=vertical][horizontal-from=ultra][align-group=center]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: center;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n :host([orientation=vertical][horizontal-from=ultra][align-group=stretch]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: space-between;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n :host([orientation=vertical][horizontal-from=ultra][align-group=end]) {\n --sbb-action-group-orientation: row;\n --sbb-action-group-align-items: center;\n --sbb-action-group-justify-content: flex-end;\n --sbb-action-group-gap: var(--sbb-spacing-fixed-4x);\n }\n}\n::slotted([align-self=start]) {\n margin-inline-end: auto;\n}\n\n::slotted([align-self=center]) {\n margin-inline: auto;\n}\n\n::slotted([align-self=end]) {\n margin-inline-start: auto;\n}\n\n::slotted(:is(sbb-block-link, sbb-block-link-button, sbb-block-link-static)) {\n white-space: nowrap;\n}";
|
|
7
|
-
//#endregion
|
|
8
|
-
//#region src/elements/action-group/action-group.component.ts
|
|
9
|
-
/**
|
|
10
|
-
* It can be used as a container for one or more action element, like `sbb-button` or `sbb-block-link`.
|
|
11
|
-
*
|
|
12
|
-
* @slot - Use the unnamed slot to add `sbb-block-link` or `sbb-button` elements to the `sbb-action-group`.
|
|
13
|
-
*/
|
|
14
|
-
var SbbActionGroupElement = (() => {
|
|
15
|
-
let _classSuper = SbbElement;
|
|
16
|
-
let _alignGroup_decorators;
|
|
17
|
-
let _alignGroup_initializers = [];
|
|
18
|
-
let _alignGroup_extraInitializers = [];
|
|
19
|
-
let _horizontalFrom_decorators;
|
|
20
|
-
let _horizontalFrom_initializers = [];
|
|
21
|
-
let _horizontalFrom_extraInitializers = [];
|
|
22
|
-
let _orientation_decorators;
|
|
23
|
-
let _orientation_initializers = [];
|
|
24
|
-
let _orientation_extraInitializers = [];
|
|
25
|
-
let _buttonSize_decorators;
|
|
26
|
-
let _buttonSize_initializers = [];
|
|
27
|
-
let _buttonSize_extraInitializers = [];
|
|
28
|
-
let _linkSize_decorators;
|
|
29
|
-
let _linkSize_initializers = [];
|
|
30
|
-
let _linkSize_extraInitializers = [];
|
|
31
|
-
return class SbbActionGroupElement extends _classSuper {
|
|
32
|
-
static {
|
|
33
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
34
|
-
_alignGroup_decorators = [property({
|
|
35
|
-
attribute: "align-group",
|
|
36
|
-
reflect: true
|
|
37
|
-
})];
|
|
38
|
-
_horizontalFrom_decorators = [property({
|
|
39
|
-
attribute: "horizontal-from",
|
|
40
|
-
reflect: true
|
|
41
|
-
})];
|
|
42
|
-
_orientation_decorators = [property({ reflect: true })];
|
|
43
|
-
_buttonSize_decorators = [property({
|
|
44
|
-
attribute: "button-size",
|
|
45
|
-
reflect: true
|
|
46
|
-
})];
|
|
47
|
-
_linkSize_decorators = [property({
|
|
48
|
-
attribute: "link-size",
|
|
49
|
-
reflect: true
|
|
50
|
-
})];
|
|
51
|
-
__esDecorate(this, null, _alignGroup_decorators, {
|
|
52
|
-
kind: "accessor",
|
|
53
|
-
name: "alignGroup",
|
|
54
|
-
static: false,
|
|
55
|
-
private: false,
|
|
56
|
-
access: {
|
|
57
|
-
has: (obj) => "alignGroup" in obj,
|
|
58
|
-
get: (obj) => obj.alignGroup,
|
|
59
|
-
set: (obj, value) => {
|
|
60
|
-
obj.alignGroup = value;
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
metadata: _metadata
|
|
64
|
-
}, _alignGroup_initializers, _alignGroup_extraInitializers);
|
|
65
|
-
__esDecorate(this, null, _horizontalFrom_decorators, {
|
|
66
|
-
kind: "accessor",
|
|
67
|
-
name: "horizontalFrom",
|
|
68
|
-
static: false,
|
|
69
|
-
private: false,
|
|
70
|
-
access: {
|
|
71
|
-
has: (obj) => "horizontalFrom" in obj,
|
|
72
|
-
get: (obj) => obj.horizontalFrom,
|
|
73
|
-
set: (obj, value) => {
|
|
74
|
-
obj.horizontalFrom = value;
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
metadata: _metadata
|
|
78
|
-
}, _horizontalFrom_initializers, _horizontalFrom_extraInitializers);
|
|
79
|
-
__esDecorate(this, null, _orientation_decorators, {
|
|
80
|
-
kind: "accessor",
|
|
81
|
-
name: "orientation",
|
|
82
|
-
static: false,
|
|
83
|
-
private: false,
|
|
84
|
-
access: {
|
|
85
|
-
has: (obj) => "orientation" in obj,
|
|
86
|
-
get: (obj) => obj.orientation,
|
|
87
|
-
set: (obj, value) => {
|
|
88
|
-
obj.orientation = value;
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
metadata: _metadata
|
|
92
|
-
}, _orientation_initializers, _orientation_extraInitializers);
|
|
93
|
-
__esDecorate(this, null, _buttonSize_decorators, {
|
|
94
|
-
kind: "accessor",
|
|
95
|
-
name: "buttonSize",
|
|
96
|
-
static: false,
|
|
97
|
-
private: false,
|
|
98
|
-
access: {
|
|
99
|
-
has: (obj) => "buttonSize" in obj,
|
|
100
|
-
get: (obj) => obj.buttonSize,
|
|
101
|
-
set: (obj, value) => {
|
|
102
|
-
obj.buttonSize = value;
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
metadata: _metadata
|
|
106
|
-
}, _buttonSize_initializers, _buttonSize_extraInitializers);
|
|
107
|
-
__esDecorate(this, null, _linkSize_decorators, {
|
|
108
|
-
kind: "accessor",
|
|
109
|
-
name: "linkSize",
|
|
110
|
-
static: false,
|
|
111
|
-
private: false,
|
|
112
|
-
access: {
|
|
113
|
-
has: (obj) => "linkSize" in obj,
|
|
114
|
-
get: (obj) => obj.linkSize,
|
|
115
|
-
set: (obj, value) => {
|
|
116
|
-
obj.linkSize = value;
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
metadata: _metadata
|
|
120
|
-
}, _linkSize_initializers, _linkSize_extraInitializers);
|
|
121
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
122
|
-
enumerable: true,
|
|
123
|
-
configurable: true,
|
|
124
|
-
writable: true,
|
|
125
|
-
value: _metadata
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
static {
|
|
129
|
-
this.elementName = "sbb-action-group";
|
|
130
|
-
}
|
|
131
|
-
static {
|
|
132
|
-
this.styles = [unsafeCSS(action_group_default)];
|
|
133
|
-
}
|
|
134
|
-
#alignGroup_accessor_storage = __runInitializers(this, _alignGroup_initializers, "start");
|
|
135
|
-
/**
|
|
136
|
-
* Set the slotted `<sbb-action-group>` children's alignment.
|
|
137
|
-
*/
|
|
138
|
-
get alignGroup() {
|
|
139
|
-
return this.#alignGroup_accessor_storage;
|
|
140
|
-
}
|
|
141
|
-
set alignGroup(value) {
|
|
142
|
-
this.#alignGroup_accessor_storage = value;
|
|
143
|
-
}
|
|
144
|
-
#horizontalFrom_accessor_storage = (__runInitializers(this, _alignGroup_extraInitializers), __runInitializers(this, _horizontalFrom_initializers, "large"));
|
|
145
|
-
/**
|
|
146
|
-
* Overrides the behavior of `orientation` property.
|
|
147
|
-
*/
|
|
148
|
-
get horizontalFrom() {
|
|
149
|
-
return this.#horizontalFrom_accessor_storage;
|
|
150
|
-
}
|
|
151
|
-
set horizontalFrom(value) {
|
|
152
|
-
this.#horizontalFrom_accessor_storage = value;
|
|
153
|
-
}
|
|
154
|
-
#orientation_accessor_storage = (__runInitializers(this, _horizontalFrom_extraInitializers), __runInitializers(this, _orientation_initializers, "horizontal"));
|
|
155
|
-
/**
|
|
156
|
-
* Indicates the orientation of the components inside the `<sbb-action-group>`.
|
|
157
|
-
*/
|
|
158
|
-
get orientation() {
|
|
159
|
-
return this.#orientation_accessor_storage;
|
|
160
|
-
}
|
|
161
|
-
set orientation(value) {
|
|
162
|
-
this.#orientation_accessor_storage = value;
|
|
163
|
-
}
|
|
164
|
-
#buttonSize_accessor_storage = (__runInitializers(this, _orientation_extraInitializers), __runInitializers(this, _buttonSize_initializers, null));
|
|
165
|
-
/**
|
|
166
|
-
* Size of the nested sbb-button instances.
|
|
167
|
-
* This will overwrite the size attribute of nested sbb-button instances.
|
|
168
|
-
* @deprecated Will be removed with next breaking change
|
|
169
|
-
*/
|
|
170
|
-
get buttonSize() {
|
|
171
|
-
return this.#buttonSize_accessor_storage;
|
|
172
|
-
}
|
|
173
|
-
set buttonSize(value) {
|
|
174
|
-
this.#buttonSize_accessor_storage = value;
|
|
175
|
-
}
|
|
176
|
-
#linkSize_accessor_storage = (__runInitializers(this, _buttonSize_extraInitializers), __runInitializers(this, _linkSize_initializers, null));
|
|
177
|
-
/**
|
|
178
|
-
* Size of the nested sbb-block-link instances.
|
|
179
|
-
* This will overwrite the size attribute of nested sbb-block-link instances.
|
|
180
|
-
* @deprecated Will be removed with next breaking change
|
|
181
|
-
*/
|
|
182
|
-
get linkSize() {
|
|
183
|
-
return this.#linkSize_accessor_storage;
|
|
184
|
-
}
|
|
185
|
-
set linkSize(value) {
|
|
186
|
-
this.#linkSize_accessor_storage = value;
|
|
187
|
-
}
|
|
188
|
-
willUpdate(changedProperties) {
|
|
189
|
-
super.willUpdate(changedProperties);
|
|
190
|
-
if (changedProperties.has("buttonSize")) this._syncButtons();
|
|
191
|
-
if (changedProperties.has("linkSize")) this._syncLinks();
|
|
192
|
-
}
|
|
193
|
-
_syncButtons() {
|
|
194
|
-
if (!this.buttonSize) return;
|
|
195
|
-
this.querySelectorAll?.(":is(:state(sbb-button),[state--sbb-button])").forEach((b) => b.size = this.buttonSize);
|
|
196
|
-
}
|
|
197
|
-
_syncLinks() {
|
|
198
|
-
if (!this.linkSize) return;
|
|
199
|
-
this.querySelectorAll?.("sbb-block-link, sbb-block-link-button, sbb-block-link-static").forEach((link) => {
|
|
200
|
-
link.size = this.linkSize;
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
render() {
|
|
204
|
-
return html`<slot></slot>`;
|
|
205
|
-
}
|
|
206
|
-
constructor() {
|
|
207
|
-
super(...arguments);
|
|
208
|
-
__runInitializers(this, _linkSize_extraInitializers);
|
|
209
|
-
}
|
|
210
|
-
};
|
|
211
|
-
})();
|
|
212
|
-
//#endregion
|
|
213
|
-
export { SbbActionGroupElement as t };
|
|
214
|
-
|
|
215
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWdyb3VwLmNvbXBvbmVudC1wZTBjMnpuaS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvYWN0aW9uLWdyb3VwL2FjdGlvbi1ncm91cC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9hY3Rpb24tZ3JvdXAvYWN0aW9uLWdyb3VwLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG4kYnJlYWtwb2ludHM6ICd6ZXJvJywgJ3NtYWxsJywgJ2xhcmdlJywgJ3VsdHJhJztcbiR2ZXJ0aWNhbC1vcmllbnRhdGlvbnM6IChcbiAgc3RhcnQ6IGZsZXgtc3RhcnQsXG4gIGNlbnRlcjogY2VudGVyLFxuICBzdHJldGNoOiBzdHJldGNoLFxuICBlbmQ6IGZsZXgtZW5kLFxuKTtcbiRob3Jpem9udGFsLW9yaWVudGF0aW9uczogKFxuICBzdGFydDogZmxleC1zdGFydCxcbiAgY2VudGVyOiBjZW50ZXIsXG4gIHN0cmV0Y2g6IHNwYWNlLWJldHdlZW4sXG4gIGVuZDogZmxleC1lbmQsXG4pO1xuXG46aG9zdCB7XG4gIC0tc2JiLWFjdGlvbi1ncm91cC1nYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogdmFyKC0tc2JiLWFjdGlvbi1ncm91cC1vcmllbnRhdGlvbiwgcm93KTtcbiAgYWxpZ24taXRlbXM6IHZhcigtLXNiYi1hY3Rpb24tZ3JvdXAtYWxpZ24taXRlbXMsIGNlbnRlcik7XG4gIGp1c3RpZnktY29udGVudDogdmFyKC0tc2JiLWFjdGlvbi1ncm91cC1qdXN0aWZ5LWNvbnRlbnQsIHN0YXJ0KTtcbiAgZ2FwOiB2YXIoLS1zYmItYWN0aW9uLWdyb3VwLWdhcCk7XG59XG5cbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkaG9yaXpvbnRhbC1vcmllbnRhdGlvbnMge1xuICA6aG9zdChbb3JpZW50YXRpb249J2hvcml6b250YWwnXVthbGlnbi1ncm91cD0nI3ska2V5fSddKSB7XG4gICAgLS1zYmItYWN0aW9uLWdyb3VwLWp1c3RpZnktY29udGVudDogI3skdmFsdWV9O1xuICB9XG59XG5cbjpob3N0KFtvcmllbnRhdGlvbj0ndmVydGljYWwnXSkge1xuICAtLXNiYi1hY3Rpb24tZ3JvdXAtb3JpZW50YXRpb246IGNvbHVtbjtcbiAgLS1zYmItYWN0aW9uLWdyb3VwLWdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xufVxuXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJHZlcnRpY2FsLW9yaWVudGF0aW9ucyB7XG4gIDpob3N0KFtvcmllbnRhdGlvbj0ndmVydGljYWwnXVthbGlnbi1ncm91cD0nI3ska2V5fSddKSB7XG4gICAgLS1zYmItYWN0aW9uLWdyb3VwLWFsaWduLWl0ZW1zOiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiAjeyRicmVha3BvaW50fSkge1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkaG9yaXpvbnRhbC1vcmllbnRhdGlvbnMge1xuICAgICAgLy8gaG9yaXpvbnRhbC1mcm9tIG92ZXJyaWRlcyBvcmllbnRhdGlvbiB2ZXJ0aWNhbFxuICAgICAgOmhvc3QoW29yaWVudGF0aW9uPSd2ZXJ0aWNhbCddW2hvcml6b250YWwtZnJvbT0nI3skYnJlYWtwb2ludH0nXVthbGlnbi1ncm91cD0nI3ska2V5fSddKSB7XG4gICAgICAgIC0tc2JiLWFjdGlvbi1ncm91cC1vcmllbnRhdGlvbjogcm93O1xuICAgICAgICAtLXNiYi1hY3Rpb24tZ3JvdXAtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLS1zYmItYWN0aW9uLWdyb3VwLWp1c3RpZnktY29udGVudDogI3skdmFsdWV9O1xuICAgICAgICAtLXNiYi1hY3Rpb24tZ3JvdXAtZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjo6c2xvdHRlZChbYWxpZ24tc2VsZj0nc3RhcnQnXSkge1xuICBtYXJnaW4taW5saW5lLWVuZDogYXV0bztcbn1cblxuOjpzbG90dGVkKFthbGlnbi1zZWxmPSdjZW50ZXInXSkge1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xufVxuXG46OnNsb3R0ZWQoW2FsaWduLXNlbGY9J2VuZCddKSB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG59XG5cbjo6c2xvdHRlZCg6aXMoc2JiLWJsb2NrLWxpbmssIHNiYi1ibG9jay1saW5rLWJ1dHRvbiwgc2JiLWJsb2NrLWxpbmstc3RhdGljKSkge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQnV0dG9uQ29tbW9uRWxlbWVudE1peGluVHlwZSwgU2JiQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL2J1dHRvbi5wdXJlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiSG9yaXpvbnRhbEZyb20gfSBmcm9tICcuLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi9jb3JlLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgU2JiQmxvY2tMaW5rQnV0dG9uRWxlbWVudCxcbiAgU2JiQmxvY2tMaW5rRWxlbWVudCxcbiAgU2JiQmxvY2tMaW5rU3RhdGljRWxlbWVudCxcbn0gZnJvbSAnLi4vbGluay5wdXJlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vYWN0aW9uLWdyb3VwLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYWN0aW9uIGVsZW1lbnQsIGxpa2UgYHNiYi1idXR0b25gIG9yIGBzYmItYmxvY2stbGlua2AuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1ibG9jay1saW5rYCBvciBgc2JiLWJ1dHRvbmAgZWxlbWVudHMgdG8gdGhlIGBzYmItYWN0aW9uLWdyb3VwYC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkFjdGlvbkdyb3VwRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWFjdGlvbi1ncm91cCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFt1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKipcbiAgICogU2V0IHRoZSBzbG90dGVkIGA8c2JiLWFjdGlvbi1ncm91cD5gIGNoaWxkcmVuJ3MgYWxpZ25tZW50LlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWxpZ24tZ3JvdXAnLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhbGlnbkdyb3VwOiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnc3RyZXRjaCcgfCAnZW5kJyA9ICdzdGFydCc7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyB0aGUgYmVoYXZpb3Igb2YgYG9yaWVudGF0aW9uYCBwcm9wZXJ0eS5cbiAgICovXG4gIC8vIFRPRE86IE5lZWRzIGEgYnJlYWtpbmcgY2hhbmdlIHRvIHdvcmsgd2l0aCB0aGUgJ25vLWRlZmF1bHQtcmVmbGVjdCcgYmVoYXZpb3JcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaG9yaXpvbnRhbC1mcm9tJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaG9yaXpvbnRhbEZyb206IFNiYkhvcml6b250YWxGcm9tID0gJ2xhcmdlJztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHRoZSBvcmllbnRhdGlvbiBvZiB0aGUgY29tcG9uZW50cyBpbnNpZGUgdGhlIGA8c2JiLWFjdGlvbi1ncm91cD5gLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igb3JpZW50YXRpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAnaG9yaXpvbnRhbCc7XG5cbiAgLyoqXG4gICAqIFNpemUgb2YgdGhlIG5lc3RlZCBzYmItYnV0dG9uIGluc3RhbmNlcy5cbiAgICogVGhpcyB3aWxsIG92ZXJ3cml0ZSB0aGUgc2l6ZSBhdHRyaWJ1dGUgb2YgbmVzdGVkIHNiYi1idXR0b24gaW5zdGFuY2VzLlxuICAgKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgd2l0aCBuZXh0IGJyZWFraW5nIGNoYW5nZVxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYnV0dG9uLXNpemUnLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBidXR0b25TaXplOiBTYmJCdXR0b25FbGVtZW50WydzaXplJ10gPSBudWxsO1xuXG4gIC8qKlxuICAgKiBTaXplIG9mIHRoZSBuZXN0ZWQgc2JiLWJsb2NrLWxpbmsgaW5zdGFuY2VzLlxuICAgKiBUaGlzIHdpbGwgb3ZlcndyaXRlIHRoZSBzaXplIGF0dHJpYnV0ZSBvZiBuZXN0ZWQgc2JiLWJsb2NrLWxpbmsgaW5zdGFuY2VzLlxuICAgKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgd2l0aCBuZXh0IGJyZWFraW5nIGNoYW5nZVxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnbGluay1zaXplJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbGlua1NpemU6IFNiYkJsb2NrTGlua0VsZW1lbnRbJ3NpemUnXSA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdidXR0b25TaXplJykpIHtcbiAgICAgIHRoaXMuX3N5bmNCdXR0b25zKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2xpbmtTaXplJykpIHtcbiAgICAgIHRoaXMuX3N5bmNMaW5rcygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNCdXR0b25zKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5idXR0b25TaXplKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYkJ1dHRvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+KCc6c3RhdGUoc2JiLWJ1dHRvbiknKS5mb3JFYWNoKFxuICAgICAgKGIpID0+IChiLnNpemUgPSB0aGlzLmJ1dHRvblNpemUhKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY0xpbmtzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5saW5rU2l6ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxcbiAgICAgIFNiYkJsb2NrTGlua0VsZW1lbnQgfCBTYmJCbG9ja0xpbmtCdXR0b25FbGVtZW50IHwgU2JiQmxvY2tMaW5rU3RhdGljRWxlbWVudFxuICAgID4oJ3NiYi1ibG9jay1saW5rLCBzYmItYmxvY2stbGluay1idXR0b24sIHNiYi1ibG9jay1saW5rLXN0YXRpYycpLmZvckVhY2goKGxpbmspID0+IHtcbiAgICAgIGxpbmsuc2l6ZSA9IHRoaXMubGlua1NpemUhO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNsb3Q+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1hY3Rpb24tZ3JvdXAnOiBTYmJBY3Rpb25Hcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztJQ3lCYSwrQkFBcUI7bUJBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FBOUIsOEJBQThCLFlBQVU7Ozs2QkFPbEQsU0FBUztJQUFFLFdBQVc7SUFBZSxTQUFTO0dBQUksQ0FBRSxDQUFDO2lDQU9yRCxTQUFTO0lBQUUsV0FBVztJQUFtQixTQUFTO0dBQUksQ0FBRSxDQUFDOzhCQU16RCxTQUFTLEVBQUUsU0FBUyxLQUFJLENBQUUsQ0FBQzs2QkFRM0IsU0FBUztJQUFFLFdBQVc7SUFBZSxTQUFTO0dBQUksQ0FBRSxDQUFDOzJCQVFyRCxTQUFTO0lBQUUsV0FBVztJQUFhLFNBQVM7R0FBSSxDQUFFLENBQUM7R0E1QnBELGFBQUEsTUFBQSxNQUFBLHdCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsZ0JBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBVSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQVYsYUFBVTtLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSwwQkFBQSw2QkFBQTtHQU8xQixhQUFBLE1BQUEsTUFBQSw0QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLG9CQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQWMsTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFkLGlC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
|