@maildeno/editor 0.4.2 → 0.4.3

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.
@@ -1,3123 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __typeError = (msg) => {
3
- throw TypeError(msg);
4
- };
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
8
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
9
- 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);
10
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
11
- var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
12
- var _e2, _jt_instances, t_fn, _a2;
13
- var Nr = Object.defineProperty;
14
- var Dr = (e) => {
15
- throw TypeError(e);
16
- };
17
- var es = (e, t, r) => t in e ? Nr(e, t, { enumerable: true, configurable: true, writable: true, value: r }) : e[t] = r;
18
- var Ir = (e, t) => {
19
- for (var r in t) Nr(e, r, { get: t[r], enumerable: true });
20
- };
21
- var Wt = (e, t, r) => es(e, typeof t != "symbol" ? t + "" : t, r), ts = (e, t, r) => t.has(e) || Dr("Cannot " + r);
22
- var qe = (e, t, r) => (ts(e, t, "read from private field"), r ? r.call(e) : t.get(e)), Rr = (e, t, r) => t.has(e) ? Dr("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r);
23
- var Zi = {};
24
- Ir(Zi, { languages: () => Ui, options: () => zi, parsers: () => Pr, printers: () => $o });
25
- var ke = (e, t) => (r, n, ...i) => r | 1 && n == null ? void 0 : (t.call(n) ?? n[e]).apply(n, i);
26
- var rs = String.prototype.replaceAll ?? function(e, t) {
27
- return e.global ? this.replace(e, t) : this.split(e).join(t);
28
- }, ns = ke("replaceAll", function() {
29
- if (typeof this == "string") return rs;
30
- }), T = ns;
31
- function is(e) {
32
- return this[e < 0 ? this.length + e : e];
33
- }
34
- var ss = ke("at", function() {
35
- if (Array.isArray(this) || typeof this == "string") return is;
36
- }), I = ss;
37
- var as = () => {
38
- }, He = as;
39
- var Fe = "string", Ve = "array", ot = "cursor", be = "indent", we = "align", lt = "trim", Te = "group", ye = "fill", Ee = "if-break", xe = "indent-if-break", ct = "line-suffix", ut = "line-suffix-boundary", z = "line", pt = "label", Le = "break-parent", ht = /* @__PURE__ */ new Set([ot, be, we, lt, Te, ye, Ee, xe, ct, ut, z, pt, Le]);
40
- function mt(e, t, r) {
41
- if (!e.has(t)) {
42
- let n = r(t);
43
- e.set(t, n);
44
- }
45
- return e.get(t);
46
- }
47
- function os(e) {
48
- if (typeof e == "string") return Fe;
49
- if (Array.isArray(e)) return Ve;
50
- if (!e) return;
51
- let { type: t } = e;
52
- if (ht.has(t)) return t;
53
- }
54
- var ft = os;
55
- var ls = (e) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(e);
56
- function cs(e) {
57
- let t = e === null ? "null" : typeof e;
58
- if (t !== "string" && t !== "object") return `Unexpected doc '${t}',
59
- Expected it to be 'string' or 'object'.`;
60
- if (ft(e)) throw new Error("doc is valid.");
61
- let r = Object.prototype.toString.call(e);
62
- if (r !== "[object Object]") return `Unexpected doc '${r}'.`;
63
- let n = ls([...ht].map((i) => `'${i}'`));
64
- return `Unexpected doc.type '${e.type}'.
65
- Expected it to be ${n}.`;
66
- }
67
- var zt = class extends Error {
68
- constructor(t) {
69
- super(cs(t));
70
- __publicField(this, "name", "InvalidDocError");
71
- this.doc = t;
72
- }
73
- }, Or = zt;
74
- function Gt(e, t) {
75
- if (typeof e == "string") return t(e);
76
- let r = /* @__PURE__ */ new Map();
77
- return n(e);
78
- function n(s) {
79
- return mt(r, s, i);
80
- }
81
- function i(s) {
82
- switch (ft(s)) {
83
- case Ve:
84
- return t(s.map(n));
85
- case ye:
86
- return t({ ...s, parts: s.parts.map(n) });
87
- case Ee:
88
- return t({ ...s, breakContents: n(s.breakContents), flatContents: n(s.flatContents) });
89
- case Te: {
90
- let { expandedStates: a, contents: o } = s;
91
- return a ? (a = a.map(n), o = a[0]) : o = n(o), t({ ...s, contents: o, expandedStates: a });
92
- }
93
- case we:
94
- case be:
95
- case xe:
96
- case pt:
97
- case ct:
98
- return t({ ...s, contents: n(s.contents) });
99
- case Fe:
100
- case ot:
101
- case lt:
102
- case ut:
103
- case z:
104
- case Le:
105
- return t(s);
106
- default:
107
- throw new Or(s);
108
- }
109
- }
110
- }
111
- function L(e, t = Mr) {
112
- return Gt(e, (r) => typeof r == "string" ? R(t, r.split(`
113
- `)) : r);
114
- }
115
- var dt = He;
116
- function A(e) {
117
- return { type: be, contents: e };
118
- }
119
- function us(e, t) {
120
- return { type: we, contents: t, n: e };
121
- }
122
- function Hr(e) {
123
- return us(Number.NEGATIVE_INFINITY, e);
124
- }
125
- var G = { type: Le };
126
- function gt(e) {
127
- return { type: ye, parts: e };
128
- }
129
- function C(e, t = {}) {
130
- return dt(t.expandedStates), { type: Te, id: t.id, contents: e, break: !!t.shouldBreak, expandedStates: t.expandedStates };
131
- }
132
- function $(e, t = "", r = {}) {
133
- return { type: Ee, breakContents: e, flatContents: t, groupId: r.groupId };
134
- }
135
- function Fr(e, t) {
136
- return { type: xe, contents: e, groupId: t.groupId, negate: t.negate };
137
- }
138
- function R(e, t) {
139
- let r = [];
140
- for (let n = 0; n < t.length; n++) n !== 0 && r.push(e), r.push(t[n]);
141
- return r;
142
- }
143
- var S = { type: z }, y = { type: z, soft: true }, ps = { type: z, hard: true }, k = [ps, G], hs = { type: z, hard: true, literal: true }, Mr = [hs, G];
144
- var Vr = Object.freeze({ character: "'", codePoint: 39 }), Ur = Object.freeze({ character: '"', codePoint: 34 }), ms = Object.freeze({ preferred: Vr, alternate: Ur }), fs = Object.freeze({ preferred: Ur, alternate: Vr });
145
- function Wr(e, t) {
146
- let { preferred: r, alternate: n } = t === true || t === "'" ? ms : fs, { length: i } = e, s = 0, a = 0;
147
- for (let o = 0; o < i; o++) {
148
- let l = e.charCodeAt(o);
149
- l === r.codePoint ? s++ : l === n.codePoint && a++;
150
- }
151
- return (s > a ? n : r).character;
152
- }
153
- function $t(e) {
154
- if (typeof e != "string") throw new TypeError("Expected a string");
155
- return e.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
156
- }
157
- var jt = (_a2 = class {
158
- constructor(t) {
159
- __privateAdd(this, _jt_instances);
160
- __privateAdd(this, _e2);
161
- __privateSet(this, _e2, new Set(t));
162
- }
163
- getLeadingWhitespaceCount(t) {
164
- let r = __privateGet(this, _e2), n = 0;
165
- for (let i = 0; i < t.length && r.has(t.charAt(i)); i++) n++;
166
- return n;
167
- }
168
- getTrailingWhitespaceCount(t) {
169
- let r = __privateGet(this, _e2), n = 0;
170
- for (let i = t.length - 1; i >= 0 && r.has(t.charAt(i)); i--) n++;
171
- return n;
172
- }
173
- getLeadingWhitespace(t) {
174
- let r = this.getLeadingWhitespaceCount(t);
175
- return t.slice(0, r);
176
- }
177
- getTrailingWhitespace(t) {
178
- let r = this.getTrailingWhitespaceCount(t);
179
- return t.slice(t.length - r);
180
- }
181
- hasLeadingWhitespace(t) {
182
- return __privateGet(this, _e2).has(t.charAt(0));
183
- }
184
- hasTrailingWhitespace(t) {
185
- return __privateGet(this, _e2).has(I(0, t, -1));
186
- }
187
- trimStart(t) {
188
- let r = this.getLeadingWhitespaceCount(t);
189
- return t.slice(r);
190
- }
191
- trimEnd(t) {
192
- let r = this.getTrailingWhitespaceCount(t);
193
- return t.slice(0, t.length - r);
194
- }
195
- trim(t) {
196
- return this.trimEnd(this.trimStart(t));
197
- }
198
- split(t, r = false) {
199
- let n = `[${$t([...__privateGet(this, _e2)].join(""))}]+`, i = new RegExp(r ? `(${n})` : n);
200
- return t.split(i);
201
- }
202
- hasWhitespaceCharacter(t) {
203
- let r = __privateGet(this, _e2);
204
- return Array.prototype.some.call(t, (n) => r.has(n));
205
- }
206
- hasNonWhitespaceCharacter(t) {
207
- let r = __privateGet(this, _e2);
208
- return Array.prototype.some.call(t, (n) => !r.has(n));
209
- }
210
- isWhitespaceOnly(t) {
211
- let r = __privateGet(this, _e2);
212
- return Array.prototype.every.call(t, (n) => r.has(n));
213
- }
214
- dedentString(t) {
215
- let r = __privateMethod(this, _jt_instances, t_fn).call(this, t);
216
- return r === 0 ? t : t.split(`
217
- `).map((n) => n.slice(r)).join(`
218
- `);
219
- }
220
- }, _e2 = new WeakMap(), _jt_instances = new WeakSet(), t_fn = function(t) {
221
- let r = Number.POSITIVE_INFINITY;
222
- for (let n of t.split(`
223
- `)) {
224
- if (n.length === 0) continue;
225
- let i = this.getLeadingWhitespaceCount(n);
226
- if (i === 0) return 0;
227
- n.length !== i && i < r && (r = i);
228
- }
229
- return r === Number.POSITIVE_INFINITY ? 0 : r;
230
- }, _a2), zr = jt;
231
- var ds = [" ", `
232
- `, "\f", "\r", " "], gs = new zr(ds), P = gs;
233
- var Yt = class extends Error {
234
- constructor(t, r, n = "type") {
235
- super(`Unexpected ${r} node ${n}: ${JSON.stringify(t[n])}.`);
236
- __publicField(this, "name", "UnexpectedNodeError");
237
- this.node = t;
238
- }
239
- }, Gr = Yt;
240
- function j(e, t = true) {
241
- return [A([y, e]), t ? y : ""];
242
- }
243
- function q(e, t) {
244
- let r = e.type === "NGRoot" ? e.node.type === "NGMicrosyntax" && e.node.body.length === 1 && e.node.body[0].type === "NGMicrosyntaxExpression" ? e.node.body[0].expression : e.node : e.type === "JsExpressionRoot" ? e.node : e;
245
- return r && (r.type === "ObjectExpression" || r.type === "ArrayExpression" || (t.parser === "__vue_expression" || t.parser === "__vue_ts_expression" || t.parser === "__ng_binding" || t.parser === "__ng_directive") && (r.type === "TemplateLiteral" || r.type === "StringLiteral"));
246
- }
247
- async function E(e, t, r, n) {
248
- r = { __isInHtmlAttribute: true, __embeddedInHtml: true, ...r };
249
- let i = true;
250
- n && (r.__onHtmlBindingRoot = (a, o) => {
251
- i = n(a, o);
252
- });
253
- let s = await t(e, r, t);
254
- return i ? C(s) : j(s);
255
- }
256
- function _s(e, t, r, n) {
257
- let { node: i } = r, s = n.originalText.slice(i.sourceSpan.start.offset, i.sourceSpan.end.offset);
258
- return /^\s*$/.test(s) ? "" : E(s, e, { parser: "__ng_directive", __isInHtmlAttribute: false }, q);
259
- }
260
- var $r = _s;
261
- var Ss = Object.hasOwn ?? Function.prototype.call.bind(Object.prototype.hasOwnProperty), se = Ss;
262
- var vs = Array.prototype.toReversed ?? function() {
263
- return [...this].reverse();
264
- }, Cs = ke("toReversed", function() {
265
- if (Array.isArray(this)) return vs;
266
- }), jr = Cs;
267
- function ks() {
268
- var _a3, _b, _c, _d, _e3;
269
- let e = globalThis, t = (_a3 = e.process) == null ? void 0 : _a3.platform;
270
- if (typeof t == "string") return t.startsWith("win");
271
- let r = (_c = (_b = e.Deno) == null ? void 0 : _b.build) == null ? void 0 : _c.os;
272
- return typeof r == "string" ? r === "windows" : ((_e3 = (_d = e.navigator) == null ? void 0 : _d.platform) == null ? void 0 : _e3.startsWith("Win")) ?? false;
273
- }
274
- var bs = ks();
275
- function Yr(e) {
276
- if (e = e instanceof URL ? e : new URL(e), e.protocol !== "file:") throw new TypeError(`URL must be a file URL: received "${e.protocol}"`);
277
- return e;
278
- }
279
- function ws(e) {
280
- return e = Yr(e), decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"));
281
- }
282
- function Ts(e) {
283
- e = Yr(e);
284
- let t = decodeURIComponent(e.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25")).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\");
285
- return e.hostname !== "" && (t = `\\\\${e.hostname}${t}`), t;
286
- }
287
- function Kt(e) {
288
- return bs ? Ts(e) : ws(e);
289
- }
290
- var Kr = (e) => String(e).split(/[/\\]/).pop(), Qr = (e) => String(e).startsWith("file:");
291
- function ys(e) {
292
- return Array.isArray(e) && e.length > 0;
293
- }
294
- var X = ys;
295
- function Xr(e, t) {
296
- if (!t) return;
297
- let r = Kr(t).toLowerCase();
298
- return e.find(({ filenames: n }) => n == null ? void 0 : n.some((i) => i.toLowerCase() === r)) ?? e.find(({ extensions: n }) => n == null ? void 0 : n.some((i) => r.endsWith(i)));
299
- }
300
- function Es(e, t) {
301
- if (t) return e.find(({ name: r }) => r.toLowerCase() === t) ?? e.find(({ aliases: r }) => r == null ? void 0 : r.includes(t)) ?? e.find(({ extensions: r }) => r == null ? void 0 : r.includes(`.${t}`));
302
- }
303
- var xs = void 0;
304
- function Jr(e, t) {
305
- if (t) {
306
- if (Qr(t)) try {
307
- t = Kt(t);
308
- } catch {
309
- return;
310
- }
311
- if (typeof t == "string") return e.find(({ isSupported: r }) => r == null ? void 0 : r({ filepath: t }));
312
- }
313
- }
314
- function Ls(e, t) {
315
- var _a3;
316
- let r = jr(0, e.plugins).flatMap((i) => i.languages ?? []);
317
- return (_a3 = Es(r, t.language) ?? Xr(r, t.physicalFile) ?? Xr(r, t.file) ?? Jr(r, t.physicalFile) ?? Jr(r, t.file) ?? (xs == null ? void 0 : xs(r, t.physicalFile))) == null ? void 0 : _a3.parsers[0];
318
- }
319
- var _t = Ls;
320
- var St = Symbol.for("PRETTIER_IS_FRONT_MATTER");
321
- function As(e) {
322
- return !!(e == null ? void 0 : e[St]);
323
- }
324
- var ae = As;
325
- function Ps(e) {
326
- return T(0, e, /[^\n]/g, " ");
327
- }
328
- var vt = Ps;
329
- var Ue = 3;
330
- function Ns(e) {
331
- let t = e.slice(0, Ue);
332
- if (t !== "---" && t !== "+++") return;
333
- let r = e.indexOf(`
334
- `, Ue);
335
- if (r === -1) return;
336
- let n = e.slice(Ue, r).trim(), i = e.indexOf(`
337
- ${t}`, r), s = n;
338
- if (s || (s = t === "+++" ? "toml" : "yaml"), i === -1 && t === "---" && s === "yaml" && (i = e.indexOf(`
339
- ...`, r)), i === -1) return;
340
- let a = i + 1 + Ue, o = e.charAt(a + 1);
341
- if (!/\s?/.test(o)) return;
342
- let l = e.slice(0, a), c;
343
- return { language: s, explicitLanguage: n || null, value: e.slice(r + 1, i), startDelimiter: t, endDelimiter: l.slice(-Ue), raw: l, start: { line: 1, column: 0, index: 0 }, end: { index: l.length, get line() {
344
- return c ?? (c = l.split(`
345
- `)), c.length;
346
- }, get column() {
347
- return c ?? (c = l.split(`
348
- `)), I(0, c, -1).length;
349
- } }, [St]: true };
350
- }
351
- function Ds(e) {
352
- let t = Ns(e);
353
- return t ? { frontMatter: t, get content() {
354
- let { raw: r } = t;
355
- return vt(r) + e.slice(r.length);
356
- } } : { content: e };
357
- }
358
- var Qt = Ds;
359
- var Zr = "inline", Xt = { area: "none", base: "none", basefont: "none", datalist: "none", head: "none", link: "none", meta: "none", noembed: "none", noframes: "none", param: "block", rp: "none", script: "block", style: "none", template: "inline", title: "none", html: "block", body: "block", address: "block", blockquote: "block", center: "block", dialog: "block", div: "block", figure: "block", figcaption: "block", footer: "block", form: "block", header: "block", hr: "block", legend: "block", listing: "block", main: "block", p: "block", plaintext: "block", pre: "block", search: "block", xmp: "block", slot: "contents", ruby: "ruby", rt: "ruby-text", article: "block", aside: "block", h1: "block", h2: "block", h3: "block", h4: "block", h5: "block", h6: "block", hgroup: "block", nav: "block", section: "block", dir: "block", dd: "block", dl: "block", dt: "block", menu: "block", ol: "block", ul: "block", li: "list-item", table: "table", caption: "table-caption", colgroup: "table-column-group", col: "table-column", thead: "table-header-group", tbody: "table-row-group", tfoot: "table-footer-group", tr: "table-row", td: "table-cell", th: "table-cell", input: "inline-block", button: "inline-block", fieldset: "block", details: "block", summary: "block", marquee: "inline-block", option: "block", optgroup: "block", select: "inline-block", source: "block", track: "block", meter: "inline-block", progress: "inline-block", object: "inline-block", video: "inline-block", audio: "inline-block" }, en = "normal", Jt = { listing: "pre", plaintext: "pre", pre: "pre", xmp: "pre", nobr: "nowrap", table: "initial", textarea: "pre-wrap" };
360
- function Is(e) {
361
- return e.kind === "element" && !e.hasExplicitNamespace && !["html", "svg"].includes(e.namespace);
362
- }
363
- var oe = Is;
364
- var Rs = (e) => T(0, e, /^[\t\f\r ]*\n/g, ""), Zt = (e) => Rs(P.trimEnd(e)), tn = (e) => {
365
- let t = e, r = P.getLeadingWhitespace(t);
366
- r && (t = t.slice(r.length));
367
- let n = P.getTrailingWhitespace(t);
368
- return n && (t = t.slice(0, -n.length)), { leadingWhitespace: r, trailingWhitespace: n, text: t };
369
- };
370
- function Ct(e, t) {
371
- return !!(e.kind === "ieConditionalComment" && e.lastChild && !e.lastChild.isSelfClosing && !e.lastChild.endSourceSpan || e.kind === "ieConditionalComment" && !e.complete || Y(e) && e.children.some((r) => r.kind !== "text" && r.kind !== "interpolation") || wt(e, t) && !O(e, t) && e.kind !== "interpolation");
372
- }
373
- function le(e) {
374
- return e.kind === "attribute" || !e.parent || !e.prev ? false : Os(e.prev);
375
- }
376
- function Os(e) {
377
- return e.kind === "comment" && e.value.trim() === "prettier-ignore";
378
- }
379
- function N(e) {
380
- return e.kind === "text" || e.kind === "comment";
381
- }
382
- function O(e, t) {
383
- return e.kind === "element" && (e.fullName === "script" || e.fullName === "style" || e.fullName === "svg:style" || e.fullName === "svg:script" || e.fullName === "mj-style" && t.parser === "mjml" || oe(e) && (e.name === "script" || e.name === "style"));
384
- }
385
- function rn(e, t) {
386
- return e.children && !O(e, t);
387
- }
388
- function nn(e, t) {
389
- return O(e, t) || e.kind === "interpolation" || er(e);
390
- }
391
- function er(e) {
392
- return dn(e).startsWith("pre");
393
- }
394
- function sn(e, t) {
395
- var _a3, _b;
396
- let r = n();
397
- if (r && !e.prev && ((_b = (_a3 = e.parent) == null ? void 0 : _a3.tagDefinition) == null ? void 0 : _b.ignoreFirstLf)) return e.kind === "interpolation";
398
- return r;
399
- function n() {
400
- return ae(e) || e.kind === "angularControlFlowBlock" ? false : (e.kind === "text" || e.kind === "interpolation") && e.prev && (e.prev.kind === "text" || e.prev.kind === "interpolation") ? true : !e.parent || e.parent.cssDisplay === "none" ? false : Y(e.parent) ? true : !(!e.prev && (e.parent.kind === "root" || Y(e) && e.parent || O(e.parent, t) || Ge(e.parent, t) || !Vs(e.parent.cssDisplay)) || e.prev && !zs(e.prev.cssDisplay));
401
- }
402
- }
403
- function an(e, t) {
404
- return ae(e) || e.kind === "angularControlFlowBlock" ? false : (e.kind === "text" || e.kind === "interpolation") && e.next && (e.next.kind === "text" || e.next.kind === "interpolation") ? true : !e.parent || e.parent.cssDisplay === "none" ? false : Y(e.parent) ? true : !(!e.next && (e.parent.kind === "root" || Y(e) && e.parent || O(e.parent, t) || Ge(e.parent, t) || !Us(e.parent.cssDisplay)) || e.next && !Ws(e.next.cssDisplay));
405
- }
406
- function on(e, t) {
407
- return Gs(e.cssDisplay) && !O(e, t);
408
- }
409
- function We(e) {
410
- return ae(e) || e.next && e.sourceSpan.end && e.sourceSpan.end.line + 1 < e.next.sourceSpan.start.line;
411
- }
412
- function ln(e) {
413
- return tr(e) || e.kind === "element" && e.children.length > 0 && (["body", "script", "style"].includes(e.name) || e.children.some((t) => Bs(t))) || e.firstChild && e.firstChild === e.lastChild && e.firstChild.kind !== "text" && un(e.firstChild) && (!e.lastChild.isTrailingSpaceSensitive || pn(e.lastChild));
414
- }
415
- function tr(e) {
416
- return e.kind === "element" && e.children.length > 0 && (["html", "head", "ul", "ol", "select"].includes(e.name) || e.cssDisplay.startsWith("table") && e.cssDisplay !== "table-cell");
417
- }
418
- function kt(e) {
419
- return hn(e) || e.prev && Ms(e.prev) || cn(e);
420
- }
421
- function Ms(e) {
422
- return hn(e) || e.kind === "element" && e.fullName === "br" || cn(e);
423
- }
424
- function cn(e) {
425
- return un(e) && pn(e);
426
- }
427
- function un(e) {
428
- return e.hasLeadingSpaces && (e.prev ? e.prev.sourceSpan.end.line < e.sourceSpan.start.line : e.parent.kind === "root" || e.parent.startSourceSpan.end.line < e.sourceSpan.start.line);
429
- }
430
- function pn(e) {
431
- return e.hasTrailingSpaces && (e.next ? e.next.sourceSpan.start.line > e.sourceSpan.end.line : e.parent.kind === "root" || e.parent.endSourceSpan && e.parent.endSourceSpan.start.line > e.sourceSpan.end.line);
432
- }
433
- function hn(e) {
434
- switch (e.kind) {
435
- case "ieConditionalComment":
436
- case "comment":
437
- case "directive":
438
- return true;
439
- case "element":
440
- return ["script", "select"].includes(e.name);
441
- }
442
- return false;
443
- }
444
- function bt(e) {
445
- return e.lastChild ? bt(e.lastChild) : e;
446
- }
447
- function Bs(e) {
448
- var _a3;
449
- return (_a3 = e.children) == null ? void 0 : _a3.some((t) => t.kind !== "text");
450
- }
451
- function mn(e) {
452
- if (e) switch (e) {
453
- case "module":
454
- case "text/javascript":
455
- case "text/babel":
456
- case "text/jsx":
457
- case "application/javascript":
458
- return "babel";
459
- case "application/x-typescript":
460
- return "typescript";
461
- case "text/markdown":
462
- return "markdown";
463
- case "text/html":
464
- return "html";
465
- case "text/x-handlebars-template":
466
- return "glimmer";
467
- default:
468
- if (e.endsWith("json") || e.endsWith("importmap") || e === "speculationrules") return "json";
469
- }
470
- }
471
- function qs(e, t) {
472
- let { name: r, attrMap: n } = e;
473
- if (r !== "script" || se(n, "src")) return;
474
- let { type: i, lang: s } = e.attrMap;
475
- return !s && !i ? "babel" : _t(t, { language: s }) ?? mn(i);
476
- }
477
- function Hs(e, t) {
478
- if (!wt(e, t)) return;
479
- let { attrMap: r } = e;
480
- if (se(r, "src")) return;
481
- let { type: n, lang: i } = r;
482
- return _t(t, { language: i }) ?? mn(n);
483
- }
484
- function Fs(e, t) {
485
- if (e.name === "style") {
486
- let { lang: r } = e.attrMap;
487
- return r ? _t(t, { language: r }) : "css";
488
- }
489
- if (e.name === "mj-style" && t.parser === "mjml") return "css";
490
- }
491
- function rr(e, t) {
492
- return qs(e, t) ?? Fs(e, t) ?? Hs(e, t);
493
- }
494
- function ze(e) {
495
- return e === "block" || e === "list-item" || e.startsWith("table");
496
- }
497
- function Vs(e) {
498
- return !ze(e) && e !== "inline-block";
499
- }
500
- function Us(e) {
501
- return !ze(e) && e !== "inline-block";
502
- }
503
- function Ws(e) {
504
- return !ze(e);
505
- }
506
- function zs(e) {
507
- return !ze(e);
508
- }
509
- function Gs(e) {
510
- return !ze(e) && e !== "inline-block";
511
- }
512
- function Y(e) {
513
- return dn(e).startsWith("pre");
514
- }
515
- function $s(e, t) {
516
- let r = e;
517
- for (; r; ) {
518
- if (t(r)) return true;
519
- r = r.parent;
520
- }
521
- return false;
522
- }
523
- function fn(e, t) {
524
- var _a3;
525
- if (ce(e, t)) return "block";
526
- if (((_a3 = e.prev) == null ? void 0 : _a3.kind) === "comment") {
527
- let n = e.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/);
528
- if (n) return n[1];
529
- }
530
- let r = false;
531
- if (e.kind === "element" && e.namespace === "svg") if ($s(e, (n) => n.fullName === "svg:foreignObject")) r = true;
532
- else return e.name === "svg" ? "inline-block" : "block";
533
- switch (t.htmlWhitespaceSensitivity) {
534
- case "strict":
535
- return "inline";
536
- case "ignore":
537
- return "block";
538
- default:
539
- if (e.kind === "element" && (!e.namespace || r || oe(e)) && se(Xt, e.name)) return Xt[e.name];
540
- }
541
- return Zr;
542
- }
543
- function dn(e) {
544
- return e.kind === "element" && (!e.namespace || oe(e)) && se(Jt, e.name) ? Jt[e.name] : en;
545
- }
546
- function nr(e) {
547
- return T(0, T(0, e, "&apos;", "'"), "&quot;", '"');
548
- }
549
- function w(e) {
550
- return nr(e.value);
551
- }
552
- var js = /* @__PURE__ */ new Set(["template", "style", "script"]);
553
- function Ge(e, t) {
554
- return ce(e, t) && !js.has(e.fullName);
555
- }
556
- function ce(e, t) {
557
- return t.parser === "vue" && e.kind === "element" && e.parent.kind === "root" && e.fullName.toLowerCase() !== "html";
558
- }
559
- function wt(e, t) {
560
- return ce(e, t) && (Ge(e, t) || e.attrMap.lang && e.attrMap.lang !== "html");
561
- }
562
- function gn(e) {
563
- let t = e.fullName;
564
- return t.charAt(0) === "#" || t === "slot-scope" || t === "v-slot" || t.startsWith("v-slot:");
565
- }
566
- function _n(e, t) {
567
- let r = e.parent;
568
- if (!ce(r, t)) return false;
569
- let n = r.fullName, i = e.fullName;
570
- return n === "script" && i === "setup" || n === "style" && i === "vars";
571
- }
572
- function Tt(e, t = e.value) {
573
- return e.parent.isWhitespaceSensitive ? e.parent.isIndentationSensitive ? L(t) : L(P.dedentString(Zt(t)), k) : R(S, P.split(t));
574
- }
575
- function yt(e, t) {
576
- return ce(e, t) && e.name === "script";
577
- }
578
- function Ys(e) {
579
- let { valueSpan: t, value: r } = e;
580
- return t.end.offset - t.start.offset === r.length + 2;
581
- }
582
- function Et(e, t) {
583
- if (Ys(e)) return false;
584
- let { value: r } = e;
585
- return /^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(r) || t.parser === "lwc" && r.startsWith("{") && r.endsWith("}");
586
- }
587
- var Sn = /\{\{(.+?)\}\}/s, vn = ({ node: { value: e } }) => Sn.test(e);
588
- async function Cn(e, t, r) {
589
- let n = w(r.node), i = [];
590
- for (let [s, a] of n.split(Sn).entries()) if (s % 2 === 0) i.push(L(a));
591
- else try {
592
- i.push(C(["{{", A([S, await E(a, e, { parser: "__ng_interpolation", __isInHtmlInterpolation: true })]), S, "}}"]));
593
- } catch {
594
- i.push("{{", L(a), "}}");
595
- }
596
- return i;
597
- }
598
- var ir = (e) => (t, r, n) => E(w(n.node), t, { parser: e }, q), Ks = [{ test(e) {
599
- let t = e.node.fullName;
600
- return t.startsWith("(") && t.endsWith(")") || t.startsWith("on-");
601
- }, print: ir("__ng_action") }, { test(e) {
602
- let t = e.node.fullName;
603
- return t.startsWith("[") && t.endsWith("]") || /^bind(?:on)?-/.test(t) || /^ng-(?:if|show|hide|class|style)$/.test(t);
604
- }, print: ir("__ng_binding") }, { test: (e) => e.node.fullName.startsWith("*"), print: ir("__ng_directive") }, { test: (e) => /^i18n(?:-.+)?$/.test(e.node.fullName), print: Qs }, { test: vn, print: Cn }].map(({ test: e, print: t }) => ({ test: (r, n) => n.parser === "angular" && e(r), print: t }));
605
- function Qs(e, t, { node: r }) {
606
- let n = w(r);
607
- return j(gt(Tt(r, n.trim())), !n.includes("@@"));
608
- }
609
- var kn = Ks;
610
- var bn = ({ node: e }, t) => !t.parentParser && e.fullName === "class" && !e.value.includes("{{"), wn = (e, t, r) => T(0, w(r.node).trim(), /\s+/g, " ");
611
- var sr = ["onabort", "onafterprint", "onauxclick", "onbeforeinput", "onbeforematch", "onbeforeprint", "onbeforetoggle", "onbeforeunload", "onblur", "oncancel", "oncanplay", "oncanplaythrough", "onchange", "onclick", "onclose", "oncommand", "oncontextlost", "oncontextmenu", "oncontextrestored", "oncopy", "oncuechange", "oncut", "ondblclick", "ondrag", "ondragend", "ondragenter", "ondragleave", "ondragover", "ondragstart", "ondrop", "ondurationchange", "onemptied", "onended", "onerror", "onfocus", "onformdata", "onhashchange", "oninput", "oninvalid", "onkeydown", "onkeypress", "onkeyup", "onlanguagechange", "onload", "onloadeddata", "onloadedmetadata", "onloadstart", "onmessage", "onmessageerror", "onmousedown", "onmouseenter", "onmouseleave", "onmousemove", "onmouseout", "onmouseover", "onmouseup", "onoffline", "ononline", "onpagehide", "onpagereveal", "onpageshow", "onpageswap", "onpaste", "onpause", "onplay", "onplaying", "onpopstate", "onprogress", "onratechange", "onrejectionhandled", "onreset", "onresize", "onscroll", "onscrollend", "onsecuritypolicyviolation", "onseeked", "onseeking", "onselect", "onslotchange", "onstalled", "onstorage", "onsubmit", "onsuspend", "ontimeupdate", "ontoggle", "onunhandledrejection", "onunload", "onvolumechange", "onwaiting", "onwheel"];
612
- var Js = new Set(sr), Tn = ({ node: e }, t) => Js.has(e.fullName) && !t.parentParser && !e.value.includes("{{"), yn = (e, t, r) => E(w(r.node), e, { parser: "babel", __isHtmlInlineEventHandler: true }, () => false);
613
- function Zs(e) {
614
- let t = [];
615
- for (let r of e.split(";")) {
616
- if (r = P.trim(r), !r) continue;
617
- let [n, ...i] = P.split(r);
618
- t.push({ name: n, value: i });
619
- }
620
- return t;
621
- }
622
- var En = Zs;
623
- var xn = ({ node: e }, t) => e.fullName === "allow" && !t.parentParser && e.parent.fullName === "iframe" && !e.value.includes("{{");
624
- function Ln(e, t, r) {
625
- let { node: n } = r, i = En(w(n));
626
- return i.length === 0 ? [""] : j(i.map(({ name: s, value: a }, o) => [[s, ...a].join(" "), o === i.length - 1 ? $(";") : [";", S]]));
627
- }
628
- function An(e) {
629
- return e === " " || e === `
630
- ` || e === "\f" || e === "\r" || e === " ";
631
- }
632
- var ea = /^[ \t\n\r\u000c]+/, ta = /^[, \t\n\r\u000c]+/, ra = /^[^ \t\n\r\u000c]+/, na = /[,]+$/, Pn = /^\d+$/, ia = /^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/;
633
- function sa(e) {
634
- let t = e.length, r, n, i, s, a, o = 0, l;
635
- function c(h) {
636
- let f, g = h.exec(e.substring(o));
637
- if (g) return [f] = g, o += f.length, f;
638
- }
639
- let u = [];
640
- for (; ; ) {
641
- if (c(ta), o >= t) {
642
- if (u.length === 0) throw new Error("Must contain one or more image candidate strings.");
643
- return u;
644
- }
645
- l = o, r = c(ra), n = [], r.slice(-1) === "," ? (r = r.replace(na, ""), _()) : d();
646
- }
647
- function d() {
648
- for (c(ea), i = "", s = "in descriptor"; ; ) {
649
- if (a = e.charAt(o), s === "in descriptor") if (An(a)) i && (n.push(i), i = "", s = "after descriptor");
650
- else if (a === ",") {
651
- o += 1, i && n.push(i), _();
652
- return;
653
- } else if (a === "(") i += a, s = "in parens";
654
- else if (a === "") {
655
- i && n.push(i), _();
656
- return;
657
- } else i += a;
658
- else if (s === "in parens") if (a === ")") i += a, s = "in descriptor";
659
- else if (a === "") {
660
- n.push(i), _();
661
- return;
662
- } else i += a;
663
- else if (s === "after descriptor" && !An(a)) if (a === "") {
664
- _();
665
- return;
666
- } else s = "in descriptor", o -= 1;
667
- o += 1;
668
- }
669
- }
670
- function _() {
671
- let h = false, f, g, v, W, ie = {}, Q, at, Ce, Be, Ut;
672
- for (W = 0; W < n.length; W++) Q = n[W], at = Q[Q.length - 1], Ce = Q.substring(0, Q.length - 1), Be = parseInt(Ce, 10), Ut = parseFloat(Ce), Pn.test(Ce) && at === "w" ? ((f || g) && (h = true), Be === 0 ? h = true : f = Be) : ia.test(Ce) && at === "x" ? ((f || g || v) && (h = true), Ut < 0 ? h = true : g = Ut) : Pn.test(Ce) && at === "h" ? ((v || g) && (h = true), Be === 0 ? h = true : v = Be) : h = true;
673
- if (!h) ie.source = { value: r, startOffset: l }, f && (ie.width = { value: f }), g && (ie.density = { value: g }), v && (ie.height = { value: v }), u.push(ie);
674
- else throw new Error(`Invalid srcset descriptor found in "${e}" at "${Q}".`);
675
- }
676
- }
677
- var Nn = sa;
678
- var Dn = (e) => e.node.fullName === "srcset" && (e.parent.fullName === "img" || e.parent.fullName === "source"), In = { width: "w", height: "h", density: "x" }, aa = Object.keys(In);
679
- function Rn(e, t, r) {
680
- let n = w(r.node), i = Nn(n), s = aa.filter((h) => i.some((f) => se(f, h)));
681
- if (s.length > 1) throw new Error("Mixed descriptor in srcset is not supported");
682
- let [a] = s, o = In[a], l = i.map((h) => h.source.value), c = Math.max(...l.map((h) => h.length)), u = i.map((h) => h[a] ? String(h[a].value) : ""), d = u.map((h) => {
683
- let f = h.indexOf(".");
684
- return f === -1 ? h.length : f;
685
- }), _ = Math.max(...d);
686
- return j(R([",", S], l.map((h, f) => {
687
- let g = [h], v = u[f];
688
- if (v) {
689
- let W = c - h.length + 1, ie = _ - d[f], Q = " ".repeat(W + ie);
690
- g.push($(Q, " "), v + o);
691
- }
692
- return g;
693
- })));
694
- }
695
- var On = ({ node: e }, t) => e.fullName === "style" && !t.parentParser && !e.value.includes("{{"), Mn = async (e, t, r) => j(await e(w(r.node), { parser: "css", __isHTMLStyleAttribute: true }));
696
- var oa = /* @__PURE__ */ new WeakMap();
697
- function la(e, t) {
698
- return mt(oa, e.root, (r) => r.children.some((n) => yt(n, t) && ["ts", "typescript"].includes(n.attrMap.lang)));
699
- }
700
- var H = la;
701
- function Bn(e, t, r) {
702
- let n = w(r.node);
703
- return E(`type T<${n}> = any`, e, { parser: "babel-ts", __isEmbeddedTypescriptGenericParameters: true }, q);
704
- }
705
- function qn(e, t, r, n) {
706
- let i = w(r.node), s = H(r, n) ? "babel-ts" : "babel";
707
- return E(`function _(${i}) {}`, e, { parser: s, __isVueBindings: true });
708
- }
709
- async function Hn(e, t, r, n) {
710
- let i = w(r.node), { left: s, operator: a, right: o } = ca(i), l = H(r, n);
711
- return [C(await E(`function _(${s}) {}`, e, { parser: l ? "babel-ts" : "babel", __isVueForBindingLeft: true })), " ", a, " ", await E(o, e, { parser: l ? "__ts_expression" : "__js_expression" })];
712
- }
713
- function ca(e) {
714
- let t = /(.*?)\s+(in|of)\s+(.*)/s, r = e.match(t);
715
- if (!r) return;
716
- let n = { for: r[3].trim() };
717
- if (!n.for) return;
718
- let i = /,([^,\]}]*)(?:,([^,\]}]*))?$/, s = /^\(|\)$/g, a = T(0, r[1].trim(), s, ""), o = a.match(i);
719
- o ? (n.alias = a.replace(i, ""), n.iterator1 = o[1].trim(), o[2] && (n.iterator2 = o[2].trim())) : n.alias = a;
720
- let l = [n.alias, n.iterator1, n.iterator2];
721
- if (!l.some((c, u) => !c && (u === 0 || l.slice(u + 1).some(Boolean)))) return { left: l.filter(Boolean).join(","), operator: r[2], right: n.for };
722
- }
723
- var ua = [{ test: (e) => e.node.fullName === "v-for", print: Hn }, { test: (e, t) => e.node.fullName === "generic" && yt(e.parent, t), print: Bn }, { test: ({ node: e }, t) => gn(e) || _n(e, t), print: qn }, { test(e) {
724
- let t = e.node.fullName;
725
- return t.startsWith("@") || t.startsWith("v-on:");
726
- }, print: pa }, { test(e) {
727
- let t = e.node.fullName;
728
- return t.startsWith(":") || t.startsWith(".") || t.startsWith("v-bind:");
729
- }, print: ha }, { test: (e) => e.node.fullName.startsWith("v-"), print: Fn }].map(({ test: e, print: t }) => ({ test: (r, n) => n.parser === "vue" && e(r, n), print: t }));
730
- async function pa(e, t, r, n) {
731
- var _a3;
732
- try {
733
- return await Fn(e, t, r, n);
734
- } catch (a) {
735
- if (((_a3 = a.cause) == null ? void 0 : _a3.code) !== "BABEL_PARSER_SYNTAX_ERROR") throw a;
736
- }
737
- let i = w(r.node), s = H(r, n) ? "__vue_ts_event_binding" : "__vue_event_binding";
738
- return E(i, e, { parser: s }, q);
739
- }
740
- function ha(e, t, r, n) {
741
- let i = w(r.node), s = H(r, n) ? "__vue_ts_expression" : "__vue_expression";
742
- return E(i, e, { parser: s }, q);
743
- }
744
- function Fn(e, t, r, n) {
745
- let i = w(r.node), s = H(r, n) ? "__ts_expression" : "__js_expression";
746
- return E(i, e, { parser: s }, q);
747
- }
748
- var Vn = ua;
749
- var ma = [{ test: Dn, print: Rn }, { test: On, print: Mn }, { test: Tn, print: yn }, { test: bn, print: wn }, { test: xn, print: Ln }, ...Vn, ...kn].map(({ test: e, print: t }) => ({ test: e, print: da(t) }));
750
- function fa(e, t) {
751
- var _a3;
752
- let { node: r } = e, { value: n } = r;
753
- if (n) return Et(r, t) ? [r.rawName, "=", n] : (_a3 = ma.find(({ test: i }) => i(e, t))) == null ? void 0 : _a3.print;
754
- }
755
- function da(e) {
756
- return async (t, r, n, i) => {
757
- let s = await e(t, r, n, i);
758
- if (s) return s = Gt(s, (a) => typeof a == "string" ? T(0, a, '"', "&quot;") : a), [n.node.rawName, '="', C(s), '"'];
759
- };
760
- }
761
- var Un = fa;
762
- var F = (e) => e.sourceSpan.start.offset, J = (e) => e.sourceSpan.end.offset;
763
- function $e(e, t) {
764
- return [e.isSelfClosing ? "" : ga(e, t), ue(e, t)];
765
- }
766
- function ga(e, t) {
767
- return e.lastChild && K(e.lastChild) ? "" : [_a(e, t), xt(e, t)];
768
- }
769
- function ue(e, t) {
770
- return (e.next ? V(e.next) : he(e.parent)) ? "" : [pe(e, t), M(e, t)];
771
- }
772
- function _a(e, t) {
773
- return he(e) ? pe(e.lastChild, t) : "";
774
- }
775
- function M(e, t) {
776
- return K(e) ? xt(e.parent, t) : je(e) ? Lt(e.next, t) : "";
777
- }
778
- function xt(e, t) {
779
- if (zn(e, t)) return "";
780
- switch (e.kind) {
781
- case "ieConditionalComment":
782
- return "<!";
783
- case "element":
784
- if (e.hasHtmComponentClosingTag) return "<//";
785
- default:
786
- return `</${e.rawName}`;
787
- }
788
- }
789
- function pe(e, t) {
790
- if (zn(e, t)) return "";
791
- switch (e.kind) {
792
- case "ieConditionalComment":
793
- case "ieConditionalEndComment":
794
- return "[endif]-->";
795
- case "ieConditionalStartComment":
796
- return "]><!-->";
797
- case "interpolation":
798
- return "}}";
799
- case "angularIcuExpression":
800
- return "}";
801
- case "element":
802
- if (e.isSelfClosing) return "/>";
803
- default:
804
- return ">";
805
- }
806
- }
807
- function zn(e, t) {
808
- return !e.isSelfClosing && !e.endSourceSpan && (le(e) || Ct(e.parent, t));
809
- }
810
- function V(e) {
811
- return e.prev && e.prev.kind !== "docType" && e.kind !== "angularControlFlowBlock" && !N(e.prev) && e.isLeadingSpaceSensitive && !e.hasLeadingSpaces;
812
- }
813
- function he(e) {
814
- var _a3;
815
- return ((_a3 = e.lastChild) == null ? void 0 : _a3.isTrailingSpaceSensitive) && !e.lastChild.hasTrailingSpaces && !N(bt(e.lastChild)) && !Y(e);
816
- }
817
- function K(e) {
818
- return !e.next && !e.hasTrailingSpaces && e.isTrailingSpaceSensitive && N(bt(e));
819
- }
820
- function je(e) {
821
- return e.next && !N(e.next) && N(e) && e.isTrailingSpaceSensitive && !e.hasTrailingSpaces;
822
- }
823
- function Sa(e) {
824
- let t = e.trim().match(/^prettier-ignore-attribute(?:\s+(.+))?$/s);
825
- return t ? t[1] ? t[1].split(/\s+/) : true : false;
826
- }
827
- function Ye(e) {
828
- return !e.prev && e.isLeadingSpaceSensitive && !e.hasLeadingSpaces;
829
- }
830
- function va(e, t, r) {
831
- var _a3;
832
- let { node: n } = e, { attrs: i = [], startTagComments: s = [] } = n;
833
- if (i.length === 0 && s.length === 0) return n.isSelfClosing ? " " : "";
834
- let a = ((_a3 = n.prev) == null ? void 0 : _a3.kind) === "comment" && Sa(n.prev.value), o = typeof a == "boolean" ? () => a : Array.isArray(a) ? (g) => a.includes(g.rawName) : () => false, l = ["attrs", "startTagComments"].filter((g) => X(n[g])), c = l.flatMap((g) => e.map(({ node: v }) => ({ loc: F(v), printed: v.kind === "attribute" && o(v) ? L(t.originalText.slice(F(v), J(v))) : r() }), g));
835
- l.length > 1 && c.sort((g, v) => g.loc - v.loc);
836
- let u = n.kind === "element" && n.fullName === "script" && i.length === 1 && i[0].fullName === "src" && n.children.length === 0 && s.length === 0, d = s.some((g) => g.type === "single"), h = d || t.singleAttributePerLine && i.length > 1 && !ce(n, t) ? k : S, f = [A([u ? " " : d ? k : S, R(h, c.map(({ printed: g }) => g))])];
837
- return n.firstChild && Ye(n.firstChild) || n.isSelfClosing && he(n.parent) || u ? f.push(n.isSelfClosing ? " " : "") : f.push(t.bracketSameLine ? n.isSelfClosing ? " " : "" : n.isSelfClosing ? S : y), f;
838
- }
839
- function Ca(e) {
840
- return e.firstChild && Ye(e.firstChild) ? "" : At(e);
841
- }
842
- function Ke(e, t, r) {
843
- let { node: n } = e;
844
- return [me(n, t), va(e, t, r), n.isSelfClosing ? "" : Ca(n)];
845
- }
846
- function me(e, t) {
847
- return e.prev && je(e.prev) ? "" : [B(e, t), Lt(e, t)];
848
- }
849
- function B(e, t) {
850
- return Ye(e) ? At(e.parent) : V(e) ? pe(e.prev, t) : "";
851
- }
852
- var Wn = "<!doctype";
853
- function Lt(e, t) {
854
- switch (e.kind) {
855
- case "ieConditionalComment":
856
- case "ieConditionalStartComment":
857
- return `<!--[if ${e.condition}`;
858
- case "ieConditionalEndComment":
859
- return "<!--<!";
860
- case "interpolation":
861
- return "{{";
862
- case "docType": {
863
- if (e.value === "html") {
864
- let { filepath: n } = t;
865
- if (n && /\.html?$/.test(n)) return Wn;
866
- }
867
- let r = F(e);
868
- return t.originalText.slice(r, r + Wn.length);
869
- }
870
- case "angularIcuExpression":
871
- return "{";
872
- case "element":
873
- if (e.condition) return `<!--[if ${e.condition}]><!--><${e.rawName}`;
874
- default:
875
- return `<${e.rawName}`;
876
- }
877
- }
878
- function At(e) {
879
- switch (e.kind) {
880
- case "ieConditionalComment":
881
- return "]>";
882
- case "element":
883
- if (e.condition) return "><!--<![endif]-->";
884
- default:
885
- return ">";
886
- }
887
- }
888
- function ka(e, t) {
889
- if (!e.endSourceSpan) return "";
890
- let r = e.startSourceSpan.end.offset;
891
- e.firstChild && Ye(e.firstChild) && (r -= At(e).length);
892
- let n = e.endSourceSpan.start.offset;
893
- return e.lastChild && K(e.lastChild) ? n += xt(e, t).length : he(e) && (n -= pe(e.lastChild, t).length), t.originalText.slice(r, n);
894
- }
895
- var Pt = ka;
896
- var ba = /* @__PURE__ */ new Set(["if", "else if", "for", "switch", "case"]);
897
- function wa(e, t) {
898
- let { node: r } = e;
899
- switch (r.kind) {
900
- case "element":
901
- if (O(r, t) || r.kind === "interpolation") return;
902
- if (!r.isSelfClosing && wt(r, t)) {
903
- let n = rr(r, t);
904
- return n ? async (i, s) => {
905
- let a = Pt(r, t), o = /^\s*$/.test(a), l = "";
906
- return o || (l = await i(Zt(a), { parser: n, __embeddedInHtml: true }), o = l === ""), [B(r, t), C(Ke(e, t, s)), o ? "" : k, l, o ? "" : k, $e(r, t), M(r, t)];
907
- } : void 0;
908
- }
909
- break;
910
- case "text":
911
- if (O(r.parent, t)) {
912
- let n = rr(r.parent, t);
913
- if (n) return async (i) => {
914
- let s = n === "markdown" ? P.dedentString(r.value.replace(/^[^\S\n]*\n/, "")) : r.value, a = { parser: n, __embeddedInHtml: true };
915
- if (t.parser === "html" && n === "babel") {
916
- let o = "script", { attrMap: l } = r.parent;
917
- l && (l.type === "module" || (l.type === "text/babel" || l.type === "text/jsx") && l["data-type"] === "module") && (o = "module"), a.__babelSourceType = o;
918
- }
919
- return [G, B(r, t), await i(s, a), M(r, t)];
920
- };
921
- } else if (r.parent.kind === "interpolation") return async (n) => {
922
- let i = { __isInHtmlInterpolation: true, __embeddedInHtml: true };
923
- return t.parser === "angular" ? i.parser = "__ng_interpolation" : t.parser === "vue" ? i.parser = H(e, t) ? "__vue_ts_expression" : "__vue_expression" : i.parser = "__js_expression", [A([S, await n(r.value, i)]), r.parent.next && V(r.parent.next) ? " " : S];
924
- };
925
- break;
926
- case "attribute":
927
- return Un(e, t);
928
- case "angularControlFlowBlockParameters":
929
- return ba.has(e.parent.name) ? $r : void 0;
930
- case "angularLetDeclarationInitializer":
931
- return (n) => E(r.value, n, { parser: "__ng_binding", __isInHtmlAttribute: false });
932
- }
933
- }
934
- var Gn = wa;
935
- var Qe = null;
936
- function Xe(e) {
937
- if (Qe !== null && typeof Qe.property) {
938
- let t = Qe;
939
- return Qe = Xe.prototype = null, t;
940
- }
941
- return Qe = Xe.prototype = e ?? /* @__PURE__ */ Object.create(null), new Xe();
942
- }
943
- var Ta = 10;
944
- for (let e = 0; e <= Ta; e++) Xe();
945
- function ar(e) {
946
- return Xe(e);
947
- }
948
- function ya(e, t = "type") {
949
- ar(e);
950
- function r(n) {
951
- let i = n[t], s = e[i];
952
- if (!Array.isArray(s)) throw Object.assign(new Error(`Missing visitor keys for '${i}'.`), { node: n });
953
- return s;
954
- }
955
- return r;
956
- }
957
- var $n = ya;
958
- var Je = [["children"]], jn = { root: Je[0], element: ["attrs", "startTagComments", "children"], ieConditionalComment: Je[0], ieConditionalStartComment: [], ieConditionalEndComment: [], interpolation: Je[0], text: Je[0], docType: [], comment: [], attribute: [], startTagComment: [], cdata: [], angularControlFlowBlock: ["children", "parameters"], angularControlFlowBlockParameters: Je[0], angularControlFlowBlockParameter: [], angularLetDeclaration: ["init"], angularLetDeclarationInitializer: [], angularIcuExpression: ["cases"], angularIcuCase: ["expression"] };
959
- var Ea = $n(jn, "kind"), Yn = Ea;
960
- var xa = /* @__PURE__ */ new Set(["sourceSpan", "startSourceSpan", "endSourceSpan", "nameSpan", "valueSpan", "keySpan", "tagDefinition", "tokens", "valueTokens", "switchValueSourceSpan", "expSourceSpan", "valueSourceSpan"]), La = /* @__PURE__ */ new Set(["if", "else if", "for", "switch", "case"]);
961
- function or(e, t, r) {
962
- var _a3;
963
- if (e.kind === "text" || e.kind === "comment") return null;
964
- if (e.kind === "yaml" && delete t.value, e.kind === "attribute") {
965
- let { fullName: n, value: i } = e;
966
- n === "style" || n === "class" || n === "srcset" && (r.fullName === "img" || r.fullName === "source") || n === "allow" && r.fullName === "iframe" || n.startsWith("on") || n.startsWith("@") || n.startsWith(":") || n.startsWith(".") || n.startsWith("#") || n.startsWith("v-") || n === "vars" && r.fullName === "style" || (n === "setup" || n === "generic") && r.fullName === "script" || n === "slot-scope" || n.startsWith("(") || n.startsWith("[") || n.startsWith("*") || n.startsWith("bind") || n.startsWith("i18n") || n.startsWith("on-") || n.startsWith("ng-") || (i == null ? void 0 : i.includes("{{")) ? delete t.value : i && (t.value = T(0, i, /'|&quot;|&apos;/g, '"'));
967
- }
968
- if (e.kind === "docType" && (t.value = T(0, e.value.toLowerCase(), /\s+/g, " ")), e.kind === "angularControlFlowBlock" && ((_a3 = e.parameters) == null ? void 0 : _a3.children)) for (let n of t.parameters.children) La.has(e.name) ? delete n.expression : n.expression = n.expression.trim();
969
- e.kind === "angularIcuExpression" && (t.switchValue = e.switchValue.trim()), e.kind === "angularLetDeclarationInitializer" && delete t.value, e.kind === "element" && e.isVoid && !e.isSelfClosing && (t.isSelfClosing = true);
970
- }
971
- or.ignoredProperties = xa;
972
- var Kn = "format";
973
- var Qn = /^\s*<!--\s*@(?:noformat|noprettier)\s*-->/, Xn = /^\s*<!--\s*@(?:format|prettier)\s*-->/;
974
- var Jn = (e) => Xn.test(e), Zn = (e) => Qn.test(e), ei = (e) => `<!-- @${Kn} -->
975
-
976
- ${e}`;
977
- var ti = /* @__PURE__ */ new Map([["if", /* @__PURE__ */ new Set(["else if", "else"])], ["else if", /* @__PURE__ */ new Set(["else if", "else"])], ["for", /* @__PURE__ */ new Set(["empty"])], ["defer", /* @__PURE__ */ new Set(["placeholder", "error", "loading"])], ["placeholder", /* @__PURE__ */ new Set(["placeholder", "error", "loading"])], ["error", /* @__PURE__ */ new Set(["placeholder", "error", "loading"])], ["loading", /* @__PURE__ */ new Set(["placeholder", "error", "loading"])]]);
978
- function ri(e) {
979
- let t = J(e);
980
- return e.kind === "element" && !e.endSourceSpan && X(e.children) ? Math.max(t, ri(I(0, e.children, -1))) : t;
981
- }
982
- function Ze(e, t, r) {
983
- let n = e.node;
984
- if (le(n)) {
985
- let i = ri(n);
986
- return [B(n, t), L(P.trimEnd(t.originalText.slice(F(n) + (n.prev && je(n.prev) ? Lt(n).length : 0), i - (n.next && V(n.next) ? pe(n, t).length : 0)))), M(n, t)];
987
- }
988
- return r();
989
- }
990
- function Nt(e, t) {
991
- return N(e) && N(t) ? e.isTrailingSpaceSensitive ? e.hasTrailingSpaces ? kt(t) ? k : S : "" : kt(t) ? k : y : je(e) && (le(t) || t.firstChild || t.isSelfClosing || t.kind === "element" && t.attrs.length > 0) || e.kind === "element" && e.isSelfClosing && V(t) ? "" : t.kind === "comment" && t.isLeadingSpaceSensitive && !t.hasLeadingSpaces ? y : !t.isLeadingSpaceSensitive || kt(t) || V(t) && e.lastChild && K(e.lastChild) && e.lastChild.lastChild && K(e.lastChild.lastChild) ? k : t.hasLeadingSpaces ? S : y;
992
- }
993
- function Ae(e, t, r) {
994
- let { node: n } = e;
995
- if (tr(n)) return [G, ...e.map(() => {
996
- let s = e.node, a = s.prev ? Nt(s.prev, s) : "";
997
- return [a ? [a, We(s.prev) ? k : ""] : "", Ze(e, t, r)];
998
- }, "children")];
999
- let i = n.children.map(() => Symbol(""));
1000
- return e.map(({ node: s, index: a }) => {
1001
- if (N(s)) {
1002
- if (s.prev && N(s.prev)) {
1003
- let h = Nt(s.prev, s);
1004
- if (h) return We(s.prev) ? [k, k, Ze(e, t, r)] : [h, Ze(e, t, r)];
1005
- }
1006
- return Ze(e, t, r);
1007
- }
1008
- let o = [], l = [], c = [], u = [], d = s.prev ? Nt(s.prev, s) : "", _ = s.next ? Nt(s, s.next) : "";
1009
- return d && (We(s.prev) ? o.push(k, k) : d === k ? o.push(k) : N(s.prev) ? l.push(d) : l.push($("", y, { groupId: i[a - 1] }))), _ && (We(s) ? N(s.next) && u.push(k, k) : _ === k ? N(s.next) && u.push(k) : c.push(_)), [...o, C([...l, C([Ze(e, t, r), ...c], { id: i[a] })]), ...u];
1010
- }, "children");
1011
- }
1012
- function ni(e, t, r) {
1013
- let { node: n } = e, i = [];
1014
- Da(e) && i.push("} "), i.push("@", n.name);
1015
- let s = Pa(n);
1016
- if (n.parameters && (s || i.push(" "), i.push("(", C(r("parameters")), ")")), s) return i.push(";"), i;
1017
- if (!Na(n)) {
1018
- i.push(" {");
1019
- let a = ii(n);
1020
- n.children.length > 0 ? (n.firstChild.hasLeadingSpaces = true, n.lastChild.hasTrailingSpaces = true, i.push(A([k, Ae(e, t, r)])), a && i.push(k, "}")) : a && i.push("}");
1021
- }
1022
- return C(i, { shouldBreak: true });
1023
- }
1024
- function ii(e) {
1025
- var _a3, _b;
1026
- return !(((_a3 = e.next) == null ? void 0 : _a3.kind) === "angularControlFlowBlock" && ((_b = ti.get(e.name)) == null ? void 0 : _b.has(e.next.name)));
1027
- }
1028
- var Aa = (e) => (e == null ? void 0 : e.kind) === "angularControlFlowBlock" && (e.name === "case" || e.name === "default"), Pa = (e) => (e == null ? void 0 : e.kind) === "angularControlFlowBlock" && e.name === "default never";
1029
- function Na(e) {
1030
- return Aa(e) && e.endSourceSpan && e.endSourceSpan.start.offset === e.endSourceSpan.end.offset;
1031
- }
1032
- function Da(e) {
1033
- let { previous: t } = e;
1034
- return (t == null ? void 0 : t.kind) === "angularControlFlowBlock" && !le(t) && !ii(t);
1035
- }
1036
- function si(e, t, r) {
1037
- return [A([y, R([";", S], e.map(r, "children"))]), y];
1038
- }
1039
- function ai(e, t, r) {
1040
- let { node: n } = e;
1041
- return [me(n, t), C([n.switchValue.trim(), ", ", n.type, n.cases.length > 0 ? [",", A([S, R(S, e.map(r, "cases"))])] : "", y]), ue(n, t)];
1042
- }
1043
- function oi(e, t, r) {
1044
- let { node: n } = e;
1045
- return [n.value, " {", C([A([y, e.map(({ node: i, isLast: s }) => {
1046
- let a = [r()];
1047
- return i.kind === "text" && (i.hasLeadingSpaces && a.unshift(S), i.hasTrailingSpaces && !s && a.push(S)), a;
1048
- }, "expression")]), y]), "}"];
1049
- }
1050
- function li(e, t, r) {
1051
- let { node: n } = e;
1052
- if (Ct(n, t)) return [B(n, t), C(Ke(e, t, r)), L(Pt(n, t)), ...$e(n, t), M(n, t)];
1053
- let i = n.children.length === 1 && (n.firstChild.kind === "interpolation" || n.firstChild.kind === "angularIcuExpression") && n.firstChild.isLeadingSpaceSensitive && !n.firstChild.hasLeadingSpaces && n.lastChild.isTrailingSpaceSensitive && !n.lastChild.hasTrailingSpaces, s = Symbol("element-attr-group-id"), a = (u) => C([C(Ke(e, t, r), { id: s }), u, $e(n, t)]);
1054
- if (n.children.length === 0) return a(n.hasDanglingSpaces && n.isDanglingSpaceSensitive ? S : "");
1055
- let o = (u) => i ? Fr(u, { groupId: s }) : (O(n, t) || Ge(n, t)) && n.parent.kind === "root" && t.parser === "vue" && !t.vueIndentScriptAndStyle ? u : A(u), l = () => i ? $(y, "", { groupId: s }) : n.firstChild.hasLeadingSpaces && n.firstChild.isLeadingSpaceSensitive ? S : n.firstChild.kind === "text" && n.isWhitespaceSensitive && n.isIndentationSensitive ? Hr(y) : y, c = () => (n.next ? V(n.next) : he(n.parent)) ? n.lastChild.hasTrailingSpaces && n.lastChild.isTrailingSpaceSensitive ? " " : "" : Y(n) && K(n.lastChild) ? "" : i ? $(y, "", { groupId: s }) : n.lastChild.hasTrailingSpaces && n.lastChild.isTrailingSpaceSensitive ? S : (n.lastChild.kind === "comment" || n.lastChild.kind === "text" && n.isWhitespaceSensitive && n.isIndentationSensitive) && new RegExp(`\\n[\\t ]{${t.tabWidth * (e.ancestors.length - 1)}}$`).test(n.lastChild.value) ? "" : y;
1056
- return a([ln(n) ? G : "", o([l(), Ae(e, t, r)]), c()]);
1057
- }
1058
- function ci(e) {
1059
- let { node: { value: t, type: r } } = e;
1060
- return r === "single" ? `//${t.trimEnd()}` : ["/*", L(t), "*/"];
1061
- }
1062
- var lr = (function(e) {
1063
- return e[e.RAW_TEXT = 0] = "RAW_TEXT", e[e.ESCAPABLE_RAW_TEXT = 1] = "ESCAPABLE_RAW_TEXT", e[e.PARSABLE_DATA = 2] = "PARSABLE_DATA", e;
1064
- })({});
1065
- function Z(e, t = true) {
1066
- if (e[0] != ":") return [null, e];
1067
- let r = e.indexOf(":", 1);
1068
- if (r === -1) {
1069
- if (t) throw new Error(`Unsupported format "${e}" expecting ":namespace:name"`);
1070
- return [null, e];
1071
- }
1072
- return [e.slice(1, r), e.slice(r + 1)];
1073
- }
1074
- function cr(e) {
1075
- return Z(e)[1] === "ng-container";
1076
- }
1077
- function ur(e) {
1078
- return Z(e)[1] === "ng-content";
1079
- }
1080
- function Pe(e) {
1081
- return e === null ? null : Z(e)[0];
1082
- }
1083
- function fe(e, t) {
1084
- return e ? `:${e}:${t}` : t;
1085
- }
1086
- var et;
1087
- var Ia = "math";
1088
- var pr = () => /* @__PURE__ */ Object.create(null);
1089
- function Ra() {
1090
- return et || (et = pr(), ee(1, void 0, [["iframe", ["srcdoc"]], ["*", ["innerHTML", "outerHTML"]]]), ee(2, void 0, [["*", ["style"]]]), ee(4, void 0, [["*", ["formAction"]], ["area", ["href"]], ["a", ["href", "xlink:href"]], ["form", ["action"]], ["img", ["src"]], ["video", ["src"]]]), ee(4, Ia, [["*", ["href", "xlink:href"]]]), ee(5, void 0, [["base", ["href"]], ["embed", ["src"]], ["frame", ["src"]], ["iframe", ["src"]], ["link", ["href"]], ["object", ["codebase", "data"]]]), ee(4, "svg", [["a", ["href", "xlink:href"]]]), ee(6, "svg", [["animate", ["attributeName", "values", "to", "from"]], ["set", ["to", "attributeName"]], ["animateMotion", ["attributeName"]], ["animateTransform", ["attributeName"]]]), ee(6, void 0, [["unknown", ["attributeName", "values", "to", "from", "sandbox", "allow", "allowFullscreen", "referrerPolicy", "csp", "fetchPriority", "credentialless"]], ["iframe", ["sandbox", "allow", "allowFullscreen", "referrerPolicy", "csp", "fetchPriority", "credentialless"]]]), et);
1091
- }
1092
- function ee(e, t, r) {
1093
- let n = t ?? "";
1094
- for (let [s, a] of r) {
1095
- let o = s.toLowerCase();
1096
- for (let l of a) {
1097
- var i;
1098
- let c = l.toLowerCase(), u = (i = et)[c] ?? (i[c] = pr()), d = u[n] ?? (u[n] = pr());
1099
- d[o] = e;
1100
- }
1101
- }
1102
- }
1103
- function ui(e, t, r) {
1104
- let n = Ra()[t.toLowerCase()];
1105
- if (!n) return 0;
1106
- let i = e.toLowerCase(), s;
1107
- if (r) {
1108
- let a = n[r];
1109
- a && (s = a[i] ?? a["*"]);
1110
- }
1111
- if (s === void 0) {
1112
- let a = n[""];
1113
- a && (s = a[i] ?? a["*"]);
1114
- }
1115
- return s ?? 0;
1116
- }
1117
- var hr = { name: "custom-elements" }, mr = { name: "no-errors-schema" };
1118
- var Oa = /-+([a-z0-9])/g;
1119
- function pi(e) {
1120
- return e.replace(Oa, (...t) => t[1].toUpperCase());
1121
- }
1122
- var hi = class {
1123
- };
1124
- var Ma = "boolean", Ba = "number", qa = "string", Ha = "object";
1125
- function Dt(e) {
1126
- let [t, r] = Z(e.toLowerCase(), false);
1127
- return t === "svg" || t === "math" ? `:${t}:${r}` : r;
1128
- }
1129
- var Fa = ["[Element]|textContent,%ariaActiveDescendantElement,%ariaAtomic,%ariaAutoComplete,%ariaBusy,%ariaChecked,%ariaColCount,%ariaColIndex,%ariaColIndexText,%ariaColSpan,%ariaControlsElements,%ariaCurrent,%ariaDescribedByElements,%ariaDescription,%ariaDetailsElements,%ariaDisabled,%ariaErrorMessageElements,%ariaExpanded,%ariaFlowToElements,%ariaHasPopup,%ariaHidden,%ariaInvalid,%ariaKeyShortcuts,%ariaLabel,%ariaLabelledByElements,%ariaLevel,%ariaLive,%ariaModal,%ariaMultiLine,%ariaMultiSelectable,%ariaOrientation,%ariaOwnsElements,%ariaPlaceholder,%ariaPosInSet,%ariaPressed,%ariaReadOnly,%ariaRelevant,%ariaRequired,%ariaRoleDescription,%ariaRowCount,%ariaRowIndex,%ariaRowIndexText,%ariaRowSpan,%ariaSelected,%ariaSetSize,%ariaSort,%ariaValueMax,%ariaValueMin,%ariaValueNow,%ariaValueText,%classList,className,elementTiming,id,innerHTML,*beforecopy,*beforecut,*beforepaste,*fullscreenchange,*fullscreenerror,*search,*webkitfullscreenchange,*webkitfullscreenerror,outerHTML,%part,#scrollLeft,#scrollTop,slot,*message,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored", "[HTMLElement]^[Element]|accessKey,autocapitalize,!autofocus,contentEditable,dir,!draggable,enterKeyHint,!hidden,!inert,innerText,inputMode,lang,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate,virtualKeyboardPolicy", "abbr,address,article,aside,b,bdi,bdo,cite,content,code,dd,dfn,dt,em,figcaption,figure,footer,header,hgroup,i,kbd,main,mark,nav,noscript,rb,rp,rt,rtc,ruby,s,samp,search,section,small,strong,sub,sup,u,var,wbr^[HTMLElement]|accessKey,autocapitalize,!autofocus,contentEditable,dir,!draggable,enterKeyHint,!hidden,innerText,inputMode,lang,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate,virtualKeyboardPolicy", "media^[HTMLElement]|!autoplay,!controls,%controlsList,%crossOrigin,#currentTime,!defaultMuted,#defaultPlaybackRate,!disableRemotePlayback,!loop,!muted,*encrypted,*waitingforkey,#playbackRate,preload,!preservesPitch,src,%srcObject,#volume", ":svg:^[HTMLElement]|!autofocus,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,%style,#tabIndex", ":svg:graphics^:svg:|", ":svg:animation^:svg:|*begin,*end,*repeat", ":svg:geometry^:svg:|", ":svg:componentTransferFunction^:svg:|", ":svg:gradient^:svg:|", ":svg:textContent^:svg:graphics|", ":svg:textPositioning^:svg:textContent|", "a^[HTMLElement]|charset,coords,download,hash,host,hostname,href,hreflang,name,password,pathname,ping,port,protocol,referrerPolicy,rel,%relList,rev,search,shape,target,text,type,username", "area^[HTMLElement]|alt,coords,download,hash,host,hostname,href,!noHref,password,pathname,ping,port,protocol,referrerPolicy,rel,%relList,search,shape,target,username", "audio^media|", "br^[HTMLElement]|clear", "base^[HTMLElement]|href,target", "body^[HTMLElement]|aLink,background,bgColor,link,*afterprint,*beforeprint,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*messageerror,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,text,vLink", "button^[HTMLElement]|!disabled,formAction,formEnctype,formMethod,!formNoValidate,formTarget,name,type,value", "canvas^[HTMLElement]|#height,#width", "content^[HTMLElement]|select", "dl^[HTMLElement]|!compact", "data^[HTMLElement]|value", "datalist^[HTMLElement]|", "details^[HTMLElement]|!open", "dialog^[HTMLElement]|!open,returnValue", "dir^[HTMLElement]|!compact", "div^[HTMLElement]|align", "embed^[HTMLElement]|align,height,name,src,type,width", "fieldset^[HTMLElement]|!disabled,name", "font^[HTMLElement]|color,face,size", "form^[HTMLElement]|acceptCharset,action,autocomplete,encoding,enctype,method,name,!noValidate,target", "frame^[HTMLElement]|frameBorder,longDesc,marginHeight,marginWidth,name,!noResize,scrolling,src", "frameset^[HTMLElement]|cols,*afterprint,*beforeprint,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*messageerror,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,rows", "geolocation^[HTMLElement]|accuracymode,!autolocate,*location,*promptaction,*promptdismiss,*validationstatuschange,!watch", "hr^[HTMLElement]|align,color,!noShade,size,width", "head^[HTMLElement]|", "h1,h2,h3,h4,h5,h6^[HTMLElement]|align", "html^[HTMLElement]|version", "iframe^[HTMLElement]|align,allow,!allowFullscreen,!allowPaymentRequest,csp,!credentialless,frameBorder,height,loading,longDesc,marginHeight,marginWidth,name,referrerPolicy,%sandbox,scrolling,src,srcdoc,width", "img^[HTMLElement]|align,alt,border,%crossOrigin,decoding,#height,#hspace,!isMap,loading,longDesc,lowsrc,name,referrerPolicy,sizes,src,srcset,useMap,#vspace,#width", "input^[HTMLElement]|accept,align,alt,autocomplete,!checked,!defaultChecked,defaultValue,dirName,!disabled,%files,formAction,formEnctype,formMethod,!formNoValidate,formTarget,#height,!incremental,!indeterminate,max,#maxLength,min,#minLength,!multiple,name,pattern,placeholder,!readOnly,!required,selectionDirection,#selectionEnd,#selectionStart,#size,src,step,type,useMap,value,%valueAsDate,#valueAsNumber,#width", "li^[HTMLElement]|type,#value", "label^[HTMLElement]|htmlFor", "legend^[HTMLElement]|align", "link^[HTMLElement]|as,charset,%crossOrigin,!disabled,href,hreflang,imageSizes,imageSrcset,integrity,media,referrerPolicy,rel,%relList,rev,%sizes,target,type", "map^[HTMLElement]|name", "marquee^[HTMLElement]|behavior,bgColor,direction,height,#hspace,#loop,#scrollAmount,#scrollDelay,!trueSpeed,#vspace,width", "menu^[HTMLElement]|!compact", "meta^[HTMLElement]|content,httpEquiv,media,name,scheme", "meter^[HTMLElement]|#high,#low,#max,#min,#optimum,#value", "ins,del^[HTMLElement]|cite,dateTime", "ol^[HTMLElement]|!compact,!reversed,#start,type", "object^[HTMLElement]|align,archive,border,code,codeBase,codeType,data,!declare,height,#hspace,name,standby,type,useMap,#vspace,width", "optgroup^[HTMLElement]|!disabled,label", "option^[HTMLElement]|!defaultSelected,!disabled,label,!selected,text,value", "output^[HTMLElement]|defaultValue,%htmlFor,name,value", "p^[HTMLElement]|align", "param^[HTMLElement]|name,type,value,valueType", "picture^[HTMLElement]|", "pre^[HTMLElement]|#width", "progress^[HTMLElement]|#max,#value", "q,blockquote,cite^[HTMLElement]|", "script^[HTMLElement]|!async,charset,%crossOrigin,!defer,event,htmlFor,integrity,!noModule,%referrerPolicy,src,text,type", "select^[HTMLElement]|autocomplete,!disabled,#length,!multiple,name,!required,#selectedIndex,#size,value", "selectedcontent^[HTMLElement]|", "slot^[HTMLElement]|name", "source^[HTMLElement]|#height,media,sizes,src,srcset,type,#width", "span^[HTMLElement]|", "style^[HTMLElement]|!disabled,media,type", "search^[HTMLELement]|", "caption^[HTMLElement]|align", "th,td^[HTMLElement]|abbr,align,axis,bgColor,ch,chOff,#colSpan,headers,height,!noWrap,#rowSpan,scope,vAlign,width", "col,colgroup^[HTMLElement]|align,ch,chOff,#span,vAlign,width", "table^[HTMLElement]|align,bgColor,border,%caption,cellPadding,cellSpacing,frame,rules,summary,%tFoot,%tHead,width", "tr^[HTMLElement]|align,bgColor,ch,chOff,vAlign", "tfoot,thead,tbody^[HTMLElement]|align,ch,chOff,vAlign", "template^[HTMLElement]|", "textarea^[HTMLElement]|autocomplete,#cols,defaultValue,dirName,!disabled,#maxLength,#minLength,name,placeholder,!readOnly,!required,#rows,selectionDirection,#selectionEnd,#selectionStart,value,wrap", "time^[HTMLElement]|dateTime", "title^[HTMLElement]|text", "track^[HTMLElement]|!default,kind,label,src,srclang", "ul^[HTMLElement]|!compact,type", "unknown^[HTMLElement]|", "video^media|!disablePictureInPicture,#height,*enterpictureinpicture,*leavepictureinpicture,!playsInline,poster,#width", ":svg:a^:svg:graphics|", ":svg:animate^:svg:animation|", ":svg:animateMotion^:svg:animation|", ":svg:animateTransform^:svg:animation|", ":svg:circle^:svg:geometry|", ":svg:clipPath^:svg:graphics|", ":svg:defs^:svg:graphics|", ":svg:desc^:svg:|", ":svg:discard^:svg:|", ":svg:ellipse^:svg:geometry|", ":svg:feBlend^:svg:|", ":svg:feColorMatrix^:svg:|", ":svg:feComponentTransfer^:svg:|", ":svg:feComposite^:svg:|", ":svg:feConvolveMatrix^:svg:|", ":svg:feDiffuseLighting^:svg:|", ":svg:feDisplacementMap^:svg:|", ":svg:feDistantLight^:svg:|", ":svg:feDropShadow^:svg:|", ":svg:feFlood^:svg:|", ":svg:feFuncA^:svg:componentTransferFunction|", ":svg:feFuncB^:svg:componentTransferFunction|", ":svg:feFuncG^:svg:componentTransferFunction|", ":svg:feFuncR^:svg:componentTransferFunction|", ":svg:feGaussianBlur^:svg:|", ":svg:feImage^:svg:|", ":svg:feMerge^:svg:|", ":svg:feMergeNode^:svg:|", ":svg:feMorphology^:svg:|", ":svg:feOffset^:svg:|", ":svg:fePointLight^:svg:|", ":svg:feSpecularLighting^:svg:|", ":svg:feSpotLight^:svg:|", ":svg:feTile^:svg:|", ":svg:feTurbulence^:svg:|", ":svg:filter^:svg:|", ":svg:foreignObject^:svg:graphics|", ":svg:g^:svg:graphics|", ":svg:image^:svg:graphics|decoding", ":svg:line^:svg:geometry|", ":svg:linearGradient^:svg:gradient|", ":svg:mpath^:svg:|", ":svg:marker^:svg:|", ":svg:mask^:svg:|", ":svg:metadata^:svg:|", ":svg:path^:svg:geometry|", ":svg:pattern^:svg:|", ":svg:polygon^:svg:geometry|", ":svg:polyline^:svg:geometry|", ":svg:radialGradient^:svg:gradient|", ":svg:rect^:svg:geometry|", ":svg:svg^:svg:graphics|#currentScale,#zoomAndPan", ":svg:script^:svg:|type", ":svg:set^:svg:animation|", ":svg:stop^:svg:|", ":svg:style^:svg:|!disabled,media,title,type", ":svg:switch^:svg:graphics|", ":svg:symbol^:svg:|", ":svg:tspan^:svg:textPositioning|", ":svg:text^:svg:textPositioning|", ":svg:textPath^:svg:textContent|", ":svg:title^:svg:|", ":svg:use^:svg:graphics|", ":svg:view^:svg:|#zoomAndPan", "data^[HTMLElement]|value", "keygen^[HTMLElement]|!autofocus,challenge,!disabled,form,keytype,name", "menuitem^[HTMLElement]|type,label,icon,!disabled,!checked,radiogroup,!default", "summary^[HTMLElement]|", "time^[HTMLElement]|dateTime", ":svg:cursor^:svg:|", ":math:^[HTMLElement]|!autofocus,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforeinput,*beforematch,*beforetoggle,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contentvisibilityautostatechange,*contextlost,*contextmenu,*contextrestored,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*scrollend,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,%style,#tabIndex", ":math:math^:math:|", ":math:maction^:math:|", ":math:menclose^:math:|", ":math:merror^:math:|", ":math:mfenced^:math:|", ":math:mfrac^:math:|", ":math:mi^:math:|", ":math:mmultiscripts^:math:|", ":math:mn^:math:|", ":math:mo^:math:|", ":math:mover^:math:|", ":math:mpadded^:math:|", ":math:mphantom^:math:|", ":math:mroot^:math:|", ":math:mrow^:math:|", ":math:ms^:math:|", ":math:mspace^:math:|", ":math:msqrt^:math:|", ":math:mstyle^:math:|", ":math:msub^:math:|", ":math:msubsup^:math:|", ":math:msup^:math:|", ":math:mtable^:math:|", ":math:mtd^:math:|", ":math:mtext^:math:|", ":math:mtr^:math:|", ":math:munder^:math:|", ":math:munderover^:math:|", ":math:semantics^:math:|"], mi = new Map(Object.entries({ class: "className", for: "htmlFor", formaction: "formAction", innerHtml: "innerHTML", readonly: "readOnly", tabindex: "tabIndex", "aria-activedescendant": "ariaActiveDescendantElement", "aria-atomic": "ariaAtomic", "aria-autocomplete": "ariaAutoComplete", "aria-busy": "ariaBusy", "aria-checked": "ariaChecked", "aria-colcount": "ariaColCount", "aria-colindex": "ariaColIndex", "aria-colindextext": "ariaColIndexText", "aria-colspan": "ariaColSpan", "aria-controls": "ariaControlsElements", "aria-current": "ariaCurrent", "aria-describedby": "ariaDescribedByElements", "aria-description": "ariaDescription", "aria-details": "ariaDetailsElements", "aria-disabled": "ariaDisabled", "aria-errormessage": "ariaErrorMessageElements", "aria-expanded": "ariaExpanded", "aria-flowto": "ariaFlowToElements", "aria-haspopup": "ariaHasPopup", "aria-hidden": "ariaHidden", "aria-invalid": "ariaInvalid", "aria-keyshortcuts": "ariaKeyShortcuts", "aria-label": "ariaLabel", "aria-labelledby": "ariaLabelledByElements", "aria-level": "ariaLevel", "aria-live": "ariaLive", "aria-modal": "ariaModal", "aria-multiline": "ariaMultiLine", "aria-multiselectable": "ariaMultiSelectable", "aria-orientation": "ariaOrientation", "aria-owns": "ariaOwnsElements", "aria-placeholder": "ariaPlaceholder", "aria-posinset": "ariaPosInSet", "aria-pressed": "ariaPressed", "aria-readonly": "ariaReadOnly", "aria-required": "ariaRequired", "aria-roledescription": "ariaRoleDescription", "aria-rowcount": "ariaRowCount", "aria-rowindex": "ariaRowIndex", "aria-rowindextext": "ariaRowIndexText", "aria-rowspan": "ariaRowSpan", "aria-selected": "ariaSelected", "aria-setsize": "ariaSetSize", "aria-sort": "ariaSort", "aria-valuemax": "ariaValueMax", "aria-valuemin": "ariaValueMin", "aria-valuenow": "ariaValueNow", "aria-valuetext": "ariaValueText" })), Va = Array.from(mi).reduce((e, [t, r]) => (e.set(t, r), e), /* @__PURE__ */ new Map()), fi = class extends hi {
1130
- constructor() {
1131
- super();
1132
- __publicField(this, "_schema", /* @__PURE__ */ new Map());
1133
- __publicField(this, "_eventSchema", /* @__PURE__ */ new Map());
1134
- Fa.forEach((e) => {
1135
- let t = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), [n, i] = e.split("|"), s = i.split(","), [a, o] = n.split("^");
1136
- a.split(",").forEach((c) => {
1137
- this._schema.set(c.toLowerCase(), t), this._eventSchema.set(c.toLowerCase(), r);
1138
- });
1139
- let l = o && this._schema.get(o.toLowerCase());
1140
- if (l) {
1141
- for (let [c, u] of l) t.set(c, u);
1142
- for (let c of this._eventSchema.get(o.toLowerCase())) r.add(c);
1143
- }
1144
- s.forEach((c) => {
1145
- if (c.length > 0) switch (c[0]) {
1146
- case "*":
1147
- r.add(c.substring(1));
1148
- break;
1149
- case "!":
1150
- t.set(c.substring(1), Ma);
1151
- break;
1152
- case "#":
1153
- t.set(c.substring(1), Ba);
1154
- break;
1155
- case "%":
1156
- t.set(c.substring(1), Ha);
1157
- break;
1158
- default:
1159
- t.set(c, qa);
1160
- }
1161
- });
1162
- });
1163
- }
1164
- hasProperty(e, t, r) {
1165
- if (r.some((i) => i.name === mr.name)) return true;
1166
- let n = Dt(e);
1167
- if (n.includes("-")) {
1168
- if (cr(n) || ur(n)) return false;
1169
- if (r.some((i) => i.name === hr.name)) return true;
1170
- }
1171
- return (this._schema.get(n) || this._schema.get("unknown")).has(t);
1172
- }
1173
- hasElement(e, t) {
1174
- if (t.some((n) => n.name === mr.name)) return true;
1175
- let r = Dt(e);
1176
- return r.includes("-") && (cr(r) || ur(r) || t.some((n) => n.name === hr.name)) ? true : this._schema.has(r);
1177
- }
1178
- securityContext(e, t, r) {
1179
- r && (t = this.getMappedPropName(t));
1180
- let [n, i] = Z(e, false);
1181
- return ui(i, t, n);
1182
- }
1183
- getMappedPropName(e) {
1184
- return mi.get(e) ?? e;
1185
- }
1186
- getDefaultComponentElementName() {
1187
- return "ng-component";
1188
- }
1189
- validateProperty(e) {
1190
- return e.toLowerCase().startsWith("on") ? { error: true, msg: `Binding to event property '${e}' is disallowed for security reasons, please use (${e.slice(2)})=...
1191
- If '${e}' is a directive input, make sure the directive is imported by the current module.` } : { error: false };
1192
- }
1193
- validateAttribute(e) {
1194
- return e.toLowerCase().startsWith("on") ? { error: true, msg: `Binding to event attribute '${e}' is disallowed for security reasons, please use (${e.slice(2)})=...` } : { error: false };
1195
- }
1196
- allKnownElementNames() {
1197
- return Array.from(this._schema.keys());
1198
- }
1199
- allKnownAttributesOfElement(e) {
1200
- let t = Dt(e), r = this._schema.get(t) || this._schema.get("unknown");
1201
- return Array.from(r.keys()).map((n) => Va.get(n) ?? n);
1202
- }
1203
- allKnownEventsOfElement(e) {
1204
- let t = Dt(e);
1205
- return Array.from(this._eventSchema.get(t) ?? []);
1206
- }
1207
- normalizeAnimationStyleProperty(e) {
1208
- return pi(e);
1209
- }
1210
- normalizeAnimationStyleValue(e, t, r) {
1211
- let n = "", i = r.toString().trim(), s = null;
1212
- if (Ua(e) && r !== 0 && r !== "0") if (typeof r == "number") n = "px";
1213
- else {
1214
- let a = r.match(/^[+-]?[\d\.]+([a-z]*)$/);
1215
- a && a[1].length == 0 && (s = `Please provide a CSS unit value for ${t}:${r}`);
1216
- }
1217
- return { error: s, value: i + n };
1218
- }
1219
- };
1220
- function Ua(e) {
1221
- switch (e) {
1222
- case "width":
1223
- case "height":
1224
- case "minWidth":
1225
- case "minHeight":
1226
- case "maxWidth":
1227
- case "maxHeight":
1228
- case "left":
1229
- case "top":
1230
- case "bottom":
1231
- case "right":
1232
- case "fontSize":
1233
- case "outlineWidth":
1234
- case "outlineOffset":
1235
- case "paddingTop":
1236
- case "paddingLeft":
1237
- case "paddingBottom":
1238
- case "paddingRight":
1239
- case "marginTop":
1240
- case "marginLeft":
1241
- case "marginBottom":
1242
- case "marginRight":
1243
- case "borderRadius":
1244
- case "borderWidth":
1245
- case "borderTopWidth":
1246
- case "borderLeftWidth":
1247
- case "borderRightWidth":
1248
- case "borderBottomWidth":
1249
- case "textIndent":
1250
- return true;
1251
- default:
1252
- return false;
1253
- }
1254
- }
1255
- var m = class {
1256
- constructor({ closedByChildren: e, implicitNamespacePrefix: t, contentType: r = 2, closedByParent: n = false, isVoid: i = false, ignoreFirstLf: s = false, preventNamespaceInheritance: a = false, canSelfClose: o = false } = {}) {
1257
- __publicField(this, "closedByChildren", {});
1258
- __publicField(this, "contentType");
1259
- __publicField(this, "closedByParent", false);
1260
- __publicField(this, "implicitNamespacePrefix");
1261
- __publicField(this, "isVoid");
1262
- __publicField(this, "ignoreFirstLf");
1263
- __publicField(this, "canSelfClose");
1264
- __publicField(this, "preventNamespaceInheritance");
1265
- e && e.length > 0 && e.forEach((l) => this.closedByChildren[l] = true), this.isVoid = i, this.closedByParent = n || i, this.implicitNamespacePrefix = t || null, this.contentType = r, this.ignoreFirstLf = s, this.preventNamespaceInheritance = a, this.canSelfClose = o ?? i;
1266
- }
1267
- isClosedByChild(e) {
1268
- return this.isVoid || e.toLowerCase() in this.closedByChildren;
1269
- }
1270
- getContentType(e) {
1271
- return typeof this.contentType == "object" ? (e === void 0 ? void 0 : this.contentType[e]) ?? this.contentType.default : this.contentType;
1272
- }
1273
- }, di, tt;
1274
- function Ne(e) {
1275
- return tt || (di = new m({ canSelfClose: true }), tt = Object.assign(/* @__PURE__ */ Object.create(null), { base: new m({ isVoid: true }), meta: new m({ isVoid: true }), area: new m({ isVoid: true }), embed: new m({ isVoid: true }), link: new m({ isVoid: true }), img: new m({ isVoid: true }), input: new m({ isVoid: true }), param: new m({ isVoid: true }), hr: new m({ isVoid: true }), br: new m({ isVoid: true }), source: new m({ isVoid: true }), track: new m({ isVoid: true }), wbr: new m({ isVoid: true }), p: new m({ closedByChildren: ["address", "article", "aside", "blockquote", "div", "dl", "fieldset", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup", "hr", "main", "nav", "ol", "p", "pre", "section", "table", "ul"], closedByParent: true }), thead: new m({ closedByChildren: ["tbody", "tfoot"] }), tbody: new m({ closedByChildren: ["tbody", "tfoot"], closedByParent: true }), tfoot: new m({ closedByChildren: ["tbody"], closedByParent: true }), tr: new m({ closedByChildren: ["tr"], closedByParent: true }), td: new m({ closedByChildren: ["td", "th"], closedByParent: true }), th: new m({ closedByChildren: ["td", "th"], closedByParent: true }), col: new m({ isVoid: true }), svg: new m({ implicitNamespacePrefix: "svg" }), foreignObject: new m({ implicitNamespacePrefix: "svg", preventNamespaceInheritance: true }), math: new m({ implicitNamespacePrefix: "math" }), li: new m({ closedByChildren: ["li"], closedByParent: true }), dt: new m({ closedByChildren: ["dt", "dd"] }), dd: new m({ closedByChildren: ["dt", "dd"], closedByParent: true }), rb: new m({ closedByChildren: ["rb", "rt", "rtc", "rp"], closedByParent: true }), rt: new m({ closedByChildren: ["rb", "rt", "rtc", "rp"], closedByParent: true }), rtc: new m({ closedByChildren: ["rb", "rtc", "rp"], closedByParent: true }), rp: new m({ closedByChildren: ["rb", "rt", "rtc", "rp"], closedByParent: true }), optgroup: new m({ closedByChildren: ["optgroup"], closedByParent: true }), option: new m({ closedByChildren: ["option", "optgroup"], closedByParent: true }), pre: new m({ ignoreFirstLf: true }), listing: new m({ ignoreFirstLf: true }), style: new m({ contentType: 0 }), script: new m({ contentType: 0 }), title: new m({ contentType: { default: 1, svg: 2 } }), textarea: new m({ contentType: 1, ignoreFirstLf: true }) }), new fi().allKnownElementNames().forEach((t) => {
1276
- !tt[t] && Pe(t) === null && (tt[t] = new m({ canSelfClose: false }));
1277
- })), tt[e] ?? di;
1278
- }
1279
- var De = class gi {
1280
- constructor(t, r, n, i) {
1281
- __publicField(this, "file");
1282
- __publicField(this, "offset");
1283
- __publicField(this, "line");
1284
- __publicField(this, "col");
1285
- this.file = t, this.offset = r, this.line = n, this.col = i;
1286
- }
1287
- toString() {
1288
- return this.offset != null ? `${this.file.url}@${this.line}:${this.col}` : this.file.url;
1289
- }
1290
- moveBy(t) {
1291
- let r = this.file.content, n = r.length, i = this.offset, s = this.line, a = this.col;
1292
- for (; i > 0 && t < 0; ) if (i--, t++, r.charCodeAt(i) == 10) {
1293
- s--;
1294
- let o = r.substring(0, i - 1).lastIndexOf(`
1295
- `);
1296
- a = o > 0 ? i - o : i;
1297
- } else a--;
1298
- for (; i < n && t > 0; ) {
1299
- let o = r.charCodeAt(i);
1300
- i++, t--, o == 10 ? (s++, a = 0) : a++;
1301
- }
1302
- return new gi(this.file, i, s, a);
1303
- }
1304
- getContext(t, r) {
1305
- let n = this.file.content, i = this.offset;
1306
- if (i != null) {
1307
- i > n.length - 1 && (i = n.length - 1);
1308
- let s = i, a = 0, o = 0;
1309
- for (; a < t && i > 0 && (i--, a++, !(n[i] == `
1310
- ` && ++o == r)); ) ;
1311
- for (a = 0, o = 0; a < t && s < n.length - 1 && (s++, a++, !(n[s] == `
1312
- ` && ++o == r)); ) ;
1313
- return { before: n.substring(i, this.offset), after: n.substring(this.offset, s + 1) };
1314
- }
1315
- return null;
1316
- }
1317
- }, rt = class {
1318
- constructor(e, t) {
1319
- __publicField(this, "content");
1320
- __publicField(this, "url");
1321
- this.content = e, this.url = t;
1322
- }
1323
- }, p = class {
1324
- constructor(e, t, r = e, n = null) {
1325
- __publicField(this, "start");
1326
- __publicField(this, "end");
1327
- __publicField(this, "fullStart");
1328
- __publicField(this, "details");
1329
- this.start = e, this.end = t, this.fullStart = r, this.details = n;
1330
- }
1331
- toString() {
1332
- return this.start.file.content.substring(this.start.offset, this.end.offset);
1333
- }
1334
- }, Wa = (function(e) {
1335
- return e[e.WARNING = 0] = "WARNING", e[e.ERROR = 1] = "ERROR", e;
1336
- })({}), te = class extends Error {
1337
- constructor(e, t, r = 1, n) {
1338
- super(t);
1339
- __publicField(this, "span");
1340
- __publicField(this, "msg");
1341
- __publicField(this, "level");
1342
- __publicField(this, "relatedError");
1343
- this.span = e, this.msg = t, this.level = r, this.relatedError = n, Object.setPrototypeOf(this, new.target.prototype);
1344
- }
1345
- contextualMessage() {
1346
- let e = this.span.start.getContext(100, 3);
1347
- return e ? `${this.msg} ("${e.before}[${Wa[this.level]} ->]${e.after}")` : this.msg;
1348
- }
1349
- toString() {
1350
- let e = this.span.details ? `, ${this.span.details}` : "";
1351
- return `${this.contextualMessage()}: ${this.span.start}${e}`;
1352
- }
1353
- };
1354
- var de = class {
1355
- constructor(e, t) {
1356
- __publicField(this, "sourceSpan");
1357
- __publicField(this, "i18n");
1358
- this.sourceSpan = e, this.i18n = t;
1359
- }
1360
- }, _i = class extends de {
1361
- constructor(e, t, r, n) {
1362
- super(t, n);
1363
- __publicField(this, "value");
1364
- __publicField(this, "tokens");
1365
- __publicField(this, "kind", "text");
1366
- this.value = e, this.tokens = r;
1367
- }
1368
- visit(e, t) {
1369
- return e.visitText(this, t);
1370
- }
1371
- }, Si = class extends de {
1372
- constructor(e, t, r, n) {
1373
- super(t, n);
1374
- __publicField(this, "value");
1375
- __publicField(this, "tokens");
1376
- __publicField(this, "kind", "cdata");
1377
- this.value = e, this.tokens = r;
1378
- }
1379
- visit(e, t) {
1380
- return e.visitCdata(this, t);
1381
- }
1382
- }, vi = class extends de {
1383
- constructor(e, t, r, n, i, s) {
1384
- super(n, s);
1385
- __publicField(this, "switchValue");
1386
- __publicField(this, "type");
1387
- __publicField(this, "cases");
1388
- __publicField(this, "switchValueSourceSpan");
1389
- __publicField(this, "kind", "expansion");
1390
- this.switchValue = e, this.type = t, this.cases = r, this.switchValueSourceSpan = i;
1391
- }
1392
- visit(e, t) {
1393
- return e.visitExpansion(this, t);
1394
- }
1395
- }, Ci = class {
1396
- constructor(e, t, r, n, i) {
1397
- __publicField(this, "value");
1398
- __publicField(this, "expression");
1399
- __publicField(this, "sourceSpan");
1400
- __publicField(this, "valueSourceSpan");
1401
- __publicField(this, "expSourceSpan");
1402
- __publicField(this, "kind", "expansionCase");
1403
- this.value = e, this.expression = t, this.sourceSpan = r, this.valueSourceSpan = n, this.expSourceSpan = i;
1404
- }
1405
- visit(e, t) {
1406
- return e.visitExpansionCase(this, t);
1407
- }
1408
- }, ki = class extends de {
1409
- constructor(e, t, r, n, i, s, a) {
1410
- super(r, a);
1411
- __publicField(this, "name");
1412
- __publicField(this, "value");
1413
- __publicField(this, "keySpan");
1414
- __publicField(this, "valueSpan");
1415
- __publicField(this, "valueTokens");
1416
- __publicField(this, "kind", "attribute");
1417
- this.name = e, this.value = t, this.keySpan = n, this.valueSpan = i, this.valueTokens = s;
1418
- }
1419
- visit(e, t) {
1420
- return e.visitAttribute(this, t);
1421
- }
1422
- get nameSpan() {
1423
- return this.keySpan;
1424
- }
1425
- }, bi = class {
1426
- constructor(e, t, r) {
1427
- __publicField(this, "value");
1428
- __publicField(this, "type");
1429
- __publicField(this, "sourceSpan");
1430
- __publicField(this, "kind", "startTagComment");
1431
- this.value = e, this.type = t, this.sourceSpan = r;
1432
- }
1433
- visit(e, t) {
1434
- return e.visitStartTagComment ? e.visitStartTagComment(this, t) : void 0;
1435
- }
1436
- }, re = class extends de {
1437
- constructor(e, t, r, n, i, s, a, o = null, l = null, c, u, d = []) {
1438
- super(s, u);
1439
- __publicField(this, "name");
1440
- __publicField(this, "attrs");
1441
- __publicField(this, "directives");
1442
- __publicField(this, "children");
1443
- __publicField(this, "isSelfClosing");
1444
- __publicField(this, "startSourceSpan");
1445
- __publicField(this, "endSourceSpan");
1446
- __publicField(this, "nameSpan");
1447
- __publicField(this, "isVoid");
1448
- __publicField(this, "comments");
1449
- __publicField(this, "kind", "element");
1450
- this.name = e, this.attrs = t, this.directives = r, this.children = n, this.isSelfClosing = i, this.startSourceSpan = a, this.endSourceSpan = o, this.nameSpan = l, this.isVoid = c, this.comments = d;
1451
- }
1452
- visit(e, t) {
1453
- return e.visitElement(this, t);
1454
- }
1455
- }, wi = class {
1456
- constructor(e, t) {
1457
- __publicField(this, "value");
1458
- __publicField(this, "sourceSpan");
1459
- __publicField(this, "kind", "comment");
1460
- this.value = e, this.sourceSpan = t;
1461
- }
1462
- visit(e, t) {
1463
- return e.visitComment(this, t);
1464
- }
1465
- }, Ti = class {
1466
- constructor(e, t) {
1467
- __publicField(this, "value");
1468
- __publicField(this, "sourceSpan");
1469
- __publicField(this, "kind", "docType");
1470
- this.value = e, this.sourceSpan = t;
1471
- }
1472
- visit(e, t) {
1473
- return e.visitDocType(this, t);
1474
- }
1475
- }, ge = class extends de {
1476
- constructor(e, t, r, n, i, s, a = null, o) {
1477
- super(n, o);
1478
- __publicField(this, "name");
1479
- __publicField(this, "parameters");
1480
- __publicField(this, "children");
1481
- __publicField(this, "nameSpan");
1482
- __publicField(this, "startSourceSpan");
1483
- __publicField(this, "endSourceSpan");
1484
- __publicField(this, "kind", "block");
1485
- this.name = e, this.parameters = t, this.children = r, this.nameSpan = i, this.startSourceSpan = s, this.endSourceSpan = a;
1486
- }
1487
- visit(e, t) {
1488
- return e.visitBlock(this, t);
1489
- }
1490
- }, U = class extends de {
1491
- constructor(e, t, r, n, i, s, a, o, l, c = null, u, d = []) {
1492
- super(o, u);
1493
- __publicField(this, "componentName");
1494
- __publicField(this, "tagName");
1495
- __publicField(this, "fullName");
1496
- __publicField(this, "attrs");
1497
- __publicField(this, "directives");
1498
- __publicField(this, "children");
1499
- __publicField(this, "isSelfClosing");
1500
- __publicField(this, "startSourceSpan");
1501
- __publicField(this, "endSourceSpan");
1502
- __publicField(this, "comments");
1503
- __publicField(this, "kind", "component");
1504
- this.componentName = e, this.tagName = t, this.fullName = r, this.attrs = n, this.directives = i, this.children = s, this.isSelfClosing = a, this.startSourceSpan = l, this.endSourceSpan = c, this.comments = d;
1505
- }
1506
- visit(e, t) {
1507
- return e.visitComponent(this, t);
1508
- }
1509
- }, yi = class {
1510
- constructor(e, t, r, n, i = null) {
1511
- __publicField(this, "name");
1512
- __publicField(this, "attrs");
1513
- __publicField(this, "sourceSpan");
1514
- __publicField(this, "startSourceSpan");
1515
- __publicField(this, "endSourceSpan");
1516
- __publicField(this, "kind", "directive");
1517
- this.name = e, this.attrs = t, this.sourceSpan = r, this.startSourceSpan = n, this.endSourceSpan = i;
1518
- }
1519
- visit(e, t) {
1520
- return e.visitDirective(this, t);
1521
- }
1522
- }, fr = class {
1523
- constructor(e, t) {
1524
- __publicField(this, "expression");
1525
- __publicField(this, "sourceSpan");
1526
- __publicField(this, "kind", "blockParameter");
1527
- __publicField(this, "startSourceSpan", null);
1528
- __publicField(this, "endSourceSpan", null);
1529
- this.expression = e, this.sourceSpan = t;
1530
- }
1531
- visit(e, t) {
1532
- return e.visitBlockParameter(this, t);
1533
- }
1534
- }, dr = class {
1535
- constructor(e, t, r, n, i) {
1536
- __publicField(this, "name");
1537
- __publicField(this, "value");
1538
- __publicField(this, "sourceSpan");
1539
- __publicField(this, "nameSpan");
1540
- __publicField(this, "valueSpan");
1541
- __publicField(this, "kind", "letDeclaration");
1542
- __publicField(this, "startSourceSpan", null);
1543
- __publicField(this, "endSourceSpan", null);
1544
- this.name = e, this.value = t, this.sourceSpan = r, this.nameSpan = n, this.valueSpan = i;
1545
- }
1546
- visit(e, t) {
1547
- return e.visitLetDeclaration(this, t);
1548
- }
1549
- };
1550
- function It(e, t, r = null) {
1551
- let n = [], i = e.visit ? (s) => e.visit(s, r) || s.visit(e, r) : (s) => s.visit(e, r);
1552
- return t.forEach((s) => {
1553
- let a = i(s);
1554
- a && n.push(a);
1555
- }), n;
1556
- }
1557
- var gr = class {
1558
- constructor() {
1559
- }
1560
- visitElement(e, t) {
1561
- this.visitChildren(t, (r) => {
1562
- r(e.attrs), r(e.directives), r(e.comments), r(e.children);
1563
- });
1564
- }
1565
- visitAttribute(e, t) {
1566
- }
1567
- visitStartTagComment(e, t) {
1568
- }
1569
- visitText(e, t) {
1570
- }
1571
- visitCdata(e, t) {
1572
- }
1573
- visitComment(e, t) {
1574
- }
1575
- visitDocType(e, t) {
1576
- }
1577
- visitExpansion(e, t) {
1578
- return this.visitChildren(t, (r) => {
1579
- r(e.cases);
1580
- });
1581
- }
1582
- visitExpansionCase(e, t) {
1583
- }
1584
- visitBlock(e, t) {
1585
- this.visitChildren(t, (r) => {
1586
- r(e.parameters), r(e.children);
1587
- });
1588
- }
1589
- visitBlockParameter(e, t) {
1590
- }
1591
- visitLetDeclaration(e, t) {
1592
- }
1593
- visitComponent(e, t) {
1594
- this.visitChildren(t, (r) => {
1595
- r(e.attrs), r(e.comments), r(e.children);
1596
- });
1597
- }
1598
- visitDirective(e, t) {
1599
- this.visitChildren(t, (r) => {
1600
- r(e.attrs);
1601
- });
1602
- }
1603
- visitChildren(e, t) {
1604
- let r = [], n = this;
1605
- function i(s) {
1606
- s && r.push(It(n, s, e));
1607
- }
1608
- return t(i), Array.prototype.concat.apply([], r);
1609
- }
1610
- };
1611
- function nt(e) {
1612
- return e >= 9 && e <= 32 || e == 160;
1613
- }
1614
- function Ie(e) {
1615
- return 48 <= e && e <= 57;
1616
- }
1617
- function Re(e) {
1618
- return e >= 97 && e <= 122 || e >= 65 && e <= 90;
1619
- }
1620
- function Ei(e) {
1621
- return e >= 97 && e <= 102 || e >= 65 && e <= 70 || Ie(e);
1622
- }
1623
- function Oe(e) {
1624
- return e === 10 || e === 13;
1625
- }
1626
- function _r(e) {
1627
- return 48 <= e && e <= 55;
1628
- }
1629
- function Rt(e) {
1630
- return e === 39 || e === 34 || e === 96;
1631
- }
1632
- var _e = { AElig: "Æ", AMP: "&", amp: "&", Aacute: "Á", Abreve: "Ă", Acirc: "Â", Acy: "А", Afr: "𝔄", Agrave: "À", Alpha: "Α", Amacr: "Ā", And: "⩓", Aogon: "Ą", Aopf: "𝔸", ApplyFunction: "⁡", af: "⁡", Aring: "Å", angst: "Å", Ascr: "𝒜", Assign: "≔", colone: "≔", coloneq: "≔", Atilde: "Ã", Auml: "Ä", Backslash: "∖", setminus: "∖", setmn: "∖", smallsetminus: "∖", ssetmn: "∖", Barv: "⫧", Barwed: "⌆", doublebarwedge: "⌆", Bcy: "Б", Because: "∵", becaus: "∵", because: "∵", Bernoullis: "ℬ", Bscr: "ℬ", bernou: "ℬ", Beta: "Β", Bfr: "𝔅", Bopf: "𝔹", Breve: "˘", breve: "˘", Bumpeq: "≎", HumpDownHump: "≎", bump: "≎", CHcy: "Ч", COPY: "©", copy: "©", Cacute: "Ć", Cap: "⋒", CapitalDifferentialD: "ⅅ", DD: "ⅅ", Cayleys: "ℭ", Cfr: "ℭ", Ccaron: "Č", Ccedil: "Ç", Ccirc: "Ĉ", Cconint: "∰", Cdot: "Ċ", Cedilla: "¸", cedil: "¸", CenterDot: "·", centerdot: "·", middot: "·", Chi: "Χ", CircleDot: "⊙", odot: "⊙", CircleMinus: "⊖", ominus: "⊖", CirclePlus: "⊕", oplus: "⊕", CircleTimes: "⊗", otimes: "⊗", ClockwiseContourIntegral: "∲", cwconint: "∲", CloseCurlyDoubleQuote: "”", rdquo: "”", rdquor: "”", CloseCurlyQuote: "’", rsquo: "’", rsquor: "’", Colon: "∷", Proportion: "∷", Colone: "⩴", Congruent: "≡", equiv: "≡", Conint: "∯", DoubleContourIntegral: "∯", ContourIntegral: "∮", conint: "∮", oint: "∮", Copf: "ℂ", complexes: "ℂ", Coproduct: "∐", coprod: "∐", CounterClockwiseContourIntegral: "∳", awconint: "∳", Cross: "⨯", Cscr: "𝒞", Cup: "⋓", CupCap: "≍", asympeq: "≍", DDotrahd: "⤑", DJcy: "Ђ", DScy: "Ѕ", DZcy: "Џ", Dagger: "‡", ddagger: "‡", Darr: "↡", Dashv: "⫤", DoubleLeftTee: "⫤", Dcaron: "Ď", Dcy: "Д", Del: "∇", nabla: "∇", Delta: "Δ", Dfr: "𝔇", DiacriticalAcute: "´", acute: "´", DiacriticalDot: "˙", dot: "˙", DiacriticalDoubleAcute: "˝", dblac: "˝", DiacriticalGrave: "`", grave: "`", DiacriticalTilde: "˜", tilde: "˜", Diamond: "⋄", diam: "⋄", diamond: "⋄", DifferentialD: "ⅆ", dd: "ⅆ", Dopf: "𝔻", Dot: "¨", DoubleDot: "¨", die: "¨", uml: "¨", DotDot: "⃜", DotEqual: "≐", doteq: "≐", esdot: "≐", DoubleDownArrow: "⇓", Downarrow: "⇓", dArr: "⇓", DoubleLeftArrow: "⇐", Leftarrow: "⇐", lArr: "⇐", DoubleLeftRightArrow: "⇔", Leftrightarrow: "⇔", hArr: "⇔", iff: "⇔", DoubleLongLeftArrow: "⟸", Longleftarrow: "⟸", xlArr: "⟸", DoubleLongLeftRightArrow: "⟺", Longleftrightarrow: "⟺", xhArr: "⟺", DoubleLongRightArrow: "⟹", Longrightarrow: "⟹", xrArr: "⟹", DoubleRightArrow: "⇒", Implies: "⇒", Rightarrow: "⇒", rArr: "⇒", DoubleRightTee: "⊨", vDash: "⊨", DoubleUpArrow: "⇑", Uparrow: "⇑", uArr: "⇑", DoubleUpDownArrow: "⇕", Updownarrow: "⇕", vArr: "⇕", DoubleVerticalBar: "∥", par: "∥", parallel: "∥", shortparallel: "∥", spar: "∥", DownArrow: "↓", ShortDownArrow: "↓", darr: "↓", downarrow: "↓", DownArrowBar: "⤓", DownArrowUpArrow: "⇵", duarr: "⇵", DownBreve: "̑", DownLeftRightVector: "⥐", DownLeftTeeVector: "⥞", DownLeftVector: "↽", leftharpoondown: "↽", lhard: "↽", DownLeftVectorBar: "⥖", DownRightTeeVector: "⥟", DownRightVector: "⇁", rhard: "⇁", rightharpoondown: "⇁", DownRightVectorBar: "⥗", DownTee: "⊤", top: "⊤", DownTeeArrow: "↧", mapstodown: "↧", Dscr: "𝒟", Dstrok: "Đ", ENG: "Ŋ", ETH: "Ð", Eacute: "É", Ecaron: "Ě", Ecirc: "Ê", Ecy: "Э", Edot: "Ė", Efr: "𝔈", Egrave: "È", Element: "∈", in: "∈", isin: "∈", isinv: "∈", Emacr: "Ē", EmptySmallSquare: "◻", EmptyVerySmallSquare: "▫", Eogon: "Ę", Eopf: "𝔼", Epsilon: "Ε", Equal: "⩵", EqualTilde: "≂", eqsim: "≂", esim: "≂", Equilibrium: "⇌", rightleftharpoons: "⇌", rlhar: "⇌", Escr: "ℰ", expectation: "ℰ", Esim: "⩳", Eta: "Η", Euml: "Ë", Exists: "∃", exist: "∃", ExponentialE: "ⅇ", ee: "ⅇ", exponentiale: "ⅇ", Fcy: "Ф", Ffr: "𝔉", FilledSmallSquare: "◼", FilledVerySmallSquare: "▪", blacksquare: "▪", squarf: "▪", squf: "▪", Fopf: "𝔽", ForAll: "∀", forall: "∀", Fouriertrf: "ℱ", Fscr: "ℱ", GJcy: "Ѓ", GT: ">", gt: ">", Gamma: "Γ", Gammad: "Ϝ", Gbreve: "Ğ", Gcedil: "Ģ", Gcirc: "Ĝ", Gcy: "Г", Gdot: "Ġ", Gfr: "𝔊", Gg: "⋙", ggg: "⋙", Gopf: "𝔾", GreaterEqual: "≥", ge: "≥", geq: "≥", GreaterEqualLess: "⋛", gel: "⋛", gtreqless: "⋛", GreaterFullEqual: "≧", gE: "≧", geqq: "≧", GreaterGreater: "⪢", GreaterLess: "≷", gl: "≷", gtrless: "≷", GreaterSlantEqual: "⩾", geqslant: "⩾", ges: "⩾", GreaterTilde: "≳", gsim: "≳", gtrsim: "≳", Gscr: "𝒢", Gt: "≫", NestedGreaterGreater: "≫", gg: "≫", HARDcy: "Ъ", Hacek: "ˇ", caron: "ˇ", Hat: "^", Hcirc: "Ĥ", Hfr: "ℌ", Poincareplane: "ℌ", HilbertSpace: "ℋ", Hscr: "ℋ", hamilt: "ℋ", Hopf: "ℍ", quaternions: "ℍ", HorizontalLine: "─", boxh: "─", Hstrok: "Ħ", HumpEqual: "≏", bumpe: "≏", bumpeq: "≏", IEcy: "Е", IJlig: "IJ", IOcy: "Ё", Iacute: "Í", Icirc: "Î", Icy: "И", Idot: "İ", Ifr: "ℑ", Im: "ℑ", image: "ℑ", imagpart: "ℑ", Igrave: "Ì", Imacr: "Ī", ImaginaryI: "ⅈ", ii: "ⅈ", Int: "∬", Integral: "∫", int: "∫", Intersection: "⋂", bigcap: "⋂", xcap: "⋂", InvisibleComma: "⁣", ic: "⁣", InvisibleTimes: "⁢", it: "⁢", Iogon: "Į", Iopf: "𝕀", Iota: "Ι", Iscr: "ℐ", imagline: "ℐ", Itilde: "Ĩ", Iukcy: "І", Iuml: "Ï", Jcirc: "Ĵ", Jcy: "Й", Jfr: "𝔍", Jopf: "𝕁", Jscr: "𝒥", Jsercy: "Ј", Jukcy: "Є", KHcy: "Х", KJcy: "Ќ", Kappa: "Κ", Kcedil: "Ķ", Kcy: "К", Kfr: "𝔎", Kopf: "𝕂", Kscr: "𝒦", LJcy: "Љ", LT: "<", lt: "<", Lacute: "Ĺ", Lambda: "Λ", Lang: "⟪", Laplacetrf: "ℒ", Lscr: "ℒ", lagran: "ℒ", Larr: "↞", twoheadleftarrow: "↞", Lcaron: "Ľ", Lcedil: "Ļ", Lcy: "Л", LeftAngleBracket: "⟨", lang: "⟨", langle: "⟨", LeftArrow: "←", ShortLeftArrow: "←", larr: "←", leftarrow: "←", slarr: "←", LeftArrowBar: "⇤", larrb: "⇤", LeftArrowRightArrow: "⇆", leftrightarrows: "⇆", lrarr: "⇆", LeftCeiling: "⌈", lceil: "⌈", LeftDoubleBracket: "⟦", lobrk: "⟦", LeftDownTeeVector: "⥡", LeftDownVector: "⇃", dharl: "⇃", downharpoonleft: "⇃", LeftDownVectorBar: "⥙", LeftFloor: "⌊", lfloor: "⌊", LeftRightArrow: "↔", harr: "↔", leftrightarrow: "↔", LeftRightVector: "⥎", LeftTee: "⊣", dashv: "⊣", LeftTeeArrow: "↤", mapstoleft: "↤", LeftTeeVector: "⥚", LeftTriangle: "⊲", vartriangleleft: "⊲", vltri: "⊲", LeftTriangleBar: "⧏", LeftTriangleEqual: "⊴", ltrie: "⊴", trianglelefteq: "⊴", LeftUpDownVector: "⥑", LeftUpTeeVector: "⥠", LeftUpVector: "↿", uharl: "↿", upharpoonleft: "↿", LeftUpVectorBar: "⥘", LeftVector: "↼", leftharpoonup: "↼", lharu: "↼", LeftVectorBar: "⥒", LessEqualGreater: "⋚", leg: "⋚", lesseqgtr: "⋚", LessFullEqual: "≦", lE: "≦", leqq: "≦", LessGreater: "≶", lessgtr: "≶", lg: "≶", LessLess: "⪡", LessSlantEqual: "⩽", leqslant: "⩽", les: "⩽", LessTilde: "≲", lesssim: "≲", lsim: "≲", Lfr: "𝔏", Ll: "⋘", Lleftarrow: "⇚", lAarr: "⇚", Lmidot: "Ŀ", LongLeftArrow: "⟵", longleftarrow: "⟵", xlarr: "⟵", LongLeftRightArrow: "⟷", longleftrightarrow: "⟷", xharr: "⟷", LongRightArrow: "⟶", longrightarrow: "⟶", xrarr: "⟶", Lopf: "𝕃", LowerLeftArrow: "↙", swarr: "↙", swarrow: "↙", LowerRightArrow: "↘", searr: "↘", searrow: "↘", Lsh: "↰", lsh: "↰", Lstrok: "Ł", Lt: "≪", NestedLessLess: "≪", ll: "≪", Map: "⤅", Mcy: "М", MediumSpace: " ", Mellintrf: "ℳ", Mscr: "ℳ", phmmat: "ℳ", Mfr: "𝔐", MinusPlus: "∓", mnplus: "∓", mp: "∓", Mopf: "𝕄", Mu: "Μ", NJcy: "Њ", Nacute: "Ń", Ncaron: "Ň", Ncedil: "Ņ", Ncy: "Н", NegativeMediumSpace: "​", NegativeThickSpace: "​", NegativeThinSpace: "​", NegativeVeryThinSpace: "​", ZeroWidthSpace: "​", NewLine: `
1633
- `, Nfr: "𝔑", NoBreak: "⁠", NonBreakingSpace: " ", nbsp: " ", Nopf: "ℕ", naturals: "ℕ", Not: "⫬", NotCongruent: "≢", nequiv: "≢", NotCupCap: "≭", NotDoubleVerticalBar: "∦", npar: "∦", nparallel: "∦", nshortparallel: "∦", nspar: "∦", NotElement: "∉", notin: "∉", notinva: "∉", NotEqual: "≠", ne: "≠", NotEqualTilde: "≂̸", nesim: "≂̸", NotExists: "∄", nexist: "∄", nexists: "∄", NotGreater: "≯", ngt: "≯", ngtr: "≯", NotGreaterEqual: "≱", nge: "≱", ngeq: "≱", NotGreaterFullEqual: "≧̸", ngE: "≧̸", ngeqq: "≧̸", NotGreaterGreater: "≫̸", nGtv: "≫̸", NotGreaterLess: "≹", ntgl: "≹", NotGreaterSlantEqual: "⩾̸", ngeqslant: "⩾̸", nges: "⩾̸", NotGreaterTilde: "≵", ngsim: "≵", NotHumpDownHump: "≎̸", nbump: "≎̸", NotHumpEqual: "≏̸", nbumpe: "≏̸", NotLeftTriangle: "⋪", nltri: "⋪", ntriangleleft: "⋪", NotLeftTriangleBar: "⧏̸", NotLeftTriangleEqual: "⋬", nltrie: "⋬", ntrianglelefteq: "⋬", NotLess: "≮", nless: "≮", nlt: "≮", NotLessEqual: "≰", nle: "≰", nleq: "≰", NotLessGreater: "≸", ntlg: "≸", NotLessLess: "≪̸", nLtv: "≪̸", NotLessSlantEqual: "⩽̸", nleqslant: "⩽̸", nles: "⩽̸", NotLessTilde: "≴", nlsim: "≴", NotNestedGreaterGreater: "⪢̸", NotNestedLessLess: "⪡̸", NotPrecedes: "⊀", npr: "⊀", nprec: "⊀", NotPrecedesEqual: "⪯̸", npre: "⪯̸", npreceq: "⪯̸", NotPrecedesSlantEqual: "⋠", nprcue: "⋠", NotReverseElement: "∌", notni: "∌", notniva: "∌", NotRightTriangle: "⋫", nrtri: "⋫", ntriangleright: "⋫", NotRightTriangleBar: "⧐̸", NotRightTriangleEqual: "⋭", nrtrie: "⋭", ntrianglerighteq: "⋭", NotSquareSubset: "⊏̸", NotSquareSubsetEqual: "⋢", nsqsube: "⋢", NotSquareSuperset: "⊐̸", NotSquareSupersetEqual: "⋣", nsqsupe: "⋣", NotSubset: "⊂⃒", nsubset: "⊂⃒", vnsub: "⊂⃒", NotSubsetEqual: "⊈", nsube: "⊈", nsubseteq: "⊈", NotSucceeds: "⊁", nsc: "⊁", nsucc: "⊁", NotSucceedsEqual: "⪰̸", nsce: "⪰̸", nsucceq: "⪰̸", NotSucceedsSlantEqual: "⋡", nsccue: "⋡", NotSucceedsTilde: "≿̸", NotSuperset: "⊃⃒", nsupset: "⊃⃒", vnsup: "⊃⃒", NotSupersetEqual: "⊉", nsupe: "⊉", nsupseteq: "⊉", NotTilde: "≁", nsim: "≁", NotTildeEqual: "≄", nsime: "≄", nsimeq: "≄", NotTildeFullEqual: "≇", ncong: "≇", NotTildeTilde: "≉", nap: "≉", napprox: "≉", NotVerticalBar: "∤", nmid: "∤", nshortmid: "∤", nsmid: "∤", Nscr: "𝒩", Ntilde: "Ñ", Nu: "Ν", OElig: "Œ", Oacute: "Ó", Ocirc: "Ô", Ocy: "О", Odblac: "Ő", Ofr: "𝔒", Ograve: "Ò", Omacr: "Ō", Omega: "Ω", ohm: "Ω", Omicron: "Ο", Oopf: "𝕆", OpenCurlyDoubleQuote: "“", ldquo: "“", OpenCurlyQuote: "‘", lsquo: "‘", Or: "⩔", Oscr: "𝒪", Oslash: "Ø", Otilde: "Õ", Otimes: "⨷", Ouml: "Ö", OverBar: "‾", oline: "‾", OverBrace: "⏞", OverBracket: "⎴", tbrk: "⎴", OverParenthesis: "⏜", PartialD: "∂", part: "∂", Pcy: "П", Pfr: "𝔓", Phi: "Φ", Pi: "Π", PlusMinus: "±", plusmn: "±", pm: "±", Popf: "ℙ", primes: "ℙ", Pr: "⪻", Precedes: "≺", pr: "≺", prec: "≺", PrecedesEqual: "⪯", pre: "⪯", preceq: "⪯", PrecedesSlantEqual: "≼", prcue: "≼", preccurlyeq: "≼", PrecedesTilde: "≾", precsim: "≾", prsim: "≾", Prime: "″", Product: "∏", prod: "∏", Proportional: "∝", prop: "∝", propto: "∝", varpropto: "∝", vprop: "∝", Pscr: "𝒫", Psi: "Ψ", QUOT: '"', quot: '"', Qfr: "𝔔", Qopf: "ℚ", rationals: "ℚ", Qscr: "𝒬", RBarr: "⤐", drbkarow: "⤐", REG: "®", circledR: "®", reg: "®", Racute: "Ŕ", Rang: "⟫", Rarr: "↠", twoheadrightarrow: "↠", Rarrtl: "⤖", Rcaron: "Ř", Rcedil: "Ŗ", Rcy: "Р", Re: "ℜ", Rfr: "ℜ", real: "ℜ", realpart: "ℜ", ReverseElement: "∋", SuchThat: "∋", ni: "∋", niv: "∋", ReverseEquilibrium: "⇋", leftrightharpoons: "⇋", lrhar: "⇋", ReverseUpEquilibrium: "⥯", duhar: "⥯", Rho: "Ρ", RightAngleBracket: "⟩", rang: "⟩", rangle: "⟩", RightArrow: "→", ShortRightArrow: "→", rarr: "→", rightarrow: "→", srarr: "→", RightArrowBar: "⇥", rarrb: "⇥", RightArrowLeftArrow: "⇄", rightleftarrows: "⇄", rlarr: "⇄", RightCeiling: "⌉", rceil: "⌉", RightDoubleBracket: "⟧", robrk: "⟧", RightDownTeeVector: "⥝", RightDownVector: "⇂", dharr: "⇂", downharpoonright: "⇂", RightDownVectorBar: "⥕", RightFloor: "⌋", rfloor: "⌋", RightTee: "⊢", vdash: "⊢", RightTeeArrow: "↦", map: "↦", mapsto: "↦", RightTeeVector: "⥛", RightTriangle: "⊳", vartriangleright: "⊳", vrtri: "⊳", RightTriangleBar: "⧐", RightTriangleEqual: "⊵", rtrie: "⊵", trianglerighteq: "⊵", RightUpDownVector: "⥏", RightUpTeeVector: "⥜", RightUpVector: "↾", uharr: "↾", upharpoonright: "↾", RightUpVectorBar: "⥔", RightVector: "⇀", rharu: "⇀", rightharpoonup: "⇀", RightVectorBar: "⥓", Ropf: "ℝ", reals: "ℝ", RoundImplies: "⥰", Rrightarrow: "⇛", rAarr: "⇛", Rscr: "ℛ", realine: "ℛ", Rsh: "↱", rsh: "↱", RuleDelayed: "⧴", SHCHcy: "Щ", SHcy: "Ш", SOFTcy: "Ь", Sacute: "Ś", Sc: "⪼", Scaron: "Š", Scedil: "Ş", Scirc: "Ŝ", Scy: "С", Sfr: "𝔖", ShortUpArrow: "↑", UpArrow: "↑", uarr: "↑", uparrow: "↑", Sigma: "Σ", SmallCircle: "∘", compfn: "∘", Sopf: "𝕊", Sqrt: "√", radic: "√", Square: "□", squ: "□", square: "□", SquareIntersection: "⊓", sqcap: "⊓", SquareSubset: "⊏", sqsub: "⊏", sqsubset: "⊏", SquareSubsetEqual: "⊑", sqsube: "⊑", sqsubseteq: "⊑", SquareSuperset: "⊐", sqsup: "⊐", sqsupset: "⊐", SquareSupersetEqual: "⊒", sqsupe: "⊒", sqsupseteq: "⊒", SquareUnion: "⊔", sqcup: "⊔", Sscr: "𝒮", Star: "⋆", sstarf: "⋆", Sub: "⋐", Subset: "⋐", SubsetEqual: "⊆", sube: "⊆", subseteq: "⊆", Succeeds: "≻", sc: "≻", succ: "≻", SucceedsEqual: "⪰", sce: "⪰", succeq: "⪰", SucceedsSlantEqual: "≽", sccue: "≽", succcurlyeq: "≽", SucceedsTilde: "≿", scsim: "≿", succsim: "≿", Sum: "∑", sum: "∑", Sup: "⋑", Supset: "⋑", Superset: "⊃", sup: "⊃", supset: "⊃", SupersetEqual: "⊇", supe: "⊇", supseteq: "⊇", THORN: "Þ", TRADE: "™", trade: "™", TSHcy: "Ћ", TScy: "Ц", Tab: " ", Tau: "Τ", Tcaron: "Ť", Tcedil: "Ţ", Tcy: "Т", Tfr: "𝔗", Therefore: "∴", there4: "∴", therefore: "∴", Theta: "Θ", ThickSpace: "  ", ThinSpace: " ", thinsp: " ", Tilde: "∼", sim: "∼", thicksim: "∼", thksim: "∼", TildeEqual: "≃", sime: "≃", simeq: "≃", TildeFullEqual: "≅", cong: "≅", TildeTilde: "≈", ap: "≈", approx: "≈", asymp: "≈", thickapprox: "≈", thkap: "≈", Topf: "𝕋", TripleDot: "⃛", tdot: "⃛", Tscr: "𝒯", Tstrok: "Ŧ", Uacute: "Ú", Uarr: "↟", Uarrocir: "⥉", Ubrcy: "Ў", Ubreve: "Ŭ", Ucirc: "Û", Ucy: "У", Udblac: "Ű", Ufr: "𝔘", Ugrave: "Ù", Umacr: "Ū", UnderBar: "_", lowbar: "_", UnderBrace: "⏟", UnderBracket: "⎵", bbrk: "⎵", UnderParenthesis: "⏝", Union: "⋃", bigcup: "⋃", xcup: "⋃", UnionPlus: "⊎", uplus: "⊎", Uogon: "Ų", Uopf: "𝕌", UpArrowBar: "⤒", UpArrowDownArrow: "⇅", udarr: "⇅", UpDownArrow: "↕", updownarrow: "↕", varr: "↕", UpEquilibrium: "⥮", udhar: "⥮", UpTee: "⊥", bot: "⊥", bottom: "⊥", perp: "⊥", UpTeeArrow: "↥", mapstoup: "↥", UpperLeftArrow: "↖", nwarr: "↖", nwarrow: "↖", UpperRightArrow: "↗", nearr: "↗", nearrow: "↗", Upsi: "ϒ", upsih: "ϒ", Upsilon: "Υ", Uring: "Ů", Uscr: "𝒰", Utilde: "Ũ", Uuml: "Ü", VDash: "⊫", Vbar: "⫫", Vcy: "В", Vdash: "⊩", Vdashl: "⫦", Vee: "⋁", bigvee: "⋁", xvee: "⋁", Verbar: "‖", Vert: "‖", VerticalBar: "∣", mid: "∣", shortmid: "∣", smid: "∣", VerticalLine: "|", verbar: "|", vert: "|", VerticalSeparator: "❘", VerticalTilde: "≀", wr: "≀", wreath: "≀", VeryThinSpace: " ", hairsp: " ", Vfr: "𝔙", Vopf: "𝕍", Vscr: "𝒱", Vvdash: "⊪", Wcirc: "Ŵ", Wedge: "⋀", bigwedge: "⋀", xwedge: "⋀", Wfr: "𝔚", Wopf: "𝕎", Wscr: "𝒲", Xfr: "𝔛", Xi: "Ξ", Xopf: "𝕏", Xscr: "𝒳", YAcy: "Я", YIcy: "Ї", YUcy: "Ю", Yacute: "Ý", Ycirc: "Ŷ", Ycy: "Ы", Yfr: "𝔜", Yopf: "𝕐", Yscr: "𝒴", Yuml: "Ÿ", ZHcy: "Ж", Zacute: "Ź", Zcaron: "Ž", Zcy: "З", Zdot: "Ż", Zeta: "Ζ", Zfr: "ℨ", zeetrf: "ℨ", Zopf: "ℤ", integers: "ℤ", Zscr: "𝒵", aacute: "á", abreve: "ă", ac: "∾", mstpos: "∾", acE: "∾̳", acd: "∿", acirc: "â", acy: "а", aelig: "æ", afr: "𝔞", agrave: "à", alefsym: "ℵ", aleph: "ℵ", alpha: "α", amacr: "ā", amalg: "⨿", and: "∧", wedge: "∧", andand: "⩕", andd: "⩜", andslope: "⩘", andv: "⩚", ang: "∠", angle: "∠", ange: "⦤", angmsd: "∡", measuredangle: "∡", angmsdaa: "⦨", angmsdab: "⦩", angmsdac: "⦪", angmsdad: "⦫", angmsdae: "⦬", angmsdaf: "⦭", angmsdag: "⦮", angmsdah: "⦯", angrt: "∟", angrtvb: "⊾", angrtvbd: "⦝", angsph: "∢", angzarr: "⍼", aogon: "ą", aopf: "𝕒", apE: "⩰", apacir: "⩯", ape: "≊", approxeq: "≊", apid: "≋", apos: "'", aring: "å", ascr: "𝒶", ast: "*", midast: "*", atilde: "ã", auml: "ä", awint: "⨑", bNot: "⫭", backcong: "≌", bcong: "≌", backepsilon: "϶", bepsi: "϶", backprime: "‵", bprime: "‵", backsim: "∽", bsim: "∽", backsimeq: "⋍", bsime: "⋍", barvee: "⊽", barwed: "⌅", barwedge: "⌅", bbrktbrk: "⎶", bcy: "б", bdquo: "„", ldquor: "„", bemptyv: "⦰", beta: "β", beth: "ℶ", between: "≬", twixt: "≬", bfr: "𝔟", bigcirc: "◯", xcirc: "◯", bigodot: "⨀", xodot: "⨀", bigoplus: "⨁", xoplus: "⨁", bigotimes: "⨂", xotime: "⨂", bigsqcup: "⨆", xsqcup: "⨆", bigstar: "★", starf: "★", bigtriangledown: "▽", xdtri: "▽", bigtriangleup: "△", xutri: "△", biguplus: "⨄", xuplus: "⨄", bkarow: "⤍", rbarr: "⤍", blacklozenge: "⧫", lozf: "⧫", blacktriangle: "▴", utrif: "▴", blacktriangledown: "▾", dtrif: "▾", blacktriangleleft: "◂", ltrif: "◂", blacktriangleright: "▸", rtrif: "▸", blank: "␣", blk12: "▒", blk14: "░", blk34: "▓", block: "█", bne: "=⃥", bnequiv: "≡⃥", bnot: "⌐", bopf: "𝕓", bowtie: "⋈", boxDL: "╗", boxDR: "╔", boxDl: "╖", boxDr: "╓", boxH: "═", boxHD: "╦", boxHU: "╩", boxHd: "╤", boxHu: "╧", boxUL: "╝", boxUR: "╚", boxUl: "╜", boxUr: "╙", boxV: "║", boxVH: "╬", boxVL: "╣", boxVR: "╠", boxVh: "╫", boxVl: "╢", boxVr: "╟", boxbox: "⧉", boxdL: "╕", boxdR: "╒", boxdl: "┐", boxdr: "┌", boxhD: "╥", boxhU: "╨", boxhd: "┬", boxhu: "┴", boxminus: "⊟", minusb: "⊟", boxplus: "⊞", plusb: "⊞", boxtimes: "⊠", timesb: "⊠", boxuL: "╛", boxuR: "╘", boxul: "┘", boxur: "└", boxv: "│", boxvH: "╪", boxvL: "╡", boxvR: "╞", boxvh: "┼", boxvl: "┤", boxvr: "├", brvbar: "¦", bscr: "𝒷", bsemi: "⁏", bsol: "\\", bsolb: "⧅", bsolhsub: "⟈", bull: "•", bullet: "•", bumpE: "⪮", cacute: "ć", cap: "∩", capand: "⩄", capbrcup: "⩉", capcap: "⩋", capcup: "⩇", capdot: "⩀", caps: "∩︀", caret: "⁁", ccaps: "⩍", ccaron: "č", ccedil: "ç", ccirc: "ĉ", ccups: "⩌", ccupssm: "⩐", cdot: "ċ", cemptyv: "⦲", cent: "¢", cfr: "𝔠", chcy: "ч", check: "✓", checkmark: "✓", chi: "χ", cir: "○", cirE: "⧃", circ: "ˆ", circeq: "≗", cire: "≗", circlearrowleft: "↺", olarr: "↺", circlearrowright: "↻", orarr: "↻", circledS: "Ⓢ", oS: "Ⓢ", circledast: "⊛", oast: "⊛", circledcirc: "⊚", ocir: "⊚", circleddash: "⊝", odash: "⊝", cirfnint: "⨐", cirmid: "⫯", cirscir: "⧂", clubs: "♣", clubsuit: "♣", colon: ":", comma: ",", commat: "@", comp: "∁", complement: "∁", congdot: "⩭", copf: "𝕔", copysr: "℗", crarr: "↵", cross: "✗", cscr: "𝒸", csub: "⫏", csube: "⫑", csup: "⫐", csupe: "⫒", ctdot: "⋯", cudarrl: "⤸", cudarrr: "⤵", cuepr: "⋞", curlyeqprec: "⋞", cuesc: "⋟", curlyeqsucc: "⋟", cularr: "↶", curvearrowleft: "↶", cularrp: "⤽", cup: "∪", cupbrcap: "⩈", cupcap: "⩆", cupcup: "⩊", cupdot: "⊍", cupor: "⩅", cups: "∪︀", curarr: "↷", curvearrowright: "↷", curarrm: "⤼", curlyvee: "⋎", cuvee: "⋎", curlywedge: "⋏", cuwed: "⋏", curren: "¤", cwint: "∱", cylcty: "⌭", dHar: "⥥", dagger: "†", daleth: "ℸ", dash: "‐", hyphen: "‐", dbkarow: "⤏", rBarr: "⤏", dcaron: "ď", dcy: "д", ddarr: "⇊", downdownarrows: "⇊", ddotseq: "⩷", eDDot: "⩷", deg: "°", delta: "δ", demptyv: "⦱", dfisht: "⥿", dfr: "𝔡", diamondsuit: "♦", diams: "♦", digamma: "ϝ", gammad: "ϝ", disin: "⋲", div: "÷", divide: "÷", divideontimes: "⋇", divonx: "⋇", djcy: "ђ", dlcorn: "⌞", llcorner: "⌞", dlcrop: "⌍", dollar: "$", dopf: "𝕕", doteqdot: "≑", eDot: "≑", dotminus: "∸", minusd: "∸", dotplus: "∔", plusdo: "∔", dotsquare: "⊡", sdotb: "⊡", drcorn: "⌟", lrcorner: "⌟", drcrop: "⌌", dscr: "𝒹", dscy: "ѕ", dsol: "⧶", dstrok: "đ", dtdot: "⋱", dtri: "▿", triangledown: "▿", dwangle: "⦦", dzcy: "џ", dzigrarr: "⟿", eacute: "é", easter: "⩮", ecaron: "ě", ecir: "≖", eqcirc: "≖", ecirc: "ê", ecolon: "≕", eqcolon: "≕", ecy: "э", edot: "ė", efDot: "≒", fallingdotseq: "≒", efr: "𝔢", eg: "⪚", egrave: "è", egs: "⪖", eqslantgtr: "⪖", egsdot: "⪘", el: "⪙", elinters: "⏧", ell: "ℓ", els: "⪕", eqslantless: "⪕", elsdot: "⪗", emacr: "ē", empty: "∅", emptyset: "∅", emptyv: "∅", varnothing: "∅", emsp13: " ", emsp14: " ", emsp: " ", eng: "ŋ", ensp: " ", eogon: "ę", eopf: "𝕖", epar: "⋕", eparsl: "⧣", eplus: "⩱", epsi: "ε", epsilon: "ε", epsiv: "ϵ", straightepsilon: "ϵ", varepsilon: "ϵ", equals: "=", equest: "≟", questeq: "≟", equivDD: "⩸", eqvparsl: "⧥", erDot: "≓", risingdotseq: "≓", erarr: "⥱", escr: "ℯ", eta: "η", eth: "ð", euml: "ë", euro: "€", excl: "!", fcy: "ф", female: "♀", ffilig: "ffi", fflig: "ff", ffllig: "ffl", ffr: "𝔣", filig: "fi", fjlig: "fj", flat: "♭", fllig: "fl", fltns: "▱", fnof: "ƒ", fopf: "𝕗", fork: "⋔", pitchfork: "⋔", forkv: "⫙", fpartint: "⨍", frac12: "½", half: "½", frac13: "⅓", frac14: "¼", frac15: "⅕", frac16: "⅙", frac18: "⅛", frac23: "⅔", frac25: "⅖", frac34: "¾", frac35: "⅗", frac38: "⅜", frac45: "⅘", frac56: "⅚", frac58: "⅝", frac78: "⅞", frasl: "⁄", frown: "⌢", sfrown: "⌢", fscr: "𝒻", gEl: "⪌", gtreqqless: "⪌", gacute: "ǵ", gamma: "γ", gap: "⪆", gtrapprox: "⪆", gbreve: "ğ", gcirc: "ĝ", gcy: "г", gdot: "ġ", gescc: "⪩", gesdot: "⪀", gesdoto: "⪂", gesdotol: "⪄", gesl: "⋛︀", gesles: "⪔", gfr: "𝔤", gimel: "ℷ", gjcy: "ѓ", glE: "⪒", gla: "⪥", glj: "⪤", gnE: "≩", gneqq: "≩", gnap: "⪊", gnapprox: "⪊", gne: "⪈", gneq: "⪈", gnsim: "⋧", gopf: "𝕘", gscr: "ℊ", gsime: "⪎", gsiml: "⪐", gtcc: "⪧", gtcir: "⩺", gtdot: "⋗", gtrdot: "⋗", gtlPar: "⦕", gtquest: "⩼", gtrarr: "⥸", gvertneqq: "≩︀", gvnE: "≩︀", hardcy: "ъ", harrcir: "⥈", harrw: "↭", leftrightsquigarrow: "↭", hbar: "ℏ", hslash: "ℏ", planck: "ℏ", plankv: "ℏ", hcirc: "ĥ", hearts: "♥", heartsuit: "♥", hellip: "…", mldr: "…", hercon: "⊹", hfr: "𝔥", hksearow: "⤥", searhk: "⤥", hkswarow: "⤦", swarhk: "⤦", hoarr: "⇿", homtht: "∻", hookleftarrow: "↩", larrhk: "↩", hookrightarrow: "↪", rarrhk: "↪", hopf: "𝕙", horbar: "―", hscr: "𝒽", hstrok: "ħ", hybull: "⁃", iacute: "í", icirc: "î", icy: "и", iecy: "е", iexcl: "¡", ifr: "𝔦", igrave: "ì", iiiint: "⨌", qint: "⨌", iiint: "∭", tint: "∭", iinfin: "⧜", iiota: "℩", ijlig: "ij", imacr: "ī", imath: "ı", inodot: "ı", imof: "⊷", imped: "Ƶ", incare: "℅", infin: "∞", infintie: "⧝", intcal: "⊺", intercal: "⊺", intlarhk: "⨗", intprod: "⨼", iprod: "⨼", iocy: "ё", iogon: "į", iopf: "𝕚", iota: "ι", iquest: "¿", iscr: "𝒾", isinE: "⋹", isindot: "⋵", isins: "⋴", isinsv: "⋳", itilde: "ĩ", iukcy: "і", iuml: "ï", jcirc: "ĵ", jcy: "й", jfr: "𝔧", jmath: "ȷ", jopf: "𝕛", jscr: "𝒿", jsercy: "ј", jukcy: "є", kappa: "κ", kappav: "ϰ", varkappa: "ϰ", kcedil: "ķ", kcy: "к", kfr: "𝔨", kgreen: "ĸ", khcy: "х", kjcy: "ќ", kopf: "𝕜", kscr: "𝓀", lAtail: "⤛", lBarr: "⤎", lEg: "⪋", lesseqqgtr: "⪋", lHar: "⥢", lacute: "ĺ", laemptyv: "⦴", lambda: "λ", langd: "⦑", lap: "⪅", lessapprox: "⪅", laquo: "«", larrbfs: "⤟", larrfs: "⤝", larrlp: "↫", looparrowleft: "↫", larrpl: "⤹", larrsim: "⥳", larrtl: "↢", leftarrowtail: "↢", lat: "⪫", latail: "⤙", late: "⪭", lates: "⪭︀", lbarr: "⤌", lbbrk: "❲", lbrace: "{", lcub: "{", lbrack: "[", lsqb: "[", lbrke: "⦋", lbrksld: "⦏", lbrkslu: "⦍", lcaron: "ľ", lcedil: "ļ", lcy: "л", ldca: "⤶", ldrdhar: "⥧", ldrushar: "⥋", ldsh: "↲", le: "≤", leq: "≤", leftleftarrows: "⇇", llarr: "⇇", leftthreetimes: "⋋", lthree: "⋋", lescc: "⪨", lesdot: "⩿", lesdoto: "⪁", lesdotor: "⪃", lesg: "⋚︀", lesges: "⪓", lessdot: "⋖", ltdot: "⋖", lfisht: "⥼", lfr: "𝔩", lgE: "⪑", lharul: "⥪", lhblk: "▄", ljcy: "љ", llhard: "⥫", lltri: "◺", lmidot: "ŀ", lmoust: "⎰", lmoustache: "⎰", lnE: "≨", lneqq: "≨", lnap: "⪉", lnapprox: "⪉", lne: "⪇", lneq: "⪇", lnsim: "⋦", loang: "⟬", loarr: "⇽", longmapsto: "⟼", xmap: "⟼", looparrowright: "↬", rarrlp: "↬", lopar: "⦅", lopf: "𝕝", loplus: "⨭", lotimes: "⨴", lowast: "∗", loz: "◊", lozenge: "◊", lpar: "(", lparlt: "⦓", lrhard: "⥭", lrm: "‎", lrtri: "⊿", lsaquo: "‹", lscr: "𝓁", lsime: "⪍", lsimg: "⪏", lsquor: "‚", sbquo: "‚", lstrok: "ł", ltcc: "⪦", ltcir: "⩹", ltimes: "⋉", ltlarr: "⥶", ltquest: "⩻", ltrPar: "⦖", ltri: "◃", triangleleft: "◃", lurdshar: "⥊", luruhar: "⥦", lvertneqq: "≨︀", lvnE: "≨︀", mDDot: "∺", macr: "¯", strns: "¯", male: "♂", malt: "✠", maltese: "✠", marker: "▮", mcomma: "⨩", mcy: "м", mdash: "—", mfr: "𝔪", mho: "℧", micro: "µ", midcir: "⫰", minus: "−", minusdu: "⨪", mlcp: "⫛", models: "⊧", mopf: "𝕞", mscr: "𝓂", mu: "μ", multimap: "⊸", mumap: "⊸", nGg: "⋙̸", nGt: "≫⃒", nLeftarrow: "⇍", nlArr: "⇍", nLeftrightarrow: "⇎", nhArr: "⇎", nLl: "⋘̸", nLt: "≪⃒", nRightarrow: "⇏", nrArr: "⇏", nVDash: "⊯", nVdash: "⊮", nacute: "ń", nang: "∠⃒", napE: "⩰̸", napid: "≋̸", napos: "ʼn", natur: "♮", natural: "♮", ncap: "⩃", ncaron: "ň", ncedil: "ņ", ncongdot: "⩭̸", ncup: "⩂", ncy: "н", ndash: "–", neArr: "⇗", nearhk: "⤤", nedot: "≐̸", nesear: "⤨", toea: "⤨", nfr: "𝔫", nharr: "↮", nleftrightarrow: "↮", nhpar: "⫲", nis: "⋼", nisd: "⋺", njcy: "њ", nlE: "≦̸", nleqq: "≦̸", nlarr: "↚", nleftarrow: "↚", nldr: "‥", nopf: "𝕟", not: "¬", notinE: "⋹̸", notindot: "⋵̸", notinvb: "⋷", notinvc: "⋶", notnivb: "⋾", notnivc: "⋽", nparsl: "⫽⃥", npart: "∂̸", npolint: "⨔", nrarr: "↛", nrightarrow: "↛", nrarrc: "⤳̸", nrarrw: "↝̸", nscr: "𝓃", nsub: "⊄", nsubE: "⫅̸", nsubseteqq: "⫅̸", nsup: "⊅", nsupE: "⫆̸", nsupseteqq: "⫆̸", ntilde: "ñ", nu: "ν", num: "#", numero: "№", numsp: " ", nvDash: "⊭", nvHarr: "⤄", nvap: "≍⃒", nvdash: "⊬", nvge: "≥⃒", nvgt: ">⃒", nvinfin: "⧞", nvlArr: "⤂", nvle: "≤⃒", nvlt: "<⃒", nvltrie: "⊴⃒", nvrArr: "⤃", nvrtrie: "⊵⃒", nvsim: "∼⃒", nwArr: "⇖", nwarhk: "⤣", nwnear: "⤧", oacute: "ó", ocirc: "ô", ocy: "о", odblac: "ő", odiv: "⨸", odsold: "⦼", oelig: "œ", ofcir: "⦿", ofr: "𝔬", ogon: "˛", ograve: "ò", ogt: "⧁", ohbar: "⦵", olcir: "⦾", olcross: "⦻", olt: "⧀", omacr: "ō", omega: "ω", omicron: "ο", omid: "⦶", oopf: "𝕠", opar: "⦷", operp: "⦹", or: "∨", vee: "∨", ord: "⩝", order: "ℴ", orderof: "ℴ", oscr: "ℴ", ordf: "ª", ordm: "º", origof: "⊶", oror: "⩖", orslope: "⩗", orv: "⩛", oslash: "ø", osol: "⊘", otilde: "õ", otimesas: "⨶", ouml: "ö", ovbar: "⌽", para: "¶", parsim: "⫳", parsl: "⫽", pcy: "п", percnt: "%", period: ".", permil: "‰", pertenk: "‱", pfr: "𝔭", phi: "φ", phiv: "ϕ", straightphi: "ϕ", varphi: "ϕ", phone: "☎", pi: "π", piv: "ϖ", varpi: "ϖ", planckh: "ℎ", plus: "+", plusacir: "⨣", pluscir: "⨢", plusdu: "⨥", pluse: "⩲", plussim: "⨦", plustwo: "⨧", pointint: "⨕", popf: "𝕡", pound: "£", prE: "⪳", prap: "⪷", precapprox: "⪷", precnapprox: "⪹", prnap: "⪹", precneqq: "⪵", prnE: "⪵", precnsim: "⋨", prnsim: "⋨", prime: "′", profalar: "⌮", profline: "⌒", profsurf: "⌓", prurel: "⊰", pscr: "𝓅", psi: "ψ", puncsp: " ", qfr: "𝔮", qopf: "𝕢", qprime: "⁗", qscr: "𝓆", quatint: "⨖", quest: "?", rAtail: "⤜", rHar: "⥤", race: "∽̱", racute: "ŕ", raemptyv: "⦳", rangd: "⦒", range: "⦥", raquo: "»", rarrap: "⥵", rarrbfs: "⤠", rarrc: "⤳", rarrfs: "⤞", rarrpl: "⥅", rarrsim: "⥴", rarrtl: "↣", rightarrowtail: "↣", rarrw: "↝", rightsquigarrow: "↝", ratail: "⤚", ratio: "∶", rbbrk: "❳", rbrace: "}", rcub: "}", rbrack: "]", rsqb: "]", rbrke: "⦌", rbrksld: "⦎", rbrkslu: "⦐", rcaron: "ř", rcedil: "ŗ", rcy: "р", rdca: "⤷", rdldhar: "⥩", rdsh: "↳", rect: "▭", rfisht: "⥽", rfr: "𝔯", rharul: "⥬", rho: "ρ", rhov: "ϱ", varrho: "ϱ", rightrightarrows: "⇉", rrarr: "⇉", rightthreetimes: "⋌", rthree: "⋌", ring: "˚", rlm: "‏", rmoust: "⎱", rmoustache: "⎱", rnmid: "⫮", roang: "⟭", roarr: "⇾", ropar: "⦆", ropf: "𝕣", roplus: "⨮", rotimes: "⨵", rpar: ")", rpargt: "⦔", rppolint: "⨒", rsaquo: "›", rscr: "𝓇", rtimes: "⋊", rtri: "▹", triangleright: "▹", rtriltri: "⧎", ruluhar: "⥨", rx: "℞", sacute: "ś", scE: "⪴", scap: "⪸", succapprox: "⪸", scaron: "š", scedil: "ş", scirc: "ŝ", scnE: "⪶", succneqq: "⪶", scnap: "⪺", succnapprox: "⪺", scnsim: "⋩", succnsim: "⋩", scpolint: "⨓", scy: "с", sdot: "⋅", sdote: "⩦", seArr: "⇘", sect: "§", semi: ";", seswar: "⤩", tosa: "⤩", sext: "✶", sfr: "𝔰", sharp: "♯", shchcy: "щ", shcy: "ш", shy: "­", sigma: "σ", sigmaf: "ς", sigmav: "ς", varsigma: "ς", simdot: "⩪", simg: "⪞", simgE: "⪠", siml: "⪝", simlE: "⪟", simne: "≆", simplus: "⨤", simrarr: "⥲", smashp: "⨳", smeparsl: "⧤", smile: "⌣", ssmile: "⌣", smt: "⪪", smte: "⪬", smtes: "⪬︀", softcy: "ь", sol: "/", solb: "⧄", solbar: "⌿", sopf: "𝕤", spades: "♠", spadesuit: "♠", sqcaps: "⊓︀", sqcups: "⊔︀", sscr: "𝓈", star: "☆", sub: "⊂", subset: "⊂", subE: "⫅", subseteqq: "⫅", subdot: "⪽", subedot: "⫃", submult: "⫁", subnE: "⫋", subsetneqq: "⫋", subne: "⊊", subsetneq: "⊊", subplus: "⪿", subrarr: "⥹", subsim: "⫇", subsub: "⫕", subsup: "⫓", sung: "♪", sup1: "¹", sup2: "²", sup3: "³", supE: "⫆", supseteqq: "⫆", supdot: "⪾", supdsub: "⫘", supedot: "⫄", suphsol: "⟉", suphsub: "⫗", suplarr: "⥻", supmult: "⫂", supnE: "⫌", supsetneqq: "⫌", supne: "⊋", supsetneq: "⊋", supplus: "⫀", supsim: "⫈", supsub: "⫔", supsup: "⫖", swArr: "⇙", swnwar: "⤪", szlig: "ß", target: "⌖", tau: "τ", tcaron: "ť", tcedil: "ţ", tcy: "т", telrec: "⌕", tfr: "𝔱", theta: "θ", thetasym: "ϑ", thetav: "ϑ", vartheta: "ϑ", thorn: "þ", times: "×", timesbar: "⨱", timesd: "⨰", topbot: "⌶", topcir: "⫱", topf: "𝕥", topfork: "⫚", tprime: "‴", triangle: "▵", utri: "▵", triangleq: "≜", trie: "≜", tridot: "◬", triminus: "⨺", triplus: "⨹", trisb: "⧍", tritime: "⨻", trpezium: "⏢", tscr: "𝓉", tscy: "ц", tshcy: "ћ", tstrok: "ŧ", uHar: "⥣", uacute: "ú", ubrcy: "ў", ubreve: "ŭ", ucirc: "û", ucy: "у", udblac: "ű", ufisht: "⥾", ufr: "𝔲", ugrave: "ù", uhblk: "▀", ulcorn: "⌜", ulcorner: "⌜", ulcrop: "⌏", ultri: "◸", umacr: "ū", uogon: "ų", uopf: "𝕦", upsi: "υ", upsilon: "υ", upuparrows: "⇈", uuarr: "⇈", urcorn: "⌝", urcorner: "⌝", urcrop: "⌎", uring: "ů", urtri: "◹", uscr: "𝓊", utdot: "⋰", utilde: "ũ", uuml: "ü", uwangle: "⦧", vBar: "⫨", vBarv: "⫩", vangrt: "⦜", varsubsetneq: "⊊︀", vsubne: "⊊︀", varsubsetneqq: "⫋︀", vsubnE: "⫋︀", varsupsetneq: "⊋︀", vsupne: "⊋︀", varsupsetneqq: "⫌︀", vsupnE: "⫌︀", vcy: "в", veebar: "⊻", veeeq: "≚", vellip: "⋮", vfr: "𝔳", vopf: "𝕧", vscr: "𝓋", vzigzag: "⦚", wcirc: "ŵ", wedbar: "⩟", wedgeq: "≙", weierp: "℘", wp: "℘", wfr: "𝔴", wopf: "𝕨", wscr: "𝓌", xfr: "𝔵", xi: "ξ", xnis: "⋻", xopf: "𝕩", xscr: "𝓍", yacute: "ý", yacy: "я", ycirc: "ŷ", ycy: "ы", yen: "¥", yfr: "𝔶", yicy: "ї", yopf: "𝕪", yscr: "𝓎", yucy: "ю", yuml: "ÿ", zacute: "ź", zcaron: "ž", zcy: "з", zdot: "ż", zeta: "ζ", zfr: "𝔷", zhcy: "ж", zigrarr: "⇝", zopf: "𝕫", zscr: "𝓏", zwj: "‍", zwnj: "‌" };
1634
- _e.ngsp = "";
1635
- var za = class {
1636
- constructor(e, t, r) {
1637
- __publicField(this, "tokens");
1638
- __publicField(this, "errors");
1639
- __publicField(this, "nonNormalizedIcuExpressions");
1640
- this.tokens = e, this.errors = t, this.nonNormalizedIcuExpressions = r;
1641
- }
1642
- };
1643
- function Di(e, t, r, n = {}) {
1644
- let i = new Qa(new rt(e, t), r, n);
1645
- return i.tokenize(), new za(no(i.tokens), i.errors, i.nonNormalizedIcuExpressions);
1646
- }
1647
- var Ga = /\r\n?/g;
1648
- function Se(e) {
1649
- return `Unexpected character "${e === 0 ? "EOF" : String.fromCharCode(e)}"`;
1650
- }
1651
- function xi(e) {
1652
- return `Unknown entity "${e}" - use the "&#<decimal>;" or "&#x<hex>;" syntax`;
1653
- }
1654
- function $a(e, t) {
1655
- return `Unable to parse entity "${t}" - ${e} character reference entities must end with ";"`;
1656
- }
1657
- var ja = ["@if", "@else", "@for", "@switch", "@case", "@default", "@empty", "@defer", "@placeholder", "@loading", "@error", "@content"], it = { start: "{{", end: "}}" }, Ya = /^default[^\S\r\n]+never/, Ka = /^else[^\S\r\n]+if/, Qa = class {
1658
- constructor(e, t, r) {
1659
- __publicField(this, "_getTagContentType");
1660
- __publicField(this, "_cursor");
1661
- __publicField(this, "_tokenizeIcu");
1662
- __publicField(this, "_leadingTriviaCodePoints");
1663
- __publicField(this, "_canSelfClose");
1664
- __publicField(this, "_allowHtmComponentClosingTags");
1665
- __publicField(this, "_allowStartTagComments");
1666
- __publicField(this, "_currentTokenStart", null);
1667
- __publicField(this, "_currentTokenType", null);
1668
- __publicField(this, "_expansionCaseStack", []);
1669
- __publicField(this, "_openDirectiveCount", 0);
1670
- __publicField(this, "_inInterpolation", false);
1671
- __publicField(this, "_preserveLineEndings");
1672
- __publicField(this, "_i18nNormalizeLineEndingsInICUs");
1673
- __publicField(this, "_fullNameStack", []);
1674
- __publicField(this, "_tokenizeBlocks");
1675
- __publicField(this, "_tokenizeLet");
1676
- __publicField(this, "_selectorlessEnabled");
1677
- __publicField(this, "tokens", []);
1678
- __publicField(this, "errors", []);
1679
- __publicField(this, "nonNormalizedIcuExpressions", []);
1680
- this._getTagContentType = t, this._tokenizeIcu = r.tokenizeExpansionForms || false, this._leadingTriviaCodePoints = r.leadingTriviaChars && r.leadingTriviaChars.map((i) => i.codePointAt(0) || 0), this._canSelfClose = r.canSelfClose || false, this._allowHtmComponentClosingTags = r.allowHtmComponentClosingTags || false, this._allowStartTagComments = r.allowStartTagComments ?? true;
1681
- let n = r.range || { endPos: e.content.length, startPos: 0, startLine: 0, startCol: 0 };
1682
- this._cursor = r.escapedString ? new io(e, n) : new Ii(e, n), this._preserveLineEndings = r.preserveLineEndings || false, this._i18nNormalizeLineEndingsInICUs = r.i18nNormalizeLineEndingsInICUs || false, this._tokenizeBlocks = r.tokenizeBlocks ?? true, this._tokenizeLet = r.tokenizeLet ?? true, this._selectorlessEnabled = r.selectorlessEnabled ?? false;
1683
- try {
1684
- this._cursor.init();
1685
- } catch (i) {
1686
- this.handleError(i);
1687
- }
1688
- }
1689
- _processCarriageReturns(e) {
1690
- return this._preserveLineEndings ? e : e.replace(Ga, `
1691
- `);
1692
- }
1693
- tokenize() {
1694
- for (; this._cursor.peek() !== 0; ) {
1695
- let e = this._cursor.clone();
1696
- try {
1697
- if (this._attemptCharCode(60)) if (this._attemptCharCode(33)) this._attemptStr("[CDATA[") ? this._consumeCdata(e) : this._attemptStr("--") ? this._consumeComment(e) : this._attemptStrCaseInsensitive("doctype") ? this._consumeDocType(e) : this._consumeBogusComment(e);
1698
- else if (this._attemptCharCode(47)) this._consumeTagClose(e);
1699
- else {
1700
- let t = this._cursor.clone();
1701
- this._attemptCharCode(63) ? (this._cursor = t, this._consumeBogusComment(e)) : this._consumeTagOpen(e);
1702
- }
1703
- else this._tokenizeLet && this._cursor.peek() === 64 && !this._inInterpolation && this._isLetStart() ? this._consumeLetDeclaration(e) : this._tokenizeBlocks && this._isBlockStart() ? this._consumeBlockStart(e) : this._tokenizeBlocks && !this._inInterpolation && !this._isInExpansionCase() && !this._isInExpansionForm() && this._attemptCharCode(125) ? this._consumeBlockEnd(e) : this._tokenizeIcu && this._tokenizeExpansionForm() || this._consumeWithInterpolation(5, 8, () => this._isTextEnd(), () => this._isTagStart());
1704
- } catch (t) {
1705
- this.handleError(t);
1706
- }
1707
- }
1708
- this._beginToken(43), this._endToken([]);
1709
- }
1710
- _getBlockName() {
1711
- let e = false, t = this._cursor.clone();
1712
- this._attemptCharCodeUntilFn((n) => nt(n) ? !e : ro(n) ? (e = true, false) : true);
1713
- let r = this._cursor.getChars(t).trim();
1714
- return Ka.test(r) ? r = "else if" : Ya.test(r) && (r = "default never"), r;
1715
- }
1716
- _consumeBlockStart(e) {
1717
- this._requireCharCode(64), this._beginToken(26, e);
1718
- let t = this._endToken([this._getBlockName()]);
1719
- if (this._cursor.peek() === 40) if (this._cursor.advance(), this._consumeBlockParameters(), this._attemptCharCodeUntilFn(b), this._attemptCharCode(41)) this._attemptCharCodeUntilFn(b);
1720
- else {
1721
- t.type = 30;
1722
- return;
1723
- }
1724
- if (t.parts[0] === "default never" && this._attemptCharCode(59)) {
1725
- this._beginToken(27), this._endToken([]), this._beginToken(28), this._endToken([]);
1726
- return;
1727
- }
1728
- this._attemptCharCode(123) ? (this._beginToken(27), this._endToken([])) : this._isBlockStart() && (t.parts[0] === "case" || t.parts[0] === "default") ? (this._beginToken(27), this._endToken([]), this._beginToken(28), this._endToken([])) : t.type = 30;
1729
- }
1730
- _consumeBlockEnd(e) {
1731
- this._beginToken(28, e), this._endToken([]);
1732
- }
1733
- _consumeBlockParameters() {
1734
- for (this._attemptCharCodeUntilFn(Ai); this._cursor.peek() !== 41 && this._cursor.peek() !== 0; ) {
1735
- this._beginToken(29);
1736
- let e = this._cursor.clone(), t = null, r = 0;
1737
- for (; this._cursor.peek() !== 59 && this._cursor.peek() !== 0 || t !== null; ) {
1738
- let n = this._cursor.peek();
1739
- if (n === 92) this._cursor.advance();
1740
- else if (n === t) t = null;
1741
- else if (t === null && Rt(n)) t = n;
1742
- else if (n === 40 && t === null) r++;
1743
- else if (n === 41 && t === null) {
1744
- if (r === 0) break;
1745
- r > 0 && r--;
1746
- }
1747
- this._cursor.advance();
1748
- }
1749
- this._endToken([this._cursor.getChars(e)]), this._attemptCharCodeUntilFn(Ai);
1750
- }
1751
- }
1752
- _consumeLetDeclaration(e) {
1753
- if (this._requireStr("@let"), this._beginToken(31, e), nt(this._cursor.peek())) this._attemptCharCodeUntilFn(b);
1754
- else {
1755
- let r = this._endToken([this._cursor.getChars(e)]);
1756
- r.type = 34;
1757
- return;
1758
- }
1759
- let t = this._endToken([this._getLetDeclarationName()]);
1760
- if (this._attemptCharCodeUntilFn(b), !this._attemptCharCode(61)) {
1761
- t.type = 34;
1762
- return;
1763
- }
1764
- this._attemptCharCodeUntilFn((r) => b(r) && !Oe(r)), this._consumeLetDeclarationValue(), this._cursor.peek() === 59 ? (this._beginToken(33), this._cursor.advance(), this._endToken([])) : (t.type = 34, t.sourceSpan = this._cursor.getSpan(e));
1765
- }
1766
- _getLetDeclarationName() {
1767
- let e = this._cursor.clone(), t = false;
1768
- return this._attemptCharCodeUntilFn((r) => Re(r) || r === 36 || r === 95 || t && Ie(r) ? (t = true, false) : true), this._cursor.getChars(e).trim();
1769
- }
1770
- _consumeLetDeclarationValue() {
1771
- let e = this._cursor.clone();
1772
- for (this._beginToken(32, e); this._cursor.peek() !== 0; ) {
1773
- let t = this._cursor.peek();
1774
- if (t === 59) break;
1775
- Rt(t) && (this._cursor.advance(), this._attemptCharCodeUntilFn((r) => r === 92 ? (this._cursor.advance(), false) : r === t)), this._cursor.advance();
1776
- }
1777
- this._endToken([this._cursor.getChars(e)]);
1778
- }
1779
- _tokenizeExpansionForm() {
1780
- if (this.isExpansionFormStart()) return this._consumeExpansionFormStart(), true;
1781
- if (eo(this._cursor.peek()) && this._isInExpansionForm()) return this._consumeExpansionCaseStart(), true;
1782
- if (this._cursor.peek() === 125) {
1783
- if (this._isInExpansionCase()) return this._consumeExpansionCaseEnd(), true;
1784
- if (this._isInExpansionForm()) return this._consumeExpansionFormEnd(), true;
1785
- }
1786
- return false;
1787
- }
1788
- _beginToken(e, t = this._cursor.clone()) {
1789
- this._currentTokenStart = t, this._currentTokenType = e;
1790
- }
1791
- _endToken(e, t) {
1792
- if (this._currentTokenStart === null) throw new te(this._cursor.getSpan(t), "Programming error - attempted to end a token when there was no start to the token");
1793
- if (this._currentTokenType === null) throw new te(this._cursor.getSpan(this._currentTokenStart), "Programming error - attempted to end a token which has no token type");
1794
- let r = { type: this._currentTokenType, parts: e, sourceSpan: (t ?? this._cursor).getSpan(this._currentTokenStart, this._leadingTriviaCodePoints) };
1795
- return this.tokens.push(r), this._currentTokenStart = null, this._currentTokenType = null, r;
1796
- }
1797
- _createError(e, t) {
1798
- this._isInExpansionForm() && (e += ` (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)`);
1799
- let r = new te(t, e);
1800
- return this._currentTokenStart = null, this._currentTokenType = null, r;
1801
- }
1802
- handleError(e) {
1803
- if (e instanceof Cr && (e = this._createError(e.msg, this._cursor.getSpan(e.cursor))), e instanceof te) this.errors.push(e);
1804
- else throw e;
1805
- }
1806
- _attemptCharCode(e) {
1807
- return this._cursor.peek() === e ? (this._cursor.advance(), true) : false;
1808
- }
1809
- _attemptCharCodeCaseInsensitive(e) {
1810
- return to(this._cursor.peek(), e) ? (this._cursor.advance(), true) : false;
1811
- }
1812
- _requireCharCode(e) {
1813
- let t = this._cursor.clone();
1814
- if (!this._attemptCharCode(e)) throw this._createError(Se(this._cursor.peek()), this._cursor.getSpan(t));
1815
- }
1816
- _attemptStr(e) {
1817
- let t = e.length;
1818
- if (this._cursor.charsLeft() < t) return false;
1819
- let r = this._cursor.clone();
1820
- for (let n = 0; n < t; n++) if (!this._attemptCharCode(e.charCodeAt(n))) return this._cursor = r, false;
1821
- return true;
1822
- }
1823
- _attemptStrCaseInsensitive(e) {
1824
- for (let t = 0; t < e.length; t++) if (!this._attemptCharCodeCaseInsensitive(e.charCodeAt(t))) return false;
1825
- return true;
1826
- }
1827
- _requireStr(e) {
1828
- let t = this._cursor.clone();
1829
- if (!this._attemptStr(e)) throw this._createError(Se(this._cursor.peek()), this._cursor.getSpan(t));
1830
- }
1831
- _requireStrCaseInsensitive(e) {
1832
- let t = this._cursor.clone();
1833
- if (!this._attemptStrCaseInsensitive(e)) throw this._createError(Se(this._cursor.peek()), this._cursor.getSpan(t));
1834
- }
1835
- _attemptCharCodeUntilFn(e) {
1836
- for (; !e(this._cursor.peek()); ) this._cursor.advance();
1837
- }
1838
- _requireCharCodeUntilFn(e, t) {
1839
- let r = this._cursor.clone();
1840
- if (this._attemptCharCodeUntilFn(e), this._cursor.diff(r) < t) throw this._createError(Se(this._cursor.peek()), this._cursor.getSpan(r));
1841
- }
1842
- _attemptUntilChar(e) {
1843
- for (; this._cursor.peek() !== e; ) this._cursor.advance();
1844
- }
1845
- _readChar() {
1846
- let e = String.fromCodePoint(this._cursor.peek());
1847
- return this._cursor.advance(), e;
1848
- }
1849
- _peekStr(e) {
1850
- let t = e.length;
1851
- if (this._cursor.charsLeft() < t) return false;
1852
- let r = this._cursor.clone();
1853
- for (let n = 0; n < t; n++) {
1854
- if (r.peek() !== e.charCodeAt(n)) return false;
1855
- r.advance();
1856
- }
1857
- return true;
1858
- }
1859
- _isBlockStart() {
1860
- return this._cursor.peek() === 64 && ja.some((e) => this._peekStr(e));
1861
- }
1862
- _isLetStart() {
1863
- return this._cursor.peek() === 64 && this._peekStr("@let");
1864
- }
1865
- _consumeEntity(e) {
1866
- this._beginToken(9);
1867
- let t = this._cursor.clone();
1868
- if (this._cursor.advance(), this._attemptCharCode(35)) {
1869
- let r = this._attemptCharCode(120) || this._attemptCharCode(88), n = this._cursor.clone();
1870
- if (this._attemptCharCodeUntilFn(Ja), this._cursor.peek() != 59) {
1871
- this._cursor.advance();
1872
- let s = r ? "hexadecimal" : "decimal";
1873
- throw this._createError($a(s, this._cursor.getChars(t)), this._cursor.getSpan());
1874
- }
1875
- let i = this._cursor.getChars(n);
1876
- this._cursor.advance();
1877
- try {
1878
- let s = parseInt(i, r ? 16 : 10);
1879
- this._endToken([String.fromCodePoint(s), this._cursor.getChars(t)]);
1880
- } catch {
1881
- throw this._createError(xi(this._cursor.getChars(t)), this._cursor.getSpan());
1882
- }
1883
- } else {
1884
- let r = this._cursor.clone();
1885
- if (this._attemptCharCodeUntilFn(Za), this._cursor.peek() != 59) this._beginToken(e, t), this._cursor = r, this._endToken(["&"]);
1886
- else {
1887
- let n = this._cursor.getChars(r);
1888
- this._cursor.advance();
1889
- let i = _e.hasOwnProperty(n) && _e[n];
1890
- if (!i) throw this._createError(xi(n), this._cursor.getSpan(t));
1891
- this._endToken([i, `&${n};`]);
1892
- }
1893
- }
1894
- }
1895
- _consumeRawText(e, t) {
1896
- this._beginToken(e ? 6 : 7);
1897
- let r = [];
1898
- for (; ; ) {
1899
- let n = this._cursor.clone(), i = t();
1900
- if (this._cursor = n, i) break;
1901
- e && this._cursor.peek() === 38 ? (this._endToken([this._processCarriageReturns(r.join(""))]), r.length = 0, this._consumeEntity(6), this._beginToken(6)) : r.push(this._readChar());
1902
- }
1903
- this._endToken([this._processCarriageReturns(r.join(""))]);
1904
- }
1905
- _consumeComment(e) {
1906
- this._beginToken(10, e), this._endToken([]), this._consumeRawText(false, () => this._attemptStr("-->")), this._beginToken(11), this._requireStr("-->"), this._endToken([]);
1907
- }
1908
- _consumeBogusComment(e) {
1909
- this._beginToken(10, e), this._endToken([]), this._consumeRawText(false, () => this._cursor.peek() === 62), this._beginToken(11), this._cursor.advance(), this._endToken([]);
1910
- }
1911
- _consumeCdata(e) {
1912
- this._beginToken(13, e), this._endToken([]), this._consumeRawText(false, () => this._attemptStr("]]>")), this._beginToken(14), this._requireStr("]]>"), this._endToken([]);
1913
- }
1914
- _consumeDocType(e) {
1915
- this._beginToken(19, e), this._endToken([]), this._consumeRawText(false, () => this._cursor.peek() === 62), this._beginToken(20), this._cursor.advance(), this._endToken([]);
1916
- }
1917
- _consumePrefixAndName(e) {
1918
- let t = this._cursor.clone(), r = "";
1919
- for (; this._cursor.peek() !== 58 && !Xa(this._cursor.peek()); ) this._cursor.advance();
1920
- let n;
1921
- this._cursor.peek() === 58 ? (r = this._cursor.getChars(t), this._cursor.advance(), n = this._cursor.clone()) : n = t, this._requireCharCodeUntilFn(e, r === "" ? 0 : 1);
1922
- let i = this._cursor.getChars(n);
1923
- return [r, i];
1924
- }
1925
- _consumeSingleLineComment(e) {
1926
- let t = this._cursor.clone();
1927
- this._attemptCharCodeUntilFn((i) => Oe(i) || i === 0);
1928
- let r = this._cursor.clone(), n = r.getChars(t);
1929
- this._beginToken(12, e), this._endToken([n, "single"], r), this._attemptCharCodeUntilFn(b);
1930
- }
1931
- _consumeMultiLineComment(e) {
1932
- let t = this._cursor.clone();
1933
- this._attemptCharCodeUntilFn((s) => {
1934
- if (s === 0) return true;
1935
- if (s === 42) {
1936
- let a = this._cursor.clone();
1937
- return a.advance(), a.peek() === 47;
1938
- }
1939
- return false;
1940
- });
1941
- let r = this._cursor.clone(), n = r.getChars(t), i = r;
1942
- this._attemptStr("*/") && (i = this._cursor.clone(), this._attemptCharCodeUntilFn(b)), this._beginToken(12, e), this._endToken([n, "multi"], i);
1943
- }
1944
- _consumeTagOpen(e) {
1945
- let t, r, n, i, s = [];
1946
- try {
1947
- if (this._selectorlessEnabled && Ot(this._cursor.peek())) i = this._consumeComponentOpenStart(e), [n, r, t] = i.parts, r && (n += `:${r}`), t && (n += `:${t}`), this._attemptCharCodeUntilFn(b);
1948
- else {
1949
- if (!Re(this._cursor.peek())) throw this._createError(Se(this._cursor.peek()), this._cursor.getSpan(e));
1950
- i = this._consumeTagOpenStart(e), r = i.parts[0], t = n = i.parts[1], this._attemptCharCodeUntilFn(b);
1951
- }
1952
- for (; ; ) {
1953
- if (this._allowStartTagComments) {
1954
- let o = this._cursor.clone();
1955
- if (this._attemptStr("//")) {
1956
- this._consumeSingleLineComment(o);
1957
- continue;
1958
- }
1959
- if (this._attemptStr("/*")) {
1960
- this._consumeMultiLineComment(o);
1961
- continue;
1962
- }
1963
- }
1964
- if (Ni(this._cursor.peek())) break;
1965
- if (this._selectorlessEnabled && this._cursor.peek() === 64) {
1966
- let o = this._cursor.clone(), l = o.clone();
1967
- l.advance(), Ot(l.peek()) && this._consumeDirective(o, l);
1968
- } else {
1969
- let o = this._consumeAttribute();
1970
- s.push(o);
1971
- }
1972
- }
1973
- i.type === 35 ? this._consumeComponentOpenEnd() : this._consumeTagOpenEnd();
1974
- } catch (o) {
1975
- if (o instanceof te) {
1976
- i ? i.type = i.type === 35 ? 39 : 4 : (this._beginToken(5, e), this._endToken(["<"]));
1977
- return;
1978
- }
1979
- throw o;
1980
- }
1981
- if (this._canSelfClose && this.tokens[this.tokens.length - 1].type === 2) return;
1982
- let a = this._getTagContentType(t, r, this._fullNameStack.length > 0, s);
1983
- this._handleFullNameStackForTagOpen(r, t), a === 0 ? this._consumeRawTextWithTagClose(r, i, n, false) : a === 1 && this._consumeRawTextWithTagClose(r, i, n, true);
1984
- }
1985
- _consumeRawTextWithTagClose(e, t, r, n) {
1986
- this._consumeRawText(n, () => !this._attemptCharCode(60) || !this._attemptCharCode(47) || (this._attemptCharCodeUntilFn(b), !this._attemptStrCaseInsensitive(e && t.type !== 35 ? `${e}:${r}` : r)) ? false : (this._attemptCharCodeUntilFn(b), this._attemptCharCode(62))), this._beginToken(t.type === 35 ? 38 : 3), this._requireCharCodeUntilFn((i) => i === 62, 3), this._cursor.advance(), this._endToken(t.parts), this._handleFullNameStackForTagClose(e, r);
1987
- }
1988
- _consumeTagOpenStart(e) {
1989
- this._beginToken(0, e);
1990
- let t = this._consumePrefixAndName(ve);
1991
- return this._endToken(t);
1992
- }
1993
- _consumeComponentOpenStart(e) {
1994
- this._beginToken(35, e);
1995
- let t = this._consumeComponentName();
1996
- return this._endToken(t);
1997
- }
1998
- _consumeComponentName() {
1999
- let e = this._cursor.clone();
2000
- for (; Pi(this._cursor.peek()); ) this._cursor.advance();
2001
- let t = this._cursor.getChars(e), r = "", n = "";
2002
- return this._cursor.peek() === 58 && (this._cursor.advance(), [r, n] = this._consumePrefixAndName(ve)), [t, r, n];
2003
- }
2004
- _consumeAttribute() {
2005
- let [e, t] = this._consumeAttributeName(), r;
2006
- return this._attemptCharCodeUntilFn(b), this._attemptCharCode(61) && (this._attemptCharCodeUntilFn(b), r = this._consumeAttributeValue()), this._attemptCharCodeUntilFn(b), { prefix: e, name: t, value: r };
2007
- }
2008
- _consumeAttributeName() {
2009
- let e = this._cursor.peek();
2010
- if (e === 39 || e === 34) throw this._createError(Se(e), this._cursor.getSpan());
2011
- this._beginToken(15);
2012
- let t;
2013
- if (this._openDirectiveCount > 0) {
2014
- let n = 0;
2015
- t = (i) => {
2016
- if (this._openDirectiveCount > 0) {
2017
- if (i === 40) n++;
2018
- else if (i === 41) {
2019
- if (n === 0) return true;
2020
- n--;
2021
- }
2022
- }
2023
- return ve(i);
2024
- };
2025
- } else if (e === 91) {
2026
- let n = 0;
2027
- t = (i) => (i === 91 ? n++ : i === 93 && n--, n <= 0 ? ve(i) : Oe(i));
2028
- } else t = ve;
2029
- let r = this._consumePrefixAndName(t);
2030
- return this._endToken(r), r;
2031
- }
2032
- _consumeAttributeValue() {
2033
- let e;
2034
- if (this._cursor.peek() === 39 || this._cursor.peek() === 34) {
2035
- let t = this._cursor.peek();
2036
- this._consumeQuote(t);
2037
- let r = () => this._cursor.peek() === t;
2038
- e = this._consumeWithInterpolation(17, 18, r, r), this._consumeQuote(t);
2039
- } else {
2040
- let t = () => ve(this._cursor.peek());
2041
- e = this._consumeWithInterpolation(17, 18, t, t);
2042
- }
2043
- return e;
2044
- }
2045
- _consumeQuote(e) {
2046
- this._beginToken(16), this._requireCharCode(e), this._endToken([String.fromCodePoint(e)]);
2047
- }
2048
- _consumeTagOpenEnd() {
2049
- let e = this._attemptCharCode(47) ? 2 : 1;
2050
- this._beginToken(e), this._requireCharCode(62), this._endToken([]);
2051
- }
2052
- _consumeComponentOpenEnd() {
2053
- let e = this._attemptCharCode(47) ? 37 : 36;
2054
- this._beginToken(e), this._requireCharCode(62), this._endToken([]);
2055
- }
2056
- _consumeTagClose(e) {
2057
- if (this._selectorlessEnabled) {
2058
- let t = e.clone();
2059
- for (; t.peek() !== 62 && !Ot(t.peek()); ) t.advance();
2060
- if (Ot(t.peek())) {
2061
- this._beginToken(38, e);
2062
- let r = this._consumeComponentName();
2063
- this._attemptCharCodeUntilFn(b), this._requireCharCode(62), this._endToken(r);
2064
- return;
2065
- }
2066
- }
2067
- if (this._beginToken(3, e), this._attemptCharCodeUntilFn(b), this._allowHtmComponentClosingTags && this._attemptCharCode(47)) this._attemptCharCodeUntilFn(b), this._requireCharCode(62), this._endToken([]);
2068
- else {
2069
- let [t, r] = this._consumePrefixAndName(ve);
2070
- this._attemptCharCodeUntilFn(b), this._requireCharCode(62), this._endToken([t, r]), this._handleFullNameStackForTagClose(t, r);
2071
- }
2072
- }
2073
- _consumeExpansionFormStart() {
2074
- this._beginToken(21), this._requireCharCode(123), this._endToken([]), this._expansionCaseStack.push(21), this._beginToken(7);
2075
- let e = this._readUntil(44), t = this._processCarriageReturns(e);
2076
- if (this._i18nNormalizeLineEndingsInICUs) this._endToken([t]);
2077
- else {
2078
- let n = this._endToken([e]);
2079
- t !== e && this.nonNormalizedIcuExpressions.push(n);
2080
- }
2081
- this._requireCharCode(44), this._attemptCharCodeUntilFn(b), this._beginToken(7);
2082
- let r = this._readUntil(44);
2083
- this._endToken([r]), this._requireCharCode(44), this._attemptCharCodeUntilFn(b);
2084
- }
2085
- _consumeExpansionCaseStart() {
2086
- this._beginToken(22);
2087
- let e = this._readUntil(123).trim();
2088
- this._endToken([e]), this._attemptCharCodeUntilFn(b), this._beginToken(23), this._requireCharCode(123), this._endToken([]), this._attemptCharCodeUntilFn(b), this._expansionCaseStack.push(23);
2089
- }
2090
- _consumeExpansionCaseEnd() {
2091
- this._beginToken(24), this._requireCharCode(125), this._endToken([]), this._attemptCharCodeUntilFn(b), this._expansionCaseStack.pop();
2092
- }
2093
- _consumeExpansionFormEnd() {
2094
- this._beginToken(25), this._requireCharCode(125), this._endToken([]), this._expansionCaseStack.pop();
2095
- }
2096
- _consumeWithInterpolation(e, t, r, n) {
2097
- this._beginToken(e);
2098
- let i = [];
2099
- for (; !r(); ) {
2100
- let a = this._cursor.clone();
2101
- this._attemptStr(it.start) ? (this._endToken([this._processCarriageReturns(i.join(""))], a), i.length = 0, this._consumeInterpolation(t, a, n), this._beginToken(e)) : this._cursor.peek() === 38 ? (this._endToken([this._processCarriageReturns(i.join(""))]), i.length = 0, this._consumeEntity(e), this._beginToken(e)) : i.push(this._readChar());
2102
- }
2103
- this._inInterpolation = false;
2104
- let s = this._processCarriageReturns(i.join(""));
2105
- return this._endToken([s]), s;
2106
- }
2107
- _consumeInterpolation(e, t, r) {
2108
- let n = [];
2109
- this._beginToken(e, t), n.push(it.start);
2110
- let i = this._cursor.clone(), s = null, a = false;
2111
- for (; this._cursor.peek() !== 0 && (r === null || !r()); ) {
2112
- let o = this._cursor.clone();
2113
- if (this._isTagStart()) {
2114
- this._cursor = o, n.push(this._getProcessedChars(i, o)), this._endToken(n);
2115
- return;
2116
- }
2117
- if (s === null) if (this._attemptStr(it.end)) {
2118
- n.push(this._getProcessedChars(i, o)), n.push(it.end), this._endToken(n);
2119
- return;
2120
- } else this._attemptStr("//") && (a = true);
2121
- let l = this._cursor.peek();
2122
- this._cursor.advance(), l === 92 ? this._cursor.advance() : l === s ? s = null : !a && s === null && Rt(l) && (s = l);
2123
- }
2124
- n.push(this._getProcessedChars(i, this._cursor)), this._endToken(n);
2125
- }
2126
- _consumeDirective(e, t) {
2127
- for (this._requireCharCode(64), this._cursor.advance(); Pi(this._cursor.peek()); ) this._cursor.advance();
2128
- this._beginToken(40, e);
2129
- let r = this._cursor.getChars(t);
2130
- if (this._endToken([r]), this._attemptCharCodeUntilFn(b), this._cursor.peek() === 40) {
2131
- for (this._openDirectiveCount++, this._beginToken(41), this._cursor.advance(), this._endToken([]), this._attemptCharCodeUntilFn(b); !Ni(this._cursor.peek()) && this._cursor.peek() !== 41; ) this._consumeAttribute();
2132
- if (this._attemptCharCodeUntilFn(b), this._openDirectiveCount--, this._cursor.peek() !== 41) {
2133
- if (this._cursor.peek() === 62 || this._cursor.peek() === 47) return;
2134
- throw this._createError(Se(this._cursor.peek()), this._cursor.getSpan(e));
2135
- }
2136
- this._beginToken(42), this._cursor.advance(), this._endToken([]), this._attemptCharCodeUntilFn(b);
2137
- }
2138
- }
2139
- _getProcessedChars(e, t) {
2140
- return this._processCarriageReturns(t.getChars(e));
2141
- }
2142
- _isTextEnd() {
2143
- return !!(this._isTagStart() || this._cursor.peek() === 0 || this._tokenizeIcu && !this._inInterpolation && (this.isExpansionFormStart() || this._cursor.peek() === 125 && this._isInExpansionCase()) || this._tokenizeBlocks && !this._inInterpolation && !this._isInExpansion() && (this._isBlockStart() || this._isLetStart() || this._cursor.peek() === 125));
2144
- }
2145
- _isTagStart() {
2146
- if (this._cursor.peek() === 60) {
2147
- let e = this._cursor.clone();
2148
- e.advance();
2149
- let t = e.peek();
2150
- if (97 <= t && t <= 122 || 65 <= t && t <= 90 || t === 47 || t === 33) return true;
2151
- }
2152
- return false;
2153
- }
2154
- _readUntil(e) {
2155
- let t = this._cursor.clone();
2156
- return this._attemptUntilChar(e), this._cursor.getChars(t);
2157
- }
2158
- _isInExpansion() {
2159
- return this._isInExpansionCase() || this._isInExpansionForm();
2160
- }
2161
- _isInExpansionCase() {
2162
- return this._expansionCaseStack.length > 0 && this._expansionCaseStack[this._expansionCaseStack.length - 1] === 23;
2163
- }
2164
- _isInExpansionForm() {
2165
- return this._expansionCaseStack.length > 0 && this._expansionCaseStack[this._expansionCaseStack.length - 1] === 21;
2166
- }
2167
- isExpansionFormStart() {
2168
- if (this._cursor.peek() !== 123) return false;
2169
- let e = this._cursor.clone(), t = this._attemptStr(it.start);
2170
- return this._cursor = e, !t;
2171
- }
2172
- _handleFullNameStackForTagOpen(e, t) {
2173
- let r = fe(e, t);
2174
- (this._fullNameStack.length === 0 || this._fullNameStack[this._fullNameStack.length - 1] === r) && this._fullNameStack.push(r);
2175
- }
2176
- _handleFullNameStackForTagClose(e, t) {
2177
- let r = fe(e, t);
2178
- this._fullNameStack.length !== 0 && this._fullNameStack[this._fullNameStack.length - 1] === r && this._fullNameStack.pop();
2179
- }
2180
- };
2181
- function b(e) {
2182
- return !nt(e) || e === 0;
2183
- }
2184
- function ve(e) {
2185
- return nt(e) || e === 62 || e === 60 || e === 47 || e === 39 || e === 34 || e === 61 || e === 0;
2186
- }
2187
- function Xa(e) {
2188
- return (e < 97 || 122 < e) && (e < 65 || 90 < e) && (e < 48 || e > 57);
2189
- }
2190
- function Ja(e) {
2191
- return e === 59 || e === 0 || !Ei(e);
2192
- }
2193
- function Za(e) {
2194
- return e === 59 || e === 0 || !(Re(e) || Ie(e));
2195
- }
2196
- function eo(e) {
2197
- return e !== 125;
2198
- }
2199
- function to(e, t) {
2200
- return Li(e) === Li(t);
2201
- }
2202
- function Li(e) {
2203
- return e >= 97 && e <= 122 ? e - 97 + 65 : e;
2204
- }
2205
- function ro(e) {
2206
- return Re(e) || Ie(e) || e === 95;
2207
- }
2208
- function Ai(e) {
2209
- return e !== 59 && b(e);
2210
- }
2211
- function Ot(e) {
2212
- return e === 95 || e >= 65 && e <= 90;
2213
- }
2214
- function Pi(e) {
2215
- return Re(e) || Ie(e) || e === 95;
2216
- }
2217
- function Ni(e) {
2218
- return e === 47 || e === 62 || e === 60 || e === 0;
2219
- }
2220
- function no(e) {
2221
- let t = [], r;
2222
- for (let n = 0; n < e.length; n++) {
2223
- let i = e[n];
2224
- r && r.type === 5 && i.type === 5 || r && r.type === 17 && i.type === 17 ? (r.parts[0] += i.parts[0], r.sourceSpan.end = i.sourceSpan.end) : (r = i, t.push(r));
2225
- }
2226
- return t;
2227
- }
2228
- var Ii = class Sr {
2229
- constructor(t, r) {
2230
- __publicField(this, "state");
2231
- __publicField(this, "file");
2232
- __publicField(this, "input");
2233
- __publicField(this, "end");
2234
- if (t instanceof Sr) {
2235
- this.file = t.file, this.input = t.input, this.end = t.end;
2236
- let n = t.state;
2237
- this.state = { peek: n.peek, offset: n.offset, line: n.line, column: n.column };
2238
- } else {
2239
- if (!r) throw new Error("Programming error: the range argument must be provided with a file argument.");
2240
- this.file = t, this.input = t.content, this.end = r.endPos, this.state = { peek: -1, offset: r.startPos, line: r.startLine, column: r.startCol };
2241
- }
2242
- }
2243
- clone() {
2244
- return new Sr(this);
2245
- }
2246
- peek() {
2247
- return this.state.peek;
2248
- }
2249
- charsLeft() {
2250
- return this.end - this.state.offset;
2251
- }
2252
- diff(t) {
2253
- return this.state.offset - t.state.offset;
2254
- }
2255
- advance() {
2256
- this.advanceState(this.state);
2257
- }
2258
- init() {
2259
- this.updatePeek(this.state);
2260
- }
2261
- getSpan(t, r) {
2262
- t = t || this;
2263
- let n = t;
2264
- if (r) for (; this.diff(t) > 0 && r.indexOf(t.peek()) !== -1; ) n === t && (t = t.clone()), t.advance();
2265
- let i = this.locationFromCursor(t);
2266
- return new p(i, this.locationFromCursor(this), n !== t ? this.locationFromCursor(n) : i);
2267
- }
2268
- getChars(t) {
2269
- return this.input.substring(t.state.offset, this.state.offset);
2270
- }
2271
- charAt(t) {
2272
- return this.input.charCodeAt(t);
2273
- }
2274
- advanceState(t) {
2275
- if (t.offset >= this.end) throw this.state = t, new Cr('Unexpected character "EOF"', this);
2276
- let r = this.charAt(t.offset);
2277
- r === 10 ? (t.line++, t.column = 0) : Oe(r) || t.column++, t.offset++, this.updatePeek(t);
2278
- }
2279
- updatePeek(t) {
2280
- t.peek = t.offset >= this.end ? 0 : this.charAt(t.offset);
2281
- }
2282
- locationFromCursor(t) {
2283
- return new De(t.file, t.state.offset, t.state.line, t.state.column);
2284
- }
2285
- }, io = class vr extends Ii {
2286
- constructor(t, r) {
2287
- var __super = (...args) => {
2288
- super(...args);
2289
- __publicField(this, "internalState");
2290
- return this;
2291
- };
2292
- t instanceof vr ? (__super(t), this.internalState = { ...t.internalState }) : (__super(t, r), this.internalState = this.state);
2293
- }
2294
- advance() {
2295
- this.state = this.internalState, super.advance(), this.processEscapeSequence();
2296
- }
2297
- init() {
2298
- super.init(), this.processEscapeSequence();
2299
- }
2300
- clone() {
2301
- return new vr(this);
2302
- }
2303
- getChars(t) {
2304
- let r = t.clone(), n = "";
2305
- for (; r.internalState.offset < this.internalState.offset; ) n += String.fromCodePoint(r.peek()), r.advance();
2306
- return n;
2307
- }
2308
- processEscapeSequence() {
2309
- let t = () => this.internalState.peek;
2310
- if (t() === 92) if (this.internalState = { ...this.state }, this.advanceState(this.internalState), t() === 110) this.state.peek = 10;
2311
- else if (t() === 114) this.state.peek = 13;
2312
- else if (t() === 118) this.state.peek = 11;
2313
- else if (t() === 116) this.state.peek = 9;
2314
- else if (t() === 98) this.state.peek = 8;
2315
- else if (t() === 102) this.state.peek = 12;
2316
- else if (t() === 117) if (this.advanceState(this.internalState), t() === 123) {
2317
- this.advanceState(this.internalState);
2318
- let r = this.clone(), n = 0;
2319
- for (; t() !== 125; ) this.advanceState(this.internalState), n++;
2320
- this.state.peek = this.decodeHexDigits(r, n);
2321
- } else {
2322
- let r = this.clone();
2323
- this.advanceState(this.internalState), this.advanceState(this.internalState), this.advanceState(this.internalState), this.state.peek = this.decodeHexDigits(r, 4);
2324
- }
2325
- else if (t() === 120) {
2326
- this.advanceState(this.internalState);
2327
- let r = this.clone();
2328
- this.advanceState(this.internalState), this.state.peek = this.decodeHexDigits(r, 2);
2329
- } else if (_r(t())) {
2330
- let r = "", n = 0, i = this.clone();
2331
- for (; _r(t()) && n < 3; ) i = this.clone(), r += String.fromCodePoint(t()), this.advanceState(this.internalState), n++;
2332
- this.state.peek = parseInt(r, 8), this.internalState = i.internalState;
2333
- } else Oe(this.internalState.peek) ? (this.advanceState(this.internalState), this.state = this.internalState) : this.state.peek = this.internalState.peek;
2334
- }
2335
- decodeHexDigits(t, r) {
2336
- let n = this.input.slice(t.internalState.offset, t.internalState.offset + r), i = parseInt(n, 16);
2337
- if (isNaN(i)) throw t.state = t.internalState, new Cr("Invalid hexadecimal escape sequence", t);
2338
- return i;
2339
- }
2340
- }, Cr = class extends Error {
2341
- constructor(e, t) {
2342
- super(e);
2343
- __publicField(this, "msg");
2344
- __publicField(this, "cursor");
2345
- this.msg = e, this.cursor = t, Object.setPrototypeOf(this, new.target.prototype);
2346
- }
2347
- };
2348
- var x = class Mi extends te {
2349
- constructor(t, r, n) {
2350
- super(r, n);
2351
- __publicField(this, "elementName");
2352
- this.elementName = t;
2353
- }
2354
- static create(t, r, n) {
2355
- return new Mi(t, r, n);
2356
- }
2357
- }, so = class {
2358
- constructor(e, t) {
2359
- __publicField(this, "rootNodes");
2360
- __publicField(this, "errors");
2361
- this.rootNodes = e, this.errors = t;
2362
- }
2363
- }, Bi = class {
2364
- constructor(e) {
2365
- __publicField(this, "getTagDefinition");
2366
- this.getTagDefinition = e;
2367
- }
2368
- parse(e, t, r, n = false, i) {
2369
- let s = (h) => (f, ...g) => h(f.toLowerCase(), ...g), a = n ? this.getTagDefinition : s(this.getTagDefinition), o = (h) => a(h).getContentType(), l = n ? i : s(i), c = Di(e, t, i ? (h, f, g, v) => {
2370
- let W = l(h, f, g, v);
2371
- return W !== void 0 ? W : o(h);
2372
- } : o, r), u = r && r.canSelfClose || false, d = r && r.allowHtmComponentClosingTags || false, _ = new ao(c.tokens, a, u, d, n);
2373
- return _.build(), new so(_.rootNodes, [...c.errors, ..._.errors]);
2374
- }
2375
- }, ao = class qi {
2376
- constructor(t, r, n, i, s) {
2377
- __publicField(this, "tokens");
2378
- __publicField(this, "tagDefinitionResolver");
2379
- __publicField(this, "canSelfClose");
2380
- __publicField(this, "allowHtmComponentClosingTags");
2381
- __publicField(this, "isTagNameCaseSensitive");
2382
- __publicField(this, "_index", -1);
2383
- __publicField(this, "_peek");
2384
- __publicField(this, "_containerStack", []);
2385
- __publicField(this, "rootNodes", []);
2386
- __publicField(this, "errors", []);
2387
- this.tokens = t, this.tagDefinitionResolver = r, this.canSelfClose = n, this.allowHtmComponentClosingTags = i, this.isTagNameCaseSensitive = s, this._advance();
2388
- }
2389
- build() {
2390
- for (; this._peek.type !== 43; ) this._peek.type === 0 || this._peek.type === 4 ? this._consumeElementStartTag(this._advance()) : this._peek.type === 3 ? (this._closeVoidElement(), this._consumeElementEndTag(this._advance())) : this._peek.type === 13 ? (this._closeVoidElement(), this._consumeCdata(this._advance())) : this._peek.type === 10 ? (this._closeVoidElement(), this._consumeComment(this._advance())) : this._peek.type === 5 || this._peek.type === 7 || this._peek.type === 6 ? (this._closeVoidElement(), this._consumeText(this._advance())) : this._peek.type === 21 ? this._consumeExpansion(this._advance()) : this._peek.type === 26 ? (this._closeVoidElement(), this._consumeBlockOpen(this._advance())) : this._peek.type === 28 ? (this._closeVoidElement(), this._consumeBlockClose(this._advance())) : this._peek.type === 30 ? (this._closeVoidElement(), this._consumeIncompleteBlock(this._advance())) : this._peek.type === 31 ? (this._closeVoidElement(), this._consumeLet(this._advance())) : this._peek.type === 19 ? this._consumeDocType(this._advance()) : this._peek.type === 34 ? (this._closeVoidElement(), this._consumeIncompleteLet(this._advance())) : this._peek.type === 35 || this._peek.type === 39 ? this._consumeComponentStartTag(this._advance()) : this._peek.type === 38 ? this._consumeComponentEndTag(this._advance()) : this._advance();
2391
- for (let t of this._containerStack) t instanceof ge && this.errors.push(x.create(t.name, t.sourceSpan, `Unclosed block "${t.name}"`));
2392
- }
2393
- _advance() {
2394
- let t = this._peek;
2395
- return this._index < this.tokens.length - 1 && this._index++, this._peek = this.tokens[this._index], t;
2396
- }
2397
- _advanceIf(t) {
2398
- return this._peek.type === t ? this._advance() : null;
2399
- }
2400
- _consumeCdata(t) {
2401
- let r = this._advance(), n = this._getText(r), i = this._advanceIf(14);
2402
- this._addToParent(new Si(n, new p(t.sourceSpan.start, (i || r).sourceSpan.end), [r]));
2403
- }
2404
- _consumeComment(t) {
2405
- let r = this._advanceIf(7), n = this._advanceIf(11), i = r != null ? r.parts[0].trim() : null, s = n == null ? t.sourceSpan : new p(t.sourceSpan.start, n.sourceSpan.end, t.sourceSpan.fullStart);
2406
- this._addToParent(new wi(i, s));
2407
- }
2408
- _consumeDocType(t) {
2409
- let r = this._advanceIf(7), n = this._advanceIf(20), i = r != null ? r.parts[0].trim() : null, s = new p(t.sourceSpan.start, (n || r || t).sourceSpan.end);
2410
- this._addToParent(new Ti(i, s));
2411
- }
2412
- _consumeExpansion(t) {
2413
- let r = this._advance(), n = this._advance(), i = [];
2414
- for (; this._peek.type === 22; ) {
2415
- let a = this._parseExpansionCase();
2416
- if (!a) return;
2417
- i.push(a);
2418
- }
2419
- if (this._peek.type !== 25) {
2420
- this.errors.push(x.create(null, this._peek.sourceSpan, "Invalid ICU message. Missing '}'."));
2421
- return;
2422
- }
2423
- let s = new p(t.sourceSpan.start, this._peek.sourceSpan.end, t.sourceSpan.fullStart);
2424
- this._addToParent(new vi(r.parts[0], n.parts[0], i, s, r.sourceSpan)), this._advance();
2425
- }
2426
- _parseExpansionCase() {
2427
- let t = this._advance();
2428
- if (this._peek.type !== 23) return this.errors.push(x.create(null, this._peek.sourceSpan, "Invalid ICU message. Missing '{'.")), null;
2429
- let r = this._advance(), n = this._collectExpansionExpTokens(r);
2430
- if (!n) return null;
2431
- let i = this._advance();
2432
- n.push({ type: 43, parts: [], sourceSpan: i.sourceSpan });
2433
- let s = new qi(n, this.tagDefinitionResolver, this.canSelfClose, this.allowHtmComponentClosingTags, this.isTagNameCaseSensitive);
2434
- if (s.build(), s.errors.length > 0) return this.errors = this.errors.concat(s.errors), null;
2435
- let a = new p(t.sourceSpan.start, i.sourceSpan.end, t.sourceSpan.fullStart), o = new p(r.sourceSpan.start, i.sourceSpan.end, r.sourceSpan.fullStart);
2436
- return new Ci(t.parts[0], s.rootNodes, a, t.sourceSpan, o);
2437
- }
2438
- _collectExpansionExpTokens(t) {
2439
- let r = [], n = [23];
2440
- for (; ; ) {
2441
- if ((this._peek.type === 21 || this._peek.type === 23) && n.push(this._peek.type), this._peek.type === 24) if (Ri(n, 23)) {
2442
- if (n.pop(), n.length === 0) return r;
2443
- } else return this.errors.push(x.create(null, t.sourceSpan, "Invalid ICU message. Missing '}'.")), null;
2444
- if (this._peek.type === 25) if (Ri(n, 21)) n.pop();
2445
- else return this.errors.push(x.create(null, t.sourceSpan, "Invalid ICU message. Missing '}'.")), null;
2446
- if (this._peek.type === 43) return this.errors.push(x.create(null, t.sourceSpan, "Invalid ICU message. Missing '}'.")), null;
2447
- r.push(this._advance());
2448
- }
2449
- }
2450
- _getText(t) {
2451
- let r = t.parts[0];
2452
- if (r.length > 0 && r[0] == `
2453
- `) {
2454
- var n;
2455
- let i = this._getClosestElementLikeParent();
2456
- i != null && i.children.length == 0 && (!((n = this._getTagDefinition(i)) === null || n === void 0) && n.ignoreFirstLf) && (r = r.substring(1));
2457
- }
2458
- return r;
2459
- }
2460
- _consumeText(t) {
2461
- let r = [t], n = t.sourceSpan, i = t.parts[0];
2462
- if (i.length > 0 && i[0] === `
2463
- `) {
2464
- var s;
2465
- let a = this._getContainer();
2466
- a != null && a.children.length === 0 && (!((s = this._getTagDefinition(a)) === null || s === void 0) && s.ignoreFirstLf) && (i = i.substring(1), r[0] = { type: t.type, sourceSpan: t.sourceSpan, parts: [i] });
2467
- }
2468
- for (; this._peek.type === 8 || this._peek.type === 5 || this._peek.type === 9; ) t = this._advance(), r.push(t), t.type === 8 ? i += t.parts.join("").replace(/&([^;]+);/g, Oi) : t.type === 9 ? i += t.parts[0] : i += t.parts.join("");
2469
- if (i.length > 0) {
2470
- let a = t.sourceSpan;
2471
- this._addToParent(new _i(i, new p(n.start, a.end, n.fullStart, n.details), r));
2472
- }
2473
- }
2474
- _closeVoidElement() {
2475
- var t;
2476
- let r = this._getContainer();
2477
- r !== null && (!((t = this._getTagDefinition(r)) === null || t === void 0) && t.isVoid) && this._containerStack.pop();
2478
- }
2479
- _consumeElementStartTag(t) {
2480
- var r;
2481
- let n = [], i = [], s = [];
2482
- this._consumeAttributesAndDirectives(n, i, s);
2483
- let a = this._getElementFullName(t, this._getClosestElementLikeParent()), o = this._getTagDefinition(a), l = false;
2484
- if (this._peek.type === 2) {
2485
- this._advance(), l = true;
2486
- let v = this._getTagDefinition(a);
2487
- this.canSelfClose || (v == null ? void 0 : v.canSelfClose) || Pe(a) !== null || (v == null ? void 0 : v.isVoid) || this.errors.push(x.create(a, t.sourceSpan, `Only void, custom and foreign elements can be self closed "${t.parts[1]}"`));
2488
- } else this._peek.type === 1 && (this._advance(), l = false);
2489
- let c = this._peek.sourceSpan.fullStart, u = new p(t.sourceSpan.start, c, t.sourceSpan.fullStart), d = new p(t.sourceSpan.start, c, t.sourceSpan.fullStart), _ = new p(t.sourceSpan.start.moveBy(1), t.sourceSpan.end), h = new re(a, n, i, [], l, u, d, void 0, _, (o == null ? void 0 : o.isVoid) ?? false, void 0, s), f = this._getContainer(), g = f !== null && !!(!((r = this._getTagDefinition(f)) === null || r === void 0) && r.isClosedByChild(h.name));
2490
- this._pushContainer(h, g), l ? this._popContainer(a, re, u) : t.type === 4 && (this._popContainer(a, re, null), this.errors.push(x.create(a, u, `Opening tag "${a}" not terminated.`)));
2491
- }
2492
- _consumeComponentStartTag(t) {
2493
- var r;
2494
- let n = t.parts[0], i = [], s = [], a = [];
2495
- this._consumeAttributesAndDirectives(i, s, a);
2496
- let o = this._getClosestElementLikeParent(), l = this._getComponentTagName(t, o), c = this._getComponentFullName(t, o), u = this._peek.type === 37;
2497
- this._advance();
2498
- let d = this._peek.sourceSpan.fullStart, _ = new p(t.sourceSpan.start, d, t.sourceSpan.fullStart), h = new U(n, l, c, i, s, [], u, _, new p(t.sourceSpan.start, d, t.sourceSpan.fullStart), void 0, void 0, a), f = this._getContainer(), g = f !== null && h.tagName !== null && !!(!((r = this._getTagDefinition(f)) === null || r === void 0) && r.isClosedByChild(h.tagName));
2499
- this._pushContainer(h, g), u ? this._popContainer(c, U, _) : t.type === 39 && (this._popContainer(c, U, null), this.errors.push(x.create(c, _, `Opening tag "${c}" not terminated.`)));
2500
- }
2501
- _consumeAttributesAndDirectives(t, r, n) {
2502
- for (; this._peek.type === 15 || this._peek.type === 40 || this._peek.type === 12; ) if (this._peek.type === 40) r.push(this._consumeDirective(this._peek));
2503
- else if (this._peek.type === 15) t.push(this._consumeAttr(this._advance()));
2504
- else {
2505
- let i = this._advance();
2506
- n.push(new bi(i.parts[0], i.parts[1], i.sourceSpan));
2507
- }
2508
- }
2509
- _consumeComponentEndTag(t) {
2510
- let r = this._getComponentFullName(t, this._getClosestElementLikeParent());
2511
- if (!this._popContainer(r, U, t.sourceSpan)) {
2512
- let n = this._containerStack[this._containerStack.length - 1], i;
2513
- n instanceof U && n.componentName === t.parts[0] ? i = `, did you mean "${n.fullName}"?` : i = ". It may happen when the tag has already been closed by another tag.";
2514
- let s = `Unexpected closing tag "${r}"${i}`;
2515
- this.errors.push(x.create(r, t.sourceSpan, s));
2516
- }
2517
- }
2518
- _getTagDefinition(t) {
2519
- return typeof t == "string" ? this.tagDefinitionResolver(t) : t instanceof re ? this.tagDefinitionResolver(t.name) : t instanceof U && t.tagName !== null ? this.tagDefinitionResolver(t.tagName) : null;
2520
- }
2521
- _pushContainer(t, r) {
2522
- r && this._containerStack.pop(), this._addToParent(t), this._containerStack.push(t);
2523
- }
2524
- _consumeElementEndTag(t) {
2525
- var r;
2526
- let n = this.allowHtmComponentClosingTags && t.parts.length === 0 ? null : this._getElementFullName(t, this._getClosestElementLikeParent());
2527
- if (n && (!((r = this._getTagDefinition(n)) === null || r === void 0) && r.isVoid)) this.errors.push(x.create(n, t.sourceSpan, `Void elements do not have end tags "${t.parts[1]}"`));
2528
- else if (!this._popContainer(n, re, t.sourceSpan)) {
2529
- let i = `Unexpected closing tag "${n}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;
2530
- this.errors.push(x.create(n, t.sourceSpan, i));
2531
- }
2532
- }
2533
- _popContainer(t, r, n) {
2534
- let i = false;
2535
- for (let a = this._containerStack.length - 1; a >= 0; a--) {
2536
- var s;
2537
- let o = this._containerStack[a], l = o instanceof U ? o.fullName : o.name;
2538
- if (Pe(l) ? l === t : (l === t || t === null) && o instanceof r) return o.endSourceSpan = n, o.sourceSpan.end = n !== null ? n.end : o.sourceSpan.end, this._containerStack.splice(a, this._containerStack.length - a), !i;
2539
- (o instanceof ge || !(!((s = this._getTagDefinition(o)) === null || s === void 0) && s.closedByParent)) && (i = true);
2540
- }
2541
- return false;
2542
- }
2543
- _consumeAttr(t) {
2544
- let r = fe(t.parts[0], t.parts[1]), n = t.sourceSpan.end, i;
2545
- this._peek.type === 16 && (i = this._advance());
2546
- let s = "", a = [], o, l;
2547
- if (this._peek.type === 17) for (o = this._peek.sourceSpan, l = this._peek.sourceSpan.end; this._peek.type === 17 || this._peek.type === 18 || this._peek.type === 9; ) {
2548
- let u = this._advance();
2549
- a.push(u), u.type === 18 ? s += u.parts.join("").replace(/&([^;]+);/g, Oi) : u.type === 9 ? s += u.parts[0] : s += u.parts.join(""), l = n = u.sourceSpan.end;
2550
- }
2551
- this._peek.type === 16 && (l = n = this._advance().sourceSpan.end);
2552
- let c = o && l && new p((i == null ? void 0 : i.sourceSpan.start) ?? o.start, l, (i == null ? void 0 : i.sourceSpan.fullStart) ?? o.fullStart);
2553
- return new ki(r, s, new p(t.sourceSpan.start, n, t.sourceSpan.fullStart), t.sourceSpan, c, a.length > 0 ? a : void 0, void 0);
2554
- }
2555
- _consumeDirective(t) {
2556
- let r = [], n = t.sourceSpan.end, i = null;
2557
- if (this._advance(), this._peek.type === 41) {
2558
- for (n = this._peek.sourceSpan.end, this._advance(); this._peek.type === 15; ) r.push(this._consumeAttr(this._advance()));
2559
- this._peek.type === 42 ? (i = this._peek.sourceSpan, this._advance()) : this.errors.push(x.create(null, t.sourceSpan, "Unterminated directive definition"));
2560
- }
2561
- let s = new p(t.sourceSpan.start, n, t.sourceSpan.fullStart), a = new p(s.start, i === null ? t.sourceSpan.end : i.end, s.fullStart);
2562
- return new yi(t.parts[0], r, a, s, i);
2563
- }
2564
- _consumeBlockOpen(t) {
2565
- let r = [];
2566
- for (; this._peek.type === 29; ) {
2567
- let o = this._advance();
2568
- r.push(new fr(o.parts[0], o.sourceSpan));
2569
- }
2570
- this._peek.type === 27 && this._advance();
2571
- let n = this._peek.sourceSpan.fullStart, i = new p(t.sourceSpan.start, n, t.sourceSpan.fullStart), s = new p(t.sourceSpan.start, n, t.sourceSpan.fullStart), a = new ge(t.parts[0], r, [], i, t.sourceSpan, s);
2572
- this._pushContainer(a, false);
2573
- }
2574
- _consumeBlockClose(t) {
2575
- let r = this._containerStack.length, n = this._containerStack[r - 1];
2576
- if (!this._popContainer(null, ge, t.sourceSpan)) {
2577
- if (this._containerStack.length < r) {
2578
- let i = n instanceof U ? n.fullName : n.name;
2579
- this.errors.push(x.create(null, t.sourceSpan, `Unexpected closing block. The block may have been closed earlier. Did you forget to close the <${i}> element? If you meant to write the \`}\` character, you should use the "&#125;" HTML entity instead.`));
2580
- return;
2581
- }
2582
- this.errors.push(x.create(null, t.sourceSpan, 'Unexpected closing block. The block may have been closed earlier. If you meant to write the `}` character, you should use the "&#125;" HTML entity instead.'));
2583
- }
2584
- }
2585
- _consumeIncompleteBlock(t) {
2586
- let r = [];
2587
- for (; this._peek.type === 29; ) {
2588
- let o = this._advance();
2589
- r.push(new fr(o.parts[0], o.sourceSpan));
2590
- }
2591
- let n = this._peek.sourceSpan.fullStart, i = new p(t.sourceSpan.start, n, t.sourceSpan.fullStart), s = new p(t.sourceSpan.start, n, t.sourceSpan.fullStart), a = new ge(t.parts[0], r, [], i, t.sourceSpan, s);
2592
- this._pushContainer(a, false), this._popContainer(null, ge, null), this.errors.push(x.create(t.parts[0], i, `Incomplete block "${t.parts[0]}". If you meant to write the @ character, you should use the "&#64;" HTML entity instead.`));
2593
- }
2594
- _consumeLet(t) {
2595
- let r = t.parts[0], n, i;
2596
- if (this._peek.type !== 32) {
2597
- this.errors.push(x.create(t.parts[0], t.sourceSpan, `Invalid @let declaration "${r}". Declaration must have a value.`));
2598
- return;
2599
- } else n = this._advance();
2600
- if (this._peek.type !== 33) {
2601
- this.errors.push(x.create(t.parts[0], t.sourceSpan, `Unterminated @let declaration "${r}". Declaration must be terminated with a semicolon.`));
2602
- return;
2603
- } else i = this._advance();
2604
- let s = i.sourceSpan.end, a = new p(t.sourceSpan.start, s, t.sourceSpan.fullStart), o = t.sourceSpan.toString().lastIndexOf(r), l = new p(t.sourceSpan.start.moveBy(o), t.sourceSpan.end), c = new dr(r, n.parts[0], a, l, n.sourceSpan);
2605
- this._addToParent(c);
2606
- }
2607
- _consumeIncompleteLet(t) {
2608
- let r = t.parts[0] ?? "", n = r ? ` "${r}"` : "";
2609
- if (r.length > 0) {
2610
- let i = t.sourceSpan.toString().lastIndexOf(r), s = new p(t.sourceSpan.start.moveBy(i), t.sourceSpan.end), a = new p(t.sourceSpan.start, t.sourceSpan.start.moveBy(0)), o = new dr(r, "", t.sourceSpan, s, a);
2611
- this._addToParent(o);
2612
- }
2613
- this.errors.push(x.create(t.parts[0], t.sourceSpan, `Incomplete @let declaration${n}. @let declarations must be written as \`@let <name> = <value>;\``));
2614
- }
2615
- _getContainer() {
2616
- return this._containerStack.length > 0 ? this._containerStack[this._containerStack.length - 1] : null;
2617
- }
2618
- _getClosestElementLikeParent() {
2619
- for (let t = this._containerStack.length - 1; t > -1; t--) {
2620
- let r = this._containerStack[t];
2621
- if (r instanceof re || r instanceof U) return r;
2622
- }
2623
- return null;
2624
- }
2625
- _addToParent(t) {
2626
- let r = this._getContainer();
2627
- r === null ? this.rootNodes.push(t) : r.children.push(t);
2628
- }
2629
- _getElementFullName(t, r) {
2630
- return fe(this._getPrefix(t, r), t.parts[1]);
2631
- }
2632
- _getComponentFullName(t, r) {
2633
- let n = t.parts[0], i = this._getComponentTagName(t, r);
2634
- return i === null ? n : i.startsWith(":") ? n + i : `${n}:${i}`;
2635
- }
2636
- _getComponentTagName(t, r) {
2637
- let n = this._getPrefix(t, r), i = t.parts[2];
2638
- return !n && !i ? null : !n && i ? i : fe(n, i || "ng-component");
2639
- }
2640
- _getPrefix(t, r) {
2641
- var n;
2642
- let i, s;
2643
- if (t.type === 35 || t.type === 39 || t.type === 38 ? (i = t.parts[1], s = t.parts[2]) : (i = t.parts[0], s = t.parts[1]), i = i || ((n = this._getTagDefinition(s)) === null || n === void 0 ? void 0 : n.implicitNamespacePrefix) || "", !i && r) {
2644
- let a = r instanceof re ? r.name : r.tagName;
2645
- if (a !== null) {
2646
- let o = Z(a)[1], l = this._getTagDefinition(o);
2647
- l !== null && !l.preventNamespaceInheritance && (i = Pe(a));
2648
- }
2649
- }
2650
- return i;
2651
- }
2652
- };
2653
- function Ri(e, t) {
2654
- return e.length > 0 && e[e.length - 1] === t;
2655
- }
2656
- function Oi(e, t) {
2657
- return _e[t] !== void 0 ? _e[t] || e : /^#x[a-f0-9]+$/i.test(t) ? String.fromCodePoint(parseInt(t.slice(2), 16)) : /^#\d+$/.test(t) ? String.fromCodePoint(parseInt(t.slice(1), 10)) : e;
2658
- }
2659
- var Hi = class extends Bi {
2660
- constructor() {
2661
- super(Ne);
2662
- }
2663
- parse(e, t, r, n = false, i) {
2664
- return super.parse(e, t, r, n, i);
2665
- }
2666
- };
2667
- var kr;
2668
- function Mt(e, t = {}) {
2669
- let { canSelfClose: r = false, allowHtmComponentClosingTags: n = false, allowStartTagComments: i = false, isTagNameCaseSensitive: s = false, getTagContentType: a, tokenizeAngularBlocks: o = false, tokenizeAngularLetDeclaration: l = false, enableAngularSelectorlessSyntax: c = false } = t;
2670
- return kr ?? (kr = new Hi()), kr.parse(e, "angular-html-parser", { tokenizeExpansionForms: o, canSelfClose: r, allowHtmComponentClosingTags: n, allowStartTagComments: i, tokenizeBlocks: o, tokenizeLet: l, selectorlessEnabled: c }, s, a);
2671
- }
2672
- var oo = [co, uo, ho, fo, go, vo, _o, So, Co, mo];
2673
- function lo(e, t) {
2674
- for (let r of oo) r(e, t);
2675
- return e;
2676
- }
2677
- function co(e) {
2678
- e.walk((t) => {
2679
- if (t.kind === "element" && t.tagDefinition.ignoreFirstLf && t.children.length > 0 && t.children[0].kind === "text" && t.children[0].value[0] === `
2680
- `) {
2681
- let r = t.children[0];
2682
- r.value.length === 1 ? t.removeChild(r) : r.value = r.value.slice(1);
2683
- }
2684
- });
2685
- }
2686
- function uo(e) {
2687
- let t = (r) => {
2688
- var _a3, _b;
2689
- return r.kind === "element" && ((_a3 = r.prev) == null ? void 0 : _a3.kind) === "ieConditionalStartComment" && r.prev.sourceSpan.end.offset === r.startSourceSpan.start.offset && ((_b = r.firstChild) == null ? void 0 : _b.kind) === "ieConditionalEndComment" && r.firstChild.sourceSpan.start.offset === r.startSourceSpan.end.offset;
2690
- };
2691
- e.walk((r) => {
2692
- if (r.children) for (let n = 0; n < r.children.length; n++) {
2693
- let i = r.children[n];
2694
- if (!t(i)) continue;
2695
- let s = i.prev, a = i.firstChild;
2696
- r.removeChild(s), n--;
2697
- let o = new p(s.sourceSpan.start, a.sourceSpan.end), l = new p(o.start, i.sourceSpan.end);
2698
- i.condition = s.condition, i.sourceSpan = l, i.startSourceSpan = o, i.removeChild(a);
2699
- }
2700
- });
2701
- }
2702
- function po(e, t, r) {
2703
- e.walk((n) => {
2704
- if (n.children) for (let i = 0; i < n.children.length; i++) {
2705
- let s = n.children[i];
2706
- if (s.kind !== "text" && !t(s)) continue;
2707
- s.kind !== "text" && (s.kind = "text", s.value = r(s));
2708
- let a = s.prev;
2709
- !a || a.kind !== "text" || (a.value += s.value, a.sourceSpan = new p(a.sourceSpan.start, s.sourceSpan.end), n.removeChild(s), i--);
2710
- }
2711
- });
2712
- }
2713
- function ho(e) {
2714
- return po(e, (t) => t.kind === "cdata", (t) => `<![CDATA[${t.value}]]>`);
2715
- }
2716
- function mo(e) {
2717
- let t = (r) => {
2718
- var _a3, _b;
2719
- return r.kind === "element" && r.attrs.length === 0 && !X(r.startTagComments) && r.children.length === 1 && r.firstChild.kind === "text" && !P.hasWhitespaceCharacter(r.children[0].value) && !r.firstChild.hasLeadingSpaces && !r.firstChild.hasTrailingSpaces && r.isLeadingSpaceSensitive && !r.hasLeadingSpaces && r.isTrailingSpaceSensitive && !r.hasTrailingSpaces && ((_a3 = r.prev) == null ? void 0 : _a3.kind) === "text" && ((_b = r.next) == null ? void 0 : _b.kind) === "text";
2720
- };
2721
- e.walk((r) => {
2722
- if (r.children) for (let n = 0; n < r.children.length; n++) {
2723
- let i = r.children[n];
2724
- if (!t(i)) continue;
2725
- let s = i.prev, a = i.next;
2726
- s.value += `<${i.rawName}>` + i.firstChild.value + `</${i.rawName}>` + a.value, s.sourceSpan = new p(s.sourceSpan.start, a.sourceSpan.end), s.isTrailingSpaceSensitive = a.isTrailingSpaceSensitive, s.hasTrailingSpaces = a.hasTrailingSpaces, r.removeChild(i), n--, r.removeChild(a);
2727
- }
2728
- });
2729
- }
2730
- function fo(e, t) {
2731
- if (t.parser === "html") return;
2732
- let r = /\{\{(.+?)\}\}/s;
2733
- e.walk((n) => {
2734
- if (rn(n, t)) for (let i of n.children) {
2735
- if (i.kind !== "text") continue;
2736
- let s = i.sourceSpan.start, a, o = i.value.split(r);
2737
- for (let l = 0; l < o.length; l++, s = a) {
2738
- let c = o[l];
2739
- if (l % 2 === 0) {
2740
- a = s.moveBy(c.length), c.length > 0 && n.insertChildBefore(i, { kind: "text", value: c, sourceSpan: new p(s, a) });
2741
- continue;
2742
- }
2743
- a = s.moveBy(c.length + 4), n.insertChildBefore(i, { kind: "interpolation", sourceSpan: new p(s, a), children: c.length === 0 ? [] : [{ kind: "text", value: c, sourceSpan: new p(s.moveBy(2), a.moveBy(-2)) }] });
2744
- }
2745
- n.removeChild(i);
2746
- }
2747
- });
2748
- }
2749
- function go(e, t) {
2750
- e.walk((r) => {
2751
- let n = r.$children;
2752
- if (!n) return;
2753
- if (n.length === 0 || n.length === 1 && n[0].kind === "text" && P.trim(n[0].value).length === 0) {
2754
- r.hasDanglingSpaces = n.length > 0, r.$children = [];
2755
- return;
2756
- }
2757
- let i = nn(r, t), s = er(r);
2758
- if (!i) for (let a = 0; a < n.length; a++) {
2759
- let o = n[a];
2760
- if (o.kind !== "text") continue;
2761
- let { leadingWhitespace: l, text: c, trailingWhitespace: u } = tn(o.value), d = o.prev, _ = o.next;
2762
- c ? (o.value = c, o.sourceSpan = new p(o.sourceSpan.start.moveBy(l.length), o.sourceSpan.end.moveBy(-u.length)), l && (d && (d.hasTrailingSpaces = true), o.hasLeadingSpaces = true), u && (o.hasTrailingSpaces = true, _ && (_.hasLeadingSpaces = true))) : (r.removeChild(o), a--, (l || u) && (d && (d.hasTrailingSpaces = true), _ && (_.hasLeadingSpaces = true)));
2763
- }
2764
- r.isWhitespaceSensitive = i, r.isIndentationSensitive = s;
2765
- });
2766
- }
2767
- function _o(e) {
2768
- e.walk((t) => {
2769
- t.isSelfClosing = !t.children || t.kind === "element" && (t.tagDefinition.isVoid || t.endSourceSpan && t.startSourceSpan.start === t.endSourceSpan.start && t.startSourceSpan.end === t.endSourceSpan.end);
2770
- });
2771
- }
2772
- function So(e, t) {
2773
- e.walk((r) => {
2774
- r.kind === "element" && (r.hasHtmComponentClosingTag = r.endSourceSpan && /^<\s*\/\s*\/\s*>$/.test(t.originalText.slice(r.endSourceSpan.start.offset, r.endSourceSpan.end.offset)));
2775
- });
2776
- }
2777
- function vo(e, t) {
2778
- e.walk((r) => {
2779
- r.cssDisplay = fn(r, t);
2780
- });
2781
- }
2782
- function Co(e, t) {
2783
- e.walk((r) => {
2784
- let { children: n } = r;
2785
- if (n) {
2786
- if (n.length === 0) {
2787
- r.isDanglingSpaceSensitive = on(r, t);
2788
- return;
2789
- }
2790
- for (let i of n) i.isLeadingSpaceSensitive = sn(i, t), i.isTrailingSpaceSensitive = an(i, t);
2791
- for (let i = 0; i < n.length; i++) {
2792
- let s = n[i];
2793
- s.isLeadingSpaceSensitive = (i === 0 || s.prev.isTrailingSpaceSensitive) && s.isLeadingSpaceSensitive, s.isTrailingSpaceSensitive = (i === n.length - 1 || s.next.isLeadingSpaceSensitive) && s.isTrailingSpaceSensitive;
2794
- }
2795
- }
2796
- });
2797
- }
2798
- var Fi = lo;
2799
- function ko(e, t, r) {
2800
- let { node: n } = e;
2801
- switch (n.kind) {
2802
- case "root":
2803
- return t.__onHtmlRoot && t.__onHtmlRoot(n), [C(Ae(e, t, r)), k];
2804
- case "element":
2805
- case "ieConditionalComment":
2806
- return li(e, t, r);
2807
- case "angularControlFlowBlock":
2808
- return ni(e, t, r);
2809
- case "angularControlFlowBlockParameters":
2810
- return si(e, t, r);
2811
- case "angularControlFlowBlockParameter":
2812
- return P.trim(n.expression);
2813
- case "angularLetDeclaration":
2814
- return C(["@let ", C([n.id, " =", C(A([S, r("init")]))]), ";"]);
2815
- case "angularLetDeclarationInitializer":
2816
- return n.value;
2817
- case "angularIcuExpression":
2818
- return ai(e, t, r);
2819
- case "angularIcuCase":
2820
- return oi(e, t, r);
2821
- case "ieConditionalStartComment":
2822
- case "ieConditionalEndComment":
2823
- return [me(n), ue(n)];
2824
- case "interpolation":
2825
- return [me(n, t), ...e.map(r, "children"), ue(n, t)];
2826
- case "text": {
2827
- if (n.parent.kind === "interpolation") {
2828
- let o = /\n[^\S\n]*$/, l = o.test(n.value), c = l ? n.value.replace(o, "") : n.value;
2829
- return [L(c), l ? k : ""];
2830
- }
2831
- let i = B(n, t), s = Tt(n), a = M(n, t);
2832
- return s[0] = [i, s[0]], s.push([s.pop(), a]), gt(s);
2833
- }
2834
- case "docType":
2835
- return [C([me(n, t), " ", T(0, n.value.replace(/^html\b/i, "html"), /\s+/g, " ")]), ue(n, t)];
2836
- case "comment":
2837
- return [B(n, t), L(t.originalText.slice(F(n), J(n))), M(n, t)];
2838
- case "attribute": {
2839
- if (n.value === null) return n.rawName;
2840
- let i = nr(n.value), s = Et(n, t) ? "" : Wr(i, '"');
2841
- return [n.rawName, "=", s, L(s === '"' ? T(0, i, '"', "&quot;") : T(0, i, "'", "&apos;")), s];
2842
- }
2843
- case "startTagComment":
2844
- return ci(e);
2845
- default:
2846
- throw new Gr(n, "HTML");
2847
- }
2848
- }
2849
- var bo = { features: { experimental_frontMatterSupport: { massageAstNode: true, embed: true, print: true } }, preprocess: Fi, print: ko, insertPragma: ei, massageAstNode: or, embed: Gn, getVisitorKeys: Yn }, Vi = bo;
2850
- var Ui = [{ name: "Angular", type: "markup", aceMode: "html", extensions: [".component.html"], tmScope: "text.html.basic", aliases: ["xhtml"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["angular"], vscodeLanguageIds: ["html"], filenames: [], linguistLanguageId: 146 }, { name: "HTML", type: "markup", aceMode: "html", extensions: [".html", ".hta", ".htm", ".html.hl", ".inc", ".xht", ".xhtml"], tmScope: "text.html.basic", aliases: ["xhtml"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["html"], vscodeLanguageIds: ["html"], linguistLanguageId: 146 }, { name: "Lightning Web Components", type: "markup", aceMode: "html", extensions: [], tmScope: "text.html.basic", aliases: ["LWC", "lwc"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["lwc"], vscodeLanguageIds: ["html"], filenames: [], linguistLanguageId: 146 }, { name: "MJML", type: "markup", aceMode: "html", extensions: [".mjml"], tmScope: "text.mjml.basic", aliases: ["MJML", "mjml"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["mjml"], filenames: [], vscodeLanguageIds: ["mjml"], linguistLanguageId: 146 }, { name: "Vue", type: "markup", aceMode: "vue", extensions: [".vue"], tmScope: "text.html.vue", codemirrorMode: "vue", codemirrorMimeType: "text/x-vue", parsers: ["vue"], vscodeLanguageIds: ["vue"], linguistLanguageId: 391 }];
2851
- var br = { bracketSameLine: { category: "Common", type: "boolean", default: false, description: "Put > of opening tags on the last line instead of on a new line." }, singleAttributePerLine: { category: "Common", type: "boolean", default: false, description: "Enforce single attribute per line in HTML, Vue and JSX." } };
2852
- var Wi = "HTML", wo = { bracketSameLine: br.bracketSameLine, htmlWhitespaceSensitivity: { category: Wi, type: "choice", default: "css", description: "How to handle whitespaces in HTML.", choices: [{ value: "css", description: "Respect the default value of CSS display property." }, { value: "strict", description: "Whitespaces are considered sensitive." }, { value: "ignore", description: "Whitespaces are considered insensitive." }] }, singleAttributePerLine: br.singleAttributePerLine, vueIndentScriptAndStyle: { category: Wi, type: "boolean", default: false, description: "Indent script and style tags in Vue files." } }, zi = wo;
2853
- var Pr = {};
2854
- Ir(Pr, { angular: () => Wo, html: () => Fo, lwc: () => Go, mjml: () => Uo, vue: () => zo });
2855
- function To(e, t) {
2856
- let r = new SyntaxError(e + " (" + t.loc.start.line + ":" + t.loc.start.column + ")");
2857
- return Object.assign(r, t);
2858
- }
2859
- var Gi = To;
2860
- var yo = { canSelfClose: true, normalizeTagName: false, normalizeAttributeName: false, allowHtmComponentClosingTags: false, allowStartTagComments: false, isTagNameCaseSensitive: false, shouldParseFrontMatter: true };
2861
- function Bt(e) {
2862
- return { ...yo, ...e };
2863
- }
2864
- function wr(e) {
2865
- let { canSelfClose: t, allowHtmComponentClosingTags: r, allowStartTagComments: n, isTagNameCaseSensitive: i, shouldParseAsRawText: s, tokenizeAngularBlocks: a, tokenizeAngularLetDeclaration: o } = e;
2866
- return { canSelfClose: t, allowHtmComponentClosingTags: r, allowStartTagComments: n, isTagNameCaseSensitive: i, getTagContentType: s ? (...l) => s(...l) ? lr.RAW_TEXT : void 0 : void 0, tokenizeAngularBlocks: a, tokenizeAngularLetDeclaration: o };
2867
- }
2868
- var qt = /* @__PURE__ */ new Map([["*", /* @__PURE__ */ new Set(["accesskey", "autocapitalize", "autocorrect", "autofocus", "class", "contenteditable", "dir", "draggable", "enterkeyhint", "exportparts", "hidden", "id", "inert", "inputmode", "is", "itemid", "itemprop", "itemref", "itemscope", "itemtype", "lang", "nonce", "part", "popover", "slot", "spellcheck", "style", "tabindex", "title", "translate", "writingsuggestions"])], ["a", /* @__PURE__ */ new Set(["charset", "coords", "download", "href", "hreflang", "name", "ping", "referrerpolicy", "rel", "rev", "shape", "target", "type"])], ["applet", /* @__PURE__ */ new Set(["align", "alt", "archive", "code", "codebase", "height", "hspace", "name", "object", "vspace", "width"])], ["area", /* @__PURE__ */ new Set(["alt", "coords", "download", "href", "hreflang", "nohref", "ping", "referrerpolicy", "rel", "shape", "target", "type"])], ["audio", /* @__PURE__ */ new Set(["autoplay", "controls", "crossorigin", "loop", "muted", "preload", "src"])], ["base", /* @__PURE__ */ new Set(["href", "target"])], ["basefont", /* @__PURE__ */ new Set(["color", "face", "size"])], ["blockquote", /* @__PURE__ */ new Set(["cite"])], ["body", /* @__PURE__ */ new Set(["alink", "background", "bgcolor", "link", "text", "vlink"])], ["br", /* @__PURE__ */ new Set(["clear"])], ["button", /* @__PURE__ */ new Set(["command", "commandfor", "disabled", "form", "formaction", "formenctype", "formmethod", "formnovalidate", "formtarget", "name", "popovertarget", "popovertargetaction", "type", "value"])], ["canvas", /* @__PURE__ */ new Set(["height", "width"])], ["caption", /* @__PURE__ */ new Set(["align"])], ["col", /* @__PURE__ */ new Set(["align", "char", "charoff", "span", "valign", "width"])], ["colgroup", /* @__PURE__ */ new Set(["align", "char", "charoff", "span", "valign", "width"])], ["data", /* @__PURE__ */ new Set(["value"])], ["del", /* @__PURE__ */ new Set(["cite", "datetime"])], ["details", /* @__PURE__ */ new Set(["name", "open"])], ["dialog", /* @__PURE__ */ new Set(["closedby", "open"])], ["dir", /* @__PURE__ */ new Set(["compact"])], ["div", /* @__PURE__ */ new Set(["align"])], ["dl", /* @__PURE__ */ new Set(["compact"])], ["embed", /* @__PURE__ */ new Set(["height", "src", "type", "width"])], ["fieldset", /* @__PURE__ */ new Set(["disabled", "form", "name"])], ["font", /* @__PURE__ */ new Set(["color", "face", "size"])], ["form", /* @__PURE__ */ new Set(["accept", "accept-charset", "action", "autocomplete", "enctype", "method", "name", "novalidate", "target"])], ["frame", /* @__PURE__ */ new Set(["frameborder", "longdesc", "marginheight", "marginwidth", "name", "noresize", "scrolling", "src"])], ["frameset", /* @__PURE__ */ new Set(["cols", "rows"])], ["h1", /* @__PURE__ */ new Set(["align"])], ["h2", /* @__PURE__ */ new Set(["align"])], ["h3", /* @__PURE__ */ new Set(["align"])], ["h4", /* @__PURE__ */ new Set(["align"])], ["h5", /* @__PURE__ */ new Set(["align"])], ["h6", /* @__PURE__ */ new Set(["align"])], ["head", /* @__PURE__ */ new Set(["profile"])], ["hr", /* @__PURE__ */ new Set(["align", "noshade", "size", "width"])], ["html", /* @__PURE__ */ new Set(["manifest", "version"])], ["iframe", /* @__PURE__ */ new Set(["align", "allow", "allowfullscreen", "allowpaymentrequest", "allowusermedia", "frameborder", "height", "loading", "longdesc", "marginheight", "marginwidth", "name", "referrerpolicy", "sandbox", "scrolling", "src", "srcdoc", "width"])], ["img", /* @__PURE__ */ new Set(["align", "alt", "border", "crossorigin", "decoding", "fetchpriority", "height", "hspace", "ismap", "loading", "longdesc", "name", "referrerpolicy", "sizes", "src", "srcset", "usemap", "vspace", "width"])], ["input", /* @__PURE__ */ new Set(["accept", "align", "alpha", "alt", "autocomplete", "checked", "colorspace", "dirname", "disabled", "form", "formaction", "formenctype", "formmethod", "formnovalidate", "formtarget", "height", "ismap", "list", "max", "maxlength", "min", "minlength", "multiple", "name", "pattern", "placeholder", "popovertarget", "popovertargetaction", "readonly", "required", "size", "src", "step", "type", "usemap", "value", "width"])], ["ins", /* @__PURE__ */ new Set(["cite", "datetime"])], ["isindex", /* @__PURE__ */ new Set(["prompt"])], ["label", /* @__PURE__ */ new Set(["for", "form"])], ["legend", /* @__PURE__ */ new Set(["align"])], ["li", /* @__PURE__ */ new Set(["type", "value"])], ["link", /* @__PURE__ */ new Set(["as", "blocking", "charset", "color", "crossorigin", "disabled", "fetchpriority", "href", "hreflang", "imagesizes", "imagesrcset", "integrity", "media", "referrerpolicy", "rel", "rev", "sizes", "target", "type"])], ["map", /* @__PURE__ */ new Set(["name"])], ["menu", /* @__PURE__ */ new Set(["compact"])], ["meta", /* @__PURE__ */ new Set(["charset", "content", "http-equiv", "media", "name", "scheme"])], ["meter", /* @__PURE__ */ new Set(["high", "low", "max", "min", "optimum", "value"])], ["object", /* @__PURE__ */ new Set(["align", "archive", "border", "classid", "codebase", "codetype", "data", "declare", "form", "height", "hspace", "name", "standby", "type", "typemustmatch", "usemap", "vspace", "width"])], ["ol", /* @__PURE__ */ new Set(["compact", "reversed", "start", "type"])], ["optgroup", /* @__PURE__ */ new Set(["disabled", "label"])], ["option", /* @__PURE__ */ new Set(["disabled", "label", "selected", "value"])], ["output", /* @__PURE__ */ new Set(["for", "form", "name"])], ["p", /* @__PURE__ */ new Set(["align"])], ["param", /* @__PURE__ */ new Set(["name", "type", "value", "valuetype"])], ["pre", /* @__PURE__ */ new Set(["width"])], ["progress", /* @__PURE__ */ new Set(["max", "value"])], ["q", /* @__PURE__ */ new Set(["cite"])], ["script", /* @__PURE__ */ new Set(["async", "blocking", "charset", "crossorigin", "defer", "fetchpriority", "integrity", "language", "nomodule", "referrerpolicy", "src", "type"])], ["select", /* @__PURE__ */ new Set(["autocomplete", "disabled", "form", "multiple", "name", "required", "size"])], ["slot", /* @__PURE__ */ new Set(["name"])], ["source", /* @__PURE__ */ new Set(["height", "media", "sizes", "src", "srcset", "type", "width"])], ["style", /* @__PURE__ */ new Set(["blocking", "media", "type"])], ["table", /* @__PURE__ */ new Set(["align", "bgcolor", "border", "cellpadding", "cellspacing", "frame", "rules", "summary", "width"])], ["tbody", /* @__PURE__ */ new Set(["align", "char", "charoff", "valign"])], ["td", /* @__PURE__ */ new Set(["abbr", "align", "axis", "bgcolor", "char", "charoff", "colspan", "headers", "height", "nowrap", "rowspan", "scope", "valign", "width"])], ["template", /* @__PURE__ */ new Set(["shadowrootclonable", "shadowrootcustomelementregistry", "shadowrootdelegatesfocus", "shadowrootmode", "shadowrootserializable"])], ["textarea", /* @__PURE__ */ new Set(["autocomplete", "cols", "dirname", "disabled", "form", "maxlength", "minlength", "name", "placeholder", "readonly", "required", "rows", "wrap"])], ["tfoot", /* @__PURE__ */ new Set(["align", "char", "charoff", "valign"])], ["th", /* @__PURE__ */ new Set(["abbr", "align", "axis", "bgcolor", "char", "charoff", "colspan", "headers", "height", "nowrap", "rowspan", "scope", "valign", "width"])], ["thead", /* @__PURE__ */ new Set(["align", "char", "charoff", "valign"])], ["time", /* @__PURE__ */ new Set(["datetime"])], ["tr", /* @__PURE__ */ new Set(["align", "bgcolor", "char", "charoff", "valign"])], ["track", /* @__PURE__ */ new Set(["default", "kind", "label", "src", "srclang"])], ["ul", /* @__PURE__ */ new Set(["compact", "type"])], ["video", /* @__PURE__ */ new Set(["autoplay", "controls", "crossorigin", "height", "loop", "muted", "playsinline", "poster", "preload", "src", "width"])]]);
2869
- var $i = /* @__PURE__ */ new Set(["a", "abbr", "acronym", "address", "applet", "area", "article", "aside", "audio", "b", "base", "basefont", "bdi", "bdo", "bgsound", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "command", "content", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "em", "embed", "fencedframe", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset", "geolocation", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "iframe", "image", "img", "input", "ins", "isindex", "kbd", "keygen", "label", "legend", "li", "link", "listing", "main", "map", "mark", "marquee", "math", "menu", "menuitem", "meta", "meter", "multicol", "nav", "nextid", "nobr", "noembed", "noframes", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "plaintext", "pre", "progress", "q", "rb", "rbc", "rp", "rt", "rtc", "ruby", "s", "samp", "script", "search", "section", "select", "selectedcontent", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "svg", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "tt", "u", "ul", "var", "video", "wbr", "xmp"]);
2870
- var Ht = { attrs: true, children: true, cases: true, expression: true }, ji = /* @__PURE__ */ new Set(["parent"]), ne, Tr, yr, Me = class Me2 {
2871
- constructor(t = {}) {
2872
- Rr(this, ne);
2873
- Wt(this, "kind");
2874
- Wt(this, "parent");
2875
- for (let r of /* @__PURE__ */ new Set([...ji, ...Object.keys(t)])) this.setProperty(r, t[r]);
2876
- if (ae(t)) for (let r of Object.getOwnPropertySymbols(t)) this.setProperty(r, t[r]);
2877
- }
2878
- setProperty(t, r) {
2879
- if (this[t] !== r) {
2880
- if (t in Ht && (r = r.map((n) => this.createChild(n))), !ji.has(t)) {
2881
- this[t] = r;
2882
- return;
2883
- }
2884
- Object.defineProperty(this, t, { value: r, enumerable: false, configurable: true });
2885
- }
2886
- }
2887
- map(t) {
2888
- let r;
2889
- for (let n in Ht) {
2890
- let i = this[n];
2891
- if (i) {
2892
- let s = Eo(i, (a) => a.map(t));
2893
- r !== i && (r ?? (r = new Me2({ parent: this.parent })), r.setProperty(n, s));
2894
- }
2895
- }
2896
- if (r) for (let n in this) n in Ht || (r[n] = this[n]);
2897
- return t(r || this);
2898
- }
2899
- walk(t) {
2900
- for (let r in Ht) {
2901
- let n = this[r];
2902
- if (n) for (let i = 0; i < n.length; i++) n[i].walk(t);
2903
- }
2904
- t(this);
2905
- }
2906
- createChild(t) {
2907
- let r = t instanceof Me2 ? t.clone() : new Me2(t);
2908
- return r.setProperty("parent", this), r;
2909
- }
2910
- insertChildBefore(t, r) {
2911
- let n = this.$children;
2912
- n.splice(n.indexOf(t), 0, this.createChild(r));
2913
- }
2914
- removeChild(t) {
2915
- let r = this.$children;
2916
- r.splice(r.indexOf(t), 1);
2917
- }
2918
- replaceChild(t, r) {
2919
- let n = this.$children;
2920
- n[n.indexOf(t)] = this.createChild(r);
2921
- }
2922
- clone() {
2923
- return new Me2(this);
2924
- }
2925
- get $children() {
2926
- return this[qe(this, ne, Tr)];
2927
- }
2928
- set $children(t) {
2929
- this[qe(this, ne, Tr)] = t;
2930
- }
2931
- get firstChild() {
2932
- var _a3;
2933
- return (_a3 = this.$children) == null ? void 0 : _a3[0];
2934
- }
2935
- get lastChild() {
2936
- return I(1, this.$children, -1);
2937
- }
2938
- get prev() {
2939
- let t = qe(this, ne, yr);
2940
- return t[t.indexOf(this) - 1];
2941
- }
2942
- get next() {
2943
- let t = qe(this, ne, yr);
2944
- return t[t.indexOf(this) + 1];
2945
- }
2946
- get rawName() {
2947
- return this.hasExplicitNamespace ? this.fullName : this.name;
2948
- }
2949
- get fullName() {
2950
- return this.namespace ? this.namespace + ":" + this.name : this.name;
2951
- }
2952
- get attrMap() {
2953
- return Object.fromEntries(this.attrs.map((t) => [t.fullName, t.value]));
2954
- }
2955
- };
2956
- ne = /* @__PURE__ */ new WeakSet(), Tr = function() {
2957
- return this.kind === "angularIcuCase" ? "expression" : this.kind === "angularIcuExpression" ? "cases" : "children";
2958
- }, yr = function() {
2959
- var _a3;
2960
- return ((_a3 = this.parent) == null ? void 0 : _a3.$children) ?? [];
2961
- };
2962
- var Ft = Me;
2963
- function Eo(e, t) {
2964
- let r = e.map(t);
2965
- return r.some((n, i) => n !== e[i]) ? r : e;
2966
- }
2967
- var xo = [{ regex: /^(?<openingTagSuffix>\[if(?<condition>[^\]]*)\]>)(?<data>.*?)<!\s*\[endif\]$/s, parse: Lo }, { regex: /^\[if(?<condition>[^\]]*)\]><!$/, parse: Ao }, { regex: /^<!\s*\[endif\]$/, parse: Po }];
2968
- function Yi(e, t) {
2969
- if (e.value) for (let { regex: r, parse: n } of xo) {
2970
- let i = e.value.match(r);
2971
- if (i) return n(e, i, t);
2972
- }
2973
- return null;
2974
- }
2975
- function Lo(e, t, r) {
2976
- let { openingTagSuffix: n, condition: i, data: s } = t.groups, a = 4 + n.length, o = e.sourceSpan.start.moveBy(a), l = o.moveBy(s.length), [c, u] = (() => {
2977
- try {
2978
- return [true, r(s, o).children];
2979
- } catch {
2980
- return [false, [{ kind: "text", value: s, sourceSpan: new p(o, l) }]];
2981
- }
2982
- })();
2983
- return { kind: "ieConditionalComment", complete: c, children: u, condition: T(0, i.trim(), /\s+/g, " "), sourceSpan: e.sourceSpan, startSourceSpan: new p(e.sourceSpan.start, o), endSourceSpan: new p(l, e.sourceSpan.end) };
2984
- }
2985
- function Ao(e, t) {
2986
- let { condition: r } = t.groups;
2987
- return { kind: "ieConditionalStartComment", condition: T(0, r.trim(), /\s+/g, " "), sourceSpan: e.sourceSpan };
2988
- }
2989
- function Po(e) {
2990
- return { kind: "ieConditionalEndComment", sourceSpan: e.sourceSpan };
2991
- }
2992
- var Er = class extends gr {
2993
- visitExpansionCase(t, r) {
2994
- r.parseOptions.name === "angular" && this.visitChildren(r, (n) => {
2995
- n(t.expression);
2996
- });
2997
- }
2998
- visit(t, { parseOptions: r }) {
2999
- Ro(t), Oo(t, r), Bo(t, r), Mo(t);
3000
- }
3001
- };
3002
- function Xi(e, t, r, n) {
3003
- let i = r.name === "angular";
3004
- It(new Er(), e.children, { parseOptions: r }), t && e.children.unshift(t);
3005
- let s = new Ft(e);
3006
- return s.walk((a) => {
3007
- if (a.kind === "comment") {
3008
- let o = Yi(a, n);
3009
- o && a.parent.replaceChild(a, o);
3010
- } else i && a.kind === "element" && a.comments && (a.startTagComments = a.comments, delete a.comments);
3011
- i && (No(a), Do(a), Io(a));
3012
- }), s;
3013
- }
3014
- function No(e) {
3015
- if (e.kind === "block") {
3016
- if (e.name = T(0, e.name.toLowerCase(), /\s+/g, " ").trim(), e.kind = "angularControlFlowBlock", !X(e.parameters)) {
3017
- delete e.parameters;
3018
- return;
3019
- }
3020
- for (let t of e.parameters) t.kind = "angularControlFlowBlockParameter";
3021
- e.parameters = { kind: "angularControlFlowBlockParameters", children: e.parameters, sourceSpan: new p(e.parameters[0].sourceSpan.start, I(0, e.parameters, -1).sourceSpan.end) };
3022
- }
3023
- }
3024
- function Do(e) {
3025
- e.kind === "letDeclaration" && (e.kind = "angularLetDeclaration", e.id = e.name, e.init = { kind: "angularLetDeclarationInitializer", sourceSpan: new p(e.valueSpan.start, e.valueSpan.end), value: e.value }, delete e.name, delete e.value);
3026
- }
3027
- function Io(e) {
3028
- e.kind === "expansion" && (e.kind = "angularIcuExpression"), e.kind === "expansionCase" && (e.kind = "angularIcuCase");
3029
- }
3030
- function Ki(e, t) {
3031
- let r = e.toLowerCase();
3032
- return t(r) ? r : e;
3033
- }
3034
- function Qi(e) {
3035
- let t = e.name.startsWith(":") ? e.name.slice(1).split(":", 1)[0] : null, r = e.nameSpan.toString(), n = t !== null && r.startsWith(`${t}:`), i = n ? r.slice(t.length + 1) : r;
3036
- e.name = i, e.namespace = t, e.hasExplicitNamespace = n;
3037
- }
3038
- function Ro(e) {
3039
- switch (e.kind) {
3040
- case "element":
3041
- Qi(e);
3042
- for (let t of e.attrs) Qi(t), t.valueSpan ? (t.value = t.valueSpan.toString(), /["']/.test(t.value[0]) && (t.value = t.value.slice(1, -1))) : t.value = null;
3043
- break;
3044
- case "comment":
3045
- e.value = e.sourceSpan.toString().slice(4, -3);
3046
- break;
3047
- case "text":
3048
- e.value = e.sourceSpan.toString();
3049
- break;
3050
- }
3051
- }
3052
- function Oo(e, t) {
3053
- if (e.kind === "element") {
3054
- let r = Ne(t.isTagNameCaseSensitive ? e.name : e.name.toLowerCase());
3055
- !e.namespace || e.namespace === r.implicitNamespacePrefix || oe(e) ? e.tagDefinition = r : e.tagDefinition = Ne("");
3056
- }
3057
- }
3058
- function Mo(e) {
3059
- e.sourceSpan && e.endSourceSpan && (e.sourceSpan = new p(e.sourceSpan.start, e.endSourceSpan.end));
3060
- }
3061
- function Bo(e, t) {
3062
- if (e.kind === "element" && (t.normalizeTagName && (!e.namespace || e.namespace === e.tagDefinition.implicitNamespacePrefix || oe(e)) && (e.name = Ki(e.name, (r) => $i.has(r))), t.normalizeAttributeName)) for (let r of e.attrs) r.namespace || (r.name = Ki(r.name, (n) => qt.has(e.name) && (qt.get("*").has(n) || qt.get(e.name).has(n))));
3063
- }
3064
- function Lr(e, t) {
3065
- let { rootNodes: r, errors: n } = Mt(e, wr(t));
3066
- return n.length > 0 && xr(n[0]), { parseOptions: t, rootNodes: r };
3067
- }
3068
- function Ji(e, t) {
3069
- let r = wr(t), { rootNodes: n, errors: i } = Mt(e, r);
3070
- if (n.some((c) => c.kind === "docType" && c.value === "html" || c.kind === "element" && c.name.toLowerCase() === "html")) return Lr(e, Vt);
3071
- let a, o = () => a ?? (a = Mt(e, { ...r, getTagContentType: void 0 })), l = (c) => {
3072
- let { offset: u } = c.startSourceSpan.start;
3073
- return o().rootNodes.find((d) => d.kind === "element" && d.startSourceSpan.start.offset === u) ?? c;
3074
- };
3075
- for (let [c, u] of n.entries()) if (u.kind === "element") {
3076
- if (u.isVoid) i = o().errors, n[c] = l(u);
3077
- else if (qo(u)) {
3078
- let { endSourceSpan: d, startSourceSpan: _ } = u, h = o().errors.find((f) => f.span.start.offset > _.start.offset && f.span.start.offset < d.end.offset);
3079
- h && xr(h), n[c] = l(u);
3080
- }
3081
- }
3082
- return i.length > 0 && xr(i[0]), { parseOptions: t, rootNodes: n };
3083
- }
3084
- function qo(e) {
3085
- var _a3;
3086
- if (e.kind !== "element" || e.name !== "template") return false;
3087
- let t = (_a3 = e.attrs.find((r) => r.name === "lang")) == null ? void 0 : _a3.value;
3088
- return !t || t === "html";
3089
- }
3090
- function xr(e) {
3091
- let { msg: t, span: { start: r, end: n } } = e;
3092
- throw Gi(t, { loc: { start: { line: r.line + 1, column: r.col + 1 }, end: { line: n.line + 1, column: n.col + 1 } }, cause: e });
3093
- }
3094
- function Ho(e, t, r, n, i, s) {
3095
- let { offset: a } = n, o = vt(t.slice(0, a)) + r, l = Ar(o, e, { ...i, shouldParseFrontMatter: false }, s);
3096
- l.sourceSpan = new p(n, I(0, l.children, -1).sourceSpan.end);
3097
- let c = l.children[0];
3098
- return c.length === a ? l.children.shift() : (c.sourceSpan = new p(c.sourceSpan.start.moveBy(a), c.sourceSpan.end), c.value = c.value.slice(a)), l;
3099
- }
3100
- function Ar(e, t, r, n = {}) {
3101
- let { frontMatter: i, content: s } = r.shouldParseFrontMatter ? Qt(e) : { content: e }, a = new rt(e, n.filepath), o = new De(a, 0, 0, 0), l = o.moveBy(e.length), { parseOptions: c, rootNodes: u } = t(s, r), d = { kind: "root", sourceSpan: new p(o, l), children: u }, _;
3102
- if (i) {
3103
- let [f, g] = [i.start, i.end].map((v) => new De(a, v.index, v.line - 1, v.column));
3104
- _ = { ...i, kind: "frontMatter", sourceSpan: new p(f, g) };
3105
- }
3106
- return Xi(d, _, c, (f, g) => Ho(t, e, f, g, c, n));
3107
- }
3108
- var Vt = Bt({ name: "html", normalizeTagName: true, normalizeAttributeName: true, allowHtmComponentClosingTags: true });
3109
- function st(e) {
3110
- let t = Bt(e), r = t.name === "vue" ? Ji : Lr;
3111
- return { parse: (n, i) => Ar(n, r, t, i), hasPragma: Jn, hasIgnorePragma: Zn, astFormat: "html", locStart: F, locEnd: J };
3112
- }
3113
- var Fo = st(Vt), Vo = /* @__PURE__ */ new Set(["mj-style", "mj-raw"]), Uo = st({ ...Vt, name: "mjml", shouldParseAsRawText: (e) => Vo.has(e) }), Wo = st({ name: "angular", tokenizeAngularBlocks: true, tokenizeAngularLetDeclaration: true, allowStartTagComments: true }), zo = st({ name: "vue", isTagNameCaseSensitive: true, shouldParseAsRawText(e, t, r, n) {
3114
- return e.toLowerCase() !== "html" && !r && (e !== "template" || n.some(({ name: i, value: s }) => i === "lang" && s !== "html" && s !== "" && s !== void 0));
3115
- } }), Go = st({ name: "lwc", canSelfClose: false });
3116
- var $o = { html: Vi };
3117
- export {
3118
- Zi as default,
3119
- Ui as languages,
3120
- zi as options,
3121
- Pr as parsers,
3122
- $o as printers
3123
- };