@drzl/validation-core 0.0.1

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.
@@ -0,0 +1,2796 @@
1
+ import {
2
+ __publicField
3
+ } from "./chunk-MKBO26DX.js";
4
+
5
+ // ../../node_modules/.pnpm/prettier@3.6.2/node_modules/prettier/plugins/html.mjs
6
+ var on = Object.defineProperty;
7
+ var un = (t7) => {
8
+ throw TypeError(t7);
9
+ };
10
+ var Ai = (t7, e, r) => e in t7 ? on(t7, e, { enumerable: true, configurable: true, writable: true, value: r }) : t7[e] = r;
11
+ var ln = (t7, e) => {
12
+ for (var r in e) on(t7, r, { get: e[r], enumerable: true });
13
+ };
14
+ var lr = (t7, e, r) => Ai(t7, typeof e != "symbol" ? e + "" : e, r);
15
+ var cn = (t7, e, r) => e.has(t7) || un("Cannot " + r);
16
+ var R = (t7, e, r) => (cn(t7, e, "read from private field"), r ? r.call(t7) : e.get(t7));
17
+ var At = (t7, e, r) => e.has(t7) ? un("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t7) : e.set(t7, r);
18
+ var pn = (t7, e, r, n) => (cn(t7, e, "write to private field"), n ? n.call(t7, r) : e.set(t7, r), r);
19
+ var rn = {};
20
+ ln(rn, { languages: () => Hs, options: () => Us, parsers: () => tn, printers: () => uu });
21
+ var Di = (t7, e, r, n) => {
22
+ if (!(t7 && e == null)) return e.replaceAll ? e.replaceAll(r, n) : r.global ? e.replace(r, n) : e.split(r).join(n);
23
+ };
24
+ var w = Di;
25
+ var we = "string";
26
+ var ze = "array";
27
+ var Ye = "cursor";
28
+ var be = "indent";
29
+ var Te = "align";
30
+ var je = "trim";
31
+ var xe = "group";
32
+ var ke = "fill";
33
+ var ce = "if-break";
34
+ var Be = "indent-if-break";
35
+ var Ke = "line-suffix";
36
+ var Xe = "line-suffix-boundary";
37
+ var j = "line";
38
+ var Qe = "label";
39
+ var Le = "break-parent";
40
+ var Dt = /* @__PURE__ */ new Set([Ye, be, Te, je, xe, ke, ce, Be, Ke, Xe, j, Qe, Le]);
41
+ var vi = (t7, e, r) => {
42
+ if (!(t7 && e == null)) return Array.isArray(e) || typeof e == "string" ? e[r < 0 ? e.length + r : r] : e.at(r);
43
+ };
44
+ var K = vi;
45
+ function yi(t7) {
46
+ if (typeof t7 == "string") return we;
47
+ if (Array.isArray(t7)) return ze;
48
+ if (!t7) return;
49
+ let { type: e } = t7;
50
+ if (Dt.has(e)) return e;
51
+ }
52
+ var Fe = yi;
53
+ var wi = (t7) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(t7);
54
+ function bi(t7) {
55
+ let e = t7 === null ? "null" : typeof t7;
56
+ if (e !== "string" && e !== "object") return `Unexpected doc '${e}',
57
+ Expected it to be 'string' or 'object'.`;
58
+ if (Fe(t7)) throw new Error("doc is valid.");
59
+ let r = Object.prototype.toString.call(t7);
60
+ if (r !== "[object Object]") return `Unexpected doc '${r}'.`;
61
+ let n = wi([...Dt].map((s) => `'${s}'`));
62
+ return `Unexpected doc.type '${t7.type}'.
63
+ Expected it to be ${n}.`;
64
+ }
65
+ var cr = class extends Error {
66
+ constructor(e) {
67
+ super(bi(e));
68
+ __publicField(this, "name", "InvalidDocError");
69
+ this.doc = e;
70
+ }
71
+ };
72
+ var pr = cr;
73
+ function hr(t7, e) {
74
+ if (typeof t7 == "string") return e(t7);
75
+ let r = /* @__PURE__ */ new Map();
76
+ return n(t7);
77
+ function n(i) {
78
+ if (r.has(i)) return r.get(i);
79
+ let a = s(i);
80
+ return r.set(i, a), a;
81
+ }
82
+ function s(i) {
83
+ switch (Fe(i)) {
84
+ case ze:
85
+ return e(i.map(n));
86
+ case ke:
87
+ return e({ ...i, parts: i.parts.map(n) });
88
+ case ce:
89
+ return e({ ...i, breakContents: n(i.breakContents), flatContents: n(i.flatContents) });
90
+ case xe: {
91
+ let { expandedStates: a, contents: o } = i;
92
+ return a ? (a = a.map(n), o = a[0]) : o = n(o), e({ ...i, contents: o, expandedStates: a });
93
+ }
94
+ case Te:
95
+ case be:
96
+ case Be:
97
+ case Qe:
98
+ case Ke:
99
+ return e({ ...i, contents: n(i.contents) });
100
+ case we:
101
+ case Ye:
102
+ case je:
103
+ case Xe:
104
+ case j:
105
+ case Le:
106
+ return e(i);
107
+ default:
108
+ throw new pr(i);
109
+ }
110
+ }
111
+ }
112
+ function B(t7, e = hn) {
113
+ return hr(t7, (r) => typeof r == "string" ? H(e, r.split(`
114
+ `)) : r);
115
+ }
116
+ var mr = () => {
117
+ };
118
+ var re = mr;
119
+ var fr = mr;
120
+ var mn = mr;
121
+ function k(t7) {
122
+ return re(t7), { type: be, contents: t7 };
123
+ }
124
+ function fn(t7, e) {
125
+ return re(e), { type: Te, contents: e, n: t7 };
126
+ }
127
+ function E(t7, e = {}) {
128
+ return re(t7), fr(e.expandedStates, true), { type: xe, id: e.id, contents: t7, break: !!e.shouldBreak, expandedStates: e.expandedStates };
129
+ }
130
+ function dn(t7) {
131
+ return fn(Number.NEGATIVE_INFINITY, t7);
132
+ }
133
+ function gn(t7) {
134
+ return fn({ type: "root" }, t7);
135
+ }
136
+ function vt(t7) {
137
+ return mn(t7), { type: ke, parts: t7 };
138
+ }
139
+ function pe(t7, e = "", r = {}) {
140
+ return re(t7), e !== "" && re(e), { type: ce, breakContents: t7, flatContents: e, groupId: r.groupId };
141
+ }
142
+ function Cn(t7, e) {
143
+ return re(t7), { type: Be, contents: t7, groupId: e.groupId, negate: e.negate };
144
+ }
145
+ var ne = { type: Le };
146
+ var xi = { type: j, hard: true };
147
+ var ki = { type: j, hard: true, literal: true };
148
+ var _ = { type: j };
149
+ var v = { type: j, soft: true };
150
+ var S = [xi, ne];
151
+ var hn = [ki, ne];
152
+ function H(t7, e) {
153
+ re(t7), fr(e);
154
+ let r = [];
155
+ for (let n = 0; n < e.length; n++) n !== 0 && r.push(t7), r.push(e[n]);
156
+ return r;
157
+ }
158
+ var yt = "'";
159
+ var Sn = '"';
160
+ function Bi(t7, e) {
161
+ let r = e === true || e === yt ? yt : Sn, n = r === yt ? Sn : yt, s = 0, i = 0;
162
+ for (let a of t7) a === r ? s++ : a === n && i++;
163
+ return s > i ? n : r;
164
+ }
165
+ var _n = Bi;
166
+ function dr(t7) {
167
+ if (typeof t7 != "string") throw new TypeError("Expected a string");
168
+ return t7.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
169
+ }
170
+ var V;
171
+ var gr = class {
172
+ constructor(e) {
173
+ At(this, V);
174
+ pn(this, V, new Set(e));
175
+ }
176
+ getLeadingWhitespaceCount(e) {
177
+ let r = R(this, V), n = 0;
178
+ for (let s = 0; s < e.length && r.has(e.charAt(s)); s++) n++;
179
+ return n;
180
+ }
181
+ getTrailingWhitespaceCount(e) {
182
+ let r = R(this, V), n = 0;
183
+ for (let s = e.length - 1; s >= 0 && r.has(e.charAt(s)); s--) n++;
184
+ return n;
185
+ }
186
+ getLeadingWhitespace(e) {
187
+ let r = this.getLeadingWhitespaceCount(e);
188
+ return e.slice(0, r);
189
+ }
190
+ getTrailingWhitespace(e) {
191
+ let r = this.getTrailingWhitespaceCount(e);
192
+ return e.slice(e.length - r);
193
+ }
194
+ hasLeadingWhitespace(e) {
195
+ return R(this, V).has(e.charAt(0));
196
+ }
197
+ hasTrailingWhitespace(e) {
198
+ return R(this, V).has(K(false, e, -1));
199
+ }
200
+ trimStart(e) {
201
+ let r = this.getLeadingWhitespaceCount(e);
202
+ return e.slice(r);
203
+ }
204
+ trimEnd(e) {
205
+ let r = this.getTrailingWhitespaceCount(e);
206
+ return e.slice(0, e.length - r);
207
+ }
208
+ trim(e) {
209
+ return this.trimEnd(this.trimStart(e));
210
+ }
211
+ split(e, r = false) {
212
+ let n = `[${dr([...R(this, V)].join(""))}]+`, s = new RegExp(r ? `(${n})` : n, "u");
213
+ return e.split(s);
214
+ }
215
+ hasWhitespaceCharacter(e) {
216
+ let r = R(this, V);
217
+ return Array.prototype.some.call(e, (n) => r.has(n));
218
+ }
219
+ hasNonWhitespaceCharacter(e) {
220
+ let r = R(this, V);
221
+ return Array.prototype.some.call(e, (n) => !r.has(n));
222
+ }
223
+ isWhitespaceOnly(e) {
224
+ let r = R(this, V);
225
+ return Array.prototype.every.call(e, (n) => r.has(n));
226
+ }
227
+ };
228
+ V = /* @__PURE__ */ new WeakMap();
229
+ var En = gr;
230
+ var Li = [" ", `
231
+ `, "\f", "\r", " "];
232
+ var Fi = new En(Li);
233
+ var O = Fi;
234
+ var Cr = class extends Error {
235
+ constructor(e, r, n = "type") {
236
+ super(`Unexpected ${r} node ${n}: ${JSON.stringify(e[n])}.`);
237
+ __publicField(this, "name", "UnexpectedNodeError");
238
+ this.node = e;
239
+ }
240
+ };
241
+ var An = Cr;
242
+ function Pi(t7) {
243
+ return (t7 == null ? void 0 : t7.type) === "front-matter";
244
+ }
245
+ var Pe = Pi;
246
+ var Ni = /* @__PURE__ */ new Set(["sourceSpan", "startSourceSpan", "endSourceSpan", "nameSpan", "valueSpan", "keySpan", "tagDefinition", "tokens", "valueTokens", "switchValueSourceSpan", "expSourceSpan", "valueSourceSpan"]);
247
+ var Ii = /* @__PURE__ */ new Set(["if", "else if", "for", "switch", "case"]);
248
+ function Dn(t7, e) {
249
+ var r;
250
+ if (t7.type === "text" || t7.type === "comment" || Pe(t7) || t7.type === "yaml" || t7.type === "toml") return null;
251
+ if (t7.type === "attribute" && delete e.value, t7.type === "docType" && delete e.value, t7.type === "angularControlFlowBlock" && ((r = t7.parameters) != null && r.children)) for (let n of e.parameters.children) Ii.has(t7.name) ? delete n.expression : n.expression = n.expression.trim();
252
+ t7.type === "angularIcuExpression" && (e.switchValue = t7.switchValue.trim()), t7.type === "angularLetDeclarationInitializer" && delete e.value;
253
+ }
254
+ Dn.ignoredProperties = Ni;
255
+ var vn = Dn;
256
+ async function Ri(t7, e) {
257
+ if (t7.language === "yaml") {
258
+ let r = t7.value.trim(), n = r ? await e(r, { parser: "yaml" }) : "";
259
+ return gn([t7.startDelimiter, t7.explicitLanguage, S, n, n ? S : "", t7.endDelimiter]);
260
+ }
261
+ }
262
+ var yn = Ri;
263
+ function he(t7, e = true) {
264
+ return [k([v, t7]), e ? v : ""];
265
+ }
266
+ function X(t7, e) {
267
+ let r = t7.type === "NGRoot" ? t7.node.type === "NGMicrosyntax" && t7.node.body.length === 1 && t7.node.body[0].type === "NGMicrosyntaxExpression" ? t7.node.body[0].expression : t7.node : t7.type === "JsExpressionRoot" ? t7.node : t7;
268
+ return r && (r.type === "ObjectExpression" || r.type === "ArrayExpression" || (e.parser === "__vue_expression" || e.parser === "__vue_ts_expression") && (r.type === "TemplateLiteral" || r.type === "StringLiteral"));
269
+ }
270
+ async function T(t7, e, r, n) {
271
+ r = { __isInHtmlAttribute: true, __embeddedInHtml: true, ...r };
272
+ let s = true;
273
+ n && (r.__onHtmlBindingRoot = (a, o) => {
274
+ s = n(a, o);
275
+ });
276
+ let i = await e(t7, r, e);
277
+ return s ? E(i) : he(i);
278
+ }
279
+ function $i(t7, e, r, n) {
280
+ let { node: s } = r, i = n.originalText.slice(s.sourceSpan.start.offset, s.sourceSpan.end.offset);
281
+ return /^\s*$/u.test(i) ? "" : T(i, t7, { parser: "__ng_directive", __isInHtmlAttribute: false }, X);
282
+ }
283
+ var wn = $i;
284
+ var Oi = (t7, e) => {
285
+ if (!(t7 && e == null)) return e.toReversed || !Array.isArray(e) ? e.toReversed() : [...e].reverse();
286
+ };
287
+ var bn = Oi;
288
+ function Mi(t7) {
289
+ return Array.isArray(t7) && t7.length > 0;
290
+ }
291
+ var me = Mi;
292
+ var Tn;
293
+ var xn;
294
+ var kn;
295
+ var Bn;
296
+ var Ln;
297
+ var qi = ((Tn = globalThis.Deno) == null ? void 0 : Tn.build.os) === "windows" || ((kn = (xn = globalThis.navigator) == null ? void 0 : xn.platform) == null ? void 0 : kn.startsWith("Win")) || ((Ln = (Bn = globalThis.process) == null ? void 0 : Bn.platform) == null ? void 0 : Ln.startsWith("win")) || false;
298
+ function Fn(t7) {
299
+ if (t7 = t7 instanceof URL ? t7 : new URL(t7), t7.protocol !== "file:") throw new TypeError(`URL must be a file URL: received "${t7.protocol}"`);
300
+ return t7;
301
+ }
302
+ function Hi(t7) {
303
+ return t7 = Fn(t7), decodeURIComponent(t7.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"));
304
+ }
305
+ function Vi(t7) {
306
+ t7 = Fn(t7);
307
+ let e = decodeURIComponent(t7.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25")).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\");
308
+ return t7.hostname !== "" && (e = `\\\\${t7.hostname}${e}`), e;
309
+ }
310
+ function Pn(t7) {
311
+ return qi ? Vi(t7) : Hi(t7);
312
+ }
313
+ var Nn = Pn;
314
+ var Ui = (t7) => String(t7).split(/[/\\]/u).pop();
315
+ function In(t7, e) {
316
+ if (!e) return;
317
+ let r = Ui(e).toLowerCase();
318
+ return t7.find(({ filenames: n }) => n == null ? void 0 : n.some((s) => s.toLowerCase() === r)) ?? t7.find(({ extensions: n }) => n == null ? void 0 : n.some((s) => r.endsWith(s)));
319
+ }
320
+ function Wi(t7, e) {
321
+ if (e) return t7.find(({ name: r }) => r.toLowerCase() === e) ?? t7.find(({ aliases: r }) => r == null ? void 0 : r.includes(e)) ?? t7.find(({ extensions: r }) => r == null ? void 0 : r.includes(`.${e}`));
322
+ }
323
+ function Rn(t7, e) {
324
+ if (e) {
325
+ if (String(e).startsWith("file:")) try {
326
+ e = Nn(e);
327
+ } catch {
328
+ return;
329
+ }
330
+ if (typeof e == "string") return t7.find(({ isSupported: r }) => r == null ? void 0 : r({ filepath: e }));
331
+ }
332
+ }
333
+ function Gi(t7, e) {
334
+ let r = bn(false, t7.plugins).flatMap((s) => s.languages ?? []), n = Wi(r, e.language) ?? In(r, e.physicalFile) ?? In(r, e.file) ?? Rn(r, e.physicalFile) ?? Rn(r, e.file) ?? (e.physicalFile, void 0);
335
+ return n == null ? void 0 : n.parsers[0];
336
+ }
337
+ var Ne = Gi;
338
+ var $n = "inline";
339
+ var Sr = { 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", source: "block", track: "block", meter: "inline-block", progress: "inline-block", object: "inline-block", video: "inline-block", audio: "inline-block", select: "inline-block", option: "block", optgroup: "block" };
340
+ var On = "normal";
341
+ var _r = { listing: "pre", plaintext: "pre", pre: "pre", xmp: "pre", nobr: "nowrap", table: "initial", textarea: "pre-wrap" };
342
+ function zi(t7) {
343
+ return t7.type === "element" && !t7.hasExplicitNamespace && !["html", "svg"].includes(t7.namespace);
344
+ }
345
+ var fe = zi;
346
+ var Yi = (t7) => w(false, t7, /^[\t\f\r ]*\n/gu, "");
347
+ var Er = (t7) => Yi(O.trimEnd(t7));
348
+ var Mn = (t7) => {
349
+ let e = t7, r = O.getLeadingWhitespace(e);
350
+ r && (e = e.slice(r.length));
351
+ let n = O.getTrailingWhitespace(e);
352
+ return n && (e = e.slice(0, -n.length)), { leadingWhitespace: r, trailingWhitespace: n, text: e };
353
+ };
354
+ function wt(t7, e) {
355
+ return !!(t7.type === "ieConditionalComment" && t7.lastChild && !t7.lastChild.isSelfClosing && !t7.lastChild.endSourceSpan || t7.type === "ieConditionalComment" && !t7.complete || de(t7) && t7.children.some((r) => r.type !== "text" && r.type !== "interpolation") || xt(t7, e) && !W(t7, e) && t7.type !== "interpolation");
356
+ }
357
+ function ge(t7) {
358
+ return t7.type === "attribute" || !t7.parent || !t7.prev ? false : ji(t7.prev);
359
+ }
360
+ function ji(t7) {
361
+ return t7.type === "comment" && t7.value.trim() === "prettier-ignore";
362
+ }
363
+ function $(t7) {
364
+ return t7.type === "text" || t7.type === "comment";
365
+ }
366
+ function W(t7, e) {
367
+ return t7.type === "element" && (t7.fullName === "script" || t7.fullName === "style" || t7.fullName === "svg:style" || t7.fullName === "svg:script" || t7.fullName === "mj-style" && e.parser === "mjml" || fe(t7) && (t7.name === "script" || t7.name === "style"));
368
+ }
369
+ function qn(t7, e) {
370
+ return t7.children && !W(t7, e);
371
+ }
372
+ function Hn(t7, e) {
373
+ return W(t7, e) || t7.type === "interpolation" || Ar(t7);
374
+ }
375
+ function Ar(t7) {
376
+ return Jn(t7).startsWith("pre");
377
+ }
378
+ function Vn(t7, e) {
379
+ var s, i;
380
+ let r = n();
381
+ if (r && !t7.prev && ((i = (s = t7.parent) == null ? void 0 : s.tagDefinition) != null && i.ignoreFirstLf)) return t7.type === "interpolation";
382
+ return r;
383
+ function n() {
384
+ return Pe(t7) || t7.type === "angularControlFlowBlock" ? false : (t7.type === "text" || t7.type === "interpolation") && t7.prev && (t7.prev.type === "text" || t7.prev.type === "interpolation") ? true : !t7.parent || t7.parent.cssDisplay === "none" ? false : de(t7.parent) ? true : !(!t7.prev && (t7.parent.type === "root" || de(t7) && t7.parent || W(t7.parent, e) || et(t7.parent, e) || !ea(t7.parent.cssDisplay)) || t7.prev && !na(t7.prev.cssDisplay));
385
+ }
386
+ }
387
+ function Un(t7, e) {
388
+ return Pe(t7) || t7.type === "angularControlFlowBlock" ? false : (t7.type === "text" || t7.type === "interpolation") && t7.next && (t7.next.type === "text" || t7.next.type === "interpolation") ? true : !t7.parent || t7.parent.cssDisplay === "none" ? false : de(t7.parent) ? true : !(!t7.next && (t7.parent.type === "root" || de(t7) && t7.parent || W(t7.parent, e) || et(t7.parent, e) || !ta(t7.parent.cssDisplay)) || t7.next && !ra(t7.next.cssDisplay));
389
+ }
390
+ function Wn(t7, e) {
391
+ return sa(t7.cssDisplay) && !W(t7, e);
392
+ }
393
+ function Je(t7) {
394
+ return Pe(t7) || t7.next && t7.sourceSpan.end && t7.sourceSpan.end.line + 1 < t7.next.sourceSpan.start.line;
395
+ }
396
+ function Gn(t7) {
397
+ return Dr(t7) || t7.type === "element" && t7.children.length > 0 && (["body", "script", "style"].includes(t7.name) || t7.children.some((e) => Xi(e))) || t7.firstChild && t7.firstChild === t7.lastChild && t7.firstChild.type !== "text" && Yn(t7.firstChild) && (!t7.lastChild.isTrailingSpaceSensitive || jn(t7.lastChild));
398
+ }
399
+ function Dr(t7) {
400
+ return t7.type === "element" && t7.children.length > 0 && (["html", "head", "ul", "ol", "select"].includes(t7.name) || t7.cssDisplay.startsWith("table") && t7.cssDisplay !== "table-cell");
401
+ }
402
+ function bt(t7) {
403
+ return Kn(t7) || t7.prev && Ki(t7.prev) || zn(t7);
404
+ }
405
+ function Ki(t7) {
406
+ return Kn(t7) || t7.type === "element" && t7.fullName === "br" || zn(t7);
407
+ }
408
+ function zn(t7) {
409
+ return Yn(t7) && jn(t7);
410
+ }
411
+ function Yn(t7) {
412
+ return t7.hasLeadingSpaces && (t7.prev ? t7.prev.sourceSpan.end.line < t7.sourceSpan.start.line : t7.parent.type === "root" || t7.parent.startSourceSpan.end.line < t7.sourceSpan.start.line);
413
+ }
414
+ function jn(t7) {
415
+ return t7.hasTrailingSpaces && (t7.next ? t7.next.sourceSpan.start.line > t7.sourceSpan.end.line : t7.parent.type === "root" || t7.parent.endSourceSpan && t7.parent.endSourceSpan.start.line > t7.sourceSpan.end.line);
416
+ }
417
+ function Kn(t7) {
418
+ switch (t7.type) {
419
+ case "ieConditionalComment":
420
+ case "comment":
421
+ case "directive":
422
+ return true;
423
+ case "element":
424
+ return ["script", "select"].includes(t7.name);
425
+ }
426
+ return false;
427
+ }
428
+ function Tt(t7) {
429
+ return t7.lastChild ? Tt(t7.lastChild) : t7;
430
+ }
431
+ function Xi(t7) {
432
+ var e;
433
+ return (e = t7.children) == null ? void 0 : e.some((r) => r.type !== "text");
434
+ }
435
+ function Xn(t7) {
436
+ if (t7) switch (t7) {
437
+ case "module":
438
+ case "text/javascript":
439
+ case "text/babel":
440
+ case "text/jsx":
441
+ case "application/javascript":
442
+ return "babel";
443
+ case "application/x-typescript":
444
+ return "typescript";
445
+ case "text/markdown":
446
+ return "markdown";
447
+ case "text/html":
448
+ return "html";
449
+ case "text/x-handlebars-template":
450
+ return "glimmer";
451
+ default:
452
+ if (t7.endsWith("json") || t7.endsWith("importmap") || t7 === "speculationrules") return "json";
453
+ }
454
+ }
455
+ function Qi(t7, e) {
456
+ let { name: r, attrMap: n } = t7;
457
+ if (r !== "script" || Object.prototype.hasOwnProperty.call(n, "src")) return;
458
+ let { type: s, lang: i } = t7.attrMap;
459
+ return !i && !s ? "babel" : Ne(e, { language: i }) ?? Xn(s);
460
+ }
461
+ function Ji(t7, e) {
462
+ if (!xt(t7, e)) return;
463
+ let { attrMap: r } = t7;
464
+ if (Object.prototype.hasOwnProperty.call(r, "src")) return;
465
+ let { type: n, lang: s } = r;
466
+ return Ne(e, { language: s }) ?? Xn(n);
467
+ }
468
+ function Zi(t7, e) {
469
+ if (t7.name === "style") {
470
+ let { lang: r } = t7.attrMap;
471
+ return r ? Ne(e, { language: r }) : "css";
472
+ }
473
+ if (t7.name === "mj-style" && e.parser === "mjml") return "css";
474
+ }
475
+ function vr(t7, e) {
476
+ return Qi(t7, e) ?? Zi(t7, e) ?? Ji(t7, e);
477
+ }
478
+ function Ze(t7) {
479
+ return t7 === "block" || t7 === "list-item" || t7.startsWith("table");
480
+ }
481
+ function ea(t7) {
482
+ return !Ze(t7) && t7 !== "inline-block";
483
+ }
484
+ function ta(t7) {
485
+ return !Ze(t7) && t7 !== "inline-block";
486
+ }
487
+ function ra(t7) {
488
+ return !Ze(t7);
489
+ }
490
+ function na(t7) {
491
+ return !Ze(t7);
492
+ }
493
+ function sa(t7) {
494
+ return !Ze(t7) && t7 !== "inline-block";
495
+ }
496
+ function de(t7) {
497
+ return Jn(t7).startsWith("pre");
498
+ }
499
+ function ia(t7, e) {
500
+ let r = t7;
501
+ for (; r; ) {
502
+ if (e(r)) return true;
503
+ r = r.parent;
504
+ }
505
+ return false;
506
+ }
507
+ function Qn(t7, e) {
508
+ var n;
509
+ if (Ce(t7, e)) return "block";
510
+ if (((n = t7.prev) == null ? void 0 : n.type) === "comment") {
511
+ let s = t7.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/u);
512
+ if (s) return s[1];
513
+ }
514
+ let r = false;
515
+ if (t7.type === "element" && t7.namespace === "svg") if (ia(t7, (s) => s.fullName === "svg:foreignObject")) r = true;
516
+ else return t7.name === "svg" ? "inline-block" : "block";
517
+ switch (e.htmlWhitespaceSensitivity) {
518
+ case "strict":
519
+ return "inline";
520
+ case "ignore":
521
+ return "block";
522
+ default:
523
+ if (t7.type === "element" && (!t7.namespace || r || fe(t7)) && Object.prototype.hasOwnProperty.call(Sr, t7.name)) return Sr[t7.name];
524
+ }
525
+ return $n;
526
+ }
527
+ function Jn(t7) {
528
+ return t7.type === "element" && (!t7.namespace || fe(t7)) && Object.prototype.hasOwnProperty.call(_r, t7.name) ? _r[t7.name] : On;
529
+ }
530
+ function aa(t7) {
531
+ let e = Number.POSITIVE_INFINITY;
532
+ for (let r of t7.split(`
533
+ `)) {
534
+ if (r.length === 0) continue;
535
+ let n = O.getLeadingWhitespaceCount(r);
536
+ if (n === 0) return 0;
537
+ r.length !== n && n < e && (e = n);
538
+ }
539
+ return e === Number.POSITIVE_INFINITY ? 0 : e;
540
+ }
541
+ function yr(t7, e = aa(t7)) {
542
+ return e === 0 ? t7 : t7.split(`
543
+ `).map((r) => r.slice(e)).join(`
544
+ `);
545
+ }
546
+ function wr(t7) {
547
+ return w(false, w(false, t7, "&apos;", "'"), "&quot;", '"');
548
+ }
549
+ function P(t7) {
550
+ return wr(t7.value);
551
+ }
552
+ var oa = /* @__PURE__ */ new Set(["template", "style", "script"]);
553
+ function et(t7, e) {
554
+ return Ce(t7, e) && !oa.has(t7.fullName);
555
+ }
556
+ function Ce(t7, e) {
557
+ return e.parser === "vue" && t7.type === "element" && t7.parent.type === "root" && t7.fullName.toLowerCase() !== "html";
558
+ }
559
+ function xt(t7, e) {
560
+ return Ce(t7, e) && (et(t7, e) || t7.attrMap.lang && t7.attrMap.lang !== "html");
561
+ }
562
+ function Zn(t7) {
563
+ let e = t7.fullName;
564
+ return e.charAt(0) === "#" || e === "slot-scope" || e === "v-slot" || e.startsWith("v-slot:");
565
+ }
566
+ function es(t7, e) {
567
+ let r = t7.parent;
568
+ if (!Ce(r, e)) return false;
569
+ let n = r.fullName, s = t7.fullName;
570
+ return n === "script" && s === "setup" || n === "style" && s === "vars";
571
+ }
572
+ function kt(t7, e = t7.value) {
573
+ return t7.parent.isWhitespaceSensitive ? t7.parent.isIndentationSensitive ? B(e) : B(yr(Er(e)), S) : H(_, O.split(e));
574
+ }
575
+ function Bt(t7, e) {
576
+ return Ce(t7, e) && t7.name === "script";
577
+ }
578
+ var br = /\{\{(.+?)\}\}/su;
579
+ async function ts(t7, e) {
580
+ let r = [];
581
+ for (let [n, s] of t7.split(br).entries()) if (n % 2 === 0) r.push(B(s));
582
+ else try {
583
+ r.push(E(["{{", k([_, await T(s, e, { parser: "__ng_interpolation", __isInHtmlInterpolation: true })]), _, "}}"]));
584
+ } catch {
585
+ r.push("{{", B(s), "}}");
586
+ }
587
+ return r;
588
+ }
589
+ function Tr({ parser: t7 }) {
590
+ return (e, r, n) => T(P(n.node), e, { parser: t7 }, X);
591
+ }
592
+ var ua = Tr({ parser: "__ng_action" });
593
+ var la = Tr({ parser: "__ng_binding" });
594
+ var ca = Tr({ parser: "__ng_directive" });
595
+ function pa(t7, e) {
596
+ if (e.parser !== "angular") return;
597
+ let { node: r } = t7, n = r.fullName;
598
+ if (n.startsWith("(") && n.endsWith(")") || n.startsWith("on-")) return ua;
599
+ if (n.startsWith("[") && n.endsWith("]") || /^bind(?:on)?-/u.test(n) || /^ng-(?:if|show|hide|class|style)$/u.test(n)) return la;
600
+ if (n.startsWith("*")) return ca;
601
+ let s = P(r);
602
+ if (/^i18n(?:-.+)?$/u.test(n)) return () => he(vt(kt(r, s.trim())), !s.includes("@@"));
603
+ if (br.test(s)) return (i) => ts(s, i);
604
+ }
605
+ var rs = pa;
606
+ function ha(t7, e) {
607
+ let { node: r } = t7, n = P(r);
608
+ if (r.fullName === "class" && !e.parentParser && !n.includes("{{")) return () => n.trim().split(/\s+/u).join(" ");
609
+ }
610
+ var ns = ha;
611
+ function ss(t7) {
612
+ return t7 === " " || t7 === `
613
+ ` || t7 === "\f" || t7 === "\r" || t7 === " ";
614
+ }
615
+ var ma = /^[ \t\n\r\u000c]+/;
616
+ var fa = /^[, \t\n\r\u000c]+/;
617
+ var da = /^[^ \t\n\r\u000c]+/;
618
+ var ga = /[,]+$/;
619
+ var is = /^\d+$/;
620
+ var Ca = /^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/;
621
+ function Sa(t7) {
622
+ let e = t7.length, r, n, s, i, a, o = 0, u;
623
+ function p(C) {
624
+ let A, D = C.exec(t7.substring(o));
625
+ if (D) return [A] = D, o += A.length, A;
626
+ }
627
+ let l = [];
628
+ for (; ; ) {
629
+ if (p(fa), o >= e) {
630
+ if (l.length === 0) throw new Error("Must contain one or more image candidate strings.");
631
+ return l;
632
+ }
633
+ u = o, r = p(da), n = [], r.slice(-1) === "," ? (r = r.replace(ga, ""), f()) : m();
634
+ }
635
+ function m() {
636
+ for (p(ma), s = "", i = "in descriptor"; ; ) {
637
+ if (a = t7.charAt(o), i === "in descriptor") if (ss(a)) s && (n.push(s), s = "", i = "after descriptor");
638
+ else if (a === ",") {
639
+ o += 1, s && n.push(s), f();
640
+ return;
641
+ } else if (a === "(") s += a, i = "in parens";
642
+ else if (a === "") {
643
+ s && n.push(s), f();
644
+ return;
645
+ } else s += a;
646
+ else if (i === "in parens") if (a === ")") s += a, i = "in descriptor";
647
+ else if (a === "") {
648
+ n.push(s), f();
649
+ return;
650
+ } else s += a;
651
+ else if (i === "after descriptor" && !ss(a)) if (a === "") {
652
+ f();
653
+ return;
654
+ } else i = "in descriptor", o -= 1;
655
+ o += 1;
656
+ }
657
+ }
658
+ function f() {
659
+ let C = false, A, D, I, F, c = {}, g, y, q, x, U;
660
+ for (F = 0; F < n.length; F++) g = n[F], y = g[g.length - 1], q = g.substring(0, g.length - 1), x = parseInt(q, 10), U = parseFloat(q), is.test(q) && y === "w" ? ((A || D) && (C = true), x === 0 ? C = true : A = x) : Ca.test(q) && y === "x" ? ((A || D || I) && (C = true), U < 0 ? C = true : D = U) : is.test(q) && y === "h" ? ((I || D) && (C = true), x === 0 ? C = true : I = x) : C = true;
661
+ if (!C) c.source = { value: r, startOffset: u }, A && (c.width = { value: A }), D && (c.density = { value: D }), I && (c.height = { value: I }), l.push(c);
662
+ else throw new Error(`Invalid srcset descriptor found in "${t7}" at "${g}".`);
663
+ }
664
+ }
665
+ var as = Sa;
666
+ function _a(t7) {
667
+ if (t7.node.fullName === "srcset" && (t7.parent.fullName === "img" || t7.parent.fullName === "source")) return () => Aa(P(t7.node));
668
+ }
669
+ var os = { width: "w", height: "h", density: "x" };
670
+ var Ea = Object.keys(os);
671
+ function Aa(t7) {
672
+ let e = as(t7), r = Ea.filter((l) => e.some((m) => Object.prototype.hasOwnProperty.call(m, l)));
673
+ if (r.length > 1) throw new Error("Mixed descriptor in srcset is not supported");
674
+ let [n] = r, s = os[n], i = e.map((l) => l.source.value), a = Math.max(...i.map((l) => l.length)), o = e.map((l) => l[n] ? String(l[n].value) : ""), u = o.map((l) => {
675
+ let m = l.indexOf(".");
676
+ return m === -1 ? l.length : m;
677
+ }), p = Math.max(...u);
678
+ return he(H([",", _], i.map((l, m) => {
679
+ let f = [l], C = o[m];
680
+ if (C) {
681
+ let A = a - l.length + 1, D = p - u[m], I = " ".repeat(A + D);
682
+ f.push(pe(I, " "), C + s);
683
+ }
684
+ return f;
685
+ })));
686
+ }
687
+ var us = _a;
688
+ function ls(t7, e) {
689
+ let { node: r } = t7, n = P(t7.node).trim();
690
+ if (r.fullName === "style" && !e.parentParser && !n.includes("{{")) return async (s) => he(await s(n, { parser: "css", __isHTMLStyleAttribute: true }));
691
+ }
692
+ var xr = /* @__PURE__ */ new WeakMap();
693
+ function Da(t7, e) {
694
+ let { root: r } = t7;
695
+ return xr.has(r) || xr.set(r, r.children.some((n) => Bt(n, e) && ["ts", "typescript"].includes(n.attrMap.lang))), xr.get(r);
696
+ }
697
+ var Ie = Da;
698
+ function cs(t7, e, r) {
699
+ let { node: n } = r, s = P(n);
700
+ return T(`type T<${s}> = any`, t7, { parser: "babel-ts", __isEmbeddedTypescriptGenericParameters: true }, X);
701
+ }
702
+ function ps(t7, e, { parseWithTs: r }) {
703
+ return T(`function _(${t7}) {}`, e, { parser: r ? "babel-ts" : "babel", __isVueBindings: true });
704
+ }
705
+ async function hs(t7, e, r, n) {
706
+ let s = P(r.node), { left: i, operator: a, right: o } = va(s), u = Ie(r, n);
707
+ return [E(await T(`function _(${i}) {}`, t7, { parser: u ? "babel-ts" : "babel", __isVueForBindingLeft: true })), " ", a, " ", await T(o, t7, { parser: u ? "__ts_expression" : "__js_expression" })];
708
+ }
709
+ function va(t7) {
710
+ let e = /(.*?)\s+(in|of)\s+(.*)/su, r = /,([^,\]}]*)(?:,([^,\]}]*))?$/u, n = /^\(|\)$/gu, s = t7.match(e);
711
+ if (!s) return;
712
+ let i = {};
713
+ if (i.for = s[3].trim(), !i.for) return;
714
+ let a = w(false, s[1].trim(), n, ""), o = a.match(r);
715
+ o ? (i.alias = a.replace(r, ""), i.iterator1 = o[1].trim(), o[2] && (i.iterator2 = o[2].trim())) : i.alias = a;
716
+ let u = [i.alias, i.iterator1, i.iterator2];
717
+ if (!u.some((p, l) => !p && (l === 0 || u.slice(l + 1).some(Boolean)))) return { left: u.filter(Boolean).join(","), operator: s[2], right: i.for };
718
+ }
719
+ function ya(t7, e) {
720
+ if (e.parser !== "vue") return;
721
+ let { node: r } = t7, n = r.fullName;
722
+ if (n === "v-for") return hs;
723
+ if (n === "generic" && Bt(r.parent, e)) return cs;
724
+ let s = P(r), i = Ie(t7, e);
725
+ if (Zn(r) || es(r, e)) return (a) => ps(s, a, { parseWithTs: i });
726
+ if (n.startsWith("@") || n.startsWith("v-on:")) return (a) => wa(s, a, { parseWithTs: i });
727
+ if (n.startsWith(":") || n.startsWith(".") || n.startsWith("v-bind:")) return (a) => ba(s, a, { parseWithTs: i });
728
+ if (n.startsWith("v-")) return (a) => ms(s, a, { parseWithTs: i });
729
+ }
730
+ async function wa(t7, e, { parseWithTs: r }) {
731
+ var n;
732
+ try {
733
+ return await ms(t7, e, { parseWithTs: r });
734
+ } catch (s) {
735
+ if (((n = s.cause) == null ? void 0 : n.code) !== "BABEL_PARSER_SYNTAX_ERROR") throw s;
736
+ }
737
+ return T(t7, e, { parser: r ? "__vue_ts_event_binding" : "__vue_event_binding" }, X);
738
+ }
739
+ function ba(t7, e, { parseWithTs: r }) {
740
+ return T(t7, e, { parser: r ? "__vue_ts_expression" : "__vue_expression" }, X);
741
+ }
742
+ function ms(t7, e, { parseWithTs: r }) {
743
+ return T(t7, e, { parser: r ? "__ts_expression" : "__js_expression" }, X);
744
+ }
745
+ var fs = ya;
746
+ function Ta(t7, e) {
747
+ let { node: r } = t7;
748
+ if (r.value) {
749
+ if (/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/u.test(e.originalText.slice(r.valueSpan.start.offset, r.valueSpan.end.offset)) || e.parser === "lwc" && r.value.startsWith("{") && r.value.endsWith("}")) return [r.rawName, "=", r.value];
750
+ for (let n of [us, ls, ns, fs, rs]) {
751
+ let s = n(t7, e);
752
+ if (s) return xa(s);
753
+ }
754
+ }
755
+ }
756
+ function xa(t7) {
757
+ return async (e, r, n, s) => {
758
+ let i = await t7(e, r, n, s);
759
+ if (i) return i = hr(i, (a) => typeof a == "string" ? w(false, a, '"', "&quot;") : a), [n.node.rawName, '="', E(i), '"'];
760
+ };
761
+ }
762
+ var ds = Ta;
763
+ var ka = new Proxy(() => {
764
+ }, { get: () => ka });
765
+ function J(t7) {
766
+ return t7.sourceSpan.start.offset;
767
+ }
768
+ function se(t7) {
769
+ return t7.sourceSpan.end.offset;
770
+ }
771
+ function tt(t7, e) {
772
+ return [t7.isSelfClosing ? "" : Ba(t7, e), Se(t7, e)];
773
+ }
774
+ function Ba(t7, e) {
775
+ return t7.lastChild && Ae(t7.lastChild) ? "" : [La(t7, e), Lt(t7, e)];
776
+ }
777
+ function Se(t7, e) {
778
+ return (t7.next ? Q(t7.next) : Ee(t7.parent)) ? "" : [_e(t7, e), G(t7, e)];
779
+ }
780
+ function La(t7, e) {
781
+ return Ee(t7) ? _e(t7.lastChild, e) : "";
782
+ }
783
+ function G(t7, e) {
784
+ return Ae(t7) ? Lt(t7.parent, e) : rt(t7) ? Ft(t7.next, e) : "";
785
+ }
786
+ function Lt(t7, e) {
787
+ if (Cs(t7, e)) return "";
788
+ switch (t7.type) {
789
+ case "ieConditionalComment":
790
+ return "<!";
791
+ case "element":
792
+ if (t7.hasHtmComponentClosingTag) return "<//";
793
+ default:
794
+ return `</${t7.rawName}`;
795
+ }
796
+ }
797
+ function _e(t7, e) {
798
+ if (Cs(t7, e)) return "";
799
+ switch (t7.type) {
800
+ case "ieConditionalComment":
801
+ case "ieConditionalEndComment":
802
+ return "[endif]-->";
803
+ case "ieConditionalStartComment":
804
+ return "]><!-->";
805
+ case "interpolation":
806
+ return "}}";
807
+ case "angularIcuExpression":
808
+ return "}";
809
+ case "element":
810
+ if (t7.isSelfClosing) return "/>";
811
+ default:
812
+ return ">";
813
+ }
814
+ }
815
+ function Cs(t7, e) {
816
+ return !t7.isSelfClosing && !t7.endSourceSpan && (ge(t7) || wt(t7.parent, e));
817
+ }
818
+ function Q(t7) {
819
+ return t7.prev && t7.prev.type !== "docType" && t7.type !== "angularControlFlowBlock" && !$(t7.prev) && t7.isLeadingSpaceSensitive && !t7.hasLeadingSpaces;
820
+ }
821
+ function Ee(t7) {
822
+ var e;
823
+ return ((e = t7.lastChild) == null ? void 0 : e.isTrailingSpaceSensitive) && !t7.lastChild.hasTrailingSpaces && !$(Tt(t7.lastChild)) && !de(t7);
824
+ }
825
+ function Ae(t7) {
826
+ return !t7.next && !t7.hasTrailingSpaces && t7.isTrailingSpaceSensitive && $(Tt(t7));
827
+ }
828
+ function rt(t7) {
829
+ return t7.next && !$(t7.next) && $(t7) && t7.isTrailingSpaceSensitive && !t7.hasTrailingSpaces;
830
+ }
831
+ function Fa(t7) {
832
+ let e = t7.trim().match(/^prettier-ignore-attribute(?:\s+(.+))?$/su);
833
+ return e ? e[1] ? e[1].split(/\s+/u) : true : false;
834
+ }
835
+ function nt(t7) {
836
+ return !t7.prev && t7.isLeadingSpaceSensitive && !t7.hasLeadingSpaces;
837
+ }
838
+ function Pa(t7, e, r) {
839
+ var m;
840
+ let { node: n } = t7;
841
+ if (!me(n.attrs)) return n.isSelfClosing ? " " : "";
842
+ let s = ((m = n.prev) == null ? void 0 : m.type) === "comment" && Fa(n.prev.value), i = typeof s == "boolean" ? () => s : Array.isArray(s) ? (f) => s.includes(f.rawName) : () => false, a = t7.map(({ node: f }) => i(f) ? B(e.originalText.slice(J(f), se(f))) : r(), "attrs"), o = n.type === "element" && n.fullName === "script" && n.attrs.length === 1 && n.attrs[0].fullName === "src" && n.children.length === 0, p = e.singleAttributePerLine && n.attrs.length > 1 && !Ce(n, e) ? S : _, l = [k([o ? " " : _, H(p, a)])];
843
+ return n.firstChild && nt(n.firstChild) || n.isSelfClosing && Ee(n.parent) || o ? l.push(n.isSelfClosing ? " " : "") : l.push(e.bracketSameLine ? n.isSelfClosing ? " " : "" : n.isSelfClosing ? _ : v), l;
844
+ }
845
+ function Na(t7) {
846
+ return t7.firstChild && nt(t7.firstChild) ? "" : Pt(t7);
847
+ }
848
+ function st(t7, e, r) {
849
+ let { node: n } = t7;
850
+ return [De(n, e), Pa(t7, e, r), n.isSelfClosing ? "" : Na(n)];
851
+ }
852
+ function De(t7, e) {
853
+ return t7.prev && rt(t7.prev) ? "" : [z(t7, e), Ft(t7, e)];
854
+ }
855
+ function z(t7, e) {
856
+ return nt(t7) ? Pt(t7.parent) : Q(t7) ? _e(t7.prev, e) : "";
857
+ }
858
+ var gs = "<!doctype";
859
+ function Ft(t7, e) {
860
+ switch (t7.type) {
861
+ case "ieConditionalComment":
862
+ case "ieConditionalStartComment":
863
+ return `<!--[if ${t7.condition}`;
864
+ case "ieConditionalEndComment":
865
+ return "<!--<!";
866
+ case "interpolation":
867
+ return "{{";
868
+ case "docType": {
869
+ if (t7.value === "html") {
870
+ let { filepath: n } = e;
871
+ if (n && /\.html?$/u.test(n)) return gs;
872
+ }
873
+ let r = J(t7);
874
+ return e.originalText.slice(r, r + gs.length);
875
+ }
876
+ case "angularIcuExpression":
877
+ return "{";
878
+ case "element":
879
+ if (t7.condition) return `<!--[if ${t7.condition}]><!--><${t7.rawName}`;
880
+ default:
881
+ return `<${t7.rawName}`;
882
+ }
883
+ }
884
+ function Pt(t7) {
885
+ switch (t7.type) {
886
+ case "ieConditionalComment":
887
+ return "]>";
888
+ case "element":
889
+ if (t7.condition) return "><!--<![endif]-->";
890
+ default:
891
+ return ">";
892
+ }
893
+ }
894
+ function Ia(t7, e) {
895
+ if (!t7.endSourceSpan) return "";
896
+ let r = t7.startSourceSpan.end.offset;
897
+ t7.firstChild && nt(t7.firstChild) && (r -= Pt(t7).length);
898
+ let n = t7.endSourceSpan.start.offset;
899
+ return t7.lastChild && Ae(t7.lastChild) ? n += Lt(t7, e).length : Ee(t7) && (n -= _e(t7.lastChild, e).length), e.originalText.slice(r, n);
900
+ }
901
+ var Nt = Ia;
902
+ var Ra = /* @__PURE__ */ new Set(["if", "else if", "for", "switch", "case"]);
903
+ function $a(t7, e) {
904
+ let { node: r } = t7;
905
+ switch (r.type) {
906
+ case "element":
907
+ if (W(r, e) || r.type === "interpolation") return;
908
+ if (!r.isSelfClosing && xt(r, e)) {
909
+ let n = vr(r, e);
910
+ return n ? async (s, i) => {
911
+ let a = Nt(r, e), o = /^\s*$/u.test(a), u = "";
912
+ return o || (u = await s(Er(a), { parser: n, __embeddedInHtml: true }), o = u === ""), [z(r, e), E(st(t7, e, i)), o ? "" : S, u, o ? "" : S, tt(r, e), G(r, e)];
913
+ } : void 0;
914
+ }
915
+ break;
916
+ case "text":
917
+ if (W(r.parent, e)) {
918
+ let n = vr(r.parent, e);
919
+ if (n) return async (s) => {
920
+ let i = n === "markdown" ? yr(r.value.replace(/^[^\S\n]*\n/u, "")) : r.value, a = { parser: n, __embeddedInHtml: true };
921
+ if (e.parser === "html" && n === "babel") {
922
+ let o = "script", { attrMap: u } = r.parent;
923
+ u && (u.type === "module" || (u.type === "text/babel" || u.type === "text/jsx") && u["data-type"] === "module") && (o = "module"), a.__babelSourceType = o;
924
+ }
925
+ return [ne, z(r, e), await s(i, a), G(r, e)];
926
+ };
927
+ } else if (r.parent.type === "interpolation") return async (n) => {
928
+ let s = { __isInHtmlInterpolation: true, __embeddedInHtml: true };
929
+ return e.parser === "angular" ? s.parser = "__ng_interpolation" : e.parser === "vue" ? s.parser = Ie(t7, e) ? "__vue_ts_expression" : "__vue_expression" : s.parser = "__js_expression", [k([_, await n(r.value, s)]), r.parent.next && Q(r.parent.next) ? " " : _];
930
+ };
931
+ break;
932
+ case "attribute":
933
+ return ds(t7, e);
934
+ case "front-matter":
935
+ return (n) => yn(r, n);
936
+ case "angularControlFlowBlockParameters":
937
+ return Ra.has(t7.parent.name) ? wn : void 0;
938
+ case "angularLetDeclarationInitializer":
939
+ return (n) => T(r.value, n, { parser: "__ng_binding", __isInHtmlAttribute: false });
940
+ }
941
+ }
942
+ var Ss = $a;
943
+ var it = null;
944
+ function at(t7) {
945
+ if (it !== null && typeof it.property) {
946
+ let e = it;
947
+ return it = at.prototype = null, e;
948
+ }
949
+ return it = at.prototype = t7 ?? /* @__PURE__ */ Object.create(null), new at();
950
+ }
951
+ var Oa = 10;
952
+ for (let t7 = 0; t7 <= Oa; t7++) at();
953
+ function kr(t7) {
954
+ return at(t7);
955
+ }
956
+ function Ma(t7, e = "type") {
957
+ kr(t7);
958
+ function r(n) {
959
+ let s = n[e], i = t7[s];
960
+ if (!Array.isArray(i)) throw Object.assign(new Error(`Missing visitor keys for '${s}'.`), { node: n });
961
+ return i;
962
+ }
963
+ return r;
964
+ }
965
+ var _s = Ma;
966
+ var qa = { "front-matter": [], root: ["children"], element: ["attrs", "children"], ieConditionalComment: ["children"], ieConditionalStartComment: [], ieConditionalEndComment: [], interpolation: ["children"], text: ["children"], docType: [], comment: [], attribute: [], cdata: [], angularControlFlowBlock: ["children", "parameters"], angularControlFlowBlockParameters: ["children"], angularControlFlowBlockParameter: [], angularLetDeclaration: ["init"], angularLetDeclarationInitializer: [], angularIcuExpression: ["cases"], angularIcuCase: ["expression"] };
967
+ var Es = qa;
968
+ var Ha = _s(Es);
969
+ var As = Ha;
970
+ var Ds = "format";
971
+ var vs = /^\s*<!--\s*@(?:noformat|noprettier)\s*-->/u;
972
+ var ys = /^\s*<!--\s*@(?:format|prettier)\s*-->/u;
973
+ function ws(t7) {
974
+ return ys.test(t7);
975
+ }
976
+ function bs(t7) {
977
+ return vs.test(t7);
978
+ }
979
+ function Ts(t7) {
980
+ return `<!-- @${Ds} -->
981
+
982
+ ${t7}`;
983
+ }
984
+ var xs = /* @__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"])]]);
985
+ function ks(t7) {
986
+ let e = se(t7);
987
+ return t7.type === "element" && !t7.endSourceSpan && me(t7.children) ? Math.max(e, ks(K(false, t7.children, -1))) : e;
988
+ }
989
+ function ot(t7, e, r) {
990
+ let n = t7.node;
991
+ if (ge(n)) {
992
+ let s = ks(n);
993
+ return [z(n, e), B(O.trimEnd(e.originalText.slice(J(n) + (n.prev && rt(n.prev) ? Ft(n).length : 0), s - (n.next && Q(n.next) ? _e(n, e).length : 0)))), G(n, e)];
994
+ }
995
+ return r();
996
+ }
997
+ function It(t7, e) {
998
+ return $(t7) && $(e) ? t7.isTrailingSpaceSensitive ? t7.hasTrailingSpaces ? bt(e) ? S : _ : "" : bt(e) ? S : v : rt(t7) && (ge(e) || e.firstChild || e.isSelfClosing || e.type === "element" && e.attrs.length > 0) || t7.type === "element" && t7.isSelfClosing && Q(e) ? "" : !e.isLeadingSpaceSensitive || bt(e) || Q(e) && t7.lastChild && Ae(t7.lastChild) && t7.lastChild.lastChild && Ae(t7.lastChild.lastChild) ? S : e.hasLeadingSpaces ? _ : v;
999
+ }
1000
+ function Re(t7, e, r) {
1001
+ let { node: n } = t7;
1002
+ if (Dr(n)) return [ne, ...t7.map((i) => {
1003
+ let a = i.node, o = a.prev ? It(a.prev, a) : "";
1004
+ return [o ? [o, Je(a.prev) ? S : ""] : "", ot(i, e, r)];
1005
+ }, "children")];
1006
+ let s = n.children.map(() => Symbol(""));
1007
+ return t7.map((i, a) => {
1008
+ let o = i.node;
1009
+ if ($(o)) {
1010
+ if (o.prev && $(o.prev)) {
1011
+ let A = It(o.prev, o);
1012
+ if (A) return Je(o.prev) ? [S, S, ot(i, e, r)] : [A, ot(i, e, r)];
1013
+ }
1014
+ return ot(i, e, r);
1015
+ }
1016
+ let u = [], p = [], l = [], m = [], f = o.prev ? It(o.prev, o) : "", C = o.next ? It(o, o.next) : "";
1017
+ return f && (Je(o.prev) ? u.push(S, S) : f === S ? u.push(S) : $(o.prev) ? p.push(f) : p.push(pe("", v, { groupId: s[a - 1] }))), C && (Je(o) ? $(o.next) && m.push(S, S) : C === S ? $(o.next) && m.push(S) : l.push(C)), [...u, E([...p, E([ot(i, e, r), ...l], { id: s[a] })]), ...m];
1018
+ }, "children");
1019
+ }
1020
+ function Bs(t7, e, r) {
1021
+ let { node: n } = t7, s = [];
1022
+ Va(t7) && s.push("} "), s.push("@", n.name), n.parameters && s.push(" (", E(r("parameters")), ")"), s.push(" {");
1023
+ let i = Ls(n);
1024
+ return n.children.length > 0 ? (n.firstChild.hasLeadingSpaces = true, n.lastChild.hasTrailingSpaces = true, s.push(k([S, Re(t7, e, r)])), i && s.push(S, "}")) : i && s.push("}"), E(s, { shouldBreak: true });
1025
+ }
1026
+ function Ls(t7) {
1027
+ var e, r;
1028
+ return !(((e = t7.next) == null ? void 0 : e.type) === "angularControlFlowBlock" && ((r = xs.get(t7.name)) != null && r.has(t7.next.name)));
1029
+ }
1030
+ function Va(t7) {
1031
+ let { previous: e } = t7;
1032
+ return (e == null ? void 0 : e.type) === "angularControlFlowBlock" && !ge(e) && !Ls(e);
1033
+ }
1034
+ function Fs(t7, e, r) {
1035
+ return [k([v, H([";", _], t7.map(r, "children"))]), v];
1036
+ }
1037
+ function Ps(t7, e, r) {
1038
+ let { node: n } = t7;
1039
+ return [De(n, e), E([n.switchValue.trim(), ", ", n.clause, n.cases.length > 0 ? [",", k([_, H(_, t7.map(r, "cases"))])] : "", v]), Se(n, e)];
1040
+ }
1041
+ function Ns(t7, e, r) {
1042
+ let { node: n } = t7;
1043
+ return [n.value, " {", E([k([v, t7.map(({ node: s, isLast: i }) => {
1044
+ let a = [r()];
1045
+ return s.type === "text" && (s.hasLeadingSpaces && a.unshift(_), s.hasTrailingSpaces && !i && a.push(_)), a;
1046
+ }, "expression")]), v]), "}"];
1047
+ }
1048
+ function Is(t7, e, r) {
1049
+ let { node: n } = t7;
1050
+ if (wt(n, e)) return [z(n, e), E(st(t7, e, r)), B(Nt(n, e)), ...tt(n, e), G(n, e)];
1051
+ let s = n.children.length === 1 && (n.firstChild.type === "interpolation" || n.firstChild.type === "angularIcuExpression") && n.firstChild.isLeadingSpaceSensitive && !n.firstChild.hasLeadingSpaces && n.lastChild.isTrailingSpaceSensitive && !n.lastChild.hasTrailingSpaces, i = Symbol("element-attr-group-id"), a = (l) => E([E(st(t7, e, r), { id: i }), l, tt(n, e)]), o = (l) => s ? Cn(l, { groupId: i }) : (W(n, e) || et(n, e)) && n.parent.type === "root" && e.parser === "vue" && !e.vueIndentScriptAndStyle ? l : k(l), u = () => s ? pe(v, "", { groupId: i }) : n.firstChild.hasLeadingSpaces && n.firstChild.isLeadingSpaceSensitive ? _ : n.firstChild.type === "text" && n.isWhitespaceSensitive && n.isIndentationSensitive ? dn(v) : v, p = () => (n.next ? Q(n.next) : Ee(n.parent)) ? n.lastChild.hasTrailingSpaces && n.lastChild.isTrailingSpaceSensitive ? " " : "" : s ? pe(v, "", { groupId: i }) : n.lastChild.hasTrailingSpaces && n.lastChild.isTrailingSpaceSensitive ? _ : (n.lastChild.type === "comment" || n.lastChild.type === "text" && n.isWhitespaceSensitive && n.isIndentationSensitive) && new RegExp(`\\n[\\t ]{${e.tabWidth * (t7.ancestors.length - 1)}}$`, "u").test(n.lastChild.value) ? "" : v;
1052
+ return n.children.length === 0 ? a(n.hasDanglingSpaces && n.isDanglingSpaceSensitive ? _ : "") : a([Gn(n) ? ne : "", o([u(), Re(t7, e, r)]), p()]);
1053
+ }
1054
+ function ut(t7) {
1055
+ return t7 >= 9 && t7 <= 32 || t7 == 160;
1056
+ }
1057
+ function Rt(t7) {
1058
+ return 48 <= t7 && t7 <= 57;
1059
+ }
1060
+ function lt(t7) {
1061
+ return t7 >= 97 && t7 <= 122 || t7 >= 65 && t7 <= 90;
1062
+ }
1063
+ function Rs(t7) {
1064
+ return t7 >= 97 && t7 <= 102 || t7 >= 65 && t7 <= 70 || Rt(t7);
1065
+ }
1066
+ function $t(t7) {
1067
+ return t7 === 10 || t7 === 13;
1068
+ }
1069
+ function Br(t7) {
1070
+ return 48 <= t7 && t7 <= 55;
1071
+ }
1072
+ function Ot(t7) {
1073
+ return t7 === 39 || t7 === 34 || t7 === 96;
1074
+ }
1075
+ var Ua = /-+([a-z0-9])/g;
1076
+ function Os(t7) {
1077
+ return t7.replace(Ua, (...e) => e[1].toUpperCase());
1078
+ }
1079
+ var ie = class t {
1080
+ constructor(e, r, n, s) {
1081
+ this.file = e, this.offset = r, this.line = n, this.col = s;
1082
+ }
1083
+ toString() {
1084
+ return this.offset != null ? `${this.file.url}@${this.line}:${this.col}` : this.file.url;
1085
+ }
1086
+ moveBy(e) {
1087
+ let r = this.file.content, n = r.length, s = this.offset, i = this.line, a = this.col;
1088
+ for (; s > 0 && e < 0; ) if (s--, e++, r.charCodeAt(s) == 10) {
1089
+ i--;
1090
+ let u = r.substring(0, s - 1).lastIndexOf(String.fromCharCode(10));
1091
+ a = u > 0 ? s - u : s;
1092
+ } else a--;
1093
+ for (; s < n && e > 0; ) {
1094
+ let o = r.charCodeAt(s);
1095
+ s++, e--, o == 10 ? (i++, a = 0) : a++;
1096
+ }
1097
+ return new t(this.file, s, i, a);
1098
+ }
1099
+ getContext(e, r) {
1100
+ let n = this.file.content, s = this.offset;
1101
+ if (s != null) {
1102
+ s > n.length - 1 && (s = n.length - 1);
1103
+ let i = s, a = 0, o = 0;
1104
+ for (; a < e && s > 0 && (s--, a++, !(n[s] == `
1105
+ ` && ++o == r)); ) ;
1106
+ for (a = 0, o = 0; a < e && i < n.length - 1 && (i++, a++, !(n[i] == `
1107
+ ` && ++o == r)); ) ;
1108
+ return { before: n.substring(s, this.offset), after: n.substring(this.offset, i + 1) };
1109
+ }
1110
+ return null;
1111
+ }
1112
+ };
1113
+ var ve = class {
1114
+ constructor(e, r) {
1115
+ this.content = e, this.url = r;
1116
+ }
1117
+ };
1118
+ var h = class {
1119
+ constructor(e, r, n = e, s = null) {
1120
+ this.start = e, this.end = r, this.fullStart = n, this.details = s;
1121
+ }
1122
+ toString() {
1123
+ return this.start.file.content.substring(this.start.offset, this.end.offset);
1124
+ }
1125
+ };
1126
+ var Mt;
1127
+ (function(t7) {
1128
+ t7[t7.WARNING = 0] = "WARNING", t7[t7.ERROR = 1] = "ERROR";
1129
+ })(Mt || (Mt = {}));
1130
+ var Oe = class {
1131
+ constructor(e, r, n = Mt.ERROR, s) {
1132
+ this.span = e, this.msg = r, this.level = n, this.relatedError = s;
1133
+ }
1134
+ contextualMessage() {
1135
+ let e = this.span.start.getContext(100, 3);
1136
+ return e ? `${this.msg} ("${e.before}[${Mt[this.level]} ->]${e.after}")` : this.msg;
1137
+ }
1138
+ toString() {
1139
+ let e = this.span.details ? `, ${this.span.details}` : "";
1140
+ return `${this.contextualMessage()}: ${this.span.start}${e}`;
1141
+ }
1142
+ };
1143
+ var Wa = [za, Ya, Ka, Qa, Ja, to, Za, eo, ro, Xa];
1144
+ function Ga(t7, e) {
1145
+ for (let r of Wa) r(t7, e);
1146
+ return t7;
1147
+ }
1148
+ function za(t7) {
1149
+ t7.walk((e) => {
1150
+ if (e.type === "element" && e.tagDefinition.ignoreFirstLf && e.children.length > 0 && e.children[0].type === "text" && e.children[0].value[0] === `
1151
+ `) {
1152
+ let r = e.children[0];
1153
+ r.value.length === 1 ? e.removeChild(r) : r.value = r.value.slice(1);
1154
+ }
1155
+ });
1156
+ }
1157
+ function Ya(t7) {
1158
+ let e = (r) => {
1159
+ var n, s;
1160
+ return r.type === "element" && ((n = r.prev) == null ? void 0 : n.type) === "ieConditionalStartComment" && r.prev.sourceSpan.end.offset === r.startSourceSpan.start.offset && ((s = r.firstChild) == null ? void 0 : s.type) === "ieConditionalEndComment" && r.firstChild.sourceSpan.start.offset === r.startSourceSpan.end.offset;
1161
+ };
1162
+ t7.walk((r) => {
1163
+ if (r.children) for (let n = 0; n < r.children.length; n++) {
1164
+ let s = r.children[n];
1165
+ if (!e(s)) continue;
1166
+ let i = s.prev, a = s.firstChild;
1167
+ r.removeChild(i), n--;
1168
+ let o = new h(i.sourceSpan.start, a.sourceSpan.end), u = new h(o.start, s.sourceSpan.end);
1169
+ s.condition = i.condition, s.sourceSpan = u, s.startSourceSpan = o, s.removeChild(a);
1170
+ }
1171
+ });
1172
+ }
1173
+ function ja(t7, e, r) {
1174
+ t7.walk((n) => {
1175
+ if (n.children) for (let s = 0; s < n.children.length; s++) {
1176
+ let i = n.children[s];
1177
+ if (i.type !== "text" && !e(i)) continue;
1178
+ i.type !== "text" && (i.type = "text", i.value = r(i));
1179
+ let a = i.prev;
1180
+ !a || a.type !== "text" || (a.value += i.value, a.sourceSpan = new h(a.sourceSpan.start, i.sourceSpan.end), n.removeChild(i), s--);
1181
+ }
1182
+ });
1183
+ }
1184
+ function Ka(t7) {
1185
+ return ja(t7, (e) => e.type === "cdata", (e) => `<![CDATA[${e.value}]]>`);
1186
+ }
1187
+ function Xa(t7) {
1188
+ let e = (r) => {
1189
+ var n, s;
1190
+ return r.type === "element" && r.attrs.length === 0 && r.children.length === 1 && r.firstChild.type === "text" && !O.hasWhitespaceCharacter(r.children[0].value) && !r.firstChild.hasLeadingSpaces && !r.firstChild.hasTrailingSpaces && r.isLeadingSpaceSensitive && !r.hasLeadingSpaces && r.isTrailingSpaceSensitive && !r.hasTrailingSpaces && ((n = r.prev) == null ? void 0 : n.type) === "text" && ((s = r.next) == null ? void 0 : s.type) === "text";
1191
+ };
1192
+ t7.walk((r) => {
1193
+ if (r.children) for (let n = 0; n < r.children.length; n++) {
1194
+ let s = r.children[n];
1195
+ if (!e(s)) continue;
1196
+ let i = s.prev, a = s.next;
1197
+ i.value += `<${s.rawName}>` + s.firstChild.value + `</${s.rawName}>` + a.value, i.sourceSpan = new h(i.sourceSpan.start, a.sourceSpan.end), i.isTrailingSpaceSensitive = a.isTrailingSpaceSensitive, i.hasTrailingSpaces = a.hasTrailingSpaces, r.removeChild(s), n--, r.removeChild(a);
1198
+ }
1199
+ });
1200
+ }
1201
+ function Qa(t7, e) {
1202
+ if (e.parser === "html") return;
1203
+ let r = /\{\{(.+?)\}\}/su;
1204
+ t7.walk((n) => {
1205
+ if (qn(n, e)) for (let s of n.children) {
1206
+ if (s.type !== "text") continue;
1207
+ let i = s.sourceSpan.start, a = null, o = s.value.split(r);
1208
+ for (let u = 0; u < o.length; u++, i = a) {
1209
+ let p = o[u];
1210
+ if (u % 2 === 0) {
1211
+ a = i.moveBy(p.length), p.length > 0 && n.insertChildBefore(s, { type: "text", value: p, sourceSpan: new h(i, a) });
1212
+ continue;
1213
+ }
1214
+ a = i.moveBy(p.length + 4), n.insertChildBefore(s, { type: "interpolation", sourceSpan: new h(i, a), children: p.length === 0 ? [] : [{ type: "text", value: p, sourceSpan: new h(i.moveBy(2), a.moveBy(-2)) }] });
1215
+ }
1216
+ n.removeChild(s);
1217
+ }
1218
+ });
1219
+ }
1220
+ function Ja(t7, e) {
1221
+ t7.walk((r) => {
1222
+ let n = r.$children;
1223
+ if (!n) return;
1224
+ if (n.length === 0 || n.length === 1 && n[0].type === "text" && O.trim(n[0].value).length === 0) {
1225
+ r.hasDanglingSpaces = n.length > 0, r.$children = [];
1226
+ return;
1227
+ }
1228
+ let s = Hn(r, e), i = Ar(r);
1229
+ if (!s) for (let a = 0; a < n.length; a++) {
1230
+ let o = n[a];
1231
+ if (o.type !== "text") continue;
1232
+ let { leadingWhitespace: u, text: p, trailingWhitespace: l } = Mn(o.value), m = o.prev, f = o.next;
1233
+ p ? (o.value = p, o.sourceSpan = new h(o.sourceSpan.start.moveBy(u.length), o.sourceSpan.end.moveBy(-l.length)), u && (m && (m.hasTrailingSpaces = true), o.hasLeadingSpaces = true), l && (o.hasTrailingSpaces = true, f && (f.hasLeadingSpaces = true))) : (r.removeChild(o), a--, (u || l) && (m && (m.hasTrailingSpaces = true), f && (f.hasLeadingSpaces = true)));
1234
+ }
1235
+ r.isWhitespaceSensitive = s, r.isIndentationSensitive = i;
1236
+ });
1237
+ }
1238
+ function Za(t7) {
1239
+ t7.walk((e) => {
1240
+ e.isSelfClosing = !e.children || e.type === "element" && (e.tagDefinition.isVoid || e.endSourceSpan && e.startSourceSpan.start === e.endSourceSpan.start && e.startSourceSpan.end === e.endSourceSpan.end);
1241
+ });
1242
+ }
1243
+ function eo(t7, e) {
1244
+ t7.walk((r) => {
1245
+ r.type === "element" && (r.hasHtmComponentClosingTag = r.endSourceSpan && /^<\s*\/\s*\/\s*>$/u.test(e.originalText.slice(r.endSourceSpan.start.offset, r.endSourceSpan.end.offset)));
1246
+ });
1247
+ }
1248
+ function to(t7, e) {
1249
+ t7.walk((r) => {
1250
+ r.cssDisplay = Qn(r, e);
1251
+ });
1252
+ }
1253
+ function ro(t7, e) {
1254
+ t7.walk((r) => {
1255
+ let { children: n } = r;
1256
+ if (n) {
1257
+ if (n.length === 0) {
1258
+ r.isDanglingSpaceSensitive = Wn(r, e);
1259
+ return;
1260
+ }
1261
+ for (let s of n) s.isLeadingSpaceSensitive = Vn(s, e), s.isTrailingSpaceSensitive = Un(s, e);
1262
+ for (let s = 0; s < n.length; s++) {
1263
+ let i = n[s];
1264
+ i.isLeadingSpaceSensitive = (s === 0 || i.prev.isTrailingSpaceSensitive) && i.isLeadingSpaceSensitive, i.isTrailingSpaceSensitive = (s === n.length - 1 || i.next.isLeadingSpaceSensitive) && i.isTrailingSpaceSensitive;
1265
+ }
1266
+ }
1267
+ });
1268
+ }
1269
+ var Ms = Ga;
1270
+ function no(t7, e, r) {
1271
+ let { node: n } = t7;
1272
+ switch (n.type) {
1273
+ case "front-matter":
1274
+ return B(n.raw);
1275
+ case "root":
1276
+ return e.__onHtmlRoot && e.__onHtmlRoot(n), [E(Re(t7, e, r)), S];
1277
+ case "element":
1278
+ case "ieConditionalComment":
1279
+ return Is(t7, e, r);
1280
+ case "angularControlFlowBlock":
1281
+ return Bs(t7, e, r);
1282
+ case "angularControlFlowBlockParameters":
1283
+ return Fs(t7, e, r);
1284
+ case "angularControlFlowBlockParameter":
1285
+ return O.trim(n.expression);
1286
+ case "angularLetDeclaration":
1287
+ return E(["@let ", E([n.id, " =", E(k([_, r("init")]))]), ";"]);
1288
+ case "angularLetDeclarationInitializer":
1289
+ return n.value;
1290
+ case "angularIcuExpression":
1291
+ return Ps(t7, e, r);
1292
+ case "angularIcuCase":
1293
+ return Ns(t7, e, r);
1294
+ case "ieConditionalStartComment":
1295
+ case "ieConditionalEndComment":
1296
+ return [De(n), Se(n)];
1297
+ case "interpolation":
1298
+ return [De(n, e), ...t7.map(r, "children"), Se(n, e)];
1299
+ case "text": {
1300
+ if (n.parent.type === "interpolation") {
1301
+ let o = /\n[^\S\n]*$/u, u = o.test(n.value), p = u ? n.value.replace(o, "") : n.value;
1302
+ return [B(p), u ? S : ""];
1303
+ }
1304
+ let s = z(n, e), i = kt(n), a = G(n, e);
1305
+ return i[0] = [s, i[0]], i.push([i.pop(), a]), vt(i);
1306
+ }
1307
+ case "docType":
1308
+ return [E([De(n, e), " ", w(false, n.value.replace(/^html\b/iu, "html"), /\s+/gu, " ")]), Se(n, e)];
1309
+ case "comment":
1310
+ return [z(n, e), B(e.originalText.slice(J(n), se(n))), G(n, e)];
1311
+ case "attribute": {
1312
+ if (n.value === null) return n.rawName;
1313
+ let s = wr(n.value), i = _n(s, '"');
1314
+ return [n.rawName, "=", i, B(i === '"' ? w(false, s, '"', "&quot;") : w(false, s, "'", "&apos;")), i];
1315
+ }
1316
+ case "cdata":
1317
+ default:
1318
+ throw new An(n, "HTML");
1319
+ }
1320
+ }
1321
+ var so = { preprocess: Ms, print: no, insertPragma: Ts, massageAstNode: vn, embed: Ss, getVisitorKeys: As };
1322
+ var qs = so;
1323
+ var Hs = [{ name: "Angular", type: "markup", extensions: [".component.html"], tmScope: "text.html.basic", aceMode: "html", aliases: ["xhtml"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["angular"], vscodeLanguageIds: ["html"], filenames: [], linguistLanguageId: 146 }, { name: "HTML", type: "markup", extensions: [".html", ".hta", ".htm", ".html.hl", ".inc", ".xht", ".xhtml"], tmScope: "text.html.basic", aceMode: "html", aliases: ["xhtml"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["html"], vscodeLanguageIds: ["html"], linguistLanguageId: 146 }, { name: "Lightning Web Components", type: "markup", extensions: [], tmScope: "text.html.basic", aceMode: "html", aliases: ["xhtml"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["lwc"], vscodeLanguageIds: ["html"], filenames: [], linguistLanguageId: 146 }, { name: "MJML", type: "markup", extensions: [".mjml"], tmScope: "text.mjml.basic", aceMode: "html", aliases: ["MJML", "mjml"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["mjml"], filenames: [], vscodeLanguageIds: ["mjml"], linguistLanguageId: 146 }, { name: "Vue", type: "markup", extensions: [".vue"], tmScope: "source.vue", aceMode: "html", parsers: ["vue"], vscodeLanguageIds: ["vue"], linguistLanguageId: 391 }];
1324
+ var Lr = { bracketSpacing: { category: "Common", type: "boolean", default: true, description: "Print spaces between brackets.", oppositeDescription: "Do not print spaces between brackets." }, objectWrap: { category: "Common", type: "choice", default: "preserve", description: "How to wrap object literals.", choices: [{ value: "preserve", description: "Keep as multi-line, if there is a newline between the opening brace and first property." }, { value: "collapse", description: "Fit to a single line when possible." }] }, singleQuote: { category: "Common", type: "boolean", default: false, description: "Use single quotes instead of double quotes." }, proseWrap: { category: "Common", type: "choice", default: "preserve", description: "How to wrap prose.", choices: [{ value: "always", description: "Wrap prose if it exceeds the print width." }, { value: "never", description: "Do not wrap prose." }, { value: "preserve", description: "Wrap prose as-is." }] }, 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." } };
1325
+ var Vs = "HTML";
1326
+ var io = { bracketSameLine: Lr.bracketSameLine, htmlWhitespaceSensitivity: { category: Vs, 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: Lr.singleAttributePerLine, vueIndentScriptAndStyle: { category: Vs, type: "boolean", default: false, description: "Indent script and style tags in Vue files." } };
1327
+ var Us = io;
1328
+ var tn = {};
1329
+ ln(tn, { angular: () => iu, html: () => ru, lwc: () => ou, mjml: () => su, vue: () => au });
1330
+ var ah = new RegExp(`(\\:not\\()|(([\\.\\#]?)[-\\w]+)|(?:\\[([-.\\w*\\\\$]+)(?:=(["']?)([^\\]"']*)\\5)?\\])|(\\))|(\\s*,\\s*)`, "g");
1331
+ var Ws;
1332
+ (function(t7) {
1333
+ t7[t7.Emulated = 0] = "Emulated", t7[t7.None = 2] = "None", t7[t7.ShadowDom = 3] = "ShadowDom";
1334
+ })(Ws || (Ws = {}));
1335
+ var Gs;
1336
+ (function(t7) {
1337
+ t7[t7.OnPush = 0] = "OnPush", t7[t7.Default = 1] = "Default";
1338
+ })(Gs || (Gs = {}));
1339
+ var zs;
1340
+ (function(t7) {
1341
+ t7[t7.None = 0] = "None", t7[t7.SignalBased = 1] = "SignalBased", t7[t7.HasDecoratorInputTransform = 2] = "HasDecoratorInputTransform";
1342
+ })(zs || (zs = {}));
1343
+ var Fr = { name: "custom-elements" };
1344
+ var Pr = { name: "no-errors-schema" };
1345
+ var Z;
1346
+ (function(t7) {
1347
+ t7[t7.NONE = 0] = "NONE", t7[t7.HTML = 1] = "HTML", t7[t7.STYLE = 2] = "STYLE", t7[t7.SCRIPT = 3] = "SCRIPT", t7[t7.URL = 4] = "URL", t7[t7.RESOURCE_URL = 5] = "RESOURCE_URL";
1348
+ })(Z || (Z = {}));
1349
+ var Ys;
1350
+ (function(t7) {
1351
+ t7[t7.Error = 0] = "Error", t7[t7.Warning = 1] = "Warning", t7[t7.Ignore = 2] = "Ignore";
1352
+ })(Ys || (Ys = {}));
1353
+ var N;
1354
+ (function(t7) {
1355
+ t7[t7.RAW_TEXT = 0] = "RAW_TEXT", t7[t7.ESCAPABLE_RAW_TEXT = 1] = "ESCAPABLE_RAW_TEXT", t7[t7.PARSABLE_DATA = 2] = "PARSABLE_DATA";
1356
+ })(N || (N = {}));
1357
+ function ct(t7, e = true) {
1358
+ if (t7[0] != ":") return [null, t7];
1359
+ let r = t7.indexOf(":", 1);
1360
+ if (r === -1) {
1361
+ if (e) throw new Error(`Unsupported format "${t7}" expecting ":namespace:name"`);
1362
+ return [null, t7];
1363
+ }
1364
+ return [t7.slice(1, r), t7.slice(r + 1)];
1365
+ }
1366
+ function Nr(t7) {
1367
+ return ct(t7)[1] === "ng-container";
1368
+ }
1369
+ function Ir(t7) {
1370
+ return ct(t7)[1] === "ng-content";
1371
+ }
1372
+ function Me(t7) {
1373
+ return t7 === null ? null : ct(t7)[0];
1374
+ }
1375
+ function qe(t7, e) {
1376
+ return t7 ? `:${t7}:${e}` : e;
1377
+ }
1378
+ var Ht;
1379
+ function Rr() {
1380
+ return Ht || (Ht = {}, qt(Z.HTML, ["iframe|srcdoc", "*|innerHTML", "*|outerHTML"]), qt(Z.STYLE, ["*|style"]), qt(Z.URL, ["*|formAction", "area|href", "area|ping", "audio|src", "a|href", "a|ping", "blockquote|cite", "body|background", "del|cite", "form|action", "img|src", "input|src", "ins|cite", "q|cite", "source|src", "track|src", "video|poster", "video|src"]), qt(Z.RESOURCE_URL, ["applet|code", "applet|codebase", "base|href", "embed|src", "frame|src", "head|profile", "html|manifest", "iframe|src", "link|href", "media|src", "object|codebase", "object|data", "script|src"])), Ht;
1381
+ }
1382
+ function qt(t7, e) {
1383
+ for (let r of e) Ht[r.toLowerCase()] = t7;
1384
+ }
1385
+ var Vt = class {
1386
+ };
1387
+ var ao = "boolean";
1388
+ var oo = "number";
1389
+ var uo = "string";
1390
+ var lo = "object";
1391
+ var co = ["[Element]|textContent,%ariaAtomic,%ariaAutoComplete,%ariaBusy,%ariaChecked,%ariaColCount,%ariaColIndex,%ariaColSpan,%ariaCurrent,%ariaDescription,%ariaDisabled,%ariaExpanded,%ariaHasPopup,%ariaHidden,%ariaKeyShortcuts,%ariaLabel,%ariaLevel,%ariaLive,%ariaModal,%ariaMultiLine,%ariaMultiSelectable,%ariaOrientation,%ariaPlaceholder,%ariaPosInSet,%ariaPressed,%ariaReadOnly,%ariaRelevant,%ariaRequired,%ariaRoleDescription,%ariaRowCount,%ariaRowIndex,%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,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", "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,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", "slot^[HTMLElement]|name", "source^[HTMLElement]|#height,media,sizes,src,srcset,type,#width", "span^[HTMLElement]|", "style^[HTMLElement]|!disabled,media,type", "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:|"];
1392
+ var js = new Map(Object.entries({ class: "className", for: "htmlFor", formaction: "formAction", innerHtml: "innerHTML", readonly: "readOnly", tabindex: "tabIndex" }));
1393
+ var po = Array.from(js).reduce((t7, [e, r]) => (t7.set(e, r), t7), /* @__PURE__ */ new Map());
1394
+ var Ut = class extends Vt {
1395
+ constructor() {
1396
+ super(), this._schema = /* @__PURE__ */ new Map(), this._eventSchema = /* @__PURE__ */ new Map(), co.forEach((e) => {
1397
+ let r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Set(), [s, i] = e.split("|"), a = i.split(","), [o, u] = s.split("^");
1398
+ o.split(",").forEach((l) => {
1399
+ this._schema.set(l.toLowerCase(), r), this._eventSchema.set(l.toLowerCase(), n);
1400
+ });
1401
+ let p = u && this._schema.get(u.toLowerCase());
1402
+ if (p) {
1403
+ for (let [l, m] of p) r.set(l, m);
1404
+ for (let l of this._eventSchema.get(u.toLowerCase())) n.add(l);
1405
+ }
1406
+ a.forEach((l) => {
1407
+ if (l.length > 0) switch (l[0]) {
1408
+ case "*":
1409
+ n.add(l.substring(1));
1410
+ break;
1411
+ case "!":
1412
+ r.set(l.substring(1), ao);
1413
+ break;
1414
+ case "#":
1415
+ r.set(l.substring(1), oo);
1416
+ break;
1417
+ case "%":
1418
+ r.set(l.substring(1), lo);
1419
+ break;
1420
+ default:
1421
+ r.set(l, uo);
1422
+ }
1423
+ });
1424
+ });
1425
+ }
1426
+ hasProperty(e, r, n) {
1427
+ if (n.some((i) => i.name === Pr.name)) return true;
1428
+ if (e.indexOf("-") > -1) {
1429
+ if (Nr(e) || Ir(e)) return false;
1430
+ if (n.some((i) => i.name === Fr.name)) return true;
1431
+ }
1432
+ return (this._schema.get(e.toLowerCase()) || this._schema.get("unknown")).has(r);
1433
+ }
1434
+ hasElement(e, r) {
1435
+ return r.some((n) => n.name === Pr.name) || e.indexOf("-") > -1 && (Nr(e) || Ir(e) || r.some((n) => n.name === Fr.name)) ? true : this._schema.has(e.toLowerCase());
1436
+ }
1437
+ securityContext(e, r, n) {
1438
+ n && (r = this.getMappedPropName(r)), e = e.toLowerCase(), r = r.toLowerCase();
1439
+ let s = Rr()[e + "|" + r];
1440
+ return s || (s = Rr()["*|" + r], s || Z.NONE);
1441
+ }
1442
+ getMappedPropName(e) {
1443
+ return js.get(e) ?? e;
1444
+ }
1445
+ getDefaultComponentElementName() {
1446
+ return "ng-component";
1447
+ }
1448
+ validateProperty(e) {
1449
+ return e.toLowerCase().startsWith("on") ? { error: true, msg: `Binding to event property '${e}' is disallowed for security reasons, please use (${e.slice(2)})=...
1450
+ If '${e}' is a directive input, make sure the directive is imported by the current module.` } : { error: false };
1451
+ }
1452
+ validateAttribute(e) {
1453
+ 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 };
1454
+ }
1455
+ allKnownElementNames() {
1456
+ return Array.from(this._schema.keys());
1457
+ }
1458
+ allKnownAttributesOfElement(e) {
1459
+ let r = this._schema.get(e.toLowerCase()) || this._schema.get("unknown");
1460
+ return Array.from(r.keys()).map((n) => po.get(n) ?? n);
1461
+ }
1462
+ allKnownEventsOfElement(e) {
1463
+ return Array.from(this._eventSchema.get(e.toLowerCase()) ?? []);
1464
+ }
1465
+ normalizeAnimationStyleProperty(e) {
1466
+ return Os(e);
1467
+ }
1468
+ normalizeAnimationStyleValue(e, r, n) {
1469
+ let s = "", i = n.toString().trim(), a = null;
1470
+ if (ho(e) && n !== 0 && n !== "0") if (typeof n == "number") s = "px";
1471
+ else {
1472
+ let o = n.match(/^[+-]?[\d\.]+([a-z]*)$/);
1473
+ o && o[1].length == 0 && (a = `Please provide a CSS unit value for ${r}:${n}`);
1474
+ }
1475
+ return { error: a, value: i + s };
1476
+ }
1477
+ };
1478
+ function ho(t7) {
1479
+ switch (t7) {
1480
+ case "width":
1481
+ case "height":
1482
+ case "minWidth":
1483
+ case "minHeight":
1484
+ case "maxWidth":
1485
+ case "maxHeight":
1486
+ case "left":
1487
+ case "top":
1488
+ case "bottom":
1489
+ case "right":
1490
+ case "fontSize":
1491
+ case "outlineWidth":
1492
+ case "outlineOffset":
1493
+ case "paddingTop":
1494
+ case "paddingLeft":
1495
+ case "paddingBottom":
1496
+ case "paddingRight":
1497
+ case "marginTop":
1498
+ case "marginLeft":
1499
+ case "marginBottom":
1500
+ case "marginRight":
1501
+ case "borderRadius":
1502
+ case "borderWidth":
1503
+ case "borderTopWidth":
1504
+ case "borderLeftWidth":
1505
+ case "borderRightWidth":
1506
+ case "borderBottomWidth":
1507
+ case "textIndent":
1508
+ return true;
1509
+ default:
1510
+ return false;
1511
+ }
1512
+ }
1513
+ var d = class {
1514
+ constructor({ closedByChildren: e, implicitNamespacePrefix: r, contentType: n = N.PARSABLE_DATA, closedByParent: s = false, isVoid: i = false, ignoreFirstLf: a = false, preventNamespaceInheritance: o = false, canSelfClose: u = false } = {}) {
1515
+ this.closedByChildren = {}, this.closedByParent = false, e && e.length > 0 && e.forEach((p) => this.closedByChildren[p] = true), this.isVoid = i, this.closedByParent = s || i, this.implicitNamespacePrefix = r || null, this.contentType = n, this.ignoreFirstLf = a, this.preventNamespaceInheritance = o, this.canSelfClose = u ?? i;
1516
+ }
1517
+ isClosedByChild(e) {
1518
+ return this.isVoid || e.toLowerCase() in this.closedByChildren;
1519
+ }
1520
+ getContentType(e) {
1521
+ return typeof this.contentType == "object" ? (e === void 0 ? void 0 : this.contentType[e]) ?? this.contentType.default : this.contentType;
1522
+ }
1523
+ };
1524
+ var Ks;
1525
+ var pt;
1526
+ function He(t7) {
1527
+ return pt || (Ks = new d({ canSelfClose: true }), pt = Object.assign(/* @__PURE__ */ Object.create(null), { base: new d({ isVoid: true }), meta: new d({ isVoid: true }), area: new d({ isVoid: true }), embed: new d({ isVoid: true }), link: new d({ isVoid: true }), img: new d({ isVoid: true }), input: new d({ isVoid: true }), param: new d({ isVoid: true }), hr: new d({ isVoid: true }), br: new d({ isVoid: true }), source: new d({ isVoid: true }), track: new d({ isVoid: true }), wbr: new d({ isVoid: true }), p: new d({ 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 d({ closedByChildren: ["tbody", "tfoot"] }), tbody: new d({ closedByChildren: ["tbody", "tfoot"], closedByParent: true }), tfoot: new d({ closedByChildren: ["tbody"], closedByParent: true }), tr: new d({ closedByChildren: ["tr"], closedByParent: true }), td: new d({ closedByChildren: ["td", "th"], closedByParent: true }), th: new d({ closedByChildren: ["td", "th"], closedByParent: true }), col: new d({ isVoid: true }), svg: new d({ implicitNamespacePrefix: "svg" }), foreignObject: new d({ implicitNamespacePrefix: "svg", preventNamespaceInheritance: true }), math: new d({ implicitNamespacePrefix: "math" }), li: new d({ closedByChildren: ["li"], closedByParent: true }), dt: new d({ closedByChildren: ["dt", "dd"] }), dd: new d({ closedByChildren: ["dt", "dd"], closedByParent: true }), rb: new d({ closedByChildren: ["rb", "rt", "rtc", "rp"], closedByParent: true }), rt: new d({ closedByChildren: ["rb", "rt", "rtc", "rp"], closedByParent: true }), rtc: new d({ closedByChildren: ["rb", "rtc", "rp"], closedByParent: true }), rp: new d({ closedByChildren: ["rb", "rt", "rtc", "rp"], closedByParent: true }), optgroup: new d({ closedByChildren: ["optgroup"], closedByParent: true }), option: new d({ closedByChildren: ["option", "optgroup"], closedByParent: true }), pre: new d({ ignoreFirstLf: true }), listing: new d({ ignoreFirstLf: true }), style: new d({ contentType: N.RAW_TEXT }), script: new d({ contentType: N.RAW_TEXT }), title: new d({ contentType: { default: N.ESCAPABLE_RAW_TEXT, svg: N.PARSABLE_DATA } }), textarea: new d({ contentType: N.ESCAPABLE_RAW_TEXT, ignoreFirstLf: true }) }), new Ut().allKnownElementNames().forEach((e) => {
1528
+ !pt[e] && Me(e) === null && (pt[e] = new d({ canSelfClose: false }));
1529
+ })), pt[t7] ?? Ks;
1530
+ }
1531
+ var ae = class {
1532
+ constructor(e, r) {
1533
+ this.sourceSpan = e, this.i18n = r;
1534
+ }
1535
+ };
1536
+ var Wt = class extends ae {
1537
+ constructor(e, r, n, s) {
1538
+ super(r, s), this.value = e, this.tokens = n, this.type = "text";
1539
+ }
1540
+ visit(e, r) {
1541
+ return e.visitText(this, r);
1542
+ }
1543
+ };
1544
+ var Gt = class extends ae {
1545
+ constructor(e, r, n, s) {
1546
+ super(r, s), this.value = e, this.tokens = n, this.type = "cdata";
1547
+ }
1548
+ visit(e, r) {
1549
+ return e.visitCdata(this, r);
1550
+ }
1551
+ };
1552
+ var zt = class extends ae {
1553
+ constructor(e, r, n, s, i, a) {
1554
+ super(s, a), this.switchValue = e, this.type = r, this.cases = n, this.switchValueSourceSpan = i;
1555
+ }
1556
+ visit(e, r) {
1557
+ return e.visitExpansion(this, r);
1558
+ }
1559
+ };
1560
+ var Yt = class {
1561
+ constructor(e, r, n, s, i) {
1562
+ this.value = e, this.expression = r, this.sourceSpan = n, this.valueSourceSpan = s, this.expSourceSpan = i, this.type = "expansionCase";
1563
+ }
1564
+ visit(e, r) {
1565
+ return e.visitExpansionCase(this, r);
1566
+ }
1567
+ };
1568
+ var jt = class extends ae {
1569
+ constructor(e, r, n, s, i, a, o) {
1570
+ super(n, o), this.name = e, this.value = r, this.keySpan = s, this.valueSpan = i, this.valueTokens = a, this.type = "attribute";
1571
+ }
1572
+ visit(e, r) {
1573
+ return e.visitAttribute(this, r);
1574
+ }
1575
+ get nameSpan() {
1576
+ return this.keySpan;
1577
+ }
1578
+ };
1579
+ var Y = class extends ae {
1580
+ constructor(e, r, n, s, i, a = null, o = null, u) {
1581
+ super(s, u), this.name = e, this.attrs = r, this.children = n, this.startSourceSpan = i, this.endSourceSpan = a, this.nameSpan = o, this.type = "element";
1582
+ }
1583
+ visit(e, r) {
1584
+ return e.visitElement(this, r);
1585
+ }
1586
+ };
1587
+ var Kt = class {
1588
+ constructor(e, r) {
1589
+ this.value = e, this.sourceSpan = r, this.type = "comment";
1590
+ }
1591
+ visit(e, r) {
1592
+ return e.visitComment(this, r);
1593
+ }
1594
+ };
1595
+ var Xt = class {
1596
+ constructor(e, r) {
1597
+ this.value = e, this.sourceSpan = r, this.type = "docType";
1598
+ }
1599
+ visit(e, r) {
1600
+ return e.visitDocType(this, r);
1601
+ }
1602
+ };
1603
+ var ee = class extends ae {
1604
+ constructor(e, r, n, s, i, a, o = null, u) {
1605
+ super(s, u), this.name = e, this.parameters = r, this.children = n, this.nameSpan = i, this.startSourceSpan = a, this.endSourceSpan = o, this.type = "block";
1606
+ }
1607
+ visit(e, r) {
1608
+ return e.visitBlock(this, r);
1609
+ }
1610
+ };
1611
+ var ht = class {
1612
+ constructor(e, r) {
1613
+ this.expression = e, this.sourceSpan = r, this.type = "blockParameter", this.startSourceSpan = null, this.endSourceSpan = null;
1614
+ }
1615
+ visit(e, r) {
1616
+ return e.visitBlockParameter(this, r);
1617
+ }
1618
+ };
1619
+ var mt = class {
1620
+ constructor(e, r, n, s, i) {
1621
+ this.name = e, this.value = r, this.sourceSpan = n, this.nameSpan = s, this.valueSpan = i, this.type = "letDeclaration", this.startSourceSpan = null, this.endSourceSpan = null;
1622
+ }
1623
+ visit(e, r) {
1624
+ return e.visitLetDeclaration(this, r);
1625
+ }
1626
+ };
1627
+ function Qt(t7, e, r = null) {
1628
+ let n = [], s = t7.visit ? (i) => t7.visit(i, r) || i.visit(t7, r) : (i) => i.visit(t7, r);
1629
+ return e.forEach((i) => {
1630
+ let a = s(i);
1631
+ a && n.push(a);
1632
+ }), n;
1633
+ }
1634
+ var ft = class {
1635
+ constructor() {
1636
+ }
1637
+ visitElement(e, r) {
1638
+ this.visitChildren(r, (n) => {
1639
+ n(e.attrs), n(e.children);
1640
+ });
1641
+ }
1642
+ visitAttribute(e, r) {
1643
+ }
1644
+ visitText(e, r) {
1645
+ }
1646
+ visitCdata(e, r) {
1647
+ }
1648
+ visitComment(e, r) {
1649
+ }
1650
+ visitDocType(e, r) {
1651
+ }
1652
+ visitExpansion(e, r) {
1653
+ return this.visitChildren(r, (n) => {
1654
+ n(e.cases);
1655
+ });
1656
+ }
1657
+ visitExpansionCase(e, r) {
1658
+ }
1659
+ visitBlock(e, r) {
1660
+ this.visitChildren(r, (n) => {
1661
+ n(e.parameters), n(e.children);
1662
+ });
1663
+ }
1664
+ visitBlockParameter(e, r) {
1665
+ }
1666
+ visitLetDeclaration(e, r) {
1667
+ }
1668
+ visitChildren(e, r) {
1669
+ let n = [], s = this;
1670
+ function i(a) {
1671
+ a && n.push(Qt(s, a, e));
1672
+ }
1673
+ return r(i), Array.prototype.concat.apply([], n);
1674
+ }
1675
+ };
1676
+ var Ve = { AElig: "\xC6", AMP: "&", amp: "&", Aacute: "\xC1", Abreve: "\u0102", Acirc: "\xC2", Acy: "\u0410", Afr: "\u{1D504}", Agrave: "\xC0", Alpha: "\u0391", Amacr: "\u0100", And: "\u2A53", Aogon: "\u0104", Aopf: "\u{1D538}", ApplyFunction: "\u2061", af: "\u2061", Aring: "\xC5", angst: "\xC5", Ascr: "\u{1D49C}", Assign: "\u2254", colone: "\u2254", coloneq: "\u2254", Atilde: "\xC3", Auml: "\xC4", Backslash: "\u2216", setminus: "\u2216", setmn: "\u2216", smallsetminus: "\u2216", ssetmn: "\u2216", Barv: "\u2AE7", Barwed: "\u2306", doublebarwedge: "\u2306", Bcy: "\u0411", Because: "\u2235", becaus: "\u2235", because: "\u2235", Bernoullis: "\u212C", Bscr: "\u212C", bernou: "\u212C", Beta: "\u0392", Bfr: "\u{1D505}", Bopf: "\u{1D539}", Breve: "\u02D8", breve: "\u02D8", Bumpeq: "\u224E", HumpDownHump: "\u224E", bump: "\u224E", CHcy: "\u0427", COPY: "\xA9", copy: "\xA9", Cacute: "\u0106", Cap: "\u22D2", CapitalDifferentialD: "\u2145", DD: "\u2145", Cayleys: "\u212D", Cfr: "\u212D", Ccaron: "\u010C", Ccedil: "\xC7", Ccirc: "\u0108", Cconint: "\u2230", Cdot: "\u010A", Cedilla: "\xB8", cedil: "\xB8", CenterDot: "\xB7", centerdot: "\xB7", middot: "\xB7", Chi: "\u03A7", CircleDot: "\u2299", odot: "\u2299", CircleMinus: "\u2296", ominus: "\u2296", CirclePlus: "\u2295", oplus: "\u2295", CircleTimes: "\u2297", otimes: "\u2297", ClockwiseContourIntegral: "\u2232", cwconint: "\u2232", CloseCurlyDoubleQuote: "\u201D", rdquo: "\u201D", rdquor: "\u201D", CloseCurlyQuote: "\u2019", rsquo: "\u2019", rsquor: "\u2019", Colon: "\u2237", Proportion: "\u2237", Colone: "\u2A74", Congruent: "\u2261", equiv: "\u2261", Conint: "\u222F", DoubleContourIntegral: "\u222F", ContourIntegral: "\u222E", conint: "\u222E", oint: "\u222E", Copf: "\u2102", complexes: "\u2102", Coproduct: "\u2210", coprod: "\u2210", CounterClockwiseContourIntegral: "\u2233", awconint: "\u2233", Cross: "\u2A2F", Cscr: "\u{1D49E}", Cup: "\u22D3", CupCap: "\u224D", asympeq: "\u224D", DDotrahd: "\u2911", DJcy: "\u0402", DScy: "\u0405", DZcy: "\u040F", Dagger: "\u2021", ddagger: "\u2021", Darr: "\u21A1", Dashv: "\u2AE4", DoubleLeftTee: "\u2AE4", Dcaron: "\u010E", Dcy: "\u0414", Del: "\u2207", nabla: "\u2207", Delta: "\u0394", Dfr: "\u{1D507}", DiacriticalAcute: "\xB4", acute: "\xB4", DiacriticalDot: "\u02D9", dot: "\u02D9", DiacriticalDoubleAcute: "\u02DD", dblac: "\u02DD", DiacriticalGrave: "`", grave: "`", DiacriticalTilde: "\u02DC", tilde: "\u02DC", Diamond: "\u22C4", diam: "\u22C4", diamond: "\u22C4", DifferentialD: "\u2146", dd: "\u2146", Dopf: "\u{1D53B}", Dot: "\xA8", DoubleDot: "\xA8", die: "\xA8", uml: "\xA8", DotDot: "\u20DC", DotEqual: "\u2250", doteq: "\u2250", esdot: "\u2250", DoubleDownArrow: "\u21D3", Downarrow: "\u21D3", dArr: "\u21D3", DoubleLeftArrow: "\u21D0", Leftarrow: "\u21D0", lArr: "\u21D0", DoubleLeftRightArrow: "\u21D4", Leftrightarrow: "\u21D4", hArr: "\u21D4", iff: "\u21D4", DoubleLongLeftArrow: "\u27F8", Longleftarrow: "\u27F8", xlArr: "\u27F8", DoubleLongLeftRightArrow: "\u27FA", Longleftrightarrow: "\u27FA", xhArr: "\u27FA", DoubleLongRightArrow: "\u27F9", Longrightarrow: "\u27F9", xrArr: "\u27F9", DoubleRightArrow: "\u21D2", Implies: "\u21D2", Rightarrow: "\u21D2", rArr: "\u21D2", DoubleRightTee: "\u22A8", vDash: "\u22A8", DoubleUpArrow: "\u21D1", Uparrow: "\u21D1", uArr: "\u21D1", DoubleUpDownArrow: "\u21D5", Updownarrow: "\u21D5", vArr: "\u21D5", DoubleVerticalBar: "\u2225", par: "\u2225", parallel: "\u2225", shortparallel: "\u2225", spar: "\u2225", DownArrow: "\u2193", ShortDownArrow: "\u2193", darr: "\u2193", downarrow: "\u2193", DownArrowBar: "\u2913", DownArrowUpArrow: "\u21F5", duarr: "\u21F5", DownBreve: "\u0311", DownLeftRightVector: "\u2950", DownLeftTeeVector: "\u295E", DownLeftVector: "\u21BD", leftharpoondown: "\u21BD", lhard: "\u21BD", DownLeftVectorBar: "\u2956", DownRightTeeVector: "\u295F", DownRightVector: "\u21C1", rhard: "\u21C1", rightharpoondown: "\u21C1", DownRightVectorBar: "\u2957", DownTee: "\u22A4", top: "\u22A4", DownTeeArrow: "\u21A7", mapstodown: "\u21A7", Dscr: "\u{1D49F}", Dstrok: "\u0110", ENG: "\u014A", ETH: "\xD0", Eacute: "\xC9", Ecaron: "\u011A", Ecirc: "\xCA", Ecy: "\u042D", Edot: "\u0116", Efr: "\u{1D508}", Egrave: "\xC8", Element: "\u2208", in: "\u2208", isin: "\u2208", isinv: "\u2208", Emacr: "\u0112", EmptySmallSquare: "\u25FB", EmptyVerySmallSquare: "\u25AB", Eogon: "\u0118", Eopf: "\u{1D53C}", Epsilon: "\u0395", Equal: "\u2A75", EqualTilde: "\u2242", eqsim: "\u2242", esim: "\u2242", Equilibrium: "\u21CC", rightleftharpoons: "\u21CC", rlhar: "\u21CC", Escr: "\u2130", expectation: "\u2130", Esim: "\u2A73", Eta: "\u0397", Euml: "\xCB", Exists: "\u2203", exist: "\u2203", ExponentialE: "\u2147", ee: "\u2147", exponentiale: "\u2147", Fcy: "\u0424", Ffr: "\u{1D509}", FilledSmallSquare: "\u25FC", FilledVerySmallSquare: "\u25AA", blacksquare: "\u25AA", squarf: "\u25AA", squf: "\u25AA", Fopf: "\u{1D53D}", ForAll: "\u2200", forall: "\u2200", Fouriertrf: "\u2131", Fscr: "\u2131", GJcy: "\u0403", GT: ">", gt: ">", Gamma: "\u0393", Gammad: "\u03DC", Gbreve: "\u011E", Gcedil: "\u0122", Gcirc: "\u011C", Gcy: "\u0413", Gdot: "\u0120", Gfr: "\u{1D50A}", Gg: "\u22D9", ggg: "\u22D9", Gopf: "\u{1D53E}", GreaterEqual: "\u2265", ge: "\u2265", geq: "\u2265", GreaterEqualLess: "\u22DB", gel: "\u22DB", gtreqless: "\u22DB", GreaterFullEqual: "\u2267", gE: "\u2267", geqq: "\u2267", GreaterGreater: "\u2AA2", GreaterLess: "\u2277", gl: "\u2277", gtrless: "\u2277", GreaterSlantEqual: "\u2A7E", geqslant: "\u2A7E", ges: "\u2A7E", GreaterTilde: "\u2273", gsim: "\u2273", gtrsim: "\u2273", Gscr: "\u{1D4A2}", Gt: "\u226B", NestedGreaterGreater: "\u226B", gg: "\u226B", HARDcy: "\u042A", Hacek: "\u02C7", caron: "\u02C7", Hat: "^", Hcirc: "\u0124", Hfr: "\u210C", Poincareplane: "\u210C", HilbertSpace: "\u210B", Hscr: "\u210B", hamilt: "\u210B", Hopf: "\u210D", quaternions: "\u210D", HorizontalLine: "\u2500", boxh: "\u2500", Hstrok: "\u0126", HumpEqual: "\u224F", bumpe: "\u224F", bumpeq: "\u224F", IEcy: "\u0415", IJlig: "\u0132", IOcy: "\u0401", Iacute: "\xCD", Icirc: "\xCE", Icy: "\u0418", Idot: "\u0130", Ifr: "\u2111", Im: "\u2111", image: "\u2111", imagpart: "\u2111", Igrave: "\xCC", Imacr: "\u012A", ImaginaryI: "\u2148", ii: "\u2148", Int: "\u222C", Integral: "\u222B", int: "\u222B", Intersection: "\u22C2", bigcap: "\u22C2", xcap: "\u22C2", InvisibleComma: "\u2063", ic: "\u2063", InvisibleTimes: "\u2062", it: "\u2062", Iogon: "\u012E", Iopf: "\u{1D540}", Iota: "\u0399", Iscr: "\u2110", imagline: "\u2110", Itilde: "\u0128", Iukcy: "\u0406", Iuml: "\xCF", Jcirc: "\u0134", Jcy: "\u0419", Jfr: "\u{1D50D}", Jopf: "\u{1D541}", Jscr: "\u{1D4A5}", Jsercy: "\u0408", Jukcy: "\u0404", KHcy: "\u0425", KJcy: "\u040C", Kappa: "\u039A", Kcedil: "\u0136", Kcy: "\u041A", Kfr: "\u{1D50E}", Kopf: "\u{1D542}", Kscr: "\u{1D4A6}", LJcy: "\u0409", LT: "<", lt: "<", Lacute: "\u0139", Lambda: "\u039B", Lang: "\u27EA", Laplacetrf: "\u2112", Lscr: "\u2112", lagran: "\u2112", Larr: "\u219E", twoheadleftarrow: "\u219E", Lcaron: "\u013D", Lcedil: "\u013B", Lcy: "\u041B", LeftAngleBracket: "\u27E8", lang: "\u27E8", langle: "\u27E8", LeftArrow: "\u2190", ShortLeftArrow: "\u2190", larr: "\u2190", leftarrow: "\u2190", slarr: "\u2190", LeftArrowBar: "\u21E4", larrb: "\u21E4", LeftArrowRightArrow: "\u21C6", leftrightarrows: "\u21C6", lrarr: "\u21C6", LeftCeiling: "\u2308", lceil: "\u2308", LeftDoubleBracket: "\u27E6", lobrk: "\u27E6", LeftDownTeeVector: "\u2961", LeftDownVector: "\u21C3", dharl: "\u21C3", downharpoonleft: "\u21C3", LeftDownVectorBar: "\u2959", LeftFloor: "\u230A", lfloor: "\u230A", LeftRightArrow: "\u2194", harr: "\u2194", leftrightarrow: "\u2194", LeftRightVector: "\u294E", LeftTee: "\u22A3", dashv: "\u22A3", LeftTeeArrow: "\u21A4", mapstoleft: "\u21A4", LeftTeeVector: "\u295A", LeftTriangle: "\u22B2", vartriangleleft: "\u22B2", vltri: "\u22B2", LeftTriangleBar: "\u29CF", LeftTriangleEqual: "\u22B4", ltrie: "\u22B4", trianglelefteq: "\u22B4", LeftUpDownVector: "\u2951", LeftUpTeeVector: "\u2960", LeftUpVector: "\u21BF", uharl: "\u21BF", upharpoonleft: "\u21BF", LeftUpVectorBar: "\u2958", LeftVector: "\u21BC", leftharpoonup: "\u21BC", lharu: "\u21BC", LeftVectorBar: "\u2952", LessEqualGreater: "\u22DA", leg: "\u22DA", lesseqgtr: "\u22DA", LessFullEqual: "\u2266", lE: "\u2266", leqq: "\u2266", LessGreater: "\u2276", lessgtr: "\u2276", lg: "\u2276", LessLess: "\u2AA1", LessSlantEqual: "\u2A7D", leqslant: "\u2A7D", les: "\u2A7D", LessTilde: "\u2272", lesssim: "\u2272", lsim: "\u2272", Lfr: "\u{1D50F}", Ll: "\u22D8", Lleftarrow: "\u21DA", lAarr: "\u21DA", Lmidot: "\u013F", LongLeftArrow: "\u27F5", longleftarrow: "\u27F5", xlarr: "\u27F5", LongLeftRightArrow: "\u27F7", longleftrightarrow: "\u27F7", xharr: "\u27F7", LongRightArrow: "\u27F6", longrightarrow: "\u27F6", xrarr: "\u27F6", Lopf: "\u{1D543}", LowerLeftArrow: "\u2199", swarr: "\u2199", swarrow: "\u2199", LowerRightArrow: "\u2198", searr: "\u2198", searrow: "\u2198", Lsh: "\u21B0", lsh: "\u21B0", Lstrok: "\u0141", Lt: "\u226A", NestedLessLess: "\u226A", ll: "\u226A", Map: "\u2905", Mcy: "\u041C", MediumSpace: "\u205F", Mellintrf: "\u2133", Mscr: "\u2133", phmmat: "\u2133", Mfr: "\u{1D510}", MinusPlus: "\u2213", mnplus: "\u2213", mp: "\u2213", Mopf: "\u{1D544}", Mu: "\u039C", NJcy: "\u040A", Nacute: "\u0143", Ncaron: "\u0147", Ncedil: "\u0145", Ncy: "\u041D", NegativeMediumSpace: "\u200B", NegativeThickSpace: "\u200B", NegativeThinSpace: "\u200B", NegativeVeryThinSpace: "\u200B", ZeroWidthSpace: "\u200B", NewLine: `
1677
+ `, Nfr: "\u{1D511}", NoBreak: "\u2060", NonBreakingSpace: "\xA0", nbsp: "\xA0", Nopf: "\u2115", naturals: "\u2115", Not: "\u2AEC", NotCongruent: "\u2262", nequiv: "\u2262", NotCupCap: "\u226D", NotDoubleVerticalBar: "\u2226", npar: "\u2226", nparallel: "\u2226", nshortparallel: "\u2226", nspar: "\u2226", NotElement: "\u2209", notin: "\u2209", notinva: "\u2209", NotEqual: "\u2260", ne: "\u2260", NotEqualTilde: "\u2242\u0338", nesim: "\u2242\u0338", NotExists: "\u2204", nexist: "\u2204", nexists: "\u2204", NotGreater: "\u226F", ngt: "\u226F", ngtr: "\u226F", NotGreaterEqual: "\u2271", nge: "\u2271", ngeq: "\u2271", NotGreaterFullEqual: "\u2267\u0338", ngE: "\u2267\u0338", ngeqq: "\u2267\u0338", NotGreaterGreater: "\u226B\u0338", nGtv: "\u226B\u0338", NotGreaterLess: "\u2279", ntgl: "\u2279", NotGreaterSlantEqual: "\u2A7E\u0338", ngeqslant: "\u2A7E\u0338", nges: "\u2A7E\u0338", NotGreaterTilde: "\u2275", ngsim: "\u2275", NotHumpDownHump: "\u224E\u0338", nbump: "\u224E\u0338", NotHumpEqual: "\u224F\u0338", nbumpe: "\u224F\u0338", NotLeftTriangle: "\u22EA", nltri: "\u22EA", ntriangleleft: "\u22EA", NotLeftTriangleBar: "\u29CF\u0338", NotLeftTriangleEqual: "\u22EC", nltrie: "\u22EC", ntrianglelefteq: "\u22EC", NotLess: "\u226E", nless: "\u226E", nlt: "\u226E", NotLessEqual: "\u2270", nle: "\u2270", nleq: "\u2270", NotLessGreater: "\u2278", ntlg: "\u2278", NotLessLess: "\u226A\u0338", nLtv: "\u226A\u0338", NotLessSlantEqual: "\u2A7D\u0338", nleqslant: "\u2A7D\u0338", nles: "\u2A7D\u0338", NotLessTilde: "\u2274", nlsim: "\u2274", NotNestedGreaterGreater: "\u2AA2\u0338", NotNestedLessLess: "\u2AA1\u0338", NotPrecedes: "\u2280", npr: "\u2280", nprec: "\u2280", NotPrecedesEqual: "\u2AAF\u0338", npre: "\u2AAF\u0338", npreceq: "\u2AAF\u0338", NotPrecedesSlantEqual: "\u22E0", nprcue: "\u22E0", NotReverseElement: "\u220C", notni: "\u220C", notniva: "\u220C", NotRightTriangle: "\u22EB", nrtri: "\u22EB", ntriangleright: "\u22EB", NotRightTriangleBar: "\u29D0\u0338", NotRightTriangleEqual: "\u22ED", nrtrie: "\u22ED", ntrianglerighteq: "\u22ED", NotSquareSubset: "\u228F\u0338", NotSquareSubsetEqual: "\u22E2", nsqsube: "\u22E2", NotSquareSuperset: "\u2290\u0338", NotSquareSupersetEqual: "\u22E3", nsqsupe: "\u22E3", NotSubset: "\u2282\u20D2", nsubset: "\u2282\u20D2", vnsub: "\u2282\u20D2", NotSubsetEqual: "\u2288", nsube: "\u2288", nsubseteq: "\u2288", NotSucceeds: "\u2281", nsc: "\u2281", nsucc: "\u2281", NotSucceedsEqual: "\u2AB0\u0338", nsce: "\u2AB0\u0338", nsucceq: "\u2AB0\u0338", NotSucceedsSlantEqual: "\u22E1", nsccue: "\u22E1", NotSucceedsTilde: "\u227F\u0338", NotSuperset: "\u2283\u20D2", nsupset: "\u2283\u20D2", vnsup: "\u2283\u20D2", NotSupersetEqual: "\u2289", nsupe: "\u2289", nsupseteq: "\u2289", NotTilde: "\u2241", nsim: "\u2241", NotTildeEqual: "\u2244", nsime: "\u2244", nsimeq: "\u2244", NotTildeFullEqual: "\u2247", ncong: "\u2247", NotTildeTilde: "\u2249", nap: "\u2249", napprox: "\u2249", NotVerticalBar: "\u2224", nmid: "\u2224", nshortmid: "\u2224", nsmid: "\u2224", Nscr: "\u{1D4A9}", Ntilde: "\xD1", Nu: "\u039D", OElig: "\u0152", Oacute: "\xD3", Ocirc: "\xD4", Ocy: "\u041E", Odblac: "\u0150", Ofr: "\u{1D512}", Ograve: "\xD2", Omacr: "\u014C", Omega: "\u03A9", ohm: "\u03A9", Omicron: "\u039F", Oopf: "\u{1D546}", OpenCurlyDoubleQuote: "\u201C", ldquo: "\u201C", OpenCurlyQuote: "\u2018", lsquo: "\u2018", Or: "\u2A54", Oscr: "\u{1D4AA}", Oslash: "\xD8", Otilde: "\xD5", Otimes: "\u2A37", Ouml: "\xD6", OverBar: "\u203E", oline: "\u203E", OverBrace: "\u23DE", OverBracket: "\u23B4", tbrk: "\u23B4", OverParenthesis: "\u23DC", PartialD: "\u2202", part: "\u2202", Pcy: "\u041F", Pfr: "\u{1D513}", Phi: "\u03A6", Pi: "\u03A0", PlusMinus: "\xB1", plusmn: "\xB1", pm: "\xB1", Popf: "\u2119", primes: "\u2119", Pr: "\u2ABB", Precedes: "\u227A", pr: "\u227A", prec: "\u227A", PrecedesEqual: "\u2AAF", pre: "\u2AAF", preceq: "\u2AAF", PrecedesSlantEqual: "\u227C", prcue: "\u227C", preccurlyeq: "\u227C", PrecedesTilde: "\u227E", precsim: "\u227E", prsim: "\u227E", Prime: "\u2033", Product: "\u220F", prod: "\u220F", Proportional: "\u221D", prop: "\u221D", propto: "\u221D", varpropto: "\u221D", vprop: "\u221D", Pscr: "\u{1D4AB}", Psi: "\u03A8", QUOT: '"', quot: '"', Qfr: "\u{1D514}", Qopf: "\u211A", rationals: "\u211A", Qscr: "\u{1D4AC}", RBarr: "\u2910", drbkarow: "\u2910", REG: "\xAE", circledR: "\xAE", reg: "\xAE", Racute: "\u0154", Rang: "\u27EB", Rarr: "\u21A0", twoheadrightarrow: "\u21A0", Rarrtl: "\u2916", Rcaron: "\u0158", Rcedil: "\u0156", Rcy: "\u0420", Re: "\u211C", Rfr: "\u211C", real: "\u211C", realpart: "\u211C", ReverseElement: "\u220B", SuchThat: "\u220B", ni: "\u220B", niv: "\u220B", ReverseEquilibrium: "\u21CB", leftrightharpoons: "\u21CB", lrhar: "\u21CB", ReverseUpEquilibrium: "\u296F", duhar: "\u296F", Rho: "\u03A1", RightAngleBracket: "\u27E9", rang: "\u27E9", rangle: "\u27E9", RightArrow: "\u2192", ShortRightArrow: "\u2192", rarr: "\u2192", rightarrow: "\u2192", srarr: "\u2192", RightArrowBar: "\u21E5", rarrb: "\u21E5", RightArrowLeftArrow: "\u21C4", rightleftarrows: "\u21C4", rlarr: "\u21C4", RightCeiling: "\u2309", rceil: "\u2309", RightDoubleBracket: "\u27E7", robrk: "\u27E7", RightDownTeeVector: "\u295D", RightDownVector: "\u21C2", dharr: "\u21C2", downharpoonright: "\u21C2", RightDownVectorBar: "\u2955", RightFloor: "\u230B", rfloor: "\u230B", RightTee: "\u22A2", vdash: "\u22A2", RightTeeArrow: "\u21A6", map: "\u21A6", mapsto: "\u21A6", RightTeeVector: "\u295B", RightTriangle: "\u22B3", vartriangleright: "\u22B3", vrtri: "\u22B3", RightTriangleBar: "\u29D0", RightTriangleEqual: "\u22B5", rtrie: "\u22B5", trianglerighteq: "\u22B5", RightUpDownVector: "\u294F", RightUpTeeVector: "\u295C", RightUpVector: "\u21BE", uharr: "\u21BE", upharpoonright: "\u21BE", RightUpVectorBar: "\u2954", RightVector: "\u21C0", rharu: "\u21C0", rightharpoonup: "\u21C0", RightVectorBar: "\u2953", Ropf: "\u211D", reals: "\u211D", RoundImplies: "\u2970", Rrightarrow: "\u21DB", rAarr: "\u21DB", Rscr: "\u211B", realine: "\u211B", Rsh: "\u21B1", rsh: "\u21B1", RuleDelayed: "\u29F4", SHCHcy: "\u0429", SHcy: "\u0428", SOFTcy: "\u042C", Sacute: "\u015A", Sc: "\u2ABC", Scaron: "\u0160", Scedil: "\u015E", Scirc: "\u015C", Scy: "\u0421", Sfr: "\u{1D516}", ShortUpArrow: "\u2191", UpArrow: "\u2191", uarr: "\u2191", uparrow: "\u2191", Sigma: "\u03A3", SmallCircle: "\u2218", compfn: "\u2218", Sopf: "\u{1D54A}", Sqrt: "\u221A", radic: "\u221A", Square: "\u25A1", squ: "\u25A1", square: "\u25A1", SquareIntersection: "\u2293", sqcap: "\u2293", SquareSubset: "\u228F", sqsub: "\u228F", sqsubset: "\u228F", SquareSubsetEqual: "\u2291", sqsube: "\u2291", sqsubseteq: "\u2291", SquareSuperset: "\u2290", sqsup: "\u2290", sqsupset: "\u2290", SquareSupersetEqual: "\u2292", sqsupe: "\u2292", sqsupseteq: "\u2292", SquareUnion: "\u2294", sqcup: "\u2294", Sscr: "\u{1D4AE}", Star: "\u22C6", sstarf: "\u22C6", Sub: "\u22D0", Subset: "\u22D0", SubsetEqual: "\u2286", sube: "\u2286", subseteq: "\u2286", Succeeds: "\u227B", sc: "\u227B", succ: "\u227B", SucceedsEqual: "\u2AB0", sce: "\u2AB0", succeq: "\u2AB0", SucceedsSlantEqual: "\u227D", sccue: "\u227D", succcurlyeq: "\u227D", SucceedsTilde: "\u227F", scsim: "\u227F", succsim: "\u227F", Sum: "\u2211", sum: "\u2211", Sup: "\u22D1", Supset: "\u22D1", Superset: "\u2283", sup: "\u2283", supset: "\u2283", SupersetEqual: "\u2287", supe: "\u2287", supseteq: "\u2287", THORN: "\xDE", TRADE: "\u2122", trade: "\u2122", TSHcy: "\u040B", TScy: "\u0426", Tab: " ", Tau: "\u03A4", Tcaron: "\u0164", Tcedil: "\u0162", Tcy: "\u0422", Tfr: "\u{1D517}", Therefore: "\u2234", there4: "\u2234", therefore: "\u2234", Theta: "\u0398", ThickSpace: "\u205F\u200A", ThinSpace: "\u2009", thinsp: "\u2009", Tilde: "\u223C", sim: "\u223C", thicksim: "\u223C", thksim: "\u223C", TildeEqual: "\u2243", sime: "\u2243", simeq: "\u2243", TildeFullEqual: "\u2245", cong: "\u2245", TildeTilde: "\u2248", ap: "\u2248", approx: "\u2248", asymp: "\u2248", thickapprox: "\u2248", thkap: "\u2248", Topf: "\u{1D54B}", TripleDot: "\u20DB", tdot: "\u20DB", Tscr: "\u{1D4AF}", Tstrok: "\u0166", Uacute: "\xDA", Uarr: "\u219F", Uarrocir: "\u2949", Ubrcy: "\u040E", Ubreve: "\u016C", Ucirc: "\xDB", Ucy: "\u0423", Udblac: "\u0170", Ufr: "\u{1D518}", Ugrave: "\xD9", Umacr: "\u016A", UnderBar: "_", lowbar: "_", UnderBrace: "\u23DF", UnderBracket: "\u23B5", bbrk: "\u23B5", UnderParenthesis: "\u23DD", Union: "\u22C3", bigcup: "\u22C3", xcup: "\u22C3", UnionPlus: "\u228E", uplus: "\u228E", Uogon: "\u0172", Uopf: "\u{1D54C}", UpArrowBar: "\u2912", UpArrowDownArrow: "\u21C5", udarr: "\u21C5", UpDownArrow: "\u2195", updownarrow: "\u2195", varr: "\u2195", UpEquilibrium: "\u296E", udhar: "\u296E", UpTee: "\u22A5", bot: "\u22A5", bottom: "\u22A5", perp: "\u22A5", UpTeeArrow: "\u21A5", mapstoup: "\u21A5", UpperLeftArrow: "\u2196", nwarr: "\u2196", nwarrow: "\u2196", UpperRightArrow: "\u2197", nearr: "\u2197", nearrow: "\u2197", Upsi: "\u03D2", upsih: "\u03D2", Upsilon: "\u03A5", Uring: "\u016E", Uscr: "\u{1D4B0}", Utilde: "\u0168", Uuml: "\xDC", VDash: "\u22AB", Vbar: "\u2AEB", Vcy: "\u0412", Vdash: "\u22A9", Vdashl: "\u2AE6", Vee: "\u22C1", bigvee: "\u22C1", xvee: "\u22C1", Verbar: "\u2016", Vert: "\u2016", VerticalBar: "\u2223", mid: "\u2223", shortmid: "\u2223", smid: "\u2223", VerticalLine: "|", verbar: "|", vert: "|", VerticalSeparator: "\u2758", VerticalTilde: "\u2240", wr: "\u2240", wreath: "\u2240", VeryThinSpace: "\u200A", hairsp: "\u200A", Vfr: "\u{1D519}", Vopf: "\u{1D54D}", Vscr: "\u{1D4B1}", Vvdash: "\u22AA", Wcirc: "\u0174", Wedge: "\u22C0", bigwedge: "\u22C0", xwedge: "\u22C0", Wfr: "\u{1D51A}", Wopf: "\u{1D54E}", Wscr: "\u{1D4B2}", Xfr: "\u{1D51B}", Xi: "\u039E", Xopf: "\u{1D54F}", Xscr: "\u{1D4B3}", YAcy: "\u042F", YIcy: "\u0407", YUcy: "\u042E", Yacute: "\xDD", Ycirc: "\u0176", Ycy: "\u042B", Yfr: "\u{1D51C}", Yopf: "\u{1D550}", Yscr: "\u{1D4B4}", Yuml: "\u0178", ZHcy: "\u0416", Zacute: "\u0179", Zcaron: "\u017D", Zcy: "\u0417", Zdot: "\u017B", Zeta: "\u0396", Zfr: "\u2128", zeetrf: "\u2128", Zopf: "\u2124", integers: "\u2124", Zscr: "\u{1D4B5}", aacute: "\xE1", abreve: "\u0103", ac: "\u223E", mstpos: "\u223E", acE: "\u223E\u0333", acd: "\u223F", acirc: "\xE2", acy: "\u0430", aelig: "\xE6", afr: "\u{1D51E}", agrave: "\xE0", alefsym: "\u2135", aleph: "\u2135", alpha: "\u03B1", amacr: "\u0101", amalg: "\u2A3F", and: "\u2227", wedge: "\u2227", andand: "\u2A55", andd: "\u2A5C", andslope: "\u2A58", andv: "\u2A5A", ang: "\u2220", angle: "\u2220", ange: "\u29A4", angmsd: "\u2221", measuredangle: "\u2221", angmsdaa: "\u29A8", angmsdab: "\u29A9", angmsdac: "\u29AA", angmsdad: "\u29AB", angmsdae: "\u29AC", angmsdaf: "\u29AD", angmsdag: "\u29AE", angmsdah: "\u29AF", angrt: "\u221F", angrtvb: "\u22BE", angrtvbd: "\u299D", angsph: "\u2222", angzarr: "\u237C", aogon: "\u0105", aopf: "\u{1D552}", apE: "\u2A70", apacir: "\u2A6F", ape: "\u224A", approxeq: "\u224A", apid: "\u224B", apos: "'", aring: "\xE5", ascr: "\u{1D4B6}", ast: "*", midast: "*", atilde: "\xE3", auml: "\xE4", awint: "\u2A11", bNot: "\u2AED", backcong: "\u224C", bcong: "\u224C", backepsilon: "\u03F6", bepsi: "\u03F6", backprime: "\u2035", bprime: "\u2035", backsim: "\u223D", bsim: "\u223D", backsimeq: "\u22CD", bsime: "\u22CD", barvee: "\u22BD", barwed: "\u2305", barwedge: "\u2305", bbrktbrk: "\u23B6", bcy: "\u0431", bdquo: "\u201E", ldquor: "\u201E", bemptyv: "\u29B0", beta: "\u03B2", beth: "\u2136", between: "\u226C", twixt: "\u226C", bfr: "\u{1D51F}", bigcirc: "\u25EF", xcirc: "\u25EF", bigodot: "\u2A00", xodot: "\u2A00", bigoplus: "\u2A01", xoplus: "\u2A01", bigotimes: "\u2A02", xotime: "\u2A02", bigsqcup: "\u2A06", xsqcup: "\u2A06", bigstar: "\u2605", starf: "\u2605", bigtriangledown: "\u25BD", xdtri: "\u25BD", bigtriangleup: "\u25B3", xutri: "\u25B3", biguplus: "\u2A04", xuplus: "\u2A04", bkarow: "\u290D", rbarr: "\u290D", blacklozenge: "\u29EB", lozf: "\u29EB", blacktriangle: "\u25B4", utrif: "\u25B4", blacktriangledown: "\u25BE", dtrif: "\u25BE", blacktriangleleft: "\u25C2", ltrif: "\u25C2", blacktriangleright: "\u25B8", rtrif: "\u25B8", blank: "\u2423", blk12: "\u2592", blk14: "\u2591", blk34: "\u2593", block: "\u2588", bne: "=\u20E5", bnequiv: "\u2261\u20E5", bnot: "\u2310", bopf: "\u{1D553}", bowtie: "\u22C8", boxDL: "\u2557", boxDR: "\u2554", boxDl: "\u2556", boxDr: "\u2553", boxH: "\u2550", boxHD: "\u2566", boxHU: "\u2569", boxHd: "\u2564", boxHu: "\u2567", boxUL: "\u255D", boxUR: "\u255A", boxUl: "\u255C", boxUr: "\u2559", boxV: "\u2551", boxVH: "\u256C", boxVL: "\u2563", boxVR: "\u2560", boxVh: "\u256B", boxVl: "\u2562", boxVr: "\u255F", boxbox: "\u29C9", boxdL: "\u2555", boxdR: "\u2552", boxdl: "\u2510", boxdr: "\u250C", boxhD: "\u2565", boxhU: "\u2568", boxhd: "\u252C", boxhu: "\u2534", boxminus: "\u229F", minusb: "\u229F", boxplus: "\u229E", plusb: "\u229E", boxtimes: "\u22A0", timesb: "\u22A0", boxuL: "\u255B", boxuR: "\u2558", boxul: "\u2518", boxur: "\u2514", boxv: "\u2502", boxvH: "\u256A", boxvL: "\u2561", boxvR: "\u255E", boxvh: "\u253C", boxvl: "\u2524", boxvr: "\u251C", brvbar: "\xA6", bscr: "\u{1D4B7}", bsemi: "\u204F", bsol: "\\", bsolb: "\u29C5", bsolhsub: "\u27C8", bull: "\u2022", bullet: "\u2022", bumpE: "\u2AAE", cacute: "\u0107", cap: "\u2229", capand: "\u2A44", capbrcup: "\u2A49", capcap: "\u2A4B", capcup: "\u2A47", capdot: "\u2A40", caps: "\u2229\uFE00", caret: "\u2041", ccaps: "\u2A4D", ccaron: "\u010D", ccedil: "\xE7", ccirc: "\u0109", ccups: "\u2A4C", ccupssm: "\u2A50", cdot: "\u010B", cemptyv: "\u29B2", cent: "\xA2", cfr: "\u{1D520}", chcy: "\u0447", check: "\u2713", checkmark: "\u2713", chi: "\u03C7", cir: "\u25CB", cirE: "\u29C3", circ: "\u02C6", circeq: "\u2257", cire: "\u2257", circlearrowleft: "\u21BA", olarr: "\u21BA", circlearrowright: "\u21BB", orarr: "\u21BB", circledS: "\u24C8", oS: "\u24C8", circledast: "\u229B", oast: "\u229B", circledcirc: "\u229A", ocir: "\u229A", circleddash: "\u229D", odash: "\u229D", cirfnint: "\u2A10", cirmid: "\u2AEF", cirscir: "\u29C2", clubs: "\u2663", clubsuit: "\u2663", colon: ":", comma: ",", commat: "@", comp: "\u2201", complement: "\u2201", congdot: "\u2A6D", copf: "\u{1D554}", copysr: "\u2117", crarr: "\u21B5", cross: "\u2717", cscr: "\u{1D4B8}", csub: "\u2ACF", csube: "\u2AD1", csup: "\u2AD0", csupe: "\u2AD2", ctdot: "\u22EF", cudarrl: "\u2938", cudarrr: "\u2935", cuepr: "\u22DE", curlyeqprec: "\u22DE", cuesc: "\u22DF", curlyeqsucc: "\u22DF", cularr: "\u21B6", curvearrowleft: "\u21B6", cularrp: "\u293D", cup: "\u222A", cupbrcap: "\u2A48", cupcap: "\u2A46", cupcup: "\u2A4A", cupdot: "\u228D", cupor: "\u2A45", cups: "\u222A\uFE00", curarr: "\u21B7", curvearrowright: "\u21B7", curarrm: "\u293C", curlyvee: "\u22CE", cuvee: "\u22CE", curlywedge: "\u22CF", cuwed: "\u22CF", curren: "\xA4", cwint: "\u2231", cylcty: "\u232D", dHar: "\u2965", dagger: "\u2020", daleth: "\u2138", dash: "\u2010", hyphen: "\u2010", dbkarow: "\u290F", rBarr: "\u290F", dcaron: "\u010F", dcy: "\u0434", ddarr: "\u21CA", downdownarrows: "\u21CA", ddotseq: "\u2A77", eDDot: "\u2A77", deg: "\xB0", delta: "\u03B4", demptyv: "\u29B1", dfisht: "\u297F", dfr: "\u{1D521}", diamondsuit: "\u2666", diams: "\u2666", digamma: "\u03DD", gammad: "\u03DD", disin: "\u22F2", div: "\xF7", divide: "\xF7", divideontimes: "\u22C7", divonx: "\u22C7", djcy: "\u0452", dlcorn: "\u231E", llcorner: "\u231E", dlcrop: "\u230D", dollar: "$", dopf: "\u{1D555}", doteqdot: "\u2251", eDot: "\u2251", dotminus: "\u2238", minusd: "\u2238", dotplus: "\u2214", plusdo: "\u2214", dotsquare: "\u22A1", sdotb: "\u22A1", drcorn: "\u231F", lrcorner: "\u231F", drcrop: "\u230C", dscr: "\u{1D4B9}", dscy: "\u0455", dsol: "\u29F6", dstrok: "\u0111", dtdot: "\u22F1", dtri: "\u25BF", triangledown: "\u25BF", dwangle: "\u29A6", dzcy: "\u045F", dzigrarr: "\u27FF", eacute: "\xE9", easter: "\u2A6E", ecaron: "\u011B", ecir: "\u2256", eqcirc: "\u2256", ecirc: "\xEA", ecolon: "\u2255", eqcolon: "\u2255", ecy: "\u044D", edot: "\u0117", efDot: "\u2252", fallingdotseq: "\u2252", efr: "\u{1D522}", eg: "\u2A9A", egrave: "\xE8", egs: "\u2A96", eqslantgtr: "\u2A96", egsdot: "\u2A98", el: "\u2A99", elinters: "\u23E7", ell: "\u2113", els: "\u2A95", eqslantless: "\u2A95", elsdot: "\u2A97", emacr: "\u0113", empty: "\u2205", emptyset: "\u2205", emptyv: "\u2205", varnothing: "\u2205", emsp13: "\u2004", emsp14: "\u2005", emsp: "\u2003", eng: "\u014B", ensp: "\u2002", eogon: "\u0119", eopf: "\u{1D556}", epar: "\u22D5", eparsl: "\u29E3", eplus: "\u2A71", epsi: "\u03B5", epsilon: "\u03B5", epsiv: "\u03F5", straightepsilon: "\u03F5", varepsilon: "\u03F5", equals: "=", equest: "\u225F", questeq: "\u225F", equivDD: "\u2A78", eqvparsl: "\u29E5", erDot: "\u2253", risingdotseq: "\u2253", erarr: "\u2971", escr: "\u212F", eta: "\u03B7", eth: "\xF0", euml: "\xEB", euro: "\u20AC", excl: "!", fcy: "\u0444", female: "\u2640", ffilig: "\uFB03", fflig: "\uFB00", ffllig: "\uFB04", ffr: "\u{1D523}", filig: "\uFB01", fjlig: "fj", flat: "\u266D", fllig: "\uFB02", fltns: "\u25B1", fnof: "\u0192", fopf: "\u{1D557}", fork: "\u22D4", pitchfork: "\u22D4", forkv: "\u2AD9", fpartint: "\u2A0D", frac12: "\xBD", half: "\xBD", frac13: "\u2153", frac14: "\xBC", frac15: "\u2155", frac16: "\u2159", frac18: "\u215B", frac23: "\u2154", frac25: "\u2156", frac34: "\xBE", frac35: "\u2157", frac38: "\u215C", frac45: "\u2158", frac56: "\u215A", frac58: "\u215D", frac78: "\u215E", frasl: "\u2044", frown: "\u2322", sfrown: "\u2322", fscr: "\u{1D4BB}", gEl: "\u2A8C", gtreqqless: "\u2A8C", gacute: "\u01F5", gamma: "\u03B3", gap: "\u2A86", gtrapprox: "\u2A86", gbreve: "\u011F", gcirc: "\u011D", gcy: "\u0433", gdot: "\u0121", gescc: "\u2AA9", gesdot: "\u2A80", gesdoto: "\u2A82", gesdotol: "\u2A84", gesl: "\u22DB\uFE00", gesles: "\u2A94", gfr: "\u{1D524}", gimel: "\u2137", gjcy: "\u0453", glE: "\u2A92", gla: "\u2AA5", glj: "\u2AA4", gnE: "\u2269", gneqq: "\u2269", gnap: "\u2A8A", gnapprox: "\u2A8A", gne: "\u2A88", gneq: "\u2A88", gnsim: "\u22E7", gopf: "\u{1D558}", gscr: "\u210A", gsime: "\u2A8E", gsiml: "\u2A90", gtcc: "\u2AA7", gtcir: "\u2A7A", gtdot: "\u22D7", gtrdot: "\u22D7", gtlPar: "\u2995", gtquest: "\u2A7C", gtrarr: "\u2978", gvertneqq: "\u2269\uFE00", gvnE: "\u2269\uFE00", hardcy: "\u044A", harrcir: "\u2948", harrw: "\u21AD", leftrightsquigarrow: "\u21AD", hbar: "\u210F", hslash: "\u210F", planck: "\u210F", plankv: "\u210F", hcirc: "\u0125", hearts: "\u2665", heartsuit: "\u2665", hellip: "\u2026", mldr: "\u2026", hercon: "\u22B9", hfr: "\u{1D525}", hksearow: "\u2925", searhk: "\u2925", hkswarow: "\u2926", swarhk: "\u2926", hoarr: "\u21FF", homtht: "\u223B", hookleftarrow: "\u21A9", larrhk: "\u21A9", hookrightarrow: "\u21AA", rarrhk: "\u21AA", hopf: "\u{1D559}", horbar: "\u2015", hscr: "\u{1D4BD}", hstrok: "\u0127", hybull: "\u2043", iacute: "\xED", icirc: "\xEE", icy: "\u0438", iecy: "\u0435", iexcl: "\xA1", ifr: "\u{1D526}", igrave: "\xEC", iiiint: "\u2A0C", qint: "\u2A0C", iiint: "\u222D", tint: "\u222D", iinfin: "\u29DC", iiota: "\u2129", ijlig: "\u0133", imacr: "\u012B", imath: "\u0131", inodot: "\u0131", imof: "\u22B7", imped: "\u01B5", incare: "\u2105", infin: "\u221E", infintie: "\u29DD", intcal: "\u22BA", intercal: "\u22BA", intlarhk: "\u2A17", intprod: "\u2A3C", iprod: "\u2A3C", iocy: "\u0451", iogon: "\u012F", iopf: "\u{1D55A}", iota: "\u03B9", iquest: "\xBF", iscr: "\u{1D4BE}", isinE: "\u22F9", isindot: "\u22F5", isins: "\u22F4", isinsv: "\u22F3", itilde: "\u0129", iukcy: "\u0456", iuml: "\xEF", jcirc: "\u0135", jcy: "\u0439", jfr: "\u{1D527}", jmath: "\u0237", jopf: "\u{1D55B}", jscr: "\u{1D4BF}", jsercy: "\u0458", jukcy: "\u0454", kappa: "\u03BA", kappav: "\u03F0", varkappa: "\u03F0", kcedil: "\u0137", kcy: "\u043A", kfr: "\u{1D528}", kgreen: "\u0138", khcy: "\u0445", kjcy: "\u045C", kopf: "\u{1D55C}", kscr: "\u{1D4C0}", lAtail: "\u291B", lBarr: "\u290E", lEg: "\u2A8B", lesseqqgtr: "\u2A8B", lHar: "\u2962", lacute: "\u013A", laemptyv: "\u29B4", lambda: "\u03BB", langd: "\u2991", lap: "\u2A85", lessapprox: "\u2A85", laquo: "\xAB", larrbfs: "\u291F", larrfs: "\u291D", larrlp: "\u21AB", looparrowleft: "\u21AB", larrpl: "\u2939", larrsim: "\u2973", larrtl: "\u21A2", leftarrowtail: "\u21A2", lat: "\u2AAB", latail: "\u2919", late: "\u2AAD", lates: "\u2AAD\uFE00", lbarr: "\u290C", lbbrk: "\u2772", lbrace: "{", lcub: "{", lbrack: "[", lsqb: "[", lbrke: "\u298B", lbrksld: "\u298F", lbrkslu: "\u298D", lcaron: "\u013E", lcedil: "\u013C", lcy: "\u043B", ldca: "\u2936", ldrdhar: "\u2967", ldrushar: "\u294B", ldsh: "\u21B2", le: "\u2264", leq: "\u2264", leftleftarrows: "\u21C7", llarr: "\u21C7", leftthreetimes: "\u22CB", lthree: "\u22CB", lescc: "\u2AA8", lesdot: "\u2A7F", lesdoto: "\u2A81", lesdotor: "\u2A83", lesg: "\u22DA\uFE00", lesges: "\u2A93", lessdot: "\u22D6", ltdot: "\u22D6", lfisht: "\u297C", lfr: "\u{1D529}", lgE: "\u2A91", lharul: "\u296A", lhblk: "\u2584", ljcy: "\u0459", llhard: "\u296B", lltri: "\u25FA", lmidot: "\u0140", lmoust: "\u23B0", lmoustache: "\u23B0", lnE: "\u2268", lneqq: "\u2268", lnap: "\u2A89", lnapprox: "\u2A89", lne: "\u2A87", lneq: "\u2A87", lnsim: "\u22E6", loang: "\u27EC", loarr: "\u21FD", longmapsto: "\u27FC", xmap: "\u27FC", looparrowright: "\u21AC", rarrlp: "\u21AC", lopar: "\u2985", lopf: "\u{1D55D}", loplus: "\u2A2D", lotimes: "\u2A34", lowast: "\u2217", loz: "\u25CA", lozenge: "\u25CA", lpar: "(", lparlt: "\u2993", lrhard: "\u296D", lrm: "\u200E", lrtri: "\u22BF", lsaquo: "\u2039", lscr: "\u{1D4C1}", lsime: "\u2A8D", lsimg: "\u2A8F", lsquor: "\u201A", sbquo: "\u201A", lstrok: "\u0142", ltcc: "\u2AA6", ltcir: "\u2A79", ltimes: "\u22C9", ltlarr: "\u2976", ltquest: "\u2A7B", ltrPar: "\u2996", ltri: "\u25C3", triangleleft: "\u25C3", lurdshar: "\u294A", luruhar: "\u2966", lvertneqq: "\u2268\uFE00", lvnE: "\u2268\uFE00", mDDot: "\u223A", macr: "\xAF", strns: "\xAF", male: "\u2642", malt: "\u2720", maltese: "\u2720", marker: "\u25AE", mcomma: "\u2A29", mcy: "\u043C", mdash: "\u2014", mfr: "\u{1D52A}", mho: "\u2127", micro: "\xB5", midcir: "\u2AF0", minus: "\u2212", minusdu: "\u2A2A", mlcp: "\u2ADB", models: "\u22A7", mopf: "\u{1D55E}", mscr: "\u{1D4C2}", mu: "\u03BC", multimap: "\u22B8", mumap: "\u22B8", nGg: "\u22D9\u0338", nGt: "\u226B\u20D2", nLeftarrow: "\u21CD", nlArr: "\u21CD", nLeftrightarrow: "\u21CE", nhArr: "\u21CE", nLl: "\u22D8\u0338", nLt: "\u226A\u20D2", nRightarrow: "\u21CF", nrArr: "\u21CF", nVDash: "\u22AF", nVdash: "\u22AE", nacute: "\u0144", nang: "\u2220\u20D2", napE: "\u2A70\u0338", napid: "\u224B\u0338", napos: "\u0149", natur: "\u266E", natural: "\u266E", ncap: "\u2A43", ncaron: "\u0148", ncedil: "\u0146", ncongdot: "\u2A6D\u0338", ncup: "\u2A42", ncy: "\u043D", ndash: "\u2013", neArr: "\u21D7", nearhk: "\u2924", nedot: "\u2250\u0338", nesear: "\u2928", toea: "\u2928", nfr: "\u{1D52B}", nharr: "\u21AE", nleftrightarrow: "\u21AE", nhpar: "\u2AF2", nis: "\u22FC", nisd: "\u22FA", njcy: "\u045A", nlE: "\u2266\u0338", nleqq: "\u2266\u0338", nlarr: "\u219A", nleftarrow: "\u219A", nldr: "\u2025", nopf: "\u{1D55F}", not: "\xAC", notinE: "\u22F9\u0338", notindot: "\u22F5\u0338", notinvb: "\u22F7", notinvc: "\u22F6", notnivb: "\u22FE", notnivc: "\u22FD", nparsl: "\u2AFD\u20E5", npart: "\u2202\u0338", npolint: "\u2A14", nrarr: "\u219B", nrightarrow: "\u219B", nrarrc: "\u2933\u0338", nrarrw: "\u219D\u0338", nscr: "\u{1D4C3}", nsub: "\u2284", nsubE: "\u2AC5\u0338", nsubseteqq: "\u2AC5\u0338", nsup: "\u2285", nsupE: "\u2AC6\u0338", nsupseteqq: "\u2AC6\u0338", ntilde: "\xF1", nu: "\u03BD", num: "#", numero: "\u2116", numsp: "\u2007", nvDash: "\u22AD", nvHarr: "\u2904", nvap: "\u224D\u20D2", nvdash: "\u22AC", nvge: "\u2265\u20D2", nvgt: ">\u20D2", nvinfin: "\u29DE", nvlArr: "\u2902", nvle: "\u2264\u20D2", nvlt: "<\u20D2", nvltrie: "\u22B4\u20D2", nvrArr: "\u2903", nvrtrie: "\u22B5\u20D2", nvsim: "\u223C\u20D2", nwArr: "\u21D6", nwarhk: "\u2923", nwnear: "\u2927", oacute: "\xF3", ocirc: "\xF4", ocy: "\u043E", odblac: "\u0151", odiv: "\u2A38", odsold: "\u29BC", oelig: "\u0153", ofcir: "\u29BF", ofr: "\u{1D52C}", ogon: "\u02DB", ograve: "\xF2", ogt: "\u29C1", ohbar: "\u29B5", olcir: "\u29BE", olcross: "\u29BB", olt: "\u29C0", omacr: "\u014D", omega: "\u03C9", omicron: "\u03BF", omid: "\u29B6", oopf: "\u{1D560}", opar: "\u29B7", operp: "\u29B9", or: "\u2228", vee: "\u2228", ord: "\u2A5D", order: "\u2134", orderof: "\u2134", oscr: "\u2134", ordf: "\xAA", ordm: "\xBA", origof: "\u22B6", oror: "\u2A56", orslope: "\u2A57", orv: "\u2A5B", oslash: "\xF8", osol: "\u2298", otilde: "\xF5", otimesas: "\u2A36", ouml: "\xF6", ovbar: "\u233D", para: "\xB6", parsim: "\u2AF3", parsl: "\u2AFD", pcy: "\u043F", percnt: "%", period: ".", permil: "\u2030", pertenk: "\u2031", pfr: "\u{1D52D}", phi: "\u03C6", phiv: "\u03D5", straightphi: "\u03D5", varphi: "\u03D5", phone: "\u260E", pi: "\u03C0", piv: "\u03D6", varpi: "\u03D6", planckh: "\u210E", plus: "+", plusacir: "\u2A23", pluscir: "\u2A22", plusdu: "\u2A25", pluse: "\u2A72", plussim: "\u2A26", plustwo: "\u2A27", pointint: "\u2A15", popf: "\u{1D561}", pound: "\xA3", prE: "\u2AB3", prap: "\u2AB7", precapprox: "\u2AB7", precnapprox: "\u2AB9", prnap: "\u2AB9", precneqq: "\u2AB5", prnE: "\u2AB5", precnsim: "\u22E8", prnsim: "\u22E8", prime: "\u2032", profalar: "\u232E", profline: "\u2312", profsurf: "\u2313", prurel: "\u22B0", pscr: "\u{1D4C5}", psi: "\u03C8", puncsp: "\u2008", qfr: "\u{1D52E}", qopf: "\u{1D562}", qprime: "\u2057", qscr: "\u{1D4C6}", quatint: "\u2A16", quest: "?", rAtail: "\u291C", rHar: "\u2964", race: "\u223D\u0331", racute: "\u0155", raemptyv: "\u29B3", rangd: "\u2992", range: "\u29A5", raquo: "\xBB", rarrap: "\u2975", rarrbfs: "\u2920", rarrc: "\u2933", rarrfs: "\u291E", rarrpl: "\u2945", rarrsim: "\u2974", rarrtl: "\u21A3", rightarrowtail: "\u21A3", rarrw: "\u219D", rightsquigarrow: "\u219D", ratail: "\u291A", ratio: "\u2236", rbbrk: "\u2773", rbrace: "}", rcub: "}", rbrack: "]", rsqb: "]", rbrke: "\u298C", rbrksld: "\u298E", rbrkslu: "\u2990", rcaron: "\u0159", rcedil: "\u0157", rcy: "\u0440", rdca: "\u2937", rdldhar: "\u2969", rdsh: "\u21B3", rect: "\u25AD", rfisht: "\u297D", rfr: "\u{1D52F}", rharul: "\u296C", rho: "\u03C1", rhov: "\u03F1", varrho: "\u03F1", rightrightarrows: "\u21C9", rrarr: "\u21C9", rightthreetimes: "\u22CC", rthree: "\u22CC", ring: "\u02DA", rlm: "\u200F", rmoust: "\u23B1", rmoustache: "\u23B1", rnmid: "\u2AEE", roang: "\u27ED", roarr: "\u21FE", ropar: "\u2986", ropf: "\u{1D563}", roplus: "\u2A2E", rotimes: "\u2A35", rpar: ")", rpargt: "\u2994", rppolint: "\u2A12", rsaquo: "\u203A", rscr: "\u{1D4C7}", rtimes: "\u22CA", rtri: "\u25B9", triangleright: "\u25B9", rtriltri: "\u29CE", ruluhar: "\u2968", rx: "\u211E", sacute: "\u015B", scE: "\u2AB4", scap: "\u2AB8", succapprox: "\u2AB8", scaron: "\u0161", scedil: "\u015F", scirc: "\u015D", scnE: "\u2AB6", succneqq: "\u2AB6", scnap: "\u2ABA", succnapprox: "\u2ABA", scnsim: "\u22E9", succnsim: "\u22E9", scpolint: "\u2A13", scy: "\u0441", sdot: "\u22C5", sdote: "\u2A66", seArr: "\u21D8", sect: "\xA7", semi: ";", seswar: "\u2929", tosa: "\u2929", sext: "\u2736", sfr: "\u{1D530}", sharp: "\u266F", shchcy: "\u0449", shcy: "\u0448", shy: "\xAD", sigma: "\u03C3", sigmaf: "\u03C2", sigmav: "\u03C2", varsigma: "\u03C2", simdot: "\u2A6A", simg: "\u2A9E", simgE: "\u2AA0", siml: "\u2A9D", simlE: "\u2A9F", simne: "\u2246", simplus: "\u2A24", simrarr: "\u2972", smashp: "\u2A33", smeparsl: "\u29E4", smile: "\u2323", ssmile: "\u2323", smt: "\u2AAA", smte: "\u2AAC", smtes: "\u2AAC\uFE00", softcy: "\u044C", sol: "/", solb: "\u29C4", solbar: "\u233F", sopf: "\u{1D564}", spades: "\u2660", spadesuit: "\u2660", sqcaps: "\u2293\uFE00", sqcups: "\u2294\uFE00", sscr: "\u{1D4C8}", star: "\u2606", sub: "\u2282", subset: "\u2282", subE: "\u2AC5", subseteqq: "\u2AC5", subdot: "\u2ABD", subedot: "\u2AC3", submult: "\u2AC1", subnE: "\u2ACB", subsetneqq: "\u2ACB", subne: "\u228A", subsetneq: "\u228A", subplus: "\u2ABF", subrarr: "\u2979", subsim: "\u2AC7", subsub: "\u2AD5", subsup: "\u2AD3", sung: "\u266A", sup1: "\xB9", sup2: "\xB2", sup3: "\xB3", supE: "\u2AC6", supseteqq: "\u2AC6", supdot: "\u2ABE", supdsub: "\u2AD8", supedot: "\u2AC4", suphsol: "\u27C9", suphsub: "\u2AD7", suplarr: "\u297B", supmult: "\u2AC2", supnE: "\u2ACC", supsetneqq: "\u2ACC", supne: "\u228B", supsetneq: "\u228B", supplus: "\u2AC0", supsim: "\u2AC8", supsub: "\u2AD4", supsup: "\u2AD6", swArr: "\u21D9", swnwar: "\u292A", szlig: "\xDF", target: "\u2316", tau: "\u03C4", tcaron: "\u0165", tcedil: "\u0163", tcy: "\u0442", telrec: "\u2315", tfr: "\u{1D531}", theta: "\u03B8", thetasym: "\u03D1", thetav: "\u03D1", vartheta: "\u03D1", thorn: "\xFE", times: "\xD7", timesbar: "\u2A31", timesd: "\u2A30", topbot: "\u2336", topcir: "\u2AF1", topf: "\u{1D565}", topfork: "\u2ADA", tprime: "\u2034", triangle: "\u25B5", utri: "\u25B5", triangleq: "\u225C", trie: "\u225C", tridot: "\u25EC", triminus: "\u2A3A", triplus: "\u2A39", trisb: "\u29CD", tritime: "\u2A3B", trpezium: "\u23E2", tscr: "\u{1D4C9}", tscy: "\u0446", tshcy: "\u045B", tstrok: "\u0167", uHar: "\u2963", uacute: "\xFA", ubrcy: "\u045E", ubreve: "\u016D", ucirc: "\xFB", ucy: "\u0443", udblac: "\u0171", ufisht: "\u297E", ufr: "\u{1D532}", ugrave: "\xF9", uhblk: "\u2580", ulcorn: "\u231C", ulcorner: "\u231C", ulcrop: "\u230F", ultri: "\u25F8", umacr: "\u016B", uogon: "\u0173", uopf: "\u{1D566}", upsi: "\u03C5", upsilon: "\u03C5", upuparrows: "\u21C8", uuarr: "\u21C8", urcorn: "\u231D", urcorner: "\u231D", urcrop: "\u230E", uring: "\u016F", urtri: "\u25F9", uscr: "\u{1D4CA}", utdot: "\u22F0", utilde: "\u0169", uuml: "\xFC", uwangle: "\u29A7", vBar: "\u2AE8", vBarv: "\u2AE9", vangrt: "\u299C", varsubsetneq: "\u228A\uFE00", vsubne: "\u228A\uFE00", varsubsetneqq: "\u2ACB\uFE00", vsubnE: "\u2ACB\uFE00", varsupsetneq: "\u228B\uFE00", vsupne: "\u228B\uFE00", varsupsetneqq: "\u2ACC\uFE00", vsupnE: "\u2ACC\uFE00", vcy: "\u0432", veebar: "\u22BB", veeeq: "\u225A", vellip: "\u22EE", vfr: "\u{1D533}", vopf: "\u{1D567}", vscr: "\u{1D4CB}", vzigzag: "\u299A", wcirc: "\u0175", wedbar: "\u2A5F", wedgeq: "\u2259", weierp: "\u2118", wp: "\u2118", wfr: "\u{1D534}", wopf: "\u{1D568}", wscr: "\u{1D4CC}", xfr: "\u{1D535}", xi: "\u03BE", xnis: "\u22FB", xopf: "\u{1D569}", xscr: "\u{1D4CD}", yacute: "\xFD", yacy: "\u044F", ycirc: "\u0177", ycy: "\u044B", yen: "\xA5", yfr: "\u{1D536}", yicy: "\u0457", yopf: "\u{1D56A}", yscr: "\u{1D4CE}", yucy: "\u044E", yuml: "\xFF", zacute: "\u017A", zcaron: "\u017E", zcy: "\u0437", zdot: "\u017C", zeta: "\u03B6", zfr: "\u{1D537}", zhcy: "\u0436", zigrarr: "\u21DD", zopf: "\u{1D56B}", zscr: "\u{1D4CF}", zwj: "\u200D", zwnj: "\u200C" };
1678
+ var fo = "\uE500";
1679
+ Ve.ngsp = fo;
1680
+ var go = [/@/, /^\s*$/, /[<>]/, /^[{}]$/, /&(#|[a-z])/i, /^\/\//];
1681
+ function Xs(t7, e) {
1682
+ if (e != null && !(Array.isArray(e) && e.length == 2)) throw new Error(`Expected '${t7}' to be an array, [start, end].`);
1683
+ if (e != null) {
1684
+ let r = e[0], n = e[1];
1685
+ go.forEach((s) => {
1686
+ if (s.test(r) || s.test(n)) throw new Error(`['${r}', '${n}'] contains unusable interpolation symbol.`);
1687
+ });
1688
+ }
1689
+ }
1690
+ var $r = class t2 {
1691
+ static fromArray(e) {
1692
+ return e ? (Xs("interpolation", e), new t2(e[0], e[1])) : Or;
1693
+ }
1694
+ constructor(e, r) {
1695
+ this.start = e, this.end = r;
1696
+ }
1697
+ };
1698
+ var Or = new $r("{{", "}}");
1699
+ var gt = class extends Oe {
1700
+ constructor(e, r, n) {
1701
+ super(n, e), this.tokenType = r;
1702
+ }
1703
+ };
1704
+ var Ur = class {
1705
+ constructor(e, r, n) {
1706
+ this.tokens = e, this.errors = r, this.nonNormalizedIcuExpressions = n;
1707
+ }
1708
+ };
1709
+ function li(t7, e, r, n = {}) {
1710
+ let s = new Wr(new ve(t7, e), r, n);
1711
+ return s.tokenize(), new Ur(Vo(s.tokens), s.errors, s.nonNormalizedIcuExpressions);
1712
+ }
1713
+ var Io = /\r\n?/g;
1714
+ function Ue(t7) {
1715
+ return `Unexpected character "${t7 === 0 ? "EOF" : String.fromCharCode(t7)}"`;
1716
+ }
1717
+ function ti(t7) {
1718
+ return `Unknown entity "${t7}" - use the "&#<decimal>;" or "&#x<hex>;" syntax`;
1719
+ }
1720
+ function Ro(t7, e) {
1721
+ return `Unable to parse entity "${e}" - ${t7} character reference entities must end with ";"`;
1722
+ }
1723
+ var rr;
1724
+ (function(t7) {
1725
+ t7.HEX = "hexadecimal", t7.DEC = "decimal";
1726
+ })(rr || (rr = {}));
1727
+ var Ct = class {
1728
+ constructor(e) {
1729
+ this.error = e;
1730
+ }
1731
+ };
1732
+ var Wr = class {
1733
+ constructor(e, r, n) {
1734
+ this._getTagContentType = r, this._currentTokenStart = null, this._currentTokenType = null, this._expansionCaseStack = [], this._inInterpolation = false, this._fullNameStack = [], this.tokens = [], this.errors = [], this.nonNormalizedIcuExpressions = [], this._tokenizeIcu = n.tokenizeExpansionForms || false, this._interpolationConfig = n.interpolationConfig || Or, this._leadingTriviaCodePoints = n.leadingTriviaChars && n.leadingTriviaChars.map((i) => i.codePointAt(0) || 0), this._canSelfClose = n.canSelfClose || false, this._allowHtmComponentClosingTags = n.allowHtmComponentClosingTags || false;
1735
+ let s = n.range || { endPos: e.content.length, startPos: 0, startLine: 0, startCol: 0 };
1736
+ this._cursor = n.escapedString ? new Gr(e, s) : new nr(e, s), this._preserveLineEndings = n.preserveLineEndings || false, this._i18nNormalizeLineEndingsInICUs = n.i18nNormalizeLineEndingsInICUs || false, this._tokenizeBlocks = n.tokenizeBlocks ?? true, this._tokenizeLet = n.tokenizeLet ?? true;
1737
+ try {
1738
+ this._cursor.init();
1739
+ } catch (i) {
1740
+ this.handleError(i);
1741
+ }
1742
+ }
1743
+ _processCarriageReturns(e) {
1744
+ return this._preserveLineEndings ? e : e.replace(Io, `
1745
+ `);
1746
+ }
1747
+ tokenize() {
1748
+ for (; this._cursor.peek() !== 0; ) {
1749
+ let e = this._cursor.clone();
1750
+ try {
1751
+ 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);
1752
+ else if (this._attemptCharCode(47)) this._consumeTagClose(e);
1753
+ else {
1754
+ let r = this._cursor.clone();
1755
+ this._attemptCharCode(63) ? (this._cursor = r, this._consumeBogusComment(e)) : this._consumeTagOpen(e);
1756
+ }
1757
+ else this._tokenizeLet && this._cursor.peek() === 64 && !this._inInterpolation && this._attemptStr("@let") ? this._consumeLetDeclaration(e) : this._tokenizeBlocks && this._attemptCharCode(64) ? 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());
1758
+ } catch (r) {
1759
+ this.handleError(r);
1760
+ }
1761
+ }
1762
+ this._beginToken(34), this._endToken([]);
1763
+ }
1764
+ _getBlockName() {
1765
+ let e = false, r = this._cursor.clone();
1766
+ return this._attemptCharCodeUntilFn((n) => ut(n) ? !e : si(n) ? (e = true, false) : true), this._cursor.getChars(r).trim();
1767
+ }
1768
+ _consumeBlockStart(e) {
1769
+ this._beginToken(25, e);
1770
+ let r = this._endToken([this._getBlockName()]);
1771
+ if (this._cursor.peek() === 40) if (this._cursor.advance(), this._consumeBlockParameters(), this._attemptCharCodeUntilFn(b), this._attemptCharCode(41)) this._attemptCharCodeUntilFn(b);
1772
+ else {
1773
+ r.type = 29;
1774
+ return;
1775
+ }
1776
+ this._attemptCharCode(123) ? (this._beginToken(26), this._endToken([])) : r.type = 29;
1777
+ }
1778
+ _consumeBlockEnd(e) {
1779
+ this._beginToken(27, e), this._endToken([]);
1780
+ }
1781
+ _consumeBlockParameters() {
1782
+ for (this._attemptCharCodeUntilFn(ii); this._cursor.peek() !== 41 && this._cursor.peek() !== 0; ) {
1783
+ this._beginToken(28);
1784
+ let e = this._cursor.clone(), r = null, n = 0;
1785
+ for (; this._cursor.peek() !== 59 && this._cursor.peek() !== 0 || r !== null; ) {
1786
+ let s = this._cursor.peek();
1787
+ if (s === 92) this._cursor.advance();
1788
+ else if (s === r) r = null;
1789
+ else if (r === null && Ot(s)) r = s;
1790
+ else if (s === 40 && r === null) n++;
1791
+ else if (s === 41 && r === null) {
1792
+ if (n === 0) break;
1793
+ n > 0 && n--;
1794
+ }
1795
+ this._cursor.advance();
1796
+ }
1797
+ this._endToken([this._cursor.getChars(e)]), this._attemptCharCodeUntilFn(ii);
1798
+ }
1799
+ }
1800
+ _consumeLetDeclaration(e) {
1801
+ if (this._beginToken(30, e), ut(this._cursor.peek())) this._attemptCharCodeUntilFn(b);
1802
+ else {
1803
+ let s = this._endToken([this._cursor.getChars(e)]);
1804
+ s.type = 33;
1805
+ return;
1806
+ }
1807
+ let r = this._endToken([this._getLetDeclarationName()]);
1808
+ if (this._attemptCharCodeUntilFn(b), !this._attemptCharCode(61)) {
1809
+ r.type = 33;
1810
+ return;
1811
+ }
1812
+ this._attemptCharCodeUntilFn((s) => b(s) && !$t(s)), this._consumeLetDeclarationValue(), this._cursor.peek() === 59 ? (this._beginToken(32), this._endToken([]), this._cursor.advance()) : (r.type = 33, r.sourceSpan = this._cursor.getSpan(e));
1813
+ }
1814
+ _getLetDeclarationName() {
1815
+ let e = this._cursor.clone(), r = false;
1816
+ return this._attemptCharCodeUntilFn((n) => lt(n) || n === 36 || n === 95 || r && Rt(n) ? (r = true, false) : true), this._cursor.getChars(e).trim();
1817
+ }
1818
+ _consumeLetDeclarationValue() {
1819
+ let e = this._cursor.clone();
1820
+ for (this._beginToken(31, e); this._cursor.peek() !== 0; ) {
1821
+ let r = this._cursor.peek();
1822
+ if (r === 59) break;
1823
+ Ot(r) && (this._cursor.advance(), this._attemptCharCodeUntilFn((n) => n === 92 ? (this._cursor.advance(), false) : n === r)), this._cursor.advance();
1824
+ }
1825
+ this._endToken([this._cursor.getChars(e)]);
1826
+ }
1827
+ _tokenizeExpansionForm() {
1828
+ if (this.isExpansionFormStart()) return this._consumeExpansionFormStart(), true;
1829
+ if (qo(this._cursor.peek()) && this._isInExpansionForm()) return this._consumeExpansionCaseStart(), true;
1830
+ if (this._cursor.peek() === 125) {
1831
+ if (this._isInExpansionCase()) return this._consumeExpansionCaseEnd(), true;
1832
+ if (this._isInExpansionForm()) return this._consumeExpansionFormEnd(), true;
1833
+ }
1834
+ return false;
1835
+ }
1836
+ _beginToken(e, r = this._cursor.clone()) {
1837
+ this._currentTokenStart = r, this._currentTokenType = e;
1838
+ }
1839
+ _endToken(e, r) {
1840
+ if (this._currentTokenStart === null) throw new gt("Programming error - attempted to end a token when there was no start to the token", this._currentTokenType, this._cursor.getSpan(r));
1841
+ if (this._currentTokenType === null) throw new gt("Programming error - attempted to end a token which has no token type", null, this._cursor.getSpan(this._currentTokenStart));
1842
+ let n = { type: this._currentTokenType, parts: e, sourceSpan: (r ?? this._cursor).getSpan(this._currentTokenStart, this._leadingTriviaCodePoints) };
1843
+ return this.tokens.push(n), this._currentTokenStart = null, this._currentTokenType = null, n;
1844
+ }
1845
+ _createError(e, r) {
1846
+ this._isInExpansionForm() && (e += ` (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)`);
1847
+ let n = new gt(e, this._currentTokenType, r);
1848
+ return this._currentTokenStart = null, this._currentTokenType = null, new Ct(n);
1849
+ }
1850
+ handleError(e) {
1851
+ if (e instanceof St && (e = this._createError(e.msg, this._cursor.getSpan(e.cursor))), e instanceof Ct) this.errors.push(e.error);
1852
+ else throw e;
1853
+ }
1854
+ _attemptCharCode(e) {
1855
+ return this._cursor.peek() === e ? (this._cursor.advance(), true) : false;
1856
+ }
1857
+ _attemptCharCodeCaseInsensitive(e) {
1858
+ return Ho(this._cursor.peek(), e) ? (this._cursor.advance(), true) : false;
1859
+ }
1860
+ _requireCharCode(e) {
1861
+ let r = this._cursor.clone();
1862
+ if (!this._attemptCharCode(e)) throw this._createError(Ue(this._cursor.peek()), this._cursor.getSpan(r));
1863
+ }
1864
+ _attemptStr(e) {
1865
+ let r = e.length;
1866
+ if (this._cursor.charsLeft() < r) return false;
1867
+ let n = this._cursor.clone();
1868
+ for (let s = 0; s < r; s++) if (!this._attemptCharCode(e.charCodeAt(s))) return this._cursor = n, false;
1869
+ return true;
1870
+ }
1871
+ _attemptStrCaseInsensitive(e) {
1872
+ for (let r = 0; r < e.length; r++) if (!this._attemptCharCodeCaseInsensitive(e.charCodeAt(r))) return false;
1873
+ return true;
1874
+ }
1875
+ _requireStr(e) {
1876
+ let r = this._cursor.clone();
1877
+ if (!this._attemptStr(e)) throw this._createError(Ue(this._cursor.peek()), this._cursor.getSpan(r));
1878
+ }
1879
+ _requireStrCaseInsensitive(e) {
1880
+ let r = this._cursor.clone();
1881
+ if (!this._attemptStrCaseInsensitive(e)) throw this._createError(Ue(this._cursor.peek()), this._cursor.getSpan(r));
1882
+ }
1883
+ _attemptCharCodeUntilFn(e) {
1884
+ for (; !e(this._cursor.peek()); ) this._cursor.advance();
1885
+ }
1886
+ _requireCharCodeUntilFn(e, r) {
1887
+ let n = this._cursor.clone();
1888
+ if (this._attemptCharCodeUntilFn(e), this._cursor.diff(n) < r) throw this._createError(Ue(this._cursor.peek()), this._cursor.getSpan(n));
1889
+ }
1890
+ _attemptUntilChar(e) {
1891
+ for (; this._cursor.peek() !== e; ) this._cursor.advance();
1892
+ }
1893
+ _readChar() {
1894
+ let e = String.fromCodePoint(this._cursor.peek());
1895
+ return this._cursor.advance(), e;
1896
+ }
1897
+ _consumeEntity(e) {
1898
+ this._beginToken(9);
1899
+ let r = this._cursor.clone();
1900
+ if (this._cursor.advance(), this._attemptCharCode(35)) {
1901
+ let n = this._attemptCharCode(120) || this._attemptCharCode(88), s = this._cursor.clone();
1902
+ if (this._attemptCharCodeUntilFn(Oo), this._cursor.peek() != 59) {
1903
+ this._cursor.advance();
1904
+ let a = n ? rr.HEX : rr.DEC;
1905
+ throw this._createError(Ro(a, this._cursor.getChars(r)), this._cursor.getSpan());
1906
+ }
1907
+ let i = this._cursor.getChars(s);
1908
+ this._cursor.advance();
1909
+ try {
1910
+ let a = parseInt(i, n ? 16 : 10);
1911
+ this._endToken([String.fromCharCode(a), this._cursor.getChars(r)]);
1912
+ } catch {
1913
+ throw this._createError(ti(this._cursor.getChars(r)), this._cursor.getSpan());
1914
+ }
1915
+ } else {
1916
+ let n = this._cursor.clone();
1917
+ if (this._attemptCharCodeUntilFn(Mo), this._cursor.peek() != 59) this._beginToken(e, r), this._cursor = n, this._endToken(["&"]);
1918
+ else {
1919
+ let s = this._cursor.getChars(n);
1920
+ this._cursor.advance();
1921
+ let i = Ve[s];
1922
+ if (!i) throw this._createError(ti(s), this._cursor.getSpan(r));
1923
+ this._endToken([i, `&${s};`]);
1924
+ }
1925
+ }
1926
+ }
1927
+ _consumeRawText(e, r) {
1928
+ this._beginToken(e ? 6 : 7);
1929
+ let n = [];
1930
+ for (; ; ) {
1931
+ let s = this._cursor.clone(), i = r();
1932
+ if (this._cursor = s, i) break;
1933
+ e && this._cursor.peek() === 38 ? (this._endToken([this._processCarriageReturns(n.join(""))]), n.length = 0, this._consumeEntity(6), this._beginToken(6)) : n.push(this._readChar());
1934
+ }
1935
+ this._endToken([this._processCarriageReturns(n.join(""))]);
1936
+ }
1937
+ _consumeComment(e) {
1938
+ this._beginToken(10, e), this._endToken([]), this._consumeRawText(false, () => this._attemptStr("-->")), this._beginToken(11), this._requireStr("-->"), this._endToken([]);
1939
+ }
1940
+ _consumeBogusComment(e) {
1941
+ this._beginToken(10, e), this._endToken([]), this._consumeRawText(false, () => this._cursor.peek() === 62), this._beginToken(11), this._cursor.advance(), this._endToken([]);
1942
+ }
1943
+ _consumeCdata(e) {
1944
+ this._beginToken(12, e), this._endToken([]), this._consumeRawText(false, () => this._attemptStr("]]>")), this._beginToken(13), this._requireStr("]]>"), this._endToken([]);
1945
+ }
1946
+ _consumeDocType(e) {
1947
+ this._beginToken(18, e), this._endToken([]), this._consumeRawText(false, () => this._cursor.peek() === 62), this._beginToken(19), this._cursor.advance(), this._endToken([]);
1948
+ }
1949
+ _consumePrefixAndName() {
1950
+ let e = this._cursor.clone(), r = "";
1951
+ for (; this._cursor.peek() !== 58 && !$o(this._cursor.peek()); ) this._cursor.advance();
1952
+ let n;
1953
+ this._cursor.peek() === 58 ? (r = this._cursor.getChars(e), this._cursor.advance(), n = this._cursor.clone()) : n = e, this._requireCharCodeUntilFn(ri, r === "" ? 0 : 1);
1954
+ let s = this._cursor.getChars(n);
1955
+ return [r, s];
1956
+ }
1957
+ _consumeTagOpen(e) {
1958
+ let r, n, s, i = [];
1959
+ try {
1960
+ if (!lt(this._cursor.peek())) throw this._createError(Ue(this._cursor.peek()), this._cursor.getSpan(e));
1961
+ for (s = this._consumeTagOpenStart(e), n = s.parts[0], r = s.parts[1], this._attemptCharCodeUntilFn(b); this._cursor.peek() !== 47 && this._cursor.peek() !== 62 && this._cursor.peek() !== 60 && this._cursor.peek() !== 0; ) {
1962
+ let [o, u] = this._consumeAttributeName();
1963
+ if (this._attemptCharCodeUntilFn(b), this._attemptCharCode(61)) {
1964
+ this._attemptCharCodeUntilFn(b);
1965
+ let p = this._consumeAttributeValue();
1966
+ i.push({ prefix: o, name: u, value: p });
1967
+ } else i.push({ prefix: o, name: u });
1968
+ this._attemptCharCodeUntilFn(b);
1969
+ }
1970
+ this._consumeTagOpenEnd();
1971
+ } catch (o) {
1972
+ if (o instanceof Ct) {
1973
+ s ? s.type = 4 : (this._beginToken(5, e), this._endToken(["<"]));
1974
+ return;
1975
+ }
1976
+ throw o;
1977
+ }
1978
+ if (this._canSelfClose && this.tokens[this.tokens.length - 1].type === 2) return;
1979
+ let a = this._getTagContentType(r, n, this._fullNameStack.length > 0, i);
1980
+ this._handleFullNameStackForTagOpen(n, r), a === N.RAW_TEXT ? this._consumeRawTextWithTagClose(n, r, false) : a === N.ESCAPABLE_RAW_TEXT && this._consumeRawTextWithTagClose(n, r, true);
1981
+ }
1982
+ _consumeRawTextWithTagClose(e, r, n) {
1983
+ this._consumeRawText(n, () => !this._attemptCharCode(60) || !this._attemptCharCode(47) || (this._attemptCharCodeUntilFn(b), !this._attemptStrCaseInsensitive(e ? `${e}:${r}` : r)) ? false : (this._attemptCharCodeUntilFn(b), this._attemptCharCode(62))), this._beginToken(3), this._requireCharCodeUntilFn((s) => s === 62, 3), this._cursor.advance(), this._endToken([e, r]), this._handleFullNameStackForTagClose(e, r);
1984
+ }
1985
+ _consumeTagOpenStart(e) {
1986
+ this._beginToken(0, e);
1987
+ let r = this._consumePrefixAndName();
1988
+ return this._endToken(r);
1989
+ }
1990
+ _consumeAttributeName() {
1991
+ let e = this._cursor.peek();
1992
+ if (e === 39 || e === 34) throw this._createError(Ue(e), this._cursor.getSpan());
1993
+ this._beginToken(14);
1994
+ let r = this._consumePrefixAndName();
1995
+ return this._endToken(r), r;
1996
+ }
1997
+ _consumeAttributeValue() {
1998
+ let e;
1999
+ if (this._cursor.peek() === 39 || this._cursor.peek() === 34) {
2000
+ let r = this._cursor.peek();
2001
+ this._consumeQuote(r);
2002
+ let n = () => this._cursor.peek() === r;
2003
+ e = this._consumeWithInterpolation(16, 17, n, n), this._consumeQuote(r);
2004
+ } else {
2005
+ let r = () => ri(this._cursor.peek());
2006
+ e = this._consumeWithInterpolation(16, 17, r, r);
2007
+ }
2008
+ return e;
2009
+ }
2010
+ _consumeQuote(e) {
2011
+ this._beginToken(15), this._requireCharCode(e), this._endToken([String.fromCodePoint(e)]);
2012
+ }
2013
+ _consumeTagOpenEnd() {
2014
+ let e = this._attemptCharCode(47) ? 2 : 1;
2015
+ this._beginToken(e), this._requireCharCode(62), this._endToken([]);
2016
+ }
2017
+ _consumeTagClose(e) {
2018
+ if (this._beginToken(3, e), this._attemptCharCodeUntilFn(b), this._allowHtmComponentClosingTags && this._attemptCharCode(47)) this._attemptCharCodeUntilFn(b), this._requireCharCode(62), this._endToken([]);
2019
+ else {
2020
+ let [r, n] = this._consumePrefixAndName();
2021
+ this._attemptCharCodeUntilFn(b), this._requireCharCode(62), this._endToken([r, n]), this._handleFullNameStackForTagClose(r, n);
2022
+ }
2023
+ }
2024
+ _consumeExpansionFormStart() {
2025
+ this._beginToken(20), this._requireCharCode(123), this._endToken([]), this._expansionCaseStack.push(20), this._beginToken(7);
2026
+ let e = this._readUntil(44), r = this._processCarriageReturns(e);
2027
+ if (this._i18nNormalizeLineEndingsInICUs) this._endToken([r]);
2028
+ else {
2029
+ let s = this._endToken([e]);
2030
+ r !== e && this.nonNormalizedIcuExpressions.push(s);
2031
+ }
2032
+ this._requireCharCode(44), this._attemptCharCodeUntilFn(b), this._beginToken(7);
2033
+ let n = this._readUntil(44);
2034
+ this._endToken([n]), this._requireCharCode(44), this._attemptCharCodeUntilFn(b);
2035
+ }
2036
+ _consumeExpansionCaseStart() {
2037
+ this._beginToken(21);
2038
+ let e = this._readUntil(123).trim();
2039
+ this._endToken([e]), this._attemptCharCodeUntilFn(b), this._beginToken(22), this._requireCharCode(123), this._endToken([]), this._attemptCharCodeUntilFn(b), this._expansionCaseStack.push(22);
2040
+ }
2041
+ _consumeExpansionCaseEnd() {
2042
+ this._beginToken(23), this._requireCharCode(125), this._endToken([]), this._attemptCharCodeUntilFn(b), this._expansionCaseStack.pop();
2043
+ }
2044
+ _consumeExpansionFormEnd() {
2045
+ this._beginToken(24), this._requireCharCode(125), this._endToken([]), this._expansionCaseStack.pop();
2046
+ }
2047
+ _consumeWithInterpolation(e, r, n, s) {
2048
+ this._beginToken(e);
2049
+ let i = [];
2050
+ for (; !n(); ) {
2051
+ let o = this._cursor.clone();
2052
+ this._interpolationConfig && this._attemptStr(this._interpolationConfig.start) ? (this._endToken([this._processCarriageReturns(i.join(""))], o), i.length = 0, this._consumeInterpolation(r, o, s), 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());
2053
+ }
2054
+ this._inInterpolation = false;
2055
+ let a = this._processCarriageReturns(i.join(""));
2056
+ return this._endToken([a]), a;
2057
+ }
2058
+ _consumeInterpolation(e, r, n) {
2059
+ let s = [];
2060
+ this._beginToken(e, r), s.push(this._interpolationConfig.start);
2061
+ let i = this._cursor.clone(), a = null, o = false;
2062
+ for (; this._cursor.peek() !== 0 && (n === null || !n()); ) {
2063
+ let u = this._cursor.clone();
2064
+ if (this._isTagStart()) {
2065
+ this._cursor = u, s.push(this._getProcessedChars(i, u)), this._endToken(s);
2066
+ return;
2067
+ }
2068
+ if (a === null) if (this._attemptStr(this._interpolationConfig.end)) {
2069
+ s.push(this._getProcessedChars(i, u)), s.push(this._interpolationConfig.end), this._endToken(s);
2070
+ return;
2071
+ } else this._attemptStr("//") && (o = true);
2072
+ let p = this._cursor.peek();
2073
+ this._cursor.advance(), p === 92 ? this._cursor.advance() : p === a ? a = null : !o && a === null && Ot(p) && (a = p);
2074
+ }
2075
+ s.push(this._getProcessedChars(i, this._cursor)), this._endToken(s);
2076
+ }
2077
+ _getProcessedChars(e, r) {
2078
+ return this._processCarriageReturns(r.getChars(e));
2079
+ }
2080
+ _isTextEnd() {
2081
+ 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._cursor.peek() === 64 || this._cursor.peek() === 125));
2082
+ }
2083
+ _isTagStart() {
2084
+ if (this._cursor.peek() === 60) {
2085
+ let e = this._cursor.clone();
2086
+ e.advance();
2087
+ let r = e.peek();
2088
+ if (97 <= r && r <= 122 || 65 <= r && r <= 90 || r === 47 || r === 33) return true;
2089
+ }
2090
+ return false;
2091
+ }
2092
+ _isBlockStart() {
2093
+ if (this._tokenizeBlocks && this._cursor.peek() === 64) {
2094
+ let e = this._cursor.clone();
2095
+ if (e.advance(), si(e.peek())) return true;
2096
+ }
2097
+ return false;
2098
+ }
2099
+ _readUntil(e) {
2100
+ let r = this._cursor.clone();
2101
+ return this._attemptUntilChar(e), this._cursor.getChars(r);
2102
+ }
2103
+ _isInExpansion() {
2104
+ return this._isInExpansionCase() || this._isInExpansionForm();
2105
+ }
2106
+ _isInExpansionCase() {
2107
+ return this._expansionCaseStack.length > 0 && this._expansionCaseStack[this._expansionCaseStack.length - 1] === 22;
2108
+ }
2109
+ _isInExpansionForm() {
2110
+ return this._expansionCaseStack.length > 0 && this._expansionCaseStack[this._expansionCaseStack.length - 1] === 20;
2111
+ }
2112
+ isExpansionFormStart() {
2113
+ if (this._cursor.peek() !== 123) return false;
2114
+ if (this._interpolationConfig) {
2115
+ let e = this._cursor.clone(), r = this._attemptStr(this._interpolationConfig.start);
2116
+ return this._cursor = e, !r;
2117
+ }
2118
+ return true;
2119
+ }
2120
+ _handleFullNameStackForTagOpen(e, r) {
2121
+ let n = qe(e, r);
2122
+ (this._fullNameStack.length === 0 || this._fullNameStack[this._fullNameStack.length - 1] === n) && this._fullNameStack.push(n);
2123
+ }
2124
+ _handleFullNameStackForTagClose(e, r) {
2125
+ let n = qe(e, r);
2126
+ this._fullNameStack.length !== 0 && this._fullNameStack[this._fullNameStack.length - 1] === n && this._fullNameStack.pop();
2127
+ }
2128
+ };
2129
+ function b(t7) {
2130
+ return !ut(t7) || t7 === 0;
2131
+ }
2132
+ function ri(t7) {
2133
+ return ut(t7) || t7 === 62 || t7 === 60 || t7 === 47 || t7 === 39 || t7 === 34 || t7 === 61 || t7 === 0;
2134
+ }
2135
+ function $o(t7) {
2136
+ return (t7 < 97 || 122 < t7) && (t7 < 65 || 90 < t7) && (t7 < 48 || t7 > 57);
2137
+ }
2138
+ function Oo(t7) {
2139
+ return t7 === 59 || t7 === 0 || !Rs(t7);
2140
+ }
2141
+ function Mo(t7) {
2142
+ return t7 === 59 || t7 === 0 || !lt(t7);
2143
+ }
2144
+ function qo(t7) {
2145
+ return t7 !== 125;
2146
+ }
2147
+ function Ho(t7, e) {
2148
+ return ni(t7) === ni(e);
2149
+ }
2150
+ function ni(t7) {
2151
+ return t7 >= 97 && t7 <= 122 ? t7 - 97 + 65 : t7;
2152
+ }
2153
+ function si(t7) {
2154
+ return lt(t7) || Rt(t7) || t7 === 95;
2155
+ }
2156
+ function ii(t7) {
2157
+ return t7 !== 59 && b(t7);
2158
+ }
2159
+ function Vo(t7) {
2160
+ let e = [], r;
2161
+ for (let n = 0; n < t7.length; n++) {
2162
+ let s = t7[n];
2163
+ r && r.type === 5 && s.type === 5 || r && r.type === 16 && s.type === 16 ? (r.parts[0] += s.parts[0], r.sourceSpan.end = s.sourceSpan.end) : (r = s, e.push(r));
2164
+ }
2165
+ return e;
2166
+ }
2167
+ var nr = class t3 {
2168
+ constructor(e, r) {
2169
+ if (e instanceof t3) {
2170
+ this.file = e.file, this.input = e.input, this.end = e.end;
2171
+ let n = e.state;
2172
+ this.state = { peek: n.peek, offset: n.offset, line: n.line, column: n.column };
2173
+ } else {
2174
+ if (!r) throw new Error("Programming error: the range argument must be provided with a file argument.");
2175
+ this.file = e, this.input = e.content, this.end = r.endPos, this.state = { peek: -1, offset: r.startPos, line: r.startLine, column: r.startCol };
2176
+ }
2177
+ }
2178
+ clone() {
2179
+ return new t3(this);
2180
+ }
2181
+ peek() {
2182
+ return this.state.peek;
2183
+ }
2184
+ charsLeft() {
2185
+ return this.end - this.state.offset;
2186
+ }
2187
+ diff(e) {
2188
+ return this.state.offset - e.state.offset;
2189
+ }
2190
+ advance() {
2191
+ this.advanceState(this.state);
2192
+ }
2193
+ init() {
2194
+ this.updatePeek(this.state);
2195
+ }
2196
+ getSpan(e, r) {
2197
+ e = e || this;
2198
+ let n = e;
2199
+ if (r) for (; this.diff(e) > 0 && r.indexOf(e.peek()) !== -1; ) n === e && (e = e.clone()), e.advance();
2200
+ let s = this.locationFromCursor(e), i = this.locationFromCursor(this), a = n !== e ? this.locationFromCursor(n) : s;
2201
+ return new h(s, i, a);
2202
+ }
2203
+ getChars(e) {
2204
+ return this.input.substring(e.state.offset, this.state.offset);
2205
+ }
2206
+ charAt(e) {
2207
+ return this.input.charCodeAt(e);
2208
+ }
2209
+ advanceState(e) {
2210
+ if (e.offset >= this.end) throw this.state = e, new St('Unexpected character "EOF"', this);
2211
+ let r = this.charAt(e.offset);
2212
+ r === 10 ? (e.line++, e.column = 0) : $t(r) || e.column++, e.offset++, this.updatePeek(e);
2213
+ }
2214
+ updatePeek(e) {
2215
+ e.peek = e.offset >= this.end ? 0 : this.charAt(e.offset);
2216
+ }
2217
+ locationFromCursor(e) {
2218
+ return new ie(e.file, e.state.offset, e.state.line, e.state.column);
2219
+ }
2220
+ };
2221
+ var Gr = class t4 extends nr {
2222
+ constructor(e, r) {
2223
+ e instanceof t4 ? (super(e), this.internalState = { ...e.internalState }) : (super(e, r), this.internalState = this.state);
2224
+ }
2225
+ advance() {
2226
+ this.state = this.internalState, super.advance(), this.processEscapeSequence();
2227
+ }
2228
+ init() {
2229
+ super.init(), this.processEscapeSequence();
2230
+ }
2231
+ clone() {
2232
+ return new t4(this);
2233
+ }
2234
+ getChars(e) {
2235
+ let r = e.clone(), n = "";
2236
+ for (; r.internalState.offset < this.internalState.offset; ) n += String.fromCodePoint(r.peek()), r.advance();
2237
+ return n;
2238
+ }
2239
+ processEscapeSequence() {
2240
+ let e = () => this.internalState.peek;
2241
+ if (e() === 92) if (this.internalState = { ...this.state }, this.advanceState(this.internalState), e() === 110) this.state.peek = 10;
2242
+ else if (e() === 114) this.state.peek = 13;
2243
+ else if (e() === 118) this.state.peek = 11;
2244
+ else if (e() === 116) this.state.peek = 9;
2245
+ else if (e() === 98) this.state.peek = 8;
2246
+ else if (e() === 102) this.state.peek = 12;
2247
+ else if (e() === 117) if (this.advanceState(this.internalState), e() === 123) {
2248
+ this.advanceState(this.internalState);
2249
+ let r = this.clone(), n = 0;
2250
+ for (; e() !== 125; ) this.advanceState(this.internalState), n++;
2251
+ this.state.peek = this.decodeHexDigits(r, n);
2252
+ } else {
2253
+ let r = this.clone();
2254
+ this.advanceState(this.internalState), this.advanceState(this.internalState), this.advanceState(this.internalState), this.state.peek = this.decodeHexDigits(r, 4);
2255
+ }
2256
+ else if (e() === 120) {
2257
+ this.advanceState(this.internalState);
2258
+ let r = this.clone();
2259
+ this.advanceState(this.internalState), this.state.peek = this.decodeHexDigits(r, 2);
2260
+ } else if (Br(e())) {
2261
+ let r = "", n = 0, s = this.clone();
2262
+ for (; Br(e()) && n < 3; ) s = this.clone(), r += String.fromCodePoint(e()), this.advanceState(this.internalState), n++;
2263
+ this.state.peek = parseInt(r, 8), this.internalState = s.internalState;
2264
+ } else $t(this.internalState.peek) ? (this.advanceState(this.internalState), this.state = this.internalState) : this.state.peek = this.internalState.peek;
2265
+ }
2266
+ decodeHexDigits(e, r) {
2267
+ let n = this.input.slice(e.internalState.offset, e.internalState.offset + r), s = parseInt(n, 16);
2268
+ if (isNaN(s)) throw e.state = e.internalState, new St("Invalid hexadecimal escape sequence", e);
2269
+ return s;
2270
+ }
2271
+ };
2272
+ var St = class {
2273
+ constructor(e, r) {
2274
+ this.msg = e, this.cursor = r;
2275
+ }
2276
+ };
2277
+ var L = class t5 extends Oe {
2278
+ static create(e, r, n) {
2279
+ return new t5(e, r, n);
2280
+ }
2281
+ constructor(e, r, n) {
2282
+ super(r, n), this.elementName = e;
2283
+ }
2284
+ };
2285
+ var jr = class {
2286
+ constructor(e, r) {
2287
+ this.rootNodes = e, this.errors = r;
2288
+ }
2289
+ };
2290
+ var sr = class {
2291
+ constructor(e) {
2292
+ this.getTagDefinition = e;
2293
+ }
2294
+ parse(e, r, n, s = false, i) {
2295
+ let a = (D) => (I, ...F) => D(I.toLowerCase(), ...F), o = s ? this.getTagDefinition : a(this.getTagDefinition), u = (D) => o(D).getContentType(), p = s ? i : a(i), m = li(e, r, i ? (D, I, F, c) => {
2296
+ let g = p(D, I, F, c);
2297
+ return g !== void 0 ? g : u(D);
2298
+ } : u, n), f = n && n.canSelfClose || false, C = n && n.allowHtmComponentClosingTags || false, A = new Kr(m.tokens, o, f, C, s);
2299
+ return A.build(), new jr(A.rootNodes, m.errors.concat(A.errors));
2300
+ }
2301
+ };
2302
+ var Kr = class t6 {
2303
+ constructor(e, r, n, s, i) {
2304
+ this.tokens = e, this.getTagDefinition = r, this.canSelfClose = n, this.allowHtmComponentClosingTags = s, this.isTagNameCaseSensitive = i, this._index = -1, this._containerStack = [], this.rootNodes = [], this.errors = [], this._advance();
2305
+ }
2306
+ build() {
2307
+ for (; this._peek.type !== 34; ) this._peek.type === 0 || this._peek.type === 4 ? this._consumeStartTag(this._advance()) : this._peek.type === 3 ? (this._closeVoidElement(), this._consumeEndTag(this._advance())) : this._peek.type === 12 ? (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 === 20 ? this._consumeExpansion(this._advance()) : this._peek.type === 25 ? (this._closeVoidElement(), this._consumeBlockOpen(this._advance())) : this._peek.type === 27 ? (this._closeVoidElement(), this._consumeBlockClose(this._advance())) : this._peek.type === 29 ? (this._closeVoidElement(), this._consumeIncompleteBlock(this._advance())) : this._peek.type === 30 ? (this._closeVoidElement(), this._consumeLet(this._advance())) : this._peek.type === 18 ? this._consumeDocType(this._advance()) : this._peek.type === 33 ? (this._closeVoidElement(), this._consumeIncompleteLet(this._advance())) : this._advance();
2308
+ for (let e of this._containerStack) e instanceof ee && this.errors.push(L.create(e.name, e.sourceSpan, `Unclosed block "${e.name}"`));
2309
+ }
2310
+ _advance() {
2311
+ let e = this._peek;
2312
+ return this._index < this.tokens.length - 1 && this._index++, this._peek = this.tokens[this._index], e;
2313
+ }
2314
+ _advanceIf(e) {
2315
+ return this._peek.type === e ? this._advance() : null;
2316
+ }
2317
+ _consumeCdata(e) {
2318
+ let r = this._advance(), n = this._getText(r), s = this._advanceIf(13);
2319
+ this._addToParent(new Gt(n, new h(e.sourceSpan.start, (s || r).sourceSpan.end), [r]));
2320
+ }
2321
+ _consumeComment(e) {
2322
+ let r = this._advanceIf(7), n = this._advanceIf(11), s = r != null ? r.parts[0].trim() : null, i = n == null ? e.sourceSpan : new h(e.sourceSpan.start, n.sourceSpan.end, e.sourceSpan.fullStart);
2323
+ this._addToParent(new Kt(s, i));
2324
+ }
2325
+ _consumeDocType(e) {
2326
+ let r = this._advanceIf(7), n = this._advanceIf(19), s = r != null ? r.parts[0].trim() : null, i = new h(e.sourceSpan.start, (n || r || e).sourceSpan.end);
2327
+ this._addToParent(new Xt(s, i));
2328
+ }
2329
+ _consumeExpansion(e) {
2330
+ let r = this._advance(), n = this._advance(), s = [];
2331
+ for (; this._peek.type === 21; ) {
2332
+ let a = this._parseExpansionCase();
2333
+ if (!a) return;
2334
+ s.push(a);
2335
+ }
2336
+ if (this._peek.type !== 24) {
2337
+ this.errors.push(L.create(null, this._peek.sourceSpan, "Invalid ICU message. Missing '}'."));
2338
+ return;
2339
+ }
2340
+ let i = new h(e.sourceSpan.start, this._peek.sourceSpan.end, e.sourceSpan.fullStart);
2341
+ this._addToParent(new zt(r.parts[0], n.parts[0], s, i, r.sourceSpan)), this._advance();
2342
+ }
2343
+ _parseExpansionCase() {
2344
+ let e = this._advance();
2345
+ if (this._peek.type !== 22) return this.errors.push(L.create(null, this._peek.sourceSpan, "Invalid ICU message. Missing '{'.")), null;
2346
+ let r = this._advance(), n = this._collectExpansionExpTokens(r);
2347
+ if (!n) return null;
2348
+ let s = this._advance();
2349
+ n.push({ type: 34, parts: [], sourceSpan: s.sourceSpan });
2350
+ let i = new t6(n, this.getTagDefinition, this.canSelfClose, this.allowHtmComponentClosingTags, this.isTagNameCaseSensitive);
2351
+ if (i.build(), i.errors.length > 0) return this.errors = this.errors.concat(i.errors), null;
2352
+ let a = new h(e.sourceSpan.start, s.sourceSpan.end, e.sourceSpan.fullStart), o = new h(r.sourceSpan.start, s.sourceSpan.end, r.sourceSpan.fullStart);
2353
+ return new Yt(e.parts[0], i.rootNodes, a, e.sourceSpan, o);
2354
+ }
2355
+ _collectExpansionExpTokens(e) {
2356
+ let r = [], n = [22];
2357
+ for (; ; ) {
2358
+ if ((this._peek.type === 20 || this._peek.type === 22) && n.push(this._peek.type), this._peek.type === 23) if (ci(n, 22)) {
2359
+ if (n.pop(), n.length === 0) return r;
2360
+ } else return this.errors.push(L.create(null, e.sourceSpan, "Invalid ICU message. Missing '}'.")), null;
2361
+ if (this._peek.type === 24) if (ci(n, 20)) n.pop();
2362
+ else return this.errors.push(L.create(null, e.sourceSpan, "Invalid ICU message. Missing '}'.")), null;
2363
+ if (this._peek.type === 34) return this.errors.push(L.create(null, e.sourceSpan, "Invalid ICU message. Missing '}'.")), null;
2364
+ r.push(this._advance());
2365
+ }
2366
+ }
2367
+ _getText(e) {
2368
+ let r = e.parts[0];
2369
+ if (r.length > 0 && r[0] == `
2370
+ `) {
2371
+ let n = this._getClosestParentElement();
2372
+ n != null && n.children.length == 0 && this.getTagDefinition(n.name).ignoreFirstLf && (r = r.substring(1));
2373
+ }
2374
+ return r;
2375
+ }
2376
+ _consumeText(e) {
2377
+ let r = [e], n = e.sourceSpan, s = e.parts[0];
2378
+ if (s.length > 0 && s[0] === `
2379
+ `) {
2380
+ let i = this._getContainer();
2381
+ i != null && i.children.length === 0 && this.getTagDefinition(i.name).ignoreFirstLf && (s = s.substring(1), r[0] = { type: e.type, sourceSpan: e.sourceSpan, parts: [s] });
2382
+ }
2383
+ for (; this._peek.type === 8 || this._peek.type === 5 || this._peek.type === 9; ) e = this._advance(), r.push(e), e.type === 8 ? s += e.parts.join("").replace(/&([^;]+);/g, pi) : e.type === 9 ? s += e.parts[0] : s += e.parts.join("");
2384
+ if (s.length > 0) {
2385
+ let i = e.sourceSpan;
2386
+ this._addToParent(new Wt(s, new h(n.start, i.end, n.fullStart, n.details), r));
2387
+ }
2388
+ }
2389
+ _closeVoidElement() {
2390
+ let e = this._getContainer();
2391
+ e instanceof Y && this.getTagDefinition(e.name).isVoid && this._containerStack.pop();
2392
+ }
2393
+ _consumeStartTag(e) {
2394
+ let [r, n] = e.parts, s = [];
2395
+ for (; this._peek.type === 14; ) s.push(this._consumeAttr(this._advance()));
2396
+ let i = this._getElementFullName(r, n, this._getClosestParentElement()), a = false;
2397
+ if (this._peek.type === 2) {
2398
+ this._advance(), a = true;
2399
+ let C = this.getTagDefinition(i);
2400
+ this.canSelfClose || C.canSelfClose || Me(i) !== null || C.isVoid || this.errors.push(L.create(i, e.sourceSpan, `Only void, custom and foreign elements can be self closed "${e.parts[1]}"`));
2401
+ } else this._peek.type === 1 && (this._advance(), a = false);
2402
+ let o = this._peek.sourceSpan.fullStart, u = new h(e.sourceSpan.start, o, e.sourceSpan.fullStart), p = new h(e.sourceSpan.start, o, e.sourceSpan.fullStart), l = new h(e.sourceSpan.start.moveBy(1), e.sourceSpan.end), m = new Y(i, s, [], u, p, void 0, l), f = this._getContainer();
2403
+ this._pushContainer(m, f instanceof Y && this.getTagDefinition(f.name).isClosedByChild(m.name)), a ? this._popContainer(i, Y, u) : e.type === 4 && (this._popContainer(i, Y, null), this.errors.push(L.create(i, u, `Opening tag "${i}" not terminated.`)));
2404
+ }
2405
+ _pushContainer(e, r) {
2406
+ r && this._containerStack.pop(), this._addToParent(e), this._containerStack.push(e);
2407
+ }
2408
+ _consumeEndTag(e) {
2409
+ let r = this.allowHtmComponentClosingTags && e.parts.length === 0 ? null : this._getElementFullName(e.parts[0], e.parts[1], this._getClosestParentElement());
2410
+ if (r && this.getTagDefinition(r).isVoid) this.errors.push(L.create(r, e.sourceSpan, `Void elements do not have end tags "${e.parts[1]}"`));
2411
+ else if (!this._popContainer(r, Y, e.sourceSpan)) {
2412
+ let n = `Unexpected closing tag "${r}". 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`;
2413
+ this.errors.push(L.create(r, e.sourceSpan, n));
2414
+ }
2415
+ }
2416
+ _popContainer(e, r, n) {
2417
+ let s = false;
2418
+ for (let i = this._containerStack.length - 1; i >= 0; i--) {
2419
+ let a = this._containerStack[i];
2420
+ if (Me(a.name) ? a.name === e : (e == null || a.name.toLowerCase() === e.toLowerCase()) && a instanceof r) return a.endSourceSpan = n, a.sourceSpan.end = n !== null ? n.end : a.sourceSpan.end, this._containerStack.splice(i, this._containerStack.length - i), !s;
2421
+ (a instanceof ee || a instanceof Y && !this.getTagDefinition(a.name).closedByParent) && (s = true);
2422
+ }
2423
+ return false;
2424
+ }
2425
+ _consumeAttr(e) {
2426
+ let r = qe(e.parts[0], e.parts[1]), n = e.sourceSpan.end, s;
2427
+ this._peek.type === 15 && (s = this._advance());
2428
+ let i = "", a = [], o, u;
2429
+ if (this._peek.type === 16) for (o = this._peek.sourceSpan, u = this._peek.sourceSpan.end; this._peek.type === 16 || this._peek.type === 17 || this._peek.type === 9; ) {
2430
+ let m = this._advance();
2431
+ a.push(m), m.type === 17 ? i += m.parts.join("").replace(/&([^;]+);/g, pi) : m.type === 9 ? i += m.parts[0] : i += m.parts.join(""), u = n = m.sourceSpan.end;
2432
+ }
2433
+ this._peek.type === 15 && (u = n = this._advance().sourceSpan.end);
2434
+ let l = o && u && new h((s == null ? void 0 : s.sourceSpan.start) ?? o.start, u, (s == null ? void 0 : s.sourceSpan.fullStart) ?? o.fullStart);
2435
+ return new jt(r, i, new h(e.sourceSpan.start, n, e.sourceSpan.fullStart), e.sourceSpan, l, a.length > 0 ? a : void 0, void 0);
2436
+ }
2437
+ _consumeBlockOpen(e) {
2438
+ let r = [];
2439
+ for (; this._peek.type === 28; ) {
2440
+ let o = this._advance();
2441
+ r.push(new ht(o.parts[0], o.sourceSpan));
2442
+ }
2443
+ this._peek.type === 26 && this._advance();
2444
+ let n = this._peek.sourceSpan.fullStart, s = new h(e.sourceSpan.start, n, e.sourceSpan.fullStart), i = new h(e.sourceSpan.start, n, e.sourceSpan.fullStart), a = new ee(e.parts[0], r, [], s, e.sourceSpan, i);
2445
+ this._pushContainer(a, false);
2446
+ }
2447
+ _consumeBlockClose(e) {
2448
+ this._popContainer(null, ee, e.sourceSpan) || this.errors.push(L.create(null, e.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.'));
2449
+ }
2450
+ _consumeIncompleteBlock(e) {
2451
+ let r = [];
2452
+ for (; this._peek.type === 28; ) {
2453
+ let o = this._advance();
2454
+ r.push(new ht(o.parts[0], o.sourceSpan));
2455
+ }
2456
+ let n = this._peek.sourceSpan.fullStart, s = new h(e.sourceSpan.start, n, e.sourceSpan.fullStart), i = new h(e.sourceSpan.start, n, e.sourceSpan.fullStart), a = new ee(e.parts[0], r, [], s, e.sourceSpan, i);
2457
+ this._pushContainer(a, false), this._popContainer(null, ee, null), this.errors.push(L.create(e.parts[0], s, `Incomplete block "${e.parts[0]}". If you meant to write the @ character, you should use the "&#64;" HTML entity instead.`));
2458
+ }
2459
+ _consumeLet(e) {
2460
+ let r = e.parts[0], n, s;
2461
+ if (this._peek.type !== 31) {
2462
+ this.errors.push(L.create(e.parts[0], e.sourceSpan, `Invalid @let declaration "${r}". Declaration must have a value.`));
2463
+ return;
2464
+ } else n = this._advance();
2465
+ if (this._peek.type !== 32) {
2466
+ this.errors.push(L.create(e.parts[0], e.sourceSpan, `Unterminated @let declaration "${r}". Declaration must be terminated with a semicolon.`));
2467
+ return;
2468
+ } else s = this._advance();
2469
+ let i = s.sourceSpan.fullStart, a = new h(e.sourceSpan.start, i, e.sourceSpan.fullStart), o = e.sourceSpan.toString().lastIndexOf(r), u = e.sourceSpan.start.moveBy(o), p = new h(u, e.sourceSpan.end), l = new mt(r, n.parts[0], a, p, n.sourceSpan);
2470
+ this._addToParent(l);
2471
+ }
2472
+ _consumeIncompleteLet(e) {
2473
+ let r = e.parts[0] ?? "", n = r ? ` "${r}"` : "";
2474
+ if (r.length > 0) {
2475
+ let s = e.sourceSpan.toString().lastIndexOf(r), i = e.sourceSpan.start.moveBy(s), a = new h(i, e.sourceSpan.end), o = new h(e.sourceSpan.start, e.sourceSpan.start.moveBy(0)), u = new mt(r, "", e.sourceSpan, a, o);
2476
+ this._addToParent(u);
2477
+ }
2478
+ this.errors.push(L.create(e.parts[0], e.sourceSpan, `Incomplete @let declaration${n}. @let declarations must be written as \`@let <name> = <value>;\``));
2479
+ }
2480
+ _getContainer() {
2481
+ return this._containerStack.length > 0 ? this._containerStack[this._containerStack.length - 1] : null;
2482
+ }
2483
+ _getClosestParentElement() {
2484
+ for (let e = this._containerStack.length - 1; e > -1; e--) if (this._containerStack[e] instanceof Y) return this._containerStack[e];
2485
+ return null;
2486
+ }
2487
+ _addToParent(e) {
2488
+ let r = this._getContainer();
2489
+ r === null ? this.rootNodes.push(e) : r.children.push(e);
2490
+ }
2491
+ _getElementFullName(e, r, n) {
2492
+ if (e === "" && (e = this.getTagDefinition(r).implicitNamespacePrefix || "", e === "" && n != null)) {
2493
+ let s = ct(n.name)[1];
2494
+ this.getTagDefinition(s).preventNamespaceInheritance || (e = Me(n.name));
2495
+ }
2496
+ return qe(e, r);
2497
+ }
2498
+ };
2499
+ function ci(t7, e) {
2500
+ return t7.length > 0 && t7[t7.length - 1] === e;
2501
+ }
2502
+ function pi(t7, e) {
2503
+ return Ve[e] !== void 0 ? Ve[e] || t7 : /^#x[a-f0-9]+$/i.test(e) ? String.fromCodePoint(parseInt(e.slice(2), 16)) : /^#\d+$/.test(e) ? String.fromCodePoint(parseInt(e.slice(1), 10)) : t7;
2504
+ }
2505
+ var ir = class extends sr {
2506
+ constructor() {
2507
+ super(He);
2508
+ }
2509
+ parse(e, r, n, s = false, i) {
2510
+ return super.parse(e, r, n, s, i);
2511
+ }
2512
+ };
2513
+ var Xr = null;
2514
+ var Uo = () => (Xr || (Xr = new ir()), Xr);
2515
+ function Qr(t7, e = {}) {
2516
+ let { canSelfClose: r = false, allowHtmComponentClosingTags: n = false, isTagNameCaseSensitive: s = false, getTagContentType: i, tokenizeAngularBlocks: a = false, tokenizeAngularLetDeclaration: o = false } = e;
2517
+ return Uo().parse(t7, "angular-html-parser", { tokenizeExpansionForms: a, interpolationConfig: void 0, canSelfClose: r, allowHtmComponentClosingTags: n, tokenizeBlocks: a, tokenizeLet: o }, s, i);
2518
+ }
2519
+ function Wo(t7, e) {
2520
+ let r = new SyntaxError(t7 + " (" + e.loc.start.line + ":" + e.loc.start.column + ")");
2521
+ return Object.assign(r, e);
2522
+ }
2523
+ var hi = Wo;
2524
+ var _t = 3;
2525
+ function Go(t7) {
2526
+ let e = t7.slice(0, _t);
2527
+ if (e !== "---" && e !== "+++") return;
2528
+ let r = t7.indexOf(`
2529
+ `, _t);
2530
+ if (r === -1) return;
2531
+ let n = t7.slice(_t, r).trim(), s = t7.indexOf(`
2532
+ ${e}`, r), i = n;
2533
+ if (i || (i = e === "+++" ? "toml" : "yaml"), s === -1 && e === "---" && i === "yaml" && (s = t7.indexOf(`
2534
+ ...`, r)), s === -1) return;
2535
+ let a = s + 1 + _t, o = t7.charAt(a + 1);
2536
+ if (!/\s?/u.test(o)) return;
2537
+ let u = t7.slice(0, a);
2538
+ return { type: "front-matter", language: i, explicitLanguage: n, value: t7.slice(r + 1, s), startDelimiter: e, endDelimiter: u.slice(-_t), raw: u };
2539
+ }
2540
+ function zo(t7) {
2541
+ let e = Go(t7);
2542
+ if (!e) return { content: t7 };
2543
+ let { raw: r } = e;
2544
+ return { frontMatter: e, content: w(false, r, /[^\n]/gu, " ") + t7.slice(r.length) };
2545
+ }
2546
+ var mi = zo;
2547
+ var ar = { attrs: true, children: true, cases: true, expression: true };
2548
+ var fi = /* @__PURE__ */ new Set(["parent"]);
2549
+ var le;
2550
+ var Jr;
2551
+ var Zr;
2552
+ var Ge = class Ge2 {
2553
+ constructor(e = {}) {
2554
+ At(this, le);
2555
+ lr(this, "type");
2556
+ lr(this, "parent");
2557
+ for (let r of /* @__PURE__ */ new Set([...fi, ...Object.keys(e)])) this.setProperty(r, e[r]);
2558
+ }
2559
+ setProperty(e, r) {
2560
+ if (this[e] !== r) {
2561
+ if (e in ar && (r = r.map((n) => this.createChild(n))), !fi.has(e)) {
2562
+ this[e] = r;
2563
+ return;
2564
+ }
2565
+ Object.defineProperty(this, e, { value: r, enumerable: false, configurable: true });
2566
+ }
2567
+ }
2568
+ map(e) {
2569
+ let r;
2570
+ for (let n in ar) {
2571
+ let s = this[n];
2572
+ if (s) {
2573
+ let i = Yo(s, (a) => a.map(e));
2574
+ r !== s && (r || (r = new Ge2({ parent: this.parent })), r.setProperty(n, i));
2575
+ }
2576
+ }
2577
+ if (r) for (let n in this) n in ar || (r[n] = this[n]);
2578
+ return e(r || this);
2579
+ }
2580
+ walk(e) {
2581
+ for (let r in ar) {
2582
+ let n = this[r];
2583
+ if (n) for (let s = 0; s < n.length; s++) n[s].walk(e);
2584
+ }
2585
+ e(this);
2586
+ }
2587
+ createChild(e) {
2588
+ let r = e instanceof Ge2 ? e.clone() : new Ge2(e);
2589
+ return r.setProperty("parent", this), r;
2590
+ }
2591
+ insertChildBefore(e, r) {
2592
+ let n = this.$children;
2593
+ n.splice(n.indexOf(e), 0, this.createChild(r));
2594
+ }
2595
+ removeChild(e) {
2596
+ let r = this.$children;
2597
+ r.splice(r.indexOf(e), 1);
2598
+ }
2599
+ replaceChild(e, r) {
2600
+ let n = this.$children;
2601
+ n[n.indexOf(e)] = this.createChild(r);
2602
+ }
2603
+ clone() {
2604
+ return new Ge2(this);
2605
+ }
2606
+ get $children() {
2607
+ return this[R(this, le, Jr)];
2608
+ }
2609
+ set $children(e) {
2610
+ this[R(this, le, Jr)] = e;
2611
+ }
2612
+ get firstChild() {
2613
+ var e;
2614
+ return (e = this.$children) == null ? void 0 : e[0];
2615
+ }
2616
+ get lastChild() {
2617
+ return K(true, this.$children, -1);
2618
+ }
2619
+ get prev() {
2620
+ let e = R(this, le, Zr);
2621
+ return e[e.indexOf(this) - 1];
2622
+ }
2623
+ get next() {
2624
+ let e = R(this, le, Zr);
2625
+ return e[e.indexOf(this) + 1];
2626
+ }
2627
+ get rawName() {
2628
+ return this.hasExplicitNamespace ? this.fullName : this.name;
2629
+ }
2630
+ get fullName() {
2631
+ return this.namespace ? this.namespace + ":" + this.name : this.name;
2632
+ }
2633
+ get attrMap() {
2634
+ return Object.fromEntries(this.attrs.map((e) => [e.fullName, e.value]));
2635
+ }
2636
+ };
2637
+ le = /* @__PURE__ */ new WeakSet(), Jr = function() {
2638
+ return this.type === "angularIcuCase" ? "expression" : this.type === "angularIcuExpression" ? "cases" : "children";
2639
+ }, Zr = function() {
2640
+ var e;
2641
+ return ((e = this.parent) == null ? void 0 : e.$children) ?? [];
2642
+ };
2643
+ var or = Ge;
2644
+ function Yo(t7, e) {
2645
+ let r = t7.map(e);
2646
+ return r.some((n, s) => n !== t7[s]) ? r : t7;
2647
+ }
2648
+ var jo = [{ regex: /^(\[if([^\]]*)\]>)(.*?)<!\s*\[endif\]$/su, parse: Ko }, { regex: /^\[if([^\]]*)\]><!$/u, parse: Xo }, { regex: /^<!\s*\[endif\]$/u, parse: Qo }];
2649
+ function di(t7, e) {
2650
+ if (t7.value) for (let { regex: r, parse: n } of jo) {
2651
+ let s = t7.value.match(r);
2652
+ if (s) return n(t7, e, s);
2653
+ }
2654
+ return null;
2655
+ }
2656
+ function Ko(t7, e, r) {
2657
+ let [, n, s, i] = r, a = 4 + n.length, o = t7.sourceSpan.start.moveBy(a), u = o.moveBy(i.length), [p, l] = (() => {
2658
+ try {
2659
+ return [true, e(i, o).children];
2660
+ } catch {
2661
+ return [false, [{ type: "text", value: i, sourceSpan: new h(o, u) }]];
2662
+ }
2663
+ })();
2664
+ return { type: "ieConditionalComment", complete: p, children: l, condition: w(false, s.trim(), /\s+/gu, " "), sourceSpan: t7.sourceSpan, startSourceSpan: new h(t7.sourceSpan.start, o), endSourceSpan: new h(u, t7.sourceSpan.end) };
2665
+ }
2666
+ function Xo(t7, e, r) {
2667
+ let [, n] = r;
2668
+ return { type: "ieConditionalStartComment", condition: w(false, n.trim(), /\s+/gu, " "), sourceSpan: t7.sourceSpan };
2669
+ }
2670
+ function Qo(t7) {
2671
+ return { type: "ieConditionalEndComment", sourceSpan: t7.sourceSpan };
2672
+ }
2673
+ var ur = /* @__PURE__ */ new Map([["*", /* @__PURE__ */ new Set(["accesskey", "autocapitalize", "autofocus", "class", "contenteditable", "dir", "draggable", "enterkeyhint", "hidden", "id", "inert", "inputmode", "is", "itemid", "itemprop", "itemref", "itemscope", "itemtype", "lang", "nonce", "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(["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(["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", "alt", "autocomplete", "checked", "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", "shadowrootdelegatesfocus", "shadowrootmode"])], ["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"])]]);
2674
+ var gi = /* @__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", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset", "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", "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"]);
2675
+ function Jo(t7) {
2676
+ if (t7.type === "block") {
2677
+ if (t7.name = w(false, t7.name.toLowerCase(), /\s+/gu, " ").trim(), t7.type = "angularControlFlowBlock", !me(t7.parameters)) {
2678
+ delete t7.parameters;
2679
+ return;
2680
+ }
2681
+ for (let e of t7.parameters) e.type = "angularControlFlowBlockParameter";
2682
+ t7.parameters = { type: "angularControlFlowBlockParameters", children: t7.parameters, sourceSpan: new h(t7.parameters[0].sourceSpan.start, K(false, t7.parameters, -1).sourceSpan.end) };
2683
+ }
2684
+ }
2685
+ function Zo(t7) {
2686
+ t7.type === "letDeclaration" && (t7.type = "angularLetDeclaration", t7.id = t7.name, t7.init = { type: "angularLetDeclarationInitializer", sourceSpan: new h(t7.valueSpan.start, t7.valueSpan.end), value: t7.value }, delete t7.name, delete t7.value);
2687
+ }
2688
+ function eu(t7) {
2689
+ (t7.type === "plural" || t7.type === "select") && (t7.clause = t7.type, t7.type = "angularIcuExpression"), t7.type === "expansionCase" && (t7.type = "angularIcuCase");
2690
+ }
2691
+ function Si(t7, e, r) {
2692
+ let { name: n, canSelfClose: s = true, normalizeTagName: i = false, normalizeAttributeName: a = false, allowHtmComponentClosingTags: o = false, isTagNameCaseSensitive: u = false, shouldParseAsRawText: p } = e, { rootNodes: l, errors: m } = Qr(t7, { canSelfClose: s, allowHtmComponentClosingTags: o, isTagNameCaseSensitive: u, getTagContentType: p ? (...c) => p(...c) ? N.RAW_TEXT : void 0 : void 0, tokenizeAngularBlocks: n === "angular" ? true : void 0, tokenizeAngularLetDeclaration: n === "angular" ? true : void 0 });
2693
+ if (n === "vue") {
2694
+ if (l.some((x) => x.type === "docType" && x.value === "html" || x.type === "element" && x.name.toLowerCase() === "html")) return Si(t7, en, r);
2695
+ let g, y = () => g ?? (g = Qr(t7, { canSelfClose: s, allowHtmComponentClosingTags: o, isTagNameCaseSensitive: u })), q = (x) => y().rootNodes.find(({ startSourceSpan: U }) => U && U.start.offset === x.startSourceSpan.start.offset) ?? x;
2696
+ for (let [x, U] of l.entries()) {
2697
+ let { endSourceSpan: nn, startSourceSpan: Ei } = U;
2698
+ if (nn === null) m = y().errors, l[x] = q(U);
2699
+ else if (tu(U, r)) {
2700
+ let sn = y().errors.find((an) => an.span.start.offset > Ei.start.offset && an.span.start.offset < nn.end.offset);
2701
+ sn && Ci(sn), l[x] = q(U);
2702
+ }
2703
+ }
2704
+ }
2705
+ m.length > 0 && Ci(m[0]);
2706
+ let f = (c) => {
2707
+ let g = c.name.startsWith(":") ? c.name.slice(1).split(":")[0] : null, y = c.nameSpan.toString(), q = g !== null && y.startsWith(`${g}:`), x = q ? y.slice(g.length + 1) : y;
2708
+ c.name = x, c.namespace = g, c.hasExplicitNamespace = q;
2709
+ }, C = (c) => {
2710
+ switch (c.type) {
2711
+ case "element":
2712
+ f(c);
2713
+ for (let g of c.attrs) f(g), g.valueSpan ? (g.value = g.valueSpan.toString(), /["']/u.test(g.value[0]) && (g.value = g.value.slice(1, -1))) : g.value = null;
2714
+ break;
2715
+ case "comment":
2716
+ c.value = c.sourceSpan.toString().slice(4, -3);
2717
+ break;
2718
+ case "text":
2719
+ c.value = c.sourceSpan.toString();
2720
+ break;
2721
+ }
2722
+ }, A = (c, g) => {
2723
+ let y = c.toLowerCase();
2724
+ return g(y) ? y : c;
2725
+ }, D = (c) => {
2726
+ if (c.type === "element" && (i && (!c.namespace || c.namespace === c.tagDefinition.implicitNamespacePrefix || fe(c)) && (c.name = A(c.name, (g) => gi.has(g))), a)) for (let g of c.attrs) g.namespace || (g.name = A(g.name, (y) => ur.has(c.name) && (ur.get("*").has(y) || ur.get(c.name).has(y))));
2727
+ }, I = (c) => {
2728
+ c.sourceSpan && c.endSourceSpan && (c.sourceSpan = new h(c.sourceSpan.start, c.endSourceSpan.end));
2729
+ }, F = (c) => {
2730
+ if (c.type === "element") {
2731
+ let g = He(u ? c.name : c.name.toLowerCase());
2732
+ !c.namespace || c.namespace === g.implicitNamespacePrefix || fe(c) ? c.tagDefinition = g : c.tagDefinition = He("");
2733
+ }
2734
+ };
2735
+ return Qt(new class extends ft {
2736
+ visitExpansionCase(c, g) {
2737
+ n === "angular" && this.visitChildren(g, (y) => {
2738
+ y(c.expression);
2739
+ });
2740
+ }
2741
+ visit(c) {
2742
+ C(c), F(c), D(c), I(c);
2743
+ }
2744
+ }(), l), l;
2745
+ }
2746
+ function tu(t7, e) {
2747
+ var n;
2748
+ if (t7.type !== "element" || t7.name !== "template") return false;
2749
+ let r = (n = t7.attrs.find((s) => s.name === "lang")) == null ? void 0 : n.value;
2750
+ return !r || Ne(e, { language: r }) === "html";
2751
+ }
2752
+ function Ci(t7) {
2753
+ let { msg: e, span: { start: r, end: n } } = t7;
2754
+ throw hi(e, { loc: { start: { line: r.line + 1, column: r.col + 1 }, end: { line: n.line + 1, column: n.col + 1 } }, cause: t7 });
2755
+ }
2756
+ function _i(t7, e, r = {}, n = true) {
2757
+ let { frontMatter: s, content: i } = n ? mi(t7) : { frontMatter: null, content: t7 }, a = new ve(t7, r.filepath), o = new ie(a, 0, 0, 0), u = o.moveBy(t7.length), p = { type: "root", sourceSpan: new h(o, u), children: Si(i, e, r) };
2758
+ if (s) {
2759
+ let f = new ie(a, 0, 0, 0), C = f.moveBy(s.raw.length);
2760
+ s.sourceSpan = new h(f, C), p.children.unshift(s);
2761
+ }
2762
+ let l = new or(p), m = (f, C) => {
2763
+ let { offset: A } = C, D = w(false, t7.slice(0, A), /[^\n\r]/gu, " "), F = _i(D + f, e, r, false);
2764
+ F.sourceSpan = new h(C, K(false, F.children, -1).sourceSpan.end);
2765
+ let c = F.children[0];
2766
+ return c.length === A ? F.children.shift() : (c.sourceSpan = new h(c.sourceSpan.start.moveBy(A), c.sourceSpan.end), c.value = c.value.slice(A)), F;
2767
+ };
2768
+ return l.walk((f) => {
2769
+ if (f.type === "comment") {
2770
+ let C = di(f, m);
2771
+ C && f.parent.replaceChild(f, C);
2772
+ }
2773
+ Jo(f), Zo(f), eu(f);
2774
+ }), l;
2775
+ }
2776
+ function Et(t7) {
2777
+ return { parse: (e, r) => _i(e, t7, r), hasPragma: ws, hasIgnorePragma: bs, astFormat: "html", locStart: J, locEnd: se };
2778
+ }
2779
+ var en = { name: "html", normalizeTagName: true, normalizeAttributeName: true, allowHtmComponentClosingTags: true };
2780
+ var ru = Et(en);
2781
+ var nu = /* @__PURE__ */ new Set(["mj-style", "mj-raw"]);
2782
+ var su = Et({ ...en, name: "mjml", shouldParseAsRawText: (t7) => nu.has(t7) });
2783
+ var iu = Et({ name: "angular" });
2784
+ var au = Et({ name: "vue", isTagNameCaseSensitive: true, shouldParseAsRawText(t7, e, r, n) {
2785
+ return t7.toLowerCase() !== "html" && !r && (t7 !== "template" || n.some(({ name: s, value: i }) => s === "lang" && i !== "html" && i !== "" && i !== void 0));
2786
+ } });
2787
+ var ou = Et({ name: "lwc", canSelfClose: false });
2788
+ var uu = { html: qs };
2789
+ var ym = rn;
2790
+ export {
2791
+ ym as default,
2792
+ Hs as languages,
2793
+ Us as options,
2794
+ tn as parsers,
2795
+ uu as printers
2796
+ };