@shopify/cli 3.88.0 → 3.89.0

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