@sbb-esta/lyne-elements 2.7.0 → 2.8.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/breadcrumb/breadcrumb/breadcrumb.d.ts +0 -2
- package/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/breadcrumb/breadcrumb/breadcrumb.js +21 -44
- package/core/controllers/{id-observer-controller.d.ts → id-reference-controller.d.ts} +1 -1
- package/core/controllers/id-reference-controller.d.ts.map +1 -0
- package/core/controllers/slot-state-controller.d.ts +2 -0
- package/core/controllers/slot-state-controller.d.ts.map +1 -1
- package/core/controllers/slot-state-controller.js +30 -19
- package/core/controllers.d.ts +1 -1
- package/core/controllers.d.ts.map +1 -1
- package/core/controllers.js +1 -1
- package/core/styles/core.scss +21 -1
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +2 -0
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +5 -1
- package/core.css +17 -2
- package/custom-elements.json +465 -64
- package/date-input/date-input.js +5 -5
- package/development/breadcrumb/breadcrumb/breadcrumb.d.ts +0 -2
- package/development/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb/breadcrumb.js +11 -38
- package/development/core/controllers/{id-observer-controller.d.ts → id-reference-controller.d.ts} +1 -1
- package/development/core/controllers/id-reference-controller.d.ts.map +1 -0
- package/development/core/controllers/id-reference-controller.js +84 -0
- package/development/core/controllers/slot-state-controller.d.ts +2 -0
- package/development/core/controllers/slot-state-controller.d.ts.map +1 -1
- package/development/core/controllers/slot-state-controller.js +24 -4
- package/development/core/controllers.d.ts +1 -1
- package/development/core/controllers.d.ts.map +1 -1
- package/development/core/controllers.js +1 -1
- package/development/date-input/date-input.js +3 -2
- package/development/form-field/form-field/form-field.js +3 -2
- package/development/icon/icon-base.js +5 -1
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option/option-base-element.js +8 -4
- package/development/paginator/common/paginator-common.d.ts +11 -1
- package/development/paginator/common/paginator-common.d.ts.map +1 -1
- package/development/paginator/common/paginator-common.js +37 -9
- package/development/paginator/paginator/paginator.js +2 -2
- package/development/sbb-tokens-CVLcOi-S.js +1 -1
- package/development/table/table-wrapper/table-wrapper.d.ts +7 -4
- package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
- package/development/table/table-wrapper/table-wrapper.js +80 -69
- package/development/teaser-hero/teaser-hero.d.ts.map +1 -1
- package/development/teaser-hero/teaser-hero.js +15 -11
- package/development/toggle/toggle/toggle.d.ts +0 -1
- package/development/toggle/toggle/toggle.d.ts.map +1 -1
- package/development/toggle/toggle/toggle.js +51 -47
- package/development/toggle/toggle-option/toggle-option.d.ts +2 -1
- package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/development/toggle/toggle-option/toggle-option.js +15 -29
- package/form-field/form-field/form-field.js +1 -1
- package/icon/icon-base.js +21 -21
- package/option/option/option-base-element.d.ts.map +1 -1
- package/option/option/option-base-element.js +9 -14
- package/package.json +1 -1
- package/paginator/common/paginator-common.d.ts +11 -1
- package/paginator/common/paginator-common.d.ts.map +1 -1
- package/paginator/common/paginator-common.js +61 -31
- package/paginator/paginator/paginator.js +3 -3
- package/standard-theme.css +17 -2
- package/table/table-wrapper/table-wrapper.d.ts +7 -4
- package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
- package/table/table-wrapper/table-wrapper.js +53 -31
- package/teaser-hero/teaser-hero.d.ts.map +1 -1
- package/teaser-hero/teaser-hero.js +25 -25
- package/toggle/toggle/toggle.d.ts +0 -1
- package/toggle/toggle/toggle.d.ts.map +1 -1
- package/toggle/toggle/toggle.js +43 -48
- package/toggle/toggle-option/toggle-option.d.ts +2 -1
- package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/toggle/toggle-option/toggle-option.js +40 -30
- package/core/controllers/id-observer-controller.d.ts.map +0 -1
- package/development/core/controllers/id-observer-controller.d.ts.map +0 -1
- package/development/core/controllers/id-observer-controller.js +0 -84
- /package/core/controllers/{id-observer-controller.js → id-reference-controller.js} +0 -0
package/date-input/date-input.js
CHANGED
|
@@ -11,7 +11,7 @@ import { defaultDateAdapter as R } from "../core/datetime.js";
|
|
|
11
11
|
import { forceType as v, DateOnlyType as D, dateConverter as O } from "../core/decorators.js";
|
|
12
12
|
import { i18nDatePickerPlaceholder as P, i18nDateInvalid as U, i18nDateMin as B, i18nDateMax as H } from "../core/i18n.js";
|
|
13
13
|
import { SbbFormAssociatedInputMixin as J } from "../core/mixins.js";
|
|
14
|
-
const K = T`:host{display:inline-
|
|
14
|
+
const K = T`:host{display:inline-flex;min-width:9.375rem;max-width:100%;cursor:text;align-items:center}@media (forced-colors: active){:host{color:FieldText}}:host(:disabled){cursor:default}:host(:focus){text-overflow:initial!important}:host(:empty):after{content:attr(placeholder);color:var(--sbb-color-metal);-webkit-text-fill-color:var(--sbb-color-metal);opacity:1}@media (forced-colors: active){:host(:empty):after{color:GrayText}}`;
|
|
15
15
|
Object.assign(ValidityState.prototype, {
|
|
16
16
|
get sbbDateFilter() {
|
|
17
17
|
return !1;
|
|
@@ -19,8 +19,8 @@ Object.assign(ValidityState.prototype, {
|
|
|
19
19
|
});
|
|
20
20
|
let se = (() => {
|
|
21
21
|
var h, u, c, l;
|
|
22
|
-
let a = [L("sbb-date-input")], s, i = [], n,
|
|
23
|
-
return l = class extends
|
|
22
|
+
let a = [L("sbb-date-input")], s, i = [], n, g = J(j), y = [], b, A, k = [], x = [], F, w = [], S = [], V, E, I = [], C = [];
|
|
23
|
+
return l = class extends g {
|
|
24
24
|
constructor() {
|
|
25
25
|
var e, t;
|
|
26
26
|
super();
|
|
@@ -136,8 +136,8 @@ let se = (() => {
|
|
|
136
136
|
["badInput", "rangeUnderflow", "rangeOverflow", "sbbDateFilter"].forEach((e) => this.removeValidityFlag(e));
|
|
137
137
|
}
|
|
138
138
|
}, h = new WeakMap(), u = new WeakMap(), c = new WeakMap(), n = l, (() => {
|
|
139
|
-
const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(
|
|
140
|
-
|
|
139
|
+
const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(g[Symbol.metadata] ?? null) : void 0;
|
|
140
|
+
b = [v(), _({ attribute: !1, type: D })], A = [v(), _({ converter: O, reflect: !0, type: D })], F = [v(), _({ converter: O, reflect: !0, type: D })], V = [_({ attribute: !1 })], E = [_({ attribute: "weekday-style" })], m(l, null, b, { kind: "setter", name: "valueAsDate", static: !1, private: !1, access: { has: (t) => "valueAsDate" in t, set: (t, r) => {
|
|
141
141
|
t.valueAsDate = r;
|
|
142
142
|
} }, metadata: e }, null, y), m(l, null, A, { kind: "accessor", name: "min", static: !1, private: !1, access: { has: (t) => "min" in t, get: (t) => t.min, set: (t, r) => {
|
|
143
143
|
t.min = r;
|
|
@@ -9,8 +9,6 @@ declare const SbbBreadcrumbElement_base: import('../../core/mixins.js').Abstract
|
|
|
9
9
|
*/
|
|
10
10
|
export declare class SbbBreadcrumbElement extends SbbBreadcrumbElement_base {
|
|
11
11
|
static styles: CSSResultGroup;
|
|
12
|
-
private accessor _hasText;
|
|
13
|
-
private _handleSlotchange;
|
|
14
12
|
protected renderTemplate(): TemplateResult;
|
|
15
13
|
}
|
|
16
14
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../../../src/elements/breadcrumb/breadcrumb/breadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;;
|
|
1
|
+
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../../../src/elements/breadcrumb/breadcrumb/breadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;;AAOjE;;;;;GAKG;AACH,qBAGM,oBAAqB,SAAQ,yBAAuD;IACxF,OAAuB,MAAM,EAAE,cAAc,CAAS;cAEnC,cAAc,IAAI,cAAc;CAQpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,oBAAoB,CAAC;KACxC;CACF"}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
var __typeError = (msg) => {
|
|
2
|
-
throw TypeError(msg);
|
|
3
|
-
};
|
|
4
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
5
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
6
|
-
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
1
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
9
|
-
import { customElement
|
|
2
|
+
import { customElement } from "lit/decorators.js";
|
|
10
3
|
import { html } from "lit/static-html.js";
|
|
11
4
|
import { SbbLinkBaseElement } from "../../core/base-elements.js";
|
|
5
|
+
import { slotState } from "../../core/decorators.js";
|
|
12
6
|
import { SbbHydrationMixin } from "../../core/mixins.js";
|
|
13
7
|
import { SbbIconNameMixin } from "../../icon.js";
|
|
14
8
|
import { css } from "lit";
|
|
@@ -77,53 +71,32 @@ const style = css`*,
|
|
|
77
71
|
white-space: nowrap;
|
|
78
72
|
text-overflow: ellipsis;
|
|
79
73
|
}
|
|
74
|
+
:host(:not([data-slot-names~=unnamed])) .sbb-breadcrumb__label {
|
|
75
|
+
display: none;
|
|
76
|
+
}
|
|
80
77
|
|
|
81
78
|
slot[name=icon] .sbb-breadcrumb__icon,
|
|
82
79
|
slot[name=icon] ::slotted(*) {
|
|
83
80
|
flex-shrink: 0;
|
|
84
81
|
}`;
|
|
85
82
|
let SbbBreadcrumbElement = (() => {
|
|
86
|
-
var
|
|
87
|
-
let _classDecorators = [customElement("sbb-breadcrumb")];
|
|
83
|
+
var _a;
|
|
84
|
+
let _classDecorators = [customElement("sbb-breadcrumb"), slotState()];
|
|
88
85
|
let _classDescriptor;
|
|
89
86
|
let _classExtraInitializers = [];
|
|
90
87
|
let _classThis;
|
|
91
88
|
let _classSuper = SbbIconNameMixin(SbbHydrationMixin(SbbLinkBaseElement));
|
|
92
|
-
let __hasText_decorators;
|
|
93
|
-
let __hasText_initializers = [];
|
|
94
|
-
let __hasText_extraInitializers = [];
|
|
95
89
|
_a = class extends _classSuper {
|
|
96
|
-
constructor() {
|
|
97
|
-
super(...arguments);
|
|
98
|
-
__privateAdd(this, __hasText_accessor_storage, __runInitializers(this, __hasText_initializers, false));
|
|
99
|
-
__runInitializers(this, __hasText_extraInitializers);
|
|
100
|
-
}
|
|
101
|
-
get _hasText() {
|
|
102
|
-
return __privateGet(this, __hasText_accessor_storage);
|
|
103
|
-
}
|
|
104
|
-
set _hasText(value) {
|
|
105
|
-
__privateSet(this, __hasText_accessor_storage, value);
|
|
106
|
-
}
|
|
107
|
-
_handleSlotchange() {
|
|
108
|
-
this._hasText = Array.from(this.childNodes ?? []).some((n) => {
|
|
109
|
-
var _a2;
|
|
110
|
-
return !n.slot && ((_a2 = n.textContent) == null ? void 0 : _a2.trim());
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
90
|
renderTemplate() {
|
|
114
91
|
return html`
|
|
115
92
|
${this.renderIconSlot("sbb-breadcrumb__icon")}
|
|
116
|
-
<span class="sbb-breadcrumb__label"
|
|
117
|
-
<slot
|
|
93
|
+
<span class="sbb-breadcrumb__label">
|
|
94
|
+
<slot></slot>
|
|
118
95
|
</span>
|
|
119
96
|
`;
|
|
120
97
|
}
|
|
121
|
-
},
|
|
98
|
+
}, _classThis = _a, (() => {
|
|
122
99
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
123
|
-
__hasText_decorators = [state()];
|
|
124
|
-
__esDecorate(_a, null, __hasText_decorators, { kind: "accessor", name: "_hasText", static: false, private: false, access: { has: (obj) => "_hasText" in obj, get: (obj) => obj._hasText, set: (obj, value) => {
|
|
125
|
-
obj._hasText = value;
|
|
126
|
-
} }, metadata: _metadata }, __hasText_initializers, __hasText_extraInitializers);
|
|
127
100
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
128
101
|
_classThis = _classDescriptor.value;
|
|
129
102
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
@@ -133,4 +106,4 @@ let SbbBreadcrumbElement = (() => {
|
|
|
133
106
|
export {
|
|
134
107
|
SbbBreadcrumbElement
|
|
135
108
|
};
|
|
136
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi9icmVhZGNydW1iLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHsgU2JiTGlua0Jhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IHNsb3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vYnJlYWRjcnVtYi5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgbGluayB0byBhIHBhZ2U7IHVzZWQgd2l0aGluIGEgYHNiYi1icmVhZGNydW1iLWdyb3VwYCBpdCBjYW4gZGlzcGxheSB0aGUgcGF0aCB0byB0aGUgY3VycmVudCBwYWdlLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGJyZWFkY3J1bWIuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgdG8gZGlzcGxheSBhbiBpY29uIGFzIGJyZWFkY3J1bWIuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1icmVhZGNydW1iJylcbkBzbG90U3RhdGUoKVxuY2xhc3MgU2JiQnJlYWRjcnVtYkVsZW1lbnQgZXh0ZW5kcyBTYmJJY29uTmFtZU1peGluKFNiYkh5ZHJhdGlvbk1peGluKFNiYkxpbmtCYXNlRWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgICR7dGhpcy5yZW5kZXJJY29uU2xvdCgnc2JiLWJyZWFkY3J1bWJfX2ljb24nKX1cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWJyZWFkY3J1bWJfX2xhYmVsXCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYnJlYWRjcnVtYic6IFNiYkJyZWFkY3J1bWJFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBb0JNLHdCQUFvQixNQUFBOztBQUZ6QixNQUFBLG1CQUFBLENBQUEsY0FBYyxnQkFBZ0IsR0FDOUIsV0FBVzs7OztBQUN1QixNQUFBLGNBQUEsaUJBQWlCLGtCQUFrQixrQkFBa0IsQ0FBQztBQUE5RCxFQUFBLG1CQUFRLFlBQXVEO0FBQUEsSUFHckUsaUJBQWM7QUFDeEIsYUFBQTtBQUFBLFFBQ0gsS0FBSyxlQUFlLHNCQUFzQixDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUFBO0FBQUE7O0FBTG5ELGlCQVdDLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFWd0IsR0FBTSxTQUFtQixPQUQ1QyxrQkFBb0IsWUFBQSx1QkFBQSxHQUFDOzs7In0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-reference-controller.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/controllers/id-reference-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAOzE;;GAEG;AACH,qBAAa,wBAAwB,CAAC,CAAC,SAAS,UAAU,CAAE,YAAW,kBAAkB;IAIrF,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IALpB,OAAO,CAAC,SAAS,CAAsC;gBAG7C,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,MAAM,CAAC,EACf,UAAU;kBAZR,gBAAgB;qBAAe,GAAG,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;MAY7C;IAKzB,aAAa,IAAI,IAAI;IAgDrB,gBAAgB,IAAI,IAAI;IAoB/B;;OAEG;IACI,IAAI,IAAI,WAAW,GAAG,IAAI;CAQlC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { isServer } from "lit";
|
|
2
|
+
const observers = /* @__PURE__ */ new WeakMap();
|
|
3
|
+
class SbbIdReferenceController {
|
|
4
|
+
constructor(_host, _idRef, _observers = observers) {
|
|
5
|
+
this._host = _host;
|
|
6
|
+
this._idRef = _idRef;
|
|
7
|
+
this._observers = _observers;
|
|
8
|
+
this._rootNode = null;
|
|
9
|
+
this._host.addController(this);
|
|
10
|
+
}
|
|
11
|
+
hostConnected() {
|
|
12
|
+
if (isServer) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
this._rootNode = this._host.getRootNode();
|
|
16
|
+
const observerContext = this._observers.get(this._rootNode);
|
|
17
|
+
if (observerContext) {
|
|
18
|
+
observerContext.controllers.add(this);
|
|
19
|
+
} else {
|
|
20
|
+
const controllers = /* @__PURE__ */ new Set([this]);
|
|
21
|
+
const observer = new MutationObserver((mutations) => {
|
|
22
|
+
const mutatedIds = /* @__PURE__ */ new Set();
|
|
23
|
+
for (const mutation of mutations) {
|
|
24
|
+
if (mutation.type === "attributes") {
|
|
25
|
+
mutatedIds.add(mutation.oldValue);
|
|
26
|
+
mutatedIds.add(mutation.target.id);
|
|
27
|
+
} else if (mutation.type === "childList") {
|
|
28
|
+
for (const node of [...mutation.addedNodes, ...mutation.removedNodes]) {
|
|
29
|
+
if (node instanceof HTMLElement) {
|
|
30
|
+
mutatedIds.add(node.id);
|
|
31
|
+
node.querySelectorAll("[id]").forEach((e) => mutatedIds.add(e.id));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
for (const controller of controllers) {
|
|
37
|
+
const id = controller._host[controller._idRef];
|
|
38
|
+
if (id && typeof id === "string" && mutatedIds.has(id)) {
|
|
39
|
+
controller._host.requestUpdate();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
observer.observe(this._rootNode, {
|
|
44
|
+
attributeFilter: ["id"],
|
|
45
|
+
childList: true,
|
|
46
|
+
subtree: true,
|
|
47
|
+
attributeOldValue: true
|
|
48
|
+
});
|
|
49
|
+
this._observers.set(this._rootNode, { observer, controllers });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
hostDisconnected() {
|
|
53
|
+
if (isServer || !this._rootNode) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const observerContext = this._observers.get(this._rootNode);
|
|
57
|
+
if (!observerContext) {
|
|
58
|
+
this._rootNode = null;
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
observerContext.controllers.delete(this);
|
|
62
|
+
if (observerContext.controllers.size === 0) {
|
|
63
|
+
observerContext.observer.disconnect();
|
|
64
|
+
this._observers.delete(this._rootNode);
|
|
65
|
+
}
|
|
66
|
+
this._rootNode = null;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Find the element by id in the current document fragment
|
|
70
|
+
*/
|
|
71
|
+
find() {
|
|
72
|
+
var _a;
|
|
73
|
+
if (isServer || !this._rootNode) {
|
|
74
|
+
return null;
|
|
75
|
+
} else {
|
|
76
|
+
const id = this._host[this._idRef];
|
|
77
|
+
return typeof id == "string" ? (_a = this._rootNode) == null ? void 0 : _a.querySelector(`#${id}`) : null;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
export {
|
|
82
|
+
SbbIdReferenceController
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtcmVmZXJlbmNlLWNvbnRyb2xsZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzL2lkLXJlZmVyZW5jZS1jb250cm9sbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyLCB0eXBlIExpdEVsZW1lbnQsIHR5cGUgUmVhY3RpdmVDb250cm9sbGVyIH0gZnJvbSAnbGl0JztcblxuY29uc3Qgb2JzZXJ2ZXJzID0gbmV3IFdlYWtNYXA8XG4gIE5vZGUsXG4gIHsgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7IGNvbnRyb2xsZXJzOiBTZXQ8U2JiSWRSZWZlcmVuY2VDb250cm9sbGVyPGFueT4+IH1cbj4oKTtcblxuLyoqXG4gKiBUcmFja3MgaWQgY2hhbmdlcyBpbiB0aGUgRE9NIGFuZCBjYWxscyBjb21wb25lbnQgd2hlbiBtYXRjaGluZyB3aXRoIHJlcXVlc3RVcGRhdGUoKS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYklkUmVmZXJlbmNlQ29udHJvbGxlcjxUIGV4dGVuZHMgTGl0RWxlbWVudD4gaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBwcml2YXRlIF9yb290Tm9kZTogRG9jdW1lbnQgfCBTaGFkb3dSb290IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2hvc3Q6IFQsXG4gICAgcHJpdmF0ZSBfaWRSZWY6IGtleW9mIFQsXG4gICAgcHJpdmF0ZSBfb2JzZXJ2ZXJzID0gb2JzZXJ2ZXJzLFxuICApIHtcbiAgICB0aGlzLl9ob3N0LmFkZENvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgaG9zdENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9yb290Tm9kZSA9IHRoaXMuX2hvc3QuZ2V0Um9vdE5vZGUoKSBhcyBEb2N1bWVudCB8IFNoYWRvd1Jvb3Q7XG4gICAgY29uc3Qgb2JzZXJ2ZXJDb250ZXh0ID0gdGhpcy5fb2JzZXJ2ZXJzLmdldCh0aGlzLl9yb290Tm9kZSk7XG5cbiAgICBpZiAob2JzZXJ2ZXJDb250ZXh0KSB7XG4gICAgICBvYnNlcnZlckNvbnRleHQuY29udHJvbGxlcnMuYWRkKHRoaXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjb250cm9sbGVycyA9IG5ldyBTZXQoW3RoaXNdKTtcbiAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuICAgICAgICBjb25zdCBtdXRhdGVkSWRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICAgICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbnMpIHtcbiAgICAgICAgICBpZiAobXV0YXRpb24udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnKSB7XG4gICAgICAgICAgICBtdXRhdGVkSWRzLmFkZChtdXRhdGlvbi5vbGRWYWx1ZSEpO1xuICAgICAgICAgICAgbXV0YXRlZElkcy5hZGQoKG11dGF0aW9uLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuaWQpO1xuICAgICAgICAgIH0gZWxzZSBpZiAobXV0YXRpb24udHlwZSA9PT0gJ2NoaWxkTGlzdCcpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBbLi4ubXV0YXRpb24uYWRkZWROb2RlcywgLi4ubXV0YXRpb24ucmVtb3ZlZE5vZGVzXSkge1xuICAgICAgICAgICAgICBpZiAobm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgbXV0YXRlZElkcy5hZGQobm9kZS5pZCk7XG4gICAgICAgICAgICAgICAgbm9kZS5xdWVyeVNlbGVjdG9yQWxsKCdbaWRdJykuZm9yRWFjaCgoZSkgPT4gbXV0YXRlZElkcy5hZGQoZS5pZCkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBjb250cm9sbGVyIG9mIGNvbnRyb2xsZXJzKSB7XG4gICAgICAgICAgY29uc3QgaWQgPSBjb250cm9sbGVyLl9ob3N0W2NvbnRyb2xsZXIuX2lkUmVmXTtcbiAgICAgICAgICBpZiAoaWQgJiYgdHlwZW9mIGlkID09PSAnc3RyaW5nJyAmJiBtdXRhdGVkSWRzLmhhcyhpZCkpIHtcbiAgICAgICAgICAgIGNvbnRyb2xsZXIuX2hvc3QucmVxdWVzdFVwZGF0ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIG9ic2VydmVyLm9ic2VydmUodGhpcy5fcm9vdE5vZGUsIHtcbiAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2lkJ10sXG4gICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgICAgYXR0cmlidXRlT2xkVmFsdWU6IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fb2JzZXJ2ZXJzLnNldCh0aGlzLl9yb290Tm9kZSwgeyBvYnNlcnZlciwgY29udHJvbGxlcnMgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhvc3REaXNjb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgaWYgKGlzU2VydmVyIHx8ICF0aGlzLl9yb290Tm9kZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9ic2VydmVyQ29udGV4dCA9IHRoaXMuX29ic2VydmVycy5nZXQodGhpcy5fcm9vdE5vZGUpO1xuICAgIGlmICghb2JzZXJ2ZXJDb250ZXh0KSB7XG4gICAgICB0aGlzLl9yb290Tm9kZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgb2JzZXJ2ZXJDb250ZXh0LmNvbnRyb2xsZXJzLmRlbGV0ZSh0aGlzKTtcbiAgICBpZiAob2JzZXJ2ZXJDb250ZXh0LmNvbnRyb2xsZXJzLnNpemUgPT09IDApIHtcbiAgICAgIG9ic2VydmVyQ29udGV4dC5vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB0aGlzLl9vYnNlcnZlcnMuZGVsZXRlKHRoaXMuX3Jvb3ROb2RlKTtcbiAgICB9XG5cbiAgICB0aGlzLl9yb290Tm9kZSA9IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogRmluZCB0aGUgZWxlbWVudCBieSBpZCBpbiB0aGUgY3VycmVudCBkb2N1bWVudCBmcmFnbWVudFxuICAgKi9cbiAgcHVibGljIGZpbmQoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoaXNTZXJ2ZXIgfHwgIXRoaXMuX3Jvb3ROb2RlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaWQgPSB0aGlzLl9ob3N0W3RoaXMuX2lkUmVmXTtcbiAgICAgIHJldHVybiB0eXBlb2YgaWQgPT0gJ3N0cmluZycgPyB0aGlzLl9yb290Tm9kZT8ucXVlcnlTZWxlY3RvcihgIyR7aWR9YCkgOiBudWxsO1xuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxNQUFNLGdDQUFnQjtNQVFULHlCQUF3QjtBQUFBLEVBR25DLFlBQ1UsT0FDQSxRQUNBLGFBQWEsV0FBUztBQUZ0QixTQUFLLFFBQUw7QUFDQSxTQUFNLFNBQU47QUFDQSxTQUFVLGFBQVY7QUFMRixTQUFTLFlBQWlDO0FBTzNDLFNBQUEsTUFBTSxjQUFjLElBQUk7QUFBQSxFQUFBO0FBQUEsRUFHeEIsZ0JBQWE7QUFDbEIsUUFBSSxVQUFVO0FBQ1o7QUFBQSxJQUFBO0FBR0csU0FBQSxZQUFZLEtBQUssTUFBTSxZQUFXO0FBQ3ZDLFVBQU0sa0JBQWtCLEtBQUssV0FBVyxJQUFJLEtBQUssU0FBUztBQUUxRCxRQUFJLGlCQUFpQjtBQUNILHNCQUFBLFlBQVksSUFBSSxJQUFJO0FBQUEsSUFBQSxPQUMvQjtBQUNMLFlBQU0sY0FBYyxvQkFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQ2xDLFlBQU0sV0FBVyxJQUFJLGlCQUFpQixDQUFDLGNBQWE7QUFDNUMsY0FBQSxpQ0FBaUI7QUFFdkIsbUJBQVcsWUFBWSxXQUFXO0FBQzVCLGNBQUEsU0FBUyxTQUFTLGNBQWM7QUFDdkIsdUJBQUEsSUFBSSxTQUFTLFFBQVM7QUFDdEIsdUJBQUEsSUFBSyxTQUFTLE9BQXVCLEVBQUU7QUFBQSxVQUFBLFdBQ3pDLFNBQVMsU0FBUyxhQUFhO0FBQzdCLHVCQUFBLFFBQVEsQ0FBQyxHQUFHLFNBQVMsWUFBWSxHQUFHLFNBQVMsWUFBWSxHQUFHO0FBQ3JFLGtCQUFJLGdCQUFnQixhQUFhO0FBQ3BCLDJCQUFBLElBQUksS0FBSyxFQUFFO0FBQ2pCLHFCQUFBLGlCQUFpQixNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sV0FBVyxJQUFJLEVBQUUsRUFBRSxDQUFDO0FBQUEsY0FBQTtBQUFBLFlBQ25FO0FBQUEsVUFDRjtBQUFBLFFBQ0Y7QUFHRixtQkFBVyxjQUFjLGFBQWE7QUFDcEMsZ0JBQU0sS0FBSyxXQUFXLE1BQU0sV0FBVyxNQUFNO0FBQzdDLGNBQUksTUFBTSxPQUFPLE9BQU8sWUFBWSxXQUFXLElBQUksRUFBRSxHQUFHO0FBQ3RELHVCQUFXLE1BQU07O1FBQ25CO0FBQUEsTUFDRixDQUNEO0FBRVEsZUFBQSxRQUFRLEtBQUssV0FBVztBQUFBLFFBQy9CLGlCQUFpQixDQUFDLElBQUk7QUFBQSxRQUN0QixXQUFXO0FBQUEsUUFDWCxTQUFTO0FBQUEsUUFDVCxtQkFBbUI7QUFBQSxNQUFBLENBQ3BCO0FBRUQsV0FBSyxXQUFXLElBQUksS0FBSyxXQUFXLEVBQUUsVUFBVSxhQUFhO0FBQUEsSUFBQTtBQUFBLEVBQy9EO0FBQUEsRUFHSyxtQkFBZ0I7QUFDakIsUUFBQSxZQUFZLENBQUMsS0FBSyxXQUFXO0FBQy9CO0FBQUEsSUFBQTtBQUdGLFVBQU0sa0JBQWtCLEtBQUssV0FBVyxJQUFJLEtBQUssU0FBUztBQUMxRCxRQUFJLENBQUMsaUJBQWlCO0FBQ3BCLFdBQUssWUFBWTtBQUNqQjtBQUFBLElBQUE7QUFHYyxvQkFBQSxZQUFZLE9BQU8sSUFBSTtBQUNuQyxRQUFBLGdCQUFnQixZQUFZLFNBQVMsR0FBRztBQUMxQyxzQkFBZ0IsU0FBUztBQUNwQixXQUFBLFdBQVcsT0FBTyxLQUFLLFNBQVM7QUFBQSxJQUFBO0FBR3ZDLFNBQUssWUFBWTtBQUFBLEVBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1aLE9BQUk7O0FBQ0wsUUFBQSxZQUFZLENBQUMsS0FBSyxXQUFXO0FBQ3hCLGFBQUE7QUFBQSxJQUFBLE9BQ0Y7QUFDTCxZQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssTUFBTTtBQUMxQixhQUFBLE9BQU8sTUFBTSxZQUFXLFVBQUssY0FBTCxtQkFBZ0IsY0FBYyxJQUFJLEVBQUUsTUFBTTtBQUFBLElBQUE7QUFBQSxFQUMzRTtBQUVIOyJ9
|
|
@@ -22,10 +22,12 @@ export declare class SbbSlotStateController implements ReactiveController {
|
|
|
22
22
|
private _host;
|
|
23
23
|
private _onChangeCallback;
|
|
24
24
|
readonly slots: Set<string>;
|
|
25
|
+
private _textObserver;
|
|
25
26
|
constructor(_host: ReactiveControllerHost & HTMLElement, _onChangeCallback?: (() => void) | null);
|
|
26
27
|
hostConnected(): void;
|
|
27
28
|
hostDisconnected(): void;
|
|
28
29
|
private _slotchangeHandler;
|
|
29
30
|
private _syncSlots;
|
|
31
|
+
private _updateSlotNameAttribute;
|
|
30
32
|
}
|
|
31
33
|
//# sourceMappingURL=slot-state-controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slot-state-controller.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/controllers/slot-state-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"slot-state-controller.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/controllers/slot-state-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,kBAAkB,EAAE,KAAK,sBAAsB,EAAE,MAAM,KAAK,CAAC;AAErF;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IAmB7D,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,iBAAiB;IAnB3B,SAAgB,KAAK,cAAqB;IAE1C,OAAO,CAAC,aAAa,CAahB;gBAGK,KAAK,EAAE,sBAAsB,GAAG,WAAW,EAC3C,iBAAiB,GAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAW;IAKhD,aAAa,IAAI,IAAI;IAKrB,gBAAgB,IAAI,IAAI;IAO/B,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,UAAU;IA2BlB,OAAO,CAAC,wBAAwB;CAajC"}
|
|
@@ -1,24 +1,39 @@
|
|
|
1
|
+
import { isServer } from "lit";
|
|
1
2
|
class SbbSlotStateController {
|
|
2
3
|
constructor(_host, _onChangeCallback = null) {
|
|
3
4
|
this._host = _host;
|
|
4
5
|
this._onChangeCallback = _onChangeCallback;
|
|
5
6
|
this.slots = /* @__PURE__ */ new Set();
|
|
7
|
+
this._textObserver = !isServer && new MutationObserver(() => {
|
|
8
|
+
const hasTextNodeContent = Array.from(this._host.childNodes).filter((n) => n.nodeType === n.TEXT_NODE).some((n) => {
|
|
9
|
+
var _a;
|
|
10
|
+
return (_a = n.textContent) == null ? void 0 : _a.trim();
|
|
11
|
+
});
|
|
12
|
+
if (hasTextNodeContent) {
|
|
13
|
+
this.slots.add("unnamed");
|
|
14
|
+
} else if (Array.from(this._host.children).every((e) => e.slot)) {
|
|
15
|
+
this.slots.delete("unnamed");
|
|
16
|
+
}
|
|
17
|
+
this._updateSlotNameAttribute();
|
|
18
|
+
});
|
|
6
19
|
this._slotchangeHandler = (event) => {
|
|
7
20
|
this._syncSlots(event.target);
|
|
8
21
|
};
|
|
9
22
|
this._host.addController(this);
|
|
10
23
|
}
|
|
11
24
|
hostConnected() {
|
|
12
|
-
var _a;
|
|
13
|
-
this._syncSlots(...this._host.querySelectorAll("slot"));
|
|
14
|
-
(
|
|
25
|
+
var _a, _b, _c;
|
|
26
|
+
this._syncSlots(...((_b = (_a = this._host.shadowRoot) == null ? void 0 : _a.querySelectorAll) == null ? void 0 : _b.call(_a, "slot")) ?? []);
|
|
27
|
+
(_c = this._host.shadowRoot) == null ? void 0 : _c.addEventListener("slotchange", this._slotchangeHandler);
|
|
15
28
|
}
|
|
16
29
|
hostDisconnected() {
|
|
17
30
|
var _a;
|
|
18
31
|
(_a = this._host.shadowRoot) == null ? void 0 : _a.removeEventListener("slotchange", this._slotchangeHandler);
|
|
32
|
+
this._textObserver.disconnect();
|
|
19
33
|
}
|
|
20
34
|
_syncSlots(...slots) {
|
|
21
35
|
var _a;
|
|
36
|
+
this._textObserver.disconnect();
|
|
22
37
|
for (const slot of slots) {
|
|
23
38
|
const slotName = slot.name || "unnamed";
|
|
24
39
|
if (slot.assignedNodes().some((n) => {
|
|
@@ -29,7 +44,12 @@ class SbbSlotStateController {
|
|
|
29
44
|
} else {
|
|
30
45
|
this.slots.delete(slotName);
|
|
31
46
|
}
|
|
47
|
+
this._updateSlotNameAttribute();
|
|
32
48
|
}
|
|
49
|
+
(_a = slots.find((s) => !s.name)) == null ? void 0 : _a.assignedNodes().filter((n) => n.nodeType === n.TEXT_NODE).forEach((node) => this._textObserver.observe(node, { characterData: true }));
|
|
50
|
+
}
|
|
51
|
+
_updateSlotNameAttribute() {
|
|
52
|
+
var _a;
|
|
33
53
|
const oldValue = this._host.getAttribute("data-slot-names");
|
|
34
54
|
const joinedSlotNames = [...this.slots].sort().join(" ");
|
|
35
55
|
if (!joinedSlotNames) {
|
|
@@ -45,4 +65,4 @@ class SbbSlotStateController {
|
|
|
45
65
|
export {
|
|
46
66
|
SbbSlotStateController
|
|
47
67
|
};
|
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xvdC1zdGF0ZS1jb250cm9sbGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9jb250cm9sbGVycy9zbG90LXN0YXRlLWNvbnRyb2xsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTZXJ2ZXIsIHR5cGUgUmVhY3RpdmVDb250cm9sbGVyLCB0eXBlIFJlYWN0aXZlQ29udHJvbGxlckhvc3QgfSBmcm9tICdsaXQnO1xuXG4vKipcbiAqIFRoaXMgY29udHJvbGxlciBjaGVja3MgZm9yIHNsb3R0ZWQgY2hpbGRyZW4uIEZyb20gdGhlc2UgaXQgZ2VuZXJhdGVzXG4gKiBhIGxpc3Qgb2YgdXNlZCBzbG90IG5hbWVzIChgdW5uYW1lZGAgZm9yIGNoaWxkcmVuIHdpdGhvdXQgYSBzbG90IGF0dHJpYnV0ZSlcbiAqIGFuZCBhZGRzIHRoaXMgdG8gdGhlIGBkYXRhLXNsb3QtbmFtZXNgIGF0dHJpYnV0ZSwgYXMgYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdC5cbiAqXG4gKiBUaGlzIGFsbG93cyBDU1MgYXR0cmlidXRlIHNlbGVjdG9yIHRvIGRpc3BsYXkvaGlkZS9jb25maWd1cmUgYSBzZWN0aW9uXG4gKiBvZiB0aGUgY29tcG9uZW50IGFzIHJlcXVpcmVkIChzZWUgW2F0dHJ+PXZhbHVlXSBzZWxlY3RvciBzcGVjaWZpY2FsbHkpLlxuICpcbiAqIEBleGFtcGxlXG4gKiAuZXhhbXBsZSB7XG4gKiAgIGRpc3BsYXk6IG5vbmU7XG4gKlxuICogICA6aG9zdChbZGF0YS1zbG90LW5hbWVzfj1cImljb25cIl0pICYge1xuICogICAgIGRpc3BsYXk6IGlubGluZTtcbiAqICAgfVxuICogfVxuICpcbiAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9BdHRyaWJ1dGVfc2VsZWN0b3JzXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTbG90U3RhdGVDb250cm9sbGVyIGltcGxlbWVudHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IHNsb3RzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgcHJpdmF0ZSBfdGV4dE9ic2VydmVyID1cbiAgICAhaXNTZXJ2ZXIgJiZcbiAgICBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICBjb25zdCBoYXNUZXh0Tm9kZUNvbnRlbnQgPSBBcnJheS5mcm9tKHRoaXMuX2hvc3QuY2hpbGROb2RlcylcbiAgICAgICAgLmZpbHRlcigobikgPT4gbi5ub2RlVHlwZSA9PT0gbi5URVhUX05PREUpXG4gICAgICAgIC5zb21lKChuKSA9PiBuLnRleHRDb250ZW50Py50cmltKCkpO1xuXG4gICAgICBpZiAoaGFzVGV4dE5vZGVDb250ZW50KSB7XG4gICAgICAgIHRoaXMuc2xvdHMuYWRkKCd1bm5hbWVkJyk7XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmZyb20odGhpcy5faG9zdC5jaGlsZHJlbikuZXZlcnkoKGUpID0+IGUuc2xvdCkpIHtcbiAgICAgICAgdGhpcy5zbG90cy5kZWxldGUoJ3VubmFtZWQnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3VwZGF0ZVNsb3ROYW1lQXR0cmlidXRlKCk7XG4gICAgfSk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2hvc3Q6IFJlYWN0aXZlQ29udHJvbGxlckhvc3QgJiBIVE1MRWxlbWVudCxcbiAgICBwcml2YXRlIF9vbkNoYW5nZUNhbGxiYWNrOiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbCxcbiAgKSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fc3luY1Nsb3RzKC4uLih0aGlzLl9ob3N0LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2xvdCcpID8/IFtdKSk7XG4gICAgdGhpcy5faG9zdC5zaGFkb3dSb290Py5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgdGhpcy5fc2xvdGNoYW5nZUhhbmRsZXIpO1xuICB9XG5cbiAgcHVibGljIGhvc3REaXNjb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5faG9zdC5zaGFkb3dSb290Py5yZW1vdmVFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgdGhpcy5fc2xvdGNoYW5nZUhhbmRsZXIpO1xuICAgIHRoaXMuX3RleHRPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH1cblxuICAvLyBXZSBhdm9pZCB1c2luZyBBYm9ydENvbnRyb2xsZXIgaGVyZSwgYXMgaXQgd291bGQgbWVhbiBjcmVhdGluZ1xuICAvLyBhIG5ldyBpbnN0YW5jZSBmb3IgZXZlcnkgU2JiU2xvdFN0YXRlQ29udHJvbGxlciBpbnN0YW5jZS5cbiAgcHJpdmF0ZSBfc2xvdGNoYW5nZUhhbmRsZXIgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5fc3luY1Nsb3RzKGV2ZW50LnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpO1xuICB9O1xuXG4gIHByaXZhdGUgX3N5bmNTbG90cyguLi5zbG90czogSFRNTFNsb3RFbGVtZW50W10pOiB2b2lkIHtcbiAgICB0aGlzLl90ZXh0T2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuXG4gICAgZm9yIChjb25zdCBzbG90IG9mIHNsb3RzKSB7XG4gICAgICBjb25zdCBzbG90TmFtZSA9IHNsb3QubmFtZSB8fCAndW5uYW1lZCc7XG4gICAgICAvLyBXZSB3YW50IHRvIGNoZWNrLCB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgc2xvdHRlZCBvciBhIHRleHQgbm9kZSB3aXRoIGFjdHVhbCBjb250ZW50LlxuICAgICAgaWYgKHNsb3QuYXNzaWduZWROb2RlcygpLnNvbWUoKG4pID0+ICd0YWdOYW1lJyBpbiBuIHx8IG4udGV4dENvbnRlbnQ/LnRyaW0oKSkpIHtcbiAgICAgICAgdGhpcy5zbG90cy5hZGQoc2xvdE5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zbG90cy5kZWxldGUoc2xvdE5hbWUpO1xuICAgICAgfVxuICAgICAgdGhpcy5fdXBkYXRlU2xvdE5hbWVBdHRyaWJ1dGUoKTtcbiAgICB9XG5cbiAgICAvLyBUZXh0IG5vZGVzIGNhbiBiZSBlbXB0eSBhbmQgZmlsbGVkIGxhdGVyIChvciB2aWNlIHZlcnNhKS5cbiAgICAvLyBGaWxsaW5nIGFuIGV4aXN0aW5nIG5vZGUgbGF0ZXIgd291bGQgbm90IHRyaWdnZXIgYW5vdGhlciBzbG90Y2hhbmdlIGV2ZW50LlxuICAgIC8vIFRoZXJlZm9yZSwgd2UgbmVlZCB0byBvYnNlcnZlIHRleHQgbm9kZXMgYW5kIGNoZWNrIGlmIHRoZXkgYmVjb21lIGZpbGxlZCBvciBlbXB0eS5cbiAgICAvLyBUaGlzIGlzIG9ubHkgbmVlZGVkIGZvciB0aGUgdW5uYW1lZCBzbG90IGFzIGZvciBldmVyeSBvdGhlciB0aGVyZSB3b3VsZFxuICAgIC8vIGJlIGEgdGFnIHdoaWNoIHRyaWdnZXJzIHRoZSBzbG90IGNoYW5nZSBldmVudC5cbiAgICAvLyBUaGUgbWFpbiByZWFzb24gaXMgdGhhdCBBbmd1bGFyIGNyZWF0ZXMgZW1wdHkgdGV4dCBub2RlcyBhbmQgZmlsbHMgdGhlbSBsYXRlci5cbiAgICBzbG90c1xuICAgICAgLmZpbmQoKHMpID0+ICFzLm5hbWUpXG4gICAgICA/LmFzc2lnbmVkTm9kZXMoKVxuICAgICAgLmZpbHRlcigobikgPT4gbi5ub2RlVHlwZSA9PT0gbi5URVhUX05PREUpXG4gICAgICAuZm9yRWFjaCgobm9kZSkgPT4gdGhpcy5fdGV4dE9ic2VydmVyLm9ic2VydmUobm9kZSwgeyBjaGFyYWN0ZXJEYXRhOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVNsb3ROYW1lQXR0cmlidXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5faG9zdC5nZXRBdHRyaWJ1dGUoJ2RhdGEtc2xvdC1uYW1lcycpO1xuICAgIGNvbnN0IGpvaW5lZFNsb3ROYW1lcyA9IFsuLi50aGlzLnNsb3RzXS5zb3J0KCkuam9pbignICcpO1xuICAgIGlmICgham9pbmVkU2xvdE5hbWVzKSB7XG4gICAgICB0aGlzLl9ob3N0LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1zbG90LW5hbWVzJyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9ob3N0LmdldEF0dHJpYnV0ZSgnZGF0YS1zbG90LW5hbWVzJykgIT09IGpvaW5lZFNsb3ROYW1lcykge1xuICAgICAgdGhpcy5faG9zdC5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2xvdC1uYW1lcycsIGpvaW5lZFNsb3ROYW1lcyk7XG4gICAgfVxuXG4gICAgaWYgKGpvaW5lZFNsb3ROYW1lcyAhPT0gb2xkVmFsdWUpIHtcbiAgICAgIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2s/LigpO1xuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiO01BcUJhLHVCQUFzQjtBQUFBLEVBa0JqQyxZQUNVLE9BQ0Esb0JBQXlDLE1BQUk7QUFEN0MsU0FBSyxRQUFMO0FBQ0EsU0FBaUIsb0JBQWpCO0FBbkJNLFNBQUEsNEJBQVksSUFBRztBQUV2QixTQUFhLGdCQUNuQixDQUFDLFlBQ0QsSUFBSSxpQkFBaUIsTUFBSztBQUNsQixZQUFBLHFCQUFxQixNQUFNLEtBQUssS0FBSyxNQUFNLFVBQVUsRUFDeEQsT0FBTyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUN4QyxLQUFLLENBQUM7O0FBQU0sdUJBQUUsZ0JBQUYsbUJBQWU7QUFBQSxPQUFNO0FBRXBDLFVBQUksb0JBQW9CO0FBQ2pCLGFBQUEsTUFBTSxJQUFJLFNBQVM7QUFBQSxNQUNmLFdBQUEsTUFBTSxLQUFLLEtBQUssTUFBTSxRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEdBQUc7QUFDMUQsYUFBQSxNQUFNLE9BQU8sU0FBUztBQUFBLE1BQUE7QUFFN0IsV0FBSyx5QkFBd0I7QUFBQSxJQUFBLENBQzlCO0FBcUJLLFNBQUEscUJBQXFCLENBQUMsVUFBc0I7QUFDN0MsV0FBQSxXQUFXLE1BQU0sTUFBeUI7QUFBQSxJQUNqRDtBQWpCTyxTQUFBLE1BQU0sY0FBYyxJQUFJO0FBQUEsRUFBQTtBQUFBLEVBR3hCLGdCQUFhOztBQUNiLFNBQUEsV0FBVyxLQUFJLGdCQUFLLE1BQU0sZUFBWCxtQkFBdUIscUJBQXZCLDRCQUEwQyxZQUFXLEVBQUc7QUFDNUUsZUFBSyxNQUFNLGVBQVgsbUJBQXVCLGlCQUFpQixjQUFjLEtBQUs7QUFBQSxFQUFrQjtBQUFBLEVBR3hFLG1CQUFnQjs7QUFDckIsZUFBSyxNQUFNLGVBQVgsbUJBQXVCLG9CQUFvQixjQUFjLEtBQUs7QUFDOUQsU0FBSyxjQUFjOztFQVNiLGNBQWMsT0FBd0I7O0FBQzVDLFNBQUssY0FBYztBQUVuQixlQUFXLFFBQVEsT0FBTztBQUNsQixZQUFBLFdBQVcsS0FBSyxRQUFRO0FBRTlCLFVBQUksS0FBSyxnQkFBZ0IsS0FBSyxDQUFDLE1BQUE7O0FBQU0sNEJBQWEsT0FBS0EsTUFBQSxFQUFFLGdCQUFGLGdCQUFBQSxJQUFlO0FBQUEsT0FBTSxHQUFHO0FBQ3hFLGFBQUEsTUFBTSxJQUFJLFFBQVE7QUFBQSxNQUFBLE9BQ2xCO0FBQ0EsYUFBQSxNQUFNLE9BQU8sUUFBUTtBQUFBLE1BQUE7QUFFNUIsV0FBSyx5QkFBd0I7QUFBQSxJQUFBO0FBUy9CLGdCQUNHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLE1BRHRCLG1CQUVJLGdCQUNELE9BQU8sQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLFdBQy9CLFFBQVEsQ0FBQyxTQUFTLEtBQUssY0FBYyxRQUFRLE1BQU0sRUFBRSxlQUFlLEtBQU0sQ0FBQTtBQUFBLEVBQUM7QUFBQSxFQUd4RSwyQkFBd0I7O0FBQzlCLFVBQU0sV0FBVyxLQUFLLE1BQU0sYUFBYSxpQkFBaUI7QUFDcEQsVUFBQSxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssS0FBSyxFQUFFLEtBQU8sRUFBQSxLQUFLLEdBQUc7QUFDdkQsUUFBSSxDQUFDLGlCQUFpQjtBQUNmLFdBQUEsTUFBTSxnQkFBZ0IsaUJBQWlCO0FBQUEsSUFBQSxXQUNuQyxLQUFLLE1BQU0sYUFBYSxpQkFBaUIsTUFBTSxpQkFBaUI7QUFDcEUsV0FBQSxNQUFNLGFBQWEsbUJBQW1CLGVBQWU7QUFBQSxJQUFBO0FBRzVELFFBQUksb0JBQW9CLFVBQVU7QUFDaEMsaUJBQUssc0JBQUw7QUFBQSxJQUF3QjtBQUFBLEVBQzFCO0FBRUg7In0=
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export * from './controllers/connected-abort-controller.js';
|
|
5
5
|
export * from './controllers/escapable-overlay-controller.js';
|
|
6
|
-
export * from './controllers/id-
|
|
6
|
+
export * from './controllers/id-reference-controller.js';
|
|
7
7
|
export * from './controllers/inert-controller.js';
|
|
8
8
|
export * from './controllers/language-controller.js';
|
|
9
9
|
export * from './controllers/media-matchers-controller.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/controllers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,
|
|
1
|
+
{"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/controllers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SbbConnectedAbortController } from "./controllers/connected-abort-controller.js";
|
|
2
2
|
import { SbbEscapableOverlayController } from "./controllers/escapable-overlay-controller.js";
|
|
3
|
-
import { SbbIdReferenceController } from "./controllers/id-
|
|
3
|
+
import { SbbIdReferenceController } from "./controllers/id-reference-controller.js";
|
|
4
4
|
import { SbbInertController } from "./controllers/inert-controller.js";
|
|
5
5
|
import { SbbLanguageController } from "./controllers/language-controller.js";
|
|
6
6
|
import { SbbMediaMatcherController, SbbMediaQueryBreakpointMediumAndAbove, SbbMediaQueryBreakpointMediumAndBelow, SbbMediaQueryBreakpointSmallAndBelow, SbbMediaQueryForcedColors, SbbMediaQueryHover, SbbMediaQueryPointerCoarse } from "./controllers/media-matchers-controller.js";
|
|
@@ -14,10 +14,11 @@ import { forceType, DateOnlyType, dateConverter } from "../core/decorators.js";
|
|
|
14
14
|
import { i18nDatePickerPlaceholder, i18nDateInvalid, i18nDateMin, i18nDateMax } from "../core/i18n.js";
|
|
15
15
|
import { SbbFormAssociatedInputMixin } from "../core/mixins.js";
|
|
16
16
|
const style = css`:host {
|
|
17
|
-
display: inline-
|
|
17
|
+
display: inline-flex;
|
|
18
18
|
min-width: 9.375rem;
|
|
19
19
|
max-width: 100%;
|
|
20
20
|
cursor: text;
|
|
21
|
+
align-items: center;
|
|
21
22
|
}
|
|
22
23
|
@media (forced-colors: active) {
|
|
23
24
|
:host {
|
|
@@ -267,4 +268,4 @@ let SbbDateInputElement = (() => {
|
|
|
267
268
|
export {
|
|
268
269
|
SbbDateInputElement
|
|
269
270
|
};
|
|
270
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1NlcnZlciwgTGl0RWxlbWVudCwgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBQcm9wZXJ0eURlY2xhcmF0aW9uIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vY29yZS9jb25maWcuanMnO1xuaW1wb3J0IHsgdHlwZSBEYXRlQWRhcHRlciwgZGVmYXVsdERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vY29yZS9kYXRldGltZS5qcyc7XG5pbXBvcnQgeyBkYXRlQ29udmVydGVyLCBEYXRlT25seVR5cGUsIGZvcmNlVHlwZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQge1xuICBpMThuRGF0ZU1heCxcbiAgaTE4bkRhdGVNaW4sXG4gIGkxOG5EYXRlSW52YWxpZCxcbiAgaTE4bkRhdGVQaWNrZXJQbGFjZWhvbGRlcixcbn0gZnJvbSAnLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7XG4gIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbixcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxufSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRhdGVwaWNrZXJFbGVtZW50IH0gZnJvbSAnLi4vZGF0ZXBpY2tlci5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RhdGUtaW5wdXQuc2Nzcz9saXQmaW5saW5lJztcblxuLy8gQXMgZG9jdW1lbnRlZCBpbiBmb3JtLWFzc29jaWF0ZWQtbWl4aW4udHMsIHdlIGV4dGVuZCB0aGUgcHJvdG90eXBlIG9mXG4vLyBWYWxpZGl0eVN0YXRlIHdpdGggY3VzdG9tIGVycm9yIHN0YXRlcyBmb3IgdGhlIGRhdGUgaW5wdXQuXG5PYmplY3QuYXNzaWduKFZhbGlkaXR5U3RhdGUucHJvdG90eXBlLCB7XG4gIGdldCBzYmJEYXRlRmlsdGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSxcbn0pO1xuXG4vKipcbiAqIEN1c3RvbSBpbnB1dCBmb3IgYSBkYXRlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItZGF0ZS1pbnB1dCcpXG5jbGFzcyBTYmJEYXRlSW5wdXRFbGVtZW50PFQgPSBEYXRlPiBleHRlbmRzIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIGRhdGUgaW5wdXQuIFJlZmxlY3RzIHRoZSBjdXJyZW50IHRleHQgdmFsdWVcbiAgICogb2YgdGhpcyBpbnB1dC5cbiAgICogQGF0dHIgQWNjZXB0cyBJU084NjAxIGZvcm1hdHRlZCB2YWx1ZXMsIHdoaWNoIHdpbGwgYmVcbiAgICogZm9ybWF0dGVkIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBsb2NhbGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90cnlQYXJzZVZhbHVlKHZhbHVlKTtcbiAgICAvLyBBcyBsb25nIGFzIHRoaXMgZWxlbWVudCBoYXMgZm9jdXMgd2UgZGVsYXkgYXV0b21hdGljYWxseSB1cGRhdGluZ1xuICAgIC8vIHRoZSB2YWx1ZSB3aXRoIHRoZSBmb3JtYXR0ZWQgc3RyaW5nIG9mIHRoZSBwYXJzZWQgZGF0ZS5cbiAgICBpZiAoIWlzU2VydmVyICYmICF0aGlzLm1hdGNoZXMoJzpmb2N1cycpICYmIHRoaXMudmFsdWVBc0RhdGUgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5fZm9ybWF0RGF0ZSgpO1xuICAgIH1cbiAgICBzdXBlci52YWx1ZSA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3VwZXIudmFsdWUgPz8gJyc7XG4gIH1cblxuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSwgdHlwZTogRGF0ZU9ubHlUeXBlIH0pXG4gIHB1YmxpYyBzZXQgdmFsdWVBc0RhdGUodmFsdWU6IFQgfCBudWxsKSB7XG4gICAgLy8gRHVlIHRvIGZvcmNlVHlwZSBhbmQgRGF0ZU9ubHlUeXBlLCB0aGUgZ2l2ZW4gdmFsdWVcbiAgICAvLyBpcyBlaXRoZXIgbnVsbCBvciBhIGRhdGUgb25seSBjb3B5IG9mIHRoZSBvcmlnaW5hbFxuICAgIC8vIHZhbHVlIHBhc3NlZCB0byB2YWx1ZUFzRGF0ZS5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZUFzRGF0ZSA9IG51bGw7XG4gICAgICB0aGlzLl92YWx1ZUNhY2hlID0gWycnLCBudWxsXTtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgIXRoaXMuX2RhdGVBZGFwdGVyLmlzRGF0ZUluc3RhbmNlKHRoaXMuX3ZhbHVlQXNEYXRlKSB8fFxuICAgICAgdGhpcy5fZGF0ZUFkYXB0ZXIuY29tcGFyZURhdGUodGhpcy5fdmFsdWVBc0RhdGUhLCB2YWx1ZSEpICE9PSAwXG4gICAgKSB7XG4gICAgICAvLyBBbGlnbiB3aXRoIHRoZSBuYXRpdmUgZGF0ZSBpbnB1dCwgYXMgaXQgY29waWVzIHRoZSB2YWx1ZSBvZlxuICAgICAgLy8gdGhlIGdpdmVuIGRhdGUgYW5kIGRvZXMgbm90IHJldGFpbiB0aGUgb3JpZ2luYWwgaW5zdGFuY2UuXG4gICAgICB0aGlzLl92YWx1ZUFzRGF0ZSA9IHZhbHVlO1xuICAgICAgY29uc3Qgc3RyaW5nVmFsdWUgPSB0aGlzLl9mb3JtYXREYXRlKCk7XG4gICAgICB0aGlzLl92YWx1ZUNhY2hlID0gW3N0cmluZ1ZhbHVlLCB0aGlzLl92YWx1ZUFzRGF0ZV07XG4gICAgICB0aGlzLnZhbHVlID0gc3RyaW5nVmFsdWU7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWVBc0RhdGUoKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZUFzRGF0ZSA/PyBudWxsO1xuICB9XG4gIHByaXZhdGUgX3ZhbHVlQXNEYXRlPzogVCB8IG51bGw7XG5cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGNvbnZlcnRlcjogZGF0ZUNvbnZlcnRlciwgcmVmbGVjdDogdHJ1ZSwgdHlwZTogRGF0ZU9ubHlUeXBlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBtaW46IFQgfCBudWxsID0gbnVsbDtcblxuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgY29udmVydGVyOiBkYXRlQ29udmVydGVyLCByZWZsZWN0OiB0cnVlLCB0eXBlOiBEYXRlT25seVR5cGUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG1heDogVCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBBIGZ1bmN0aW9uIHVzZWQgdG8gZmlsdGVyIG91dCBkYXRlcy4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICBwdWJsaWMgc2V0IGRhdGVGaWx0ZXIodmFsdWU6IChkYXRlOiBUIHwgbnVsbCkgPT4gYm9vbGVhbikge1xuICAgIHRoaXMuX2RhdGVGaWx0ZXIgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5kYXRlcGlja2VyKSB7XG4gICAgICB0aGlzLmRhdGVwaWNrZXIuZGF0ZUZpbHRlciA9IHZhbHVlO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IGRhdGVGaWx0ZXIoKTogKGRhdGU6IFQgfCBudWxsKSA9PiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0ZUZpbHRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb3cgdG8gZm9ybWF0IHRoZSBkaXNwbGF5ZWQgZGF0ZS5cbiAgICogYHNob3J0YDogVHdvIGxldHRlciBhYmJyZXZpYXRpb24gb2YgdGhlIHdlZWsgZGF5IChlLmcuIEZyKS5cbiAgICogYG5vbmVgOiBUaGUgd2Vla2RheSBpcyBub3QgZGlzcGxheWVkLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnd2Vla2RheS1zdHlsZScgfSlcbiAgcHVibGljIGFjY2Vzc29yIHdlZWtkYXlTdHlsZTogJ3Nob3J0JyB8ICdub25lJyA9ICdzaG9ydCc7XG5cbiAgLyoqXG4gICAqIFN0b3JlcyB0aGUgbGFzdCBzdHJpbmcgYW5kIHBhcnNlZCBkYXRlIG9iamVjdCB2YWx1ZSB0byBwcmV2ZW50IHJlcGVhdGVkXG4gICAqIHBhcnNpbmcgb2YgdGhlIHN0cmluZyB2YWx1ZS5cbiAgICovXG4gIHByaXZhdGUgX3ZhbHVlQ2FjaGU/OiBbc3RyaW5nLCBUIHwgbnVsbF07XG4gIHByaXZhdGUgX2RhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxUPiA9IHJlYWRDb25maWcoKS5kYXRldGltZT8uZGF0ZUFkYXB0ZXIgPz8gZGVmYXVsdERhdGVBZGFwdGVyO1xuICBwcml2YXRlIF9wbGFjZWhvbGRlck11dGFibGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgYXNzb2NpYXRlZCBkYXRlcGlja2VyLCBpZiBhbnkuXG4gICAqIFRoZSBzYmItZGF0ZS1pbnB1dCBhbmQgdGhlIHNiYi1kYXRlcGlja2VyIGFyZSBhc3N1bWVkIHRvIGJlIGluIHRoZSBzYW1lIHBhcmVudCBjb250YWluZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRhdGVwaWNrZXIoKTogU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnRFbGVtZW50IS5xdWVyeVNlbGVjdG9yPFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+Pignc2JiLWRhdGVwaWNrZXInKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjaGFuZ2UnLCAoKSA9PiB0aGlzLl91cGRhdGVWYWx1ZURhdGVGb3JtYXQoKSwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGF0ZUZpbHRlcjogKGRhdGU6IFQgfCBudWxsKSA9PiBib29sZWFuID0gKCkgPT4gdHJ1ZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBpZiAoIXRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgIHRoaXMuX3BsYWNlaG9sZGVyTXV0YWJsZSA9IHRydWU7XG4gICAgICB0aGlzLnBsYWNlaG9sZGVyID0gaTE4bkRhdGVQaWNrZXJQbGFjZWhvbGRlclt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQgJiYgIW5hbWUpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVZhbHVlRGF0ZUZvcm1hdCgpO1xuICAgICAgaWYgKHRoaXMuX3BsYWNlaG9sZGVyTXV0YWJsZSkge1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gaTE4bkRhdGVQaWNrZXJQbGFjZWhvbGRlclt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3dlZWtkYXlTdHlsZScpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVZhbHVlRGF0ZUZvcm1hdCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICAvLyBVc2VkIHRvIG5vdGlmeSB0aGUgZGF0ZXBpY2tlciB0byB1cGRhdGUgaXRzIHN0YXRlXG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtWNoYW5nZScpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIENhbGxlZCB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byByZXN0b3JlIGVsZW1lbnTigJlzIHN0YXRlIHRvIHN0YXRlIGluIHdoaWNoIGNhc2VcbiAgICogIHJlYXNvbiBpcyBcInJlc3RvcmVcIiwgb3Igd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gZnVsZmlsbCBhdXRvZmlsbCBvbiBiZWhhbGYgb2ZcbiAgICogIHVzZXIgaW4gd2hpY2ggY2FzZSByZWFzb24gaXMgXCJhdXRvY29tcGxldGVcIi5cbiAgICogIEluIHRoZSBjYXNlIG9mIFwicmVzdG9yZVwiLCBzdGF0ZSBpcyBhIHN0cmluZywgRmlsZSwgb3IgRm9ybURhdGEgb2JqZWN0XG4gICAqICBwcmV2aW91c2x5IHNldCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHNldEZvcm1WYWx1ZS5cbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgKTogdm9pZCB7XG4gICAgaWYgKHN0YXRlICYmIHR5cGVvZiBzdGF0ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBzdGF0ZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMuX3RyeVBhcnNlVmFsdWUoKTtcbiAgICBjb25zdCBmb3JtVmFsdWUgPVxuICAgICAgdGhpcy52YWx1ZUFzRGF0ZSAhPT0gbnVsbCA/IHRoaXMuX2RhdGVBZGFwdGVyLnRvSXNvODYwMSh0aGlzLnZhbHVlQXNEYXRlKSA6IG51bGw7XG4gICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKGZvcm1WYWx1ZSwgdGhpcy52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF90cnlQYXJzZVZhbHVlKHZhbHVlID0gdGhpcy52YWx1ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl92YWx1ZUNhY2hlPy5bMF0gIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZUFzRGF0ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLnBhcnNlKHZhbHVlKTtcbiAgICAgIHRoaXMuX3ZhbHVlQ2FjaGUgPSBbdmFsdWUsIHRoaXMuX3ZhbHVlQXNEYXRlXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWYWx1ZURhdGVGb3JtYXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsdWVBc0RhdGUpIHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSB0aGlzLl9mb3JtYXREYXRlKCk7XG4gICAgICBpZiAodGhpcy52YWx1ZSAhPT0gZm9ybWF0dGVkRGF0ZSkge1xuICAgICAgICBzdXBlci52YWx1ZSA9IGZvcm1hdHRlZERhdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZm9ybWF0RGF0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kYXRlQWRhcHRlci5mb3JtYXQodGhpcy52YWx1ZUFzRGF0ZSwgeyB3ZWVrZGF5U3R5bGU6IHRoaXMud2Vla2RheVN0eWxlIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNob3VsZFZhbGlkYXRlKG5hbWU6IFByb3BlcnR5S2V5IHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLnNob3VsZFZhbGlkYXRlKG5hbWUpIHx8IFsndmFsdWVBc0RhdGUnLCAnbWluJywgJ21heCddLmluY2x1ZGVzKG5hbWUgYXMgc3RyaW5nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB2YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICBzdXBlci52YWxpZGF0ZSgpO1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5fcmVtb3ZlVmFsaWRpdHlFcnJvcnMoKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLl9kYXRlQWRhcHRlci5pc1ZhbGlkKHRoaXMudmFsdWVBc0RhdGUpKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZygnYmFkSW5wdXQnLCBpMThuRGF0ZUludmFsaWRbdGhpcy5sYW5ndWFnZS5jdXJyZW50XSk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmlzVmFsaWQodGhpcy5taW4pICYmXG4gICAgICB0aGlzLl9kYXRlQWRhcHRlci5jb21wYXJlRGF0ZSh0aGlzLm1pbiwgdGhpcy52YWx1ZUFzRGF0ZSkgPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZyhcbiAgICAgICAgJ3JhbmdlVW5kZXJmbG93JyxcbiAgICAgICAgaTE4bkRhdGVNaW4odGhpcy5fZGF0ZUFkYXB0ZXIuZm9ybWF0KHRoaXMubWluLCB7IHdlZWtkYXlTdHlsZTogJ25vbmUnIH0pKVtcbiAgICAgICAgICB0aGlzLmxhbmd1YWdlLmN1cnJlbnRcbiAgICAgICAgXSxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmlzVmFsaWQodGhpcy5tYXgpICYmXG4gICAgICB0aGlzLl9kYXRlQWRhcHRlci5jb21wYXJlRGF0ZSh0aGlzLnZhbHVlQXNEYXRlLCB0aGlzLm1heCkgPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZyhcbiAgICAgICAgJ3JhbmdlT3ZlcmZsb3cnLFxuICAgICAgICBpMThuRGF0ZU1heCh0aGlzLl9kYXRlQWRhcHRlci5mb3JtYXQodGhpcy5tYXgsIHsgd2Vla2RheVN0eWxlOiAnbm9uZScgfSkpW1xuICAgICAgICAgIHRoaXMubGFuZ3VhZ2UuY3VycmVudFxuICAgICAgICBdLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0ZUZpbHRlciAmJiAhdGhpcy5kYXRlRmlsdGVyKHRoaXMudmFsdWVBc0RhdGUpKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZygnc2JiRGF0ZUZpbHRlcicsIGkxOG5EYXRlSW52YWxpZFt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fcmVtb3ZlVmFsaWRpdHlFcnJvcnMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZW1vdmVWYWxpZGl0eUVycm9ycygpOiB2b2lkIHtcbiAgICAoWydiYWRJbnB1dCcsICdyYW5nZVVuZGVyZmxvdycsICdyYW5nZU92ZXJmbG93JywgJ3NiYkRhdGVGaWx0ZXInXSBhcyBjb25zdCkuZm9yRWFjaCgoZikgPT5cbiAgICAgIHRoaXMucmVtb3ZlVmFsaWRpdHlGbGFnKGYpLFxuICAgICk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1kYXRlLWlucHV0JzogU2JiRGF0ZUlucHV0RWxlbWVudDtcbiAgfVxuXG4gIGludGVyZmFjZSBDdXN0b21WYWxpZGl0eVN0YXRlIHtcbiAgICBzYmJEYXRlRmlsdGVyOiBib29sZWFuO1xuICB9XG59XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF1QkEsT0FBTyxPQUFPLGNBQWMsV0FBVztBQUFBLEVBQ3JDLElBQUksZ0JBQWE7QUFDUixXQUFBO0FBQUEsRUFBQTtBQUVW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
|
|
271
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1NlcnZlciwgTGl0RWxlbWVudCwgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBQcm9wZXJ0eURlY2xhcmF0aW9uIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vY29yZS9jb25maWcuanMnO1xuaW1wb3J0IHsgdHlwZSBEYXRlQWRhcHRlciwgZGVmYXVsdERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vY29yZS9kYXRldGltZS5qcyc7XG5pbXBvcnQgeyBkYXRlQ29udmVydGVyLCBEYXRlT25seVR5cGUsIGZvcmNlVHlwZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQge1xuICBpMThuRGF0ZU1heCxcbiAgaTE4bkRhdGVNaW4sXG4gIGkxOG5EYXRlSW52YWxpZCxcbiAgaTE4bkRhdGVQaWNrZXJQbGFjZWhvbGRlcixcbn0gZnJvbSAnLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7XG4gIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbixcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxufSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRhdGVwaWNrZXJFbGVtZW50IH0gZnJvbSAnLi4vZGF0ZXBpY2tlci5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RhdGUtaW5wdXQuc2Nzcz9saXQmaW5saW5lJztcblxuLy8gQXMgZG9jdW1lbnRlZCBpbiBmb3JtLWFzc29jaWF0ZWQtbWl4aW4udHMsIHdlIGV4dGVuZCB0aGUgcHJvdG90eXBlIG9mXG4vLyBWYWxpZGl0eVN0YXRlIHdpdGggY3VzdG9tIGVycm9yIHN0YXRlcyBmb3IgdGhlIGRhdGUgaW5wdXQuXG5PYmplY3QuYXNzaWduKFZhbGlkaXR5U3RhdGUucHJvdG90eXBlLCB7XG4gIGdldCBzYmJEYXRlRmlsdGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSxcbn0pO1xuXG4vKipcbiAqIEN1c3RvbSBpbnB1dCBmb3IgYSBkYXRlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItZGF0ZS1pbnB1dCcpXG5jbGFzcyBTYmJEYXRlSW5wdXRFbGVtZW50PFQgPSBEYXRlPiBleHRlbmRzIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIGRhdGUgaW5wdXQuIFJlZmxlY3RzIHRoZSBjdXJyZW50IHRleHQgdmFsdWVcbiAgICogb2YgdGhpcyBpbnB1dC5cbiAgICogQGF0dHIgQWNjZXB0cyBJU084NjAxIGZvcm1hdHRlZCB2YWx1ZXMsIHdoaWNoIHdpbGwgYmVcbiAgICogZm9ybWF0dGVkIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBsb2NhbGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90cnlQYXJzZVZhbHVlKHZhbHVlKTtcbiAgICAvLyBBcyBsb25nIGFzIHRoaXMgZWxlbWVudCBoYXMgZm9jdXMgd2UgZGVsYXkgYXV0b21hdGljYWxseSB1cGRhdGluZ1xuICAgIC8vIHRoZSB2YWx1ZSB3aXRoIHRoZSBmb3JtYXR0ZWQgc3RyaW5nIG9mIHRoZSBwYXJzZWQgZGF0ZS5cbiAgICBpZiAoIWlzU2VydmVyICYmICF0aGlzLm1hdGNoZXMoJzpmb2N1cycpICYmIHRoaXMudmFsdWVBc0RhdGUgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5fZm9ybWF0RGF0ZSgpO1xuICAgIH1cbiAgICBzdXBlci52YWx1ZSA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3VwZXIudmFsdWUgPz8gJyc7XG4gIH1cblxuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSwgdHlwZTogRGF0ZU9ubHlUeXBlIH0pXG4gIHB1YmxpYyBzZXQgdmFsdWVBc0RhdGUodmFsdWU6IFQgfCBudWxsKSB7XG4gICAgLy8gRHVlIHRvIGZvcmNlVHlwZSBhbmQgRGF0ZU9ubHlUeXBlLCB0aGUgZ2l2ZW4gdmFsdWVcbiAgICAvLyBpcyBlaXRoZXIgbnVsbCBvciBhIGRhdGUgb25seSBjb3B5IG9mIHRoZSBvcmlnaW5hbFxuICAgIC8vIHZhbHVlIHBhc3NlZCB0byB2YWx1ZUFzRGF0ZS5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZUFzRGF0ZSA9IG51bGw7XG4gICAgICB0aGlzLl92YWx1ZUNhY2hlID0gWycnLCBudWxsXTtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgIXRoaXMuX2RhdGVBZGFwdGVyLmlzRGF0ZUluc3RhbmNlKHRoaXMuX3ZhbHVlQXNEYXRlKSB8fFxuICAgICAgdGhpcy5fZGF0ZUFkYXB0ZXIuY29tcGFyZURhdGUodGhpcy5fdmFsdWVBc0RhdGUhLCB2YWx1ZSEpICE9PSAwXG4gICAgKSB7XG4gICAgICAvLyBBbGlnbiB3aXRoIHRoZSBuYXRpdmUgZGF0ZSBpbnB1dCwgYXMgaXQgY29waWVzIHRoZSB2YWx1ZSBvZlxuICAgICAgLy8gdGhlIGdpdmVuIGRhdGUgYW5kIGRvZXMgbm90IHJldGFpbiB0aGUgb3JpZ2luYWwgaW5zdGFuY2UuXG4gICAgICB0aGlzLl92YWx1ZUFzRGF0ZSA9IHZhbHVlO1xuICAgICAgY29uc3Qgc3RyaW5nVmFsdWUgPSB0aGlzLl9mb3JtYXREYXRlKCk7XG4gICAgICB0aGlzLl92YWx1ZUNhY2hlID0gW3N0cmluZ1ZhbHVlLCB0aGlzLl92YWx1ZUFzRGF0ZV07XG4gICAgICB0aGlzLnZhbHVlID0gc3RyaW5nVmFsdWU7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWVBc0RhdGUoKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZUFzRGF0ZSA/PyBudWxsO1xuICB9XG4gIHByaXZhdGUgX3ZhbHVlQXNEYXRlPzogVCB8IG51bGw7XG5cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGNvbnZlcnRlcjogZGF0ZUNvbnZlcnRlciwgcmVmbGVjdDogdHJ1ZSwgdHlwZTogRGF0ZU9ubHlUeXBlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBtaW46IFQgfCBudWxsID0gbnVsbDtcblxuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgY29udmVydGVyOiBkYXRlQ29udmVydGVyLCByZWZsZWN0OiB0cnVlLCB0eXBlOiBEYXRlT25seVR5cGUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG1heDogVCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBBIGZ1bmN0aW9uIHVzZWQgdG8gZmlsdGVyIG91dCBkYXRlcy4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICBwdWJsaWMgc2V0IGRhdGVGaWx0ZXIodmFsdWU6IChkYXRlOiBUIHwgbnVsbCkgPT4gYm9vbGVhbikge1xuICAgIHRoaXMuX2RhdGVGaWx0ZXIgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5kYXRlcGlja2VyKSB7XG4gICAgICB0aGlzLmRhdGVwaWNrZXIuZGF0ZUZpbHRlciA9IHZhbHVlO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IGRhdGVGaWx0ZXIoKTogKGRhdGU6IFQgfCBudWxsKSA9PiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0ZUZpbHRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb3cgdG8gZm9ybWF0IHRoZSBkaXNwbGF5ZWQgZGF0ZS5cbiAgICogYHNob3J0YDogVHdvIGxldHRlciBhYmJyZXZpYXRpb24gb2YgdGhlIHdlZWsgZGF5IChlLmcuIEZyKS5cbiAgICogYG5vbmVgOiBUaGUgd2Vla2RheSBpcyBub3QgZGlzcGxheWVkLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnd2Vla2RheS1zdHlsZScgfSlcbiAgcHVibGljIGFjY2Vzc29yIHdlZWtkYXlTdHlsZTogJ3Nob3J0JyB8ICdub25lJyA9ICdzaG9ydCc7XG5cbiAgLyoqXG4gICAqIFN0b3JlcyB0aGUgbGFzdCBzdHJpbmcgYW5kIHBhcnNlZCBkYXRlIG9iamVjdCB2YWx1ZSB0byBwcmV2ZW50IHJlcGVhdGVkXG4gICAqIHBhcnNpbmcgb2YgdGhlIHN0cmluZyB2YWx1ZS5cbiAgICovXG4gIHByaXZhdGUgX3ZhbHVlQ2FjaGU/OiBbc3RyaW5nLCBUIHwgbnVsbF07XG4gIHByaXZhdGUgX2RhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxUPiA9IHJlYWRDb25maWcoKS5kYXRldGltZT8uZGF0ZUFkYXB0ZXIgPz8gZGVmYXVsdERhdGVBZGFwdGVyO1xuICBwcml2YXRlIF9wbGFjZWhvbGRlck11dGFibGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgYXNzb2NpYXRlZCBkYXRlcGlja2VyLCBpZiBhbnkuXG4gICAqIFRoZSBzYmItZGF0ZS1pbnB1dCBhbmQgdGhlIHNiYi1kYXRlcGlja2VyIGFyZSBhc3N1bWVkIHRvIGJlIGluIHRoZSBzYW1lIHBhcmVudCBjb250YWluZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRhdGVwaWNrZXIoKTogU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnRFbGVtZW50IS5xdWVyeVNlbGVjdG9yPFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+Pignc2JiLWRhdGVwaWNrZXInKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjaGFuZ2UnLCAoKSA9PiB0aGlzLl91cGRhdGVWYWx1ZURhdGVGb3JtYXQoKSwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGF0ZUZpbHRlcjogKGRhdGU6IFQgfCBudWxsKSA9PiBib29sZWFuID0gKCkgPT4gdHJ1ZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBpZiAoIXRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgIHRoaXMuX3BsYWNlaG9sZGVyTXV0YWJsZSA9IHRydWU7XG4gICAgICB0aGlzLnBsYWNlaG9sZGVyID0gaTE4bkRhdGVQaWNrZXJQbGFjZWhvbGRlclt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQgJiYgIW5hbWUpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVZhbHVlRGF0ZUZvcm1hdCgpO1xuICAgICAgaWYgKHRoaXMuX3BsYWNlaG9sZGVyTXV0YWJsZSkge1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gaTE4bkRhdGVQaWNrZXJQbGFjZWhvbGRlclt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3dlZWtkYXlTdHlsZScpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVZhbHVlRGF0ZUZvcm1hdCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICAvLyBVc2VkIHRvIG5vdGlmeSB0aGUgZGF0ZXBpY2tlciB0byB1cGRhdGUgaXRzIHN0YXRlXG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtWNoYW5nZScpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIENhbGxlZCB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byByZXN0b3JlIGVsZW1lbnTigJlzIHN0YXRlIHRvIHN0YXRlIGluIHdoaWNoIGNhc2VcbiAgICogIHJlYXNvbiBpcyBcInJlc3RvcmVcIiwgb3Igd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gZnVsZmlsbCBhdXRvZmlsbCBvbiBiZWhhbGYgb2ZcbiAgICogIHVzZXIgaW4gd2hpY2ggY2FzZSByZWFzb24gaXMgXCJhdXRvY29tcGxldGVcIi5cbiAgICogIEluIHRoZSBjYXNlIG9mIFwicmVzdG9yZVwiLCBzdGF0ZSBpcyBhIHN0cmluZywgRmlsZSwgb3IgRm9ybURhdGEgb2JqZWN0XG4gICAqICBwcmV2aW91c2x5IHNldCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHNldEZvcm1WYWx1ZS5cbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgKTogdm9pZCB7XG4gICAgaWYgKHN0YXRlICYmIHR5cGVvZiBzdGF0ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBzdGF0ZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMuX3RyeVBhcnNlVmFsdWUoKTtcbiAgICBjb25zdCBmb3JtVmFsdWUgPVxuICAgICAgdGhpcy52YWx1ZUFzRGF0ZSAhPT0gbnVsbCA/IHRoaXMuX2RhdGVBZGFwdGVyLnRvSXNvODYwMSh0aGlzLnZhbHVlQXNEYXRlKSA6IG51bGw7XG4gICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKGZvcm1WYWx1ZSwgdGhpcy52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF90cnlQYXJzZVZhbHVlKHZhbHVlID0gdGhpcy52YWx1ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl92YWx1ZUNhY2hlPy5bMF0gIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZUFzRGF0ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLnBhcnNlKHZhbHVlKTtcbiAgICAgIHRoaXMuX3ZhbHVlQ2FjaGUgPSBbdmFsdWUsIHRoaXMuX3ZhbHVlQXNEYXRlXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWYWx1ZURhdGVGb3JtYXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsdWVBc0RhdGUpIHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSB0aGlzLl9mb3JtYXREYXRlKCk7XG4gICAgICBpZiAodGhpcy52YWx1ZSAhPT0gZm9ybWF0dGVkRGF0ZSkge1xuICAgICAgICBzdXBlci52YWx1ZSA9IGZvcm1hdHRlZERhdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZm9ybWF0RGF0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kYXRlQWRhcHRlci5mb3JtYXQodGhpcy52YWx1ZUFzRGF0ZSwgeyB3ZWVrZGF5U3R5bGU6IHRoaXMud2Vla2RheVN0eWxlIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNob3VsZFZhbGlkYXRlKG5hbWU6IFByb3BlcnR5S2V5IHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLnNob3VsZFZhbGlkYXRlKG5hbWUpIHx8IFsndmFsdWVBc0RhdGUnLCAnbWluJywgJ21heCddLmluY2x1ZGVzKG5hbWUgYXMgc3RyaW5nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB2YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICBzdXBlci52YWxpZGF0ZSgpO1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5fcmVtb3ZlVmFsaWRpdHlFcnJvcnMoKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLl9kYXRlQWRhcHRlci5pc1ZhbGlkKHRoaXMudmFsdWVBc0RhdGUpKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZygnYmFkSW5wdXQnLCBpMThuRGF0ZUludmFsaWRbdGhpcy5sYW5ndWFnZS5jdXJyZW50XSk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmlzVmFsaWQodGhpcy5taW4pICYmXG4gICAgICB0aGlzLl9kYXRlQWRhcHRlci5jb21wYXJlRGF0ZSh0aGlzLm1pbiwgdGhpcy52YWx1ZUFzRGF0ZSkgPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZyhcbiAgICAgICAgJ3JhbmdlVW5kZXJmbG93JyxcbiAgICAgICAgaTE4bkRhdGVNaW4odGhpcy5fZGF0ZUFkYXB0ZXIuZm9ybWF0KHRoaXMubWluLCB7IHdlZWtkYXlTdHlsZTogJ25vbmUnIH0pKVtcbiAgICAgICAgICB0aGlzLmxhbmd1YWdlLmN1cnJlbnRcbiAgICAgICAgXSxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmlzVmFsaWQodGhpcy5tYXgpICYmXG4gICAgICB0aGlzLl9kYXRlQWRhcHRlci5jb21wYXJlRGF0ZSh0aGlzLnZhbHVlQXNEYXRlLCB0aGlzLm1heCkgPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZyhcbiAgICAgICAgJ3JhbmdlT3ZlcmZsb3cnLFxuICAgICAgICBpMThuRGF0ZU1heCh0aGlzLl9kYXRlQWRhcHRlci5mb3JtYXQodGhpcy5tYXgsIHsgd2Vla2RheVN0eWxlOiAnbm9uZScgfSkpW1xuICAgICAgICAgIHRoaXMubGFuZ3VhZ2UuY3VycmVudFxuICAgICAgICBdLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0ZUZpbHRlciAmJiAhdGhpcy5kYXRlRmlsdGVyKHRoaXMudmFsdWVBc0RhdGUpKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZygnc2JiRGF0ZUZpbHRlcicsIGkxOG5EYXRlSW52YWxpZFt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fcmVtb3ZlVmFsaWRpdHlFcnJvcnMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZW1vdmVWYWxpZGl0eUVycm9ycygpOiB2b2lkIHtcbiAgICAoWydiYWRJbnB1dCcsICdyYW5nZVVuZGVyZmxvdycsICdyYW5nZU92ZXJmbG93JywgJ3NiYkRhdGVGaWx0ZXInXSBhcyBjb25zdCkuZm9yRWFjaCgoZikgPT5cbiAgICAgIHRoaXMucmVtb3ZlVmFsaWRpdHlGbGFnKGYpLFxuICAgICk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1kYXRlLWlucHV0JzogU2JiRGF0ZUlucHV0RWxlbWVudDtcbiAgfVxuXG4gIGludGVyZmFjZSBDdXN0b21WYWxpZGl0eVN0YXRlIHtcbiAgICBzYmJEYXRlRmlsdGVyOiBib29sZWFuO1xuICB9XG59XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBdUJBLE9BQU8sT0FBTyxjQUFjLFdBQVc7QUFBQSxFQUNyQyxJQUFJLGdCQUFhO0FBQ1IsV0FBQTtBQUFBLEVBQUE7QUFF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
|